feat: update to upstream v0.525.0 (#105)

Co-authored-by: rust-for-web[bot] <191031261+rust-for-web[bot]@users.noreply.github.com>
This commit is contained in:
rust-for-web[bot] 2025-06-29 11:54:22 +02:00 committed by GitHub
parent 8b3bbda6fb
commit b20df0e9eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 216 additions and 79 deletions

View file

@ -9293,6 +9293,12 @@ pub fn IconsT1() -> Element {
},
"Toilet",
),
(
rsx! {
ToolCase {}
},
"Tool Case",
),
(
rsx! {
Tornado {}

View file

@ -1898,6 +1898,7 @@ pub fn IconsT() -> impl IntoView {
(view! { <ToggleLeft /> }.into_any(), "Toggle Left"),
(view! { <ToggleRight /> }.into_any(), "Toggle Right"),
(view! { <Toilet /> }.into_any(), "Toilet"),
(view! { <ToolCase /> }.into_any(), "Tool Case"),
(view! { <Tornado /> }.into_any(), "Tornado"),
(view! { <Torus /> }.into_any(), "Torus"),
(view! { <Touchpad /> }.into_any(), "Touchpad"),

View file

@ -1943,6 +1943,7 @@ pub fn IconsT() -> Html {
(html! { <ToggleLeft /> }, "Toggle Left"),
(html! { <ToggleRight /> }, "Toggle Right"),
(html! { <Toilet /> }, "Toilet"),
(html! { <ToolCase /> }, "Tool Case"),
(html! { <Tornado /> }, "Tornado"),
(html! { <Torus /> }, "Torus"),
(html! { <Touchpad /> }, "Touchpad"),

View file

@ -34,13 +34,7 @@ pub fn Flag(props: FlagProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z" }
line {
"x1": "4",
"x2": "4",
"y1": "22",
"y2": "15",
}
path { "d": "M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528" }
}
}
}

View file

@ -34,15 +34,10 @@ pub fn FlagOff(props: FlagOffProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M8 2c3 0 5 2 8 2s4-1 4-1v11" }
path { "d": "M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528" }
path { "d": "m2 2 20 20" }
path { "d": "M4 22V4" }
path { "d": "M4 15s1-1 4-1 5 2 8 2" }
line {
"x1": "2",
"x2": "22",
"y1": "2",
"y2": "22",
}
path { "d": "M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347" }
}
}
}

View file

@ -3715,6 +3715,8 @@ mod toggle_left;
mod toggle_right;
#[cfg(any(feature = "devices", feature = "home"))]
mod toilet;
#[cfg(any(feature = "tools", feature = "development", feature = "home"))]
mod tool_case;
#[cfg(feature = "weather")]
mod tornado;
#[cfg(any(
@ -7806,6 +7808,8 @@ pub use toggle_left::*;
pub use toggle_right::*;
#[cfg(any(feature = "devices", feature = "home"))]
pub use toilet::*;
#[cfg(any(feature = "tools", feature = "development", feature = "home"))]
pub use tool_case::*;
#[cfg(feature = "weather")]
pub use tornado::*;
#[cfg(any(

View file

@ -34,8 +34,9 @@ pub fn Megaphone(props: MegaphoneProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "m3 11 18-5v12L3 14v-3z" }
path { "d": "M11.6 16.8a3 3 0 1 1-5.8-1.6" }
path { "d": "M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z" }
path { "d": "M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14" }
path { "d": "M8 6v8" }
}
}
}

View file

@ -34,15 +34,11 @@ pub fn MegaphoneOff(props: MegaphoneOffProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M9.26 9.26 3 11v3l14.14 3.14" }
path { "d": "M21 15.34V6l-7.31 2.03" }
path { "d": "M11.6 16.8a3 3 0 1 1-5.8-1.6" }
line {
"x1": "2",
"x2": "22",
"y1": "2",
"y2": "22",
}
path { "d": "M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344" }
path { "d": "M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1" }
path { "d": "m2 2 20 20" }
path { "d": "M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14" }
path { "d": "M8 8v6" }
}
}
}

