From b9acfe18ddb394da85f305076671d802d6eb4f73 Mon Sep 17 00:00:00 2001
From: "rust-for-web[bot]"
<191031261+rust-for-web[bot]@users.noreply.github.com>
Date: Thu, 31 Jul 2025 21:27:19 +0200
Subject: [PATCH] feat: update to upstream v0.531.0 (#124)
Co-authored-by: rust-for-web[bot] <191031261+rust-for-web[bot]@users.noreply.github.com>
---
book-examples/dioxus/src/icons.rs | 18 ++++++---
book-examples/leptos/src/icons.rs | 1 +
book-examples/yew/src/icons.rs | 1 +
packages/dioxus/src/clipboard_clock.rs | 50 +++++++++++++++++++++++++
packages/dioxus/src/lib.rs | 4 ++
packages/dioxus/src/user_star.rs | 4 +-
packages/leptos/src/clipboard_clock.rs | 39 ++++++++++++++++++++
packages/leptos/src/lib.rs | 4 ++
packages/leptos/src/user_star.rs | 4 +-
packages/yew/src/clipboard_clock.rs | 51 ++++++++++++++++++++++++++
packages/yew/src/lib.rs | 4 ++
packages/yew/src/user_star.rs | 4 +-
scripts/src/lib.rs | 2 +-
13 files changed, 173 insertions(+), 13 deletions(-)
create mode 100644 packages/dioxus/src/clipboard_clock.rs
create mode 100644 packages/leptos/src/clipboard_clock.rs
create mode 100644 packages/yew/src/clipboard_clock.rs
diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs
index c3a6873..7bab8dd 100644
--- a/book-examples/dioxus/src/icons.rs
+++ b/book-examples/dioxus/src/icons.rs
@@ -2453,6 +2453,12 @@ pub fn IconsC2() -> Element {
},
"Clipboard Check",
),
+ (
+ rsx! {
+ ClipboardClock {}
+ },
+ "Clipboard Clock",
+ ),
(
rsx! {
ClipboardCopy {}
@@ -2783,12 +2789,6 @@ pub fn IconsC2() -> Element {
},
"Coins",
),
- (
- rsx! {
- Columns2 {}
- },
- "Columns 2",
- ),
];
rsx! {
for (icon , name) in icons {
@@ -2804,6 +2804,12 @@ pub fn IconsC2() -> Element {
#[component]
pub fn IconsC3() -> Element {
let icons = [
+ (
+ rsx! {
+ Columns2 {}
+ },
+ "Columns 2",
+ ),
(
rsx! {
Columns3 {}
diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs
index c3010f7..ee8a96d 100644
--- a/book-examples/leptos/src/icons.rs
+++ b/book-examples/leptos/src/icons.rs
@@ -512,6 +512,7 @@ pub fn IconsC() -> impl IntoView {
(view! { }.into_any(), "Clapperboard"),
(view! { }.into_any(), "Clipboard"),
(view! { }.into_any(), "Clipboard Check"),
+ (view! { }.into_any(), "Clipboard Clock"),
(view! { }.into_any(), "Clipboard Copy"),
(view! { }.into_any(), "Clipboard List"),
(view! { }.into_any(), "Clipboard Minus"),
diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs
index 96044ad..5c074bb 100644
--- a/book-examples/yew/src/icons.rs
+++ b/book-examples/yew/src/icons.rs
@@ -541,6 +541,7 @@ pub fn IconsC() -> Html {
(html! { }, "Clapperboard"),
(html! { }, "Clipboard"),
(html! { }, "Clipboard Check"),
+ (html! { }, "Clipboard Clock"),
(html! { }, "Clipboard Copy"),
(html! { }, "Clipboard List"),
(html! { }, "Clipboard Minus"),
diff --git a/packages/dioxus/src/clipboard_clock.rs b/packages/dioxus/src/clipboard_clock.rs
new file mode 100644
index 0000000..3586cbe
--- /dev/null
+++ b/packages/dioxus/src/clipboard_clock.rs
@@ -0,0 +1,50 @@
+use dioxus::prelude::*;
+#[derive(Clone, PartialEq, Props)]
+pub struct ClipboardClockProps {
+ #[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 ClipboardClock(props: ClipboardClockProps) -> 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": "M16 14v2.2l1.6 1" }
+ path { "d": "M16 4h2a2 2 0 0 1 2 2v.832" }
+ path { "d": "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2" }
+ circle { "cx": "16", "cy": "16", "r": "6" }
+ rect {
+ "x": "8",
+ "y": "2",
+ "width": "8",
+ "height": "4",
+ "rx": "1",
+ }
+ }
+ }
+}
diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs
index 10b9a28..71c8761 100644
--- a/packages/dioxus/src/lib.rs
+++ b/packages/dioxus/src/lib.rs
@@ -920,6 +920,8 @@ mod clapperboard;
mod clipboard;
#[cfg(feature = "text")]
mod clipboard_check;
+#[cfg(any(feature = "time", feature = "text"))]
+mod clipboard_clock;
#[cfg(any(feature = "text", feature = "arrows"))]
mod clipboard_copy;
#[cfg(feature = "text")]
@@ -5038,6 +5040,8 @@ pub use clapperboard::*;
pub use clipboard::*;
#[cfg(feature = "text")]
pub use clipboard_check::*;
+#[cfg(any(feature = "time", feature = "text"))]
+pub use clipboard_clock::*;
#[cfg(any(feature = "text", feature = "arrows"))]
pub use clipboard_copy::*;
#[cfg(feature = "text")]
diff --git a/packages/dioxus/src/user_star.rs b/packages/dioxus/src/user_star.rs
index a22b4d7..e17c602 100644
--- a/packages/dioxus/src/user_star.rs
+++ b/packages/dioxus/src/user_star.rs
@@ -34,8 +34,8 @@ pub fn UserStar(props: UserStarProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
- path { "d": "M8.5 15H7a4 4 0 0 0-4 4v2" }
- path { "d": "M16.5 12.903a.229.229 0 0 1 .41 0l.997 2.022a.92.92 0 0 0 .69.501l2.23.326a.229.229 0 0 1 .127.392l-1.613 1.57a.92.92 0 0 0-.264.812l.381 2.22a.229.229 0 0 1-.333.241L17.13 19.94a.92.92 0 0 0-.853 0l-1.993 1.048a.229.229 0 0 1-.333-.242l.38-2.22a.92.92 0 0 0-.264-.81l-1.613-1.571a.229.229 0 0 1 .127-.392l2.23-.326a.92.92 0 0 0 .69-.501z" }
+ path { "d": "M16.051 12.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z" }
+ path { "d": "M8 15H7a4 4 0 0 0-4 4v2" }
circle { "cx": "10", "cy": "7", "r": "4" }
}
}
diff --git a/packages/leptos/src/clipboard_clock.rs b/packages/leptos/src/clipboard_clock.rs
new file mode 100644
index 0000000..86f8f1e
--- /dev/null
+++ b/packages/leptos/src/clipboard_clock.rs
@@ -0,0 +1,39 @@
+use leptos::{prelude::*, svg::Svg};
+#[component]
+pub fn ClipboardClock(
+ #[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
}
diff --git a/packages/yew/src/clipboard_clock.rs b/packages/yew/src/clipboard_clock.rs
new file mode 100644
index 0000000..54a1357
--- /dev/null
+++ b/packages/yew/src/clipboard_clock.rs
@@ -0,0 +1,51 @@
+use yew::prelude::*;
+#[derive(PartialEq, Properties)]
+pub struct ClipboardClockProps {
+ #[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 ClipboardClock(props: &ClipboardClockProps) -> 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 b92381a..9e590e6 100644
--- a/packages/yew/src/lib.rs
+++ b/packages/yew/src/lib.rs
@@ -922,6 +922,8 @@ mod clapperboard;
mod clipboard;
#[cfg(feature = "text")]
mod clipboard_check;
+#[cfg(any(feature = "time", feature = "text"))]
+mod clipboard_clock;
#[cfg(any(feature = "text", feature = "arrows"))]
mod clipboard_copy;
#[cfg(feature = "text")]
@@ -5040,6 +5042,8 @@ pub use clapperboard::*;
pub use clipboard::*;
#[cfg(feature = "text")]
pub use clipboard_check::*;
+#[cfg(any(feature = "time", feature = "text"))]
+pub use clipboard_clock::*;
#[cfg(any(feature = "text", feature = "arrows"))]
pub use clipboard_copy::*;
#[cfg(feature = "text")]
diff --git a/packages/yew/src/user_star.rs b/packages/yew/src/user_star.rs
index 7841d4c..8faf623 100644
--- a/packages/yew/src/user_star.rs
+++ b/packages/yew/src/user_star.rs
@@ -41,10 +41,10 @@ pub fn UserStar(props: &UserStarProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
+
}
diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs
index ae0817a..93cc4c1 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.530.0";
+pub const UPSTREAM_GIT_REF: &str = "0.531.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";