From 296ff55da6ec7e08e1568682fc05cea1fa61ed22 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Fri, 12 Sep 2025 13:27:18 -0500 Subject: [PATCH 01/13] add manifest files --- Cargo.lock | 1283 +++++++++-------- Cargo.toml | 8 +- components.json | 37 + dioxus-component-manifest/Cargo.toml | 9 + dioxus-component-manifest/src/lib.rs | 108 ++ preview/Cargo.toml | 2 + .../src/components/accordion/component.json | 7 + preview/src/components/accordion/component.rs | 2 +- .../components/alert_dialog/component.json | 7 + .../src/components/alert_dialog/component.rs | 2 +- .../components/aspect_ratio/component.json | 7 + .../aspect_ratio/variants/main/mod.rs | 2 +- preview/src/components/avatar/component.json | 7 + preview/src/components/avatar/component.rs | 2 +- preview/src/components/button/component.json | 7 + preview/src/components/button/component.rs | 2 +- .../src/components/calendar/component.json | 7 + preview/src/components/calendar/component.rs | 2 +- .../src/components/checkbox/component.json | 7 + preview/src/components/checkbox/component.rs | 2 +- .../src/components/collapsible/component.json | 7 + .../src/components/collapsible/component.rs | 2 +- .../components/context_menu/component.json | 7 + .../src/components/context_menu/component.rs | 2 +- preview/src/components/dialog/component.json | 7 + preview/src/components/dialog/component.rs | 2 +- .../components/dropdown_menu/component.json | 7 + .../src/components/dropdown_menu/component.rs | 2 +- preview/src/components/form/component.json | 7 + .../src/components/form/variants/main/mod.rs | 2 +- .../src/components/hover_card/component.json | 7 + .../src/components/hover_card/component.rs | 2 +- preview/src/components/input/component.json | 7 + preview/src/components/input/component.rs | 2 +- preview/src/components/label/component.json | 7 + preview/src/components/label/component.rs | 2 +- preview/src/components/menubar/component.json | 7 + preview/src/components/menubar/component.rs | 2 +- preview/src/components/navbar/component.json | 7 + preview/src/components/navbar/component.rs | 2 +- preview/src/components/popover/component.json | 7 + preview/src/components/popover/component.rs | 2 +- .../src/components/progress/component.json | 7 + preview/src/components/progress/component.rs | 2 +- .../src/components/radio_group/component.json | 7 + .../src/components/radio_group/component.rs | 2 +- .../src/components/scroll_area/component.json | 7 + preview/src/components/select/component.json | 7 + preview/src/components/select/component.rs | 2 +- .../src/components/separator/component.json | 7 + preview/src/components/separator/component.rs | 2 +- preview/src/components/slider/component.json | 7 + preview/src/components/slider/component.rs | 2 +- preview/src/components/switch/component.json | 7 + preview/src/components/switch/component.rs | 2 +- preview/src/components/tabs/component.json | 7 + preview/src/components/tabs/component.rs | 2 +- preview/src/components/toast/component.json | 7 + preview/src/components/toast/component.rs | 2 +- preview/src/components/toggle/component.json | 7 + preview/src/components/toggle/component.rs | 2 +- .../components/toggle_group/component.json | 7 + .../src/components/toggle_group/component.rs | 2 +- preview/src/components/toolbar/component.json | 7 + preview/src/components/toolbar/component.rs | 2 +- preview/src/components/tooltip/component.json | 7 + preview/src/components/tooltip/component.rs | 2 +- preview/src/main.rs | 1 - 68 files changed, 1083 insertions(+), 642 deletions(-) create mode 100644 components.json create mode 100644 dioxus-component-manifest/Cargo.toml create mode 100644 dioxus-component-manifest/src/lib.rs create mode 100644 preview/src/components/accordion/component.json create mode 100644 preview/src/components/alert_dialog/component.json create mode 100644 preview/src/components/aspect_ratio/component.json create mode 100644 preview/src/components/avatar/component.json create mode 100644 preview/src/components/button/component.json create mode 100644 preview/src/components/calendar/component.json create mode 100644 preview/src/components/checkbox/component.json create mode 100644 preview/src/components/collapsible/component.json create mode 100644 preview/src/components/context_menu/component.json create mode 100644 preview/src/components/dialog/component.json create mode 100644 preview/src/components/dropdown_menu/component.json create mode 100644 preview/src/components/form/component.json create mode 100644 preview/src/components/hover_card/component.json create mode 100644 preview/src/components/input/component.json create mode 100644 preview/src/components/label/component.json create mode 100644 preview/src/components/menubar/component.json create mode 100644 preview/src/components/navbar/component.json create mode 100644 preview/src/components/popover/component.json create mode 100644 preview/src/components/progress/component.json create mode 100644 preview/src/components/radio_group/component.json create mode 100644 preview/src/components/scroll_area/component.json create mode 100644 preview/src/components/select/component.json create mode 100644 preview/src/components/separator/component.json create mode 100644 preview/src/components/slider/component.json create mode 100644 preview/src/components/switch/component.json create mode 100644 preview/src/components/tabs/component.json create mode 100644 preview/src/components/toast/component.json create mode 100644 preview/src/components/toggle/component.json create mode 100644 preview/src/components/toggle_group/component.json create mode 100644 preview/src/components/toolbar/component.json create mode 100644 preview/src/components/tooltip/component.json diff --git a/Cargo.lock b/Cargo.lock index e843c4aa..4b9600c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -160,7 +160,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.9.1", + "bitflags 2.9.4", "cc", "cesu8", "jni", @@ -180,12 +180,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -216,15 +210,15 @@ dependencies = [ "image", "kurbo", "peniko", - "thiserror 2.0.14", + "thiserror 2.0.16", "usvg", ] [[package]] name = "anyrender_vello" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b66b1f86022b8a391fcd98b6896515fad5587775ed0113844f1f59f22f81d8c" +checksum = "8c7bfb13ee0f53fb0bd500edb21f601e48e86d95d739c1a0a92579c7982b73d3" dependencies = [ "anyrender", "debug_timer", @@ -293,7 +287,7 @@ dependencies = [ "wayland-backend", "wayland-client", "wayland-protocols", - "zbus 5.9.0", + "zbus 5.11.0", ] [[package]] @@ -328,9 +322,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.2" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" dependencies = [ "async-task", "concurrent-queue", @@ -364,7 +358,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 1.0.8", + "rustix 1.1.2", "slab", "windows-sys 0.60.2", ] @@ -395,7 +389,7 @@ dependencies = [ "cfg-if", "event-listener", "futures-lite", - "rustix 1.0.8", + "rustix 1.1.2", ] [[package]] @@ -406,7 +400,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -421,7 +415,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 1.0.8", + "rustix 1.1.2", "signal-hook-registry", "slab", "windows-sys 0.60.2", @@ -441,7 +435,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -653,26 +647,28 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" dependencies = [ "serde", ] [[package]] name = "blitz-dom" -version = "0.1.0-rc.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145a503f45b2284a75ca1e715dbbef4d1ccf1eeace85330e29a2ae12a01d1263" +checksum = "b40d275ae1ea7c6b70233ebd6ed4278038ab4d00dcc1812bca14c9c3ab065116" dependencies = [ "accesskit", "app_units", "atomic_refcell", - "bitflags 2.9.1", + "bitflags 2.9.4", "blitz-traits", "color", + "cssparser 0.35.0", "cursor-icon", + "debug_timer", "euclid", "fastrand", "html-escape", @@ -683,7 +679,9 @@ dependencies = [ "parley", "peniko", "percent-encoding", - "selectors 0.29.0", + "rayon", + "selectors 0.31.0", + "skrifa 0.31.3", "slab", "smallvec", "stylo", @@ -697,11 +695,23 @@ dependencies = [ "usvg", ] +[[package]] +name = "blitz-html" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58dcb1b0ff3be0a452e39f84d3f9117a28df98a99c25351d8506910ea142d3cd" +dependencies = [ + "blitz-dom", + "blitz-traits", + "html5ever 0.35.0", + "xml5ever", +] + [[package]] name = "blitz-net" -version = "0.1.0-rc.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2a5ebc8993e3985097716262d4d496c18d3324727109e3c865071776dfe38b1" +checksum = "2434788de88b5b6b10a4b71b08284be3126633caa53c15063a2bf322ef6c6202" dependencies = [ "blitz-traits", "data-url", @@ -711,9 +721,9 @@ dependencies = [ [[package]] name = "blitz-paint" -version = "0.1.0-rc.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d62c7953382622298402412535db1796aaa83c71600bfc77fa7627a39aa722d" +checksum = "5442484c1401ff358249d7390783c0bf3c71fd6968551fcc8c55809a0db47a87" dependencies = [ "anyrender", "anyrender_svg", @@ -732,9 +742,9 @@ dependencies = [ [[package]] name = "blitz-shell" -version = "0.1.0-rc.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "347af5abefe16205d61a49101aeedeb9b4dafe4bb0c64858b267e448cfa0a471" +checksum = "14603c202d692b179db363ff1819578f80ee266f9ce6bd8b4efb3e7122cbdbc0" dependencies = [ "accesskit", "accesskit_winit", @@ -751,11 +761,11 @@ dependencies = [ [[package]] name = "blitz-traits" -version = "0.1.0-rc.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cb0235930120526087ce9d69fa2d6828e3fb078c61dde43231acec7968376bf" +checksum = "28632c6f78fa8a70c11f88df2c0fe459c1391acf2cf1032040a57e991f4b5512" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "bytes", "cursor-icon", "http", @@ -834,7 +844,7 @@ checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -861,7 +871,7 @@ version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cairo-sys-rs", "glib", "libc", @@ -886,7 +896,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "log", "polling", "rustix 0.38.44", @@ -908,10 +918,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.32" +version = "1.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2352e5597e9c544d5e6d9c95190d5d27738ade584fa8db0a16e130e5c2b5296e" +checksum = "65193589c6404eb80b450d618eaf9a2cafaaafd57ecce47370519ef674a7bd44" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -946,9 +957,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" @@ -958,16 +969,15 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-link", + "windows-link 0.2.0", ] [[package]] @@ -1003,7 +1013,7 @@ version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad36507aeb7e16159dfe68db81ccc27571c3ccd4b76fb2fb72fc59e7a4b1b64c" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block", "cocoa-foundation", "core-foundation 0.10.1", @@ -1019,7 +1029,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81411967c50ee9a1fc11365f8c585f863a22a9697c89239c452292c40ba79b0d" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block", "core-foundation 0.10.1", "core-graphics-types 0.2.0", @@ -1038,9 +1048,9 @@ dependencies = [ [[package]] name = "color" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae467d04a8a8aea5d9a49018a6ade2e4221d92968e8ce55a48c0b1164e5f698" +checksum = "a18ef4657441fb193b65f34dc39b3781f0dfec23d3bd94d0eeb4e88cde421edb" [[package]] name = "color_quant" @@ -1067,21 +1077,9 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - [[package]] name = "const-serialize" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c02a1f46ffe1c6f05edf568a7d8e2ab477c75a6ec5f33d2b83ce54fc3f096ca" dependencies = [ "const-serialize-macro", "serde", @@ -1090,12 +1088,10 @@ dependencies = [ [[package]] name = "const-serialize-macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1da74b91de7c3426afaed28ed514bc4cd39821eeecf9f32dc424023310a63ae4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1194,7 +1190,7 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "core-foundation 0.10.1", "core-graphics-types 0.2.0", "foreign-types 0.5.0", @@ -1218,7 +1214,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "core-foundation 0.10.1", "libc", ] @@ -1338,7 +1334,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1353,8 +1349,18 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.20.11", + "darling_macro 0.20.11", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core 0.21.3", + "darling_macro 0.21.3", ] [[package]] @@ -1367,7 +1373,20 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] @@ -1376,9 +1395,20 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core", + "darling_core 0.20.11", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core 0.21.3", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1403,15 +1433,15 @@ checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "data-url" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" +checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" [[package]] name = "debug_timer" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6283985164a993d14300c81746aa6db2d889ed9fbb573fa20b40737c3a972c" +checksum = "666ffd4494c077ad572420cc52aded853e1cac859147455f82b0bc578b442076" [[package]] name = "deranged" @@ -1432,7 +1462,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1452,7 +1482,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1468,21 +1498,19 @@ dependencies = [ [[package]] name = "dioxus" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c5e29983134d7b38f2d4578afc649ce5df744d9a7e13a1b1a983376f1056f41" dependencies = [ "dioxus-asset-resolver", "dioxus-cli-config", - "dioxus-config-macro", + "dioxus-config-macro 0.7.0-rc.0", "dioxus-config-macros", "dioxus-core", - "dioxus-core-macro", + "dioxus-core-macro 0.7.0-rc.0", "dioxus-desktop", "dioxus-devtools", "dioxus-document", "dioxus-fullstack", "dioxus-history", - "dioxus-hooks", + "dioxus-hooks 0.7.0-rc.0", "dioxus-html", "dioxus-liveview", "dioxus-logger", @@ -1503,8 +1531,6 @@ dependencies = [ [[package]] name = "dioxus-asset-resolver" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b6782436b323a84b4d9f90cf2365b35a1cdb918191221f71865dcc2e70016b6" dependencies = [ "dioxus-cli-config", "http", @@ -1516,7 +1542,7 @@ dependencies = [ "ndk-context", "ndk-sys 0.6.0+11769913", "percent-encoding", - "thiserror 2.0.14", + "thiserror 2.0.16", "tokio", "wasm-bindgen-futures", "web-sys", @@ -1525,12 +1551,27 @@ dependencies = [ [[package]] name = "dioxus-cli-config" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cec511d8a05ed60071bb0088f07ec40325faf27a608fa19d65befdd842b57f" dependencies = [ "wasm-bindgen", ] +[[package]] +name = "dioxus-component-manifest" +version = "0.1.0" +dependencies = [ + "schemars", + "serde", + "serde_json", +] + +[[package]] +name = "dioxus-config-macro" +version = "0.7.0-rc.0" +dependencies = [ + "proc-macro2", + "quote", +] + [[package]] name = "dioxus-config-macro" version = "0.7.0-rc.0" @@ -1544,14 +1585,10 @@ dependencies = [ [[package]] name = "dioxus-config-macros" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349cae693022df3af125c9f794aef0ffec97f2e1d01c252d883149e7ca7a0324" [[package]] name = "dioxus-core" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b55eccaa5c4f35f1755ea18a5716fe8ecba60ff1f25c52be6ceda2e6a52eb6" dependencies = [ "const_format", "dioxus-core-types", @@ -1569,6 +1606,17 @@ dependencies = [ "warnings", ] +[[package]] +name = "dioxus-core-macro" +version = "0.7.0-rc.0" +dependencies = [ + "convert_case 0.8.0", + "dioxus-rsx 0.7.0-rc.0", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "dioxus-core-macro" version = "0.7.0-rc.0" @@ -1576,23 +1624,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9280f81c8d58863b3077f1b7ca097e2f2b28d30a5aa02a656fbf72b0aee1bd9f" dependencies = [ "convert_case 0.8.0", - "dioxus-rsx", + "dioxus-rsx 0.7.0-rc.0 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "dioxus-core-types" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ef2a94b4ceb8f7a39f56a539d07e82b0358a49a0b95028ad48635975df29d7" [[package]] name = "dioxus-desktop" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8190b532291840504195a5aeb9125f53df2001006acdcd876929d64ecdac1fc8" dependencies = [ "async-trait", "base64", @@ -1604,7 +1648,7 @@ dependencies = [ "dioxus-devtools", "dioxus-document", "dioxus-history", - "dioxus-hooks", + "dioxus-hooks 0.7.0-rc.0", "dioxus-html", "dioxus-interpreter-js", "dioxus-signals", @@ -1633,7 +1677,7 @@ dependencies = [ "slab", "subtle", "tao", - "thiserror 2.0.14", + "thiserror 2.0.16", "tokio", "tracing", "tray-icon", @@ -1645,8 +1689,6 @@ dependencies = [ [[package]] name = "dioxus-devtools" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60af4e129968ab1713471ed0b29c3eefa4e8e09252429487d7a581e93c7ecfe5" dependencies = [ "dioxus-cli-config", "dioxus-core", @@ -1655,7 +1697,7 @@ dependencies = [ "serde", "serde_json", "subsecond", - "thiserror 2.0.14", + "thiserror 2.0.16", "tracing", "tungstenite 0.27.0", "warnings", @@ -1664,8 +1706,6 @@ dependencies = [ [[package]] name = "dioxus-devtools-types" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64274704b6a8d018112473cdce0b3db1dcccfa79bde445223592fe4e396ff5ef" dependencies = [ "dioxus-core", "serde", @@ -1675,11 +1715,9 @@ dependencies = [ [[package]] name = "dioxus-document" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11c7f4ff62a842c026c74b9782dd9117a2310ec52de69d858a9e54b96b3bac15" dependencies = [ "dioxus-core", - "dioxus-core-macro", + "dioxus-core-macro 0.7.0-rc.0", "dioxus-core-types", "dioxus-html", "futures-channel", @@ -1694,8 +1732,6 @@ dependencies = [ [[package]] name = "dioxus-fullstack" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819981e8aa811d9b81ac3135a8a74db2f1fa7510473c3251f98eceb2c710632e" dependencies = [ "base64", "bytes", @@ -1723,13 +1759,12 @@ dependencies = [ [[package]] name = "dioxus-fullstack-hooks" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef5fad61b2821b8f26c8498834920d617449d0b866aaac01b95284237f76e9d5" dependencies = [ "dioxus-core", + "dioxus-document", "dioxus-fullstack-protocol", "dioxus-history", - "dioxus-hooks", + "dioxus-hooks 0.7.0-rc.0", "dioxus-signals", "futures-channel", "serde", @@ -1738,8 +1773,6 @@ dependencies = [ [[package]] name = "dioxus-fullstack-protocol" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f266ad9e20be14b8899f2133dd942131f03e6749650e65e2aaec2c7f8a4bc1" dependencies = [ "base64", "ciborium", @@ -1751,13 +1784,26 @@ dependencies = [ [[package]] name = "dioxus-history" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e9e34323717a78ea3f8ba5072ff484744a656e8d422932c19937b67f45113e" dependencies = [ "dioxus-core", "tracing", ] +[[package]] +name = "dioxus-hooks" +version = "0.7.0-rc.0" +dependencies = [ + "dioxus-core", + "dioxus-signals", + "futures-channel", + "futures-util", + "generational-box", + "rustversion", + "slab", + "tracing", + "warnings", +] + [[package]] name = "dioxus-hooks" version = "0.7.0-rc.0" @@ -1778,14 +1824,12 @@ dependencies = [ [[package]] name = "dioxus-html" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "073e5b69a7b66e9cbb49530df8c4cf86bf2aff3322ba86a3d722f9d58cd9c54b" dependencies = [ "async-trait", "dioxus-core", - "dioxus-core-macro", + "dioxus-core-macro 0.7.0-rc.0", "dioxus-core-types", - "dioxus-hooks", + "dioxus-hooks 0.7.0-rc.0", "dioxus-html-internal-macro", "enumset", "euclid", @@ -1803,13 +1847,11 @@ dependencies = [ [[package]] name = "dioxus-html-internal-macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162beea862dc888897a0b527db08724ede0f09e59fe081ab39caa0b085f40e10" dependencies = [ "convert_case 0.8.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1819,7 +1861,7 @@ source = "git+https://github.com/dioxus-community/dioxus-i18n.git?branch=main#31 dependencies = [ "dioxus-lib", "fluent", - "thiserror 2.0.14", + "thiserror 2.0.16", "unic-langid", "walkdir", ] @@ -1827,8 +1869,6 @@ dependencies = [ [[package]] name = "dioxus-interpreter-js" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd2ef3fe9bddfcac6d2ccf123d4834b5c3d97e6f2be8fcbfc4943226d9d7d4fe" dependencies = [ "dioxus-core", "dioxus-core-types", @@ -1847,14 +1887,12 @@ dependencies = [ [[package]] name = "dioxus-isrg" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de299631d53fbde53d86609884a5b2bae65d9c1d86c78a79b7d2254b9ba1771" dependencies = [ "chrono", "http", "lru", "rustc-hash 2.1.1", - "thiserror 2.0.14", + "thiserror 2.0.16", "tracing", "walkdir", ] @@ -1865,19 +1903,17 @@ version = "0.7.0-alpha.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3340a7eeebc207010d27dcf2b347c748dfd6a8605dc3624019f0c7a06e0d5d8b" dependencies = [ - "dioxus-config-macro", + "dioxus-config-macro 0.7.0-rc.0 (registry+https://github.com/rust-lang/crates.io-index)", "dioxus-core", - "dioxus-core-macro", - "dioxus-hooks", - "dioxus-rsx", + "dioxus-core-macro 0.7.0-rc.0 (registry+https://github.com/rust-lang/crates.io-index)", + "dioxus-hooks 0.7.0-rc.0 (registry+https://github.com/rust-lang/crates.io-index)", + "dioxus-rsx 0.7.0-rc.0 (registry+https://github.com/rust-lang/crates.io-index)", "dioxus-signals", ] [[package]] name = "dioxus-liveview" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90ea4ac81b0c239f00c70a06d1433135babca3412817d4c21a1a188964e5a7f" dependencies = [ "axum", "dioxus-cli-config", @@ -1894,7 +1930,7 @@ dependencies = [ "serde", "serde_json", "slab", - "thiserror 2.0.14", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-util", @@ -1904,10 +1940,7 @@ dependencies = [ [[package]] name = "dioxus-logger" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d39a7c4d1f848fa62d0e605aabce921cc8a95ccea3d17101a840d216471adb7" dependencies = [ - "console_error_panic_hook", "dioxus-cli-config", "tracing", "tracing-subscriber", @@ -1917,12 +1950,11 @@ dependencies = [ [[package]] name = "dioxus-native" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a16872aea7351188328abf35ad476660521c4d66bcafb958c56c13b56de3ad33" dependencies = [ "anyrender", "anyrender_vello", "blitz-dom", + "blitz-html", "blitz-net", "blitz-paint", "blitz-shell", @@ -1946,8 +1978,6 @@ dependencies = [ [[package]] name = "dioxus-native-dom" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3e4fff38c6894988a330a1a4960309e7af5833a7c14c0e5f2ba81b734a786d" dependencies = [ "blitz-dom", "blitz-traits", @@ -1973,15 +2003,13 @@ dependencies = [ [[package]] name = "dioxus-router" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6260ba0131670716b7410bc6b2eba13cc7677ba133c9678b5508214a7a2a1794" dependencies = [ "dioxus-cli-config", "dioxus-core", - "dioxus-core-macro", + "dioxus-core-macro 0.7.0-rc.0", "dioxus-fullstack-hooks", "dioxus-history", - "dioxus-hooks", + "dioxus-hooks 0.7.0-rc.0", "dioxus-html", "dioxus-router-macro", "dioxus-signals", @@ -1994,8 +2022,6 @@ dependencies = [ [[package]] name = "dioxus-router-macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71f2013d2871815f6e84478198c5f458c735f053703a800a9ac684b98de2cfa" dependencies = [ "base16", "digest", @@ -2003,7 +2029,17 @@ dependencies = [ "quote", "sha2", "slab", - "syn 2.0.105", + "syn 2.0.106", +] + +[[package]] +name = "dioxus-rsx" +version = "0.7.0-rc.0" +dependencies = [ + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn 2.0.106", ] [[package]] @@ -2015,14 +2051,12 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "dioxus-server" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1116ed485980f0df75d9251dd216e325e059d71fe1ef823ee967105aa4d4be48" dependencies = [ "async-trait", "axum", @@ -2032,7 +2066,7 @@ dependencies = [ "dashmap", "dioxus-cli-config", "dioxus-core", - "dioxus-core-macro", + "dioxus-core-macro 0.7.0-rc.0", "dioxus-devtools", "dioxus-document", "dioxus-fullstack-hooks", @@ -2057,7 +2091,7 @@ dependencies = [ "serde", "server_fn", "subsecond", - "thiserror 2.0.14", + "thiserror 2.0.16", "tokio", "tokio-util", "tower", @@ -2071,8 +2105,6 @@ dependencies = [ [[package]] name = "dioxus-signals" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1d0e70a8da969c0404f5ef8cf6f47042bea55608b582079f3ea3d9fff46125c" dependencies = [ "dioxus-core", "futures-channel", @@ -2087,8 +2119,6 @@ dependencies = [ [[package]] name = "dioxus-ssr" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21c377da1f2ea708be1112dd61189d6dcd19c8db25208b750c3849f760fa854d" dependencies = [ "askama_escape", "dioxus-core", @@ -2099,8 +2129,6 @@ dependencies = [ [[package]] name = "dioxus-stores" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5494e5aa7333f3be918741eeb6bfb4d1cbf28d25035a2a3c2c5bcebdc27b0b68" dependencies = [ "dioxus-core", "dioxus-signals", @@ -2110,13 +2138,11 @@ dependencies = [ [[package]] name = "dioxus-stores-macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecb7365b1a587a9f2340cf8f925a00b997d8d31b4ee25ecb21ca8bdf99c2c33" dependencies = [ "convert_case 0.8.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2133,8 +2159,6 @@ dependencies = [ [[package]] name = "dioxus-web" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34eb4f341b0203f7b1fe1804d4561a19a399bf7fa4821a5b87cff5fd89d834bd" dependencies = [ "async-trait", "dioxus-cli-config", @@ -2142,6 +2166,7 @@ dependencies = [ "dioxus-core-types", "dioxus-devtools", "dioxus-document", + "dioxus-fullstack-hooks", "dioxus-fullstack-protocol", "dioxus-history", "dioxus-html", @@ -2166,13 +2191,11 @@ dependencies = [ [[package]] name = "dioxus_server_macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a032e9eaa291ded578b6c368ba35dd18d052e1cbcf2395244e555edd1767e61" dependencies = [ "proc-macro2", "quote", "server_fn_macro", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2193,7 +2216,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -2208,7 +2231,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.6.1", "libc", "objc2 0.6.2", @@ -2222,7 +2245,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2236,9 +2259,9 @@ dependencies = [ [[package]] name = "dlopen2" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" +checksum = "b54f373ccf864bf587a89e880fb7610f8d73f3045f13580948ccbcaff26febff" dependencies = [ "dlopen2_derive", "libc", @@ -2254,7 +2277,7 @@ checksum = "788160fb30de9cdd857af31c6a2675904b16ece8fc2737b2c7127ba368c9d0f4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2299,6 +2322,12 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + [[package]] name = "either" version = "1.15.0" @@ -2338,28 +2367,28 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "enumset" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ee17054f550fd7400e1906e2f9356c7672643ed34008a9e8abe147ccd2d821" +checksum = "25b07a8dfbbbfc0064c0a6bdf9edcf966de6b1c33ce344bdeca3b41615452634" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d07902c93376f1e96c34abc4d507c0911df3816cef50b01f5a2ff3ad8c370d" +checksum = "f43e744e4ea338060faee68ed933e46e722fb7f3617e722a5772d7e856d8b3ce" dependencies = [ - "darling", + "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2370,12 +2399,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -2434,6 +2463,12 @@ dependencies = [ "rustc_version", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" + [[package]] name = "flate2" version = "1.1.2" @@ -2492,7 +2527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" dependencies = [ "memchr", - "thiserror 2.0.14", + "thiserror 2.0.16", ] [[package]] @@ -2565,7 +2600,7 @@ dependencies = [ "objc2-core-text", "objc2-foundation 0.3.1", "peniko", - "read-fonts", + "read-fonts 0.29.3", "roxmltree", "smallvec", "windows 0.58.0", @@ -2599,7 +2634,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2616,9 +2651,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -2713,7 +2748,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2843,8 +2878,6 @@ dependencies = [ [[package]] name = "generational-box" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb058e0358ff765e719ab3e61629c5090fedb6a6ccf66479de21440a33d7f084" dependencies = [ "parking_lot", "tracing", @@ -2862,19 +2895,19 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.4.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +checksum = "fc257fdb4038301ce4b9cd1b3b51704509692bb3ff716a410cbd07925d9dae55" dependencies = [ - "libc", - "windows-targets 0.48.5", + "rustix 1.1.2", + "windows-targets 0.52.6", ] [[package]] name = "getopts" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1" +checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" dependencies = [ "unicode-width 0.2.1", ] @@ -2910,7 +2943,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi 0.14.4+wasi-0.2.4", ] [[package]] @@ -2978,7 +3011,7 @@ version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "futures-channel", "futures-core", "futures-executor", @@ -3006,7 +3039,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3030,7 +3063,7 @@ dependencies = [ "objc2 0.6.2", "objc2-app-kit 0.3.1", "once_cell", - "thiserror 2.0.14", + "thiserror 2.0.16", "windows-sys 0.59.0", "x11rb", "xkeysym", @@ -3120,7 +3153,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "gpu-alloc-types", ] @@ -3130,7 +3163,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", ] [[package]] @@ -3151,7 +3184,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -3162,14 +3195,14 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", ] [[package]] name = "grid" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71b01d27060ad58be4663b9e4ac9e2d4806918e8876af8912afbddd1a91d5eaa" +checksum = "12101ecc8225ea6d675bc70263074eab6169079621c2186fe0c66590b2df9681" [[package]] name = "gtk" @@ -3220,7 +3253,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3327,7 +3360,18 @@ dependencies = [ "log", "mac", "markup5ever 0.14.1", - "match_token", + "match_token 0.1.0", +] + +[[package]] +name = "html5ever" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55d958c2f74b664487a2035fe1dadb032c48718a03b63f3ab0b8537db8549ed4" +dependencies = [ + "log", + "markup5ever 0.35.0", + "match_token 0.35.0", ] [[package]] @@ -3384,13 +3428,14 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", + "futures-core", "h2", "http", "http-body", @@ -3398,6 +3443,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -3600,7 +3646,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3633,9 +3679,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -3687,18 +3733,18 @@ checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" [[package]] name = "immutable-chunkmap" -version = "2.0.6" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" +checksum = "9a3e98b1520e49e252237edc238a39869da9f3241f2ec19dc788c1d24694d1e4" dependencies = [ "arrayvec", ] [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921" dependencies = [ "equivalent", "hashbrown 0.15.5", @@ -3734,20 +3780,20 @@ dependencies = [ [[package]] name = "inventory" -version = "0.3.20" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab08d7cd2c5897f2c949e5383ea7c7db03fb19130ffcfbf7eda795137ae3cb83" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" dependencies = [ "rustversion", ] [[package]] name = "io-uring" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cfg-if", "libc", ] @@ -3830,9 +3876,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.3", "libc", @@ -3840,9 +3886,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" dependencies = [ "once_cell", "wasm-bindgen", @@ -3854,7 +3900,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "serde", "unicode-segmentation", ] @@ -3883,7 +3929,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" dependencies = [ "cssparser 0.29.6", - "html5ever", + "html5ever 0.29.1", "indexmap", "selectors 0.24.0", ] @@ -3908,8 +3954,6 @@ checksum = "e49596223b9d9d4947a14a25c142a6e7d8ab3f27eb3ade269d238bb8b5c267e2" [[package]] name = "lazy-js-bundle" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22c4abc3d491546025db72681ed8b1ff0e6e77d67f196460179b027d591b6ff" [[package]] name = "lazy_static" @@ -3979,7 +4023,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "libc", "redox_syscall 0.5.17", ] @@ -4017,9 +4061,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" @@ -4045,9 +4089,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.27" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "longest-increasing-subsequence" @@ -4057,9 +4101,9 @@ checksum = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86" [[package]] name = "lru" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ea4e65087ff52f3862caff188d489f1fab49a0cb09e01b2e3f1a617b10aaed" +checksum = "bfe949189f46fabb938b3a9a0be30fdd93fd8a09260da863399a8cf3db756ec8" dependencies = [ "hashbrown 0.15.5", ] @@ -4078,7 +4122,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4097,15 +4141,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f44db74bde26fdf427af23f1d146c211aed857c59e3be750cf2617f6b0b05c94" dependencies = [ "proc-macro2", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] [[package]] name = "manganis" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "105544bc1d466decccab19427eddb801b6e575bb4907410eb4fed604ed78d358" dependencies = [ "const-serialize", "manganis-core", @@ -4115,8 +4157,6 @@ dependencies = [ [[package]] name = "manganis-core" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d71ef461824c58f3d260c1f548f7a8aee2e0b6b805a503d15f8535a3a6272d7" dependencies = [ "const-serialize", "dioxus-cli-config", @@ -4127,15 +4167,13 @@ dependencies = [ [[package]] name = "manganis-macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06115a15f5d7bf6fcfee1b6979155cc51ab21ce7f06d907f6435d24175778f9e" dependencies = [ "dunce", "macro-string", "manganis-core", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4171,16 +4209,27 @@ checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", +] + +[[package]] +name = "match_token" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac84fd3f360fcc43dc5f5d186f02a94192761a080e8bc58621ad4d12296a58cf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -4203,18 +4252,18 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memfd" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227" dependencies = [ - "rustix 0.38.44", + "rustix 1.1.2", ] [[package]] name = "memmap2" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28" +checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" dependencies = [ "libc", ] @@ -4234,7 +4283,7 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block", "core-graphics-types 0.1.3", "foreign-types 0.5.0", @@ -4297,7 +4346,7 @@ dependencies = [ "objc2-foundation 0.3.1", "once_cell", "png", - "thiserror 2.0.14", + "thiserror 2.0.16", "windows-sys 0.60.2", ] @@ -4326,7 +4375,7 @@ checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.9.1", + "bitflags 2.9.4", "cfg_aliases", "codespan-reporting", "hexf-parse", @@ -4336,7 +4385,7 @@ dependencies = [ "spirv", "strum 0.26.3", "termcolor", - "thiserror 2.0.14", + "thiserror 2.0.16", "unicode-xid", ] @@ -4363,7 +4412,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "jni-sys", "log", "ndk-sys 0.6.0+11769913", @@ -4408,7 +4457,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cfg-if", "cfg_aliases", "libc", @@ -4421,7 +4470,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cfg-if", "cfg_aliases", "libc", @@ -4448,7 +4497,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4498,7 +4547,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4542,7 +4591,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -4558,7 +4607,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.6.1", "objc2 0.6.2", "objc2-core-foundation", @@ -4571,7 +4620,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -4595,7 +4644,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4607,7 +4656,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "dispatch2", "objc2 0.6.2", ] @@ -4618,7 +4667,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "objc2-core-foundation", ] @@ -4652,7 +4701,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ba833d4a1cb1aac330f8c973fd92b6ff1858e4aef5cdd00a255eefb28022fb5" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "objc2-core-foundation", ] @@ -4677,7 +4726,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "dispatch", "libc", @@ -4690,7 +4739,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.6.1", "objc2 0.6.2", "objc2-core-foundation", @@ -4714,7 +4763,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4726,7 +4775,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4749,7 +4798,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit", @@ -4770,7 +4819,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25b1312ad7bc8a0e92adae17aa10f90aae1fb618832f9b993b022b591027daed" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "objc2 0.6.2", "objc2-core-foundation", "objc2-foundation 0.3.1", @@ -4793,7 +4842,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -4806,7 +4855,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91672909de8b1ce1c2252e95bbee8c1649c9ad9d14b9248b3d7b4c47903c47ad" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.6.1", "objc2 0.6.2", "objc2-app-kit 0.3.1", @@ -4844,7 +4893,7 @@ version = "6.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "336b9c63443aceef14bea841b899035ae3abe89b7c486aaf4c5bd8aafedac3f0" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "libc", "once_cell", "onig_sys", @@ -4866,7 +4915,7 @@ version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cfg-if", "foreign-types 0.3.2", "libc", @@ -4883,7 +4932,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -5010,7 +5059,7 @@ dependencies = [ "fontique", "hashbrown 0.15.5", "peniko", - "skrifa", + "skrifa 0.31.3", "swash", ] @@ -5033,9 +5082,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "phf" @@ -5141,7 +5190,7 @@ dependencies = [ "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -5194,7 +5243,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -5234,7 +5283,7 @@ checksum = "3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1" dependencies = [ "base64", "indexmap", - "quick-xml 0.38.1", + "quick-xml 0.38.3", "serde", "time", ] @@ -5262,7 +5311,7 @@ dependencies = [ "concurrent-queue", "hermit-abi", "pin-project-lite", - "rustix 1.0.8", + "rustix 1.1.2", "windows-sys 0.60.2", ] @@ -5304,9 +5353,11 @@ name = "preview" version = "0.1.0" dependencies = [ "dioxus", + "dioxus-component-manifest", "dioxus-i18n", "dioxus-primitives", "pulldown-cmark", + "serde_json", "strum 0.27.2", "syntect", "time", @@ -5374,9 +5425,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.97" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -5389,7 +5440,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "version_check", ] @@ -5405,7 +5456,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "getopts", "memchr", "pulldown-cmark-escape", @@ -5445,9 +5496,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.38.1" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9845d9dccf565065824e69f9f235fafba1587031eda353c1f1561cd6a6be78f4" +checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" dependencies = [ "memchr", ] @@ -5625,6 +5676,16 @@ dependencies = [ "font-types", ] +[[package]] +name = "read-fonts" +version = "0.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50ea612a55c08586a1d15134be8a776186c440c312ebda3b9e8efbfe4255b7f4" +dependencies = [ + "bytemuck", + "font-types", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -5640,7 +5701,7 @@ version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", ] [[package]] @@ -5651,52 +5712,45 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ "getrandom 0.2.16", "libredox", - "thiserror 2.0.14", + "thiserror 2.0.16", ] [[package]] -name = "regex" -version = "1.11.1" +name = "ref-cast" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "ref-cast-impl", ] [[package]] -name = "regex-automata" -version = "0.1.10" +name = "ref-cast-impl" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ - "regex-syntax 0.6.29", + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "renderdoc-sys" @@ -5825,7 +5879,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "errno", "libc", "linux-raw-sys 0.4.15", @@ -5834,15 +5888,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.60.2", + "linux-raw-sys 0.11.0", + "windows-sys 0.61.0", ] [[package]] @@ -5869,9 +5923,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.4" +version = "0.103.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" +checksum = "b5a37813727b78798e53c2bec3f5e8fe12a6d6f8389bf9ca7802add4c9905ad8" dependencies = [ "ring", "rustls-pki-types", @@ -5890,7 +5944,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "bytemuck", "core_maths", "log", @@ -5919,11 +5973,36 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.0", +] + +[[package]] +name = "schemars" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +dependencies = [ + "dyn-clone", + "ref-cast", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.106", ] [[package]] @@ -5957,7 +6036,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -5966,9 +6045,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -5994,11 +6073,11 @@ dependencies = [ [[package]] name = "selectors" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61a96a0a2d04f964888e003ec83e3172159a16e81b35de9f6ab85d8767cf2b1" +checksum = "5685b6ae43bfcf7d2e7dfcfb5d8e8f61b46442c902531e41a32a9a8bf0ee0fb6" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cssparser 0.35.0", "derive_more 2.0.1", "fxhash", @@ -6062,14 +6141,25 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.142" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "itoa", "memchr", @@ -6095,7 +6185,7 @@ checksum = "f3faaf9e727533a19351a43cc5a8de957372163c7d35cc48c90b75cdda13c352" dependencies = [ "percent-encoding", "serde", - "thiserror 2.0.14", + "thiserror 2.0.16", ] [[package]] @@ -6106,7 +6196,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -6158,7 +6248,7 @@ dependencies = [ "serde_json", "serde_qs", "server_fn_macro_default", - "thiserror 2.0.14", + "thiserror 2.0.16", "throw_error", "tokio", "tokio-tungstenite 0.27.0", @@ -6183,7 +6273,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.105", + "syn 2.0.106", "xxhash-rust", ] @@ -6194,7 +6284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca7abc92ed696648275ed9ff171131a83d571af11748593dc2e6eb6a4e22a5b9" dependencies = [ "server_fn_macro", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -6307,7 +6397,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbeb4ca4399663735553a09dd17ce7e49a0a0203f03b706b39628c4d913a8607" dependencies = [ "bytemuck", - "read-fonts", + "read-fonts 0.29.3", +] + +[[package]] +name = "skrifa" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "576e60c7de4bb6a803a0312f9bef17e78cf1e8d25a80e1ade76770d7a0237955" +dependencies = [ + "bytemuck", + "read-fonts 0.33.1", ] [[package]] @@ -6333,7 +6433,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f62f06db0370222f7f498ef478fce9f8df5828848d1d3517e3331936d7074f55" dependencies = [ "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -6373,7 +6473,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "calloop", "calloop-wayland-source", "cursor-icon", @@ -6449,7 +6549,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", ] [[package]] @@ -6526,7 +6626,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -6538,19 +6638,19 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "stylo" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cdb2ebcdd49e8e2524d3045202eb472c4261bb9956294fd52ccc1200b8e0af" +checksum = "2c0e43d53a35821d4a1d0a222f830d4be1b3b9e1711037e176e112aa32006827" dependencies = [ "app_units", "arrayvec", "atomic_refcell", - "bitflags 2.9.1", + "bitflags 2.9.4", "byteorder", "cssparser 0.35.0", "derive_more 2.0.1", @@ -6575,7 +6675,7 @@ dependencies = [ "precomputed-hash", "rayon", "rayon-core", - "selectors 0.29.0", + "selectors 0.31.0", "serde", "servo_arc 0.4.1", "smallbitvec", @@ -6601,9 +6701,9 @@ dependencies = [ [[package]] name = "stylo_atoms" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a2e2d0a6532ae003a87e9a44d35e74175af06cbba191ba80947ba8e9ea369b3" +checksum = "94847461aae1c005d9d5c1fa46243fe7132b709cfdee5d34fa5e636afa146163" dependencies = [ "string_cache", "string_cache_codegen", @@ -6611,43 +6711,43 @@ dependencies = [ [[package]] name = "stylo_config" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a308fdc37610b1b9c6dbce4244a91f7bdf88bf8a13ccfbc50c212e09b29bc7d" +checksum = "4299e2bde00c3adede2698e647dcfcad9f4402252ef66be6ea2d781b4ec32816" [[package]] name = "stylo_derive" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8384a2ebb61abbde4466dfc9d5dcda134dfa939b77bfb2df878d1c7dffe081f1" +checksum = "0f252798e25b50eef5caff400fc39028e156ffbed74b4e3fd22e28aff10ed28f" dependencies = [ - "darling", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] [[package]] name = "stylo_dom" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bce5a8c7b6d5657952caeeec50213d356d1ca2f2b042cf4594a897701282e9" +checksum = "f0e0c1bf4e21bc6c921b7b07e2ab1cd6e92bf9f9453f333a14000942f304b20b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "stylo_malloc_size_of", ] [[package]] name = "stylo_malloc_size_of" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc88bd0d890c656478a8bfaab59e0e25d405149ef1117917d792540ab75b47cc" +checksum = "91df5c23c5d3b0fb3e1b11c4b98c6a4b769678055a376954945c2fb20e7438cf" dependencies = [ "app_units", "cssparser 0.35.0", "euclid", - "selectors 0.29.0", + "selectors 0.31.0", "servo_arc 0.4.1", "smallbitvec", "smallvec", @@ -6658,32 +6758,33 @@ dependencies = [ [[package]] name = "stylo_static_prefs" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500f379645e8a87fd03fe88607a5edcb0d8e4e423baa74ba52db198a06a0c261" +checksum = "62601d73eb8743eaed1f227bde2374f672ae8de7db1fedcbe5aca055e3de566b" [[package]] name = "stylo_taffy" -version = "0.1.0-rc.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce8876a33e0f3b16916b2b4da1cdbb64b9985d5ae61033d23024d95e45569ac" +checksum = "4919f25cd55489a3d0a5b27b70c7a27d7671ab4ccb448a305102ce5f38618f6d" dependencies = [ "stylo", + "stylo_atoms", "taffy", ] [[package]] name = "stylo_traits" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244bfd473f321ff0258f5b2986e218d5f72507fa405fd131b8dbb5ebac166663" +checksum = "d000ad3fad6a3c0327beeb9b93ddcff7a38f2d8c2910f9a3107b219926fea300" dependencies = [ "app_units", - "bitflags 2.9.1", + "bitflags 2.9.4", "cssparser 0.35.0", "euclid", "malloc_size_of_derive", - "selectors 0.29.0", + "selectors 0.31.0", "serde", "servo_arc 0.4.1", "stylo_atoms", @@ -6697,8 +6798,6 @@ dependencies = [ [[package]] name = "subsecond" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b14ed4d86ab065ffbfdb994fd3e44daf5244b02cb643bd52949d74b703f36605" dependencies = [ "js-sys", "libc", @@ -6707,7 +6806,7 @@ dependencies = [ "memmap2", "serde", "subsecond-types", - "thiserror 2.0.14", + "thiserror 2.0.16", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -6716,8 +6815,6 @@ dependencies = [ [[package]] name = "subsecond-types" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "275920a8a5634e47e12253971db85946798795bbe4d9dfc1debf23533d823983" dependencies = [ "serde", ] @@ -6750,7 +6847,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f745de914febc7c9ab4388dfaf94bbc87e69f57bb41133a9b0c84d4be49856f3" dependencies = [ - "skrifa", + "skrifa 0.31.3", "yazi", "zeno", ] @@ -6768,9 +6865,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.105" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -6794,7 +6891,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -6810,7 +6907,7 @@ dependencies = [ "once_cell", "onig", "plist", - "regex-syntax 0.8.5", + "regex-syntax", "serde", "serde_derive", "serde_json", @@ -6825,7 +6922,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -6855,9 +6952,9 @@ dependencies = [ [[package]] name = "taffy" -version = "0.8.3" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aaef0ac998e6527d6d0d5582f7e43953bb17221ac75bb8eb2fcc2db3396db1c" +checksum = "b25026fb8cc9ab51ab9fdabe5d11706796966f6d1c78e19871ef63be2b8f0644" dependencies = [ "arrayvec", "grid", @@ -6867,11 +6964,12 @@ dependencies = [ [[package]] name = "tao" -version = "0.34.0" +version = "0.34.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49c380ca75a231b87b6c9dd86948f035012e7171d1a7c40a9c2890489a7ffd8a" +checksum = "959469667dbcea91e5485fc48ba7dd6023face91bb0f1a14681a70f99847c3f7" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", + "block2 0.6.1", "core-foundation 0.10.1", "core-graphics 0.24.0", "crossbeam-channel", @@ -6913,7 +7011,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -6924,15 +7022,15 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.20.0" +version = "3.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", - "rustix 1.0.8", - "windows-sys 0.59.0", + "rustix 1.1.2", + "windows-sys 0.61.0", ] [[package]] @@ -6972,11 +7070,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0949c3a6c842cbde3f1686d6eea5a010516deb7085f79db747562d4102f41e" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.14", + "thiserror-impl 2.0.16", ] [[package]] @@ -6987,18 +7085,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b44b4ab9c2fdd0e0512e6bece8388e214c0749f5862b114cc5b7a25daf227" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -7097,9 +7195,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -7130,10 +7228,10 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ba1f5563024b63bb6acb4558452d9ba737518c1d11fcc1861febe98d1e31cf4" dependencies = [ - "darling", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] @@ -7165,7 +7263,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -7290,7 +7388,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.7.12", + "winnow 0.7.13", ] [[package]] @@ -7315,7 +7413,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "bytes", "futures-core", "futures-util", @@ -7369,7 +7467,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -7393,13 +7491,13 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "matchers", "once_cell", - "regex", + "regex-automata", "sharded-slab", "thread_local", "tracing", @@ -7434,7 +7532,7 @@ dependencies = [ "objc2-foundation 0.3.1", "once_cell", "png", - "thiserror 2.0.14", + "thiserror 2.0.16", "windows-sys 0.59.0", ] @@ -7466,7 +7564,7 @@ dependencies = [ "log", "rand 0.9.2", "sha1", - "thiserror 2.0.14", + "thiserror 2.0.16", "utf-8", ] @@ -7485,7 +7583,7 @@ dependencies = [ "rand 0.9.2", "rustls", "sha1", - "thiserror 2.0.14", + "thiserror 2.0.16", "utf-8", ] @@ -7563,7 +7661,7 @@ checksum = "a1249a628de3ad34b821ecb1001355bca3940bcb2f88558f1a8bd82e977f75b5" dependencies = [ "proc-macro-hack", "quote", - "syn 2.0.105", + "syn 2.0.106", "unic-langid-impl", ] @@ -7593,9 +7691,9 @@ checksum = "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] name = "unicode-properties" @@ -7647,9 +7745,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", @@ -7716,9 +7814,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.18.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" dependencies = [ "js-sys", "wasm-bindgen", @@ -7732,18 +7830,18 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vello" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df026e62e8b0d12d55ff5e91ae9114a20f82d9b856bedfdbf3abd5d1472dceed" +checksum = "fa3f8a53870a2ee699ce05b738a3f9974c92c35ed4874de86052ac68d214811c" dependencies = [ "bytemuck", "futures-intrusive", "log", "peniko", "png", - "skrifa", + "skrifa 0.35.0", "static_assertions", - "thiserror 2.0.14", + "thiserror 2.0.16", "vello_encoding", "vello_shaders", "wgpu", @@ -7751,26 +7849,26 @@ dependencies = [ [[package]] name = "vello_encoding" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5702642f6ea77eedc12d119e1eebead0dba3cf91fe5c5d1f3efc12bf0cfaf1" +checksum = "c69b0fe94b0ac7e47619c504ee2c377355174f5c46353c46d03fa5f7e435922b" dependencies = [ "bytemuck", "guillotiere", "peniko", - "skrifa", + "skrifa 0.35.0", "smallvec", ] [[package]] name = "vello_shaders" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381790a3779021edd9f88267c1b13b49546cb0fb164f329ee2f2587869ddf459" +checksum = "b2ebea426bb2f95b7610bca09178b03d809ede1d3c500a9acf6eca43e8f200be" dependencies = [ "bytemuck", "naga", - "thiserror 2.0.14", + "thiserror 2.0.16", "vello_encoding", ] @@ -7830,7 +7928,7 @@ checksum = "59195a1db0e95b920366d949ba5e0d3fc0e70b67c09be15ce5abb790106b0571" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -7847,44 +7945,45 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.4+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" dependencies = [ "cfg-if", "js-sys", @@ -7895,9 +7994,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7905,22 +8004,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" dependencies = [ "unicode-ident", ] @@ -7946,7 +8045,7 @@ checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" dependencies = [ "cc", "downcast-rs", - "rustix 1.0.8", + "rustix 1.1.2", "scoped-tls", "smallvec", "wayland-sys", @@ -7958,8 +8057,8 @@ version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ - "bitflags 2.9.1", - "rustix 1.0.8", + "bitflags 2.9.4", + "rustix 1.1.2", "wayland-backend", "wayland-scanner", ] @@ -7970,7 +8069,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cursor-icon", "wayland-backend", ] @@ -7981,7 +8080,7 @@ version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29" dependencies = [ - "rustix 1.0.8", + "rustix 1.1.2", "wayland-client", "xcursor", ] @@ -7992,7 +8091,7 @@ version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "wayland-backend", "wayland-client", "wayland-scanner", @@ -8004,7 +8103,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "wayland-backend", "wayland-client", "wayland-protocols", @@ -8017,7 +8116,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "wayland-backend", "wayland-client", "wayland-protocols", @@ -8049,9 +8148,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" dependencies = [ "js-sys", "wasm-bindgen", @@ -8161,7 +8260,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -8170,7 +8269,7 @@ version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36695906a1b53a3bf5c4289621efedac12b73eeb0b89e7e1a89b517302d5d75c" dependencies = [ - "thiserror 2.0.14", + "thiserror 2.0.16", "windows 0.61.3", "windows-core 0.61.2", ] @@ -8188,7 +8287,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353" dependencies = [ "arrayvec", - "bitflags 2.9.1", + "bitflags 2.9.4", "cfg_aliases", "document-features", "js-sys", @@ -8215,7 +8314,7 @@ checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.9.1", + "bitflags 2.9.4", "cfg_aliases", "document-features", "indexmap", @@ -8227,7 +8326,7 @@ dependencies = [ "raw-window-handle 0.6.2", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.14", + "thiserror 2.0.16", "wgpu-hal", "wgpu-types", ] @@ -8242,7 +8341,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.9.1", + "bitflags 2.9.4", "block", "bytemuck", "cfg_aliases", @@ -8270,7 +8369,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.14", + "thiserror 2.0.16", "wasm-bindgen", "web-sys", "wgpu-types", @@ -8284,7 +8383,7 @@ version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "js-sys", "log", "web-sys", @@ -8308,11 +8407,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] @@ -8340,7 +8439,7 @@ dependencies = [ "windows-collections", "windows-core 0.61.2", "windows-future", - "windows-link", + "windows-link 0.1.3", "windows-numerics", ] @@ -8374,7 +8473,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement 0.60.0", "windows-interface 0.59.1", - "windows-link", + "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", ] @@ -8386,7 +8485,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ "windows-core 0.61.2", - "windows-link", + "windows-link 0.1.3", "windows-threading", ] @@ -8398,7 +8497,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -8409,7 +8508,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -8420,7 +8519,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -8431,7 +8530,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -8440,6 +8539,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-link" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" + [[package]] name = "windows-numerics" version = "0.2.0" @@ -8447,7 +8552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ "windows-core 0.61.2", - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -8456,7 +8561,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ - "windows-link", + "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", ] @@ -8476,7 +8581,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -8495,7 +8600,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -8534,6 +8639,15 @@ dependencies = [ "windows-targets 0.53.3", ] +[[package]] +name = "windows-sys" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +dependencies = [ + "windows-link 0.2.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -8549,21 +8663,6 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -8586,7 +8685,7 @@ version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ - "windows-link", + "windows-link 0.1.3", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -8603,16 +8702,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] name = "windows-version" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c" +checksum = "69e061eb0a22b4a1d778ad70f7575ec7845490abb35b08fa320df7895882cacb" dependencies = [ - "windows-link", + "windows-link 0.2.0", ] [[package]] @@ -8621,12 +8720,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -8645,12 +8738,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -8669,12 +8756,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -8705,12 +8786,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -8729,12 +8804,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -8753,12 +8822,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -8777,12 +8840,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -8804,7 +8861,7 @@ dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.9.1", + "bitflags 2.9.4", "block2 0.5.1", "bytemuck", "calloop", @@ -8858,21 +8915,18 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.1", -] +checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" [[package]] name = "write16" @@ -8899,7 +8953,7 @@ dependencies = [ "dpi", "dunce", "gtk", - "html5ever", + "html5ever 0.29.1", "http", "javascriptcore-rs", "jni", @@ -8918,7 +8972,7 @@ dependencies = [ "sha2", "soup3", "tao-macros", - "thiserror 2.0.14", + "thiserror 2.0.16", "url", "webkit2gtk", "webkit2gtk-sys", @@ -8951,24 +9005,24 @@ dependencies = [ [[package]] name = "x11rb" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", "libloading 0.8.8", "once_cell", - "rustix 0.38.44", + "rustix 1.1.2", "x11rb-protocol", ] [[package]] name = "x11rb-protocol" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" [[package]] name = "xcursor" @@ -8992,7 +9046,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "dlib", "log", "once_cell", @@ -9011,6 +9065,16 @@ version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" +[[package]] +name = "xml5ever" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee3f1e41afb31a75aef076563b0ad3ecc24f5bd9d12a72b132222664eb76b494" +dependencies = [ + "log", + "markup5ever 0.35.0", +] + [[package]] name = "xmlwriter" version = "0.1.0" @@ -9058,7 +9122,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] @@ -9102,9 +9166,9 @@ dependencies = [ [[package]] name = "zbus" -version = "5.9.0" +version = "5.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb4f9a464286d42851d18a605f7193b8febaf5b0919d71c6399b7b26e5b0aad" +checksum = "2d07e46d035fb8e375b2ce63ba4e4ff90a7f73cf2ffb0138b29e1158d2eaadf7" dependencies = [ "async-broadcast", "async-recursion", @@ -9121,11 +9185,11 @@ dependencies = [ "tokio", "tracing", "uds_windows", - "windows-sys 0.59.0", - "winnow 0.7.12", - "zbus_macros 5.9.0", + "windows-sys 0.60.2", + "winnow 0.7.13", + "zbus_macros 5.11.0", "zbus_names 4.2.0", - "zvariant 5.6.0", + "zvariant 5.7.0", ] [[package]] @@ -9146,7 +9210,7 @@ checksum = "709ab20fc57cb22af85be7b360239563209258430bccf38d8b979c5a2ae3ecce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "zbus-lockstep", "zbus_xml", "zvariant 4.2.0", @@ -9161,23 +9225,23 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "zvariant_utils 2.1.0", ] [[package]] name = "zbus_macros" -version = "5.9.0" +version = "5.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef9859f68ee0c4ee2e8cde84737c78e3f4c54f946f2a38645d0d4c7a95327659" +checksum = "57e797a9c847ed3ccc5b6254e8bcce056494b375b511b3d6edcec0aeb4defaca" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "zbus_names 4.2.0", - "zvariant 5.6.0", - "zvariant_utils 3.2.0", + "zvariant 5.7.0", + "zvariant_utils 3.2.1", ] [[package]] @@ -9199,8 +9263,8 @@ checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" dependencies = [ "serde", "static_assertions", - "winnow 0.7.12", - "zvariant 5.6.0", + "winnow 0.7.13", + "zvariant 5.7.0", ] [[package]] @@ -9224,22 +9288,22 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -9259,7 +9323,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] @@ -9288,7 +9352,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -9299,9 +9363,9 @@ checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" [[package]] name = "zune-jpeg" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1f7e205ce79eb2da3cd71c5f55f3589785cb7c79f6a03d1c8d1491bda5d089" +checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" dependencies = [ "zune-core", ] @@ -9321,17 +9385,17 @@ dependencies = [ [[package]] name = "zvariant" -version = "5.6.0" +version = "5.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91b3680bb339216abd84714172b5138a4edac677e641ef17e1d8cb1b3ca6e6f" +checksum = "999dd3be73c52b1fccd109a4a81e4fcd20fab1d3599c8121b38d04e1419498db" dependencies = [ "endi", "enumflags2", "serde", "url", - "winnow 0.7.12", - "zvariant_derive 5.6.0", - "zvariant_utils 3.2.0", + "winnow 0.7.13", + "zvariant_derive 5.7.0", + "zvariant_utils 3.2.1", ] [[package]] @@ -9343,21 +9407,21 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "zvariant_utils 2.1.0", ] [[package]] name = "zvariant_derive" -version = "5.6.0" +version = "5.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8c68501be459a8dbfffbe5d792acdd23b4959940fc87785fb013b32edbc208" +checksum = "6643fd0b26a46d226bd90d3f07c1b5321fe9bb7f04673cb37ac6d6883885b68e" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.105", - "zvariant_utils 3.2.0", + "syn 2.0.106", + "zvariant_utils 3.2.1", ] [[package]] @@ -9368,19 +9432,18 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "zvariant_utils" -version = "3.2.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34" +checksum = "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599" dependencies = [ "proc-macro2", "quote", "serde", - "static_assertions", - "syn 2.0.105", - "winnow 0.7.12", + "syn 2.0.106", + "winnow 0.7.13", ] diff --git a/Cargo.toml b/Cargo.toml index 8f7aeeb4..8a8e9821 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] resolver = "3" -members = ["primitives", "preview"] +members = ["primitives", "preview", "dioxus-component-manifest"] [workspace.dependencies] dioxus-primitives = { path = "primitives" } @@ -8,6 +8,12 @@ dioxus-primitives = { path = "primitives" } dioxus = "^0.7.0-rc.0" tracing = { version = "0.1", features = ["std"] } +[patch.crates-io] +dioxus = { path = "../dioxus/packages/dioxus" } +dioxus-core = { path = "../dioxus/packages/core" } +dioxus-signals = { path = "../dioxus/packages/signals" } +generational-box = { path = "../dioxus/packages/generational-box" } + [profile] [profile.wasm-dev] diff --git a/components.json b/components.json new file mode 100644 index 00000000..a30335c7 --- /dev/null +++ b/components.json @@ -0,0 +1,37 @@ +{ + "name": "dioxus-components", + "description": "", + "members": [ + "preview/src/components/tabs", + "preview/src/components/dropdown_menu", + "preview/src/components/navbar", + "preview/src/components/form", + "preview/src/components/tooltip", + "preview/src/components/calendar", + "preview/src/components/menubar", + "preview/src/components/progress", + "preview/src/components/hover_card", + "preview/src/components/input", + "preview/src/components/accordion", + "preview/src/components/separator", + "preview/src/components/toast", + "preview/src/components/toolbar", + "preview/src/components/checkbox", + "preview/src/components/label", + "preview/src/components/slider", + "preview/src/components/toggle", + "preview/src/components/dialog", + "preview/src/components/alert_dialog", + "preview/src/components/popover", + "preview/src/components/radio_group", + "preview/src/components/button", + "preview/src/components/collapsible", + "preview/src/components/avatar", + "preview/src/components/switch", + "preview/src/components/select", + "preview/src/components/toggle_group", + "preview/src/components/context_menu", + "preview/src/components/aspect_ratio", + "preview/src/components/scroll_arean" + ] +} diff --git a/dioxus-component-manifest/Cargo.toml b/dioxus-component-manifest/Cargo.toml new file mode 100644 index 00000000..39a33cf7 --- /dev/null +++ b/dioxus-component-manifest/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "dioxus-component-manifest" +version = "0.1.0" +edition = "2024" + +[dependencies] +schemars = "1.0.4" +serde = { version = "1.0.219", features = ["derive"] } +serde_json = "1.0.143" diff --git a/dioxus-component-manifest/src/lib.rs b/dioxus-component-manifest/src/lib.rs new file mode 100644 index 00000000..ced0b239 --- /dev/null +++ b/dioxus-component-manifest/src/lib.rs @@ -0,0 +1,108 @@ +use std::process::Command; + +use schemars::{JsonSchema, schema_for}; +use serde::{Deserialize, Serialize}; + +#[derive(Deserialize, Serialize, JsonSchema)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct Component { + pub name: String, + #[serde(default)] + pub description: String, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub authors: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub component_dependencies: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub cargo_dependencies: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub members: Vec, +} + +#[derive(Deserialize, Serialize, JsonSchema)] +#[serde(untagged)] +pub enum ComponentDependency { + Builtin(String), + ThirdParty { + name: String, + git: String, + #[serde(default)] + rev: Option, + }, +} + +#[derive(Deserialize, Serialize, JsonSchema)] +#[serde(untagged)] +pub enum CargoDependency { + Simple(String), + Detailed { + name: String, + #[serde(default)] + version: Option, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + features: Vec, + #[serde(default, skip_serializing_if = "std::ops::Not::not")] + default_features: bool, + #[serde(default, skip_serializing_if = "Option::is_none")] + git: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + rev: Option, + }, +} + +impl CargoDependency { + fn add_command(&self) -> Command { + let mut cmd = Command::new("cargo"); + cmd.arg("add"); + match self { + CargoDependency::Simple(name) => { + cmd.arg(name); + } + CargoDependency::Detailed { + name, + version, + features, + default_features, + git, + rev, + } => { + cmd.arg(format!( + "{name}{}", + version + .as_ref() + .map(|version| format!("@{version}")) + .unwrap_or_default() + )); + if !features.is_empty() { + cmd.arg("--features").arg(features.join(",")); + } + if !*default_features { + cmd.arg("--no-default-features"); + } + if let Some(git) = git { + cmd.arg("--git").arg(git); + } + if let Some(rev) = rev { + cmd.arg("--rev").arg(rev); + } + } + } + cmd + } +} + +fn main() { + let schema = schema_for!(Component); + println!("{}", serde_json::to_string_pretty(&schema).unwrap()); + + let command = CargoDependency::Detailed { + name: "dioxus".to_string(), + features: vec!["web".to_string(), "ssr".to_string()], + version: Some("0.4".to_string()), + default_features: true, + git: None, + rev: None, + } + .add_command(); + println!("{command:?}"); +} diff --git a/preview/Cargo.toml b/preview/Cargo.toml index 86303814..856a6c51 100644 --- a/preview/Cargo.toml +++ b/preview/Cargo.toml @@ -16,6 +16,8 @@ time = { version = "0.3.41", features = ["std", "macros"] } [build-dependencies] syntect = "5.2" pulldown-cmark = "0.13.0" +dioxus-component-manifest = { version = "0.1.0", path = "../dioxus-component-manifest" } +serde_json = "1.0" [features] web = ["dioxus/web", "dioxus-primitives/web"] diff --git a/preview/src/components/accordion/component.json b/preview/src/components/accordion/component.json new file mode 100644 index 00000000..3f893e2e --- /dev/null +++ b/preview/src/components/accordion/component.json @@ -0,0 +1,7 @@ +{ + "name": "accordion", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/accordion/component.rs b/preview/src/components/accordion/component.rs index 426a6e3e..9bae9a6b 100644 --- a/preview/src/components/accordion/component.rs +++ b/preview/src/components/accordion/component.rs @@ -8,7 +8,7 @@ pub fn Accordion(props: AccordionProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/accordion/style.css"), + href: asset!("./style.css"), } accordion::Accordion { class: "accordion", diff --git a/preview/src/components/alert_dialog/component.json b/preview/src/components/alert_dialog/component.json new file mode 100644 index 00000000..73bbb085 --- /dev/null +++ b/preview/src/components/alert_dialog/component.json @@ -0,0 +1,7 @@ +{ + "name": "alert_dialog", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/alert_dialog/component.rs b/preview/src/components/alert_dialog/component.rs index 2871b9e5..d382cbf8 100644 --- a/preview/src/components/alert_dialog/component.rs +++ b/preview/src/components/alert_dialog/component.rs @@ -10,7 +10,7 @@ pub fn AlertDialogRoot(props: AlertDialogRootProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/alert_dialog/style.css"), + href: asset!("./style.css"), } alert_dialog::AlertDialogRoot { class: "alert-dialog-backdrop", diff --git a/preview/src/components/aspect_ratio/component.json b/preview/src/components/aspect_ratio/component.json new file mode 100644 index 00000000..671c6a1c --- /dev/null +++ b/preview/src/components/aspect_ratio/component.json @@ -0,0 +1,7 @@ +{ + "name": "aspect_ratio", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/aspect_ratio/variants/main/mod.rs b/preview/src/components/aspect_ratio/variants/main/mod.rs index 7d143b69..53d29c0a 100644 --- a/preview/src/components/aspect_ratio/variants/main/mod.rs +++ b/preview/src/components/aspect_ratio/variants/main/mod.rs @@ -6,7 +6,7 @@ pub fn Demo() -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/aspect_ratio/style.css"), + href: asset!("../../style.css"), } div { class: "aspect-ratio-container", diff --git a/preview/src/components/avatar/component.json b/preview/src/components/avatar/component.json new file mode 100644 index 00000000..9a91ca01 --- /dev/null +++ b/preview/src/components/avatar/component.json @@ -0,0 +1,7 @@ +{ + "name": "avatar", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/avatar/component.rs b/preview/src/components/avatar/component.rs index 5c19856e..78e80a5c 100644 --- a/preview/src/components/avatar/component.rs +++ b/preview/src/components/avatar/component.rs @@ -50,7 +50,7 @@ pub fn Avatar(props: AvatarProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/avatar/style.css"), + href: asset!("./style.css"), } avatar::Avatar { diff --git a/preview/src/components/button/component.json b/preview/src/components/button/component.json new file mode 100644 index 00000000..cb3f01d6 --- /dev/null +++ b/preview/src/components/button/component.json @@ -0,0 +1,7 @@ +{ + "name": "button", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/button/component.rs b/preview/src/components/button/component.rs index 99ea5955..36027c23 100644 --- a/preview/src/components/button/component.rs +++ b/preview/src/components/button/component.rs @@ -37,7 +37,7 @@ pub fn Button( rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/button/style.css"), + href: asset!("./style.css"), } button { diff --git a/preview/src/components/calendar/component.json b/preview/src/components/calendar/component.json new file mode 100644 index 00000000..f9069e80 --- /dev/null +++ b/preview/src/components/calendar/component.json @@ -0,0 +1,7 @@ +{ + "name": "calendar", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/calendar/component.rs b/preview/src/components/calendar/component.rs index 973bfbe3..f34ecf9a 100644 --- a/preview/src/components/calendar/component.rs +++ b/preview/src/components/calendar/component.rs @@ -9,7 +9,7 @@ pub fn Calendar(props: CalendarProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/calendar/style.css"), + href: asset!("./style.css"), } div { class: "calendar", calendar::Calendar { diff --git a/preview/src/components/checkbox/component.json b/preview/src/components/checkbox/component.json new file mode 100644 index 00000000..3a59bb89 --- /dev/null +++ b/preview/src/components/checkbox/component.json @@ -0,0 +1,7 @@ +{ + "name": "checkbox", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/checkbox/component.rs b/preview/src/components/checkbox/component.rs index d6020eb9..fb47da9c 100644 --- a/preview/src/components/checkbox/component.rs +++ b/preview/src/components/checkbox/component.rs @@ -6,7 +6,7 @@ pub fn Checkbox(props: CheckboxProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/checkbox/style.css"), + href: asset!("./style.css"), } checkbox::Checkbox { class: "checkbox", diff --git a/preview/src/components/collapsible/component.json b/preview/src/components/collapsible/component.json new file mode 100644 index 00000000..d26a6aaf --- /dev/null +++ b/preview/src/components/collapsible/component.json @@ -0,0 +1,7 @@ +{ + "name": "collapsible", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/collapsible/component.rs b/preview/src/components/collapsible/component.rs index fed7cabd..7c42380c 100644 --- a/preview/src/components/collapsible/component.rs +++ b/preview/src/components/collapsible/component.rs @@ -8,7 +8,7 @@ pub fn Collapsible(props: CollapsibleProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/collapsible/style.css"), + href: asset!("./style.css"), } collapsible::Collapsible { keep_mounted: props.keep_mounted, diff --git a/preview/src/components/context_menu/component.json b/preview/src/components/context_menu/component.json new file mode 100644 index 00000000..ebafa154 --- /dev/null +++ b/preview/src/components/context_menu/component.json @@ -0,0 +1,7 @@ +{ + "name": "context_menu", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/context_menu/component.rs b/preview/src/components/context_menu/component.rs index 91308cb3..8d199a26 100644 --- a/preview/src/components/context_menu/component.rs +++ b/preview/src/components/context_menu/component.rs @@ -8,7 +8,7 @@ pub fn ContextMenu(props: ContextMenuProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/context_menu/style.css"), + href: asset!("./style.css"), } context_menu::ContextMenu { disabled: props.disabled, diff --git a/preview/src/components/dialog/component.json b/preview/src/components/dialog/component.json new file mode 100644 index 00000000..f0d7de41 --- /dev/null +++ b/preview/src/components/dialog/component.json @@ -0,0 +1,7 @@ +{ + "name": "dialog", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/dialog/component.rs b/preview/src/components/dialog/component.rs index 84cca25d..77424883 100644 --- a/preview/src/components/dialog/component.rs +++ b/preview/src/components/dialog/component.rs @@ -8,7 +8,7 @@ pub fn DialogRoot(props: DialogRootProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/dialog/style.css"), + href: asset!("./style.css"), } dialog::DialogRoot { class: "dialog-backdrop", diff --git a/preview/src/components/dropdown_menu/component.json b/preview/src/components/dropdown_menu/component.json new file mode 100644 index 00000000..0ddf84ee --- /dev/null +++ b/preview/src/components/dropdown_menu/component.json @@ -0,0 +1,7 @@ +{ + "name": "dropdown_menu", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/dropdown_menu/component.rs b/preview/src/components/dropdown_menu/component.rs index 8a20086f..e6f592e6 100644 --- a/preview/src/components/dropdown_menu/component.rs +++ b/preview/src/components/dropdown_menu/component.rs @@ -9,7 +9,7 @@ pub fn DropdownMenu(props: DropdownMenuProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/dropdown_menu/style.css"), + href: asset!("./style.css"), } dropdown_menu::DropdownMenu { class: "dropdown-menu", diff --git a/preview/src/components/form/component.json b/preview/src/components/form/component.json new file mode 100644 index 00000000..67197dc8 --- /dev/null +++ b/preview/src/components/form/component.json @@ -0,0 +1,7 @@ +{ + "name": "form", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/form/variants/main/mod.rs b/preview/src/components/form/variants/main/mod.rs index ad2b61f9..4d9fa545 100644 --- a/preview/src/components/form/variants/main/mod.rs +++ b/preview/src/components/form/variants/main/mod.rs @@ -3,7 +3,7 @@ use dioxus_primitives::checkbox::{Checkbox, CheckboxIndicator}; #[component] pub fn Demo() -> Element { rsx! { - document::Link { rel: "stylesheet", href: asset!("/src/components/form/style.css") } + document::Link { rel: "stylesheet", href: asset!("./style.css") } form { class: "form-example", onsubmit: move |e| { diff --git a/preview/src/components/hover_card/component.json b/preview/src/components/hover_card/component.json new file mode 100644 index 00000000..7ea886d0 --- /dev/null +++ b/preview/src/components/hover_card/component.json @@ -0,0 +1,7 @@ +{ + "name": "hover_card", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/hover_card/component.rs b/preview/src/components/hover_card/component.rs index 895a206e..d981f68a 100644 --- a/preview/src/components/hover_card/component.rs +++ b/preview/src/components/hover_card/component.rs @@ -8,7 +8,7 @@ pub fn HoverCard(props: HoverCardProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/hover_card/style.css"), + href: asset!("./style.css"), } hover_card::HoverCard { class: "hover-card", diff --git a/preview/src/components/input/component.json b/preview/src/components/input/component.json new file mode 100644 index 00000000..98cd46bf --- /dev/null +++ b/preview/src/components/input/component.json @@ -0,0 +1,7 @@ +{ + "name": "input", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/input/component.rs b/preview/src/components/input/component.rs index 2829a2ed..9c0938d4 100644 --- a/preview/src/components/input/component.rs +++ b/preview/src/components/input/component.rs @@ -10,7 +10,7 @@ pub fn Input( rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/input/style.css"), + href: asset!("./style.css"), } input { class: "input", diff --git a/preview/src/components/label/component.json b/preview/src/components/label/component.json new file mode 100644 index 00000000..ab81e83e --- /dev/null +++ b/preview/src/components/label/component.json @@ -0,0 +1,7 @@ +{ + "name": "label", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/label/component.rs b/preview/src/components/label/component.rs index df4841cd..42734ca3 100644 --- a/preview/src/components/label/component.rs +++ b/preview/src/components/label/component.rs @@ -6,7 +6,7 @@ pub fn Label(props: LabelProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/label/style.css"), + href: asset!("./style.css"), } label::Label { class: "label", diff --git a/preview/src/components/menubar/component.json b/preview/src/components/menubar/component.json new file mode 100644 index 00000000..3aec5b96 --- /dev/null +++ b/preview/src/components/menubar/component.json @@ -0,0 +1,7 @@ +{ + "name": "menubar", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/menubar/component.rs b/preview/src/components/menubar/component.rs index d0e4f05c..632d72c6 100644 --- a/preview/src/components/menubar/component.rs +++ b/preview/src/components/menubar/component.rs @@ -9,7 +9,7 @@ pub fn Menubar(props: MenubarProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/menubar/style.css"), + href: asset!("./style.css"), } menubar::Menubar { class: "menubar", diff --git a/preview/src/components/navbar/component.json b/preview/src/components/navbar/component.json new file mode 100644 index 00000000..44683790 --- /dev/null +++ b/preview/src/components/navbar/component.json @@ -0,0 +1,7 @@ +{ + "name": "navbar", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/navbar/component.rs b/preview/src/components/navbar/component.rs index 68b5cbc9..ecd2ff85 100644 --- a/preview/src/components/navbar/component.rs +++ b/preview/src/components/navbar/component.rs @@ -8,7 +8,7 @@ pub fn Navbar(props: NavbarProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/navbar/style.css"), + href: asset!("./style.css"), } navbar::Navbar { class: "navbar", diff --git a/preview/src/components/popover/component.json b/preview/src/components/popover/component.json new file mode 100644 index 00000000..3ffb4d5b --- /dev/null +++ b/preview/src/components/popover/component.json @@ -0,0 +1,7 @@ +{ + "name": "popover", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/popover/component.rs b/preview/src/components/popover/component.rs index 47d8390d..4cf2040c 100644 --- a/preview/src/components/popover/component.rs +++ b/preview/src/components/popover/component.rs @@ -8,7 +8,7 @@ pub fn PopoverRoot(props: PopoverRootProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/popover/style.css"), + href: asset!("./style.css"), } popover::PopoverRoot { class: "popover", diff --git a/preview/src/components/progress/component.json b/preview/src/components/progress/component.json new file mode 100644 index 00000000..e8a6141b --- /dev/null +++ b/preview/src/components/progress/component.json @@ -0,0 +1,7 @@ +{ + "name": "progress", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/progress/component.rs b/preview/src/components/progress/component.rs index b8c2b68c..7cf3ae3b 100644 --- a/preview/src/components/progress/component.rs +++ b/preview/src/components/progress/component.rs @@ -6,7 +6,7 @@ pub fn Progress(props: ProgressProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/progress/style.css"), + href: asset!("./style.css"), } progress::Progress { class: "progress", diff --git a/preview/src/components/radio_group/component.json b/preview/src/components/radio_group/component.json new file mode 100644 index 00000000..2d3e2950 --- /dev/null +++ b/preview/src/components/radio_group/component.json @@ -0,0 +1,7 @@ +{ + "name": "radio_group", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/radio_group/component.rs b/preview/src/components/radio_group/component.rs index a62fa5e3..85dbd7ec 100644 --- a/preview/src/components/radio_group/component.rs +++ b/preview/src/components/radio_group/component.rs @@ -6,7 +6,7 @@ pub fn RadioGroup(props: RadioGroupProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/radio_group/style.css"), + href: asset!("./style.css"), } radio_group::RadioGroup { class: "radio-group", diff --git a/preview/src/components/scroll_area/component.json b/preview/src/components/scroll_area/component.json new file mode 100644 index 00000000..dfeafc59 --- /dev/null +++ b/preview/src/components/scroll_area/component.json @@ -0,0 +1,7 @@ +{ + "name": "scroll_area", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/select/component.json b/preview/src/components/select/component.json new file mode 100644 index 00000000..a8221003 --- /dev/null +++ b/preview/src/components/select/component.json @@ -0,0 +1,7 @@ +{ + "name": "select", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/select/component.rs b/preview/src/components/select/component.rs index a7a3d7ef..64a3f4aa 100644 --- a/preview/src/components/select/component.rs +++ b/preview/src/components/select/component.rs @@ -9,7 +9,7 @@ pub fn Select(props: SelectProps) -> Element rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/select/style.css"), + href: asset!("./style.css"), } select::Select { class: "select", diff --git a/preview/src/components/separator/component.json b/preview/src/components/separator/component.json new file mode 100644 index 00000000..ad4da2d4 --- /dev/null +++ b/preview/src/components/separator/component.json @@ -0,0 +1,7 @@ +{ + "name": "separator", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/separator/component.rs b/preview/src/components/separator/component.rs index 6804d66b..1f62d147 100644 --- a/preview/src/components/separator/component.rs +++ b/preview/src/components/separator/component.rs @@ -6,7 +6,7 @@ pub fn Separator(props: SeparatorProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/separator/style.css"), + href: asset!("./style.css"), } separator::Separator { class: "separator", diff --git a/preview/src/components/slider/component.json b/preview/src/components/slider/component.json new file mode 100644 index 00000000..7d21c92f --- /dev/null +++ b/preview/src/components/slider/component.json @@ -0,0 +1,7 @@ +{ + "name": "slider", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/slider/component.rs b/preview/src/components/slider/component.rs index a4dbadef..fe579cf3 100644 --- a/preview/src/components/slider/component.rs +++ b/preview/src/components/slider/component.rs @@ -8,7 +8,7 @@ pub fn Slider(props: SliderProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/slider/style.css"), + href: asset!("./style.css"), } slider::Slider { class: "slider", diff --git a/preview/src/components/switch/component.json b/preview/src/components/switch/component.json new file mode 100644 index 00000000..a850c9b7 --- /dev/null +++ b/preview/src/components/switch/component.json @@ -0,0 +1,7 @@ +{ + "name": "switch", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/switch/component.rs b/preview/src/components/switch/component.rs index 409b462a..4ab72996 100644 --- a/preview/src/components/switch/component.rs +++ b/preview/src/components/switch/component.rs @@ -6,7 +6,7 @@ pub fn Switch(props: SwitchProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/switch/style.css"), + href: asset!("./style.css"), } switch::Switch { class: "switch", diff --git a/preview/src/components/tabs/component.json b/preview/src/components/tabs/component.json new file mode 100644 index 00000000..044c7baa --- /dev/null +++ b/preview/src/components/tabs/component.json @@ -0,0 +1,7 @@ +{ + "name": "tabs", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/tabs/component.rs b/preview/src/components/tabs/component.rs index 3b50a752..6994693c 100644 --- a/preview/src/components/tabs/component.rs +++ b/preview/src/components/tabs/component.rs @@ -68,7 +68,7 @@ pub fn Tabs(props: TabsProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/tabs/style.css"), + href: asset!("./style.css"), } tabs::Tabs { class: props.class + " tabs", diff --git a/preview/src/components/toast/component.json b/preview/src/components/toast/component.json new file mode 100644 index 00000000..073aaba0 --- /dev/null +++ b/preview/src/components/toast/component.json @@ -0,0 +1,7 @@ +{ + "name": "toast", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/toast/component.rs b/preview/src/components/toast/component.rs index d9e74f8b..42e4114a 100644 --- a/preview/src/components/toast/component.rs +++ b/preview/src/components/toast/component.rs @@ -6,7 +6,7 @@ pub fn ToastProvider(props: ToastProviderProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/toast/style.css"), + href: asset!("./style.css"), } toast::ToastProvider { default_duration: props.default_duration, diff --git a/preview/src/components/toggle/component.json b/preview/src/components/toggle/component.json new file mode 100644 index 00000000..b8ca08b5 --- /dev/null +++ b/preview/src/components/toggle/component.json @@ -0,0 +1,7 @@ +{ + "name": "toggle", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/toggle/component.rs b/preview/src/components/toggle/component.rs index 5d6bba9d..9e9bb985 100644 --- a/preview/src/components/toggle/component.rs +++ b/preview/src/components/toggle/component.rs @@ -6,7 +6,7 @@ pub fn Toggle(props: ToggleProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/toggle/style.css"), + href: asset!("./style.css"), } toggle::Toggle { class: "toggle", diff --git a/preview/src/components/toggle_group/component.json b/preview/src/components/toggle_group/component.json new file mode 100644 index 00000000..f8197a0c --- /dev/null +++ b/preview/src/components/toggle_group/component.json @@ -0,0 +1,7 @@ +{ + "name": "toggle_group", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/toggle_group/component.rs b/preview/src/components/toggle_group/component.rs index 10a037ae..74d90ee9 100644 --- a/preview/src/components/toggle_group/component.rs +++ b/preview/src/components/toggle_group/component.rs @@ -6,7 +6,7 @@ pub fn ToggleGroup(props: ToggleGroupProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/toggle_group/style.css"), + href: asset!("./style.css"), } toggle_group::ToggleGroup { class: "toggle-group", diff --git a/preview/src/components/toolbar/component.json b/preview/src/components/toolbar/component.json new file mode 100644 index 00000000..c45fd0cf --- /dev/null +++ b/preview/src/components/toolbar/component.json @@ -0,0 +1,7 @@ +{ + "name": "toolbar", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/toolbar/component.rs b/preview/src/components/toolbar/component.rs index 2bd9bed4..634ff830 100644 --- a/preview/src/components/toolbar/component.rs +++ b/preview/src/components/toolbar/component.rs @@ -6,7 +6,7 @@ pub fn Toolbar(props: ToolbarProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/toolbar/style.css"), + href: asset!("./style.css"), } toolbar::Toolbar { class: "toolbar", diff --git a/preview/src/components/tooltip/component.json b/preview/src/components/tooltip/component.json new file mode 100644 index 00000000..193801fb --- /dev/null +++ b/preview/src/components/tooltip/component.json @@ -0,0 +1,7 @@ +{ + "name": "tooltip", + "description": "", + "authors": [ + "Evan Almloff" + ] +} \ No newline at end of file diff --git a/preview/src/components/tooltip/component.rs b/preview/src/components/tooltip/component.rs index 680ede99..c844b4a3 100644 --- a/preview/src/components/tooltip/component.rs +++ b/preview/src/components/tooltip/component.rs @@ -6,7 +6,7 @@ pub fn Tooltip(props: TooltipProps) -> Element { rsx! { document::Link { rel: "stylesheet", - href: asset!("/src/components/tooltip/style.css"), + href: asset!("./style.css"), } tooltip::Tooltip { class: "tooltip", diff --git a/preview/src/main.rs b/preview/src/main.rs index c3a8f981..37f33950 100644 --- a/preview/src/main.rs +++ b/preview/src/main.rs @@ -132,7 +132,6 @@ fn NavigationLayout() -> Element { document::Link { rel: "stylesheet", href: asset!("/assets/main.css") } document::Link { rel: "stylesheet", href: asset!("/assets/theme.css") } document::Link { rel: "stylesheet", href: asset!("/assets/hero.css") } - document::Link { rel: "stylesheet", href: asset!("/src/components/tabs/style.css") } Navbar {} Outlet:: {} } From b7fb9ef3d8450320ffa5bc8559681b6945e1eafd Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Mon, 15 Sep 2025 15:48:17 -0500 Subject: [PATCH 02/13] fill out descriptions --- preview/src/components/accordion/component.json | 8 +++----- preview/src/components/alert_dialog/component.json | 8 +++----- preview/src/components/aspect_ratio/component.json | 8 +++----- preview/src/components/avatar/component.json | 8 +++----- preview/src/components/button/component.json | 8 +++----- preview/src/components/calendar/component.json | 8 +++----- preview/src/components/checkbox/component.json | 8 +++----- preview/src/components/collapsible/component.json | 8 +++----- preview/src/components/context_menu/component.json | 8 +++----- preview/src/components/dialog/component.json | 8 +++----- preview/src/components/dropdown_menu/component.json | 8 +++----- preview/src/components/form/component.json | 8 +++----- preview/src/components/hover_card/component.json | 8 +++----- preview/src/components/input/component.json | 8 +++----- preview/src/components/label/component.json | 8 +++----- preview/src/components/menubar/component.json | 8 +++----- preview/src/components/navbar/component.json | 8 +++----- preview/src/components/popover/component.json | 8 +++----- preview/src/components/progress/component.json | 8 +++----- preview/src/components/radio_group/component.json | 8 +++----- preview/src/components/scroll_area/component.json | 8 +++----- preview/src/components/select/component.json | 8 +++----- preview/src/components/separator/component.json | 8 +++----- preview/src/components/slider/component.json | 8 +++----- preview/src/components/switch/component.json | 8 +++----- preview/src/components/tabs/component.json | 8 +++----- preview/src/components/toast/component.json | 8 +++----- preview/src/components/toggle/component.json | 8 +++----- preview/src/components/toggle_group/component.json | 8 +++----- preview/src/components/toolbar/component.json | 8 +++----- preview/src/components/tooltip/component.json | 8 +++----- 31 files changed, 93 insertions(+), 155 deletions(-) diff --git a/preview/src/components/accordion/component.json b/preview/src/components/accordion/component.json index 3f893e2e..7121b7d8 100644 --- a/preview/src/components/accordion/component.json +++ b/preview/src/components/accordion/component.json @@ -1,7 +1,5 @@ { "name": "accordion", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An accordion component for displaying collapsible content sections.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/alert_dialog/component.json b/preview/src/components/alert_dialog/component.json index 73bbb085..c62c7750 100644 --- a/preview/src/components/alert_dialog/component.json +++ b/preview/src/components/alert_dialog/component.json @@ -1,7 +1,5 @@ { "name": "alert_dialog", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An alert dialog component for displaying important messages and requiring user confirmation.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/aspect_ratio/component.json b/preview/src/components/aspect_ratio/component.json index 671c6a1c..3cd699c8 100644 --- a/preview/src/components/aspect_ratio/component.json +++ b/preview/src/components/aspect_ratio/component.json @@ -1,7 +1,5 @@ { "name": "aspect_ratio", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An aspect ratio component for maintaining a consistent width-to-height ratio of an element.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/avatar/component.json b/preview/src/components/avatar/component.json index 9a91ca01..603bdc2e 100644 --- a/preview/src/components/avatar/component.json +++ b/preview/src/components/avatar/component.json @@ -1,7 +1,5 @@ { "name": "avatar", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An avatar component for displaying user profile images or initials.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/button/component.json b/preview/src/components/button/component.json index cb3f01d6..83ec05fa 100644 --- a/preview/src/components/button/component.json +++ b/preview/src/components/button/component.json @@ -1,7 +1,5 @@ { "name": "button", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A button component for triggering actions or events when clicked.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/calendar/component.json b/preview/src/components/calendar/component.json index f9069e80..e10d46e0 100644 --- a/preview/src/components/calendar/component.json +++ b/preview/src/components/calendar/component.json @@ -1,7 +1,5 @@ { "name": "calendar", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A calendar grid component for selecting dates.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/checkbox/component.json b/preview/src/components/checkbox/component.json index 3a59bb89..a483af62 100644 --- a/preview/src/components/checkbox/component.json +++ b/preview/src/components/checkbox/component.json @@ -1,7 +1,5 @@ { "name": "checkbox", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A togglable checkbox component.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/collapsible/component.json b/preview/src/components/collapsible/component.json index d26a6aaf..1a40ba3f 100644 --- a/preview/src/components/collapsible/component.json +++ b/preview/src/components/collapsible/component.json @@ -1,7 +1,5 @@ { "name": "collapsible", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A collapsible component for showing and hiding content sections.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/context_menu/component.json b/preview/src/components/context_menu/component.json index ebafa154..7709e6ad 100644 --- a/preview/src/components/context_menu/component.json +++ b/preview/src/components/context_menu/component.json @@ -1,7 +1,5 @@ { "name": "context_menu", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A context menu component for displaying a list of actions or option after right clicking an area.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/dialog/component.json b/preview/src/components/dialog/component.json index f0d7de41..f2f9ecfb 100644 --- a/preview/src/components/dialog/component.json +++ b/preview/src/components/dialog/component.json @@ -1,7 +1,5 @@ { "name": "dialog", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A dialog component for displaying modal content.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/dropdown_menu/component.json b/preview/src/components/dropdown_menu/component.json index 0ddf84ee..19556e73 100644 --- a/preview/src/components/dropdown_menu/component.json +++ b/preview/src/components/dropdown_menu/component.json @@ -1,7 +1,5 @@ { "name": "dropdown_menu", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A dropdown menu component for selecting options from a list.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/form/component.json b/preview/src/components/form/component.json index 67197dc8..73f1adaf 100644 --- a/preview/src/components/form/component.json +++ b/preview/src/components/form/component.json @@ -1,7 +1,5 @@ { "name": "form", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A form component for collecting user input.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/hover_card/component.json b/preview/src/components/hover_card/component.json index 7ea886d0..c0b31ffd 100644 --- a/preview/src/components/hover_card/component.json +++ b/preview/src/components/hover_card/component.json @@ -1,7 +1,5 @@ { "name": "hover_card", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A hover card component for displaying additional information on hover.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/input/component.json b/preview/src/components/input/component.json index 98cd46bf..32284fed 100644 --- a/preview/src/components/input/component.json +++ b/preview/src/components/input/component.json @@ -1,7 +1,5 @@ { "name": "input", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An input field component for user text entry.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/label/component.json b/preview/src/components/label/component.json index ab81e83e..7156a193 100644 --- a/preview/src/components/label/component.json +++ b/preview/src/components/label/component.json @@ -1,7 +1,5 @@ { "name": "label", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An accessible label component for form elements.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/menubar/component.json b/preview/src/components/menubar/component.json index 3aec5b96..ad10651f 100644 --- a/preview/src/components/menubar/component.json +++ b/preview/src/components/menubar/component.json @@ -1,7 +1,5 @@ { "name": "menubar", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A menubar component for a collection of menu items.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/navbar/component.json b/preview/src/components/navbar/component.json index 44683790..7ddbac3e 100644 --- a/preview/src/components/navbar/component.json +++ b/preview/src/components/navbar/component.json @@ -1,7 +1,5 @@ { "name": "navbar", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A navbar component for navigation between pages.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/popover/component.json b/preview/src/components/popover/component.json index 3ffb4d5b..c597ed6f 100644 --- a/preview/src/components/popover/component.json +++ b/preview/src/components/popover/component.json @@ -1,7 +1,5 @@ { "name": "popover", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A popover component for colapsible content.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/progress/component.json b/preview/src/components/progress/component.json index e8a6141b..aef4faaa 100644 --- a/preview/src/components/progress/component.json +++ b/preview/src/components/progress/component.json @@ -1,7 +1,5 @@ { "name": "progress", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An accessable progress bar indicator.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/radio_group/component.json b/preview/src/components/radio_group/component.json index 2d3e2950..b52e24f8 100644 --- a/preview/src/components/radio_group/component.json +++ b/preview/src/components/radio_group/component.json @@ -1,7 +1,5 @@ { "name": "radio_group", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A group of radio buttons for selecting one option from a set.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/scroll_area/component.json b/preview/src/components/scroll_area/component.json index dfeafc59..5d5a304e 100644 --- a/preview/src/components/scroll_area/component.json +++ b/preview/src/components/scroll_area/component.json @@ -1,7 +1,5 @@ { "name": "scroll_area", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A scrollable area component.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/select/component.json b/preview/src/components/select/component.json index a8221003..645016ea 100644 --- a/preview/src/components/select/component.json +++ b/preview/src/components/select/component.json @@ -1,7 +1,5 @@ { "name": "select", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A select dropdown component with typeahead support.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/separator/component.json b/preview/src/components/separator/component.json index ad4da2d4..3b1057e9 100644 --- a/preview/src/components/separator/component.json +++ b/preview/src/components/separator/component.json @@ -1,7 +1,5 @@ { "name": "separator", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A visual separator between different sections of the page.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/slider/component.json b/preview/src/components/slider/component.json index 7d21c92f..9d40fc93 100644 --- a/preview/src/components/slider/component.json +++ b/preview/src/components/slider/component.json @@ -1,7 +1,5 @@ { "name": "slider", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "An accessable slider component.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/switch/component.json b/preview/src/components/switch/component.json index a850c9b7..c05cb618 100644 --- a/preview/src/components/switch/component.json +++ b/preview/src/components/switch/component.json @@ -1,7 +1,5 @@ { "name": "switch", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A togglable switch component.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/tabs/component.json b/preview/src/components/tabs/component.json index 044c7baa..0d2362d4 100644 --- a/preview/src/components/tabs/component.json +++ b/preview/src/components/tabs/component.json @@ -1,7 +1,5 @@ { "name": "tabs", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A tabbed interface component.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/toast/component.json b/preview/src/components/toast/component.json index 073aaba0..148fb5cc 100644 --- a/preview/src/components/toast/component.json +++ b/preview/src/components/toast/component.json @@ -1,7 +1,5 @@ { "name": "toast", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A toast notification component.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/toggle/component.json b/preview/src/components/toggle/component.json index b8ca08b5..cb944cf7 100644 --- a/preview/src/components/toggle/component.json +++ b/preview/src/components/toggle/component.json @@ -1,7 +1,5 @@ { "name": "toggle", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A simple toggle button component.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/toggle_group/component.json b/preview/src/components/toggle_group/component.json index f8197a0c..2ebc6f61 100644 --- a/preview/src/components/toggle_group/component.json +++ b/preview/src/components/toggle_group/component.json @@ -1,7 +1,5 @@ { "name": "toggle_group", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A group of toggle buttons for selecting one or more options from a set.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/toolbar/component.json b/preview/src/components/toolbar/component.json index c45fd0cf..b5efbe10 100644 --- a/preview/src/components/toolbar/component.json +++ b/preview/src/components/toolbar/component.json @@ -1,7 +1,5 @@ { "name": "toolbar", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A toolbar component for grouping related inputs.", + "authors": ["Evan Almloff"] +} diff --git a/preview/src/components/tooltip/component.json b/preview/src/components/tooltip/component.json index 193801fb..d875ad91 100644 --- a/preview/src/components/tooltip/component.json +++ b/preview/src/components/tooltip/component.json @@ -1,7 +1,5 @@ { "name": "tooltip", - "description": "", - "authors": [ - "Evan Almloff" - ] -} \ No newline at end of file + "description": "A tooltip component for additional information on hover or focus.", + "authors": ["Evan Almloff"] +} From 4eda35aba256a39aa86f54467d99e87b26e6c1f4 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Tue, 16 Sep 2025 11:43:13 -0500 Subject: [PATCH 03/13] fix manifest --- components.json | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 components.json diff --git a/components.json b/components.json deleted file mode 100644 index a30335c7..00000000 --- a/components.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "dioxus-components", - "description": "", - "members": [ - "preview/src/components/tabs", - "preview/src/components/dropdown_menu", - "preview/src/components/navbar", - "preview/src/components/form", - "preview/src/components/tooltip", - "preview/src/components/calendar", - "preview/src/components/menubar", - "preview/src/components/progress", - "preview/src/components/hover_card", - "preview/src/components/input", - "preview/src/components/accordion", - "preview/src/components/separator", - "preview/src/components/toast", - "preview/src/components/toolbar", - "preview/src/components/checkbox", - "preview/src/components/label", - "preview/src/components/slider", - "preview/src/components/toggle", - "preview/src/components/dialog", - "preview/src/components/alert_dialog", - "preview/src/components/popover", - "preview/src/components/radio_group", - "preview/src/components/button", - "preview/src/components/collapsible", - "preview/src/components/avatar", - "preview/src/components/switch", - "preview/src/components/select", - "preview/src/components/toggle_group", - "preview/src/components/context_menu", - "preview/src/components/aspect_ratio", - "preview/src/components/scroll_arean" - ] -} From 3b6f0d785e9ba37a6b9652536d7f444ec2ba3e83 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Tue, 16 Sep 2025 12:54:07 -0500 Subject: [PATCH 04/13] add exclude property --- Cargo.toml | 21 ---- component.json | 37 ++++++ dioxus-component-manifest/src/lib.rs | 2 + preview/src/components/accordion/component.rs | 11 +- .../components/accordion/variants/main/mod.rs | 14 +-- .../components/alert_dialog/component.json | 3 +- .../src/components/alert_dialog/component.rs | 11 +- .../alert_dialog/variants/main/mod.rs | 11 +- .../components/aspect_ratio/component.json | 3 +- .../aspect_ratio/variants/main/mod.rs | 5 +- preview/src/components/avatar/component.json | 3 +- preview/src/components/avatar/component.rs | 11 +- .../components/avatar/variants/main/mod.rs | 7 +- preview/src/components/button/component.json | 3 +- preview/src/components/button/component.rs | 5 +- .../components/button/variants/main/mod.rs | 29 +---- .../src/components/calendar/component.json | 3 +- preview/src/components/calendar/component.rs | 32 ++--- .../variants/internationalized/mod.rs | 8 +- .../components/calendar/variants/main/mod.rs | 4 +- .../src/components/checkbox/component.json | 3 +- preview/src/components/checkbox/component.rs | 8 +- .../components/checkbox/variants/main/mod.rs | 5 +- .../src/components/collapsible/component.json | 3 +- .../src/components/collapsible/component.rs | 11 +- .../collapsible/variants/main/mod.rs | 12 +- .../components/context_menu/component.json | 3 +- .../src/components/context_menu/component.rs | 8 +- .../context_menu/variants/main/mod.rs | 4 +- preview/src/components/dialog/component.json | 3 +- preview/src/components/dialog/component.rs | 12 +- .../components/dialog/variants/main/mod.rs | 16 +-- .../components/dropdown_menu/component.json | 3 +- .../src/components/dropdown_menu/component.rs | 11 +- .../dropdown_menu/variants/main/mod.rs | 4 +- preview/src/components/form/component.json | 3 +- .../src/components/form/variants/main/mod.rs | 2 +- .../src/components/hover_card/component.json | 3 +- .../src/components/hover_card/component.rs | 5 +- .../hover_card/variants/main/mod.rs | 6 +- preview/src/components/input/component.json | 3 +- preview/src/components/input/component.rs | 11 +- .../src/components/input/variants/main/mod.rs | 4 +- preview/src/components/label/component.json | 3 +- preview/src/components/label/component.rs | 5 +- .../src/components/label/variants/main/mod.rs | 15 +-- preview/src/components/menubar/component.json | 3 +- preview/src/components/menubar/component.rs | 11 +- preview/src/components/navbar/component.json | 3 +- preview/src/components/navbar/component.rs | 9 +- .../components/navbar/variants/main/mod.rs | 11 +- preview/src/components/popover/component.json | 3 +- preview/src/components/popover/component.rs | 11 +- .../components/popover/variants/main/mod.rs | 15 +-- .../src/components/progress/component.json | 3 +- preview/src/components/progress/component.rs | 11 +- .../components/progress/variants/main/mod.rs | 6 +- .../src/components/radio_group/component.json | 3 +- .../src/components/radio_group/component.rs | 5 +- .../radio_group/variants/main/mod.rs | 19 +-- .../src/components/scroll_area/component.json | 3 +- .../scroll_area/variants/main/mod.rs | 4 +- preview/src/components/select/component.json | 3 +- preview/src/components/select/component.rs | 13 +- .../components/select/variants/main/mod.rs | 25 +--- .../src/components/separator/component.json | 3 +- preview/src/components/separator/component.rs | 5 +- preview/src/components/slider/component.json | 3 +- preview/src/components/slider/component.rs | 17 +-- .../components/slider/variants/main/mod.rs | 5 +- preview/src/components/switch/component.json | 3 +- preview/src/components/switch/component.rs | 11 +- preview/src/components/tabs/component.json | 3 +- preview/src/components/tabs/component.rs | 11 +- .../src/components/tabs/variants/main/mod.rs | 26 +--- preview/src/components/toast/component.json | 3 +- preview/src/components/toast/component.rs | 5 +- .../src/components/toast/variants/main/mod.rs | 2 +- preview/src/components/toggle/component.json | 3 +- preview/src/components/toggle/component.rs | 5 +- .../components/toggle_group/component.json | 3 +- .../src/components/toggle_group/component.rs | 5 +- .../toggle_group/variants/main/mod.rs | 12 +- preview/src/components/toolbar/component.json | 3 +- preview/src/components/toolbar/component.rs | 10 +- .../components/toolbar/variants/main/mod.rs | 30 +---- preview/src/components/tooltip/component.json | 3 +- preview/src/components/tooltip/component.rs | 5 +- .../components/tooltip/variants/main/mod.rs | 8 +- preview/src/main.rs | 116 ++++++++++-------- primitives/src/accordion.rs | 10 +- primitives/src/alert_dialog.rs | 25 ++-- primitives/src/aspect_ratio.rs | 10 +- primitives/src/avatar.rs | 13 +- primitives/src/calendar.rs | 42 ++----- primitives/src/checkbox.rs | 6 +- primitives/src/collapsible.rs | 4 +- primitives/src/dialog.rs | 17 +-- primitives/src/dropdown_menu.rs | 2 +- primitives/src/hover_card.rs | 4 +- primitives/src/label.rs | 7 +- primitives/src/menubar.rs | 10 +- primitives/src/navbar.rs | 11 +- primitives/src/popover.rs | 13 +- primitives/src/progress.rs | 2 +- primitives/src/radio_group.rs | 2 +- primitives/src/select/components/group.rs | 2 +- primitives/src/select/components/trigger.rs | 2 +- primitives/src/select/components/value.rs | 6 +- primitives/src/slider.rs | 57 ++++----- primitives/src/switch.rs | 6 +- primitives/src/tabs.rs | 9 +- primitives/src/toast.rs | 59 ++++----- primitives/src/toggle.rs | 2 +- primitives/src/toolbar.rs | 2 +- 115 files changed, 444 insertions(+), 729 deletions(-) create mode 100644 component.json diff --git a/Cargo.toml b/Cargo.toml index 8a8e9821..39c255f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,24 +13,3 @@ dioxus = { path = "../dioxus/packages/dioxus" } dioxus-core = { path = "../dioxus/packages/core" } dioxus-signals = { path = "../dioxus/packages/signals" } generational-box = { path = "../dioxus/packages/generational-box" } - -[profile] - -[profile.wasm-dev] -inherits = "dev" -opt-level = 1 - -[profile.server-dev] -inherits = "dev" - -[profile.android-dev] -inherits = "dev" - -# Same as in the Stable section -[profile.release] -opt-level = "z" -debug = false -lto = true -codegen-units = 1 -panic = "abort" -incremental = false diff --git a/component.json b/component.json new file mode 100644 index 00000000..8984b2b3 --- /dev/null +++ b/component.json @@ -0,0 +1,37 @@ +{ + "name": "dioxus-components", + "description": "", + "members": [ + "preview/src/components/tabs", + "preview/src/components/dropdown_menu", + "preview/src/components/navbar", + "preview/src/components/form", + "preview/src/components/tooltip", + "preview/src/components/calendar", + "preview/src/components/menubar", + "preview/src/components/progress", + "preview/src/components/hover_card", + "preview/src/components/input", + "preview/src/components/accordion", + "preview/src/components/separator", + "preview/src/components/toast", + "preview/src/components/toolbar", + "preview/src/components/checkbox", + "preview/src/components/label", + "preview/src/components/slider", + "preview/src/components/toggle", + "preview/src/components/dialog", + "preview/src/components/alert_dialog", + "preview/src/components/popover", + "preview/src/components/radio_group", + "preview/src/components/button", + "preview/src/components/collapsible", + "preview/src/components/avatar", + "preview/src/components/switch", + "preview/src/components/select", + "preview/src/components/toggle_group", + "preview/src/components/context_menu", + "preview/src/components/aspect_ratio", + "preview/src/components/scroll_area" + ] +} diff --git a/dioxus-component-manifest/src/lib.rs b/dioxus-component-manifest/src/lib.rs index ced0b239..9bb74e5a 100644 --- a/dioxus-component-manifest/src/lib.rs +++ b/dioxus-component-manifest/src/lib.rs @@ -17,6 +17,8 @@ pub struct Component { pub cargo_dependencies: Vec, #[serde(default, skip_serializing_if = "Vec::is_empty")] pub members: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub exclude: Vec, } #[derive(Deserialize, Serialize, JsonSchema)] diff --git a/preview/src/components/accordion/component.rs b/preview/src/components/accordion/component.rs index 9bae9a6b..f1bf89df 100644 --- a/preview/src/components/accordion/component.rs +++ b/preview/src/components/accordion/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::accordion::{ #[component] pub fn Accordion(props: AccordionProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } accordion::Accordion { class: "accordion", width: "15rem", @@ -43,7 +40,8 @@ pub fn AccordionItem(props: AccordionItemProps) -> Element { #[component] pub fn AccordionTrigger(props: AccordionTriggerProps) -> Element { rsx! { - accordion::AccordionTrigger { class: "accordion-trigger", + accordion::AccordionTrigger { + class: "accordion-trigger", id: props.id, attributes: props.attributes, {props.children} @@ -60,7 +58,8 @@ pub fn AccordionTrigger(props: AccordionTriggerProps) -> Element { #[component] pub fn AccordionContent(props: AccordionContentProps) -> Element { rsx! { - accordion::AccordionContent { class: "accordion-content", + accordion::AccordionContent { + class: "accordion-content", style: "--collapsible-content-width: 140px", id: props.id, attributes: props.attributes, diff --git a/preview/src/components/accordion/variants/main/mod.rs b/preview/src/components/accordion/variants/main/mod.rs index e8abb11c..43d99afd 100644 --- a/preview/src/components/accordion/variants/main/mod.rs +++ b/preview/src/components/accordion/variants/main/mod.rs @@ -3,19 +3,13 @@ use dioxus::prelude::*; #[component] pub fn Demo() -> Element { rsx! { - Accordion { - allow_multiple_open: false, - horizontal: false, + Accordion { allow_multiple_open: false, horizontal: false, for i in 0..4 { - AccordionItem { - index: i, - AccordionTrigger { - "the quick brown fox" - } + AccordionItem { index: i, + AccordionTrigger { "the quick brown fox" } AccordionContent { div { padding_bottom: "1rem", - p { - padding: "0", + p { padding: "0", "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum" } } diff --git a/preview/src/components/alert_dialog/component.json b/preview/src/components/alert_dialog/component.json index c62c7750..8bbee1cc 100644 --- a/preview/src/components/alert_dialog/component.json +++ b/preview/src/components/alert_dialog/component.json @@ -1,5 +1,6 @@ { "name": "alert_dialog", "description": "An alert dialog component for displaying important messages and requiring user confirmation.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/alert_dialog/component.rs b/preview/src/components/alert_dialog/component.rs index d382cbf8..2cd3c2b0 100644 --- a/preview/src/components/alert_dialog/component.rs +++ b/preview/src/components/alert_dialog/component.rs @@ -8,10 +8,7 @@ use dioxus_primitives::alert_dialog::{ #[component] pub fn AlertDialogRoot(props: AlertDialogRootProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } alert_dialog::AlertDialogRoot { class: "alert-dialog-backdrop", id: props.id, @@ -49,11 +46,7 @@ pub fn AlertDialogDescription(props: AlertDialogDescriptionProps) -> Element { #[component] pub fn AlertDialogActions(props: AlertDialogActionsProps) -> Element { rsx! { - alert_dialog::AlertDialogActions { - class: "alert-dialog-actions", - attributes: props.attributes, - {props.children} - } + alert_dialog::AlertDialogActions { class: "alert-dialog-actions", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/alert_dialog/variants/main/mod.rs b/preview/src/components/alert_dialog/variants/main/mod.rs index c4bd74a7..d349d3d7 100644 --- a/preview/src/components/alert_dialog/variants/main/mod.rs +++ b/preview/src/components/alert_dialog/variants/main/mod.rs @@ -10,24 +10,19 @@ pub fn Demo() -> Element { rsx! { Button { - type: "button", + r#type: "button", "data-style": "outline", style: "margin-bottom: 1.5rem;", onclick: move |_| open.set(true), "Show Alert Dialog" } - AlertDialogRoot { - open: open(), - on_open_change: move |v| open.set(v), + AlertDialogRoot { open: open(), on_open_change: move |v| open.set(v), AlertDialogContent { AlertDialogTitle { "Delete item" } AlertDialogDescription { "Are you sure you want to delete this item? This action cannot be undone." } AlertDialogActions { AlertDialogCancel { "Cancel" } - AlertDialogAction { - on_click: move |_| confirmed.set(true), - "Delete" - } + AlertDialogAction { on_click: move |_| confirmed.set(true), "Delete" } } } } diff --git a/preview/src/components/aspect_ratio/component.json b/preview/src/components/aspect_ratio/component.json index 3cd699c8..33ab78e5 100644 --- a/preview/src/components/aspect_ratio/component.json +++ b/preview/src/components/aspect_ratio/component.json @@ -1,5 +1,6 @@ { "name": "aspect_ratio", "description": "An aspect ratio component for maintaining a consistent width-to-height ratio of an element.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/aspect_ratio/variants/main/mod.rs b/preview/src/components/aspect_ratio/variants/main/mod.rs index 53d29c0a..bea462c0 100644 --- a/preview/src/components/aspect_ratio/variants/main/mod.rs +++ b/preview/src/components/aspect_ratio/variants/main/mod.rs @@ -4,10 +4,7 @@ use dioxus::prelude::*; #[component] pub fn Demo() -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("../../style.css"), - } + document::Link { rel: "stylesheet", href: asset!("../../style.css") } div { class: "aspect-ratio-container", width: "20rem", diff --git a/preview/src/components/avatar/component.json b/preview/src/components/avatar/component.json index 603bdc2e..5dcafb53 100644 --- a/preview/src/components/avatar/component.json +++ b/preview/src/components/avatar/component.json @@ -1,5 +1,6 @@ { "name": "avatar", "description": "An avatar component for displaying user profile images or initials.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/avatar/component.rs b/preview/src/components/avatar/component.rs index 78e80a5c..ddb43d77 100644 --- a/preview/src/components/avatar/component.rs +++ b/preview/src/components/avatar/component.rs @@ -48,10 +48,7 @@ pub struct AvatarProps { #[component] pub fn Avatar(props: AvatarProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } avatar::Avatar { class: "avatar {props.size.to_class()}", @@ -79,10 +76,6 @@ pub fn AvatarImage(props: AvatarImageProps) -> Element { #[component] pub fn AvatarFallback(props: AvatarFallbackProps) -> Element { rsx! { - avatar::AvatarFallback { - class: "avatar-fallback", - attributes: props.attributes, - {props.children} - } + avatar::AvatarFallback { class: "avatar-fallback", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/avatar/variants/main/mod.rs b/preview/src/components/avatar/variants/main/mod.rs index 6654a3b8..3674b993 100644 --- a/preview/src/components/avatar/variants/main/mod.rs +++ b/preview/src/components/avatar/variants/main/mod.rs @@ -5,7 +5,12 @@ use dioxus::prelude::*; pub fn Demo() -> Element { let mut avatar_state = use_signal(|| "No state yet".to_string()); rsx! { - div { display: "flex", flex_direction: "row", align_items: "center", justify_content: "between", gap: "1rem", + div { + display: "flex", + flex_direction: "row", + align_items: "center", + justify_content: "between", + gap: "1rem", div { class: "avatar-item", p { class: "avatar-label", "Basic Usage" } Avatar { diff --git a/preview/src/components/button/component.json b/preview/src/components/button/component.json index 83ec05fa..bb1da74d 100644 --- a/preview/src/components/button/component.json +++ b/preview/src/components/button/component.json @@ -1,5 +1,6 @@ { "name": "button", "description": "A button component for triggering actions or events when clicked.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/button/component.rs b/preview/src/components/button/component.rs index 36027c23..6e6a9678 100644 --- a/preview/src/components/button/component.rs +++ b/preview/src/components/button/component.rs @@ -35,10 +35,7 @@ pub fn Button( children: Element, ) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } button { class: "button", diff --git a/preview/src/components/button/variants/main/mod.rs b/preview/src/components/button/variants/main/mod.rs index d32750ab..4d798443 100644 --- a/preview/src/components/button/variants/main/mod.rs +++ b/preview/src/components/button/variants/main/mod.rs @@ -5,33 +5,16 @@ use dioxus::prelude::*; #[component] pub fn Demo() -> Element { rsx! { - div { - display: "flex", - flex_direction: "column", - gap: "0.5rem", - Button { - "Primary" - } + div { display: "flex", flex_direction: "column", gap: "0.5rem", + Button { "Primary" } - Button { - variant: ButtonVariant::Secondary, - "Secondary" - } + Button { variant: ButtonVariant::Secondary, "Secondary" } - Button { - variant: ButtonVariant::Destructive, - "Destructive" - } + Button { variant: ButtonVariant::Destructive, "Destructive" } - Button { - variant: ButtonVariant::Outline, - "Outline" - } + Button { variant: ButtonVariant::Outline, "Outline" } - Button { - variant: ButtonVariant::Ghost, - "Ghost" - } + Button { variant: ButtonVariant::Ghost, "Ghost" } } } } diff --git a/preview/src/components/calendar/component.json b/preview/src/components/calendar/component.json index e10d46e0..3104951d 100644 --- a/preview/src/components/calendar/component.json +++ b/preview/src/components/calendar/component.json @@ -1,5 +1,6 @@ { "name": "calendar", "description": "A calendar grid component for selecting dates.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/calendar/component.rs b/preview/src/components/calendar/component.rs index f34ecf9a..35c8fce4 100644 --- a/preview/src/components/calendar/component.rs +++ b/preview/src/components/calendar/component.rs @@ -7,10 +7,7 @@ use dioxus_primitives::calendar::{ #[component] pub fn Calendar(props: CalendarProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } div { class: "calendar", calendar::Calendar { selected_date: props.selected_date, @@ -34,21 +31,14 @@ pub fn Calendar(props: CalendarProps) -> Element { #[component] pub fn CalendarHeader(props: CalendarHeaderProps) -> Element { rsx! { - calendar::CalendarHeader { - id: props.id, - attributes: props.attributes, - {props.children} - } + calendar::CalendarHeader { id: props.id, attributes: props.attributes, {props.children} } } } #[component] pub fn CalendarNavigation(props: CalendarNavigationProps) -> Element { rsx! { - calendar::CalendarNavigation { - attributes: props.attributes, - {props.children} - } + calendar::CalendarNavigation { attributes: props.attributes, {props.children} } } } @@ -57,8 +47,7 @@ pub fn CalendarPreviousMonthButton( #[props(extends = GlobalAttributes)] attributes: Vec, ) -> Element { rsx! { - calendar::CalendarPreviousMonthButton { - attributes, + calendar::CalendarPreviousMonthButton { attributes, svg { class: "calendar-previous-month-icon", view_box: "0 0 24 24", @@ -74,8 +63,7 @@ pub fn CalendarNextMonthButton( #[props(extends = GlobalAttributes)] attributes: Vec, ) -> Element { rsx! { - calendar::CalendarNextMonthButton { - attributes, + calendar::CalendarNextMonthButton { attributes, svg { class: "calendar-next-month-icon", view_box: "0 0 24 24", @@ -89,20 +77,14 @@ pub fn CalendarNextMonthButton( #[component] pub fn CalendarSelectMonth(props: CalendarSelectMonthProps) -> Element { rsx! { - calendar::CalendarSelectMonth { - class: "calendar-month-select", - attributes: props.attributes, - } + calendar::CalendarSelectMonth { class: "calendar-month-select", attributes: props.attributes } } } #[component] pub fn CalendarSelectYear(props: CalendarSelectYearProps) -> Element { rsx! { - calendar::CalendarSelectYear { - class: "calendar-year-select", - attributes: props.attributes, - } + calendar::CalendarSelectYear { class: "calendar-year-select", attributes: props.attributes } } } diff --git a/preview/src/components/calendar/variants/internationalized/mod.rs b/preview/src/components/calendar/variants/internationalized/mod.rs index 60c348ac..90b95602 100644 --- a/preview/src/components/calendar/variants/internationalized/mod.rs +++ b/preview/src/components/calendar/variants/internationalized/mod.rs @@ -21,10 +21,10 @@ pub fn Demo() -> Element { tracing::info!("View changed to: {}-{}", new_view.year(), new_view.month()); view_date.set(new_view); }, - on_format_weekday: |weekday: Weekday| tid!(&weekday.to_string()), - on_format_month: |month: Month| tid!(&month.to_string()), - min_date: date!(1995-07-21), - max_date: date!(2035-09-11), + on_format_weekday: |weekday: Weekday| tid!(& weekday.to_string()), + on_format_month: |month: Month| tid!(& month.to_string()), + min_date: date!(1995 - 07 - 21), + max_date: date!(2035 - 09 - 11), CalendarHeader { CalendarNavigation { CalendarPreviousMonthButton {} diff --git a/preview/src/components/calendar/variants/main/mod.rs b/preview/src/components/calendar/variants/main/mod.rs index 5e83f38a..cc334512 100644 --- a/preview/src/components/calendar/variants/main/mod.rs +++ b/preview/src/components/calendar/variants/main/mod.rs @@ -19,8 +19,8 @@ pub fn Demo() -> Element { tracing::info!("View changed to: {}-{}", new_view.year(), new_view.month()); view_date.set(new_view); }, - min_date: date!(1995-07-21), - max_date: date!(2035-09-11), + min_date: date!(1995 - 07 - 21), + max_date: date!(2035 - 09 - 11), CalendarHeader { CalendarNavigation { CalendarPreviousMonthButton {} diff --git a/preview/src/components/checkbox/component.json b/preview/src/components/checkbox/component.json index a483af62..f9f81d17 100644 --- a/preview/src/components/checkbox/component.json +++ b/preview/src/components/checkbox/component.json @@ -1,5 +1,6 @@ { "name": "checkbox", "description": "A togglable checkbox component.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/checkbox/component.rs b/preview/src/components/checkbox/component.rs index fb47da9c..782cb193 100644 --- a/preview/src/components/checkbox/component.rs +++ b/preview/src/components/checkbox/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::checkbox::{self, CheckboxProps}; #[component] pub fn Checkbox(props: CheckboxProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } checkbox::Checkbox { class: "checkbox", checked: props.checked, @@ -18,8 +15,7 @@ pub fn Checkbox(props: CheckboxProps) -> Element { value: props.value, on_checked_change: props.on_checked_change, attributes: props.attributes, - checkbox::CheckboxIndicator { - class: "checkbox-indicator", + checkbox::CheckboxIndicator { class: "checkbox-indicator", svg { class: "checkbox-check-icon", view_box: "0 0 24 24", diff --git a/preview/src/components/checkbox/variants/main/mod.rs b/preview/src/components/checkbox/variants/main/mod.rs index 957955c6..df17e0a1 100644 --- a/preview/src/components/checkbox/variants/main/mod.rs +++ b/preview/src/components/checkbox/variants/main/mod.rs @@ -4,9 +4,6 @@ use dioxus::prelude::*; #[component] pub fn Demo() -> Element { rsx! { - Checkbox { - name: "tos-check", - aria_label: "Demo Checkbox", - } + Checkbox { name: "tos-check", aria_label: "Demo Checkbox" } } } diff --git a/preview/src/components/collapsible/component.json b/preview/src/components/collapsible/component.json index 1a40ba3f..fb4bf4c3 100644 --- a/preview/src/components/collapsible/component.json +++ b/preview/src/components/collapsible/component.json @@ -1,5 +1,6 @@ { "name": "collapsible", "description": "A collapsible component for showing and hiding content sections.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/collapsible/component.rs b/preview/src/components/collapsible/component.rs index 7c42380c..5e98d2c9 100644 --- a/preview/src/components/collapsible/component.rs +++ b/preview/src/components/collapsible/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::collapsible::{ #[component] pub fn Collapsible(props: CollapsibleProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } collapsible::Collapsible { keep_mounted: props.keep_mounted, default_open: props.default_open, @@ -26,8 +23,7 @@ pub fn Collapsible(props: CollapsibleProps) -> Element { #[component] pub fn CollapsibleTrigger(props: CollapsibleTriggerProps) -> Element { rsx! { - collapsible::CollapsibleTrigger { class: "collapsible-trigger", - attributes: props.attributes, + collapsible::CollapsibleTrigger { class: "collapsible-trigger", attributes: props.attributes, {props.children} svg { class: "collapsible-expand-icon", @@ -45,7 +41,8 @@ pub fn CollapsibleTrigger(props: CollapsibleTriggerProps) -> Element { #[component] pub fn CollapsibleContent(props: CollapsibleContentProps) -> Element { rsx! { - collapsible::CollapsibleContent { class: "collapsible-content", + collapsible::CollapsibleContent { + class: "collapsible-content", id: props.id, attributes: props.attributes, {props.children} diff --git a/preview/src/components/collapsible/variants/main/mod.rs b/preview/src/components/collapsible/variants/main/mod.rs index 68cb569b..ad527ab7 100644 --- a/preview/src/components/collapsible/variants/main/mod.rs +++ b/preview/src/components/collapsible/variants/main/mod.rs @@ -9,16 +9,10 @@ pub fn Demo() -> Element { b { "Recent Activity" } } CollapsibleList { - CollapsibleItem { - "Added a new feature to the collapsible component", - } + CollapsibleItem { "Added a new feature to the collapsible component" } CollapsibleContent { - CollapsibleItem { - "Fixed a bug in the collapsible component", - } - CollapsibleItem { - "Updated the documentation for the collapsible component", - } + CollapsibleItem { "Fixed a bug in the collapsible component" } + CollapsibleItem { "Updated the documentation for the collapsible component" } } } } diff --git a/preview/src/components/context_menu/component.json b/preview/src/components/context_menu/component.json index 7709e6ad..0278d4f1 100644 --- a/preview/src/components/context_menu/component.json +++ b/preview/src/components/context_menu/component.json @@ -1,5 +1,6 @@ { "name": "context_menu", "description": "A context menu component for displaying a list of actions or option after right clicking an area.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/context_menu/component.rs b/preview/src/components/context_menu/component.rs index 8d199a26..2855722e 100644 --- a/preview/src/components/context_menu/component.rs +++ b/preview/src/components/context_menu/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::context_menu::{ #[component] pub fn ContextMenu(props: ContextMenuProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } context_menu::ContextMenu { disabled: props.disabled, open: props.open, @@ -42,7 +39,8 @@ pub fn ContextMenuTrigger(props: ContextMenuTriggerProps) -> Element { #[component] pub fn ContextMenuContent(props: ContextMenuContentProps) -> Element { rsx! { - context_menu::ContextMenuContent { class: "context-menu-content", + context_menu::ContextMenuContent { + class: "context-menu-content", id: props.id, attributes: props.attributes, {props.children} diff --git a/preview/src/components/context_menu/variants/main/mod.rs b/preview/src/components/context_menu/variants/main/mod.rs index 7a4d1f9f..af387960 100644 --- a/preview/src/components/context_menu/variants/main/mod.rs +++ b/preview/src/components/context_menu/variants/main/mod.rs @@ -6,9 +6,7 @@ pub fn Demo() -> Element { rsx! { ContextMenu { - ContextMenuTrigger { - "right click here" - } + ContextMenuTrigger { "right click here" } ContextMenuContent { ContextMenuItem { value: "edit".to_string(), diff --git a/preview/src/components/dialog/component.json b/preview/src/components/dialog/component.json index f2f9ecfb..de3aad1d 100644 --- a/preview/src/components/dialog/component.json +++ b/preview/src/components/dialog/component.json @@ -1,5 +1,6 @@ { "name": "dialog", "description": "A dialog component for displaying modal content.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/dialog/component.rs b/preview/src/components/dialog/component.rs index 77424883..63fd6097 100644 --- a/preview/src/components/dialog/component.rs +++ b/preview/src/components/dialog/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::dialog::{ #[component] pub fn DialogRoot(props: DialogRootProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } dialog::DialogRoot { class: "dialog-backdrop", id: props.id, @@ -26,12 +23,7 @@ pub fn DialogRoot(props: DialogRootProps) -> Element { #[component] pub fn DialogContent(props: DialogContentProps) -> Element { rsx! { - dialog::DialogContent { - class: "dialog", - id: props.id, - attributes: props.attributes, - {props.children} - } + dialog::DialogContent { class: "dialog", id: props.id, attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/dialog/variants/main/mod.rs b/preview/src/components/dialog/variants/main/mod.rs index c043e3a8..b4dceda6 100644 --- a/preview/src/components/dialog/variants/main/mod.rs +++ b/preview/src/components/dialog/variants/main/mod.rs @@ -9,30 +9,24 @@ pub fn Demo() -> Element { rsx! { Button { - type: "button", + r#type: "button", "data-style": "outline", style: "margin-bottom: 1.5rem;", onclick: move |_| open.set(true), "Show Dialog" } - DialogRoot { - open: open(), - on_open_change: move |v| open.set(v), + DialogRoot { open: open(), on_open_change: move |v| open.set(v), DialogContent { button { class: "dialog-close", - type: "button", + r#type: "button", aria_label: "Close", tabindex: if open() { "0" } else { "-1" }, onclick: move |_| open.set(false), "×" } - DialogTitle { - "Item information" - } - DialogDescription { - "Here is some additional information about the item." - } + DialogTitle { "Item information" } + DialogDescription { "Here is some additional information about the item." } } } } diff --git a/preview/src/components/dropdown_menu/component.json b/preview/src/components/dropdown_menu/component.json index 19556e73..2488b7ce 100644 --- a/preview/src/components/dropdown_menu/component.json +++ b/preview/src/components/dropdown_menu/component.json @@ -1,5 +1,6 @@ { "name": "dropdown_menu", "description": "A dropdown menu component for selecting options from a list.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/dropdown_menu/component.rs b/preview/src/components/dropdown_menu/component.rs index e6f592e6..b56b9b6d 100644 --- a/preview/src/components/dropdown_menu/component.rs +++ b/preview/src/components/dropdown_menu/component.rs @@ -7,10 +7,7 @@ use dioxus_primitives::dropdown_menu::{ #[component] pub fn DropdownMenu(props: DropdownMenuProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } dropdown_menu::DropdownMenu { class: "dropdown-menu", open: props.open, @@ -27,11 +24,7 @@ pub fn DropdownMenu(props: DropdownMenuProps) -> Element { #[component] pub fn DropdownMenuTrigger(props: DropdownMenuTriggerProps) -> Element { rsx! { - dropdown_menu::DropdownMenuTrigger { - class: "dropdown-menu-trigger", - attributes: props.attributes, - {props.children} - } + dropdown_menu::DropdownMenuTrigger { class: "dropdown-menu-trigger", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/dropdown_menu/variants/main/mod.rs b/preview/src/components/dropdown_menu/variants/main/mod.rs index ac2abbaa..6123da44 100644 --- a/preview/src/components/dropdown_menu/variants/main/mod.rs +++ b/preview/src/components/dropdown_menu/variants/main/mod.rs @@ -34,9 +34,7 @@ pub fn Demo() -> Element { rsx! { DropdownMenu { class: "dropdown-menu", default_open: false, DropdownMenuTrigger { class: "dropdown-menu-trigger", "Open Menu" } - DropdownMenuContent { class: "dropdown-menu-content", - {operations} - } + DropdownMenuContent { class: "dropdown-menu-content", {operations} } } if let Some(op) = selected_operation() { "Selected: {op}" diff --git a/preview/src/components/form/component.json b/preview/src/components/form/component.json index 73f1adaf..0b761e52 100644 --- a/preview/src/components/form/component.json +++ b/preview/src/components/form/component.json @@ -1,5 +1,6 @@ { "name": "form", "description": "A form component for collecting user input.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/form/variants/main/mod.rs b/preview/src/components/form/variants/main/mod.rs index 4d9fa545..d15610ec 100644 --- a/preview/src/components/form/variants/main/mod.rs +++ b/preview/src/components/form/variants/main/mod.rs @@ -14,7 +14,7 @@ pub fn Demo() -> Element { } label { r#for: "tos-check", "I agree to the terms presented." } br {} - button { type: "submit", "Submit" } + button { r#type: "submit", "Submit" } } } } diff --git a/preview/src/components/hover_card/component.json b/preview/src/components/hover_card/component.json index c0b31ffd..2a12af16 100644 --- a/preview/src/components/hover_card/component.json +++ b/preview/src/components/hover_card/component.json @@ -1,5 +1,6 @@ { "name": "hover_card", "description": "A hover card component for displaying additional information on hover.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/hover_card/component.rs b/preview/src/components/hover_card/component.rs index d981f68a..9ba2e775 100644 --- a/preview/src/components/hover_card/component.rs +++ b/preview/src/components/hover_card/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::hover_card::{ #[component] pub fn HoverCard(props: HoverCardProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } hover_card::HoverCard { class: "hover-card", open: props.open, diff --git a/preview/src/components/hover_card/variants/main/mod.rs b/preview/src/components/hover_card/variants/main/mod.rs index 1982055a..7f704118 100644 --- a/preview/src/components/hover_card/variants/main/mod.rs +++ b/preview/src/components/hover_card/variants/main/mod.rs @@ -5,15 +5,13 @@ use dioxus_primitives::ContentSide; #[component] pub fn Demo() -> Element { rsx! { - div { - style: "padding: 50px; display: flex; flex-direction: row; flex-wrap: wrap; gap: 40px; justify-content: center; align-items: center;", + div { style: "padding: 50px; display: flex; flex-direction: row; flex-wrap: wrap; gap: 40px; justify-content: center; align-items: center;", HoverCard { HoverCardTrigger { i { "Dioxus" } } HoverCardContent { side: ContentSide::Bottom, - div { - padding: "1rem", + div { padding: "1rem", "Dioxus is" i { " the " } "Rust framework for building fullstack web, desktop, and mobile apps. Iterate with live hotreloading, add server functions, and deploy in record time." diff --git a/preview/src/components/input/component.json b/preview/src/components/input/component.json index 32284fed..3d3ef369 100644 --- a/preview/src/components/input/component.json +++ b/preview/src/components/input/component.json @@ -1,5 +1,6 @@ { "name": "input", "description": "An input field component for user text entry.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/input/component.rs b/preview/src/components/input/component.rs index 9c0938d4..2875c58d 100644 --- a/preview/src/components/input/component.rs +++ b/preview/src/components/input/component.rs @@ -8,14 +8,7 @@ pub fn Input( children: Element, ) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } - input { - class: "input", - ..attributes, - {children} - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } + input { class: "input", ..attributes, {children} } } } diff --git a/preview/src/components/input/variants/main/mod.rs b/preview/src/components/input/variants/main/mod.rs index e3e483fa..77f926b1 100644 --- a/preview/src/components/input/variants/main/mod.rs +++ b/preview/src/components/input/variants/main/mod.rs @@ -4,8 +4,6 @@ use dioxus::prelude::*; #[component] pub fn Demo() -> Element { rsx! { - Input { - placeholder: "Enter your name", - } + Input { placeholder: "Enter your name" } } } diff --git a/preview/src/components/label/component.json b/preview/src/components/label/component.json index 7156a193..dbd4419c 100644 --- a/preview/src/components/label/component.json +++ b/preview/src/components/label/component.json @@ -1,5 +1,6 @@ { "name": "label", "description": "An accessible label component for form elements.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/label/component.rs b/preview/src/components/label/component.rs index 42734ca3..3874e5be 100644 --- a/preview/src/components/label/component.rs +++ b/preview/src/components/label/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::label::{self, LabelProps}; #[component] pub fn Label(props: LabelProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } label::Label { class: "label", html_for: props.html_for, diff --git a/preview/src/components/label/variants/main/mod.rs b/preview/src/components/label/variants/main/mod.rs index 90c75928..5025f321 100644 --- a/preview/src/components/label/variants/main/mod.rs +++ b/preview/src/components/label/variants/main/mod.rs @@ -6,19 +6,10 @@ use dioxus::prelude::*; #[component] pub fn Demo() -> Element { rsx! { - div { - display: "flex", - flex_direction: "column", - gap: ".5rem", - Label { - html_for: "name", - "Name" - } + div { display: "flex", flex_direction: "column", gap: ".5rem", + Label { html_for: "name", "Name" } - Input { - id: "name", - placeholder: "Enter your name", - } + Input { id: "name", placeholder: "Enter your name" } } } diff --git a/preview/src/components/menubar/component.json b/preview/src/components/menubar/component.json index ad10651f..09822f46 100644 --- a/preview/src/components/menubar/component.json +++ b/preview/src/components/menubar/component.json @@ -1,5 +1,6 @@ { "name": "menubar", "description": "A menubar component for a collection of menu items.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/menubar/component.rs b/preview/src/components/menubar/component.rs index 632d72c6..abc18374 100644 --- a/preview/src/components/menubar/component.rs +++ b/preview/src/components/menubar/component.rs @@ -7,10 +7,7 @@ use dioxus_primitives::menubar::{ #[component] pub fn Menubar(props: MenubarProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } menubar::Menubar { class: "menubar", disabled: props.disabled, @@ -37,11 +34,7 @@ pub fn MenubarMenu(props: MenubarMenuProps) -> Element { #[component] pub fn MenubarTrigger(props: MenubarTriggerProps) -> Element { rsx! { - menubar::MenubarTrigger { - class: "menubar-trigger", - attributes: props.attributes, - {props.children} - } + menubar::MenubarTrigger { class: "menubar-trigger", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/navbar/component.json b/preview/src/components/navbar/component.json index 7ddbac3e..6ddef31a 100644 --- a/preview/src/components/navbar/component.json +++ b/preview/src/components/navbar/component.json @@ -1,5 +1,6 @@ { "name": "navbar", "description": "A navbar component for navigation between pages.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/navbar/component.rs b/preview/src/components/navbar/component.rs index ecd2ff85..92584b39 100644 --- a/preview/src/components/navbar/component.rs +++ b/preview/src/components/navbar/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::navbar::{ #[component] pub fn Navbar(props: NavbarProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } navbar::Navbar { class: "navbar", disabled: props.disabled, @@ -36,9 +33,7 @@ pub fn NavbarNav(props: NavbarNavProps) -> Element { #[component] pub fn NavbarTrigger(props: NavbarTriggerProps) -> Element { rsx! { - navbar::NavbarTrigger { - class: "navbar-trigger", - attributes: props.attributes, + navbar::NavbarTrigger { class: "navbar-trigger", attributes: props.attributes, {props.children} svg { class: "navbar-expand-icon", diff --git a/preview/src/components/navbar/variants/main/mod.rs b/preview/src/components/navbar/variants/main/mod.rs index ea3395a2..93046cd0 100644 --- a/preview/src/components/navbar/variants/main/mod.rs +++ b/preview/src/components/navbar/variants/main/mod.rs @@ -6,12 +6,9 @@ use dioxus::prelude::*; pub fn Demo() -> Element { rsx! { div { class: "navbar-example", - Navbar { - aria_label: "Components", + Navbar { aria_label: "Components", NavbarNav { index: 0usize, - NavbarTrigger { - "Inputs" - } + NavbarTrigger { "Inputs" } NavbarContent { class: "navbar-content", NavbarItem { index: 0usize, @@ -40,9 +37,7 @@ pub fn Demo() -> Element { } } NavbarNav { index: 1usize, - NavbarTrigger { - "Information" - } + NavbarTrigger { "Information" } NavbarContent { NavbarItem { index: 0usize, diff --git a/preview/src/components/popover/component.json b/preview/src/components/popover/component.json index c597ed6f..dc0e1f0d 100644 --- a/preview/src/components/popover/component.json +++ b/preview/src/components/popover/component.json @@ -1,5 +1,6 @@ { "name": "popover", "description": "A popover component for colapsible content.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/popover/component.rs b/preview/src/components/popover/component.rs index 4cf2040c..34f7bdb1 100644 --- a/preview/src/components/popover/component.rs +++ b/preview/src/components/popover/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::popover::{ #[component] pub fn PopoverRoot(props: PopoverRootProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } popover::PopoverRoot { class: "popover", is_modal: props.is_modal, @@ -25,11 +22,7 @@ pub fn PopoverRoot(props: PopoverRootProps) -> Element { #[component] pub fn PopoverTrigger(props: PopoverTriggerProps) -> Element { rsx! { - popover::PopoverTrigger { - class: "popover-trigger", - attributes: props.attributes, - {props.children} - } + popover::PopoverTrigger { class: "popover-trigger", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/popover/variants/main/mod.rs b/preview/src/components/popover/variants/main/mod.rs index f4e093c7..f2cb3f7d 100644 --- a/preview/src/components/popover/variants/main/mod.rs +++ b/preview/src/components/popover/variants/main/mod.rs @@ -9,14 +9,9 @@ pub fn Demo() -> Element { let mut confirmed = use_signal(|| false); rsx! { - PopoverRoot { - open: open(), - on_open_change: move |v| open.set(v), - PopoverTrigger { - "Show Popover" - } - PopoverContent { - gap: "0.25rem", + PopoverRoot { open: open(), on_open_change: move |v| open.set(v), + PopoverTrigger { "Show Popover" } + PopoverContent { gap: "0.25rem", h3 { padding_top: "0.25rem", padding_bottom: "0.25rem", @@ -26,7 +21,7 @@ pub fn Demo() -> Element { "Delete Item?" } Button { - type: "button", + r#type: "button", "data-style": "outline", onclick: move |_| { open.set(false); @@ -35,7 +30,7 @@ pub fn Demo() -> Element { "Confirm" } Button { - type: "button", + r#type: "button", "data-style": "outline", onclick: move |_| { open.set(false); diff --git a/preview/src/components/progress/component.json b/preview/src/components/progress/component.json index aef4faaa..a3500cd6 100644 --- a/preview/src/components/progress/component.json +++ b/preview/src/components/progress/component.json @@ -1,5 +1,6 @@ { "name": "progress", "description": "An accessable progress bar indicator.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/progress/component.rs b/preview/src/components/progress/component.rs index 7cf3ae3b..7bc588a9 100644 --- a/preview/src/components/progress/component.rs +++ b/preview/src/components/progress/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::progress::{self, ProgressIndicatorProps, ProgressProps}; #[component] pub fn Progress(props: ProgressProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } progress::Progress { class: "progress", value: props.value, @@ -21,10 +18,6 @@ pub fn Progress(props: ProgressProps) -> Element { #[component] pub fn ProgressIndicator(props: ProgressIndicatorProps) -> Element { rsx! { - progress::ProgressIndicator { - class: "progress-indicator", - attributes: props.attributes, - {props.children} - } + progress::ProgressIndicator { class: "progress-indicator", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/progress/variants/main/mod.rs b/preview/src/components/progress/variants/main/mod.rs index 03d9c125..45d835ed 100644 --- a/preview/src/components/progress/variants/main/mod.rs +++ b/preview/src/components/progress/variants/main/mod.rs @@ -20,10 +20,6 @@ pub fn Demo() -> Element { }); rsx! { - Progress { - aria_label: "Progressbar Demo", - value: progress() as f64, - ProgressIndicator {} - } + Progress { aria_label: "Progressbar Demo", value: progress() as f64, ProgressIndicator {} } } } diff --git a/preview/src/components/radio_group/component.json b/preview/src/components/radio_group/component.json index b52e24f8..aaeb38ff 100644 --- a/preview/src/components/radio_group/component.json +++ b/preview/src/components/radio_group/component.json @@ -1,5 +1,6 @@ { "name": "radio_group", "description": "A group of radio buttons for selecting one option from a set.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/radio_group/component.rs b/preview/src/components/radio_group/component.rs index 85dbd7ec..0607ca5e 100644 --- a/preview/src/components/radio_group/component.rs +++ b/preview/src/components/radio_group/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::radio_group::{self, RadioGroupProps, RadioItemProps}; #[component] pub fn RadioGroup(props: RadioGroupProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } radio_group::RadioGroup { class: "radio-group", value: props.value, diff --git a/preview/src/components/radio_group/variants/main/mod.rs b/preview/src/components/radio_group/variants/main/mod.rs index 27bb5b4b..135ce815 100644 --- a/preview/src/components/radio_group/variants/main/mod.rs +++ b/preview/src/components/radio_group/variants/main/mod.rs @@ -5,22 +5,9 @@ use dioxus::prelude::*; pub fn Demo() -> Element { rsx! { RadioGroup { - RadioItem { - value: "option1".to_string(), - index: 0usize, - "Blue" - } - RadioItem { - value: "option2".to_string(), - index: 1usize, - "Red" - } - RadioItem { - value: "option3".to_string(), - index: 2usize, - disabled: true, - "Green" - } + RadioItem { value: "option1".to_string(), index: 0usize, "Blue" } + RadioItem { value: "option2".to_string(), index: 1usize, "Red" } + RadioItem { value: "option3".to_string(), index: 2usize, disabled: true, "Green" } } } } diff --git a/preview/src/components/scroll_area/component.json b/preview/src/components/scroll_area/component.json index 5d5a304e..58ef3647 100644 --- a/preview/src/components/scroll_area/component.json +++ b/preview/src/components/scroll_area/component.json @@ -1,5 +1,6 @@ { "name": "scroll_area", "description": "A scrollable area component.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/scroll_area/variants/main/mod.rs b/preview/src/components/scroll_area/variants/main/mod.rs index 47e3580c..8c56e7e8 100644 --- a/preview/src/components/scroll_area/variants/main/mod.rs +++ b/preview/src/components/scroll_area/variants/main/mod.rs @@ -16,9 +16,7 @@ pub fn Demo() -> Element { tabindex: "0", div { class: "scroll-content", for i in 1..=20 { - p { - "Scrollable content item {i}" - } + p { "Scrollable content item {i}" } } } } diff --git a/preview/src/components/select/component.json b/preview/src/components/select/component.json index 645016ea..b072b1a8 100644 --- a/preview/src/components/select/component.json +++ b/preview/src/components/select/component.json @@ -1,5 +1,6 @@ { "name": "select", "description": "A select dropdown component with typeahead support.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/select/component.rs b/preview/src/components/select/component.rs index 64a3f4aa..88e70f02 100644 --- a/preview/src/components/select/component.rs +++ b/preview/src/components/select/component.rs @@ -7,10 +7,7 @@ use dioxus_primitives::select::{ #[component] pub fn Select(props: SelectProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } select::Select { class: "select", value: props.value, @@ -30,9 +27,7 @@ pub fn Select(props: SelectProps) -> Element #[component] pub fn SelectTrigger(props: SelectTriggerProps) -> Element { rsx! { - select::SelectTrigger { - class: "select-trigger", - attributes: props.attributes, + select::SelectTrigger { class: "select-trigger", attributes: props.attributes, {props.children} svg { class: "select-expand-icon", @@ -47,9 +42,7 @@ pub fn SelectTrigger(props: SelectTriggerProps) -> Element { #[component] pub fn SelectValue(props: SelectValueProps) -> Element { rsx! { - select::SelectValue { - attributes: props.attributes, - } + select::SelectValue { attributes: props.attributes } } } diff --git a/preview/src/components/select/variants/main/mod.rs b/preview/src/components/select/variants/main/mod.rs index 6f5d26c0..73f93e4d 100644 --- a/preview/src/components/select/variants/main/mod.rs +++ b/preview/src/components/select/variants/main/mod.rs @@ -27,10 +27,7 @@ impl Fruit { pub fn Demo() -> Element { let fruits = Fruit::iter().enumerate().map(|(i, f)| { rsx! { - SelectOption::> { - index: i, - value: f, - text_value: "{f}", + SelectOption::> { index: i, value: f, text_value: "{f}", {format!("{} {f}", f.emoji())} SelectItemIndicator {} } @@ -39,25 +36,15 @@ pub fn Demo() -> Element { rsx! { - Select::> { - placeholder: "Select a fruit...", - SelectTrigger { - aria_label: "Select Trigger", - width: "12rem", - SelectValue {} - } - SelectList { - aria_label: "Select Demo", + Select::> { placeholder: "Select a fruit...", + SelectTrigger { aria_label: "Select Trigger", width: "12rem", SelectValue {} } + SelectList { aria_label: "Select Demo", SelectGroup { - SelectGroupLabel { - "Fruits" - } + SelectGroupLabel { "Fruits" } {fruits} } SelectGroup { - SelectGroupLabel { - "Other" - } + SelectGroupLabel { "Other" } SelectOption::> { index: Fruit::COUNT, value: None, diff --git a/preview/src/components/separator/component.json b/preview/src/components/separator/component.json index 3b1057e9..f824f6e8 100644 --- a/preview/src/components/separator/component.json +++ b/preview/src/components/separator/component.json @@ -1,5 +1,6 @@ { "name": "separator", "description": "A visual separator between different sections of the page.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/separator/component.rs b/preview/src/components/separator/component.rs index 1f62d147..af195e1d 100644 --- a/preview/src/components/separator/component.rs +++ b/preview/src/components/separator/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::separator::{self, SeparatorProps}; #[component] pub fn Separator(props: SeparatorProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } separator::Separator { class: "separator", horizontal: props.horizontal, diff --git a/preview/src/components/slider/component.json b/preview/src/components/slider/component.json index 9d40fc93..cc40572b 100644 --- a/preview/src/components/slider/component.json +++ b/preview/src/components/slider/component.json @@ -1,5 +1,6 @@ { "name": "slider", "description": "An accessable slider component.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/slider/component.rs b/preview/src/components/slider/component.rs index fe579cf3..70b00f14 100644 --- a/preview/src/components/slider/component.rs +++ b/preview/src/components/slider/component.rs @@ -6,10 +6,7 @@ use dioxus_primitives::slider::{ #[component] pub fn Slider(props: SliderProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } slider::Slider { class: "slider", value: props.value, @@ -31,22 +28,14 @@ pub fn Slider(props: SliderProps) -> Element { #[component] pub fn SliderTrack(props: SliderTrackProps) -> Element { rsx! { - slider::SliderTrack { - class: "slider-track", - attributes: props.attributes, - {props.children} - } + slider::SliderTrack { class: "slider-track", attributes: props.attributes, {props.children} } } } #[component] pub fn SliderRange(props: SliderRangeProps) -> Element { rsx! { - slider::SliderRange { - class: "slider-range", - attributes: props.attributes, - {props.children} - } + slider::SliderRange { class: "slider-range", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/slider/variants/main/mod.rs b/preview/src/components/slider/variants/main/mod.rs index eec40bbc..dae2099b 100644 --- a/preview/src/components/slider/variants/main/mod.rs +++ b/preview/src/components/slider/variants/main/mod.rs @@ -8,10 +8,7 @@ pub fn Demo() -> Element { rsx! { // Display the current value - div { - style: "margin-bottom: 15px; font-size: 16px; font-weight: bold;", - "{current_value:.0}%" - } + div { style: "margin-bottom: 15px; font-size: 16px; font-weight: bold;", "{current_value:.0}%" } Slider { label: "Demo Slider", diff --git a/preview/src/components/switch/component.json b/preview/src/components/switch/component.json index c05cb618..a69b219c 100644 --- a/preview/src/components/switch/component.json +++ b/preview/src/components/switch/component.json @@ -1,5 +1,6 @@ { "name": "switch", "description": "A togglable switch component.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/switch/component.rs b/preview/src/components/switch/component.rs index 4ab72996..f63d7edd 100644 --- a/preview/src/components/switch/component.rs +++ b/preview/src/components/switch/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::switch::{self, SwitchProps, SwitchThumbProps}; #[component] pub fn Switch(props: SwitchProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } switch::Switch { class: "switch", checked: props.checked, @@ -26,10 +23,6 @@ pub fn Switch(props: SwitchProps) -> Element { #[component] pub fn SwitchThumb(props: SwitchThumbProps) -> Element { rsx! { - switch::SwitchThumb { - class: "switch-thumb", - attributes: props.attributes, - {props.children} - } + switch::SwitchThumb { class: "switch-thumb", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/tabs/component.json b/preview/src/components/tabs/component.json index 0d2362d4..f604f4a1 100644 --- a/preview/src/components/tabs/component.json +++ b/preview/src/components/tabs/component.json @@ -1,5 +1,6 @@ { "name": "tabs", "description": "A tabbed interface component.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/tabs/component.rs b/preview/src/components/tabs/component.rs index 6994693c..6b983daf 100644 --- a/preview/src/components/tabs/component.rs +++ b/preview/src/components/tabs/component.rs @@ -66,10 +66,7 @@ impl TabsVariant { #[component] pub fn Tabs(props: TabsProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } tabs::Tabs { class: props.class + " tabs", "data-variant": props.variant.to_class(), @@ -88,11 +85,7 @@ pub fn Tabs(props: TabsProps) -> Element { #[component] pub fn TabList(props: TabListProps) -> Element { rsx! { - tabs::TabList { - class: "tabs-list", - attributes: props.attributes, - {props.children} - } + tabs::TabList { class: "tabs-list", attributes: props.attributes, {props.children} } } } diff --git a/preview/src/components/tabs/variants/main/mod.rs b/preview/src/components/tabs/variants/main/mod.rs index c9bceadc..1ac8befe 100644 --- a/preview/src/components/tabs/variants/main/mod.rs +++ b/preview/src/components/tabs/variants/main/mod.rs @@ -9,25 +9,11 @@ pub fn Demo() -> Element { horizontal: true, max_width: "16rem", TabList { - TabTrigger { - value: "tab1".to_string(), - index: 0usize, - "Tab 1" - } - TabTrigger { - value: "tab2".to_string(), - index: 1usize, - "Tab 2" - } - TabTrigger { - value: "tab3".to_string(), - index: 2usize, - "Tab 3" - } + TabTrigger { value: "tab1".to_string(), index: 0usize, "Tab 1" } + TabTrigger { value: "tab2".to_string(), index: 1usize, "Tab 2" } + TabTrigger { value: "tab3".to_string(), index: 2usize, "Tab 3" } } - TabContent { - index: 0usize, - value: "tab1".to_string(), + TabContent { index: 0usize, value: "tab1".to_string(), div { width: "100%", height: "5rem", @@ -50,9 +36,7 @@ pub fn Demo() -> Element { "Tab 2 Content" } } - TabContent { - index: 2usize, - value: "tab3".to_string(), + TabContent { index: 2usize, value: "tab3".to_string(), div { width: "100%", height: "5rem", diff --git a/preview/src/components/toast/component.json b/preview/src/components/toast/component.json index 148fb5cc..1c3e3872 100644 --- a/preview/src/components/toast/component.json +++ b/preview/src/components/toast/component.json @@ -1,5 +1,6 @@ { "name": "toast", "description": "A toast notification component.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/toast/component.rs b/preview/src/components/toast/component.rs index 42e4114a..4b6878f8 100644 --- a/preview/src/components/toast/component.rs +++ b/preview/src/components/toast/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::toast::{self, ToastProviderProps}; #[component] pub fn ToastProvider(props: ToastProviderProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } toast::ToastProvider { default_duration: props.default_duration, max_toasts: props.max_toasts, diff --git a/preview/src/components/toast/variants/main/mod.rs b/preview/src/components/toast/variants/main/mod.rs index 9e3035ef..af0911cf 100644 --- a/preview/src/components/toast/variants/main/mod.rs +++ b/preview/src/components/toast/variants/main/mod.rs @@ -18,7 +18,7 @@ fn ToastButton() -> Element { rsx! { Button { - type: "button", + r#type: "button", "data-style": "outline", onclick: move |_| { toast_api diff --git a/preview/src/components/toggle/component.json b/preview/src/components/toggle/component.json index cb944cf7..e165adc5 100644 --- a/preview/src/components/toggle/component.json +++ b/preview/src/components/toggle/component.json @@ -1,5 +1,6 @@ { "name": "toggle", "description": "A simple toggle button component.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/toggle/component.rs b/preview/src/components/toggle/component.rs index 9e9bb985..7a7ae261 100644 --- a/preview/src/components/toggle/component.rs +++ b/preview/src/components/toggle/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::toggle::{self, ToggleProps}; #[component] pub fn Toggle(props: ToggleProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } toggle::Toggle { class: "toggle", pressed: props.pressed, diff --git a/preview/src/components/toggle_group/component.json b/preview/src/components/toggle_group/component.json index 2ebc6f61..fea6df03 100644 --- a/preview/src/components/toggle_group/component.json +++ b/preview/src/components/toggle_group/component.json @@ -1,5 +1,6 @@ { "name": "toggle_group", "description": "A group of toggle buttons for selecting one or more options from a set.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/toggle_group/component.rs b/preview/src/components/toggle_group/component.rs index 74d90ee9..b8f8e772 100644 --- a/preview/src/components/toggle_group/component.rs +++ b/preview/src/components/toggle_group/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::toggle_group::{self, ToggleGroupProps, ToggleItemProps}; #[component] pub fn ToggleGroup(props: ToggleGroupProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } toggle_group::ToggleGroup { class: "toggle-group", default_pressed: props.default_pressed, diff --git a/preview/src/components/toggle_group/variants/main/mod.rs b/preview/src/components/toggle_group/variants/main/mod.rs index bd5cf2ed..4d8c612c 100644 --- a/preview/src/components/toggle_group/variants/main/mod.rs +++ b/preview/src/components/toggle_group/variants/main/mod.rs @@ -6,9 +6,15 @@ pub fn Demo() -> Element { rsx! { ToggleGroup { horizontal: true, allow_multiple_pressed: true, - ToggleItem { index: 0usize, b { "B" } } - ToggleItem { index: 1usize, i { "I" } } - ToggleItem { index: 2usize, u { "U" } } + ToggleItem { index: 0usize, + b { "B" } + } + ToggleItem { index: 1usize, + i { "I" } + } + ToggleItem { index: 2usize, + u { "U" } + } } } } diff --git a/preview/src/components/toolbar/component.json b/preview/src/components/toolbar/component.json index b5efbe10..bc6a62f6 100644 --- a/preview/src/components/toolbar/component.json +++ b/preview/src/components/toolbar/component.json @@ -1,5 +1,6 @@ { "name": "toolbar", "description": "A toolbar component for grouping related inputs.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/toolbar/component.rs b/preview/src/components/toolbar/component.rs index 634ff830..0d823ee3 100644 --- a/preview/src/components/toolbar/component.rs +++ b/preview/src/components/toolbar/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::toolbar::{self, ToolbarButtonProps, ToolbarProps, Toolbar #[component] pub fn Toolbar(props: ToolbarProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } toolbar::Toolbar { class: "toolbar", aria_label: props.aria_label, @@ -53,9 +50,6 @@ pub fn ToolbarGroup( children: Element, ) -> Element { rsx! { - div { class: "toolbar-group", - ..attributes, - {children} - } + div { class: "toolbar-group", ..attributes, {children} } } } diff --git a/preview/src/components/toolbar/variants/main/mod.rs b/preview/src/components/toolbar/variants/main/mod.rs index 9a4a4c34..c950c4a9 100644 --- a/preview/src/components/toolbar/variants/main/mod.rs +++ b/preview/src/components/toolbar/variants/main/mod.rs @@ -30,16 +30,8 @@ pub fn Demo() -> Element { rsx! { Toolbar { aria_label: "Text formatting", ToolbarGroup { - ToolbarButton { - index: 0usize, - on_click: move |_| toggle_style("bold"), - "Bold" - } - ToolbarButton { - index: 1usize, - on_click: move |_| toggle_style("italic"), - "Italic" - } + ToolbarButton { index: 0usize, on_click: move |_| toggle_style("bold"), "Bold" } + ToolbarButton { index: 1usize, on_click: move |_| toggle_style("italic"), "Italic" } ToolbarButton { index: 2usize, on_click: move |_| toggle_style("underline"), @@ -48,21 +40,9 @@ pub fn Demo() -> Element { } ToolbarSeparator {} ToolbarGroup { - ToolbarButton { - index: 3usize, - on_click: move |_| set_align("left"), - "Align Left" - } - ToolbarButton { - index: 4usize, - on_click: move |_| set_align("center"), - "Align Center" - } - ToolbarButton { - index: 5usize, - on_click: move |_| set_align("right"), - "Align Right" - } + ToolbarButton { index: 3usize, on_click: move |_| set_align("left"), "Align Left" } + ToolbarButton { index: 4usize, on_click: move |_| set_align("center"), "Align Center" } + ToolbarButton { index: 5usize, on_click: move |_| set_align("right"), "Align Right" } } } p { style: text_align_style, max_width: "30rem", diff --git a/preview/src/components/tooltip/component.json b/preview/src/components/tooltip/component.json index d875ad91..e24b2650 100644 --- a/preview/src/components/tooltip/component.json +++ b/preview/src/components/tooltip/component.json @@ -1,5 +1,6 @@ { "name": "tooltip", "description": "A tooltip component for additional information on hover or focus.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"] } diff --git a/preview/src/components/tooltip/component.rs b/preview/src/components/tooltip/component.rs index c844b4a3..a6486d2f 100644 --- a/preview/src/components/tooltip/component.rs +++ b/preview/src/components/tooltip/component.rs @@ -4,10 +4,7 @@ use dioxus_primitives::tooltip::{self, TooltipContentProps, TooltipProps, Toolti #[component] pub fn Tooltip(props: TooltipProps) -> Element { rsx! { - document::Link { - rel: "stylesheet", - href: asset!("./style.css"), - } + document::Link { rel: "stylesheet", href: asset!("./style.css") } tooltip::Tooltip { class: "tooltip", disabled: props.disabled, diff --git a/preview/src/components/tooltip/variants/main/mod.rs b/preview/src/components/tooltip/variants/main/mod.rs index 8aac31c7..43fe7d86 100644 --- a/preview/src/components/tooltip/variants/main/mod.rs +++ b/preview/src/components/tooltip/variants/main/mod.rs @@ -7,12 +7,8 @@ pub fn Demo() -> Element { rsx! { Tooltip { - TooltipTrigger { - "Rich content" - } - TooltipContent { - side: ContentSide::Left, - style: "width: 200px;", + TooltipTrigger { "Rich content" } + TooltipContent { side: ContentSide::Left, style: "width: 200px;", h4 { style: "margin-top: 0; margin-bottom: 8px;", "Tooltip title" } p { style: "margin: 0;", "This tooltip contains rich HTML content with styling." } } diff --git a/preview/src/main.rs b/preview/src/main.rs index 37f33950..893c5376 100644 --- a/preview/src/main.rs +++ b/preview/src/main.rs @@ -149,7 +149,9 @@ fn Navbar() -> Element { padding: "1rem", justify_content: "flex-start", if in_component { - Link { to: Route::home(), class: "navbar-brand", + Link { + to: Route::home(), + class: "navbar-brand", aria_label: "Back", svg { view_box: "0 0 24 24", @@ -241,11 +243,7 @@ fn CodeBlock(source: HighlightedCode, collapsed: bool) -> Element { "data-collapsed": "{collapsed}", dangerous_inner_html: source.light, } - CopyButton { - position: "absolute", - top: "0.5em", - right: "0.5em", - } + CopyButton { position: "absolute", top: "0.5em", right: "0.5em" } } } @@ -256,7 +254,7 @@ fn CopyButton(#[props(extends=GlobalAttributes)] attributes: Vec) -> rsx! { button { class: "copy-button", - type: "button", + r#type: "button", aria_label: "Copy code", "data-copied": copied, "onclick": "navigator.clipboard.writeText(this.parentNode.firstChild.innerText || this.parentNode.innerText);", @@ -318,7 +316,7 @@ fn DarkModeToggle() -> Element { onclick: move |_| { set_theme(false); }, - type: "button", + r#type: "button", aria_label: "Enable light mode", DarkModeIcon {} } @@ -327,7 +325,7 @@ fn DarkModeToggle() -> Element { onclick: move |_| { set_theme(true); }, - type: "button", + r#type: "button", aria_label: "Enable dark mode", LightModeIcon {} } @@ -364,14 +362,54 @@ fn LightModeIcon() -> Element { stroke_linecap: "round", stroke_linejoin: "round", circle { cx: "12", cy: "12", r: "4" } - line { x1: "12", y1: "1", x2: "12", y2: "3" } - line { x1: "12", y1: "21", x2: "12", y2: "23" } - line { x1: "4.22", y1: "4.22", x2: "5.64", y2: "5.64" } - line { x1: "18.36", y1: "18.36", x2: "19.78", y2: "19.78" } - line { x1: "1", y1: "12", x2: "3", y2: "12" } - line { x1: "21", y1: "12", x2: "23", y2: "12" } - line { x1: "4.22", y1: "19.78", x2: "5.64", y2: "18.36" } - line { x1: "18.36", y1: "5.64", x2: "19.78", y2: "4.22" } + line { + x1: "12", + y1: "1", + x2: "12", + y2: "3", + } + line { + x1: "12", + y1: "21", + x2: "12", + y2: "23", + } + line { + x1: "4.22", + y1: "4.22", + x2: "5.64", + y2: "5.64", + } + line { + x1: "18.36", + y1: "18.36", + x2: "19.78", + y2: "19.78", + } + line { + x1: "1", + y1: "12", + x2: "3", + y2: "12", + } + line { + x1: "21", + y1: "12", + x2: "23", + y2: "12", + } + line { + x1: "4.22", + y1: "19.78", + x2: "5.64", + y2: "18.36", + } + line { + x1: "18.36", + y1: "5.64", + x2: "19.78", + y2: "4.22", + } } } } @@ -473,7 +511,7 @@ fn ComponentCode(rs_highlighted: HighlightedCode, css_highlighted: HighlightedCo border_radius: "0 0 0.5rem 0.5rem", border: "none", text_align: "center", - type: "button", + r#type: "button", onclick: move |_| { collapsed.toggle(); }, @@ -516,16 +554,8 @@ fn ComponentCode(rs_highlighted: HighlightedCode, css_highlighted: HighlightedCo width: "100%", TabList { TabTrigger { value: "main.rs", index: 0usize, "main.rs" } - TabTrigger { - value: "style.css", - index: 1usize, - "style.css" - } - TabTrigger { - value: "theme.css", - index: 2usize, - "theme.css" - } + TabTrigger { value: "style.css", index: 1usize, "style.css" } + TabTrigger { value: "theme.css", index: 2usize, "theme.css" } } div { width: "100%", @@ -577,7 +607,7 @@ fn ColapsibleCodeBlock(highlighted: HighlightedCode) -> Element { border_radius: "0 0 0.5rem 0.5rem", border: "none", text_align: "center", - type: "button", + r#type: "button", onclick: move |_| { collapsed.toggle(); }, @@ -672,7 +702,9 @@ fn ComponentHighlight(demo: ComponentDemoData) -> Element { div { class: "component-installation", h2 { "Installation" } ol { class: "component-installation-list", - li { "If you haven't already, add the theme.css file to your project and import it in the root of your app." } + li { + "If you haven't already, add the theme.css file to your project and import it in the root of your app." + } li { "Add the style.css file to your project." } li { "Create a component based on the main.rs below." } li { "Modify your components and styles as needed." } @@ -703,9 +735,7 @@ fn ComponentVariantHighlight(variant: ComponentVariantDemoData, main_variant: bo } = variant; rsx! { if !main_variant { - h3 { - "{name}" - } + h3 { "{name}" } } Tabs { default_value: "Demo", @@ -715,16 +745,8 @@ fn ComponentVariantHighlight(variant: ComponentVariantDemoData, main_variant: bo width: "100%", variant: TabsVariant::Ghost, TabList { - TabTrigger { - value: "Demo", - index: 0usize, - "DEMO" - } - TabTrigger { - value: "Code", - index: 1usize, - "CODE" - } + TabTrigger { value: "Demo", index: 0usize, "DEMO" } + TabTrigger { value: "Code", index: 1usize, "CODE" } } div { width: "100%", @@ -760,8 +782,7 @@ fn Home(iframe: Option, dark_mode: Option) -> Element { let mut search = use_signal(String::new); rsx! { - main { - role: "main", + main { role: "main", div { id: "hero", h1 { "Dioxus Components" } h2 { @@ -774,7 +795,7 @@ fn Home(iframe: Option, dark_mode: Option) -> Element { div { id: "hero-search-container", input { id: "hero-search-input", - type: "search", + r#type: "search", placeholder: "Search components...", value: search, oninput: move |e| { @@ -791,8 +812,7 @@ fn Home(iframe: Option, dark_mode: Option) -> Element { #[component] fn Installation() -> Element { rsx! { - div { - id: "hero-installation", + div { id: "hero-installation", "cargo add dioxus-primitives --git https://github.com/DioxusLabs/components" CopyButton {} } diff --git a/primitives/src/accordion.rs b/primitives/src/accordion.rs index 20f90c6a..8832c68f 100644 --- a/primitives/src/accordion.rs +++ b/primitives/src/accordion.rs @@ -442,13 +442,7 @@ pub fn AccordionContent(props: AccordionContentProps) -> Element { rsx! { if render_element() { - div { - id: id, - "data-open": open, - ..props.attributes, - - {props.children} - } + div { id, "data-open": open, ..props.attributes, {props.children} } } } } @@ -519,7 +513,7 @@ pub fn AccordionTrigger(props: AccordionTriggerProps) -> Element { id: props.id, disabled: is_disabled, tabindex: "0", - type: "button", + r#type: "button", aria_controls: item.aria_id(), aria_expanded: ctx.is_open(item.id), diff --git a/primitives/src/alert_dialog.rs b/primitives/src/alert_dialog.rs index 0093a265..8287895a 100644 --- a/primitives/src/alert_dialog.rs +++ b/primitives/src/alert_dialog.rs @@ -117,10 +117,7 @@ pub fn AlertDialogRoot(props: AlertDialogRootProps) -> Element { let render_element = use_animated_open(id, open); rsx! { - document::Script { - src: FOCUS_TRAP_JS, - defer: true - } + document::Script { src: FOCUS_TRAP_JS, defer: true } if render_element() { div { id, @@ -280,7 +277,12 @@ pub struct AlertDialogTitleProps { pub fn AlertDialogTitle(props: AlertDialogTitleProps) -> Element { let ctx: AlertDialogCtx = use_context(); rsx! { - h2 { id: ctx.labelledby.clone(), class: "alert-dialog-title", ..props.attributes, {props.children} } + h2 { + id: ctx.labelledby.clone(), + class: "alert-dialog-title", + ..props.attributes, + {props.children} + } } } @@ -337,7 +339,12 @@ pub struct AlertDialogDescriptionProps { pub fn AlertDialogDescription(props: AlertDialogDescriptionProps) -> Element { let ctx: AlertDialogCtx = use_context(); rsx! { - p { id: ctx.describedby.clone(), class: "alert-dialog-description", ..props.attributes, {props.children} } + p { + id: ctx.describedby.clone(), + class: "alert-dialog-description", + ..props.attributes, + {props.children} + } } } @@ -393,7 +400,7 @@ pub struct AlertDialogActionsProps { #[component] pub fn AlertDialogActions(props: AlertDialogActionsProps) -> Element { rsx! { - div { ..props.attributes, {props.children} } + div { ..props.attributes,{props.children} } } } @@ -464,7 +471,7 @@ pub fn AlertDialogAction(props: AlertDialogActionProps) -> Element { rsx! { button { tabindex: if open() { "0" } else { "-1" }, - type: "button", + r#type: "button", onclick: on_click, ..props.attributes, {props.children} @@ -540,7 +547,7 @@ pub fn AlertDialogCancel(props: AlertDialogCancelProps) -> Element { rsx! { button { tabindex: if open() { "0" } else { "-1" }, - type: "button", + r#type: "button", onclick: on_click, ..props.attributes, {props.children} diff --git a/primitives/src/aspect_ratio.rs b/primitives/src/aspect_ratio.rs index 477e1d78..89df6de3 100644 --- a/primitives/src/aspect_ratio.rs +++ b/primitives/src/aspect_ratio.rs @@ -41,14 +41,8 @@ pub fn AspectRatio(props: AspectRatioProps) -> Element { let ratio = 100.0 / (props.ratio); rsx! { - div { - style: "position: relative; width: 100%; padding-bottom: {ratio}%;", - div { - style: "position: absolute; inset: 0;", - ..props.attributes, - - {props.children} - } + div { style: "position: relative; width: 100%; padding-bottom: {ratio}%;", + div { style: "position: absolute; inset: 0;", ..props.attributes, {props.children} } } } } diff --git a/primitives/src/avatar.rs b/primitives/src/avatar.rs index 362b738e..d64fc1aa 100644 --- a/primitives/src/avatar.rs +++ b/primitives/src/avatar.rs @@ -124,8 +124,7 @@ pub fn Avatar(props: AvatarProps) -> Element { // Default fallback if no AvatarFallback is provided and fallback should be shown if show_fallback() && !has_fallback_child() && has_image_child() { - span { - style: "display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;", + span { style: "display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;", "??" } } @@ -183,11 +182,13 @@ pub fn AvatarFallback(props: AvatarFallbackProps) -> Element { use_memo(move || matches!((ctx.state)(), AvatarState::Error | AvatarState::Empty)); if !show_fallback() { - return rsx!({}); + return rsx!( + {} + ); } rsx! { - span { ..props.attributes, {props.children} } + span { ..props.attributes,{props.children} } } } @@ -263,7 +264,9 @@ pub fn AvatarImage(props: AvatarImageProps) -> Element { let show_image = (ctx.state)() != AvatarState::Error; if !show_image { - return rsx!({}); + return rsx!( + {} + ); } rsx! { diff --git a/primitives/src/calendar.rs b/primitives/src/calendar.rs index ca73005a..0953bc8e 100644 --- a/primitives/src/calendar.rs +++ b/primitives/src/calendar.rs @@ -347,8 +347,8 @@ pub fn Calendar(props: CalendarProps) -> Element { if ctx.min_date <= date && date <= ctx.max_date { ctx.focused_date.set(new_date); } - }, - None => ctx.focused_date.set(None) + } + None => ctx.focused_date.set(None), } }; match e.key() { @@ -523,9 +523,7 @@ pub struct CalendarNavigationProps { #[component] pub fn CalendarNavigation(props: CalendarNavigationProps) -> Element { rsx! { - div { class: "calendar-navigation", ..props.attributes, - {props.children} - } + div { class: "calendar-navigation", ..props.attributes, {props.children} } } } @@ -611,7 +609,7 @@ pub fn CalendarPreviousMonthButton(props: CalendarPreviousMonthButtonProps) -> E button { class: "calendar-nav-prev", aria_label: "Previous month", - type: "button", + r#type: "button", onclick: handle_prev_month, disabled: (ctx.disabled)() || button_disabled(), ..props.attributes, @@ -706,7 +704,7 @@ pub fn CalendarNextMonthButton(props: CalendarNextMonthButtonProps) -> Element { button { class: "calendar-nav-next", aria_label: "Next month", - type: "button", + r#type: "button", onclick: handle_next_month, disabled: (ctx.disabled)() || button_disabled(), ..props.attributes, @@ -780,12 +778,7 @@ pub fn CalendarMonthTitle(props: CalendarMonthTitleProps) -> Element { }); rsx! { - div { - class: "calendar-month-title", - ..props.attributes, - - {month_year} - } + div { class: "calendar-month-title", ..props.attributes, {month_year} } } } @@ -932,12 +925,11 @@ pub fn CalendarGrid(props: CalendarGridProps) -> Element { // Day headers thead { aria_hidden: "true", - tr { - class: "calendar-grid-header", + tr { class: "calendar-grid-header", // Day name headers - for (weekday, label) in weekday_headers() { + for (weekday , label) in weekday_headers() { th { - key: "{weekday:?}", // Add key for efficient diffing + key: "{weekday:?}", // Add key for efficient diffing class: "calendar-grid-day-header", {label} } @@ -949,13 +941,9 @@ pub fn CalendarGrid(props: CalendarGridProps) -> Element { tbody { class: "calendar-grid-body", // Display all days in a grid for row in &*days_grid.read() { - tr { - role: "row", - class: "calendar-grid-week", + tr { role: "row", class: "calendar-grid-week", for date in row.iter().copied() { - td { - {props.render_day.call(date)} - } + td { {props.render_day.call(date)} } } } } @@ -1282,12 +1270,8 @@ fn CalendarDay(props: CalendarDayProps) -> Element { rsx! { button { class: "calendar-grid-cell", - type: "button", - tabindex: if date == focusable_date { - "0" - } else { - "-1" - }, + r#type: "button", + tabindex: if date == focusable_date { "0" } else { "-1" }, aria_label: aria_label(&props.date), "data-today": is_today, "data-selected": is_selected(), diff --git a/primitives/src/checkbox.rs b/primitives/src/checkbox.rs index ebadde75..22e521bb 100644 --- a/primitives/src/checkbox.rs +++ b/primitives/src/checkbox.rs @@ -137,7 +137,7 @@ pub fn Checkbox(props: CheckboxProps) -> Element { rsx! { button { - type: "button", + r#type: "button", value: props.value, role: "checkbox", aria_checked: checked().to_aria_checked(), @@ -162,7 +162,7 @@ pub fn Checkbox(props: CheckboxProps) -> Element { {props.children} } BubbleInput { - checked: checked, + checked, default_checked: props.default_checked, required: props.required, @@ -266,7 +266,7 @@ fn BubbleInput( rsx! { input { id, - type: "checkbox", + r#type: "checkbox", aria_hidden: "true", tabindex: "-1", position: "absolute", diff --git a/primitives/src/collapsible.rs b/primitives/src/collapsible.rs index 71022657..dc92e264 100644 --- a/primitives/src/collapsible.rs +++ b/primitives/src/collapsible.rs @@ -165,7 +165,7 @@ pub fn CollapsibleContent(props: CollapsibleContentProps) -> Element { rsx! { div { - id: id, + id, "data-open": open, "data-disabled": ctx.disabled, ..props.attributes, @@ -230,7 +230,7 @@ pub fn CollapsibleTrigger(props: CollapsibleTriggerProps) -> Element { rsx! { button { - type: "button", + r#type: "button", "data-open": open, "data-disabled": ctx.disabled, disabled: ctx.disabled, diff --git a/primitives/src/dialog.rs b/primitives/src/dialog.rs index e33b01d3..35ca4d6c 100644 --- a/primitives/src/dialog.rs +++ b/primitives/src/dialog.rs @@ -134,10 +134,7 @@ pub fn DialogRoot(props: DialogRootProps) -> Element { let render = use_animated_open(id, open); rsx! { - document::Script { - src: FOCUS_TRAP_JS, - defer: true - } + document::Script { src: FOCUS_TRAP_JS, defer: true } if render() { div { id, @@ -326,11 +323,7 @@ pub fn DialogTitle(props: DialogTitleProps) -> Element { let id = use_id_or(ctx.dialog_labelledby, props.id); rsx! { - h2 { - id: id, - ..props.attributes, - {props.children} - } + h2 { id, ..props.attributes, {props.children} } } } @@ -394,10 +387,6 @@ pub fn DialogDescription(props: DialogDescriptionProps) -> Element { let id = use_id_or(ctx.dialog_describedby, props.id); rsx! { - p { - id: id, - ..props.attributes, - {props.children} - } + p { id, ..props.attributes, {props.children} } } } diff --git a/primitives/src/dropdown_menu.rs b/primitives/src/dropdown_menu.rs index 4457d082..a3052ee5 100644 --- a/primitives/src/dropdown_menu.rs +++ b/primitives/src/dropdown_menu.rs @@ -219,7 +219,7 @@ pub fn DropdownMenuTrigger(props: DropdownMenuTriggerProps) -> Element { rsx! { button { id: "{ctx.trigger_id}", - type: "button", + r#type: "button", "data-state": if (ctx.open)() { "open" } else { "closed" }, "data-disabled": (ctx.disabled)(), disabled: (ctx.disabled)(), diff --git a/primitives/src/hover_card.rs b/primitives/src/hover_card.rs index 5d210e9f..4fbd7bed 100644 --- a/primitives/src/hover_card.rs +++ b/primitives/src/hover_card.rs @@ -284,7 +284,9 @@ pub fn HoverCardContent(props: HoverCardContentProps) -> Element { // Only render if the hover card is open or force_mount is true let is_open = (ctx.open)(); if !is_open && !props.force_mount { - return rsx!({}); + return rsx!( + {} + ); } // Use use_id_or to handle the ID diff --git a/primitives/src/label.rs b/primitives/src/label.rs index ec6c1cea..8818f281 100644 --- a/primitives/src/label.rs +++ b/primitives/src/label.rs @@ -43,11 +43,6 @@ pub struct LabelProps { pub fn Label(props: LabelProps) -> Element { // TODO: (?) the Radix primitive prevents selection on double click (but not intentional highlighting) rsx! { - label { - for: props.html_for, - ..props.attributes, - - {props.children} - } + label { r#for: props.html_for, ..props.attributes, {props.children} } } } diff --git a/primitives/src/menubar.rs b/primitives/src/menubar.rs index 93386e7e..7faf8550 100644 --- a/primitives/src/menubar.rs +++ b/primitives/src/menubar.rs @@ -289,12 +289,12 @@ pub fn MenubarMenu(props: MenubarMenuProps) -> Element { ctx.set_open_menu.call(Some(props.index.cloned())); } menu_ctx.focus_next(); - }, + } Key::ArrowUp if !disabled() => { if is_open() { menu_ctx.focus_prev(); } - }, + } Key::Home => ctx.focus.focus_first(), Key::End => ctx.focus.focus_last(), _ => return, @@ -415,7 +415,7 @@ pub fn MenubarTrigger(props: MenubarTriggerProps) -> Element { } }, role: "menuitem", - type: "button", + r#type: "button", tabindex: if is_focused() { "0" } else { "-1" }, ..props.attributes, {props.children} @@ -648,7 +648,9 @@ pub fn MenubarItem(props: MenubarItemProps) -> Element { onkeydown: { let value = props.value.clone(); move |event: Event| { - if event.key() == Key::Enter || event.key() == Key::Character(" ".to_string()) { + if event.key() == Key::Enter + || event.key() == Key::Character(" ".to_string()) + { if !disabled() { props.on_select.call(value.clone()); ctx.set_open_menu.call(None); diff --git a/primitives/src/navbar.rs b/primitives/src/navbar.rs index 0033b369..c3dd2183 100644 --- a/primitives/src/navbar.rs +++ b/primitives/src/navbar.rs @@ -131,10 +131,7 @@ pub fn Navbar(props: NavbarProps) -> Element { .find_map(|attr| (attr.name == "aria-label").then(|| attr.value.clone())); rsx! { - div { - role: "navigation", - display: "content", - aria_label, + div { role: "navigation", display: "content", aria_label, div { role: "menubar", "data-disabled": (props.disabled)(), @@ -322,12 +319,12 @@ pub fn NavbarNav(props: NavbarNavProps) -> Element { ctx.set_open_nav.call(Some(props.index.cloned())); } nav_ctx.focus_next(); - }, + } Key::ArrowUp if !disabled() => { if is_open() { nav_ctx.focus_prev(); } - }, + } _ => return, } event.prevent_default(); @@ -441,7 +438,7 @@ pub fn NavbarTrigger(props: NavbarTriggerProps) -> Element { } }, role: "menuitem", - type: "button", + r#type: "button", tabindex: if is_focused() { "0" } else { "-1" }, ..props.attributes, {props.children} diff --git a/primitives/src/popover.rs b/primitives/src/popover.rs index a79e6d0d..bf8c56b5 100644 --- a/primitives/src/popover.rs +++ b/primitives/src/popover.rs @@ -129,11 +129,7 @@ pub fn PopoverRoot(props: PopoverRootProps) -> Element { }); rsx! { - div { - "data-state": if open() { "open" } else { "closed" }, - ..props.attributes, - {props.children} - } + div { "data-state": if open() { "open" } else { "closed" }, ..props.attributes, {props.children} } } } @@ -252,10 +248,7 @@ pub fn PopoverContent(props: PopoverContentProps) -> Element { }); rsx! { - document::Script { - src: FOCUS_TRAP_JS, - defer: true - } + document::Script { src: FOCUS_TRAP_JS, defer: true } if render() { div { id, @@ -353,7 +346,7 @@ pub fn PopoverTrigger(props: PopoverTriggerProps) -> Element { rsx! { button { id, - type: "button", + r#type: "button", onclick: move |e| { // Prevent the click event from propagating to the overlay. e.stop_propagation(); diff --git a/primitives/src/progress.rs b/primitives/src/progress.rs index b71519c0..adbff082 100644 --- a/primitives/src/progress.rs +++ b/primitives/src/progress.rs @@ -117,6 +117,6 @@ pub struct ProgressIndicatorProps { #[component] pub fn ProgressIndicator(props: ProgressIndicatorProps) -> Element { rsx! { - div { ..props.attributes, {props.children} } + div { ..props.attributes,{props.children} } } } diff --git a/primitives/src/radio_group.rs b/primitives/src/radio_group.rs index 74e1fbde..587cd4ae 100644 --- a/primitives/src/radio_group.rs +++ b/primitives/src/radio_group.rs @@ -294,7 +294,7 @@ pub fn RadioItem(props: RadioItemProps) -> Element { id: props.id, class: props.class, tabindex: tab_index, - type: "button", + r#type: "button", aria_checked: checked, "data-state": if checked() { "checked" } else { "unchecked" }, diff --git a/primitives/src/select/components/group.rs b/primitives/src/select/components/group.rs index 4ce33f25..83589a36 100644 --- a/primitives/src/select/components/group.rs +++ b/primitives/src/select/components/group.rs @@ -173,7 +173,7 @@ pub fn SelectGroupLabel(props: SelectGroupLabelProps) -> Element { let render = use_context::().render; rsx! { - if render () { + if render() { div { // Set the ID for the label id, diff --git a/primitives/src/select/components/trigger.rs b/primitives/src/select/components/trigger.rs index 66e66db9..9d97ab70 100644 --- a/primitives/src/select/components/trigger.rs +++ b/primitives/src/select/components/trigger.rs @@ -73,7 +73,7 @@ pub fn SelectTrigger(props: SelectTriggerProps) -> Element { button { // Standard HTML attributes disabled: (ctx.disabled)(), - type: "button", + r#type: "button", onclick: move |_| { open.toggle(); diff --git a/primitives/src/select/components/value.rs b/primitives/src/select/components/value.rs index 2fa55930..c50e49bc 100644 --- a/primitives/src/select/components/value.rs +++ b/primitives/src/select/components/value.rs @@ -80,10 +80,6 @@ pub fn SelectValue(props: SelectValueProps) -> Element { rsx! { // Add placeholder option if needed - span { - "data-placeholder": ctx.value.read().is_none(), - ..props.attributes, - {display_value} - } + span { "data-placeholder": ctx.value.read().is_none(), ..props.attributes, {display_value} } } } diff --git a/primitives/src/slider.rs b/primitives/src/slider.rs index e99ff924..080002bc 100644 --- a/primitives/src/slider.rs +++ b/primitives/src/slider.rs @@ -281,37 +281,35 @@ pub fn Slider(props: SliderProps) -> Element { evt.prevent_default(); evt.stop_propagation(); - if current_pointer_id.read().is_some() || evt.trigger_button() != Some(MouseButton::Primary) { + if current_pointer_id.read().is_some() + + // Handle pointer interaction + + // Update the bounding rect of the slider in case it moved + + // Get the mouse position relative to the slider + + || evt.trigger_button() != Some(MouseButton::Primary) + { return; } - current_pointer_id.set(Some(evt.data().pointer_id())); - POINTERS.write().push(Pointer { - id: evt.data().pointer_id(), - position: evt.client_coordinates(), - last_position: None, - }); - - // Handle pointer interaction + POINTERS + .write() + .push(Pointer { + id: evt.data().pointer_id(), + position: evt.client_coordinates(), + last_position: None, + }); spawn(async move { let Some(div_element) = div_element() else { return; }; - - // Update the bounding rect of the slider in case it moved if let Ok(r) = div_element.get_client_rect().await { rect.set(Some(r)); - - let size = if props.horizontal { - r.width() - } else { - r.height() - }; - - // Get the mouse position relative to the slider + let size = if props.horizontal { r.width() } else { r.height() }; let top_left = r.origin; let relative_pos = evt.client_coordinates() - top_left.cast_unit(); - let offset = if ctx.horizontal { relative_pos.x } else { @@ -322,7 +320,6 @@ pub fn Slider(props: SliderProps) -> Element { let stepped = (new / ctx.step).round() * ctx.step; ctx.set_value.call(SliderValue::Single(stepped)); } - dragging.set(true); }); }, @@ -567,7 +564,7 @@ pub fn SliderThumb(props: SliderThumbProps) -> Element { rsx! { button { - type: "button", + r#type: "button", role: "slider", aria_valuemin: ctx.min, aria_valuemax: ctx.max, @@ -605,20 +602,16 @@ pub fn SliderThumb(props: SliderThumbProps) -> Element { // Handle keyboard navigation let mut new_value = match key { - Key::ArrowUp | Key::ArrowRight => { - value() + step - } - Key::ArrowDown | Key::ArrowLeft => { - value() - step - } + + // Clamp the new value to the range + + // Update the value + Key::ArrowUp | Key::ArrowRight => value() + step, + Key::ArrowDown | Key::ArrowLeft => value() - step, _ => return, }; - - // Clamp the new value to the range new_value = new_value.clamp(ctx.min, ctx.max); let stepped_value = (new_value / ctx.step).round() * ctx.step; - - // Update the value ctx.set_value.call(SliderValue::Single(stepped_value)); }, ..props.attributes, diff --git a/primitives/src/switch.rs b/primitives/src/switch.rs index cbb89d17..001978fe 100644 --- a/primitives/src/switch.rs +++ b/primitives/src/switch.rs @@ -78,7 +78,7 @@ pub fn Switch(props: SwitchProps) -> Element { rsx! { button { - type: "button", + r#type: "button", role: "switch", value: props.value, aria_checked: checked, @@ -106,7 +106,7 @@ pub fn Switch(props: SwitchProps) -> Element { // Hidden input for form submission input { - type: "checkbox", + r#type: "checkbox", aria_hidden: true, tabindex: -1, name: props.name, @@ -155,6 +155,6 @@ pub struct SwitchThumbProps { #[component] pub fn SwitchThumb(props: SwitchThumbProps) -> Element { rsx! { - span { ..props.attributes, {props.children} } + span { ..props.attributes,{props.children} } } } diff --git a/primitives/src/tabs.rs b/primitives/src/tabs.rs index ca5d6d1e..a2f45a97 100644 --- a/primitives/src/tabs.rs +++ b/primitives/src/tabs.rs @@ -194,12 +194,7 @@ pub struct TabListProps { #[component] pub fn TabList(props: TabListProps) -> Element { rsx! { - div { - role: "tablist", - ..props.attributes, - - {props.children} - } + div { role: "tablist", ..props.attributes, {props.children} } } } @@ -307,7 +302,7 @@ pub fn TabTrigger(props: TabTriggerProps) -> Element { id: props.id, class: props.class, tabindex: tab_index, - type: "button", + r#type: "button", aria_selected: selected, aria_controls: (ctx.tab_content_ids)().get((props.index)()).cloned(), diff --git a/primitives/src/toast.rs b/primitives/src/toast.rs index 7d8c4f12..454460ba 100644 --- a/primitives/src/toast.rs +++ b/primitives/src/toast.rs @@ -246,32 +246,33 @@ pub fn ToastProvider(props: ToastProviderProps) -> Element { region_ref.set(Some(e.data())); }, - ol { - class: "toast-list", + ol { class: "toast-list", // Render all toasts - for (index, toast) in toast_list.read().iter().rev().enumerate() { - li { - key: "{toast.id}", - class: "toast-item", + for (index , toast) in toast_list.read().iter().rev().enumerate() { + li { key: "{toast.id}", class: "toast-item", { - props.render_toast.call(ToastProps::builder().id(toast.id) - .index(index) - .title(toast.title.clone()) - .description(toast.description.clone()) - .toast_type(toast.toast_type) - .permanent(toast.permanent) - .on_close({ - let toast_id = toast.id; - let remove_toast = ctx.remove_toast; - move |_| { - remove_toast.call(toast_id); - } - }) + props // Only pass duration to non-permanent toasts - .duration(if toast.permanent { None } else { toast.duration }) - .attributes(vec![]) - .build() - ) + .render_toast + .call( + ToastProps::builder() + .id(toast.id) + .index(index) + .title(toast.title.clone()) + .description(toast.description.clone()) + .toast_type(toast.toast_type) + .permanent(toast.permanent) + .on_close({ + let toast_id = toast.id; + let remove_toast = ctx.remove_toast; + move |_| { + remove_toast.call(toast_id); + } + }) + .duration(if toast.permanent { None } else { toast.duration }) + .attributes(vec![]) + .build(), + ) } } } @@ -414,15 +415,9 @@ pub fn Toast(props: ToastProps) -> Element { style: "--toast-index: {props.index}", ..props.attributes, - div { class: "toast-content", - role: "alert", - aria_atomic: "true", + div { class: "toast-content", role: "alert", aria_atomic: "true", - div { - id: label_id, - class: "toast-title", - {props.title.clone()} - } + div { id: label_id, class: "toast-title", {props.title.clone()} } if let Some(description) = &props.description { div { @@ -436,7 +431,7 @@ pub fn Toast(props: ToastProps) -> Element { button { class: "toast-close", aria_label: "close", - type: "button", + r#type: "button", onclick: move |e| { // Focus the region again after closing ctx.focus_region.call(()); diff --git a/primitives/src/toggle.rs b/primitives/src/toggle.rs index 7819737a..47bfc654 100644 --- a/primitives/src/toggle.rs +++ b/primitives/src/toggle.rs @@ -79,7 +79,7 @@ pub fn Toggle(props: ToggleProps) -> Element { onfocus: props.onfocus, onkeydown: props.onkeydown, - type: "button", + r#type: "button", disabled: props.disabled, aria_pressed: pressed, "data-state": if pressed() { "on" } else { "off" }, diff --git a/primitives/src/toolbar.rs b/primitives/src/toolbar.rs index 3066454f..e7d42675 100644 --- a/primitives/src/toolbar.rs +++ b/primitives/src/toolbar.rs @@ -193,7 +193,7 @@ pub fn ToolbarButton(props: ToolbarButtonProps) -> Element { rsx! { button { - type: "button", + r#type: "button", tabindex: "0", disabled: (ctx.disabled)() || (props.disabled)(), "data-disabled": (ctx.disabled)() || (props.disabled)(), From 120a389f58df8e5574e2849f63548e502b02ff7f Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Tue, 16 Sep 2025 13:05:07 -0500 Subject: [PATCH 05/13] add mods --- preview/src/components/accordion/mod.rs | 2 ++ preview/src/components/alert_dialog/mod.rs | 2 ++ preview/src/components/aspect_ratio/mod.rs | 2 ++ preview/src/components/avatar/mod.rs | 2 ++ preview/src/components/button/mod.rs | 2 ++ preview/src/components/calendar/mod.rs | 2 ++ preview/src/components/checkbox/mod.rs | 2 ++ preview/src/components/collapsible/mod.rs | 2 ++ preview/src/components/context_menu/mod.rs | 2 ++ preview/src/components/dialog/mod.rs | 2 ++ preview/src/components/dropdown_menu/mod.rs | 2 ++ preview/src/components/form/mod.rs | 2 ++ preview/src/components/hover_card/mod.rs | 2 ++ preview/src/components/input/mod.rs | 2 ++ preview/src/components/label/mod.rs | 2 ++ preview/src/components/menubar/mod.rs | 2 ++ preview/src/components/navbar/mod.rs | 2 ++ preview/src/components/popover/mod.rs | 2 ++ preview/src/components/progress/mod.rs | 2 ++ preview/src/components/radio_group/mod.rs | 2 ++ preview/src/components/scroll_area/mod.rs | 2 ++ preview/src/components/select/mod.rs | 2 ++ preview/src/components/separator/mod.rs | 2 ++ preview/src/components/slider/mod.rs | 2 ++ preview/src/components/switch/mod.rs | 2 ++ preview/src/components/tabs/mod.rs | 2 ++ preview/src/components/toast/mod.rs | 2 ++ preview/src/components/toggle/mod.rs | 2 ++ preview/src/components/toggle_group/mod.rs | 2 ++ preview/src/components/toolbar/mod.rs | 2 ++ preview/src/components/tooltip/mod.rs | 2 ++ 31 files changed, 62 insertions(+) create mode 100644 preview/src/components/accordion/mod.rs create mode 100644 preview/src/components/alert_dialog/mod.rs create mode 100644 preview/src/components/aspect_ratio/mod.rs create mode 100644 preview/src/components/avatar/mod.rs create mode 100644 preview/src/components/button/mod.rs create mode 100644 preview/src/components/calendar/mod.rs create mode 100644 preview/src/components/checkbox/mod.rs create mode 100644 preview/src/components/collapsible/mod.rs create mode 100644 preview/src/components/context_menu/mod.rs create mode 100644 preview/src/components/dialog/mod.rs create mode 100644 preview/src/components/dropdown_menu/mod.rs create mode 100644 preview/src/components/form/mod.rs create mode 100644 preview/src/components/hover_card/mod.rs create mode 100644 preview/src/components/input/mod.rs create mode 100644 preview/src/components/label/mod.rs create mode 100644 preview/src/components/menubar/mod.rs create mode 100644 preview/src/components/navbar/mod.rs create mode 100644 preview/src/components/popover/mod.rs create mode 100644 preview/src/components/progress/mod.rs create mode 100644 preview/src/components/radio_group/mod.rs create mode 100644 preview/src/components/scroll_area/mod.rs create mode 100644 preview/src/components/select/mod.rs create mode 100644 preview/src/components/separator/mod.rs create mode 100644 preview/src/components/slider/mod.rs create mode 100644 preview/src/components/switch/mod.rs create mode 100644 preview/src/components/tabs/mod.rs create mode 100644 preview/src/components/toast/mod.rs create mode 100644 preview/src/components/toggle/mod.rs create mode 100644 preview/src/components/toggle_group/mod.rs create mode 100644 preview/src/components/toolbar/mod.rs create mode 100644 preview/src/components/tooltip/mod.rs diff --git a/preview/src/components/accordion/mod.rs b/preview/src/components/accordion/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/accordion/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/alert_dialog/mod.rs b/preview/src/components/alert_dialog/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/alert_dialog/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/aspect_ratio/mod.rs b/preview/src/components/aspect_ratio/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/aspect_ratio/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/avatar/mod.rs b/preview/src/components/avatar/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/avatar/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/button/mod.rs b/preview/src/components/button/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/button/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/calendar/mod.rs b/preview/src/components/calendar/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/calendar/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/checkbox/mod.rs b/preview/src/components/checkbox/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/checkbox/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/collapsible/mod.rs b/preview/src/components/collapsible/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/collapsible/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/context_menu/mod.rs b/preview/src/components/context_menu/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/context_menu/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/dialog/mod.rs b/preview/src/components/dialog/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/dialog/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/dropdown_menu/mod.rs b/preview/src/components/dropdown_menu/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/dropdown_menu/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/form/mod.rs b/preview/src/components/form/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/form/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/hover_card/mod.rs b/preview/src/components/hover_card/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/hover_card/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/input/mod.rs b/preview/src/components/input/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/input/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/label/mod.rs b/preview/src/components/label/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/label/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/menubar/mod.rs b/preview/src/components/menubar/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/menubar/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/navbar/mod.rs b/preview/src/components/navbar/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/navbar/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/popover/mod.rs b/preview/src/components/popover/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/popover/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/progress/mod.rs b/preview/src/components/progress/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/progress/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/radio_group/mod.rs b/preview/src/components/radio_group/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/radio_group/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/scroll_area/mod.rs b/preview/src/components/scroll_area/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/scroll_area/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/select/mod.rs b/preview/src/components/select/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/select/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/separator/mod.rs b/preview/src/components/separator/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/separator/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/slider/mod.rs b/preview/src/components/slider/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/slider/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/switch/mod.rs b/preview/src/components/switch/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/switch/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/tabs/mod.rs b/preview/src/components/tabs/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/tabs/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/toast/mod.rs b/preview/src/components/toast/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/toast/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/toggle/mod.rs b/preview/src/components/toggle/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/toggle/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/toggle_group/mod.rs b/preview/src/components/toggle_group/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/toggle_group/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/toolbar/mod.rs b/preview/src/components/toolbar/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/toolbar/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file diff --git a/preview/src/components/tooltip/mod.rs b/preview/src/components/tooltip/mod.rs new file mode 100644 index 00000000..9a8ae556 --- /dev/null +++ b/preview/src/components/tooltip/mod.rs @@ -0,0 +1,2 @@ +mod component; +pub use component::*; \ No newline at end of file From cfd013dc3a0c2c5bdec3496a0328ff4775b5981e Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Tue, 16 Sep 2025 13:36:11 -0500 Subject: [PATCH 06/13] add dependency fields --- Cargo.lock | 2 -- dioxus-component-manifest/src/lib.rs | 23 ++++++++----------- preview/Cargo.toml | 2 -- .../src/components/accordion/component.json | 9 +++++++- .../components/alert_dialog/component.json | 8 ++++++- .../components/aspect_ratio/component.json | 8 ++++++- preview/src/components/avatar/component.json | 8 ++++++- preview/src/components/button/component.json | 8 ++++++- .../src/components/calendar/component.json | 8 ++++++- .../src/components/checkbox/component.json | 8 ++++++- .../src/components/collapsible/component.json | 8 ++++++- .../components/context_menu/component.json | 8 ++++++- preview/src/components/dialog/component.json | 8 ++++++- .../components/dropdown_menu/component.json | 8 ++++++- preview/src/components/form/component.json | 8 ++++++- .../src/components/hover_card/component.json | 8 ++++++- preview/src/components/input/component.json | 8 ++++++- preview/src/components/label/component.json | 8 ++++++- preview/src/components/menubar/component.json | 8 ++++++- preview/src/components/navbar/component.json | 9 +++++++- preview/src/components/popover/component.json | 8 ++++++- .../src/components/progress/component.json | 8 ++++++- .../src/components/radio_group/component.json | 8 ++++++- .../src/components/scroll_area/component.json | 8 ++++++- preview/src/components/select/component.json | 8 ++++++- .../src/components/separator/component.json | 8 ++++++- preview/src/components/slider/component.json | 8 ++++++- preview/src/components/switch/component.json | 8 ++++++- preview/src/components/tabs/component.json | 8 ++++++- preview/src/components/toast/component.json | 8 ++++++- preview/src/components/toggle/component.json | 8 ++++++- .../components/toggle_group/component.json | 8 ++++++- preview/src/components/toolbar/component.json | 8 ++++++- preview/src/components/tooltip/component.json | 8 ++++++- 34 files changed, 229 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4b9600c3..f57f2a9e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5353,11 +5353,9 @@ name = "preview" version = "0.1.0" dependencies = [ "dioxus", - "dioxus-component-manifest", "dioxus-i18n", "dioxus-primitives", "pulldown-cmark", - "serde_json", "strum 0.27.2", "syntect", "time", diff --git a/dioxus-component-manifest/src/lib.rs b/dioxus-component-manifest/src/lib.rs index 9bb74e5a..32915560 100644 --- a/dioxus-component-manifest/src/lib.rs +++ b/dioxus-component-manifest/src/lib.rs @@ -53,7 +53,7 @@ pub enum CargoDependency { } impl CargoDependency { - fn add_command(&self) -> Command { + pub fn add_command(&self) -> Command { let mut cmd = Command::new("cargo"); cmd.arg("add"); match self { @@ -91,20 +91,17 @@ impl CargoDependency { } cmd } + + pub fn name(&self) -> &str { + match self { + CargoDependency::Simple(name) => name, + CargoDependency::Detailed { name, .. } => name, + } + } } -fn main() { +#[test] +fn test_schema() { let schema = schema_for!(Component); println!("{}", serde_json::to_string_pretty(&schema).unwrap()); - - let command = CargoDependency::Detailed { - name: "dioxus".to_string(), - features: vec!["web".to_string(), "ssr".to_string()], - version: Some("0.4".to_string()), - default_features: true, - git: None, - rev: None, - } - .add_command(); - println!("{command:?}"); } diff --git a/preview/Cargo.toml b/preview/Cargo.toml index 856a6c51..86303814 100644 --- a/preview/Cargo.toml +++ b/preview/Cargo.toml @@ -16,8 +16,6 @@ time = { version = "0.3.41", features = ["std", "macros"] } [build-dependencies] syntect = "5.2" pulldown-cmark = "0.13.0" -dioxus-component-manifest = { version = "0.1.0", path = "../dioxus-component-manifest" } -serde_json = "1.0" [features] web = ["dioxus/web", "dioxus-primitives/web"] diff --git a/preview/src/components/accordion/component.json b/preview/src/components/accordion/component.json index 7121b7d8..6a188b10 100644 --- a/preview/src/components/accordion/component.json +++ b/preview/src/components/accordion/component.json @@ -1,5 +1,12 @@ { "name": "accordion", "description": "An accordion component for displaying collapsible content sections.", - "authors": ["Evan Almloff"] + "authors": ["Evan Almloff"], + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/alert_dialog/component.json b/preview/src/components/alert_dialog/component.json index 8bbee1cc..0458f9d1 100644 --- a/preview/src/components/alert_dialog/component.json +++ b/preview/src/components/alert_dialog/component.json @@ -2,5 +2,11 @@ "name": "alert_dialog", "description": "An alert dialog component for displaying important messages and requiring user confirmation.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/aspect_ratio/component.json b/preview/src/components/aspect_ratio/component.json index 33ab78e5..ec9d3705 100644 --- a/preview/src/components/aspect_ratio/component.json +++ b/preview/src/components/aspect_ratio/component.json @@ -2,5 +2,11 @@ "name": "aspect_ratio", "description": "An aspect ratio component for maintaining a consistent width-to-height ratio of an element.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/avatar/component.json b/preview/src/components/avatar/component.json index 5dcafb53..53bedd78 100644 --- a/preview/src/components/avatar/component.json +++ b/preview/src/components/avatar/component.json @@ -2,5 +2,11 @@ "name": "avatar", "description": "An avatar component for displaying user profile images or initials.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/button/component.json b/preview/src/components/button/component.json index bb1da74d..7644c7b3 100644 --- a/preview/src/components/button/component.json +++ b/preview/src/components/button/component.json @@ -2,5 +2,11 @@ "name": "button", "description": "A button component for triggering actions or events when clicked.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/calendar/component.json b/preview/src/components/calendar/component.json index 3104951d..e2abfcc6 100644 --- a/preview/src/components/calendar/component.json +++ b/preview/src/components/calendar/component.json @@ -2,5 +2,11 @@ "name": "calendar", "description": "A calendar grid component for selecting dates.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/checkbox/component.json b/preview/src/components/checkbox/component.json index f9f81d17..45165502 100644 --- a/preview/src/components/checkbox/component.json +++ b/preview/src/components/checkbox/component.json @@ -2,5 +2,11 @@ "name": "checkbox", "description": "A togglable checkbox component.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/collapsible/component.json b/preview/src/components/collapsible/component.json index fb4bf4c3..9e7fdac8 100644 --- a/preview/src/components/collapsible/component.json +++ b/preview/src/components/collapsible/component.json @@ -2,5 +2,11 @@ "name": "collapsible", "description": "A collapsible component for showing and hiding content sections.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/context_menu/component.json b/preview/src/components/context_menu/component.json index 0278d4f1..d02cb1b9 100644 --- a/preview/src/components/context_menu/component.json +++ b/preview/src/components/context_menu/component.json @@ -2,5 +2,11 @@ "name": "context_menu", "description": "A context menu component for displaying a list of actions or option after right clicking an area.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/dialog/component.json b/preview/src/components/dialog/component.json index de3aad1d..085c1b91 100644 --- a/preview/src/components/dialog/component.json +++ b/preview/src/components/dialog/component.json @@ -2,5 +2,11 @@ "name": "dialog", "description": "A dialog component for displaying modal content.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/dropdown_menu/component.json b/preview/src/components/dropdown_menu/component.json index 2488b7ce..331eb0ee 100644 --- a/preview/src/components/dropdown_menu/component.json +++ b/preview/src/components/dropdown_menu/component.json @@ -2,5 +2,11 @@ "name": "dropdown_menu", "description": "A dropdown menu component for selecting options from a list.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/form/component.json b/preview/src/components/form/component.json index 0b761e52..d8213446 100644 --- a/preview/src/components/form/component.json +++ b/preview/src/components/form/component.json @@ -2,5 +2,11 @@ "name": "form", "description": "A form component for collecting user input.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/hover_card/component.json b/preview/src/components/hover_card/component.json index 2a12af16..478a546f 100644 --- a/preview/src/components/hover_card/component.json +++ b/preview/src/components/hover_card/component.json @@ -2,5 +2,11 @@ "name": "hover_card", "description": "A hover card component for displaying additional information on hover.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/input/component.json b/preview/src/components/input/component.json index 3d3ef369..2a88361f 100644 --- a/preview/src/components/input/component.json +++ b/preview/src/components/input/component.json @@ -2,5 +2,11 @@ "name": "input", "description": "An input field component for user text entry.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/label/component.json b/preview/src/components/label/component.json index dbd4419c..c5fadf91 100644 --- a/preview/src/components/label/component.json +++ b/preview/src/components/label/component.json @@ -2,5 +2,11 @@ "name": "label", "description": "An accessible label component for form elements.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/menubar/component.json b/preview/src/components/menubar/component.json index 09822f46..e4ed8c68 100644 --- a/preview/src/components/menubar/component.json +++ b/preview/src/components/menubar/component.json @@ -2,5 +2,11 @@ "name": "menubar", "description": "A menubar component for a collection of menu items.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/navbar/component.json b/preview/src/components/navbar/component.json index 6ddef31a..7b357073 100644 --- a/preview/src/components/navbar/component.json +++ b/preview/src/components/navbar/component.json @@ -2,5 +2,12 @@ "name": "navbar", "description": "A navbar component for navigation between pages.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components", + "features": ["router"] + } + ] } diff --git a/preview/src/components/popover/component.json b/preview/src/components/popover/component.json index dc0e1f0d..f7a689b7 100644 --- a/preview/src/components/popover/component.json +++ b/preview/src/components/popover/component.json @@ -2,5 +2,11 @@ "name": "popover", "description": "A popover component for colapsible content.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/progress/component.json b/preview/src/components/progress/component.json index a3500cd6..8ba6bffb 100644 --- a/preview/src/components/progress/component.json +++ b/preview/src/components/progress/component.json @@ -2,5 +2,11 @@ "name": "progress", "description": "An accessable progress bar indicator.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/radio_group/component.json b/preview/src/components/radio_group/component.json index aaeb38ff..2e1308d9 100644 --- a/preview/src/components/radio_group/component.json +++ b/preview/src/components/radio_group/component.json @@ -2,5 +2,11 @@ "name": "radio_group", "description": "A group of radio buttons for selecting one option from a set.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/scroll_area/component.json b/preview/src/components/scroll_area/component.json index 58ef3647..b4a64c5d 100644 --- a/preview/src/components/scroll_area/component.json +++ b/preview/src/components/scroll_area/component.json @@ -2,5 +2,11 @@ "name": "scroll_area", "description": "A scrollable area component.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/select/component.json b/preview/src/components/select/component.json index b072b1a8..10c4dfe9 100644 --- a/preview/src/components/select/component.json +++ b/preview/src/components/select/component.json @@ -2,5 +2,11 @@ "name": "select", "description": "A select dropdown component with typeahead support.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/separator/component.json b/preview/src/components/separator/component.json index f824f6e8..44d614a3 100644 --- a/preview/src/components/separator/component.json +++ b/preview/src/components/separator/component.json @@ -2,5 +2,11 @@ "name": "separator", "description": "A visual separator between different sections of the page.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/slider/component.json b/preview/src/components/slider/component.json index cc40572b..eb68a3ac 100644 --- a/preview/src/components/slider/component.json +++ b/preview/src/components/slider/component.json @@ -2,5 +2,11 @@ "name": "slider", "description": "An accessable slider component.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/switch/component.json b/preview/src/components/switch/component.json index a69b219c..17c07476 100644 --- a/preview/src/components/switch/component.json +++ b/preview/src/components/switch/component.json @@ -2,5 +2,11 @@ "name": "switch", "description": "A togglable switch component.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/tabs/component.json b/preview/src/components/tabs/component.json index f604f4a1..9a89c100 100644 --- a/preview/src/components/tabs/component.json +++ b/preview/src/components/tabs/component.json @@ -2,5 +2,11 @@ "name": "tabs", "description": "A tabbed interface component.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/toast/component.json b/preview/src/components/toast/component.json index 1c3e3872..e9aeab28 100644 --- a/preview/src/components/toast/component.json +++ b/preview/src/components/toast/component.json @@ -2,5 +2,11 @@ "name": "toast", "description": "A toast notification component.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/toggle/component.json b/preview/src/components/toggle/component.json index e165adc5..9fd36b3c 100644 --- a/preview/src/components/toggle/component.json +++ b/preview/src/components/toggle/component.json @@ -2,5 +2,11 @@ "name": "toggle", "description": "A simple toggle button component.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/toggle_group/component.json b/preview/src/components/toggle_group/component.json index fea6df03..aa271ab9 100644 --- a/preview/src/components/toggle_group/component.json +++ b/preview/src/components/toggle_group/component.json @@ -2,5 +2,11 @@ "name": "toggle_group", "description": "A group of toggle buttons for selecting one or more options from a set.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/toolbar/component.json b/preview/src/components/toolbar/component.json index bc6a62f6..dc472b4b 100644 --- a/preview/src/components/toolbar/component.json +++ b/preview/src/components/toolbar/component.json @@ -2,5 +2,11 @@ "name": "toolbar", "description": "A toolbar component for grouping related inputs.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } diff --git a/preview/src/components/tooltip/component.json b/preview/src/components/tooltip/component.json index e24b2650..0aa80d6f 100644 --- a/preview/src/components/tooltip/component.json +++ b/preview/src/components/tooltip/component.json @@ -2,5 +2,11 @@ "name": "tooltip", "description": "A tooltip component for additional information on hover or focus.", "authors": ["Evan Almloff"], - "exclude": ["variants", "docs.md", "component.json"] + "exclude": ["variants", "docs.md", "component.json"], + "cargoDependencies": [ + { + "name": "dioxus-primitives", + "git": "https://github.com/DioxusLabs/components" + } + ] } From ba115d3fae75d17b1ea4cb3ddf133504a2430689 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Wed, 17 Sep 2025 08:51:37 -0500 Subject: [PATCH 07/13] derive traits for the component structure --- dioxus-component-manifest/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dioxus-component-manifest/src/lib.rs b/dioxus-component-manifest/src/lib.rs index 32915560..8a05a511 100644 --- a/dioxus-component-manifest/src/lib.rs +++ b/dioxus-component-manifest/src/lib.rs @@ -3,7 +3,7 @@ use std::process::Command; use schemars::{JsonSchema, schema_for}; use serde::{Deserialize, Serialize}; -#[derive(Deserialize, Serialize, JsonSchema)] +#[derive(Deserialize, Serialize, JsonSchema, Clone, Debug, PartialEq, Eq, Hash)] #[serde(rename_all = "camelCase", deny_unknown_fields)] pub struct Component { pub name: String, @@ -21,7 +21,7 @@ pub struct Component { pub exclude: Vec, } -#[derive(Deserialize, Serialize, JsonSchema)] +#[derive(Deserialize, Serialize, JsonSchema, Clone, Debug, PartialEq, Eq, Hash)] #[serde(untagged)] pub enum ComponentDependency { Builtin(String), @@ -33,7 +33,7 @@ pub enum ComponentDependency { }, } -#[derive(Deserialize, Serialize, JsonSchema)] +#[derive(Deserialize, Serialize, JsonSchema, Clone, Debug, PartialEq, Eq, Hash)] #[serde(untagged)] pub enum CargoDependency { Simple(String), From a452838a99cd35456676e0cfa4d1738ffecf1c71 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Thu, 18 Sep 2025 12:46:03 -0500 Subject: [PATCH 08/13] add the theme as a global asset --- .DS_Store | Bin 0 -> 6148 bytes dioxus-component-manifest/Cargo.toml | 9 -- dioxus-component-manifest/src/lib.rs | 107 ------------------ .../{theme.css => dx-components-theme.css} | 0 preview/build.rs | 6 +- .../src/components/accordion/component.json | 3 +- .../components/alert_dialog/component.json | 3 +- .../components/aspect_ratio/component.json | 3 +- preview/src/components/avatar/component.json | 3 +- preview/src/components/button/component.json | 3 +- .../src/components/calendar/component.json | 3 +- .../src/components/checkbox/component.json | 3 +- .../src/components/collapsible/component.json | 3 +- .../components/context_menu/component.json | 3 +- preview/src/components/dialog/component.json | 3 +- .../components/dropdown_menu/component.json | 3 +- preview/src/components/form/component.json | 3 +- .../src/components/hover_card/component.json | 3 +- preview/src/components/input/component.json | 3 +- preview/src/components/label/component.json | 3 +- preview/src/components/menubar/component.json | 3 +- preview/src/components/popover/component.json | 3 +- .../src/components/progress/component.json | 3 +- .../src/components/radio_group/component.json | 3 +- .../src/components/scroll_area/component.json | 3 +- preview/src/components/select/component.json | 3 +- .../src/components/separator/component.json | 3 +- preview/src/components/slider/component.json | 3 +- preview/src/components/switch/component.json | 3 +- preview/src/components/tabs/component.json | 3 +- preview/src/components/toast/component.json | 3 +- preview/src/components/toggle/component.json | 3 +- .../components/toggle_group/component.json | 3 +- preview/src/components/toolbar/component.json | 3 +- preview/src/components/tooltip/component.json | 3 +- preview/src/main.rs | 12 +- 36 files changed, 69 insertions(+), 155 deletions(-) create mode 100644 .DS_Store delete mode 100644 dioxus-component-manifest/Cargo.toml delete mode 100644 dioxus-component-manifest/src/lib.rs rename preview/assets/{theme.css => dx-components-theme.css} (100%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0, - #[serde(default, skip_serializing_if = "Vec::is_empty")] - pub component_dependencies: Vec, - #[serde(default, skip_serializing_if = "Vec::is_empty")] - pub cargo_dependencies: Vec, - #[serde(default, skip_serializing_if = "Vec::is_empty")] - pub members: Vec, - #[serde(default, skip_serializing_if = "Vec::is_empty")] - pub exclude: Vec, -} - -#[derive(Deserialize, Serialize, JsonSchema, Clone, Debug, PartialEq, Eq, Hash)] -#[serde(untagged)] -pub enum ComponentDependency { - Builtin(String), - ThirdParty { - name: String, - git: String, - #[serde(default)] - rev: Option, - }, -} - -#[derive(Deserialize, Serialize, JsonSchema, Clone, Debug, PartialEq, Eq, Hash)] -#[serde(untagged)] -pub enum CargoDependency { - Simple(String), - Detailed { - name: String, - #[serde(default)] - version: Option, - #[serde(default, skip_serializing_if = "Vec::is_empty")] - features: Vec, - #[serde(default, skip_serializing_if = "std::ops::Not::not")] - default_features: bool, - #[serde(default, skip_serializing_if = "Option::is_none")] - git: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - rev: Option, - }, -} - -impl CargoDependency { - pub fn add_command(&self) -> Command { - let mut cmd = Command::new("cargo"); - cmd.arg("add"); - match self { - CargoDependency::Simple(name) => { - cmd.arg(name); - } - CargoDependency::Detailed { - name, - version, - features, - default_features, - git, - rev, - } => { - cmd.arg(format!( - "{name}{}", - version - .as_ref() - .map(|version| format!("@{version}")) - .unwrap_or_default() - )); - if !features.is_empty() { - cmd.arg("--features").arg(features.join(",")); - } - if !*default_features { - cmd.arg("--no-default-features"); - } - if let Some(git) = git { - cmd.arg("--git").arg(git); - } - if let Some(rev) = rev { - cmd.arg("--rev").arg(rev); - } - } - } - cmd - } - - pub fn name(&self) -> &str { - match self { - CargoDependency::Simple(name) => name, - CargoDependency::Detailed { name, .. } => name, - } - } -} - -#[test] -fn test_schema() { - let schema = schema_for!(Component); - println!("{}", serde_json::to_string_pretty(&schema).unwrap()); -} diff --git a/preview/assets/theme.css b/preview/assets/dx-components-theme.css similarity index 100% rename from preview/assets/theme.css rename to preview/assets/dx-components-theme.css diff --git a/preview/build.rs b/preview/build.rs index fbefed82..ad7ecb88 100644 --- a/preview/build.rs +++ b/preview/build.rs @@ -13,11 +13,11 @@ fn main() { walk_highlight_dir(&folder_path, &out_dir).unwrap(); } - // Process the main theme.css file - let theme_css_path = std::path::PathBuf::from("assets/theme.css"); + // Process the main dx-components-theme.css file + let theme_css_path = std::path::PathBuf::from("assets/dx-components-theme.css"); for theme in ["base16-ocean.dark", "base16-ocean.light"] { let html = highlight_file_to(&theme_css_path, theme); - let out_file_path = out_dir.join(format!("theme.css.{theme}.html")); + let out_file_path = out_dir.join(format!("dx-components-theme.css.{theme}.html")); std::fs::write(out_file_path, html).unwrap(); } } diff --git a/preview/src/components/accordion/component.json b/preview/src/components/accordion/component.json index 6a188b10..839f5787 100644 --- a/preview/src/components/accordion/component.json +++ b/preview/src/components/accordion/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/alert_dialog/component.json b/preview/src/components/alert_dialog/component.json index 0458f9d1..501fe19b 100644 --- a/preview/src/components/alert_dialog/component.json +++ b/preview/src/components/alert_dialog/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/aspect_ratio/component.json b/preview/src/components/aspect_ratio/component.json index ec9d3705..615e3bea 100644 --- a/preview/src/components/aspect_ratio/component.json +++ b/preview/src/components/aspect_ratio/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/avatar/component.json b/preview/src/components/avatar/component.json index 53bedd78..41693101 100644 --- a/preview/src/components/avatar/component.json +++ b/preview/src/components/avatar/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/button/component.json b/preview/src/components/button/component.json index 7644c7b3..5f081663 100644 --- a/preview/src/components/button/component.json +++ b/preview/src/components/button/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/calendar/component.json b/preview/src/components/calendar/component.json index e2abfcc6..e114af10 100644 --- a/preview/src/components/calendar/component.json +++ b/preview/src/components/calendar/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/checkbox/component.json b/preview/src/components/checkbox/component.json index 45165502..f8909e02 100644 --- a/preview/src/components/checkbox/component.json +++ b/preview/src/components/checkbox/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/collapsible/component.json b/preview/src/components/collapsible/component.json index 9e7fdac8..b1ec572d 100644 --- a/preview/src/components/collapsible/component.json +++ b/preview/src/components/collapsible/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/context_menu/component.json b/preview/src/components/context_menu/component.json index d02cb1b9..ad9452da 100644 --- a/preview/src/components/context_menu/component.json +++ b/preview/src/components/context_menu/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/dialog/component.json b/preview/src/components/dialog/component.json index 085c1b91..4806b694 100644 --- a/preview/src/components/dialog/component.json +++ b/preview/src/components/dialog/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/dropdown_menu/component.json b/preview/src/components/dropdown_menu/component.json index 331eb0ee..5fb6ea71 100644 --- a/preview/src/components/dropdown_menu/component.json +++ b/preview/src/components/dropdown_menu/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/form/component.json b/preview/src/components/form/component.json index d8213446..6045619d 100644 --- a/preview/src/components/form/component.json +++ b/preview/src/components/form/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/hover_card/component.json b/preview/src/components/hover_card/component.json index 478a546f..2b9ca4d6 100644 --- a/preview/src/components/hover_card/component.json +++ b/preview/src/components/hover_card/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/input/component.json b/preview/src/components/input/component.json index 2a88361f..38d66c05 100644 --- a/preview/src/components/input/component.json +++ b/preview/src/components/input/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/label/component.json b/preview/src/components/label/component.json index c5fadf91..fa577e0a 100644 --- a/preview/src/components/label/component.json +++ b/preview/src/components/label/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/menubar/component.json b/preview/src/components/menubar/component.json index e4ed8c68..414f24e4 100644 --- a/preview/src/components/menubar/component.json +++ b/preview/src/components/menubar/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/popover/component.json b/preview/src/components/popover/component.json index f7a689b7..b60deacd 100644 --- a/preview/src/components/popover/component.json +++ b/preview/src/components/popover/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/progress/component.json b/preview/src/components/progress/component.json index 8ba6bffb..10c3ad80 100644 --- a/preview/src/components/progress/component.json +++ b/preview/src/components/progress/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/radio_group/component.json b/preview/src/components/radio_group/component.json index 2e1308d9..47c3e120 100644 --- a/preview/src/components/radio_group/component.json +++ b/preview/src/components/radio_group/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/scroll_area/component.json b/preview/src/components/scroll_area/component.json index b4a64c5d..d3ee5a0b 100644 --- a/preview/src/components/scroll_area/component.json +++ b/preview/src/components/scroll_area/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/select/component.json b/preview/src/components/select/component.json index 10c4dfe9..4055acac 100644 --- a/preview/src/components/select/component.json +++ b/preview/src/components/select/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/separator/component.json b/preview/src/components/separator/component.json index 44d614a3..b98fbd1f 100644 --- a/preview/src/components/separator/component.json +++ b/preview/src/components/separator/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/slider/component.json b/preview/src/components/slider/component.json index eb68a3ac..84ba9535 100644 --- a/preview/src/components/slider/component.json +++ b/preview/src/components/slider/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/switch/component.json b/preview/src/components/switch/component.json index 17c07476..b38844e2 100644 --- a/preview/src/components/switch/component.json +++ b/preview/src/components/switch/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/tabs/component.json b/preview/src/components/tabs/component.json index 9a89c100..0d03bdbd 100644 --- a/preview/src/components/tabs/component.json +++ b/preview/src/components/tabs/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toast/component.json b/preview/src/components/toast/component.json index e9aeab28..0631b94b 100644 --- a/preview/src/components/toast/component.json +++ b/preview/src/components/toast/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toggle/component.json b/preview/src/components/toggle/component.json index 9fd36b3c..813fe3bc 100644 --- a/preview/src/components/toggle/component.json +++ b/preview/src/components/toggle/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toggle_group/component.json b/preview/src/components/toggle_group/component.json index aa271ab9..a8938f89 100644 --- a/preview/src/components/toggle_group/component.json +++ b/preview/src/components/toggle_group/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toolbar/component.json b/preview/src/components/toolbar/component.json index dc472b4b..49fb962c 100644 --- a/preview/src/components/toolbar/component.json +++ b/preview/src/components/toolbar/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/tooltip/component.json b/preview/src/components/tooltip/component.json index 0aa80d6f..f2fcb00c 100644 --- a/preview/src/components/tooltip/component.json +++ b/preview/src/components/tooltip/component.json @@ -8,5 +8,6 @@ "name": "dioxus-primitives", "git": "https://github.com/DioxusLabs/components" } - ] + ], + "global-assets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/main.rs b/preview/src/main.rs index 893c5376..0c2fa070 100644 --- a/preview/src/main.rs +++ b/preview/src/main.rs @@ -130,7 +130,7 @@ fn NavigationLayout() -> Element { rsx! { document::Link { rel: "stylesheet", href: asset!("/assets/main.css") } - document::Link { rel: "stylesheet", href: asset!("/assets/theme.css") } + document::Link { rel: "stylesheet", href: asset!("/assets/dx-components-theme.css") } document::Link { rel: "stylesheet", href: asset!("/assets/hero.css") } Navbar {} Outlet:: {} @@ -555,7 +555,7 @@ fn ComponentCode(rs_highlighted: HighlightedCode, css_highlighted: HighlightedCo TabList { TabTrigger { value: "main.rs", index: 0usize, "main.rs" } TabTrigger { value: "style.css", index: 1usize, "style.css" } - TabTrigger { value: "theme.css", index: 2usize, "theme.css" } + TabTrigger { value: "dx-components-theme.css", index: 2usize, "dx-components-theme.css" } } div { width: "100%", @@ -582,7 +582,7 @@ fn ComponentCode(rs_highlighted: HighlightedCode, css_highlighted: HighlightedCo } TabContent { index: 2usize, - value: "theme.css", + value: "dx-components-theme.css", width: "100%", position: "relative", CodeBlock { source: THEME_CSS, collapsed: collapsed() } @@ -703,7 +703,7 @@ fn ComponentHighlight(demo: ComponentDemoData) -> Element { h2 { "Installation" } ol { class: "component-installation-list", li { - "If you haven't already, add the theme.css file to your project and import it in the root of your app." + "If you haven't already, add the dx-components-theme.css file to your project and import it in the root of your app." } li { "Add the style.css file to your project." } li { "Create a component based on the main.rs below." } @@ -874,10 +874,10 @@ fn GotoIcon(mut props: LinkProps) -> Element { const THEME_CSS: HighlightedCode = HighlightedCode { light: include_str!(concat!( env!("OUT_DIR"), - "/theme.css.base16-ocean.light.html" + "/dx-components-theme.css.base16-ocean.light.html" )), dark: include_str!(concat!( env!("OUT_DIR"), - "/theme.css.base16-ocean.dark.html" + "/dx-components-theme.css.base16-ocean.dark.html" )), }; From 99633351318d48b5f3a0ec4f35aa3c5766e7c93d Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Thu, 18 Sep 2025 12:49:19 -0500 Subject: [PATCH 09/13] fix globalAssets field --- preview/src/components/accordion/component.json | 2 +- preview/src/components/alert_dialog/component.json | 2 +- preview/src/components/aspect_ratio/component.json | 2 +- preview/src/components/avatar/component.json | 2 +- preview/src/components/button/component.json | 2 +- preview/src/components/calendar/component.json | 2 +- preview/src/components/checkbox/component.json | 2 +- preview/src/components/collapsible/component.json | 2 +- preview/src/components/context_menu/component.json | 2 +- preview/src/components/dialog/component.json | 2 +- preview/src/components/dropdown_menu/component.json | 2 +- preview/src/components/form/component.json | 2 +- preview/src/components/hover_card/component.json | 2 +- preview/src/components/input/component.json | 2 +- preview/src/components/label/component.json | 2 +- preview/src/components/menubar/component.json | 2 +- preview/src/components/popover/component.json | 2 +- preview/src/components/progress/component.json | 2 +- preview/src/components/radio_group/component.json | 2 +- preview/src/components/scroll_area/component.json | 2 +- preview/src/components/select/component.json | 2 +- preview/src/components/separator/component.json | 2 +- preview/src/components/slider/component.json | 2 +- preview/src/components/switch/component.json | 2 +- preview/src/components/tabs/component.json | 2 +- preview/src/components/toast/component.json | 2 +- preview/src/components/toggle/component.json | 2 +- preview/src/components/toggle_group/component.json | 2 +- preview/src/components/toolbar/component.json | 2 +- preview/src/components/tooltip/component.json | 2 +- 30 files changed, 30 insertions(+), 30 deletions(-) diff --git a/preview/src/components/accordion/component.json b/preview/src/components/accordion/component.json index 839f5787..3f794e6a 100644 --- a/preview/src/components/accordion/component.json +++ b/preview/src/components/accordion/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/alert_dialog/component.json b/preview/src/components/alert_dialog/component.json index 501fe19b..d9270091 100644 --- a/preview/src/components/alert_dialog/component.json +++ b/preview/src/components/alert_dialog/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/aspect_ratio/component.json b/preview/src/components/aspect_ratio/component.json index 615e3bea..7792fdc7 100644 --- a/preview/src/components/aspect_ratio/component.json +++ b/preview/src/components/aspect_ratio/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/avatar/component.json b/preview/src/components/avatar/component.json index 41693101..fbdea025 100644 --- a/preview/src/components/avatar/component.json +++ b/preview/src/components/avatar/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/button/component.json b/preview/src/components/button/component.json index 5f081663..b6d9b240 100644 --- a/preview/src/components/button/component.json +++ b/preview/src/components/button/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/calendar/component.json b/preview/src/components/calendar/component.json index e114af10..474e030d 100644 --- a/preview/src/components/calendar/component.json +++ b/preview/src/components/calendar/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/checkbox/component.json b/preview/src/components/checkbox/component.json index f8909e02..94eb4e85 100644 --- a/preview/src/components/checkbox/component.json +++ b/preview/src/components/checkbox/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/collapsible/component.json b/preview/src/components/collapsible/component.json index b1ec572d..16db809d 100644 --- a/preview/src/components/collapsible/component.json +++ b/preview/src/components/collapsible/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/context_menu/component.json b/preview/src/components/context_menu/component.json index ad9452da..396f6ca9 100644 --- a/preview/src/components/context_menu/component.json +++ b/preview/src/components/context_menu/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/dialog/component.json b/preview/src/components/dialog/component.json index 4806b694..76bf0bb0 100644 --- a/preview/src/components/dialog/component.json +++ b/preview/src/components/dialog/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/dropdown_menu/component.json b/preview/src/components/dropdown_menu/component.json index 5fb6ea71..c55ac0c6 100644 --- a/preview/src/components/dropdown_menu/component.json +++ b/preview/src/components/dropdown_menu/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/form/component.json b/preview/src/components/form/component.json index 6045619d..7180e724 100644 --- a/preview/src/components/form/component.json +++ b/preview/src/components/form/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/hover_card/component.json b/preview/src/components/hover_card/component.json index 2b9ca4d6..993e079e 100644 --- a/preview/src/components/hover_card/component.json +++ b/preview/src/components/hover_card/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/input/component.json b/preview/src/components/input/component.json index 38d66c05..6be8f7ec 100644 --- a/preview/src/components/input/component.json +++ b/preview/src/components/input/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/label/component.json b/preview/src/components/label/component.json index fa577e0a..6541a661 100644 --- a/preview/src/components/label/component.json +++ b/preview/src/components/label/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/menubar/component.json b/preview/src/components/menubar/component.json index 414f24e4..4e68e7c2 100644 --- a/preview/src/components/menubar/component.json +++ b/preview/src/components/menubar/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/popover/component.json b/preview/src/components/popover/component.json index b60deacd..cdca6251 100644 --- a/preview/src/components/popover/component.json +++ b/preview/src/components/popover/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/progress/component.json b/preview/src/components/progress/component.json index 10c3ad80..dc631e7b 100644 --- a/preview/src/components/progress/component.json +++ b/preview/src/components/progress/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/radio_group/component.json b/preview/src/components/radio_group/component.json index 47c3e120..29f78c4a 100644 --- a/preview/src/components/radio_group/component.json +++ b/preview/src/components/radio_group/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/scroll_area/component.json b/preview/src/components/scroll_area/component.json index d3ee5a0b..3ddf5231 100644 --- a/preview/src/components/scroll_area/component.json +++ b/preview/src/components/scroll_area/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/select/component.json b/preview/src/components/select/component.json index 4055acac..5e1b49a3 100644 --- a/preview/src/components/select/component.json +++ b/preview/src/components/select/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/separator/component.json b/preview/src/components/separator/component.json index b98fbd1f..64505e33 100644 --- a/preview/src/components/separator/component.json +++ b/preview/src/components/separator/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/slider/component.json b/preview/src/components/slider/component.json index 84ba9535..cc9493ea 100644 --- a/preview/src/components/slider/component.json +++ b/preview/src/components/slider/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/switch/component.json b/preview/src/components/switch/component.json index b38844e2..6a9229cf 100644 --- a/preview/src/components/switch/component.json +++ b/preview/src/components/switch/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/tabs/component.json b/preview/src/components/tabs/component.json index 0d03bdbd..2676e568 100644 --- a/preview/src/components/tabs/component.json +++ b/preview/src/components/tabs/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toast/component.json b/preview/src/components/toast/component.json index 0631b94b..d35884bf 100644 --- a/preview/src/components/toast/component.json +++ b/preview/src/components/toast/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toggle/component.json b/preview/src/components/toggle/component.json index 813fe3bc..df42dffc 100644 --- a/preview/src/components/toggle/component.json +++ b/preview/src/components/toggle/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toggle_group/component.json b/preview/src/components/toggle_group/component.json index a8938f89..99d12e05 100644 --- a/preview/src/components/toggle_group/component.json +++ b/preview/src/components/toggle_group/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/toolbar/component.json b/preview/src/components/toolbar/component.json index 49fb962c..beee94a9 100644 --- a/preview/src/components/toolbar/component.json +++ b/preview/src/components/toolbar/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } diff --git a/preview/src/components/tooltip/component.json b/preview/src/components/tooltip/component.json index f2fcb00c..931b65a6 100644 --- a/preview/src/components/tooltip/component.json +++ b/preview/src/components/tooltip/component.json @@ -9,5 +9,5 @@ "git": "https://github.com/DioxusLabs/components" } ], - "global-assets": ["../../../assets/dx-components-theme.css"] + "globalAssets": ["../../../assets/dx-components-theme.css"] } From 7e5d38eb58dc26e487213473d43a7e97b38fcb65 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Thu, 18 Sep 2025 13:40:44 -0500 Subject: [PATCH 10/13] undo formatting changes in primitives --- primitives/src/accordion.rs | 10 +++- primitives/src/alert_dialog.rs | 25 ++++----- primitives/src/aspect_ratio.rs | 10 +++- primitives/src/avatar.rs | 13 ++--- primitives/src/calendar.rs | 42 ++++++++++----- primitives/src/checkbox.rs | 6 +-- primitives/src/collapsible.rs | 4 +- primitives/src/dialog.rs | 17 ++++-- primitives/src/dropdown_menu.rs | 2 +- primitives/src/hover_card.rs | 4 +- primitives/src/label.rs | 7 ++- primitives/src/menubar.rs | 10 ++-- primitives/src/navbar.rs | 11 ++-- primitives/src/popover.rs | 13 +++-- primitives/src/progress.rs | 2 +- primitives/src/radio_group.rs | 2 +- primitives/src/select/components/group.rs | 2 +- primitives/src/select/components/trigger.rs | 2 +- primitives/src/select/components/value.rs | 6 ++- primitives/src/slider.rs | 57 +++++++++++--------- primitives/src/switch.rs | 6 +-- primitives/src/tabs.rs | 9 +++- primitives/src/toast.rs | 59 +++++++++++---------- primitives/src/toggle.rs | 2 +- primitives/src/toolbar.rs | 2 +- 25 files changed, 192 insertions(+), 131 deletions(-) diff --git a/primitives/src/accordion.rs b/primitives/src/accordion.rs index 8832c68f..20f90c6a 100644 --- a/primitives/src/accordion.rs +++ b/primitives/src/accordion.rs @@ -442,7 +442,13 @@ pub fn AccordionContent(props: AccordionContentProps) -> Element { rsx! { if render_element() { - div { id, "data-open": open, ..props.attributes, {props.children} } + div { + id: id, + "data-open": open, + ..props.attributes, + + {props.children} + } } } } @@ -513,7 +519,7 @@ pub fn AccordionTrigger(props: AccordionTriggerProps) -> Element { id: props.id, disabled: is_disabled, tabindex: "0", - r#type: "button", + type: "button", aria_controls: item.aria_id(), aria_expanded: ctx.is_open(item.id), diff --git a/primitives/src/alert_dialog.rs b/primitives/src/alert_dialog.rs index 8287895a..0093a265 100644 --- a/primitives/src/alert_dialog.rs +++ b/primitives/src/alert_dialog.rs @@ -117,7 +117,10 @@ pub fn AlertDialogRoot(props: AlertDialogRootProps) -> Element { let render_element = use_animated_open(id, open); rsx! { - document::Script { src: FOCUS_TRAP_JS, defer: true } + document::Script { + src: FOCUS_TRAP_JS, + defer: true + } if render_element() { div { id, @@ -277,12 +280,7 @@ pub struct AlertDialogTitleProps { pub fn AlertDialogTitle(props: AlertDialogTitleProps) -> Element { let ctx: AlertDialogCtx = use_context(); rsx! { - h2 { - id: ctx.labelledby.clone(), - class: "alert-dialog-title", - ..props.attributes, - {props.children} - } + h2 { id: ctx.labelledby.clone(), class: "alert-dialog-title", ..props.attributes, {props.children} } } } @@ -339,12 +337,7 @@ pub struct AlertDialogDescriptionProps { pub fn AlertDialogDescription(props: AlertDialogDescriptionProps) -> Element { let ctx: AlertDialogCtx = use_context(); rsx! { - p { - id: ctx.describedby.clone(), - class: "alert-dialog-description", - ..props.attributes, - {props.children} - } + p { id: ctx.describedby.clone(), class: "alert-dialog-description", ..props.attributes, {props.children} } } } @@ -400,7 +393,7 @@ pub struct AlertDialogActionsProps { #[component] pub fn AlertDialogActions(props: AlertDialogActionsProps) -> Element { rsx! { - div { ..props.attributes,{props.children} } + div { ..props.attributes, {props.children} } } } @@ -471,7 +464,7 @@ pub fn AlertDialogAction(props: AlertDialogActionProps) -> Element { rsx! { button { tabindex: if open() { "0" } else { "-1" }, - r#type: "button", + type: "button", onclick: on_click, ..props.attributes, {props.children} @@ -547,7 +540,7 @@ pub fn AlertDialogCancel(props: AlertDialogCancelProps) -> Element { rsx! { button { tabindex: if open() { "0" } else { "-1" }, - r#type: "button", + type: "button", onclick: on_click, ..props.attributes, {props.children} diff --git a/primitives/src/aspect_ratio.rs b/primitives/src/aspect_ratio.rs index 89df6de3..477e1d78 100644 --- a/primitives/src/aspect_ratio.rs +++ b/primitives/src/aspect_ratio.rs @@ -41,8 +41,14 @@ pub fn AspectRatio(props: AspectRatioProps) -> Element { let ratio = 100.0 / (props.ratio); rsx! { - div { style: "position: relative; width: 100%; padding-bottom: {ratio}%;", - div { style: "position: absolute; inset: 0;", ..props.attributes, {props.children} } + div { + style: "position: relative; width: 100%; padding-bottom: {ratio}%;", + div { + style: "position: absolute; inset: 0;", + ..props.attributes, + + {props.children} + } } } } diff --git a/primitives/src/avatar.rs b/primitives/src/avatar.rs index d64fc1aa..362b738e 100644 --- a/primitives/src/avatar.rs +++ b/primitives/src/avatar.rs @@ -124,7 +124,8 @@ pub fn Avatar(props: AvatarProps) -> Element { // Default fallback if no AvatarFallback is provided and fallback should be shown if show_fallback() && !has_fallback_child() && has_image_child() { - span { style: "display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;", + span { + style: "display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;", "??" } } @@ -182,13 +183,11 @@ pub fn AvatarFallback(props: AvatarFallbackProps) -> Element { use_memo(move || matches!((ctx.state)(), AvatarState::Error | AvatarState::Empty)); if !show_fallback() { - return rsx!( - {} - ); + return rsx!({}); } rsx! { - span { ..props.attributes,{props.children} } + span { ..props.attributes, {props.children} } } } @@ -264,9 +263,7 @@ pub fn AvatarImage(props: AvatarImageProps) -> Element { let show_image = (ctx.state)() != AvatarState::Error; if !show_image { - return rsx!( - {} - ); + return rsx!({}); } rsx! { diff --git a/primitives/src/calendar.rs b/primitives/src/calendar.rs index 0953bc8e..ca73005a 100644 --- a/primitives/src/calendar.rs +++ b/primitives/src/calendar.rs @@ -347,8 +347,8 @@ pub fn Calendar(props: CalendarProps) -> Element { if ctx.min_date <= date && date <= ctx.max_date { ctx.focused_date.set(new_date); } - } - None => ctx.focused_date.set(None), + }, + None => ctx.focused_date.set(None) } }; match e.key() { @@ -523,7 +523,9 @@ pub struct CalendarNavigationProps { #[component] pub fn CalendarNavigation(props: CalendarNavigationProps) -> Element { rsx! { - div { class: "calendar-navigation", ..props.attributes, {props.children} } + div { class: "calendar-navigation", ..props.attributes, + {props.children} + } } } @@ -609,7 +611,7 @@ pub fn CalendarPreviousMonthButton(props: CalendarPreviousMonthButtonProps) -> E button { class: "calendar-nav-prev", aria_label: "Previous month", - r#type: "button", + type: "button", onclick: handle_prev_month, disabled: (ctx.disabled)() || button_disabled(), ..props.attributes, @@ -704,7 +706,7 @@ pub fn CalendarNextMonthButton(props: CalendarNextMonthButtonProps) -> Element { button { class: "calendar-nav-next", aria_label: "Next month", - r#type: "button", + type: "button", onclick: handle_next_month, disabled: (ctx.disabled)() || button_disabled(), ..props.attributes, @@ -778,7 +780,12 @@ pub fn CalendarMonthTitle(props: CalendarMonthTitleProps) -> Element { }); rsx! { - div { class: "calendar-month-title", ..props.attributes, {month_year} } + div { + class: "calendar-month-title", + ..props.attributes, + + {month_year} + } } } @@ -925,11 +932,12 @@ pub fn CalendarGrid(props: CalendarGridProps) -> Element { // Day headers thead { aria_hidden: "true", - tr { class: "calendar-grid-header", + tr { + class: "calendar-grid-header", // Day name headers - for (weekday , label) in weekday_headers() { + for (weekday, label) in weekday_headers() { th { - key: "{weekday:?}", // Add key for efficient diffing + key: "{weekday:?}", // Add key for efficient diffing class: "calendar-grid-day-header", {label} } @@ -941,9 +949,13 @@ pub fn CalendarGrid(props: CalendarGridProps) -> Element { tbody { class: "calendar-grid-body", // Display all days in a grid for row in &*days_grid.read() { - tr { role: "row", class: "calendar-grid-week", + tr { + role: "row", + class: "calendar-grid-week", for date in row.iter().copied() { - td { {props.render_day.call(date)} } + td { + {props.render_day.call(date)} + } } } } @@ -1270,8 +1282,12 @@ fn CalendarDay(props: CalendarDayProps) -> Element { rsx! { button { class: "calendar-grid-cell", - r#type: "button", - tabindex: if date == focusable_date { "0" } else { "-1" }, + type: "button", + tabindex: if date == focusable_date { + "0" + } else { + "-1" + }, aria_label: aria_label(&props.date), "data-today": is_today, "data-selected": is_selected(), diff --git a/primitives/src/checkbox.rs b/primitives/src/checkbox.rs index 22e521bb..ebadde75 100644 --- a/primitives/src/checkbox.rs +++ b/primitives/src/checkbox.rs @@ -137,7 +137,7 @@ pub fn Checkbox(props: CheckboxProps) -> Element { rsx! { button { - r#type: "button", + type: "button", value: props.value, role: "checkbox", aria_checked: checked().to_aria_checked(), @@ -162,7 +162,7 @@ pub fn Checkbox(props: CheckboxProps) -> Element { {props.children} } BubbleInput { - checked, + checked: checked, default_checked: props.default_checked, required: props.required, @@ -266,7 +266,7 @@ fn BubbleInput( rsx! { input { id, - r#type: "checkbox", + type: "checkbox", aria_hidden: "true", tabindex: "-1", position: "absolute", diff --git a/primitives/src/collapsible.rs b/primitives/src/collapsible.rs index dc92e264..71022657 100644 --- a/primitives/src/collapsible.rs +++ b/primitives/src/collapsible.rs @@ -165,7 +165,7 @@ pub fn CollapsibleContent(props: CollapsibleContentProps) -> Element { rsx! { div { - id, + id: id, "data-open": open, "data-disabled": ctx.disabled, ..props.attributes, @@ -230,7 +230,7 @@ pub fn CollapsibleTrigger(props: CollapsibleTriggerProps) -> Element { rsx! { button { - r#type: "button", + type: "button", "data-open": open, "data-disabled": ctx.disabled, disabled: ctx.disabled, diff --git a/primitives/src/dialog.rs b/primitives/src/dialog.rs index 35ca4d6c..e33b01d3 100644 --- a/primitives/src/dialog.rs +++ b/primitives/src/dialog.rs @@ -134,7 +134,10 @@ pub fn DialogRoot(props: DialogRootProps) -> Element { let render = use_animated_open(id, open); rsx! { - document::Script { src: FOCUS_TRAP_JS, defer: true } + document::Script { + src: FOCUS_TRAP_JS, + defer: true + } if render() { div { id, @@ -323,7 +326,11 @@ pub fn DialogTitle(props: DialogTitleProps) -> Element { let id = use_id_or(ctx.dialog_labelledby, props.id); rsx! { - h2 { id, ..props.attributes, {props.children} } + h2 { + id: id, + ..props.attributes, + {props.children} + } } } @@ -387,6 +394,10 @@ pub fn DialogDescription(props: DialogDescriptionProps) -> Element { let id = use_id_or(ctx.dialog_describedby, props.id); rsx! { - p { id, ..props.attributes, {props.children} } + p { + id: id, + ..props.attributes, + {props.children} + } } } diff --git a/primitives/src/dropdown_menu.rs b/primitives/src/dropdown_menu.rs index a3052ee5..4457d082 100644 --- a/primitives/src/dropdown_menu.rs +++ b/primitives/src/dropdown_menu.rs @@ -219,7 +219,7 @@ pub fn DropdownMenuTrigger(props: DropdownMenuTriggerProps) -> Element { rsx! { button { id: "{ctx.trigger_id}", - r#type: "button", + type: "button", "data-state": if (ctx.open)() { "open" } else { "closed" }, "data-disabled": (ctx.disabled)(), disabled: (ctx.disabled)(), diff --git a/primitives/src/hover_card.rs b/primitives/src/hover_card.rs index 4fbd7bed..5d210e9f 100644 --- a/primitives/src/hover_card.rs +++ b/primitives/src/hover_card.rs @@ -284,9 +284,7 @@ pub fn HoverCardContent(props: HoverCardContentProps) -> Element { // Only render if the hover card is open or force_mount is true let is_open = (ctx.open)(); if !is_open && !props.force_mount { - return rsx!( - {} - ); + return rsx!({}); } // Use use_id_or to handle the ID diff --git a/primitives/src/label.rs b/primitives/src/label.rs index 8818f281..ec6c1cea 100644 --- a/primitives/src/label.rs +++ b/primitives/src/label.rs @@ -43,6 +43,11 @@ pub struct LabelProps { pub fn Label(props: LabelProps) -> Element { // TODO: (?) the Radix primitive prevents selection on double click (but not intentional highlighting) rsx! { - label { r#for: props.html_for, ..props.attributes, {props.children} } + label { + for: props.html_for, + ..props.attributes, + + {props.children} + } } } diff --git a/primitives/src/menubar.rs b/primitives/src/menubar.rs index 7faf8550..93386e7e 100644 --- a/primitives/src/menubar.rs +++ b/primitives/src/menubar.rs @@ -289,12 +289,12 @@ pub fn MenubarMenu(props: MenubarMenuProps) -> Element { ctx.set_open_menu.call(Some(props.index.cloned())); } menu_ctx.focus_next(); - } + }, Key::ArrowUp if !disabled() => { if is_open() { menu_ctx.focus_prev(); } - } + }, Key::Home => ctx.focus.focus_first(), Key::End => ctx.focus.focus_last(), _ => return, @@ -415,7 +415,7 @@ pub fn MenubarTrigger(props: MenubarTriggerProps) -> Element { } }, role: "menuitem", - r#type: "button", + type: "button", tabindex: if is_focused() { "0" } else { "-1" }, ..props.attributes, {props.children} @@ -648,9 +648,7 @@ pub fn MenubarItem(props: MenubarItemProps) -> Element { onkeydown: { let value = props.value.clone(); move |event: Event| { - if event.key() == Key::Enter - || event.key() == Key::Character(" ".to_string()) - { + if event.key() == Key::Enter || event.key() == Key::Character(" ".to_string()) { if !disabled() { props.on_select.call(value.clone()); ctx.set_open_menu.call(None); diff --git a/primitives/src/navbar.rs b/primitives/src/navbar.rs index c3dd2183..0033b369 100644 --- a/primitives/src/navbar.rs +++ b/primitives/src/navbar.rs @@ -131,7 +131,10 @@ pub fn Navbar(props: NavbarProps) -> Element { .find_map(|attr| (attr.name == "aria-label").then(|| attr.value.clone())); rsx! { - div { role: "navigation", display: "content", aria_label, + div { + role: "navigation", + display: "content", + aria_label, div { role: "menubar", "data-disabled": (props.disabled)(), @@ -319,12 +322,12 @@ pub fn NavbarNav(props: NavbarNavProps) -> Element { ctx.set_open_nav.call(Some(props.index.cloned())); } nav_ctx.focus_next(); - } + }, Key::ArrowUp if !disabled() => { if is_open() { nav_ctx.focus_prev(); } - } + }, _ => return, } event.prevent_default(); @@ -438,7 +441,7 @@ pub fn NavbarTrigger(props: NavbarTriggerProps) -> Element { } }, role: "menuitem", - r#type: "button", + type: "button", tabindex: if is_focused() { "0" } else { "-1" }, ..props.attributes, {props.children} diff --git a/primitives/src/popover.rs b/primitives/src/popover.rs index bf8c56b5..a79e6d0d 100644 --- a/primitives/src/popover.rs +++ b/primitives/src/popover.rs @@ -129,7 +129,11 @@ pub fn PopoverRoot(props: PopoverRootProps) -> Element { }); rsx! { - div { "data-state": if open() { "open" } else { "closed" }, ..props.attributes, {props.children} } + div { + "data-state": if open() { "open" } else { "closed" }, + ..props.attributes, + {props.children} + } } } @@ -248,7 +252,10 @@ pub fn PopoverContent(props: PopoverContentProps) -> Element { }); rsx! { - document::Script { src: FOCUS_TRAP_JS, defer: true } + document::Script { + src: FOCUS_TRAP_JS, + defer: true + } if render() { div { id, @@ -346,7 +353,7 @@ pub fn PopoverTrigger(props: PopoverTriggerProps) -> Element { rsx! { button { id, - r#type: "button", + type: "button", onclick: move |e| { // Prevent the click event from propagating to the overlay. e.stop_propagation(); diff --git a/primitives/src/progress.rs b/primitives/src/progress.rs index adbff082..b71519c0 100644 --- a/primitives/src/progress.rs +++ b/primitives/src/progress.rs @@ -117,6 +117,6 @@ pub struct ProgressIndicatorProps { #[component] pub fn ProgressIndicator(props: ProgressIndicatorProps) -> Element { rsx! { - div { ..props.attributes,{props.children} } + div { ..props.attributes, {props.children} } } } diff --git a/primitives/src/radio_group.rs b/primitives/src/radio_group.rs index 587cd4ae..74e1fbde 100644 --- a/primitives/src/radio_group.rs +++ b/primitives/src/radio_group.rs @@ -294,7 +294,7 @@ pub fn RadioItem(props: RadioItemProps) -> Element { id: props.id, class: props.class, tabindex: tab_index, - r#type: "button", + type: "button", aria_checked: checked, "data-state": if checked() { "checked" } else { "unchecked" }, diff --git a/primitives/src/select/components/group.rs b/primitives/src/select/components/group.rs index 83589a36..4ce33f25 100644 --- a/primitives/src/select/components/group.rs +++ b/primitives/src/select/components/group.rs @@ -173,7 +173,7 @@ pub fn SelectGroupLabel(props: SelectGroupLabelProps) -> Element { let render = use_context::().render; rsx! { - if render() { + if render () { div { // Set the ID for the label id, diff --git a/primitives/src/select/components/trigger.rs b/primitives/src/select/components/trigger.rs index 9d97ab70..66e66db9 100644 --- a/primitives/src/select/components/trigger.rs +++ b/primitives/src/select/components/trigger.rs @@ -73,7 +73,7 @@ pub fn SelectTrigger(props: SelectTriggerProps) -> Element { button { // Standard HTML attributes disabled: (ctx.disabled)(), - r#type: "button", + type: "button", onclick: move |_| { open.toggle(); diff --git a/primitives/src/select/components/value.rs b/primitives/src/select/components/value.rs index c50e49bc..2fa55930 100644 --- a/primitives/src/select/components/value.rs +++ b/primitives/src/select/components/value.rs @@ -80,6 +80,10 @@ pub fn SelectValue(props: SelectValueProps) -> Element { rsx! { // Add placeholder option if needed - span { "data-placeholder": ctx.value.read().is_none(), ..props.attributes, {display_value} } + span { + "data-placeholder": ctx.value.read().is_none(), + ..props.attributes, + {display_value} + } } } diff --git a/primitives/src/slider.rs b/primitives/src/slider.rs index 080002bc..e99ff924 100644 --- a/primitives/src/slider.rs +++ b/primitives/src/slider.rs @@ -281,35 +281,37 @@ pub fn Slider(props: SliderProps) -> Element { evt.prevent_default(); evt.stop_propagation(); - if current_pointer_id.read().is_some() - - // Handle pointer interaction - - // Update the bounding rect of the slider in case it moved - - // Get the mouse position relative to the slider - - || evt.trigger_button() != Some(MouseButton::Primary) - { + if current_pointer_id.read().is_some() || evt.trigger_button() != Some(MouseButton::Primary) { return; } + current_pointer_id.set(Some(evt.data().pointer_id())); - POINTERS - .write() - .push(Pointer { - id: evt.data().pointer_id(), - position: evt.client_coordinates(), - last_position: None, - }); + POINTERS.write().push(Pointer { + id: evt.data().pointer_id(), + position: evt.client_coordinates(), + last_position: None, + }); + + // Handle pointer interaction spawn(async move { let Some(div_element) = div_element() else { return; }; + + // Update the bounding rect of the slider in case it moved if let Ok(r) = div_element.get_client_rect().await { rect.set(Some(r)); - let size = if props.horizontal { r.width() } else { r.height() }; + + let size = if props.horizontal { + r.width() + } else { + r.height() + }; + + // Get the mouse position relative to the slider let top_left = r.origin; let relative_pos = evt.client_coordinates() - top_left.cast_unit(); + let offset = if ctx.horizontal { relative_pos.x } else { @@ -320,6 +322,7 @@ pub fn Slider(props: SliderProps) -> Element { let stepped = (new / ctx.step).round() * ctx.step; ctx.set_value.call(SliderValue::Single(stepped)); } + dragging.set(true); }); }, @@ -564,7 +567,7 @@ pub fn SliderThumb(props: SliderThumbProps) -> Element { rsx! { button { - r#type: "button", + type: "button", role: "slider", aria_valuemin: ctx.min, aria_valuemax: ctx.max, @@ -602,16 +605,20 @@ pub fn SliderThumb(props: SliderThumbProps) -> Element { // Handle keyboard navigation let mut new_value = match key { - - // Clamp the new value to the range - - // Update the value - Key::ArrowUp | Key::ArrowRight => value() + step, - Key::ArrowDown | Key::ArrowLeft => value() - step, + Key::ArrowUp | Key::ArrowRight => { + value() + step + } + Key::ArrowDown | Key::ArrowLeft => { + value() - step + } _ => return, }; + + // Clamp the new value to the range new_value = new_value.clamp(ctx.min, ctx.max); let stepped_value = (new_value / ctx.step).round() * ctx.step; + + // Update the value ctx.set_value.call(SliderValue::Single(stepped_value)); }, ..props.attributes, diff --git a/primitives/src/switch.rs b/primitives/src/switch.rs index 001978fe..cbb89d17 100644 --- a/primitives/src/switch.rs +++ b/primitives/src/switch.rs @@ -78,7 +78,7 @@ pub fn Switch(props: SwitchProps) -> Element { rsx! { button { - r#type: "button", + type: "button", role: "switch", value: props.value, aria_checked: checked, @@ -106,7 +106,7 @@ pub fn Switch(props: SwitchProps) -> Element { // Hidden input for form submission input { - r#type: "checkbox", + type: "checkbox", aria_hidden: true, tabindex: -1, name: props.name, @@ -155,6 +155,6 @@ pub struct SwitchThumbProps { #[component] pub fn SwitchThumb(props: SwitchThumbProps) -> Element { rsx! { - span { ..props.attributes,{props.children} } + span { ..props.attributes, {props.children} } } } diff --git a/primitives/src/tabs.rs b/primitives/src/tabs.rs index a2f45a97..ca5d6d1e 100644 --- a/primitives/src/tabs.rs +++ b/primitives/src/tabs.rs @@ -194,7 +194,12 @@ pub struct TabListProps { #[component] pub fn TabList(props: TabListProps) -> Element { rsx! { - div { role: "tablist", ..props.attributes, {props.children} } + div { + role: "tablist", + ..props.attributes, + + {props.children} + } } } @@ -302,7 +307,7 @@ pub fn TabTrigger(props: TabTriggerProps) -> Element { id: props.id, class: props.class, tabindex: tab_index, - r#type: "button", + type: "button", aria_selected: selected, aria_controls: (ctx.tab_content_ids)().get((props.index)()).cloned(), diff --git a/primitives/src/toast.rs b/primitives/src/toast.rs index 454460ba..7d8c4f12 100644 --- a/primitives/src/toast.rs +++ b/primitives/src/toast.rs @@ -246,33 +246,32 @@ pub fn ToastProvider(props: ToastProviderProps) -> Element { region_ref.set(Some(e.data())); }, - ol { class: "toast-list", + ol { + class: "toast-list", // Render all toasts - for (index , toast) in toast_list.read().iter().rev().enumerate() { - li { key: "{toast.id}", class: "toast-item", + for (index, toast) in toast_list.read().iter().rev().enumerate() { + li { + key: "{toast.id}", + class: "toast-item", { - props + props.render_toast.call(ToastProps::builder().id(toast.id) + .index(index) + .title(toast.title.clone()) + .description(toast.description.clone()) + .toast_type(toast.toast_type) + .permanent(toast.permanent) + .on_close({ + let toast_id = toast.id; + let remove_toast = ctx.remove_toast; + move |_| { + remove_toast.call(toast_id); + } + }) // Only pass duration to non-permanent toasts - .render_toast - .call( - ToastProps::builder() - .id(toast.id) - .index(index) - .title(toast.title.clone()) - .description(toast.description.clone()) - .toast_type(toast.toast_type) - .permanent(toast.permanent) - .on_close({ - let toast_id = toast.id; - let remove_toast = ctx.remove_toast; - move |_| { - remove_toast.call(toast_id); - } - }) - .duration(if toast.permanent { None } else { toast.duration }) - .attributes(vec![]) - .build(), - ) + .duration(if toast.permanent { None } else { toast.duration }) + .attributes(vec![]) + .build() + ) } } } @@ -415,9 +414,15 @@ pub fn Toast(props: ToastProps) -> Element { style: "--toast-index: {props.index}", ..props.attributes, - div { class: "toast-content", role: "alert", aria_atomic: "true", + div { class: "toast-content", + role: "alert", + aria_atomic: "true", - div { id: label_id, class: "toast-title", {props.title.clone()} } + div { + id: label_id, + class: "toast-title", + {props.title.clone()} + } if let Some(description) = &props.description { div { @@ -431,7 +436,7 @@ pub fn Toast(props: ToastProps) -> Element { button { class: "toast-close", aria_label: "close", - r#type: "button", + type: "button", onclick: move |e| { // Focus the region again after closing ctx.focus_region.call(()); diff --git a/primitives/src/toggle.rs b/primitives/src/toggle.rs index 47bfc654..7819737a 100644 --- a/primitives/src/toggle.rs +++ b/primitives/src/toggle.rs @@ -79,7 +79,7 @@ pub fn Toggle(props: ToggleProps) -> Element { onfocus: props.onfocus, onkeydown: props.onkeydown, - r#type: "button", + type: "button", disabled: props.disabled, aria_pressed: pressed, "data-state": if pressed() { "on" } else { "off" }, diff --git a/primitives/src/toolbar.rs b/primitives/src/toolbar.rs index e7d42675..3066454f 100644 --- a/primitives/src/toolbar.rs +++ b/primitives/src/toolbar.rs @@ -193,7 +193,7 @@ pub fn ToolbarButton(props: ToolbarButtonProps) -> Element { rsx! { button { - r#type: "button", + type: "button", tabindex: "0", disabled: (ctx.disabled)() || (props.disabled)(), "data-disabled": (ctx.disabled)() || (props.disabled)(), From 7d66acbdbfff08f96c9d5a43da1d759e2b6a5153 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Thu, 18 Sep 2025 13:43:02 -0500 Subject: [PATCH 11/13] remove dioxus-component-manifest from the workspace manifest --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 39c255f0..114e1fea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] resolver = "3" -members = ["primitives", "preview", "dioxus-component-manifest"] +members = ["primitives", "preview"] [workspace.dependencies] dioxus-primitives = { path = "primitives" } From 349e2159b351ad1f308dff6be9c1c5ea60efb272 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Thu, 18 Sep 2025 13:44:50 -0500 Subject: [PATCH 12/13] patch dioxus to use the git version --- Cargo.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 114e1fea..a69e6ff5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ dioxus = "^0.7.0-rc.0" tracing = { version = "0.1", features = ["std"] } [patch.crates-io] -dioxus = { path = "../dioxus/packages/dioxus" } -dioxus-core = { path = "../dioxus/packages/core" } -dioxus-signals = { path = "../dioxus/packages/signals" } -generational-box = { path = "../dioxus/packages/generational-box" } +dioxus = { git = "https://github.com/DioxusLabs/dioxus" } +dioxus-core = { git = "https://github.com/DioxusLabs/dioxus" } +dioxus-signals = { git = "https://github.com/DioxusLabs/dioxus" } +generational-box = { git = "https://github.com/DioxusLabs/dioxus" } From 0b514eb18ad7b767f99a6df2e5cc093a4099e00f Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Thu, 18 Sep 2025 16:40:27 -0500 Subject: [PATCH 13/13] fix clippy --- Cargo.lock | 157 +++++++++------------ complaints.md | 28 ++-- preview/src/components/tabs/component.rs | 10 +- primitives/src/accordion.rs | 32 ++--- primitives/src/alert_dialog.rs | 6 +- primitives/src/calendar.rs | 12 +- primitives/src/checkbox.rs | 16 +-- primitives/src/collapsible.rs | 12 +- primitives/src/context_menu.rs | 22 +-- primitives/src/dialog.rs | 16 +-- primitives/src/dropdown_menu.rs | 18 +-- primitives/src/focus.rs | 4 +- primitives/src/hover_card.rs | 10 +- primitives/src/label.rs | 2 +- primitives/src/lib.rs | 4 +- primitives/src/menubar.rs | 22 +-- primitives/src/navbar.rs | 22 +-- primitives/src/popover.rs | 10 +- primitives/src/progress.rs | 6 +- primitives/src/radio_group.rs | 26 ++-- primitives/src/scroll_area.rs | 6 +- primitives/src/select/components/group.rs | 6 +- primitives/src/select/components/list.rs | 2 +- primitives/src/select/components/option.rs | 10 +- primitives/src/select/components/select.rs | 18 +-- primitives/src/select/context.rs | 10 +- primitives/src/slider.rs | 12 +- primitives/src/switch.rs | 14 +- primitives/src/tabs.rs | 26 ++-- primitives/src/toast.rs | 8 +- primitives/src/toggle.rs | 4 +- primitives/src/toggle_group.rs | 24 ++-- primitives/src/toolbar.rs | 14 +- primitives/src/tooltip.rs | 8 +- 34 files changed, 285 insertions(+), 312 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f57f2a9e..f7784977 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1080,6 +1080,7 @@ dependencies = [ [[package]] name = "const-serialize" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "const-serialize-macro", "serde", @@ -1088,6 +1089,7 @@ dependencies = [ [[package]] name = "const-serialize-macro" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "proc-macro2", "quote", @@ -1498,19 +1500,20 @@ dependencies = [ [[package]] name = "dioxus" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-asset-resolver", "dioxus-cli-config", - "dioxus-config-macro 0.7.0-rc.0", + "dioxus-config-macro 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-config-macros", "dioxus-core", - "dioxus-core-macro 0.7.0-rc.0", + "dioxus-core-macro 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-desktop", "dioxus-devtools", "dioxus-document", "dioxus-fullstack", "dioxus-history", - "dioxus-hooks 0.7.0-rc.0", + "dioxus-hooks 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-html", "dioxus-liveview", "dioxus-logger", @@ -1531,6 +1534,7 @@ dependencies = [ [[package]] name = "dioxus-asset-resolver" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-cli-config", "http", @@ -1551,22 +1555,16 @@ dependencies = [ [[package]] name = "dioxus-cli-config" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "wasm-bindgen", ] -[[package]] -name = "dioxus-component-manifest" -version = "0.1.0" -dependencies = [ - "schemars", - "serde", - "serde_json", -] - [[package]] name = "dioxus-config-macro" version = "0.7.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0711887c38dcebd391bfa5a0759c79ffcc5b0c21ee120cf3d99c42346eb626d" dependencies = [ "proc-macro2", "quote", @@ -1575,8 +1573,7 @@ dependencies = [ [[package]] name = "dioxus-config-macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0711887c38dcebd391bfa5a0759c79ffcc5b0c21ee120cf3d99c42346eb626d" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "proc-macro2", "quote", @@ -1585,10 +1582,12 @@ dependencies = [ [[package]] name = "dioxus-config-macros" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" [[package]] name = "dioxus-core" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "const_format", "dioxus-core-types", @@ -1609,9 +1608,11 @@ dependencies = [ [[package]] name = "dioxus-core-macro" version = "0.7.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9280f81c8d58863b3077f1b7ca097e2f2b28d30a5aa02a656fbf72b0aee1bd9f" dependencies = [ "convert_case 0.8.0", - "dioxus-rsx 0.7.0-rc.0", + "dioxus-rsx 0.7.0-rc.0 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2", "quote", "syn 2.0.106", @@ -1620,11 +1621,10 @@ dependencies = [ [[package]] name = "dioxus-core-macro" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9280f81c8d58863b3077f1b7ca097e2f2b28d30a5aa02a656fbf72b0aee1bd9f" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "convert_case 0.8.0", - "dioxus-rsx 0.7.0-rc.0 (registry+https://github.com/rust-lang/crates.io-index)", + "dioxus-rsx 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "proc-macro2", "quote", "syn 2.0.106", @@ -1633,10 +1633,12 @@ dependencies = [ [[package]] name = "dioxus-core-types" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" [[package]] name = "dioxus-desktop" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "async-trait", "base64", @@ -1648,7 +1650,7 @@ dependencies = [ "dioxus-devtools", "dioxus-document", "dioxus-history", - "dioxus-hooks 0.7.0-rc.0", + "dioxus-hooks 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-html", "dioxus-interpreter-js", "dioxus-signals", @@ -1689,6 +1691,7 @@ dependencies = [ [[package]] name = "dioxus-devtools" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-cli-config", "dioxus-core", @@ -1706,6 +1709,7 @@ dependencies = [ [[package]] name = "dioxus-devtools-types" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", "serde", @@ -1715,9 +1719,10 @@ dependencies = [ [[package]] name = "dioxus-document" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", - "dioxus-core-macro 0.7.0-rc.0", + "dioxus-core-macro 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-core-types", "dioxus-html", "futures-channel", @@ -1732,6 +1737,7 @@ dependencies = [ [[package]] name = "dioxus-fullstack" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "base64", "bytes", @@ -1759,12 +1765,13 @@ dependencies = [ [[package]] name = "dioxus-fullstack-hooks" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", "dioxus-document", "dioxus-fullstack-protocol", "dioxus-history", - "dioxus-hooks 0.7.0-rc.0", + "dioxus-hooks 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-signals", "futures-channel", "serde", @@ -1773,6 +1780,7 @@ dependencies = [ [[package]] name = "dioxus-fullstack-protocol" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "base64", "ciborium", @@ -1784,6 +1792,7 @@ dependencies = [ [[package]] name = "dioxus-history" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", "tracing", @@ -1792,6 +1801,8 @@ dependencies = [ [[package]] name = "dioxus-hooks" version = "0.7.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab776b9a156765cc7dd7876891c98b9ab06b1f995d33ff169b06ef4f23cfd437" dependencies = [ "dioxus-core", "dioxus-signals", @@ -1807,8 +1818,7 @@ dependencies = [ [[package]] name = "dioxus-hooks" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab776b9a156765cc7dd7876891c98b9ab06b1f995d33ff169b06ef4f23cfd437" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", "dioxus-signals", @@ -1824,12 +1834,13 @@ dependencies = [ [[package]] name = "dioxus-html" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "async-trait", "dioxus-core", - "dioxus-core-macro 0.7.0-rc.0", + "dioxus-core-macro 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-core-types", - "dioxus-hooks 0.7.0-rc.0", + "dioxus-hooks 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-html-internal-macro", "enumset", "euclid", @@ -1847,6 +1858,7 @@ dependencies = [ [[package]] name = "dioxus-html-internal-macro" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "convert_case 0.8.0", "proc-macro2", @@ -1869,6 +1881,7 @@ dependencies = [ [[package]] name = "dioxus-interpreter-js" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", "dioxus-core-types", @@ -1887,6 +1900,7 @@ dependencies = [ [[package]] name = "dioxus-isrg" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "chrono", "http", @@ -1914,6 +1928,7 @@ dependencies = [ [[package]] name = "dioxus-liveview" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "axum", "dioxus-cli-config", @@ -1940,6 +1955,7 @@ dependencies = [ [[package]] name = "dioxus-logger" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-cli-config", "tracing", @@ -1950,6 +1966,7 @@ dependencies = [ [[package]] name = "dioxus-native" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "anyrender", "anyrender_vello", @@ -1978,6 +1995,7 @@ dependencies = [ [[package]] name = "dioxus-native-dom" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "blitz-dom", "blitz-traits", @@ -2003,13 +2021,14 @@ dependencies = [ [[package]] name = "dioxus-router" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-cli-config", "dioxus-core", - "dioxus-core-macro 0.7.0-rc.0", + "dioxus-core-macro 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-fullstack-hooks", "dioxus-history", - "dioxus-hooks 0.7.0-rc.0", + "dioxus-hooks 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-html", "dioxus-router-macro", "dioxus-signals", @@ -2022,6 +2041,7 @@ dependencies = [ [[package]] name = "dioxus-router-macro" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "base16", "digest", @@ -2035,6 +2055,8 @@ dependencies = [ [[package]] name = "dioxus-rsx" version = "0.7.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee08e1302f384a54d97b762eddb57cf3b7335b08b176e136c1d9631b5c71ff18" dependencies = [ "proc-macro2", "proc-macro2-diagnostics", @@ -2045,8 +2067,7 @@ dependencies = [ [[package]] name = "dioxus-rsx" version = "0.7.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee08e1302f384a54d97b762eddb57cf3b7335b08b176e136c1d9631b5c71ff18" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "proc-macro2", "proc-macro2-diagnostics", @@ -2057,6 +2078,7 @@ dependencies = [ [[package]] name = "dioxus-server" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "async-trait", "axum", @@ -2066,7 +2088,7 @@ dependencies = [ "dashmap", "dioxus-cli-config", "dioxus-core", - "dioxus-core-macro 0.7.0-rc.0", + "dioxus-core-macro 0.7.0-rc.0 (git+https://github.com/DioxusLabs/dioxus)", "dioxus-devtools", "dioxus-document", "dioxus-fullstack-hooks", @@ -2105,6 +2127,7 @@ dependencies = [ [[package]] name = "dioxus-signals" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", "futures-channel", @@ -2119,6 +2142,7 @@ dependencies = [ [[package]] name = "dioxus-ssr" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "askama_escape", "dioxus-core", @@ -2129,6 +2153,7 @@ dependencies = [ [[package]] name = "dioxus-stores" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dioxus-core", "dioxus-signals", @@ -2138,6 +2163,7 @@ dependencies = [ [[package]] name = "dioxus-stores-macro" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "convert_case 0.8.0", "proc-macro2", @@ -2159,6 +2185,7 @@ dependencies = [ [[package]] name = "dioxus-web" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "async-trait", "dioxus-cli-config", @@ -2191,6 +2218,7 @@ dependencies = [ [[package]] name = "dioxus_server_macro" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "proc-macro2", "quote", @@ -2322,12 +2350,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - [[package]] name = "either" version = "1.15.0" @@ -2878,6 +2900,7 @@ dependencies = [ [[package]] name = "generational-box" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "parking_lot", "tracing", @@ -3954,6 +3977,7 @@ checksum = "e49596223b9d9d4947a14a25c142a6e7d8ab3f27eb3ade269d238bb8b5c267e2" [[package]] name = "lazy-js-bundle" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" [[package]] name = "lazy_static" @@ -4148,6 +4172,7 @@ dependencies = [ [[package]] name = "manganis" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "const-serialize", "manganis-core", @@ -4157,6 +4182,7 @@ dependencies = [ [[package]] name = "manganis-core" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "const-serialize", "dioxus-cli-config", @@ -4167,6 +4193,7 @@ dependencies = [ [[package]] name = "manganis-macro" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "dunce", "macro-string", @@ -5713,26 +5740,6 @@ dependencies = [ "thiserror 2.0.16", ] -[[package]] -name = "ref-cast" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "regex-automata" version = "0.4.10" @@ -5978,31 +5985,6 @@ dependencies = [ "windows-sys 0.61.0", ] -[[package]] -name = "schemars" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" -dependencies = [ - "dyn-clone", - "ref-cast", - "schemars_derive", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.106", -] - [[package]] name = "scoped-tls" version = "1.0.1" @@ -6142,17 +6124,6 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - [[package]] name = "serde_json" version = "1.0.143" @@ -6796,6 +6767,7 @@ dependencies = [ [[package]] name = "subsecond" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "js-sys", "libc", @@ -6813,6 +6785,7 @@ dependencies = [ [[package]] name = "subsecond-types" version = "0.7.0-rc.0" +source = "git+https://github.com/DioxusLabs/dioxus#eef4db67b1164934eb29b7ac4d4bcd693bba25a5" dependencies = [ "serde", ] diff --git a/complaints.md b/complaints.md index b0d6944a..01d7bb6e 100644 --- a/complaints.md +++ b/complaints.md @@ -6,22 +6,22 @@ https://github.com/DioxusLabs/dioxus/issues/3919 ### Setting default of signal prop is verbose. https://github.com/DioxusLabs/dioxus/issues/3920 -It's verbose to set a `Signal` or `ReadOnlySignal`'s default value through props. +It's verbose to set a `Signal` or `ReadSignal`'s default value through props. ```rust #[derive(Props, Clone, PartialEq)] pub struct SomeProps { // This sets bool to be false - #[props(default)] - value: ReadOnlySignal, + #[props(default)] + value: ReadSignal, - // This is what I'd like, except it wants a ReadOnlySignal - #[props(default = true)] - value: ReadOnlySignal, + // This is what I'd like, except it wants a ReadSignal + #[props(default = true)] + value: ReadSignal, // Instead you have to do this: - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - value: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + value: ReadSignal, // Same for a regular signal: #[props(default = Signal::new(true))] @@ -31,13 +31,13 @@ pub struct SomeProps { ### No way to know a component or element's parent, siblings, or children. -Some stuff relies on knowing their surrounding elements for proper behavior. +Some stuff relies on knowing their surrounding elements for proper behavior. Take [radix-primitives' switch](https://github.com/radix-ui/primitives/blob/6e75e117977c9e6ffa939e6951a707f16ba0f95e/packages/react/switch/src/switch.tsx#L51) as an example. It detects when the switch is in a form and creates an input so that the switch's value bubbles with the form submit event. This is also an issue with keybind navigation - we can give components ids to internally track them through a parent context, but how do we know which order they are in for navigation? -At a minimum, I need the ordering index. This could be a special prop similar to `children`. +At a minimum, I need the ordering index. This could be a special prop similar to `children`. ### Need Portals Components should behave as if they are still a child of the parent of the "portaled" item. Same scope basically - context is still consumable as if it was a child. @@ -73,16 +73,16 @@ pub fn App() -> Element { ``` -### `From>` Is Not Implemented For `Option>` +### `From>` Is Not Implemented For `Option>` -### `From` Is Not Implemented For `Option>` +### `From` Is Not Implemented For `Option>` `T` can already be converted to `Option>` when provided thru props. -This however doesn't work for `Option>`. +This however doesn't work for `Option>`. ### Number Props Don't Type Infer Normally Rust would automatically determine that a number should be of type thru inference but for props it doesn't work when the prop is a signal. -`index: ReadOnlySignal,` fails +`index: ReadSignal,` fails `index: usize,` works ```rust diff --git a/preview/src/components/tabs/component.rs b/preview/src/components/tabs/component.rs index 6b983daf..93ade03a 100644 --- a/preview/src/components/tabs/component.rs +++ b/preview/src/components/tabs/component.rs @@ -9,7 +9,7 @@ pub struct TabsProps { pub class: String, /// The controlled value of the active tab. - pub value: ReadOnlySignal>, + pub value: ReadSignal>, /// The default active tab value when uncontrolled. #[props(default)] @@ -21,15 +21,15 @@ pub struct TabsProps { /// Whether the tabs are disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether the tabs are horizontal. #[props(default)] - pub horizontal: ReadOnlySignal, + pub horizontal: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// The variant of the tabs component. #[props(default)] diff --git a/primitives/src/accordion.rs b/primitives/src/accordion.rs index 20f90c6a..b07fbce4 100644 --- a/primitives/src/accordion.rs +++ b/primitives/src/accordion.rs @@ -19,16 +19,16 @@ struct AccordionContext { open_items: Signal>, /// Whether multiple items can be open at once. - allow_multiple_open: ReadOnlySignal, + allow_multiple_open: ReadSignal, /// Whether the entire accordion is disabled. - disabled: ReadOnlySignal, + disabled: ReadSignal, /// Whether all accordion items can be collapsed. - collapsible: ReadOnlySignal, + collapsible: ReadSignal, /// Whether the accordion is horizontal. - horizontal: ReadOnlySignal, + horizontal: ReadSignal, /// Number of current accordion items. num_items: Signal, @@ -39,10 +39,10 @@ struct AccordionContext { impl AccordionContext { pub fn new( - allow_multiple_open: ReadOnlySignal, - disabled: ReadOnlySignal, - collapsible: ReadOnlySignal, - horizontal: ReadOnlySignal, + allow_multiple_open: ReadSignal, + disabled: ReadSignal, + collapsible: ReadSignal, + horizontal: ReadSignal, ) -> Self { Self { next_id: Signal::new(0), @@ -170,23 +170,23 @@ pub struct AccordionProps { /// /// Defaults to false. #[props(default)] - pub allow_multiple_open: ReadOnlySignal, + pub allow_multiple_open: ReadSignal, /// Set whether the accordion is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether the accordion can be fully collapsed. /// /// Setting this to true will allow all accordion items to close. Defaults to true. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub collapsible: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub collapsible: ReadSignal, /// Whether the accordion is horizontal. /// /// Settings this to true will use left/right keybinds for navigation instead of up/down. Defaults to false. #[props(default)] - pub horizontal: ReadOnlySignal, + pub horizontal: ReadSignal, /// Attributes to extend the root element. #[props(extends = GlobalAttributes)] @@ -277,7 +277,7 @@ pub fn Accordion(props: AccordionProps) -> Element { pub struct AccordionItemProps { /// Whether the accordion item is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether this accordion item should be opened by default. #[props(default)] @@ -386,7 +386,7 @@ pub fn AccordionItem(props: AccordionItemProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct AccordionContentProps { /// The id of the accordion content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes to extend the content element. #[props(extends = GlobalAttributes)] pub attributes: Vec, @@ -574,7 +574,7 @@ struct Item { id: usize, index: usize, aria_id: Signal, - disabled: ReadOnlySignal, + disabled: ReadSignal, on_trigger_click: Callback, } diff --git a/primitives/src/alert_dialog.rs b/primitives/src/alert_dialog.rs index 0093a265..6e1602ce 100644 --- a/primitives/src/alert_dialog.rs +++ b/primitives/src/alert_dialog.rs @@ -16,13 +16,13 @@ struct AlertDialogCtx { #[derive(Props, Clone, PartialEq)] pub struct AlertDialogRootProps { /// The id of the alert dialog root element. If not provided, a unique id will be generated. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Whether the alert dialog should be open by default. This is only used if the `open` signal is not provided. #[props(default)] pub default_open: bool, /// The open state of the alert dialog. If this is provided, it will be used to control the open state of the dialog. #[props(default)] - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// Callback to handle changes in the open state of the dialog. #[props(default)] pub on_open_change: Callback, @@ -137,7 +137,7 @@ pub fn AlertDialogRoot(props: AlertDialogRootProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct AlertDialogContentProps { /// The id of the alert dialog content element. If not provided, a unique id will be generated. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// The class to apply to the alert dialog content element. #[props(default)] diff --git a/primitives/src/calendar.rs b/primitives/src/calendar.rs index ca73005a..db0c3f25 100644 --- a/primitives/src/calendar.rs +++ b/primitives/src/calendar.rs @@ -138,16 +138,16 @@ fn previous_month(date: Date) -> Option { #[derive(Copy, Clone)] pub struct CalendarContext { // State - selected_date: ReadOnlySignal>, + selected_date: ReadSignal>, set_selected_date: Callback>, focused_date: Signal>, - view_date: ReadOnlySignal, + view_date: ReadSignal, set_view_date: Callback, format_weekday: Callback, format_month: Callback, // Configuration - disabled: ReadOnlySignal, + disabled: ReadSignal, today: Date, first_day_of_week: Weekday, min_date: Date, @@ -208,7 +208,7 @@ fn weekday_abbreviation(weekday: Weekday) -> &'static str { pub struct CalendarProps { /// The selected date #[props(default)] - pub selected_date: ReadOnlySignal>, + pub selected_date: ReadSignal>, /// Callback when selected date changes #[props(default)] @@ -223,7 +223,7 @@ pub struct CalendarProps { pub on_format_month: Callback, /// The month being viewed - pub view_date: ReadOnlySignal, + pub view_date: ReadSignal, /// The current date (used for highlighting today) #[props(default = UtcDateTime::now().date())] @@ -235,7 +235,7 @@ pub struct CalendarProps { /// Whether the calendar is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// First day of the week #[props(default = Weekday::Sunday)] diff --git a/primitives/src/checkbox.rs b/primitives/src/checkbox.rs index ebadde75..03db4030 100644 --- a/primitives/src/checkbox.rs +++ b/primitives/src/checkbox.rs @@ -53,14 +53,14 @@ impl Not for CheckboxState { #[derive(Clone, Copy)] struct CheckboxCtx { checked: Memo, - disabled: ReadOnlySignal, + disabled: ReadSignal, } /// The props for the [`Checkbox`] component. #[derive(Props, Clone, PartialEq)] pub struct CheckboxProps { /// The controlled state of the checkbox. - pub checked: ReadOnlySignal>, + pub checked: ReadSignal>, /// The default state of the checkbox when it is not controlled. #[props(default = CheckboxState::Unchecked)] @@ -68,19 +68,19 @@ pub struct CheckboxProps { /// Whether the checkbox is required in a form. #[props(default)] - pub required: ReadOnlySignal, + pub required: ReadSignal, /// Whether the checkbox is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// The name of the checkbox, used in forms. #[props(default)] - pub name: ReadOnlySignal, + pub name: ReadSignal, /// The value of the checkbox, which can be used in forms. - #[props(default = ReadOnlySignal::new(Signal::new(String::from("on"))))] - pub value: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(String::from("on"))))] + pub value: ReadSignal, /// Callback that is called when the checked state changes. #[props(default)] @@ -227,7 +227,7 @@ pub fn CheckboxIndicator( #[component] fn BubbleInput( - checked: ReadOnlySignal, + checked: ReadSignal, default_checked: CheckboxState, #[props(extends = input)] attributes: Vec, ) -> Element { diff --git a/primitives/src/collapsible.rs b/primitives/src/collapsible.rs index 71022657..a1471d0a 100644 --- a/primitives/src/collapsible.rs +++ b/primitives/src/collapsible.rs @@ -9,8 +9,8 @@ use dioxus::prelude::*; struct CollapsibleCtx { open: Memo, set_open: Callback, - disabled: ReadOnlySignal, - keep_mounted: ReadOnlySignal, + disabled: ReadSignal, + keep_mounted: ReadSignal, aria_controls_id: Signal, } @@ -21,7 +21,7 @@ pub struct CollapsibleProps { /// /// This does not apply any special ARIA or other attributes. #[props(default)] - pub keep_mounted: ReadOnlySignal, + pub keep_mounted: ReadSignal, /// The default `open` state. /// @@ -31,12 +31,12 @@ pub struct CollapsibleProps { /// The disabled state of the collapsible. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// The controlled `open` state of the collapsible. /// /// If this is provided, you must use `on_open_change`. - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// A callback for when the open state changes. /// @@ -112,7 +112,7 @@ pub fn Collapsible(props: CollapsibleProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct CollapsibleContentProps { /// The ID of the collapsible content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the collapsible content element. #[props(extends = GlobalAttributes)] diff --git a/primitives/src/context_menu.rs b/primitives/src/context_menu.rs index 9a1477fc..c519d14f 100644 --- a/primitives/src/context_menu.rs +++ b/primitives/src/context_menu.rs @@ -11,7 +11,7 @@ struct ContextMenuCtx { // State open: Memo, set_open: Callback, - disabled: ReadOnlySignal, + disabled: ReadSignal, // Position of the context menu position: Signal<(i32, i32)>, @@ -24,11 +24,11 @@ struct ContextMenuCtx { #[derive(Props, Clone, PartialEq)] pub struct ContextMenuProps { /// Whether the context menu is disabled - #[props(default = ReadOnlySignal::new(Signal::new(false)))] - pub disabled: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(false)))] + pub disabled: ReadSignal, /// Whether the context menu is open - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// Default open state #[props(default)] @@ -39,8 +39,8 @@ pub struct ContextMenuProps { pub on_open_change: Callback, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Additional attributes for the context menu element. #[props(extends = GlobalAttributes)] @@ -247,7 +247,7 @@ pub fn ContextMenuTrigger(props: ContextMenuTriggerProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct ContextMenuContentProps { /// The ID of the context menu content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the context menu content element. #[props(extends = GlobalAttributes)] @@ -383,14 +383,14 @@ pub fn ContextMenuContent(props: ContextMenuContentProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct ContextMenuItemProps { /// Whether the item is disabled - #[props(default = ReadOnlySignal::new(Signal::new(false)))] - pub disabled: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(false)))] + pub disabled: ReadSignal, /// The value of the menu item - pub value: ReadOnlySignal, + pub value: ReadSignal, /// The index of the item in the menu - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Callback when the item is selected #[props(default)] diff --git a/primitives/src/dialog.rs b/primitives/src/dialog.rs index e33b01d3..c72ec2ce 100644 --- a/primitives/src/dialog.rs +++ b/primitives/src/dialog.rs @@ -14,7 +14,7 @@ struct DialogCtx { // Whether the dialog is a modal and should capture focus. #[allow(unused)] - is_modal: ReadOnlySignal, + is_modal: ReadSignal, dialog_labelledby: Signal, dialog_describedby: Signal, } @@ -23,14 +23,14 @@ struct DialogCtx { #[derive(Props, Clone, PartialEq)] pub struct DialogRootProps { /// The ID of the dialog root element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Whether the dialog is modal. If true, it will trap focus within the dialog when open. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub is_modal: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub is_modal: ReadSignal, /// The controlled `open` state of the dialog. - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// The default `open` state of the dialog if it is not controlled. #[props(default)] @@ -158,7 +158,7 @@ pub fn DialogRoot(props: DialogRootProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct DialogContentProps { /// The ID of the dialog content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// The class to apply to the dialog content element. #[props(default)] @@ -270,7 +270,7 @@ pub fn DialogContent(props: DialogContentProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct DialogTitleProps { /// The ID of the dialog title element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the dialog title element. #[props(extends = GlobalAttributes)] pub attributes: Vec, @@ -338,7 +338,7 @@ pub fn DialogTitle(props: DialogTitleProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct DialogDescriptionProps { /// The ID of the dialog description element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the dialog description element. #[props(extends = GlobalAttributes)] pub attributes: Vec, diff --git a/primitives/src/dropdown_menu.rs b/primitives/src/dropdown_menu.rs index 4457d082..fd7f740f 100644 --- a/primitives/src/dropdown_menu.rs +++ b/primitives/src/dropdown_menu.rs @@ -13,7 +13,7 @@ struct DropdownMenuContext { // State open: Memo, set_open: Callback, - disabled: ReadOnlySignal, + disabled: ReadSignal, // Focus state focus: FocusState, @@ -26,7 +26,7 @@ struct DropdownMenuContext { #[derive(Props, Clone, PartialEq)] pub struct DropdownMenuProps { /// Whether the dropdown menu is open. If not provided, the component will be uncontrolled and use `default_open`. - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// Default open state if the component is not controlled. #[props(default)] @@ -38,11 +38,11 @@ pub struct DropdownMenuProps { /// Whether the dropdown menu is disabled. If true, the menu will not open and items will not be selectable. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Additional attributes to apply to the dropdown menu element. #[props(extends = GlobalAttributes)] @@ -255,7 +255,7 @@ pub fn DropdownMenuTrigger(props: DropdownMenuTriggerProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct DropdownMenuContentProps { /// The ID of the dropdown menu content element. If not provided, a unique ID will be generated. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes to apply to the dropdown menu content element. #[props(extends = GlobalAttributes)] pub attributes: Vec, @@ -342,14 +342,14 @@ pub fn DropdownMenuContent(props: DropdownMenuContentProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct DropdownMenuItemProps { /// The value of the item, which will be passed to the `on_select` callback when clicked. - pub value: ReadOnlySignal, + pub value: ReadSignal, /// The index of the item within the [`DropdownMenuContent`]. This is used to order the items for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Whether the item is disabled. If true, the item will not be clickable and will not respond to keyboard events. /// Defaults to false. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// The callback function that will be called when the item is selected. The value of the item will be passed as an argument. #[props(default)] diff --git a/primitives/src/focus.rs b/primitives/src/focus.rs index 29b5c7d0..11845e72 100644 --- a/primitives/src/focus.rs +++ b/primitives/src/focus.rs @@ -4,7 +4,7 @@ use dioxus::prelude::*; use crate::use_effect_cleanup; -pub(crate) fn use_focus_provider(roving_loop: ReadOnlySignal) -> FocusState { +pub(crate) fn use_focus_provider(roving_loop: ReadSignal) -> FocusState { use_context_provider(|| { let item_count = Signal::new(0); let recent_focus = Signal::new(None); @@ -93,7 +93,7 @@ pub(crate) fn use_focus_controlled_item_disabled( #[derive(Clone, Copy)] pub(crate) struct FocusState { - pub(crate) roving_loop: ReadOnlySignal, + pub(crate) roving_loop: ReadSignal, pub(crate) item_count: Signal, pub(crate) recent_focus: Signal>, pub(crate) current_focus: Signal>, diff --git a/primitives/src/hover_card.rs b/primitives/src/hover_card.rs index 5d210e9f..6b6c44b1 100644 --- a/primitives/src/hover_card.rs +++ b/primitives/src/hover_card.rs @@ -10,7 +10,7 @@ struct HoverCardCtx { // State open: Memo, set_open: Callback, - disabled: ReadOnlySignal, + disabled: ReadSignal, // ARIA attributes content_id: Signal, @@ -20,7 +20,7 @@ struct HoverCardCtx { #[derive(Props, Clone, PartialEq)] pub struct HoverCardProps { /// Whether the hover card is open - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// Default open state #[props(default)] @@ -32,7 +32,7 @@ pub struct HoverCardProps { /// Whether the hover card is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Additional attributes for the hover card #[props(extends = GlobalAttributes)] @@ -113,7 +113,7 @@ pub fn HoverCard(props: HoverCardProps) -> Element { pub struct HoverCardTriggerProps { /// Optional ID for the trigger element #[props(default)] - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the hover card trigger #[props(extends = GlobalAttributes)] @@ -211,7 +211,7 @@ pub fn HoverCardTrigger(props: HoverCardTriggerProps) -> Element { pub struct HoverCardContentProps { /// Optional ID for the hover card content #[props(default)] - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Side of the trigger to place the hover card #[props(default = ContentSide::Top)] diff --git a/primitives/src/label.rs b/primitives/src/label.rs index ec6c1cea..9a84377d 100644 --- a/primitives/src/label.rs +++ b/primitives/src/label.rs @@ -6,7 +6,7 @@ use dioxus::prelude::*; #[derive(Props, Clone, PartialEq)] pub struct LabelProps { /// The id of the element that this label is associated with - pub html_for: ReadOnlySignal, + pub html_for: ReadSignal, /// Additional attributes to apply to the label element #[props(extends = GlobalAttributes)] diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index 63c2d5a4..f9700dc8 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -63,7 +63,7 @@ fn use_unique_id() -> Signal { // Elements can only have one id so if the user provides their own, we must use it as the aria id. fn use_id_or( mut gen_id: Signal, - user_id: ReadOnlySignal>, + user_id: ReadSignal>, ) -> Memo { // First, check if we have a user-provided ID let has_user_id = use_memo(move || user_id().is_some()); @@ -87,7 +87,7 @@ fn use_id_or( /// Allows some state to be either controlled or uncontrolled. fn use_controlled( - prop: ReadOnlySignal>, + prop: ReadSignal>, default: T, on_change: Callback, ) -> (Memo, Callback) { diff --git a/primitives/src/menubar.rs b/primitives/src/menubar.rs index 93386e7e..e9af969c 100644 --- a/primitives/src/menubar.rs +++ b/primitives/src/menubar.rs @@ -15,7 +15,7 @@ struct MenubarContext { // Currently open menu index open_menu: Signal>, set_open_menu: Callback>, - disabled: ReadOnlySignal, + disabled: ReadSignal, // Focus state focus: FocusState, @@ -26,11 +26,11 @@ struct MenubarContext { pub struct MenubarProps { /// Whether the menubar is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Additional attributes to apply to the menubar element. #[props(extends = GlobalAttributes)] @@ -144,10 +144,10 @@ pub fn Menubar(props: MenubarProps) -> Element { #[derive(Clone, Copy)] struct MenubarMenuContext { - index: ReadOnlySignal, + index: ReadSignal, focus: FocusState, is_open: Memo, - disabled: ReadOnlySignal, + disabled: ReadSignal, } impl MenubarMenuContext { @@ -164,11 +164,11 @@ impl MenubarMenuContext { #[derive(Props, Clone, PartialEq)] pub struct MenubarMenuProps { /// The index of this menu in the menubar. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Whether this menu is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Additional attributes to apply to the menu element. #[props(extends = GlobalAttributes)] @@ -427,7 +427,7 @@ pub fn MenubarTrigger(props: MenubarTriggerProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct MenubarContentProps { /// The id of the content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes to apply to the content element. #[props(extends = GlobalAttributes)] pub attributes: Vec, @@ -529,14 +529,14 @@ pub fn MenubarContent(props: MenubarContentProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct MenubarItemProps { /// The index of this item within the [`MenubarContent`]. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// The value associated with this menu item. This value will be passed to the [`Self::on_select`] callback when the item is selected. pub value: String, /// Whether this menu item is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Callback fired when the item is selected. The [`Self::value`] will be passed as an argument. #[props(default)] diff --git a/primitives/src/navbar.rs b/primitives/src/navbar.rs index 0033b369..2c88ce52 100644 --- a/primitives/src/navbar.rs +++ b/primitives/src/navbar.rs @@ -14,7 +14,7 @@ struct NavbarContext { // Currently open nav index open_nav: Signal>, set_open_nav: Callback>, - disabled: ReadOnlySignal, + disabled: ReadSignal, // Focus state focus: FocusState, @@ -25,11 +25,11 @@ struct NavbarContext { pub struct NavbarProps { /// Whether the navbar is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Additional attributes to apply to the navbar element. #[props(extends = GlobalAttributes)] @@ -165,10 +165,10 @@ pub fn Navbar(props: NavbarProps) -> Element { #[derive(Clone, Copy)] struct NavbarNavContext { - index: ReadOnlySignal, + index: ReadSignal, focus: FocusState, is_open: Memo, - disabled: ReadOnlySignal, + disabled: ReadSignal, } impl NavbarNavContext { @@ -185,11 +185,11 @@ impl NavbarNavContext { #[derive(Props, Clone, PartialEq)] pub struct NavbarNavProps { /// The index of this nav item in the navbar. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Whether this nav item is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Additional attributes to apply to the nav element. #[props(extends = GlobalAttributes)] @@ -453,7 +453,7 @@ pub fn NavbarTrigger(props: NavbarTriggerProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct NavbarContentProps { /// The id of the content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes to apply to the content element. #[props(extends = GlobalAttributes)] pub attributes: Vec, @@ -568,14 +568,14 @@ pub fn NavbarContent(props: NavbarContentProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct NavbarItemProps { /// The index of this item within the nav. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// The value associated with this nav item. This will be passed to the [`Self::on_select`] callback when the item is selected. pub value: String, /// Whether this nav item is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Callback fired when the item is selected. The [`Self::value`] will be passed to this callback when the item is selected. #[props(default)] diff --git a/primitives/src/popover.rs b/primitives/src/popover.rs index a79e6d0d..d74b0b58 100644 --- a/primitives/src/popover.rs +++ b/primitives/src/popover.rs @@ -17,7 +17,7 @@ struct PopoverCtx { // Whether the dialog is a modal and should capture focus. #[allow(unused)] - is_modal: ReadOnlySignal, + is_modal: ReadSignal, labelledby: Signal, } @@ -25,11 +25,11 @@ struct PopoverCtx { #[derive(Props, Clone, PartialEq)] pub struct PopoverRootProps { /// Whether the popover is a modal and should capture focus. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub is_modal: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub is_modal: ReadSignal, /// The controlled open state of the popover. - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// The default open state when uncontrolled. #[props(default)] @@ -141,7 +141,7 @@ pub fn PopoverRoot(props: PopoverRootProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct PopoverContentProps { /// The id of the popover content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// CSS class for the popover content. #[props(default)] diff --git a/primitives/src/progress.rs b/primitives/src/progress.rs index b71519c0..e2fcf918 100644 --- a/primitives/src/progress.rs +++ b/primitives/src/progress.rs @@ -6,11 +6,11 @@ use dioxus::prelude::*; #[derive(Props, Clone, PartialEq)] pub struct ProgressProps { /// The current progress value, between 0 and max. - pub value: ReadOnlySignal>, + pub value: ReadSignal>, /// The maximum value. Defaults to 100. - #[props(default = ReadOnlySignal::new(Signal::new(100.0)))] - pub max: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(100.0)))] + pub max: ReadSignal, /// Additional attributes to apply to the progress element. #[props(extends = GlobalAttributes)] diff --git a/primitives/src/radio_group.rs b/primitives/src/radio_group.rs index 74e1fbde..971c9d58 100644 --- a/primitives/src/radio_group.rs +++ b/primitives/src/radio_group.rs @@ -11,7 +11,7 @@ use dioxus::prelude::*; #[derive(Clone, Copy)] struct RadioGroupCtx { // State - disabled: ReadOnlySignal, + disabled: ReadSignal, value: Memo, set_value: Callback, @@ -20,8 +20,8 @@ struct RadioGroupCtx { values: Signal>, focus: FocusState, - horizontal: ReadOnlySignal, - roving_loop: ReadOnlySignal, + horizontal: ReadSignal, + roving_loop: ReadSignal, } impl RadioGroupCtx { @@ -73,7 +73,7 @@ impl RadioGroupCtx { #[derive(Props, Clone, PartialEq)] pub struct RadioGroupProps { /// The controlled value of the selected radio item. - pub value: ReadOnlySignal>, + pub value: ReadSignal>, /// The default selected value when uncontrolled. #[props(default)] @@ -85,23 +85,23 @@ pub struct RadioGroupProps { /// Whether the radio group is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether the radio group is required in a form. #[props(default)] - pub required: ReadOnlySignal, + pub required: ReadSignal, /// The name attribute for form submission. #[props(default)] - pub name: ReadOnlySignal, + pub name: ReadSignal, /// Whether the radio group is horizontal. #[props(default)] - pub horizontal: ReadOnlySignal, + pub horizontal: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Additional attributes to apply to the radio group element. #[props(extends = GlobalAttributes)] @@ -187,13 +187,13 @@ pub fn RadioGroup(props: RadioGroupProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct RadioItemProps { /// The value of the radio item. This will be passed to [`RadioGroupProps::on_value_change`] when selected. - pub value: ReadOnlySignal, + pub value: ReadSignal, /// The index of the radio item within the [`RadioGroup`]. This is used to order the items for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Whether the radio item is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Optional ID for the radio item element. pub id: Option, diff --git a/primitives/src/scroll_area.rs b/primitives/src/scroll_area.rs index 9f611043..3366a0e3 100644 --- a/primitives/src/scroll_area.rs +++ b/primitives/src/scroll_area.rs @@ -7,15 +7,15 @@ use dioxus::prelude::*; pub struct ScrollAreaProps { /// The scroll direction. #[props(default)] - pub direction: ReadOnlySignal, + pub direction: ReadSignal, /// Whether the scrollbars should be always visible. #[props(default)] - pub always_show_scrollbars: ReadOnlySignal, + pub always_show_scrollbars: ReadSignal, /// The scroll type. #[props(default)] - pub scroll_type: ReadOnlySignal, + pub scroll_type: ReadSignal, /// Additional attributes to apply to the scroll area element. #[props(extends = GlobalAttributes)] diff --git a/primitives/src/select/components/group.rs b/primitives/src/select/components/group.rs index 4ce33f25..d8fcb0dd 100644 --- a/primitives/src/select/components/group.rs +++ b/primitives/src/select/components/group.rs @@ -10,11 +10,11 @@ use super::super::context::{SelectContext, SelectGroupContext}; pub struct SelectGroupProps { /// Whether the group is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Optional ID for the group #[props(default)] - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the group #[props(extends = GlobalAttributes)] @@ -103,7 +103,7 @@ pub fn SelectGroup(props: SelectGroupProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct SelectGroupLabelProps { /// Optional ID for the label - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the label #[props(extends = GlobalAttributes)] diff --git a/primitives/src/select/components/list.rs b/primitives/src/select/components/list.rs index 7662b4d0..4fe24553 100644 --- a/primitives/src/select/components/list.rs +++ b/primitives/src/select/components/list.rs @@ -12,7 +12,7 @@ use super::super::context::SelectContext; pub struct SelectListProps { /// The ID of the list for ARIA attributes #[props(default)] - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Additional attributes for the list #[props(extends = GlobalAttributes)] diff --git a/primitives/src/select/components/option.rs b/primitives/src/select/components/option.rs index c5b6ea99..7b2a33cd 100644 --- a/primitives/src/select/components/option.rs +++ b/primitives/src/select/components/option.rs @@ -14,22 +14,22 @@ use super::super::context::{OptionState, SelectContext, SelectOptionContext}; #[derive(Props, Clone, PartialEq)] pub struct SelectOptionProps { /// The value of the option - pub value: ReadOnlySignal, + pub value: ReadSignal, /// The text value of the option used for typeahead search #[props(default)] - pub text_value: ReadOnlySignal>, + pub text_value: ReadSignal>, /// Whether the option is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Optional ID for the option #[props(default)] - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// The index of the option in the list. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Optional label for the option (for accessibility) #[props(default)] diff --git a/primitives/src/select/components/select.rs b/primitives/src/select/components/select.rs index c058d991..e9465417 100644 --- a/primitives/src/select/components/select.rs +++ b/primitives/src/select/components/select.rs @@ -15,7 +15,7 @@ use crate::focus::use_focus_provider; pub struct SelectProps { /// The controlled value of the select #[props(default)] - pub value: ReadOnlySignal>>, + pub value: ReadSignal>>, /// The default value of the select #[props(default)] @@ -27,23 +27,23 @@ pub struct SelectProps { /// Whether the select is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Name of the select for form submission #[props(default)] - pub name: ReadOnlySignal, + pub name: ReadSignal, /// Optional placeholder text - #[props(default = ReadOnlySignal::new(Signal::new(String::from("Select an option"))))] - pub placeholder: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(String::from("Select an option"))))] + pub placeholder: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Timeout in milliseconds before clearing typeahead buffer - #[props(default = ReadOnlySignal::new(Signal::new(Duration::from_millis(1000))))] - pub typeahead_timeout: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(Duration::from_millis(1000))))] + pub typeahead_timeout: ReadSignal, /// Additional attributes for the select element #[props(extends = GlobalAttributes)] diff --git a/primitives/src/select/context.rs b/primitives/src/select/context.rs index 5fc1f008..70fb86fa 100644 --- a/primitives/src/select/context.rs +++ b/primitives/src/select/context.rs @@ -66,13 +66,13 @@ pub(super) struct SelectContext { /// The focus state for the select pub focus_state: FocusState, /// Whether the select is disabled - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// The placeholder text - pub placeholder: ReadOnlySignal, + pub placeholder: ReadSignal, /// Task handle for clearing typeahead buffer pub typeahead_clear_task: Signal>, /// Timeout before clearing typeahead buffer - pub typeahead_timeout: ReadOnlySignal, + pub typeahead_timeout: ReadSignal, } impl SelectContext { @@ -158,14 +158,14 @@ pub(super) struct OptionState { #[derive(Clone, Copy)] pub(super) struct SelectOptionContext { /// Whether this option is currently selected - pub selected: ReadOnlySignal, + pub selected: ReadSignal, } /// Context for children of select list components to know if they should render #[derive(Clone, Copy)] pub(super) struct SelectListContext { /// Whether to render in the dom (or just run logic) - pub render: ReadOnlySignal, + pub render: ReadSignal, } /// Context for select group components diff --git a/primitives/src/slider.rs b/primitives/src/slider.rs index e99ff924..4f8b311a 100644 --- a/primitives/src/slider.rs +++ b/primitives/src/slider.rs @@ -98,7 +98,7 @@ static POINTERS: GlobalSignal> = Global::new(|| { #[derive(Props, Clone, PartialEq)] pub struct SliderProps { /// The controlled value of the slider - pub value: ReadOnlySignal>, + pub value: ReadSignal>, /// The default value when uncontrolled #[props(default = SliderValue::Single(0.0))] @@ -118,7 +118,7 @@ pub struct SliderProps { /// Whether the slider is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Orientation of the slider #[props(default = true)] @@ -133,7 +133,7 @@ pub struct SliderProps { pub on_value_change: Callback, /// The label for the slider (for accessibility) - pub label: ReadOnlySignal>, + pub label: ReadSignal>, /// Additional attributes for the slider #[props(extends = GlobalAttributes)] @@ -635,11 +635,11 @@ struct SliderContext { min: f64, max: f64, step: f64, - disabled: ReadOnlySignal, + disabled: ReadSignal, horizontal: bool, inverted: bool, - dragging: ReadOnlySignal, - label: ReadOnlySignal>, + dragging: ReadSignal, + label: ReadSignal>, } impl SliderContext { diff --git a/primitives/src/switch.rs b/primitives/src/switch.rs index cbb89d17..1ed1f49a 100644 --- a/primitives/src/switch.rs +++ b/primitives/src/switch.rs @@ -7,27 +7,27 @@ use dioxus::prelude::*; #[derive(Props, Clone, PartialEq)] pub struct SwitchProps { /// The controlled checked state of the switch. - pub checked: ReadOnlySignal>, + pub checked: ReadSignal>, /// The default checked state when uncontrolled. #[props(default = false)] pub default_checked: bool, /// Whether the switch is disabled. - #[props(default = ReadOnlySignal::new(Signal::new(false)))] - pub disabled: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(false)))] + pub disabled: ReadSignal, /// Whether the switch is required in a form. #[props(default)] - pub required: ReadOnlySignal, + pub required: ReadSignal, /// The name attribute for form submission. #[props(default)] - pub name: ReadOnlySignal, + pub name: ReadSignal, /// The value attribute for form submission. - #[props(default = ReadOnlySignal::new(Signal::new(String::from("on"))))] - pub value: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(String::from("on"))))] + pub value: ReadSignal, /// Callback fired when the checked state changes. #[props(default)] diff --git a/primitives/src/tabs.rs b/primitives/src/tabs.rs index ca5d6d1e..0d4c9802 100644 --- a/primitives/src/tabs.rs +++ b/primitives/src/tabs.rs @@ -9,16 +9,16 @@ use dioxus::prelude::*; #[derive(Clone, Copy)] struct TabsContext { // State - value: ReadOnlySignal, + value: ReadSignal, set_value: Callback, - disabled: ReadOnlySignal, + disabled: ReadSignal, // Focus state focus: FocusState, // Orientation - horizontal: ReadOnlySignal, - roving_loop: ReadOnlySignal, + horizontal: ReadSignal, + roving_loop: ReadSignal, // ARIA attributes tab_content_ids: Signal>, @@ -28,7 +28,7 @@ struct TabsContext { #[derive(Props, Clone, PartialEq)] pub struct TabsProps { /// The controlled value of the active tab. - pub value: ReadOnlySignal>, + pub value: ReadSignal>, /// The default active tab value when uncontrolled. #[props(default)] @@ -40,15 +40,15 @@ pub struct TabsProps { /// Whether the tabs are disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether the tabs are horizontal. #[props(default)] - pub horizontal: ReadOnlySignal, + pub horizontal: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Additional attributes to apply to the tabs element. #[props(extends = GlobalAttributes)] @@ -210,11 +210,11 @@ pub struct TabTriggerProps { /// must match the `value` prop of the corresponding [`TabContent`]. pub value: String, /// The index of the tab trigger. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Whether the tab trigger is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// The ID of the tab trigger element. pub id: Option, @@ -357,12 +357,12 @@ pub struct TabContentProps { pub value: String, /// The ID of the tab content element. - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// The class of the tab content element. pub class: Option, /// The index of the tab content. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Additional attributes to apply to the tab content element. #[props(extends = GlobalAttributes)] diff --git a/primitives/src/toast.rs b/primitives/src/toast.rs index 7d8c4f12..4e8ec891 100644 --- a/primitives/src/toast.rs +++ b/primitives/src/toast.rs @@ -63,12 +63,12 @@ struct ToastCtx { #[derive(Props, Clone, PartialEq)] pub struct ToastProviderProps { /// The default duration for non-permanent toasts. Defaults to 5 seconds - #[props(default = ReadOnlySignal::new(Signal::new(Some(Duration::from_secs(5)))))] - pub default_duration: ReadOnlySignal>, + #[props(default = ReadSignal::new(Signal::new(Some(Duration::from_secs(5)))))] + pub default_duration: ReadSignal>, /// The maximum number of toasts to display at once. Defaults to 10. - #[props(default = ReadOnlySignal::new(Signal::new(10)))] - pub max_toasts: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(10)))] + pub max_toasts: ReadSignal, /// The callback to render a toast. Defaults to rendering the [`Toast`] component. #[props(default = Callback::new(|props: ToastPropsWithOwner| rsx! { {DynamicNode::Component(props.into_vcomponent(Toast))} }))] diff --git a/primitives/src/toggle.rs b/primitives/src/toggle.rs index 7819737a..4050fd6d 100644 --- a/primitives/src/toggle.rs +++ b/primitives/src/toggle.rs @@ -7,7 +7,7 @@ use dioxus::prelude::*; #[derive(Props, Clone, PartialEq)] pub struct ToggleProps { /// The controlled pressed state of the toggle. - pub pressed: ReadOnlySignal>, + pub pressed: ReadSignal>, /// The default pressed state when uncontrolled. #[props(default)] @@ -15,7 +15,7 @@ pub struct ToggleProps { /// Whether the toggle is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Callback fired when the pressed state changes. #[props(default)] diff --git a/primitives/src/toggle_group.rs b/primitives/src/toggle_group.rs index 8212faec..324e2bbe 100644 --- a/primitives/src/toggle_group.rs +++ b/primitives/src/toggle_group.rs @@ -13,17 +13,17 @@ use std::collections::HashSet; #[derive(Clone, Copy)] struct ToggleGroupCtx { // State - disabled: ReadOnlySignal, + disabled: ReadSignal, pressed: Memo>, set_pressed: Callback>, - allow_multiple_pressed: ReadOnlySignal, + allow_multiple_pressed: ReadSignal, // Focus state focus: FocusState, - horizontal: ReadOnlySignal, - roving_loop: ReadOnlySignal, + horizontal: ReadSignal, + roving_loop: ReadSignal, } impl ToggleGroupCtx { @@ -86,7 +86,7 @@ pub struct ToggleGroupProps { pub default_pressed: HashSet, /// The currently pressed items. This can be used to drive the component when controlled. - pub pressed: ReadOnlySignal>>, + pub pressed: ReadSignal>>, /// Callback to handle changes in pressed state #[props(default)] @@ -94,19 +94,19 @@ pub struct ToggleGroupProps { /// Whether the toggle group is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// If multiple items can be pressed at the same time. If this is false, only one item can be pressed at a time (radio-style). #[props(default)] - pub allow_multiple_pressed: ReadOnlySignal, + pub allow_multiple_pressed: ReadSignal, /// Whether the toggle group is horizontal or vertical. #[props(default)] - pub horizontal: ReadOnlySignal, + pub horizontal: ReadSignal, /// Whether focus should loop around when reaching the end. - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub roving_loop: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub roving_loop: ReadSignal, /// Additional attributes to apply to the toggle group element #[props(extends = GlobalAttributes)] @@ -179,11 +179,11 @@ pub fn ToggleGroup(props: ToggleGroupProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct ToggleItemProps { /// The index of the item within the [`ToggleGroup`]. This is used to order the items for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Whether the toggle item is disabled. #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Additional attributes to apply to the toggle item element #[props(extends = GlobalAttributes)] diff --git a/primitives/src/toolbar.rs b/primitives/src/toolbar.rs index 3066454f..54cd605c 100644 --- a/primitives/src/toolbar.rs +++ b/primitives/src/toolbar.rs @@ -6,13 +6,13 @@ use std::rc::Rc; #[derive(Clone, Copy)] struct ToolbarCtx { // State - disabled: ReadOnlySignal, + disabled: ReadSignal, // Focus management focused_index: Signal>, // Orientation - horizontal: ReadOnlySignal, + horizontal: ReadSignal, } impl ToolbarCtx { @@ -38,11 +38,11 @@ impl ToolbarCtx { pub struct ToolbarProps { /// Whether the toolbar is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Whether the toolbar is horizontal (true) or vertical (false) - #[props(default = ReadOnlySignal::new(Signal::new(true)))] - pub horizontal: ReadOnlySignal, + #[props(default = ReadSignal::new(Signal::new(true)))] + pub horizontal: ReadSignal, /// ARIA label for the toolbar #[props(default)] @@ -117,11 +117,11 @@ pub fn Toolbar(props: ToolbarProps) -> Element { #[derive(Props, Clone, PartialEq)] pub struct ToolbarButtonProps { /// Index of the button in the toolbar. This is used to define the focus order for keyboard navigation. - pub index: ReadOnlySignal, + pub index: ReadSignal, /// Whether the button is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Callback when the button is clicked #[props(default)] diff --git a/primitives/src/tooltip.rs b/primitives/src/tooltip.rs index 2cd90c3c..a9c1a8d4 100644 --- a/primitives/src/tooltip.rs +++ b/primitives/src/tooltip.rs @@ -10,7 +10,7 @@ struct TooltipCtx { // State open: Memo, set_open: Callback, - disabled: ReadOnlySignal, + disabled: ReadSignal, // ARIA attributes tooltip_id: Signal, @@ -20,7 +20,7 @@ struct TooltipCtx { #[derive(Props, Clone, PartialEq)] pub struct TooltipProps { /// Whether the tooltip is open - pub open: ReadOnlySignal>, + pub open: ReadSignal>, /// Default open state when uncontrolled #[props(default)] @@ -32,7 +32,7 @@ pub struct TooltipProps { /// Whether the tooltip is disabled #[props(default)] - pub disabled: ReadOnlySignal, + pub disabled: ReadSignal, /// Additional attributes for the tooltip #[props(extends = GlobalAttributes)] @@ -206,7 +206,7 @@ pub fn TooltipTrigger(props: TooltipTriggerProps) -> Element { pub struct TooltipContentProps { /// Optional ID for the tooltip content #[props(default)] - pub id: ReadOnlySignal>, + pub id: ReadSignal>, /// Side of the trigger to place the tooltip #[props(default = ContentSide::Top)]