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
* Update changes
* Add new ui files
* add new script files
* process
* fix build
* try to fix the worker
* try to implement rollup for figma plugin
* bump flutter package version
* add vite for figma-plugin
* add vite
* add vite
* Fix ext output
* make plugin work!
* Add Folder open icon
Co-authored-by: Jan <72730682+JanTrichter@users.noreply.github.com>
* add new fetcher
* Build new api
* add plugin fetcher
* fix fetch icons
* Fix search
* Fix site build
* update yarn.lock
Co-authored-by: Jan <72730682+JanTrichter@users.noreply.github.com>
* Fix for flutter release package
* Lowercase font name for flutter package
* Simplify assets copying
* Update .github/workflows/release.yml
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Created selection-flag start and end flag
* Update icons/selection-flag-start.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Update icons/selection-flag-end.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Rename selection-flag-start.svg to flag-triangle-right.svg
* Rename selection-flag-end.svg to flag-triangle-left.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Added the template and changed corresponding documentation
Added the illustrator template and created (ILLUSTRATOR_GUIDE.md) oder changed (CONTRIBUTING.md) files.
* fixed typo
* split up template instruction docs for programs
documentation concerning the templates and instrcutions is now separated in the documentation.
* updated illustrator export documentation
updated illustrator guide with the according options for exporting SVGs
* updated image path
image path should be correct now
* matching filenames
files names illustrator guide should match file name in /images
* image in illustrator guide path correction
image should work now
* layout adjustments to illustrator guide
layout should be pretty now
* layout corrections second try
* add square function icon
* change path to rect tag
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Fix icon
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Rename square-function.svg to function-square.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Add preact package
* Fix types
* update types
* fix types
* remove dependecies
* bump version
* improve test setup for react as well
* Add workflow for preact
* Fix types
* bump version
* Add white space
* remove forward ref
* bump package
* Fix types
* Fix types
* bump version
* Remove proptypings
* Test new version
* Add some extra documentation
* add configs
* Add vue components
* Add documentation
* add alpha release version
* improve npm ignore files
* add tests
* Make style and class attrs work
* 📦 bump version
* Add Icon suffix for component names
* bump version
* Add icon component example
* remove space
* add new build strategy
* Write a better intro
* add other node design
* fix
* add new default template
* add tempalte
* improve code
* small improvements
* small improvements
* move files
* Connect lucide with lucide-react
* Add support for vue
* Add licenses to packages
* Fix tests
* refactor build scripts
* Minor code fixes
* update homepage readme
* Update footer text
* Add a better introduction to packages
* Split up in tempaltes
* Add new types build file
* Setup workflow file
* update readme
* update
* Fix build
* remove debug code
* Add check if svgs have duplicated children
* Add check if their are no children
* small fixes
* last fixes in the build
* Move script to packages folder
* Fix tests and add types for lucide
* Add rule to package.json
* add types in build
* add npm ignore
* update package.jsons
* Generate types for all exported icons
* renderUniqueKey will generate duplicate keys if the SVG attributse are identical.
Fixed by adding an index attribute to the hash.
* Revert "renderUniqueKey will generate duplicate keys if the SVG attributse are identical. Fixed by adding an index attribute to the hash."
This reverts commit 1c42b39e
* Update packages/lucide-react/build-types.js
* Update packages/lucide-react/build-types.js
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Create server-off.svg
Hello,
I've made a server-off icon.
* Update icons/server-off.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Create monitor-off.svg
Added Monitor Off icon.
* Update monitor-off.svg
Updated the icon to match the design guide.
* Update icons/monitor-off.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* feat: ability to customize icons before downloading PNG or SVG
* feat: change color input to be a graphical color picker
* feat: tweak appearance of new inputs
* fix: switch to correct Chakra-UI@Next slider syntax
* fix: make default color `currentColor` and also add Reset button
* fix: move background color from search bar InputGroup to Input
* fix: add margins and border radius to color picker components
* fix: Downgrade color picker to version (see: https://github.com/casesandberg/react-color/issues/731)
* feat: ability to customize icons before downloading PNG or SVG
* feat: change color input to be a graphical color picker
* feat: tweak appearance of new inputs
* fix: switch to correct Chakra-UI@Next slider syntax
* fix: make default color `currentColor` and also add Reset button
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.
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
The following is a set of guidelines for contributing to Featherity. Feel free to propose changes to this document in a pull request.
The following is a set of guidelines for contributing to Lucide. Feel free to propose changes to this document in a pull request.
## Pull Requests
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
[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:
- __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.
- __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.
### Pull Requests Including Icons
#### Guidelines
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).
### Templates
Here you can find templates and instructions on how to implement the guidelines with different programs.
#### Adobe Illustrator
`Template`: You can find a template for Adobe Illustrator under `/docs/templates/illustrator-template.ai`.
`Instructions`: You can find the [Illustrator Guide](/docs/ILLUSTRATOR_GUIDE.md) and how to work with the template in `/docs/ILLUSTRATOR_GUIDE.md`.
#### Inkscape
`Template`: None
`Instructions`: You can find the [Inkscape Guide](/docs/INKSCAPE_GUIDE.md) and how to set up Inkscape under `/docs/INKSCAPE_GUIDE.md`.
#### Figma
`Template`: None
`Instructions`: You can find the [Figma Guide](/docs/FIGMA_GUIDE.md) and how to set up Figma under `/docs/FIGMA_GUIDE.md`.
#### 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.
So don't submit multiple icons in one PR that have noting to do with each other.
So for example don't create one PR with icons: `arrow-up`, `bicycle`, `arrow-down`.
Seperate them by two PRs; 'pr-01' `arrow`, `arrow-down` and 'pr-02' `bicycle`.
## Icon Requests
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 :+1:.
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
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 packagemanagement you will need [yarn v1](https://yarnpkg.com/getting-started/install).
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
yarn # 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/en/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.
> 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 using [Nextjs](https://nextjs.org).
## Documentation
The documentation files are located in the [docs](./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
purpose with or without fee is hereby granted, provided that the above
Community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
## What is Lucide?
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.
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!
Note that we are completely independent from Feather, so **icons submitted here won't get added to Feather Icons or its associated librairies**.
### Why choose Lucide over Feather Icons
- 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.
- Active community, regularly growing and improving the set.
At its core, Lucide is a collection of [SVG](https://svgontheweb.com/#svg) files. This means that you can use Feather icons in all the same ways you can use SVGs (e.g. `img`, `background-image`, `inline`, `object`, `embed`, `iframe`). Here's a helpful article detailing the many ways SVGs can be used on the web: [SVG on the Web – Implementation Options](https://svgontheweb.com/#implementation)
At its core, Lucide is a collection of [SVG](https://svgontheweb.com/#svg) files. This means that you can use Lucide icons in all the same ways you can use SVGs (e.g. `img`, `background-image`, `inline`, `object`, `embed`, `iframe`). Here's a helpful article detailing the many ways SVGs can be used on the web: [SVG on the Web – Implementation Options](https://svgontheweb.com/#implementation)
The following are additional ways you can use Lucide.
With the Javascript library you can easily incorporate the icon you want in your webpage.
### With unpkg
### Web
Here is a complete example with unpkg
Implementation of the lucide icon library for web applications.
Implementation of Lucide icon's using `blade-icons` for Laravel based projects.
```sh
composer require mallardduck/blade-lucide-icons
```
For more details, see the [documentation](https://github.com/mallardduck/blade-lucide-icons/blob/main/README.md).
### Flutter
Implementation of Lucide icon library for Flutter applications.
```sh
flutter pub add lucide_icons
```
For more details, see the [pub.dev](https://pub.dev/packages/lucide_icons).
### Svelte
Implementation of the lucide icon library for Svelte applications.
```sh
yarn add lucide-svelte
```
or
```sh
npm install lucide-svelte
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-svelte#lucide-svelte).
### Solid
Implementation of the lucide icon library for solid applications.
```sh
yarn add lucide-solid
```
or
```sh
npm install lucide-solid
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-solid#lucide-solid).
## 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
@@ -155,4 +252,17 @@ Join the community on our [Discord](https://discord.gg/EH6nSts) server!
## License
Lucide 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!
This guide shows the steps to setup Figma for creating icons that conform to the Featherity design guidelines.
## Setting Up The Frame
When you create a new document in Figma, the document. Each individual icon you want to create, has to be created in a separate frame.
To do this, create a frame of 24x24 pixels.
1. Click the frame button (or press `F`)
2. Draw a 24x24 frame (or edit it afterwards from the design window)
In this newly created frame, you will create your icon. If you want, you can change the name of your frame to the name of the icon you are going to create. Then it will be exported as `FRAME-NAME.svg`.
## Create your icon
To design your icon in the style of Feather Icons, you need to adjust a few settings in Figma.
Draw in your new frame with the pen tool. You can open it with the window at the top, or with the shortcut `P`. Once you click in your frame, you can adjust the settings for the pen tool in the design-window on the right.
Once you have completed your icon, you can export it.
1. Select the frame
2. Open the *Export* tab on the right
3. Set the file type as SVG
4. Press export
That's it. You just made your first icon. Congratulations!
## Figma Tips
1. The [Icon Design Guidelines](ICON_DESIGN_GUIDE.md) dictate that you keep 2px spacing between detached elements. In Figma, you can easily check this with: `⌥` Option (MacOS) or `Alt` (Windows).
This Guide explains how to properly use the Adobe Illustrator Template for Lucide.
>Attention: Even though it is unlikely the template can be outdated or not 100% correct. Please check the Icon Design Guide before you start working with the template to ensure integrity with the Lucide icon pack.
## General Workflow
The Illustrator template is created following guidelines from the [Icon Design Guide](ICON_DESIGN_GUIDE.md).
**Workflow:**
1. Open the Document which can be found under __*/docs/templates/illustrator_template.ai*__ .
2. You can now remove the content from the example logo layer ("Draw") and start creating.
3. Verify that you follow the [Icon Design Guidelines](ICON_DESIGN_GUIDE.md).
4. Before you export the file as an SVG make sure to check that you followed the guidelines and remove all unecessary layers (especially "Padding" and "Grid").
5. Export the file with the export menu under: `Export > Export As..` than safe the file as SVG. Select the following options in the SVG Options dialog:

After that, double check that the [code conventions and SVG global attributes](https://github.com/lucide-icons/lucide/blob/main/docs/ICON_DESIGN_GUIDE.md#code-conventions) are correct.
7. Minify paths with [SVGOMG](https://jakearchibald.github.io/svgomg/).
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather).
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 and not maintained actively. 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.
### Why should I choose Lucide over Feather Icons?
- Lucide already expended the icon set by 130+ in less then a year. Lucide has over 500+ icon, feather sticks around 286 icons.
- Well maintained code base.
- Active community.
### Should I migrate to Lucide?
That depends if you're fine with the icons from feather icons. If that is the case, it is maybe not the effort worth it.
But if you keep wrestling and feel limited by the icons Feather provides you can consider to migrate.
We didn't remove any icons when we forked, but there are some icons renamed.
An open source icon library for displaying icons and symbols in digital and non digital projects. It is containing over 500+ Vector (svg) files. To use these icons, lucide provides several official packages to make it easier to use these icons in projects.
Lucide contains icons with different variants and states. With that designers and developers can choose the right icon for them selves. If icons don't exist you're free to open design request. The Lucide community will help.
With help of the community, contributors are providing the library of new icons. With more icons, we simply have more icons to work with in your project. Also with rising of new applications with specific features lucide has the goal the provide the complete set for you project.
When designing new icons, the community is working with a set of design rules. This is to keep icons: recognizable, consistency in style, and readable on all sizes. The community likes to have creativity in new icons but conventional design is important to have recognizable icons.
Beside design, code is also important. Assets like icons in for example web projects can increase the transferred bytes significantly. With the growing internet, lucide has the responsibility to keep their assets small as possible. To achieve this, lucide uses SVG compression and specific code architecture for tree-shaking abilities. With tree-shaking used you will only ship the icons you used, helps you to keep the software small as possible when distributed.
Lucide provides several official packages for: [Web (Vanilla)](https://lucide.dev/docs/lucide), [React](https://lucide.dev/docs/lucide-react), [React Native](https://lucide.dev/docs/lucide-react-native), [Vue](https://lucide.dev/docs/lucide-vue), [Vue 3](https://lucide.dev/docs/lucide-vue-next), [Svelte](https://lucide.dev/docs/lucide-svelte),[Preact](https://lucide.dev/docs/lucide-preact), [Angular](https://lucide.dev/docs/lucide-angular), [NodeJS](https://lucide.dev/docs/lucide-static#nodejs) and [Flutter](https://lucide.dev/docs/lucide-flutter).
Any questions about lucide? Ask the community. Active on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
Implementation of the lucide icon library for preact applications.
## Installation
```sh
yarn add lucide-preact
```
or
```sh
npm install lucide-preact
```
## How to use
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a preact component.
### Example
You can pass additional props to adjust the icon.
```js
import{Camera}from'lucide-preact';
// Returns PreactComponent
// Usage
constApp=()=>{
return<Cameracolor="red"size={48}/>;
};
exportdefaultApp;
```
### Props
| name | type | default |
| ------------- | -------- | ------------ |
| `size` | _Number_ | 24 |
| `color` | _String_ | currentColor |
| `strokeWidth` | _Number_ | 2 |
### Custom props / svg attributes
You can also pass custom props that will be added in the as attributes. With that you can modify the icons look by passing svg attributes.
```js
// Usage
constApp=()=>{
return<Camerafill="red"stroke-linejoin="bevel"/>;
};
```
> svg attributes in preact aren't transformed, so if want to change e.g. the `stroke-linejoin` you need to pass it in kebabcase, the way svg spec is written so. See this topic in the [preact documentation](https://preactjs.com/guide/v10/differences-to-react/#svg-inside-jsx).
### One generic icon component
It is possible to create one generic icon component to load icons.
> ⚠️ Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
Implementation of the lucide icon library for React Native applications
## Installation
First, ensure that you have `react-native-svg@^12.0.0` installed. Then, install the package:
```bash
yarn add lucide-react-native
```
or
```sh
npm install lucide-react-native
```
## How to use
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a react component.
### Example
You can pass additional props to adjust the icon.
```js
import{Camera}from'lucide-react-native';
// Returns ReactComponent
// Usage
constApp=()=>{
return<Cameracolor="red"size={48}/>;
};
exportdefaultApp;
```
### Props
| name | type | default |
| ------------- | -------- | ------------ |
| `size` | _Number_ | 24 |
| `color` | _String_ | currentColor |
| `strokeWidth` | _Number_ | 2 |
### Custom props
You can also pass custom props that will be added in the svg as attributes.
```js
// Usage
constApp=()=>{
return<Camerafill="red"/>;
};
```
### One generic icon component
It is possible to create one generic icon component to load icons.
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
Implementation of the lucide icon library for react applications
## Installation
```bash
yarn add lucide-react
```
or
```sh
npm install lucide-react
```
## How to use
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a react component.
### Example
You can pass additional props to adjust the icon.
```js
import{Camera}from'lucide-react';
// Returns ReactComponent
// Usage
constApp=()=>{
return<Cameracolor="red"size={48}/>;
};
exportdefaultApp;
```
### Props
| name | type | default |
| ------------- | -------- | ------------ |
| `size` | _Number_ | 24 |
| `color` | _String_ | currentColor |
| `strokeWidth` | _Number_ | 2 |
### Custom props
You can also pass custom props that will be added in the svg as attributes.
```js
// Usage
constApp=()=>{
return<Camerafill="red"/>;
};
```
### One generic icon component
It is possible to create one generic icon component to load icons.
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
This package include the following lucide implementations:
- All svg files
- Javascript library containing strings of svgs.
- Icon fonts
- Svg sprite
## Why lucide-static?
This package is suitable for very specific use cases for example if you want to use icon fonts, svg sprites, normal svgs or Common.js Svg strings in your javascript project.
> ⚠️ It is not recommended to use this package for svg sprites or icon fonts for web pages/applications, for prototyping it is ok. We recommend to bundlers for web applications to make sure you only bundle the used icons from this icon library (Treeshaking). Otherwise it will load all the icons, making you webpage loading slower. Threeshaking is only available in the packages: [lucide](lucide), [lucide-react](lucide-react), [lucide-vue](lucide-vue), [lucide-vue-next](lucide-vue-next), [lucide-angular](lucide-angular), [lucide-preact](lucide-preact)
Implementation of the lucide icon library for svelte applications.
## Installation
```bash
yarn add lucide-svelte
```
or
```sh
npm install lucide-svelte
```
## How to use
All the icons are Svelte components, that ouputs Svg elements. So each icon can be imported and used as a component. This also helps with the use of threeshaking so you only import the icons you use.
### Example
Default usage:
```html
<script>
import{Skull}from'lucide-svelte';
</script>
<Skull/>
```
You can pass additional props to adjust the icon.
```html
<script>
import{Camera}from'lucide-svelte';
</script>
<Cameracolor="#ff3e98"/>
```
### Available props
| name | type | default |
| ------------- | -------- | ------------ |
| `size` | _Number_ | 24 |
| `color` | _String_ | currentColor |
| `strokeWidth` | _Number_ | 2 |
| `*<SVGProps>` | _String_ | - |
\* All SVGProps are available to style the svgs. See the list of SVG Presentation Attributes on [MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/Presentation)
### Example of custom props
```html
<script>
import{Phone}from'lucide-svelte';
</script>
<Phonefill="#333"/>
```
This results a filled phone icon.
### One generic icon component
It is possible to create one generic icon component to load icons.
> ⚠️ Example below importing all EsModules, caution using this example, not recommended when you bundle your application,the build size will grow strongly. Because it will import all the icons.
Implementation of the lucide icon library for Vue 3 applications.
> ⚠️ This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue](lucide-vue)
## Installation
**With yarn**
```bash
yarn add lucide-vue-next
```
**With npm**
```bash
npm install lucide-vue-next
```
## How to use
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a vue component.
### Example
You can pass additional props to adjust the icon.
``` html
<template>
<Camera
color="red"
:size="32"
/>
</template>
<script setup>
import { Camera } from 'lucide-vue-next';
</script>
```
### Props
| name | type | default
| ------------ | -------- | --------
| `size` | *Number* | 24
| `color` | *String* | currentColor
| `stroke-width`| *Number* | 2
| `default-class`| *String* | lucide-icon
### Custom props
You can also pass custom props that will be added in the svg as attributes.
``` html
<template>
<Camera fill="red" />
</template>
```
### One generic icon component
It is possible to create one generic icon component to load icons.
> ⚠️ Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
Implementation of the lucide icon library for Vue applications.
> ⚠️ This version of lucide is for Vue 2, For Vue 3 got to [lucide-vue-next](lucide-vue-next)
## Installation
```sh
yarn add lucide-vue
```
or
```sh
npm install lucide-vue
```
## How to use
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a vue component.
### Example
You can pass additional props to adjust the icon.
```html
<template>
<Cameracolor="red":size="32"/>
</template>
<script>
// Returns Vue component
import{Camera}from'lucide-vue';
exportdefault{
name:'My Component',
components:{Camera}
};
</script>
```
### Props
| name | type | default |
| -------------- | -------- | ------------ |
| `size` | _Number_ | 24 |
| `color` | _String_ | currentColor |
| `strokeWidth` | _Number_ | 2 |
| `defaultClass` | _String_ | lucide-icon |
### Custom props
You can also pass custom props that will be added in the svg as attributes.
```html
<template>
<Camerafill="red"/>
</template>
```
### One generic icon component
It is possible to create one generic icon component to load icons.
> ⚠️ Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
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.