* add script
* Create script to generate the aliases Nextjs
* Apply aliases to the icon meta files
* Make sure duplicated imports are not added
* add command to lint-staged
* feat: added fallback background to svg preview for browsers without prefers-color-scheme support
* feat: added fallback background to svg stroke-width preview for browsers without prefers-color-scheme support
* [packages][lucide] Switch to the HTML attribute data-lucide instead of icon-name
* fix tests
* Update lucide.ts
Add BC for `icon-name`.
* Update packages/lucide/src/lucide.ts
Co-authored-by: Karsa <contact@karsa.org>
---------
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Not sure what happened, but `sidebar.json` should have been deleted when replaced with
`panel-left.json` in #1003… This is currently breaking the `pre-commit` hook!
* Refactors sort icons to cover all use cases
* increases arrow head size
* Apply suggestions from code review
---------
Co-authored-by: Karsa <karsa@karsa.org>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* 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>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* adds brain icons
* adds extra AI tags
* Update icons/brain-circuit.svg
Co-authored-by: Jakob Guddas <github@jguddas.de>
* Update brain.svg
* Update brain-circuit.svg
---------
Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com>
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Jakob Guddas <github@jguddas.de>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* adds tablets & pill icons
* adds some extra tags
---------
Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com>
Co-authored-by: Karsa <karsa@karsa.org>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* adds tower-control icon
* Update icons/tower-control.json
---------
Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com>
Co-authored-by: Karsa <karsa@karsa.org>
* testing
* Fixes pre-commit hook
* Removing checkIcons from pre commit hook because it might result in false positives and negatives on an unclean local repository
* Added checkIcons Github action
---------
Co-authored-by: Karsa <karsa@karsa.org>
* Deprecates tags.json and icons.json
* Removed tags.json dependency from Figma plugin
* Add JSON descriptor information to readme
* Restore packages/index.tsx
* Update packages/lucide-figma/src/api/fetchIcons.ts
Add multiple fetches to `Promise.all`
* Added caching to API endpoints
* Updates pnpm-lock.yaml
* Add tags to static
* Trigger site build
* Added prebuild script to generate api caches at build time
* Migrated NextCache function from arrow to regular to simplify markup
* test if contents are read from cache
* Add cache clear to prebuild
* removes debug object
---------
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Add grip and make all grip tags consistent
* Update icons/grip.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Update icons/grip.json
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* add subtitles icon
Co-authored-by: Karsa <contact@karsa.org>
* Add dockerfile
* Make the dockerfile work
* try docker container for font building
* remove workflow dep
* add docker compose file
* test docker image
* update build font flow
* update to v3
* cleanup
* add filter options for installs
* test
* revert filter on install
* optimize font building
* Rename workflow
* test and compare workflows
* test workflow
* test
* try with filter
* test old script github actions
* Fix old script
* this works?
* test script
* finialize font script
* remove workspace packages
* add pnpm-lock.yaml in workflows
* Update `svgo` and `svgson` version and fix some tests
* Update eslint-related packages and fix all linter errors
* Update all rollup-related packages version
* Update all rollup-related packages (part 2)
* Update the rest of package which need to be updated
* Fix unwanted comment
* Fix unwanted comment (again)
Authored by: @locness3
- Updated the obsolete number of added icons (congratulations to everyone btw, this is impressive).
- Added mention official packages.
- Expanded on "Active community".
* DEL: laravel from homepage packages
* ADD: more options link
This makes it more clear there are more options than just the ones shown on the homepage
GitHub adds Copy to clipboard button to all code snippets. By splitting npm and yarn specific snippets into two separate snippets we make it possible to copy the command dev is interested in in one click instead of manually selecting it and copying with Ctrl+C.
Reduces __NEXT_DATA__ size on main page by 127610 bytes by calculating `content` from `src` property and removing `commit` data altogether.
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* docs: fix and extend the vue3 icon component example
* docs: refactor the usage example to utilize script setup
* fix: correct dashcase in property names
* Update tags.json
Add "logo" tag to the trello logo
* Update tags.json
Add "maths" tag
* Update tags.json
Add tag "logo" to chrome
* Update tags.json
Add the tag "shape" to "octogon", "triangle", "square" and "circle"
* Update tags.json
Add tag "shape" to diamond
* Update tags.json
Add tag "maths" to function
* Update tags.json
* Update tags.json
Add "maths" to "circle slashed"
* Update tags.json
Remove the comma after the tag logo from trello
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added sailboat
* Updates icon based on @ericfennis' suggestion. Adds harbour and port tags.
* Update icons/sailboat.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Update icons/sailboat.svg
Merge extra paths into a single triangle.
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Adds various food icons.
* Added egg-fried
* Fixes dots on icons
* Removed lemon, orange, popsicle & watermelon
Co-authored-by: Karsa <karsa@karsa.org>
* Optimizes icons & fixes typos in tags.json
* Reverted some changes, fixed tag format (space as word separator)
Co-authored-by: Karsa <karsa@karsa.org>
* Add `lucide-react-native` package
Closes#394
* minor fixes build config
* Add `lucide-react-native` package
Closes#394
* make it work
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Adds heart-crack & heart-handshake
* Added extra little bit to crack to make it more crackey
* Adds agreement tag to heart-handshake
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added fingerprint
* Updated fingerprint icon according to feedback
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added dices
* Adds tags to dice icons.
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Fixes pin & adds pin-off
* Reverted to vertical icon style
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Improves thumbs
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Fixes combined path rendering bugs
Co-authored-by: Karsa <karsa@karsa.org>
The "class" produces the following error when importing the icon in react using lucide-react and Typescript:
Warning: Invalid DOM property `class`. Did you mean `className`?
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added magnet
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added star-off
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added component
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added chef-hat
* Added croissant
* Slight visual improvements to croissant shape
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added sword & swords
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Adds further tags to
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added venetian-mask
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Fixes inspect
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Complete redesign of inspect
* Added cursor & pointer tag to inspect
Co-authored-by: Karsa <karsa@karsa.org>
* Fixes battery-charging
* Fixes spark shape to be more consistent with icon set
* Improves 100% of lightning shape + fixes battery icons
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Add backspace to delete as a tag
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Fixes shopping-cart
* Update shopping-cart.svg
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Adds slightly more visual weight to shopping-cart
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added various location-off icons
* Renamed navigation-off-2 => navigation-2-off
Co-authored-by: Karsa <karsa@karsa.org>
* Added factory icon
* slightly adjusted visual style to match lucide
* Make factory more in line with other building icons
* Slight adjustment to roof height
* Even more drastic increase in size.
* One more tiny change to roof shape
* Added @ericfennis' suggestion
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added focus
* Update icon to match scan-line
Co-authored-by: Karsa <karsa@karsa.org>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added puzzle
Co-authored-by: Karsa <karsa@karsa.org>
* Add movie icon
* Add movie-play and movie-pause and fix formatting
* change movie and remove movie-play and movie-pause
* fix minor issues I introduced later on
* move movie icon to nearest pixel
* Fix rectangle and change rotation
* Change icon name, remove useless tags
* svg formatting
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Added accessibility icon as per https://github.com/feathericons/feather/issues/633
* added newline to end of file
* Updated icon to comply with design guidelines and more closely match accessibleicon.org
* Added sliders-horizontal
* Added tags to sliders-horizontal
Co-authored-by: Karsa <karsa@karsa.org>
* Fixes image, image-minus, image-plus & image-off
* make image-off work in exchange of minuscule design guideline violations
* Fixed most of the minor guideline violations.
* Add 2px rounding to mountain shape
* Fixes image-off
Co-authored-by: Karsa <karsa@karsa.org>
* fixes slashes on *-off icons
* fixes video icons
* Rolled back eye-off, since it is now part of a new PR
* Rolled back mic-off, see: #577
* Override mic-off from master
* Override mic-off from master again
Co-authored-by: Karsa <karsa@karsa.org>
* Fixes award according to guidelines
* minor adjustment to ribbon shape
* minor adjustment to ribbon shape
* further minor adjustment to ribbon shape
* Update award.svg
Co-authored-by: Karsa <karsa@karsa.org>
* Fixes twitter
* Reworked to be more like actual twitter logo
* Pixel perfection optimization
* Further pixel perfection optimization
* Slight adjustment to head shape.
Co-authored-by: Karsa <karsa@karsa.org>
* add business icon
* rename business icon to building-2
* Update icons/building-2.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* add keyboard icon
* Update tags.json
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Split up path into smaller paths
* add coma in tags.json
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Add docs Menu Tree data
* Start with sectiontitles
* Create link list
* Add Docs menu to mobile
* Add some more pages and text
* Optimize text
* add license to the menu
* update packages
* Fix build
* Update title
* Remove ModifiedTooltip
* Fix assets
* add yarn to copy-assets command
* update lockfile
Before submitting an icon request check if it has already been requested. If there is an open request, please add a 👍.
**Important note**: No new brand logos are allowed, see https://github.com/lucide-icons/lucide/issues/670.
Existing brand icons will also be phased out. For brand icons, consider using https://simpleicons.org, which offers purpose-built SVGs that are also on a 24×24px grid.
- type:input
id:name
attributes:
label:Icon name
description:What should this icon depict? For multiple icons, provide a comma-separated list.
validations:
required:true
- type:textarea
id:use-cases
attributes:
label:Use cases
description:Why do you need this icon? Include at least two real-life use cases per requested icon, avoiding generic descriptions like "it's a car icon".
placeholder:e.g. I need a star icon to use in my rating system.
validations:
required:true
- type:textarea
id:design-ideas
attributes:
label:Design ideas
description:What should this icon look like? Provide simple, minimalistic icon examples from other sets or your own drafts to help us visualize your request.
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please review the following checklist before submitting your request.
options:
- label:I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
required:true
- label:I have searched existing icons to make sure it does not already exist and I didn't find any.
required:true
- label:I am not requesting a brand logo and the art is not protected by copyright.
required:true
- label:I am not requesting an icon that includes religious, political imagery or hate symbols.
required:true
- label:I have provided appropriate use cases for the icon(s) requested.
Before reporting an issue, please search to see if someone has filed a similar issue before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
- type:checkboxes
id:packages
attributes:
label:Package
description:Which Lucide packages are affected? You may select more than one.
options:
- label:lucide
- label:lucide-angular
- label:lucide-flutter
- label:lucide-preact
- label:lucide-react
- label:lucide-react-native
- label:lucide-solid
- label:lucide-svelte
- label:lucide-vue
- label:lucide-vue-next
- label:Figma plugin
- label:source/main
- label:other/not relevant
validations:
required:true
- type:input
id:version
attributes:
label:Version
description:What version of Lucide are you running?
placeholder:e.g. 0.289.1
validations:
required:true
- type:checkboxes
id:browsers
attributes:
label:Browser
description:In which browser(s) are you experiencing the issue? You may select more than one.
options:
- label:Chrome/Chromium
- label:Firefox
- label:Safari
- label:Edge
- label:iOS Safari
- label:Opera
- label:Other/not relevant
validations:
required:false
- type:checkboxes
id:operating-systems
attributes:
label:Operating system
description:In which operating systems a you experiencing the issue? You may select more than one.
options:
- label:Windows
- label:Linux
- label:macOS
- label:Other/not relevant
- type:textarea
id:description
attributes:
label:Description
description:Try to describe in detail the problem you're running into and provide additional context about your working environment if necessary.
placeholder:e.g. When I do X, Y happens instead of Z
validations:
required:true
- type:textarea
id:steps-to-reproduce
attributes:
label:Steps to reproduce
description:Please provide a detailed guide on how this issue can be reproduced or a live example with a working reproduction on Codesandbox, JSFiddle or similar.
placeholder:|
1. Import `check` icon
2. Add to a React component/view
3. Run the react app
4. Notice that the `check` isn't rendering correctly which seems a encoding problem
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please review the following checklist before submitting your issue.
options:
- label:I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
Before reporting an issue, please search to see if someone has filed a similar issue before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
- type:checkboxes
id:browsers
attributes:
label:Browser
description:In which browser(s) are you experiencing the issue? You may select more than one.
options:
- label:Chrome/Chromium
- label:Firefox
- label:Safari
- label:Edge
- label:iOS Safari
- label:Opera
- label:Other/not relevant
validations:
required:false
- type:checkboxes
id:operating-systems
attributes:
label:Operating system
description:In which operating systems are you experiencing the issue? You may select more than one.
options:
- label:Windows
- label:Linux
- label:macOS
- label:Other/not relevant
- type:textarea
id:description
attributes:
label:Description
description:Try to describe in detail the problem you're running into and provide additional context about your working environment if necessary.
placeholder:e.g. When I do X, Y happens instead of Z
validations:
required:true
- type:textarea
id:stepsToReproduce
attributes:
label:Steps to reproduce
description:Please provide a detailed guide on how this issue can be reproduced.
placeholder:|
1. I click on an icon
2. I click on `Copy SVG` in the drawer
3. I paste from the clipboard
4. A base64 encoded data URI is inserted.
...
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please review the following checklist before submitting your issue.
options:
- label:I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
description:Share with us your ideas on how Lucide could be improved upon.
labels:['💡 idea']
body:
- type:markdown
attributes:
value:|
Before submitting a new feature request, please search to see if someone has filed a similar request before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
- type:checkboxes
id:packages
attributes:
label:Package
description:Which Lucide project do you wish this feature were added to? You may select more than one.
options:
- label:lucide
- label:lucide-angular
- label:lucide-flutter
- label:lucide-preact
- label:lucide-react
- label:lucide-react-native
- label:lucide-solid
- label:lucide-svelte
- label:lucide-vue
- label:lucide-vue-next
- label:Figma plugin
- label:all JS packages
- label:site
validations:
required:true
- type:textarea
id:description
attributes:
label:Description
description:Try to describe in detail the feature you wish existed.
placeholder:e.g. I want to be able to set extra CSS classes on icon components.
validations:
required:true
- type:textarea
id:use-cases
attributes:
label:Use cases
description:Why do you need this feature? Provide real-life use cases as to why this feature will be useful for others.
placeholder:e.g. I could use the extra classes to add animation or global custom styling to some icons.
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please check the following items before submitting your issue.
options:
- label:I have searched the existing issues to make sure this bug has not already been reported.
Before reporting an issue, please search to see if someone has filed a similar issue before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
-->
## Prerequisites
* Version:
* Are you running from source/master:
* Are you using a released build:
* Operating system:
* Bits:
## Step to reproduce
*(Type here)*
### Actual behavior
## Any message or error
*(Type here)*
## Resources
* Links
* Screenshots
Here is what a great bug report would look like:
```
## Prerequisites
Version: Release v3.1.0
Running from: Import using webpack
Operating system: Mac OSX
Bits: 64 bits
## Step to reproduce
- Import `check` icon
- Add to a React component/view
- Run the react app
- Notice that the `check` isn't rendering correctly which seems a encoding problem
### Actual behavior:
- Import `check` icon
- Add to a React component/view
- Run the react app
- Check is displayed with correct encoding (e.g UTF-8)
Before creating an icon request, please search to see if someone has requested the icon already. If there is an open request, please add a 👍.
A note about brand logos and related material : We follow the decision from Feather Icons (https://github.com/feathericons/feather/issues/763) to deprecate icons relating to brands.
You will find some in the set, but we won't add any new ones. https://simpleicons.org has 24x24 SVG icons for this purpose.
<!-- Insert `closes #issueNumber` here if merging this PR will resolve an existing issue -->
## What is the purpose of this pull request?
<!-- Please choose one of the following, and put an "x" next to it. -->
- [ ] New Icon
- [ ] Bug fix
- [ ] New Feature
- [ ] Documentation update
- [ ] Other:
### Description
<!-- Please insert your description here and provide info about the "what" this PR is contribution -->
### Icon use case <!-- ONLY for new icons, remove this part if not icon PR -->
<!-- What is the purpose of this icon? For each icon added, please insert at least two real life use cases (the more the better). Text like "it's a car icon" is not accepted. -->
### Alternative icon designs <!-- ONLY for new icons, remove this part if not icon PR -->
<!-- If you have any alternative icon designs, please attach them here. -->
## Icon Design Checklist <!-- ONLY for new icons, remove this part if not icon PR -->
### Concept <!-- ONLY for new icons -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I have provided valid use cases for each icon.
- [ ] I have not added any a brand or logo icon.
- [ ] I have not used any hate symbols.
- [ ] I have not included any religious or political imagery.
### Author, credits & license<!-- ONLY for new icons. -->
<!-- Please choose one of the following, and put an "x" next to it. -->
- [ ] The icons are solely my own creation.
- [ ] The icons were originally created in #<issueNumber> by @<githubUser>
- [ ] I've based them on the following Lucide icons: <!-- provide the list of icons -->
- [ ] I've based them on the following design: <!-- provide source URL and license permitting use -->
### Naming <!-- ONLY for new icons -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I've read and followed the [naming conventions](https://lucide.dev/guide/design/icon-design-guide#naming-conventions)
- [ ] I've named icons by what they are rather than their use case.
- [ ] I've provided meta JSON files in `icons/[iconName].json`.
### Design <!-- ONLY for new icons -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I've read and followed the [icon design guidelines](https://lucide.dev/guide/design/icon-design-guide)
- [ ] I've made sure that the icons look sharp on low DPI displays.
- [ ] I've made sure that the icons look consistent with the icon set in size, optical volume and density.
- [ ] I've made sure that the icons are visually centered.
- [ ] I've correctly optimized all icons to two points of precision.
## Before Submitting <!-- For every PR! -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I've read the [Contribution Guidelines](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md).
- [ ] I've checked if there was an existing PR that solves the same issue.
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/dpi/24/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate cohesion check random
id:generate-cohesion-check-random
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in $(printf "%s\\n" icons/*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ steps.changed-files.outputs.all_changed_files }}')); do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate cohesion check squares
id:generate-cohesion-check-squares
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in $(printf "%s\\n" icons/*square*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ steps.changed-files.outputs.all_changed_files }}')); do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate 1px stroke-width
id:generate-1px-stroke-width
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/1/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate 2px stroke-width
id:generate-2px-stroke-width
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate 3px stroke-width
id:generate-3px-stroke-width
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/3/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate X-rays
id:generate-x-rays
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img width=\"400\" title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/$(basename ${file//\.svg/})/&.svg\"/> |"
@@ -10,13 +10,13 @@ The following is a set of guidelines for contributing to Lucide. Feel free to pr
Feel free to open a pull-request to contribute to this project.
Feel free to open a pull-request to contribute to this project.
**Working on your first Pull Request?** You can learn how from this *free* series
**Working on your first Pull Request?** You can learn how from this *free* series
[How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
[How to Contribute to an Open Source Project on GitHub](https://app.egghead.io/playlists/how-to-contribute-to-an-open-source-project-on-github)
Guidelines for pull requests:
Guidelines for pull requests:
- __Make your commit messages as descriptive as possible.__ Include as much information as you can. Explain anything that the file diffs themselves won’t make apparent.
- __Make your commit messages as descriptive as possible.__ Include as much information as you can. Explain anything that the file diffs themselves won’t make apparent.
- __Document your pull request__. Explain your fix, link to the relevant issue, add screenshots when adding new icons.
- __Document your pull request__. Explain your fix, link to the relevant issue, add screenshots when adding new icons.
- __Make sure the target of your pull request is the relevant branch__. Most of bugfix or new feature should go to the `master` branch.
- __Make sure the target of your pull request is the relevant branch__. Most of bugfix or new feature should go to the `main` branch.
- __Include only related work__. If your pull request has unrelated commit, it won't be accepted.
- __Include only related work__. If your pull request has unrelated commit, it won't be accepted.
### Pull Requests Including Icons
### Pull Requests Including Icons
@@ -25,23 +25,21 @@ Guidelines for pull requests:
Please make sure you follow the icon guidelines, that should be followed to keep quality and consistency when making icons for Lucide.
Please make sure you follow the icon guidelines, that should be followed to keep quality and consistency when making icons for Lucide.
Read it here: [ICON_GUIDELINES](docs/ICON_DESIGN_GUIDE.md).
Read it here: [ICON_GUIDELINES](https://lucide.dev/docs/icon-design-guide).
### Templates
### Editor guides
Here you can find templates and instructions on how to implement the guidelines with different programs.
Here you can find instructions on how to implement the guidelines with different vector graphics editors:
`Instructions`: You can find the [Inkscape Guide](/docs/INKSCAPE_GUIDE.md) and how to set up Inkscape under `/docs/INKSCAPE_GUIDE.md`.
#### Submitting Mulitple Icons
### Submitting Multiple Icons
If you want submit multiple icons, please separate the icons and group them. That makes reviewing the icons easier and keep the thread clean and scoped.
If you want submit multiple icons, please separate the icons and group them. That makes reviewing the icons easier and keep the thread clean and scoped.
So don't submit multiple icons in one PR that have noting to do with each other.
So don't submit multiple icons in one PR that have noting to do with each other.
@@ -54,6 +52,141 @@ Before creating an icon request, please search to see if someone has requested t
If the icon has not already been requested, [create an issue](https://github.com/lucide-icons/lucide/issues/new?title=Icon%20Request:) with a title of `Icon request: <icon name>` and add as much information as possible.
If the icon has not already been requested, [create an issue](https://github.com/lucide-icons/lucide/issues/new?title=Icon%20Request:) with a title of `Icon request: <icon name>` and add as much information as possible.
## Icon Requests from Feather
### Icon Requests from Feather
If you are a designer who wants to contribute to Lucide but you don't know what icons to work on, then have a look at the Requests from Feather. All open, unfinished and valid requests can be found in [Feather Icon Requests](https://github.com/lucide-icons/lucide/issues/119).
If you are a designer who wants to contribute to Lucide but you don't know what icons to work on, then have a look at the Requests from Feather. All open, unfinished and valid requests can be found in [Feather Icon Requests](https://github.com/lucide-icons/lucide/issues/119).
## Development
You will need minimum version of [Nodejs 16.4+](https://nodejs.org)
For package management you will need [PNPM](https://pnpm.io/installation).
For flutter package development, you need [Flutter 1.17+](https://docs.flutter.dev/get-started/install).
After cloning the project you need to run:
```sh
pnpm install # Install dependencies, including the workspace packages
```
### Packages -> PNPM Workspaces
To distribute different packages we use PNPM workspaces. Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/lang/enhttps://lucide.dev/docs/workspaces).
The configured directory for workspaces is the [packages](./packages) directory, located in the root directory. There you will find all the current packages from lucide.
There are more workspaces defined, see [`pnpm-workspace.yaml`](./pnpm-workspace.yaml).
> Note: One package is not managed by pnpm: **lucide-flutter**, this package is written in Dart and used pub for publishing.
### Generated Code
For icons we use one single source of truth the icons svgs located in the icons directory. To distribute icons to the packages we generate code including: icon files with svg paths, index files with imports, and types files. Depending on the use case other necessary code will be generated.
The commands for generating this code you will read in the next chapter.
### Commonly used scripts
#### Building
The build script includes multiple subcommands to: clean the dist directory, generate icon files, generate types files, and build/transpile code for each build format.
```sh
pnpm [package-name] build
#example:
pnpm lucide-react build
```
#### Testing
Run unit tests with jest for each package to make sure all the package apis still works as expected.
```sh
pnpm [package-name]test
#example:
pnpm lucide-vue test
```
Recommended to run the test watcher when making changes.
```sh
pnpm [package-name] test:watch
#example:
pnpm lucide-preact test:watch
```
### Unit Testing
When adding new features to for example the icon component for a framework. It is required to have this covered with some unit tests.
### Local Testing
To test changes in a local project, you can use `yarn link`, `npm link` or `pnpm link` to link the package. Before you do this make sure you builded the package first.
```sh
# in packages/lucide-react
npm run build &&
npm link
# in your local project
npm link lucide-react
```
## Project Structure
Root directories
```sh
lucide
|
├── docs
├── icons
├── packages
├── scripts
└── site
```
### Docs
Detailed documentation about: installation, guides, packages, design guides etc.
### Icons
All the icons of lucide in SVG format. These will be used as source for all the packages and other distributions for the lucide icons.
### packages
Includes all the (npm) packages of lucide.
> Note: One package is not managed by pnpm: **lucide-flutter**, this package is written in Dart and used pub for publishing.
### scripts
Includes usefully scripts to automate certain jobs. Big part of the scripts is the template generation, for example it generates icon components for all the packages. These scripts are usually executed from the "scripts" section in the package.json.
### site
The lucide.dev website is using [vitepress](https://vitepress.dev/) to generate the static website. The markdown files are located in the docs directory.
## Documentation
The documentation files are located in the [docs](https://github.com/lucide-icons/lucide/tree/main/docs) directory. All these markdown files will be loaded in the build of the lucide.dev website.
Feel free to write, adjust or add new markdown files to improve our documentation.
## Support
If you need any help or have problems with you contribution. Please don't hesitate to contact the Lucide Community, you can find us on [Github](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
## Credits
Thank you to all the people who already contributed to Lucide!
Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022.
Permission to use, copy, modify, and/or distribute this software for any
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
purpose with or without fee is hereby granted, provided that the above
It began after growing disaffection with the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
It began after growing disaffection of the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
Lucide is trying to expand the icon set as much as possible while staying faithful to the original simplistic design language. We do this as a community of devs and designers and hope that you'll join us!
Lucide is trying to expand the icon set as much as possible while staying faithful to the original simplistic design language. We do this as a community of devs and designers and hope that you'll join us!
### Why choose Lucide over Feather Icons
### Why choose Lucide over Feather Icons
- Lucide already expanded the icon set by 130+ in less then a year, so more icons to work with.
- More icons to work with: Lucide already has hundreds of icons more than Feather does.
- Official librairies and integrations with popular frameworks and design tools.
- Well maintained code base.
- Well maintained code base.
- Active community.
- Active community, regularly growing and improving the set.
For more details, see the [documentation](https://github.com/Siteation/magento2-hyva-icons-lucide/blob/main/README.md).
### Eleventy
Using this plugin, Eleventy projects can incorporate Lucide icons. it makes it simple to use Lucide icons into your themes via shortcodes, improving your website's overall usability and visual appeal.
For more details, see the [documentation](https://github.com/GrimLink/eleventy-plugin-lucide-icons/blob/main/README.md).
## Contributing
## Contributing
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/master/CONTRIBUTING.md).
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md).
Caught a mistake or want to contribute to the documentation? [Edit this page on Github](https://github.com/lucide-icons/lucide/blob/master/README.md)
Caught a mistake or want to contribute to the documentation? [Edit this page on Github](https://github.com/lucide-icons/lucide/blob/main/README.md)
## Community
## Community
@@ -169,10 +274,17 @@ Join the community on our [Discord](https://discord.gg/EH6nSts) server!
## License
## License
Lucide is totally free for commercial use and personally use, this software is licensed under the [ISC License](https://github.com/lucide-icons/lucide/blob/master/LICENSE).
Lucide is totally free for commercial use and personally use, this software is licensed under the [ISC License](https://github.com/lucide-icons/lucide/blob/main/LICENSE).
## Credits
Thank you to all the people who contributed to Lucide!
"description":"Using this plugin, Eleventy projects can incorporate Lucide icons. it makes it simple to use Lucide icons into your themes via shortcodes, improving your website's overall usability and visual appeal.",
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.