feat: update to upstream v0.518.0 (#95)

Co-authored-by: rust-for-web[bot] <191031261+rust-for-web[bot]@users.noreply.github.com>
This commit is contained in:
github-actions[bot] 2025-06-20 06:05:16 +00:00 committed by GitHub
parent 4913930dab
commit 36250ce306
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 1049 additions and 105 deletions

View file

@ -770,12 +770,6 @@ pub fn IconsB1() -> Element {
},
"Badge Euro",
),
(
rsx! {
BadgeHelp {}
},
"Badge Help",
),
(
rsx! {
BadgeIndianRupee {}
@ -818,6 +812,12 @@ pub fn IconsB1() -> Element {
},
"Badge Pound Sterling",
),
(
rsx! {
BadgeQuestionMark {}
},
"Badge Question Mark",
),
(
rsx! {
BadgeRussianRuble {}
@ -2303,12 +2303,6 @@ pub fn IconsC2() -> Element {
},
"Circle Gauge",
),
(
rsx! {
CircleHelp {}
},
"Circle Help",
),
(
rsx! {
CircleMinus {}
@ -2369,6 +2363,12 @@ pub fn IconsC2() -> Element {
},
"Circle Power",
),
(
rsx! {
CircleQuestionMark {}
},
"Circle Question Mark",
),
(
rsx! {
CircleSlash {}
@ -3323,6 +3323,12 @@ pub fn IconsD1() -> Element {
},
"Drill",
),
(
rsx! {
Drone {}
},
"Drone",
),
(
rsx! {
Droplet {}
@ -3793,9 +3799,9 @@ pub fn IconsF1() -> Element {
),
(
rsx! {
FileQuestion {}
FileQuestionMark {}
},
"File Question",
"File Question Mark",
),
(
rsx! {
@ -5689,9 +5695,9 @@ pub fn IconsM1() -> Element {
),
(
rsx! {
MailQuestion {}
MailQuestionMark {}
},
"Mail Question",
"Mail Question Mark",
),
(
rsx! {
@ -5923,9 +5929,9 @@ pub fn IconsM1() -> Element {
),
(
rsx! {
MessageCircleQuestion {}
MessageCircleQuestionMark {}
},
"Message Circle Question",
"Message Circle Question Mark",
),
(
rsx! {
@ -7972,9 +7978,9 @@ pub fn IconsS1() -> Element {
),
(
rsx! {
ShieldQuestion {}
ShieldQuestionMark {}
},
"Shield Question",
"Shield Question Mark",
),
(
rsx! {

View file

@ -213,7 +213,6 @@ pub fn IconsB() -> impl IntoView {
(view! { <BadgeCheck /> }.into_any(), "Badge Check"),
(view! { <BadgeDollarSign /> }.into_any(), "Badge Dollar Sign"),
(view! { <BadgeEuro /> }.into_any(), "Badge Euro"),
(view! { <BadgeHelp /> }.into_any(), "Badge Help"),
(view! { <BadgeIndianRupee /> }.into_any(), "Badge Indian Rupee"),
(view! { <BadgeInfo /> }.into_any(), "Badge Info"),
(view! { <BadgeJapaneseYen /> }.into_any(), "Badge Japanese Yen"),
@ -221,6 +220,7 @@ pub fn IconsB() -> impl IntoView {
(view! { <BadgePercent /> }.into_any(), "Badge Percent"),
(view! { <BadgePlus /> }.into_any(), "Badge Plus"),
(view! { <BadgePoundSterling /> }.into_any(), "Badge Pound Sterling"),
(view! { <BadgeQuestionMark /> }.into_any(), "Badge Question Mark"),
(view! { <BadgeRussianRuble /> }.into_any(), "Badge Russian Ruble"),
(view! { <BadgeSwissFranc /> }.into_any(), "Badge Swiss Franc"),
(view! { <BadgeX /> }.into_any(), "Badge X"),
@ -487,7 +487,6 @@ pub fn IconsC() -> impl IntoView {
(view! { <CircleFadingArrowUp /> }.into_any(), "Circle Fading Arrow Up"),
(view! { <CircleFadingPlus /> }.into_any(), "Circle Fading Plus"),
(view! { <CircleGauge /> }.into_any(), "Circle Gauge"),
(view! { <CircleHelp /> }.into_any(), "Circle Help"),
(view! { <CircleMinus /> }.into_any(), "Circle Minus"),
(view! { <CircleOff /> }.into_any(), "Circle Off"),
(view! { <CircleParking /> }.into_any(), "Circle Parking"),
@ -498,6 +497,7 @@ pub fn IconsC() -> impl IntoView {
(view! { <CirclePlus /> }.into_any(), "Circle Plus"),
(view! { <CirclePoundSterling /> }.into_any(), "Circle Pound Sterling"),
(view! { <CirclePower /> }.into_any(), "Circle Power"),
(view! { <CircleQuestionMark /> }.into_any(), "Circle Question Mark"),
(view! { <CircleSlash /> }.into_any(), "Circle Slash"),
(view! { <CircleSlash2 /> }.into_any(), "Circle Slash 2"),
(view! { <CircleSmall /> }.into_any(), "Circle Small"),
@ -669,6 +669,7 @@ pub fn IconsD() -> impl IntoView {
(view! { <Drama /> }.into_any(), "Drama"),
(view! { <Dribbble /> }.into_any(), "Dribbble"),
(view! { <Drill /> }.into_any(), "Drill"),
(view! { <Drone /> }.into_any(), "Drone"),
(view! { <Droplet /> }.into_any(), "Droplet"),
(view! { <DropletOff /> }.into_any(), "Droplet Off"),
(view! { <Droplets /> }.into_any(), "Droplets"),
@ -779,7 +780,7 @@ pub fn IconsF() -> impl IntoView {
(view! { <FilePenLine /> }.into_any(), "File Pen Line"),
(view! { <FilePlus /> }.into_any(), "File Plus"),
(view! { <FilePlus2 /> }.into_any(), "File Plus 2"),
(view! { <FileQuestion /> }.into_any(), "File Question"),
(view! { <FileQuestionMark /> }.into_any(), "File Question Mark"),
(view! { <FileScan /> }.into_any(), "File Scan"),
(view! { <FileSearch /> }.into_any(), "File Search"),
(view! { <FileSearch2 /> }.into_any(), "File Search 2"),
@ -1197,7 +1198,7 @@ pub fn IconsM() -> impl IntoView {
(view! { <MailMinus /> }.into_any(), "Mail Minus"),
(view! { <MailOpen /> }.into_any(), "Mail Open"),
(view! { <MailPlus /> }.into_any(), "Mail Plus"),
(view! { <MailQuestion /> }.into_any(), "Mail Question"),
(view! { <MailQuestionMark /> }.into_any(), "Mail Question Mark"),
(view! { <MailSearch /> }.into_any(), "Mail Search"),
(view! { <MailWarning /> }.into_any(), "Mail Warning"),
(view! { <MailX /> }.into_any(), "Mail X"),
@ -1236,7 +1237,10 @@ pub fn IconsM() -> impl IntoView {
(view! { <MessageCircleMore /> }.into_any(), "Message Circle More"),
(view! { <MessageCircleOff /> }.into_any(), "Message Circle Off"),
(view! { <MessageCirclePlus /> }.into_any(), "Message Circle Plus"),
(view! { <MessageCircleQuestion /> }.into_any(), "Message Circle Question"),
(
view! { <MessageCircleQuestionMark /> }.into_any(),
"Message Circle Question Mark",
),
(view! { <MessageCircleReply /> }.into_any(), "Message Circle Reply"),
(view! { <MessageCircleWarning /> }.into_any(), "Message Circle Warning"),
(view! { <MessageCircleX /> }.into_any(), "Message Circle X"),
@ -1662,7 +1666,7 @@ pub fn IconsS() -> impl IntoView {
(view! { <ShieldMinus /> }.into_any(), "Shield Minus"),
(view! { <ShieldOff /> }.into_any(), "Shield Off"),
(view! { <ShieldPlus /> }.into_any(), "Shield Plus"),
(view! { <ShieldQuestion /> }.into_any(), "Shield Question"),
(view! { <ShieldQuestionMark /> }.into_any(), "Shield Question Mark"),
(view! { <ShieldUser /> }.into_any(), "Shield User"),
(view! { <ShieldX /> }.into_any(), "Shield X"),
(view! { <Ship /> }.into_any(), "Ship"),

View file

@ -219,7 +219,6 @@ pub fn IconsB() -> Html {
(html! { <BadgeCheck /> }, "Badge Check"),
(html! { <BadgeDollarSign /> }, "Badge Dollar Sign"),
(html! { <BadgeEuro /> }, "Badge Euro"),
(html! { <BadgeHelp /> }, "Badge Help"),
(html! { <BadgeIndianRupee /> }, "Badge Indian Rupee"),
(html! { <BadgeInfo /> }, "Badge Info"),
(html! { <BadgeJapaneseYen /> }, "Badge Japanese Yen"),
@ -227,6 +226,7 @@ pub fn IconsB() -> Html {
(html! { <BadgePercent /> }, "Badge Percent"),
(html! { <BadgePlus /> }, "Badge Plus"),
(html! { <BadgePoundSterling /> }, "Badge Pound Sterling"),
(html! { <BadgeQuestionMark /> }, "Badge Question Mark"),
(html! { <BadgeRussianRuble /> }, "Badge Russian Ruble"),
(html! { <BadgeSwissFranc /> }, "Badge Swiss Franc"),
(html! { <BadgeX /> }, "Badge X"),
@ -516,7 +516,6 @@ pub fn IconsC() -> Html {
(html! { <CircleFadingArrowUp /> }, "Circle Fading Arrow Up"),
(html! { <CircleFadingPlus /> }, "Circle Fading Plus"),
(html! { <CircleGauge /> }, "Circle Gauge"),
(html! { <CircleHelp /> }, "Circle Help"),
(html! { <CircleMinus /> }, "Circle Minus"),
(html! { <CircleOff /> }, "Circle Off"),
(html! { <CircleParking /> }, "Circle Parking"),
@ -527,6 +526,7 @@ pub fn IconsC() -> Html {
(html! { <CirclePlus /> }, "Circle Plus"),
(html! { <CirclePoundSterling /> }, "Circle Pound Sterling"),
(html! { <CirclePower /> }, "Circle Power"),
(html! { <CircleQuestionMark /> }, "Circle Question Mark"),
(html! { <CircleSlash /> }, "Circle Slash"),
(html! { <CircleSlash2 /> }, "Circle Slash 2"),
(html! { <CircleSmall /> }, "Circle Small"),
@ -697,6 +697,7 @@ pub fn IconsD() -> Html {
(html! { <Drama /> }, "Drama"),
(html! { <Dribbble /> }, "Dribbble"),
(html! { <Drill /> }, "Drill"),
(html! { <Drone /> }, "Drone"),
(html! { <Droplet /> }, "Droplet"),
(html! { <DropletOff /> }, "Droplet Off"),
(html! { <Droplets /> }, "Droplets"),
@ -805,7 +806,7 @@ pub fn IconsF() -> Html {
(html! { <FilePenLine /> }, "File Pen Line"),
(html! { <FilePlus /> }, "File Plus"),
(html! { <FilePlus2 /> }, "File Plus 2"),
(html! { <FileQuestion /> }, "File Question"),
(html! { <FileQuestionMark /> }, "File Question Mark"),
(html! { <FileScan /> }, "File Scan"),
(html! { <FileSearch /> }, "File Search"),
(html! { <FileSearch2 /> }, "File Search 2"),
@ -1222,7 +1223,7 @@ pub fn IconsM() -> Html {
(html! { <MailMinus /> }, "Mail Minus"),
(html! { <MailOpen /> }, "Mail Open"),
(html! { <MailPlus /> }, "Mail Plus"),
(html! { <MailQuestion /> }, "Mail Question"),
(html! { <MailQuestionMark /> }, "Mail Question Mark"),
(html! { <MailSearch /> }, "Mail Search"),
(html! { <MailWarning /> }, "Mail Warning"),
(html! { <MailX /> }, "Mail X"),
@ -1262,8 +1263,8 @@ pub fn IconsM() -> Html {
(html! { <MessageCircleOff /> }, "Message Circle Off"),
(html! { <MessageCirclePlus /> }, "Message Circle Plus"),
(
html! { <MessageCircleQuestion /> },
"Message Circle Question",
html! { <MessageCircleQuestionMark /> },
"Message Circle Question Mark",
),
(html! { <MessageCircleReply /> }, "Message Circle Reply"),
(html! { <MessageCircleWarning /> }, "Message Circle Warning"),
@ -1684,7 +1685,7 @@ pub fn IconsS() -> Html {
(html! { <ShieldMinus /> }, "Shield Minus"),
(html! { <ShieldOff /> }, "Shield Off"),
(html! { <ShieldPlus /> }, "Shield Plus"),
(html! { <ShieldQuestion /> }, "Shield Question"),
(html! { <ShieldQuestionMark /> }, "Shield Question Mark"),
(html! { <ShieldUser /> }, "Shield User"),
(html! { <ShieldX /> }, "Shield X"),
(html! { <Ship /> }, "Ship"),

View file

@ -0,0 +1,47 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct BadgeQuestionMarkProps {
#[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 BadgeQuestionMark(props: BadgeQuestionMarkProps) -> Element {
let stroke_width = if props.absolute_stroke_width {
props.stroke_width * 24 / props.size
} else {
props.stroke_width
};
rsx! {
svg {
"xmlns": "http://www.w3.org/2000/svg",
"class": if let Some(class) = props.class { "{class}" },
"style": if let Some(style) = props.style { "{style}" },
"width": "{props.size}",
"height": "{props.size}",
"viewBox": "0 0 24 24",
"fill": "{props.fill}",
"stroke": "{props.color}",
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z" }
path { "d": "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }
line {
"x1": "12",
"x2": "12.01",
"y1": "17",
"y2": "17",
}
}
}
}

View file

@ -0,0 +1,42 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct CircleQuestionMarkProps {
#[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 CircleQuestionMark(props: CircleQuestionMarkProps) -> 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",
circle { "cx": "12", "cy": "12", "r": "10" }
path { "d": "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }
path { "d": "M12 17h.01" }
}
}
}

View file

@ -0,0 +1,54 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct DroneProps {
#[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 Drone(props: DroneProps) -> 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 10 7 7" }
path { "d": "m10 14-3 3" }
path { "d": "m14 10 3-3" }
path { "d": "m14 14 3 3" }
path { "d": "M14.205 4.139a4 4 0 1 1 5.439 5.863" }
path { "d": "M19.637 14a4 4 0 1 1-5.432 5.868" }
path { "d": "M4.367 10a4 4 0 1 1 5.438-5.862" }
path { "d": "M9.795 19.862a4 4 0 1 1-5.429-5.873" }
rect {
"x": "10",
"y": "8",
"width": "4",
"height": "8",
"rx": "1",
}
}
}
}

View file

@ -34,7 +34,7 @@ pub fn Egg(props: EggProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z" }
path { "d": "M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12" }
}
}
}

View file

@ -34,14 +34,9 @@ pub fn EggOff(props: EggOffProps) -> Element {
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625" }
path { "d": "M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297" }
line {
"x1": "2",
"x2": "22",
"y1": "2",
"y2": "22",
}
path { "d": "m2 2 20 20" }
path { "d": "M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19" }
path { "d": "M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568" }
}
}
}

View file

@ -0,0 +1,42 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct FileQuestionMarkProps {
#[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 FileQuestionMark(props: FileQuestionMarkProps) -> Element {
let stroke_width = if props.absolute_stroke_width {
props.stroke_width * 24 / props.size
} else {
props.stroke_width
};
rsx! {
svg {
"xmlns": "http://www.w3.org/2000/svg",
"class": if let Some(class) = props.class { "{class}" },
"style": if let Some(style) = props.style { "{style}" },
"width": "{props.size}",
"height": "{props.size}",
"viewBox": "0 0 24 24",
"fill": "{props.fill}",
"stroke": "{props.color}",
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M12 17h.01" }
path { "d": "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z" }
path { "d": "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3" }
}
}
}

View file

@ -284,8 +284,6 @@ mod badge_check;
mod badge_dollar_sign;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_euro;
#[cfg(any(feature = "accessibility", feature = "social"))]
mod badge_help;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_indian_rupee;
#[cfg(any(feature = "account", feature = "accessibility", feature = "social"))]
@ -305,6 +303,8 @@ mod badge_percent;
mod badge_plus;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_pound_sterling;
#[cfg(any(feature = "accessibility", feature = "social", feature = "shapes"))]
mod badge_question_mark;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_russian_ruble;
#[cfg(any(feature = "shopping", feature = "finance"))]
@ -860,8 +860,6 @@ mod circle_fading_arrow_up;
mod circle_fading_plus;
#[cfg(any(feature = "transportation", feature = "sports", feature = "science"))]
mod circle_gauge;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
mod circle_help;
#[cfg(feature = "math")]
mod circle_minus;
#[cfg(feature = "shapes")]
@ -892,6 +890,8 @@ mod circle_plus;
mod circle_pound_sterling;
#[cfg(feature = "connectivity")]
mod circle_power;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
mod circle_question_mark;
#[cfg(any(feature = "development", feature = "math"))]
mod circle_slash;
#[cfg(any(feature = "shapes", feature = "math", feature = "development"))]
@ -1256,6 +1256,8 @@ mod drama;
mod dribbble;
#[cfg(any(feature = "tools", feature = "home", feature = "devices"))]
mod drill;
#[cfg(any(feature = "transportation", feature = "devices"))]
mod drone;
#[cfg(any(feature = "weather", feature = "gaming"))]
mod droplet;
#[cfg(any(feature = "weather", feature = "gaming"))]
@ -1429,7 +1431,7 @@ mod file_plus;
#[cfg(feature = "files")]
mod file_plus_2;
#[cfg(feature = "files")]
mod file_question;
mod file_question_mark;
#[cfg(feature = "files")]
mod file_scan;
#[cfg(feature = "files")]
@ -2193,7 +2195,7 @@ mod mail_open;
#[cfg(feature = "mail")]
mod mail_plus;
#[cfg(feature = "mail")]
mod mail_question;
mod mail_question_mark;
#[cfg(feature = "mail")]
mod mail_search;
#[cfg(feature = "mail")]
@ -2271,7 +2273,7 @@ mod message_circle_off;
#[cfg(feature = "social")]
mod message_circle_plus;
#[cfg(feature = "social")]
mod message_circle_question;
mod message_circle_question_mark;
#[cfg(feature = "social")]
mod message_circle_reply;
#[cfg(any(feature = "social", feature = "notifications"))]
@ -3173,7 +3175,7 @@ mod shield_plus;
feature = "development",
feature = "gaming"
))]
mod shield_question;
mod shield_question_mark;
#[cfg(any(feature = "account", feature = "security", feature = "development"))]
mod shield_user;
#[cfg(any(
@ -4356,8 +4358,6 @@ pub use badge_check::*;
pub use badge_dollar_sign::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_euro::*;
#[cfg(any(feature = "accessibility", feature = "social"))]
pub use badge_help::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_indian_rupee::*;
#[cfg(any(feature = "account", feature = "accessibility", feature = "social"))]
@ -4377,6 +4377,8 @@ pub use badge_percent::*;
pub use badge_plus::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_pound_sterling::*;
#[cfg(any(feature = "accessibility", feature = "social", feature = "shapes"))]
pub use badge_question_mark::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_russian_ruble::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
@ -4932,8 +4934,6 @@ pub use circle_fading_arrow_up::*;
pub use circle_fading_plus::*;
#[cfg(any(feature = "transportation", feature = "sports", feature = "science"))]
pub use circle_gauge::*;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
pub use circle_help::*;
#[cfg(feature = "math")]
pub use circle_minus::*;
#[cfg(feature = "shapes")]
@ -4964,6 +4964,8 @@ pub use circle_plus::*;
pub use circle_pound_sterling::*;
#[cfg(feature = "connectivity")]
pub use circle_power::*;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
pub use circle_question_mark::*;
#[cfg(any(feature = "development", feature = "math"))]
pub use circle_slash::*;
#[cfg(any(feature = "shapes", feature = "math", feature = "development"))]
@ -5328,6 +5330,8 @@ pub use drama::*;
pub use dribbble::*;
#[cfg(any(feature = "tools", feature = "home", feature = "devices"))]
pub use drill::*;
#[cfg(any(feature = "transportation", feature = "devices"))]
pub use drone::*;
#[cfg(any(feature = "weather", feature = "gaming"))]
pub use droplet::*;
#[cfg(any(feature = "weather", feature = "gaming"))]
@ -5501,7 +5505,7 @@ pub use file_plus::*;
#[cfg(feature = "files")]
pub use file_plus_2::*;
#[cfg(feature = "files")]
pub use file_question::*;
pub use file_question_mark::*;
#[cfg(feature = "files")]
pub use file_scan::*;
#[cfg(feature = "files")]
@ -6265,7 +6269,7 @@ pub use mail_open::*;
#[cfg(feature = "mail")]
pub use mail_plus::*;
#[cfg(feature = "mail")]
pub use mail_question::*;
pub use mail_question_mark::*;
#[cfg(feature = "mail")]
pub use mail_search::*;
#[cfg(feature = "mail")]
@ -6343,7 +6347,7 @@ pub use message_circle_off::*;
#[cfg(feature = "social")]
pub use message_circle_plus::*;
#[cfg(feature = "social")]
pub use message_circle_question::*;
pub use message_circle_question_mark::*;
#[cfg(feature = "social")]
pub use message_circle_reply::*;
#[cfg(any(feature = "social", feature = "notifications"))]
@ -7245,7 +7249,7 @@ pub use shield_plus::*;
feature = "development",
feature = "gaming"
))]
pub use shield_question::*;
pub use shield_question_mark::*;
#[cfg(any(feature = "account", feature = "security", feature = "development"))]
pub use shield_user::*;
#[cfg(any(

View file

@ -0,0 +1,43 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct MailQuestionMarkProps {
#[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 MailQuestionMark(props: MailQuestionMarkProps) -> 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": "M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5" }
path { "d": "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7" }
path { "d": "M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2" }
path { "d": "M20 22v.01" }
}
}
}

View file

@ -0,0 +1,42 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct MessageCircleQuestionMarkProps {
#[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 MessageCircleQuestionMark(props: MessageCircleQuestionMarkProps) -> 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": "M7.9 20A9 9 0 1 0 4 16.1L2 22Z" }
path { "d": "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }
path { "d": "M12 17h.01" }
}
}
}

View file

@ -0,0 +1,42 @@
use dioxus::prelude::*;
#[derive(Clone, PartialEq, Props)]
pub struct ShieldQuestionMarkProps {
#[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 ShieldQuestionMark(props: ShieldQuestionMarkProps) -> Element {
let stroke_width = if props.absolute_stroke_width {
props.stroke_width * 24 / props.size
} else {
props.stroke_width
};
rsx! {
svg {
"xmlns": "http://www.w3.org/2000/svg",
"class": if let Some(class) = props.class { "{class}" },
"style": if let Some(style) = props.style { "{style}" },
"width": "{props.size}",
"height": "{props.size}",
"viewBox": "0 0 24 24",
"fill": "{props.fill}",
"stroke": "{props.color}",
"stroke-width": "{stroke_width}",
"stroke-linecap": "round",
"stroke-linejoin": "round",
path { "d": "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" }
path { "d": "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3" }
path { "d": "M12 17h.01" }
}
}
}

View file

@ -0,0 +1,37 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn BadgeQuestionMark(
#[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="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z" />
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
<line x1="12" x2="12.01" y1="17" y2="17" />
</svg>
}
}

View file

@ -0,0 +1,37 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn CircleQuestionMark(
#[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"
>
<circle cx="12" cy="12" r="10" />
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
<path d="M12 17h.01" />
</svg>
}
}

View file

@ -0,0 +1,43 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn Drone(
#[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 10 7 7" />
<path d="m10 14-3 3" />
<path d="m14 10 3-3" />
<path d="m14 14 3 3" />
<path d="M14.205 4.139a4 4 0 1 1 5.439 5.863" />
<path d="M19.637 14a4 4 0 1 1-5.432 5.868" />
<path d="M4.367 10a4 4 0 1 1 5.438-5.862" />
<path d="M9.795 19.862a4 4 0 1 1-5.429-5.873" />
<rect x="10" y="8" width="4" height="8" rx="1" />
</svg>
}
}

View file

@ -29,7 +29,7 @@ pub fn Egg(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z" />
<path d="M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12" />
</svg>
}
}

View file

@ -29,9 +29,9 @@ pub fn EggOff(
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625" />
<path d="M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297" />
<line x1="2" x2="22" y1="2" y2="22" />
<path d="m2 2 20 20" />
<path d="M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19" />
<path d="M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568" />
</svg>
}
}

View file

@ -0,0 +1,37 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn FileQuestionMark(
#[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="M12 17h.01" />
<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z" />
<path d="M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3" />
</svg>
}
}

View file

@ -284,8 +284,6 @@ mod badge_check;
mod badge_dollar_sign;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_euro;
#[cfg(any(feature = "accessibility", feature = "social"))]
mod badge_help;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_indian_rupee;
#[cfg(any(feature = "account", feature = "accessibility", feature = "social"))]
@ -305,6 +303,8 @@ mod badge_percent;
mod badge_plus;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_pound_sterling;
#[cfg(any(feature = "accessibility", feature = "social", feature = "shapes"))]
mod badge_question_mark;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_russian_ruble;
#[cfg(any(feature = "shopping", feature = "finance"))]
@ -860,8 +860,6 @@ mod circle_fading_arrow_up;
mod circle_fading_plus;
#[cfg(any(feature = "transportation", feature = "sports", feature = "science"))]
mod circle_gauge;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
mod circle_help;
#[cfg(feature = "math")]
mod circle_minus;
#[cfg(feature = "shapes")]
@ -892,6 +890,8 @@ mod circle_plus;
mod circle_pound_sterling;
#[cfg(feature = "connectivity")]
mod circle_power;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
mod circle_question_mark;
#[cfg(any(feature = "development", feature = "math"))]
mod circle_slash;
#[cfg(any(feature = "shapes", feature = "math", feature = "development"))]
@ -1256,6 +1256,8 @@ mod drama;
mod dribbble;
#[cfg(any(feature = "tools", feature = "home", feature = "devices"))]
mod drill;
#[cfg(any(feature = "transportation", feature = "devices"))]
mod drone;
#[cfg(any(feature = "weather", feature = "gaming"))]
mod droplet;
#[cfg(any(feature = "weather", feature = "gaming"))]
@ -1429,7 +1431,7 @@ mod file_plus;
#[cfg(feature = "files")]
mod file_plus_2;
#[cfg(feature = "files")]
mod file_question;
mod file_question_mark;
#[cfg(feature = "files")]
mod file_scan;
#[cfg(feature = "files")]
@ -2193,7 +2195,7 @@ mod mail_open;
#[cfg(feature = "mail")]
mod mail_plus;
#[cfg(feature = "mail")]
mod mail_question;
mod mail_question_mark;
#[cfg(feature = "mail")]
mod mail_search;
#[cfg(feature = "mail")]
@ -2271,7 +2273,7 @@ mod message_circle_off;
#[cfg(feature = "social")]
mod message_circle_plus;
#[cfg(feature = "social")]
mod message_circle_question;
mod message_circle_question_mark;
#[cfg(feature = "social")]
mod message_circle_reply;
#[cfg(any(feature = "social", feature = "notifications"))]
@ -3173,7 +3175,7 @@ mod shield_plus;
feature = "development",
feature = "gaming"
))]
mod shield_question;
mod shield_question_mark;
#[cfg(any(feature = "account", feature = "security", feature = "development"))]
mod shield_user;
#[cfg(any(
@ -4356,8 +4358,6 @@ pub use badge_check::*;
pub use badge_dollar_sign::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_euro::*;
#[cfg(any(feature = "accessibility", feature = "social"))]
pub use badge_help::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_indian_rupee::*;
#[cfg(any(feature = "account", feature = "accessibility", feature = "social"))]
@ -4377,6 +4377,8 @@ pub use badge_percent::*;
pub use badge_plus::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_pound_sterling::*;
#[cfg(any(feature = "accessibility", feature = "social", feature = "shapes"))]
pub use badge_question_mark::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_russian_ruble::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
@ -4932,8 +4934,6 @@ pub use circle_fading_arrow_up::*;
pub use circle_fading_plus::*;
#[cfg(any(feature = "transportation", feature = "sports", feature = "science"))]
pub use circle_gauge::*;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
pub use circle_help::*;
#[cfg(feature = "math")]
pub use circle_minus::*;
#[cfg(feature = "shapes")]
@ -4964,6 +4964,8 @@ pub use circle_plus::*;
pub use circle_pound_sterling::*;
#[cfg(feature = "connectivity")]
pub use circle_power::*;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
pub use circle_question_mark::*;
#[cfg(any(feature = "development", feature = "math"))]
pub use circle_slash::*;
#[cfg(any(feature = "shapes", feature = "math", feature = "development"))]
@ -5328,6 +5330,8 @@ pub use drama::*;
pub use dribbble::*;
#[cfg(any(feature = "tools", feature = "home", feature = "devices"))]
pub use drill::*;
#[cfg(any(feature = "transportation", feature = "devices"))]
pub use drone::*;
#[cfg(any(feature = "weather", feature = "gaming"))]
pub use droplet::*;
#[cfg(any(feature = "weather", feature = "gaming"))]
@ -5501,7 +5505,7 @@ pub use file_plus::*;
#[cfg(feature = "files")]
pub use file_plus_2::*;
#[cfg(feature = "files")]
pub use file_question::*;
pub use file_question_mark::*;
#[cfg(feature = "files")]
pub use file_scan::*;
#[cfg(feature = "files")]
@ -6265,7 +6269,7 @@ pub use mail_open::*;
#[cfg(feature = "mail")]
pub use mail_plus::*;
#[cfg(feature = "mail")]
pub use mail_question::*;
pub use mail_question_mark::*;
#[cfg(feature = "mail")]
pub use mail_search::*;
#[cfg(feature = "mail")]
@ -6343,7 +6347,7 @@ pub use message_circle_off::*;
#[cfg(feature = "social")]
pub use message_circle_plus::*;
#[cfg(feature = "social")]
pub use message_circle_question::*;
pub use message_circle_question_mark::*;
#[cfg(feature = "social")]
pub use message_circle_reply::*;
#[cfg(any(feature = "social", feature = "notifications"))]
@ -7245,7 +7249,7 @@ pub use shield_plus::*;
feature = "development",
feature = "gaming"
))]
pub use shield_question::*;
pub use shield_question_mark::*;
#[cfg(any(feature = "account", feature = "security", feature = "development"))]
pub use shield_user::*;
#[cfg(any(

View file

@ -0,0 +1,38 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn MailQuestionMark(
#[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="M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5" />
<path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7" />
<path d="M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2" />
<path d="M20 22v.01" />
</svg>
}
}

View file

@ -0,0 +1,37 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn MessageCircleQuestionMark(
#[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="M7.9 20A9 9 0 1 0 4 16.1L2 22Z" />
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
<path d="M12 17h.01" />
</svg>
}
}

View file

@ -0,0 +1,37 @@
use leptos::{prelude::*, svg::Svg};
#[component]
pub fn ShieldQuestionMark(
#[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="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" />
<path d="M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3" />
<path d="M12 17h.01" />
</svg>
}
}

View file

@ -0,0 +1,51 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct BadgeQuestionMarkProps {
#[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 BadgeQuestionMark(props: &BadgeQuestionMarkProps) -> 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="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"
/>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
<line x1="12" x2="12.01" y1="17" y2="17" />
</svg>
}
}

View file

@ -0,0 +1,49 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct CircleQuestionMarkProps {
#[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 CircleQuestionMark(props: &CircleQuestionMarkProps) -> 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"
>
<circle cx="12" cy="12" r="10" />
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
<path d="M12 17h.01" />
</svg>
}
}

