diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs
index 5b53b60..33f3dfe 100644
--- a/book-examples/dioxus/src/icons.rs
+++ b/book-examples/dioxus/src/icons.rs
@@ -2399,6 +2399,12 @@ pub fn IconsC2() -> Element {
},
"Circle Small",
),
+ (
+ rsx! {
+ CircleStar {}
+ },
+ "Circle Star",
+ ),
(
rsx! {
CircleStop {}
@@ -2783,12 +2789,6 @@ pub fn IconsC2() -> Element {
},
"Coffee",
),
- (
- rsx! {
- Cog {}
- },
- "Cog",
- ),
];
rsx! {
for (icon , name) in icons {
@@ -2804,6 +2804,12 @@ pub fn IconsC2() -> Element {
#[component]
pub fn IconsC3() -> Element {
let icons = [
+ (
+ rsx! {
+ Cog {}
+ },
+ "Cog",
+ ),
(
rsx! {
Coins {}
@@ -8765,6 +8771,12 @@ pub fn IconsS2() -> Element {
},
"Square Stack",
),
+ (
+ rsx! {
+ SquareStar {}
+ },
+ "Square Star",
+ ),
(
rsx! {
SquareStop {}
@@ -8897,12 +8909,6 @@ pub fn IconsS2() -> Element {
},
"Store",
),
- (
- rsx! {
- StretchHorizontal {}
- },
- "Stretch Horizontal",
- ),
];
rsx! {
for (icon , name) in icons {
@@ -8918,6 +8924,12 @@ pub fn IconsS2() -> Element {
#[component]
pub fn IconsS3() -> Element {
let icons = [
+ (
+ rsx! {
+ StretchHorizontal {}
+ },
+ "Stretch Horizontal",
+ ),
(
rsx! {
StretchVertical {}
diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs
index 6b02376..fdff673 100644
--- a/book-examples/leptos/src/icons.rs
+++ b/book-examples/leptos/src/icons.rs
@@ -503,6 +503,7 @@ pub fn IconsC() -> impl IntoView {
(view! { }.into_any(), "Circle Slash"),
(view! { }.into_any(), "Circle Slash 2"),
(view! { }.into_any(), "Circle Small"),
+ (view! { }.into_any(), "Circle Star"),
(view! { }.into_any(), "Circle Stop"),
(view! { }.into_any(), "Circle User"),
(view! { }.into_any(), "Circle User Round"),
@@ -1798,6 +1799,7 @@ pub fn IconsS() -> impl IntoView {
(view! { }.into_any(), "Square Split Vertical"),
(view! { }.into_any(), "Square Square"),
(view! { }.into_any(), "Square Stack"),
+ (view! { }.into_any(), "Square Star"),
(view! { }.into_any(), "Square Stop"),
(view! { }.into_any(), "Square Terminal"),
(view! { }.into_any(), "Square User"),
diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs
index f5d098a..9ce4f24 100644
--- a/book-examples/yew/src/icons.rs
+++ b/book-examples/yew/src/icons.rs
@@ -532,6 +532,7 @@ pub fn IconsC() -> Html {
(html! { }, "Circle Slash"),
(html! { }, "Circle Slash 2"),
(html! { }, "Circle Small"),
+ (html! { }, "Circle Star"),
(html! { }, "Circle Stop"),
(html! { }, "Circle User"),
(html! { }, "Circle User Round"),
@@ -1844,6 +1845,7 @@ pub fn IconsS() -> Html {
(html! { }, "Square Split Vertical"),
(html! { }, "Square Square"),
(html! { }, "Square Stack"),
+ (html! { }, "Square Star"),
(html! { }, "Square Stop"),
(html! { }, "Square Terminal"),
(html! { }, "Square User"),
diff --git a/packages/dioxus/src/circle_star.rs b/packages/dioxus/src/circle_star.rs
new file mode 100644
index 0000000..321d069
--- /dev/null
+++ b/packages/dioxus/src/circle_star.rs
@@ -0,0 +1,41 @@
+use dioxus::prelude::*;
+#[derive(Clone, PartialEq, Props)]
+pub struct CircleStarProps {
+ #[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 CircleStar(props: CircleStarProps) -> 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": "M11.051 7.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.867l-1.156-1.152a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z" }
+ circle { "cx": "12", "cy": "12", "r": "10" }
+ }
+ }
+}
diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs
index f628a32..4b65c00 100644
--- a/packages/dioxus/src/lib.rs
+++ b/packages/dioxus/src/lib.rs
@@ -902,6 +902,8 @@ mod circle_slash;
mod circle_slash_2;
#[cfg(any(feature = "shapes", feature = "medical"))]
mod circle_small;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+mod circle_star;
#[cfg(feature = "multimedia")]
mod circle_stop;
#[cfg(feature = "account")]
@@ -3536,6 +3538,8 @@ mod square_split_vertical;
mod square_square;
#[cfg(any(feature = "text", feature = "files", feature = "development"))]
mod square_stack;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+mod square_star;
#[cfg(feature = "multimedia")]
mod square_stop;
#[cfg(feature = "development")]
@@ -5035,6 +5039,8 @@ pub use circle_slash::*;
pub use circle_slash_2::*;
#[cfg(any(feature = "shapes", feature = "medical"))]
pub use circle_small::*;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+pub use circle_star::*;
#[cfg(feature = "multimedia")]
pub use circle_stop::*;
#[cfg(feature = "account")]
@@ -7669,6 +7675,8 @@ pub use square_split_vertical::*;
pub use square_square::*;
#[cfg(any(feature = "text", feature = "files", feature = "development"))]
pub use square_stack::*;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+pub use square_star::*;
#[cfg(feature = "multimedia")]
pub use square_stop::*;
#[cfg(feature = "development")]
diff --git a/packages/dioxus/src/school.rs b/packages/dioxus/src/school.rs
index 896afbe..252a894 100644
--- a/packages/dioxus/src/school.rs
+++ b/packages/dioxus/src/school.rs
@@ -34,11 +34,11 @@ pub fn School(props: SchoolProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
- path { "d": "M14 22v-4a2 2 0 1 0-4 0v4" }
- path { "d": "m18 10 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.382a1 1 0 0 1 .553-.894L6 10" }
- path { "d": "M18 5v17" }
- path { "d": "m4 6 7.106-3.553a2 2 0 0 1 1.788 0L20 6" }
- path { "d": "M6 5v17" }
+ path { "d": "M14 21v-3a2 2 0 0 0-4 0v3" }
+ path { "d": "M18 5v16" }
+ path { "d": "m4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6" }
+ path { "d": "m6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11" }
+ path { "d": "M6 5v16" }
circle { "cx": "12", "cy": "9", "r": "2" }
}
}
diff --git a/packages/dioxus/src/spade.rs b/packages/dioxus/src/spade.rs
index 134c4ea..5fc7214 100644
--- a/packages/dioxus/src/spade.rs
+++ b/packages/dioxus/src/spade.rs
@@ -34,8 +34,8 @@ pub fn Spade(props: SpadeProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
- path { "d": "M5 9c-1.5 1.5-3 3.2-3 5.5A5.5 5.5 0 0 0 7.5 20c1.8 0 3-.5 4.5-2 1.5 1.5 2.7 2 4.5 2a5.5 5.5 0 0 0 5.5-5.5c0-2.3-1.5-4-3-5.5l-7-7-7 7Z" }
path { "d": "M12 18v4" }
+ path { "d": "M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5" }
}
}
}
diff --git a/packages/dioxus/src/square_star.rs b/packages/dioxus/src/square_star.rs
new file mode 100644
index 0000000..0fbdce7
--- /dev/null
+++ b/packages/dioxus/src/square_star.rs
@@ -0,0 +1,47 @@
+use dioxus::prelude::*;
+#[derive(Clone, PartialEq, Props)]
+pub struct SquareStarProps {
+ #[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 SquareStar(props: SquareStarProps) -> 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": "M11.035 7.69a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z" }
+ rect {
+ "x": "3",
+ "y": "3",
+ "width": "18",
+ "height": "18",
+ "rx": "2",
+ }
+ }
+ }
+}
diff --git a/packages/leptos/src/circle_star.rs b/packages/leptos/src/circle_star.rs
new file mode 100644
index 0000000..65f4103
--- /dev/null
+++ b/packages/leptos/src/circle_star.rs
@@ -0,0 +1,36 @@
+use leptos::{prelude::*, svg::Svg};
+#[component]
+pub fn CircleStar(
+ #[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
}
diff --git a/packages/leptos/src/spade.rs b/packages/leptos/src/spade.rs
index 8d1ee25..ccb00cb 100644
--- a/packages/leptos/src/spade.rs
+++ b/packages/leptos/src/spade.rs
@@ -29,8 +29,8 @@ pub fn Spade(
stroke-linecap="round"
stroke-linejoin="round"
>
-
+
}
}
diff --git a/packages/leptos/src/square_star.rs b/packages/leptos/src/square_star.rs
new file mode 100644
index 0000000..05d3a73
--- /dev/null
+++ b/packages/leptos/src/square_star.rs
@@ -0,0 +1,36 @@
+use leptos::{prelude::*, svg::Svg};
+#[component]
+pub fn SquareStar(
+ #[prop(default = 24.into(), into)] size: Signal,
+ #[prop(default = "currentColor".into(), into)] color: Signal,
+ #[prop(default = "none".into(), into)] fill: Signal,
+ #[prop(default = 2.into(), into)] stroke_width: Signal,
+ #[prop(default = false.into(), into)] absolute_stroke_width: Signal,
+ #[prop(optional)] node_ref: NodeRef,
+) -> impl IntoView {
+ let stroke_width = Signal::derive(move || {
+ if absolute_stroke_width.get() {
+ stroke_width.get() * 24 / size.get()
+ } else {
+ stroke_width.get()
+ }
+ });
+ view! {
+
+
+
+
+ }
+}
diff --git a/packages/yew/src/circle_star.rs b/packages/yew/src/circle_star.rs
new file mode 100644
index 0000000..c83b81d
--- /dev/null
+++ b/packages/yew/src/circle_star.rs
@@ -0,0 +1,50 @@
+use yew::prelude::*;
+#[derive(PartialEq, Properties)]
+pub struct CircleStarProps {
+ #[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,
+}
+#[function_component]
+pub fn CircleStar(props: &CircleStarProps) -> 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 9cbb3c1..9d4650f 100644
--- a/packages/yew/src/lib.rs
+++ b/packages/yew/src/lib.rs
@@ -904,6 +904,8 @@ mod circle_slash;
mod circle_slash_2;
#[cfg(any(feature = "shapes", feature = "medical"))]
mod circle_small;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+mod circle_star;
#[cfg(feature = "multimedia")]
mod circle_stop;
#[cfg(feature = "account")]
@@ -3538,6 +3540,8 @@ mod square_split_vertical;
mod square_square;
#[cfg(any(feature = "text", feature = "files", feature = "development"))]
mod square_stack;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+mod square_star;
#[cfg(feature = "multimedia")]
mod square_stop;
#[cfg(feature = "development")]
@@ -5037,6 +5041,8 @@ pub use circle_slash::*;
pub use circle_slash_2::*;
#[cfg(any(feature = "shapes", feature = "medical"))]
pub use circle_small::*;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+pub use circle_star::*;
#[cfg(feature = "multimedia")]
pub use circle_stop::*;
#[cfg(feature = "account")]
@@ -7671,6 +7677,8 @@ pub use square_split_vertical::*;
pub use square_square::*;
#[cfg(any(feature = "text", feature = "files", feature = "development"))]
pub use square_stack::*;
+#[cfg(any(feature = "sports", feature = "gaming"))]
+pub use square_star::*;
#[cfg(feature = "multimedia")]
pub use square_stop::*;
#[cfg(feature = "development")]
diff --git a/packages/yew/src/school.rs b/packages/yew/src/school.rs
index a032e3d..8da94c5 100644
--- a/packages/yew/src/school.rs
+++ b/packages/yew/src/school.rs
@@ -41,13 +41,13 @@ pub fn School(props: &SchoolProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
-
+
+
+
-
-
-
+
}
diff --git a/packages/yew/src/spade.rs b/packages/yew/src/spade.rs
index 08f65fa..afcbc27 100644
--- a/packages/yew/src/spade.rs
+++ b/packages/yew/src/spade.rs
@@ -41,10 +41,10 @@ pub fn Spade(props: &SpadeProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
+
-
}
}
diff --git a/packages/yew/src/square_star.rs b/packages/yew/src/square_star.rs
new file mode 100644
index 0000000..664cf8b
--- /dev/null
+++ b/packages/yew/src/square_star.rs
@@ -0,0 +1,50 @@
+use yew::prelude::*;
+#[derive(PartialEq, Properties)]
+pub struct SquareStarProps {
+ #[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,
+}
+#[function_component]
+pub fn SquareStar(props: &SquareStarProps) -> Html {
+ let stroke_width = if props.absolute_stroke_width {
+ props.stroke_width * 24 / props.size
+ } else {
+ props.stroke_width
+ };
+ html! {
+
+
+
+
+ }
+}
diff --git a/scripts/src/lib.rs b/scripts/src/lib.rs
index d274d0a..c1db583 100644
--- a/scripts/src/lib.rs
+++ b/scripts/src/lib.rs
@@ -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.536.0";
+pub const UPSTREAM_GIT_REF: &str = "0.537.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";