feat: update to upstream v0.524.0 (#104)

Co-authored-by: rust-for-web[bot] <191031261+rust-for-web[bot]@users.noreply.github.com>
This commit is contained in:
rust-for-web[bot] 2025-06-28 09:44:14 +02:00 committed by GitHub
parent c88c42c880
commit ee73633da7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
76 changed files with 318 additions and 101 deletions

View file

@ -9785,6 +9785,12 @@ pub fn IconsV1() -> Element {
},
"Vault",
),
(
rsx! {
VectorSquare {}
},
"Vector Square",
),
(
rsx! {
Vegan {}

View file

@ -2009,6 +2009,7 @@ pub fn IconsV() -> impl IntoView {
each=move || [
(view! { <Variable /> }.into_any(), "Variable"),
(view! { <Vault /> }.into_any(), "Vault"),
(view! { <VectorSquare /> }.into_any(), "Vector Square"),
(view! { <Vegan /> }.into_any(), "Vegan"),
(view! { <VenetianMask /> }.into_any(), "Venetian Mask"),
(view! { <Venus /> }.into_any(), "Venus"),

View file

@ -2052,6 +2052,7 @@ pub fn IconsV() -> Html {
let icons = [
(html! { <Variable /> }, "Variable"),
(html! { <Vault /> }, "Vault"),
(html! { <VectorSquare /> }, "Vector Square"),
(html! { <Vegan /> }, "Vegan"),
(html! { <VenetianMask /> }, "Venetian Mask"),
(html! { <Venus /> }, "Venus"),

View file

@ -34,11 +34,11 @@ pub fn CalendarClock(props: CalendarClockProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5" }
path { "d": "M16 14v2.2l1.6 1" }
path { "d": "M16 2v4" }
path { "d": "M8 2v4" }
path { "d": "M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5" }
path { "d": "M3 10h5" }
path { "d": "M17.5 17.5 16 16.3V14" }
path { "d": "M8 2v4" }
circle { "cx": "16", "cy": "16", "r": "6" }
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock(props: ClockProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l4 2" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 16 14" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock1(props: Clock1Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l2-4" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 14.5 8" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock10(props: Clock10Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l-4-2" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 8 10" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock11(props: Clock11Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l-2-4" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 9.5 8" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock12(props: Clock12Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock2(props: Clock2Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l4-2" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 16 10" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock3(props: Clock3Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6h4" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 16.5 12" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock4(props: Clock4Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l4 2" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 16 14" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock5(props: Clock5Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l2 4" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 14.5 16" }
}
}
}

View file

@ -34,7 +34,7 @@ pub fn Clock6(props: Clock6Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 16.5V6" }
path { "d": "M12 6v10" }
circle { "cx": "12", "cy": "12", "r": "10" }
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock7(props: Clock7Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l-2 4" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 9.5 16" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock8(props: Clock8Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l-4 2" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 8 14" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn Clock9(props: Clock9Props) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6H8" }
circle { "cx": "12", "cy": "12", "r": "10" }
polyline { "points": "12 6 12 12 7.5 12" }
}
}
}

View file

@ -35,9 +35,9 @@ pub fn ClockAlert(props: ClockAlertProps) -> Element {
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 6v6l4 2" }
path { "d": "M16 21.16a10 10 0 1 1 5-13.516" }
path { "d": "M20 11.5v6" }
path { "d": "M20 21.5h.01" }
path { "d": "M20 12v5" }
path { "d": "M20 21h.01" }
path { "d": "M21.25 8.2A10 10 0 1 0 16 21.16" }
}
}
}

View file

@ -34,8 +34,8 @@ pub fn ClockArrowDown(props: ClockArrowDownProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12.338 21.994A10 10 0 1 1 21.925 13.227" }
path { "d": "M12 6v6l2 1" }
path { "d": "M12.337 21.994a10 10 0 1 1 9.588-8.767" }
path { "d": "m14 18 4 4 4-4" }
path { "d": "M18 14v8" }
}

View file

@ -34,8 +34,8 @@ pub fn ClockArrowUp(props: ClockArrowUpProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M13.228 21.925A10 10 0 1 1 21.994 12.338" }
path { "d": "M12 6v6l1.562.781" }
path { "d": "M12 6v6l1.56.78" }
path { "d": "M13.227 21.925a10 10 0 1 1 8.767-9.588" }
path { "d": "m14 18 4-4 4 4" }
path { "d": "M18 22v-8" }
}

View file

@ -34,9 +34,9 @@ pub fn Dessert(props: DessertProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826" }
path { "d": "M20.804 14.869a9 9 0 0 1-17.608 0" }
circle { "cx": "12", "cy": "4", "r": "2" }
path { "d": "M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8" }
path { "d": "M3.2 14.8a9 9 0 0 0 17.6 0" }
}
}
}

View file

@ -34,10 +34,10 @@ pub fn FileClock(props: FileClockProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" }
path { "d": "M14 2v4a2 2 0 0 0 2 2h4" }
path { "d": "M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" }
path { "d": "M8 14v2.2l1.6 1" }
circle { "cx": "8", "cy": "16", "r": "6" }
path { "d": "M9.5 17.5 8 16.25V14" }
}
}
}

View file

@ -34,9 +34,9 @@ pub fn FolderClock(props: FolderClockProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
circle { "cx": "16", "cy": "16", "r": "6" }
path { "d": "M16 14v2.2l1.6 1" }
path { "d": "M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2" }
path { "d": "M16 14v2l1 1" }
circle { "cx": "16", "cy": "16", "r": "6" }
}
}
}

View file

@ -3883,6 +3883,13 @@ mod utility_pole;
mod variable;
#[cfg(any(feature = "security", feature = "travel", feature = "home"))]
mod vault;
#[cfg(any(
feature = "shapes",
feature = "math",
feature = "design",
feature = "tools"
))]
mod vector_square;
#[cfg(any(feature = "food-beverage", feature = "sustainability"))]
mod vegan;
#[cfg(any(feature = "account", feature = "gaming"))]
@ -7967,6 +7974,13 @@ pub use utility_pole::*;
pub use variable::*;
#[cfg(any(feature = "security", feature = "travel", feature = "home"))]
pub use vault::*;
#[cfg(any(
feature = "shapes",
feature = "math",
feature = "design",
feature = "tools"
))]
pub use vector_square::*;
#[cfg(any(feature = "food-beverage", feature = "sustainability"))]
pub use vegan::*;
#[cfg(any(feature = "account", feature = "gaming"))]

