a0e202d759
feat(packages/angular): add new @lucide/angular package ( #3897 )
...
* Add new lucide angular package
* feat(packages/angular): added initial @lucide/angular package
* feat(packages/angular): update readme
* feat(packages/angular): update angular.json
* docs(packages/angular): added (for now) full documentation for @lucide/angular
* docs(packages/angular): added migration guide from lucide-angular
* fix(github): fix package label syntax 😅
* fix(lint): fix linting issues
* fix(github/angular): add prebuild stage
* fix(github/angular): add prebuild stage & fix tests
* fix(github/angular): fix LucideIconComponentType, update with _real_ public members
* fix(github/angular): add prebuild to build step manually
* fix(github/angular): downgrade vitest
* fix(packages/angular): fix migration guide code example
* fix(packages): add vitest + @vitest/* to pnpm overrides
* fix(packages): update pnpm-lock with merged version
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(packages): fix aria-hidden logic
* fix(packages): update pnpm-lock
* fix(packages): extract vitest and jsdom to root devDependencies
* Fix copy utils script
* Format code
* feat(packages/angular): switched to self-describing IconData object from separate node+name – no more toKebabCase hackery
feat(packages/angular): renamed LucideIconComponentType => LucideIcon, and LucideIcon => LucideDynamicIcon
feat(packages/angular): added backwards compatible CSS class support
feat(packages/angular): switched to vector-effect: non-scaling-stroke implementation from computed stroke width
feat(packages/angular): rewrote icon provider to only accept a list of self-described icons – no more toKebabCase hackery & as an added bonus automatic backwards compatible alias support 🚀
feat(packages/angular): added legacy icon node helper function for passing legacy icons to providers
test(packages/angular): added unit tests on LUCIDE_CONFIG provider usage
* fix(packages/angular): fix linting issues
* feat(packages/angular): extract createLucideIcon logic into helper function, refactor export template to use the iconData object as defined in ExportTemplate
* Replace author
* Remove private field
* fix(packages/angular): remove createLucideIcon, it breaks the package :'(
* fix(packages/angular): fix rendering order of child elements (_before_ projected content)
* Format package.json
* Update docs/guide/packages/angular.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update packages/angular/MIGRATION.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-20 15:31:34 +01:00
Karsa and Eric Fennis
8fe835c105
feat(packages): added new @lucide/icons package ( #3881 )
...
* feat(packages): added lucide icons package skeleton
* feat(packages): added initial commit of @lucide/icons
* fix: fixed linting issues introduced in c4e5730bc4 (#3858 )
* fix(packages/icons): update package, remove UMD export
* fix(packages/icons): update github actions
* docs(packages/icons): add documentation for various helpers and types
* fix(.github/ISSUE_TEMPLATE): fix linting issue (@ is a reserved character)
* fix(packages/icons): fix linting issues in configs
* feat(packages/icons): rename from packages/lucide-icons => packages/icons
* fix(pnpm): update lockfile
* fix(packages/icons): update readme and documentation
* fix(packages/icons): update absoluteStrokeWidth implementation
* test(packages/icons): update absoluteStrokeWidth unit test
* feat(packages/icons): add backwards compatible alias support in buildLucideIconNode
* feat(packages/icons): fix linting issues in build tools
* fix(packages/icons): rename LucideIcon => LucideIconData
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-03-13 10:18:53 +01:00
Eric Fennis
e4f1de7635
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2026-03-13 09:21:35 +01:00
Bhav Beri
4d44278d3e
docs(svelte): clarify Svelte 4 vs Svelte 5 Lucide packages ( #4107 )
...
* Clarify package usage for Svelte 4 and 5
@lucide/svelte is specified for Svelte 5, with a note for Svelte 4 users to use lucide-svelte instead.
* Add message in lucide-svelte README as well
* Update the docs installation page to match the svelte docs page
2026-03-12 13:36:55 +01:00
Eric Fennis
c5b155ec37
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2026-03-05 18:47:02 +01:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f6c0d0603a
chore(deps): bump rollup from 4.53.3 to 4.59.0 ( #4106 )
...
Bumps [rollup](https://github.com/rollup/rollup ) from 4.53.3 to 4.59.0.
- [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.53.3...v4.59.0 )
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 4.59.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 07:22:10 +01:00
Eric Fennis
5720278ef7
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2026-02-21 13:04:38 +01:00
Eric Fennis
267f22dced
fix(lucide): Fix ESM Module output path in build ( #4084 )
...
* Fix module output path
* Format code
2026-02-19 10:11:52 +01:00
Eric Fennis
c619ce988c
Fix tests
2026-02-06 11:55:03 +01:00
Eric Fennis
cbaaf4e21e
fix(@lucide/svelte): Fix build in ( #4026 )
...
* Fix build
* Adds extra typechecking
* Format code
2026-01-23 14:06:15 +01:00
Eric Fennis
628d4f903a
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2026-01-23 08:00:19 +01:00
Karsa
67c0485457
feat(scripts): added helper script to automatically update OpenCollective backers in all readmes ( #4014 )
...
feat(docs): upgraded backers as per the recurring contributions in the last 3 months
2026-01-22 11:27:39 +01:00
b6ed43d48c
feat(packages): Added aria-hidden fallback for decorative icons to all packages ( #3604 )
...
* Add aria hidden to lucide package
* Add aria-hidden to astro package
* Add tests for shared package
* Fix test for props
* add aria prop to lucide-solid
* Add aria-hidden to lucide-vue-next
* Add aria-hidden prop to angular package
* Fix builds
* Add notice about aria-label in docs
* Format code
* Update packages/svelte/tests/Icon.spec.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update packages/lucide-svelte/tests/Icon.spec.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update packages/shared/src/utils/hasA11yProp.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Adjusted docs
* Fix import
* update tests
* test(shared): fix hasA11yProp unit test
* fix(packages/lucide-angular): fix hasA11yProp import path (non-relative import path will not get properly resolved by ng-packagr)
* Format code
* Adjust aria props to root element
* Format code
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Karsa <contact@karsa.org >
2026-01-20 15:55:02 +01:00
Eric Fennis
603274ccaf
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2026-01-20 08:19:40 +01:00
3cec234405
chore(deps-dev): bump preact from 10.27.2 to 10.27.3 ( #3955 )
...
Bumps [preact](https://github.com/preactjs/preact ) from 10.27.2 to 10.27.3.
- [Release notes](https://github.com/preactjs/preact/releases )
- [Commits](https://github.com/preactjs/preact/compare/10.27.2...10.27.3 )
---
updated-dependencies:
- dependency-name: preact
dependency-version: 10.27.3
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 >
2026-01-10 17:34:30 +01:00
Eric Fennis and Copilot
0c6dfeb64c
feat(context-providers): Adding Context providers ( #3315 )
...
* Add context provider for svelte package
* Add context provider for react
* Remove old vue 2 package
* Add @lucide/vue package
* Remove old vue 2 doc
* Update docs
* Adjust export template
* Add context provider to solid package
* Fix context
* Implement context providers
* Add context provider to preact
* Adjust vue package!
* Fix tests
* Format code
* Add context provider for Vue
* Improve memoization
* Update packages/lucide-react-native/tests/context.spec.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Apply fixes
* Cleanup
* Formatting
* Move on
* Update packages/lucide-react/tests/context.spec.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update packages/lucide-preact/tests/context.spec.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update packages/vue/tests/context.spec.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Remove x
* update export template
* apply feedback
* fix export template
* Fixes types and tests
* fix tests
* apply feedback
* Remove class
* Formatting
* Update packages/svelte/src/context.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Remove fill form context providers
* formatting
* Add classname to context provider
* Apply feedback
* Format code
* Rename files
* Rename tsx to ts
* Format file
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-02 09:47:29 +01:00
Eric Fennis
5fab4e7bc8
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2025-12-22 08:12:08 +01:00
Jacek Tomaszewski and Eric Fennis
7a68e10b12
fix(lucide-react-native): remove icons namespace export to enable tree-shaking ( #3868 )
...
* fix(lucide-react-native): remove icons namespace export to enable tree-shaking
The `export * as icons from './icons'` statement defeats tree-shaking
because bundlers cannot determine which exports from the namespace are
actually used at build time. This causes all 1600+ icons to be included
in the final bundle even when only a few are imported.
This change removes the namespace re-export while keeping all individual
icon exports available via `export * from './icons'`.
BREAKING CHANGE: The `icons` namespace export is no longer available.
Users should import icons directly: `import { Activity } from 'lucide-react-native'`
instead of `import { icons } from 'lucide-react-native'; icons.Activity`.
* Add icons entry file to improve treeshaking
* Format code
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2025-12-18 11:44:26 +01:00
Jakob Guddas
a4531a9985
fix(react-native-web): only add className prop to parent Icon component ( #3892 )
2025-12-18 11:43:31 +01:00
Eric Fennis
7327637532
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2025-11-27 10:56:13 +01:00
Eric Fennis
076e0bbcd9
chore(dependencies): Update dependencies ( #3809 )
...
* update deps
* Remove ignoredBuiltDependencies
* Fix build errors
* try this
* update config
* add coma
* Try this
* Revert import change
* try this
* add wasm import
* Load wasm
* try this
* Revert nitro version change
* Revert nitro config change
2025-11-27 10:50:19 +01:00
Eric Fennis
08bd4b33a0
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2025-11-21 14:58:50 +01:00
Jeevan Mahesha
a3886eb829
feat(angular): update peer dependencies for Angular to support version 21.x ( #3807 )
2025-11-21 10:37:24 +01:00
Eric Fennis
80d6f737e0
fix(icons): Rename fingerprint icon to fingerprint-pattern ( #3767 )
...
* Rename fingerprint icon
* Fix as well for lucide-react
* Fix lint error
2025-11-17 09:32:09 +01:00
ocavue
2c46ea9948
fix(lucide-preact): handle className prop ( #3751 )
2025-11-07 10:07:57 +01:00
Eric Fennis
74d6fbc941
Fix default prop ( #3730 )
2025-10-24 16:44:49 +02:00
Khalid Alansary and Eric Fennis
be55088e75
fix(packages/lucide): replace elements inside <template> ( #2635 ) ( #3576 )
...
* fix(packages/lucide): replace elements inside `<template>` (#2635 )
* Added replaceInsideTemplates option
* Format code
* Simply code and add some documentation
* Fix vercel build
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2025-10-17 11:46:55 +02:00
Eric Fennis
b1675c4c33
chore(packages): Remove umd exports ( #3641 )
...
* Remove UMD export
* Revert package file change
2025-10-16 13:49:19 +02:00
Eric Fennis
758fa4b75f
Merge branch 'main' into next
2025-09-19 13:59:13 +02:00
1cfb3ff70e
chore(deps-dev): bump vite from 6.3.5 to 6.3.6 ( #3611 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.3.5 to 6.3.6.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.3.6
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 >
2025-09-19 10:08:00 +02:00
Eric Fennis and Copilot
7bbb1e1fea
feat(@lucide/vue): Rename Vue package name to @lucide/vue ( #3337 )
...
* Remove old vue 2 package
* Add @lucide/vue package
* Remove old vue 2 doc
* Update docs
* Adjust export template
* Adjust vue package!
* Fix tests
* Format code
* Update packages/vue/src/Icon.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Adjust vue package in docs
* Update deadlinks
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-11 14:38:34 +02:00
Eric Fennis
1d6b5d6858
Update snapshot
2025-09-11 09:47:08 +02:00
Karsa
85dba80322
feat(packages/lucide): added support for providing a custom root element ( #3543 )
...
* feat(packages/lucide): added support for providing a custom root element
* feat(packages/lucide): ran prettier & renamed from root ⇒ context
2025-08-18 15:25:08 +02:00
Jakob Guddas
16166f838b
feat(lucide-static): include aliases in icons directory ( #3368 )
2025-08-01 12:21:31 +02:00
Eric Fennis
a3ec4428f1
fix(lucide-vue-next): Support for kebabCase props ( #3477 )
...
* Fix kebabCase Vue props
* format code
* Fix tests
* Format code
2025-08-01 11:39:49 +02:00
Abdelrahman and Eric Fennis
673e76831d
fix: add extensions to imports ( #2950 )
...
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2025-08-01 11:39:36 +02:00
Jakob Guddas and Eric Fennis
e71198d9b3
chore: icon alias improvements ( #2861 )
...
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2025-07-30 16:52:50 +02:00
Alex
64ddff76c5
fix: properly select icons dir for tags & error if no metadata found ( #3411 )
...
Fixes #3359
Throwing an error in readAllMetadata now to ensure this error can't happen again in the future.
The error was caused by this script being moved to a different dir, but the relative url not being updated, causing no icons to be found.
2025-07-30 11:59:46 +02:00
Eric Fennis
3e644fda2d
chore(scripts): Refactor scripts to typescript ( #3316 )
...
* Adjust typescript types
* adjust types
* fix types in all helper files
* Fix types
* Migrate js files to ts files
* Refactor to TS files
* Rename extentions
* Adjust imports
* Fix builds
* Update lockfile
* Fix last typescript migration
* Fix entry path @lucide/outline-svg
* Fix types
* add checkout step
* format files
* Format files
2025-06-18 15:47:24 +02:00
Jeevan
f69c760598
feat(angular): update peer dependencies for Angular to support version 20.x ( #3273 )
2025-06-01 08:22:28 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
239bbd9a9a
build(deps-dev): bump vite from 6.0.7 to 6.1.6 ( #3236 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.0.7 to 6.1.6.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.1.6/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.1.6/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.1.6
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-23 12:32:16 +02:00
19fa01b5fc
build(deps-dev): bump vite from 6.3.2 to 6.3.4 ( #3181 )
...
* build(deps-dev): bump vite from 6.3.2 to 6.3.4
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.3.2 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.3.4
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update vitest as well
---------
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 >
2025-05-16 14:25:07 +02:00
Jan Vincent Liwanag and Eric Fennis
3ad1f07ffc
fix(lucide-react-native): support react 19 ( #2951 ) ( #3126 )
...
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2025-05-16 13:38:02 +02:00
Viktor Andersson and Eric Fennis
03eb86287a
use implicit return in react package ( #2325 )
...
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2025-05-02 09:49:43 +02:00
Eric Fennis
0fccc276c3
Bump dependencies ( #3096 )
2025-04-21 12:37:02 +02:00
Brizen Britt
7b954807da
Added periods ( #3065 )
2025-04-21 10:45:14 +02:00
e4988bc1df
build(deps-dev): bump vite from 5.4.15 to 5.4.17 ( #2993 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.15 to 5.4.17.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.17/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.17/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 5.4.17
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 >
2025-04-19 08:42:07 +02:00
Rokas Brazdžionis and Eric Fennis
9aac2e8424
feat(angular): export icon data types ( #2820 )
...
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2025-04-18 17:06:27 +02:00
Jakob Guddas
a11ba9e1cd
fix(react): added aria-hidden fallback for decorative icons ( #2158 )
2025-04-17 21:02:05 +02:00
ed733916f3
build(deps-dev): bump vite from 5.4.14 to 5.4.15 ( #2946 )
...
* build(deps-dev): bump vite from 5.4.14 to 5.4.15
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.14 to 5.4.15.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.15/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.15/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
* Revert icon change
---------
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 >
2025-04-04 14:26:19 +02:00