![Icons Gallery] ![Latest Version]
This crate makes it easy to use SVG icons from the following collections (more may be added in the future):
| Icon Set | License | Variants | | -------------------- | ----------------- | -------------------------- | | Bootstrap | MIT License | - | | Feather | MIT License | Deprecated (use Lucide) | | Font Awesome | CC BY 4.0 License | Regular, Solid | | Heroicons | MIT License | Solid, Outline, Mini Solid | | Lipis Flag Icons | MIT License | - | | Lucide | ISC License | - | | Octicons | MIT License | - | | Simple Icons | CC0 License | - | | Extra | Case-by-case | - |
*not all icons included in gallery.
Use the gallery to find icons you like, and add them as feature flags.
```toml
[dependencies] yew_icons = {version = "0.7", features = ["LucideArrowLeftCircle", "LucideArrowRightCircle", "LucideArrowUpCircle"]} ```
Then, add an <Icon>
component with the corresponding icon id, optionally specifying a width
, height
, and/or onclick
callback.
```rust use yew::prelude::*; use yew_icons::{Icon, IconId};
html!{
<>
Note: The icons will inherit their parent's CSS color
.
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 https://github.com/rustwasm/wasm-pack/issues/981).
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:
html
<svg data-license="...original license..."></svg>
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
```shell
git submodule update --init --recursive
git submodule update --remote bootstrap
cargo run --features="generator" > generatedfeatureflags.txt
```
```shell
cargo test test --features "enum-iterator testing [icon collection to test]"
```