Compare commits

...

78 Commits

Author SHA1 Message Date
Deniz Abdurrahmani
ea89735f67 feat(icons): added list-filter-plus icon (#2645)
* Added icons/list-filter-plus.svg

* Added icons/list-filter-plus.json

* Move plus to the top line

* Optimize top line and plus gap

* Grid alignment and gap fixes

* Fix gap violation on middle line

* Optimize gap between plus and middle line

* Fix pixel perfect

* Add category `layout` to metadata
2024-12-05 09:51:03 +01:00
Karsa
53c61c0f48 fix(icons/bell): Lucide-ify bell icons (#2656) 2024-12-05 09:23:27 +01:00
Jakob Guddas
4213367a37 feat(icons): added droplet-off icon (#2641)
* Added icons/droplet-off.svg

* Added icons/droplet-off.json

* Update icons/droplet-off.json
2024-12-04 10:06:49 +01:00
Tom Gotsman
bc22d17fa9 docs(showcase): Add reflex to showcase (#2619)
* Add reflex to showcase

* flip colors as were wrong way around

* moved to used in section

---------

Co-authored-by: Tom Gotsman <tomgotsman@Toms-MacBook-Pro.local>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-12-04 09:56:25 +01:00
nuclearcodecat
7773135308 Update lucide-static.md (#2651) 2024-12-04 09:48:15 +01:00
Jamie Law
4f740348cd fix(icons): Update flask icons (#2659)
* Update flask icons

* Reduce liquid level
2024-12-04 09:47:00 +01:00
Eric Fennis
ca50dd8bc8 chore(metadata): Cleanup categories and some renaming (#2592)
* Delete and rename categories

* Adjust icon categories

* Update categories

* Update metadata

* Update categories/math.json

Co-authored-by: Karsa <contact@karsa.org>

---------

Co-authored-by: Karsa <contact@karsa.org>
2024-12-04 09:39:26 +01:00
Jakob Guddas
6b19d52ab0 fix(icons): changed picture-in-picture icon (#2481)
* Updated icons/picture-in-picture.svg

* Updated icons/picture-in-picture.json

* Updated icons/picture-in-picture.svg

* Updated icons/picture-in-picture.svg

* Updated icons/picture-in-picture.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-12-03 12:45:15 +01:00
Jakob Guddas
7fc3467761 fix(icons): changed paperclip icon (#2482)
* Updated icons/paperclip.svg

* Updated icons/paperclip.json

* Updated icons/paperclip.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-12-03 12:44:52 +01:00
Jakob Guddas
ee575f6ae9 fix(icons): combined layers and layers-3 icon (#2596)
* Updated icons/layers.svg

* Updated icons/layers.json

* chore: removed layers-3 icon

* Update tools/build-icons/utils/deprecationReasonTemplate.mjs

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-12-03 11:36:22 +01:00
Eric Fennis
212b488dae Fix empy icon page (#2650) 2024-11-29 19:02:31 +01:00
Sunshio
4f038d5fe8 feat(docs): add Bun.sh support to documentation (#2642) 2024-11-29 09:11:30 +01:00
Jakob Guddas
5ca6bc3385 feat(icons): added image-upscale icon (#2462)
* Added icons/image-upscale.svg

* Added icons/image-upscale.json

* Updated icons/image-upscale.svg

* Updated icons/image-upscale.svg

* Updated icons/image-upscale.svg

* Update icons/image-upscale.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-11-27 10:48:27 +01:00
Jakob Guddas
15e4b6b69d fix(icons): changed ship icon (#2548)
* Updated icons/ship.svg

* Updated icons/ship.json
2024-11-26 14:35:47 +01:00
Jakob Guddas
407b55f57c fix(icons): made the venetian-mask icon a bit bigger and change the eye whole shape to a single line to not violate the 2px gap rule (#1950)
* Updated icons/venetian-mask.svg

* Updated icons/venetian-mask.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-11-26 09:53:50 +01:00
Karsa
6fc7297199 feat(docs): add icon showcase to icon page (#2229)
* feat(docs): add icon showcase to icon page

* feat(docs): add pretty name to button

* fix(docs): adjust color for icon counter

* Revert icons changes

* Revert meta data changes

* Revert grid changes

* Fix build

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-11-26 09:52:39 +01:00
Jakob Guddas
c21df35283 fix(metadata): added window related tags to grid-2x2 icon metadata file (#2628)
* Updated icons/grid-2x2.svg

* Updated icons/grid-2x2.json
2024-11-26 08:25:42 +01:00
Jakob Guddas
775359260c fix(icons): changed shuffle icon (#2478)
* Updated icons/shuffle.svg

* Updated icons/shuffle.json
2024-11-25 20:23:29 +01:00
Kyle Angelo Galendez
eaeef9ae37 feat(icons): added calendar-sync icon (#2590)
* Rename box-select.svg to square-dashed.svg

* Update and rename box-select.json to square-dashed.json

* Add aliases

* Added icons/calendar-sync.svg

* Added icons/calendar-sync.json

* Delete icons/square-dashed.json

* Delete icons/square-dashed.svg

* Optimize calendar-sync.svg

* Move arrows 0.5px down

* Update icons/calendar-sync.svg

Co-authored-by: Jakob Guddas <github@jguddas.de>

* Maintain icon symmetry

* Remove files category from meta data

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-11-25 19:56:54 +01:00
dependabot[bot]
636f966a98 build(deps-dev): bump vite in /packages/lucide-react (#2484)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.13 to 5.1.8.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.1.8/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-11-25 19:52:07 +01:00
Eric Fennis
1d5c725b58 Fix path image backer 2024-11-25 12:03:56 +01:00
Karsa
d9a011994a feat(readme): add pdfme as an awesome backer (#2639) 2024-11-25 12:01:29 +01:00
Eric Fennis
c6c645ca7f docs(readme): Update readme files (#2634)
* Update readme files

* Update readme files

* Fix typos react native readme

* Add back headings
2024-11-25 12:01:13 +01:00
Colin Williams
91391eea7b feat(angular): add support for angular 19 (#2637) (#2638) 2024-11-25 07:35:08 +01:00
Jakob Guddas
49070b4d1f Updated icons/scale-3d.svg (#2627) 2024-11-22 10:23:49 +01:00
Nicolas Boyer
ae43473aa6 Added documentation about Svelte 5 (#2621)
Svelte 5 specifics including removing the "ComponentType" typescript type as components are now static. 
Also merged some imports into one-liners as we don't need to import each icon in a single line.
2024-11-22 10:07:48 +01:00
Jakob Guddas
392bc961aa chore: add bluesky to brand filter (#2617) 2024-11-17 12:50:59 +01:00
Eric Fennis
f238fe1b18 replace extension build config (#2615) 2024-11-16 09:43:23 +01:00
Ethan Hazel
4d91fbb588 feat(icons): Add toilet icon (#2141)
* Added tiolet icon

* fixed typo lol

* fixed formatting with SVG

* fixed typo on tags for Toilet

* Updated icon to add more arcs by jguddas

* Updated toilet json to work with linter

* revert teamData.json

* fix(teamData): Reverted accidental changes from Prettier

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2024-11-15 18:45:21 +01:00
dependabot[bot]
d939a7005d build(deps): bump rollup from 2.79.1 to 3.29.5 (#2613)
Bumps [rollup](https://github.com/rollup/rollup) from 2.79.1 to 3.29.5.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.79.1...v3.29.5)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 13:59:22 +01:00
齋藤 恵介
2c55c2ab93 feat(icons): added equal-approximately icon (#2594)
* Added icons/equal-approximately.svg

* Added icons/equal-approximately.json
2024-11-15 13:57:25 +01:00
Lennard Scheibel
cb60e31162 Add cloud-alert icon (#2611) 2024-11-15 13:55:56 +01:00
Eric Fennis
09cebe178d feat(lucide-svelte): Aliased imports for direct imports (#2584)
* Add way to import aliased icons directly

* Format files

* Fix tests

* Format files
2024-11-15 13:51:58 +01:00
Jakob Guddas
0f3fd12f16 fix(icons): update drill icon (#1919)
* Updated icons/drill.svg

* Updated icons/drill.svg

* Updated icons/drill.json

* Updated icons/drill.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-11-15 12:45:41 +01:00
Jakob Guddas
4b0d17ad24 feat(icons): added laptop-minimal-check icon (#2563)
* Added icons/laptop-minimal-check.svg

* Added icons/laptop-minimal-check.json

* Update laptop-minimal-check.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-11-15 12:23:26 +01:00
Epifânio Francisco
30fe706dd6 fix: #2566 expand card beyond max-width limit by adjusting CSS (#2605) 2024-11-15 12:20:37 +01:00
Jakob Guddas
d6178fa471 Updated icons/vegan.svg (#2556) 2024-11-15 11:59:27 +01:00
Jakob Guddas
855cb4985d fix(icons): changed heading-4 icon (#2546)
* Updated icons/heading-4.svg

* Updated icons/heading-4.json
2024-11-15 11:58:19 +01:00
Jakob Guddas
9f99ea510f fix(icons): changed hard-hat icon (#2559)
* Updated icons/hard-hat.svg

* Updated icons/hard-hat.json

* Updated icons/hard-hat.json
2024-11-15 11:57:00 +01:00
Jakob Guddas
e2ee0c77e7 fix(icons): changed cross icon (#2578)
* Updated icons/cross.svg

* Updated icons/cross.json

* Updated icons/cross.json
2024-11-15 11:56:14 +01:00
Jakob Guddas
d041d5c2d2 fix(icons): arcified school icon (#2598)
* Updated icons/school.svg

* Updated icons/school.json

* Updated icons/school.svg
2024-11-15 11:54:54 +01:00
Jamie Law
8700418260 Optimise puzzle icon (#2603)
Redraw some bezier curves as arcs
2024-11-15 11:32:25 +01:00
Arthur Green
30077f913f docs: update lucide-svelte.md (#2609) 2024-11-15 11:31:15 +01:00
Jamie Law
bc09d5f283 fix(icons): changed bath icon (#2512)
* Update bath.svg

Replaced `<line/>` elements with `<path/>`s and refined the curve of the shower head to use fewer path segments and have a larger radius

* Update bath.json

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
2024-11-15 11:30:38 +01:00
Karsa
88c757f540 fix(icons): Fix rounding to hand-platter icon (#2326)
* feat(icons): add rounding to hand-platter icon

* Update hand-platter.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Jakob Guddas <github@jguddas.de>
2024-11-11 11:45:36 +01:00
Jakob Guddas
f93beca595 Updated icons/glass-water.svg (#2579) 2024-11-08 16:49:34 +01:00
Eric Fennis
b1777430b9 feat(lucide-react, lucide-preact, lucide-react-native, lucide-solid, lucide-vue-next): Adjustable icon naming imports (#2328)
* Add override alias import entry files lucide-react

* Make it work

* Setup files for packages

* Revert icon changes

* Remove solid support and add docs

* Adjust docs

* format files

* Fix lucide-vue-next build

* Fix builds

* Fix lucide-svelte

* Add vscode settings option
2024-11-08 16:47:53 +01:00
Eric Fennis
d30698cb38 ci(pull-request): Fix generate comments for empty changes (#2593) 2024-11-08 16:00:23 +01:00
Jamie Law
d2f7a0931d feat(icons): added air-pressure icon (#2554)
* Add `air-pressure` icon

And slightly modified the `wind` icon to match

* Rename `air-pressure` to `wind-arrow-down`

And update the JSON file with contributors to the original `wind` icon and add `pressure` as a tag
2024-11-08 09:53:10 +01:00
Jakob Guddas
98bbcc4b06 fix(icons): changed slice icon (#2500)
* Updated icons/slice.svg

* Updated icons/slice.json
2024-11-08 09:40:38 +01:00
Jan
c253cb821b update code example for lucide-svelte direct import (#2589)
* update code example for lucide-svelte direct import

* use single quotes
2024-11-08 08:45:19 +01:00
Jakob Guddas
484dc38b0a Updated icons/undo-dot.svg (#2557) 2024-11-05 08:33:56 +01:00
dependabot[bot]
11b95f883a build(deps-dev): bump rollup from 3.27.0 to 3.29.5 (#2571)
Bumps [rollup](https://github.com/rollup/rollup) from 3.27.0 to 3.29.5.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v3.27.0...v3.29.5)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-31 10:23:32 +01:00
Eric Fennis
b8cd54f1b2 chore: Update dependencies (#2570)
* Update dependencies

* Revert dep change site

* Update lockfile

* Fix indentation
2024-10-30 13:31:28 +01:00
Jakob Guddas
98b3b6fae7 fix(icons): changed file-music icon (#2536)
* Updated icons/file-music.svg

* Updated icons/file-music.json
2024-10-30 10:12:25 +01:00
Mofiro Jean
3ca465ee11 (docs) update lucide angular guide for standalone components (#2569) 2024-10-30 09:32:47 +01:00
Jamie Law
dcd19cedc9 fix(icons): changed pizza icon (#2476)
* Lucidified pizza.svg

Rounded the corners of the pizza slice and spaced out the pepperoni to address the two-pixel-gap rule

* Update pizza.json

* Update pizza.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-10-28 14:41:30 +01:00
Jakob Guddas
8cea9feecc fix(icons): added rounding to star icon (#1987)
* Updated icons/star.svg

* Updated icons/star.json

* Updated icons/star.svg

* Updated icons/star-half.svg

* Updated icons/star-half.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-10-28 14:30:02 +01:00
Willem Dinkelspiel
e80d98040f Add Lustre Lucide third party package (#2543)
* add lucide lustre to third party packages

* add lustre logo
2024-10-28 13:54:13 +01:00
Eric Fennis
a1641a372b fix(shared): Add trim to mergeClasses (#2522)
* Add trim to merge classes

* Add trim to merge classes

* Adds extra utils check

* Update packages/shared/src/utils.ts

Co-authored-by: Max Malm <benjick@dumfan.net>

---------

Co-authored-by: Max Malm <benjick@dumfan.net>
2024-10-28 13:53:42 +01:00
Peter Uithoven
757bf0fb85 feat(icons): added calendar-1 icon (#2520)
* Added icons/calendar-single.svg

* Added icons/calendar-single.json

* Adjust calendar position

Adjust calendar position based on original

* Update name

* Add tag 1

* Optimize 1 path

* Add first tag

---------

Co-authored-by: peteruithoven <peter@metabolic.nl>
2024-10-15 04:11:47 +02:00
Ishaan
dd3aed1ecd Update icon-design-guide.md (#2530) 2024-10-13 23:39:41 +02:00
Jamie Law
4d98681f05 refactor(icons): optimised some align-, indent- and list-icons (#2528)
* Update `align`- icons

* Update `indent`- icons

* Update `list`- icons
2024-10-11 20:29:36 +02:00
Jakob Guddas
bde9e1cb6b Updated icons/component.svg (#2474) 2024-10-08 11:10:02 +02:00
Jakob Guddas
a5e07c28bd fix(icons): changed package icon (#2499)
* Updated icons/package.svg

* Updated icons/package.svg

* Updated icons/package.json
2024-10-08 10:44:49 +02:00
Jamie Law
2a68b12cbe fix(icons): Updated sandwich icon (#2494)
* Updated `sandwich` icon

Rounded the top-front corners, and better aligned the top-most corner of the bread, and the corner of the filling to the grid

* Update sandwich.svg

Nudge filling to the left to maintain a two-pixel gap

* Widen the sandwich
2024-10-08 10:41:30 +02:00
Jakob Guddas
493382b4fd fix(icons): changed parking-meter icon (#2505)
* Updated icons/parking-meter.svg

* Updated icons/parking-meter.json
2024-10-08 10:37:01 +02:00
Karsa
6588971ead fix(site): use the same camel/pascal same conversion as when releasing packages (#2509) 2024-10-08 10:36:35 +02:00
Jamie Law
13cea45e8b refactor(icons): optimised some move- icons (#2513)
* Update move.svg

Replace `<polyline/>`s with `<path/>`s

* Update move-vertical.svg

* Update move-horizontal.svg

* Update move-diagonal.svg

* Update move-diagonal-2.svg
2024-10-08 10:34:11 +02:00
dependabot[bot]
5dfcfc8d1a build(deps): bump rollup from 4.21.0 to 4.22.4 (#2521)
Bumps [rollup](https://github.com/rollup/rollup) from 4.21.0 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.21.0...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 10:29:31 +02:00
Mohit Nagaraj
db24b1d517 fix(app): #2412 Fix tooltip being cut off (#2514) 2024-10-08 10:29:03 +02:00
Jakob Guddas
e1202b545e tests(shared): added mergeClasses tests (#2503) 2024-10-08 10:24:16 +02:00
Jakob Guddas
2e1a5cf6ea feat(icons): added volleyball icon (#1980)
* chore: pull `volleyball` icon from lab branch

* Updated icons/volleyball.svg

* Updated icons/volleyball.json
2024-10-08 10:19:54 +02:00
Karsa
f49ecd73a5 feat(icons): add eye-closed icon (#2349)
* feat(icons): add eye-closed icon

* feat(icons): update tags on eye-off as well

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-10-08 10:17:49 +02:00
Dipanshu Rawat
a72cbc2d49 add(site): Eric Fennis's twitter link (#2511)
* add: Eric Fennis's twitter link

* ref: twitter domain
2024-10-04 07:59:34 +02:00
Pedro Henrique Windisch
d4976890e5 fix: missing deprecation warning for LinkedIn logo (#2466)
Co-authored-by: Karsa <contact@karsa.org>
2024-10-02 14:49:53 +02:00
Jakob Guddas
8c8d1d3338 fix(categories): fixed charts icon name (#2504) 2024-10-02 09:36:31 +02:00
Kyle Angelo Galendez
542507f835 fix(icons): rename box-select to square-dashed (#2506)
* Rename box-select.svg to square-dashed.svg

* Update and rename box-select.json to square-dashed.json

* Add aliases
2024-10-01 22:13:41 +02:00
568 changed files with 6602 additions and 5277 deletions

View File

@@ -16,7 +16,7 @@ jobs:
- name: Check for blocked phrases in issue title
run: |
ISSUE_TITLE=$(jq -r '.issue.title' "$GITHUB_EVENT_PATH")
BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord")
BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord" "bluesky")
# Check title and body for blocked phrases
for PHRASE in "${BLOCKED_PHRASES[@]}"

View File

@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- packages/lucide-preact/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml

View File

@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- packages/lucide-react-native/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml

View File

@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- packages/lucide-react/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- scripts/generateNextJSAliases.mjs

24
.github/workflows/lucide-shared.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: Lucide Shared Checks
on:
pull_request:
paths:
- packages/shared/**
- pnpm-lock.yaml
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v3.8.1
with:
node-version: 18
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test
run: pnpm --filter lucide-react test

View File

@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- packages/lucide-solid/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml

View File

@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- packages/lucide-svelte/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml

View File

@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- packages/lucide-vue-next/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml

View File

@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- packages/lucide-vue/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml

2
.gitignore vendored
View File

@@ -16,7 +16,9 @@ outlined
packages/**/src/icons/*.js
packages/**/src/icons/*.ts
packages/**/src/icons/*.tsx
packages/**/src/aliases/*.ts
packages/**/src/aliases.ts
!packages/**/src/aliases/index.ts
packages/**/src/dynamicIconImports.ts
packages/**/dynamicIconImports.js
packages/**/dynamicIconImports.d.ts

View File

@@ -127,7 +127,7 @@ When adding new features to for example the icon component for a framework. It i
### 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.
To test changes in a local project, you can use `yarn link`, `npm link`, `bun link` or `pnpm link` to link the package. Before you do this make sure you builded the package first.
```sh
# in packages/lucide-react

261
README.md
View File

@@ -8,185 +8,39 @@
</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://www.figma.com/community/plugin/939567362549682242/Lucide-Icons"><img src="https://img.shields.io/badge/Figma-F24E1E?logo=figma&logoColor=white" 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>
<p align="center">
<a href="https://lucide.dev/icons/">Icons</a>
·
<a href="https://lucide.dev/guide/">Guide</a>
·
<a href="https://lucide.dev/packages">Packages</a>
·
<a href="https://lucide.dev/license">License</a>
·
<a href="https://lucide.dev/showcase">Showcase</a>
</p>
# Lucide
Community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
Lucide is an open-source icon library that provides 1000+ vector (svg) files for displaying icons and symbols in digital and non-digital projects. The library aims to make it easier for designers and developers to incorporate icons into their projects by providing several official [packages](https://lucide.dev/packages) to make it easier to use these icons in your project.
It began after growing dissatisfaction 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.
## Packages
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 and hope that you'll join us!
### Why choose Lucide over Feather Icons
- More icons to work with: Lucide already has hundreds of icons more than Feather does.
- Official libraries and integrations with popular frameworks and design tools.
- Well maintained code base.
- Active community, regularly growing and improving the set.
## Table of Contents
- [Usage](#usage)
- [Web](#web)
- [React](#react)
- [React Native](#react-native)
- [Vue 2](#vue-2)
- [Vue 3](#vue-3)
- [Angular](#angular)
- [Preact](#preact)
- [Static (svg sprite, font, icons ..)](#static-svg-sprite-font-icons-)
- [Figma](#figma)
- [Laravel](#laravel)
- [Svelte](#svelte)
- [Solid](#solid)
- [Hyva](#hyva)
- [Eleventy](#eleventy)
- [Contributing](#contributing)
- [Community](#community)
- [License](#license)
- [Credits](#credits)
- [Sponsors](#sponsors)
## Usage
At its core, Lucide is a collection of [SVG](https://svgontheweb.com/#svg) files. This means that you can use Lucide icons in all the same ways you can use SVGs (e.g. `img`, `background-image`, `inline`, `object`, `embed`, `iframe`). Here's a helpful article detailing the many ways SVGs can be used on the web: [SVG on the Web Implementation Options](https://svgontheweb.com/#implementation)
The following are additional ways you can use Lucide.
With the Javascript library you can easily incorporate the icon you want in your webpage.
### Web
Implementation of the lucide icon library for web applications.
```sh
npm install lucide
```
or
```sh
yarn add lucide
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide#lucide).
### React
Implementation of the lucide icon library for react applications.
```sh
yarn add lucide-react
```
or
```sh
npm install 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
Implementation of the lucide icon library for vue applications.
```sh
yarn add lucide-vue
```
or
```sh
npm install lucide-vue
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue#lucide-vue).
### Vue 3
Implementation of the lucide icon library for vue applications.
```sh
yarn add lucide-vue-next
```
or
```sh
npm install 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
```sh
yarn add lucide-angular
```
or
```sh
npm install lucide-angular
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-angular#lucide-angular).
### Preact
Implementation of the lucide icon library for preact applications.
```sh
yarn add lucide-preact
```
or
```sh
npm install 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 ..)
Assets:
[Font Files](https://github.com/lucide-icons/lucide/releases/latest)
[SVG Files](https://github.com/lucide-icons/lucide/releases/latest)
[SVG Sprite](https://cdn.jsdelivr.net/npm/lucide-static@latest/sprite.svg)
NPM package
```sh
yarn add lucide-static
```
or
```sh
npm install lucide-static
```
| | Package | Version & Downloads | Links |
| --- | --- | --- | --- |
| <img src="https://lucide.dev/framework-logos/js.svg" alt="JS logo" width="48"> | `lucide` | [![npm](https://img.shields.io/npm/v/lucide)](https://www.npmjs.com/package/lucide) ![NPM Downloads](https://img.shields.io/npm/dw/lucide) | [Docs](https://lucide.dev/guide/packages/lucide) [Source](./packages/lucide) |
| <img src="https://lucide.dev/framework-logos/react.svg" alt="React logo" width="48"> | `lucide-react` | [![npm](https://img.shields.io/npm/v/lucide-react)](https://www.npmjs.com/package/lucide-react) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-react) | [Docs](https://lucide.dev/guide/packages/lucide-react) [Source](./packages/lucide-react) |
| <img src="https://lucide.dev/framework-logos/vue.svg" alt="Vue logo" width="48"> | `lucide-vue-next` | [![npm](https://img.shields.io/npm/v/lucide-vue-next)](https://www.npmjs.com/package/lucide-vue-next) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-vue-next) | [Docs](https://lucide.dev/guide/packages/lucide-vue-next) [Source](./packages/lucide-vue-next) |
| <img src="https://lucide.dev/framework-logos/svelte.svg" alt="Svelte logo" width="48"> | `lucide-svelte` | [![npm](https://img.shields.io/npm/v/lucide-svelte)](https://www.npmjs.com/package/lucide-svelte) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-svelte) | [Docs](https://lucide.dev/guide/packages/lucide-svelte) [Source](./packages/lucide-svelte) |
| <img src="https://lucide.dev/framework-logos/solid.svg" alt="Solid logo" width="48"> | `lucide-solid` | [![npm](https://img.shields.io/npm/v/lucide-solid)](https://www.npmjs.com/package/lucide-solid) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-solid) | [Docs](https://lucide.dev/guide/packages/lucide-solid) [Source](./packages/lucide-solid) |
| <img src="https://lucide.dev/framework-logos/preact.svg" alt="Preact logo" width="48"> | `lucide-preact` | [![npm](https://img.shields.io/npm/v/lucide-preact)](https://www.npmjs.com/package/lucide-preact) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-preact) | [Docs](https://lucide.dev/guide/packages/lucide-preact) [Source](./packages/lucide-preact) |
| <img src="https://lucide.dev/framework-logos/react-native.svg" alt="React Native logo" width="48"> | `lucide-react-native` | [![npm](https://img.shields.io/npm/v/lucide-react-native)](https://www.npmjs.com/package/lucide-react-native) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-react-native) | [Docs](https://lucide.dev/guide/packages/lucide-react-native) [Source](./packages/lucide-react-native) |
| <img src="https://lucide.dev/framework-logos/angular.svg" alt="Angular logo" width="48"> | `lucide-angular` | [![npm](https://img.shields.io/npm/v/lucide-angular)](https://www.npmjs.com/package/lucide-angular) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-angular) | [Docs](https://lucide.dev/guide/packages/lucide-angular) [Source](./packages/lucide-angular) |
| <img src="https://lucide.dev/framework-logos/svg.svg" alt="SVG logo" width="48"> | `lucide-static` | [![npm](https://img.shields.io/npm/v/lucide-static)](https://www.npmjs.com/package/lucide-static) ![NPM Downloads](https://img.shields.io/npm/dw/lucide-static) | [Docs](https://lucide.dev/guide/packages/lucide-static) [Source](./packages/lucide-static) |
### Figma
@@ -196,68 +50,6 @@ Visit [Figma community page](https://www.figma.com/community/plugin/939567362549
<img width="420" src="https://www.figma.com/community/plugin/939567362549682242/thumbnail" alt="Figma Lucide Cover">
### Laravel
Implementation of Lucide icon's using `blade-icons` for Laravel based projects.
```sh
composer require mallardduck/blade-lucide-icons
```
For more details, see the [documentation](https://github.com/mallardduck/blade-lucide-icons/blob/main/README.md).
### 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).
### Eleventy
Using this plugin, Eleventy projects can incorporate Lucide icons. it makes it simple to use Lucide icons into your themes via shortcodes, improving your website's overall usability and visual appeal.
```sh
npm install @grimlink/eleventy-plugin-lucide-icons
```
For more details, see the [documentation](https://github.com/GrimLink/eleventy-plugin-lucide-icons/blob/main/README.md).
## Contributing
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md).
@@ -287,6 +79,7 @@ Thank you to all the people who contributed to Lucide!
<a href="https://www.digitalocean.com/?refcode=b0877a2caebd&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"><img src="docs/public/digitalocean.svg" width="200" alt="DigitalOcean Referral Badge" /></a>
### Awesome backer 🍺
### Awesome backers 🍺
<a href="https://www.scipress.io?utm_source=lucide"><img src="docs/public/sponsors/scipress.svg" width="180" alt="Scipress sponsor badge" /></a>
<a href="https://github.com/pdfme/pdfme"><img src="docs/public/sponsors/pdfme.svg" width="180" alt="pdfme sponsor badge" /></a>

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Charts",
"icon": "pie-chart"
"icon": "chart-pie"
}

View File

@@ -1,5 +0,0 @@
{
"$schema": "../category.schema.json",
"title": "Currency",
"icon": "dollar-sign"
}

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Money",
"title": "Finance",
"icon": "piggy-bank"
}

View File

@@ -1,5 +0,0 @@
{
"$schema": "../category.schema.json",
"title": "Furniture",
"icon": "rocking-chair"
}

View File

@@ -1,5 +0,0 @@
{
"$schema": "../category.schema.json",
"title": "Maps",
"icon": "map"
}

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Maths",
"title": "Mathematics",
"icon": "divide"
}

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Notifications",
"title": "Notification",
"icon": "triangle-alert"
}

0
comment-markup.md Normal file
View File

View File

@@ -35,10 +35,6 @@
"name": "connectivity",
"title": "Connectivity"
},
{
"name": "currency",
"title": "Currency"
},
{
"name": "cursors",
"title": "Cursors"
@@ -64,12 +60,12 @@
"title": "File icons"
},
{
"name": "food-beverage",
"title": "Food & beverage"
"name": "finance",
"title": "Money"
},
{
"name": "furniture",
"title": "Furniture"
"name": "food-beverage",
"title": "Food & beverage"
},
{
"name": "gaming",
@@ -88,21 +84,13 @@
"title": "Mail"
},
{
"name": "maps",
"title": "Maps"
},
{
"name": "maths",
"title": "Maths"
"name": "math",
"title": "Math"
},
{
"name": "medical",
"title": "Medical"
},
{
"name": "money",
"title": "Money"
},
{
"name": "multimedia",
"title": "Multimedia"
@@ -117,7 +105,7 @@
},
{
"name": "notifications",
"title": "Notifications"
"title": "Notification"
},
{
"name": "people",

View File

@@ -14,5 +14,13 @@
"light": "/library-logos/tamagui.svg",
"dark": "/library-logos/tamagui.svg"
}
},
{
"name": "Reflex",
"url": "https://reflex.dev",
"image": {
"light": "/library-logos/reflex-light.svg",
"dark": "/library-logos/reflex-dark.svg"
}
}
]

View File

@@ -31,24 +31,8 @@
}
]
},
"lucide-vue": {
"order": 2,
"icon": "vue",
"shields": [
{
"alt": "npm",
"src": "https://img.shields.io/npm/v/lucide-vue",
"href": "https://www.npmjs.com/package/lucide-vue"
},
{
"alt": "npm",
"src": "https://img.shields.io/npm/dw/lucide-vue",
"href": "https://www.npmjs.com/package/lucide-vue"
}
]
},
"lucide-vue-next": {
"order": 3,
"order": 2,
"icon": "vue-next",
"shields": [
{
@@ -64,7 +48,7 @@
]
},
"lucide-svelte": {
"order": 4,
"order": 3,
"icon": "svelte",
"shields": [
{
@@ -95,24 +79,8 @@
}
]
},
"lucide-preact": {
"order": 5,
"icon": "preact",
"shields": [
{
"alt": "npm",
"src": "https://img.shields.io/npm/v/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
},
{
"alt": "npm",
"src": "https://img.shields.io/npm/dw/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
}
]
},
"lucide-react-native": {
"order": 6,
"order": 5,
"icon": "react-native",
"shields": [
{
@@ -128,7 +96,7 @@
]
},
"lucide-angular": {
"order": 7,
"order": 6,
"icon": "angular",
"shields": [
{
@@ -143,6 +111,22 @@
}
]
},
"lucide-preact": {
"order": 7,
"icon": "preact",
"shields": [
{
"alt": "npm",
"src": "https://img.shields.io/npm/v/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
},
{
"alt": "npm",
"src": "https://img.shields.io/npm/dw/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
}
]
},
"lucide-static": {
"order": 8,
"icon": "svg",

View File

@@ -76,5 +76,24 @@
],
"source": "https://github.com/swisnl/nuxt-lucide-icons",
"documentation": "https://github.com/swisnl/nuxt-lucide-icons/blob/main/README.md"
},
{
"name": "lucide-lustre",
"description": "A library providing https://lucide.dev icons to lustre",
"icon": "/framework-logos/lustre.webp",
"shields": [
{
"alt": "Latest Stable Version",
"src": "https://img.shields.io/hexpm/v/lucide_lustre",
"href": "https://hex.pm/packages/lucide_lustre"
},
{
"alt": "Total Downloads",
"src": "https://img.shields.io/hexpm/dw/lucide_lustre",
"href": "https://hex.pm/packages/lucide_lustre"
}
],
"source": "https://github.com/dinkelspiel/lucide_lustre",
"documentation": "https://github.com/dinkelspiel/lucide_lustre/blob/master/README.md"
}
]

View File

@@ -11,7 +11,7 @@
},
{
"icon": "x",
"link": "https://github.com/ericfennis"
"link": "https://x.com/ericfennis"
}
]
},

View File

@@ -46,6 +46,10 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
text: 'Filled icons',
link: '/guide/advanced/filled-icons',
},
{
text: 'Aliased Names',
link: '/guide/advanced/aliased-names',
},
// {
// text: 'Combining icons',
// },
@@ -68,10 +72,6 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
text: 'Lucide React',
link: '/guide/packages/lucide-react',
},
{
text: 'Lucide React Native',
link: '/guide/packages/lucide-react-native',
},
{
text: 'Lucide Vue',
link: '/guide/packages/lucide-vue-next',
@@ -85,13 +85,17 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
link: '/guide/packages/lucide-solid',
},
{
text: 'Lucide Preact',
link: '/guide/packages/lucide-preact',
text: 'Lucide React Native',
link: '/guide/packages/lucide-react-native',
},
{
text: 'Lucide Angular',
link: '/guide/packages/lucide-angular',
},
{
text: 'Lucide Preact',
link: '/guide/packages/lucide-preact',
},
{
text: 'Lucide Static',
link: '/guide/packages/lucide-static',

View File

@@ -42,7 +42,7 @@ onMounted(() => {
font-weight: 400;
background: var(--vp-c-brand-dark);
color: white;
z-index: 10;
z-index: 99;
white-space: nowrap;
padding: 2px 8px;
border-radius: 4px;

View File

@@ -9,7 +9,7 @@ export default {
}
return null;
})
.then((res) => res.tag_name);
.then((res) => res?.tag_name);
return {
version,

View File

@@ -171,16 +171,14 @@ watch(absoluteStrokeWidth, (enabled) => {
margin-top: 32px;
padding: 0;
background: none;
max-width: 280px;
}
@media (min-width: 640px) {
.card {
display: grid;
grid-template-columns: 8fr 10fr;
}
/*
/*
.card-column {
flex: 1;
} */

View File

@@ -1,98 +1,98 @@
<script setup lang="ts">
import { computed } from 'vue';
import { startCase, camelCase } from 'lodash-es'
import ButtonMenu from '../base/ButtonMenu.vue'
import { toPascalCase } from '@lucide/shared';
import ButtonMenu from '../base/ButtonMenu.vue';
import { useIconStyleContext } from '../../composables/useIconStyle';
import useConfetti from '../../composables/useConfetti';
const props = defineProps<{
name: string
popoverPosition?: 'top' | 'bottom'
}>()
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext()
const { animate, confetti } = useConfetti()
name: string;
popoverPosition?: 'top' | 'bottom';
}>();
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext();
const { animate, confetti } = useConfetti();
const componentName = computed(() => {
return startCase(camelCase(props.name)).replace(/\s/g, '')
})
return (toPascalCase(props.name) as string).replace(/\s/g, '');
});
function copyJSX() {
let attrs = ['']
let attrs = [''];
if (size.value && size.value !== 24) {
attrs.push(`size={${size.value}}`)
attrs.push(`size={${size.value}}`);
}
if (color.value && color.value !== 'currentColor') {
attrs.push(`color="${color.value}"`)
attrs.push(`color="${color.value}"`);
}
if (strokeWidth.value && strokeWidth.value !== 2) {
attrs.push(`strokeWidth={${strokeWidth.value}}`)
attrs.push(`strokeWidth={${strokeWidth.value}}`);
}
if (absoluteStrokeWidth.value) {
attrs.push(`absoluteStrokeWidth`)
attrs.push(`absoluteStrokeWidth`);
}
const code = `<${componentName.value}${attrs.join(' ')} />`
const code = `<${componentName.value}${attrs.join(' ')} />`;
navigator.clipboard.writeText(code)
navigator.clipboard.writeText(code);
}
function copyComponentName() {
const code = componentName.value
const code = componentName.value;
navigator.clipboard.writeText(code)
navigator.clipboard.writeText(code);
}
function copyVue() {
let attrs = ['']
let attrs = [''];
if (size.value && size.value !== 24) {
attrs.push(`:size="${size.value}"`)
attrs.push(`:size="${size.value}"`);
}
if (color.value && color.value !== 'currentColor') {
attrs.push(`color="${color.value}"`)
attrs.push(`color="${color.value}"`);
}
if (strokeWidth.value && strokeWidth.value !== 2) {
attrs.push(`:stroke-width="${strokeWidth.value}"`)
attrs.push(`:stroke-width="${strokeWidth.value}"`);
}
if (absoluteStrokeWidth.value) {
attrs.push(`absoluteStrokeWidth`)
attrs.push(`absoluteStrokeWidth`);
}
const code = `<${componentName.value}${attrs.join(' ')} />`
const code = `<${componentName.value}${attrs.join(' ')} />`;
navigator.clipboard.writeText(code)
navigator.clipboard.writeText(code);
}
function copyAngular() {
let attrs = ['']
let attrs = [''];
attrs.push(`name="${props.name}"`)
attrs.push(`name="${props.name}"`);
if (size.value && size.value !== 24) {
attrs.push(`[size]="${size.value}"`)
attrs.push(`[size]="${size.value}"`);
}
if (color.value && color.value !== 'currentColor') {
attrs.push(`color="${color.value}"`)
attrs.push(`color="${color.value}"`);
}
if (strokeWidth.value && strokeWidth.value !== 2) {
attrs.push(`[strokeWidth]="${strokeWidth.value}"`)
attrs.push(`[strokeWidth]="${strokeWidth.value}"`);
}
if (absoluteStrokeWidth.value) {
attrs.push(`[absoluteStrokeWidth]="true"`)
attrs.push(`[absoluteStrokeWidth]="true"`);
}
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`;
navigator.clipboard.writeText(code)
navigator.clipboard.writeText(code);
}
</script>
@@ -106,11 +106,11 @@ function copyAngular() {
data-confetti-text="Copied!"
:popoverPosition="popoverPosition"
:options="[
{ text: 'Copy JSX' , onClick: copyJSX },
{ text: 'Copy Component Name' , onClick: copyComponentName },
{ text: 'Copy Vue' , onClick: copyVue },
{ text: 'Copy Svelte' , onClick: copyJSX },
{ text: 'Copy Angular' , onClick: copyAngular },
{ text: 'Copy JSX', onClick: copyJSX },
{ text: 'Copy Component Name', onClick: copyComponentName },
{ text: 'Copy Vue', onClick: copyVue },
{ text: 'Copy Svelte', onClick: copyJSX },
{ text: 'Copy Angular', onClick: copyAngular },
]"
/>
</template>

View File

@@ -0,0 +1,438 @@
<script setup lang="ts">
import type { IconEntity } from '../../types';
import { computed } from 'vue';
import createLucideIcon from 'lucide-vue-next/src/createLucideIcon.ts';
import Calendar from '../../../data/iconDetails/calendar.ts';
import Clock from '../../../data/iconDetails/clock.ts';
import Bug from '../../../data/iconDetails/bug.ts';
import Rocket from '../../../data/iconDetails/rocket.ts';
import TriangleAlert from '../../../data/iconDetails/triangle-alert.ts';
import PartyPopper from '../../../data/iconDetails/party-popper.ts';
import Scissors from '../../../data/iconDetails/scissors.ts';
import Copy from '../../../data/iconDetails/copy.ts';
import Save from '../../../data/iconDetails/save.ts';
import Clipboard from '../../../data/iconDetails/clipboard.ts';
import MessageCircle from '../../../data/iconDetails/message-circle.ts';
import ThumbsDown from '../../../data/iconDetails/thumbs-down.ts';
import ThumbsUp from '../../../data/iconDetails/thumbs-up.ts';
import Heart from '../../../data/iconDetails/heart.ts';
import Folder from '../../../data/iconDetails/folder.ts';
import Files from '../../../data/iconDetails/files.ts';
import Plus from '../../../data/iconDetails/plus.ts';
import File from '../../../data/iconDetails/file.ts';
import FileText from '../../../data/iconDetails/file-text.ts';
const props = defineProps<{
name: IconEntity['name'];
iconNode: IconEntity['iconNode'];
}>();
const iconComponent = computed(() => {
if (!props.name || !props.iconNode) return null;
return createLucideIcon(props.name, props.iconNode);
});
const CalendarIcon = createLucideIcon('calendar', Calendar.iconNode);
const ClockIcon = createLucideIcon('clock', Clock.iconNode);
const BugIcon = createLucideIcon('bug', Bug.iconNode);
const RocketIcon = createLucideIcon('rocket', Rocket.iconNode);
const AlertTriangleIcon = createLucideIcon('alert-triangle', TriangleAlert.iconNode);
const ScissorsIcon = createLucideIcon('scissors', Scissors.iconNode);
const CopyIcon = createLucideIcon('copy', Copy.iconNode);
const SaveIcon = createLucideIcon('save', Save.iconNode);
const ClipboardIcon = createLucideIcon('clipboard', Clipboard.iconNode);
const PartyPopperIcon = createLucideIcon('party-popper', PartyPopper.iconNode);
const HeartIcon = createLucideIcon('heart', Heart.iconNode);
const ThumbsUpIcon = createLucideIcon('thumbs-up', ThumbsUp.iconNode);
const ThumbsDownIcon = createLucideIcon('thumbs-down', ThumbsDown.iconNode);
const MessageCircleIcon = createLucideIcon('message-circle', MessageCircle.iconNode);
const FolderIcon = createLucideIcon('folder.ts', Folder.iconNode);
const FilesIcon = createLucideIcon('files.ts', Files.iconNode);
const PlusIcon = createLucideIcon('plus.ts', Plus.iconNode);
const FileIcon = createLucideIcon('file.ts', File.iconNode);
const FileTextIcon = createLucideIcon('file-text.ts', FileText.iconNode);
const prettyName = props.name
.split('-')
.at(0)
.split('')
.map((character, index) => (index === 0 ? character.toUpperCase() : character))
.join('');
</script>
<template>
<section class="showcase">
<h2 class="title">See this icon in action</h2>
<div class="showcase-grid">
<div class="showcase-item column">
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder narrow"></div>
<div class="spacer"></div>
<div class="actions">
<button class="button button-brand">
<iconComponent />
{{ prettyName }}
</button>
<button class="button button-alt">Cancel</button>
</div>
</div>
<div class="showcase-item column">
<div class="placeholder narrow"></div>
<div class="input-wrapper">
<CalendarIcon v-if="name !== 'calendar'" />
<ClockIcon v-if="name == 'calendar'" />
<input
type="text"
v-if="name !== 'calendar'"
placeholder="Enter a date..."
/>
<input
type="text"
v-if="name == 'calendar'"
placeholder="Enter a time..."
/>
</div>
<div class="spacer"></div>
<div class="placeholder narrow"></div>
<div class="input-wrapper">
<iconComponent />
<input
type="text"
placeholder="Enter a value..."
/>
</div>
</div>
<div class="showcase-item column">
<div
class="row"
v-if="name !== 'bug'"
>
<div class="placeholder"></div>
<div class="badge badge-red">
<BugIcon :size="20" />
Bug
</div>
</div>
<div
class="row"
v-else
>
<div class="placeholder"></div>
<div class="badge badge-red">
<AlertTriangleIcon :size="20" />
Alert
</div>
</div>
<div class="row">
<div class="placeholder"></div>
<div class="badge badge-indigo">
<RocketIcon
:size="20"
v-if="name !== 'rocket'"
/>
<PartyPopperIcon
:size="20"
v-else
/>
Feature
</div>
</div>
<div class="row">
<div class="placeholder"></div>
<div class="badge badge-green">
<iconComponent :size="20" />
{{ prettyName }}
</div>
</div>
</div>
<div class="showcase-item column">
<button class="button button-alt button-square">
<FolderIcon v-if="name !== 'folder'" />
<FilesIcon v-else />
Documents
<PlusIcon class="ms-auto" />
</button>
<button class="button button-alt button-square">
<FileIcon v-if="name !== 'file'" />
<FileTextIcon v-else />
Readme
</button>
<button class="button button-alt button-square">
<iconComponent />
{{ prettyName }}
<span class="badge-notification ms-auto">12</span>
</button>
</div>
<div class="showcase-item column">
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder narrow"></div>
<div class="spacer"></div>
<div class="actions">
<div class="icon-counter">
<HeartIcon v-if="name !== 'heart'" />
<ThumbsUpIcon v-else />
112
</div>
<div class="spacer"></div>
<div class="icon-counter">
<MessageCircleIcon v-if="name !== 'message-circle'" />
<ThumbsDownIcon v-else />
8
</div>
<div class="spacer"></div>
<div class="icon-counter">
<iconComponent />
11
</div>
</div>
</div>
<div class="showcase-item">
<div class="column align-items-center">
<div class="actions justify-content-center">
<button class="button button-icon">
<CopyIcon v-if="name !== 'copy'" />
<SaveIcon v-else />
</button>
<button class="button button-icon">
<ScissorsIcon v-if="name !== 'scissors'" />
<SaveIcon v-else />
</button>
<button class="button button-icon">
<ClipboardIcon v-if="name !== 'clipboard'" />
<SaveIcon v-else />
</button>
<button class="button button-icon">
<iconComponent></iconComponent>
<span class="badge-notification">2</span>
</button>
</div>
<div class="spacer"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
</div>
</div>
</div>
</section>
</template>
<style scoped>
.showcase {
margin-bottom: 32px;
}
.showcase-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 48px;
margin-inline-start: 24px;
margin-block-start: 48px;
}
.showcase-item {
padding: 24px;
border-radius: 8px;
background-color: var(--vp-c-bg);
box-shadow:
var(--vp-shadow-4),
-24px -24px 0 var(--vp-c-bg-soft);
display: flex;
align-items: center;
justify-content: center;
min-height: 240px;
}
.spacer {
flex-basis: 0;
}
.button {
position: relative;
border-radius: 32px;
padding: 8px 16px;
display: flex;
flex-direction: row;
gap: 12px;
font-weight: 500;
transition:
color 0.25s,
border-color 0.25s,
background-color 0.25s;
border-color: var(--vp-button-alt-border);
color: var(--vp-button-alt-text);
background-color: var(--vp-button-alt-bg);
&:hover {
border-color: var(--vp-button-alt-hover-border);
color: var(--vp-button-alt-hover-text);
background-color: var(--vp-button-alt-hover-bg);
}
&.button-brand {
border-color: var(--vp-button-brand-border);
color: var(--vp-button-brand-text);
background-color: var(--vp-button-brand-bg);
&:hover {
border-color: var(--vp-button-brand-hover-border);
color: var(--vp-button-brand-hover-text);
background-color: var(--vp-button-brand-hover-bg);
}
}
&.button-icon {
padding: 12px;
}
&.button-square {
border-radius: 8px;
width: 100%;
}
}
.actions {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
}
.lucide {
flex-shrink: 0;
flex-grow: 0;
}
.placeholder {
display: block;
background-color: var(--vp-c-bg-soft);
border-radius: 32px;
height: 16px;
width: 100%;
&.narrow {
width: 33%;
}
}
.input-wrapper {
position: relative;
width: 100%;
.lucide {
position: absolute;
inset-inline-start: 12px;
inset-block: 50%;
translate: 0 -50%;
color: var(--vp-c-text-1);
opacity: 0.7;
}
input {
padding: 12px 20px;
padding-inline-start: 48px;
border-radius: 8px;
background-color: var(--vp-c-bg-soft);
color: var(--vp-c-text-1);
display: block;
width: 100%;
border: 2px solid transparent;
transition:
color 0.25s,
border-color 0.25s,
background-color 0.25s;
&:hover {
border-color: var(--vp-c-border);
}
&:focus {
border-color: var(--vp-c-brand);
}
}
&:focus-within {
.lucide {
opacity: 1;
}
}
}
.badge {
flex-shrink: 0;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
padding: 4px 8px;
border-radius: 8px;
background-color: transparent;
overflow: hidden;
position: relative;
color: var(--badge-color);
&:before {
content: ' ';
inset: 0;
position: absolute;
background-color: var(--badge-color);
opacity: 0.1;
}
&.badge-indigo {
--badge-color: var(--vp-c-indigo-2);
}
&.badge-green {
--badge-color: var(--vp-c-green-2);
}
&.badge-red {
--badge-color: var(--vp-c-brand);
}
}
.badge-notification {
background-color: var(--vp-c-brand);
color: var(--vp-button-brand-text);
border-radius: 32px;
padding: 0 8px;
min-width: 24px;
min-height: 24px;
}
.button-icon {
.badge-notification {
position: absolute;
top: 0;
right: 0;
translate: 33% -33%;
}
}
.row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
width: 100%;
}
.icon-counter {
display: flex;
flex-direction: row;
gap: 6px;
color: var(--vp-c-text-2);
align-items: center;
}
.column {
display: flex;
flex-direction: column;
gap: 12px;
align-items: start;
width: 100%;
}
.align-items-center {
align-items: center;
}
.justify-content-center {
justify-content: center;
}
.ms-auto {
margin-inline-start: auto;
}
</style>

View File

@@ -14,6 +14,7 @@ import CarbonAdOverlay from './CarbonAdOverlay.vue';
const ICON_SIZE = 56;
const ICON_GRID_GAP = 8;
const DEFAULT_GRID_ITEMS = 10 * 160;
const props = defineProps<{
icons: IconEntity[];
@@ -114,11 +115,23 @@ function handleCloseDrawer() {
/>
</StickyBar>
<NoResults
v-if="list.length === 0"
v-if="list.length === 0 && searchQuery !== ''"
:searchQuery="searchQuery"
@clear="searchQuery = ''"
/>
<div v-bind="wrapperProps" class="icon">
<IconGrid
v-else-if="list.length === 0"
:key="index"
overlayMode
:icons="[...searchResults].splice(0, DEFAULT_GRID_ITEMS)"
:activeIcon="activeIconName"
@setActiveIcon="setActiveIconName"
/>
<div
v-bind="wrapperProps"
class="icon"
v-else
>
<IconGrid
v-for="{ index, data: icons } in list"
:key="index"

View File

@@ -1,29 +1,20 @@
<script setup lang="ts">
import type { IconEntity } from '../../types'
import IconGrid from './IconGrid.vue'
import type { IconEntity } from '../../types';
import IconGrid from './IconGrid.vue';
defineProps<{
icons: IconEntity[]
}>()
icons: IconEntity[];
}>();
</script>
<template>
<section class="related-icons">
<h2 class="title">
Related Icons
</h2>
<IconGrid
:icons="icons"
/>
<h2 class="title">More icons like this</h2>
<IconGrid :icons="icons" />
</section>
</template>
<style scoped>
.title {
margin-bottom: 24px;
font-size: 19px;
font-weight: 500;
}
.related-icons {
margin-bottom: 32px;
}

View File

@@ -0,0 +1,93 @@
# Aliased Names
Icons can have multiple names for the same icon. This is because we choose to rename some icons to make them more consistent with the rest of the icon set, or the name was not generic. For example, the `edit-2` icon is renamed to `pen` to make the name more generic, since it is just a pen icon.
Beside aliases names lucide also includes prefixed and suffixed names to use within your project. This is to prevent import name collisions with other libraries or your own code.
```tsx
// These are all the same icon
import {
Home,
HomeIcon,
LucideHome,
} from "lucide-react";
```
## Choosing import name style
To be consistent in your imports or want to change the autocompletion of Lucide icons in your IDE there an option to able the choose the import name style you want.
This can be done by creating a custom module declaration file to override the lucide imports and turning off the autocomplete in your IDE.
### Turn off autocomplete in your IDE
```json [.vscode/settings.json]
{
"typescript.preferences.autoImportFileExcludePatterns": [
"lucide-react", // or
"lucide-preact", // or
"lucide-react-native", // or
"lucide-vue-next",
]
}
```
### Create a custom module declaration file
Only available for `lucide-react`, `lucide-preact`, `lucide-react-native`, `lucide-vue-next` package.
This will enable you to choose the import name style you want to use in your project.
::: code-group
```ts [React]
declare module "lucide-react" {
// Prefixed import names
export * from "lucide-react/dist/lucide-react.prefixed";
// or
// Suffixed import names
export * from "lucide-react/dist/lucide-react.suffixed";
}
```
```ts [Vue]
declare module "lucide-vue-next" {
// Prefixed import names
export * from "lucide-vue-next/dist/lucide-vue-next.prefixed";
// or
// Suffixed import names
export * from "lucide-vue-next/dist/lucide-vue-next.suffixed";
}
```
```ts [Preact]
declare module "lucide-preact" {
// Prefixed import names
export * from "lucide-preact/dist/lucide-preact.prefixed";
// or
// Suffixed import names
export * from "lucide-preact/dist/lucide-preact.suffixed";
}
```
```ts [React Native]
declare module "lucide-react-native" {
// Prefixed import names
export * from "lucide-react-native/dist/lucide-react-native.prefixed";
// or
// Suffixed import names
export * from "lucide-react-native/dist/lucide-react-native.suffixed";
}
```
:::
Place this in your project root or in a folder where your tsconfig.json is located, or locate it in your defined type directory.
Easiest way is to create a `@types` folder in your project root and name the file `[package-name].d.ts`.
### Import name styles
| Import Style | Available imports | Declaration file import |
| ------------- | --------------------------- | ----------------------- |
| Default | Home, HomeIcon, LucideHome | |
| Prefixed | LucideHome | [package].prefixed |
| Suffixed | HomeIcon | [package].suffixed |

View File

@@ -52,7 +52,7 @@ Here are rules that should be followed to keep quality and consistency when maki
![optical-volume-high](../../images/optical-volume-high.svg?raw=true "optical-volume-high")
**Tip:** place your icon next to circle or square and blur them both; your icon should not feel much darker than the base shape.
**Tip:** place your icon next to the circle or square icon and blur them both; your icon should not feel much darker than the base shape.
### 10. Icons should be visually centered by their center of gravity.
@@ -76,7 +76,7 @@ Here are rules that should be followed to keep quality and consistency when maki
![curvature-uneven](../../images/curvature-uneven.svg?raw=true "curvature-uneven")
**Tip:** make sure to use arcs or quadratic curves, when using cubic curves control points should have mirrored angles for smooth curves.
**Tip:** make sure to use arcs or quadratic curves. When using cubic curves control points should have mirrored angles for smooth curves.
### 13. Icons should aim to be pixel perfect so that they will be sharp on low DPI displays.
@@ -142,7 +142,7 @@ For each icon these attributes are applied, corresponding to the above rules.
### Minify paths
The code of paths can sometimes get quite large. To reduce file size we like to minify the code.
We recommend to use the [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths to 2 points of precision.
We recommend to use [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths to 2 points of precision.
### Allowed elements

View File

@@ -22,6 +22,10 @@ yarn add lucide
npm install lucide
```
```sh [bun]
bun add lucide
```
:::
For more details, see the [documentation](packages/lucide.md).
@@ -44,6 +48,10 @@ yarn add lucide-react
npm install lucide-react
```
```sh [bun]
bun add lucide-react
```
:::
For more details, see the [documentation](packages/lucide-react.md).
@@ -67,6 +75,10 @@ yarn add lucide-vue-next
npm install lucide-vue-next
```
```sh [bun]
bun add lucide-vue-next
```
:::
For more details, see the [documentation](packages/lucide-vue-next.md).
@@ -90,6 +102,10 @@ yarn add lucide-svelte
npm install lucide-svelte
```
```sh [bun]
bun add lucide-svelte
```
:::
For more details, see the [documentation](packages/lucide-svelte.md).
@@ -112,6 +128,10 @@ yarn add lucide-solid
npm install lucide-solid
```
```sh [bun]
bun add lucide-solid
```
:::
For more details, see the [documentation](packages/lucide-solid.md).
@@ -134,6 +154,10 @@ yarn add lucide-angular
npm install lucide-angular
```
```sh [bun]
bun add lucide-angular
```
:::
For more details, see the [documentation](packages/lucide-angular.md).
@@ -156,6 +180,10 @@ yarn add lucide-preact
npm install lucide-preact
```
```sh [bun]
bun add lucide-preact
```
:::
## Static usage
@@ -176,6 +204,10 @@ yarn add lucide-static
npm install lucide-static
```
```sh [bun]
bun add lucide-static
```
:::
For more details, see the [documentation](packages/lucide-static.md).

View File

@@ -18,6 +18,10 @@ yarn add lucide-angular
npm install lucide-angular
```
```sh [bun]
bun add lucide-angular
```
:::
## How to use
@@ -40,14 +44,17 @@ export class AppModule { }
or using standalone version:
```js
import { Component } from '@angular/core';
import { LucideAngularModule, FileIcon } from 'lucide-angular';
@NgModule({
imports: [
LucideAngularModule
]
@Component({
standalone: true,
selector: 'app-root',
templateUrl: './app.component.html',
styleUrl: './app.component.scss',
imports: [LucideAngularModule]
})
export class AppModule {
export class AppComponent {
readonly FileIcon = FileIcon;
}
```

View File

@@ -22,6 +22,10 @@ yarn add lucide-preact
npm install lucide-preact
```
```sh [bun]
bun add lucide-preact
```
:::
## How to use

View File

@@ -20,6 +20,10 @@ yarn add lucide-react-native
npm install lucide-react-native
```
```sh [bun]
bun add lucide-react-native
```
:::
## How to use

View File

@@ -18,6 +18,10 @@ yarn add lucide-react
npm install lucide-react
```
```sh [bun]
bun add lucide-react
```
:::
## How to use

View File

@@ -18,6 +18,10 @@ yarn add lucide-solid
npm install lucide-solid
```
```sh [bun]
bun add lucide-solid
```
:::
## How to use

View File

@@ -33,13 +33,17 @@ yarn add lucide-static
npm install lucide-static
```
```sh [bun]
bun add lucide-static
```
:::
### CDN
```html
<!-- SVG file for a single icon -->
<img src="https://unpkg.com/lucide-static@latest/icons/home.svg" />
<img src="https://unpkg.com/lucide-static@latest/icons/house.svg" />
<!-- Icon font -->
<style>
@@ -62,12 +66,12 @@ To use it in for example html:
```html
<!-- SVG file for a single icon -->
<img src="~lucide-static/icons/home.svg" />
<img src="~lucide-static/icons/house.svg" />
```
```css
.home-icon {
background-image: url(~lucide-static/icons/home.svg);
.house-icon {
background-image: url(~lucide-static/icons/house.svg);
}
```
@@ -90,7 +94,7 @@ You may need additional loader for this.
```html
<!-- Icon Sprite, not recommended for production! -->
<img src="lucide-static/sprite.svg#home" />
<img src="lucide-static/sprite.svg#house" />
<!-- or -->
<svg
@@ -147,7 +151,7 @@ and update the SVG as follows
```
```html
<div class="icon-home"></div>
<div class="icon-house"></div>
```
### Node.js

View File

@@ -7,7 +7,7 @@ Implementation of the lucide icon library for svelte applications.
::: code-group
```sh [pnpm]
pnpm install lucide-svelte
pnpm add lucide-svelte
```
```sh [yarn]
@@ -18,6 +18,10 @@ yarn add lucide-svelte
npm install lucide-svelte
```
```sh [bun]
bun add lucide-svelte
```
:::
## How to use
@@ -52,10 +56,10 @@ For faster builds and load times, you can import icons directly from the `lucide
```svelte
<script>
import AlertCircle from 'lucide-svelte/icons/alert-circle';
import CircleAlert from 'lucide-svelte/icons/circle-alert';
</script>
<AlertCircle color="#ff3e98" />
<CircleAlert color="#ff3e98" />
```
## Props
@@ -87,35 +91,34 @@ The package includes type definitions for all icons. This is useful if you want
### TypeScript Example
#### Svelte 4
```svelte
<script lang="ts">
import Home from 'lucide-svelte/icons/home';
import Library from 'lucide-svelte/icons/library';
import Cog from 'lucide-svelte/icons/cog';
import { Home, Library, Cog, type Icon } from 'lucide-svelte';
import type { ComponentType } from 'svelte';
import type { Icon } from 'lucide-svelte';
type MenuItem = {
name: string;
href: string;
icon: ComponentType<Icon>;
}
};
const menuItems: MenuItem[] = [
{
name: 'Home',
href: '/',
icon: Home,
icon: Home
},
{
name: 'Blog',
href: '/blog',
icon: Library,
icon: Library
},
{
name: 'Projects',
href: '/projects',
icon: Cog,
icon: Cog
}
];
</script>
@@ -128,13 +131,55 @@ The package includes type definitions for all icons. This is useful if you want
{/each}
```
#### Svelte 5
Some changes are required since Svelte 5 [deprecates](https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes-Component-typing-changes) the `ComponentType` typescript type.
```svelte
<script lang="ts">
import { Home, Library, Cog, type Icon as IconType } from 'lucide-svelte';
type MenuItem = {
name: string;
href: string;
icon: typeof IconType;
};
const menuItems: MenuItem[] = [
{
name: 'Home',
href: '/',
icon: Home
},
{
name: 'Blog',
href: '/blog',
icon: Library
},
{
name: 'Projects',
href: '/projects',
icon: Cog
}
];
</script>
{#each menuItems as item}
{@const Icon = item.icon}
<a href={item.href}>
<Icon />
<span>{item.name}</span>
</a>
{/each}
```
### JSDoc Example
#### Svelte 4
```svelte
<script>
import Home from 'lucide-svelte/icons/home';
import Library from 'lucide-svelte/icons/library';
import Cog from 'lucide-svelte/icons/cog';
import { Home, Library, Cog } from 'lucide-svelte';
/**
* @typedef {Object} MenuItem
@@ -162,6 +207,57 @@ The package includes type definitions for all icons. This is useful if you want
}
];
</script>
{#each menuItems as item}
<a href={item.href}>
<svelte:component this={item.icon} />
<span>{item.name}</span>
</a>
{/each}
```
#### Svelte 5
```svelte
<script>
import { Home, Library, Cog } from 'lucide-svelte';
/**
* @typedef {Object} MenuItem
* @property {string} name
* @property {string} href
* @property {typeof import('lucide-svelte').Icon} icon
*/
/** @type {MenuItem[]} */
const menuItems = [
{
name: 'Home',
href: '/',
icon: Home
},
{
name: 'Blog',
href: '/blog',
icon: Library
},
{
name: 'Projects',
href: '/projects',
icon: Cog
}
];
</script>
{#each menuItems as item}
{@const Icon = item.icon}
<a href={item.href}>
<Icon />
<span>{item.name}</span>
</a>
{/each}
```
For more details about typing the `svelte:component` directive, see the [Svelte documentation](https://svelte.dev/docs/typescript#types-componenttype).
@@ -197,13 +293,28 @@ The example below imports all ES Modules, so exercise caution when using it. Imp
### Icon Component Example
#### Svelte 4
```svelte
<script>
import * as icons from 'lucide-svelte';
export let name;
</script>
<svelte:component this="{icons[name]}" {...$$props} />
<svelte:component this={icons[name]} {...$$props} />
```
#### Svelte 5
```svelte
<script>
import * as icons from 'lucide-svelte';
let { name } = $props();
const Icon = icons[name];
</script>
<Icon {...props} />
```
#### Using the Icon Component

View File

@@ -2,12 +2,6 @@
Implementation of the lucide icon library for Vue 3 applications.
## Vue 3 or Vue 2
::: tip
This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue ->](lucide-vue)
:::
## Installation
::: code-group
@@ -24,6 +18,10 @@ yarn add lucide-vue-next
npm install lucide-vue-next
```
```sh [bun]
bun add lucide-vue-next
```
:::
## How to use

View File

@@ -2,15 +2,8 @@
Implementation of the lucide icon library for Vue applications.
::: warning
This package will be deprecated end of 2023. Vue v2 will be EOF at the end of 2023 See [Announcement](https://v2.vuejs.org/lts/). We recommend to migrate to Vue 3.
The Lucide Vue package will be only maintained for Vue 3 after the deprecation.
:::
## Vue 2 or Vue 3
::: tip
This version of lucide is for Vue 2, For Vue 3 go to [lucide-vue-next ->](lucide-vue-next)
::: danger
This package is deprecated. Vue 2 is EOF See [Announcement](https://v2.vuejs.org/eol/). Migrate to Vue 3.
:::
## Installation
@@ -29,6 +22,10 @@ yarn add lucide-vue
npm install lucide-vue
```
```sh [bun]
bun add lucide-vue
```
:::
## How to use

View File

@@ -20,6 +20,10 @@ yarn add lucide
npm install lucide
```
```sh [bun]
bun add lucide
```
:::
### CDN

View File

@@ -14,13 +14,13 @@ import IconPreview from '~/.vitepress/theme/components/icons/IconPreview.vue'
import IconPreviewSmall from '~/.vitepress/theme/components/icons/IconPreviewSmall.vue'
import IconInfo from '~/.vitepress/theme/components/icons/IconInfo.vue'
import IconContributors from '~/.vitepress/theme/components/icons/IconContributors.vue'
import IconShowcase from '~/.vitepress/theme/components/icons/IconShowcase.vue'
import RelatedIcons from '~/.vitepress/theme/components/icons/RelatedIcons.vue'
import CodeGroup from '~/.vitepress/theme/components/base/CodeGroup.vue'
import Badge from '~/.vitepress/theme/components/base/Badge.vue'
import Label from '~/.vitepress/theme/components/base/Label.vue'
import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vue';
import { data } from './codeExamples.data'
import { camelCase, startCase } from 'lodash-es'
import { toCamelCase, toPascalCase } from '@lucide/shared'
import { satisfies } from 'semver'
const { params } = useData()
@@ -31,8 +31,8 @@ const tabs = computed(() => data.codeExamples?.map(
const codeExample = computed(() => data.codeExamples?.map(
(codeExample) => {
const pascalCaseName = startCase(camelCase( params.value.name)).replace(/\s/g, '')
const camelCaseName = camelCase(params.value.name)
const pascalCaseName = toPascalCase( params.value.name)
const camelCaseName = toCamelCase(params.value.name)
return codeExample.code
.replace(/\$(?:<[^>]+>)*PascalCase/g, pascalCaseName)
@@ -105,6 +105,11 @@ function releaseTagLink(version) {
</div>
</div>
<IconShowcase
:name="params.name"
:iconNode="params.iconNode"
/>
<RelatedIcons
v-if="params.relatedIcons"
:icons="params.relatedIcons"
@@ -234,3 +239,12 @@ function releaseTagLink(version) {
}
}
</style>
<style>
section h2.title {
text-align: center;
font-weight: 500;
margin-block-end: 64px;
padding-top: 32px;
}
</style>

View File

@@ -28,7 +28,7 @@
"@lucide/build-icons": "workspace:*",
"@lucide/helpers": "workspace:*",
"@lucide/shared": "workspace:*",
"@rollup/plugin-replace": "^5.0.2",
"@rollup/plugin-replace": "^6.0.1",
"@types/semver": "^7.5.3",
"h3": "^1.8.0",
"nitropack": "2.8.1",
@@ -39,8 +39,8 @@
"@floating-ui/vue": "^1.0.3",
"@headlessui/vue": "^1.7.17",
"@resvg/resvg-wasm": "^2.6.2",
"@vueuse/components": "^10.7.2",
"@vueuse/core": "^10.7.2",
"@vueuse/components": "^12.0.0",
"@vueuse/core": "^12.0.0",
"element-to-path": "^1.2.1",
"fuse.js": "^6.5.3",
"jszip": "^3.7.0",
@@ -57,6 +57,6 @@
"sitemap": "^7.1.1",
"svg-pathdata": "^6.0.3",
"svgson": "^5.2.1",
"vue": "^3.4.13"
"vue": "^3.5.13"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="81" height="16" viewBox="0 0 81 16" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29 16H32V10H39V7H32V4H39V1H29V16ZM42 16H52V13H45V1H42V16ZM55 16H65V13H58.0439L58 10H65V7H58V4H65V1H55V16ZM68 7H71V10H68V16H71V10H78V16H81V10H78V7H81V1H78V7H71V1H68V7Z" fill="#1C2024"/>
<path d="M16 16V1H26V4H19V7H26V10H19L19.0439 13H26V16H16Z" fill="#1C2024"/>
<path d="M10 10V16H13V10H10Z" fill="#1C2024"/>
<path d="M0 1V16H3V10H10V7H3V4H10V7H13V1H0Z" fill="#1C2024"/>
</svg>

After

Width:  |  Height:  |  Size: 522 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="81" height="16" viewBox="0 0 81 16" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29 16H32V10H39V7H32V4H39V1H29V16ZM42 16H52V13H45V1H42V16ZM55 16H65V13H58.0439L58 10H65V7H58V4H65V1H55V16ZM68 7H71V10H68V16H71V10H78V16H81V10H78V7H81V1H78V7H71V1H68V7Z" fill="#FCFCFD"/>
<path d="M16 16V1H26V4H19V7H26V10H19L19.0439 13H26V16H16Z" fill="#FCFCFD"/>
<path d="M10 10V16H13V10H10Z" fill="#FCFCFD"/>
<path d="M0 1V16H3V10H10V7H3V4H10V7H13V1H0Z" fill="#FCFCFD"/>
</svg>

After

Width:  |  Height:  |  Size: 522 B

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22" height="22" width="118" x="4" y="5">
<path fill="#1B1B1F" d="M74.202 17.17c-.875 0-1.63-.181-2.267-.545a3.694 3.694 0 0 1-1.46-1.557c-.341-.674-.512-1.468-.512-2.38 0-.898.17-1.686.512-2.364a3.867 3.867 0 0 1 1.443-1.591c.617-.383 1.342-.574 2.176-.574.538 0 1.045.087 1.523.261.48.17.905.436 1.272.796.371.36.663.818.875 1.375.212.553.319 1.212.319 1.977v.63h-7.154v-1.386h5.182a2.213 2.213 0 0 0-.256-1.05c-.166-.311-.4-.556-.699-.734a1.964 1.964 0 0 0-1.034-.267c-.42 0-.79.103-1.108.307-.318.2-.566.466-.744.796a2.289 2.289 0 0 0-.267 1.073v1.21c0 .508.093.944.278 1.307.186.36.445.637.779.83.333.19.723.284 1.17.284.3 0 .57-.041.813-.125.242-.087.452-.214.63-.38.178-.167.313-.374.404-.62l1.92.216c-.121.508-.352.95-.693 1.33a3.379 3.379 0 0 1-1.295.875c-.527.204-1.13.306-1.807.306Z"/>
<path fill="#1B1B1F" d="M63.498 17.153c-.685 0-1.299-.176-1.84-.528-.542-.352-.97-.864-1.285-1.534-.314-.67-.471-1.485-.471-2.443 0-.97.159-1.788.477-2.455.322-.67.756-1.176 1.301-1.517a3.344 3.344 0 0 1 1.824-.517c.512 0 .932.087 1.262.261.329.17.59.377.784.62.193.238.342.464.448.676h.086V5.364h2.062V17h-2.023v-1.375h-.125c-.106.212-.259.438-.46.676a2.53 2.53 0 0 1-.795.602c-.33.167-.745.25-1.245.25Zm.574-1.687c.436 0 .807-.117 1.114-.352.307-.239.54-.57.699-.995.159-.424.238-.918.238-1.483 0-.564-.08-1.055-.238-1.471-.156-.417-.387-.74-.693-.972-.303-.23-.676-.346-1.12-.346-.458 0-.84.119-1.147.358-.307.238-.538.568-.694.988-.155.42-.233.902-.233 1.443 0 .546.078 1.033.233 1.46.16.425.392.76.7 1.006.31.243.69.364 1.141.364Z"/>
<path fill="#1B1B1F" d="M56.088 17V8.273h2.057V17h-2.057Zm1.034-9.966a1.2 1.2 0 0 1-.84-.324 1.044 1.044 0 0 1-.353-.79c0-.31.117-.573.352-.79.235-.219.515-.329.841-.329.33 0 .61.11.841.33.235.216.352.479.352.79 0 .306-.117.57-.352.79a1.187 1.187 0 0 1-.84.323Z"/>
@@ -24,4 +26,5 @@
<stop offset="1" stop-color="#FF5BE1" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 24">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 24" height="24" width="118" x="4" y="4">
<path fill="#1B1B1F" d="M74.202 18.17c-.875 0-1.63-.181-2.267-.545a3.694 3.694 0 0 1-1.46-1.557c-.341-.674-.512-1.468-.512-2.38 0-.898.17-1.686.512-2.364a3.867 3.867 0 0 1 1.443-1.591c.617-.383 1.342-.574 2.176-.574.538 0 1.045.087 1.523.261.48.17.905.436 1.272.796.371.36.663.818.875 1.375.212.553.319 1.212.319 1.977v.63h-7.154v-1.386h5.182a2.213 2.213 0 0 0-.256-1.05c-.166-.311-.4-.556-.699-.734a1.964 1.964 0 0 0-1.034-.267c-.42 0-.79.103-1.108.307-.318.2-.566.466-.744.796a2.289 2.289 0 0 0-.267 1.073v1.21c0 .508.093.944.278 1.307.186.36.445.637.779.83.333.19.723.284 1.17.284.3 0 .57-.042.813-.125.242-.087.452-.214.63-.38.178-.167.313-.374.404-.62l1.92.216c-.121.508-.352.95-.693 1.33a3.379 3.379 0 0 1-1.295.875c-.527.204-1.13.306-1.807.306Z"/>
<path fill="#1B1B1F" d="M63.498 18.153c-.685 0-1.299-.176-1.84-.528-.542-.352-.97-.864-1.285-1.534-.314-.67-.471-1.485-.471-2.443 0-.97.159-1.788.477-2.455.322-.67.756-1.176 1.301-1.517a3.344 3.344 0 0 1 1.824-.517c.512 0 .932.087 1.262.261.329.17.59.377.784.62.193.238.342.464.448.676h.086V6.364h2.062V18h-2.023v-1.375h-.125c-.106.212-.259.438-.46.676a2.53 2.53 0 0 1-.795.602c-.33.167-.745.25-1.245.25Zm.574-1.687c.436 0 .807-.117 1.114-.352.307-.239.54-.57.699-.995.159-.424.238-.918.238-1.483 0-.564-.08-1.055-.238-1.471-.156-.417-.387-.74-.693-.972-.303-.23-.676-.346-1.12-.346-.458 0-.84.119-1.147.358-.307.238-.538.568-.694.988-.155.42-.233.902-.233 1.443 0 .546.078 1.033.233 1.46.16.425.392.76.7 1.006.31.243.69.364 1.141.364Z"/>
<path fill="#1B1B1F" d="M56.088 18V9.273h2.057V18h-2.057Zm1.034-9.966a1.2 1.2 0 0 1-.84-.324 1.044 1.044 0 0 1-.353-.79c0-.31.117-.573.352-.79.235-.219.515-.329.841-.329.33 0 .61.11.841.33.235.216.352.479.352.79 0 .306-.117.57-.352.79a1.187 1.187 0 0 1-.84.323Z"/>
@@ -12,4 +14,5 @@
<path fill="#fff" d="M100.724 17.225c1.329 1.701 5.554.405 9.543-2.711 3.988-3.117 6.269-6.902 4.939-8.604-1.329-1.702-5.554-.405-9.543 2.711-3.988 3.117-6.269 6.902-4.939 8.604Zm.568-.444c-.441-.564-.249-1.672.591-3.067.885-1.468 2.386-3.09 4.224-4.525 1.837-1.435 3.774-2.5 5.412-3.003 1.557-.478 2.678-.397 3.119.168.441.564.248 1.672-.591 3.066-.885 1.469-2.386 3.09-4.224 4.526-1.837 1.435-3.774 2.5-5.412 3.003-1.557.478-2.678.396-3.119-.168Z"/>
<path fill="#fff" d="M115.206 17.225c1.33-1.702-.951-5.487-4.939-8.604-3.989-3.116-8.214-4.413-9.543-2.711-1.33 1.702.951 5.487 4.939 8.604 3.989 3.116 8.214 4.413 9.543 2.71Zm-.568-.444c-.441.565-1.562.646-3.119.168-1.638-.503-3.575-1.568-5.412-3.003-1.838-1.436-3.339-3.057-4.224-4.526-.84-1.394-1.032-2.502-.591-3.066.441-.565 1.562-.646 3.119-.168 1.638.503 3.575 1.568 5.412 3.003 1.838 1.436 3.339 3.057 4.224 4.525.839 1.395 1.032 2.503.591 3.067Z"/>
<path fill="#fff" d="M107.965 13.099a1.531 1.531 0 1 0 0-3.062 1.531 1.531 0 0 0 0 3.062Z"/>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 26">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 26" height="26" width="119" x="4" y="3">
<g clip-path="url(#a)">
<path fill="#1B1B1F" d="M74.2 19.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V13.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 19.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V7.36h2.07V19h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
@@ -23,4 +25,5 @@
<path fill="#fff" d="M0 2h82v22H0z"/>
</clipPath>
</defs>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 22">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 22" height="22" width="119" x="4" y="5">
<path fill="#61DAFB" d="M107.5 13.28a2.05 2.05 0 1 0 0-4.1 2.05 2.05 0 0 0 0 4.1Z"/>
<path stroke="#61DAFB" d="M107.5 15.43c6.08 0 11-1.88 11-4.2 0-2.32-4.92-4.2-11-4.2s-11 1.88-11 4.2c0 2.32 4.92 4.2 11 4.2Z"/>
<path stroke="#61DAFB" d="M103.86 13.33c3.04 5.26 7.13 8.59 9.14 7.43 2-1.16 1.17-6.37-1.86-11.63C108.1 3.87 104 .55 102 1.71c-2 1.16-1.17 6.36 1.86 11.62Z"/>
@@ -12,4 +14,5 @@
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 23">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 23" height="23" width="120" x="4" y="4">
<path fill="#76B3E1" d="M119.14 5.18S111.29-.59 105.22.74l-.44.15c-.9.3-1.63.74-2.08 1.33l-.3.45-2.22 3.85 3.85.74a7.51 7.51 0 0 0 5.63 1.03l6.81 1.34 2.67-4.45Z"/>
<path fill="url(#a)" d="M119.14 5.18S111.29-.59 105.22.74l-.44.15c-.9.3-1.63.74-2.08 1.33l-.3.45-2.22 3.85 3.85.74a7.51 7.51 0 0 0 5.63 1.03l6.81 1.34 2.67-4.45Z" opacity=".3"/>
<path fill="#518AC8" d="m102.7 5.18-.6.15c-2.5.74-3.25 3.11-1.92 5.19a7.01 7.01 0 0 0 7.11 2.22l9.18-3.11s-7.84-5.78-13.77-4.45Z"/>
@@ -36,4 +38,5 @@
<stop offset="1" stop-color="#1A336B"/>
</linearGradient>
</defs>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 24">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 24" height="24" width="120" x="4" y="4">
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
@@ -13,4 +15,5 @@
<path fill="#000" fill-rule="evenodd" d="M106.73 4.87a1.8 1.8 0 1 1 2.54 0v3.66l2.59-2.59A1.78 1.78 0 0 1 114 4.2a1.8 1.8 0 0 1-.34 3.55l-2.59 2.59h3.65a1.79 1.79 0 1 1 0 2.54h-3.65l2.58 2.58a1.79 1.79 0 1 1-1.8 1.8l-2.58-2.58v3.65a1.8 1.8 0 1 1-2.54 0v-3.65l-2.58 2.58A1.8 1.8 0 0 1 102 19a1.79 1.79 0 0 1 .35-3.55l2.58-2.58h-3.66a1.79 1.79 0 1 1 0-2.54h3.66l-2.59-2.59a1.8 1.8 0 1 1 1.8-1.8l2.59 2.59V4.87Zm-2.04-1.27A3.32 3.32 0 0 0 100 8.3a3.31 3.31 0 0 0 0 6.62 3.31 3.31 0 0 0 4.69 4.69 3.3 3.3 0 0 0 3.31 3.3 3.31 3.31 0 0 0 3.31-3.3A3.31 3.31 0 0 0 116 14.9a3.32 3.32 0 0 0 0-6.62 3.3 3.3 0 0 0 0-4.68 3.31 3.31 0 0 0-4.69 0 3.3 3.3 0 0 0-5.15-2.76 3.31 3.31 0 0 0-1.47 2.75Z" clip-rule="evenodd"/>
<path fill="#000" d="M96.68 12h22.64v8a3.26 3.26 0 0 1-3.32 3.32h-16A3.26 3.26 0 0 1 96.68 20v-8Z" opacity=".8"/>
<path fill="#fff" d="M100.08 17.65a2.93 2.93 0 0 1 2.08-5.01c1.6 0 2.93 1.31 2.93 2.94h-1.73a1.22 1.22 0 0 0-1.09-1.21 1.21 1.21 0 0 0-.99 2.06c.22.23.42.29.86.37a3.3 3.3 0 0 1 2.08.85 2.93 2.93 0 1 1-5 2.08h1.74a1.21 1.21 0 0 0 1.68 1.11 1.22 1.22 0 0 0 .7-1.47c-.06-.19-.16-.36-.3-.5-.24-.23-.54-.3-.88-.36-.78-.13-1.54-.32-2.08-.86Zm10.88-5.01-2.08 10.02h-1.73l-2.08-10.02h1.73l1.22 5.87 1.21-5.87h1.73Zm2.93 4.16h2.91v2.93a2.93 2.93 0 0 1-5.86 0v-4.16a2.92 2.92 0 1 1 5.86 0h-1.7a1.22 1.22 0 1 0-2.43 0v4.16a1.22 1.22 0 1 0 2.43 0V18.5h-1.21V16.8Z"/>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 25">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 25" height="25" width="118" x="4" y="4">
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
@@ -10,4 +12,5 @@
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<path fill="#FF3E00" d="M116.72 3.18a7.34 7.34 0 0 0-9.82-2.11l-5.6 3.57a6.42 6.42 0 0 0-2.9 4.29 6.77 6.77 0 0 0 .67 4.34c-.48.73-.81 1.54-.96 2.4a6.84 6.84 0 0 0 1.17 5.18 7.34 7.34 0 0 0 9.82 2.1l5.6-3.54a6.44 6.44 0 0 0 2.9-4.3c.27-1.48.03-3-.67-4.34a6.45 6.45 0 0 0 .9-5.1 6.84 6.84 0 0 0-1.1-2.47"/>
<path fill="#fff" d="M106.35 21.16a4.45 4.45 0 0 1-5.44-3.26 4.1 4.1 0 0 1 .1-2.14l.1-.33.3.22c.65.48 1.4.85 2.17 1.09l.22.06-.02.21c-.02.3.06.59.23.83a1.34 1.34 0 0 0 1.78.38l5.6-3.57a1.16 1.16 0 0 0 .5-1.27 1.35 1.35 0 0 0-1.64-.98c-.11.03-.23.09-.34.15l-2.14 1.37c-.35.22-.74.39-1.14.5a4.45 4.45 0 0 1-5.42-3.26 4.12 4.12 0 0 1-.04-1.63 3.86 3.86 0 0 1 1.75-2.58l5.6-3.57c.35-.22.73-.4 1.13-.5a4.45 4.45 0 0 1 5.44 3.26 4.1 4.1 0 0 1-.1 2.14l-.1.33-.3-.22a7.24 7.24 0 0 0-2.18-1.1l-.22-.06.02-.21c.03-.3-.05-.59-.22-.83a1.33 1.33 0 0 0-1.78-.37l-5.6 3.56a1.17 1.17 0 0 0-.5 1.27 1.34 1.34 0 0 0 1.97.83l2.14-1.36a4 4 0 0 1 1.14-.5 4.44 4.44 0 0 1 5.43 3.25 3.87 3.87 0 0 1-1.7 4.22l-5.6 3.57c-.35.22-.74.39-1.14.5Z"/>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 22">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 22" height="22" width="120" x="4" y="5">
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
@@ -10,4 +12,5 @@
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="#41B883" d="m110.21 1-2.66 4.62L104.88 1H96l11.55 20 11.54-20h-8.88Z"/>
<path fill="#34495E" d="m110.21 1-2.66 4.62L104.88 1h-4.26l6.93 12 6.92-12h-4.26Z"/>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -1,4 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22">
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22" height="22" width="118" x="4" y="5">
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
@@ -10,4 +12,5 @@
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="#F7DF1E" d="M98 1h20v20H98V1Z"/>
<path fill="#000" d="M111.43 16.62c.41.67.92 1.14 1.87 1.14.76 0 1.27-.38 1.27-.92 0-.63-.5-.89-1.36-1.24l-.48-.22c-1.37-.57-2.25-1.3-2.25-2.82 0-1.4 1.08-2.48 2.73-2.48 1.2 0 2.06.41 2.7 1.5l-1.47.94c-.34-.57-.7-.79-1.23-.79-.54 0-.9.35-.9.8 0 .57.36.79 1.18 1.14l.45.19c1.62.7 2.5 1.4 2.5 2.95 0 1.68-1.33 2.63-3.1 2.63-1.75 0-2.9-.85-3.44-1.93l1.53-.9Zm-6.64.16c.29.54.57.98 1.21.98s1.02-.25 1.02-1.17v-6.42h1.87v6.42c0 1.97-1.14 2.85-2.8 2.85a2.9 2.9 0 0 1-2.82-1.74l1.52-.92Z"/>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,41 @@
<svg xmlns="http://www.w3.org/2000/svg" width="138" height="42" fill="none" viewBox="0 0 138 42">
<path fill="#fff" fill-rule="evenodd" d="M138 4a4 4 0 0 0-4-4H4a4 4 0 0 0-4 4v34a4 4 0 0 0 4 4h130a4 4 0 0 0 4-4V4Z" clip-rule="evenodd"/>
<path fill="#000" d="M55.78 32.95V14.42h1.8l.21 1.52h.05c.6-.5 1.24-.93 1.96-1.3a4.73 4.73 0 0 1 2.2-.55c1.11 0 2.06.27 2.84.83.8.58 1.4 1.38 1.75 2.31.39 1 .59 2.16.59 3.5 0 1.5-.27 2.76-.8 3.81-.47.97-1.2 1.8-2.1 2.4-.85.55-1.78.83-2.77.83-.6 0-1.2-.13-1.8-.4-.6-.26-1.2-.63-1.8-1.11l.07 2.28v4.41h-2.2Zm5.37-7.03c.72 0 1.37-.2 1.93-.61.57-.4 1.02-1 1.34-1.78.32-.77.48-1.7.48-2.77 0-.96-.12-1.8-.35-2.53-.23-.73-.6-1.3-1.1-1.7a3.52 3.52 0 0 0-3.68-.14c-.57.3-1.16.75-1.79 1.32v6.87c.58.5 1.15.84 1.7 1.04.57.2 1.06.3 1.47.3Zm13.95 1.85c-1 .02-2-.26-2.85-.8a5.09 5.09 0 0 1-1.87-2.31 9.32 9.32 0 0 1-.66-3.7c0-1.42.26-2.63.8-3.66a6.1 6.1 0 0 1 2.07-2.37 4.97 4.97 0 0 1 4.75-.44c.61.3 1.18.67 1.7 1.11l-.13-2.23V8.35h2.2v19.1h-1.8l-.18-1.53h-.07a7.5 7.5 0 0 1-1.78 1.3c-.67.37-1.4.55-2.18.55Zm.48-1.85c.6 0 1.18-.15 1.72-.44.55-.3 1.08-.74 1.61-1.34V17.3c-.46-.44-1-.8-1.58-1.05-.5-.2-1.04-.31-1.59-.31-.68 0-1.31.2-1.88.63a4.58 4.58 0 0 0-1.37 1.75c-.36.82-.53 1.7-.51 2.6 0 1.05.14 1.94.43 2.7.29.75.7 1.32 1.23 1.71.54.4 1.18.6 1.94.6v-.01Zm10.32 1.54V12.34c0-.88.13-1.64.4-2.28.28-.64.7-1.14 1.25-1.5.65-.37 1.4-.55 2.14-.52.4 0 .79.04 1.16.12.38.08.72.18 1.02.29l-.48 1.7a3.24 3.24 0 0 0-1.46-.36c-.63 0-1.1.22-1.4.65-.3.43-.45 1.07-.45 1.92v15.1H85.9ZM84.12 16.2v-1.66l1.87-.12h4.85v1.78h-6.72Zm9.22 11.26V14.42h1.8l.21 1.9h.05a9.48 9.48 0 0 1 1.88-1.58c.68-.44 1.4-.65 2.18-.65 1 0 1.79.22 2.35.67.56.45.97 1.06 1.25 1.82.68-.73 1.38-1.33 2.07-1.8.7-.46 1.45-.7 2.25-.7 1.32 0 2.31.44 2.96 1.32.65.87.97 2.14.97 3.8v8.26h-2.18v-7.97c0-1.23-.2-2.12-.6-2.67-.38-.54-1-.81-1.83-.81-.5 0-1 .16-1.54.5-.54.32-1.12.82-1.74 1.5v9.45h-2.19v-7.97c0-1.23-.2-2.12-.59-2.67-.39-.54-1-.81-1.83-.81-.5 0-1.02.16-1.56.5-.55.32-1.11.82-1.7 1.5v9.45h-2.21Zm27.5.31a6.23 6.23 0 0 1-3.17-.82 5.87 5.87 0 0 1-2.24-2.34 7.56 7.56 0 0 1-.83-3.66c0-1.07.16-2.03.48-2.87.32-.84.76-1.56 1.3-2.16a5.66 5.66 0 0 1 4.05-1.83c1.12 0 2.07.25 2.83.74.77.5 1.36 1.2 1.77 2.13.52 1.24.73 2.58.59 3.92-.02.2-.04.4-.08.58h-8.78c.05.92.26 1.73.64 2.4.37.69.87 1.22 1.5 1.6.62.37 1.35.56 2.18.56.64 0 1.22-.1 1.74-.28.54-.2 1.05-.45 1.52-.76l.77 1.47c-.6.38-1.23.7-1.9.93-.7.26-1.5.39-2.37.39Zm-4.1-7.87h6.98c0-1.32-.28-2.32-.85-3.02a2.91 2.91 0 0 0-2.4-1.04c-.6 0-1.17.16-1.7.48-.54.32-1 .78-1.35 1.37a5.23 5.23 0 0 0-.68 2.2v.01Z"/>
<path fill="#fff" d="m18.9 25.51 2.17-.73.18-.8a2.7 2.7 0 0 0-.06-1.13c-.05-.14-.12-.27-.16-.41-.04-.16.02-.37-.06-.5-.11-.16-.5-.2-.67-.11-.26.12-.24.33-.28.55-.02.1-.06.13-.12.2-.06.08-.11.17-.15.27-.43 0-.78-.17-1.2-.23l-1.01-.14c-.55-.09-.94-.13-1.42-.18-.55-.06-1.49-.04-1.64.31-.44.07-.8.22-.76.55-.14.1-.2.24 0 .39l-.01.02c-.21.33.47.43.7.47.8.13 1.6.1 2.39.27.64.15 1.07.49 1.6.86l.5.34Z"/>
<path fill="#CE9FB5" d="M23.2 38.66c0-.35.5-3.02.5-3.02-.38.1-.82.24-1.22.13a1.8 1.8 0 0 1-1.03-.79c-.96-1.4-1.75-5.33-2.23-6.96-.18-.62-.55-1.57-.82-2.17-.07-.14-.28-.4-.2-.57.1-.16.47-.11.66-.13.68-.1 2.3-.46 2.4-1.25.25 0 .53.6.64.77.23.4 1.3 3.26 1.54 3.66.2.35.3.74.5 1.1l.25.49c.67-1.89 3.07-6.37 3.92-7.26a4.87 4.87 0 0 1 2.35-1.4c.17-.04.4-.04.56-.12.47-.24 1.1.04 1.62 0 .7-.04 1.38-.32 2.03-.57.7-.26 1.42-.57 2.18-.61.8-.05 1.6.17 2.2.76.4.02.52-.02.9-.04 2.25.08 3.48 2.31 4.42 4.12 1.3 2.49 1.85 6.23 2.32 13.83"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M23.2 38.66c0-.35.5-3.02.5-3.02-.38.1-.82.24-1.22.13a1.8 1.8 0 0 1-1.03-.79c-.96-1.4-1.75-5.33-2.23-6.96-.18-.62-.55-1.57-.82-2.17-.07-.14-.28-.4-.2-.57.1-.16.47-.11.66-.13.68-.1 2.3-.46 2.4-1.25.25 0 .53.6.64.77.23.4 1.3 3.26 1.54 3.66.2.35.3.74.5 1.1l.25.49c.67-1.89 3.07-6.37 3.92-7.26a4.87 4.87 0 0 1 2.35-1.4c.17-.04.4-.04.56-.12.47-.24 1.1.04 1.62 0 .7-.04 1.38-.32 2.03-.57.7-.26 1.42-.57 2.18-.61.8-.05 1.6.17 2.2.76.4.02.52-.02.9-.04 2.25.08 3.48 2.31 4.42 4.12 1.3 2.49 1.85 6.23 2.32 13.83"/>
<path fill="#000" d="m33.48 21.33 1.97 1.14c0-.03 1.48-2.8 1.48-2.8l-1.84-.43"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="m33.48 21.33 1.97 1.14c0-.03 1.48-2.8 1.48-2.8l-1.84-.43"/>
<path fill="#FFD153" d="M37.08 18.66c3 1.7.78 2.58.47 3.31-.74 1.77-1.48 2.04-2.3 3.44-2.08 3.56-2.47 8.07-2.8 12.09h-.02c-.06-.07-.18-.11-.27-.2h-.02c0 .1-.06.16-.08.25-.17-.19-.34-.15-.46.04h-.02c-.02-.06-.09-.12-.1-.18h-.32a.75.75 0 0 1-.1.12h-.03c-.03-.08-.12-.17-.15-.25h-.02l-.15.15h-.02c-.1-.11-.23-.14-.36-.04h-.02a4.73 4.73 0 0 1-.18-.4c-.04.05-.12.11-.16.18-.13-.14-.28-.13-.4.02h-.03c-.04-.05-.12-.1-.16-.16-.06.04-.09.03-.12.1h-.02c-.02-.09-.09-.18-.1-.24h-.02a.5.5 0 0 1-.15.1c0-3.21.4-6.28 1.57-9.28.86-2.2 1.98-3.24 3.53-5.02.52-.6 1.08-1.21 1.56-1.83.2-.27.35-.48.3-.84"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M37.08 18.66c3 1.7.78 2.58.47 3.31-.74 1.77-1.48 2.04-2.3 3.44-2.08 3.56-2.47 8.07-2.8 12.09h-.02c-.06-.07-.18-.11-.27-.2h-.02c0 .1-.06.16-.08.25-.17-.19-.34-.15-.46.04h-.02c-.02-.06-.09-.12-.1-.18h-.32a.75.75 0 0 1-.1.12h-.03c-.03-.08-.12-.17-.15-.25h-.02l-.15.15h-.02c-.1-.11-.23-.14-.36-.04h-.02a4.73 4.73 0 0 1-.18-.4c-.04.05-.12.11-.16.18-.13-.14-.28-.13-.4.02h-.03c-.04-.05-.12-.1-.16-.16-.06.04-.09.03-.12.1h-.02c-.02-.09-.09-.18-.1-.24h-.02a.5.5 0 0 1-.15.1c0-3.21.4-6.28 1.57-9.28.86-2.2 1.98-3.24 3.53-5.02.52-.6 1.08-1.21 1.56-1.83.2-.27.35-.48.3-.84"/>
<path fill="#000" d="M30.95 23.65s1.15 2.14 3.27 1.7a5.8 5.8 0 0 0 3.96-2.85c.78-1.24 1.14-1.47 1.73-1.82"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M30.95 23.65s1.15 2.14 3.27 1.7a5.8 5.8 0 0 0 3.96-2.85c.78-1.24 1.14-1.47 1.73-1.82"/>
<path fill="#FFD153" d="M35.93 18.7c-.9.32-1.92.27-2.83.6a3.98 3.98 0 0 0-2.27 2.13c-.28.72-.36 1.7.04 2.38.72 1.26 2.61 1.6 3.9 1.22 1.26-.4 2.37-1.54 3.18-2.55.33-.41.61-.85 1.01-1.22.23-.21.55-.54.95-.58.66-.07-.92-.7-1.26-.75a1.8 1.8 0 0 0-1.29.22c-.68.4-1.14 1.24-1.93 1.5-.38.12-.68.06-.9-.26-.35-.48-.08-.85.34-1.25"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M35.93 18.7c-.9.32-1.92.27-2.83.6a3.98 3.98 0 0 0-2.27 2.13c-.28.72-.36 1.7.04 2.38.72 1.26 2.61 1.6 3.9 1.22 1.26-.4 2.37-1.54 3.18-2.55.33-.41.61-.85 1.01-1.22.23-.21.55-.54.95-.58.66-.07-.92-.7-1.26-.75a1.8 1.8 0 0 0-1.29.22c-.68.4-1.14 1.24-1.93 1.5-.38.12-.68.06-.9-.26-.35-.48-.08-.85.34-1.25"/>
<path fill="#000" d="M32.26 20.53s1.27 1.02 2.71.6c1.45-.43 1.66-1.89 2.52-2.22a1.8 1.8 0 0 0-.52-.25"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M32.26 20.53s1.27 1.02 2.71.6c1.45-.43 1.66-1.89 2.52-2.22a1.8 1.8 0 0 0-.52-.25M18.4 25.17c-.53-.37-.96-.71-1.6-.86-.8-.17-1.6-.14-2.4-.27-.22-.04-.9-.14-.7-.47.15-.23.77-.15.99-.14.74.02 1.55.12 2.3.2"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M13.72 23.55c-.34-.26.1-.5.35-.55.27-.06.6-.02.87 0 .65.02 1.3.13 1.96.14.22 0 .38.05.6.06"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M13.72 23.16c-.08-.73 1.77-.6 2.17-.57.43.02.86.15 1.3.19.33.03.53.04.86.1"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M14.48 22.61c.15-.35 1.1-.37 1.64-.31.48.05.87.1 1.42.18.34.06.66.09 1 .14.43.06.78.23 1.2.23"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M19.73 23.43c-.11-.32 0-.6.17-.85.06-.07.1-.1.12-.2.04-.22.02-.43.28-.55.16-.08.56-.05.67.12.08.12.02.33.06.49.04.14.1.27.16.4.1.31.11.83.06 1.14"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M16.8 23.84c.34-.5.99-.82 1.5-1.1m-.54 1.24a7.9 7.9 0 0 1 1.66-.41"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="m23.69 35.64.9-3.49c.64-2.27.58-2.36 1.63-4.48a38.32 38.32 0 0 1 2.92-4.82"/>
<path fill="#000" d="M40.6 38.67v-2.52c0-2.26-.13-4.43-.42-6.66 0 0 .15 4.88 0 5.13s-.1.73.09 1.13c.19.4.06.67-.09 1.14-.15.47.1 1.15-.09 1.78"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="M24.2 29.88c.05.25.23.5.36.72.13.23.2.49.3.73"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".05" d="M18.74 26.06c.49 0 .94 0 1.4-.17m-.76.64c-.22-.04-.4-.1-.6-.21m5.55 3.95c.15.05.36.08.49.19"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M39.2 21.04s1.36-.06 1.9.42c.54.48 1.79 1.54 2.21 2.53.43 1 .82.8 1.1 2 .29 1.17.74 3.77.94 5.5.2 1.73-.48 2.27-.11 2.2.37-.1.56-.16.4.2-.18.32-.1 1.07.06 1.86.16.8.25 2.88.25 2.88"/>
<path fill="#fff" d="M31.1 14.3c.34-2.78.48-5.63 1.08-8.38.2-.85.43-1.7.94-2.43.2-.3.64-.55 1.06-.4 1 .36.48 1.99.26 3.13a32.28 32.28 0 0 0-.68 6.58"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M31.1 14.3c.34-2.78.48-5.63 1.08-8.38.2-.85.43-1.7.94-2.43.2-.3.64-.55 1.06-.4 1 .36.48 1.99.26 3.13a32.28 32.28 0 0 0-.68 6.58"/>
<path fill="#fff" d="M35.75 11.74c-2.04-.74-4.26.42-4.65 2.2-.27 1.19-.38 2.1-.37 3.34.01 1.14.22 1.97.98 2.8.54.59 1.31.84 2.06.86 2.3.05 3.82-2.29 4.3-4.37.63-2.7.9-5.54 1.29-8.28.16-1.1.3-2.19.37-3.3.04-.7.13-1.5-.19-2.17-.37-.8-1.3-.54-1.7.04-.42.62-.58 1.5-.77 2.21-.2.77-.37 1.54-.52 2.32l-.58 3.05-.3 1.7"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M35.75 11.74c-2.04-.74-4.26.42-4.65 2.2-.27 1.19-.38 2.1-.37 3.34.01 1.14.22 1.97.98 2.8.54.59 1.31.84 2.06.86 2.3.05 3.82-2.29 4.3-4.37.63-2.7.9-5.54 1.29-8.28.16-1.1.3-2.19.37-3.3.04-.7.13-1.5-.19-2.17-.37-.8-1.3-.54-1.7.04-.42.62-.58 1.5-.77 2.21-.2.77-.37 1.54-.52 2.32l-.58 3.05-.3 1.7"/>
<path fill="#000" d="M32.2 16.17c-.17.69 1.01.53.73-.11-.16-.35-.63-.28-.73.11Z"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M32.2 16.17c-.17.69 1 .53.73-.11-.16-.35-.63-.28-.73.11Z" clip-rule="evenodd"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M32.2 16.17c-.17.69 1 .53.73-.11-.16-.35-.63-.28-.73.11Z" clip-rule="evenodd"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M35.38 16.63c-1.07.79-2.4.97-2.97.5 0 0-.75.62-1.81-.31m7.3-13.48c.1-.24.28-.53.58-.5.36.02.32.63.3.87-.03.33-.16.7-.3.97-.17.34-.2.5-.08.82.1.3-.03.49-.1.76s.1.44.1.7c.01.41-.13.79-.2 1.2-.1.53-.3 1.07-.37 1.62-.03.22 0 .22.1.38.08.12.13.15.09.3-.06.26-.28.45-.32.72-.05.3.16.52-.12.72-.19.13-.28.17-.06.32l-.2.1c0 .05.03.03.05.04"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M36.8 12.17c.41.14.78.31 1.1.6"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M33.03 4.01c.11-.26.49-.6.76-.4.26.2.14.48-.02.69-.17.22-.46.37-.33.66.07.17.1.26.06.46l-.2.7c-.16.6-.25 1.15-.22 1.77.01.33.02.59-.14.87-.13.21-.38.6-.27.87.06.19.23.22.2.47 0 .13-.08.25-.15.36-.04.07-.2.26-.17.36.03.16.26.15.24.36-.03.25-.42.28-.4.53.07.02.14 0 .2.03-.09.14-.36.1-.5.17l.1.2c0 .06-.06.08-.08.14l-.01.1"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="M35.33 26.99s.45.04 1.17 0c.73-.04 2.34 0 2.34 0m-6.77-6.5a3 3 0 0 0 2.78 1.45c2.02-.05 5-2.36 2.99-1.68"/>
<path fill="#000" stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="M31.66 14.3c-.22 0-.37-.52 0-.59.37-.07 0 .6 0 .6v-.01Zm2.94.3c-.23 0-.38-.52 0-.59.37-.07 0 .6 0 .6v-.01Z"/>
<path fill="#F4EED8" stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="m21.95 20.79-9.59-.75V5.77l9.59.74V20.8v-.01Z"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="m13.02 9.08 8.27.64M19.52 7.3l1.78.13m-1.78.2 1.78.14m-1.78.19 1.78.14m-8.28 1.96 8.27.64m-8.27.33 8.27.65m-8.27.33 8.27.64m-8.27.34 8.27.64m-8.27.34 8.27.64m-8.27.33 8.27.64m-8.27.34 8.27.64m-8.27.34 8.27.64m-8.27.33 6.72.53"/>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -64,23 +64,20 @@
"charts",
"communication",
"connectivity",
"currency",
"cursors",
"design",
"development",
"devices",
"emoji",
"files",
"finance",
"food-beverage",
"furniture",
"gaming",
"home",
"layout",
"mail",
"maps",
"maths",
"math",
"medical",
"money",
"multimedia",
"nature",
"navigation",
@@ -142,7 +139,7 @@
},
"aliasDeprecationReasons": {
"type": "string",
"enum": ["alias.typo", "alias.name"]
"enum": ["alias.typo", "alias.name", "alias.duplicate"]
},
"versionNumber": {
"type": "string",

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="21" x2="3" y1="6" y2="6" />
<line x1="17" x2="7" y1="12" y2="12" />
<line x1="19" x2="5" y1="18" y2="18" />
<path d="M17 12H7" />
<path d="M19 18H5" />
<path d="M21 6H3" />
</svg>

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 279 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="3" x2="21" y1="6" y2="6" />
<line x1="3" x2="21" y1="12" y2="12" />
<line x1="3" x2="21" y1="18" y2="18" />
<path d="M3 12h18" />
<path d="M3 18h18" />
<path d="M3 6h18" />
</svg>

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 279 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="21" x2="3" y1="6" y2="6" />
<line x1="15" x2="3" y1="12" y2="12" />
<line x1="17" x2="3" y1="18" y2="18" />
<path d="M15 12H3" />
<path d="M17 18H3" />
<path d="M21 6H3" />
</svg>

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 279 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="21" x2="3" y1="6" y2="6" />
<line x1="21" x2="9" y1="12" y2="12" />
<line x1="21" x2="7" y1="18" y2="18" />
<path d="M21 12H9" />
<path d="M21 18H7" />
<path d="M21 6H3" />
</svg>

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 279 B

View File

@@ -10,7 +10,6 @@
],
"categories": [
"transportation",
"text",
"maps"
"text"
]
}

View File

@@ -13,6 +13,6 @@
"couch"
],
"categories": [
"furniture"
"home"
]
}

View File

@@ -13,7 +13,6 @@
],
"categories": [
"arrows",
"navigation",
"maps"
"navigation"
]
}

View File

@@ -11,7 +11,6 @@
],
"categories": [
"arrows",
"navigation",
"maps"
"navigation"
]
}

View File

@@ -17,7 +17,7 @@
],
"categories": [
"text",
"maths",
"math",
"development"
]
}

View File

@@ -14,7 +14,6 @@
],
"categories": [
"account",
"social",
"shapes"
"social"
]
}

View File

@@ -24,9 +24,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -12,8 +12,6 @@
"check"
],
"categories": [
"account",
"social",
"shapes"
"social"
]
}

View File

@@ -22,9 +22,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -20,9 +20,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -10,9 +10,7 @@
"help"
],
"categories": [
"account",
"accessibility",
"social",
"shapes"
"social"
]
}

View File

@@ -21,9 +21,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -12,7 +12,6 @@
"categories": [
"account",
"accessibility",
"social",
"shapes"
"social"
]
}

View File

@@ -21,9 +21,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -12,8 +12,6 @@
"erase"
],
"categories": [
"account",
"social",
"shapes"
"social"
]
}

View File

@@ -15,11 +15,9 @@
"price tag"
],
"categories": [
"account",
"social",
"money",
"finance",
"shopping",
"maths",
"shapes"
"math"
]
}

View File

@@ -12,8 +12,6 @@
"new"
],
"categories": [
"account",
"social",
"shapes"
"social"
]
}

View File

@@ -22,9 +22,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -21,9 +21,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -21,9 +21,6 @@
],
"categories": [
"shopping",
"money",
"currency",
"account",
"shapes"
"finance"
]
}

View File

@@ -12,8 +12,6 @@
"remove"
],
"categories": [
"account",
"social",
"shapes"
"social"
]
}

View File

@@ -10,7 +10,6 @@
"payment"
],
"categories": [
"currency",
"money"
"finance"
]
}

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere",
"ericfennis"
"ericfennis",
"jamiemlaw"
],
"tags": [
"amenities",

View File

@@ -9,9 +9,9 @@
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" x2="8" y1="5" y2="7" />
<line x1="2" x2="22" y1="12" y2="12" />
<line x1="7" x2="7" y1="19" y2="21" />
<line x1="17" x2="17" y1="19" y2="21" />
<path d="M10 4 8 6" />
<path d="M17 19v2" />
<path d="M2 12h20" />
<path d="M7 19v2" />
<path d="M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5" />
</svg>

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 395 B

View File

@@ -10,6 +10,6 @@
"furniture"
],
"categories": [
"furniture"
"home"
]
}

View File

@@ -10,6 +10,6 @@
"furniture"
],
"categories": [
"furniture"
"home"
]
}

View File

@@ -10,6 +10,6 @@
"furniture"
],
"categories": [
"furniture"
"home"
]
}

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19.4 14.9C20.2 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 .7 0 1.3.1 1.9.3" />
<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
<path d="M10.268 21a2 2 0 0 0 3.464 0" />
<path d="M13.916 2.314A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.74 7.327A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673 9 9 0 0 1-.585-.665" />
<circle cx="18" cy="8" r="3" />
</svg>

Before

Width:  |  Height:  |  Size: 379 B

After

Width:  |  Height:  |  Size: 418 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18.4 12c.8 3.8 2.6 5 2.6 5H3s3-2 3-9c0-3.3 2.7-6 6-6 1.8 0 3.4.8 4.5 2" />
<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
<path d="M10.268 21a2 2 0 0 0 3.464 0" />
<path d="M15 8h6" />
<path d="M16.243 3.757A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673A9.4 9.4 0 0 1 18.667 12" />
</svg>

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 412 B

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5" />
<path d="M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7" />
<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
<path d="M10.268 21a2 2 0 0 0 3.464 0" />
<path d="M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742" />
<path d="m2 2 20 20" />
<path d="M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05" />
</svg>

Before

Width:  |  Height:  |  Size: 393 B

After

Width:  |  Height:  |  Size: 438 B

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19.3 14.8C20.1 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 1 0 1.9.2 2.8.7" />
<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
<path d="M10.268 21a2 2 0 0 0 3.464 0" />
<path d="M15 8h6" />
<path d="M18 5v6" />
<path d="M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332" />
</svg>

Before

Width:  |  Height:  |  Size: 390 B

After

Width:  |  Height:  |  Size: 431 B

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" />
<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
<path d="M4 2C2.8 3.7 2 5.7 2 8" />
<path d="M10.268 21a2 2 0 0 0 3.464 0" />
<path d="M22 8c0-2.3-.8-4.3-2-6" />
<path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326" />
<path d="M4 2C2.8 3.7 2 5.7 2 8" />
</svg>

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 469 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" />
<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
<path d="M10.268 21a2 2 0 0 0 3.464 0" />
<path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326" />
</svg>

Before

Width:  |  Height:  |  Size: 311 B

After

Width:  |  Height:  |  Size: 393 B

View File

@@ -29,8 +29,7 @@
"categories": [
"layout",
"design",
"tools",
"account"
"tools"
],
"aliases": [
{

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