From 1b79c888b86e6f64b312e2d2ea6bcb257526ad2a Mon Sep 17 00:00:00 2001 From: "rust-for-web[bot]" <191031261+rust-for-web[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 16:24:44 +0000 Subject: [PATCH] feat: update to upstream v0.538.0 --- book-examples/dioxus/src/icons.rs | 6 ++++ book-examples/leptos/src/icons.rs | 1 + book-examples/yew/src/icons.rs | 1 + packages/dioxus/src/apple.rs | 4 +-- packages/dioxus/src/kayak.rs | 43 +++++++++++++++++++++++++ packages/dioxus/src/lib.rs | 4 +++ packages/dioxus/src/mic_off.rs | 18 +++-------- packages/dioxus/src/store.rs | 8 ++--- packages/leptos/src/apple.rs | 4 +-- packages/leptos/src/kayak.rs | 38 ++++++++++++++++++++++ packages/leptos/src/lib.rs | 4 +++ packages/leptos/src/mic_off.rs | 8 ++--- packages/leptos/src/store.rs | 8 ++--- packages/yew/src/apple.rs | 4 +-- packages/yew/src/kayak.rs | 52 +++++++++++++++++++++++++++++++ packages/yew/src/lib.rs | 4 +++ packages/yew/src/mic_off.rs | 8 ++--- packages/yew/src/store.rs | 8 ++--- scripts/src/lib.rs | 2 +- 19 files changed, 181 insertions(+), 44 deletions(-) create mode 100644 packages/dioxus/src/kayak.rs create mode 100644 packages/leptos/src/kayak.rs create mode 100644 packages/yew/src/kayak.rs diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs index 33f3dfef..2a55cf8e 100644 --- a/book-examples/dioxus/src/icons.rs +++ b/book-examples/dioxus/src/icons.rs @@ -5225,6 +5225,12 @@ pub fn IconsK1() -> Element { }, "Kanban", ), + ( + rsx! { + Kayak {} + }, + "Kayak", + ), ( rsx! { Key {} diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs index fdff6735..a4f318c4 100644 --- a/book-examples/leptos/src/icons.rs +++ b/book-examples/leptos/src/icons.rs @@ -1091,6 +1091,7 @@ pub fn IconsK() -> impl IntoView { }.into_any(), "Kanban"), + (view! { }.into_any(), "Kayak"), (view! { }.into_any(), "Key"), (view! { }.into_any(), "Key Round"), (view! { }.into_any(), "Key Square"), diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs index 9ce4f24a..9e49c472 100644 --- a/book-examples/yew/src/icons.rs +++ b/book-examples/yew/src/icons.rs @@ -1118,6 +1118,7 @@ pub fn IconsJ() -> Html { pub fn IconsK() -> Html { let icons = [ (html! { }, "Kanban"), + (html! { }, "Kayak"), (html! { }, "Key"), (html! { }, "Key Round"), (html! { }, "Key Square"), diff --git a/packages/dioxus/src/apple.rs b/packages/dioxus/src/apple.rs index 502a25e7..4e39161f 100644 --- a/packages/dioxus/src/apple.rs +++ b/packages/dioxus/src/apple.rs @@ -34,8 +34,8 @@ pub fn Apple(props: AppleProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z" } - path { "d": "M10 2c1 .5 2 2 2 5" } + path { "d": "M12 6.528V3a1 1 0 0 1 1-1h0" } + path { "d": "M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21" } } } } diff --git a/packages/dioxus/src/kayak.rs b/packages/dioxus/src/kayak.rs new file mode 100644 index 00000000..770f694a --- /dev/null +++ b/packages/dioxus/src/kayak.rs @@ -0,0 +1,43 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct KayakProps { + #[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, + pub style: Option, +} +#[component] +pub fn Kayak(props: KayakProps) -> 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": "M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z" } + path { "d": "M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61" } + path { "d": "m6.707 6.707 10.586 10.586" } + path { "d": "M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z" } + } + } +} diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs index 4b65c002..7353dc7e 100644 --- a/packages/dioxus/src/lib.rs +++ b/packages/dioxus/src/lib.rs @@ -2021,6 +2021,8 @@ mod japanese_yen; mod joystick; #[cfg(any(feature = "charts", feature = "development", feature = "design"))] mod kanban; +#[cfg(feature = "transportation")] +mod kayak; #[cfg(any(feature = "security", feature = "account"))] mod key; #[cfg(any(feature = "security", feature = "account"))] @@ -6158,6 +6160,8 @@ pub use japanese_yen::*; pub use joystick::*; #[cfg(any(feature = "charts", feature = "development", feature = "design"))] pub use kanban::*; +#[cfg(feature = "transportation")] +pub use kayak::*; #[cfg(any(feature = "security", feature = "account"))] pub use key::*; #[cfg(any(feature = "security", feature = "account"))] diff --git a/packages/dioxus/src/mic_off.rs b/packages/dioxus/src/mic_off.rs index 3bf0302b..2ee25a2a 100644 --- a/packages/dioxus/src/mic_off.rs +++ b/packages/dioxus/src/mic_off.rs @@ -34,22 +34,12 @@ pub fn MicOff(props: MicOffProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - line { - "x1": "2", - "x2": "22", - "y1": "2", - "y2": "22", - } - path { "d": "M18.89 13.23A7.12 7.12 0 0 0 19 12v-2" } - path { "d": "M5 10v2a7 7 0 0 0 12 5" } + path { "d": "M12 19v3" } path { "d": "M15 9.34V5a3 3 0 0 0-5.68-1.33" } + path { "d": "M16.95 16.95A7 7 0 0 1 5 12v-2" } + path { "d": "M18.89 13.23A7 7 0 0 0 19 12v-2" } + path { "d": "m2 2 20 20" } path { "d": "M9 9v3a3 3 0 0 0 5.12 2.12" } - line { - "x1": "12", - "x2": "12", - "y1": "19", - "y2": "22", - } } } } diff --git a/packages/dioxus/src/store.rs b/packages/dioxus/src/store.rs index 384a36dc..29f22ae6 100644 --- a/packages/dioxus/src/store.rs +++ b/packages/dioxus/src/store.rs @@ -34,11 +34,9 @@ pub fn Store(props: StoreProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7" } - path { "d": "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" } - path { "d": "M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4" } - path { "d": "M2 7h20" } - path { "d": "M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7" } + path { "d": "M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5" } + path { "d": "M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244" } + path { "d": "M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05" } } } } diff --git a/packages/leptos/src/apple.rs b/packages/leptos/src/apple.rs index 617ceb15..cc64c260 100644 --- a/packages/leptos/src/apple.rs +++ b/packages/leptos/src/apple.rs @@ -29,8 +29,8 @@ pub fn Apple( stroke-linecap="round" stroke-linejoin="round" > - - + + } } diff --git a/packages/leptos/src/kayak.rs b/packages/leptos/src/kayak.rs new file mode 100644 index 00000000..1ab4bd42 --- /dev/null +++ b/packages/leptos/src/kayak.rs @@ -0,0 +1,38 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn Kayak( + #[prop(default = 24.into(), into)] size: Signal, + #[prop(default = "currentColor".into(), into)] color: Signal, + #[prop(default = "none".into(), into)] fill: Signal, + #[prop(default = 2.into(), into)] stroke_width: Signal, + #[prop(default = false.into(), into)] absolute_stroke_width: Signal, + #[prop(optional)] node_ref: NodeRef, +) -> impl IntoView { + let stroke_width = Signal::derive(move || { + if absolute_stroke_width.get() { + stroke_width.get() * 24 / size.get() + } else { + stroke_width.get() + } + }); + view! { + + + + + + + } +} diff --git a/packages/leptos/src/lib.rs b/packages/leptos/src/lib.rs index e9db34db..f8246df1 100644 --- a/packages/leptos/src/lib.rs +++ b/packages/leptos/src/lib.rs @@ -2021,6 +2021,8 @@ mod japanese_yen; mod joystick; #[cfg(any(feature = "charts", feature = "development", feature = "design"))] mod kanban; +#[cfg(feature = "transportation")] +mod kayak; #[cfg(any(feature = "security", feature = "account"))] mod key; #[cfg(any(feature = "security", feature = "account"))] @@ -6158,6 +6160,8 @@ pub use japanese_yen::*; pub use joystick::*; #[cfg(any(feature = "charts", feature = "development", feature = "design"))] pub use kanban::*; +#[cfg(feature = "transportation")] +pub use kayak::*; #[cfg(any(feature = "security", feature = "account"))] pub use key::*; #[cfg(any(feature = "security", feature = "account"))] diff --git a/packages/leptos/src/mic_off.rs b/packages/leptos/src/mic_off.rs index b8fbc087..df5259f7 100644 --- a/packages/leptos/src/mic_off.rs +++ b/packages/leptos/src/mic_off.rs @@ -29,12 +29,12 @@ pub fn MicOff( stroke-linecap="round" stroke-linejoin="round" > - - - + + + + - } } diff --git a/packages/leptos/src/store.rs b/packages/leptos/src/store.rs index 9d96ec9f..e881f12e 100644 --- a/packages/leptos/src/store.rs +++ b/packages/leptos/src/store.rs @@ -29,11 +29,9 @@ pub fn Store( stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + } } diff --git a/packages/yew/src/apple.rs b/packages/yew/src/apple.rs index 5e678802..726625e2 100644 --- a/packages/yew/src/apple.rs +++ b/packages/yew/src/apple.rs @@ -41,10 +41,10 @@ pub fn Apple(props: &AppleProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > + - } } diff --git a/packages/yew/src/kayak.rs b/packages/yew/src/kayak.rs new file mode 100644 index 00000000..2ef4cd25 --- /dev/null +++ b/packages/yew/src/kayak.rs @@ -0,0 +1,52 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct KayakProps { + #[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, + #[prop_or_default] + pub node_ref: NodeRef, +} +#[function_component] +pub fn Kayak(props: &KayakProps) -> Html { + let stroke_width = if props.absolute_stroke_width { + props.stroke_width * 24 / props.size + } else { + props.stroke_width + }; + html! { + + + + + + + } +} diff --git a/packages/yew/src/lib.rs b/packages/yew/src/lib.rs index 9d4650fc..d8cfe16e 100644 --- a/packages/yew/src/lib.rs +++ b/packages/yew/src/lib.rs @@ -2023,6 +2023,8 @@ mod japanese_yen; mod joystick; #[cfg(any(feature = "charts", feature = "development", feature = "design"))] mod kanban; +#[cfg(feature = "transportation")] +mod kayak; #[cfg(any(feature = "security", feature = "account"))] mod key; #[cfg(any(feature = "security", feature = "account"))] @@ -6160,6 +6162,8 @@ pub use japanese_yen::*; pub use joystick::*; #[cfg(any(feature = "charts", feature = "development", feature = "design"))] pub use kanban::*; +#[cfg(feature = "transportation")] +pub use kayak::*; #[cfg(any(feature = "security", feature = "account"))] pub use key::*; #[cfg(any(feature = "security", feature = "account"))] diff --git a/packages/yew/src/mic_off.rs b/packages/yew/src/mic_off.rs index 14a9fb29..770a759c 100644 --- a/packages/yew/src/mic_off.rs +++ b/packages/yew/src/mic_off.rs @@ -41,12 +41,12 @@ pub fn MicOff(props: &MicOffProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - - + + + + - } } diff --git a/packages/yew/src/store.rs b/packages/yew/src/store.rs index 959fa53c..552aa0c1 100644 --- a/packages/yew/src/store.rs +++ b/packages/yew/src/store.rs @@ -41,13 +41,11 @@ pub fn Store(props: &StoreProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - - - + + } } diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs index c1db5830..3a431c39 100644 --- a/scripts/src/lib.rs +++ b/scripts/src/lib.rs @@ -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.537.0"; +pub const UPSTREAM_GIT_REF: &str = "0.538.0"; pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";