View file

@ -34,9 +34,9 @@ pub fn Shrub(props: ShrubProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 22v-7l-2-2" }
path { "d": "M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z" }
path { "d": "m14 14-2 2" }
path { "d": "M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5" }
path { "d": "M14.5 14.5 12 17" }
path { "d": "M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z" }
}
}
}

View file

@ -34,15 +34,11 @@ pub fn SunMoon(props: SunMoonProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4" }
path { "d": "M12 2v2" }
path { "d": "M12 20v2" }
path { "d": "m4.9 4.9 1.4 1.4" }
path { "d": "m17.7 17.7 1.4 1.4" }
path { "d": "M2 12h2" }
path { "d": "M13 8.129A4 4 0 0 1 15.873 11" }
path { "d": "m19 5-1.256 1.256" }
path { "d": "M20 12h2" }
path { "d": "m6.3 17.7-1.4 1.4" }
path { "d": "m19.1 4.9-1.4 1.4" }
path { "d": "M9 8a5 5 0 1 0 7 7 7 7 0 1 1-7-7" }
}
}
}

View file

@ -0,0 +1,43 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct ToolCaseProps {
#[props(default = 24)]
pub size: usize,
#[props(default = "currentColor".to_owned())]
pub color: String,
#[props(default = "none".to_owned())]
pub fill: String,
#[props(default = 2)]
pub stroke_width: usize,
#[props(default = false)]
pub absolute_stroke_width: bool,
pub class: Option<String>,
pub style: Option<String>,
}
#[component]
pub fn ToolCase(props: ToolCaseProps) -> Element {
let stroke_width = if props.absolute_stroke_width {
props.stroke_width * 24 / props.size
} else {
props.stroke_width
};
rsx! {
svg {
"xmlns": "http://www.w3.org/2000/svg",
"class": if let Some(class) = props.class { "{class}" },
"style": if let Some(style) = props.style { "{style}" },
"width": "{props.size}",
"height": "{props.size}",
"viewBox": "0 0 24 24",
"fill": "{props.fill}",
"stroke": "{props.color}",
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M10 15h4" }
path { "d": "m14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27" }
path { "d": "m18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122" }
path { "d": "M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z" }
}
}
}

View file

@ -29,8 +29,7 @@ pub fn Flag(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z" />
<line x1="4" x2="4" y1="22" y2="15" />
<path d="M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528" />
</svg>
}
}

View file

@ -29,10 +29,10 @@ pub fn FlagOff(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8 2c3 0 5 2 8 2s4-1 4-1v11" />
<path d="M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528" />
<path d="m2 2 20 20" />
<path d="M4 22V4" />
<path d="M4 15s1-1 4-1 5 2 8 2" />
<line x1="2" x2="22" y1="2" y2="22" />
<path d="M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347" />
</svg>
}
}

View file

@ -3715,6 +3715,8 @@ mod toggle_left;
mod toggle_right;
#[cfg(any(feature = "devices", feature = "home"))]
mod toilet;
#[cfg(any(feature = "tools", feature = "development", feature = "home"))]
mod tool_case;
#[cfg(feature = "weather")]
mod tornado;
#[cfg(any(
@ -7806,6 +7808,8 @@ pub use toggle_left::*;
pub use toggle_right::*;
#[cfg(any(feature = "devices", feature = "home"))]
pub use toilet::*;
#[cfg(any(feature = "tools", feature = "development", feature = "home"))]
pub use tool_case::*;
#[cfg(feature = "weather")]
pub use tornado::*;
#[cfg(any(

View file

