Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions book-examples/dioxus/src/icons.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5225,6 +5225,12 @@ pub fn IconsK1() -> Element {
},
"Kanban",
),
(
rsx! {
Kayak {}
},
"Kayak",
),
(
rsx! {
Key {}
Expand Down
1 change: 1 addition & 0 deletions book-examples/leptos/src/icons.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1091,6 +1091,7 @@ pub fn IconsK() -> impl IntoView {
<For
each=move || [
(view! { <Kanban /> }.into_any(), "Kanban"),
(view! { <Kayak /> }.into_any(), "Kayak"),
(view! { <Key /> }.into_any(), "Key"),
(view! { <KeyRound /> }.into_any(), "Key Round"),
(view! { <KeySquare /> }.into_any(), "Key Square"),
Expand Down
1 change: 1 addition & 0 deletions book-examples/yew/src/icons.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1118,6 +1118,7 @@ pub fn IconsJ() -> Html {
pub fn IconsK() -> Html {
let icons = [
(html! { <Kanban /> }, "Kanban"),
(html! { <Kayak /> }, "Kayak"),
(html! { <Key /> }, "Key"),
(html! { <KeyRound /> }, "Key Round"),
(html! { <KeySquare /> }, "Key Square"),
Expand Down
4 changes: 2 additions & 2 deletions packages/dioxus/src/apple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ pub fn Apple(props: AppleProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z" }
path { "d": "M10 2c1 .5 2 2 2 5" }
path { "d": "M12 6.528V3a1 1 0 0 1 1-1h0" }
path { "d": "M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21" }
}
}
}
43 changes: 43 additions & 0 deletions packages/dioxus/src/kayak.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct KayakProps {
#[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 Kayak(props: KayakProps) -> 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": "M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z" }
path { "d": "M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61" }
path { "d": "m6.707 6.707 10.586 10.586" }
path { "d": "M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z" }
}
}
}
4 changes: 4 additions & 0 deletions packages/dioxus/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2021,6 +2021,8 @@ mod japanese_yen;
mod joystick;
#[cfg(any(feature = "charts", feature = "development", feature = "design"))]
mod kanban;
#[cfg(feature = "transportation")]
mod kayak;
#[cfg(any(feature = "security", feature = "account"))]
mod key;
#[cfg(any(feature = "security", feature = "account"))]
Expand Down Expand Up @@ -6158,6 +6160,8 @@ pub use japanese_yen::*;
pub use joystick::*;
#[cfg(any(feature = "charts", feature = "development", feature = "design"))]
pub use kanban::*;
#[cfg(feature = "transportation")]
pub use kayak::*;
#[cfg(any(feature = "security", feature = "account"))]
pub use key::*;
#[cfg(any(feature = "security", feature = "account"))]
Expand Down
18 changes: 4 additions & 14 deletions packages/dioxus/src/mic_off.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,12 @@ pub fn MicOff(props: MicOffProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
line {
"x1": "2",
"x2": "22",
"y1": "2",
"y2": "22",
}
path { "d": "M18.89 13.23A7.12 7.12 0 0 0 19 12v-2" }
path { "d": "M5 10v2a7 7 0 0 0 12 5" }
path { "d": "M12 19v3" }
path { "d": "M15 9.34V5a3 3 0 0 0-5.68-1.33" }
path { "d": "M16.95 16.95A7 7 0 0 1 5 12v-2" }
path { "d": "M18.89 13.23A7 7 0 0 0 19 12v-2" }
path { "d": "m2 2 20 20" }
path { "d": "M9 9v3a3 3 0 0 0 5.12 2.12" }
line {
"x1": "12",
"x2": "12",
"y1": "19",
"y2": "22",
}
}
}
}
8 changes: 3 additions & 5 deletions packages/dioxus/src/store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,9 @@ pub fn Store(props: StoreProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7" }
path { "d": "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" }
path { "d": "M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4" }
path { "d": "M2 7h20" }
path { "d": "M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7" }
path { "d": "M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5" }
path { "d": "M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244" }
path { "d": "M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05" }
}
}
}
4 changes: 2 additions & 2 deletions packages/leptos/src/apple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ pub fn Apple(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z" />
<path d="M10 2c1 .5 2 2 2 5" />
<path d="M12 6.528V3a1 1 0 0 1 1-1h0" />
<path d="M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21" />
</svg>
}
}
38 changes: 38 additions & 0 deletions packages/leptos/src/kayak.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn Kayak(
#[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="M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z" />
<path d="M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61" />
<path d="m6.707 6.707 10.586 10.586" />
<path d="M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z" />
</svg>
}
}
4 changes: 4 additions & 0 deletions packages/leptos/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2021,6 +2021,8 @@ mod japanese_yen;
mod joystick;
#[cfg(any(feature = "charts", feature = "development", feature = "design"))]
mod kanban;
#[cfg(feature = "transportation")]
mod kayak;
#[cfg(any(feature = "security", feature = "account"))]
mod key;
#[cfg(any(feature = "security", feature = "account"))]
Expand Down Expand Up @@ -6158,6 +6160,8 @@ pub use japanese_yen::*;
pub use joystick::*;
#[cfg(any(feature = "charts", feature = "development", feature = "design"))]
pub use kanban::*;
#[cfg(feature = "transportation")]
pub use kayak::*;
#[cfg(any(feature = "security", feature = "account"))]
pub use key::*;
#[cfg(any(feature = "security", feature = "account"))]
Expand Down
8 changes: 4 additions & 4 deletions packages/leptos/src/mic_off.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ pub fn MicOff(
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="2" x2="22" y1="2" y2="22" />
<path d="M18.89 13.23A7.12 7.12 0 0 0 19 12v-2" />
<path d="M5 10v2a7 7 0 0 0 12 5" />
<path d="M12 19v3" />
<path d="M15 9.34V5a3 3 0 0 0-5.68-1.33" />
<path d="M16.95 16.95A7 7 0 0 1 5 12v-2" />
<path d="M18.89 13.23A7 7 0 0 0 19 12v-2" />
<path d="m2 2 20 20" />
<path d="M9 9v3a3 3 0 0 0 5.12 2.12" />
<line x1="12" x2="12" y1="19" y2="22" />
</svg>
}
}
8 changes: 3 additions & 5 deletions packages/leptos/src/store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,9 @@ pub fn Store(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7" />
<path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" />
<path d="M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4" />
<path d="M2 7h20" />
<path d="M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7" />
<path d="M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5" />
<path d="M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244" />
<path d="M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05" />
</svg>
}
}
4 changes: 2 additions & 2 deletions packages/yew/src/apple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ pub fn Apple(props: &AppleProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6.528V3a1 1 0 0 1 1-1h0" />
<path
d="M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"
d="M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21"
/>
<path d="M10 2c1 .5 2 2 2 5" />
</svg>
}
}
52 changes: 52 additions & 0 deletions packages/yew/src/kayak.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct KayakProps {
#[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 Kayak(props: &KayakProps) -> 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="M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z" />
<path
d="M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61"
/>
<path d="m6.707 6.707 10.586 10.586" />
<path d="M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z" />
</svg>
}
}
4 changes: 4 additions & 0 deletions packages/yew/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2023,6 +2023,8 @@ mod japanese_yen;
mod joystick;
#[cfg(any(feature = "charts", feature = "development", feature = "design"))]
mod kanban;
#[cfg(feature = "transportation")]
mod kayak;
#[cfg(any(feature = "security", feature = "account"))]
mod key;
#[cfg(any(feature = "security", feature = "account"))]
Expand Down Expand Up @@ -6160,6 +6162,8 @@ pub use japanese_yen::*;
pub use joystick::*;
#[cfg(any(feature = "charts", feature = "development", feature = "design"))]
pub use kanban::*;
#[cfg(feature = "transportation")]
pub use kayak::*;
#[cfg(any(feature = "security", feature = "account"))]
pub use key::*;
#[cfg(any(feature = "security", feature = "account"))]
Expand Down
8 changes: 4 additions & 4 deletions packages/yew/src/mic_off.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,12 @@ pub fn MicOff(props: &MicOffProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="2" x2="22" y1="2" y2="22" />
<path d="M18.89 13.23A7.12 7.12 0 0 0 19 12v-2" />
<path d="M5 10v2a7 7 0 0 0 12 5" />
<path d="M12 19v3" />
<path d="M15 9.34V5a3 3 0 0 0-5.68-1.33" />
<path d="M16.95 16.95A7 7 0 0 1 5 12v-2" />
<path d="M18.89 13.23A7 7 0 0 0 19 12v-2" />
<path d="m2 2 20 20" />
<path d="M9 9v3a3 3 0 0 0 5.12 2.12" />
<line x1="12" x2="12" y1="19" y2="22" />
</svg>
}
}
8 changes: 3 additions & 5 deletions packages/yew/src/store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,11 @@ pub fn Store(props: &StoreProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7" />
<path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" />
<path d="M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4" />
<path d="M2 7h20" />
<path d="M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5" />
<path
d="M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7"
d="M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"
/>
<path d="M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05" />
</svg>
}
}
2 changes: 1 addition & 1 deletion scripts/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.537.0";
pub const UPSTREAM_GIT_REF: &str = "0.538.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";
Loading