diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs
index 588e71b..26fa979 100644
--- a/book-examples/dioxus/src/icons.rs
+++ b/book-examples/dioxus/src/icons.rs
@@ -9293,6 +9293,12 @@ pub fn IconsT1() -> Element {
},
"Toilet",
),
+ (
+ rsx! {
+ ToolCase {}
+ },
+ "Tool Case",
+ ),
(
rsx! {
Tornado {}
diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs
index 238cc43..f4af786 100644
--- a/book-examples/leptos/src/icons.rs
+++ b/book-examples/leptos/src/icons.rs
@@ -1898,6 +1898,7 @@ pub fn IconsT() -> impl IntoView {
(view! { }.into_any(), "Toggle Left"),
(view! { }.into_any(), "Toggle Right"),
(view! { }.into_any(), "Toilet"),
+ (view! { }.into_any(), "Tool Case"),
(view! { }.into_any(), "Tornado"),
(view! { }.into_any(), "Torus"),
(view! { }.into_any(), "Touchpad"),
diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs
index dd33c0c..97c6c60 100644
--- a/book-examples/yew/src/icons.rs
+++ b/book-examples/yew/src/icons.rs
@@ -1943,6 +1943,7 @@ pub fn IconsT() -> Html {
(html! { }, "Toggle Left"),
(html! { }, "Toggle Right"),
(html! { }, "Toilet"),
+ (html! { }, "Tool Case"),
(html! { }, "Tornado"),
(html! { }, "Torus"),
(html! { }, "Touchpad"),
diff --git a/packages/dioxus/src/flag.rs b/packages/dioxus/src/flag.rs
index c7f699d..895aa31 100644
--- a/packages/dioxus/src/flag.rs
+++ b/packages/dioxus/src/flag.rs
@@ -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" }
}
}
}
diff --git a/packages/dioxus/src/flag_off.rs b/packages/dioxus/src/flag_off.rs
index 0e64a83..b32e434 100644
--- a/packages/dioxus/src/flag_off.rs
+++ b/packages/dioxus/src/flag_off.rs
@@ -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" }
}
}
}
diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs
index 7c1b460..c6f711d 100644
--- a/packages/dioxus/src/lib.rs
+++ b/packages/dioxus/src/lib.rs
@@ -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(
diff --git a/packages/dioxus/src/megaphone.rs b/packages/dioxus/src/megaphone.rs
index 6e0b000..bd3bdca 100644
--- a/packages/dioxus/src/megaphone.rs
+++ b/packages/dioxus/src/megaphone.rs
@@ -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" }
}
}
}
diff --git a/packages/dioxus/src/megaphone_off.rs b/packages/dioxus/src/megaphone_off.rs
index c1fe5f8..9006ab9 100644
--- a/packages/dioxus/src/megaphone_off.rs
+++ b/packages/dioxus/src/megaphone_off.rs
@@ -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" }
}
}
}
diff --git a/packages/dioxus/src/shrub.rs b/packages/dioxus/src/shrub.rs
index a6badaf..7aae041 100644
--- a/packages/dioxus/src/shrub.rs
+++ b/packages/dioxus/src/shrub.rs
@@ -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" }
}
}
}
diff --git a/packages/dioxus/src/sun_moon.rs b/packages/dioxus/src/sun_moon.rs
index 6937983..b7b1754 100644
--- a/packages/dioxus/src/sun_moon.rs
+++ b/packages/dioxus/src/sun_moon.rs
@@ -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" }
}
}
}
diff --git a/packages/dioxus/src/tool_case.rs b/packages/dioxus/src/tool_case.rs
new file mode 100644
index 0000000..2c370ea
--- /dev/null
+++ b/packages/dioxus/src/tool_case.rs
@@ -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,
+ pub style: Option,
+}
+#[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" }
+ }
+ }
+}
diff --git a/packages/leptos/src/flag.rs b/packages/leptos/src/flag.rs
index bc3c44d..483762b 100644
--- a/packages/leptos/src/flag.rs
+++ b/packages/leptos/src/flag.rs
@@ -29,8 +29,7 @@ pub fn Flag(
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
+
}
}
diff --git a/packages/leptos/src/flag_off.rs b/packages/leptos/src/flag_off.rs
index 80dde7f..39a5105 100644
--- a/packages/leptos/src/flag_off.rs
+++ b/packages/leptos/src/flag_off.rs
@@ -29,10 +29,10 @@ pub fn FlagOff(
stroke-linecap="round"
stroke-linejoin="round"
>
-
+
+
-
-
+
}
}
diff --git a/packages/leptos/src/lib.rs b/packages/leptos/src/lib.rs
index 47528a2..6eb515c 100644
--- a/packages/leptos/src/lib.rs
+++ b/packages/leptos/src/lib.rs
@@ -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(
diff --git a/packages/leptos/src/megaphone.rs b/packages/leptos/src/megaphone.rs
index 9562c39..78a918f 100644
--- a/packages/leptos/src/megaphone.rs
+++ b/packages/leptos/src/megaphone.rs
@@ -29,8 +29,9 @@ pub fn Megaphone(
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
+
+
+
}
}
diff --git a/packages/leptos/src/megaphone_off.rs b/packages/leptos/src/megaphone_off.rs
index e38ffa4..8a83958 100644
--- a/packages/leptos/src/megaphone_off.rs
+++ b/packages/leptos/src/megaphone_off.rs
@@ -29,10 +29,11 @@ pub fn MegaphoneOff(
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
-
-
+
+
+
+
+
}
}
diff --git a/packages/leptos/src/shrub.rs b/packages/leptos/src/shrub.rs
index 9bb50d5..bfaaf08 100644
--- a/packages/leptos/src/shrub.rs
+++ b/packages/leptos/src/shrub.rs
@@ -29,9 +29,9 @@ pub fn Shrub(
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
-
+
+
+
}
}
diff --git a/packages/leptos/src/sun_moon.rs b/packages/leptos/src/sun_moon.rs
index f3a02a1..53dd8b4 100644
--- a/packages/leptos/src/sun_moon.rs
+++ b/packages/leptos/src/sun_moon.rs
@@ -29,15 +29,11 @@ pub fn SunMoon(
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
-
-
-
+
+
-
-
+
}
}
diff --git a/packages/leptos/src/tool_case.rs b/packages/leptos/src/tool_case.rs
new file mode 100644
index 0000000..cf5a591
--- /dev/null
+++ b/packages/leptos/src/tool_case.rs
@@ -0,0 +1,38 @@
+use leptos::{prelude::*, svg::Svg};
+#[component]
+pub fn ToolCase(
+ #[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/flag_off.rs b/packages/yew/src/flag_off.rs
index d124de0..2c8e87e 100644
--- a/packages/yew/src/flag_off.rs
+++ b/packages/yew/src/flag_off.rs
@@ -41,10 +41,10 @@ pub fn FlagOff(props: &FlagOffProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
+
+
-
-
+
}
}
diff --git a/packages/yew/src/lib.rs b/packages/yew/src/lib.rs
index 5ba62a2..eb2d187 100644
--- a/packages/yew/src/lib.rs
+++ b/packages/yew/src/lib.rs
@@ -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(
diff --git a/packages/yew/src/megaphone.rs b/packages/yew/src/megaphone.rs
index ddcb8e2..80ead76 100644
--- a/packages/yew/src/megaphone.rs
+++ b/packages/yew/src/megaphone.rs
@@ -41,8 +41,11 @@ pub fn Megaphone(props: &MegaphoneProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
+
+
+
}
}
diff --git a/packages/yew/src/megaphone_off.rs b/packages/yew/src/megaphone_off.rs
index ffb1b94..79078c5 100644
--- a/packages/yew/src/megaphone_off.rs
+++ b/packages/yew/src/megaphone_off.rs
@@ -41,10 +41,11 @@ pub fn MegaphoneOff(props: &MegaphoneOffProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
-
-
+
+
+
+
+
}
}
diff --git a/packages/yew/src/shrub.rs b/packages/yew/src/shrub.rs
index 954bd20..1f50661 100644
--- a/packages/yew/src/shrub.rs
+++ b/packages/yew/src/shrub.rs
@@ -41,9 +41,9 @@ pub fn Shrub(props: &ShrubProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
-
+
+
+
}
}
diff --git a/packages/yew/src/sun_moon.rs b/packages/yew/src/sun_moon.rs
index 3ae7f7f..31f2584 100644
--- a/packages/yew/src/sun_moon.rs
+++ b/packages/yew/src/sun_moon.rs
@@ -41,15 +41,11 @@ pub fn SunMoon(props: &SunMoonProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
-
-
-
-
+
+
-
-
+
}
}
diff --git a/packages/yew/src/tool_case.rs b/packages/yew/src/tool_case.rs
new file mode 100644
index 0000000..e9136e4
--- /dev/null
+++ b/packages/yew/src/tool_case.rs
@@ -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,
+ #[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! {
+
+
+
+
+
+
+ }
+}
diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs
index cae769d..08d05b9 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.524.0";
+pub const UPSTREAM_GIT_REF: &str = "0.525.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";