55
packages/yew/src/drone.rs Normal file
View file

@ -0,0 +1,55 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct DroneProps {
#[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 Drone(props: &DroneProps) -> 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 10 7 7" />
<path d="m10 14-3 3" />
<path d="m14 10 3-3" />
<path d="m14 14 3 3" />
<path d="M14.205 4.139a4 4 0 1 1 5.439 5.863" />
<path d="M19.637 14a4 4 0 1 1-5.432 5.868" />
<path d="M4.367 10a4 4 0 1 1 5.438-5.862" />
<path d="M9.795 19.862a4 4 0 1 1-5.429-5.873" />
<rect x="10" y="8" width="4" height="8" rx="1" />
</svg>
}
}

View file

@ -41,9 +41,7 @@ pub fn Egg(props: &EggProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path
d="M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z"
/>
<path d="M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12" />
</svg>
}
}

View file

@ -41,13 +41,9 @@ pub fn EggOff(props: &EggOffProps) -> Html {
stroke-linecap="round"
stroke-linejoin="round"
>
<path
d="M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625"
/>
<path
d="M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297"
/>
<line x1="2" x2="22" y1="2" y2="22" />
<path d="m2 2 20 20" />
<path d="M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19" />
<path d="M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568" />
</svg>
}
}

View file

