Files
dependabot[bot] 55f264bea6 Bump vite from 5.0.10 to 5.0.12 (#1817)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.10 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 16:46:12 +01:00
..

Lucide Solid

Implementation of the lucide icon library for solid applications.

What is lucide? Read it here.

Installation

yarn add lucide-solid

or

npm install lucide-solid

How to use

It's build with ESmodules so it's completely tree-shakable. Each icon can be imported as a solid component.

Example

You can pass additional props to adjust the icon.

import { Camera } from 'lucide-solid';
// Returns SolidComponent

// Usage
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 / 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.

// Usage
const App = () => {
  return <Camera fill="red" stroke-linejoin="bevel" />;
};

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.

Icon Component Example

import * as icons from 'lucide-solid';
import type { LucideProps } from 'lucide-solid';
import { splitProps } from 'solid-js';
import { Dynamic } from 'solid-js/web';

const Icon = (props: { name: keyof typeof icons } & LucideProps) => {
  const [local, others] = splitProps(props, ["name"]);

  return <Dynamic component={icons[local.name]} {...others} />
};

export default Icon;