Compare commits

...

33 Commits

Author SHA1 Message Date
Eric Fennis
330d7beb60 Add grab and pointer (#173)
* add grab and pointer

* Add white space

* add white space pointer
2021-01-27 19:59:04 +01:00
Eric Fennis
77f0243446 add sprout icon (#157)
Co-authored-by: Neel Chanda <neelchanda@gmail.com>

Co-authored-by: Neel Chanda <neelchanda@gmail.com>
2021-01-27 19:55:35 +01:00
Yashu Mittal
2c7fa08503 add infinity icon (#176) 2021-01-27 19:47:03 +01:00
Andreas Törnkvist
998199085e Icons: Big arrows (#153)
* arrow-big-

* -2px
2021-01-27 19:46:28 +01:00
Eric Fennis
f9cf015e20 Refactoring: rotate-cw, rotate-ccw, repeat, refresh-cw, refresh-ccw (#177)
* refactor icons

* Add refresh icons
2021-01-27 19:45:49 +01:00
Yashu Mittal
97677113e3 Add server-crash icon (#175) 2021-01-27 14:59:51 +01:00
Lennard Scheibel
1f7d367afc Add cross icon (#168) 2021-01-22 17:28:43 +01:00
Christopher Sandvik
1846b8b4ae Optimize all existing icons (#167) 2021-01-14 22:33:30 +01:00
Christopher Sandvik
3bedf3ba36 Add hook to optimize staged SVGs before commit (#166) 2021-01-14 22:33:17 +01:00
Eric Fennis
4352e985df Add Release workflow (#164)
* add workflows

* adjust release workflow

* adjust release workflow

* remove changes

* remove changes font yml
2021-01-14 21:31:55 +01:00
Yüksel Kapan
e1936fb938 Create server-off.svg (#165)
* Create server-off.svg

Hello,
I've made a server-off icon.

* Update icons/server-off.svg

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

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-01-05 14:28:29 +01:00
Eric Fennis
de815a7305 hotfix markup brush 2021-01-03 19:57:21 +01:00
Eric Fennis
bd3f24f160 New version 0.12.0 2020-12-31 16:41:07 +01:00
Eric Fennis
8f6062317f Add layout-grid icon (#142) 2020-12-31 16:06:23 +01:00
Alexandr Antonov
8f63d828af feat: Add transport icons (#152)
* feat: Add transport icons

* Update tags.json

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

* Update tags.json

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

* Update tags.json

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

* Update icons/bus.svg

Co-authored-by: Andreas Törnkvist <andreas.o.tornkvist@gmail.com>

* Update icons/car.svg

Co-authored-by: Andreas Törnkvist <andreas.o.tornkvist@gmail.com>

* Update icons/truck.svg

Co-authored-by: Andreas Törnkvist <andreas.o.tornkvist@gmail.com>

Co-authored-by: Alexander Antonov <aantonov@131.ru>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Andreas Törnkvist <andreas.o.tornkvist@gmail.com>
2020-12-31 16:03:48 +01:00
Christopher Sandvik
fc2fac9ca4 Fix optimizeSvgs script (#160) 2020-12-30 20:23:46 +01:00
delnyn
cf13cef475 Add brush icon (#108)
* Update (#2)

update

* Update README.md

* Fix links

* Fix typo

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

* Create brush.svg

* Add brush tags

* Edit brush

Co-authored-by: Locness <37651007+locness3@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2020-12-30 20:06:56 +01:00
dependabot[bot]
485ae6f531 chore(deps): Bump node-notifier in /packages/lucide-react (#163)
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-30 20:06:06 +01:00
dependabot[bot]
398421367c chore(deps): Bump node-notifier from 8.0.0 to 8.0.1 in /site (#162)
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-30 20:05:56 +01:00
dependabot[bot]
8832051f96 chore(deps): Bump node-notifier from 8.0.0 to 8.0.1 (#161)
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-30 20:05:47 +01:00
Alexandr Antonov
ce80469ecc feat: Add timer icon (#148)
* feat: Add timer icon

* Update tags.json

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

* Update icons/timer.svg

Co-authored-by: Alexander Antonov <aantonov@131.ru>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2020-12-22 21:04:44 +01:00
Alexandr Antonov
12f2b29ac7 feat: Add crown icon (#151)
* feat: Add crown icon

* Update tags.json

Co-authored-by: Alexander Antonov <aantonov@131.ru>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2020-12-22 21:02:26 +01:00
Christopher Sandvik
7b7ee1fe63 Add locate and locate-fixed icons (#159) 2020-12-22 21:01:45 +01:00
Eric Fennis
baee6032c6 Add color palette icon (#143)
* add color pallette

* rename

* resize circles
2020-12-21 19:34:03 +01:00
Yüksel Kapan
deae140a6e Create monitor-off.svg (#155)
* Create monitor-off.svg

Added Monitor Off icon.

* Update monitor-off.svg

Updated the icon to match the design guide.

* Update icons/monitor-off.svg

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

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2020-12-21 18:42:54 +01:00
Eric Fennis
ca90159fce Fix netlify build PRs (#158)
* Add ignore in netlify command

* add quiet flag
2020-12-21 12:18:00 +01:00
Eric Fennis
03e287f2c1 Add qr-code icon (#141) 2020-12-20 14:38:18 +01:00
Eric Fennis
b79aebe284 add hand icon (#134) 2020-12-20 14:24:18 +01:00
Eric Fennis
a21600984d Add laptop-2 icon (#130)
* Add second laptop icon

* fix identation
2020-12-03 09:19:55 +01:00
Alexandr Antonov
8b09a5c1ef feat: Add plane icon (#150)
Co-authored-by: Alexander Antonov <aantonov@131.ru>
2020-12-03 09:10:11 +01:00
Eric Fennis
66ac072870 Release react-package 2020-12-02 15:11:29 +01:00
Eric Fennis
c073a2c529 Update CONTRIBUTING.md (#145) 2020-12-02 14:46:42 +01:00
Eric Fennis
cedf113b54 React package (#105)
* init new react package project

* setup react package

* Fix config for build

* update package

* Fix build

* update package

* fix package.json

* refactor and cleanup

* bumb beta version

* fix regex

* bump version

* Add hashing

* Add tests

* bump version

* Add peer dependecies

* Add docs

* Add readme link
2020-12-02 13:48:39 +01:00
553 changed files with 9212 additions and 15395 deletions

View File

@@ -1,21 +1,21 @@
module.exports = {
"env": {
"browser": true,
"node": true
env: {
browser: true,
node: true
},
"extends": ["airbnb-base", "prettier"],
"plugins": ["import", "prettier"],
"rules": {
"no-console": "off",
"no-param-reassign": "off",
"no-shadow": "off",
"no-use-before-define": "off",
"prettier/prettier": [
"error",
extends: ['airbnb-base', 'prettier'],
plugins: ['import', 'prettier'],
rules: {
'no-console': 'off',
'no-param-reassign': 'off',
'no-shadow': 'off',
'no-use-before-define': 'off',
'prettier/prettier': [
'error',
{
"singleQuote": true,
"trailingComma": "all"
singleQuote: true,
trailingComma: 'all'
}
]
}
}
};

69
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,69 @@
name: Release to NPM
on:
push:
tags:
- 'v*'
jobs:
build-and-deploy:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/\v}
- uses: actions/checkout@v2
with:
clean: true
- name: Set Auth Token
run: yarn config set 'npmRegistries["//registry.npmjs.org"].npmAuthToken' ${{ secrets.NPM_TOKEN }}
# Build lucide
- name: Install Dependencies Lucide
run: yarn --pure-lockfile
- name: Build lucide package
run: yarn build
# Build lucide-react
- name: Install Dependencies lucide-react
run: yarn --pure-lockfile
working-directory: packages/lucide-react
- name: Build lucide-react
run: yarn build
working-directory: packages/lucide-react
# Publish lucide
- name: Set package.json version lucide
run: yarn version --new-version ${{ steps.get_version.outputs.VERSION }} --no-git-tag-version
- name: publish lucide
run: yarn publish
# Publish lucide-react
- name: Set package.json version lucide-react
run: yarn version --new-version ${{ steps.get_version.outputs.VERSION }} --no-git-tag-version
working-directory: packages/lucide-react
- name: publish lucide-react
run: yarn publish
working-directory: packages/lucide-react
- name: Commit package.json
run: |
git add package.json
git add packages/lucide-react/package.json
git -c user.name="Lucide Bot" -c user.email="lucide-bot@users.noreply.github.com" \
commit -m ":package: Bump version to ${{ steps.get_version.outputs.VERSION }}" --no-verify --quiet
git remote set-url --push origin https://lucide-bot:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY.git
git push origin HEAD:master

View File

@@ -17,6 +17,20 @@ Guidelines for pull requests:
- __Make sure the target of your pull request is the relevant branch__. Most of bugfix or new feature should go to the `master` branch.
- __Include only related work__. If your pull request has unrelated commit, it won't be accepted.
### Pull Requests Including Icons
#### Guidelines
Please make sure you follow the icon guidelines, that should be followed to keep quality and consistency when making icons for Lucide
Read it here: [ICON_GUIDELINES](docs/ICON_DESIGN_GUIDE.md)
#### Submitting Mulitple Icons
If you want submit multiple icons, please separate the icons and group them. That makes reviewing the icons easier and keep the thread clean and scoped.
So don't submit multiple icons in one PR that have noting to do with each other.
So for example don't create one PR with icons: `arrow-up`, `bicycle`, `arrow-down`.
Seperate them by two PRs; 'pr-01' `arrow`, `arrow-down` and 'pr-02' `bicycle`.
## Icon Requests
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 :+1:.

View File

@@ -21,6 +21,7 @@ Lucide is a community-run fork of [Feather Icons](https://github.com/feathericon
* [Options](#additional-options)
* [Treeshake library](#treeshake-the-library-only-use-the-icons-you-use)
* [Custom binding](#custom-element-binding)
* [React](#with-react)
* [Figma](#figma)
* [Contributing](#contributing)
* [Community](#community)
@@ -148,6 +149,20 @@ const myApp = document.getElementById('app');
myApp.appendChild(menuIcon);
```
### With React
You can also use the Lucide library using the react package.
```sh
yarn add lucide-react
# or
npm install lucide-react
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/blob/master/packages/lucide-react/README.md).
### Figma
You can use the components from [this Figma file](https://www.figma.com/file/g0UipfQlRfGrntKPxZknM7/Featherity).

13
icons/arrow-big-down.svg Normal file
View File

@@ -0,0 +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"
>
<path d="m9 3h6v11h4l-7 7-7-7h4z" />
</svg>

After

Width:  |  Height:  |  Size: 247 B

13
icons/arrow-big-left.svg Normal file
View File

@@ -0,0 +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"
>
<path d="m3 12 7-7v4h11v6h-11v4z" />
</svg>

After

Width:  |  Height:  |  Size: 247 B

13
icons/arrow-big-right.svg Normal file
View File

@@ -0,0 +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"
>
<path d="m21 12-7-7v4h-11v6h11v4z" />
</svg>

After

Width:  |  Height:  |  Size: 248 B

13
icons/arrow-big-up.svg Normal file
View File

@@ -0,0 +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"
>
<path d="m9 21v-11h-4l7-7 7 7h-4v11z" />
</svg>

After

Width:  |  Height:  |  Size: 251 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m14 12-8.501 8.501c-0.828 0.828-2.17 0.828-2.998 0-1e-3 -1e-3 -1e-3 -1e-3 -2e-3 -0-0.828-0.828-0.828-2.17 0-2.998l8.501-8.501" />
<path d="m9 7 4-4 6 6h3s-0.051 0.254-0.13 0.648c-0.538 2.691-2.477 4.888-5.081 5.756-1.003 0.334-1.789 0.596-1.789 0.596v-3z" />
<path d="M14 12l-8.501 8.501a2.12 2.12 0 01-2.998 0h-.002a2.12 2.12 0 010-2.998L11 9.002" />
<path d="M9 7l4-4 6 6h3l-.13.648a7.648 7.648 0 01-5.081 5.756L15 16v-3z" />
</svg>

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 381 B

15
icons/bike.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"
>
<circle cx="5.5" cy="17.5" r="3.5" />
<circle cx="18.5" cy="17.5" r="3.5" />
<path d="M15 6a1 1 0 100-2 1 1 0 000 2zm-3 11.5V14l-3-3 4-3 2 3h2" />
</svg>

After

Width:  |  Height:  |  Size: 361 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M7 7L17 17L12 22V2L17 7L7 17" />
<path d="M7 7l10 10-5 5V2l5 5L7 17" />
<line x1="18" y1="12" y2="12" x2="21" />
<line x1="3" y1="12" y2="12" x2="6" />
</svg>

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 333 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M17 17L12 22V12L7 17" />
<path d="M2 2L22 22" />
<path d="M14.5 9.5L17 7L12 2V6.5" />
<path d="M17 17l-5 5V12l-5 5" />
<path d="M2 2l20 20" />
<path d="M14.5 9.5L17 7l-5-5v4.5" />
</svg>

Before

Width:  |  Height:  |  Size: 309 B

After

Width:  |  Height:  |  Size: 308 B

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M7 7L17 17L12 22V2L17 7L7 17" />
<path d="M7 7l10 10-5 5V2l5 5L7 17" />
</svg>

Before

Width:  |  Height:  |  Size: 252 B

After

Width:  |  Height:  |  Size: 249 B

14
icons/brush.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="M9.06 11.9l8.07-8.06a2.85 2.85 0 114.03 4.03l-8.06 8.08" />
<path d="M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 00-3-3.02z" />
</svg>

After

Width:  |  Height:  |  Size: 419 B

15
icons/bus.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="M19 17h2l.64-2.54a6 6 0 000-2.92l-1.07-4.27A3 3 0 0017.66 5H4a2 2 0 00-2 2v10h2m10 0h-4" />
<circle cx="6.5" cy="17.5" r="2.5" />
<circle cx="16.5" cy="17.5" r="2.5" />
</svg>

After

Width:  |  Height:  |  Size: 392 B

View File

@@ -12,11 +12,11 @@
<rect x="4" y="2" width="16" height="20" rx="2" />
<line x1="8" x2="16" y1="6" y2="6" />
<line x1="16" x2="16" y1="14" y2="18" />
<path d="M16 10H16.01" />
<path d="M12 10H12.01" />
<path d="M8 10H8.01" />
<path d="M12 14H12.01" />
<path d="M8 14H8.01" />
<path d="M12 18H12.01" />
<path d="M8 18H8.01" />
<path d="M16 10h.01" />
<path d="M12 10h.01" />
<path d="M8 10h.01" />
<path d="M12 14h.01" />
<path d="M8 14h.01" />
<path d="M12 18h.01" />
<path d="M8 18h.01" />
</svg>

Before

Width:  |  Height:  |  Size: 534 B

After

Width:  |  Height:  |  Size: 523 B

15
icons/car.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="M14 16H9m10 0h3v-3.15a1 1 0 00-.84-.99L16 11l-2.7-3.6a1 1 0 00-.8-.4H5.24a2 2 0 00-1.8 1.1l-.8 1.63A6 6 0 002 12.42V16h2" />
<circle cx="6.5" cy="16.5" r="2.5" />
<circle cx="16.5" cy="16.5" r="2.5" />
</svg>

After

Width:  |  Height:  |  Size: 425 B

View File

@@ -13,5 +13,5 @@
<path d="M8 8c-1.36-1.33-3.15-1.27-4.2-.2a2.7 2.7 0 000 3.81l.38.4-.4.4a2.7 2.7 0 000 3.82C4.85 17.27 6.64 17.33 8 16" />
<path d="M16 16c1.36 1.33 3.15 1.27 4.2.2a2.7 2.7 0 000-3.81l-.38-.4.4-.4a2.7 2.7 0 000-3.82C19.15 6.73 17.36 6.67 16 8" />
<path d="M7.8 20.2a2.7 2.7 0 003.81 0l.4-.38.4.4a2.7 2.7 0 003.82 0c1.06-1.06 1.12-2.85-.21-4.21l-4-4-4 4c-1.33 1.36-1.27 3.15-.2 4.2z" />
<path d="M7 17L2 22" />
<path d="M7 17l-5 5" />
</svg>

Before

Width:  |  Height:  |  Size: 762 B

After

Width:  |  Height:  |  Size: 762 B

View File

@@ -1,8 +1,8 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 423 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 310 B

After

Width:  |  Height:  |  Size: 310 B

13
icons/cross.svg Normal file
View File

@@ -0,0 +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"
>
<path d="M11 2a2 2 0 00-2 2v5H4a2 2 0 00-2 2v2c0 1.1.9 2 2 2h5v5c0 1.1.9 2 2 2h2a2 2 0 002-2v-5h5a2 2 0 002-2v-2a2 2 0 00-2-2h-5V4a2 2 0 00-2-2h-2z" />
</svg>

After

Width:  |  Height:  |  Size: 362 B

13
icons/crown.svg Normal file
View File

@@ -0,0 +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"
>
<path d="M2 4l3 12h14l3-12-6 7-4-7-4 7-6-7zm3 16h14" />
</svg>

After

Width:  |  Height:  |  Size: 266 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 277 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 303 B

After

Width:  |  Height:  |  Size: 301 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 346 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 534 B

After

Width:  |  Height:  |  Size: 518 B

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 16v4a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V10C8 8 6 8 6 6" />
<path d="M7 2H18V6c0 2-2 2-2 4v1" />
<path d="M16 16v4a2 2 0 01-2 2h-4a2 2 0 01-2-2V10c0-2-2-2-2-4" />
<path d="M7 2h11v4c0 2-2 2-2 4v1" />
<line x1="11" y1="6" x2="18" y2="6" />
<line x1="2" y1="2" x2="22" y2="22" />
</svg>

Before

Width:  |  Height:  |  Size: 399 B

After

Width:  |  Height:  |  Size: 397 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18 6c0 2-2 2-2 4V20a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V10C8 8 6 8 6 6V2H18Z" />
<path d="M18 6c0 2-2 2-2 4v10a2 2 0 01-2 2h-4a2 2 0 01-2-2V10c0-2-2-2-2-4V2h12z" />
<line x1="6" y1="6" x2="18" y2="6" />
<line x1="12" y1="12" x2="12" y2="12" />
</svg>

Before

Width:  |  Height:  |  Size: 379 B

After

Width:  |  Height:  |  Size: 377 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 266 B

View File

@@ -1,8 +1,8 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 371 B

17
icons/grab.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="M18 11.5V9a2 2 0 00-2-2v0a2 2 0 00-2 2v1.4" />
<path d="M14 10V8a2 2 0 00-2-2v0a2 2 0 00-2 2v2" />
<path d="M10 9.9V9a2 2 0 00-2-2v0a2 2 0 00-2 2v5" />
<path d="M6 14v0a2 2 0 00-2-2v0a2 2 0 00-2 2v0" />
<path d="M18 11v0a2 2 0 114 0v3a8 8 0 01-8 8h-4a8 8 0 01-8-8 2 2 0 114 0" />
</svg>

After

Width:  |  Height:  |  Size: 507 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 432 B

After

Width:  |  Height:  |  Size: 432 B

16
icons/hand.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="M18 11V6a2 2 0 00-2-2v0a2 2 0 00-2 2v0" />
<path d="M14 10V4a2 2 0 00-2-2v0a2 2 0 00-2 2v2" />
<path d="M10 10.5V6a2 2 0 00-2-2v0a2 2 0 00-2 2v8" />
<path d="M18 8a2 2 0 114 0v6a8 8 0 01-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 012.83-2.82L7 15" />
</svg>

After

Width:  |  Height:  |  Size: 480 B

13
icons/infinity.svg Normal file
View File

@@ -0,0 +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"
>
<path d="M18.1783 8C23.2739 8 23.2739 16 18.1783 16C13.0828 16 11.0446 8 5.43949 8C0.853503 8 0.853504 16 5.43949 16C11.0446 16 13.0828 8 18.1783 8Z" />
</svg>

After

Width:  |  Height:  |  Size: 363 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 340 B

14
icons/laptop-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"
>
<rect x="3" y="4" width="18" height="12" rx="2" ry="2" />
<line x1="2" y1="20" x2="22" y2="20" />
</svg>

After

Width:  |  Height:  |  Size: 310 B

18
icons/layout-list.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"
>
<rect x="3" y="14" width="7" height="7" />
<rect x="3" y="3" width="7" height="7" />
<line x1="14" y1="4" x2="21" y2="4" />
<line x1="14" y1="9" x2="21" y2="9" />
<line x1="14" y1="15" x2="21" y2="15" />
<line x1="14" y1="20" x2="21" y2="20" />
</svg>

After

Width:  |  Height:  |  Size: 465 B

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 6L20 20" />
<path d="M12 6V20" />
<path d="M8 8V20" />
<path d="M4 4V20" />
<path d="M16 6l4 14" />
<path d="M12 6v14" />
<path d="M8 8v12" />
<path d="M4 4v16" />
</svg>

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 304 B

View File

@@ -12,7 +12,7 @@
<line x1="10" y1="6" x2="21" y2="6" />
<line x1="10" y1="12" x2="21" y2="12" />
<line x1="10" y1="18" x2="21" y2="18" />
<path d="M4 6H5V10" />
<path d="M4 10H6" />
<path d="M6 18H4C4 17 6 16 6 15C6 13.9999 5 13.5 4 14" />
<path d="M4 6h1v4" />
<path d="M4 10h2" />
<path d="M6 18H4c0-1 2-2 2-3s-1-1.5-2-1" />
</svg>

Before

Width:  |  Height:  |  Size: 443 B

After

Width:  |  Height:  |  Size: 428 B

18
icons/locate-fixed.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"
>
<line x1="2" x2="5" y1="12" y2="12" />
<line x1="19" x2="22" y1="12" y2="12" />
<line x1="12" x2="12" y1="2" y2="5" />
<line x1="12" x2="12" y1="19" y2="22" />
<circle cx="12" cy="12" r="7" />
<circle cx="12" cy="12" r="3" />
</svg>

After

Width:  |  Height:  |  Size: 446 B

17
icons/locate.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"
>
<line x1="2" x2="5" y1="12" y2="12" />
<line x1="19" x2="22" y1="12" y2="12" />
<line x1="12" x2="12" y1="2" y2="5" />
<line x1="12" x2="12" y1="19" y2="22" />
<circle cx="12" cy="12" r="7" />
</svg>

After

Width:  |  Height:  |  Size: 411 B

View File

@@ -1,8 +1,8 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 372 B

17
icons/monitor-off.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="M17 17H4a2 2 0 01-2-2V5c0-1.5 1-2 1-2" />
<path d="M22 15V5a2 2 0 00-2-2H9" />
<path d="M8 21h8" />
<path d="M12 17v4" />
<path d="M2 2l20 20" />
</svg>

After

Width:  |  Height:  |  Size: 373 B

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 4l7.07 17 2.51-7.39L21 11.07Z" />
<path d="M4 4l7.07 17 2.51-7.39L21 11.07z" />
</svg>

Before

Width:  |  Height:  |  Size: 256 B

After

Width:  |  Height:  |  Size: 256 B

View File

@@ -1,4 +1,3 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"

Before

Width:  |  Height:  |  Size: 330 B

After

Width:  |  Height:  |  Size: 329 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 308 B

View File

@@ -12,5 +12,5 @@
<rect x="9" y="2" width="6" height="6" />
<rect x="16" y="16" width="6" height="6" />
<rect x="2" y="16" width="6" height="6" />
<path d="M12 8V12M12 12H5V16M12 12H19V16" />
<path d="M12 8v4m0 0H5v4m7-4h7v4" />
</svg>

Before

Width:  |  Height:  |  Size: 390 B

After

Width:  |  Height:  |  Size: 382 B

17
icons/palette.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="13.5" cy="6.5" r=".5" />
<circle cx="17.5" cy="10.5" r=".5" />
<circle cx="8.5" cy="7.5" r=".5" />
<circle cx="6.5" cy="12.5" r=".5" />
<path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 011.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z" />
</svg>

After

Width:  |  Height:  |  Size: 594 B

13
icons/plane.svg Normal file
View File

@@ -0,0 +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"
>
<path d="M17.8 19.2L16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z" />
</svg>

After

Width:  |  Height:  |  Size: 421 B

17
icons/pointer.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="M22 14a8 8 0 01-8 8" />
<path d="M18 11v-1a2 2 0 00-2-2v0a2 2 0 00-2 2v0" />
<path d="M14 10V9a2 2 0 00-2-2v0a2 2 0 00-2 2v1" />
<path d="M10 9.5V4a2 2 0 00-2-2v0a2 2 0 00-2 2v10" />
<path d="M18 11a2 2 0 114 0v3a8 8 0 01-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 012.83-2.82L7 15" />
</svg>

After

Width:  |  Height:  |  Size: 517 B

23
icons/qr-code.svg Normal file
View File

@@ -0,0 +1,23 @@
<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="2" width="8" height="8" />
<path d="M6 6h.01" />
<rect x="14" y="2" width="8" height="8" />
<path d="M18 6h.01" />
<rect x="2" y="14" width="8" height="8" />
<path d="M6 18h.01" />
<path d="M14 14h.01" />
<path d="M18 18h.01" />
<path d="M18 22h4v-4" />
<path d="M14 18v4" />
<path d="M22 14h-4" />
</svg>

After

Width:  |  Height:  |  Size: 544 B

View File

@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<polyline points="22 10 22 16 16 16" />
<path d="m1.9935 16c1.8136-6.5424 9.5593-9.4823 15.36-4.36l4.64 4.36" />
<path d="M1.994 16c1.813-6.542 9.559-9.482 15.36-4.36l4.64 4.36" />
</svg>

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 320 B

View File

@@ -9,7 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="1 4 1 10 7 10" />
<polyline points="23 20 23 14 17 14" />
<path d="M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15" />
<path d="M3 2v6h6" />
<path d="M21 12A9 9 0 006 5.3L3 8" />
<path d="M21 22v-6h-6" />
<path d="M3 12a9 9 0 0015 6.7l3-2.7" />
</svg>

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 342 B

View File

@@ -9,7 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="23 4 23 10 17 10" />
<polyline points="1 20 1 14 7 14" />
<path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" />
<path d="M21 2v6h-6" />
<path d="M3 12a9 9 0 0115-6.7L21 8" />
<path d="M3 22v-6h6" />
<path d="M21 12a9 9 0 01-15 6.7L3 16" />
</svg>

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 344 B

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="17 1 21 5 17 9" />
<path d="M3 11V9a4 4 0 0 1 4-4h14" />
<polyline points="7 23 3 19 7 15" />
<path d="M21 13v2a4 4 0 0 1-4 4H3" />
<path d="M17 2l4 4-4 4" />
<path d="M3 11v-1a4 4 0 014-4h14" />
<path d="M7 22l-4-4 4-4" />
<path d="M21 13v1a4 4 0 01-4 4H3" />
</svg>

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 345 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="1 4 1 10 7 10" />
<path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10" />
<path d="M3 2v6h6" />
<path d="M3 13a9 9 0 103-7.7L3 8" />
</svg>

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 271 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="23 4 23 10 17 10" />
<path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10" />
<path d="M21 2v6h-6" />
<path d="M21 13a9 9 0 11-3-7.7L21 8" />
</svg>

Before

Width:  |  Height:  |  Size: 300 B

After

Width:  |  Height:  |  Size: 276 B

View File

@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m16.0 2.0 6 6-14 14-6-6 14-14" />
<path d="m7.5 10.5 2 2" />
<path d="m10.5 7.5 2 2" />
<path d="m13.5 4.5 2 2" />
<path d="m4.5 13.5 2 2" />
<path d="M16 2l6 6L8 22l-6-6L16 2" />
<path d="M7.5 10.5l2 2" />
<path d="M10.5 7.5l2 2" />
<path d="M13.5 4.5l2 2" />
<path d="M4.5 13.5l2 2" />
</svg>

Before

Width:  |  Height:  |  Size: 379 B

After

Width:  |  Height:  |  Size: 364 B

17
icons/server-crash.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="M6 10H4C2.89543 10 2 9.10457 2 8V4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V8C22 9.10457 21.1046 10 20 10H18" />
<path d="M6 14H4C2.89543 14 2 14.8954 2 16V20C2 21.1046 2.89543 22 4 22H20C21.1046 22 22 21.1046 22 20V16C22 14.8954 21.1046 14 20 14H18" />
<path d="M6 6H6.01" />
<path d="M6 18H6.01" />
<path d="M13 6L9 12H15L11 18" />
</svg>

After

Width:  |  Height:  |  Size: 573 B

18
icons/server-off.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="M7 2h13a2 2 0 012 2v4a2 2 0 01-2 2h-5" />
<path d="M10 10L2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 002 2h6z" />
<path d="M22 17v-1a2 2 0 00-2-2h-1" />
<path d="M4 14a2 2 0 00-2 2v4a2 2 0 002 2h16.5l1-.5.5.5-8-8H4z" />
<path d="M6 18h.01" />
<path d="M2 2l20 20" />
</svg>

After

Width:  |  Height:  |  Size: 483 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 432 B

After

Width:  |  Height:  |  Size: 432 B

View File

@@ -1,8 +1,8 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 369 B

After

Width:  |  Height:  |  Size: 369 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 331 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 331 B

16
icons/sprout.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M7 20h10" />
<path d="M10 20c5.5-2.5.8-6.4 3-10"/>
<path d="M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z"/>
<path d="M14.1 6a7 7 0 00-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z"/>
</svg>

After

Width:  |  Height:  |  Size: 472 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 4H9A3 3 0 0 0 6.17 8" />
<path d="M16 4H9a3 3 0 00-2.83 4" />
<path d="M14 12a4 4 0 010 8H6" />
<line x1="4" y1="12" x2="20" y2="12" />
</svg>

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 325 B

View File

@@ -1,8 +1,8 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 392 B

15
icons/timer.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"
>
<line x1="10" x2="14" y1="2" y2="2" />
<line x1="12" x2="15" y1="14" y2="11" />
<circle cx="12" cy="14" r="8" />
</svg>

After

Width:  |  Height:  |  Size: 327 B

View File

@@ -1,8 +1,8 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"

Before

Width:  |  Height:  |  Size: 357 B

After

Width:  |  Height:  |  Size: 357 B

View File

@@ -9,8 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="1" y="3" width="15" height="13" />
<polygon points="16 8 20 8 23 11 23 16 16 16 16 8" />
<circle cx="5.5" cy="18.5" r="2.5" />
<circle cx="18.5" cy="18.5" r="2.5" />
<path d="M10 17h4V5H2v12h3m15 0h2v-3.34a4 4 0 00-1.17-2.83L19 9h-5v8h1" />
<circle cx="7.5" cy="17.5" r="2.5" />
<circle cx="17.5" cy="17.5" r="2.5" />
</svg>

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 366 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6,4v6a6,6,0,0,0,12,0V4" />
<path d="M6 4v6a6 6 0 0012 0V4" />
<line x1="4" y1="20" x2="20" y2="20" />
</svg>

Before

Width:  |  Height:  |  Size: 289 B

After

Width:  |  Height:  |  Size: 287 B

View File

@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<polyline points="2 10 2 16 8 16" />
<path d="m22 16c-1.8136-6.5424-9.5593-9.4823-15.36-4.36l-4.64 4.36" />
<path d="M22 16c-1.814-6.542-9.56-9.482-15.36-4.36L2 16" />
</svg>

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 309 B

View File

@@ -2,3 +2,4 @@
base = "site/"
publish = "build/"
command = "yarn deploy"
ignore = "git diff --quiet origin/master HEAD ../icons ../site"

View File

@@ -1,12 +1,14 @@
{
"name": "lucide",
"description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.11.0",
"version": "0.12.0",
"license": "ISC",
"amdName": "lucide",
"homepage": "https://lucide.netlify.app",
"url": "https://github.com/owner/project/issues",
"repository": "github:lucide-icons/lucide",
"bugs": {
"url": "https://github.com/lucide-icons/lucide/issues"
},
"amdName": "lucide",
"source": "build/lucide.js",
"main": "dist/cjs/lucide.js",
"main:umd": "dist/umd/lucide.js",
@@ -15,11 +17,11 @@
"sideEffects": false,
"scripts": {
"start": "babel-watch --watch src",
"clean": "rimraf lib && rimraf dist && rimraf build",
"clean": "rimraf dist && rimraf build",
"build": "yarn clean && yarn build:move && yarn build:icons && yarn build:es && yarn build:bundles",
"build:move": "cp -av src build",
"build:icons": "npx babel-node ./scripts/buildIcons.js --presets @babel/env",
"build:es": "babel build -d dist/esm --ignore '**/*.test.js','**/__mocks__'",
"build:es": "babel build -d dist/esm",
"build:bundles": "rollup -c rollup.config.js",
"optimize": "npx babel-node ./scripts/optimizeSvgs.js --presets @babel/env",
"test": "jest"
@@ -30,20 +32,25 @@
"@babel/cli": "^7.10.5",
"@babel/core": "^7.11.1",
"@babel/node": "^7.10.5",
"@babel/plugin-transform-runtime": "^7.11.5",
"@babel/preset-env": "^7.11.0",
"@rollup/plugin-babel": "^5.0.0",
"babel-jest": "^26.3.0",
"babel-plugin-add-import-extension": "^1.4.3",
"cheerio": "^1.0.0-rc.2",
"core-js": "3",
"eslint": "^4.19.1",
"eslint-config-airbnb-base": "^12.1.0",
"eslint-config-prettier": "^2.9.0",
"eslint-plugin-import": "^2.5.0",
"eslint-plugin-prettier": "^2.5.0",
"html-minifier": "^3.5.8",
"htmlparser2": "^4.1.0",
"husky": "^4.3.6",
"jest": "^26.4.2",
"lodash": "^4.17.19",
"prettier": "^1.8.2",
"lint-staged": "^10.5.3",
"minimist": "^1.2.5",
"prettier": "1.17.1",
"rollup": "^2.7.3",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-license": "^2.0.0",
@@ -53,11 +60,12 @@
"rollup-plugin-visualizer": "^4.1.0",
"svgo": "^1.3.2"
},
"dependencies": {
"@babel/plugin-transform-runtime": "^7.11.5",
"core-js": "3",
"htmlparser2": "^4.1.0",
"lodash-es": "^4.17.15",
"prop-types": "^15.7.2"
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"icons/*.svg": "npx babel-node ./scripts/optimizeStagedSvgs.js --presets @babel/env"
}
}

View File

@@ -0,0 +1,73 @@
# Lucide React
Use the lucide icon library in you react app.
## Installation
```sh
yarn add lucide-react
# or
npm install lucide-react
```
## How to use
It's build with ESmodules so it's completely threeshakable.
Each icon can be imported as an react component.
### Example
You can pass additional props to adjust the icon.
``` js
import { Camera } from 'lucide-react';
// Returns ReactComponent
// Usage
const App = () => {
return <Camera color="red" size={48}/>
};
export default App;
```
### Props
| name | type | default
| ------------ | -------- | --------
| `size` | *Number* | 24
| `color` | *String* | currentColor
| `strokeWidth`| *Number* | 2
### Custom props
You can also pass custom props that will be added in the svg as attributes.
``` js
// Usage
const App = () => {
return <Camera fill="red"/>
};
```
### One generic icon component
It is possible to create one generic icon component to load icons.
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers.
#### Icon Component Example
``` js
import * as icons from 'lucide-react';
const Icon = ({name, color, size}) => {
const LucideIcon = icons[name];
return <LucideIcon color={color} size={size} />
};
export default Icon;
```

View File

@@ -0,0 +1,4 @@
// module.exports = require('../../babel.config');
module.exports = {
presets: ['react-app'],
};

View File

@@ -0,0 +1,12 @@
module.exports = {
verbose: true,
roots: ['<rootDir>/src/', '<rootDir>/tests/'],
moduleFileExtensions: ['js'],
transformIgnorePatterns: [`/node_modules`],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
transform: {
'^.+\\.js$': 'babel-jest',
},
};

View File

@@ -0,0 +1,37 @@
{
"name": "lucide-react",
"description": "Lucide React package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
"version": "0.12.0",
"license": "ISC",
"amdName": "lucide-react",
"source": "build/lucide-react.js",
"main": "dist/cjs/lucide-react.js",
"main:umd": "dist/umd/lucide-react.js",
"module": "dist/esm/lucide-react.js",
"unpkg": "dist/umd/lucide-react.min.js",
"repository": "github:lucide-icons/lucide",
"author": "Eric Fennis",
"scripts": {
"build": "yarn clean && yarn build:move && yarn build:icons && yarn build:es && yarn build:bundles",
"clean": "rm -rf dist && rm -rf build",
"build:move": "cp -av src build",
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-react/build --templateSrc=../packages/lucide-react/scripts/exportTemplate --camelizeAttrs --renderUniqueKey",
"build:es": "yarn --cwd ../../ babel packages/lucide-react/build -d packages/lucide-react/dist/esm",
"build:bundles": "yarn --cwd ../../ rollup -c packages/lucide-react/rollup.config.js",
"test": "jest"
},
"dependencies": {
"prop-types": "^15.7.2",
"react": "^17.0.1"
},
"devDependencies": {
"babel-preset-react-app": "^10.0.0",
"jest": "^26.6.3",
"lucide": "file:../..",
"react-test-renderer": "^17.0.1"
},
"peerDependencies": {
"prop-types": "^15.7.2",
"react": "^17.0.1"
}
}

View File

@@ -0,0 +1,47 @@
const plugins = require('lucide/rollup.plugins');
const pkg = require('./package.json');
const outputFileName = pkg.name;
const rootDir = 'packages/lucide-react'; // It runs from the root
const outputDir = `${rootDir}/dist`;
const inputs = [`${rootDir}/build/lucide-react.js`];
const bundles = [
{
format: 'umd',
inputs,
outputDir,
minify: true,
},
{
format: 'umd',
inputs,
outputDir,
},
{
format: 'cjs',
inputs,
outputDir,
},
];
const configs = bundles
.map(({ inputs, outputDir, format, minify }) =>
inputs.map(input => ({
input,
plugins: plugins(pkg, minify),
external: ['react', 'prop-types'],
output: {
name: outputFileName,
file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
format,
sourcemap: true,
globals: {
react: 'react',
'prop-types': 'PropTypes',
},
},
})),
)
.flat();
export default configs;

View File

@@ -0,0 +1,7 @@
export default ({ componentName, node }) => `
import createReactComponent from '../createReactComponent';
const ${componentName} = createReactComponent('${componentName}', ${node});
export default ${componentName};
`;

View File

@@ -0,0 +1,31 @@
import { forwardRef, createElement } from 'react';
import PropTypes from 'prop-types';
export default (iconName, [tag, attrs, children]) => {
const Component = forwardRef(
({ color = 'currentColor', size = 24, strokeWidth = 2, ...rest }, ref) =>
createElement(
tag,
{
ref,
...attrs,
width: size,
height: size,
color,
strokeWidth,
...rest,
},
children.map(([childTag, childAttrs]) => createElement(childTag, childAttrs)),
),
);
Component.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
Component.displayName = `${iconName}`;
return Component;
};

View File

@@ -0,0 +1,5 @@
/*
Icons exports.
Will be generated
*/

View File

@@ -0,0 +1 @@
export * from './icons';

View File

@@ -0,0 +1,97 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Using lucide icon components should adjust the size, stroke color and stroke width 1`] = `
<svg
color="currentColor"
fill="none"
height={48}
stroke="red"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={4}
viewBox="0 0 24 24"
width={48}
xmlns="http://www.w3.org/2000/svg"
>
<rect
height="18"
rx="2"
ry="2"
width="18"
x="3"
y="3"
/>
<line
x1="3"
x2="21"
y1="9"
y2="9"
/>
<line
x1="3"
x2="21"
y1="15"
y2="15"
/>
<line
x1="9"
x2="9"
y1="3"
y2="21"
/>
<line
x1="15"
x2="15"
y1="3"
y2="21"
/>
</svg>
`;
exports[`Using lucide icon components should render an component 1`] = `
<svg
color="currentColor"
fill="none"
height={24}
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
viewBox="0 0 24 24"
width={24}
xmlns="http://www.w3.org/2000/svg"
>
<rect
height="18"
rx="2"
ry="2"
width="18"
x="3"
y="3"
/>
<line
x1="3"
x2="21"
y1="9"
y2="9"
/>
<line
x1="3"
x2="21"
y1="15"
y2="15"
/>
<line
x1="9"
x2="9"
y1="3"
y2="21"
/>
<line
x1="15"
x2="15"
y1="3"
y2="21"
/>
</svg>
`;

View File

@@ -0,0 +1,27 @@
import React from 'react';
import renderer from 'react-test-renderer';
import { Grid } from '..'
describe('Using lucide icon components', () => {
it('should render an component', () => {
const component = renderer.create(
<Grid/>,
);
let tree = component.toJSON();
expect(tree).toMatchSnapshot();
});
it('should adjust the size, stroke color and stroke width', () => {
const component = renderer.create(
<Grid
size={48}
stroke="red"
strokeWidth={4}
/>,
);
let tree = component.toJSON();
expect(tree).toMatchSnapshot();
});
})

File diff suppressed because it is too large Load Diff

View File

@@ -1,140 +0,0 @@
const cheerio = require("cheerio");
const fs = require("fs");
const path = require("path");
const prettier = require("prettier");
const upperCamelCase = require("uppercamelcase");
const directory = path.join(process.cwd(), "../../icons");
function getAllData() {
const fileNames = fs.readdirSync(directory);
return fileNames.map((fileName) => {
const name = fileName.replace(/\.svg$/, "");
const fullPath = path.join(directory, `${name}.svg`);
const fileContents = fs.readFileSync(fullPath, "utf8");
const $ = cheerio.load(fileContents);
const content = $("svg").html();
return {
name,
src: fileContents,
content,
};
});
}
const icons = getAllData();
const dir = path.join(process.cwd(), "src/icons");
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
const initialTypeDefinitions = `/// <reference types="react" />
import { FC, SVGAttributes } from "react";
interface Props extends SVGAttributes<SVGElement> {
color?: string;
size?: string | number;
width?: string | number;
}
type Icon = FC<Props>;
`;
fs.writeFileSync(path.join(process.cwd(), "src", "index.js"), "", "utf-8");
fs.writeFileSync(
path.join(process.cwd(), "src", "index.d.ts"),
initialTypeDefinitions,
"utf-8"
);
const attrsToString = (attrs) => {
return Object.keys(attrs)
.map((key) => {
if (
key === "width" ||
key === "height" ||
key === "stroke" ||
key === "strokeWidth"
) {
return key + "={" + attrs[key] + "}";
}
if (key === "rest") {
return "{...rest}";
}
return key + '="' + attrs[key] + '"';
})
.join(" ");
};
icons.forEach((i) => {
const location = path.join(process.cwd(), "src/icons", `${i.name}.js`);
const ComponentName = i.name === "github" ? "GitHub" : upperCamelCase(i.name);
const defaultAttrs = {
xmlns: "http://www.w3.org/2000/svg",
width: "size",
height: "size",
viewBox: "0 0 24 24",
fill: "none",
stroke: "color",
strokeWidth: "width",
strokeLinecap: "round",
strokeLinejoin: "round",
rest: "...rest",
};
const element = `
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const ${ComponentName} = forwardRef(({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg ref={ref} ${attrsToString(defaultAttrs)}>
${i.content}
</svg>
)
});
${ComponentName}.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number
]),
width: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number
]),
}
${ComponentName}.displayName = "${ComponentName}"
export default ${ComponentName}
`;
fs.writeFileSync(
location,
prettier.format(element, { parser: "babel" }),
"utf-8"
);
console.log("Successfully built", ComponentName);
const exportString = `export { default as ${ComponentName} } from "./icons/${i.name}";\n`;
fs.appendFileSync(
path.join(process.cwd(), "src", "index.js"),
exportString,
"utf-8"
);
const exportTypeString = `export const ${ComponentName}: Icon;\n`;
fs.appendFileSync(
path.join(process.cwd(), "src", "index.d.ts"),
exportTypeString,
"utf-8"
);
});

View File

@@ -1,17 +0,0 @@
{
"name": "lucide-react",
"version": "1.0.0",
"description": "React component for lucide icons",
"main": "src/index.js",
"typings": "src/index.d.ts",
"author": "John Letey",
"license": "ISC",
"scripts": {
"compile": "rm -rf src/icons && node bin/build.js"
},
"devDependencies": {
"cheerio": "^1.0.0-rc.3",
"prettier": "^2.0.5",
"uppercamelcase": "^3.0.0"
}
}

View File

@@ -1,34 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const Activity = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>
</svg>
);
}
);
Activity.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
Activity.displayName = "Activity";
export default Activity;

View File

@@ -1,35 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const Airplay = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path>
<polygon points="12 15 17 21 7 21 12 15"></polygon>
</svg>
);
}
);
Airplay.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
Airplay.displayName = "Airplay";
export default Airplay;

View File

@@ -1,36 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const AlertCircle = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<circle cx="12" cy="12" r="10"></circle>
<line x1="12" y1="8" x2="12" y2="12"></line>
<line x1="12" y1="16" x2="12.01" y2="16"></line>
</svg>
);
}
);
AlertCircle.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
AlertCircle.displayName = "AlertCircle";
export default AlertCircle;

View File

@@ -1,36 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const AlertOctagon = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon>
<line x1="12" y1="8" x2="12" y2="12"></line>
<line x1="12" y1="16" x2="12.01" y2="16"></line>
</svg>
);
}
);
AlertOctagon.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
AlertOctagon.displayName = "AlertOctagon";
export default AlertOctagon;

View File

@@ -1,36 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const AlertTriangle = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
<line x1="12" y1="9" x2="12" y2="13"></line>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
);
}
);
AlertTriangle.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
AlertTriangle.displayName = "AlertTriangle";
export default AlertTriangle;

View File

@@ -1,37 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const AlignCenter = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<line x1="18" y1="10" x2="6" y2="10"></line>
<line x1="21" y1="6" x2="3" y2="6"></line>
<line x1="21" y1="14" x2="3" y2="14"></line>
<line x1="18" y1="18" x2="6" y2="18"></line>
</svg>
);
}
);
AlignCenter.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
AlignCenter.displayName = "AlignCenter";
export default AlignCenter;

View File

@@ -1,37 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const AlignJustify = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<line x1="21" y1="10" x2="3" y2="10"></line>
<line x1="21" y1="6" x2="3" y2="6"></line>
<line x1="21" y1="14" x2="3" y2="14"></line>
<line x1="21" y1="18" x2="3" y2="18"></line>
</svg>
);
}
);
AlignJustify.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
AlignJustify.displayName = "AlignJustify";
export default AlignJustify;

View File

@@ -1,37 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const AlignLeft = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<line x1="17" y1="10" x2="3" y2="10"></line>
<line x1="21" y1="6" x2="3" y2="6"></line>
<line x1="21" y1="14" x2="3" y2="14"></line>
<line x1="17" y1="18" x2="3" y2="18"></line>
</svg>
);
}
);
AlignLeft.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
AlignLeft.displayName = "AlignLeft";
export default AlignLeft;

View File

@@ -1,37 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const AlignRight = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<line x1="21" y1="10" x2="7" y2="10"></line>
<line x1="21" y1="6" x2="3" y2="6"></line>
<line x1="21" y1="14" x2="3" y2="14"></line>
<line x1="21" y1="18" x2="7" y2="18"></line>
</svg>
);
}
);
AlignRight.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
AlignRight.displayName = "AlignRight";
export default AlignRight;

View File

@@ -1,36 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const Anchor = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<circle cx="12" cy="5" r="3"></circle>
<line x1="12" y1="22" x2="12" y2="8"></line>
<path d="M5 12H2a10 10 0 0 0 20 0h-3"></path>
</svg>
);
}
);
Anchor.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
Anchor.displayName = "Anchor";
export default Anchor;

View File

@@ -1,40 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const Aperture = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<circle cx="12" cy="12" r="10"></circle>
<line x1="14.31" y1="8" x2="20.05" y2="17.94"></line>
<line x1="9.69" y1="8" x2="21.17" y2="8"></line>
<line x1="7.38" y1="12" x2="13.12" y2="2.06"></line>
<line x1="9.69" y1="16" x2="3.95" y2="6.06"></line>
<line x1="14.31" y1="16" x2="2.83" y2="16"></line>
<line x1="16.62" y1="12" x2="10.88" y2="21.94"></line>
</svg>
);
}
);
Aperture.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
Aperture.displayName = "Aperture";
export default Aperture;

View File

@@ -1,36 +0,0 @@
import React, { forwardRef } from "react";
import PropTypes from "prop-types";
const Archive = forwardRef(
({ color = "currentColor", size = 24, width = 2, ...rest }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={width}
strokeLinecap="round"
strokeLinejoin="round"
{...rest}
>
<polyline points="21 8 21 21 3 21 3 8"></polyline>
<rect x="1" y="3" width="22" height="5"></rect>
<line x1="10" y1="12" x2="14" y2="12"></line>
</svg>
);
}
);
Archive.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
Archive.displayName = "Archive";
export default Archive;

Some files were not shown because too many files have changed in this diff Show More