View file

@ -34,11 +34,11 @@ pub fn Ligature(props: LigatureProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2" }
path { "d": "M6 12h4" }
path { "d": "M14 12h2v8" }
path { "d": "M6 20h4" }
path { "d": "M14 20h4" }
path { "d": "M6 12h4" }
path { "d": "M6 20h4" }
path { "d": "M8 20V8a4 4 0 0 1 7.464-2" }
}
}
}

View file

@ -0,0 +1,71 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct VectorSquareProps {
#[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<String>,
pub style: Option<String>,
}
#[component]
pub fn VectorSquare(props: VectorSquareProps) -> 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": "M19.5 7a24 24 0 0 1 0 10" }
path { "d": "M4.5 7a24 24 0 0 0 0 10" }
path { "d": "M7 19.5a24 24 0 0 0 10 0" }
path { "d": "M7 4.5a24 24 0 0 1 10 0" }
rect {
"x": "17",
"y": "17",
"width": "5",
"height": "5",
"rx": "1",
}
rect {
"x": "17",
"y": "2",
"width": "5",
"height": "5",
"rx": "1",
}
rect {
"x": "2",
"y": "17",
"width": "5",
"height": "5",
"rx": "1",
}
rect {
"x": "2",
"y": "2",
"width": "5",
"height": "5",
"rx": "1",
}
}
}
}

View file

@ -34,10 +34,10 @@ pub fn Watch(props: WatchProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
circle { "cx": "12", "cy": "12", "r": "6" }
polyline { "points": "12 10 12 12 13 13" }
path { "d": "M12 10v2.2l1.6 1" }
path { "d": "m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05" }
path { "d": "m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05" }
circle { "cx": "12", "cy": "12", "r": "6" }
}
}
}

View file

@ -29,11 +29,11 @@ pub fn CalendarClock(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5" />
<path d="M16 14v2.2l1.6 1" />
<path d="M16 2v4" />
<path d="M8 2v4" />
<path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5" />
<path d="M3 10h5" />
<path d="M17.5 17.5 16 16.3V14" />
<path d="M8 2v4" />
<circle cx="16" cy="16" r="6" />
</svg>
}

View file

