Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really. You can explore the available icons at phosphoricons.com.
phosphor-leptos = "0.8.0"or
cargo add phosphor-leptosuse leptos::prelude::*;
use phosphor_leptos::{Icon, IconWeight, HORSE, HEART, CUBE};
#[component]
fn MyComponent() -> impl IntoView {
view! {
<Icon icon=HORSE />
<Icon icon=HEART color="#AE2983" weight=IconWeight::Fill size="32px" />
<Icon icon=CUBE color="teal" weight=IconWeight::Duotone />
}
}All of the props are Signals so they can be static or reactive.
- color?:
string– Icon stroke/fill color. Can be any CSS color string, includinghex,rgb,rgba,hsl,hsla, named colors, or the specialcurrentColorvariable. - size?:
number | string– Icon height & width. As with standard React elements, this can be a number, or a string with units inpx,%,em,rem,pt,cm,mm,in. - weight?:
IconWeight– Icon weight/style. Can also be used, for example, to "toggle" an icon's state: a rating component could use Stars withIconWeight::Regularto denote an empty star, andIconWeight::Fillto denote a filled star. - mirrored?:
boolean– Flip the icon horizontally. Can be useful in RTL languages where normal icon orientation is not appropriate.
MIT © Phosphor Icons
To generate all the icons, run
cargo xtask update