mirror of
https://github.com/danbulant/lucide
synced 2026-05-19 04:18:41 +00:00
feat: update to upstream v0.541.0 (#141)
Co-authored-by: rust-for-web[bot] <191031261+rust-for-web[bot]@users.noreply.github.com>
This commit is contained in:
parent
f6ae14c549
commit
692e0a14ce
25 changed files with 581 additions and 77 deletions
|
|
@ -26,6 +26,7 @@ pub fn Icons() -> Element {
|
|||
IconsN1 {}
|
||||
IconsO1 {}
|
||||
IconsP1 {}
|
||||
IconsP2 {}
|
||||
IconsQ1 {}
|
||||
IconsR1 {}
|
||||
IconsS1 {}
|
||||
|
|
@ -2128,9 +2129,9 @@ pub fn IconsC1() -> Element {
|
|||
),
|
||||
(
|
||||
rsx! {
|
||||
Chrome {}
|
||||
Chromium {}
|
||||
},
|
||||
"Chrome",
|
||||
"Chromium",
|
||||
),
|
||||
(
|
||||
rsx! {
|
||||
|
|
@ -6791,6 +6792,12 @@ pub fn IconsP1() -> Element {
|
|||
},
|
||||
"Panel Left Open",
|
||||
),
|
||||
(
|
||||
rsx! {
|
||||
PanelLeftRightDashed {}
|
||||
},
|
||||
"Panel Left Right Dashed",
|
||||
),
|
||||
(
|
||||
rsx! {
|
||||
PanelRight {}
|
||||
|
|
@ -6821,6 +6828,12 @@ pub fn IconsP1() -> Element {
|
|||
},
|
||||
"Panel Top",
|
||||
),
|
||||
(
|
||||
rsx! {
|
||||
PanelTopBottomDashed {}
|
||||
},
|
||||
"Panel Top Bottom Dashed",
|
||||
),
|
||||
(
|
||||
rsx! {
|
||||
PanelTopClose {}
|
||||
|
|
@ -7247,12 +7260,6 @@ pub fn IconsP1() -> Element {
|
|||
},
|
||||
"Puzzle",
|
||||
),
|
||||
(
|
||||
rsx! {
|
||||
Pyramid {}
|
||||
},
|
||||
"Pyramid",
|
||||
),
|
||||
];
|
||||
rsx! {
|
||||
for (icon , name) in icons {
|
||||
|
|
@ -7266,6 +7273,25 @@ pub fn IconsP1() -> Element {
|
|||
}
|
||||
}
|
||||
#[component]
|
||||
pub fn IconsP2() -> Element {
|
||||
let icons = [(
|
||||
rsx! {
|
||||
Pyramid {}
|
||||
},
|
||||
"Pyramid",
|
||||
)];
|
||||
rsx! {
|
||||
for (icon , name) in icons {
|
||||
div {
|
||||
key: "{name}",
|
||||
class: "flex flex-wrap items-center gap-4 text-sm",
|
||||
{icon}
|
||||
span { {name} }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#[component]
|
||||
pub fn IconsQ1() -> Element {
|
||||
let icons = [
|
||||
(
|
||||
|
|
|
|||
|
|
@ -460,7 +460,7 @@ pub fn IconsC() -> impl IntoView {
|
|||
(view! { <ChevronsRightLeft /> }.into_any(), "Chevrons Right Left"),
|
||||
(view! { <ChevronsUp /> }.into_any(), "Chevrons Up"),
|
||||
(view! { <ChevronsUpDown /> }.into_any(), "Chevrons Up Down"),
|
||||
(view! { <Chrome /> }.into_any(), "Chrome"),
|
||||
(view! { <Chromium /> }.into_any(), "Chromium"),
|
||||
(view! { <Church /> }.into_any(), "Church"),
|
||||
(view! { <Cigarette /> }.into_any(), "Cigarette"),
|
||||
(view! { <CigaretteOff /> }.into_any(), "Cigarette Off"),
|
||||
|
|
@ -1425,11 +1425,13 @@ pub fn IconsP() -> impl IntoView {
|
|||
(view! { <PanelLeftClose /> }.into_any(), "Panel Left Close"),
|
||||
(view! { <PanelLeftDashed /> }.into_any(), "Panel Left Dashed"),
|
||||
(view! { <PanelLeftOpen /> }.into_any(), "Panel Left Open"),
|
||||
(view! { <PanelLeftRightDashed /> }.into_any(), "Panel Left Right Dashed"),
|
||||
(view! { <PanelRight /> }.into_any(), "Panel Right"),
|
||||
(view! { <PanelRightClose /> }.into_any(), "Panel Right Close"),
|
||||
(view! { <PanelRightDashed /> }.into_any(), "Panel Right Dashed"),
|
||||
(view! { <PanelRightOpen /> }.into_any(), "Panel Right Open"),
|
||||
(view! { <PanelTop /> }.into_any(), "Panel Top"),
|
||||
(view! { <PanelTopBottomDashed /> }.into_any(), "Panel Top Bottom Dashed"),
|
||||
(view! { <PanelTopClose /> }.into_any(), "Panel Top Close"),
|
||||
(view! { <PanelTopDashed /> }.into_any(), "Panel Top Dashed"),
|
||||
(view! { <PanelTopOpen /> }.into_any(), "Panel Top Open"),
|
||||
|
|
|
|||
|
|
@ -477,7 +477,7 @@ pub fn IconsC() -> Html {
|
|||
(html! { <ChevronsRightLeft /> }, "Chevrons Right Left"),
|
||||
(html! { <ChevronsUp /> }, "Chevrons Up"),
|
||||
(html! { <ChevronsUpDown /> }, "Chevrons Up Down"),
|
||||
(html! { <Chrome /> }, "Chrome"),
|
||||
(html! { <Chromium /> }, "Chromium"),
|
||||
(html! { <Church /> }, "Church"),
|
||||
(html! { <Cigarette /> }, "Cigarette"),
|
||||
(html! { <CigaretteOff /> }, "Cigarette Off"),
|
||||
|
|
@ -1447,11 +1447,19 @@ pub fn IconsP() -> Html {
|
|||
(html! { <PanelLeftClose /> }, "Panel Left Close"),
|
||||
(html! { <PanelLeftDashed /> }, "Panel Left Dashed"),
|
||||
(html! { <PanelLeftOpen /> }, "Panel Left Open"),
|
||||
(
|
||||
html! { <PanelLeftRightDashed /> },
|
||||
"Panel Left Right Dashed",
|
||||
),
|
||||
(html! { <PanelRight /> }, "Panel Right"),
|
||||
(html! { <PanelRightClose /> }, "Panel Right Close"),
|
||||
(html! { <PanelRightDashed /> }, "Panel Right Dashed"),
|
||||
(html! { <PanelRightOpen /> }, "Panel Right Open"),
|
||||
(html! { <PanelTop /> }, "Panel Top"),
|
||||
(
|
||||
html! { <PanelTopBottomDashed /> },
|
||||
"Panel Top Bottom Dashed",
|
||||
),
|
||||
(html! { <PanelTopClose /> }, "Panel Top Close"),
|
||||
(html! { <PanelTopDashed /> }, "Panel Top Dashed"),
|
||||
(html! { <PanelTopOpen /> }, "Panel Top Open"),
|
||||
|
|
|
|||
|
|
@ -34,24 +34,23 @@ pub fn Building(props: BuildingProps) -> Element {
|
|||
"stroke-width": "{stroke_width}",
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
rect {
|
||||
"width": "16",
|
||||
"height": "20",
|
||||
"x": "4",
|
||||
"y": "2",
|
||||
"rx": "2",
|
||||
"ry": "2",
|
||||
}
|
||||
path { "d": "M9 22v-4h6v4" }
|
||||
path { "d": "M8 6h.01" }
|
||||
path { "d": "M16 6h.01" }
|
||||
path { "d": "M12 6h.01" }
|
||||
path { "d": "M12 10h.01" }
|
||||
path { "d": "M12 14h.01" }
|
||||
path { "d": "M12 6h.01" }
|
||||
path { "d": "M16 10h.01" }
|
||||
path { "d": "M16 14h.01" }
|
||||
path { "d": "M16 6h.01" }
|
||||
path { "d": "M8 10h.01" }
|
||||
path { "d": "M8 14h.01" }
|
||||
path { "d": "M8 6h.01" }
|
||||
path { "d": "M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3" }
|
||||
rect {
|
||||
"x": "4",
|
||||
"y": "2",
|
||||
"width": "16",
|
||||
"height": "20",
|
||||
"rx": "2",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
44
packages/dioxus/src/chromium.rs
Normal file
44
packages/dioxus/src/chromium.rs
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
use dioxus::prelude::*;
|
||||
#[derive(Clone, PartialEq, Props)]
|
||||
pub struct ChromiumProps {
|
||||
#[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 Chromium(props: ChromiumProps) -> 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.88 21.94 15.46 14" }
|
||||
path { "d": "M21.17 8H12" }
|
||||
path { "d": "M3.95 6.06 8.54 14" }
|
||||
circle { "cx": "12", "cy": "12", "r": "10" }
|
||||
circle { "cx": "12", "cy": "12", "r": "4" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -34,20 +34,20 @@ pub fn Cog(props: CogProps) -> Element {
|
|||
"stroke-width": "{stroke_width}",
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
path { "d": "M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z" }
|
||||
path { "d": "M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" }
|
||||
path { "d": "M12 2v2" }
|
||||
path { "d": "M12 22v-2" }
|
||||
path { "d": "m17 20.66-1-1.73" }
|
||||
path { "d": "M11 10.27 7 3.34" }
|
||||
path { "d": "m20.66 17-1.73-1" }
|
||||
path { "d": "m3.34 7 1.73 1" }
|
||||
path { "d": "m11 13.73-4 6.93" }
|
||||
path { "d": "M12 22v-2" }
|
||||
path { "d": "M12 2v2" }
|
||||
path { "d": "M14 12h8" }
|
||||
path { "d": "m17 20.66-1-1.73" }
|
||||
path { "d": "m17 3.34-1 1.73" }
|
||||
path { "d": "M2 12h2" }
|
||||
path { "d": "m20.66 17-1.73-1" }
|
||||
path { "d": "m20.66 7-1.73 1" }
|
||||
path { "d": "m3.34 17 1.73-1" }
|
||||
path { "d": "m17 3.34-1 1.73" }
|
||||
path { "d": "m11 13.73-4 6.93" }
|
||||
path { "d": "m3.34 7 1.73 1" }
|
||||
circle { "cx": "12", "cy": "12", "r": "2" }
|
||||
circle { "cx": "12", "cy": "12", "r": "8" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -807,7 +807,7 @@ mod chevrons_up;
|
|||
#[cfg(feature = "arrows")]
|
||||
mod chevrons_up_down;
|
||||
#[cfg(feature = "brands")]
|
||||
mod chrome;
|
||||
mod chromium;
|
||||
#[cfg(any(feature = "buildings", feature = "navigation"))]
|
||||
mod church;
|
||||
#[cfg(any(feature = "travel", feature = "transportation", feature = "medical"))]
|
||||
|
|
@ -2593,6 +2593,8 @@ mod panel_left_dashed;
|
|||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_left_open;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_left_right_dashed;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_right;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_right_close;
|
||||
|
|
@ -2602,6 +2604,8 @@ mod panel_right_dashed;
|
|||
mod panel_right_open;
|
||||
#[cfg(any(feature = "layout", feature = "design", feature = "development"))]
|
||||
mod panel_top;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_top_bottom_dashed;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_top_close;
|
||||
#[cfg(feature = "layout")]
|
||||
|
|
@ -4956,7 +4960,7 @@ pub use chevrons_up::*;
|
|||
#[cfg(feature = "arrows")]
|
||||
pub use chevrons_up_down::*;
|
||||
#[cfg(feature = "brands")]
|
||||
pub use chrome::*;
|
||||
pub use chromium::*;
|
||||
#[cfg(any(feature = "buildings", feature = "navigation"))]
|
||||
pub use church::*;
|
||||
#[cfg(any(feature = "travel", feature = "transportation", feature = "medical"))]
|
||||
|
|
@ -6742,6 +6746,8 @@ pub use panel_left_dashed::*;
|
|||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_left_open::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_left_right_dashed::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_right::*;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_right_close::*;
|
||||
|
|
@ -6751,6 +6757,8 @@ pub use panel_right_dashed::*;
|
|||
pub use panel_right_open::*;
|
||||
#[cfg(any(feature = "layout", feature = "design", feature = "development"))]
|
||||
pub use panel_top::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_top_bottom_dashed::*;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_top_close::*;
|
||||
#[cfg(feature = "layout")]
|
||||
|
|
|
|||
54
packages/dioxus/src/panel_left_right_dashed.rs
Normal file
54
packages/dioxus/src/panel_left_right_dashed.rs
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
use dioxus::prelude::*;
|
||||
#[derive(Clone, PartialEq, Props)]
|
||||
pub struct PanelLeftRightDashedProps {
|
||||
#[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 PanelLeftRightDashed(props: PanelLeftRightDashedProps) -> Element {
|
||||
let stroke_width = if props.absolute_stroke_width {
|
||||
props.stroke_width * 24 / props.size
|
||||
} else {
|
||||
props.stroke_width
|
||||
};
|
||||
rsx! {
|
||||
svg {
|
||||
"xmlns": "http://www.w3.org/2000/svg",
|
||||
"class": if let Some(class) = props.class { "{class}" },
|
||||
"style": if let Some(style) = props.style { "{style}" },
|
||||
"width": "{props.size}",
|
||||
"height": "{props.size}",
|
||||
"viewBox": "0 0 24 24",
|
||||
"fill": "{props.fill}",
|
||||
"stroke": "{props.color}",
|
||||
"stroke-width": "{stroke_width}",
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
path { "d": "M16 10V9" }
|
||||
path { "d": "M16 15v-1" }
|
||||
path { "d": "M16 21v-2" }
|
||||
path { "d": "M16 5V3" }
|
||||
path { "d": "M8 10V9" }
|
||||
path { "d": "M8 15v-1" }
|
||||
path { "d": "M8 21v-2" }
|
||||
path { "d": "M8 5V3" }
|
||||
rect {
|
||||
"x": "3",
|
||||
"y": "3",
|
||||
"width": "18",
|
||||
"height": "18",
|
||||
"rx": "2",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
54
packages/dioxus/src/panel_top_bottom_dashed.rs
Normal file
54
packages/dioxus/src/panel_top_bottom_dashed.rs
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
use dioxus::prelude::*;
|
||||
#[derive(Clone, PartialEq, Props)]
|
||||
pub struct PanelTopBottomDashedProps {
|
||||
#[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 PanelTopBottomDashed(props: PanelTopBottomDashedProps) -> Element {
|
||||
let stroke_width = if props.absolute_stroke_width {
|
||||
props.stroke_width * 24 / props.size
|
||||
} else {
|
||||
props.stroke_width
|
||||
};
|
||||
rsx! {
|
||||
svg {
|
||||
"xmlns": "http://www.w3.org/2000/svg",
|
||||
"class": if let Some(class) = props.class { "{class}" },
|
||||
"style": if let Some(style) = props.style { "{style}" },
|
||||
"width": "{props.size}",
|
||||
"height": "{props.size}",
|
||||
"viewBox": "0 0 24 24",
|
||||
"fill": "{props.fill}",
|
||||
"stroke": "{props.color}",
|
||||
"stroke-width": "{stroke_width}",
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
path { "d": "M14 16h1" }
|
||||
path { "d": "M14 8h1" }
|
||||
path { "d": "M19 16h2" }
|
||||
path { "d": "M19 8h2" }
|
||||
path { "d": "M3 16h2" }
|
||||
path { "d": "M3 8h2" }
|
||||
path { "d": "M9 16h1" }
|
||||
path { "d": "M9 8h1" }
|
||||
rect {
|
||||
"x": "3",
|
||||
"y": "3",
|
||||
"width": "18",
|
||||
"height": "18",
|
||||
"rx": "2",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -34,10 +34,17 @@ pub fn Wallpaper(props: WallpaperProps) -> Element {
|
|||
"stroke-width": "{stroke_width}",
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
circle { "cx": "8", "cy": "9", "r": "2" }
|
||||
path { "d": "m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2" }
|
||||
path { "d": "M8 21h8" }
|
||||
path { "d": "M12 17v4" }
|
||||
path { "d": "M8 21h8" }
|
||||
path { "d": "m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15" }
|
||||
circle { "cx": "8", "cy": "9", "r": "2" }
|
||||
rect {
|
||||
"x": "2",
|
||||
"y": "3",
|
||||
"width": "20",
|
||||
"height": "14",
|
||||
"rx": "2",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,17 +29,17 @@ pub fn Building(
|
|||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="16" height="20" x="4" y="2" rx="2" ry="2" />
|
||||
<path d="M9 22v-4h6v4" />
|
||||
<path d="M8 6h.01" />
|
||||
<path d="M16 6h.01" />
|
||||
<path d="M12 6h.01" />
|
||||
<path d="M12 10h.01" />
|
||||
<path d="M12 14h.01" />
|
||||
<path d="M12 6h.01" />
|
||||
<path d="M16 10h.01" />
|
||||
<path d="M16 14h.01" />
|
||||
<path d="M16 6h.01" />
|
||||
<path d="M8 10h.01" />
|
||||
<path d="M8 14h.01" />
|
||||
<path d="M8 6h.01" />
|
||||
<path d="M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3" />
|
||||
<rect x="4" y="2" width="16" height="20" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
39
packages/leptos/src/chromium.rs
Normal file
39
packages/leptos/src/chromium.rs
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
use leptos::{prelude::*, svg::Svg};
|
||||
#[component]
|
||||
pub fn Chromium(
|
||||
#[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="M10.88 21.94 15.46 14" />
|
||||
<path d="M21.17 8H12" />
|
||||
<path d="M3.95 6.06 8.54 14" />
|
||||
<circle cx="12" cy="12" r="10" />
|
||||
<circle cx="12" cy="12" r="4" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
@ -29,20 +29,20 @@ pub fn Cog(
|
|||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z" />
|
||||
<path d="M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" />
|
||||
<path d="M12 2v2" />
|
||||
<path d="M12 22v-2" />
|
||||
<path d="m17 20.66-1-1.73" />
|
||||
<path d="M11 10.27 7 3.34" />
|
||||
<path d="m20.66 17-1.73-1" />
|
||||
<path d="m3.34 7 1.73 1" />
|
||||
<path d="m11 13.73-4 6.93" />
|
||||
<path d="M12 22v-2" />
|
||||
<path d="M12 2v2" />
|
||||
<path d="M14 12h8" />
|
||||
<path d="m17 20.66-1-1.73" />
|
||||
<path d="m17 3.34-1 1.73" />
|
||||
<path d="M2 12h2" />
|
||||
<path d="m20.66 17-1.73-1" />
|
||||
<path d="m20.66 7-1.73 1" />
|
||||
<path d="m3.34 17 1.73-1" />
|
||||
<path d="m17 3.34-1 1.73" />
|
||||
<path d="m11 13.73-4 6.93" />
|
||||
<path d="m3.34 7 1.73 1" />
|
||||
<circle cx="12" cy="12" r="2" />
|
||||
<circle cx="12" cy="12" r="8" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -807,7 +807,7 @@ mod chevrons_up;
|
|||
#[cfg(feature = "arrows")]
|
||||
mod chevrons_up_down;
|
||||
#[cfg(feature = "brands")]
|
||||
mod chrome;
|
||||
mod chromium;
|
||||
#[cfg(any(feature = "buildings", feature = "navigation"))]
|
||||
mod church;
|
||||
#[cfg(any(feature = "travel", feature = "transportation", feature = "medical"))]
|
||||
|
|
@ -2593,6 +2593,8 @@ mod panel_left_dashed;
|
|||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_left_open;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_left_right_dashed;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_right;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_right_close;
|
||||
|
|
@ -2602,6 +2604,8 @@ mod panel_right_dashed;
|
|||
mod panel_right_open;
|
||||
#[cfg(any(feature = "layout", feature = "design", feature = "development"))]
|
||||
mod panel_top;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_top_bottom_dashed;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_top_close;
|
||||
#[cfg(feature = "layout")]
|
||||
|
|
@ -4956,7 +4960,7 @@ pub use chevrons_up::*;
|
|||
#[cfg(feature = "arrows")]
|
||||
pub use chevrons_up_down::*;
|
||||
#[cfg(feature = "brands")]
|
||||
pub use chrome::*;
|
||||
pub use chromium::*;
|
||||
#[cfg(any(feature = "buildings", feature = "navigation"))]
|
||||
pub use church::*;
|
||||
#[cfg(any(feature = "travel", feature = "transportation", feature = "medical"))]
|
||||
|
|
@ -6742,6 +6746,8 @@ pub use panel_left_dashed::*;
|
|||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_left_open::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_left_right_dashed::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_right::*;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_right_close::*;
|
||||
|
|
@ -6751,6 +6757,8 @@ pub use panel_right_dashed::*;
|
|||
pub use panel_right_open::*;
|
||||
#[cfg(any(feature = "layout", feature = "design", feature = "development"))]
|
||||
pub use panel_top::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_top_bottom_dashed::*;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_top_close::*;
|
||||
#[cfg(feature = "layout")]
|
||||
|
|
|
|||
43
packages/leptos/src/panel_left_right_dashed.rs
Normal file
43
packages/leptos/src/panel_left_right_dashed.rs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
use leptos::{prelude::*, svg::Svg};
|
||||
#[component]
|
||||
pub fn PanelLeftRightDashed(
|
||||
#[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="M16 10V9" />
|
||||
<path d="M16 15v-1" />
|
||||
<path d="M16 21v-2" />
|
||||
<path d="M16 5V3" />
|
||||
<path d="M8 10V9" />
|
||||
<path d="M8 15v-1" />
|
||||
<path d="M8 21v-2" />
|
||||
<path d="M8 5V3" />
|
||||
<rect x="3" y="3" width="18" height="18" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
43
packages/leptos/src/panel_top_bottom_dashed.rs
Normal file
43
packages/leptos/src/panel_top_bottom_dashed.rs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
use leptos::{prelude::*, svg::Svg};
|
||||
#[component]
|
||||
pub fn PanelTopBottomDashed(
|
||||
#[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="M14 16h1" />
|
||||
<path d="M14 8h1" />
|
||||
<path d="M19 16h2" />
|
||||
<path d="M19 8h2" />
|
||||
<path d="M3 16h2" />
|
||||
<path d="M3 8h2" />
|
||||
<path d="M9 16h1" />
|
||||
<path d="M9 8h1" />
|
||||
<rect x="3" y="3" width="18" height="18" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
@ -29,10 +29,11 @@ pub fn Wallpaper(
|
|||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<circle cx="8" cy="9" r="2" />
|
||||
<path d="m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2" />
|
||||
<path d="M8 21h8" />
|
||||
<path d="M12 17v4" />
|
||||
<path d="M8 21h8" />
|
||||
<path d="m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15" />
|
||||
<circle cx="8" cy="9" r="2" />
|
||||
<rect x="2" y="3" width="20" height="14" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,17 +41,17 @@ pub fn Building(props: &BuildingProps) -> Html {
|
|||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="16" height="20" x="4" y="2" rx="2" ry="2" />
|
||||
<path d="M9 22v-4h6v4" />
|
||||
<path d="M8 6h.01" />
|
||||
<path d="M16 6h.01" />
|
||||
<path d="M12 6h.01" />
|
||||
<path d="M12 10h.01" />
|
||||
<path d="M12 14h.01" />
|
||||
<path d="M12 6h.01" />
|
||||
<path d="M16 10h.01" />
|
||||
<path d="M16 14h.01" />
|
||||
<path d="M16 6h.01" />
|
||||
<path d="M8 10h.01" />
|
||||
<path d="M8 14h.01" />
|
||||
<path d="M8 6h.01" />
|
||||
<path d="M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3" />
|
||||
<rect x="4" y="2" width="16" height="20" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
51
packages/yew/src/chromium.rs
Normal file
51
packages/yew/src/chromium.rs
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
use yew::prelude::*;
|
||||
#[derive(PartialEq, Properties)]
|
||||
pub struct ChromiumProps {
|
||||
#[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 Chromium(props: &ChromiumProps) -> 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="M10.88 21.94 15.46 14" />
|
||||
<path d="M21.17 8H12" />
|
||||
<path d="M3.95 6.06 8.54 14" />
|
||||
<circle cx="12" cy="12" r="10" />
|
||||
<circle cx="12" cy="12" r="4" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
@ -41,20 +41,20 @@ pub fn Cog(props: &CogProps) -> Html {
|
|||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z" />
|
||||
<path d="M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" />
|
||||
<path d="M12 2v2" />
|
||||
<path d="M12 22v-2" />
|
||||
<path d="m17 20.66-1-1.73" />
|
||||
<path d="M11 10.27 7 3.34" />
|
||||
<path d="m20.66 17-1.73-1" />
|
||||
<path d="m3.34 7 1.73 1" />
|
||||
<path d="m11 13.73-4 6.93" />
|
||||
<path d="M12 22v-2" />
|
||||
<path d="M12 2v2" />
|
||||
<path d="M14 12h8" />
|
||||
<path d="m17 20.66-1-1.73" />
|
||||
<path d="m17 3.34-1 1.73" />
|
||||
<path d="M2 12h2" />
|
||||
<path d="m20.66 17-1.73-1" />
|
||||
<path d="m20.66 7-1.73 1" />
|
||||
<path d="m3.34 17 1.73-1" />
|
||||
<path d="m17 3.34-1 1.73" />
|
||||
<path d="m11 13.73-4 6.93" />
|
||||
<path d="m3.34 7 1.73 1" />
|
||||
<circle cx="12" cy="12" r="2" />
|
||||
<circle cx="12" cy="12" r="8" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -809,7 +809,7 @@ mod chevrons_up;
|
|||
#[cfg(feature = "arrows")]
|
||||
mod chevrons_up_down;
|
||||
#[cfg(feature = "brands")]
|
||||
mod chrome;
|
||||
mod chromium;
|
||||
#[cfg(any(feature = "buildings", feature = "navigation"))]
|
||||
mod church;
|
||||
#[cfg(any(feature = "travel", feature = "transportation", feature = "medical"))]
|
||||
|
|
@ -2595,6 +2595,8 @@ mod panel_left_dashed;
|
|||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_left_open;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_left_right_dashed;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_right;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_right_close;
|
||||
|
|
@ -2604,6 +2606,8 @@ mod panel_right_dashed;
|
|||
mod panel_right_open;
|
||||
#[cfg(any(feature = "layout", feature = "design", feature = "development"))]
|
||||
mod panel_top;
|
||||
#[cfg(feature = "layout")]
|
||||
mod panel_top_bottom_dashed;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
mod panel_top_close;
|
||||
#[cfg(feature = "layout")]
|
||||
|
|
@ -4958,7 +4962,7 @@ pub use chevrons_up::*;
|
|||
#[cfg(feature = "arrows")]
|
||||
pub use chevrons_up_down::*;
|
||||
#[cfg(feature = "brands")]
|
||||
pub use chrome::*;
|
||||
pub use chromium::*;
|
||||
#[cfg(any(feature = "buildings", feature = "navigation"))]
|
||||
pub use church::*;
|
||||
#[cfg(any(feature = "travel", feature = "transportation", feature = "medical"))]
|
||||
|
|
@ -6744,6 +6748,8 @@ pub use panel_left_dashed::*;
|
|||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_left_open::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_left_right_dashed::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_right::*;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_right_close::*;
|
||||
|
|
@ -6753,6 +6759,8 @@ pub use panel_right_dashed::*;
|
|||
pub use panel_right_open::*;
|
||||
#[cfg(any(feature = "layout", feature = "design", feature = "development"))]
|
||||
pub use panel_top::*;
|
||||
#[cfg(feature = "layout")]
|
||||
pub use panel_top_bottom_dashed::*;
|
||||
#[cfg(any(feature = "layout", feature = "arrows"))]
|
||||
pub use panel_top_close::*;
|
||||
#[cfg(feature = "layout")]
|
||||
|
|
|
|||
55
packages/yew/src/panel_left_right_dashed.rs
Normal file
55
packages/yew/src/panel_left_right_dashed.rs
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
use yew::prelude::*;
|
||||
#[derive(PartialEq, Properties)]
|
||||
pub struct PanelLeftRightDashedProps {
|
||||
#[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 PanelLeftRightDashed(props: &PanelLeftRightDashedProps) -> 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="M16 10V9" />
|
||||
<path d="M16 15v-1" />
|
||||
<path d="M16 21v-2" />
|
||||
<path d="M16 5V3" />
|
||||
<path d="M8 10V9" />
|
||||
<path d="M8 15v-1" />
|
||||
<path d="M8 21v-2" />
|
||||
<path d="M8 5V3" />
|
||||
<rect x="3" y="3" width="18" height="18" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
55
packages/yew/src/panel_top_bottom_dashed.rs
Normal file
55
packages/yew/src/panel_top_bottom_dashed.rs
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
use yew::prelude::*;
|
||||
#[derive(PartialEq, Properties)]
|
||||
pub struct PanelTopBottomDashedProps {
|
||||
#[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 PanelTopBottomDashed(props: &PanelTopBottomDashedProps) -> 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="M14 16h1" />
|
||||
<path d="M14 8h1" />
|
||||
<path d="M19 16h2" />
|
||||
<path d="M19 8h2" />
|
||||
<path d="M3 16h2" />
|
||||
<path d="M3 8h2" />
|
||||
<path d="M9 16h1" />
|
||||
<path d="M9 8h1" />
|
||||
<rect x="3" y="3" width="18" height="18" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
@ -41,12 +41,11 @@ pub fn Wallpaper(props: &WallpaperProps) -> Html {
|
|||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<circle cx="8" cy="9" r="2" />
|
||||
<path
|
||||
d="m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"
|
||||
/>
|
||||
<path d="M8 21h8" />
|
||||
<path d="M12 17v4" />
|
||||
<path d="M8 21h8" />
|
||||
<path d="m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15" />
|
||||
<circle cx="8" cy="9" r="2" />
|
||||
<rect x="2" y="3" width="20" height="14" rx="2" />
|
||||
</svg>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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.540.0";
|
||||
pub const UPSTREAM_GIT_REF: &str = "0.541.0";
|
||||
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";
|
||||
|
|
|
|||
Loading…
Reference in a new issue