@ -29,8 +29,9 @@ pub fn Megaphone(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m3 11 18-5v12L3 14v-3z" />
<path d="M11.6 16.8a3 3 0 1 1-5.8-1.6" />
<path d="M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z" />
<path d="M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14" />
<path d="M8 6v8" />
</svg>
}
}

View file

@ -29,10 +29,11 @@ pub fn MegaphoneOff(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9.26 9.26 3 11v3l14.14 3.14" />
<path d="M21 15.34V6l-7.31 2.03" />
<path d="M11.6 16.8a3 3 0 1 1-5.8-1.6" />
<line x1="2" x2="22" y1="2" y2="22" />
<path d="M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344" />
<path d="M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1" />
<path d="m2 2 20 20" />
<path d="M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14" />
<path d="M8 8v6" />
</svg>
}
}

View file

@ -29,9 +29,9 @@ pub fn Shrub(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 22v-7l-2-2" />
<path d="M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z" />
<path d="m14 14-2 2" />
<path d="M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5" />
<path d="M14.5 14.5 12 17" />
<path d="M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z" />
</svg>
}
}

View file

@ -29,15 +29,11 @@ pub fn SunMoon(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4" />
<path d="M12 2v2" />
<path d="M12 20v2" />
<path d="m4.9 4.9 1.4 1.4" />
<path d="m17.7 17.7 1.4 1.4" />
<path d="M2 12h2" />
<path d="M13 8.129A4 4 0 0 1 15.873 11" />
<path d="m19 5-1.256 1.256" />
<path d="M20 12h2" />
<path d="m6.3 17.7-1.4 1.4" />
<path d="m19.1 4.9-1.4 1.4" />
<path d="M9 8a5 5 0 1 0 7 7 7 7 0 1 1-7-7" />
</svg>
}
}

View file

@ -0,0 +1,38 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn ToolCase(
#[prop(default = 24.into(), into)] size: Signal<usize>,
#[prop(default = "currentColor".into(), into)] color: Signal<String>,
#[prop(default = "none".into(), into)] fill: Signal<String>,
#[prop(default = 2.into(), into)] stroke_width: Signal<usize>,
#[prop(default = false.into(), into)] absolute_stroke_width: Signal<bool>,
#[prop(optional)] node_ref: NodeRef<Svg>,
) -> impl IntoView {
let stroke_width = Signal::derive(move || {
if absolute_stroke_width.get() {
stroke_width.get() * 24 / size.get()
} else {
stroke_width.get()
}
});
view! {
<svg
node_ref=node_ref
class:lucide=true
xmlns="http://www.w3.org/2000/svg"
width=size
height=size
viewBox="0 0 24 24"
fill=fill
stroke=color
stroke-width=stroke_width
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10 15h4" />
<path d="m14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27" />
<path d="m18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122" />
<path d="M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z" />
</svg>
}
}

View file

@ -41,8 +41,9 @@ pub fn Flag(props: &FlagProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z" />
<line x1="4" x2="4" y1="22" y2="15" />
<path
d="M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528"
/>
</svg>
}
}

View file

@ -41,10 +41,10 @@ pub fn FlagOff(props: &FlagOffProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8 2c3 0 5 2 8 2s4-1 4-1v11" />
<path d="M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528" />
<path d="m2 2 20 20" />
<path d="M4 22V4" />
<path d="M4 15s1-1 4-1 5 2 8 2" />
<line x1="2" x2="22" y1="2" y2="22" />
<path d="M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347" />
</svg>
}
}

View file

@ -3717,6 +3717,8 @@ mod toggle_left;
mod toggle_right;
#[cfg(any(feature = "devices", feature = "home"))]
mod toilet;
#[cfg(any(feature = "tools", feature = "development", feature = "home"))]
mod tool_case;
#[cfg(feature = "weather")]
mod tornado;
#[cfg(any(
@ -7808,6 +7810,8 @@ pub use toggle_left::*;
pub use toggle_right::*;
#[cfg(any(feature = "devices", feature = "home"))]
pub use toilet::*;
#[cfg(any(feature = "tools", feature = "development", feature = "home"))]
pub use tool_case::*;
#[cfg(feature = "weather")]
pub use tornado::*;
#[cfg(any(