@ -0,0 +1,49 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct FileQuestionMarkProps {
#[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 FileQuestionMark(props: &FileQuestionMarkProps) -> 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="M12 17h.01" />
<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z" />
<path d="M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3" />
</svg>
}
}

View file

@ -286,8 +286,6 @@ mod badge_check;
mod badge_dollar_sign;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_euro;
#[cfg(any(feature = "accessibility", feature = "social"))]
mod badge_help;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_indian_rupee;
#[cfg(any(feature = "account", feature = "accessibility", feature = "social"))]
@ -307,6 +305,8 @@ mod badge_percent;
mod badge_plus;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_pound_sterling;
#[cfg(any(feature = "accessibility", feature = "social", feature = "shapes"))]
mod badge_question_mark;
#[cfg(any(feature = "shopping", feature = "finance"))]
mod badge_russian_ruble;
#[cfg(any(feature = "shopping", feature = "finance"))]
@ -862,8 +862,6 @@ mod circle_fading_arrow_up;
mod circle_fading_plus;
#[cfg(any(feature = "transportation", feature = "sports", feature = "science"))]
mod circle_gauge;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
mod circle_help;
#[cfg(feature = "math")]
mod circle_minus;
#[cfg(feature = "shapes")]
@ -894,6 +892,8 @@ mod circle_plus;
mod circle_pound_sterling;
#[cfg(feature = "connectivity")]
mod circle_power;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
mod circle_question_mark;
#[cfg(any(feature = "development", feature = "math"))]
mod circle_slash;
#[cfg(any(feature = "shapes", feature = "math", feature = "development"))]
@ -1258,6 +1258,8 @@ mod drama;
mod dribbble;
#[cfg(any(feature = "tools", feature = "home", feature = "devices"))]
mod drill;
#[cfg(any(feature = "transportation", feature = "devices"))]
mod drone;
#[cfg(any(feature = "weather", feature = "gaming"))]
mod droplet;
#[cfg(any(feature = "weather", feature = "gaming"))]
@ -1431,7 +1433,7 @@ mod file_plus;
#[cfg(feature = "files")]
mod file_plus_2;
#[cfg(feature = "files")]
mod file_question;
mod file_question_mark;
#[cfg(feature = "files")]
mod file_scan;
#[cfg(feature = "files")]
@ -2195,7 +2197,7 @@ mod mail_open;
#[cfg(feature = "mail")]
mod mail_plus;
#[cfg(feature = "mail")]
mod mail_question;
mod mail_question_mark;
#[cfg(feature = "mail")]
mod mail_search;
#[cfg(feature = "mail")]
@ -2273,7 +2275,7 @@ mod message_circle_off;
#[cfg(feature = "social")]
mod message_circle_plus;
#[cfg(feature = "social")]
mod message_circle_question;
mod message_circle_question_mark;
#[cfg(feature = "social")]
mod message_circle_reply;
#[cfg(any(feature = "social", feature = "notifications"))]
@ -3175,7 +3177,7 @@ mod shield_plus;
feature = "development",
feature = "gaming"
))]
mod shield_question;
mod shield_question_mark;
#[cfg(any(feature = "account", feature = "security", feature = "development"))]
mod shield_user;
#[cfg(any(
@ -4358,8 +4360,6 @@ pub use badge_check::*;
pub use badge_dollar_sign::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_euro::*;
#[cfg(any(feature = "accessibility", feature = "social"))]
pub use badge_help::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_indian_rupee::*;
#[cfg(any(feature = "account", feature = "accessibility", feature = "social"))]
@ -4379,6 +4379,8 @@ pub use badge_percent::*;
pub use badge_plus::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_pound_sterling::*;
#[cfg(any(feature = "accessibility", feature = "social", feature = "shapes"))]
pub use badge_question_mark::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
pub use badge_russian_ruble::*;
#[cfg(any(feature = "shopping", feature = "finance"))]
@ -4934,8 +4936,6 @@ pub use circle_fading_arrow_up::*;
pub use circle_fading_plus::*;
#[cfg(any(feature = "transportation", feature = "sports", feature = "science"))]
pub use circle_gauge::*;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
pub use circle_help::*;
#[cfg(feature = "math")]
pub use circle_minus::*;
#[cfg(feature = "shapes")]
@ -4966,6 +4966,8 @@ pub use circle_plus::*;
pub use circle_pound_sterling::*;
#[cfg(feature = "connectivity")]
pub use circle_power::*;
#[cfg(any(feature = "accessibility", feature = "text", feature = "notifications"))]
pub use circle_question_mark::*;
#[cfg(any(feature = "development", feature = "math"))]
pub use circle_slash::*;
#[cfg(any(feature = "shapes", feature = "math", feature = "development"))]
@ -5330,6 +5332,8 @@ pub use drama::*;
pub use dribbble::*;
#[cfg(any(feature = "tools", feature = "home", feature = "devices"))]
pub use drill::*;
#[cfg(any(feature = "transportation", feature = "devices"))]
pub use drone::*;
#[cfg(any(feature = "weather", feature = "gaming"))]
pub use droplet::*;
#[cfg(any(feature = "weather", feature = "gaming"))]
@ -5503,7 +5507,7 @@ pub use file_plus::*;
#[cfg(feature = "files")]
pub use file_plus_2::*;
#[cfg(feature = "files")]
pub use file_question::*;
pub use file_question_mark::*;
#[cfg(feature = "files")]
pub use file_scan::*;
#[cfg(feature = "files")]
@ -6267,7 +6271,7 @@ pub use mail_open::*;
#[cfg(feature = "mail")]
pub use mail_plus::*;
#[cfg(feature = "mail")]
pub use mail_question::*;
pub use mail_question_mark::*;
#[cfg(feature = "mail")]
pub use mail_search::*;
#[cfg(feature = "mail")]
@ -6345,7 +6349,7 @@ pub use message_circle_off::*;
#[cfg(feature = "social")]
pub use message_circle_plus::*;
#[cfg(feature = "social")]
pub use message_circle_question::*;
pub use message_circle_question_mark::*;
#[cfg(feature = "social")]
pub use message_circle_reply::*;
#[cfg(any(feature = "social", feature = "notifications"))]
@ -7247,7 +7251,7 @@ pub use shield_plus::*;
feature = "development",
feature = "gaming"
))]
pub use shield_question::*;
pub use shield_question_mark::*;
#[cfg(any(feature = "account", feature = "security", feature = "development"))]
pub use shield_user::*;
#[cfg(any(

View file

@ -0,0 +1,50 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct MailQuestionMarkProps {
#[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 MailQuestionMark(props: &MailQuestionMarkProps) -> 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="M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5" />
<path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7" />
<path d="M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2" />
<path d="M20 22v.01" />
</svg>
}
}

View file

@ -0,0 +1,49 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct MessageCircleQuestionMarkProps {
#[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 MessageCircleQuestionMark(props: &MessageCircleQuestionMarkProps) -> 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="M7.9 20A9 9 0 1 0 4 16.1L2 22Z" />
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
<path d="M12 17h.01" />
</svg>
}
}

View file

@ -0,0 +1,51 @@
use yew::prelude::*;
#[derive(PartialEq, Properties)]
pub struct ShieldQuestionMarkProps {
#[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 ShieldQuestionMark(props: &ShieldQuestionMarkProps) -> 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="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"
/>
<path d="M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3" />
<path d="M12 17h.01" />
</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.517.0";
pub const UPSTREAM_GIT_REF: &str = "0.518.0";
pub const UPSTREAM_GITHUB_URL: &str = "https://github.com/lucide-icons/lucide";