Files
lucide/packages/lucide-react
Eric Fennis fa6ed02297 Implement: Typescript, Esbuild and vitest (#877)
* init modernization

* implement esbuild

* Make first build work

* Fix esbuild for lucide-react

* Add vitest for lucide-react

* add esbuild lucide and lucide-react

* update package lock

* implement preact

* Add typescript and vitest

* adjust workflows

* Fix mocking react-native package

* update lock file

* Add esbuild in svelte

* make svelte test work in vitest

* Refactor lucide svelte

* Transform lucide vue to typescript

* Finish lucide-vue-next typescript

* 0.104.0-beta.0

* remove version in main package.json

* cleanup

* Fix svelte tests snapshots

* clean up

* add rollup lucide-vue-next

* Fix lucide svelte package

* change to workspace link

* revert filter position

* revert preact workflow change

* cleanup

* Fix some types

* add semi
2022-12-04 22:38:56 +01:00
..

Lucide React

Implementation of the lucide icon library for react applications.

What is lucide? Read it here.

Installation

yarn add lucide-react

or

npm install lucide-react

How to use

It's built with ES modules 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.

import { Camera } from 'lucide-react';

const App = () => {
  return <Camera color="red" size={48} />;
};

export default App;

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.

const App = () => {
  return <Camera fill="red" />;
};

Generic icon component

It is possible to create a generic icon component to load icons.

⚠️ The example below is importing all ES modules. This is not recommended when you using a bundler since your application build size will grow substantially.

import * as icons from 'lucide-react';

const Icon = ({ name, color, size }) => {
  const LucideIcon = icons[name];

  return <LucideIcon color={color} size={size} />;
};

export default Icon;