@ -29,8 +29,8 @@ pub fn Clock(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l4 2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 14" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock1(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l2-4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 14.5 8" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock10(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-4-2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 8 10" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock11(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-2-4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 9.5 8" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock12(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock2(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l4-2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 10" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock3(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6h4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16.5 12" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock4(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l4 2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 14" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock5(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l2 4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 14.5 16" />
</svg>
}
}

View file

@ -29,7 +29,7 @@ pub fn Clock6(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 16.5V6" />
<path d="M12 6v10" />
<circle cx="12" cy="12" r="10" />
</svg>
}

View file

@ -29,8 +29,8 @@ pub fn Clock7(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-2 4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 9.5 16" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock8(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-4 2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 8 14" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn Clock9(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6H8" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 7.5 12" />
</svg>
}
}

View file

@ -30,9 +30,9 @@ pub fn ClockAlert(
stroke-linejoin="round"
>
<path d="M12 6v6l4 2" />
<path d="M16 21.16a10 10 0 1 1 5-13.516" />
<path d="M20 11.5v6" />
<path d="M20 21.5h.01" />
<path d="M20 12v5" />
<path d="M20 21h.01" />
<path d="M21.25 8.2A10 10 0 1 0 16 21.16" />
</svg>
}
}

View file

@ -29,8 +29,8 @@ pub fn ClockArrowDown(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.338 21.994A10 10 0 1 1 21.925 13.227" />
<path d="M12 6v6l2 1" />
<path d="M12.337 21.994a10 10 0 1 1 9.588-8.767" />
<path d="m14 18 4 4 4-4" />
<path d="M18 14v8" />
</svg>

View file

@ -29,8 +29,8 @@ pub fn ClockArrowUp(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13.228 21.925A10 10 0 1 1 21.994 12.338" />
<path d="M12 6v6l1.562.781" />
<path d="M12 6v6l1.56.78" />
<path d="M13.227 21.925a10 10 0 1 1 8.767-9.588" />
<path d="m14 18 4-4 4 4" />
<path d="M18 22v-8" />
</svg>

View file

@ -29,9 +29,9 @@ pub fn Dessert(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826" />
<path d="M20.804 14.869a9 9 0 0 1-17.608 0" />
<circle cx="12" cy="4" r="2" />
<path d="M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8" />
<path d="M3.2 14.8a9 9 0 0 0 17.6 0" />
</svg>
}
}

View file

@ -29,10 +29,10 @@ pub fn FileClock(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" />
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" />
<path d="M8 14v2.2l1.6 1" />
<circle cx="8" cy="16" r="6" />
<path d="M9.5 17.5 8 16.25V14" />
</svg>
}
}

View file

@ -29,9 +29,9 @@ pub fn FolderClock(
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="16" cy="16" r="6" />
<path d="M16 14v2.2l1.6 1" />
<path d="M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2" />
<path d="M16 14v2l1 1" />
<circle cx="16" cy="16" r="6" />
</svg>
}
}

View file

@ -3883,6 +3883,13 @@ mod utility_pole;
mod variable;
#[cfg(any(feature = "security", feature = "travel", feature = "home"))]
mod vault;
#[cfg(any(
feature = "shapes",
feature = "math",
feature = "design",
feature = "tools"
))]
mod vector_square;
#[cfg(any(feature = "food-beverage", feature = "sustainability"))]
mod vegan;
#[cfg(any(feature = "account", feature = "gaming"))]
@ -7967,6 +7974,13 @@ pub use utility_pole::*;
pub use variable::*;
#[cfg(any(feature = "security", feature = "travel", feature = "home"))]
pub use vault::*;
#[cfg(any(
feature = "shapes",
feature = "math",
feature = "design",
feature = "tools"
))]
pub use vector_square::*;
#[cfg(any(feature = "food-beverage", feature = "sustainability"))]
pub use vegan::*;
#[cfg(any(feature = "account", feature = "gaming"))]

View file

@ -29,11 +29,11 @@ pub fn Ligature(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2" />
<path d="M6 12h4" />
<path d="M14 12h2v8" />
<path d="M6 20h4" />
<path d="M14 20h4" />
<path d="M6 12h4" />
<path d="M6 20h4" />
<path d="M8 20V8a4 4 0 0 1 7.464-2" />
</svg>
}
}

View file

