From f00da85ec63d55a3a776b09aa03bd34938c8ce4f Mon Sep 17 00:00:00 2001 From: "rust-for-web[bot]" <191031261+rust-for-web[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 16:30:15 +0000 Subject: [PATCH] feat: update to upstream v1.33.0 --- book-examples/dioxus/src/icons.rs | 66 +++++++++++++++++++----- book-examples/leptos/src/icons.rs | 11 +++- book-examples/yew/src/icons.rs | 7 +++ packages/dioxus/src/audio_lines_off.rs | 48 +++++++++++++++++ packages/dioxus/src/lib.rs | 38 ++++++++++++++ packages/dioxus/src/list_clock.rs | 44 ++++++++++++++++ packages/dioxus/src/midi_port.rs | 46 +++++++++++++++++ packages/dioxus/src/mop.rs | 42 +++++++++++++++ packages/dioxus/src/mop_sparkles.rs | 49 ++++++++++++++++++ packages/dioxus/src/square_dimensions.rs | 48 +++++++++++++++++ packages/dioxus/src/usb_c_port.rs | 47 +++++++++++++++++ packages/icon-name/src/lib.rs | 9 +++- packages/leptos/src/audio_lines_off.rs | 43 +++++++++++++++ packages/leptos/src/lib.rs | 38 ++++++++++++++ packages/leptos/src/list_clock.rs | 39 ++++++++++++++ packages/leptos/src/midi_port.rs | 41 +++++++++++++++ packages/leptos/src/mop.rs | 37 +++++++++++++ packages/leptos/src/mop_sparkles.rs | 44 ++++++++++++++++ packages/leptos/src/square_dimensions.rs | 37 +++++++++++++ packages/leptos/src/usb_c_port.rs | 36 +++++++++++++ packages/yew/src/audio_lines_off.rs | 55 ++++++++++++++++++++ packages/yew/src/lib.rs | 38 ++++++++++++++ packages/yew/src/list_clock.rs | 51 ++++++++++++++++++ packages/yew/src/midi_port.rs | 53 +++++++++++++++++++ packages/yew/src/mop.rs | 51 ++++++++++++++++++ packages/yew/src/mop_sparkles.rs | 58 +++++++++++++++++++++ packages/yew/src/square_dimensions.rs | 49 ++++++++++++++++++ packages/yew/src/usb_c_port.rs | 48 +++++++++++++++++ scripts/src/lib.rs | 2 +- 29 files changed, 1159 insertions(+), 16 deletions(-) create mode 100644 packages/dioxus/src/audio_lines_off.rs create mode 100644 packages/dioxus/src/list_clock.rs create mode 100644 packages/dioxus/src/midi_port.rs create mode 100644 packages/dioxus/src/mop.rs create mode 100644 packages/dioxus/src/mop_sparkles.rs create mode 100644 packages/dioxus/src/square_dimensions.rs create mode 100644 packages/dioxus/src/usb_c_port.rs create mode 100644 packages/leptos/src/audio_lines_off.rs create mode 100644 packages/leptos/src/list_clock.rs create mode 100644 packages/leptos/src/midi_port.rs create mode 100644 packages/leptos/src/mop.rs create mode 100644 packages/leptos/src/mop_sparkles.rs create mode 100644 packages/leptos/src/square_dimensions.rs create mode 100644 packages/leptos/src/usb_c_port.rs create mode 100644 packages/yew/src/audio_lines_off.rs create mode 100644 packages/yew/src/list_clock.rs create mode 100644 packages/yew/src/midi_port.rs create mode 100644 packages/yew/src/mop.rs create mode 100644 packages/yew/src/mop_sparkles.rs create mode 100644 packages/yew/src/square_dimensions.rs create mode 100644 packages/yew/src/usb_c_port.rs diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs index 7128af2b..5e5cefde 100644 --- a/book-examples/dioxus/src/icons.rs +++ b/book-examples/dioxus/src/icons.rs @@ -666,6 +666,12 @@ pub fn IconsA2() -> Element { }, "Audio Lines", ), + ( + rsx! { + AudioLinesOff {} + }, + "Audio Lines Off", + ), ( rsx! { AudioLinesX {} @@ -5829,6 +5835,12 @@ pub fn IconsL1() -> Element { }, "List Chevrons Up Down", ), + ( + rsx! { + ListClock {} + }, + "List Clock", + ), ( rsx! { ListCollapse {} @@ -6522,6 +6534,12 @@ pub fn IconsM1() -> Element { }, "Microwave", ), + ( + rsx! { + MidiPort {} + }, + "Midi Port", + ), ( rsx! { Milestone {} @@ -6636,12 +6654,6 @@ pub fn IconsM1() -> Element { }, "Monitor Speaker", ), - ( - rsx! { - MonitorStop {} - }, - "Monitor Stop", - ), ]; rsx! { for (icon, name) in icons { @@ -6657,6 +6669,12 @@ pub fn IconsM1() -> Element { #[component] pub fn IconsM2() -> Element { let icons = [ + ( + rsx! { + MonitorStop {} + }, + "Monitor Stop", + ), ( rsx! { MonitorUp {} @@ -6681,6 +6699,18 @@ pub fn IconsM2() -> Element { }, "Moon Star", ), + ( + rsx! { + Mop {} + }, + "Mop", + ), + ( + rsx! { + MopSparkles {} + }, + "Mop Sparkles", + ), ( rsx! { Mosque {} @@ -9201,6 +9231,12 @@ pub fn IconsS2() -> Element { }, "Square Dashed Top Solid", ), + ( + rsx! { + SquareDimensions {} + }, + "Square Dimensions", + ), ( rsx! { SquareDivide {} @@ -9405,12 +9441,6 @@ pub fn IconsS2() -> Element { }, "Square Text", ), - ( - rsx! { - SquareUser {} - }, - "Square User", - ), ]; rsx! { for (icon, name) in icons { @@ -9426,6 +9456,12 @@ pub fn IconsS2() -> Element { #[component] pub fn IconsS3() -> Element { let icons = [ + ( + rsx! { + SquareUser {} + }, + "Square User", + ), ( rsx! { SquareUserRound {} @@ -10459,6 +10495,12 @@ pub fn IconsU1() -> Element { }, "Usb", ), + ( + rsx! { + UsbCPort {} + }, + "Usb C Port", + ), ( rsx! { User {} diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs index 2f42ca7c..5c62939b 100644 --- a/book-examples/leptos/src/icons.rs +++ b/book-examples/leptos/src/icons.rs @@ -207,6 +207,7 @@ pub fn IconsA2() -> impl IntoView { }.into_any(), "Audio Lines"), + (view! { }.into_any(), "Audio Lines Off"), (view! { }.into_any(), "Audio Lines X"), (view! { }.into_any(), "Audio Waveform"), (view! { }.into_any(), "Award"), @@ -1300,6 +1301,7 @@ pub fn IconsL1() -> impl IntoView { (view! { }.into_any(), "List Checks"), (view! { }.into_any(), "List Chevrons Down Up"), (view! { }.into_any(), "List Chevrons Up Down"), + (view! { }.into_any(), "List Clock"), (view! { }.into_any(), "List Collapse"), (view! { }.into_any(), "List End"), (view! { }.into_any(), "List Filter"), @@ -1433,6 +1435,7 @@ pub fn IconsM1() -> impl IntoView { (view! { }.into_any(), "Microchip"), (view! { }.into_any(), "Microscope"), (view! { }.into_any(), "Microwave"), + (view! { }.into_any(), "Midi Port"), (view! { }.into_any(), "Milestone"), (view! { }.into_any(), "Milk"), (view! { }.into_any(), "Milk Off"), @@ -1452,7 +1455,6 @@ pub fn IconsM1() -> impl IntoView { (view! { }.into_any(), "Monitor Play"), (view! { }.into_any(), "Monitor Smartphone"), (view! { }.into_any(), "Monitor Speaker"), - (view! { }.into_any(), "Monitor Stop"), ] key=|icon| icon.1 children=move |(icon, name)| { @@ -1470,10 +1472,13 @@ pub fn IconsM2() -> impl IntoView { view! { }.into_any(), "Monitor Stop"), (view! { }.into_any(), "Monitor Up"), (view! { }.into_any(), "Monitor X"), (view! { }.into_any(), "Moon"), (view! { }.into_any(), "Moon Star"), + (view! { }.into_any(), "Mop"), + (view! { }.into_any(), "Mop Sparkles"), (view! { }.into_any(), "Mosque"), (view! { }.into_any(), "Motorbike"), (view! { }.into_any(), "Mountain"), @@ -2019,6 +2024,7 @@ pub fn IconsS2() -> impl IntoView { (view! { }.into_any(), "Square Dashed Mouse Pointer"), (view! { }.into_any(), "Square Dashed Text"), (view! { }.into_any(), "Square Dashed Top Solid"), + (view! { }.into_any(), "Square Dimensions"), (view! { }.into_any(), "Square Divide"), (view! { }.into_any(), "Square Dot"), (view! { }.into_any(), "Square Equal"), @@ -2053,7 +2059,6 @@ pub fn IconsS2() -> impl IntoView { (view! { }.into_any(), "Square Stop"), (view! { }.into_any(), "Square Terminal"), (view! { }.into_any(), "Square Text"), - (view! { }.into_any(), "Square User"), ] key=|icon| icon.1 children=move |(icon, name)| { @@ -2071,6 +2076,7 @@ pub fn IconsS3() -> impl IntoView { view! { }.into_any(), "Square User"), (view! { }.into_any(), "Square User Round"), (view! { }.into_any(), "Square X"), (view! { }.into_any(), "Squares Exclude"), @@ -2285,6 +2291,7 @@ pub fn IconsU1() -> impl IntoView { (view! { }.into_any(), "Unplug"), (view! { }.into_any(), "Upload"), (view! { }.into_any(), "Usb"), + (view! { }.into_any(), "Usb C Port"), (view! { }.into_any(), "User"), (view! { }.into_any(), "User Check"), (view! { }.into_any(), "User Cog"), diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs index 495ba5c2..ef46f8b6 100644 --- a/book-examples/yew/src/icons.rs +++ b/book-examples/yew/src/icons.rs @@ -187,6 +187,7 @@ pub fn IconsA() -> Html { (html! { }, "At Sign"), (html! { }, "Atom"), (html! { }, "Audio Lines"), + (html! { }, "Audio Lines Off"), (html! { }, "Audio Lines X"), (html! { }, "Audio Waveform"), (html! { }, "Award"), @@ -1237,6 +1238,7 @@ pub fn IconsL() -> Html { (html! { }, "List Checks"), (html! { }, "List Chevrons Down Up"), (html! { }, "List Chevrons Up Down"), + (html! { }, "List Clock"), (html! { }, "List Collapse"), (html! { }, "List End"), (html! { }, "List Filter"), @@ -1369,6 +1371,7 @@ pub fn IconsM() -> Html { (html! { }, "Microchip"), (html! { }, "Microscope"), (html! { }, "Microwave"), + (html! { }, "Midi Port"), (html! { }, "Milestone"), (html! { }, "Milk"), (html! { }, "Milk Off"), @@ -1393,6 +1396,8 @@ pub fn IconsM() -> Html { (html! { }, "Monitor X"), (html! { }, "Moon"), (html! { }, "Moon Star"), + (html! { }, "Mop"), + (html! { }, "Mop Sparkles"), (html! { }, "Mosque"), (html! { }, "Motorbike"), (html! { }, "Mountain"), @@ -1934,6 +1939,7 @@ pub fn IconsS() -> Html { html! { }, "Square Dashed Top Solid", ), + (html! { }, "Square Dimensions"), (html! { }, "Square Divide"), (html! { }, "Square Dot"), (html! { }, "Square Equal"), @@ -2169,6 +2175,7 @@ pub fn IconsU() -> Html { (html! { }, "Unplug"), (html! { }, "Upload"), (html! { }, "Usb"), + (html! { }, "Usb C Port"), (html! { }, "User"), (html! { }, "User Check"), (html! { }, "User Cog"), diff --git a/packages/dioxus/src/audio_lines_off.rs b/packages/dioxus/src/audio_lines_off.rs new file mode 100644 index 00000000..f2bd4826 --- /dev/null +++ b/packages/dioxus/src/audio_lines_off.rs @@ -0,0 +1,48 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct AudioLinesOffProps { + #[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 AudioLinesOff(props: AudioLinesOffProps) -> 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 10v11" } + path { "d": "M10 3v1.35" } + path { "d": "M14 14v1" } + path { "d": "M14 8v.35" } + path { "d": "M18 5v7.35" } + path { "d": "M2 10v3" } + path { "d": "m2 2 20 20" } + path { "d": "M22 10v3" } + path { "d": "M6 6v11" } + } + } +} diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs index 8a906854..bb401d02 100644 --- a/packages/dioxus/src/lib.rs +++ b/packages/dioxus/src/lib.rs @@ -237,6 +237,8 @@ mod atom; #[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_lines; #[cfg(any(feature = "multimedia", feature = "communication"))] +mod audio_lines_off; +#[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_lines_x; #[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_waveform; @@ -2251,6 +2253,8 @@ mod list_checks; mod list_chevrons_down_up; #[cfg(any(feature = "text", feature = "arrows"))] mod list_chevrons_up_down; +#[cfg(any(feature = "text", feature = "time", feature = "notifications"))] +mod list_clock; #[cfg(feature = "text")] mod list_collapse; #[cfg(any(feature = "multimedia", feature = "text"))] @@ -2502,6 +2506,8 @@ mod microchip; mod microscope; #[cfg(any(feature = "food-beverage", feature = "home"))] mod microwave; +#[cfg(any(feature = "multimedia", feature = "connectivity", feature = "devices"))] +mod midi_port; #[cfg(any( feature = "arrows", feature = "navigation", @@ -2560,6 +2566,10 @@ mod monitor_x; mod moon; #[cfg(any(feature = "accessibility", feature = "weather"))] mod moon_star; +#[cfg(any(feature = "home", feature = "tools"))] +mod mop; +#[cfg(any(feature = "home", feature = "tools", feature = "design"))] +mod mop_sparkles; #[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] mod mosque; #[cfg(feature = "transportation")] @@ -3699,6 +3709,8 @@ mod square_dashed_mouse_pointer; mod square_dashed_text; #[cfg(any(feature = "design", feature = "development", feature = "layout"))] mod square_dashed_top_solid; +#[cfg(any(feature = "design", feature = "layout"))] +mod square_dimensions; #[cfg(feature = "math")] mod square_divide; #[cfg(feature = "development")] @@ -4196,6 +4208,13 @@ mod unplug; mod upload; #[cfg(any(feature = "devices", feature = "multimedia", feature = "home"))] mod usb; +#[cfg(any( + feature = "devices", + feature = "multimedia", + feature = "home", + feature = "gaming" +))] +mod usb_c_port; #[cfg(feature = "account")] mod user; #[cfg(feature = "account")] @@ -4748,6 +4767,8 @@ pub use atom::*; #[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_lines::*; #[cfg(any(feature = "multimedia", feature = "communication"))] +pub use audio_lines_off::*; +#[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_lines_x::*; #[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_waveform::*; @@ -6762,6 +6783,8 @@ pub use list_checks::*; pub use list_chevrons_down_up::*; #[cfg(any(feature = "text", feature = "arrows"))] pub use list_chevrons_up_down::*; +#[cfg(any(feature = "text", feature = "time", feature = "notifications"))] +pub use list_clock::*; #[cfg(feature = "text")] pub use list_collapse::*; #[cfg(any(feature = "multimedia", feature = "text"))] @@ -7013,6 +7036,8 @@ pub use microchip::*; pub use microscope::*; #[cfg(any(feature = "food-beverage", feature = "home"))] pub use microwave::*; +#[cfg(any(feature = "multimedia", feature = "connectivity", feature = "devices"))] +pub use midi_port::*; #[cfg(any( feature = "arrows", feature = "navigation", @@ -7071,6 +7096,10 @@ pub use monitor_x::*; pub use moon::*; #[cfg(any(feature = "accessibility", feature = "weather"))] pub use moon_star::*; +#[cfg(any(feature = "home", feature = "tools"))] +pub use mop::*; +#[cfg(any(feature = "home", feature = "tools", feature = "design"))] +pub use mop_sparkles::*; #[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] pub use mosque::*; #[cfg(feature = "transportation")] @@ -8210,6 +8239,8 @@ pub use square_dashed_mouse_pointer::*; pub use square_dashed_text::*; #[cfg(any(feature = "design", feature = "development", feature = "layout"))] pub use square_dashed_top_solid::*; +#[cfg(any(feature = "design", feature = "layout"))] +pub use square_dimensions::*; #[cfg(feature = "math")] pub use square_divide::*; #[cfg(feature = "development")] @@ -8707,6 +8738,13 @@ pub use unplug::*; pub use upload::*; #[cfg(any(feature = "devices", feature = "multimedia", feature = "home"))] pub use usb::*; +#[cfg(any( + feature = "devices", + feature = "multimedia", + feature = "home", + feature = "gaming" +))] +pub use usb_c_port::*; #[cfg(feature = "account")] pub use user::*; #[cfg(feature = "account")] diff --git a/packages/dioxus/src/list_clock.rs b/packages/dioxus/src/list_clock.rs new file mode 100644 index 00000000..0a0af593 --- /dev/null +++ b/packages/dioxus/src/list_clock.rs @@ -0,0 +1,44 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct ListClockProps { + #[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 ListClock(props: ListClockProps) -> 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 13v2.2l1.6 1" } + path { "d": "M3 12h3.458" } + path { "d": "M3 19h3.832" } + path { "d": "M3 5h18" } + circle { "cx": "16", "cy": "15", "r": "6" } + } + } +} diff --git a/packages/dioxus/src/midi_port.rs b/packages/dioxus/src/midi_port.rs new file mode 100644 index 00000000..56a122a3 --- /dev/null +++ b/packages/dioxus/src/midi_port.rs @@ -0,0 +1,46 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MidiPortProps { + #[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 MidiPort(props: MidiPortProps) -> 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 18h.01" } + path { "d": "M15 2.458V5a1 1 0 01-1 1h-4a1 1 0 01-1-1V2.458" } + path { "d": "M16 16h.01" } + path { "d": "M18 12h.01" } + path { "d": "M6 12h.01" } + path { "d": "M8 16h.01" } + circle { "cx": "12", "cy": "12", "r": "10" } + } + } +} diff --git a/packages/dioxus/src/mop.rs b/packages/dioxus/src/mop.rs new file mode 100644 index 00000000..7be3da77 --- /dev/null +++ b/packages/dioxus/src/mop.rs @@ -0,0 +1,42 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MopProps { + #[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 Mop(props: MopProps) -> 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 22c2.761 0 5-1.79 5-4-4.42 0-4.08-5-8.5-5a1 1 0 100 9za3 3 0 01-3-3" } + path { "d": "M12.5 11.5 22 2" } + path { "d": "m6.98 13.02 2.665-2.664a1.21 1.21 0 011.71 0l2.29 2.288a1.21 1.21 0 010 1.712l-2.088 2.087" } + } + } +} diff --git a/packages/dioxus/src/mop_sparkles.rs b/packages/dioxus/src/mop_sparkles.rs new file mode 100644 index 00000000..c2b856c1 --- /dev/null +++ b/packages/dioxus/src/mop_sparkles.rs @@ -0,0 +1,49 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MopSparklesProps { + #[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 MopSparkles(props: MopSparklesProps) -> 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 22a3 3 0 01-3-3" } + path { "d": "M10 22c2.761 0 5-1.79 5-4-4.42 0-4.08-5-8.5-5a4.501 4.501 0 000 9z" } + path { "d": "M10 3H8" } + path { "d": "M12.5 11.5 22 2" } + path { "d": "M20 13v4" } + path { "d": "M22 15h-4" } + path { "d": "M4 5v4" } + path { "d": "M6 7H2" } + path { "d": "m6.98 13.02 2.665-2.664a1.21 1.21 0 011.71 0l2.29 2.288a1.21 1.21 0 010 1.712l-2.088 2.087" } + path { "d": "M9 2v2" } + } + } +} diff --git a/packages/dioxus/src/square_dimensions.rs b/packages/dioxus/src/square_dimensions.rs new file mode 100644 index 00000000..6fe368a5 --- /dev/null +++ b/packages/dioxus/src/square_dimensions.rs @@ -0,0 +1,48 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct SquareDimensionsProps { + #[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 SquareDimensions(props: SquareDimensionsProps) -> 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", + rect { + "width": "18", + "height": "18", + "x": "3", + "y": "3", + "rx": "2", + } + path { "d": "M12 7H7v5" } + path { "d": "M12 17h5v-5" } + } + } +} diff --git a/packages/dioxus/src/usb_c_port.rs b/packages/dioxus/src/usb_c_port.rs new file mode 100644 index 00000000..40e61488 --- /dev/null +++ b/packages/dioxus/src/usb_c_port.rs @@ -0,0 +1,47 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct UsbCPortProps { + #[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 UsbCPort(props: UsbCPortProps) -> 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": "M6 12h12" } + rect { + "x": "2", + "y": "8", + "width": "20", + "height": "8", + "rx": "4", + } + } + } +} diff --git a/packages/icon-name/src/lib.rs b/packages/icon-name/src/lib.rs index d7da927d..3c735ce8 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; 1769usize] = [ +pub static ICON_NAMES: [&str; 1776usize] = [ "a-arrow-down", "a-arrow-up", "a-large-small", @@ -107,6 +107,7 @@ pub static ICON_NAMES: [&str; 1769usize] = [ "at-sign", "atom", "audio-lines", + "audio-lines-off", "audio-lines-x", "audio-waveform", "award", @@ -930,6 +931,7 @@ pub static ICON_NAMES: [&str; 1769usize] = [ "list-checks", "list-chevrons-down-up", "list-chevrons-up-down", + "list-clock", "list-collapse", "list-end", "list-filter", @@ -1043,6 +1045,7 @@ pub static ICON_NAMES: [&str; 1769usize] = [ "microchip", "microscope", "microwave", + "midi-port", "milestone", "milk", "milk-off", @@ -1067,6 +1070,8 @@ pub static ICON_NAMES: [&str; 1769usize] = [ "monitor-x", "moon", "moon-star", + "mop", + "mop-sparkles", "mosque", "motorbike", "mountain", @@ -1467,6 +1472,7 @@ pub static ICON_NAMES: [&str; 1769usize] = [ "square-dashed-mouse-pointer", "square-dashed-text", "square-dashed-top-solid", + "square-dimensions", "square-divide", "square-dot", "square-equal", @@ -1667,6 +1673,7 @@ pub static ICON_NAMES: [&str; 1769usize] = [ "unplug", "upload", "usb", + "usb-c-port", "user", "user-check", "user-cog", diff --git a/packages/leptos/src/audio_lines_off.rs b/packages/leptos/src/audio_lines_off.rs new file mode 100644 index 00000000..34b6da58 --- /dev/null +++ b/packages/leptos/src/audio_lines_off.rs @@ -0,0 +1,43 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn AudioLinesOff( + #[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/lib.rs b/packages/leptos/src/lib.rs index 2a77e87d..0826b747 100644 --- a/packages/leptos/src/lib.rs +++ b/packages/leptos/src/lib.rs @@ -237,6 +237,8 @@ mod atom; #[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_lines; #[cfg(any(feature = "multimedia", feature = "communication"))] +mod audio_lines_off; +#[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_lines_x; #[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_waveform; @@ -2251,6 +2253,8 @@ mod list_checks; mod list_chevrons_down_up; #[cfg(any(feature = "text", feature = "arrows"))] mod list_chevrons_up_down; +#[cfg(any(feature = "text", feature = "time", feature = "notifications"))] +mod list_clock; #[cfg(feature = "text")] mod list_collapse; #[cfg(any(feature = "multimedia", feature = "text"))] @@ -2502,6 +2506,8 @@ mod microchip; mod microscope; #[cfg(any(feature = "food-beverage", feature = "home"))] mod microwave; +#[cfg(any(feature = "multimedia", feature = "connectivity", feature = "devices"))] +mod midi_port; #[cfg(any( feature = "arrows", feature = "navigation", @@ -2560,6 +2566,10 @@ mod monitor_x; mod moon; #[cfg(any(feature = "accessibility", feature = "weather"))] mod moon_star; +#[cfg(any(feature = "home", feature = "tools"))] +mod mop; +#[cfg(any(feature = "home", feature = "tools", feature = "design"))] +mod mop_sparkles; #[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] mod mosque; #[cfg(feature = "transportation")] @@ -3699,6 +3709,8 @@ mod square_dashed_mouse_pointer; mod square_dashed_text; #[cfg(any(feature = "design", feature = "development", feature = "layout"))] mod square_dashed_top_solid; +#[cfg(any(feature = "design", feature = "layout"))] +mod square_dimensions; #[cfg(feature = "math")] mod square_divide; #[cfg(feature = "development")] @@ -4196,6 +4208,13 @@ mod unplug; mod upload; #[cfg(any(feature = "devices", feature = "multimedia", feature = "home"))] mod usb; +#[cfg(any( + feature = "devices", + feature = "multimedia", + feature = "home", + feature = "gaming" +))] +mod usb_c_port; #[cfg(feature = "account")] mod user; #[cfg(feature = "account")] @@ -4748,6 +4767,8 @@ pub use atom::*; #[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_lines::*; #[cfg(any(feature = "multimedia", feature = "communication"))] +pub use audio_lines_off::*; +#[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_lines_x::*; #[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_waveform::*; @@ -6762,6 +6783,8 @@ pub use list_checks::*; pub use list_chevrons_down_up::*; #[cfg(any(feature = "text", feature = "arrows"))] pub use list_chevrons_up_down::*; +#[cfg(any(feature = "text", feature = "time", feature = "notifications"))] +pub use list_clock::*; #[cfg(feature = "text")] pub use list_collapse::*; #[cfg(any(feature = "multimedia", feature = "text"))] @@ -7013,6 +7036,8 @@ pub use microchip::*; pub use microscope::*; #[cfg(any(feature = "food-beverage", feature = "home"))] pub use microwave::*; +#[cfg(any(feature = "multimedia", feature = "connectivity", feature = "devices"))] +pub use midi_port::*; #[cfg(any( feature = "arrows", feature = "navigation", @@ -7071,6 +7096,10 @@ pub use monitor_x::*; pub use moon::*; #[cfg(any(feature = "accessibility", feature = "weather"))] pub use moon_star::*; +#[cfg(any(feature = "home", feature = "tools"))] +pub use mop::*; +#[cfg(any(feature = "home", feature = "tools", feature = "design"))] +pub use mop_sparkles::*; #[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] pub use mosque::*; #[cfg(feature = "transportation")] @@ -8210,6 +8239,8 @@ pub use square_dashed_mouse_pointer::*; pub use square_dashed_text::*; #[cfg(any(feature = "design", feature = "development", feature = "layout"))] pub use square_dashed_top_solid::*; +#[cfg(any(feature = "design", feature = "layout"))] +pub use square_dimensions::*; #[cfg(feature = "math")] pub use square_divide::*; #[cfg(feature = "development")] @@ -8707,6 +8738,13 @@ pub use unplug::*; pub use upload::*; #[cfg(any(feature = "devices", feature = "multimedia", feature = "home"))] pub use usb::*; +#[cfg(any( + feature = "devices", + feature = "multimedia", + feature = "home", + feature = "gaming" +))] +pub use usb_c_port::*; #[cfg(feature = "account")] pub use user::*; #[cfg(feature = "account")] diff --git a/packages/leptos/src/list_clock.rs b/packages/leptos/src/list_clock.rs new file mode 100644 index 00000000..52d5a220 --- /dev/null +++ b/packages/leptos/src/list_clock.rs @@ -0,0 +1,39 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn ListClock( + #[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/midi_port.rs b/packages/leptos/src/midi_port.rs new file mode 100644 index 00000000..9a31087f --- /dev/null +++ b/packages/leptos/src/midi_port.rs @@ -0,0 +1,41 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn MidiPort( + #[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/mop.rs b/packages/leptos/src/mop.rs new file mode 100644 index 00000000..059c8ab0 --- /dev/null +++ b/packages/leptos/src/mop.rs @@ -0,0 +1,37 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn Mop( + #[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/mop_sparkles.rs b/packages/leptos/src/mop_sparkles.rs new file mode 100644 index 00000000..7700b72f --- /dev/null +++ b/packages/leptos/src/mop_sparkles.rs @@ -0,0 +1,44 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn MopSparkles( + #[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/square_dimensions.rs b/packages/leptos/src/square_dimensions.rs new file mode 100644 index 00000000..1f4c437d --- /dev/null +++ b/packages/leptos/src/square_dimensions.rs @@ -0,0 +1,37 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn SquareDimensions( + #[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/usb_c_port.rs b/packages/leptos/src/usb_c_port.rs new file mode 100644 index 00000000..7987f506 --- /dev/null +++ b/packages/leptos/src/usb_c_port.rs @@ -0,0 +1,36 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn UsbCPort( + #[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/audio_lines_off.rs b/packages/yew/src/audio_lines_off.rs new file mode 100644 index 00000000..bdad1afe --- /dev/null +++ b/packages/yew/src/audio_lines_off.rs @@ -0,0 +1,55 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct AudioLinesOffProps { + #[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 AudioLinesOff(props: &AudioLinesOffProps) -> 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 1e231926..5fe6de52 100644 --- a/packages/yew/src/lib.rs +++ b/packages/yew/src/lib.rs @@ -239,6 +239,8 @@ mod atom; #[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_lines; #[cfg(any(feature = "multimedia", feature = "communication"))] +mod audio_lines_off; +#[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_lines_x; #[cfg(any(feature = "multimedia", feature = "communication"))] mod audio_waveform; @@ -2253,6 +2255,8 @@ mod list_checks; mod list_chevrons_down_up; #[cfg(any(feature = "text", feature = "arrows"))] mod list_chevrons_up_down; +#[cfg(any(feature = "text", feature = "time", feature = "notifications"))] +mod list_clock; #[cfg(feature = "text")] mod list_collapse; #[cfg(any(feature = "multimedia", feature = "text"))] @@ -2504,6 +2508,8 @@ mod microchip; mod microscope; #[cfg(any(feature = "food-beverage", feature = "home"))] mod microwave; +#[cfg(any(feature = "multimedia", feature = "connectivity", feature = "devices"))] +mod midi_port; #[cfg(any( feature = "arrows", feature = "navigation", @@ -2562,6 +2568,10 @@ mod monitor_x; mod moon; #[cfg(any(feature = "accessibility", feature = "weather"))] mod moon_star; +#[cfg(any(feature = "home", feature = "tools"))] +mod mop; +#[cfg(any(feature = "home", feature = "tools", feature = "design"))] +mod mop_sparkles; #[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] mod mosque; #[cfg(feature = "transportation")] @@ -3701,6 +3711,8 @@ mod square_dashed_mouse_pointer; mod square_dashed_text; #[cfg(any(feature = "design", feature = "development", feature = "layout"))] mod square_dashed_top_solid; +#[cfg(any(feature = "design", feature = "layout"))] +mod square_dimensions; #[cfg(feature = "math")] mod square_divide; #[cfg(feature = "development")] @@ -4198,6 +4210,13 @@ mod unplug; mod upload; #[cfg(any(feature = "devices", feature = "multimedia", feature = "home"))] mod usb; +#[cfg(any( + feature = "devices", + feature = "multimedia", + feature = "home", + feature = "gaming" +))] +mod usb_c_port; #[cfg(feature = "account")] mod user; #[cfg(feature = "account")] @@ -4750,6 +4769,8 @@ pub use atom::*; #[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_lines::*; #[cfg(any(feature = "multimedia", feature = "communication"))] +pub use audio_lines_off::*; +#[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_lines_x::*; #[cfg(any(feature = "multimedia", feature = "communication"))] pub use audio_waveform::*; @@ -6764,6 +6785,8 @@ pub use list_checks::*; pub use list_chevrons_down_up::*; #[cfg(any(feature = "text", feature = "arrows"))] pub use list_chevrons_up_down::*; +#[cfg(any(feature = "text", feature = "time", feature = "notifications"))] +pub use list_clock::*; #[cfg(feature = "text")] pub use list_collapse::*; #[cfg(any(feature = "multimedia", feature = "text"))] @@ -7015,6 +7038,8 @@ pub use microchip::*; pub use microscope::*; #[cfg(any(feature = "food-beverage", feature = "home"))] pub use microwave::*; +#[cfg(any(feature = "multimedia", feature = "connectivity", feature = "devices"))] +pub use midi_port::*; #[cfg(any( feature = "arrows", feature = "navigation", @@ -7073,6 +7098,10 @@ pub use monitor_x::*; pub use moon::*; #[cfg(any(feature = "accessibility", feature = "weather"))] pub use moon_star::*; +#[cfg(any(feature = "home", feature = "tools"))] +pub use mop::*; +#[cfg(any(feature = "home", feature = "tools", feature = "design"))] +pub use mop_sparkles::*; #[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] pub use mosque::*; #[cfg(feature = "transportation")] @@ -8212,6 +8241,8 @@ pub use square_dashed_mouse_pointer::*; pub use square_dashed_text::*; #[cfg(any(feature = "design", feature = "development", feature = "layout"))] pub use square_dashed_top_solid::*; +#[cfg(any(feature = "design", feature = "layout"))] +pub use square_dimensions::*; #[cfg(feature = "math")] pub use square_divide::*; #[cfg(feature = "development")] @@ -8709,6 +8740,13 @@ pub use unplug::*; pub use upload::*; #[cfg(any(feature = "devices", feature = "multimedia", feature = "home"))] pub use usb::*; +#[cfg(any( + feature = "devices", + feature = "multimedia", + feature = "home", + feature = "gaming" +))] +pub use usb_c_port::*; #[cfg(feature = "account")] pub use user::*; #[cfg(feature = "account")] diff --git a/packages/yew/src/list_clock.rs b/packages/yew/src/list_clock.rs new file mode 100644 index 00000000..c57bb01b --- /dev/null +++ b/packages/yew/src/list_clock.rs @@ -0,0 +1,51 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct ListClockProps { + #[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 ListClock(props: &ListClockProps) -> 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/midi_port.rs b/packages/yew/src/midi_port.rs new file mode 100644 index 00000000..0b9dae05 --- /dev/null +++ b/packages/yew/src/midi_port.rs @@ -0,0 +1,53 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MidiPortProps { + #[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 MidiPort(props: &MidiPortProps) -> 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/mop.rs b/packages/yew/src/mop.rs new file mode 100644 index 00000000..2e20bc06 --- /dev/null +++ b/packages/yew/src/mop.rs @@ -0,0 +1,51 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MopProps { + #[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 Mop(props: &MopProps) -> 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/mop_sparkles.rs b/packages/yew/src/mop_sparkles.rs new file mode 100644 index 00000000..014473f9 --- /dev/null +++ b/packages/yew/src/mop_sparkles.rs @@ -0,0 +1,58 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MopSparklesProps { + #[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 MopSparkles(props: &MopSparklesProps) -> 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/square_dimensions.rs b/packages/yew/src/square_dimensions.rs new file mode 100644 index 00000000..80cfcee8 --- /dev/null +++ b/packages/yew/src/square_dimensions.rs @@ -0,0 +1,49 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct SquareDimensionsProps { + #[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 SquareDimensions(props: &SquareDimensionsProps) -> 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/usb_c_port.rs b/packages/yew/src/usb_c_port.rs new file mode 100644 index 00000000..65378001 --- /dev/null +++ b/packages/yew/src/usb_c_port.rs @@ -0,0 +1,48 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct UsbCPortProps { + #[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 UsbCPort(props: &UsbCPortProps) -> 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 6a50bf5a..ae1b2327 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.32.0"; +pub const UPSTREAM_GIT_REF: &str = "1.33.0"; pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";