From 7cefd141ca87612abc9ad84b132f6120d3c0e5bb Mon Sep 17 00:00:00 2001 From: "rust-for-web[bot]" <191031261+rust-for-web[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 19:28:09 +0200 Subject: [PATCH] feat: update to upstream v0.529.0 (#122) Co-authored-by: rust-for-web[bot] <191031261+rust-for-web[bot]@users.noreply.github.com> --- book-examples/dioxus/src/icons.rs | 42 +++++++++++++----------- book-examples/leptos/src/icons.rs | 3 +- book-examples/yew/src/icons.rs | 3 +- packages/dioxus/src/castle.rs | 17 +++++----- packages/dioxus/src/lib.rs | 12 ++++--- packages/dioxus/src/map_minus.rs | 43 ++++++++++++++++++++++++ packages/dioxus/src/map_pin_pen.rs | 42 ++++++++++++++++++++++++ packages/dioxus/src/shovel.rs | 6 ++-- packages/leptos/src/castle.rs | 17 +++++----- packages/leptos/src/lib.rs | 12 ++++--- packages/leptos/src/map_minus.rs | 38 ++++++++++++++++++++++ packages/leptos/src/map_pin_pen.rs | 37 +++++++++++++++++++++ packages/leptos/src/shovel.rs | 6 ++-- packages/yew/src/castle.rs | 17 +++++----- packages/yew/src/lib.rs | 12 ++++--- packages/yew/src/map_minus.rs | 52 ++++++++++++++++++++++++++++++ packages/yew/src/map_pin_pen.rs | 51 +++++++++++++++++++++++++++++ packages/yew/src/shovel.rs | 10 ++++-- scripts/src/lib.rs | 2 +- 19 files changed, 353 insertions(+), 69 deletions(-) create mode 100644 packages/dioxus/src/map_minus.rs create mode 100644 packages/dioxus/src/map_pin_pen.rs create mode 100644 packages/leptos/src/map_minus.rs create mode 100644 packages/leptos/src/map_pin_pen.rs create mode 100644 packages/yew/src/map_minus.rs create mode 100644 packages/yew/src/map_pin_pen.rs diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs index 52132a7..3939362 100644 --- a/book-examples/dioxus/src/icons.rs +++ b/book-examples/dioxus/src/icons.rs @@ -5612,12 +5612,6 @@ pub fn IconsL1() -> Element { }, "Locate Off", ), - ( - rsx! { - LocationEdit {} - }, - "Location Edit", - ), ( rsx! { Lock {} @@ -5765,6 +5759,12 @@ pub fn IconsM1() -> Element { }, "Map", ), + ( + rsx! { + MapMinus {} + }, + "Map Minus", + ), ( rsx! { MapPin {} @@ -5807,6 +5807,12 @@ pub fn IconsM1() -> Element { }, "Map Pin Off", ), + ( + rsx! { + MapPinPen {} + }, + "Map Pin Pen", + ), ( rsx! { MapPinPlus {} @@ -6275,18 +6281,6 @@ pub fn IconsM1() -> Element { }, "Mouse Pointer", ), - ( - rsx! { - MousePointer2 {} - }, - "Mouse Pointer 2", - ), - ( - rsx! { - MousePointerBan {} - }, - "Mouse Pointer Ban", - ), ]; rsx! { for (icon , name) in icons { @@ -6302,6 +6296,18 @@ pub fn IconsM1() -> Element { #[component] pub fn IconsM2() -> Element { let icons = [ + ( + rsx! { + MousePointer2 {} + }, + "Mouse Pointer 2", + ), + ( + rsx! { + MousePointerBan {} + }, + "Mouse Pointer Ban", + ), ( rsx! { MousePointerClick {} diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs index dcb0772..04ca1f0 100644 --- a/book-examples/leptos/src/icons.rs +++ b/book-examples/leptos/src/icons.rs @@ -1170,7 +1170,6 @@ pub fn IconsL() -> impl IntoView { (view! { }.into_any(), "Locate"), (view! { }.into_any(), "Locate Fixed"), (view! { }.into_any(), "Locate Off"), - (view! { }.into_any(), "Location Edit"), (view! { }.into_any(), "Lock"), (view! { }.into_any(), "Lock Keyhole"), (view! { }.into_any(), "Lock Keyhole Open"), @@ -1210,6 +1209,7 @@ pub fn IconsM() -> impl IntoView { (view! { }.into_any(), "Mailbox"), (view! { }.into_any(), "Mails"), (view! { }.into_any(), "Map"), + (view! { }.into_any(), "Map Minus"), (view! { }.into_any(), "Map Pin"), (view! { }.into_any(), "Map Pin Check"), (view! { }.into_any(), "Map Pin Check Inside"), @@ -1217,6 +1217,7 @@ pub fn IconsM() -> impl IntoView { (view! { }.into_any(), "Map Pin Minus"), (view! { }.into_any(), "Map Pin Minus Inside"), (view! { }.into_any(), "Map Pin Off"), + (view! { }.into_any(), "Map Pin Pen"), (view! { }.into_any(), "Map Pin Plus"), (view! { }.into_any(), "Map Pin Plus Inside"), (view! { }.into_any(), "Map Pin X"), diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs index 10ea3bf..9f15917 100644 --- a/book-examples/yew/src/icons.rs +++ b/book-examples/yew/src/icons.rs @@ -1196,7 +1196,6 @@ pub fn IconsL() -> Html { (html! { }, "Locate"), (html! { }, "Locate Fixed"), (html! { }, "Locate Off"), - (html! { }, "Location Edit"), (html! { }, "Lock"), (html! { }, "Lock Keyhole"), (html! { }, "Lock Keyhole Open"), @@ -1235,6 +1234,7 @@ pub fn IconsM() -> Html { (html! { }, "Mailbox"), (html! { }, "Mails"), (html! { }, "Map"), + (html! { }, "Map Minus"), (html! { }, "Map Pin"), (html! { }, "Map Pin Check"), (html! { }, "Map Pin Check Inside"), @@ -1242,6 +1242,7 @@ pub fn IconsM() -> Html { (html! { }, "Map Pin Minus"), (html! { }, "Map Pin Minus Inside"), (html! { }, "Map Pin Off"), + (html! { }, "Map Pin Pen"), (html! { }, "Map Pin Plus"), (html! { }, "Map Pin Plus Inside"), (html! { }, "Map Pin X"), diff --git a/packages/dioxus/src/castle.rs b/packages/dioxus/src/castle.rs index b86105d..8bccac8 100644 --- a/packages/dioxus/src/castle.rs +++ b/packages/dioxus/src/castle.rs @@ -34,15 +34,14 @@ pub fn Castle(props: CastleProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z" } - path { "d": "M18 11V4H6v7" } - path { "d": "M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4" } - path { "d": "M22 11V9" } - path { "d": "M2 11V9" } - path { "d": "M6 4V2" } - path { "d": "M18 4V2" } - path { "d": "M10 4V2" } - path { "d": "M14 4V2" } + path { "d": "M10 5V3" } + path { "d": "M14 5V3" } + path { "d": "M15 21v-3a3 3 0 0 0-6 0v3" } + path { "d": "M18 3v8" } + path { "d": "M18 5H6" } + path { "d": "M22 11H2" } + path { "d": "M22 9v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9" } + path { "d": "M6 3v8" } } } } diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs index d22bb6c..f147726 100644 --- a/packages/dioxus/src/lib.rs +++ b/packages/dioxus/src/lib.rs @@ -2172,8 +2172,6 @@ mod locate; mod locate_fixed; #[cfg(feature = "navigation")] mod locate_off; -#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] -mod location_edit; #[cfg(feature = "security")] mod lock; #[cfg(feature = "security")] @@ -2218,6 +2216,8 @@ mod mailbox; mod mails; #[cfg(any(feature = "text", feature = "navigation"))] mod map; +#[cfg(any(feature = "navigation", feature = "travel"))] +mod map_minus; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] @@ -2233,6 +2233,8 @@ mod map_pin_minus_inside; #[cfg(any(feature = "navigation", feature = "travel"))] mod map_pin_off; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] +mod map_pin_pen; +#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin_plus; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin_plus_inside; @@ -6286,8 +6288,6 @@ pub use locate::*; pub use locate_fixed::*; #[cfg(feature = "navigation")] pub use locate_off::*; -#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] -pub use location_edit::*; #[cfg(feature = "security")] pub use lock::*; #[cfg(feature = "security")] @@ -6332,6 +6332,8 @@ pub use mailbox::*; pub use mails::*; #[cfg(any(feature = "text", feature = "navigation"))] pub use map::*; +#[cfg(any(feature = "navigation", feature = "travel"))] +pub use map_minus::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] @@ -6347,6 +6349,8 @@ pub use map_pin_minus_inside::*; #[cfg(any(feature = "navigation", feature = "travel"))] pub use map_pin_off::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] +pub use map_pin_pen::*; +#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin_plus::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin_plus_inside::*; diff --git a/packages/dioxus/src/map_minus.rs b/packages/dioxus/src/map_minus.rs new file mode 100644 index 0000000..652b845 --- /dev/null +++ b/packages/dioxus/src/map_minus.rs @@ -0,0 +1,43 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MapMinusProps { + #[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 MapMinus(props: MapMinusProps) -> 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": "m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V14" } + path { "d": "M15 5.764V14" } + path { "d": "M21 18h-6" } + path { "d": "M9 3.236v15" } + } + } +} diff --git a/packages/dioxus/src/map_pin_pen.rs b/packages/dioxus/src/map_pin_pen.rs new file mode 100644 index 0000000..e447b70 --- /dev/null +++ b/packages/dioxus/src/map_pin_pen.rs @@ -0,0 +1,42 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MapPinPenProps { + #[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 MapPinPen(props: MapPinPenProps) -> 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": "M17.97 9.304A8 8 0 0 0 2 10c0 4.69 4.887 9.562 7.022 11.468" } + path { "d": "M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z" } + circle { "cx": "10", "cy": "10", "r": "3" } + } + } +} diff --git a/packages/dioxus/src/shovel.rs b/packages/dioxus/src/shovel.rs index b2251a2..c3f485e 100644 --- a/packages/dioxus/src/shovel.rs +++ b/packages/dioxus/src/shovel.rs @@ -34,9 +34,9 @@ pub fn Shovel(props: ShovelProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M2 22v-5l5-5 5 5-5 5z" } - path { "d": "M9.5 14.5 16 8" } - path { "d": "m17 2 5 5-.5.5a3.53 3.53 0 0 1-5 0s0 0 0 0a3.53 3.53 0 0 1 0-5L17 2" } + path { "d": "M21.56 4.56a1.5 1.5 0 0 1 0 2.122l-.47.47a3 3 0 0 1-4.212-.03 3 3 0 0 1 0-4.243l.44-.44a1.5 1.5 0 0 1 2.121 0z" } + path { "d": "M3 22a1 1 0 0 1-1-1v-3.586a1 1 0 0 1 .293-.707l3.355-3.355a1.205 1.205 0 0 1 1.704 0l3.296 3.296a1.205 1.205 0 0 1 0 1.704l-3.355 3.355a1 1 0 0 1-.707.293z" } + path { "d": "m9 15 7.879-7.878" } } } } diff --git a/packages/leptos/src/castle.rs b/packages/leptos/src/castle.rs index ac714fc..201e81e 100644 --- a/packages/leptos/src/castle.rs +++ b/packages/leptos/src/castle.rs @@ -29,15 +29,14 @@ pub fn Castle( stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - - + + + + + + + + } } diff --git a/packages/leptos/src/lib.rs b/packages/leptos/src/lib.rs index 08e91a6..6ab352f 100644 --- a/packages/leptos/src/lib.rs +++ b/packages/leptos/src/lib.rs @@ -2172,8 +2172,6 @@ mod locate; mod locate_fixed; #[cfg(feature = "navigation")] mod locate_off; -#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] -mod location_edit; #[cfg(feature = "security")] mod lock; #[cfg(feature = "security")] @@ -2218,6 +2216,8 @@ mod mailbox; mod mails; #[cfg(any(feature = "text", feature = "navigation"))] mod map; +#[cfg(any(feature = "navigation", feature = "travel"))] +mod map_minus; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] @@ -2233,6 +2233,8 @@ mod map_pin_minus_inside; #[cfg(any(feature = "navigation", feature = "travel"))] mod map_pin_off; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] +mod map_pin_pen; +#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin_plus; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin_plus_inside; @@ -6286,8 +6288,6 @@ pub use locate::*; pub use locate_fixed::*; #[cfg(feature = "navigation")] pub use locate_off::*; -#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] -pub use location_edit::*; #[cfg(feature = "security")] pub use lock::*; #[cfg(feature = "security")] @@ -6332,6 +6332,8 @@ pub use mailbox::*; pub use mails::*; #[cfg(any(feature = "text", feature = "navigation"))] pub use map::*; +#[cfg(any(feature = "navigation", feature = "travel"))] +pub use map_minus::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] @@ -6347,6 +6349,8 @@ pub use map_pin_minus_inside::*; #[cfg(any(feature = "navigation", feature = "travel"))] pub use map_pin_off::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] +pub use map_pin_pen::*; +#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin_plus::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin_plus_inside::*; diff --git a/packages/leptos/src/map_minus.rs b/packages/leptos/src/map_minus.rs new file mode 100644 index 0000000..7ac7c04 --- /dev/null +++ b/packages/leptos/src/map_minus.rs @@ -0,0 +1,38 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn MapMinus( + #[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/map_pin_pen.rs b/packages/leptos/src/map_pin_pen.rs new file mode 100644 index 0000000..586330b --- /dev/null +++ b/packages/leptos/src/map_pin_pen.rs @@ -0,0 +1,37 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn MapPinPen( + #[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/shovel.rs b/packages/leptos/src/shovel.rs index 016f380..6168973 100644 --- a/packages/leptos/src/shovel.rs +++ b/packages/leptos/src/shovel.rs @@ -29,9 +29,9 @@ pub fn Shovel( stroke-linecap="round" stroke-linejoin="round" > - - - + + + } } diff --git a/packages/yew/src/castle.rs b/packages/yew/src/castle.rs index 25210ef..53e250c 100644 --- a/packages/yew/src/castle.rs +++ b/packages/yew/src/castle.rs @@ -41,15 +41,14 @@ pub fn Castle(props: &CastleProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - - + + + + + + + + } } diff --git a/packages/yew/src/lib.rs b/packages/yew/src/lib.rs index 5474e76..3497041 100644 --- a/packages/yew/src/lib.rs +++ b/packages/yew/src/lib.rs @@ -2174,8 +2174,6 @@ mod locate; mod locate_fixed; #[cfg(feature = "navigation")] mod locate_off; -#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] -mod location_edit; #[cfg(feature = "security")] mod lock; #[cfg(feature = "security")] @@ -2220,6 +2218,8 @@ mod mailbox; mod mails; #[cfg(any(feature = "text", feature = "navigation"))] mod map; +#[cfg(any(feature = "navigation", feature = "travel"))] +mod map_minus; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] @@ -2235,6 +2235,8 @@ mod map_pin_minus_inside; #[cfg(any(feature = "navigation", feature = "travel"))] mod map_pin_off; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] +mod map_pin_pen; +#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin_plus; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] mod map_pin_plus_inside; @@ -6288,8 +6290,6 @@ pub use locate::*; pub use locate_fixed::*; #[cfg(feature = "navigation")] pub use locate_off::*; -#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] -pub use location_edit::*; #[cfg(feature = "security")] pub use lock::*; #[cfg(feature = "security")] @@ -6334,6 +6334,8 @@ pub use mailbox::*; pub use mails::*; #[cfg(any(feature = "text", feature = "navigation"))] pub use map::*; +#[cfg(any(feature = "navigation", feature = "travel"))] +pub use map_minus::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] @@ -6349,6 +6351,8 @@ pub use map_pin_minus_inside::*; #[cfg(any(feature = "navigation", feature = "travel"))] pub use map_pin_off::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] +pub use map_pin_pen::*; +#[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin_plus::*; #[cfg(any(feature = "navigation", feature = "travel", feature = "account"))] pub use map_pin_plus_inside::*; diff --git a/packages/yew/src/map_minus.rs b/packages/yew/src/map_minus.rs new file mode 100644 index 0000000..282067b --- /dev/null +++ b/packages/yew/src/map_minus.rs @@ -0,0 +1,52 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MapMinusProps { + #[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 MapMinus(props: &MapMinusProps) -> 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/map_pin_pen.rs b/packages/yew/src/map_pin_pen.rs new file mode 100644 index 0000000..ab8d608 --- /dev/null +++ b/packages/yew/src/map_pin_pen.rs @@ -0,0 +1,51 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MapPinPenProps { + #[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 MapPinPen(props: &MapPinPenProps) -> 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/shovel.rs b/packages/yew/src/shovel.rs index 9465e1f..64c68e0 100644 --- a/packages/yew/src/shovel.rs +++ b/packages/yew/src/shovel.rs @@ -41,9 +41,13 @@ pub fn Shovel(props: &ShovelProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - - + + + } } diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs index b89e4bc..e23b938 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.528.0"; +pub const UPSTREAM_GIT_REF: &str = "0.529.0"; pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";