Files
lucide/docs/guide/packages/lucide-angular.md

188 lines
5.0 KiB
Markdown
Raw Normal View History

# Lucide Angular
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
::: warning
This documentation is for our legacy package for Angular.
For our modern, standalone-first implementation, please refer to [`@lucide/angular`](./angular).
:::
Angular components and services for Lucide icons that integrate with Angular's dependency injection and component system. Provides both traditional module-based and modern standalone component approaches for maximum flexibility in Angular applications.
**What you can accomplish:**
- Use icons as Angular components with full dependency injection support
- Configure icons globally through Angular services and providers
- Choose from multiple component selectors (lucide-angular, lucide-icon, i-lucide, span-lucide)
- Integrate with Angular's reactive forms and data binding
- Build scalable applications with tree-shaken icon bundles and lazy loading support
## Installation
::: code-group
```sh [pnpm]
pnpm add lucide-angular
```
```sh [yarn]
yarn add lucide-angular
```
```sh [npm]
npm install lucide-angular
```
```sh [bun]
bun add lucide-angular
```
:::
## How to use
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
### Step 1: Import `LucideAngularModule`
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
In any Angular module you wish to use Lucide icons in, you have to import `LucideAngularModule`, and pick any icons you wish to use:
```js
2025-05-03 09:28:29 +02:00
import { LucideAngularModule, File, House, Menu, UserCheck } from 'lucide-angular';
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
@NgModule({
imports: [
2025-05-03 09:28:29 +02:00
LucideAngularModule.pick({File, House, Menu, UserCheck})
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
]
})
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
export class AppModule { }
```
or using standalone version:
```js
import { Component } from '@angular/core';
import { LucideAngularModule, FileIcon } from 'lucide-angular';
@Component({
standalone: true,
selector: 'app-root',
templateUrl: './app.component.html',
styleUrl: './app.component.scss',
imports: [LucideAngularModule]
})
export class AppComponent {
readonly FileIcon = FileIcon;
}
```
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
### Step 2: Use the icons in templates
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
Within your templates you may now use one of the following component tags to insert an icon:
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
```html
<lucide-angular name="file" class="my-icon"></lucide-angular>
2025-05-03 09:28:29 +02:00
<lucide-icon name="house" class="my-icon"></lucide-icon>
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
<i-lucide name="menu" class="my-icon"></i-lucide>
<span-lucide name="user-check" class="my-icon"></span-lucide>
```
for standalone
```html
<lucide-angular [img]="FileIcon" class="my-icon"></lucide-angular>
<lucide-icon [img]="FileIcon" class="my-icon"></lucide-icon>
<i-lucide [img]="FileIcon" class="my-icon"></i-lucide>
<span-lucide [img]="FileIcon" class="my-icon"></span-lucide>
```
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
### Props
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
You can pass additional props to adjust the icon appearance.
| name | type | default |
| --------------------- | --------- | ------------ |
| `size` | *number* | 24 |
| `color` | *string* | currentColor |
| `strokeWidth` | *number* | 2 |
| `absoluteStrokeWidth` | *boolean* | false |
```html
2025-05-03 09:28:29 +02:00
<i-lucide name="house" [size]="48" color="red" [strokeWidth]="1"></i-lucide>
```
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
### Global configuration
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
You can inject the `LucideIconConfig` service in your root component to globally configure the default property values as defined above.
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
### Styling using a custom CSS class
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
Any extra HTML attribute is ignored, but the `class` attribute
is passed onto the internal SVG image element and it can be used to style it:
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
```css
svg.my-icon {
width: 12px;
height: 12px;
stroke-width: 3;
}
```
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
## Injecting multiple icon providers
You may provide additional icons using the `LUCIDE_ICONS` injection token,
which accepts multiple providers of the interface `LucideIconsProviderInterface`
with the utility class `LucideIconsProvider` available for easier usage:
```js
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
import { LUCIDE_ICONS, LucideIconProvider } from 'lucide-angular';
import { MyIcon } from './icons/my-icon';
const myIcons = {MyIcon};
@NgModule({
providers: [
{provide: LUCIDE_ICONS, multi: true, useValue: new LucideIconProvider(myIcons)},
]
})
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
export class AppModule { }
```
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
To add custom icons, you will first need to convert them to an [svgson format](https://github.com/elrumordelaluz/svgson).
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
## Loading all icons
::: danger
You may also opt to import all icons if necessary using the following format but be aware that this will significantly increase your application build size.
:::
```js
import { icons } from 'lucide-angular';
...
Introducing `absoluteStrokeWidth` option on Lucide Components (#939) * Add more music icons and another mic icon (#746) * Revert "Add more music icons and another mic icon (#746)" (#750) This reverts commit 57cba6ae0ecc5ecdf355858935e18e1eac175d69. * add scale Stroke width * Added scaleStrokeWidth prop to all packages * Add scaleStrokeWidth to types * Rename scaleStrokeWidth to absoluteStrokeWidth * Adds common API elements to the Angular package (#949) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR --------- Co-authored-by: Karsa <karsa@karsa.org> * Add absoluteStrokeWidth in docs * update snapshots * Manual merge of main * Fixed incorrectly merged pnpm-lock.yaml * Fixes lucide-angular build * [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012) * Almost complete rewrite of the Angular package * Update tsconfig.spec.json * fixes icon build export file name * Updates Angular documentation with the new properties + provider injection * Update lucide-angular.md * refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages * removed codelyzer from devDeps + added flexible angular core dependencies * Deprecates createElement helper in favour of Renderer2 to support SSR * Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md * Replaces removed line in README.md * Fixes merge error * Updates export template to use the non-deprecated type * downgrade building to ng-cli@13 * downgrade to es2020 --------- Co-authored-by: Karsa <karsa@karsa.org> * rename scaleStrokeWidth to absoluteStrokeWidth in readme --------- Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: Eric Fennis <eric@dreamteam.nl> Co-authored-by: Karsa <karsa@karsa.org> Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
2023-04-20 16:08:34 +02:00
LucideAngularModule.pick(icons)
```
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used in the same way as the official icons.
```js
import { LucideAngularModule } from 'lucide-angular';
2025-05-03 09:28:29 +02:00
import { coconut } from '@lucide/lab';
@NgModule({
imports: [
2025-05-03 09:28:29 +02:00
LucideAngularModule.pick({ coconut })
]
})
export class AppModule { }
```
## Accessibility
By default, we hide icons from screen readers using `aria-hidden="true"`.
You can add accessibility attributes using aria-labels.
```html
<lucide-icon name="check" aria-label="Task completed"></lucide-icon>
```
For best practices on accessibility, please see our [accessibility guide](../advanced/accessibility.md).