Compare commits

...
14 Commits
Author SHA1 Message Date
02eb9161b5 feat(svelte): export __iconData and __iconNode across per-icon modules (#4936) (#4957)
* feat(svelte): export __iconData and __iconNode across per-icon modules (#4936)

* Refactor imports in lucide-svelte.spec.ts

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix(build-icons): scope per-icon data re-exports behind exportIconData flag

- Problem: generateAliasesFiles unconditionally re-exported __iconData and __iconNode for all packages using separateAliasesFile. Packages like @lucide/solid and @lucide/icons do not export these names from their templates, causing missing export errors in downstream bundlers (e.g. solid vite integration).
- Solution: Add exportIconData flag (default false) to CLI, generateIconFiles, and generateAliasesFiles so named re-exports are opt-in and only emitted for packages that define them (@lucide/svelte).

* refactor(svelte): remove tools/build-icons changes per maintainer review

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-19 16:49:35 +02:00
carl-lambertgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric Fennis
0ab9c70d88 feat(icons): added graph-hub icon (#4974)
* feat(icons): added split-circles icon

* chore(icons): added cluster tag to `split-circles`

* refactor(icons): renamed `split-circles` to `hub-circles`

* refactor(icons): renamed `hub-circles` to `graph-hub`

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix duplicate 'tags' key in graph-hub.json

Removed duplicate 'tags' key in graph-hub.json.

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-19 14:37:34 +02:00
26daed2537 feat(icons): added brain-off icon (#3535)
* Added icons/brain-off.svg

* Added icons/brain-off.json

* Update icons/brain-off.svg

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

* Update icons/brain-off.json

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

* Add use-cases for brain-off icon

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Update brain-circuit.svg

* Update brain-cog.svg

* Update brain-off.svg

* Update brain.svg

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-19 14:28:50 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fa238cf278 chore(deps): bump the react-deps group across 1 directory with 2 updates (#5026)
Bumps the react-deps group with 2 updates in the / directory: [react](https://github.com/react/react/tree/HEAD/packages/react) and [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom).


Updates `react` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react)

Updates `react-dom` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: react-deps
- dependency-name: react-dom
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: react-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-19 12:08:22 +02:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Eric Fennis
27f08704a1 chore(deps-dev): bump the svelte-deps group across 1 directory with 2 updates (#5028)
Bumps the svelte-deps group with 2 updates in the / directory: [@sveltejs/package](https://github.com/sveltejs/kit/tree/HEAD/packages/package) and [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit).


Updates `@sveltejs/package` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/main/packages/package/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/package@3.0.1/packages/package)

Updates `@sveltejs/kit` from 3.0.1 to 3.1.0
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@3.1.0/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-version: 3.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: svelte-deps
- dependency-name: "@sveltejs/package"
  dependency-version: 3.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: svelte-deps
...

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>
2026-10-19 12:07:56 +02:00
Ozgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
7c165eb5df feat(icons): added line-height icon (#3039)
* Added icons/line-height.svg

* Added icons/line-height.json

* Update line-height.svg

* Update line-height.json

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update line-height.json

* Update line-height.json

* Update line-height.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-19 12:04:54 +02:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Eric Fennis
296ab246a8 chore(deps-dev): bump react-native (#5030)
Bumps the react-native-deps group with 1 update: [react-native](https://github.com/react/react-native/tree/HEAD/packages/react-native).


Updates `react-native` from 0.87.1 to 0.88.0
- [Release notes](https://github.com/react/react-native/releases)
- [Changelog](https://github.com/react/react-native/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react-native/commits/v0.88.0/packages/react-native)

---
updated-dependencies:
- dependency-name: react-native
  dependency-version: 0.88.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: react-native-deps
...

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>
2026-10-19 11:54:20 +02:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Eric Fennis
8300f598a0 chore(deps): bump the vue-deps group with 2 updates (#5027)
Bumps the vue-deps group with 2 updates: [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) and [vue](https://github.com/vuejs/core).


Updates `@vitejs/plugin-vue` from 6.0.9 to 6.0.10
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@6.0.10/packages/plugin-vue)

Updates `vue` from 3.5.43 to 3.5.44
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.43...v3.5.44)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-vue"
  dependency-version: 6.0.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vue-deps
- dependency-name: vue
  dependency-version: 3.5.44
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: vue-deps
...

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>
2026-10-19 11:46:20 +02:00
Ozgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
51be2dac03 feat(icons): added letter-spacing icon (#3038)
* Added icons/letter-spacing.svg

* Added icons/letter-spacing.json

* Update icons/letter-spacing.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update letter-spacing.svg

* Update letter-spacing.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-19 11:39:10 +02:00
Noah Weidig 2333afad1f Update icon count comparison with Feather Icons (#5022) 2026-10-19 11:20:13 +02:00
Eric Fennis 6e1308ce19 fix(site): Fix build (#5033)
* Fix name

* Fix import
2026-10-19 11:16:40 +02:00
9a25bb6315 feat(icons): added bacon icon (#4694)
* feat(icons): add icons/avocado.svg

* feat(icons): add icons/avocado.json

* feat(icons): add icons/bacon.svg

* feat(icons): add icons/bacon.json

* chore: remove lab/avocado.svg after promoting to core

* chore: remove lab/avocado.json after promoting to core

* chore: remove lab/bacon.svg after promoting to core

* chore: remove lab/bacon.json after promoting to core

* docs(icons): apply metadata suggestions for avocado

* docs(icons): apply metadata suggestions for bacon

* Apply design from karsa

* Remove categories

* Update use-case descriptions for avocado and bacon icons

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Update avocado.json

* Update bacon.json

* Update avocado.json

* Update bacon.json

* Update avocado.json

* Update avocado.svg

* Update bacon.json

* Update avocado.json

* Update bacon.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-19 10:54:56 +02:00
Hitanshu Machhigithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>KarsaCopilot Autofix powered by AIHitanshu MachhiHitanshu MachhiEric Fennis
d123605682 feat(icons): added smartphone-user-round icon (#4586)
* add smartphone-user icon

* Update icons/smartphone-user.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/smartphone-user.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/smartphone-user.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/smartphone-user.json

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

* Update icons/smartphone-user.svg

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

* update contribuers

* fix(icons): update smartphone-user icon

* rename: smartphone-user to smartphone-user-round

* Potential fix for pull request finding 'Add missing csandman attribution'

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Refactor use-cases and tags in smartphone-user-round.json

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Update keywords and categories in smartphone icon JSON

* update requested changes in icon design

* add mittalyashu contributer of smartphone to contributors list

---------

Co-authored-by: Hitanshu Machhi <hitanshu.machhi-ext@mavenclinic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Hitanshu Machhi <hitanshu.machhi@mindstix.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-19 10:36:42 +02:00
Ricardo Gonzalezgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric Fennis
2ae6a3d489 feat(icons): added tombstone icon (#4929)
* feat(icons): added tombstone icon

* Update icons/tombstone.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/tombstone.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-19 10:33:16 +02:00
41 changed files with 1108 additions and 750 deletions
@@ -38,7 +38,7 @@ const pickIcons = [
'map-pinned',
'megaphone',
'moon',
'music',
'sixteenth-notes',
'phone',
'power-off',
'radio',
@@ -10,7 +10,7 @@ import {
sun,
moon,
camera,
music,
sixteenthNotes,
video,
globe,
layers,
@@ -44,7 +44,7 @@ import createElement from 'lucide/src/createElement';
import { IconNode } from 'lucide/src/types';
const icons: Component[] = [
heart, star, zap, code, feather, cloud, sun, moon, camera, music,
heart, star, zap, code, feather, cloud, sun, moon, camera, sixteenthNotes,
video, globe, layers, packageIcon, compass, command, terminal, database,
server, cpu, lock, key, shield, wifi, download, upload, search,
settings, users, mail, bell, calendar, clock, gitBranch, funnel,
+1 -1
View File
@@ -15,7 +15,7 @@ In an effort to expand the icon set while remaining true to the original minimal
### Why should I choose Lucide over Feather Icons?
- Lucide has expanded its icon set by 500+ in the last few years. Lucide now has over 1000 icons, while Feather has around 287 icons.
- Lucide has expanded its icon set by 1600+ in the last few years. Lucide now has over 1800 icons, while Feather has around 287 icons.
- Well maintained code base.
- Active community.
+3 -3
View File
@@ -72,9 +72,9 @@
"lucide": "workspace:*",
"lucide-react": "workspace:*",
"motion-v": "2.4.0",
"react": "19.3.0",
"react-dom": "19.3.0",
"react": "19.3.1",
"react-dom": "19.3.1",
"sandpack-vue3": "3.1.12",
"vue": "^3.5.43"
"vue": "^3.5.44"
}
}
+50
View File
@@ -0,0 +1,50 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"devkamani9313",
"karsa-mistmere"
],
"use-cases": [
"Representing fruit, guacamole, or healthy food in nutrition apps",
"Indicating salad, breakfast, or brunch ingredients",
"Showing vegetarian or vegan food options",
"Marking avocado toast as a menu item in restaurant or delivery apps",
"Denoting fresh produce or fruit section in grocery and supermarket apps",
"Signifying healthy fats or superfood in nutrition and wellness trackers",
"Labeling plant-based or vegetarian recipes in cooking websites and apps"
],
"tags": [
"fruit",
"snack",
"meal",
"lunch",
"ingredient",
"cooking",
"cookery",
"kitchen",
"cuisine",
"eating",
"healthy",
"nutrition",
"diet",
"guacamole",
"mexican",
"green",
"pit",
"seed",
"half",
"produce",
"vegetarian",
"vegan",
"grocery",
"supermarket",
"toast",
"superfood",
"plant based",
"ripe"
],
"categories": [
"food-beverage"
]
}
+14
View File
@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13.465 3.464a5 5 0 017.07 0 5 5 0 010 7.072c-1.204 1.203-2.38 2.89-2.614 4.577A8 8 0 118.886 6.08c1.687-.235 3.375-1.41 4.579-2.615" />
<circle cx="10" cy="14" r="3" />
</svg>

After

Width:  |  Height:  |  Size: 391 B

+51
View File
@@ -0,0 +1,51 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"devkamani9313",
"karsa-mistmere"
],
"use-cases": [
"Representing breakfast items, rashers, or pork products",
"Indicating diner, brunch, or fast food menu items",
"Showing savory cooked meats or barbecue items",
"Labeling grocery or deli items in food apps",
"Marking breakfast sandwich or brunch special add-ons",
"Tagging cured or smoked meat ingredients in recipes"
],
"tags": [
"rashers",
"smoked",
"streaky",
"crispy",
"meat",
"fast food",
"junk food",
"snack",
"dish",
"restaurant",
"brunch",
"lunch",
"meal",
"savory",
"savoury",
"cookery",
"cooking",
"grilled",
"barbecue",
"barbeque",
"bbq",
"pig",
"pork",
"breakfast",
"cured",
"butcher",
"sandwich",
"protein",
"grocery",
"kitchen"
],
"categories": [
"food-beverage"
]
}
+14
View File
@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M2.795 16.804c-.789-.79-1.09-2.018-.442-2.928 1.933-2.713 4.414-1.05 6.145-5.378 1.868-4.67 4.608-2.366 6.592-6.107.218-.412.78-.53 1.11-.2l5.005 5.005c.789.79 1.09 2.018.442 2.928-1.933 2.713-4.414 1.05-6.145 5.378-1.868 4.67-4.608 2.366-6.591 6.107-.22.412-.78.53-1.11.2z" />
<path d="M4.5 18.5c2-5 5-2 7-7s5-2 7-7" />
</svg>

After

Width:  |  Height:  |  Size: 542 B

+10 -11
View File
@@ -9,17 +9,16 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z" />
<path d="M9 13a4.5 4.5 0 0 0 3-4" />
<path d="M6.003 5.125A3 3 0 0 0 6.401 6.5" />
<path d="M3.477 10.896a4 4 0 0 1 .585-.396" />
<path d="M6 18a4 4 0 0 1-1.967-.516" />
<path d="M12 13h4" />
<path d="M12 18h6a2 2 0 0 1 2 2v1" />
<path d="M12 18h6a2 2 0 012 2v1" />
<path d="M12 8h8" />
<path d="M16 8V5a2 2 0 0 1 2-2" />
<circle cx="16" cy="13" r=".5" />
<circle cx="18" cy="3" r=".5" />
<circle cx="20" cy="21" r=".5" />
<circle cx="20" cy="8" r=".5" />
<path d="M12 9a4.17 4.17 0 01-3 4" />
<path d="M16 8V5a2 2 0 012-2" />
<path d="M6 18a4 4 0 01-2-7.465" />
<path d="M6.004 5.125a4 4 0 00-2.526 5.77" />
<path d="M6.294 6.294A3 3 0 1112 5v13a4 4 0 11-7.967-.518" />
<circle cx="16" cy="13" r="0.5" fill="currentColor" />
<circle cx="18" cy="3" r="0.5" fill="currentColor" />
<circle cx="20" cy="21" r="0.5" fill="currentColor" />
<circle cx="20" cy="8" r="0.5" fill="currentColor" />
</svg>

Before

Width:  |  Height:  |  Size: 752 B

After

Width:  |  Height:  |  Size: 744 B

+7 -7
View File
@@ -12,15 +12,15 @@
<path d="m10.852 14.772-.383.923" />
<path d="m10.852 9.228-.383-.923" />
<path d="m13.148 14.772.382.924" />
<path d="m13.531 8.305-.383.923" />
<path d="m13.53 8.305-.382.923" />
<path d="m14.772 10.852.923-.383" />
<path d="m14.772 13.148.923.383" />
<path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 0 0-5.63-1.446 3 3 0 0 0-.368 1.571 4 4 0 0 0-2.525 5.771" />
<path d="M17.998 5.125a4 4 0 0 1 2.525 5.771" />
<path d="M19.505 10.294a4 4 0 0 1-1.5 7.706" />
<path d="M4.032 17.483A4 4 0 0 0 11.464 20c.18-.311.892-.311 1.072 0a4 4 0 0 0 7.432-2.516" />
<path d="M4.5 10.291A4 4 0 0 0 6 18" />
<path d="M6.002 5.125a3 3 0 0 0 .4 1.375" />
<path d="M17.997 5.125a4 4 0 012.526 5.77" />
<path d="M18 18a4 4 0 002-7.464" />
<path d="M4.033 17.483A4 4 0 0011.46 20c.184-.31.896-.31 1.076 0a4 4 0 007.43-2.517" />
<path d="M6 18a4 4 0 01-2-7.464" />
<path d="M6.002 5.125a4 4 0 00-2.525 5.77" />
<path d="M6.293 6.294a3 3 0 01-.287-1.098l-.004-.07a3 3 0 015.968-.543c.05.02.057.01.059 0a3 3 0 015.968.542l-.004.071a3 3 0 01-.287 1.098" />
<path d="m9.228 10.852-.923-.383" />
<path d="m9.228 13.148-.923.383" />
<circle cx="12" cy="12" r="3" />

Before

Width:  |  Height:  |  Size: 944 B

After

Width:  |  Height:  |  Size: 957 B

+33
View File
@@ -0,0 +1,33 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere",
"jguddas",
"it-is-not",
"jamiemlaw",
"ej52"
],
"use-cases": [
"Indicating disabled reasoning in an AI chat interface"
],
"tags": [
"medical",
"mind",
"mental",
"intellect",
"cerebral",
"consciousness",
"genius",
"artificial intelligence",
"ai",
"think",
"deep learning",
"machine learning",
"computing"
],
"categories": [
"medical",
"science",
"development"
]
}
+22
View File
@@ -0,0 +1,22 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 18v-6" />
<path d="M12 5v1.344" />
<path d="M17.707 6.293A3 3 0 1012 5a3 3 0 00-4.124-2.781" />
<path d="M17.997 5.125a4 4 0 012.526 5.77" />
<path d="M19.644 19.644A4 4 0 0112 18a4 4 0 11-7.967-.517" />
<path d="m2 2 20 20" />
<path d="M20 10.536a4 4 0 011.533 5.34" />
<path d="M3.477 10.895a4 4 0 011.876-5.542" />
<path d="M6 18a4 4 0 01-2-7.464" />
<path d="M9 13a4.17 4.17 0 002.166-1.5 4 4 0 00.138-.196" />
</svg>

After

Width:  |  Height:  |  Size: 656 B

+7 -7
View File
@@ -10,11 +10,11 @@
stroke-linejoin="round"
>
<path d="M12 18V5" />
<path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4" />
<path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5" />
<path d="M17.997 5.125a4 4 0 0 1 2.526 5.77" />
<path d="M18 18a4 4 0 0 0 2-7.464" />
<path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517" />
<path d="M6 18a4 4 0 0 1-2-7.464" />
<path d="M6.003 5.125a4 4 0 0 0-2.526 5.77" />
<path d="M15 13a4.17 4.17 0 01-3-4 4.17 4.17 0 01-3 4" />
<path d="M17.707 6.294A3 3 0 1012 5a3 3 0 10-5.707 1.294" />
<path d="M17.996 5.125a4 4 0 012.526 5.77" />
<path d="M18 18a4 4 0 002-7.465" />
<path d="M19.967 17.482a4 4 0 11-7.967.517 4 4 0 11-7.967-.517" />
<path d="M6 18a4 4 0 01-2-7.465" />
<path d="M6.004 5.125a4 4 0 00-2.526 5.77" />
</svg>

Before

Width:  |  Height:  |  Size: 601 B

After

Width:  |  Height:  |  Size: 596 B

+36
View File
@@ -0,0 +1,36 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"Carlito-la-banane"
],
"use-cases": [
"Representing a load balancer in cloud infrastructure",
"Showing traffic distributed across multiple servers",
"Indicating a task split into parallel processes",
"Representing a load balancer in cloud service consoles",
"Showing incoming traffic distributed across multiple backends",
"Indicating a task split into parallel worker threads or processes",
"Marking fan-out patterns in system architecture or topology diagrams"
],
"tags": [
"load balancer",
"distribute",
"traffic",
"network",
"nodes",
"parallel",
"branch",
"hierarchy",
"routing",
"dispatcher",
"cluster",
"backend",
"fan-out",
"topology",
"orchestration"
],
"categories": [
"connectivity",
"development"
]
}
+19
View File
@@ -0,0 +1,19 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="7" r="4" />
<circle cx="4" cy="19" r="2" />
<circle cx="12" cy="19" r="2" />
<circle cx="20" cy="19" r="2" />
<path d="M8 7a4 4 0 0 0-4 4v6" />
<path d="M12 11v6" />
<path d="M16 7a4 4 0 0 1 4 4v6" />
</svg>

After

Width:  |  Height:  |  Size: 443 B

+24
View File
@@ -0,0 +1,24 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"madebyoz"
],
"use-cases": [
"Adjusting spacing between characters in text editors and design tools"
],
"tags": [
"tracking",
"kerning",
"design",
"lettering",
"text",
"letters",
"characters",
"font",
"typography",
"formatting"
],
"categories": [
"text"
]
}
+4 -2
View File
@@ -9,6 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 7a4.95 4.95 0 0 0-8.6-3.4c-1.5 1.6-1.6 1.8-5 2.6a8 8 0 1 0 9.4 9.5c.7-3.4 1-3.6 2.6-5 1-1 1.6-2.3 1.6-3.7" />
<circle cx="10" cy="14" r="3.5" />
<path d="M15 14H9" />
<path d="M21 3v18" />
<path d="M3 3v18" />
<path d="m8 16 3.453-7.648a.6.6 0 011.094.001L16 16" />
</svg>

Before

Width:  |  Height:  |  Size: 370 B

After

Width:  |  Height:  |  Size: 337 B

+26
View File
@@ -0,0 +1,26 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"madebyoz"
],
"use-cases": [
"Adjusting spacing between lines in text editors and design tools"
],
"tags": [
"leading",
"text",
"letters",
"characters",
"font",
"typography",
"spacing",
"paragraph",
"formatting",
"editor",
"readability",
"typesetting"
],
"categories": [
"text"
]
}
+16
View File
@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M15 14H9" />
<path d="M21 21H3" />
<path d="M21 3H3" />
<path d="m8 16 3.453-7.648a.6.6 0 011.094.001L16 16" />
</svg>

After

Width:  |  Height:  |  Size: 337 B

+40
View File
@@ -0,0 +1,40 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"hitanshu-machhi",
"colebemis",
"csandman",
"ericfennis",
"karsa-mistmere",
"jguddas",
"mittalyashu"
],
"use-cases": [
"Representing a user profile in a mobile application",
"Indicating a mobile account or device owner",
"Showing mobile contact or identity settings",
"Displaying a user avatar in a mobile dashboard",
"Linking to a contact's profile from a mobile list",
"Indicating mobile sign-in or authentication screens",
"Marking a device as assigned to a user in device management apps"
],
"tags": [
"phone",
"cellphone",
"device",
"mobile",
"person",
"profile",
"account",
"avatar",
"contact",
"identity",
"owner",
"authentication"
],
"categories": [
"account",
"devices",
"people"
]
}
+16
View File
@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10 22H6a2 2 0 01-2-2V4a2 2 0 012-2h10a2 2 0 012 2v4" />
<path d="M11 18h.01" />
<path d="M22 22a4 4 0 00-8 0" />
<circle cx="18" cy="15" r="3" />
</svg>

After

Width:  |  Height:  |  Size: 372 B

+41
View File
@@ -0,0 +1,41 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"jguddas",
"ryck"
],
"use-cases": [
"Marking death or game-over states in games, often paired with skull or ghost icons",
"Indicating cemetery or graveyard locations on maps",
"Marking deceased individuals in genealogy or family-tree applications",
"Flagging obsolete, deprecated, or retired items such as endpoints or pages"
],
"tags": [
"grave",
"gravestone",
"headstone",
"cemetery",
"graveyard",
"death",
"memorial",
"funeral",
"halloween",
"rip",
"obituary",
"deceased",
"epitaph",
"mourning",
"bereavement",
"condolence",
"deprecated",
"retired",
"archived",
"decommissioned"
],
"categories": [
"gaming",
"navigation",
"people",
"development"
]
}
+4 -2
View File
@@ -9,6 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 8c-2 5-5 2-7 7s-5 2-7 7l-6-6c2-5 5-2 7-7s5-2 7-7Z" />
<path d="M5 19c2-5 5-2 7-7s5-2 7-7" />
<path d="M11 10h2" />
<path d="M19 21V10a7 7 0 00-14 0v11" />
<path d="M2 21h20" />
<path d="M9 14h6" />
</svg>

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 321 B

@@ -12,8 +12,8 @@
"dependencies": {
"lucide-react": "workspace:*",
"next": "16.3.8",
"react": "19.3.0",
"react-dom": "19.3.0"
"react": "19.3.1",
"react-dom": "19.3.1"
},
"devDependencies": {
"@types/react": "19.3.0",
@@ -14,8 +14,8 @@
"@react-router/serve": "8.3.1",
"isbot": "5.2.2",
"lucide-react": "workspace:*",
"react": "19.3.0",
"react-dom": "19.3.0",
"react": "19.3.1",
"react-dom": "19.3.1",
"react-router": "8.3.1"
},
"devDependencies": {
@@ -12,8 +12,8 @@
"dependencies": {
"@tanstack/react-router": "1.170.32",
"lucide-react": "workspace:*",
"react": "19.3.0",
"react-dom": "19.3.0"
"react": "19.3.1",
"react-dom": "19.3.1"
},
"devDependencies": {
"@tanstack/router-plugin": "1.168.35",
@@ -13,8 +13,8 @@
"@tanstack/react-router": "1.170.41",
"@tanstack/react-start": "1.168.60",
"lucide-react": "workspace:*",
"react": "19.3.0",
"react-dom": "19.3.0"
"react": "19.3.1",
"react-dom": "19.3.1"
},
"devDependencies": {
"@types/node": "^26.1.1",
+2 -2
View File
@@ -11,8 +11,8 @@
},
"dependencies": {
"lucide-react": "workspace:*",
"react": "19.3.0",
"react-dom": "19.3.0"
"react": "19.3.1",
"react-dom": "19.3.1"
},
"devDependencies": {
"@types/react": "19.3.0",
@@ -19,7 +19,7 @@
},
"devDependencies": {
"@sveltejs/adapter-auto": "^8.0.0",
"@sveltejs/kit": "^3.0.1",
"@sveltejs/kit": "^3.1.0",
"@sveltejs/vite-plugin-svelte": "^7.3.1",
"@vitest/browser-playwright": "5.0.3",
"playwright": "1.58.2",
+2 -2
View File
@@ -12,11 +12,11 @@
"dependencies": {
"@lucide/vue": "workspace:*",
"nuxt": "4.5.1",
"vue": "3.5.43",
"vue": "3.5.44",
"vue-router": "5.3.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^6.0.8",
"@vitejs/plugin-vue": "^6.0.10",
"@vitest/browser-playwright": "5.0.3",
"typescript": "^6.0.3",
"vite": "^8.3.2",
+2 -2
View File
@@ -13,10 +13,10 @@
"@lucide/vue": "workspace:*",
"vike": "0.4.266",
"vike-vue": "0.9.13",
"vue": "3.5.43"
"vue": "3.5.44"
},
"devDependencies": {
"@vitejs/plugin-vue": "^6.0.8",
"@vitejs/plugin-vue": "^6.0.10",
"@vitest/browser-playwright": "5.0.3",
"typescript": "^6.0.3",
"vite": "^8.3.2",
+2 -2
View File
@@ -11,12 +11,12 @@
},
"dependencies": {
"@lucide/vue": "workspace:*",
"vue": "3.5.43"
"vue": "3.5.44"
},
"devDependencies": {
"@tsconfig/node24": "^24.0.5",
"@types/node": "^26.1.1",
"@vitejs/plugin-vue": "^6.0.8",
"@vitejs/plugin-vue": "^6.0.10",
"@vitest/browser-playwright": "5.0.3",
"@vue/tsconfig": "^0.9.1",
"playwright": "1.58.2",
-26
View File
@@ -1,26 +0,0 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"fruit",
"snack",
"meal",
"lunch",
"ingredient",
"cooking",
"cookery",
"kitchen",
"cuisine",
"eating",
"healthy",
"nutrition",
"diet",
"guacamole",
"mexican"
],
"categories": [
"food-beverage"
]
}
-33
View File
@@ -1,33 +0,0 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"rashers",
"smoked",
"streaky",
"crispy",
"meat",
"fast food",
"junk food",
"snack",
"dish",
"restaurant",
"brunch",
"lunch",
"meal",
"savory",
"savoury",
"cookery",
"cooking",
"grilled",
"barbecue",
"barbeque",
"bbq",
"pig"
],
"categories": [
"food-beverage"
]
}
+3 -3
View File
@@ -75,9 +75,9 @@
"@types/react": "^19.3.0",
"@vitejs/plugin-react": "^6.1.2",
"jest-serializer-html": "^7.1.0",
"react": "19.3.0",
"react-dom": "19.3.0",
"react-native": "^0.87.1",
"react": "19.3.1",
"react-dom": "19.3.1",
"react-native": "^0.88.0",
"react-native-svg": "^15.15.5",
"rollup": "^4.63.1",
"rollup-plugin-dts": "^6.5.1",
+2 -2
View File
@@ -59,8 +59,8 @@
"@types/react": "^19.3.0",
"@vitejs/plugin-react": "^6.1.2",
"jest-serializer-html": "^7.1.0",
"react": "19.3.0",
"react-dom": "19.3.0",
"react": "19.3.1",
"react-dom": "19.3.1",
"rollup": "^4.63.1",
"rollup-plugin-dts": "^6.5.1",
"rollup-plugin-preserve-directives": "^0.4.0",
+1 -1
View File
@@ -65,7 +65,7 @@
"devDependencies": {
"@lucide/build-icons": "workspace:*",
"@lucide/helpers": "workspace:*",
"@sveltejs/package": "^3.0.0",
"@sveltejs/package": "^3.0.1",
"@sveltejs/vite-plugin-svelte": "^7.3.1",
"@testing-library/jest-dom": "^7.0.1",
"@testing-library/svelte": "^5.4.2",
+13 -4
View File
@@ -9,14 +9,23 @@ export default defineExportTemplate(
return `\
${getHTMLBanner()}
<script module lang="ts">
import type { LucideIconData, LucideIconNode } from '../types.js';
export const __iconData: LucideIconData = ${JSON.stringify(iconData)};
/**
* @deprecated Access \`__iconData\` instead.
*/
export const __iconNode: LucideIconNode[] = __iconData.node;
</script>
<script lang="ts">
import Icon from '../Icon.svelte';
import type { LucideProps, LucideIconData } from '../types.js';
import type { LucideProps } from '../types.js';
let props: LucideProps = $props();
const iconData: LucideIconData = ${JSON.stringify(iconData)};
</script>
<!--
@@ -29,7 +38,7 @@ Lucide SVG icon component, renders SVG Element with children.
${deprecated ? `\n@deprecated ${deprecationReason}\n` : ''}\
-->
<Icon {...props} icon={iconData} />
<Icon {...props} icon={__iconData} />
`;
},
);
@@ -1,6 +1,7 @@
import { describe, it, expect, afterEach } from 'vitest';
import { render, cleanup } from '@testing-library/svelte';
import { Smile, Pen, Edit2 } from '../src/lucide-svelte.js';
import { __iconData, __iconNode } from '../src/icons/face-slightly-smiling.svelte';
import TestSlots from './TestSlots.svelte';
import ContextWrapper from './ContextWrapper.svelte';
@@ -132,3 +133,14 @@ describe('Icon Component Accessibility', () => {
expect(container.firstChild).not.toHaveAttribute('aria-hidden');
});
});
describe('Per-icon data export', () => {
it('should export __iconData and __iconNode from the svelte component module', () => {
expect(__iconData).toBeDefined();
expect(__iconData.name).toBe('face-slightly-smiling');
expect(__iconData.size).toBe(24);
expect(Array.isArray(__iconData.node)).toBe(true);
expect(__iconData.node.length).toBeGreaterThan(0);
expect(__iconNode).toEqual(__iconData.node);
});
});
+2 -2
View File
@@ -46,13 +46,13 @@
"@lucide/shared": "workspace:*",
"@testing-library/jest-dom": "^7.0.1",
"@testing-library/vue": "^8.1.0",
"@vitejs/plugin-vue": "^6.0.9",
"@vitejs/plugin-vue": "^6.0.10",
"@vue/test-utils": "2.5.1",
"rollup": "^4.63.1",
"rollup-plugin-dts": "^6.5.1",
"typescript": "^6.0.3",
"vite": "^8.3.2",
"vue": "^3.5.43"
"vue": "^3.5.44"
},
"peerDependencies": {
"vue": ">=3.0.1"
+617 -626
View File
File diff suppressed because it is too large Load Diff