From 343b0933bb1c65dd1c3433fb116c893ef385095c Mon Sep 17 00:00:00 2001 From: "rust-for-web[bot]" <191031261+rust-for-web[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 16:59:37 +0000 Subject: [PATCH] feat: update to upstream v1.27.0 --- book-examples/dioxus/src/icons.rs | 138 ++++++++++++------ book-examples/leptos/src/icons.rs | 23 ++- book-examples/yew/src/icons.rs | 11 +- packages/dioxus/src/barrel.rs | 10 +- packages/dioxus/src/feather.rs | 4 +- packages/dioxus/src/layout_freeform.rs | 60 ++++++++ packages/dioxus/src/lib.rs | 78 ++++++++-- packages/dioxus/src/mic_audio_lines.rs | 54 +++++++ packages/dioxus/src/mic_signal.rs | 52 +++++++ packages/dioxus/src/mosque.rs | 45 ++++++ packages/dioxus/src/rotate_ccw_clock.rs | 42 ++++++ packages/dioxus/src/rotate_cw_fading_clock.rs | 49 +++++++ packages/dioxus/src/scan_square.rs | 50 +++++++ .../src/square_bottom_dashed_scissors.rs | 60 +------- packages/dioxus/src/square_off.rs | 42 ++++++ packages/dioxus/src/square_scissors.rs | 29 +--- packages/dioxus/src/toolbox.rs | 4 +- packages/dioxus/src/trophy.rs | 8 +- packages/dioxus/src/user_shield.rs | 42 ++++++ packages/dioxus/src/zap.rs | 2 +- packages/dioxus/src/zap_off.rs | 6 +- packages/icon-name/src/lib.rs | 13 +- packages/leptos/src/barrel.rs | 10 +- packages/leptos/src/feather.rs | 4 +- packages/leptos/src/layout_freeform.rs | 37 +++++ packages/leptos/src/lib.rs | 78 ++++++++-- packages/leptos/src/mic_audio_lines.rs | 43 ++++++ packages/leptos/src/mic_signal.rs | 41 ++++++ packages/leptos/src/mosque.rs | 40 +++++ packages/leptos/src/rotate_ccw_clock.rs | 37 +++++ packages/leptos/src/rotate_cw_fading_clock.rs | 44 ++++++ packages/leptos/src/scan_square.rs | 39 +++++ .../src/square_bottom_dashed_scissors.rs | 20 +-- packages/leptos/src/square_off.rs | 37 +++++ packages/leptos/src/square_scissors.rs | 10 +- packages/leptos/src/toolbox.rs | 4 +- packages/leptos/src/trophy.rs | 8 +- packages/leptos/src/user_shield.rs | 37 +++++ packages/leptos/src/zap.rs | 2 +- packages/leptos/src/zap_off.rs | 6 +- packages/yew/src/barrel.rs | 10 +- packages/yew/src/feather.rs | 4 +- packages/yew/src/layout_freeform.rs | 49 +++++++ packages/yew/src/lib.rs | 78 ++++++++-- packages/yew/src/mic_audio_lines.rs | 55 +++++++ packages/yew/src/mic_signal.rs | 53 +++++++ packages/yew/src/mosque.rs | 54 +++++++ packages/yew/src/rotate_ccw_clock.rs | 49 +++++++ packages/yew/src/rotate_cw_fading_clock.rs | 56 +++++++ packages/yew/src/scan_square.rs | 51 +++++++ .../yew/src/square_bottom_dashed_scissors.rs | 20 +-- packages/yew/src/square_off.rs | 49 +++++++ packages/yew/src/square_scissors.rs | 10 +- packages/yew/src/toolbox.rs | 4 +- packages/yew/src/trophy.rs | 8 +- packages/yew/src/user_shield.rs | 51 +++++++ packages/yew/src/zap.rs | 2 +- packages/yew/src/zap_off.rs | 8 +- scripts/src/lib.rs | 2 +- 59 files changed, 1677 insertions(+), 255 deletions(-) create mode 100644 packages/dioxus/src/layout_freeform.rs create mode 100644 packages/dioxus/src/mic_audio_lines.rs create mode 100644 packages/dioxus/src/mic_signal.rs create mode 100644 packages/dioxus/src/mosque.rs create mode 100644 packages/dioxus/src/rotate_ccw_clock.rs create mode 100644 packages/dioxus/src/rotate_cw_fading_clock.rs create mode 100644 packages/dioxus/src/scan_square.rs create mode 100644 packages/dioxus/src/square_off.rs create mode 100644 packages/dioxus/src/user_shield.rs create mode 100644 packages/leptos/src/layout_freeform.rs create mode 100644 packages/leptos/src/mic_audio_lines.rs create mode 100644 packages/leptos/src/mic_signal.rs create mode 100644 packages/leptos/src/mosque.rs create mode 100644 packages/leptos/src/rotate_ccw_clock.rs create mode 100644 packages/leptos/src/rotate_cw_fading_clock.rs create mode 100644 packages/leptos/src/scan_square.rs create mode 100644 packages/leptos/src/square_off.rs create mode 100644 packages/leptos/src/user_shield.rs create mode 100644 packages/yew/src/layout_freeform.rs create mode 100644 packages/yew/src/mic_audio_lines.rs create mode 100644 packages/yew/src/mic_signal.rs create mode 100644 packages/yew/src/mosque.rs create mode 100644 packages/yew/src/rotate_ccw_clock.rs create mode 100644 packages/yew/src/rotate_cw_fading_clock.rs create mode 100644 packages/yew/src/scan_square.rs create mode 100644 packages/yew/src/square_off.rs create mode 100644 packages/yew/src/user_shield.rs diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs index 4859a2a2..0c4ad390 100644 --- a/book-examples/dioxus/src/icons.rs +++ b/book-examples/dioxus/src/icons.rs @@ -5151,12 +5151,6 @@ pub fn IconsH1() -> Element { }, "Highlighter", ), - ( - rsx! { - History {} - }, - "History", - ), ( rsx! { Hop {} @@ -5589,6 +5583,12 @@ pub fn IconsL1() -> Element { }, "Layout Dashboard", ), + ( + rsx! { + LayoutFreeform {} + }, + "Layout Freeform", + ), ( rsx! { LayoutGrid {} @@ -6402,12 +6402,24 @@ pub fn IconsM1() -> Element { }, "Mic", ), + ( + rsx! { + MicAudioLines {} + }, + "Mic Audio Lines", + ), ( rsx! { MicOff {} }, "Mic Off", ), + ( + rsx! { + MicSignal {} + }, + "Mic Signal", + ), ( rsx! { MicVocal {} @@ -6552,18 +6564,6 @@ pub fn IconsM1() -> Element { }, "Monitor Stop", ), - ( - rsx! { - MonitorUp {} - }, - "Monitor Up", - ), - ( - rsx! { - MonitorX {} - }, - "Monitor X", - ), ]; rsx! { for (icon, name) in icons { @@ -6579,6 +6579,18 @@ pub fn IconsM1() -> Element { #[component] pub fn IconsM2() -> Element { let icons = [ + ( + rsx! { + MonitorUp {} + }, + "Monitor Up", + ), + ( + rsx! { + MonitorX {} + }, + "Monitor X", + ), ( rsx! { Moon {} @@ -6591,6 +6603,12 @@ pub fn IconsM2() -> Element { }, "Moon Star", ), + ( + rsx! { + Mosque {} + }, + "Mosque", + ), ( rsx! { Motorbike {} @@ -7506,12 +7524,6 @@ pub fn IconsP1() -> Element { }, "Pocket Knife", ), - ( - rsx! { - Podcast {} - }, - "Podcast", - ), ( rsx! { Podium {} @@ -7566,6 +7578,12 @@ pub fn IconsP1() -> Element { }, "Presentation", ), + ( + rsx! { + Printer {} + }, + "Printer", + ), ]; rsx! { for (icon, name) in icons { @@ -7581,12 +7599,6 @@ pub fn IconsP1() -> Element { #[component] pub fn IconsP2() -> Element { let icons = [ - ( - rsx! { - Printer {} - }, - "Printer", - ), ( rsx! { PrinterCheck {} @@ -7995,6 +8007,12 @@ pub fn IconsR1() -> Element { }, "Rotate Ccw", ), + ( + rsx! { + RotateCcwClock {} + }, + "Rotate Ccw Clock", + ), ( rsx! { RotateCcwKey {} @@ -8013,6 +8031,12 @@ pub fn IconsR1() -> Element { }, "Rotate Cw", ), + ( + rsx! { + RotateCwFadingClock {} + }, + "Rotate Cw Fading Clock", + ), ( rsx! { RotateCwSquare {} @@ -8238,6 +8262,12 @@ pub fn IconsS1() -> Element { }, "Scan Search", ), + ( + rsx! { + ScanSquare {} + }, + "Scan Square", + ), ( rsx! { ScanText {} @@ -8688,12 +8718,6 @@ pub fn IconsS1() -> Element { }, "Skull", ), - ( - rsx! { - Slash {} - }, - "Slash", - ), ]; rsx! { for (icon, name) in icons { @@ -8709,6 +8733,12 @@ pub fn IconsS1() -> Element { #[component] pub fn IconsS2() -> Element { let icons = [ + ( + rsx! { + Slash {} + }, + "Slash", + ), ( rsx! { Slice {} @@ -9159,6 +9189,12 @@ pub fn IconsS2() -> Element { }, "Square Mouse Pointer", ), + ( + rsx! { + SquareOff {} + }, + "Square Off", + ), ( rsx! { SquareParking {} @@ -9297,18 +9333,6 @@ pub fn IconsS2() -> Element { }, "Square User", ), - ( - rsx! { - SquareUserRound {} - }, - "Square User Round", - ), - ( - rsx! { - SquareX {} - }, - "Square X", - ), ]; rsx! { for (icon, name) in icons { @@ -9324,6 +9348,18 @@ pub fn IconsS2() -> Element { #[component] pub fn IconsS3() -> Element { let icons = [ + ( + rsx! { + SquareUserRound {} + }, + "Square User Round", + ), + ( + rsx! { + SquareX {} + }, + "Square X", + ), ( rsx! { SquaresExclude {} @@ -10459,6 +10495,12 @@ pub fn IconsU1() -> Element { }, "User Search", ), + ( + rsx! { + UserShield {} + }, + "User Shield", + ), ( rsx! { UserStar {} diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs index faf14689..ab1546a3 100644 --- a/book-examples/leptos/src/icons.rs +++ b/book-examples/leptos/src/icons.rs @@ -1129,7 +1129,6 @@ pub fn IconsH1() -> impl IntoView { (view! { }.into_any(), "Helicopter"), (view! { }.into_any(), "Hexagon"), (view! { }.into_any(), "Highlighter"), - (view! { }.into_any(), "History"), (view! { }.into_any(), "Hop"), (view! { }.into_any(), "Hop Off"), (view! { }.into_any(), "Hospital"), @@ -1260,6 +1259,7 @@ pub fn IconsL1() -> impl IntoView { (view! { }.into_any(), "Layers Minus"), (view! { }.into_any(), "Layers Plus"), (view! { }.into_any(), "Layout Dashboard"), + (view! { }.into_any(), "Layout Freeform"), (view! { }.into_any(), "Layout Grid"), (view! { }.into_any(), "Layout List"), (view! { }.into_any(), "Layout Panel Left"), @@ -1413,7 +1413,9 @@ pub fn IconsM1() -> impl IntoView { (view! { }.into_any(), "Messages Square"), (view! { }.into_any(), "Metronome"), (view! { }.into_any(), "Mic"), + (view! { }.into_any(), "Mic Audio Lines"), (view! { }.into_any(), "Mic Off"), + (view! { }.into_any(), "Mic Signal"), (view! { }.into_any(), "Mic Vocal"), (view! { }.into_any(), "Microchip"), (view! { }.into_any(), "Microscope"), @@ -1438,8 +1440,6 @@ pub fn IconsM1() -> impl IntoView { (view! { }.into_any(), "Monitor Smartphone"), (view! { }.into_any(), "Monitor Speaker"), (view! { }.into_any(), "Monitor Stop"), - (view! { }.into_any(), "Monitor Up"), - (view! { }.into_any(), "Monitor X"), ] key=|icon| icon.1 children=move |(icon, name)| { @@ -1457,8 +1457,11 @@ pub fn IconsM2() -> impl IntoView { view! { }.into_any(), "Monitor Up"), + (view! { }.into_any(), "Monitor X"), (view! { }.into_any(), "Moon"), (view! { }.into_any(), "Moon Star"), + (view! { }.into_any(), "Mosque"), (view! { }.into_any(), "Motorbike"), (view! { }.into_any(), "Mountain"), (view! { }.into_any(), "Mountain Snow"), @@ -1655,7 +1658,6 @@ pub fn IconsP1() -> impl IntoView { (view! { }.into_any(), "Plug Zap"), (view! { }.into_any(), "Plus"), (view! { }.into_any(), "Pocket Knife"), - (view! { }.into_any(), "Podcast"), (view! { }.into_any(), "Podium"), (view! { }.into_any(), "Pointer"), (view! { }.into_any(), "Pointer Off"), @@ -1665,6 +1667,7 @@ pub fn IconsP1() -> impl IntoView { (view! { }.into_any(), "Power"), (view! { }.into_any(), "Power Off"), (view! { }.into_any(), "Presentation"), + (view! { }.into_any(), "Printer"), ] key=|icon| icon.1 children=move |(icon, name)| { @@ -1682,7 +1685,6 @@ pub fn IconsP2() -> impl IntoView { view! { }.into_any(), "Printer"), (view! { }.into_any(), "Printer Check"), (view! { }.into_any(), "Printer X"), (view! { }.into_any(), "Projector"), @@ -1780,9 +1782,11 @@ pub fn IconsR1() -> impl IntoView { (view! { }.into_any(), "Rose"), (view! { }.into_any(), "Rotate 3 D"), (view! { }.into_any(), "Rotate Ccw"), + (view! { }.into_any(), "Rotate Ccw Clock"), (view! { }.into_any(), "Rotate Ccw Key"), (view! { }.into_any(), "Rotate Ccw Square"), (view! { }.into_any(), "Rotate Cw"), + (view! { }.into_any(), "Rotate Cw Fading Clock"), (view! { }.into_any(), "Rotate Cw Square"), (view! { }.into_any(), "Route"), (view! { }.into_any(), "Route Off"), @@ -1835,6 +1839,7 @@ pub fn IconsS1() -> impl IntoView { (view! { }.into_any(), "Scan Line"), (view! { }.into_any(), "Scan Qr Code"), (view! { }.into_any(), "Scan Search"), + (view! { }.into_any(), "Scan Square"), (view! { }.into_any(), "Scan Text"), (view! { }.into_any(), "School"), (view! { }.into_any(), "Scissors"), @@ -1910,7 +1915,6 @@ pub fn IconsS1() -> impl IntoView { (view! { }.into_any(), "Skip Back"), (view! { }.into_any(), "Skip Forward"), (view! { }.into_any(), "Skull"), - (view! { }.into_any(), "Slash"), ] key=|icon| icon.1 children=move |(icon, name)| { @@ -1928,6 +1932,7 @@ pub fn IconsS2() -> impl IntoView { view! { }.into_any(), "Slash"), (view! { }.into_any(), "Slice"), (view! { }.into_any(), "Sliders Horizontal"), (view! { }.into_any(), "Sliders Vertical"), @@ -2012,6 +2017,7 @@ pub fn IconsS2() -> impl IntoView { (view! { }.into_any(), "Square Menu"), (view! { }.into_any(), "Square Minus"), (view! { }.into_any(), "Square Mouse Pointer"), + (view! { }.into_any(), "Square Off"), (view! { }.into_any(), "Square Parking"), (view! { }.into_any(), "Square Parking Off"), (view! { }.into_any(), "Square Pause"), @@ -2035,8 +2041,6 @@ pub fn IconsS2() -> impl IntoView { (view! { }.into_any(), "Square Stop"), (view! { }.into_any(), "Square Terminal"), (view! { }.into_any(), "Square User"), - (view! { }.into_any(), "Square User Round"), - (view! { }.into_any(), "Square X"), ] key=|icon| icon.1 children=move |(icon, name)| { @@ -2054,6 +2058,8 @@ pub fn IconsS3() -> impl IntoView { view! { }.into_any(), "Square User Round"), + (view! { }.into_any(), "Square X"), (view! { }.into_any(), "Squares Exclude"), (view! { }.into_any(), "Squares Intersect"), (view! { }.into_any(), "Squares Subtract"), @@ -2285,6 +2291,7 @@ pub fn IconsU1() -> impl IntoView { (view! { }.into_any(), "User Round Search"), (view! { }.into_any(), "User Round X"), (view! { }.into_any(), "User Search"), + (view! { }.into_any(), "User Shield"), (view! { }.into_any(), "User Star"), (view! { }.into_any(), "User X"), (view! { }.into_any(), "Users"), diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs index 20802ccc..17af9502 100644 --- a/book-examples/yew/src/icons.rs +++ b/book-examples/yew/src/icons.rs @@ -1064,7 +1064,6 @@ pub fn IconsH() -> Html { (html! { }, "Helicopter"), (html! { }, "Hexagon"), (html! { }, "Highlighter"), - (html! { }, "History"), (html! { }, "Hop"), (html! { }, "Hop Off"), (html! { }, "Hospital"), @@ -1191,6 +1190,7 @@ pub fn IconsL() -> Html { (html! { }, "Layers Minus"), (html! { }, "Layers Plus"), (html! { }, "Layout Dashboard"), + (html! { }, "Layout Freeform"), (html! { }, "Layout Grid"), (html! { }, "Layout List"), (html! { }, "Layout Panel Left"), @@ -1346,7 +1346,9 @@ pub fn IconsM() -> Html { (html! { }, "Messages Square"), (html! { }, "Metronome"), (html! { }, "Mic"), + (html! { }, "Mic Audio Lines"), (html! { }, "Mic Off"), + (html! { }, "Mic Signal"), (html! { }, "Mic Vocal"), (html! { }, "Microchip"), (html! { }, "Microscope"), @@ -1375,6 +1377,7 @@ pub fn IconsM() -> Html { (html! { }, "Monitor X"), (html! { }, "Moon"), (html! { }, "Moon Star"), + (html! { }, "Mosque"), (html! { }, "Motorbike"), (html! { }, "Mountain"), (html! { }, "Mountain Snow"), @@ -1574,7 +1577,6 @@ pub fn IconsP() -> Html { (html! { }, "Plug Zap"), (html! { }, "Plus"), (html! { }, "Pocket Knife"), - (html! { }, "Podcast"), (html! { }, "Podium"), (html! { }, "Pointer"), (html! { }, "Pointer Off"), @@ -1680,9 +1682,11 @@ pub fn IconsR() -> Html { (html! { }, "Rose"), (html! { }, "Rotate 3 D"), (html! { }, "Rotate Ccw"), + (html! { }, "Rotate Ccw Clock"), (html! { }, "Rotate Ccw Key"), (html! { }, "Rotate Ccw Square"), (html! { }, "Rotate Cw"), + (html! { }, "Rotate Cw Fading Clock"), (html! { }, "Rotate Cw Square"), (html! { }, "Route"), (html! { }, "Route Off"), @@ -1734,6 +1738,7 @@ pub fn IconsS() -> Html { (html! { }, "Scan Line"), (html! { }, "Scan Qr Code"), (html! { }, "Scan Search"), + (html! { }, "Scan Square"), (html! { }, "Scan Text"), (html! { }, "School"), (html! { }, "Scissors"), @@ -1924,6 +1929,7 @@ pub fn IconsS() -> Html { (html! { }, "Square Menu"), (html! { }, "Square Minus"), (html! { }, "Square Mouse Pointer"), + (html! { }, "Square Off"), (html! { }, "Square Parking"), (html! { }, "Square Parking Off"), (html! { }, "Square Pause"), @@ -2166,6 +2172,7 @@ pub fn IconsU() -> Html { (html! { }, "User Round Search"), (html! { }, "User Round X"), (html! { }, "User Search"), + (html! { }, "User Shield"), (html! { }, "User Star"), (html! { }, "User X"), (html! { }, "Users"), diff --git a/packages/dioxus/src/barrel.rs b/packages/dioxus/src/barrel.rs index 77e826f6..59c6ac16 100644 --- a/packages/dioxus/src/barrel.rs +++ b/packages/dioxus/src/barrel.rs @@ -34,11 +34,11 @@ pub fn Barrel(props: BarrelProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M10 3a41 41 0 0 0 0 18" } - path { "d": "M14 3a41 41 0 0 1 0 18" } - path { "d": "M17 3a2 2 0 0 1 1.68.92 15.25 15.25 0 0 1 0 16.16A2 2 0 0 1 17 21H7a2 2 0 0 1-1.68-.92 15.25 15.25 0 0 1 0-16.16A2 2 0 0 1 7 3z" } - path { "d": "M3.84 17h16.32" } - path { "d": "M3.84 7h16.32" } + path { "d": "M10 3a41 41 0 000 18" } + path { "d": "M14 3a41 41 0 010 18" } + path { "d": "M16.997 21a2 2 0 001.68-.92 15.25 15.25 0 000-16.16 2 2 0 00-1.68-.92h-10a2 2 0 00-1.681.92 15.25 15.25 0 000 16.16 2 2 0 001.681.92z" } + path { "d": "M3.54 16h16.914" } + path { "d": "M3.54 8h16.914" } } } } diff --git a/packages/dioxus/src/feather.rs b/packages/dioxus/src/feather.rs index 01765cca..59d63335 100644 --- a/packages/dioxus/src/feather.rs +++ b/packages/dioxus/src/feather.rs @@ -34,9 +34,9 @@ pub fn Feather(props: FeatherProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z" } + path { "d": "M14.086 18.412A2 2 0 0112.67 19H5v-7.672a2 2 0 01.586-1.414L11.75 3.75a6 6 0 118.49 8.49z" } path { "d": "M16 8 2 22" } - path { "d": "M17.5 15H9" } + path { "d": "M17.488 15H9" } } } } diff --git a/packages/dioxus/src/layout_freeform.rs b/packages/dioxus/src/layout_freeform.rs new file mode 100644 index 00000000..0cbf7ac4 --- /dev/null +++ b/packages/dioxus/src/layout_freeform.rs @@ -0,0 +1,60 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct LayoutFreeformProps { + #[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 LayoutFreeform(props: LayoutFreeformProps) -> 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": "7", + "height": "7", + "x": "3", + "y": "3", + "rx": "1", + } + rect { + "width": "7", + "height": "7", + "x": "14", + "y": "4", + "rx": "1", + } + rect { + "width": "7", + "height": "7", + "x": "4", + "y": "14", + "rx": "1", + } + } + } +} diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs index e718482e..6048e0af 100644 --- a/packages/dioxus/src/lib.rs +++ b/packages/dioxus/src/lib.rs @@ -1408,7 +1408,12 @@ mod factory; mod fan; #[cfg(any(feature = "multimedia", feature = "arrows"))] mod fast_forward; -#[cfg(feature = "gaming")] +#[cfg(any( + feature = "nature", + feature = "animals", + feature = "gaming", + feature = "text" +))] mod feather; #[cfg(any(feature = "home", feature = "buildings"))] mod fence; @@ -1978,8 +1983,6 @@ mod helicopter; mod hexagon; #[cfg(any(feature = "text", feature = "design"))] mod highlighter; -#[cfg(any(feature = "arrows", feature = "time"))] -mod history; #[cfg(feature = "food-beverage")] mod hop; #[cfg(feature = "food-beverage")] @@ -2141,6 +2144,8 @@ mod layers_plus; #[cfg(any(feature = "design", feature = "layout"))] mod layout_dashboard; #[cfg(any(feature = "design", feature = "layout"))] +mod layout_freeform; +#[cfg(any(feature = "design", feature = "layout"))] mod layout_grid; #[cfg(any( feature = "design", @@ -2442,6 +2447,8 @@ mod metronome; feature = "multimedia" ))] mod mic; +#[cfg(any(feature = "devices", feature = "communication", feature = "multimedia"))] +mod mic_audio_lines; #[cfg(any( feature = "devices", feature = "communication", @@ -2449,6 +2456,13 @@ mod mic; feature = "multimedia" ))] mod mic_off; +#[cfg(any( + feature = "devices", + feature = "communication", + feature = "connectivity", + feature = "multimedia" +))] +mod mic_signal; #[cfg(any(feature = "devices", feature = "multimedia"))] mod mic_vocal; #[cfg(feature = "devices")] @@ -2515,6 +2529,8 @@ mod monitor_x; mod moon; #[cfg(any(feature = "accessibility", feature = "weather"))] mod moon_star; +#[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] +mod mosque; #[cfg(feature = "transportation")] mod motorbike; #[cfg(any(feature = "nature", feature = "gaming"))] @@ -2902,8 +2918,6 @@ mod plug_zap; mod plus; #[cfg(feature = "tools")] mod pocket_knife; -#[cfg(any(feature = "multimedia", feature = "social"))] -mod podcast; #[cfg(any(feature = "sports", feature = "gaming"))] mod podium; #[cfg(feature = "cursors")] @@ -3086,6 +3100,8 @@ mod rose; mod rotate_3_d; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] mod rotate_ccw; +#[cfg(any(feature = "arrows", feature = "time"))] +mod rotate_ccw_clock; #[cfg(any(feature = "security", feature = "account"))] mod rotate_ccw_key; #[cfg(any( @@ -3098,6 +3114,8 @@ mod rotate_ccw_key; mod rotate_ccw_square; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] mod rotate_cw; +#[cfg(feature = "time")] +mod rotate_cw_fading_clock; #[cfg(any( feature = "layout", feature = "design", @@ -3211,6 +3229,8 @@ mod scan_qr_code; feature = "accessibility" ))] mod scan_search; +#[cfg(any(feature = "photography", feature = "design", feature = "development"))] +mod scan_square; #[cfg(any(feature = "text", feature = "devices"))] mod scan_text; #[cfg(any(feature = "buildings", feature = "navigation"))] @@ -3692,6 +3712,8 @@ mod square_minus; feature = "tools" ))] mod square_mouse_pointer; +#[cfg(any(feature = "shapes", feature = "design"))] +mod square_off; #[cfg(any(feature = "transportation", feature = "navigation"))] mod square_parking; #[cfg(any(feature = "transportation", feature = "navigation"))] @@ -4186,6 +4208,13 @@ mod user_round_search; mod user_round_x; #[cfg(any(feature = "account", feature = "social"))] mod user_search; +#[cfg(any( + feature = "account", + feature = "security", + feature = "development", + feature = "people" +))] +mod user_shield; #[cfg(feature = "account")] mod user_star; #[cfg(feature = "account")] @@ -5864,7 +5893,12 @@ pub use factory::*; pub use fan::*; #[cfg(any(feature = "multimedia", feature = "arrows"))] pub use fast_forward::*; -#[cfg(feature = "gaming")] +#[cfg(any( + feature = "nature", + feature = "animals", + feature = "gaming", + feature = "text" +))] pub use feather::*; #[cfg(any(feature = "home", feature = "buildings"))] pub use fence::*; @@ -6434,8 +6468,6 @@ pub use helicopter::*; pub use hexagon::*; #[cfg(any(feature = "text", feature = "design"))] pub use highlighter::*; -#[cfg(any(feature = "arrows", feature = "time"))] -pub use history::*; #[cfg(feature = "food-beverage")] pub use hop::*; #[cfg(feature = "food-beverage")] @@ -6597,6 +6629,8 @@ pub use layers_plus::*; #[cfg(any(feature = "design", feature = "layout"))] pub use layout_dashboard::*; #[cfg(any(feature = "design", feature = "layout"))] +pub use layout_freeform::*; +#[cfg(any(feature = "design", feature = "layout"))] pub use layout_grid::*; #[cfg(any( feature = "design", @@ -6898,6 +6932,8 @@ pub use metronome::*; feature = "multimedia" ))] pub use mic::*; +#[cfg(any(feature = "devices", feature = "communication", feature = "multimedia"))] +pub use mic_audio_lines::*; #[cfg(any( feature = "devices", feature = "communication", @@ -6905,6 +6941,13 @@ pub use mic::*; feature = "multimedia" ))] pub use mic_off::*; +#[cfg(any( + feature = "devices", + feature = "communication", + feature = "connectivity", + feature = "multimedia" +))] +pub use mic_signal::*; #[cfg(any(feature = "devices", feature = "multimedia"))] pub use mic_vocal::*; #[cfg(feature = "devices")] @@ -6971,6 +7014,8 @@ pub use monitor_x::*; pub use moon::*; #[cfg(any(feature = "accessibility", feature = "weather"))] pub use moon_star::*; +#[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] +pub use mosque::*; #[cfg(feature = "transportation")] pub use motorbike::*; #[cfg(any(feature = "nature", feature = "gaming"))] @@ -7358,8 +7403,6 @@ pub use plug_zap::*; pub use plus::*; #[cfg(feature = "tools")] pub use pocket_knife::*; -#[cfg(any(feature = "multimedia", feature = "social"))] -pub use podcast::*; #[cfg(any(feature = "sports", feature = "gaming"))] pub use podium::*; #[cfg(feature = "cursors")] @@ -7542,6 +7585,8 @@ pub use rose::*; pub use rotate_3_d::*; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] pub use rotate_ccw::*; +#[cfg(any(feature = "arrows", feature = "time"))] +pub use rotate_ccw_clock::*; #[cfg(any(feature = "security", feature = "account"))] pub use rotate_ccw_key::*; #[cfg(any( @@ -7554,6 +7599,8 @@ pub use rotate_ccw_key::*; pub use rotate_ccw_square::*; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] pub use rotate_cw::*; +#[cfg(feature = "time")] +pub use rotate_cw_fading_clock::*; #[cfg(any( feature = "layout", feature = "design", @@ -7667,6 +7714,8 @@ pub use scan_qr_code::*; feature = "accessibility" ))] pub use scan_search::*; +#[cfg(any(feature = "photography", feature = "design", feature = "development"))] +pub use scan_square::*; #[cfg(any(feature = "text", feature = "devices"))] pub use scan_text::*; #[cfg(any(feature = "buildings", feature = "navigation"))] @@ -8148,6 +8197,8 @@ pub use square_minus::*; feature = "tools" ))] pub use square_mouse_pointer::*; +#[cfg(any(feature = "shapes", feature = "design"))] +pub use square_off::*; #[cfg(any(feature = "transportation", feature = "navigation"))] pub use square_parking::*; #[cfg(any(feature = "transportation", feature = "navigation"))] @@ -8642,6 +8693,13 @@ pub use user_round_search::*; pub use user_round_x::*; #[cfg(any(feature = "account", feature = "social"))] pub use user_search::*; +#[cfg(any( + feature = "account", + feature = "security", + feature = "development", + feature = "people" +))] +pub use user_shield::*; #[cfg(feature = "account")] pub use user_star::*; #[cfg(feature = "account")] diff --git a/packages/dioxus/src/mic_audio_lines.rs b/packages/dioxus/src/mic_audio_lines.rs new file mode 100644 index 00000000..6444601f --- /dev/null +++ b/packages/dioxus/src/mic_audio_lines.rs @@ -0,0 +1,54 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MicAudioLinesProps { + #[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 MicAudioLines(props: MicAudioLinesProps) -> 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 3v2.341" } + path { "d": "M12 17v4" } + path { "d": "M14 5v.341" } + path { "d": "M18 5v13" } + path { "d": "M2 10v3" } + path { "d": "M22 10v3" } + path { "d": "M6 6v11" } + path { "d": "M9 21h6" } + rect { + "width": "4", + "height": "8", + "x": "10", + "y": "9", + "rx": "2", + } + } + } +} diff --git a/packages/dioxus/src/mic_signal.rs b/packages/dioxus/src/mic_signal.rs new file mode 100644 index 00000000..62eed9d6 --- /dev/null +++ b/packages/dioxus/src/mic_signal.rs @@ -0,0 +1,52 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MicSignalProps { + #[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 MicSignal(props: MicSignalProps) -> 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 17v4" } + path { "d": "M18 11a6 6 0 00-3-5.197" } + path { "d": "M2 11a10 10 0 015-8.662" } + path { "d": "M22 11a10 10 0 00-5-8.662" } + path { "d": "M6 11a6 6 0 013-5.197" } + path { "d": "M9 21h6" } + rect { + "x": "10", + "y": "9", + "width": "4", + "height": "8", + "rx": "2", + } + } + } +} diff --git a/packages/dioxus/src/mosque.rs b/packages/dioxus/src/mosque.rs new file mode 100644 index 00000000..8964d55e --- /dev/null +++ b/packages/dioxus/src/mosque.rs @@ -0,0 +1,45 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct MosqueProps { + #[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 Mosque(props: MosqueProps) -> 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.268 2a2 2 0 003.465 2" } + path { "d": "M14 5 L14 8" } + path { "d": "M16 22v-3a2 2 0 00-4 0v3" } + path { "d": "M21 13c-.662-1.497-1.666-2.753-2.9-3.63C16.825 8.47 15.422 8 14 8s-2.826.47-4.1 1.37C8.668 10.248 7.663 11.504 7 13z" } + path { "d": "M3 9h4" } + path { "d": "M7 22V6a5 5 0 00-2-4 5 5 0 00-2 4v14a2 2 0 002 2h14a2 2 0 002-2v-7" } + } + } +} diff --git a/packages/dioxus/src/rotate_ccw_clock.rs b/packages/dioxus/src/rotate_ccw_clock.rs new file mode 100644 index 00000000..c009878d --- /dev/null +++ b/packages/dioxus/src/rotate_ccw_clock.rs @@ -0,0 +1,42 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct RotateCcwClockProps { + #[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 RotateCcwClock(props: RotateCcwClockProps) -> 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": "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" } + path { "d": "M3 3v5h5" } + path { "d": "M12 7v5l4 2" } + } + } +} diff --git a/packages/dioxus/src/rotate_cw_fading_clock.rs b/packages/dioxus/src/rotate_cw_fading_clock.rs new file mode 100644 index 00000000..41cde68e --- /dev/null +++ b/packages/dioxus/src/rotate_cw_fading_clock.rs @@ -0,0 +1,49 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct RotateCwFadingClockProps { + #[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 RotateCwFadingClock(props: RotateCwFadingClockProps) -> 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 3a9.75 9.75 0 0 1 6.74 2.74" } + path { "d": "M18.74 5.74 21 8" } + path { "d": "M21 8V3" } + path { "d": "M7.5 19.794c-6-3.464-6-12.124 0-15.588" } + path { "d": "M7.5 4.206A9 9 0 0 1 12 3" } + path { "d": "M12 7v5l4 2" } + path { "d": "M14 20.775A9 9 0 0 1 12 21" } + path { "d": "M19 17.656a9 9 0 0 1-1.5 1.456" } + path { "d": "M21 12a9 9 0 0 1-.228 2" } + path { "d": "M21 8h-5" } + } + } +} diff --git a/packages/dioxus/src/scan_square.rs b/packages/dioxus/src/scan_square.rs new file mode 100644 index 00000000..17436a8c --- /dev/null +++ b/packages/dioxus/src/scan_square.rs @@ -0,0 +1,50 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct ScanSquareProps { + #[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 ScanSquare(props: ScanSquareProps) -> 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": "M3 7V5a2 2 0 0 1 2-2h2" } + path { "d": "M17 3h2a2 2 0 0 1 2 2v2" } + path { "d": "M21 17v2a2 2 0 0 1-2 2h-2" } + path { "d": "M7 21H5a2 2 0 0 1-2-2v-2" } + rect { + "width": "8", + "height": "8", + "x": "8", + "y": "8", + "rx": "1", + } + } + } +} diff --git a/packages/dioxus/src/square_bottom_dashed_scissors.rs b/packages/dioxus/src/square_bottom_dashed_scissors.rs index 1c4cd701..b92a8d42 100644 --- a/packages/dioxus/src/square_bottom_dashed_scissors.rs +++ b/packages/dioxus/src/square_bottom_dashed_scissors.rs @@ -34,60 +34,14 @@ pub fn SquareBottomDashedScissors(props: SquareBottomDashedScissorsProps) -> Ele "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - line { - "x1": "5", - "y1": "3", - "x2": "19", - "y2": "3", - } - line { - "x1": "3", - "y1": "5", - "x2": "3", - "y2": "19", - } - line { - "x1": "21", - "y1": "5", - "x2": "21", - "y2": "19", - } - line { - "x1": "9", - "y1": "21", - "x2": "10", - "y2": "21", - } - line { - "x1": "14", - "y1": "21", - "x2": "15", - "y2": "21", - } - path { "d": "M 3 5 A2 2 0 0 1 5 3" } - path { "d": "M 19 3 A2 2 0 0 1 21 5" } - path { "d": "M 5 21 A2 2 0 0 1 3 19" } - path { "d": "M 21 19 A2 2 0 0 1 19 21" } - circle { "cx": "8.5", "cy": "8.5", "r": "1.5" } - line { - "x1": "9.56066", - "y1": "9.56066", - "x2": "12", - "y2": "12", - } - line { - "x1": "17", - "y1": "17", - "x2": "14.82", - "y2": "14.82", - } + path { "d": "M14 21h1" } + path { "d": "m17 17-2.18-2.18" } + path { "d": "M5 21a2 2 0 01-2-2V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2" } + path { "d": "M9 21h1" } + path { "d": "M9.56 14.44 17 7" } + path { "d": "M9.56 9.56 12 12" } circle { "cx": "8.5", "cy": "15.5", "r": "1.5" } - line { - "x1": "9.56066", - "y1": "14.43934", - "x2": "17", - "y2": "7", - } + circle { "cx": "8.5", "cy": "8.5", "r": "1.5" } } } } diff --git a/packages/dioxus/src/square_off.rs b/packages/dioxus/src/square_off.rs new file mode 100644 index 00000000..97ed93ef --- /dev/null +++ b/packages/dioxus/src/square_off.rs @@ -0,0 +1,42 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct SquareOffProps { + #[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 SquareOff(props: SquareOffProps) -> 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": "M20.4 20.4a2 2 0 01-1.4.6H5a2 2 0 01-2-2V5a2 2 0 01.59-1.41" } + path { "d": "M21 15.3V5a2 2 0 00-2-2H8.7" } + path { "d": "M22 22 2 2" } + } + } +} diff --git a/packages/dioxus/src/square_scissors.rs b/packages/dioxus/src/square_scissors.rs index 155fe841..80dbb89f 100644 --- a/packages/dioxus/src/square_scissors.rs +++ b/packages/dioxus/src/square_scissors.rs @@ -34,33 +34,18 @@ pub fn SquareScissors(props: SquareScissorsProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", + path { "d": "m17 17-2.18-2.18" } + path { "d": "M9.56 14.44 17 7" } + path { "d": "M9.56 9.56 12 12" } + circle { "cx": "8.5", "cy": "15.5", "r": "1.5" } + circle { "cx": "8.5", "cy": "8.5", "r": "1.5" } rect { - "width": "18", - "height": "18", "x": "3", "y": "3", + "width": "18", + "height": "18", "rx": "2", } - circle { "cx": "8.5", "cy": "8.5", "r": "1.5" } - line { - "x1": "9.56066", - "y1": "9.56066", - "x2": "12", - "y2": "12", - } - line { - "x1": "17", - "y1": "17", - "x2": "14.82", - "y2": "14.82", - } - circle { "cx": "8.5", "cy": "15.5", "r": "1.5" } - line { - "x1": "9.56066", - "y1": "14.43934", - "x2": "17", - "y2": "7", - } } } } diff --git a/packages/dioxus/src/toolbox.rs b/packages/dioxus/src/toolbox.rs index b1544305..a085c449 100644 --- a/packages/dioxus/src/toolbox.rs +++ b/packages/dioxus/src/toolbox.rs @@ -35,8 +35,8 @@ pub fn Toolbox(props: ToolboxProps) -> Element { "stroke-linecap": "round", "stroke-linejoin": "round", path { "d": "M16 12v4" } - path { "d": "M16 6a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 22 12v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 .586-1.414l4-4A2 2 0 0 1 8 6z" } - path { "d": "M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2" } + path { "d": "M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2" } + path { "d": "M17 6a2 2 0 011.414.586l3 3A2 2 0 0122 11v8a2 2 0 01-2 2H4a2 2 0 01-2-2v-8a2 2 0 01.586-1.414l3-3A2 2 0 017 6z" } path { "d": "M2 14h20" } path { "d": "M8 12v4" } } diff --git a/packages/dioxus/src/trophy.rs b/packages/dioxus/src/trophy.rs index ec9cd40d..f16fc3e8 100644 --- a/packages/dioxus/src/trophy.rs +++ b/packages/dioxus/src/trophy.rs @@ -34,12 +34,12 @@ pub fn Trophy(props: TrophyProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978" } - path { "d": "M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978" } - path { "d": "M18 9h1.5a1 1 0 0 0 0-5H18" } + path { "d": "M10 14.66V17a1 1 0 0 1-1 1 2 2 0 0 0-2 2v2" } + path { "d": "M14 14.66V17a1 1 0 0 0 1 1 2 2 0 0 1 2 2v2" } + path { "d": "M17.916 10H19.5A2.5 2.5 0 0 0 22 7.5V5a1 1 0 0 0-1-1h-3" } path { "d": "M4 22h16" } path { "d": "M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z" } - path { "d": "M6 9H4.5a1 1 0 0 1 0-5H6" } + path { "d": "M6.084 10H4.5A2.5 2.5 0 0 1 2 7.5V5a1 1 0 0 1 1-1h3" } } } } diff --git a/packages/dioxus/src/user_shield.rs b/packages/dioxus/src/user_shield.rs new file mode 100644 index 00000000..cd1098f5 --- /dev/null +++ b/packages/dioxus/src/user_shield.rs @@ -0,0 +1,42 @@ +use dioxus::prelude::*; +#[derive(Clone, PartialEq, Props)] +pub struct UserShieldProps { + #[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 UserShield(props: UserShieldProps) -> 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 15H6a4 4 0 0 0-4 4v2" } + path { "d": "M22 17.5c0 2.499-1.75 3.749-3.83 4.474a.5.5 0 0 1-.335-.005c-2.085-.72-3.835-1.97-3.835-4.47V14a.5.5 0 0 1 .5-.499c1 0 2.25-.6 3.12-1.36a.6.6 0 0 1 .76-.001c.875.765 2.12 1.36 3.12 1.36a.5.5 0 0 1 .5.5z" } + circle { "cx": "9", "cy": "7", "r": "4" } + } + } +} diff --git a/packages/dioxus/src/zap.rs b/packages/dioxus/src/zap.rs index aec4358d..e22cdfd3 100644 --- a/packages/dioxus/src/zap.rs +++ b/packages/dioxus/src/zap.rs @@ -34,7 +34,7 @@ pub fn Zap(props: ZapProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z" } + path { "d": "M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z" } } } } diff --git a/packages/dioxus/src/zap_off.rs b/packages/dioxus/src/zap_off.rs index 7efb045c..9f522490 100644 --- a/packages/dioxus/src/zap_off.rs +++ b/packages/dioxus/src/zap_off.rs @@ -34,10 +34,10 @@ pub fn ZapOff(props: ZapOffProps) -> Element { "stroke-width": "{stroke_width}", "stroke-linecap": "round", "stroke-linejoin": "round", - path { "d": "M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317" } - path { "d": "M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773" } - path { "d": "M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643" } + path { "d": "M10.768 5.111 13.44 2.44a1.5 1.5 0 012.474 1.561l-1.633 4.625" } + path { "d": "m18.889 13.232.672-.672A1.5 1.5 0 0018.5 10h-2.844" } path { "d": "m2 2 20 20" } + path { "d": "m7.94 7.94-3.5 3.499A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l5.5-5.5" } } } } diff --git a/packages/icon-name/src/lib.rs b/packages/icon-name/src/lib.rs index ffef659f..312b25b3 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; 1749usize] = [ +pub static ICON_NAMES: [&str; 1756usize] = [ "a-arrow-down", "a-arrow-up", "a-large-small", @@ -827,7 +827,6 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "helicopter", "hexagon", "highlighter", - "history", "hop", "hop-off", "hospital", @@ -890,6 +889,7 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "layers-minus", "layers-plus", "layout-dashboard", + "layout-freeform", "layout-grid", "layout-list", "layout-panel-left", @@ -1023,7 +1023,9 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "messages-square", "metronome", "mic", + "mic-audio-lines", "mic-off", + "mic-signal", "mic-vocal", "microchip", "microscope", @@ -1052,6 +1054,7 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "monitor-x", "moon", "moon-star", + "mosque", "motorbike", "mountain", "mountain-snow", @@ -1197,7 +1200,6 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "plug-zap", "plus", "pocket-knife", - "podcast", "podium", "pointer", "pointer-off", @@ -1271,9 +1273,11 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "rose", "rotate-3d", "rotate-ccw", + "rotate-ccw-clock", "rotate-ccw-key", "rotate-ccw-square", "rotate-cw", + "rotate-cw-fading-clock", "rotate-cw-square", "route", "route-off", @@ -1309,6 +1313,7 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "scan-line", "scan-qr-code", "scan-search", + "scan-square", "scan-text", "school", "scissors", @@ -1460,6 +1465,7 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "square-menu", "square-minus", "square-mouse-pointer", + "square-off", "square-parking", "square-parking-off", "square-pause", @@ -1667,6 +1673,7 @@ pub static ICON_NAMES: [&str; 1749usize] = [ "user-round-search", "user-round-x", "user-search", + "user-shield", "user-star", "user-x", "users", diff --git a/packages/leptos/src/barrel.rs b/packages/leptos/src/barrel.rs index 868d0f47..3405580b 100644 --- a/packages/leptos/src/barrel.rs +++ b/packages/leptos/src/barrel.rs @@ -29,11 +29,11 @@ pub fn Barrel( stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + } } diff --git a/packages/leptos/src/feather.rs b/packages/leptos/src/feather.rs index 027ef057..85adbc55 100644 --- a/packages/leptos/src/feather.rs +++ b/packages/leptos/src/feather.rs @@ -29,9 +29,9 @@ pub fn Feather( stroke-linecap="round" stroke-linejoin="round" > - + - + } } diff --git a/packages/leptos/src/layout_freeform.rs b/packages/leptos/src/layout_freeform.rs new file mode 100644 index 00000000..0043e44d --- /dev/null +++ b/packages/leptos/src/layout_freeform.rs @@ -0,0 +1,37 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn LayoutFreeform( + #[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 b84c38b7..2e189946 100644 --- a/packages/leptos/src/lib.rs +++ b/packages/leptos/src/lib.rs @@ -1408,7 +1408,12 @@ mod factory; mod fan; #[cfg(any(feature = "multimedia", feature = "arrows"))] mod fast_forward; -#[cfg(feature = "gaming")] +#[cfg(any( + feature = "nature", + feature = "animals", + feature = "gaming", + feature = "text" +))] mod feather; #[cfg(any(feature = "home", feature = "buildings"))] mod fence; @@ -1978,8 +1983,6 @@ mod helicopter; mod hexagon; #[cfg(any(feature = "text", feature = "design"))] mod highlighter; -#[cfg(any(feature = "arrows", feature = "time"))] -mod history; #[cfg(feature = "food-beverage")] mod hop; #[cfg(feature = "food-beverage")] @@ -2141,6 +2144,8 @@ mod layers_plus; #[cfg(any(feature = "design", feature = "layout"))] mod layout_dashboard; #[cfg(any(feature = "design", feature = "layout"))] +mod layout_freeform; +#[cfg(any(feature = "design", feature = "layout"))] mod layout_grid; #[cfg(any( feature = "design", @@ -2442,6 +2447,8 @@ mod metronome; feature = "multimedia" ))] mod mic; +#[cfg(any(feature = "devices", feature = "communication", feature = "multimedia"))] +mod mic_audio_lines; #[cfg(any( feature = "devices", feature = "communication", @@ -2449,6 +2456,13 @@ mod mic; feature = "multimedia" ))] mod mic_off; +#[cfg(any( + feature = "devices", + feature = "communication", + feature = "connectivity", + feature = "multimedia" +))] +mod mic_signal; #[cfg(any(feature = "devices", feature = "multimedia"))] mod mic_vocal; #[cfg(feature = "devices")] @@ -2515,6 +2529,8 @@ mod monitor_x; mod moon; #[cfg(any(feature = "accessibility", feature = "weather"))] mod moon_star; +#[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] +mod mosque; #[cfg(feature = "transportation")] mod motorbike; #[cfg(any(feature = "nature", feature = "gaming"))] @@ -2902,8 +2918,6 @@ mod plug_zap; mod plus; #[cfg(feature = "tools")] mod pocket_knife; -#[cfg(any(feature = "multimedia", feature = "social"))] -mod podcast; #[cfg(any(feature = "sports", feature = "gaming"))] mod podium; #[cfg(feature = "cursors")] @@ -3086,6 +3100,8 @@ mod rose; mod rotate_3_d; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] mod rotate_ccw; +#[cfg(any(feature = "arrows", feature = "time"))] +mod rotate_ccw_clock; #[cfg(any(feature = "security", feature = "account"))] mod rotate_ccw_key; #[cfg(any( @@ -3098,6 +3114,8 @@ mod rotate_ccw_key; mod rotate_ccw_square; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] mod rotate_cw; +#[cfg(feature = "time")] +mod rotate_cw_fading_clock; #[cfg(any( feature = "layout", feature = "design", @@ -3211,6 +3229,8 @@ mod scan_qr_code; feature = "accessibility" ))] mod scan_search; +#[cfg(any(feature = "photography", feature = "design", feature = "development"))] +mod scan_square; #[cfg(any(feature = "text", feature = "devices"))] mod scan_text; #[cfg(any(feature = "buildings", feature = "navigation"))] @@ -3692,6 +3712,8 @@ mod square_minus; feature = "tools" ))] mod square_mouse_pointer; +#[cfg(any(feature = "shapes", feature = "design"))] +mod square_off; #[cfg(any(feature = "transportation", feature = "navigation"))] mod square_parking; #[cfg(any(feature = "transportation", feature = "navigation"))] @@ -4186,6 +4208,13 @@ mod user_round_search; mod user_round_x; #[cfg(any(feature = "account", feature = "social"))] mod user_search; +#[cfg(any( + feature = "account", + feature = "security", + feature = "development", + feature = "people" +))] +mod user_shield; #[cfg(feature = "account")] mod user_star; #[cfg(feature = "account")] @@ -5864,7 +5893,12 @@ pub use factory::*; pub use fan::*; #[cfg(any(feature = "multimedia", feature = "arrows"))] pub use fast_forward::*; -#[cfg(feature = "gaming")] +#[cfg(any( + feature = "nature", + feature = "animals", + feature = "gaming", + feature = "text" +))] pub use feather::*; #[cfg(any(feature = "home", feature = "buildings"))] pub use fence::*; @@ -6434,8 +6468,6 @@ pub use helicopter::*; pub use hexagon::*; #[cfg(any(feature = "text", feature = "design"))] pub use highlighter::*; -#[cfg(any(feature = "arrows", feature = "time"))] -pub use history::*; #[cfg(feature = "food-beverage")] pub use hop::*; #[cfg(feature = "food-beverage")] @@ -6597,6 +6629,8 @@ pub use layers_plus::*; #[cfg(any(feature = "design", feature = "layout"))] pub use layout_dashboard::*; #[cfg(any(feature = "design", feature = "layout"))] +pub use layout_freeform::*; +#[cfg(any(feature = "design", feature = "layout"))] pub use layout_grid::*; #[cfg(any( feature = "design", @@ -6898,6 +6932,8 @@ pub use metronome::*; feature = "multimedia" ))] pub use mic::*; +#[cfg(any(feature = "devices", feature = "communication", feature = "multimedia"))] +pub use mic_audio_lines::*; #[cfg(any( feature = "devices", feature = "communication", @@ -6905,6 +6941,13 @@ pub use mic::*; feature = "multimedia" ))] pub use mic_off::*; +#[cfg(any( + feature = "devices", + feature = "communication", + feature = "connectivity", + feature = "multimedia" +))] +pub use mic_signal::*; #[cfg(any(feature = "devices", feature = "multimedia"))] pub use mic_vocal::*; #[cfg(feature = "devices")] @@ -6971,6 +7014,8 @@ pub use monitor_x::*; pub use moon::*; #[cfg(any(feature = "accessibility", feature = "weather"))] pub use moon_star::*; +#[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] +pub use mosque::*; #[cfg(feature = "transportation")] pub use motorbike::*; #[cfg(any(feature = "nature", feature = "gaming"))] @@ -7358,8 +7403,6 @@ pub use plug_zap::*; pub use plus::*; #[cfg(feature = "tools")] pub use pocket_knife::*; -#[cfg(any(feature = "multimedia", feature = "social"))] -pub use podcast::*; #[cfg(any(feature = "sports", feature = "gaming"))] pub use podium::*; #[cfg(feature = "cursors")] @@ -7542,6 +7585,8 @@ pub use rose::*; pub use rotate_3_d::*; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] pub use rotate_ccw::*; +#[cfg(any(feature = "arrows", feature = "time"))] +pub use rotate_ccw_clock::*; #[cfg(any(feature = "security", feature = "account"))] pub use rotate_ccw_key::*; #[cfg(any( @@ -7554,6 +7599,8 @@ pub use rotate_ccw_key::*; pub use rotate_ccw_square::*; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] pub use rotate_cw::*; +#[cfg(feature = "time")] +pub use rotate_cw_fading_clock::*; #[cfg(any( feature = "layout", feature = "design", @@ -7667,6 +7714,8 @@ pub use scan_qr_code::*; feature = "accessibility" ))] pub use scan_search::*; +#[cfg(any(feature = "photography", feature = "design", feature = "development"))] +pub use scan_square::*; #[cfg(any(feature = "text", feature = "devices"))] pub use scan_text::*; #[cfg(any(feature = "buildings", feature = "navigation"))] @@ -8148,6 +8197,8 @@ pub use square_minus::*; feature = "tools" ))] pub use square_mouse_pointer::*; +#[cfg(any(feature = "shapes", feature = "design"))] +pub use square_off::*; #[cfg(any(feature = "transportation", feature = "navigation"))] pub use square_parking::*; #[cfg(any(feature = "transportation", feature = "navigation"))] @@ -8642,6 +8693,13 @@ pub use user_round_search::*; pub use user_round_x::*; #[cfg(any(feature = "account", feature = "social"))] pub use user_search::*; +#[cfg(any( + feature = "account", + feature = "security", + feature = "development", + feature = "people" +))] +pub use user_shield::*; #[cfg(feature = "account")] pub use user_star::*; #[cfg(feature = "account")] diff --git a/packages/leptos/src/mic_audio_lines.rs b/packages/leptos/src/mic_audio_lines.rs new file mode 100644 index 00000000..613defb1 --- /dev/null +++ b/packages/leptos/src/mic_audio_lines.rs @@ -0,0 +1,43 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn MicAudioLines( + #[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/mic_signal.rs b/packages/leptos/src/mic_signal.rs new file mode 100644 index 00000000..45082221 --- /dev/null +++ b/packages/leptos/src/mic_signal.rs @@ -0,0 +1,41 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn MicSignal( + #[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/mosque.rs b/packages/leptos/src/mosque.rs new file mode 100644 index 00000000..37aa7426 --- /dev/null +++ b/packages/leptos/src/mosque.rs @@ -0,0 +1,40 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn Mosque( + #[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/rotate_ccw_clock.rs b/packages/leptos/src/rotate_ccw_clock.rs new file mode 100644 index 00000000..be150e91 --- /dev/null +++ b/packages/leptos/src/rotate_ccw_clock.rs @@ -0,0 +1,37 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn RotateCcwClock( + #[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/rotate_cw_fading_clock.rs b/packages/leptos/src/rotate_cw_fading_clock.rs new file mode 100644 index 00000000..34be2811 --- /dev/null +++ b/packages/leptos/src/rotate_cw_fading_clock.rs @@ -0,0 +1,44 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn RotateCwFadingClock( + #[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/scan_square.rs b/packages/leptos/src/scan_square.rs new file mode 100644 index 00000000..0cc0b856 --- /dev/null +++ b/packages/leptos/src/scan_square.rs @@ -0,0 +1,39 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn ScanSquare( + #[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_bottom_dashed_scissors.rs b/packages/leptos/src/square_bottom_dashed_scissors.rs index dd33a292..a7def4e6 100644 --- a/packages/leptos/src/square_bottom_dashed_scissors.rs +++ b/packages/leptos/src/square_bottom_dashed_scissors.rs @@ -29,20 +29,14 @@ pub fn SquareBottomDashedScissors( stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - - - - - + + + + + + - + } } diff --git a/packages/leptos/src/square_off.rs b/packages/leptos/src/square_off.rs new file mode 100644 index 00000000..b363fed9 --- /dev/null +++ b/packages/leptos/src/square_off.rs @@ -0,0 +1,37 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn SquareOff( + #[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_scissors.rs b/packages/leptos/src/square_scissors.rs index 705091ad..26211585 100644 --- a/packages/leptos/src/square_scissors.rs +++ b/packages/leptos/src/square_scissors.rs @@ -29,12 +29,12 @@ pub fn SquareScissors( stroke-linecap="round" stroke-linejoin="round" > - - - - + + + - + + } } diff --git a/packages/leptos/src/toolbox.rs b/packages/leptos/src/toolbox.rs index b4de2334..27f9aae8 100644 --- a/packages/leptos/src/toolbox.rs +++ b/packages/leptos/src/toolbox.rs @@ -30,8 +30,8 @@ pub fn Toolbox( stroke-linejoin="round" > - - + + diff --git a/packages/leptos/src/trophy.rs b/packages/leptos/src/trophy.rs index 89f829dc..69350f4a 100644 --- a/packages/leptos/src/trophy.rs +++ b/packages/leptos/src/trophy.rs @@ -29,12 +29,12 @@ pub fn Trophy( stroke-linecap="round" stroke-linejoin="round" > - - - + + + - + } } diff --git a/packages/leptos/src/user_shield.rs b/packages/leptos/src/user_shield.rs new file mode 100644 index 00000000..ff96a3cf --- /dev/null +++ b/packages/leptos/src/user_shield.rs @@ -0,0 +1,37 @@ +use leptos::{prelude::*, svg::Svg}; +#[component] +pub fn UserShield( + #[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/zap.rs b/packages/leptos/src/zap.rs index 95224d4d..50b6b32e 100644 --- a/packages/leptos/src/zap.rs +++ b/packages/leptos/src/zap.rs @@ -29,7 +29,7 @@ pub fn Zap( stroke-linecap="round" stroke-linejoin="round" > - + } } diff --git a/packages/leptos/src/zap_off.rs b/packages/leptos/src/zap_off.rs index c787659c..129fc6cc 100644 --- a/packages/leptos/src/zap_off.rs +++ b/packages/leptos/src/zap_off.rs @@ -29,10 +29,10 @@ pub fn ZapOff( stroke-linecap="round" stroke-linejoin="round" > - - - + + + } } diff --git a/packages/yew/src/barrel.rs b/packages/yew/src/barrel.rs index f72c8c6c..9e6e7daf 100644 --- a/packages/yew/src/barrel.rs +++ b/packages/yew/src/barrel.rs @@ -41,13 +41,13 @@ pub fn Barrel(props: &BarrelProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - + + - - + + } } diff --git a/packages/yew/src/feather.rs b/packages/yew/src/feather.rs index 234e99df..009e1781 100644 --- a/packages/yew/src/feather.rs +++ b/packages/yew/src/feather.rs @@ -42,10 +42,10 @@ pub fn Feather(props: &FeatherProps) -> Html { stroke-linejoin="round" > - + } } diff --git a/packages/yew/src/layout_freeform.rs b/packages/yew/src/layout_freeform.rs new file mode 100644 index 00000000..4bebf6d2 --- /dev/null +++ b/packages/yew/src/layout_freeform.rs @@ -0,0 +1,49 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct LayoutFreeformProps { + #[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 LayoutFreeform(props: &LayoutFreeformProps) -> 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 34df7f73..5198ccbc 100644 --- a/packages/yew/src/lib.rs +++ b/packages/yew/src/lib.rs @@ -1410,7 +1410,12 @@ mod factory; mod fan; #[cfg(any(feature = "multimedia", feature = "arrows"))] mod fast_forward; -#[cfg(feature = "gaming")] +#[cfg(any( + feature = "nature", + feature = "animals", + feature = "gaming", + feature = "text" +))] mod feather; #[cfg(any(feature = "home", feature = "buildings"))] mod fence; @@ -1980,8 +1985,6 @@ mod helicopter; mod hexagon; #[cfg(any(feature = "text", feature = "design"))] mod highlighter; -#[cfg(any(feature = "arrows", feature = "time"))] -mod history; #[cfg(feature = "food-beverage")] mod hop; #[cfg(feature = "food-beverage")] @@ -2143,6 +2146,8 @@ mod layers_plus; #[cfg(any(feature = "design", feature = "layout"))] mod layout_dashboard; #[cfg(any(feature = "design", feature = "layout"))] +mod layout_freeform; +#[cfg(any(feature = "design", feature = "layout"))] mod layout_grid; #[cfg(any( feature = "design", @@ -2444,6 +2449,8 @@ mod metronome; feature = "multimedia" ))] mod mic; +#[cfg(any(feature = "devices", feature = "communication", feature = "multimedia"))] +mod mic_audio_lines; #[cfg(any( feature = "devices", feature = "communication", @@ -2451,6 +2458,13 @@ mod mic; feature = "multimedia" ))] mod mic_off; +#[cfg(any( + feature = "devices", + feature = "communication", + feature = "connectivity", + feature = "multimedia" +))] +mod mic_signal; #[cfg(any(feature = "devices", feature = "multimedia"))] mod mic_vocal; #[cfg(feature = "devices")] @@ -2517,6 +2531,8 @@ mod monitor_x; mod moon; #[cfg(any(feature = "accessibility", feature = "weather"))] mod moon_star; +#[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] +mod mosque; #[cfg(feature = "transportation")] mod motorbike; #[cfg(any(feature = "nature", feature = "gaming"))] @@ -2904,8 +2920,6 @@ mod plug_zap; mod plus; #[cfg(feature = "tools")] mod pocket_knife; -#[cfg(any(feature = "multimedia", feature = "social"))] -mod podcast; #[cfg(any(feature = "sports", feature = "gaming"))] mod podium; #[cfg(feature = "cursors")] @@ -3088,6 +3102,8 @@ mod rose; mod rotate_3_d; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] mod rotate_ccw; +#[cfg(any(feature = "arrows", feature = "time"))] +mod rotate_ccw_clock; #[cfg(any(feature = "security", feature = "account"))] mod rotate_ccw_key; #[cfg(any( @@ -3100,6 +3116,8 @@ mod rotate_ccw_key; mod rotate_ccw_square; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] mod rotate_cw; +#[cfg(feature = "time")] +mod rotate_cw_fading_clock; #[cfg(any( feature = "layout", feature = "design", @@ -3213,6 +3231,8 @@ mod scan_qr_code; feature = "accessibility" ))] mod scan_search; +#[cfg(any(feature = "photography", feature = "design", feature = "development"))] +mod scan_square; #[cfg(any(feature = "text", feature = "devices"))] mod scan_text; #[cfg(any(feature = "buildings", feature = "navigation"))] @@ -3694,6 +3714,8 @@ mod square_minus; feature = "tools" ))] mod square_mouse_pointer; +#[cfg(any(feature = "shapes", feature = "design"))] +mod square_off; #[cfg(any(feature = "transportation", feature = "navigation"))] mod square_parking; #[cfg(any(feature = "transportation", feature = "navigation"))] @@ -4188,6 +4210,13 @@ mod user_round_search; mod user_round_x; #[cfg(any(feature = "account", feature = "social"))] mod user_search; +#[cfg(any( + feature = "account", + feature = "security", + feature = "development", + feature = "people" +))] +mod user_shield; #[cfg(feature = "account")] mod user_star; #[cfg(feature = "account")] @@ -5866,7 +5895,12 @@ pub use factory::*; pub use fan::*; #[cfg(any(feature = "multimedia", feature = "arrows"))] pub use fast_forward::*; -#[cfg(feature = "gaming")] +#[cfg(any( + feature = "nature", + feature = "animals", + feature = "gaming", + feature = "text" +))] pub use feather::*; #[cfg(any(feature = "home", feature = "buildings"))] pub use fence::*; @@ -6436,8 +6470,6 @@ pub use helicopter::*; pub use hexagon::*; #[cfg(any(feature = "text", feature = "design"))] pub use highlighter::*; -#[cfg(any(feature = "arrows", feature = "time"))] -pub use history::*; #[cfg(feature = "food-beverage")] pub use hop::*; #[cfg(feature = "food-beverage")] @@ -6599,6 +6631,8 @@ pub use layers_plus::*; #[cfg(any(feature = "design", feature = "layout"))] pub use layout_dashboard::*; #[cfg(any(feature = "design", feature = "layout"))] +pub use layout_freeform::*; +#[cfg(any(feature = "design", feature = "layout"))] pub use layout_grid::*; #[cfg(any( feature = "design", @@ -6900,6 +6934,8 @@ pub use metronome::*; feature = "multimedia" ))] pub use mic::*; +#[cfg(any(feature = "devices", feature = "communication", feature = "multimedia"))] +pub use mic_audio_lines::*; #[cfg(any( feature = "devices", feature = "communication", @@ -6907,6 +6943,13 @@ pub use mic::*; feature = "multimedia" ))] pub use mic_off::*; +#[cfg(any( + feature = "devices", + feature = "communication", + feature = "connectivity", + feature = "multimedia" +))] +pub use mic_signal::*; #[cfg(any(feature = "devices", feature = "multimedia"))] pub use mic_vocal::*; #[cfg(feature = "devices")] @@ -6973,6 +7016,8 @@ pub use monitor_x::*; pub use moon::*; #[cfg(any(feature = "accessibility", feature = "weather"))] pub use moon_star::*; +#[cfg(any(feature = "buildings", feature = "navigation", feature = "travel"))] +pub use mosque::*; #[cfg(feature = "transportation")] pub use motorbike::*; #[cfg(any(feature = "nature", feature = "gaming"))] @@ -7360,8 +7405,6 @@ pub use plug_zap::*; pub use plus::*; #[cfg(feature = "tools")] pub use pocket_knife::*; -#[cfg(any(feature = "multimedia", feature = "social"))] -pub use podcast::*; #[cfg(any(feature = "sports", feature = "gaming"))] pub use podium::*; #[cfg(feature = "cursors")] @@ -7544,6 +7587,8 @@ pub use rose::*; pub use rotate_3_d::*; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] pub use rotate_ccw::*; +#[cfg(any(feature = "arrows", feature = "time"))] +pub use rotate_ccw_clock::*; #[cfg(any(feature = "security", feature = "account"))] pub use rotate_ccw_key::*; #[cfg(any( @@ -7556,6 +7601,8 @@ pub use rotate_ccw_key::*; pub use rotate_ccw_square::*; #[cfg(any(feature = "arrows", feature = "design", feature = "photography"))] pub use rotate_cw::*; +#[cfg(feature = "time")] +pub use rotate_cw_fading_clock::*; #[cfg(any( feature = "layout", feature = "design", @@ -7669,6 +7716,8 @@ pub use scan_qr_code::*; feature = "accessibility" ))] pub use scan_search::*; +#[cfg(any(feature = "photography", feature = "design", feature = "development"))] +pub use scan_square::*; #[cfg(any(feature = "text", feature = "devices"))] pub use scan_text::*; #[cfg(any(feature = "buildings", feature = "navigation"))] @@ -8150,6 +8199,8 @@ pub use square_minus::*; feature = "tools" ))] pub use square_mouse_pointer::*; +#[cfg(any(feature = "shapes", feature = "design"))] +pub use square_off::*; #[cfg(any(feature = "transportation", feature = "navigation"))] pub use square_parking::*; #[cfg(any(feature = "transportation", feature = "navigation"))] @@ -8644,6 +8695,13 @@ pub use user_round_search::*; pub use user_round_x::*; #[cfg(any(feature = "account", feature = "social"))] pub use user_search::*; +#[cfg(any( + feature = "account", + feature = "security", + feature = "development", + feature = "people" +))] +pub use user_shield::*; #[cfg(feature = "account")] pub use user_star::*; #[cfg(feature = "account")] diff --git a/packages/yew/src/mic_audio_lines.rs b/packages/yew/src/mic_audio_lines.rs new file mode 100644 index 00000000..06e5cf89 --- /dev/null +++ b/packages/yew/src/mic_audio_lines.rs @@ -0,0 +1,55 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MicAudioLinesProps { + #[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 MicAudioLines(props: &MicAudioLinesProps) -> 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/mic_signal.rs b/packages/yew/src/mic_signal.rs new file mode 100644 index 00000000..ab8c85ec --- /dev/null +++ b/packages/yew/src/mic_signal.rs @@ -0,0 +1,53 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MicSignalProps { + #[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 MicSignal(props: &MicSignalProps) -> 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/mosque.rs b/packages/yew/src/mosque.rs new file mode 100644 index 00000000..ba5a3225 --- /dev/null +++ b/packages/yew/src/mosque.rs @@ -0,0 +1,54 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct MosqueProps { + #[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 Mosque(props: &MosqueProps) -> 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/rotate_ccw_clock.rs b/packages/yew/src/rotate_ccw_clock.rs new file mode 100644 index 00000000..82f6510a --- /dev/null +++ b/packages/yew/src/rotate_ccw_clock.rs @@ -0,0 +1,49 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct RotateCcwClockProps { + #[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 RotateCcwClock(props: &RotateCcwClockProps) -> 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/rotate_cw_fading_clock.rs b/packages/yew/src/rotate_cw_fading_clock.rs new file mode 100644 index 00000000..6eb9371f --- /dev/null +++ b/packages/yew/src/rotate_cw_fading_clock.rs @@ -0,0 +1,56 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct RotateCwFadingClockProps { + #[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 RotateCwFadingClock(props: &RotateCwFadingClockProps) -> 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/scan_square.rs b/packages/yew/src/scan_square.rs new file mode 100644 index 00000000..4ebaeb43 --- /dev/null +++ b/packages/yew/src/scan_square.rs @@ -0,0 +1,51 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct ScanSquareProps { + #[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 ScanSquare(props: &ScanSquareProps) -> 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_bottom_dashed_scissors.rs b/packages/yew/src/square_bottom_dashed_scissors.rs index 755c1709..8adf7456 100644 --- a/packages/yew/src/square_bottom_dashed_scissors.rs +++ b/packages/yew/src/square_bottom_dashed_scissors.rs @@ -41,20 +41,14 @@ pub fn SquareBottomDashedScissors(props: &SquareBottomDashedScissorsProps) -> Ht stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - - - - - + + + + + + - + } } diff --git a/packages/yew/src/square_off.rs b/packages/yew/src/square_off.rs new file mode 100644 index 00000000..d9d2e3c1 --- /dev/null +++ b/packages/yew/src/square_off.rs @@ -0,0 +1,49 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct SquareOffProps { + #[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 SquareOff(props: &SquareOffProps) -> 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_scissors.rs b/packages/yew/src/square_scissors.rs index 25bf80c1..a599d4d7 100644 --- a/packages/yew/src/square_scissors.rs +++ b/packages/yew/src/square_scissors.rs @@ -41,12 +41,12 @@ pub fn SquareScissors(props: &SquareScissorsProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - - - + + + - + + } } diff --git a/packages/yew/src/toolbox.rs b/packages/yew/src/toolbox.rs index fa97e5ab..bb3f8d45 100644 --- a/packages/yew/src/toolbox.rs +++ b/packages/yew/src/toolbox.rs @@ -42,10 +42,10 @@ pub fn Toolbox(props: &ToolboxProps) -> Html { stroke-linejoin="round" > + - diff --git a/packages/yew/src/trophy.rs b/packages/yew/src/trophy.rs index 83048ed3..d903850e 100644 --- a/packages/yew/src/trophy.rs +++ b/packages/yew/src/trophy.rs @@ -41,12 +41,12 @@ pub fn Trophy(props: &TrophyProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - - + + + - + } } diff --git a/packages/yew/src/user_shield.rs b/packages/yew/src/user_shield.rs new file mode 100644 index 00000000..74f9c69d --- /dev/null +++ b/packages/yew/src/user_shield.rs @@ -0,0 +1,51 @@ +use yew::prelude::*; +#[derive(PartialEq, Properties)] +pub struct UserShieldProps { + #[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 UserShield(props: &UserShieldProps) -> 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/zap.rs b/packages/yew/src/zap.rs index 27d64b75..e256df46 100644 --- a/packages/yew/src/zap.rs +++ b/packages/yew/src/zap.rs @@ -42,7 +42,7 @@ pub fn Zap(props: &ZapProps) -> Html { stroke-linejoin="round" > } diff --git a/packages/yew/src/zap_off.rs b/packages/yew/src/zap_off.rs index 6635c537..63cbc761 100644 --- a/packages/yew/src/zap_off.rs +++ b/packages/yew/src/zap_off.rs @@ -41,12 +41,12 @@ pub fn ZapOff(props: &ZapOffProps) -> Html { stroke-linecap="round" stroke-linejoin="round" > - - + + + - } } diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs index 712f01d4..ea1ce078 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.26.0"; +pub const UPSTREAM_GIT_REF: &str = "1.27.0"; pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";