/leptos-icons

Icons for leptos

Primary LanguageRust

leptos-icons

This crate makes it easy to use SVG icons from the following collections (more may be added in the future):

Usage

[dependencies]
leptos_icons = { git = "https://github.com/bankai-labs/leptos-icons", features = [
    "HeroiconsOutlineFolder",
    "HeroiconsOutlineChevronRight",
    "HeroiconsOutlineEllipsisVertical"
] }

Then, add an <Icon> component with the corresponding path.

use leptos_icons::{Icon, HeroiconsOutlineFolder, HeroiconsOutlineChevronRight, HeroiconsOutlineEllipsisVertical};
view!{
    <>
        <Icon class="w-5 h-5 mr-3" path={HeroiconsOutlineFolder} />
        <Icon class=Signal::derive(cx, move || value() *2) path={HeroiconsOutlineChevronRight} />
        <Icon class="w-5 h-5 mr-3" stroke="2" path={HeroiconsOutlineEllipsisVertical} />
    </>
}

Feature Flags

Each icon collection must be included with the corresponding feature flag, such as lucide or font_awesome_solid.

To save binary size, individual icons can also be included by feature flag, such as LucideZoomIn or FontAwesomeSolidAtom.

By default, no collections or icons are included. Be warned that including too many icons may result in a .wasm binary that some WebAssembly engines refuse to load, especially in debug mode (see rustwasm/wasm-pack#981).

License

Code is licensed under either of

at your option.

Icons are licensed by their respective creators (see above). An license summary is emitted to the DOM for each icon:

<svg data-license="...original license...">