Update Rust crate dioxus to 0.6.0 (#4)

* Update Rust crate dioxus to 0.6.0

* Update element type

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniëlle Huisman <danielle@huisman.me>
This commit is contained in:
renovate[bot] 2024-12-27 21:41:48 +00:00 committed by GitHub
parent 4bccfe0465
commit e6c0297469
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 580 additions and 533 deletions

843
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -12,7 +12,7 @@ version = "1.0.0"
[workspace.dependencies] [workspace.dependencies]
console_log = "1.0.0" console_log = "1.0.0"
console_error_panic_hook = "0.1.7" console_error_panic_hook = "0.1.7"
dioxus = "0.5.6" dioxus = "0.6.0"
leptos = "0.7.0-rc2" leptos = "0.7.0-rc2"
log = "0.4.22" log = "0.4.22"
yew = "0.21.0" yew = "0.21.0"

View file

@ -3,7 +3,7 @@ use dioxus::prelude::*;
#[component] #[component]
pub fn App() -> Element { pub fn App() -> Element {
#[allow(unused_mut)] #[allow(unused_mut)]
let mut children: Vec<Option<VNode>> = vec![]; let mut children: Vec<Result<VNode, RenderError>> = vec![];
#[cfg(feature = "icons")] #[cfg(feature = "icons")]
{ {

View file

@ -4,37 +4,44 @@ use lucide_dioxus::*;
pub fn Icons() -> Element { pub fn Icons() -> Element {
rsx! { rsx! {
div { class: "w-full max-w-80 py-4", div { class: "w-full max-w-80 py-4",
IconsA {} IconsA1 {}
IconsB {} IconsA2 {}
IconsC {} IconsB1 {}
IconsD {} IconsB2 {}
IconsE {} IconsC1 {}
IconsF {} IconsC2 {}
IconsG {} IconsC3 {}
IconsH {} IconsD1 {}
IconsI {} IconsE1 {}
IconsJ {} IconsF1 {}
IconsK {} IconsF2 {}
IconsL {} IconsG1 {}
IconsM {} IconsH1 {}
IconsN {} IconsI1 {}
IconsO {} IconsJ1 {}
IconsP {} IconsK1 {}
IconsQ {} IconsL1 {}
IconsR {} IconsM1 {}
IconsS {} IconsM2 {}
IconsT {} IconsN1 {}
IconsU {} IconsO1 {}
IconsV {} IconsP1 {}
IconsW {} IconsQ1 {}
IconsX {} IconsR1 {}
IconsY {} IconsS1 {}
IconsZ {} IconsS2 {}
IconsT1 {}
IconsU1 {}
IconsV1 {}
IconsW1 {}
IconsX1 {}
IconsY1 {}
IconsZ1 {}
} }
} }
} }
#[component] #[component]
pub fn IconsA() -> Element { pub fn IconsA1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -636,6 +643,21 @@ pub fn IconsA() -> Element {
}, },
"Arrows Up From Line", "Arrows Up From Line",
), ),
];
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 IconsA2() -> Element {
let icons = [
( (
rsx! { rsx! {
Asterisk {} Asterisk {}
@ -697,7 +719,7 @@ pub fn IconsA() -> Element {
} }
} }
#[component] #[component]
pub fn IconsB() -> Element { pub fn IconsB1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -1299,6 +1321,21 @@ pub fn IconsB() -> Element {
}, },
"Bookmark X", "Bookmark X",
), ),
];
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 IconsB2() -> Element {
let icons = [
( (
rsx! { rsx! {
BoomBox {} BoomBox {}
@ -1462,7 +1499,7 @@ pub fn IconsB() -> Element {
} }
} }
#[component] #[component]
pub fn IconsC() -> Element { pub fn IconsC1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -2064,6 +2101,21 @@ pub fn IconsC() -> Element {
}, },
"Circle Arrow Out Up Right", "Circle Arrow Out Up Right",
), ),
];
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 IconsC2() -> Element {
let icons = [
( (
rsx! { rsx! {
CircleArrowRight {} CircleArrowRight {}
@ -2664,6 +2716,21 @@ pub fn IconsC() -> Element {
}, },
"Concierge Bell", "Concierge Bell",
), ),
];
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 IconsC3() -> Element {
let icons = [
( (
rsx! { rsx! {
Cone {} Cone {}
@ -2893,7 +2960,7 @@ pub fn IconsC() -> Element {
} }
} }
#[component] #[component]
pub fn IconsD() -> Element { pub fn IconsD1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -3166,7 +3233,7 @@ pub fn IconsD() -> Element {
} }
} }
#[component] #[component]
pub fn IconsE() -> Element { pub fn IconsE1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -3307,7 +3374,7 @@ pub fn IconsE() -> Element {
} }
} }
#[component] #[component]
pub fn IconsF() -> Element { pub fn IconsF1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -3909,6 +3976,21 @@ pub fn IconsF() -> Element {
}, },
"Folder Clock", "Folder Clock",
), ),
];
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 IconsF2() -> Element {
let icons = [
( (
rsx! { rsx! {
FolderClosed {} FolderClosed {}
@ -4132,7 +4214,7 @@ pub fn IconsF() -> Element {
} }
} }
#[component] #[component]
pub fn IconsG() -> Element { pub fn IconsG1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -4429,7 +4511,7 @@ pub fn IconsG() -> Element {
} }
} }
#[component] #[component]
pub fn IconsH() -> Element { pub fn IconsH1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -4702,7 +4784,7 @@ pub fn IconsH() -> Element {
} }
} }
#[component] #[component]
pub fn IconsI() -> Element { pub fn IconsI1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -4855,7 +4937,7 @@ pub fn IconsI() -> Element {
} }
} }
#[component] #[component]
pub fn IconsJ() -> Element { pub fn IconsJ1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -4882,7 +4964,7 @@ pub fn IconsJ() -> Element {
} }
} }
#[component] #[component]
pub fn IconsK() -> Element { pub fn IconsK1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -4939,7 +5021,7 @@ pub fn IconsK() -> Element {
} }
} }
#[component] #[component]
pub fn IconsL() -> Element { pub fn IconsL1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -5368,7 +5450,7 @@ pub fn IconsL() -> Element {
} }
} }
#[component] #[component]
pub fn IconsM() -> Element { pub fn IconsM1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -5970,6 +6052,21 @@ pub fn IconsM() -> Element {
}, },
"Move 3 D", "Move 3 D",
), ),
];
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 IconsM2() -> Element {
let icons = [
( (
rsx! { rsx! {
MoveDiagonal {} MoveDiagonal {}
@ -6079,7 +6176,7 @@ pub fn IconsM() -> Element {
} }
} }
#[component] #[component]
pub fn IconsN() -> Element { pub fn IconsN1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -6184,7 +6281,7 @@ pub fn IconsN() -> Element {
} }
} }
#[component] #[component]
pub fn IconsO() -> Element { pub fn IconsO1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -6253,7 +6350,7 @@ pub fn IconsO() -> Element {
} }
} }
#[component] #[component]
pub fn IconsP() -> Element { pub fn IconsP1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -6856,7 +6953,7 @@ pub fn IconsP() -> Element {
} }
} }
#[component] #[component]
pub fn IconsQ() -> Element { pub fn IconsQ1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -6883,7 +6980,7 @@ pub fn IconsQ() -> Element {
} }
} }
#[component] #[component]
pub fn IconsR() -> Element { pub fn IconsR1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -7264,7 +7361,7 @@ pub fn IconsR() -> Element {
} }
} }
#[component] #[component]
pub fn IconsS() -> Element { pub fn IconsS1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -7866,6 +7963,21 @@ pub fn IconsS() -> Element {
}, },
"Sparkle", "Sparkle",
), ),
];
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 IconsS2() -> Element {
let icons = [
( (
rsx! { rsx! {
Sparkles {} Sparkles {}
@ -8473,7 +8585,7 @@ pub fn IconsS() -> Element {
} }
} }
#[component] #[component]
pub fn IconsT() -> Element { pub fn IconsT1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -9022,7 +9134,7 @@ pub fn IconsT() -> Element {
} }
} }
#[component] #[component]
pub fn IconsU() -> Element { pub fn IconsU1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -9253,7 +9365,7 @@ pub fn IconsU() -> Element {
} }
} }
#[component] #[component]
pub fn IconsV() -> Element { pub fn IconsV1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -9376,7 +9488,7 @@ pub fn IconsV() -> Element {
} }
} }
#[component] #[component]
pub fn IconsW() -> Element { pub fn IconsW1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {
@ -9577,7 +9689,7 @@ pub fn IconsW() -> Element {
} }
} }
#[component] #[component]
pub fn IconsX() -> Element { pub fn IconsX1() -> Element {
let icons = [( let icons = [(
rsx! { rsx! {
X {} X {}
@ -9596,7 +9708,7 @@ pub fn IconsX() -> Element {
} }
} }
#[component] #[component]
pub fn IconsY() -> Element { pub fn IconsY1() -> Element {
let icons = [( let icons = [(
rsx! { rsx! {
Youtube {} Youtube {}
@ -9615,7 +9727,7 @@ pub fn IconsY() -> Element {
} }
} }
#[component] #[component]
pub fn IconsZ() -> Element { pub fn IconsZ1() -> Element {
let icons = [ let icons = [
( (
rsx! { rsx! {

View file

@ -88,32 +88,42 @@ impl Framework for Dioxus {
); );
} }
let name: TokenStream = format!("Icons{letter}").parse()?; for (n, chunk) in component_name
letter_component_name.push(quote! { .into_iter()
#name {} .zip(human_name)
}); .collect::<Vec<_>>()
.chunks(100)
.enumerate()
{
let (component_name, human_name): (Vec<_>, Vec<_>) = chunk.iter().cloned().unzip();
letter_component.push(quote! { let name: TokenStream = format!("Icons{letter}{}", n + 1).parse()?;
#[component] letter_component_name.push(quote! {
pub fn #name() -> Element { #name {}
let icons = [ });
#((rsx! { #component_name {} }, #human_name),)*
];
rsx! { letter_component.push(quote! {
for (icon, name) in icons { #[component]
div { pub fn #name() -> Element {
key: "{name}", let icons = [
class: "flex flex-wrap items-center gap-4 text-sm", #((rsx! { #component_name {} }, #human_name),)*
{icon} ];
span {
{name} rsx! {
for (icon, name) in icons {
div {
key: "{name}",
class: "flex flex-wrap items-center gap-4 text-sm",
{icon}
span {
{name}
}
} }
} }
} }
} }
} });
}); }
} }
Ok(quote! { Ok(quote! {