From 303c67c9045cc2eb0608cbbf7ba86b40c1ce1e01 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 16 May 2025 22:55:37 +0000 Subject: [PATCH] feat: update to upstream v0.509.0 (#79) Co-authored-by: github-actions[bot] --- book-examples/dioxus/src/icons.rs | 6 ++++ book-examples/leptos/src/icons.rs | 1 + book-examples/yew/src/icons.rs | 1 + packages/dioxus/src/axe.rs | 4 +-- packages/dioxus/src/gpu.rs | 44 ++++++++++++++++++++++++++ packages/dioxus/src/lib.rs | 4 +++ packages/leptos/src/axe.rs | 4 +-- packages/leptos/src/gpu.rs | 39 +++++++++++++++++++++++ packages/leptos/src/lib.rs | 4 +++ packages/yew/src/axe.rs | 6 ++-- packages/yew/src/gpu.rs | 51 +++++++++++++++++++++++++++++++ packages/yew/src/lib.rs | 4 +++ scripts/src/lib.rs | 2 +- 13 files changed, 163 insertions(+), 7 deletions(-) create mode 100644 packages/dioxus/src/gpu.rs create mode 100644 packages/leptos/src/gpu.rs create mode 100644 packages/yew/src/gpu.rs diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs index bca97bb..28838a4 100644 --- a/book-examples/dioxus/src/icons.rs +++ b/book-examples/dioxus/src/icons.rs @@ -4529,6 +4529,12 @@ pub fn IconsG1() -> Element { }, "Goal", ), + ( + rsx! { + Gpu {} + }, + "Gpu", + ), ( rsx! { Grab {} diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs index 5007231..b40254d 100644 --- a/book-examples/leptos/src/icons.rs +++ b/book-examples/leptos/src/icons.rs @@ -917,6 +917,7 @@ pub fn IconsG() -> impl IntoView { (view! { }.into_any(), "Globe"), (view! { }.into_any(), "Globe Lock"), (view! { }.into_any(), "Goal"), + (view! { }.into_any(), "Gpu"), (view! { }.into_any(), "Grab"), (view! { }.into_any(), "Graduation Cap"), (view! { }.into_any(), "Grape"), diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs index eac5af3..09efe2b 100644 --- a/book-examples/yew/src/icons.rs +++ b/book-examples/yew/src/icons.rs @@ -948,6 +948,7 @@ pub fn IconsG() -> Html { (html! { }, "Globe"), (html! { }, "Globe Lock"), (html! { }, "Goal"), + (html! { }, "Gpu"), (html! { }, "Grab"), (html! { }, "Graduation Cap"), (html! { }, "Grape"), diff --git a/packages/dioxus/src/axe.rs b/packages/dioxus/src/axe.rs index 20987f3..3322e1c 100644 --- a/packages/dioxus/src/axe.rs +++ b/packages/dioxus/src/axe.rs @@ -34,8 +34,8 @@ pub fn Axe(props: AxeProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "m14 12-8.5 8.5a2.12 2.12 0 1 1-3-3L11 9" } - path { "d": "M15 13 9 7l4-4 6 6h3a8 8 0 0 1-7 7z" } + path { "d": "m14 12-8.381 8.38a1 1 0 0 1-3.001-3L11 9" } + path { "d": "M15 15.5a.5.5 0 0 0 .5.5A6.5 6.5 0 0 0 22 9.5a.5.5 0 0 0-.5-.5h-1.672a2 2 0 0 1-1.414-.586l-5.062-5.062a1.205 1.205 0 0 0-1.704 0L9.352 5.648a1.205 1.205 0 0 0 0 1.704l5.062 5.062A2 2 0 0 1 15 13.828z" } } } } diff --git a/packages/dioxus/src/gpu.rs b/packages/dioxus/src/gpu.rs new file mode 100644 index 0000000..7398589 --- /dev/null +++ b/packages/dioxus/src/gpu.rs @@ -0,0 +1,44 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct GpuProps { + #[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 Gpu(props: GpuProps) -> 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": "M2 21V3" } + path { "d": "M2 5h18a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2.26" } + path { "d": "M7 17v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3" } + circle { "cx": "16", "cy": "11", "r": "2" } + circle { "cx": "8", "cy": "11", "r": "2" } + } + } +} diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs index fa4daeb..553ce48 100644 --- a/packages/dioxus/src/lib.rs +++ b/packages/dioxus/src/lib.rs @@ -1706,6 +1706,8 @@ mod globe; mod globe_lock; #[cfg(feature = "gaming")] mod goal; +#[cfg(any(feature = "devices", feature = "gaming"))] +mod gpu; #[cfg(any(feature = "cursors", feature = "design", feature = "layout"))] mod grab; #[cfg(feature = "buildings")] @@ -5744,6 +5746,8 @@ pub use globe::*; pub use globe_lock::*; #[cfg(feature = "gaming")] pub use goal::*; +#[cfg(any(feature = "devices", feature = "gaming"))] +pub use gpu::*; #[cfg(any(feature = "cursors", feature = "design", feature = "layout"))] pub use grab::*; #[cfg(feature = "buildings")] diff --git a/packages/leptos/src/axe.rs b/packages/leptos/src/axe.rs index 949e738..8764de9 100644 --- a/packages/leptos/src/axe.rs +++ b/packages/leptos/src/axe.rs @@ -29,8 +29,8 @@ pub fn Axe( stroke-linecap="round" stroke-linejoin="round" > - - + + } } diff --git a/packages/leptos/src/gpu.rs b/packages/leptos/src/gpu.rs new file mode 100644 index 0000000..43d7449 --- /dev/null +++ b/packages/leptos/src/gpu.rs @@ -0,0 +1,39 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn Gpu( + #[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 468ed6e..1b7807a 100644 --- a/packages/leptos/src/lib.rs +++ b/packages/leptos/src/lib.rs @@ -1706,6 +1706,8 @@ mod globe; mod globe_lock; #[cfg(feature = "gaming")] mod goal; +#[cfg(any(feature = "devices", feature = "gaming"))] +mod gpu; #[cfg(any(feature = "cursors", feature = "design", feature = "layout"))] mod grab; #[cfg(feature = "buildings")] @@ -5744,6 +5746,8 @@ pub use globe::*; pub use globe_lock::*; #[cfg(feature = "gaming")] pub use goal::*; +#[cfg(any(feature = "devices", feature = "gaming"))] +pub use gpu::*; #[cfg(any(feature = "cursors", feature = "design", feature = "layout"))] pub use grab::*; #[cfg(feature = "buildings")] diff --git a/packages/yew/src/axe.rs b/packages/yew/src/axe.rs index e5008b8..1afa6d1 100644 --- a/packages/yew/src/axe.rs +++ b/packages/yew/src/axe.rs @@ -41,8 +41,10 @@ pub fn Axe(props: &AxeProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - + + } } diff --git a/packages/yew/src/gpu.rs b/packages/yew/src/gpu.rs new file mode 100644 index 0000000..49a77e0 --- /dev/null +++ b/packages/yew/src/gpu.rs @@ -0,0 +1,51 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct GpuProps { + #[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 Gpu(props: &GpuProps) -> 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 29cbaea..ba9d6e9 100644 --- a/packages/yew/src/lib.rs +++ b/packages/yew/src/lib.rs @@ -1708,6 +1708,8 @@ mod globe; mod globe_lock; #[cfg(feature = "gaming")] mod goal; +#[cfg(any(feature = "devices", feature = "gaming"))] +mod gpu; #[cfg(any(feature = "cursors", feature = "design", feature = "layout"))] mod grab; #[cfg(feature = "buildings")] @@ -5746,6 +5748,8 @@ pub use globe::*; pub use globe_lock::*; #[cfg(feature = "gaming")] pub use goal::*; +#[cfg(any(feature = "devices", feature = "gaming"))] +pub use gpu::*; #[cfg(any(feature = "cursors", feature = "design", feature = "layout"))] pub use grab::*; #[cfg(feature = "buildings")] diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs index e6c46a3..2000753 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.508.0"; +pub const UPSTREAM_GIT_REF: &str = "0.509.0"; pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";