From 74a0148d05661d7944e0fc080c5f13e209a01c07 Mon Sep 17 00:00:00 2001
From: "rust-for-web[bot]"
<191031261+rust-for-web[bot]@users.noreply.github.com>
Date: Fri, 17 Jul 2026 17:10:32 +0000
Subject: [PATCH] feat: update to upstream v1.25.0
---
book-examples/dioxus/src/icons.rs | 34 ++++++++++-------
book-examples/leptos/src/icons.rs | 7 ++--
book-examples/yew/src/icons.rs | 3 +-
packages/dioxus/src/circle_euro.rs | 42 +++++++++++++++++++++
packages/dioxus/src/ethernet_port.rs | 4 +-
packages/dioxus/src/file_box.rs | 10 ++---
packages/dioxus/src/hdmi_port.rs | 4 +-
packages/dioxus/src/lib.rs | 22 +++++++++--
packages/dioxus/src/scan_box.rs | 46 +++++++++++++++++++++++
packages/icon-name/src/lib.rs | 5 ++-
packages/leptos/src/circle_euro.rs | 37 +++++++++++++++++++
packages/leptos/src/ethernet_port.rs | 4 +-
packages/leptos/src/file_box.rs | 10 ++---
packages/leptos/src/hdmi_port.rs | 4 +-
packages/leptos/src/lib.rs | 22 +++++++++--
packages/leptos/src/scan_box.rs | 41 +++++++++++++++++++++
packages/yew/src/circle_euro.rs | 49 +++++++++++++++++++++++++
packages/yew/src/ethernet_port.rs | 8 ++--
packages/yew/src/file_box.rs | 10 ++---
packages/yew/src/hdmi_port.rs | 4 +-
packages/yew/src/lib.rs | 22 +++++++++--
packages/yew/src/scan_box.rs | 55 ++++++++++++++++++++++++++++
scripts/src/lib.rs | 2 +-
23 files changed, 383 insertions(+), 62 deletions(-)
create mode 100644 packages/dioxus/src/circle_euro.rs
create mode 100644 packages/dioxus/src/scan_box.rs
create mode 100644 packages/leptos/src/circle_euro.rs
create mode 100644 packages/leptos/src/scan_box.rs
create mode 100644 packages/yew/src/circle_euro.rs
create mode 100644 packages/yew/src/scan_box.rs
diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs
index c897fa1d..175681e3 100644
--- a/book-examples/dioxus/src/icons.rs
+++ b/book-examples/dioxus/src/icons.rs
@@ -2402,9 +2402,9 @@ pub fn IconsC2() -> Element {
),
(
rsx! {
- CircleEuroSign {}
+ CircleEuro {}
},
- "Circle Euro Sign",
+ "Circle Euro",
),
(
rsx! {
@@ -8196,6 +8196,12 @@ pub fn IconsS1() -> Element {
},
"Scan Barcode",
),
+ (
+ rsx! {
+ ScanBox {}
+ },
+ "Scan Box",
+ ),
(
rsx! {
ScanEye {}
@@ -8688,12 +8694,6 @@ pub fn IconsS1() -> Element {
},
"Slice",
),
- (
- rsx! {
- SlidersHorizontal {}
- },
- "Sliders Horizontal",
- ),
];
rsx! {
for (icon, name) in icons {
@@ -8709,6 +8709,12 @@ pub fn IconsS1() -> Element {
#[component]
pub fn IconsS2() -> Element {
let icons = [
+ (
+ rsx! {
+ SlidersHorizontal {}
+ },
+ "Sliders Horizontal",
+ ),
(
rsx! {
SlidersVertical {}
@@ -9303,12 +9309,6 @@ pub fn IconsS2() -> Element {
},
"Squares Exclude",
),
- (
- rsx! {
- SquaresIntersect {}
- },
- "Squares Intersect",
- ),
];
rsx! {
for (icon, name) in icons {
@@ -9324,6 +9324,12 @@ pub fn IconsS2() -> Element {
#[component]
pub fn IconsS3() -> Element {
let icons = [
+ (
+ rsx! {
+ SquaresIntersect {}
+ },
+ "Squares Intersect",
+ ),
(
rsx! {
SquaresSubtract {}
diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs
index cca0cacb..73cb8de9 100644
--- a/book-examples/leptos/src/icons.rs
+++ b/book-examples/leptos/src/icons.rs
@@ -563,7 +563,7 @@ pub fn IconsC2() -> impl IntoView {
(view! { }.into_any(), "Circle Dot Dashed"),
(view! { }.into_any(), "Circle Ellipsis"),
(view! { }.into_any(), "Circle Equal"),
- (view! { }.into_any(), "Circle Euro Sign"),
+ (view! { }.into_any(), "Circle Euro"),
(view! { }.into_any(), "Circle Fading Arrow Up"),
(view! { }.into_any(), "Circle Fading Plus"),
(view! { }.into_any(), "Circle Gauge"),
@@ -1828,6 +1828,7 @@ pub fn IconsS1() -> impl IntoView {
(view! { }.into_any(), "Scaling"),
(view! { }.into_any(), "Scan"),
(view! { }.into_any(), "Scan Barcode"),
+ (view! { }.into_any(), "Scan Box"),
(view! { }.into_any(), "Scan Eye"),
(view! { }.into_any(), "Scan Face"),
(view! { }.into_any(), "Scan Heart"),
@@ -1910,7 +1911,6 @@ pub fn IconsS1() -> impl IntoView {
(view! { }.into_any(), "Skull"),
(view! { }.into_any(), "Slash"),
(view! { }.into_any(), "Slice"),
- (view! { }.into_any(), "Sliders Horizontal"),
]
key=|icon| icon.1
children=move |(icon, name)| {
@@ -1928,6 +1928,7 @@ pub fn IconsS2() -> impl IntoView {
view! {
}.into_any(), "Sliders Horizontal"),
(view! { }.into_any(), "Sliders Vertical"),
(view! { }.into_any(), "Smartphone"),
(view! { }.into_any(), "Smartphone Charging"),
@@ -2036,7 +2037,6 @@ pub fn IconsS2() -> impl IntoView {
(view! { }.into_any(), "Square User Round"),
(view! { }.into_any(), "Square X"),
(view! { }.into_any(), "Squares Exclude"),
- (view! { }.into_any(), "Squares Intersect"),
]
key=|icon| icon.1
children=move |(icon, name)| {
@@ -2054,6 +2054,7 @@ pub fn IconsS3() -> impl IntoView {
view! {
}.into_any(), "Squares Intersect"),
(view! { }.into_any(), "Squares Subtract"),
(view! { }.into_any(), "Squares Unite"),
(view! { }.into_any(), "Squircle"),
diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs
index 22749250..282cf2ba 100644
--- a/book-examples/yew/src/icons.rs
+++ b/book-examples/yew/src/icons.rs
@@ -531,7 +531,7 @@ pub fn IconsC() -> Html {
(html! { }, "Circle Dot Dashed"),
(html! { }, "Circle Ellipsis"),
(html! { }, "Circle Equal"),
- (html! { }, "Circle Euro Sign"),
+ (html! { }, "Circle Euro"),
(html! { }, "Circle Fading Arrow Up"),
(html! { }, "Circle Fading Plus"),
(html! { }, "Circle Gauge"),
@@ -1727,6 +1727,7 @@ pub fn IconsS() -> Html {
(html! { }, "Scaling"),
(html! { }, "Scan"),
(html! { }, "Scan Barcode"),
+ (html! { }, "Scan Box"),
(html! { }, "Scan Eye"),
(html! { }, "Scan Face"),
(html! { }, "Scan Heart"),
diff --git a/packages/dioxus/src/circle_euro.rs b/packages/dioxus/src/circle_euro.rs
new file mode 100644
index 00000000..6c872a3e
--- /dev/null
+++ b/packages/dioxus/src/circle_euro.rs
@@ -0,0 +1,42 @@
+use dioxus::prelude::*;
+#[derive(Clone, PartialEq, Props)]
+pub struct CircleEuroProps {
+ #[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 CircleEuro(props: CircleEuroProps) -> 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": "M15 9.4a4 4 0 1 0 0 5.2" }
+ path { "d": "M7 12h5" }
+ circle { "cx": "12", "cy": "12", "r": "10" }
+ }
+ }
+}
diff --git a/packages/dioxus/src/ethernet_port.rs b/packages/dioxus/src/ethernet_port.rs
index 2cead038..5e97c4d9 100644
--- a/packages/dioxus/src/ethernet_port.rs
+++ b/packages/dioxus/src/ethernet_port.rs
@@ -34,11 +34,11 @@ pub fn EthernetPort(props: EthernetPortProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
- path { "d": "m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z" }
- path { "d": "M6 8v1" }
path { "d": "M10 8v1" }
path { "d": "M14 8v1" }
path { "d": "M18 8v1" }
+ path { "d": "M19 17a2 2 0 00-1.765 1.059l-.47.882A2 2 0 0115 20H9a2 2 0 01-1.765-1.059l-.47-.882A2 2 0 005 17H4a2 2 0 01-2-2V6a2 2 0 012-2h16a2 2 0 012 2v9a2 2 0 01-2 2z" }
+ path { "d": "M6 8v1" }
}
}
}
diff --git a/packages/dioxus/src/file_box.rs b/packages/dioxus/src/file_box.rs
index f658bb42..c9464554 100644
--- a/packages/dioxus/src/file_box.rs
+++ b/packages/dioxus/src/file_box.rs
@@ -34,11 +34,11 @@ pub fn FileBox(props: FileBoxProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
- path { "d": "M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8" }
- path { "d": "M14 2v5a1 1 0 0 0 1 1h5" }
- path { "d": "M11.7 14.2 7 17l-4.7-2.8" }
- path { "d": "M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01z" }
- path { "d": "M7 17v5" }
+ path { "d": "M14 2v5a1 1 0 001 1h5" }
+ path { "d": "M14.692 22H18a2 2 0 002-2V8a2.4 2.4 0 00-.706-1.706l-3.588-3.588A2.4 2.4 0 0014 2H6a2 2 0 00-2 2v3.804" }
+ path { "d": "M2.264 13.752 7 16.5l4.737-2.748" }
+ path { "d": "M2.995 13.014A2 2 0 002 14.744v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0012 18.26v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z" }
+ path { "d": "M7 16.5V22" }
}
}
}
diff --git a/packages/dioxus/src/hdmi_port.rs b/packages/dioxus/src/hdmi_port.rs
index acb15dc9..ba6d972d 100644
--- a/packages/dioxus/src/hdmi_port.rs
+++ b/packages/dioxus/src/hdmi_port.rs
@@ -34,8 +34,8 @@ pub fn HdmiPort(props: HdmiPortProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
- path { "d": "M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z" }
- path { "d": "M7.5 12h9" }
+ path { "d": "M22 9a1 1 0 00-1-1H3a1 1 0 00-1 1v4a1 1 0 001 1h.5a2 2 0 011.6.8l.3.4A2 2 0 007 16h10a2 2 0 001.6-.8l.3-.4a2 2 0 011.6-.8h.5a1 1 0 001-1z" }
+ path { "d": "M8 12h8" }
}
}
}
diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs
index cffbd246..249eee10 100644
--- a/packages/dioxus/src/lib.rs
+++ b/packages/dioxus/src/lib.rs
@@ -872,7 +872,7 @@ mod circle_ellipsis;
#[cfg(feature = "math")]
mod circle_equal;
#[cfg(any(feature = "shopping", feature = "finance"))]
-mod circle_euro_sign;
+mod circle_euro;
#[cfg(any(feature = "arrows", feature = "development"))]
mod circle_fading_arrow_up;
#[cfg(any(feature = "communication", feature = "social"))]
@@ -1418,7 +1418,7 @@ mod file_archive;
mod file_axis_3_d;
#[cfg(feature = "files")]
mod file_badge;
-#[cfg(feature = "files")]
+#[cfg(any(feature = "files", feature = "design", feature = "development"))]
mod file_box;
#[cfg(any(feature = "files", feature = "development"))]
mod file_braces;
@@ -3167,6 +3167,13 @@ mod scaling;
mod scan;
#[cfg(any(feature = "shopping", feature = "devices"))]
mod scan_barcode;
+#[cfg(any(
+ feature = "design",
+ feature = "devices",
+ feature = "shopping",
+ feature = "gaming"
+))]
+mod scan_box;
#[cfg(any(
feature = "photography",
feature = "multimedia",
@@ -5310,7 +5317,7 @@ pub use circle_ellipsis::*;
#[cfg(feature = "math")]
pub use circle_equal::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
-pub use circle_euro_sign::*;
+pub use circle_euro::*;
#[cfg(any(feature = "arrows", feature = "development"))]
pub use circle_fading_arrow_up::*;
#[cfg(any(feature = "communication", feature = "social"))]
@@ -5856,7 +5863,7 @@ pub use file_archive::*;
pub use file_axis_3_d::*;
#[cfg(feature = "files")]
pub use file_badge::*;
-#[cfg(feature = "files")]
+#[cfg(any(feature = "files", feature = "design", feature = "development"))]
pub use file_box::*;
#[cfg(any(feature = "files", feature = "development"))]
pub use file_braces::*;
@@ -7605,6 +7612,13 @@ pub use scaling::*;
pub use scan::*;
#[cfg(any(feature = "shopping", feature = "devices"))]
pub use scan_barcode::*;
+#[cfg(any(
+ feature = "design",
+ feature = "devices",
+ feature = "shopping",
+ feature = "gaming"
+))]
+pub use scan_box::*;
#[cfg(any(
feature = "photography",
feature = "multimedia",
diff --git a/packages/dioxus/src/scan_box.rs b/packages/dioxus/src/scan_box.rs
new file mode 100644
index 00000000..61c3c326
--- /dev/null
+++ b/packages/dioxus/src/scan_box.rs
@@ -0,0 +1,46 @@
+use dioxus::prelude::*;
+#[derive(Clone, PartialEq, Props)]
+pub struct ScanBoxProps {
+ #[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 ScanBox(props: ScanBoxProps) -> 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": "M12 12v5.5" }
+ path { "d": "M17 3h2a2 2 0 012 2v2" }
+ path { "d": "M21 17v2a2 2 0 01-2 2h-2" }
+ path { "d": "M3 7V5a2 2 0 012-2h2" }
+ path { "d": "M7 21H5a2 2 0 01-2-2v-2" }
+ path { "d": "M7.264 9.252 12 12l4.737-2.748" }
+ path { "d": "M7.995 8.514A2 2 0 007 10.244v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0017 13.76v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z" }
+ }
+ }
+}
diff --git a/packages/icon-name/src/lib.rs b/packages/icon-name/src/lib.rs
index efd699bd..840e767d 100644
--- a/packages/icon-name/src/lib.rs
+++ b/packages/icon-name/src/lib.rs
@@ -5,7 +5,7 @@
//! See [the Rust Lucide book](https://lucide.rustforweb.org/) for more documenation.
/// [Lucide](https://lucide.dev/) icon names.
-pub static ICON_NAMES: [&str; 1747usize] = [
+pub static ICON_NAMES: [&str; 1748usize] = [
"a-arrow-down",
"a-arrow-up",
"a-large-small",
@@ -386,7 +386,7 @@ pub static ICON_NAMES: [&str; 1747usize] = [
"circle-dot-dashed",
"circle-ellipsis",
"circle-equal",
- "circle-euro-sign",
+ "circle-euro",
"circle-fading-arrow-up",
"circle-fading-plus",
"circle-gauge",
@@ -1302,6 +1302,7 @@ pub static ICON_NAMES: [&str; 1747usize] = [
"scaling",
"scan",
"scan-barcode",
+ "scan-box",
"scan-eye",
"scan-face",
"scan-heart",
diff --git a/packages/leptos/src/circle_euro.rs b/packages/leptos/src/circle_euro.rs
new file mode 100644
index 00000000..03e3d8a0
--- /dev/null
+++ b/packages/leptos/src/circle_euro.rs
@@ -0,0 +1,37 @@
+use leptos::{prelude::*, svg::Svg};
+#[component]
+pub fn CircleEuro(
+ #[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/leptos/src/file_box.rs b/packages/leptos/src/file_box.rs
index 99f72f03..4389d4cb 100644
--- a/packages/leptos/src/file_box.rs
+++ b/packages/leptos/src/file_box.rs
@@ -29,11 +29,11 @@ pub fn FileBox(
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
-
-
-
+
+
+
+
+
}
}
diff --git a/packages/leptos/src/hdmi_port.rs b/packages/leptos/src/hdmi_port.rs
index 1a6c7cc5..dc0cfc28 100644
--- a/packages/leptos/src/hdmi_port.rs
+++ b/packages/leptos/src/hdmi_port.rs
@@ -29,8 +29,8 @@ pub fn HdmiPort(
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
+
+
}
}
diff --git a/packages/leptos/src/lib.rs b/packages/leptos/src/lib.rs
index 3b3b025d..d1e8e678 100644
--- a/packages/leptos/src/lib.rs
+++ b/packages/leptos/src/lib.rs
@@ -872,7 +872,7 @@ mod circle_ellipsis;
#[cfg(feature = "math")]
mod circle_equal;
#[cfg(any(feature = "shopping", feature = "finance"))]
-mod circle_euro_sign;
+mod circle_euro;
#[cfg(any(feature = "arrows", feature = "development"))]
mod circle_fading_arrow_up;
#[cfg(any(feature = "communication", feature = "social"))]
@@ -1418,7 +1418,7 @@ mod file_archive;
mod file_axis_3_d;
#[cfg(feature = "files")]
mod file_badge;
-#[cfg(feature = "files")]
+#[cfg(any(feature = "files", feature = "design", feature = "development"))]
mod file_box;
#[cfg(any(feature = "files", feature = "development"))]
mod file_braces;
@@ -3167,6 +3167,13 @@ mod scaling;
mod scan;
#[cfg(any(feature = "shopping", feature = "devices"))]
mod scan_barcode;
+#[cfg(any(
+ feature = "design",
+ feature = "devices",
+ feature = "shopping",
+ feature = "gaming"
+))]
+mod scan_box;
#[cfg(any(
feature = "photography",
feature = "multimedia",
@@ -5310,7 +5317,7 @@ pub use circle_ellipsis::*;
#[cfg(feature = "math")]
pub use circle_equal::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
-pub use circle_euro_sign::*;
+pub use circle_euro::*;
#[cfg(any(feature = "arrows", feature = "development"))]
pub use circle_fading_arrow_up::*;
#[cfg(any(feature = "communication", feature = "social"))]
@@ -5856,7 +5863,7 @@ pub use file_archive::*;
pub use file_axis_3_d::*;
#[cfg(feature = "files")]
pub use file_badge::*;
-#[cfg(feature = "files")]
+#[cfg(any(feature = "files", feature = "design", feature = "development"))]
pub use file_box::*;
#[cfg(any(feature = "files", feature = "development"))]
pub use file_braces::*;
@@ -7605,6 +7612,13 @@ pub use scaling::*;
pub use scan::*;
#[cfg(any(feature = "shopping", feature = "devices"))]
pub use scan_barcode::*;
+#[cfg(any(
+ feature = "design",
+ feature = "devices",
+ feature = "shopping",
+ feature = "gaming"
+))]
+pub use scan_box::*;
#[cfg(any(
feature = "photography",
feature = "multimedia",
diff --git a/packages/leptos/src/scan_box.rs b/packages/leptos/src/scan_box.rs
new file mode 100644
index 00000000..553f0c3e
--- /dev/null
+++ b/packages/leptos/src/scan_box.rs
@@ -0,0 +1,41 @@
+use leptos::{prelude::*, svg::Svg};
+#[component]
+pub fn ScanBox(
+ #[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/yew/src/circle_euro.rs b/packages/yew/src/circle_euro.rs
new file mode 100644
index 00000000..0e040662
--- /dev/null
+++ b/packages/yew/src/circle_euro.rs
@@ -0,0 +1,49 @@
+use yew::prelude::*;
+#[derive(PartialEq, Properties)]
+pub struct CircleEuroProps {
+ #[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,
+}
+#[component]
+pub fn CircleEuro(props: &CircleEuroProps) -> 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/ethernet_port.rs b/packages/yew/src/ethernet_port.rs
index a79a3772..871d3bca 100644
--- a/packages/yew/src/ethernet_port.rs
+++ b/packages/yew/src/ethernet_port.rs
@@ -41,13 +41,13 @@ pub fn EthernetPort(props: &EthernetPortProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
+
+
}
}
diff --git a/packages/yew/src/file_box.rs b/packages/yew/src/file_box.rs
index c01dab30..3c3c0369 100644
--- a/packages/yew/src/file_box.rs
+++ b/packages/yew/src/file_box.rs
@@ -41,15 +41,15 @@ pub fn FileBox(props: &FileBoxProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
+
-
-
+
-
+
}
}
diff --git a/packages/yew/src/hdmi_port.rs b/packages/yew/src/hdmi_port.rs
index 8a0a151b..faeac85c 100644
--- a/packages/yew/src/hdmi_port.rs
+++ b/packages/yew/src/hdmi_port.rs
@@ -42,9 +42,9 @@ pub fn HdmiPort(props: &HdmiPortProps) -> Html {
stroke-linejoin="round"
>
-
+
}
}
diff --git a/packages/yew/src/lib.rs b/packages/yew/src/lib.rs
index dca1e7a5..88fdb825 100644
--- a/packages/yew/src/lib.rs
+++ b/packages/yew/src/lib.rs
@@ -874,7 +874,7 @@ mod circle_ellipsis;
#[cfg(feature = "math")]
mod circle_equal;
#[cfg(any(feature = "shopping", feature = "finance"))]
-mod circle_euro_sign;
+mod circle_euro;
#[cfg(any(feature = "arrows", feature = "development"))]
mod circle_fading_arrow_up;
#[cfg(any(feature = "communication", feature = "social"))]
@@ -1420,7 +1420,7 @@ mod file_archive;
mod file_axis_3_d;
#[cfg(feature = "files")]
mod file_badge;
-#[cfg(feature = "files")]
+#[cfg(any(feature = "files", feature = "design", feature = "development"))]
mod file_box;
#[cfg(any(feature = "files", feature = "development"))]
mod file_braces;
@@ -3169,6 +3169,13 @@ mod scaling;
mod scan;
#[cfg(any(feature = "shopping", feature = "devices"))]
mod scan_barcode;
+#[cfg(any(
+ feature = "design",
+ feature = "devices",
+ feature = "shopping",
+ feature = "gaming"
+))]
+mod scan_box;
#[cfg(any(
feature = "photography",
feature = "multimedia",
@@ -5312,7 +5319,7 @@ pub use circle_ellipsis::*;
#[cfg(feature = "math")]
pub use circle_equal::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
-pub use circle_euro_sign::*;
+pub use circle_euro::*;
#[cfg(any(feature = "arrows", feature = "development"))]
pub use circle_fading_arrow_up::*;
#[cfg(any(feature = "communication", feature = "social"))]
@@ -5858,7 +5865,7 @@ pub use file_archive::*;
pub use file_axis_3_d::*;
#[cfg(feature = "files")]
pub use file_badge::*;
-#[cfg(feature = "files")]
+#[cfg(any(feature = "files", feature = "design", feature = "development"))]
pub use file_box::*;
#[cfg(any(feature = "files", feature = "development"))]
pub use file_braces::*;
@@ -7607,6 +7614,13 @@ pub use scaling::*;
pub use scan::*;
#[cfg(any(feature = "shopping", feature = "devices"))]
pub use scan_barcode::*;
+#[cfg(any(
+ feature = "design",
+ feature = "devices",
+ feature = "shopping",
+ feature = "gaming"
+))]
+pub use scan_box::*;
#[cfg(any(
feature = "photography",
feature = "multimedia",
diff --git a/packages/yew/src/scan_box.rs b/packages/yew/src/scan_box.rs
new file mode 100644
index 00000000..59b6b546
--- /dev/null
+++ b/packages/yew/src/scan_box.rs
@@ -0,0 +1,55 @@
+use yew::prelude::*;
+#[derive(PartialEq, Properties)]
+pub struct ScanBoxProps {
+ #[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,
+}
+#[component]
+pub fn ScanBox(props: &ScanBoxProps) -> Html {
+ let stroke_width = if props.absolute_stroke_width {
+ props.stroke_width * 24 / props.size
+ } else {
+ props.stroke_width
+ };
+ html! {
+
+
+
+
+
+
+
+
+
+ }
+}
diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs
index de078c44..a962f2ae 100644
--- a/scripts/src/lib.rs
+++ b/scripts/src/lib.rs
@@ -10,5 +10,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 = "1.24.0";
+pub const UPSTREAM_GIT_REF: &str = "1.25.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";