Compare commits
306 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b75aee4df3 | ||
|
|
0c93e7bcb4 | ||
|
|
538dad2d30 | ||
|
|
797fa5c431 | ||
|
|
8ccbb8f2e3 | ||
|
|
b77ce99363 | ||
|
|
c7f73611ca | ||
|
|
2a1178b8a3 | ||
|
|
55ae908018 | ||
|
|
1cdcfd6403 | ||
|
|
810cd84876 | ||
|
|
ca471899c1 | ||
|
|
b40edf1f3c | ||
|
|
32c339cabd | ||
|
|
3529cd3f4d | ||
|
|
a4d568f26e | ||
|
|
9e524fd557 | ||
|
|
b5c71c4fc3 | ||
|
|
aa8861a2cd | ||
|
|
a41918a81e | ||
|
|
33be2c2430 | ||
|
|
eb706417e6 | ||
|
|
01e11a61f8 | ||
|
|
b323bbd28e | ||
|
|
514e88bbf9 | ||
|
|
de6ed26152 | ||
|
|
b8cc9ea3c8 | ||
|
|
cc2ac8bfcd | ||
|
|
0e340a2679 | ||
|
|
c15e3914a6 | ||
|
|
ff81fbfd9a | ||
|
|
5317abb867 | ||
|
|
ac80b9e58f | ||
|
|
a25f139953 | ||
|
|
b457c8dea1 | ||
|
|
2e24567f8e | ||
|
|
9b90bc4d51 | ||
|
|
6fd0380e19 | ||
|
|
603ee05674 | ||
|
|
be15f5e54b | ||
|
|
ea409105ce | ||
|
|
969254d986 | ||
|
|
200cc17ef6 | ||
|
|
893119b064 | ||
|
|
3e10988978 | ||
|
|
53a764fc5b | ||
|
|
4cc195092f | ||
|
|
b7ef305b9f | ||
|
|
52896efc94 | ||
|
|
2c0448a19a | ||
|
|
aa524c65a0 | ||
|
|
609ca31815 | ||
|
|
8fc34bfe1b | ||
|
|
48fa902b1c | ||
|
|
cdd57e6610 | ||
|
|
1f5119785b | ||
|
|
90a3f6e1dd | ||
|
|
4ae4eae53d | ||
|
|
e99228c65d | ||
|
|
34249ff42c | ||
|
|
f9d37968d6 | ||
|
|
864b71822b | ||
|
|
bc3bd1267a | ||
|
|
5d22d8e456 | ||
|
|
db98602331 | ||
|
|
4eca473cd4 | ||
|
|
e6eedee22d | ||
|
|
a8174a34b5 | ||
|
|
3196af66ce | ||
|
|
dd593e3dc3 | ||
|
|
d4fe0470ae | ||
|
|
318c024589 | ||
|
|
bd8b669666 | ||
|
|
89baeeeb63 | ||
|
|
9fbec87eb0 | ||
|
|
a9a441b6de | ||
|
|
40b11ec1fc | ||
|
|
96e7120d12 | ||
|
|
2c14f71c3f | ||
|
|
5a7b2987b2 | ||
|
|
39075bf6b2 | ||
|
|
edac79f9bb | ||
|
|
b6335630e1 | ||
|
|
e6da75ea8f | ||
|
|
6d6dee1731 | ||
|
|
03630e045d | ||
|
|
67d77d448b | ||
|
|
3e41173f32 | ||
|
|
ead5a81916 | ||
|
|
3d92eb3833 | ||
|
|
8b88ddf07e | ||
|
|
fb03374041 | ||
|
|
1eee03451a | ||
|
|
337d005c78 | ||
|
|
612729a897 | ||
|
|
35cbb8826e | ||
|
|
deaeefd247 | ||
|
|
1f32d59aaf | ||
|
|
ec102a252d | ||
|
|
6d60416009 | ||
|
|
942b263f5f | ||
|
|
a006513cec | ||
|
|
7239068656 | ||
|
|
46a30e07d7 | ||
|
|
57b228d9ee | ||
|
|
7c301aa7ca | ||
|
|
9d051a136a | ||
|
|
0b4d644a50 | ||
|
|
30e8ddeb67 | ||
|
|
5d1e9a881f | ||
|
|
780a329ff1 | ||
|
|
a068aa5d20 | ||
|
|
4380a06b7e | ||
|
|
b1c1e5b89a | ||
|
|
5c12ae27d7 | ||
|
|
7807965690 | ||
|
|
67f57816fa | ||
|
|
6a56f15cc5 | ||
|
|
09bb62f0eb | ||
|
|
5fa96931f2 | ||
|
|
2f6ee9f829 | ||
|
|
74f83c02fe | ||
|
|
36bd4fae8e | ||
|
|
ed2bdbe230 | ||
|
|
c9b192e332 | ||
|
|
3a6213482f | ||
|
|
9984bbd720 | ||
|
|
161ac5e1ff | ||
|
|
2fd9cab348 | ||
|
|
3addad96d2 | ||
|
|
18a0cfa452 | ||
|
|
c5d6586b41 | ||
|
|
5e23631eeb | ||
|
|
d45dee8b35 | ||
|
|
7f3e6d217d | ||
|
|
cf126d6139 | ||
|
|
b12c2e4b8d | ||
|
|
f0c205fe0b | ||
|
|
e5da8c0ad2 | ||
|
|
92b543120b | ||
|
|
75111d37c6 | ||
|
|
d18001735f | ||
|
|
55f471756c | ||
|
|
825e496c9c | ||
|
|
0cd0d339e8 | ||
|
|
ea5fbd00e0 | ||
|
|
d85baa6036 | ||
|
|
b6d97fe354 | ||
|
|
cde08ff4ce | ||
|
|
e2f8bcdb6f | ||
|
|
077f950e13 | ||
|
|
c96c8e5872 | ||
|
|
5ef271ada8 | ||
|
|
ecf61d304a | ||
|
|
8053cca0ed | ||
|
|
50b13edbc0 | ||
|
|
e829ffda41 | ||
|
|
d7a234f7c2 | ||
|
|
c21885111e | ||
|
|
129765ea02 | ||
|
|
63b497d006 | ||
|
|
20f0a34cef | ||
|
|
8b6525ddc5 | ||
|
|
bf02948ab8 | ||
|
|
73d7b33d1d | ||
|
|
e50b0e86f4 | ||
|
|
60ea5fa82a | ||
|
|
0d3390e520 | ||
|
|
e8e42d9827 | ||
|
|
e12a8dd4a8 | ||
|
|
7194cfe3ff | ||
|
|
fa04885513 | ||
|
|
51208c0cec | ||
|
|
d87bffc684 | ||
|
|
2f0d587ef0 | ||
|
|
3082858b54 | ||
|
|
b184f46bf9 | ||
|
|
b82cbbd72c | ||
|
|
554707273f | ||
|
|
5a525f21cc | ||
|
|
b92dd457de | ||
|
|
2f29818018 | ||
|
|
7a533afc1c | ||
|
|
7f783e4370 | ||
|
|
1c181c50fc | ||
|
|
0e8b6d8478 | ||
|
|
8e08185318 | ||
|
|
6c1903d0b9 | ||
|
|
89c4771137 | ||
|
|
d1c8f2716b | ||
|
|
b78e0f328f | ||
|
|
ee1fd46fa6 | ||
|
|
01387c0dde | ||
|
|
2359ebcf7d | ||
|
|
1ebf50a848 | ||
|
|
de27e452e6 | ||
|
|
366efe3e82 | ||
|
|
acaedb41c1 | ||
|
|
78d3274b5b | ||
|
|
812cdb8f4a | ||
|
|
0500d18d09 | ||
|
|
38c834bcda | ||
|
|
f3a1bba31d | ||
|
|
ea82684178 | ||
|
|
7e3d6a8121 | ||
|
|
2c35468403 | ||
|
|
96aec6562a | ||
|
|
aa8b23b12a | ||
|
|
0d87ec28eb | ||
|
|
f8192b0999 | ||
|
|
ef7b4fe014 | ||
|
|
a104a1f206 | ||
|
|
6706ade47c | ||
|
|
fcc5dd70ad | ||
|
|
c9b9c93034 | ||
|
|
bd4e464048 | ||
|
|
ad5b2e5ae2 | ||
|
|
794d3c09fb | ||
|
|
202c4c0ae2 | ||
|
|
6041311718 | ||
|
|
9d8815b267 | ||
|
|
01cd881bc4 | ||
|
|
9faa1a476e | ||
|
|
291d9b2efa | ||
|
|
a7e88a71ca | ||
|
|
25b80e2bb8 | ||
|
|
92266bfd9b | ||
|
|
591c5a22c4 | ||
|
|
94eee9dfac | ||
|
|
efc0ab7d07 | ||
|
|
d7d90de791 | ||
|
|
60388751b7 | ||
|
|
535c0dcac3 | ||
|
|
368907c24a | ||
|
|
368ca3c82e | ||
|
|
24f69e92da | ||
|
|
8c02350f19 | ||
|
|
1b5a71910c | ||
|
|
4dc6ca0103 | ||
|
|
11417dd538 | ||
|
|
ca021275c4 | ||
|
|
97f04f4b70 | ||
|
|
b2d8ec6249 | ||
|
|
a4ac4a0ecc | ||
|
|
e6b3d3ba51 | ||
|
|
301941e4f0 | ||
|
|
44532cddc8 | ||
|
|
016f14190b | ||
|
|
4d45a81228 | ||
|
|
c9ca71da0c | ||
|
|
765d424a2c | ||
|
|
3c9f704ddd | ||
|
|
3d6146bb0e | ||
|
|
e6bb8ea92c | ||
|
|
551b68db1b | ||
|
|
952c928d82 | ||
|
|
e8cfd12bc7 | ||
|
|
0b3d4ea84c | ||
|
|
fbe730c4ee | ||
|
|
f353c9363a | ||
|
|
6fcc9fc0ed | ||
|
|
bc5644253d | ||
|
|
f6bd40b1b4 | ||
|
|
23987e920f | ||
|
|
79acf77aac | ||
|
|
7baf9acffa | ||
|
|
c6736ecd7e | ||
|
|
4ada7d0d35 | ||
|
|
d99ee34c2e | ||
|
|
3c3de0f067 | ||
|
|
2997a15b05 | ||
|
|
48986a0def | ||
|
|
cbe212c99f | ||
|
|
165505f2aa | ||
|
|
79a5560240 | ||
|
|
4cf5970841 | ||
|
|
deed0e4114 | ||
|
|
32cf954805 | ||
|
|
a92cba8dc5 | ||
|
|
2d35cd8997 | ||
|
|
56437cd615 | ||
|
|
08f1b51073 | ||
|
|
304a801e98 | ||
|
|
034ec2cc92 | ||
|
|
843a394b85 | ||
|
|
a331ce31a2 | ||
|
|
00a62dc066 | ||
|
|
1deb4350f3 | ||
|
|
0d0e3181cf | ||
|
|
cfd7d8a871 | ||
|
|
9c0718a5ae | ||
|
|
47a3c62ff0 | ||
|
|
66d699dbe9 | ||
|
|
e7c4542aaf | ||
|
|
7ca40f417a | ||
|
|
e2444337a0 | ||
|
|
f68aefeeb2 | ||
|
|
4c4f3f4eef | ||
|
|
5ccadc68f4 | ||
|
|
15a927847b | ||
|
|
ed619f0dff | ||
|
|
2502207a1e | ||
|
|
a17c37e389 | ||
|
|
c98bc38356 | ||
|
|
49835d7157 | ||
|
|
a01a435290 |
@@ -3,3 +3,4 @@ build
|
|||||||
coverage
|
coverage
|
||||||
lib
|
lib
|
||||||
tests
|
tests
|
||||||
|
node_modules
|
||||||
|
|||||||
28
.eslintrc.js
@@ -1,7 +1,7 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
env: {
|
env: {
|
||||||
browser: true,
|
browser: true,
|
||||||
node: true
|
node: true,
|
||||||
},
|
},
|
||||||
extends: ['airbnb-base', 'prettier'],
|
extends: ['airbnb-base', 'prettier'],
|
||||||
plugins: ['import', 'prettier'],
|
plugins: ['import', 'prettier'],
|
||||||
@@ -14,8 +14,26 @@ module.exports = {
|
|||||||
'error',
|
'error',
|
||||||
{
|
{
|
||||||
singleQuote: true,
|
singleQuote: true,
|
||||||
trailingComma: 'all'
|
trailingComma: 'all',
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
'import/no-extraneous-dependencies': [
|
||||||
|
'error',
|
||||||
|
{ devDependencies: ['**/*.test.js', '**/*.spec.js', './scripts/**'] },
|
||||||
|
],
|
||||||
|
'import/extensions': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
pattern: {
|
||||||
|
mjs: 'always',
|
||||||
|
json: 'always',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
parserOptions: {
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
|
project: ['./site/tsconfig.json', './packages/*/tsconfig.json'],
|
||||||
|
ecmaVersion: 2020,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -11,7 +11,7 @@ Before reporting an issue, please search to see if someone has filed a similar i
|
|||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
* Version:
|
* Version:
|
||||||
* Are you running from source/master:
|
* Are you running from source/main:
|
||||||
* Are you using a released build:
|
* Are you using a released build:
|
||||||
* Operating system:
|
* Operating system:
|
||||||
* Bits:
|
* Bits:
|
||||||
|
|||||||
2
.github/PULL_REQUEST_TEMPLATE/new-icon.md
vendored
@@ -5,7 +5,7 @@ labels: "🎨 <icon"
|
|||||||
---
|
---
|
||||||
|
|
||||||
<!-- Thanks for submitting an icon! Please make sure you read the icon design guide
|
<!-- 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,
|
at https://github.com/lucide-icons/lucide/blob/main/docs/ICON_DESIGN_GUIDE.md beforehand,
|
||||||
and please fill everything below. -->
|
and please fill everything below. -->
|
||||||
|
|
||||||
- **Name of the icon** : <!-- `icon` -->
|
- **Name of the icon** : <!-- `icon` -->
|
||||||
|
|||||||
55
.github/workflows/ci.yml
vendored
@@ -3,7 +3,7 @@ name: Continuous integration icons
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- main
|
||||||
paths:
|
paths:
|
||||||
- icons/**
|
- icons/**
|
||||||
|
|
||||||
@@ -14,8 +14,33 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- uses: actions/checkout@v3
|
||||||
uses: actions/checkout@v2
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
- name: Fetch tags
|
- name: Fetch tags
|
||||||
run: git fetch --all --tags
|
run: git fetch --all --tags
|
||||||
@@ -24,32 +49,20 @@ jobs:
|
|||||||
id: latest-tag
|
id: latest-tag
|
||||||
run: echo "::set-output name=LATEST_TAG::$(git describe --tags `git rev-list --tags --max-count=1`)"
|
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
|
|
||||||
run: echo "::set-output name=YARN_CACHE_DIR::$(yarn cache dir)"
|
|
||||||
|
|
||||||
- name: Get cached packaged
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ${{ steps.yarn_cache.outputs.YARN_CACHE_DIR }}
|
|
||||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-yarn-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --pure-lockfile
|
run: pnpm install
|
||||||
|
|
||||||
- name: Check if we can patch
|
- name: Check if we can patch
|
||||||
run: .github/workflows/version-up.sh --patch
|
run: .github/workflows/version-up.sh --minor
|
||||||
|
|
||||||
- name: Create new version
|
- name: Create new version
|
||||||
id: new-version
|
id: new-version
|
||||||
run: echo "::set-output name=NEW_VERSION::$(.github/workflows/version-up.sh --patch)"
|
run: echo "::set-output name=NEW_VERSION::$(.github/workflows/version-up.sh --minor)"
|
||||||
|
|
||||||
- name: Create change log
|
- name: Create change log
|
||||||
id: change-log
|
id: change-log
|
||||||
run: |
|
run: |
|
||||||
CHANGE_LOG=$(yarn --silent run generate:changelog --old-tag=${{ steps.latest-tag.outputs.LATEST_TAG }})
|
CHANGE_LOG=$(pnpm run generate:changelog --old-tag=${{ steps.latest-tag.outputs.LATEST_TAG }})
|
||||||
CHANGE_LOG="${CHANGE_LOG//'%'/'%25'}"
|
CHANGE_LOG="${CHANGE_LOG//'%'/'%25'}"
|
||||||
CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}"
|
CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}"
|
||||||
CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}"
|
CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}"
|
||||||
@@ -60,8 +73,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Check output
|
- name: Check output
|
||||||
run: |
|
run: |
|
||||||
echo "${{ steps.new-version.outputs.NEW_VERSION }}"
|
echo '${{ steps.new-version.outputs.NEW_VERSION }}'
|
||||||
echo "${{ steps.change-log.outputs.CHANGE_LOG }}"
|
echo '${{ steps.change-log.outputs.CHANGE_LOG }}'
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
|
|||||||
49
.github/workflows/lucide-angular.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide Angular checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-angular/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-angular/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-angular:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-angular build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-angular test
|
||||||
59
.github/workflows/lucide-font.yml
vendored
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
name: Lucide font checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- icons/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- icons/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-font:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: ericfennis/lucide-font:latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3.4.1
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-lucide-font-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-lucide-font-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install --filter outline-svg
|
||||||
|
|
||||||
|
- name: Outline svg Icons
|
||||||
|
run: pnpm build:outline-icons
|
||||||
|
|
||||||
|
- name: Create directory
|
||||||
|
run: mkdir lucide-font
|
||||||
|
|
||||||
|
- name: Build font
|
||||||
|
run: fontcustom compile "./outlined" -h -n "lucide" -o ./lucide-font -F
|
||||||
|
|
||||||
|
- name: "Upload to Artifacts"
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: lucide-font
|
||||||
|
path: lucide-font
|
||||||
49
.github/workflows/lucide-preact.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide Preact Checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-preact/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-preact/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-preact:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-preact build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-preact test
|
||||||
49
.github/workflows/lucide-react-native.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide React Native checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-react-native/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-react-native/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-react-native:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-react-native build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-react-native test
|
||||||
49
.github/workflows/lucide-react.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide React Checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-react/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-react/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-react:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-react build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-react test
|
||||||
49
.github/workflows/lucide-solid.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide Solid Checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-solid/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-solid/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-solid:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-solid build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-solid test
|
||||||
46
.github/workflows/lucide-static.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
name: Lucide Static checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-static/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-static/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-static:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-static build
|
||||||
49
.github/workflows/lucide-svelte.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide Svelte checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-svelte/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-svelte/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-svelte:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-svelte build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-svelte test
|
||||||
49
.github/workflows/lucide-vue-next.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide Vue Next checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-vue-next/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-vue-next/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-vue-next:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-vue-next build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-vue-next test
|
||||||
49
.github/workflows/lucide-vue.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide Vue checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-vue/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide-vue/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide-vue:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-vue build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-vue test
|
||||||
49
.github/workflows/lucide.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Lucide checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/lucide/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- packages/lucide/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lucide:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide test
|
||||||
486
.github/workflows/release.yml
vendored
@@ -3,7 +3,7 @@ name: Release Packages
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- "v*"
|
- 'v*'
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -13,7 +13,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre-build:
|
pre-build:
|
||||||
if: github.repository == 'lucide-icons/lucide' && contains('["locness3","ericfennis", "johnletey"]', github.actor)
|
if: github.repository == 'lucide-icons/lucide' && contains('["locness3","ericfennis", "johnletey", "karsa-mistmere"]', github.actor)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
||||||
@@ -32,30 +32,48 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
cache-dependency-path: 'yarn.lock'
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set new version
|
- name: Set new version
|
||||||
run: yarn workspace lucide version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide build
|
run: pnpm --filter lucide build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn workspace lucide test
|
run: pnpm --filter lucide test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide publish
|
run: pnpm --filter lucide publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -68,29 +86,49 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
- name: Set package.json version lucide
|
||||||
run: yarn workspace lucide-react version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide-react version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide-react build
|
run: pnpm --filter lucide-react build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn workspace lucide-react test
|
run: pnpm --filter lucide-react test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide-react publish
|
run: pnpm --filter lucide-react publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -98,34 +136,109 @@ jobs:
|
|||||||
name: lucide-react-package-json
|
name: lucide-react-package-json
|
||||||
path: packages/lucide-react/package.json
|
path: packages/lucide-react/package.json
|
||||||
|
|
||||||
|
lucide-react-native:
|
||||||
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: pre-build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Set Auth Token
|
||||||
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set package.json version lucide
|
||||||
|
run: pnpm --filter lucide-react-native version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-react-native build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-react-native test
|
||||||
|
|
||||||
|
- name: Publish
|
||||||
|
run: pnpm --filter lucide-react-native publish --no-git-checks
|
||||||
|
|
||||||
|
- name: Upload package.json
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: lucide-react-native-package-json
|
||||||
|
path: packages/lucide-react-native/package.json
|
||||||
|
|
||||||
lucide-vue:
|
lucide-vue:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set new version
|
- name: Set new version
|
||||||
run: yarn workspace lucide-vue version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide-vue version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide-vue build
|
run: pnpm --filter lucide-vue build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn workspace lucide-vue test
|
run: pnpm --filter lucide-vue test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide-vue publish
|
run: pnpm --filter lucide-vue publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -138,29 +251,49 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set new version
|
- name: Set new version
|
||||||
run: yarn workspace lucide-vue-next version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide-vue-next version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide-vue-next build
|
run: pnpm --filter lucide-vue-next build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn workspace lucide-vue-next test
|
run: pnpm --filter lucide-vue-next test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide-vue-next publish
|
run: pnpm --filter lucide-vue-next publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -173,29 +306,49 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
- name: Set package.json version lucide
|
||||||
run: yarn workspace lucide-angular version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide-angular version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide-angular build
|
run: pnpm --filter lucide-angular build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn workspace lucide-angular test:headless
|
run: pnpm --filter lucide-angular test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide-angular publish dist
|
run: pnpm --filter lucide-angular publish --no-git-checks --ignore-scripts
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -208,29 +361,49 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
- name: Set package.json version lucide
|
||||||
run: yarn workspace lucide-preact version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide-preact version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide-preact build
|
run: pnpm --filter lucide-preact build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn workspace lucide-preact test
|
run: pnpm --filter lucide-preact test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide-preact publish
|
run: pnpm --filter lucide-preact publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -238,34 +411,109 @@ jobs:
|
|||||||
name: lucide-preact-package-json
|
name: lucide-preact-package-json
|
||||||
path: packages/lucide-preact/package.json
|
path: packages/lucide-preact/package.json
|
||||||
|
|
||||||
lucide-svelte:
|
lucide-solid:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
- name: Set package.json version lucide
|
||||||
run: yarn workspace lucide-svelte version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide-solid version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide-svelte build
|
run: pnpm --filter lucide-solid build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn workspace lucide-svelte test
|
run: pnpm --filter lucide-solid test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide-svelte publish
|
run: pnpm --filter lucide-solid publish --no-git-checks
|
||||||
|
|
||||||
|
- name: Upload package.json
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: lucide-solid-package-json
|
||||||
|
path: packages/lucide-solid/package.json
|
||||||
|
|
||||||
|
lucide-svelte:
|
||||||
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: pre-build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Set Auth Token
|
||||||
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set package.json version lucide
|
||||||
|
run: pnpm --filter lucide-svelte version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter lucide-svelte build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-svelte test
|
||||||
|
|
||||||
|
- name: Publish
|
||||||
|
run: pnpm --filter lucide-svelte publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -278,30 +526,50 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [pre-build, lucide-font]
|
needs: [pre-build, lucide-font]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v2
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --prefer-offline
|
run: pnpm install
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set new version
|
- name: Set new version
|
||||||
run: yarn workspace lucide-static version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter lucide-static version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Move Font
|
- name: Move Font
|
||||||
run: cp -r lucide-font packages/lucide-static/font
|
run: cp -r lucide-font packages/lucide-static/font
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: yarn workspace lucide-static build
|
run: pnpm --filter lucide-static build
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: yarn workspace lucide-static publish
|
run: pnpm --filter lucide-static publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@@ -313,44 +581,44 @@ jobs:
|
|||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-build
|
||||||
|
container: ericfennis/lucide-font:latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v2.4.0
|
- uses: actions/setup-node@v3.4.1
|
||||||
with:
|
with:
|
||||||
node-version: "14"
|
node-version: 16
|
||||||
cache: yarn
|
|
||||||
|
|
||||||
- name: Install FontForge
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
run: sudo apt-get install zlib1g-dev fontforge
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
- name: Clone sfnt2woff-zopfli repo
|
- name: Get pnpm store directory
|
||||||
run: git clone https://github.com/bramstein/sfnt2woff-zopfli.git sfnt2woff-zopfli
|
id: pnpm-cache
|
||||||
|
|
||||||
- name: Install and move sfnt2woff-zopfli
|
|
||||||
run: |
|
run: |
|
||||||
cd sfnt2woff-zopfli
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
make
|
|
||||||
sudo mv sfnt2woff-zopfli /usr/local/bin/sfnt2woff
|
|
||||||
|
|
||||||
- name: Clone woff2
|
- uses: actions/cache@v3
|
||||||
run: git clone --recursive https://github.com/google/woff2.git
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install woff2
|
- name: Install dependencies
|
||||||
run: |
|
run: pnpm install --filter outline-svg
|
||||||
cd woff2
|
|
||||||
sudo make clean all
|
|
||||||
sudo mv woff2_compress /usr/local/bin/ && sudo mv woff2_decompress /usr/local/bin/
|
|
||||||
|
|
||||||
- name: Install Font Custom dependency
|
- name: Outline svg Icons
|
||||||
run: sudo gem install fontcustom
|
run: pnpm build:outline-icons
|
||||||
|
|
||||||
- name: Install
|
- name: Create directory
|
||||||
run: yarn --prefer-offline
|
run: mkdir lucide-font
|
||||||
|
|
||||||
- name: Build Icon Font
|
- name: Build font
|
||||||
run: |
|
run: fontcustom compile "./outlined" -h -n "lucide" -o ./lucide-font -F
|
||||||
mkdir lucide-font
|
|
||||||
yarn build:outline-icons --outputDir=converted_icons && fontcustom compile "./converted_icons" -h -n "lucide" -o ./lucide-font -F
|
|
||||||
|
|
||||||
- name: "Upload to Artifacts"
|
- name: "Upload to Artifacts"
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v1
|
||||||
@@ -365,7 +633,7 @@ jobs:
|
|||||||
container:
|
container:
|
||||||
image: cirrusci/flutter:latest
|
image: cirrusci/flutter:latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v2
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
@@ -411,6 +679,10 @@ jobs:
|
|||||||
run: flutter test
|
run: flutter test
|
||||||
working-directory: packages/lucide-flutter
|
working-directory: packages/lucide-flutter
|
||||||
|
|
||||||
|
- name: Copy License
|
||||||
|
run: cp ../../LICENSE ./LICENSE
|
||||||
|
working-directory: packages/lucide-flutter
|
||||||
|
|
||||||
- name: Update yaml
|
- name: Update yaml
|
||||||
run: sed -E 's/(version:)[^\n]*/\1 ${{ needs.pre-build.outputs.VERSION }}/;' pubspec.yaml > pubspec && mv pubspec pubspec.yaml
|
run: sed -E 's/(version:)[^\n]*/\1 ${{ needs.pre-build.outputs.VERSION }}/;' pubspec.yaml > pubspec && mv pubspec pubspec.yaml
|
||||||
working-directory: packages/lucide-flutter
|
working-directory: packages/lucide-flutter
|
||||||
@@ -433,6 +705,7 @@ jobs:
|
|||||||
pre-build,
|
pre-build,
|
||||||
lucide,
|
lucide,
|
||||||
lucide-react,
|
lucide-react,
|
||||||
|
lucide-react-native,
|
||||||
lucide-vue,
|
lucide-vue,
|
||||||
lucide-vue-next,
|
lucide-vue-next,
|
||||||
lucide-angular,
|
lucide-angular,
|
||||||
@@ -443,13 +716,14 @@ jobs:
|
|||||||
]
|
]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v2
|
||||||
|
|
||||||
- name: Commit package files
|
- name: Commit package files
|
||||||
run: |
|
run: |
|
||||||
mv lucide-package-json/package.json packages/lucide/package.json
|
mv lucide-package-json/package.json packages/lucide/package.json
|
||||||
mv lucide-react-package-json/package.json packages/lucide-react/package.json
|
mv lucide-react-package-json/package.json packages/lucide-react/package.json
|
||||||
|
mv lucide-react-native-package-json/package.json packages/lucide-react-native/package.json
|
||||||
mv lucide-vue-package-json/package.json packages/lucide-vue/package.json
|
mv lucide-vue-package-json/package.json packages/lucide-vue/package.json
|
||||||
mv lucide-preact-package-json/package.json packages/lucide-preact/package.json
|
mv lucide-preact-package-json/package.json packages/lucide-preact/package.json
|
||||||
mv lucide-svelte-package-json/package.json packages/lucide-svelte/package.json
|
mv lucide-svelte-package-json/package.json packages/lucide-svelte/package.json
|
||||||
@@ -463,7 +737,7 @@ jobs:
|
|||||||
git -c user.name="Lucide Bot" -c user.email="lucide-bot@users.noreply.github.com" \
|
git -c user.name="Lucide Bot" -c user.email="lucide-bot@users.noreply.github.com" \
|
||||||
commit -m ":package: Bump lucide package versions to ${{ needs.pre-build.outputs.VERSION }}" --no-verify --quiet
|
commit -m ":package: Bump lucide package versions to ${{ needs.pre-build.outputs.VERSION }}" --no-verify --quiet
|
||||||
git remote set-url --push origin https://lucide-bot:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY.git
|
git remote set-url --push origin https://lucide-bot:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY.git
|
||||||
git push origin HEAD:master
|
git push origin HEAD:main
|
||||||
|
|
||||||
- name: Zip font and icons
|
- name: Zip font and icons
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
36
.github/workflows/test-lucide-svelte.yml
vendored
@@ -1,36 +0,0 @@
|
|||||||
name: Test Lucide Svelte
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- packages/lucide-svelte/**
|
|
||||||
push:
|
|
||||||
paths:
|
|
||||||
- packages/lucide-svelte/**
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: Version
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lucide-svelte:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
with:
|
|
||||||
node-version: "14"
|
|
||||||
cache: yarn
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn --prefer-offline
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: yarn workspace lucide-svelte build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: yarn workspace lucide-svelte test
|
|
||||||
|
|
||||||
36
.github/workflows/test-lucide-vue-next.yml
vendored
@@ -1,36 +0,0 @@
|
|||||||
name: Test Lucide Vue Next
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- packages/lucide-vue-next/**
|
|
||||||
push:
|
|
||||||
paths:
|
|
||||||
- packages/lucide-vue-next/**
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: Version
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lucide-vue-next:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
with:
|
|
||||||
node-version: "14"
|
|
||||||
cache: yarn
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn --prefer-offline
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: yarn workspace lucide-vue-next build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: yarn workspace lucide-vue-next test
|
|
||||||
|
|
||||||
36
.github/workflows/test-lucide-vue.yml
vendored
@@ -1,36 +0,0 @@
|
|||||||
name: Test Lucide Vue
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- packages/lucide-vue/**
|
|
||||||
push:
|
|
||||||
paths:
|
|
||||||
- packages/lucide-vue/**
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: Version
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lucide-vue:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/setup-node@v2.4.0
|
|
||||||
with:
|
|
||||||
node-version: "14"
|
|
||||||
cache: yarn
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn --prefer-offline
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: yarn workspace lucide-vue build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: yarn workspace lucide-vue test
|
|
||||||
|
|
||||||
5
.gitignore
vendored
@@ -1,6 +1,9 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
|
.idea
|
||||||
.next
|
.next
|
||||||
|
.obsidian
|
||||||
.now
|
.now
|
||||||
|
.idea
|
||||||
node_modules
|
node_modules
|
||||||
dist
|
dist
|
||||||
build
|
build
|
||||||
@@ -9,5 +12,7 @@ stash
|
|||||||
coverage
|
coverage
|
||||||
stats
|
stats
|
||||||
*.log
|
*.log
|
||||||
|
outlined
|
||||||
packages/**/src/icons/*.js
|
packages/**/src/icons/*.js
|
||||||
packages/**/src/icons/*.ts
|
packages/**/src/icons/*.ts
|
||||||
|
packages/**/LICENSE
|
||||||
|
|||||||
147
CONTRIBUTING.md
@@ -10,13 +10,13 @@ The following is a set of guidelines for contributing to Lucide. Feel free to pr
|
|||||||
Feel free to open a pull-request to contribute to this project.
|
Feel free to open a pull-request to contribute to this project.
|
||||||
|
|
||||||
**Working on your first Pull Request?** You can learn how from this *free* series
|
**Working on your first Pull Request?** You can learn how from this *free* series
|
||||||
[How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
|
[How to Contribute to an Open Source Project on GitHub](https://app.egghead.io/playlists/how-to-contribute-to-an-open-source-project-on-github)
|
||||||
|
|
||||||
Guidelines for pull requests:
|
Guidelines for pull requests:
|
||||||
|
|
||||||
- __Make your commit messages as descriptive as possible.__ Include as much information as you can. Explain anything that the file diffs themselves won’t make apparent.
|
- __Make your commit messages as descriptive as possible.__ Include as much information as you can. Explain anything that the file diffs themselves won’t make apparent.
|
||||||
- __Document your pull request__. Explain your fix, link to the relevant issue, add screenshots when adding new icons.
|
- __Document your pull request__. Explain your fix, link to the relevant issue, add screenshots when adding new icons.
|
||||||
- __Make sure the target of your pull request is the relevant branch__. Most of bugfix or new feature should go to the `master` branch.
|
- __Make sure the target of your pull request is the relevant branch__. Most of bugfix or new feature should go to the `main` branch.
|
||||||
- __Include only related work__. If your pull request has unrelated commit, it won't be accepted.
|
- __Include only related work__. If your pull request has unrelated commit, it won't be accepted.
|
||||||
|
|
||||||
### Pull Requests Including Icons
|
### Pull Requests Including Icons
|
||||||
@@ -41,7 +41,12 @@ Here you can find templates and instructions on how to implement the guidelines
|
|||||||
`Template`: None
|
`Template`: None
|
||||||
`Instructions`: You can find the [Inkscape Guide](/docs/INKSCAPE_GUIDE.md) and how to set up Inkscape under `/docs/INKSCAPE_GUIDE.md`.
|
`Instructions`: You can find the [Inkscape Guide](/docs/INKSCAPE_GUIDE.md) and how to set up Inkscape under `/docs/INKSCAPE_GUIDE.md`.
|
||||||
|
|
||||||
#### Submitting Mulitple Icons
|
#### Figma
|
||||||
|
|
||||||
|
`Template`: None
|
||||||
|
`Instructions`: You can find the [Figma Guide](/docs/FIGMA_GUIDE.md) and how to set up Figma under `/docs/FIGMA_GUIDE.md`.
|
||||||
|
|
||||||
|
#### Submitting Multiple 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.
|
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 don't submit multiple icons in one PR that have noting to do with each other.
|
||||||
@@ -54,6 +59,140 @@ Before creating an icon request, please search to see if someone has requested t
|
|||||||
|
|
||||||
If the icon has not already been requested, [create an issue](https://github.com/lucide-icons/lucide/issues/new?title=Icon%20Request:) with a title of `Icon request: <icon name>` and add as much information as possible.
|
If the icon has not already been requested, [create an issue](https://github.com/lucide-icons/lucide/issues/new?title=Icon%20Request:) with a title of `Icon request: <icon name>` and add as much information as possible.
|
||||||
|
|
||||||
## Icon Requests from Feather
|
### Icon Requests from Feather
|
||||||
|
|
||||||
If you are a designer who wants to contribute to Lucide but you don't know what icons to work on, then have a look at the Requests from Feather. All open, unfinished and valid requests can be found in [Feather Icon Requests](https://github.com/lucide-icons/lucide/issues/119).
|
If you are a designer who wants to contribute to Lucide but you don't know what icons to work on, then have a look at the Requests from Feather. All open, unfinished and valid requests can be found in [Feather Icon Requests](https://github.com/lucide-icons/lucide/issues/119).
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
You will need minimum version of [Nodejs 16.4+](https://nodejs.org)
|
||||||
|
For packagemanagement you will need [yarn v1](https://yarnpkg.com/getting-started/install).
|
||||||
|
For flutter package development, you need [Flutter 1.17+](https://docs.flutter.dev/get-started/install).
|
||||||
|
|
||||||
|
After cloning the project you need to run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn # Install dependencies, including the workspace packages
|
||||||
|
```
|
||||||
|
|
||||||
|
### Packages -> PNPM Workspaces
|
||||||
|
|
||||||
|
To distribute different packages we use PNPM workspaces. Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces).
|
||||||
|
|
||||||
|
The configured directory for workspaces is the [packages](./packages) directory, located in the root directory. There you will find all the current packages from lucide.
|
||||||
|
|
||||||
|
> Note: One package is not managed by pnpm: **lucide-flutter**, this package is written in Dart and used pub for publishing.
|
||||||
|
|
||||||
|
### Generated Code
|
||||||
|
|
||||||
|
For icons we use one single source of truth the icons svgs located in the icons directory. To distribute icons to the packages we generate code including: icon files with svg paths, index files with imports, and types files. Depending on the use case other necessary code will be generated.
|
||||||
|
|
||||||
|
The commands for generating this code you will read in the next chapter.
|
||||||
|
|
||||||
|
### Commonly used scripts
|
||||||
|
|
||||||
|
#### Building
|
||||||
|
|
||||||
|
The build script includes multiple subcommands to: clean the dist directory, generate icon files, generate types files, and build/transpile code for each build format.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pnpm [package-name] build
|
||||||
|
|
||||||
|
#example:
|
||||||
|
|
||||||
|
pnpm lucide-react build
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Testing
|
||||||
|
|
||||||
|
Run unit tests with jest for each package to make sure all the package apis still works as expected.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pnpm [package-name] test
|
||||||
|
|
||||||
|
#example:
|
||||||
|
|
||||||
|
pnpm lucide-vue test
|
||||||
|
```
|
||||||
|
|
||||||
|
Recommended to run the test watcher when making changes.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pnpm [package-name] test:watch
|
||||||
|
|
||||||
|
#example:
|
||||||
|
|
||||||
|
pnpm lucide-preact test:watch
|
||||||
|
```
|
||||||
|
|
||||||
|
### Unit Testing
|
||||||
|
|
||||||
|
When adding new features to for example the icon component for a framework. It is required to have this covered with some unit tests.
|
||||||
|
|
||||||
|
### Local Testing
|
||||||
|
|
||||||
|
To test changes in a local project, you can use `yarn link`, `npm link` or `pnpm link` to link the package. Before you do this make sure you builded the package first.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# in packages/lucide-react
|
||||||
|
|
||||||
|
npm run build &&
|
||||||
|
npm link
|
||||||
|
|
||||||
|
# in your local project
|
||||||
|
|
||||||
|
npm link lucide-react
|
||||||
|
```
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
Root directories
|
||||||
|
|
||||||
|
```sh
|
||||||
|
lucide
|
||||||
|
|
|
||||||
|
├── docs
|
||||||
|
├── icons
|
||||||
|
├── packages
|
||||||
|
├── scripts
|
||||||
|
└── site
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docs
|
||||||
|
|
||||||
|
Detailed documentation about: installation, guides, packages, design guides etc.
|
||||||
|
|
||||||
|
### Icons
|
||||||
|
|
||||||
|
All the icons of lucide in SVG format. These will be used as source for all the packages and other distributions for the lucide icons.
|
||||||
|
|
||||||
|
### packages
|
||||||
|
|
||||||
|
Includes all the (npm) packages of lucide.
|
||||||
|
|
||||||
|
> Note: One package is not managed by pnpm: **lucide-flutter**, this package is written in Dart and used pub for publishing.
|
||||||
|
|
||||||
|
### scripts
|
||||||
|
|
||||||
|
Includes usefully scripts to automate certain jobs. Big part of the scripts is the template generation, for example it generates icon components for all the packages. These scripts are usually executed from the "scripts" section in the package.json.
|
||||||
|
|
||||||
|
### site
|
||||||
|
|
||||||
|
The lucide.dev website using [Nextjs](https://nextjs.org).
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
The documentation files are located in the [docs](./docs) directory. All these markdown files will be loaded in the build of the lucide.dev website.
|
||||||
|
|
||||||
|
Feel free to write, adjust or add new markdown files to improve our documentation.
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
If you need any help or have problems with you contribution. Please don't hesitate to contact the Lucide Community, you can find us on [Github](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
Thank you to all the people who already contributed to Lucide!
|
||||||
|
|
||||||
|
<a href="https://github.com/lucide-icons/lucide/graphs/contributors">
|
||||||
|
<img src="https://opencollective.com/lucide-icons/contributors.svg?width=890" /></a>
|
||||||
|
|||||||
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
ISC License
|
ISC License
|
||||||
|
|
||||||
Copyright (c) 2020, Lucide Contributors
|
Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022.
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|||||||
171
README.md
@@ -1,15 +1,15 @@
|
|||||||
<p align=center><img width="410" src="https://lucide.dev/logo-text.svg" alt="Lucide Logo"></p>
|
<p align=center><img width="480" src="https://lucide.dev/lucide-logo-repo.svg" alt="Lucide Logo"></p>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/lucide-icons/lucide/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/lucide" alt="license"></a>
|
||||||
|
<a href="https://www.npmjs.com/package/lucide"><img src="https://img.shields.io/npm/v/lucide" alt="npm package"></a>
|
||||||
|
<a href="https://www.figma.com/community/plugin/939567362549682242/Lucide-Icons"><img src="https://img.shields.io/endpoint?logo=figma&label=installs&url=https://yuanqing.github.io/figma-plugins-stats/plugin/939567362549682242/installs.json" alt="figma installs"></a>
|
||||||
|
<a href="https://github.com/lucide-icons/lucide/actions/workflows/release.yml"><img src="https://github.com/lucide-icons/lucide/actions/workflows/release.yml/badge.svg" alt="build status"></a>
|
||||||
|
<a href="https://discord.gg/EH6nSts"><img src="https://img.shields.io/discord/723074157486800936?label=chat&logo=discord&logoColor=%23ffffff&colorB=%237289DA" alt="discord chat"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
# Lucide
|
# Lucide
|
||||||
|
|
||||||

|
Community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
|
||||||
[](https://www.npmjs.com/package/lucide)
|
|
||||||
[](https://www.figma.com/community/plugin/939567362549682242/Lucide-Icons)
|
|
||||||
[](https://discord.gg/EH6nSts)
|
|
||||||
|
|
||||||
## What is Lucide?
|
|
||||||
|
|
||||||
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
|
|
||||||
|
|
||||||
It began after growing disaffection with the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
|
It began after growing disaffection with the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
|
||||||
|
|
||||||
@@ -17,29 +17,33 @@ Lucide is trying to expand the icon set as much as possible while staying faithf
|
|||||||
|
|
||||||
### Why choose Lucide over Feather Icons
|
### Why choose Lucide over Feather Icons
|
||||||
|
|
||||||
- Lucide already expanded the icon set by 130+ in less than a year, so more icons to work with.
|
- More icons to work with: Lucide already has hundreds of icons more than Feather does.
|
||||||
|
- Official librairies and integrations with popular frameworks and design tools.
|
||||||
- Well maintained code base.
|
- Well maintained code base.
|
||||||
- Active community.
|
- Active community, regularly growing and improving the set.
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
* [Installation](#installation)
|
- [Usage](#usage)
|
||||||
* [Package managers](#package-managers)
|
- [Web](#web)
|
||||||
* [CDN](#cdn)
|
- [React](#react)
|
||||||
* [Usage](#usage)
|
- [React Native](#react-native)
|
||||||
* [Web](#web)
|
- [Vue 2](#vue-2)
|
||||||
* [React](#react)
|
- [Vue 3](#vue-3)
|
||||||
* [Vue 2](#vue-2)
|
- [Angular](#angular)
|
||||||
* [Vue 3](#vue-3)
|
- [Preact](#preact)
|
||||||
* [Angular](#angular)
|
- [Static (svg sprite, font, icons ..)](#static-svg-sprite-font-icons-)
|
||||||
* [Preact](#preact)
|
- [Figma](#figma)
|
||||||
* [Static](#static-svg-sprite-font-icons-)
|
- [Laravel](#laravel)
|
||||||
* [Figma](#figma)
|
- [Flutter](#flutter)
|
||||||
* [Laravel](#laravel)
|
- [Svelte](#svelte)
|
||||||
* [Flutter](#flutter)
|
- [Solid](#solid)
|
||||||
* [Contributing](#contributing)
|
- [Hyva](#hyva)
|
||||||
* [Community](#community)
|
- [Contributing](#contributing)
|
||||||
* [License](#license)
|
- [Community](#community)
|
||||||
|
- [License](#license)
|
||||||
|
- [Credits](#credits)
|
||||||
|
- [Sponsors](#sponsors)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -54,13 +58,15 @@ Implementation of the lucide icon library for web applications.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm install lucide
|
npm install lucide
|
||||||
|
```
|
||||||
|
|
||||||
#or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
yarn add lucide
|
yarn add lucide
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide#lucide).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide#lucide).
|
||||||
|
|
||||||
### React
|
### React
|
||||||
|
|
||||||
@@ -68,13 +74,31 @@ Implementation of the lucide icon library for react applications.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-react
|
yarn add lucide-react
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-react
|
npm install lucide-react
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-react#lucide-react).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-react#lucide-react).
|
||||||
|
|
||||||
|
### React Native
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for React Native applications.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-react-native
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install lucide-react-native
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-react-native#lucide-react-native).
|
||||||
|
|
||||||
### Vue 2
|
### Vue 2
|
||||||
|
|
||||||
@@ -82,13 +106,15 @@ Implementation of the lucide icon library for vue applications.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-vue
|
yarn add lucide-vue
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-vue
|
npm install lucide-vue
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue#lucide-vue).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue#lucide-vue).
|
||||||
|
|
||||||
### Vue 3
|
### Vue 3
|
||||||
|
|
||||||
@@ -96,25 +122,29 @@ Implementation of the lucide icon library for vue applications.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-vue-next
|
yarn add lucide-vue-next
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-vue-next
|
npm install lucide-vue-next
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue-next#lucide-vue-next).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue-next#lucide-vue-next).
|
||||||
|
|
||||||
### Angular
|
### Angular
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-angular
|
yarn add lucide-angular
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-angular
|
npm install lucide-angular
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-angular#lucide-angular).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-angular#lucide-angular).
|
||||||
|
|
||||||
### Preact
|
### Preact
|
||||||
|
|
||||||
@@ -122,13 +152,15 @@ Implementation of the lucide icon library for preact applications.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-preact
|
yarn add lucide-preact
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-preact
|
npm install lucide-preact
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-preact#lucide-preact).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-preact#lucide-preact).
|
||||||
|
|
||||||
### Static (svg sprite, font, icons ..)
|
### Static (svg sprite, font, icons ..)
|
||||||
|
|
||||||
@@ -141,9 +173,11 @@ NPM package
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-static
|
yarn add lucide-static
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-static
|
npm install lucide-static
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -175,11 +209,53 @@ flutter pub add lucide_icons
|
|||||||
|
|
||||||
For more details, see the [pub.dev](https://pub.dev/packages/lucide_icons).
|
For more details, see the [pub.dev](https://pub.dev/packages/lucide_icons).
|
||||||
|
|
||||||
|
### Svelte
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for Svelte applications.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-svelte
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install lucide-svelte
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-svelte#lucide-svelte).
|
||||||
|
|
||||||
|
### Solid
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for solid applications.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-solid
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install lucide-solid
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-solid#lucide-solid).
|
||||||
|
|
||||||
|
### Hyva
|
||||||
|
|
||||||
|
Implementation of Lucide icon's using Hyvä's svg php viewmodal to render icons for Magento 2 Hyva theme based projects.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
composer require siteation/magento2-hyva-icons-lucide
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details, see the [documentation](https://github.com/Siteation/magento2-hyva-icons-lucide/blob/main/README.md).
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/master/CONTRIBUTING.md).
|
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
Caught a mistake or want to contribute to the documentation? [Edit this page on Github](https://github.com/lucide-icons/lucide/blob/master/README.md)
|
Caught a mistake or want to contribute to the documentation? [Edit this page on Github](https://github.com/lucide-icons/lucide/blob/main/README.md)
|
||||||
|
|
||||||
## Community
|
## Community
|
||||||
|
|
||||||
@@ -187,7 +263,14 @@ Join the community on our [Discord](https://discord.gg/EH6nSts) server!
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Lucide is totally free for commercial use and personally use, this software is licensed under the [ISC License](https://github.com/lucide-icons/lucide/blob/master/LICENSE).
|
Lucide is totally free for commercial use and personally use, this software is licensed under the [ISC License](https://github.com/lucide-icons/lucide/blob/main/LICENSE).
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
Thank you to all the people who contributed to Lucide!
|
||||||
|
|
||||||
|
<a href="https://github.com/lucide-icons/lucide/graphs/contributors">
|
||||||
|
<img src="https://opencollective.com/lucide-icons/contributors.svg?width=890" /></a>
|
||||||
|
|
||||||
## Sponsors
|
## Sponsors
|
||||||
|
|
||||||
|
|||||||
@@ -4,4 +4,41 @@ title: Figma Template Guide
|
|||||||
|
|
||||||
# Figma Template Guide
|
# Figma Template Guide
|
||||||
|
|
||||||
Please help us write this guide.
|
This guide shows the steps to setup Figma for creating icons that conform to the Featherity design guidelines.
|
||||||
|
|
||||||
|
## Setting Up The Frame
|
||||||
|
When you create a new document in Figma, the document. Each individual icon you want to create, has to be created in a separate frame.
|
||||||
|
|
||||||
|
To do this, create a frame of 24x24 pixels.
|
||||||
|
|
||||||
|
1. Click the frame button (or press `F`)
|
||||||
|
2. Draw a 24x24 frame (or edit it afterwards from the design window)
|
||||||
|
|
||||||
|
In this newly created frame, you will create your icon. If you want, you can change the name of your frame to the name of the icon you are going to create. Then it will be exported as `FRAME-NAME.svg`.
|
||||||
|
|
||||||
|
## Create your icon
|
||||||
|
To design your icon in the style of Feather Icons, you need to adjust a few settings in Figma.
|
||||||
|
|
||||||
|
Draw in your new frame with the pen tool. You can open it with the window at the top, or with the shortcut `P`. Once you click in your frame, you can adjust the settings for the pen tool in the design-window on the right.
|
||||||
|
|
||||||
|
Set the following:
|
||||||
|
1. Vector
|
||||||
|
1. Corner radius: 2px
|
||||||
|
2. Stroke
|
||||||
|
1. Stroke width: 2px
|
||||||
|
2. Stroke alignment: center
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Export Your Icon
|
||||||
|
Once you have completed your icon, you can export it.
|
||||||
|
|
||||||
|
1. Select the frame
|
||||||
|
2. Open the *Export* tab on the right
|
||||||
|
3. Set the file type as SVG
|
||||||
|
4. Press export
|
||||||
|
|
||||||
|
That's it. You just made your first icon. Congratulations!
|
||||||
|
|
||||||
|
## Figma Tips
|
||||||
|
1. The [Icon Design Guidelines](ICON_DESIGN_GUIDE.md) dictate that you keep 2px spacing between detached elements. In Figma, you can easily check this with: `⌥` Option (MacOS) or `Alt` (Windows).
|
||||||
@@ -26,6 +26,6 @@ The Illustrator template is created following guidelines from the [Icon Design G
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
After that, double check that the [code conventions and SVG global attributes](https://github.com/lucide-icons/lucide/blob/master/docs/ICON_DESIGN_GUIDE.md#code-conventions) are correct.
|
After that, double check that the [code conventions and SVG global attributes](https://github.com/lucide-icons/lucide/blob/main/docs/ICON_DESIGN_GUIDE.md#code-conventions) are correct.
|
||||||
|
|
||||||
7. Minify paths with [SVGOMG](https://jakearchibald.github.io/svgomg/).
|
7. Minify paths with [SVGOMG](https://jakearchibald.github.io/svgomg/).
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ title: Comparison
|
|||||||
|
|
||||||
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather).
|
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather).
|
||||||
|
|
||||||
It began after growing disaffection of the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned adn not maintained actively. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
|
It began after growing disaffection of the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned and not maintained actively. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
|
||||||
|
|
||||||
Lucide is trying to expand the icon set as much as possible while staying faithful to the original simplistic design language. We do this as a community of devs and designers.
|
Lucide is trying to expand the icon set as much as possible while staying faithful to the original simplistic design language. We do this as a community of devs and designers.
|
||||||
|
|
||||||
|
|||||||
BIN
docs/images/figma-stroke-options.png
Normal file
|
After Width: | Height: | Size: 184 KiB |
@@ -15,9 +15,9 @@ With help of the community, contributors are providing the library of new icons.
|
|||||||
|
|
||||||
When designing new icons, the community is working with a set of design rules. This is to keep icons: recognizable, consistency in style, and readable on all sizes. The community likes to have creativity in new icons but conventional design is important to have recognizable icons.
|
When designing new icons, the community is working with a set of design rules. This is to keep icons: recognizable, consistency in style, and readable on all sizes. The community likes to have creativity in new icons but conventional design is important to have recognizable icons.
|
||||||
|
|
||||||
Beside design, code is also important. Assets like icons in for example web projects can increase the transferred bytes significantly. With the growing internet, lucide has the responsibility to keep their assets small as possible. To achieve this, lucide uses SVG compression and specific code architecture for three-shaking abilities. With three-shaking used you will only ship the icons you used, helps you to keep the software small as possible when distributed.
|
Beside design, code is also important. Assets like icons in for example web projects can increase the transferred bytes significantly. With the growing internet, lucide has the responsibility to keep their assets small as possible. To achieve this, lucide uses SVG compression and specific code architecture for tree-shaking abilities. With tree-shaking used you will only ship the icons you used, helps you to keep the software small as possible when distributed.
|
||||||
|
|
||||||
Lucide provides several official packages for: [Web (Vanilla)](https://lucide.dev/docs/lucide), [React](https://lucide.dev/docs/lucide-react), [Vue](https://lucide.dev/docs/lucide-vue), [Vue 3](https://lucide.dev/docs/lucide-vue-next), [Svelte](https://lucide.dev/docs/lucide-svelte),[Preact](https://lucide.dev/docs/lucide-preact), [Angular](https://lucide.dev/docs/lucide-angular), [NodeJS](https://lucide.dev/docs/lucide-static#nodejs) and [Flutter](https://lucide.dev/docs/lucide-flutter).
|
Lucide provides several official packages for: [Web (Vanilla)](https://lucide.dev/docs/lucide), [React](https://lucide.dev/docs/lucide-react), [React Native](https://lucide.dev/docs/lucide-react-native), [Vue](https://lucide.dev/docs/lucide-vue), [Vue 3](https://lucide.dev/docs/lucide-vue-next), [Svelte](https://lucide.dev/docs/lucide-svelte),[Preact](https://lucide.dev/docs/lucide-preact), [Angular](https://lucide.dev/docs/lucide-angular), [NodeJS](https://lucide.dev/docs/lucide-static#nodejs) and [Flutter](https://lucide.dev/docs/lucide-flutter).
|
||||||
|
|
||||||
Any questions about lucide? Ask the community. Active on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
|
Any questions about lucide? Ask the community. Active on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ Implementation of the lucide icon library for web applications.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install lucide
|
npm install lucide
|
||||||
|
```
|
||||||
|
|
||||||
#or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
yarn add lucide
|
yarn add lucide
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -24,9 +26,11 @@ Implementation of the lucide icon library for react applications.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add lucide-react
|
yarn add lucide-react
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-react
|
npm install lucide-react
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -38,9 +42,11 @@ Implementation of the lucide icon library for vue applications.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add lucide-vue
|
yarn add lucide-vue
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-vue
|
npm install lucide-vue
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -52,9 +58,11 @@ Implementation of the lucide icon library for vue applications.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add lucide-vue-next
|
yarn add lucide-vue-next
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-vue-next
|
npm install lucide-vue-next
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -66,9 +74,11 @@ Implementation of the lucide icon library for vue applications.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add lucide-svelte
|
yarn add lucide-svelte
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-svelte
|
npm install lucide-svelte
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -78,9 +88,11 @@ For more details, see the [documentation](packages/lucide-svelte).
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add lucide-angular
|
yarn add lucide-angular
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-angular
|
npm install lucide-angular
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -92,9 +104,11 @@ Implementation of the lucide icon library for preact applications.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add lucide-preact
|
yarn add lucide-preact
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-preact
|
npm install lucide-preact
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -106,7 +120,7 @@ The lucide figma plugin.
|
|||||||
|
|
||||||
Visit [Figma community page](https://www.figma.com/community/plugin/939567362549682242/Lucide-Icons) to install the plugin.
|
Visit [Figma community page](https://www.figma.com/community/plugin/939567362549682242/Lucide-Icons) to install the plugin.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Laravel
|
## Laravel
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ Implementation of the lucide icon library for angular applications.
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
``` sh
|
```sh
|
||||||
yarn add lucide-angular
|
yarn add lucide-angular
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-angular
|
npm install lucide-angular
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -20,12 +22,12 @@ There are three ways for use this library.
|
|||||||
|
|
||||||
After install `lucide-angular` change content of file `app.component.html` and `app.component.ts`.
|
After install `lucide-angular` change content of file `app.component.html` and `app.component.ts`.
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<!-- app.component.html -->
|
<!-- app.component.html -->
|
||||||
<div id="lucide-icon"></div>
|
<div id="lucide-icon"></div>
|
||||||
```
|
```
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
// app.component.ts
|
// app.component.ts
|
||||||
|
|
||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
@@ -37,7 +39,6 @@ import { Activity } from 'lucide-angular/icons';
|
|||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
styleUrls: ['./app.component.css']
|
styleUrls: ['./app.component.css']
|
||||||
})
|
})
|
||||||
|
|
||||||
export class AppComponent implements OnInit {
|
export class AppComponent implements OnInit {
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
const div = document.getElementById('lucide-icon');
|
const div = document.getElementById('lucide-icon');
|
||||||
@@ -51,11 +52,11 @@ export class AppComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Method 2: User __Tag__ with __name__ property
|
### Method 2: User **Tag** with **name** property
|
||||||
|
|
||||||
After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`.
|
After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`.
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
// app.module.ts
|
// app.module.ts
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
@@ -65,32 +66,29 @@ import { AppComponent } from './app.component';
|
|||||||
import { LucideAngularModule, AlarmCheck, Edit } from 'lucide-angular';
|
import { LucideAngularModule, AlarmCheck, Edit } from 'lucide-angular';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [AppComponent],
|
||||||
AppComponent
|
|
||||||
],
|
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
LucideAngularModule.pick({ AlarmCheck, Edit }) // add all of icons that is imported.
|
LucideAngularModule.pick({ AlarmCheck, Edit }) // add all of icons that is imported.
|
||||||
],
|
],
|
||||||
providers: [],
|
providers: [],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
|
export class AppModule {}
|
||||||
export class AppModule { }
|
|
||||||
```
|
```
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<!-- app.component.html -->
|
<!-- app.component.html -->
|
||||||
<lucide-icon name="alarm-check" class="myicon"></lucide-icon>
|
<lucide-icon name="alarm-check" class="myicon"></lucide-icon>
|
||||||
<lucide-icon name="edit" class="myicon"></lucide-icon>
|
<lucide-icon name="edit" class="myicon"></lucide-icon>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Method 3: User __Tag__ with __img__ property
|
### 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`.
|
After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`.
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
// app.module.ts
|
// app.module.ts
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
@@ -100,28 +98,21 @@ import { AppComponent } from './app.component';
|
|||||||
import { LucideAngularModule } from 'lucide-angular';
|
import { LucideAngularModule } from 'lucide-angular';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [AppComponent],
|
||||||
AppComponent
|
imports: [BrowserModule, AppRoutingModule, LucideAngularModule.pick({})],
|
||||||
],
|
|
||||||
imports: [
|
|
||||||
BrowserModule,
|
|
||||||
AppRoutingModule,
|
|
||||||
LucideAngularModule.pick({ })
|
|
||||||
],
|
|
||||||
providers: [],
|
providers: [],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
|
export class AppModule {}
|
||||||
export class AppModule { }
|
|
||||||
```
|
```
|
||||||
|
|
||||||
``` xml
|
```xml
|
||||||
<!-- app.component.html -->
|
<!-- app.component.html -->
|
||||||
<lucide-icon [img]="ico1" class="myicon"></lucide-icon>
|
<lucide-icon [img]="ico1" class="myicon"></lucide-icon>
|
||||||
<lucide-icon [img]="ico2" class="myicon"></lucide-icon>
|
<lucide-icon [img]="ico2" class="myicon"></lucide-icon>
|
||||||
```
|
```
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
// app.component.ts
|
// app.component.ts
|
||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
import { Airplay, Circle } from 'lucide-angular';
|
import { Airplay, Circle } from 'lucide-angular';
|
||||||
@@ -131,7 +122,6 @@ import { Airplay, Circle } from 'lucide-angular';
|
|||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
styleUrls: ['./app.component.css']
|
styleUrls: ['./app.component.css']
|
||||||
})
|
})
|
||||||
|
|
||||||
export class AppComponent {
|
export class AppComponent {
|
||||||
ico1 = Airplay;
|
ico1 = Airplay;
|
||||||
ico2 = Circle;
|
ico2 = Circle;
|
||||||
@@ -144,9 +134,9 @@ export class AppComponent {
|
|||||||
|
|
||||||
In `Method 2`: import all icons in `app.module.ts` by:
|
In `Method 2`: import all icons in `app.module.ts` by:
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
|
|
||||||
import { icons } from 'lucide-angular/icons';
|
import { icons } from 'lucide-angular';
|
||||||
|
|
||||||
LucideAngularModule.pick(icons)
|
LucideAngularModule.pick(icons)
|
||||||
|
|
||||||
|
|||||||
@@ -10,28 +10,30 @@ Implementation of the lucide icon library for preact applications.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-preact
|
yarn add lucide-preact
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-preact
|
npm install lucide-preact
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
It's build with ESmodules so it's completely threeshakable.
|
It's build with ESmodules so it's completely tree-shakable.
|
||||||
Each icon can be imported as a preact component.
|
Each icon can be imported as a preact component.
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
You can pass additional props to adjust the icon.
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
import { Camera } from 'lucide-preact';
|
import { Camera } from 'lucide-preact';
|
||||||
// Returns PreactComponent
|
// Returns PreactComponent
|
||||||
|
|
||||||
// Usage
|
// Usage
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return <Camera color="red" size={48}/>
|
return <Camera color="red" size={48} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
@@ -39,20 +41,20 @@ export default App;
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default
|
| name | type | default |
|
||||||
| ------------ | -------- | --------
|
| ------------- | -------- | ------------ |
|
||||||
| `size` | *Number* | 24
|
| `size` | _Number_ | 24 |
|
||||||
| `color` | *String* | currentColor
|
| `color` | _String_ | currentColor |
|
||||||
| `strokeWidth`| *Number* | 2
|
| `strokeWidth` | _Number_ | 2 |
|
||||||
|
|
||||||
### Custom props / svg attributes
|
### Custom props / svg attributes
|
||||||
|
|
||||||
You can also pass custom props that will be added in the as attributes. With that you can modify the icons look by passing svg attributes.
|
You can also pass custom props that will be added in the as attributes. With that you can modify the icons look by passing svg attributes.
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
// Usage
|
// Usage
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return <Camera fill="red" stroke-linejoin="bevel"/>
|
return <Camera fill="red" stroke-linejoin="bevel" />;
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -62,17 +64,17 @@ const App = () => {
|
|||||||
|
|
||||||
It is possible to create one generic icon component to load icons.
|
It is possible to create one generic icon component to load icons.
|
||||||
|
|
||||||
> ⚠️ Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
|
> ⚠️ Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
|
||||||
|
|
||||||
#### Icon Component Example
|
#### Icon Component Example
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
import * as icons from 'lucide-preact';
|
import * as icons from 'lucide-preact';
|
||||||
|
|
||||||
const Icon = ({name, color, size}) => {
|
const Icon = ({ name, color, size }) => {
|
||||||
const LucideIcon = icons[name];
|
const LucideIcon = icons[name];
|
||||||
|
|
||||||
return <LucideIcon color={color} size={size} />
|
return <LucideIcon color={color} size={size} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Icon;
|
export default Icon;
|
||||||
|
|||||||
77
docs/packages/lucide-react-native.md
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
# Lucide React Native
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for React Native applications
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
First, ensure that you have `react-native-svg@^12.0.0` installed. Then, install the package:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn add lucide-react-native
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install lucide-react-native
|
||||||
|
```
|
||||||
|
|
||||||
|
## How to use
|
||||||
|
|
||||||
|
It's build with ESmodules so it's completely tree-shakable.
|
||||||
|
Each icon can be imported as a react component.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { Camera } from 'lucide-react-native';
|
||||||
|
// 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, your application build size will grow strongly.
|
||||||
|
|
||||||
|
#### 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;
|
||||||
|
```
|
||||||
@@ -4,30 +4,32 @@ Implementation of the lucide icon library for react applications
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
``` bash
|
```bash
|
||||||
yarn add lucide-react
|
yarn add lucide-react
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-react
|
npm install lucide-react
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
It's build with ESmodules so it's completely threeshakable.
|
It's build with ESmodules so it's completely tree-shakable.
|
||||||
Each icon can be imported as a react component.
|
Each icon can be imported as a react component.
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
You can pass additional props to adjust the icon.
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
import { Camera } from 'lucide-react';
|
import { Camera } from 'lucide-react';
|
||||||
// Returns ReactComponent
|
// Returns ReactComponent
|
||||||
|
|
||||||
// Usage
|
// Usage
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return <Camera color="red" size={48}/>
|
return <Camera color="red" size={48} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
@@ -35,20 +37,20 @@ export default App;
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default
|
| name | type | default |
|
||||||
| ------------ | -------- | --------
|
| ------------- | -------- | ------------ |
|
||||||
| `size` | *Number* | 24
|
| `size` | _Number_ | 24 |
|
||||||
| `color` | *String* | currentColor
|
| `color` | _String_ | currentColor |
|
||||||
| `strokeWidth`| *Number* | 2
|
| `strokeWidth` | _Number_ | 2 |
|
||||||
|
|
||||||
### Custom props
|
### Custom props
|
||||||
|
|
||||||
You can also pass custom props that will be added in the svg as attributes.
|
You can also pass custom props that will be added in the svg as attributes.
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
// Usage
|
// Usage
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return <Camera fill="red"/>
|
return <Camera fill="red" />;
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -56,17 +58,17 @@ const App = () => {
|
|||||||
|
|
||||||
It is possible to create one generic icon component to load icons.
|
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, your application build size will grow strongly.
|
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
|
||||||
|
|
||||||
#### Icon Component Example
|
#### Icon Component Example
|
||||||
|
|
||||||
``` js
|
```js
|
||||||
import * as icons from 'lucide-react';
|
import * as icons from 'lucide-react';
|
||||||
|
|
||||||
const Icon = ({name, color, size}) => {
|
const Icon = ({ name, color, size }) => {
|
||||||
const LucideIcon = icons[name];
|
const LucideIcon = icons[name];
|
||||||
|
|
||||||
return <LucideIcon color={color} size={size} />
|
return <LucideIcon color={color} size={size} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Icon;
|
export default Icon;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ This package include the following lucide implementations:
|
|||||||
|
|
||||||
This package is suitable for very specific use cases for example if you want to use icon fonts, svg sprites, normal svgs or Common.js Svg strings in your javascript project.
|
This package is suitable for very specific use cases for example if you want to use icon fonts, svg sprites, normal svgs or Common.js Svg strings in your javascript project.
|
||||||
|
|
||||||
> ⚠️ It is not recommended to use this package for svg sprites or icon fonts for web pages/applications, for prototyping it is ok. We recommend to bundlers for web applications to make sure you only bundle the used icons from this icon library (Threeshaking). Otherwise it will load all the icons, making you webpage loading slower. Threeshaking is only available in the packages: [lucide](lucide), [lucide-react](lucide-react), [lucide-vue](lucide-vue), [lucide-vue-next](lucide-vue-next), [lucide-angular](lucide-angular), [lucide-preact](lucide-preact)
|
> ⚠️ It is not recommended to use this package for svg sprites or icon fonts for web pages/applications, for prototyping it is ok. We recommend to bundlers for web applications to make sure you only bundle the used icons from this icon library (Treeshaking). Otherwise it will load all the icons, making you webpage loading slower. Threeshaking is only available in the packages: [lucide](lucide), [lucide-react](lucide-react), [lucide-vue](lucide-vue), [lucide-vue-next](lucide-vue-next), [lucide-angular](lucide-angular), [lucide-preact](lucide-preact)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -19,23 +19,25 @@ This package is suitable for very specific use cases for example if you want to
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-static
|
yarn add lucide-static
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-static
|
npm install lucide-static
|
||||||
```
|
```
|
||||||
|
|
||||||
### CDN
|
### CDN
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<!-- Svg File -->
|
<!-- Svg File -->
|
||||||
<img src="https://unpkg.com/lucide-static@latest/icons/home.svg">
|
<img src="https://unpkg.com/lucide-static@latest/icons/home.svg" />
|
||||||
|
|
||||||
<!-- Icon Font -->
|
<!-- Icon Font -->
|
||||||
<style>
|
<style>
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "LucideIcons";
|
font-family: 'LucideIcons';
|
||||||
src: url(https://unpkg.com/lucide-static@latest/font/Lucide.ttf) format("truetype");
|
src: url(https://unpkg.com/lucide-static@latest/font/Lucide.ttf) format('truetype');
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
```
|
```
|
||||||
@@ -50,14 +52,14 @@ Checkout the [codesandbox examples](https://codesandbox.io/s/using-the-svg-sprit
|
|||||||
|
|
||||||
To use it in for example html:
|
To use it in for example html:
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<!-- Svg File -->
|
<!-- Svg File -->
|
||||||
<img src="~lucide-static/icons/home.svg">
|
<img src="~lucide-static/icons/home.svg" />
|
||||||
```
|
```
|
||||||
|
|
||||||
``` css
|
```css
|
||||||
.home-icon {
|
.home-icon {
|
||||||
background-image: url(~lucide-static/icons/home.svg)
|
background-image: url(~lucide-static/icons/home.svg);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -69,7 +71,7 @@ You can simply import each svg by targeting `lucide-static/icons/{icon-name}.svg
|
|||||||
To use svgs in your project you can for example use a [svg loader](https://v4.webpack.js.org/loaders/svg-inline-loader/).
|
To use svgs in your project you can for example use a [svg loader](https://v4.webpack.js.org/loaders/svg-inline-loader/).
|
||||||
|
|
||||||
```js
|
```js
|
||||||
import arrowRightIcon from 'lucide-static/icons/arrow-right'
|
import arrowRightIcon from 'lucide-static/icons/arrow-right';
|
||||||
|
|
||||||
// return string of a svg
|
// return string of a svg
|
||||||
```
|
```
|
||||||
@@ -80,7 +82,7 @@ You may need additional loader for this.
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<!-- Icon Sprite, not recommended for production! -->
|
<!-- Icon Sprite, not recommended for production! -->
|
||||||
<img src="lucide-static/sprite.svg#home">
|
<img src="lucide-static/sprite.svg#home" />
|
||||||
|
|
||||||
<!-- or -->
|
<!-- or -->
|
||||||
<svg
|
<svg
|
||||||
@@ -104,13 +106,13 @@ If you'd prefer, you can use CSS to hold your base SVG properties
|
|||||||
|
|
||||||
```css
|
```css
|
||||||
.lucide-icon {
|
.lucide-icon {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
stroke: currentColor;
|
stroke: currentColor;
|
||||||
fill: none;
|
fill: none;
|
||||||
stroke-width: 2;
|
stroke-width: 2;
|
||||||
stroke-linecap: round;
|
stroke-linecap: round;
|
||||||
stroke-linejoin: round;
|
stroke-linejoin: round;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -133,20 +135,19 @@ and update the svg as follows
|
|||||||
### Icon Font
|
### Icon Font
|
||||||
|
|
||||||
```css
|
```css
|
||||||
@import("~lucide-static/font/Lucide.css")
|
@import ('~lucide-static/font/Lucide.css');
|
||||||
```
|
```
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<div class="icon-home"></div>
|
<div class="icon-home"></div>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Node.js
|
### Node.js
|
||||||
|
|
||||||
To use lucide icons in your Nodejs project you can import each icon as:
|
To use lucide icons in your Nodejs project you can import each icon as:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const { messageSquare } = require('lucide-static/lib')
|
const { messageSquare } = require('lucide-static/lib');
|
||||||
```
|
```
|
||||||
|
|
||||||
> Note: Each icon name is in camelCase.
|
> Note: Each icon name is in camelCase.
|
||||||
@@ -154,10 +155,10 @@ const { messageSquare } = require('lucide-static/lib')
|
|||||||
#### Example in node.js project
|
#### Example in node.js project
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const express = require('express')
|
const express = require('express');
|
||||||
const { messageSquare } = require('lucide-static/lib')
|
const { messageSquare } = require('lucide-static/lib');
|
||||||
const app = express()
|
const app = express();
|
||||||
const port = 3000
|
const port = 3000;
|
||||||
|
|
||||||
app.get('/', (req, res) => {
|
app.get('/', (req, res) => {
|
||||||
res.send(`
|
res.send(`
|
||||||
@@ -172,10 +173,10 @@ app.get('/', (req, res) => {
|
|||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
`)
|
`);
|
||||||
})
|
});
|
||||||
|
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
console.log(`Example app listening at http://localhost:${port}`)
|
console.log(`Example app listening at http://localhost:${port}`);
|
||||||
})
|
});
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -6,9 +6,11 @@ Implementation of the lucide icon library for svelte applications.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn add lucide-svelte
|
yarn add lucide-svelte
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-svelte
|
npm install lucide-svelte
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -22,30 +24,30 @@ Default usage:
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<script>
|
<script>
|
||||||
import { Skull } from 'lucide-svelte'
|
import { Skull } from 'lucide-svelte';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Skull/>
|
<Skull />
|
||||||
```
|
```
|
||||||
|
|
||||||
You can pass additional props to adjust the icon.
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<script>
|
<script>
|
||||||
import { Camera } from 'lucide-svelte'
|
import { Camera } from 'lucide-svelte';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Camera />
|
<Camera color="#ff3e98" />
|
||||||
```
|
```
|
||||||
|
|
||||||
### Available props
|
### Available props
|
||||||
|
|
||||||
| name | type | default
|
| name | type | default |
|
||||||
| -------------- | -------- | --------
|
| ------------- | -------- | ------------ |
|
||||||
| `size` | *Number* | 24
|
| `size` | _Number_ | 24 |
|
||||||
| `color` | *String* | currentColor
|
| `color` | _String_ | currentColor |
|
||||||
| `strokeWidth` | *Number* | 2
|
| `strokeWidth` | _Number_ | 2 |
|
||||||
| `*<SVGProps>` | *String* | -
|
| `*<SVGProps>` | _String_ | - |
|
||||||
|
|
||||||
\* All SVGProps are available to style the svgs. See the list of SVG Presentation Attributes on [MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/Presentation)
|
\* All SVGProps are available to style the svgs. See the list of SVG Presentation Attributes on [MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/Presentation)
|
||||||
|
|
||||||
@@ -53,10 +55,10 @@ import { Camera } from 'lucide-svelte'
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<script>
|
<script>
|
||||||
import { Phone } from 'lucide-svelte'
|
import { Phone } from 'lucide-svelte';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Phone fill="#333"/>
|
<Phone fill="#333" />
|
||||||
```
|
```
|
||||||
|
|
||||||
This results a filled phone icon.
|
This results a filled phone icon.
|
||||||
@@ -69,20 +71,20 @@ It is possible to create one generic icon component to load icons.
|
|||||||
|
|
||||||
#### Icon Component Example
|
#### Icon Component Example
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<script>
|
<script>
|
||||||
import * as icons from "lucide-svelte";
|
import * as icons from 'lucide-svelte';
|
||||||
export let name;
|
export let name;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:component this={icons[name]} {...$$props}/>
|
<svelte:component this="{icons[name]}" {...$$props} />
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Then you can use it like this
|
##### Then you can use it like this
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<script>
|
<script>
|
||||||
import LucideIcon from "./LucideIcon";
|
import LucideIcon from './LucideIcon';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<LucideIcon name="Menu" />
|
<LucideIcon name="Menu" />
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Implementation of the lucide icon library for Vue 3 applications.
|
Implementation of the lucide icon library for Vue 3 applications.
|
||||||
|
|
||||||
> ⚠️ This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue-next](lucide-vue)
|
> ⚠️ This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue](lucide-vue)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ npm install lucide-vue-next
|
|||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
It's build with ESmodules so it's completely threeshakable.
|
It's build with ESmodules so it's completely tree-shakable.
|
||||||
Each icon can be imported as a vue component.
|
Each icon can be imported as a vue component.
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
@@ -35,15 +35,8 @@ You can pass additional props to adjust the icon.
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script setup>
|
||||||
// Returns Vue component
|
|
||||||
import { Camera } from 'lucide-vue-next';
|
import { Camera } from 'lucide-vue-next';
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "My Component",
|
|
||||||
components: { Camera }
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -53,8 +46,8 @@ export default {
|
|||||||
| ------------ | -------- | --------
|
| ------------ | -------- | --------
|
||||||
| `size` | *Number* | 24
|
| `size` | *Number* | 24
|
||||||
| `color` | *String* | currentColor
|
| `color` | *String* | currentColor
|
||||||
| `strokeWidth`| *Number* | 2
|
| `stroke-width`| *Number* | 2
|
||||||
| `defaultClass`| *String* | lucide-icon
|
| `default-class`| *String* | lucide-icon
|
||||||
|
|
||||||
### Custom props
|
### Custom props
|
||||||
|
|
||||||
@@ -76,25 +69,25 @@ It is possible to create one generic icon component to load icons.
|
|||||||
|
|
||||||
``` html
|
``` html
|
||||||
<template>
|
<template>
|
||||||
<component :is="icon" />
|
<component :is="icon" :size="size" :color="color" :stroke-width="strokeWidth" :default-class="defaultClass" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script setup>
|
||||||
|
import { computed } from 'vue';
|
||||||
import * as icons from "lucide-vue-next";
|
import * as icons from "lucide-vue-next";
|
||||||
|
|
||||||
export default {
|
const props = defineProps({
|
||||||
props: {
|
name: {
|
||||||
name: {
|
type: String,
|
||||||
type: String,
|
required: true
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
setup(props) {
|
size: Number,
|
||||||
const icon = computed(() => icons[props.name])
|
color: String,
|
||||||
|
strokeWidth: Number,
|
||||||
|
defaultClass: String
|
||||||
|
})
|
||||||
|
|
||||||
return { icon }
|
const icon = computed(() => icons[props.name]);
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -107,3 +100,4 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
```
|
```
|
||||||
|
All other props listed above also work on the `Icon` Component.
|
||||||
|
|||||||
@@ -8,55 +8,53 @@ Implementation of the lucide icon library for Vue applications.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-vue
|
yarn add lucide-vue
|
||||||
|
```
|
||||||
|
|
||||||
# or
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
npm install lucide-vue
|
npm install lucide-vue
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
It's build with ESmodules so it's completely threeshakable.
|
It's build with ESmodules so it's completely tree-shakable.
|
||||||
Each icon can be imported as a vue component.
|
Each icon can be imported as a vue component.
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
You can pass additional props to adjust the icon.
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<template>
|
<template>
|
||||||
<Camera
|
<Camera color="red" :size="32" />
|
||||||
color="red"
|
|
||||||
:size="32"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Returns Vue component
|
// Returns Vue component
|
||||||
import { Camera } from 'lucide-vue';
|
import { Camera } from 'lucide-vue';
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "My Component",
|
|
||||||
components: { Camera }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'My Component',
|
||||||
|
components: { Camera }
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default
|
| name | type | default |
|
||||||
| ------------ | -------- | --------
|
| -------------- | -------- | ------------ |
|
||||||
| `size` | *Number* | 24
|
| `size` | _Number_ | 24 |
|
||||||
| `color` | *String* | currentColor
|
| `color` | _String_ | currentColor |
|
||||||
| `strokeWidth`| *Number* | 2
|
| `strokeWidth` | _Number_ | 2 |
|
||||||
| `defaultClass`| *String* | lucide-icon
|
| `defaultClass` | _String_ | lucide-icon |
|
||||||
|
|
||||||
### Custom props
|
### Custom props
|
||||||
|
|
||||||
You can also pass custom props that will be added in the svg as attributes.
|
You can also pass custom props that will be added in the svg as attributes.
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<template>
|
<template>
|
||||||
<Camera fill="red" />
|
<Camera fill="red" />
|
||||||
</template>
|
</template>
|
||||||
@@ -70,33 +68,33 @@ It is possible to create one generic icon component to load icons.
|
|||||||
|
|
||||||
#### Icon Component Example
|
#### Icon Component Example
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<template>
|
<template>
|
||||||
<component :is="icon" />
|
<component :is="icon" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as icons from "lucide-vue";
|
import * as icons from 'lucide-vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
computed: {
|
||||||
computed: {
|
icon() {
|
||||||
icon() {
|
return icons[this.name];
|
||||||
return icons[this.name];
|
}
|
||||||
},
|
}
|
||||||
},
|
};
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Then you can use it like this
|
##### Then you can use it like this
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<Icon name="Airplay" />
|
<Icon name="Airplay" />
|
||||||
|
|||||||
@@ -6,15 +6,19 @@ Implementation of the lucide icon library for web applications.
|
|||||||
|
|
||||||
### Package Managers
|
### Package Managers
|
||||||
|
|
||||||
``` bash
|
```sh
|
||||||
npm install lucide
|
npm install lucide
|
||||||
#or
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
yarn add lucide
|
yarn add lucide
|
||||||
```
|
```
|
||||||
|
|
||||||
### CDN
|
### CDN
|
||||||
|
|
||||||
``` html
|
```html
|
||||||
<!-- Development version -->
|
<!-- Development version -->
|
||||||
<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.js"></script>
|
<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.js"></script>
|
||||||
|
|
||||||
@@ -44,7 +48,7 @@ Here is a complete example with unpkg
|
|||||||
|
|
||||||
### With ESModules
|
### With ESModules
|
||||||
|
|
||||||
To reduce bundle size, lucide is built to be fully treeshakable.
|
To reduce bundle size, lucide is built to be fully tree-shakable.
|
||||||
The `createIcons` function will search for HTMLElements with the attribute `icon-name` and replace it with the svg from the given icon name.
|
The `createIcons` function will search for HTMLElements with the attribute `icon-name` and replace it with the svg from the given icon name.
|
||||||
|
|
||||||
```html
|
```html
|
||||||
@@ -56,7 +60,7 @@ The `createIcons` function will search for HTMLElements with the attribute `icon
|
|||||||
import { createIcons, icons } from 'lucide';
|
import { createIcons, icons } from 'lucide';
|
||||||
|
|
||||||
// Caution, this will import all the icons and bundle them.
|
// Caution, this will import all the icons and bundle them.
|
||||||
createIcons({icons});
|
createIcons({ icons });
|
||||||
|
|
||||||
// Recommended way, to include only the icons you need.
|
// Recommended way, to include only the icons you need.
|
||||||
import { createIcons, Menu, ArrowRight, Globe } from 'lucide';
|
import { createIcons, Menu, ArrowRight, Globe } from 'lucide';
|
||||||
@@ -65,8 +69,8 @@ createIcons({
|
|||||||
icons: {
|
icons: {
|
||||||
Menu,
|
Menu,
|
||||||
ArrowRight,
|
ArrowRight,
|
||||||
Globe,
|
Globe
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -83,9 +87,9 @@ createIcons({
|
|||||||
attrs: {
|
attrs: {
|
||||||
class: ['my-custom-class', 'icon'],
|
class: ['my-custom-class', 'icon'],
|
||||||
'stroke-width': 1,
|
'stroke-width': 1,
|
||||||
stroke: '#333',
|
stroke: '#333'
|
||||||
},
|
},
|
||||||
nameAttr: 'icon-name', // attribute for the icon name.
|
nameAttr: 'icon-name' // attribute for the icon name.
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -98,8 +102,8 @@ createIcons({
|
|||||||
icons: {
|
icons: {
|
||||||
Menu,
|
Menu,
|
||||||
ArrowRight,
|
ArrowRight,
|
||||||
Globe,
|
Globe
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
17
icons/accessibility.svg
Normal 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="16" cy="4" r="1" />
|
||||||
|
<path d="m18 19 1-7-5.87.94" />
|
||||||
|
<path d="m5 8 3-3 5.5 3-2.21 3.1" />
|
||||||
|
<path d="M4.24 14.48c-.19.58-.27 1.2-.23 1.84a5 5 0 0 0 5.31 4.67c.65-.04 1.25-.2 1.8-.46" />
|
||||||
|
<path d="M13.76 17.52c.19-.58.27-1.2.23-1.84a5 5 0 0 0-5.31-4.67c-.65.04-1.25.2-1.8.46" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 504 B |
16
icons/air-vent.svg
Normal 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="M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2" />
|
||||||
|
<path d="M6 8h12" />
|
||||||
|
<path d="M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12" />
|
||||||
|
<path d="M6.6 15.6A2 2 0 1 0 10 17v-5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 440 B |
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M5 17H4a2 2 0 01-2-2V5a2 2 0 012-2h16a2 2 0 012 2v10a2 2 0 01-2 2h-1" />
|
<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" />
|
||||||
<polygon points="12 15 17 21 7 21 12 15" />
|
<polygon points="12 15 17 21 7 21 12 15" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 344 B |
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 21a8 8 0 100-16 8 8 0 000 16z" />
|
<path d="M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16z" />
|
||||||
<path d="M5 3L2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="M22 6l-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="M6 19l-2 2" />
|
<path d="m6 19-2 2" />
|
||||||
<path d="M18 19l2 2" />
|
<path d="m18 19 2 2" />
|
||||||
<path d="M9 13l2 2 4-4" />
|
<path d="m9 13 2 2 4-4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 388 B After Width: | Height: | Size: 390 B |
@@ -9,9 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M19.94 14A8 8 0 0010 5.25m8.13 12.89A8 8 0 116.87 6.86" />
|
<path d="M6.87 6.87a8 8 0 1 0 11.26 11.26" />
|
||||||
<path d="M22 6l-3-3" />
|
<path d="M19.9 14.25A7.44 7.44 0 0 0 20 13a8 8 0 0 0-8-8 7.44 7.44 0 0 0-1.25.1" />
|
||||||
<path d="M6 19l-2 2" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="M2 2l20 20" />
|
<path d="m6 19-2 2" />
|
||||||
<path d="M4 4L2 6" />
|
<path d="m2 2 20 20" />
|
||||||
|
<path d="M4 4 2 6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 380 B After Width: | Height: | Size: 442 B |
@@ -11,8 +11,8 @@
|
|||||||
>
|
>
|
||||||
<circle cx="12" cy="13" r="8" />
|
<circle cx="12" cy="13" r="8" />
|
||||||
<path d="M12 9v4l2 2" />
|
<path d="M12 9v4l2 2" />
|
||||||
<path d="M5 3L2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="M22 6l-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="M6 19l-2 2" />
|
<path d="m6 19-2 2" />
|
||||||
<path d="M18 19l2 2" />
|
<path d="m18 19 2 2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 370 B |
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 21a8 8 0 100-16 8 8 0 000 16z" />
|
<path d="M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16z" />
|
||||||
<path d="M5 3L2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="M22 6l-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="M6 19l-2 2" />
|
<path d="m6 19-2 2" />
|
||||||
<path d="M18 19l2 2" />
|
<path d="m18 19 2 2" />
|
||||||
<path d="M9 13h6" />
|
<path d="M9 13h6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 384 B |
@@ -9,11 +9,11 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 21a8 8 0 100-16 8 8 0 000 16z" />
|
<path d="M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16z" />
|
||||||
<path d="M5 3L2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="M22 6l-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="M6 19l-2 2" />
|
<path d="m6 19-2 2" />
|
||||||
<path d="M18 19l2 2" />
|
<path d="m18 19 2 2" />
|
||||||
<path d="M12 10v6" />
|
<path d="M12 10v6" />
|
||||||
<path d="M9 13h6" />
|
<path d="M9 13h6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 408 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z" />
|
<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" />
|
||||||
<line x1="12" y1="9" x2="12" y2="13" />
|
<line x1="12" y1="9" x2="12" y2="13" />
|
||||||
<line x1="12" y1="17" x2="12.01" y2="17" />
|
<line x1="12" y1="17" x2="12.01" y2="17" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 385 B |
@@ -10,8 +10,8 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M2 12h20" />
|
<path d="M2 12h20" />
|
||||||
<path d="M10 16v4a2 2 0 01-2 2H6a2 2 0 01-2-2v-4" />
|
<path d="M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4" />
|
||||||
<path d="M10 8V4a2 2 0 00-2-2H6a2 2 0 00-2 2v4" />
|
<path d="M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4" />
|
||||||
<path d="M20 16v1a2 2 0 01-2 2h-2a2 2 0 01-2-2v-1" />
|
<path d="M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1" />
|
||||||
<path d="M14 8V7c0-1.1.9-2 2-2h2a2 2 0 012 2v1" />
|
<path d="M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 457 B |
@@ -10,8 +10,8 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 2v20" />
|
<path d="M12 2v20" />
|
||||||
<path d="M8 10H4a2 2 0 01-2-2V6c0-1.1.9-2 2-2h4" />
|
<path d="M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4" />
|
||||||
<path d="M16 10h4a2 2 0 002-2V6a2 2 0 00-2-2h-4" />
|
<path d="M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4" />
|
||||||
<path d="M8 20H7a2 2 0 01-2-2v-2c0-1.1.9-2 2-2h1" />
|
<path d="M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1" />
|
||||||
<path d="M16 14h1a2 2 0 012 2v2a2 2 0 01-2 2h-1" />
|
<path d="M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 457 B |
|
Before Width: | Height: | Size: 407 B After Width: | Height: | Size: 407 B |
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 361 B |
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 360 B |
@@ -11,5 +11,5 @@
|
|||||||
>
|
>
|
||||||
<circle cx="12" cy="5" r="3" />
|
<circle cx="12" cy="5" r="3" />
|
||||||
<line x1="12" y1="22" x2="12" y2="8" />
|
<line x1="12" y1="22" x2="12" y2="8" />
|
||||||
<path d="M5 12H2a10 10 0 0020 0h-3" />
|
<path d="M5 12H2a10 10 0 0 0 20 0h-3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 325 B After Width: | Height: | Size: 327 B |
18
icons/angry.svg
Normal 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"
|
||||||
|
>
|
||||||
|
<circle cx="12" cy="12" r="10" />
|
||||||
|
<path d="M16 16s-1.5-2-4-2-4 2-4 2" />
|
||||||
|
<path d="M7.5 8 10 9" />
|
||||||
|
<path d="m14 9 2.5-1" />
|
||||||
|
<path d="M9 10h0" />
|
||||||
|
<path d="M15 10h0" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 386 B |
16
icons/annoyed.svg
Normal 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="12" r="10" />
|
||||||
|
<path d="M8 15h8" />
|
||||||
|
<path d="M8 9h2" />
|
||||||
|
<path d="M14 9h2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 312 B |
14
icons/apple.svg
Normal 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 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z" />
|
||||||
|
<path d="M10 2c1 .5 2 2 2 5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 423 B |
17
icons/archive-restore.svg
Normal 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"
|
||||||
|
>
|
||||||
|
<rect x="2" y="4" width="20" height="5" rx="2" />
|
||||||
|
<path d="M12 13v7" />
|
||||||
|
<path d="m9 16 3-3 3 3" />
|
||||||
|
<path d="M4 9v9a2 2 0 0 0 2 2h2" />
|
||||||
|
<path d="M20 9v9a2 2 0 0 1-2 2h-2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 391 B |
@@ -9,5 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M20 9v9a2 2 0 01-2 2H6a2 2 0 01-2-2V9m16-5H4a2 2 0 00-2 2v1a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm-10 9h4" />
|
<rect x="2" y="4" width="20" height="5" rx="2" />
|
||||||
|
<path d="M4 9v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9" />
|
||||||
|
<path d="M10 13h4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 339 B |
16
icons/armchair.svg
Normal 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="M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3" />
|
||||||
|
<path d="M3 11v5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v2H7v-2a2 2 0 0 0-4 0Z" />
|
||||||
|
<path d="M5 18v2" />
|
||||||
|
<path d="M19 18v2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 403 B |
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M3 12l7-7v4h11v6H10v4z" />
|
<path d="m3 12 7-7v4h11v6H10v4z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 246 B |
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M21 12l-7-7v4H3v6h11v4z" />
|
<path d="m21 12-7-7v4H3v6h11v4z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 246 B |
16
icons/arrow-up-down.svg
Normal 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"
|
||||||
|
>
|
||||||
|
<polyline points="11 17 7 21 3 17"/>
|
||||||
|
<line x1="7" y1="21" x2="7" y2="9"/>
|
||||||
|
<polyline points="21 7 17 3 13 7"/>
|
||||||
|
<line x1="17" y1="15" x2="17" y2="3"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 365 B |
@@ -10,6 +10,6 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 6v12" />
|
<path d="M12 6v12" />
|
||||||
<path d="M17.196 9L6.804 15" />
|
<path d="M17.196 9 6.804 15" />
|
||||||
<path d="M6.804 9l10.392 6" />
|
<path d="m6.804 9 10.392 6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 299 B |
@@ -10,5 +10,5 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="12" cy="12" r="4" />
|
<circle cx="12" cy="12" r="4" />
|
||||||
<path d="M16 8v5a3 3 0 006 0v-1a10 10 0 10-3.92 7.94" />
|
<path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 305 B |
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="12" cy="8" r="7" />
|
<circle cx="12" cy="8" r="6" />
|
||||||
<polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88" />
|
<path d="M15.477 12.89 17 22l-5-3-5 3 1.523-9.11" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 297 B |
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<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="m14 12-8.501 8.501a2.12 2.12 0 0 1-2.998 0h-.002a2.12 2.12 0 0 1 0-2.998L11 9.002" />
|
||||||
<path d="M9 7l4-4 6 6h3l-.13.648a7.648 7.648 0 01-5.081 5.756L15 16v-3z" />
|
<path d="m9 7 4-4 6 6h3l-.13.648a7.648 7.648 0 0 1-5.081 5.756L15 16v-3z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 381 B After Width: | Height: | Size: 384 B |
14
icons/axis-3d.svg
Normal 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="M4 4v16h16" />
|
||||||
|
<path d="m4 20 7-7" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 259 B |
16
icons/baby.svg
Normal 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="M9 12h0.01" />
|
||||||
|
<path d="M15 12h0.01" />
|
||||||
|
<path d="M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5" />
|
||||||
|
<path d="M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 469 B |
17
icons/backpack.svg
Normal 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="M4 20V10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z" />
|
||||||
|
<path d="M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2" />
|
||||||
|
<path d="M8 21v-5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v5" />
|
||||||
|
<path d="M8 10h8" />
|
||||||
|
<path d="M8 18h8" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 452 B |
17
icons/baggage-claim.svg
Normal 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 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2" />
|
||||||
|
<path d="M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10" />
|
||||||
|
<rect x="8" y="6" width="13" height="8" rx="1" />
|
||||||
|
<circle cx="18" cy="20" r="2" />
|
||||||
|
<circle cx="9" cy="20" r="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 441 B |
14
icons/banana.svg
Normal 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="M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5" />
|
||||||
|
<path d="M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 418 B |
16
icons/bar-chart-3.svg
Normal 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="M3 3v18h18" />
|
||||||
|
<path d="M18 17V9" />
|
||||||
|
<path d="M13 17V5" />
|
||||||
|
<path d="M8 17v-3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 306 B |
16
icons/bar-chart-4.svg
Normal 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="M3 3v18h18" />
|
||||||
|
<path d="M13 17V9" />
|
||||||
|
<path d="M18 17V5" />
|
||||||
|
<path d="M8 17v-3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 306 B |
16
icons/bar-chart-horizontal.svg
Normal 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="M3 3v18h18" />
|
||||||
|
<path d="M7 16h8" />
|
||||||
|
<path d="M7 11h12" />
|
||||||
|
<path d="M7 6h3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 303 B |
15
icons/baseline.svg
Normal 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="M4 20h16" />
|
||||||
|
<path d="m6 16 6-12 6 12" />
|
||||||
|
<path d="M8 12h8" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 286 B |
17
icons/bath.svg
Normal 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="M9 6 6.5 3.5a1.5 1.5 0 0 0-1-.5C4.683 3 4 3.683 4 4.5V17a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5" />
|
||||||
|
<line x1="10" y1="5" x2="8" y2="7" />
|
||||||
|
<line x1="2" y1="12" x2="22" y2="12" />
|
||||||
|
<line x1="7" y1="19" x2="7" y2="21" />
|
||||||
|
<line x1="17" y1="19" x2="17" y2="21" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 480 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M14 7h2a2 2 0 012 2v6a2 2 0 01-2 2h-3" />
|
<path d="M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2" />
|
||||||
<path d="M7 7H4a2 2 0 00-2 2v6a2 2 0 002 2h2" />
|
<path d="M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1" />
|
||||||
<polyline points="11 7 8 12 12 12 9 17" />
|
<path d="m11 7-3 5h4l-3 5" />
|
||||||
<line x1="22" x2="22" y1="11" y2="13" />
|
<line x1="22" x2="22" y1="11" y2="13" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 400 B After Width: | Height: | Size: 393 B |
@@ -11,7 +11,7 @@
|
|||||||
>
|
>
|
||||||
<rect x="2" y="7" width="16" height="10" rx="2" ry="2" />
|
<rect x="2" y="7" width="16" height="10" rx="2" ry="2" />
|
||||||
<line x1="22" x2="22" y1="11" y2="13" />
|
<line x1="22" x2="22" y1="11" y2="13" />
|
||||||
<line x1="6" x2="6" y1="10" y2="14" />
|
<line x1="6" x2="6" y1="11" y2="13" />
|
||||||
<line x1="10" x2="10" y1="10" y2="14" />
|
<line x1="10" x2="10" y1="11" y2="13" />
|
||||||
<line x1="14" x2="14" y1="10" y2="14" />
|
<line x1="14" x2="14" y1="11" y2="13" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 438 B After Width: | Height: | Size: 438 B |
@@ -11,5 +11,5 @@
|
|||||||
>
|
>
|
||||||
<rect x="2" y="7" width="16" height="10" rx="2" ry="2" />
|
<rect x="2" y="7" width="16" height="10" rx="2" ry="2" />
|
||||||
<line x1="22" x2="22" y1="11" y2="13" />
|
<line x1="22" x2="22" y1="11" y2="13" />
|
||||||
<line x1="6" x2="6" y1="10" y2="14" />
|
<line x1="6" x2="6" y1="11" y2="13" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 352 B |
@@ -11,6 +11,6 @@
|
|||||||
>
|
>
|
||||||
<rect x="2" y="7" width="16" height="10" rx="2" ry="2" />
|
<rect x="2" y="7" width="16" height="10" rx="2" ry="2" />
|
||||||
<line x1="22" x2="22" y1="11" y2="13" />
|
<line x1="22" x2="22" y1="11" y2="13" />
|
||||||
<line x1="6" x2="6" y1="10" y2="14" />
|
<line x1="6" x2="6" y1="11" y2="13" />
|
||||||
<line x1="10" x2="10" y1="10" y2="14" />
|
<line x1="10" x2="10" y1="11" y2="13" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 395 B |
@@ -10,6 +10,6 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M4.5 3h15" />
|
<path d="M4.5 3h15" />
|
||||||
<path d="M6 3v16a2 2 0 002 2h8a2 2 0 002-2V3" />
|
<path d="M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3" />
|
||||||
<path d="M6 14h12" />
|
<path d="M6 14h12" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 312 B |
16
icons/bean-off.svg
Normal 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="M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1" />
|
||||||
|
<path d="M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66" />
|
||||||
|
<path d="M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04" />
|
||||||
|
<line x1="2" y1="2" x2="22" y2="22" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 502 B |
14
icons/bean.svg
Normal 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="M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z" />
|
||||||
|
<path d="M5.341 10.62A4 4 0 1 0 10.62 5.34" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 404 B |
16
icons/bed-double.svg
Normal 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="M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8" />
|
||||||
|
<path d="M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4" />
|
||||||
|
<path d="M12 4v6" />
|
||||||
|
<path d="M2 18h20" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 368 B |
15
icons/bed-single.svg
Normal 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="M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8" />
|
||||||
|
<path d="M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4" />
|
||||||
|
<path d="M3 18h18" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 345 B |
16
icons/bed.svg
Normal 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="M2 4v16" />
|
||||||
|
<path d="M2 8h18a2 2 0 0 1 2 2v10" />
|
||||||
|
<path d="M2 17h20" />
|
||||||
|
<path d="M6 8v9" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 317 B |
17
icons/beer.svg
Normal 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 11h1a3 3 0 0 1 0 6h-1" />
|
||||||
|
<path d="M9 12v6" />
|
||||||
|
<path d="M13 12v6" />
|
||||||
|
<path d="M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z" />
|
||||||
|
<path d="M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 531 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M13.73 21a2 2 0 01-3.46 0" />
|
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
|
||||||
<path d="M21 5h-6" />
|
<path d="M21 5h-6" />
|
||||||
<path d="M18.021 9C18.29 15.193 21 17 21 17H3s3-2 3-9a6 6 0 017-5.916" />
|
<path d="M18.021 9C18.29 15.193 21 17 21 17H3s3-2 3-9a6 6 0 0 1 7-5.916" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 352 B |
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M13.73 21a2 2 0 01-3.46 0" />
|
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
|
||||||
<path d="M18.63 13A17.888 17.888 0 0118 8" />
|
<path d="M18.63 13A17.888 17.888 0 0 1 18 8" />
|
||||||
<path d="M6.26 6.26A5.86 5.86 0 006 8c0 7-3 9-3 9h14" />
|
<path d="M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14" />
|
||||||
<path d="M18 8a6 6 0 00-9.33-5" />
|
<path d="M18 8a6 6 0 0 0-9.33-5" />
|
||||||
<path d="M2 2l20 20" />
|
<path d="m2 2 20 20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 419 B After Width: | Height: | Size: 425 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M18.387 12C19.198 15.799 21 17 21 17H3s3-2 3-9a6 6 0 017-5.916" />
|
<path d="M18.387 12C19.198 15.799 21 17 21 17H3s3-2 3-9a6 6 0 0 1 7-5.916" />
|
||||||
<path d="M13.73 21a2 2 0 01-3.46 0" />
|
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
|
||||||
<path d="M18 2v6" />
|
<path d="M18 2v6" />
|
||||||
<path d="M21 5h-6" />
|
<path d="M21 5h-6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 377 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9" />
|
<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" />
|
||||||
<path d="M13.73 21a2 2 0 01-3.46 0" />
|
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
|
||||||
<path d="M2 8c0-2.2.7-4.3 2-6" />
|
<path d="M2 8c0-2.2.7-4.3 2-6" />
|
||||||
<path d="M22 8a10 10 0 00-2-6" />
|
<path d="M22 8a10 10 0 0 0-2-6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 378 B After Width: | Height: | Size: 382 B |
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9" />
|
<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" />
|
||||||
<path d="M13.73 21a2 2 0 01-3.46 0" />
|
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 309 B |
@@ -11,5 +11,5 @@
|
|||||||
>
|
>
|
||||||
<circle cx="5.5" cy="17.5" r="3.5" />
|
<circle cx="5.5" cy="17.5" r="3.5" />
|
||||||
<circle cx="18.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" />
|
<path d="M15 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-3 11.5V14l-3-3 4-3 2 3h2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 365 B |
@@ -9,8 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M10 4H6v6h4V4z" />
|
<path d="M6 20h4" />
|
||||||
<path d="M18 14h-4v6h4v-6z" />
|
<path d="M14 10h4" />
|
||||||
<path d="M14 4h2v6m-2 0h4" />
|
<path d="M6 14h2v6" />
|
||||||
<path d="M6 14h2v6m-2 0h4" />
|
<path d="M14 4h2v6" />
|
||||||
|
<rect x="6" y="4" width="4" height="6" />
|
||||||
|
<rect x="14" y="14" width="4" height="6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 395 B |
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042l-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893l-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042l.348-1.97M7.48 20.364l3.126-17.727" />
|
<path d="M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 455 B After Width: | Height: | Size: 452 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M7 7l10 10-5 5V2l5 5L7 17" />
|
<path d="m7 7 10 10-5 5V2l5 5L7 17" />
|
||||||
<line x1="18" y1="12" y2="12" x2="21" />
|
<line x1="18" y1="12" y2="12" x2="21" />
|
||||||
<line x1="3" y1="12" y2="12" x2="6" />
|
<line x1="3" y1="12" y2="12" x2="6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 333 B After Width: | Height: | Size: 333 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M17 17l-5 5V12l-5 5" />
|
<path d="m17 17-5 5V12l-5 5" />
|
||||||
<path d="M2 2l20 20" />
|
<path d="m2 2 20 20" />
|
||||||
<path d="M14.5 9.5L17 7l-5-5v4.5" />
|
<path d="M14.5 9.5 17 7l-5-5v4.5" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 307 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M7 7l10 10-5 5V2l5 5L7 17" />
|
<path d="m7 7 10 10-5 5V2l5 5L7 17" />
|
||||||
<path d="M20.83 14.83a4 4 0 000-5.66" />
|
<path d="M20.83 14.83a4 4 0 0 0 0-5.66" />
|
||||||
<path d="M18 12h.01" />
|
<path d="M18 12h.01" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 320 B |