View file

@ -41,8 +41,11 @@ pub fn Megaphone(props: &MegaphoneProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m3 11 18-5v12L3 14v-3z" />
<path d="M11.6 16.8a3 3 0 1 1-5.8-1.6" />
<path
d="M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z"
/>
<path d="M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14" />
<path d="M8 6v8" />
</svg>
}
}

View file

@ -41,10 +41,11 @@ pub fn MegaphoneOff(props: &MegaphoneOffProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9.26 9.26 3 11v3l14.14 3.14" />
<path d="M21 15.34V6l-7.31 2.03" />
<path d="M11.6 16.8a3 3 0 1 1-5.8-1.6" />
<line x1="2" x2="22" y1="2" y2="22" />
<path d="M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344" />
<path d="M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1" />
<path d="m2 2 20 20" />
<path d="M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14" />
<path d="M8 8v6" />
</svg>
}
}

View file

@ -41,9 +41,9 @@ pub fn Shrub(props: &ShrubProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 22v-7l-2-2" />
<path d="M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z" />
<path d="m14 14-2 2" />
<path d="M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5" />
<path d="M14.5 14.5 12 17" />
<path d="M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z" />
</svg>
}
}

View file

@ -41,15 +41,11 @@ pub fn SunMoon(props: &SunMoonProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4" />
<path d="M12 2v2" />
<path d="M12 20v2" />
<path d="m4.9 4.9 1.4 1.4" />
<path d="m17.7 17.7 1.4 1.4" />
<path d="M2 12h2" />
<path d="M13 8.129A4 4 0 0 1 15.873 11" />
<path d="m19 5-1.256 1.256" />
<path d="M20 12h2" />
<path d="m6.3 17.7-1.4 1.4" />
<path d="m19.1 4.9-1.4 1.4" />
<path d="M9 8a5 5 0 1 0 7 7 7 7 0 1 1-7-7" />
</svg>
}
}

View file

@ -0,0 +1,56 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct ToolCaseProps {
#[prop_or(24)]
pub size: usize,
#[prop_or(AttrValue::from("currentColor"))]
pub color: AttrValue,
#[prop_or(AttrValue::from("none"))]
pub fill: AttrValue,
#[prop_or(2)]
pub stroke_width: usize,
#[prop_or(false)]
pub absolute_stroke_width: bool,
#[prop_or_default]
pub class: Classes,
#[prop_or_default]
pub style: std::option::Option<AttrValue>,
#[prop_or_default]
pub node_ref: NodeRef,
}
#[function_component]
pub fn ToolCase(props: &ToolCaseProps) -> Html {
let stroke_width = if props.absolute_stroke_width {
props.stroke_width * 24 / props.size
} else {
props.stroke_width
};
html! {
<svg
ref={props.node_ref.clone()}
class={classes!("lucide", props.class
.clone())}
style={props.style.clone()}
xmlns="http://www.w3.org/2000/svg"
width={props.size.to_string()}
height={props.size.to_string()}
viewBox="0 0 24 24"
fill={& props.fill}
stroke={& props.color}
stroke-width={stroke_width.to_string()}
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10 15h4" />
<path
d="m14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27"
/>
<path
d="m18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122"
/>
<path
d="M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z"
/>
</svg>
}
}

View file

@ -11,5 +11,5 @@ pub const GITHUB_OWNER: &str = "RustForWeb";
pub const GITHUB_REPO: &str = "lucide";
pub const UPSTREAM_GIT_URL: &str = "https://github.com/lucide-icons/lucide.git";
pub const UPSTREAM_GIT_REF: &str = "0.524.0";
pub const UPSTREAM_GIT_REF: &str = "0.525.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";