@ -0,0 +1,42 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn VectorSquare(
#[prop(default = 24.into(), into)] size: Signal<usize>,
#[prop(default = "currentColor".into(), into)] color: Signal<String>,
#[prop(default = "none".into(), into)] fill: Signal<String>,
#[prop(default = 2.into(), into)] stroke_width: Signal<usize>,
#[prop(default = false.into(), into)] absolute_stroke_width: Signal<bool>,
#[prop(optional)] node_ref: NodeRef<Svg>,
) -> impl IntoView {
let stroke_width = Signal::derive(move || {
if absolute_stroke_width.get() {
stroke_width.get() * 24 / size.get()
} else {
stroke_width.get()
}
});
view! {
<svg
node_ref=node_ref
class:lucide=true
xmlns="http://www.w3.org/2000/svg"
width=size
height=size
viewBox="0 0 24 24"
fill=fill
stroke=color
stroke-width=stroke_width
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19.5 7a24 24 0 0 1 0 10" />
<path d="M4.5 7a24 24 0 0 0 0 10" />
<path d="M7 19.5a24 24 0 0 0 10 0" />
<path d="M7 4.5a24 24 0 0 1 10 0" />
<rect x="17" y="17" width="5" height="5" rx="1" />
<rect x="17" y="2" width="5" height="5" rx="1" />
<rect x="2" y="17" width="5" height="5" rx="1" />
<rect x="2" y="2" width="5" height="5" rx="1" />
</svg>
}
}

View file

@ -29,10 +29,10 @@ pub fn Watch(
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="6" />
<polyline points="12 10 12 12 13 13" />
<path d="M12 10v2.2l1.6 1" />
<path d="m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05" />
<path d="m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05" />
<circle cx="12" cy="12" r="6" />
</svg>
}
}

View file

@ -41,11 +41,11 @@ pub fn CalendarClock(props: &CalendarClockProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5" />
<path d="M16 14v2.2l1.6 1" />
<path d="M16 2v4" />
<path d="M8 2v4" />
<path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5" />
<path d="M3 10h5" />
<path d="M17.5 17.5 16 16.3V14" />
<path d="M8 2v4" />
<circle cx="16" cy="16" r="6" />
</svg>
}

View file

@ -41,8 +41,8 @@ pub fn Clock(props: &ClockProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l4 2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 14" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock1(props: &Clock1Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l2-4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 14.5 8" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock10(props: &Clock10Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-4-2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 8 10" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock11(props: &Clock11Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-2-4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 9.5 8" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock12(props: &Clock12Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock2(props: &Clock2Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l4-2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 10" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock3(props: &Clock3Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6h4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16.5 12" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock4(props: &Clock4Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l4 2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 14" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock5(props: &Clock5Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l2 4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 14.5 16" />
</svg>
}
}

View file

@ -41,7 +41,7 @@ pub fn Clock6(props: &Clock6Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 16.5V6" />
<path d="M12 6v10" />
<circle cx="12" cy="12" r="10" />
</svg>
}

View file

@ -41,8 +41,8 @@ pub fn Clock7(props: &Clock7Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-2 4" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 9.5 16" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock8(props: &Clock8Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6l-4 2" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 8 14" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn Clock9(props: &Clock9Props) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v6H8" />
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 7.5 12" />
</svg>
}
}

View file

@ -42,9 +42,9 @@ pub fn ClockAlert(props: &ClockAlertProps) -> Html {
stroke-linejoin="round"
>
<path d="M12 6v6l4 2" />
<path d="M16 21.16a10 10 0 1 1 5-13.516" />
<path d="M20 11.5v6" />
<path d="M20 21.5h.01" />
<path d="M20 12v5" />
<path d="M20 21h.01" />
<path d="M21.25 8.2A10 10 0 1 0 16 21.16" />
</svg>
}
}

View file

@ -41,8 +41,8 @@ pub fn ClockArrowDown(props: &ClockArrowDownProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.338 21.994A10 10 0 1 1 21.925 13.227" />
<path d="M12 6v6l2 1" />
<path d="M12.337 21.994a10 10 0 1 1 9.588-8.767" />
<path d="m14 18 4 4 4-4" />
<path d="M18 14v8" />
</svg>

View file

@ -41,8 +41,8 @@ pub fn ClockArrowUp(props: &ClockArrowUpProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13.228 21.925A10 10 0 1 1 21.994 12.338" />
<path d="M12 6v6l1.562.781" />
<path d="M12 6v6l1.56.78" />
<path d="M13.227 21.925a10 10 0 1 1 8.767-9.588" />
<path d="m14 18 4-4 4 4" />
<path d="M18 22v-8" />
</svg>

View file

@ -41,11 +41,11 @@ pub fn Dessert(props: &DessertProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="4" r="2" />
<path
d="M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8"
d="M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826"
/>
<path d="M3.2 14.8a9 9 0 0 0 17.6 0" />
<path d="M20.804 14.869a9 9 0 0 1-17.608 0" />
<circle cx="12" cy="4" r="2" />
</svg>
}
}

View file

@ -41,10 +41,10 @@ pub fn FileClock(props: &FileClockProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" />
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" />
<path d="M8 14v2.2l1.6 1" />
<circle cx="8" cy="16" r="6" />
<path d="M9.5 17.5 8 16.25V14" />
</svg>
}
}

View file

@ -41,11 +41,11 @@ pub fn FolderClock(props: &FolderClockProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="16" cy="16" r="6" />
<path d="M16 14v2.2l1.6 1" />
<path
d="M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2"
/>
<path d="M16 14v2l1 1" />
<circle cx="16" cy="16" r="6" />
</svg>
}
}

View file

@ -3885,6 +3885,13 @@ mod utility_pole;
mod variable;
#[cfg(any(feature = "security", feature = "travel", feature = "home"))]
mod vault;
#[cfg(any(
feature = "shapes",
feature = "math",
feature = "design",
feature = "tools"
))]
mod vector_square;
#[cfg(any(feature = "food-beverage", feature = "sustainability"))]
mod vegan;
#[cfg(any(feature = "account", feature = "gaming"))]
@ -7969,6 +7976,13 @@ pub use utility_pole::*;
pub use variable::*;
#[cfg(any(feature = "security", feature = "travel", feature = "home"))]
pub use vault::*;
#[cfg(any(
feature = "shapes",
feature = "math",
feature = "design",
feature = "tools"
))]
pub use vector_square::*;
#[cfg(any(feature = "food-beverage", feature = "sustainability"))]
pub use vegan::*;
#[cfg(any(feature = "account", feature = "gaming"))]

