diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs index 8a2d197..0468101 100644 --- a/book-examples/dioxus/src/icons.rs +++ b/book-examples/dioxus/src/icons.rs @@ -9986,6 +9986,12 @@ pub fn IconsW1() -> Element { }, "Wifi", ), + ( + rsx! { + WifiCog {} + }, + "Wifi Cog", + ), ( rsx! { WifiHigh {} diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs index 0cdc627..d46dadf 100644 --- a/book-examples/leptos/src/icons.rs +++ b/book-examples/leptos/src/icons.rs @@ -2054,6 +2054,7 @@ pub fn IconsW() -> impl IntoView { (view! { }.into_any(), "Wheat Off"), (view! { }.into_any(), "Whole Word"), (view! { }.into_any(), "Wifi"), + (view! { }.into_any(), "Wifi Cog"), (view! { }.into_any(), "Wifi High"), (view! { }.into_any(), "Wifi Low"), (view! { }.into_any(), "Wifi Off"), diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs index 1e17cd9..256ce6c 100644 --- a/book-examples/yew/src/icons.rs +++ b/book-examples/yew/src/icons.rs @@ -2099,6 +2099,7 @@ pub fn IconsW() -> Html { (html! { }, "Wheat Off"), (html! { }, "Whole Word"), (html! { }, "Wifi"), + (html! { }, "Wifi Cog"), (html! { }, "Wifi High"), (html! { }, "Wifi Low"), (html! { }, "Wifi Off"), diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs index 0f84747..dbd9360 100644 --- a/packages/dioxus/src/lib.rs +++ b/packages/dioxus/src/lib.rs @@ -4011,6 +4011,8 @@ mod wheat_off; mod whole_word; #[cfg(any(feature = "connectivity", feature = "devices"))] mod wifi; +#[cfg(any(feature = "connectivity", feature = "devices", feature = "files"))] +mod wifi_cog; #[cfg(any(feature = "connectivity", feature = "devices"))] mod wifi_high; #[cfg(any(feature = "connectivity", feature = "devices"))] @@ -8079,6 +8081,8 @@ pub use wheat_off::*; pub use whole_word::*; #[cfg(any(feature = "connectivity", feature = "devices"))] pub use wifi::*; +#[cfg(any(feature = "connectivity", feature = "devices", feature = "files"))] +pub use wifi_cog::*; #[cfg(any(feature = "connectivity", feature = "devices"))] pub use wifi_high::*; #[cfg(any(feature = "connectivity", feature = "devices"))] diff --git a/packages/dioxus/src/mic.rs b/packages/dioxus/src/mic.rs index e5089a7..918a866 100644 --- a/packages/dioxus/src/mic.rs +++ b/packages/dioxus/src/mic.rs @@ -34,13 +34,14 @@ pub fn Mic(props: MicProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z" } + path { "d": "M12 19v3" } path { "d": "M19 10v2a7 7 0 0 1-14 0v-2" } - line { - "x1": "12", - "x2": "12", - "y1": "19", - "y2": "22", + rect { + "x": "9", + "y": "2", + "width": "6", + "height": "13", + "rx": "3", } } } diff --git a/packages/dioxus/src/pocket.rs b/packages/dioxus/src/pocket.rs index 616af5b..60af911 100644 --- a/packages/dioxus/src/pocket.rs +++ b/packages/dioxus/src/pocket.rs @@ -34,8 +34,8 @@ pub fn Pocket(props: PocketProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z" } - polyline { "points": "8 10 12 14 16 10" } + path { "d": "M20 3a2 2 0 0 1 2 2v6a1 1 0 0 1-20 0V5a2 2 0 0 1 2-2z" } + path { "d": "m8 10 4 4 4-4" } } } } diff --git a/packages/dioxus/src/radio.rs b/packages/dioxus/src/radio.rs index 88aaea0..c2fda9d 100644 --- a/packages/dioxus/src/radio.rs +++ b/packages/dioxus/src/radio.rs @@ -34,11 +34,11 @@ pub fn Radio(props: RadioProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M4.9 19.1C1 15.2 1 8.8 4.9 4.9" } - path { "d": "M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5" } + path { "d": "M16.247 7.761a6 6 0 0 1 0 8.478" } + path { "d": "M19.075 4.933a10 10 0 0 1 0 14.134" } + path { "d": "M4.925 19.067a10 10 0 0 1 0-14.134" } + path { "d": "M7.753 16.239a6 6 0 0 1 0-8.478" } circle { "cx": "12", "cy": "12", "r": "2" } - path { "d": "M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5" } - path { "d": "M19.1 4.9C23 8.8 23 15.1 19.1 19" } } } } diff --git a/packages/dioxus/src/stamp.rs b/packages/dioxus/src/stamp.rs index 01668d1..66e3a56 100644 --- a/packages/dioxus/src/stamp.rs +++ b/packages/dioxus/src/stamp.rs @@ -34,9 +34,9 @@ pub fn Stamp(props: StampProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", + path { "d": "M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-6 0c0 2 1 2 1 3.5V13" } + path { "d": "M20 15.5a2.5 2.5 0 0 0-2.5-2.5h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1z" } path { "d": "M5 22h14" } - path { "d": "M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z" } - path { "d": "M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13" } } } } diff --git a/packages/dioxus/src/wifi_cog.rs b/packages/dioxus/src/wifi_cog.rs new file mode 100644 index 0000000..8dbff4b --- /dev/null +++ b/packages/dioxus/src/wifi_cog.rs @@ -0,0 +1,51 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct WifiCogProps { + #[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 WifiCog(props: WifiCogProps) -> 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": "m14.305 19.53.923-.382" } + path { "d": "m15.228 16.852-.923-.383" } + path { "d": "m16.852 15.228-.383-.923" } + path { "d": "m16.852 20.772-.383.924" } + path { "d": "m19.148 15.228.383-.923" } + path { "d": "m19.53 21.696-.382-.924" } + path { "d": "M2 7.82a15 15 0 0 1 20 0" } + path { "d": "m20.772 16.852.924-.383" } + path { "d": "m20.772 19.148.924.383" } + path { "d": "M5 11.858a10 10 0 0 1 11.5-1.785" } + path { "d": "M8.5 15.429a5 5 0 0 1 2.413-1.31" } + circle { "cx": "18", "cy": "18", "r": "3" } + } + } +} diff --git a/packages/leptos/src/lib.rs b/packages/leptos/src/lib.rs index 5be6716..087d3ff 100644 --- a/packages/leptos/src/lib.rs +++ b/packages/leptos/src/lib.rs @@ -4011,6 +4011,8 @@ mod wheat_off; mod whole_word; #[cfg(any(feature = "connectivity", feature = "devices"))] mod wifi; +#[cfg(any(feature = "connectivity", feature = "devices", feature = "files"))] +mod wifi_cog; #[cfg(any(feature = "connectivity", feature = "devices"))] mod wifi_high; #[cfg(any(feature = "connectivity", feature = "devices"))] @@ -8079,6 +8081,8 @@ pub use wheat_off::*; pub use whole_word::*; #[cfg(any(feature = "connectivity", feature = "devices"))] pub use wifi::*; +#[cfg(any(feature = "connectivity", feature = "devices", feature = "files"))] +pub use wifi_cog::*; #[cfg(any(feature = "connectivity", feature = "devices"))] pub use wifi_high::*; #[cfg(any(feature = "connectivity", feature = "devices"))] diff --git a/packages/leptos/src/mic.rs b/packages/leptos/src/mic.rs index 58ec799..7c6e322 100644 --- a/packages/leptos/src/mic.rs +++ b/packages/leptos/src/mic.rs @@ -29,9 +29,9 @@ pub fn Mic( stroke-linecap="round" stroke-linejoin="round" > - + - + } } diff --git a/packages/leptos/src/pocket.rs b/packages/leptos/src/pocket.rs index 77b8e36..b551407 100644 --- a/packages/leptos/src/pocket.rs +++ b/packages/leptos/src/pocket.rs @@ -29,8 +29,8 @@ pub fn Pocket( stroke-linecap="round" stroke-linejoin="round" > - - + + } } diff --git a/packages/leptos/src/radio.rs b/packages/leptos/src/radio.rs index 922a232..8c14ae2 100644 --- a/packages/leptos/src/radio.rs +++ b/packages/leptos/src/radio.rs @@ -29,11 +29,11 @@ pub fn Radio( stroke-linecap="round" stroke-linejoin="round" > - - + + + + - - } } diff --git a/packages/leptos/src/stamp.rs b/packages/leptos/src/stamp.rs index 358230d..5634e71 100644 --- a/packages/leptos/src/stamp.rs +++ b/packages/leptos/src/stamp.rs @@ -29,9 +29,9 @@ pub fn Stamp( stroke-linecap="round" stroke-linejoin="round" > + + - - } } diff --git a/packages/leptos/src/wifi_cog.rs b/packages/leptos/src/wifi_cog.rs new file mode 100644 index 0000000..1de3dad --- /dev/null +++ b/packages/leptos/src/wifi_cog.rs @@ -0,0 +1,46 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn WifiCog( + #[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/lib.rs b/packages/yew/src/lib.rs index 9087b19..af2d662 100644 --- a/packages/yew/src/lib.rs +++ b/packages/yew/src/lib.rs @@ -4013,6 +4013,8 @@ mod wheat_off; mod whole_word; #[cfg(any(feature = "connectivity", feature = "devices"))] mod wifi; +#[cfg(any(feature = "connectivity", feature = "devices", feature = "files"))] +mod wifi_cog; #[cfg(any(feature = "connectivity", feature = "devices"))] mod wifi_high; #[cfg(any(feature = "connectivity", feature = "devices"))] @@ -8081,6 +8083,8 @@ pub use wheat_off::*; pub use whole_word::*; #[cfg(any(feature = "connectivity", feature = "devices"))] pub use wifi::*; +#[cfg(any(feature = "connectivity", feature = "devices", feature = "files"))] +pub use wifi_cog::*; #[cfg(any(feature = "connectivity", feature = "devices"))] pub use wifi_high::*; #[cfg(any(feature = "connectivity", feature = "devices"))] diff --git a/packages/yew/src/mic.rs b/packages/yew/src/mic.rs index 395eb88..80a5c3b 100644 --- a/packages/yew/src/mic.rs +++ b/packages/yew/src/mic.rs @@ -41,9 +41,9 @@ pub fn Mic(props: &MicProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - + - + } } diff --git a/packages/yew/src/pocket.rs b/packages/yew/src/pocket.rs index aa6b422..042988c 100644 --- a/packages/yew/src/pocket.rs +++ b/packages/yew/src/pocket.rs @@ -41,8 +41,8 @@ pub fn Pocket(props: &PocketProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - + + } } diff --git a/packages/yew/src/radio.rs b/packages/yew/src/radio.rs index a717e50..6a2d078 100644 --- a/packages/yew/src/radio.rs +++ b/packages/yew/src/radio.rs @@ -41,11 +41,11 @@ pub fn Radio(props: &RadioProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - + + + + - - } } diff --git a/packages/yew/src/stamp.rs b/packages/yew/src/stamp.rs index 821338b..9656585 100644 --- a/packages/yew/src/stamp.rs +++ b/packages/yew/src/stamp.rs @@ -41,11 +41,11 @@ pub fn Stamp(props: &StampProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - + - + } } diff --git a/packages/yew/src/wifi_cog.rs b/packages/yew/src/wifi_cog.rs new file mode 100644 index 0000000..2e3b9c0 --- /dev/null +++ b/packages/yew/src/wifi_cog.rs @@ -0,0 +1,58 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct WifiCogProps { + #[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 WifiCog(props: &WifiCogProps) -> 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 5ddf106..58c1f4a 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.515.0"; +pub const UPSTREAM_GIT_REF: &str = "0.516.0"; pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";