Compare commits

...

75 Commits

Author SHA1 Message Date
Thijs-Jan
1c1b6c7732 Add tent icon (#331)
* Add campsite icon

* Add campsite and tent to tags.json

* Replace campsite with tent
2021-05-20 20:38:11 +02:00
Lucide Bot
29236b45d1 📦 Bump lucide package versions to 2021-05-18 20:28:12 +00:00
Yashu Mittal
1e9a09e8f3 add circle-check-2 icon (#237) 2021-05-18 22:24:17 +02:00
Eric Fennis
9031285357 Add bell ring icon (#300) 2021-05-18 22:21:33 +02:00
Yashu Mittal
03fd0452f3 add clipboard-copy icon (#241)
* add clipboard-copy icon

* Update clipboard-copy.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-05-18 22:20:45 +02:00
Lucide Bot
e4adf28a48 📦 Bump lucide package versions to 2021-05-18 19:13:58 +00:00
Eric Fennis
9af28b9247 Add vibrate icon (#297) 2021-05-18 21:09:58 +02:00
Eric Fennis
e9879d5db0 Update tags for the website (#329)
* update tags

* update tags
2021-05-18 21:09:07 +02:00
Yashu Mittal
95f66ca5b0 add clipboard-x icon (#325) 2021-05-16 13:45:22 +02:00
Locness
b72d86604b Update new-icon.md (#328) 2021-05-16 12:32:45 +02:00
Yashu Mittal
97c03c7d15 add arrow's icons (#211)
* add arrow's icons

* Delete top-bottom.svg

* Delete left-right.svg

* fix: icon padding 2px border

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-05-16 12:32:17 +02:00
Yashu Mittal
f8f98394f4 add clipboard check icon (#323) 2021-05-16 12:31:25 +02:00
Eric Fennis
ff0901bf0c add skull icon (#298) 2021-05-16 12:30:59 +02:00
delnyn
66f2dc24b1 New settings icon - replacement? (#296)
* Add settings-2 file

* Update tags

* Delete settings-2.svg

* Change settings.svg to new settings icon

* Update tags.json

* Clean the SVG

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-05-16 12:27:19 +02:00
Eric Fennis
fd20bc5fd9 Merge branch 'master' of github.com:lucide-icons/lucide 2021-05-16 12:26:31 +02:00
Eric Fennis
997daac4e6 update shell script 2021-05-16 12:26:10 +02:00
Eric Fennis
d218851416 Fix ci workflow 2021-05-16 12:24:45 +02:00
dependabot[bot]
acf51993d7 Bump hosted-git-info from 2.8.8 to 2.8.9 (#318)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 22:43:11 +02:00
dependabot[bot]
02cb296050 Bump hosted-git-info from 2.8.8 to 2.8.9 in /packages/lucide-react (#319)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 22:43:03 +02:00
dependabot[bot]
df3bd24540 Bump lodash from 4.17.20 to 4.17.21 in /packages/lucide-react (#320)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 22:42:56 +02:00
dependabot[bot]
75887dc14c Bump lodash from 4.17.20 to 4.17.21 in /packages/lucide-figma (#321)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 22:42:41 +02:00
dependabot[bot]
a50076fcb9 Bump lodash from 4.17.20 to 4.17.21 in /packages/lucide-vue (#322)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 22:42:32 +02:00
Eric Fennis
eeff4e2718 Merge branch 'master' of github.com:lucide-icons/lucide 2021-05-04 17:42:57 +02:00
Eric Fennis
f065767560 Add stale issue workflow 2021-05-04 17:42:29 +02:00
Yashu Mittal
7cbc2ac5a7 add pause octagon icon (#307) 2021-05-04 17:24:31 +02:00
Yashu Mittal
494292618b add accessibility icon (#199)
* add accessibility icon

* Update and rename accessibility.svg to person-standing.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-05-03 23:05:04 +02:00
Yashu Mittal
820727329d add sidebar open & close icon (#204)
* add sidebar open & close icon

* fix sidebar open/close icon

* Update sidebar-close.svg

* Update sidebar-open.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-05-03 22:37:50 +02:00
Locness
c51bffbd54 Add pull request template for new icons (#312)
* Create new-icon.md

* Use proper label for icon request issue template

* Use proper label for bug report template
2021-05-03 22:00:10 +02:00
dependabot[bot]
cad3214584 Bump ssri from 6.0.1 to 6.0.2 (#299)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-30 21:48:30 +02:00
Yashu Mittal
733448d041 add 2-fa icon (#235)
* add 2-fa icon

* rename to "form-input"

* Update form-input.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-30 21:15:15 +02:00
Eric Fennis
c7b9f9aaae Merge branch 'master' of github.com:lucide-icons/lucide 2021-04-30 21:12:13 +02:00
Eric Fennis
d0e6b9c015 bump package version 2021-04-30 21:11:43 +02:00
Lucide Bot
0e83769729 📦 Bump lucide package versions to 2021-04-30 15:09:54 +00:00
Eric Fennis
da5a92746f Add check in Ci workflow 2021-04-30 17:04:37 +02:00
Yashu Mittal
551cc30e79 add zero-config icon (#288)
* add zero-config icon

* Update and rename zero-config.svg to circle-slashed.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-30 16:15:09 +02:00
Eric Fennis
09edf6d16c Add more weather icons (#289)
* Add more weather icons

* Add new design

* Rename icon
2021-04-30 16:11:43 +02:00
Eric Fennis
7cc4041a35 Fix site 2021-04-30 13:23:53 +02:00
Eric Fennis
5418c63468 Fix lucide site 2021-04-30 01:24:34 +02:00
Eric Fennis
269d5fa2d0 update packages 2021-04-30 01:19:45 +02:00
Lucide Bot
c130e58c46 📦 Bump lucide package versions to 2021-04-23 21:05:19 +00:00
Yashu Mittal
2a8f734a19 add scale icon (#205)
* add scale icon

* make side handle lines bit curvy
2021-04-23 23:00:26 +02:00
Yashu Mittal
1ddce5b3cb add selector icon (#238)
* add selector icon

* update icon

* Rename selector.svg to chevrons-up-down.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-23 22:58:32 +02:00
Yashu Mittal
859577768c add power-on icon (#185)
* add power-on icon

* v2 design for power-on icon

* Rename power-on.svg to plug-zap.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-23 22:56:46 +02:00
Yashu Mittal
606b6b2b22 add desktop icon (#217)
* add desktop icon

* Rename desktop.svg to monitor-speaker.svg

* Update monitor-speaker.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-23 22:54:56 +02:00
Lucide Bot
10749409f1 📦 Bump lucide package versions to 2021-04-23 20:50:35 +00:00
Yashu Mittal
77727bc40c add ticket icon (#220) 2021-04-23 22:45:32 +02:00
dependabot[bot]
59fe65b705 Bump ssri from 6.0.1 to 6.0.2 in /site (#295)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-22 20:57:31 +02:00
dependabot[bot]
5e0d287cda Bump ssri from 6.0.1 to 6.0.2 in /packages/lucide-figma (#294)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-22 20:57:11 +02:00
Eric Fennis
910b2432ce Fix workflow for angular 2021-04-22 20:54:16 +02:00
Eric Fennis
3b05f0e574 Merge branch 'master' of github.com:lucide-icons/lucide 2021-04-22 20:49:31 +02:00
Eric Fennis
62e5aae150 Merge branch 'lucide-angular-fix-structure' 2021-04-22 20:47:56 +02:00
SMAH1
2dbf8ffaa3 Add workflow for release lucide-angular (#282) 2021-04-21 23:47:44 +02:00
Eric Fennis
938f7efeba Merge branch 'master' of github.com:lucide-icons/lucide 2021-04-20 00:00:18 +02:00
Yashu Mittal
ab00747371 add ghost icon (#285)
* add ghost icon

* fix: ghost wavely lines

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-19 23:43:08 +02:00
Eric Fennis
4c42ebfcff add move command 2021-04-19 23:41:15 +02:00
Yashu Mittal
182b127c12 fix: add 1px spacing around settings icon (#212)
* add 1px spacing around settings icon

* Update icons/settings.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-19 22:54:52 +02:00
Eric Fennis
2f3dfb4404 Change release step 2021-04-19 22:48:14 +02:00
Eric Fennis
3348c1050d readme changes 2021-04-17 23:16:34 +02:00
Eric Fennis
d0f26f4110 minor fixes 2021-04-17 23:11:59 +02:00
Eric Fennis
b450764c68 Add new version 2021-04-17 22:22:02 +02:00
Eric Fennis
b71ae1e055 simplify exports 2021-04-17 22:00:21 +02:00
Eric Fennis
35d41c1763 Move files 2021-04-17 01:09:23 +02:00
Eric Fennis
7cdabd67be add styling 2021-04-14 23:49:43 +02:00
Eric Fennis
0922e72e3d move files 2021-04-14 23:43:47 +02:00
Eric Fennis
f2582af4a3 fix tsconfig 2021-04-14 23:02:35 +02:00
Eric Fennis
61124e4619 Fix link 2021-04-14 22:15:35 +02:00
Eric Fennis
60efb731fe Merge branch 'master' of github.com:lucide-icons/lucide 2021-04-14 17:58:21 +02:00
Alexandr Antonov
96357adbe7 feat: Add glasses icon (#149)
* feat: Add glasses icon

* Update icons/glasses.svg

Co-authored-by: Alexander Antonov <aantonov@131.ru>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-04-14 17:42:55 +02:00
Locness
74c077b3ae Add note about brand icons to issue template (#287) 2021-04-13 16:06:42 +02:00
SMAH1
af9dc9f510 Fix link of README (#286) 2021-04-13 16:06:08 +02:00
Eric Fennis
abb6323d5e 📦 Bump package versions 2021-04-11 20:41:13 +02:00
Eric Fennis
8fcec2a0b2 Add personal token 2021-04-11 20:37:49 +02:00
Eric Fennis
770d5a7557 Format directories 2021-04-11 19:04:24 +02:00
Eric Fennis
58c11879c5 Merge branch 'master' of github.com:lucide-icons/lucide 2021-04-11 13:42:16 +02:00
Eric Fennis
22ea86dad5 Add fix for release workflow 2021-04-11 12:29:18 +02:00
95 changed files with 7358 additions and 8298 deletions

View File

@@ -1,7 +1,7 @@
---
name: Bug report
about: Create a report to help us improve
labels: bug
labels: "🐛 bug"
---
<!--

View File

@@ -1,15 +1,18 @@
---
name: Icon request
about: Suggest an new icon for this project
labels: "icon request"
labels: "🙌 icon request"
---
<!--
Before creating an icon request, please search to see if someone has requested the icon already. If there is an open request, please add a 👍.
A note about brand logos and related material : We follow the decision from Feather Icons (https://github.com/feathericons/feather/issues/763) to deprecate icons relating to brands.
You will find some in the set, but we won't add any new ones. https://simpleicons.org has 24x24 SVG icons for this purpose.
-->
## Icon Request
* Icon name:
* Use case:
* Screenshots of similar icons:
* _Screenshots_ of similar icons:

View File

@@ -0,0 +1,15 @@
---
name: New icon
about: Add a new icon to the library
labels: "🎨 <icon"
---
<!-- Thanks for submitting an icon! Please make sure you read the icon design guide
at https://github.com/lucide-icons/lucide/blob/master/docs/ICON_DESIGN_GUIDE.md beforehand,
and please fill everything below. -->
- **Name of the icon** : <!-- `icon` -->
- **Tags (alternative names for this icon)** (add them in tags.json) :
- **What is the purpose of this icon?** : <!-- Shows that one can click it to... / Is used to denote or label... -->
- **100% scale preview** : <!-- upload an image -->
- **Have you considered alternative possibilities** for its naming or design? :

View File

@@ -18,11 +18,11 @@ jobs:
uses: actions/checkout@v2
- name: Fetch tags
run: git fetch --tags
run: git fetch --all --tags
- name: Get latest tag
id: latest-tag
run: echo "::set-output name=LATEST_TAG::$(git tag --list 2>/dev/null | tail -n1 2>/dev/null)"
run: echo "::set-output name=LATEST_TAG::$(git describe --tags `git rev-list --tags --max-count=1`)"
- name: Get yarn cache directory path
id: yarn_cache
@@ -39,6 +39,9 @@ jobs:
- name: Install dependencies
run: yarn --pure-lockfile
- name: Check if we can patch
run: .github/workflows/version-up.sh --patch
- name: Create new version
id: new-version
run: echo "::set-output name=NEW_VERSION::$(.github/workflows/version-up.sh --patch)"
@@ -60,13 +63,12 @@ jobs:
echo "${{ steps.new-version.outputs.NEW_VERSION }}"
echo "${{ steps.change-log.outputs.CHANGE_LOG }}"
- name: Create Release
id: create_release
uses: actions/create-release@v1
- name: Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }}
with:
tag_name: ${{ steps.new-version.outputs.NEW_VERSION }}
release_name: New icons ${{ steps.new-version.outputs.NEW_VERSION }}
name: New icons ${{ steps.new-version.outputs.NEW_VERSION }}
body: ${{ steps.change-log.outputs.CHANGE_LOG }}

18
.github/workflows/close-stale-prs.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
name: 'Close stale issues and PR'
on:
schedule:
- cron: '45 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
close-pr-message: 'This PR was closed because it has been stalled for 5 days with no activity.'
close-pr-label: '🧶 stale'
days-before-stale: 30
days-before-close: 5
days-before-pr-close: -1

View File

@@ -56,6 +56,7 @@ jobs:
- name: Upload package.json
uses: actions/upload-artifact@v2
with:
name: lucide-package-json
path: packages/lucide/package.json
lucide-react:
@@ -92,6 +93,7 @@ jobs:
- name: Upload package.json
uses: actions/upload-artifact@v2
with:
name: lucide-react-package-json
path: packages/lucide-react/package.json
lucide-vue:
@@ -132,16 +134,60 @@ jobs:
- name: Upload package.json
uses: actions/upload-artifact@v2
with:
name: lucide-vue-package-json
path: packages/lucide-vue/package.json
lucide-angular:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
needs: pre-build
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn --pure-lockfile
- name: Set Auth Token
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
- name: Set package.json version lucide
run: yarn workspace lucide-angular version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
- name: Build
run: yarn workspace lucide-angular build
- name: Test
run: yarn workspace lucide-angular test:headless
- name: Publish
run: yarn workspace lucide-angular publish dist
- name: Upload package.json
uses: actions/upload-artifact@v2
with:
path: packages/lucide-angular/package.json
upload-package-jsons:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
needs: [lucide, lucide-react, lucide-vue]
needs: [lucide, lucide-react, lucide-vue, lucide-angular]
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
- name: Commit package.jsons
run: |
mv lucide-package-json/package.json packages/lucide/package.json
mv lucide-react-package-json/package.json packages/lucide-react/package.json
mv lucide-vue-package-json/package.json packages/lucide-vue/package.json
- name: Commit package.jsons
run: |
git add packages/*/package.json

View File

@@ -4,7 +4,7 @@
## get highest version tag for all branches
function highest_tag(){
local TAG=$(git tag --list 2>/dev/null | tail -n1 2>/dev/null)
local TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
echo "$TAG"
}

1
.gitignore vendored
View File

@@ -10,3 +10,4 @@ coverage
stats
*.log
packages/**/src/icons/*.js
packages/**/src/icons/*.ts

View File

@@ -53,7 +53,7 @@ npm install lucide
yarn add lucide
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/blob/master/packages/lucide-react/README.md).
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide#lucide).
### React
@@ -93,7 +93,7 @@ yarn add lucide-angular
npm install lucide-angular
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/packages/lucide-angular/projects/lucide-angular#lucide-angular).
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/packages/lucide-angular#lucide-angular).
### Figma

16
icons/bell-ring.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9" />
<path d="M13.73 21a2 2 0 01-3.46 0" />
<path d="M2 8c0-2.2.7-4.3 2-6" />
<path d="M22 8a10 10 0 00-2-6" />
</svg>

After

Width:  |  Height:  |  Size: 378 B

14
icons/check-circle-2.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z" />
<path d="M9 12l2 2 4-4" />
</svg>

After

Width:  |  Height:  |  Size: 325 B

View File

@@ -0,0 +1,14 @@
<svg
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M7 15l5 5 5-5" />
<path d="M7 9l5-5 5 5" />
</svg>

After

Width:  |  Height:  |  Size: 265 B

14
icons/circle-slashed.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<path d="M22 2L2 22" />
</svg>

After

Width:  |  Height:  |  Size: 270 B

15
icons/clipboard-check.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" />
<path d="M15 2H9a1 1 0 00-1 1v2a1 1 0 001 1h6a1 1 0 001-1V3a1 1 0 00-1-1z" />
<path d="M9 13l2 2 4-4" />
</svg>

After

Width:  |  Height:  |  Size: 399 B

16
icons/clipboard-copy.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 4h2a2 2 0 012 2v4M8 4H6a2 2 0 00-2 2v14a2 2 0 002 2h12a2 2 0 002-2v-2" />
<rect x="8" y="2" width="8" height="4" rx="1" ry="1" />
<path d="M21 14H11" />
<path d="M15 10l-4 4 4 4" />
</svg>

After

Width:  |  Height:  |  Size: 411 B

16
icons/clipboard-x.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" />
<path d="M15 2H9a1 1 0 00-1 1v2a1 1 0 001 1h6a1 1 0 001-1V3a1 1 0 00-1-1z" />
<path d="M15 11l-6 6" />
<path d="M9 11l6 6" />
</svg>

After

Width:  |  Height:  |  Size: 422 B

15
icons/cloud-fog.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M20 16.2A4.5 4.5 0 0017.5 8h-1.8A7 7 0 104 14.9" />
<path d="M16 17L7 17" />
<path d="M17 21L9 21" />
</svg>

After

Width:  |  Height:  |  Size: 325 B

14
icons/cloud-moon.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13.63 22A3.3 3.3 0 0017 18.79a3.3 3.3 0 00-3.38-3.22h-1.34A5.23 5.23 0 007.25 12 5.13 5.13 0 002 17c0 2.76 2.35 5 5.25 5h6.38z" />
<path d="M9.95 9a6.13 6.13 0 015.5-5.18 4.77 4.77 0 006.67 6.67A6.13 6.13 0 0119.46 15" />
</svg>

After

Width:  |  Height:  |  Size: 444 B

18
icons/cloud-sun.svg Normal file
View File

@@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 2v2" />
<path d="M5.22 5.22l1.42 1.42" />
<path d="M20 12h2" />
<path d="M15.97 12.5A4 4 0 009.5 8.88" />
<path d="M13.63 22A3.3 3.3 0 0017 18.79a3.3 3.3 0 00-3.38-3.22h-1.34A5.23 5.23 0 007.25 12 5.13 5.13 0 002 17c0 2.76 2.35 5 5.25 5h6.38z" />
<path d="M17.36 6.64l1.42-1.42" />
</svg>

After

Width:  |  Height:  |  Size: 515 B

14
icons/cloudy.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M17.5 21a4.5 4.5 0 100-9h-1.8A7 7 0 109 21h8.5z" />
<path d="M22 10c0-1.5-1.5-3-3.5-3H17c-.7-2.3-2.9-4-5.4-4-2.7 0-5 2-5.5 4.5" />
</svg>

After

Width:  |  Height:  |  Size: 352 B

16
icons/expand.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 21l-6-6m6 6v-4.8m0 4.8h-4.8" />
<path d="M3 16.2V21m0 0h4.8M3 21l6-6" />
<path d="M21 7.8V3m0 0h-4.8M21 3l-6 6" />
<path d="M3 7.8V3m0 0h4.8M3 3l6 6" />
</svg>

After

Width:  |  Height:  |  Size: 382 B

16
icons/form-input.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="2" y="6" width="20" height="12" rx="2" />
<path d="M12 12h.01" />
<path d="M17 12h.01" />
<path d="M7 12h.01" />
</svg>

After

Width:  |  Height:  |  Size: 338 B

15
icons/ghost.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9 10h.01" />
<path d="M15 10h.01" />
<path d="M12 2a8 8 0 00-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 00-8-8z" />
</svg>

After

Width:  |  Height:  |  Size: 349 B

17
icons/glasses.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="6" cy="15" r="4" />
<circle cx="18" cy="15" r="4" />
<path d="M14 15a2 2 0 00-2-2 2 2 0 00-2 2" />
<path d="M2.5 13L5 7c.7-1.3 1.4-2 3-2" />
<path d="M21.5 13L19 7c-.7-1.3-1.5-2-3-2" />
</svg>

After

Width:  |  Height:  |  Size: 416 B

17
icons/monitor-speaker.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5.5 20H8" />
<path d="M17 9h.01" />
<rect x="12" y="4" width="10" height="16" rx="2" />
<path d="M8 6H4a2 2 0 00-2 2v6a2 2 0 002 2h4" />
<circle cx="17" cy="15" r="1" />
</svg>

After

Width:  |  Height:  |  Size: 398 B

15
icons/pause-octagon.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10 15V9" />
<path d="M14 15V9" />
<path d="M7.714 2h8.572L22 7.714v8.572L16.286 22H7.714L2 16.286V7.714L7.714 2z" />
</svg>

After

Width:  |  Height:  |  Size: 341 B

16
icons/person-standing.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="5" r="1" />
<path d="M9 20L12 14L15 20" />
<path d="M6 8L12 10L18 8" />
<path d="M12 10V14" />
</svg>

After

Width:  |  Height:  |  Size: 331 B

18
icons/plug-zap.svg Normal file
View File

@@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13 2l-2 2.5h3L12 7" />
<path d="M12 22v-3" />
<path d="M10 13v-2.5" />
<path d="M10 12.5v-2" />
<path d="M14 12.5v-2" />
<path d="M16 15a2 2 0 00-2-2h-4a2 2 0 00-2 2v2a2 2 0 002 2h4a2 2 0 002-2v-2z" />
</svg>

After

Width:  |  Height:  |  Size: 432 B

17
icons/scale.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 16l3-8 3.001 8A5.002 5.002 0 0116 16z" />
<path d="M2 16l3-8 3.001 8A5.002 5.002 0 012 16z" />
<path d="M7 21h10" />
<path d="M12 3v18" />
<path d="M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2" />
</svg>

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -1,14 +1,13 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
width="24"
height="24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.22 2h-.44a2 2 0 00-2 2v.18a2 2 0 01-1 1.73l-.43.25a2 2 0 01-2 0l-.15-.08a2 2 0 00-2.73.73l-.22.38a2 2 0 00.73 2.73l.15.1a2 2 0 011 1.72v.51a2 2 0 01-1 1.74l-.15.09a2 2 0 00-.73 2.73l.22.38a2 2 0 002.73.73l.15-.08a2 2 0 012 0l.43.25a2 2 0 011 1.73V20a2 2 0 002 2h.44a2 2 0 002-2v-.18a2 2 0 011-1.73l.43-.25a2 2 0 012 0l.15.08a2 2 0 002.73-.73l.22-.39a2 2 0 00-.73-2.73l-.15-.08a2 2 0 01-1-1.74v-.5a2 2 0 011-1.74l.15-.09a2 2 0 00.73-2.73l-.22-.38a2 2 0 00-2.73-.73l-.15.08a2 2 0 01-2 0l-.43-.25a2 2 0 01-1-1.73V4a2 2 0 00-2-2z" />
<circle cx="12" cy="12" r="3" />
<path d="M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z" />
</svg>

Before

Width:  |  Height:  |  Size: 942 B

After

Width:  |  Height:  |  Size: 764 B

16
icons/shrink.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M15 15l6 6m-6-6v4.8m0-4.8h4.8" />
<path d="M9 19.8V15m0 0H4.2M9 15l-6 6" />
<path d="M15 4.2V9m0 0h4.8M15 9l6-6" />
<path d="M9 4.2V9m0 0H4.2M9 9L3 3" />
</svg>

After

Width:  |  Height:  |  Size: 379 B

15
icons/sidebar-close.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
<line x1="9" y1="3" x2="9" y2="21" />
<path d="M17 16L13 12L17 8" />
</svg>

After

Width:  |  Height:  |  Size: 341 B

15
icons/sidebar-open.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
<line x1="9" y1="3" x2="9" y2="21" />
<path d="M13 8L17 12L13 16" />
</svg>

After

Width:  |  Height:  |  Size: 341 B

17
icons/skull.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="9" cy="12" r="1" />
<circle cx="15" cy="12" r="1" />
<path d="M8 20v2h8v-2" />
<path d="M12.5 17l-.5-1-.5 1h1z" />
<path d="M16 20a2 2 0 001.56-3.25 8 8 0 10-11.12 0A2 2 0 008 20" />
</svg>

After

Width:  |  Height:  |  Size: 413 B

17
icons/tent.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19 20L10 4" />
<path d="M5 20l9-16" />
<path d="M3 20h18" />
<path d="M12 15l-3 5" />
<path d="M12 15l3 5" />
</svg>

After

Width:  |  Height:  |  Size: 338 B

18
icons/ticket.svg Normal file
View File

@@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 9V7a2 2 0 012-2h14a2 2 0 012 2v2M3 15v2a2 2 0 002 2h14a2 2 0 002-2v-2" />
<path d="M21 15a3 3 0 110-6" />
<path d="M3 15a3 3 0 100-6" />
<path d="M13 5v2" />
<path d="M13 17v2" />
<path d="M13 11v2" />
</svg>

After

Width:  |  Height:  |  Size: 434 B

17
icons/tornado.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 4H3" />
<path d="M18 8H6" />
<path d="M19 12H9" />
<path d="M16 16h-6" />
<path d="M11 20H9" />
</svg>

After

Width:  |  Height:  |  Size: 327 B

15
icons/vibrate.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M2 8L4 10L2 12L4 14L2 16" />
<path d="M22 8L20 10L22 12L20 14L22 16" />
<rect x="8" y="5" width="8" height="14" rx="1" />
</svg>

After

Width:  |  Height:  |  Size: 345 B

View File

@@ -2,8 +2,7 @@
"private": true,
"workspaces": {
"packages": [
"packages/*",
"site"
"packages/*"
],
"nohoist": [
"**/jest", "**/jest/**",

View File

@@ -48,4 +48,4 @@ Thumbs.db
#npm-yarn
package-lock.json
yarn.lock
src/createElement.js

View File

@@ -0,0 +1,15 @@
ISC License
Copyright (c) 2020, Lucide Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@@ -22,9 +22,9 @@ There are three ways for use this library.
After install `lucide-angular` change content of file `app.component.html` and `app.component.ts`.
``` xml
``` html
<!-- app.component.html -->
<div id="ico"></div>
<div id="lucide-icon"></div>
```
``` js
@@ -39,13 +39,16 @@ import { Activity } from 'lucide-angular/icons';
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
export class AppComponent implements OnInit {
ngOnInit(): void {
const div = document.getElementById('ico');
const div = document.getElementById('lucide-icon');
const elm = createElement(Activity);
elm.setAttribute('color', 'red'); // or set `width`, `height`, `fill`, `stroke-width`, ...
div.appendChild(elm);
if (div) {
div.appendChild(elm);
}
}
}
```
@@ -61,8 +64,7 @@ import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { LucideAngularModule } from 'lucide-angular';
import { AlarmCheck, Edit } from 'lucide-angular/icons'; // or import other icons
import { LucideAngularModule, AlarmCheck, Edit } from 'lucide-angular';
@NgModule({
declarations: [
@@ -79,37 +81,12 @@ import { AlarmCheck, Edit } from 'lucide-angular/icons'; // or import other ico
export class AppModule { }
```
``` css
/* app.component.css */
.myicon {
/* Be sure to set these values */
width: 48px;
height: 48px;
/* or other properties like `color`, `fill`, `stroke-width` */
}
```
``` xml
``` html
<!-- app.component.html -->
<lucide-icon name="alarm-check" class="myicon"></lucide-icon>
<lucide-icon name="edit" class="myicon"></lucide-icon>
```
``` js
// app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
}
```
### Method 3: User __Tag__ with __img__ property
After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`.
@@ -138,16 +115,6 @@ import { LucideAngularModule } from 'lucide-angular';
export class AppModule { }
```
``` css
/* app.component.css */
.myicon {
/* Be sure to set these values */
width: 48px;
height: 48px;
/* or other properties like `color`, `fill`, `stroke-width` */
}
```
``` xml
<!-- app.component.html -->
<lucide-icon [img]="ico1" class="myicon"></lucide-icon>
@@ -157,13 +124,14 @@ export class AppModule { }
``` js
// app.component.ts
import { Component } from '@angular/core';
import { Airplay, Circle } from 'lucide-angular/icons';
import { Airplay, Circle } from 'lucide-angular';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
ico1 = Airplay;
ico2 = Circle;
@@ -175,6 +143,7 @@ export class AppComponent {
### Import all icons
In `Method 2`: import all icons in `app.module.ts` by:
``` js
...
import { icons } from 'lucide-angular/icons';
@@ -182,10 +151,13 @@ import { icons } from 'lucide-angular/icons';
LucideAngularModule.pick(icons)
....
```
### Tags
You can use the following tags instead of `lucide-icon`:
* lucide-angular
* i-lucide
* span-lucide
- lucide-angular
- i-lucide
- span-lucide
All of the above are the same

View File

@@ -1,40 +1,40 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"$schema": "../../node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"newProjectRoot": "",
"projects": {
"lucide-angular": {
"projectType": "library",
"root": "projects/lucide-angular",
"sourceRoot": "projects/lucide-angular/src",
"root": "",
"sourceRoot": "src",
"prefix": "lib",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:ng-packagr",
"options": {
"tsConfig": "projects/lucide-angular/tsconfig.lib.json",
"project": "projects/lucide-angular/ng-package.json"
"tsConfig": "tsconfig.lib.json",
"project": "ng-package.json"
},
"configurations": {
"production": {
"tsConfig": "projects/lucide-angular/tsconfig.lib.prod.json"
"tsConfig": "tsconfig.lib.prod.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "projects/lucide-angular/src/test.ts",
"tsConfig": "projects/lucide-angular/tsconfig.spec.json",
"karmaConfig": "projects/lucide-angular/karma.conf.js"
"main": "src/test.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"projects/lucide-angular/tsconfig.lib.json",
"projects/lucide-angular/tsconfig.spec.json"
"tsconfig.lib.json",
"tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"

View File

@@ -1,8 +1,9 @@
/* eslint-disable import/no-extraneous-dependencies, global-require, func-names */
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function (config) {
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
@@ -11,7 +12,7 @@ module.exports = function (config) {
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage'),
require('@angular-devkit/build-angular/plugins/karma')
require('@angular-devkit/build-angular/plugins/karma'),
],
client: {
jasmine: {
@@ -20,18 +21,15 @@ module.exports = function (config) {
// for example, you can disable the random execution with `random: false`
// or set a specific seed with `seed: 4321`
},
clearContext: false // leave Jasmine Spec Runner output visible in browser
clearContext: false, // leave Jasmine Spec Runner output visible in browser
},
jasmineHtmlReporter: {
suppressAll: true // removes the duplicated traces
suppressAll: true, // removes the duplicated traces
},
coverageReporter: {
dir: require('path').join(__dirname, '../../coverage/lucide-angular'),
subdir: '.',
reporters: [
{ type: 'html' },
{ type: 'text-summary' }
]
reporters: [{ type: 'html' }, { type: 'text-summary' }],
},
reporters: ['progress', 'kjhtml'],
port: 9876,
@@ -42,10 +40,10 @@ module.exports = function (config) {
customLaunchers: {
ChromeHeadlessCI: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
flags: ['--no-sandbox'],
},
},
singleRun: false,
restartOnFileChange: true
restartOnFileChange: true,
});
};

View File

@@ -0,0 +1,7 @@
{
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"dest": "dist",
"lib": {
"entryFile": "src/index.ts"
}
}

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-angular",
"description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.0",
"version": "0.15.1-beta.1",
"author": "SMAH1",
"license": "ISC",
"homepage": "https://lucide.dev",
@@ -9,7 +9,7 @@
"repository": {
"type": "git",
"url": "https://github.com/lucide-icons/lucide.git",
"directory": "packages/lucide-vue"
"directory": "packages/lucide-angular"
},
"keywords": [
"Lucide",
@@ -22,26 +22,29 @@
"Font Awesome"
],
"scripts": {
"build": "yarn clean && yarn build:js && yarn build:icons && yarn build:iconsindex && yarn build:ng",
"clean": "rm -rf dist && rm -rf projects/lucide-angular/build",
"build:js": "mkdir -p projects/lucide-angular/build && cp -av ../lucide/src/createElement.js projects/lucide-angular/build/",
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-angular/projects/lucide-angular/build --templateSrc=../packages/lucide-angular/scripts/exportTemplate && for f in projects/lucide-angular/build/icons/*.js; do mv -- \"$f\" \"${f%.js}.ts\"; done",
"build:iconsindex": "yarn --cwd ../../ babel-node packages/lucide-angular/scripts/buildIconsIndex.js",
"build": "yarn clean && yarn build:icons && yarn build:ng",
"clean": "rm -rf dist && rm -rf ./src/icons/*.ts",
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-angular/src --templateSrc=../packages/lucide-angular/scripts/exportTemplate --iconFileExtention=.ts --exportFileName=index.ts",
"build:ng": "ng build --prod",
"test:headless": "ng test --no-watch --no-progress --browsers=ChromeHeadlessCI",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
"e2e": "ng e2e",
"postinstall": "ngcc"
},
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/common": "^11.2.6",
"@angular/core": "^11.2.6"
},
"devDependencies": {
"@angular/common": "~11.2.6",
"@angular/compiler": "~11.2.6",
"@angular/core": "~11.2.6",
"@angular/platform-browser": "~11.2.6",
"@angular/platform-browser-dynamic": "~11.2.6",
"tslib": "^2.0.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.1102.5",
"@angular/cli": "~11.2.5",
"@angular/compiler-cli": "~11.2.6",

View File

@@ -1,4 +0,0 @@
export * from './build/icons-index';
import * as icons from './build/icons-index';
export { icons };

View File

@@ -1,7 +0,0 @@
{
"ngPackage": {
"lib": {
"entryFile": "../icons-index.ts"
}
}
}

View File

@@ -1,4 +0,0 @@
export * from './src/lib/lucide-angular.component';
export * from './src/lib/lucide-angular.module';
export * from './lucide';

View File

@@ -1,10 +0,0 @@
export type IconNode = readonly [string, object];
export type IconData = readonly [string, object, IconNode[] ];
export declare const icons: { [key: string]: IconData };
import { default as createElementTmp } from './build/createElement';
export function createElement(ico: IconData): HTMLElement {
return createElementTmp(ico as any);
}

View File

@@ -1,7 +0,0 @@
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/lucide-angular",
"lib": {
"entryFile": "./lib-index.ts"
}
}

View File

@@ -1,31 +0,0 @@
{
"name": "lucide-angular",
"description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.0",
"author": "SMAH1",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",
"repository": {
"type": "git",
"url": "https://github.com/lucide-icons/lucide.git",
"directory": "packages/lucide-vue"
},
"keywords": [
"Lucide",
"Angular",
"Feather",
"Icons",
"Icon",
"Feather Icons",
"Fontawesome",
"Font Awesome"
],
"peerDependencies": {
"@angular/common": "^11.2.6",
"@angular/core": "^11.2.6"
},
"dependencies": {
"tslib": "^2.0.0"
}
}

View File

@@ -1,17 +0,0 @@
{
"extends": "../../tslint.json",
"rules": {
"directive-selector": [
true,
"attribute",
"lib",
"camelCase"
],
"component-selector": [
true,
"element",
"",
"kebab-case"
]
}
}

View File

@@ -1,39 +0,0 @@
import path from 'path';
import {
writeFile,
resetFile,
appendFile,
readSvgDirectory,
} from '../../../scripts/helpers';
const TARGET_DIR = path.join(__dirname, '../projects/lucide-angular/build');
const ICONS_DIR = path.resolve(__dirname, '../../../icons');
const TYPES_FILE_NAME = 'icons-index.ts';
// Generates header of d.ts file include some types and functions
const typeDefinitions = `\
export type IconNode = readonly [string, object];
export type IconData = readonly [string, object, IconNode[] ];
export declare const icons: { [key: string]: IconData };
// Generated icons
`;
resetFile(TYPES_FILE_NAME, TARGET_DIR);
writeFile(typeDefinitions, TYPES_FILE_NAME, TARGET_DIR);
const svgFiles = readSvgDirectory(ICONS_DIR);
svgFiles.forEach(svgFile => {
const kebab = path.basename(svgFile, '.svg');
appendFile(
`export * from './icons/${kebab}';\n`,
TYPES_FILE_NAME,
TARGET_DIR,
);
});
console.log(`Generated ${TYPES_FILE_NAME} file with`, svgFiles.length, 'icons');

View File

@@ -1,10 +1,12 @@
export default ({ componentName, children }) => `
import { IconData } from '../../lucide';
import defaultAttributes from '../../default-attributes';
import { IconData } from './types';
import defaultAttributes from './constants/default-attributes';
export const ${componentName}: IconData = [
const ${componentName}: IconData = [
'svg',
defaultAttributes,
${JSON.stringify(children)}
];
export default ${componentName};
`;

View File

@@ -0,0 +1,26 @@
import { IconData } from '../icons/types'
/**
* Creates a new SVGElement from icon node
* @param {string} tag
* @param {object} attrs
* @param {array} children
* @returns {SVGElement}
*/
export const createElement = ([tag, attrs, children = []]: IconData): SVGElement => {
const element = document.createElementNS('http://www.w3.org/2000/svg', tag);
Object.keys(attrs).forEach(name => {
element.setAttribute(name, attrs[name]);
});
if (children.length) {
children.forEach((child: IconData) => {
const childElement = createElement(child);
element.appendChild(childElement);
});
}
return element;
};

View File

@@ -0,0 +1,8 @@
{
"ngPackage": {
"dest": "dist",
"lib": {
"entryFile": "./index.ts"
}
}
}

View File

@@ -0,0 +1,3 @@
export type IconNode = readonly [string, object];
export type IconData = readonly [string, object, IconNode[]? ];
export type Icons = { [key: string]: IconData }

View File

@@ -0,0 +1,7 @@
import * as icons from './icons';
export * from './lib/lucide-angular.component';
export * from './lib/lucide-angular.module';
export * from './helpers/create-element';
export * from './icons';
export { icons };

View File

@@ -1,3 +1,3 @@
export class Icons {
constructor(private icons: object) {}
}
export class Icons {
constructor(private icons: object) {}
}

View File

@@ -1,6 +1,5 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { LucideAngularModule } from './lucide-angular.module';
import { LucideAngularComponent } from './lucide-angular.component';
describe('LucideAngularComponent', () => {

View File

@@ -1,6 +1,7 @@
import { Component, ElementRef, Input, Inject, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
import { Icons } from './icons.provider';
import { createElement, IconData } from '../../lucide';
import { IconData } from '../icons/types';
import { createElement } from '../helpers/create-element';
@Component({
selector: 'lucide-angular, lucide-icon, i-lucide, span-lucide',
@@ -9,13 +10,16 @@ import { createElement, IconData } from '../../lucide';
:host {
display: inline-block;
fill: none;
stroke: inherit;
stroke-width: inherit;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
width: 24px;
height: 24px;
}
`]
})
export class LucideAngularComponent implements OnChanges {
@Input() name!: string;
@Input() img!: IconData;

View File

@@ -1,12 +1,15 @@
import { NgModule, ModuleWithProviders, Optional } from '@angular/core';
import { LucideAngularComponent } from './lucide-angular.component';
import { Icons } from './icons.provider';
import { IconData } from '../../lucide';
import { IconData } from '../icons/types';
@NgModule({
declarations: [LucideAngularComponent],
imports: [
],
exports: [LucideAngularComponent]
})
export class LucideAngularModule {
constructor(@Optional() private icons: Icons) {
if (!this.icons) {

View File

@@ -9,12 +9,13 @@
"downlevelIteration": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowJs": true,
"paths": {
"lucide-angular": [
"dist/lucide-angular/lucide-angular",
"dist/lucide-angular"
]
"dist"
],
"lucide-angular/*": [
"dist/*"
],
},
"moduleResolution": "node",
"importHelpers": true,

View File

@@ -1,8 +1,8 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "../../tsconfig.json",
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../out-tsc/lib",
"outDir": "./out-tsc/lib",
"target": "es2015",
"declaration": true,
"declarationMap": true,
@@ -17,7 +17,8 @@
"angularCompilerOptions": {
"skipTemplateCodegen": true,
"strictMetadataEmit": true,
"enableResourceInlining": true
"enableResourceInlining": true,
"fullTemplateTypeCheck": true
},
"exclude": [
"src/test.ts",

View File

@@ -1,8 +1,8 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "../../tsconfig.json",
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../out-tsc/spec",
"outDir": "./out-tsc/spec",
"types": [
"jasmine"
]

View File

@@ -16,6 +16,18 @@
"deprecation": {
"severity": "warning"
},
"directive-selector": [
true,
"attribute",
"lib",
"camelCase"
],
"component-selector": [
true,
"element",
"",
"kebab-case"
],
"eofline": true,
"import-blacklist": [
true,

View File

@@ -1,6 +1,6 @@
{
"name": "lucide-figma",
"version": "0.15.0",
"version": "0.15.11",
"license": "ISC",
"private": true,
"main": "build/ui.js",
@@ -15,7 +15,7 @@
"css-loader": "^3.0.0",
"html-webpack-inline-source-plugin": "^0.0.10",
"html-webpack-plugin": "^3.2.0",
"lucide-react": "^0.15.0",
"lucide-react": "0.15.11",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"style-loader": "^0.23.1",

View File

@@ -2054,9 +2054,9 @@ locate-path@^3.0.0:
path-exists "^3.0.0"
lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3:
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
@@ -2077,13 +2077,13 @@ lru-cache@^5.1.1:
dependencies:
yallist "^3.0.2"
lucide-react@^0.13.0:
version "0.13.0"
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.13.0.tgz#7bcc60f85c207b9eed6f4a6c713dfdcb5928d2b3"
integrity sha512-4BmILrkeydq8YhHjDRe9qKd42nsog77ZW/bgqy3A56d9pV5v3/2a2gK8qDbAAwpYZva+MIhOTRWpJW8BgtQGUA==
lucide-react@0.15.11:
version "0.15.11"
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.15.11.tgz#34f2d76d1e7fda978f4a8b2d0538b84ecbecf106"
integrity sha512-2NOpAVt2ScBkwlRvub7adfmWZX1o+so+3elAtyp5g9jaAKthszAgKZwNEFhB2Gl1tT5CuvVLPsjaRjhnpNjq9w==
dependencies:
prop-types "^15.7.2"
react "^17.0.1"
react "^16.5.1"
make-dir@^2.0.0:
version "2.1.0"
@@ -2723,7 +2723,7 @@ react-is@^16.8.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react@^16.8.6:
react@^16.5.1, react@^16.8.6:
version "16.14.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==
@@ -2732,14 +2732,6 @@ react@^16.8.6:
object-assign "^4.1.1"
prop-types "^15.6.2"
react@^17.0.1:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
@@ -3084,9 +3076,9 @@ split-string@^3.0.1, split-string@^3.0.2:
extend-shallow "^3.0.0"
ssri@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
version "6.0.2"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
dependencies:
figgy-pudding "^3.5.1"

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-react",
"description": "Lucide React package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.0",
"version": "0.15.16",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -2406,9 +2406,9 @@ has@^1.0.3:
function-bind "^1.1.1"
hosted-git-info@^2.1.4:
version "2.8.8"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
version "2.8.9"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
html-encoding-sniffer@^2.0.1:
version "2.0.1"
@@ -3228,9 +3228,9 @@ lodash.sortby@^4.7.0:
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
lodash@^4.17.19:
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"

View File

@@ -1,6 +1,6 @@
{
"name": "lucide-vue",
"version": "0.15.0",
"version": "0.15.16",
"author": "Eric Fennis",
"description": "Lucide Vue Package",
"license": "ISC",

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "lucide",
"description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.15.0",
"version": "0.15.16",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -4,7 +4,7 @@ import path from 'path';
import prettier from 'prettier';
import { toPascalCase } from '../helpers';
export default function(iconNodes, outputDirectory, template, { showLog = true }) {
export default function({ iconNodes, outputDirectory, template, showLog = true, iconFileExtention = '.js' }) {
const icons = Object.keys(iconNodes);
const iconsDistDirectory = path.join(outputDirectory, `icons`);
@@ -13,7 +13,7 @@ export default function(iconNodes, outputDirectory, template, { showLog = true }
}
icons.forEach(iconName => {
const location = path.join(iconsDistDirectory, `${iconName}.js`);
const location = path.join(iconsDistDirectory, `${iconName}${iconFileExtention}`);
const componentName = toPascalCase(iconName);
let { children } = iconNodes[iconName];

View File

@@ -12,22 +12,38 @@ const cliArguments = getArgumentOptions(process.argv.slice(2));
const ICONS_DIR = path.resolve(__dirname, '../icons');
const OUTPUT_DIR = path.resolve(__dirname, cliArguments.output || '../build');
const SRC_DIR = path.resolve(__dirname, '../src');
if (!fs.existsSync(OUTPUT_DIR)) {
fs.mkdirSync(OUTPUT_DIR);
}
const {
renderUniqueKey = false,
templateSrc = './templates/defaultIconFileTemplate',
silent = false,
iconFileExtention = '.js',
exportFileName = 'index.js',
} = cliArguments;
const svgFiles = readSvgDirectory(ICONS_DIR);
const icons = renderIconsObject(svgFiles, ICONS_DIR, cliArguments.renderUniqueKey);
const icons = renderIconsObject(svgFiles, ICONS_DIR, renderUniqueKey);
const defaultIconFileTemplate = './templates/defaultIconFileTemplate';
// eslint-disable-next-line import/no-dynamic-require
const iconFileTemplate = require(cliArguments.templateSrc || defaultIconFileTemplate).default;
const iconFileTemplate = require(templateSrc).default;
// Generates iconsNodes files for each icon
generateIconFiles(icons, OUTPUT_DIR, iconFileTemplate, { showLog: !cliArguments.silent });
generateIconFiles({
iconNodes: icons,
outputDirectory: OUTPUT_DIR,
template: iconFileTemplate,
showLog: !silent,
iconFileExtention,
});
// Generates entry files for the compiler filled with icons exports
generateExportsFile(path.join(SRC_DIR, 'icons/index.js'), path.join(OUTPUT_DIR, 'icons'), icons);
generateExportsFile(
path.join(OUTPUT_DIR, 'icons', exportFileName),
path.join(OUTPUT_DIR, 'icons'),
icons,
);

View File

@@ -11,16 +11,18 @@
"test": "jest"
},
"dependencies": {
"@chakra-ui/core": "^1.0.0-rc.8",
"@chakra-ui/react": "^1.6.0",
"@emotion/react": "^11",
"@emotion/styled": "^11",
"downloadjs": "^1.4.7",
"framer-motion": "^3.3.0",
"framer-motion": "^4",
"jszip": "^3.4.0",
"lodash": "^4.17.20",
"lucide-react": "0.14.0",
"next": "^10.0.4",
"react": "^16.13.1",
"react-color": "2.17.3",
"react-dom": "^16.13.1",
"react": "^17.0.1",
"react-color": "^2.19.3",
"react-dom": "^17.0.1",
"react-svg-loader": "^3.0.3"
},
"devDependencies": {
@@ -35,7 +37,6 @@
"babel-loader": "^8.1.0",
"cheerio": "^1.0.0-rc.3",
"jest": "^26.5.2",
"react-test-renderer": "^16.13.1",
"typescript": "^3.9.5"
"typescript": "^4.2.4"
}
}

View File

@@ -1,8 +1,6 @@
import { SyntheticEvent, useEffect, useRef, useState } from 'react';
import { FormLabel, Icon, Input, InputGroup, InputLeftElement } from '@chakra-ui/core';
import { CustomPicker } from 'react-color';
const { Saturation, Hue } = require('react-color/lib/components/common');
import { FormLabel, Icon, Input, InputGroup, InputLeftElement } from '@chakra-ui/react';
import { Saturation, Hue, ColorWrap as CustomPicker } from 'react-color/lib/components/common';
type ColorPickerProps = {
value: string;

View File

@@ -1,4 +1,4 @@
import { Button, Flex, Link, WrapItem, Text, Wrap } from "@chakra-ui/core";
import { Button, Flex, Link, WrapItem, Text, Wrap } from "@chakra-ui/react";
import download from "downloadjs";
import JSZip from "jszip";
import { Download, Github } from 'lucide-react';

View File

@@ -18,7 +18,7 @@ import {
SliderTrack,
Flex,
Text,
} from '@chakra-ui/core';
} from '@chakra-ui/react';
import ColorPicker from './ColorPicker';
export function IconCustomizerDrawer() {

View File

@@ -1,4 +1,4 @@
import { Box, Text, IconButton, useColorMode, Flex, Slide, ButtonGroup, Button, useToast, Heading, Avatar, AvatarGroup, Link, Tooltip, useMediaQuery, useDisclosure } from "@chakra-ui/core";
import { Box, Text, IconButton, useColorMode, Flex, Slide, ButtonGroup, Button, useToast, Heading, Avatar, AvatarGroup, Link, Tooltip, useMediaQuery, useDisclosure } from "@chakra-ui/react";
import theme from "../lib/theme";
import download from 'downloadjs';
import copy from "copy-to-clipboard";

View File

@@ -1,4 +1,4 @@
import { Button, Flex, Grid, Text, useToast } from "@chakra-ui/core";
import { Button, Flex, Grid, Text, useToast } from "@chakra-ui/react";
import download from 'downloadjs';
import Link from 'next/link'
import copy from "copy-to-clipboard";

View File

@@ -6,7 +6,7 @@ import {
Text,
useColorMode,
Icon,
} from '@chakra-ui/core';
} from '@chakra-ui/react';
import IconList from './IconList';
import { useEffect, useMemo, useRef, useState } from 'react';
import useSearch from '../lib/useSearch';

View File

@@ -1,4 +1,4 @@
import { Box, Divider, Flex, Text, Link, Icon, useColorMode, useColorModeValue, IconButton } from "@chakra-ui/core";
import { Box, Divider, Flex, Text, Link, Icon, useColorMode, useColorModeValue, IconButton } from "@chakra-ui/react";
import { useKeyBindings } from "../lib/key";
import { useRouter } from "next/router";
import NextLink from "next/link"

View File

@@ -1,4 +1,4 @@
import { Box, Tooltip, useColorMode } from "@chakra-ui/core";
import { Box, Tooltip, useColorMode } from "@chakra-ui/react";
import theme from '../lib/theme';
const ModifiedTooltip = ({}) => {

View File

@@ -1,4 +1,4 @@
import { theme as chakraTheme } from "@chakra-ui/core";
import { theme as chakraTheme } from "@chakra-ui/react";
const theme = {
...chakraTheme,

View File

@@ -1,4 +1,4 @@
import { ChakraProvider } from '@chakra-ui/core';
import { ChakraProvider } from '@chakra-ui/react';
import customTheme from '../lib/theme';
import '../assets/styling.css';
import Head from 'next/head';

View File

@@ -1,5 +1,5 @@
import Document, { Head, Html, Main, NextScript } from "next/document";
import { ColorModeScript } from "@chakra-ui/core"
import { ColorModeScript } from "@chakra-ui/react"
class MyDocument extends Document {
render() {

View File

@@ -1,6 +1,6 @@
{
"compilerOptions": {
"target": "es5",
"target": "ESNext",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
@@ -14,6 +14,6 @@
"isolatedModules": true,
"jsx": "preserve"
},
"exclude": ["node_modules"],
"exclude": ["node_modules", "use-popper.d.ts"],
"include": ["next-env.d.ts", "src/**/*.ts", "src/**/*.tsx"]
}

File diff suppressed because it is too large Load Diff

383
tags.json
View File

@@ -13,7 +13,9 @@
"alarm-check": [
"done"
],
"alarm-clock": [],
"alarm-clock": [
"morning"
],
"alarm-minus": [
"remove"
],
@@ -80,18 +82,42 @@
"key",
"forward"
],
"arrow-down": [],
"arrow-down-circle": [],
"arrow-down-left": [],
"arrow-down-right": [],
"arrow-left": [],
"arrow-left-circle": [],
"arrow-right": [],
"arrow-right-circle": [],
"arrow-up": [],
"arrow-up-circle": [],
"arrow-up-left": [],
"arrow-up-right": [],
"arrow-down": [
"direction"
],
"arrow-down-circle": [
"direction"
],
"arrow-down-left": [
"direction"
],
"arrow-down-right": [
"direction"
],
"arrow-left": [
"direction"
],
"arrow-left-circle": [
"direction"
],
"arrow-right": [
"direction"
],
"arrow-right-circle": [
"direction"
],
"arrow-up": [
"direction"
],
"arrow-up-circle": [
"direction"
],
"arrow-up-left": [
"direction"
],
"arrow-up-right": [
"direction"
],
"asterisk": [
"reference"
],
@@ -131,9 +157,18 @@
"power",
"electricity"
],
"battery-full": [],
"battery-low": [],
"battery-medium": [],
"battery-full": [
"power",
"electricity"
],
"battery-low": [
"power",
"electricity"
],
"battery-medium": [
"power",
"electricity"
],
"beaker": [
"cup"
],
@@ -171,7 +206,13 @@
"transport",
"trip"
],
"binary": [],
"binary": [
"code",
"digits",
"computer",
"zero",
"one"
],
"bitcoin": [
"currency",
"money",
@@ -234,6 +275,11 @@
"paint",
"color"
],
"bug": [
"issue",
"report",
"insect"
],
"building": [
"organisation",
"organization"
@@ -280,14 +326,33 @@
"check-square": [
"done"
],
"chevron-down": [],
"chevron-left": [],
"chevron-right": [],
"chevron-up": [],
"chevrons-down": [],
"chevrons-left": [],
"chevrons-right": [],
"chevrons-up": [],
"chevron-down": [
"arrow"
],
"chevron-left": [
"arrow"
],
"chevron-right": [
"arrow"
],
"chevron-up": [
"arrow"
],
"chevrons-down": [
"arrow"
],
"chevrons-left": [
"arrow"
],
"chevrons-right": [
"arrow"
],
"chevrons-up": [
"arrow"
],
"chevrons-up-down": [
"arrow"
],
"chrome": [
"browser"
],
@@ -296,10 +361,21 @@
"zero",
"record"
],
"circle-slashed": [
"diameter",
"zero",
"Ø",
"null",
"nothing"
],
"clipboard": [
"copy",
"paste"
],
"clipboard-check": [
"copied",
"pasted"
],
"clipboard-list": [
"copy",
"paste",
@@ -317,6 +393,10 @@
"weather",
"shower"
],
"cloud-fog": [
"weather",
"mist"
],
"cloud-hail": [
"weather",
"rainfall"
@@ -325,6 +405,10 @@
"weather",
"bolt"
],
"cloud-moon": [
"weather",
"night"
],
"cloud-off": [
"disconnect"
],
@@ -340,13 +424,28 @@
"weather",
"blizzard"
],
"cloud-sun": [
"weather",
"partly"
],
"cloudy": [
"clouds"
],
"clover": [
"leaf",
"luck"
],
"code": [
"source",
"programming"
"programming",
"html",
"xml"
],
"code-2": [
"source",
"programming",
"html",
"xml"
],
"codepen": [
"logo"
@@ -480,8 +579,13 @@
"money",
"payment"
],
"download": [],
"download-cloud": [],
"download": [
"import",
"export"
],
"download-cloud": [
"import"
],
"dribbble": [],
"droplet": [
"water"
@@ -514,6 +618,10 @@
"money",
"payment"
],
"expand": [
"scale",
"fullscreen"
],
"external-link": [
"outbound"
],
@@ -540,56 +648,79 @@
"design",
"tool"
],
"file": [],
"file": [
"document"
],
"file-check": [
"done"
"done",
"document"
],
"file-check-2": [
"done"
"done",
"document"
],
"file-code": [
"script"
"script",
"document"
],
"file-digit": [
"number"
"number",
"document"
],
"file-input": [
"document"
],
"file-minus": [
"delete",
"remove",
"erase"
"erase",
"document"
],
"file-minus-2": [
"document"
],
"file-output": [
"document"
],
"file-minus-2": [],
"file-plus": [
"add",
"create",
"new"
"new",
"document"
],
"file-plus-2": [
"add",
"create",
"new"
"new",
"document"
],
"file-search": [
"lost"
"lost",
"document",
"find"
],
"file-text": [
"data",
"txt",
"pdf"
"pdf",
"document"
],
"file-x": [
"lost",
"delete",
"remove"
"remove",
"document"
],
"file-x-2": [
"lost",
"delete",
"remove"
"remove",
"document"
],
"files": [
"multiple",
"copy"
"copy",
"documents"
],
"film": [
"movie",
@@ -628,6 +759,13 @@
"folder-plus": [
"directory"
],
"form-input": [
"2fa",
"authenticate",
"login",
"field",
"text"
],
"framer": [
"logo",
"design",
@@ -653,6 +791,10 @@
"hammer",
"mallet"
],
"ghost": [
"pacman",
"spooky"
],
"gift": [
"present",
"box",
@@ -687,6 +829,10 @@
"logo",
"version control"
],
"glasses": [
"glasses",
"spectacles"
],
"globe": [
"world",
"browser",
@@ -741,6 +887,10 @@
"number",
"pound"
],
"haze": [
"mist",
"fog"
],
"headphones": [
"music",
"audio",
@@ -871,6 +1021,12 @@
"photo",
"item"
],
"layout-template": [
"window",
"webpage",
"block",
"section"
],
"library": [
"book",
"music",
@@ -883,7 +1039,11 @@
],
"lightbulb": [
"idea",
"bright"
"bright",
"lights"
],
"lightbulb-off": [
"lights"
],
"link": [
"chain",
@@ -912,7 +1072,12 @@
"number",
"order"
],
"loader": [],
"loader": [
"load"
],
"loader-2": [
"load"
],
"locate": [
"map",
"gps",
@@ -1033,6 +1198,11 @@
"monitor-off": [
"share"
],
"monitor-speaker": [
"devices",
"connect",
"cast"
],
"moon": [
"dark",
"night"
@@ -1057,6 +1227,11 @@
"cursor",
"click"
],
"mouse-pointer-click": [
"arrow",
"cursor",
"click"
],
"move": [
"arrows"
],
@@ -1123,6 +1298,11 @@
"audio",
"stop"
],
"pause-octagon": [
"music",
"audio",
"stop"
],
"pen-tool": [
"vector",
"drawing",
@@ -1136,6 +1316,12 @@
"percent": [
"discount"
],
"person-standing": [
"people",
"human",
"accessibility",
"stick figure"
],
"phone": [
"call"
],
@@ -1178,6 +1364,12 @@
"music",
"start"
],
"plug-zap": [
"charge",
"charging",
"battery",
"connect"
],
"plus": [
"add",
"new"
@@ -1208,7 +1400,11 @@
],
"power": [
"on",
"off"
"off",
"device"
],
"power-off": [
"device"
],
"printer": [
"fax",
@@ -1280,6 +1476,14 @@
"save": [
"floppy disk"
],
"scale": [
"balance",
"legal",
"license",
"right",
"rule",
"law"
],
"scissors": [
"cut"
],
@@ -1311,16 +1515,30 @@
"move",
"split"
],
"server": [],
"server-crash": [],
"server-off": [],
"server": [
"cloud",
"storage"
],
"server-crash": [
"cloud",
"storage",
"problem",
"error"
],
"server-off": [
"cloud",
"storage"
],
"settings": [
"cog",
"edit",
"gear",
"preferences"
],
"share": [],
"share": [
"network",
"connections"
],
"share-2": [
"network",
"connections"
@@ -1383,12 +1601,22 @@
"dig",
"spade"
],
"shrink": [
"scale",
"fullscreen"
],
"shuffle": [
"music"
],
"sidebar": [
"menu"
],
"sidebar-close": [
"menu"
],
"sidebar-open": [
"menu"
],
"sigma": [
"sum",
"calculate"
@@ -1399,6 +1627,11 @@
"skip-forward": [
"music"
],
"skull": [
"death",
"danger",
"bone"
],
"slack": [
"logo"
],
@@ -1453,7 +1686,16 @@
"star": [
"bookmark",
"favorite",
"like"
"like",
"review",
"rating"
],
"star-half": [
"bookmark",
"favorite",
"like",
"review",
"rating"
],
"stop-circle": [
"media",
@@ -1506,10 +1748,21 @@
"logo",
"bullseye"
],
"tent": [
"campsite",
"wigwam"
],
"terminal": [
"code",
"command line",
"prompt"
"prompt",
"shell"
],
"terminal-square": [
"code",
"command line",
"prompt",
"shell"
],
"thermometer": [
"temperature",
@@ -1517,6 +1770,23 @@
"fahrenheit",
"weather"
],
"thermometer-snowflake": [
"temperature",
"celsius",
"fahrenheit",
"weather",
"cold",
"freeze",
"freezing"
],
"thermometer-sun": [
"temperature",
"celsius",
"fahrenheit",
"weather",
"warm",
"hot"
],
"thumbs-down": [
"dislike",
"bad",
@@ -1527,6 +1797,11 @@
"good",
"emotion"
],
"ticket": [
"entry",
"pass",
"voucher"
],
"timer": [
"time",
"timer",
@@ -1542,6 +1817,12 @@
"off",
"switch"
],
"tornado": [
"weather",
"wind",
"storm",
"hurricane"
],
"trash": [
"garbage",
"delete",

6236
yarn.lock

File diff suppressed because it is too large Load Diff