View file

@ -41,11 +41,11 @@ pub fn Ligature(props: &LigatureProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2" />
<path d="M6 12h4" />
<path d="M14 12h2v8" />
<path d="M6 20h4" />
<path d="M14 20h4" />
<path d="M6 12h4" />
<path d="M6 20h4" />
<path d="M8 20V8a4 4 0 0 1 7.464-2" />
</svg>
}
}

View file

@ -0,0 +1,54 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct VectorSquareProps {
#[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<AttrValue>,
#[prop_or_default]
pub node_ref: NodeRef,
}
#[function_component]
pub fn VectorSquare(props: &VectorSquareProps) -> Html {
let stroke_width = if props.absolute_stroke_width {
props.stroke_width * 24 / props.size
} else {
props.stroke_width
};
html! {
<svg
ref={props.node_ref.clone()}
class={classes!("lucide", props.class
.clone())}
style={props.style.clone()}
xmlns="http://www.w3.org/2000/svg"
width={props.size.to_string()}
height={props.size.to_string()}
viewBox="0 0 24 24"
fill={& props.fill}
stroke={& props.color}
stroke-width={stroke_width.to_string()}
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19.5 7a24 24 0 0 1 0 10" />
<path d="M4.5 7a24 24 0 0 0 0 10" />
<path d="M7 19.5a24 24 0 0 0 10 0" />
<path d="M7 4.5a24 24 0 0 1 10 0" />
<rect x="17" y="17" width="5" height="5" rx="1" />
<rect x="17" y="2" width="5" height="5" rx="1" />
<rect x="2" y="17" width="5" height="5" rx="1" />
<rect x="2" y="2" width="5" height="5" rx="1" />
</svg>
}
}

View file

@ -41,10 +41,10 @@ pub fn Watch(props: &WatchProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="6" />
<polyline points="12 10 12 12 13 13" />
<path d="M12 10v2.2l1.6 1" />
<path d="m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05" />
<path d="m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05" />
<circle cx="12" cy="12" r="6" />
</svg>
}
}

View file

@ -11,5 +11,5 @@ pub const GITHUB_OWNER: &str = "RustForWeb";
pub const GITHUB_REPO: &str = "lucide";
pub const UPSTREAM_GIT_URL: &str = "https://github.com/lucide-icons/lucide.git";
pub const UPSTREAM_GIT_REF: &str = "0.523.0";
pub const UPSTREAM_GIT_REF: &str = "0.524.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";