diff --git a/.github/workflows/pr-preview-build.yml b/.github/workflows/pr-preview-build.yml index dbebe3ae..3cf07fbf 100644 --- a/.github/workflows/pr-preview-build.yml +++ b/.github/workflows/pr-preview-build.yml @@ -9,7 +9,7 @@ jobs: - name: Install trunk run: | - curl -sL https://github.com/trunk-rs/trunk/releases/download/v0.20.0-alpha.2/trunk-x86_64-unknown-linux-gnu.tar.gz -o trunk-x86_64-unknown-linux-gnu.tar.gz + curl -sL https://github.com/trunk-rs/trunk/releases/download/v0.21.14/trunk-x86_64-unknown-linux-gnu.tar.gz -o trunk-x86_64-unknown-linux-gnu.tar.gz tar xzf trunk-x86_64-unknown-linux-gnu.tar.gz sudo install trunk /usr/bin/trunk - uses: actions/setup-node@v4 @@ -30,11 +30,11 @@ jobs: mkdir -p ./pr echo ${{ github.event.number }} > ./pr/NR - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: dist path: dist/ - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: pr path: pr/ diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index a0255f16..bb6d9b8f 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -37,7 +37,7 @@ jobs: - name: Install trunk run: | - curl -sL https://github.com/thedodd/trunk/releases/download/v0.20.0-rc.1/trunk-x86_64-unknown-linux-gnu.tar.gz -o trunk-x86_64-unknown-linux-gnu.tar.gz + curl -sL https://github.com/thedodd/trunk/releases/download/v0.21.14/trunk-x86_64-unknown-linux-gnu.tar.gz -o trunk-x86_64-unknown-linux-gnu.tar.gz tar xzf trunk-x86_64-unknown-linux-gnu.tar.gz sudo install trunk /usr/bin/trunk diff --git a/Cargo.lock b/Cargo.lock index 76dc7a8e..d64c91d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,27 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" +version = 4 [[package]] name = "android_system_properties" @@ -33,31 +12,16 @@ dependencies = [ ] [[package]] -name = "anymap2" -version = "0.13.0" +name = "anyhow" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" +checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" [[package]] name = "autocfg" -version = "1.2.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" - -[[package]] -name = "backtrace" -version = "0.3.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "bincode" @@ -69,10 +33,10 @@ dependencies = [ ] [[package]] -name = "boolinator" -version = "2.4.0" +name = "bitflags" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "browser-panic-hook" @@ -86,40 +50,43 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "bytes" -version = "1.6.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cc" -version = "1.0.94" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +dependencies = [ + "find-msvc-tools", + "shlex", +] [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets", + "windows-link", ] [[package]] @@ -143,15 +110,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "darling" -version = "0.20.8" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ "darling_core", "darling_macro", @@ -159,34 +126,51 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.60", + "syn 2.0.116", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.116", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fnv" @@ -194,20 +178,26 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[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", ] [[package]] name = "futures" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -219,9 +209,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -229,44 +219,44 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -276,15 +266,14 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", @@ -294,60 +283,35 @@ dependencies = [ ] [[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "gloo" -version = "0.8.1" +name = "getrandom" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28999cda5ef6916ffd33fb4a7b87e1de633c47c0dc6d97905fee1cdaa142b94d" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" dependencies = [ - "gloo-console 0.2.3", - "gloo-dialogs 0.1.1", - "gloo-events 0.1.2", - "gloo-file 0.2.3", - "gloo-history 0.1.5", - "gloo-net 0.3.1", - "gloo-render 0.1.1", - "gloo-storage 0.2.2", - "gloo-timers 0.2.6", - "gloo-utils 0.1.7", - "gloo-worker 0.2.1", + "cfg-if", + "libc", + "r-efi", + "wasip2", + "wasip3", ] [[package]] name = "gloo" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd35526c28cc55c1db77aed6296de58677dbab863b118483a27845631d870249" -dependencies = [ - "gloo-console 0.3.0", - "gloo-dialogs 0.2.0", - "gloo-events 0.2.0", - "gloo-file 0.3.0", - "gloo-history 0.2.2", - "gloo-net 0.4.0", - "gloo-render 0.2.0", - "gloo-storage 0.3.0", - "gloo-timers 0.3.0", - "gloo-utils 0.2.0", - "gloo-worker 0.4.0", -] - -[[package]] -name = "gloo-console" -version = "0.2.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b7ce3c05debe147233596904981848862b068862e9ec3e34be446077190d3f" +checksum = "d15282ece24eaf4bd338d73ef580c6714c8615155c4190c781290ee3fa0fd372" dependencies = [ - "gloo-utils 0.1.7", - "js-sys", - "serde", - "wasm-bindgen", - "web-sys", + "gloo-console", + "gloo-dialogs", + "gloo-events", + "gloo-file", + "gloo-history", + "gloo-net", + "gloo-render", + "gloo-storage", + "gloo-timers", + "gloo-utils", + "gloo-worker", ] [[package]] @@ -356,23 +320,13 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a17868f56b4a24f677b17c8cb69958385102fa879418052d60b50bc1727e261" dependencies = [ - "gloo-utils 0.2.0", + "gloo-utils", "js-sys", "serde", "wasm-bindgen", "web-sys", ] -[[package]] -name = "gloo-dialogs" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67062364ac72d27f08445a46cab428188e2e224ec9e37efdba48ae8c289002e6" -dependencies = [ - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gloo-dialogs" version = "0.2.0" @@ -383,16 +337,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "gloo-events" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc" -dependencies = [ - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gloo-events" version = "0.2.0" @@ -403,115 +347,56 @@ dependencies = [ "web-sys", ] -[[package]] -name = "gloo-file" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d5564e570a38b43d78bdc063374a0c3098c4f0d64005b12f9bbe87e869b6d7" -dependencies = [ - "gloo-events 0.1.2", - "js-sys", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gloo-file" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97563d71863fb2824b2e974e754a81d19c4a7ec47b09ced8a0e6656b6d54bd1f" dependencies = [ - "gloo-events 0.2.0", + "gloo-events", "js-sys", "wasm-bindgen", "web-sys", ] -[[package]] -name = "gloo-history" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85725d90bf0ed47063b3930ef28e863658a7905989e9929a8708aab74a1d5e7f" -dependencies = [ - "gloo-events 0.1.2", - "gloo-utils 0.1.7", - "serde", - "serde-wasm-bindgen 0.5.0", - "serde_urlencoded", - "thiserror", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gloo-history" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "903f432be5ba34427eac5e16048ef65604a82061fe93789f2212afc73d8617d6" dependencies = [ - "getrandom", - "gloo-events 0.2.0", - "gloo-utils 0.2.0", + "getrandom 0.2.17", + "gloo-events", + "gloo-utils", "serde", - "serde-wasm-bindgen 0.6.5", + "serde-wasm-bindgen", "serde_urlencoded", - "thiserror", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-net" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66b4e3c7d9ed8d315fd6b97c8b1f74a7c6ecbbc2320e65ae7ed38b7068cc620" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils 0.1.7", - "http", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", - "wasm-bindgen-futures", "web-sys", ] [[package]] name = "gloo-net" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ac9e8288ae2c632fa9f8657ac70bfe38a1530f345282d7ba66a1f70b72b7dc4" +checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" dependencies = [ "futures-channel", "futures-core", "futures-sink", - "gloo-utils 0.2.0", + "gloo-utils", "http", "js-sys", "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", ] -[[package]] -name = "gloo-render" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd9306aef67cfd4449823aadcd14e3958e0800aa2183955a309112a84ec7764" -dependencies = [ - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gloo-render" version = "0.2.0" @@ -522,46 +407,21 @@ dependencies = [ "web-sys", ] -[[package]] -name = "gloo-storage" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6ab60bf5dbfd6f0ed1f7843da31b41010515c745735c970e821945ca91e480" -dependencies = [ - "gloo-utils 0.1.7", - "js-sys", - "serde", - "serde_json", - "thiserror", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gloo-storage" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbc8031e8c92758af912f9bc08fbbadd3c6f3cfcbf6b64cdf3d6a81f0139277a" dependencies = [ - "gloo-utils 0.2.0", + "gloo-utils", "js-sys", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", ] -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "gloo-timers" version = "0.3.0" @@ -572,19 +432,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "gloo-utils" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" -dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gloo-utils" version = "0.2.0" @@ -600,35 +447,18 @@ dependencies = [ [[package]] name = "gloo-worker" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13471584da78061a28306d1359dd0178d8d6fc1c7c80e5e35d27260346e0516a" -dependencies = [ - "anymap2", - "bincode", - "gloo-console 0.2.3", - "gloo-utils 0.1.7", - "js-sys", - "serde", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "gloo-worker" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76495d3dd87de51da268fa3a593da118ab43eb7f8809e17eb38d3319b424e400" +checksum = "085f262d7604911c8150162529cefab3782e91adb20202e8658f7275d2aefe5d" dependencies = [ "bincode", "futures", - "gloo-utils 0.2.0", + "gloo-utils", "gloo-worker-macros", "js-sys", "pinned", "serde", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -643,26 +473,35 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.116", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash", ] [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "heck" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "http" @@ -677,14 +516,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -698,6 +538,93 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -706,19 +633,30 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] name = "implicit-clone" -version = "0.4.9" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a9aa791c7b5a71b636b7a68207fdebf171ddfc593d9c8506ec4cbc527b6a84" +checksum = "1689b939ee35e3a075b0834b5672efd43aec8a6e81a1c6002b76a5ca2f211ae0" dependencies = [ "implicit-clone-derive", "indexmap", @@ -726,110 +664,107 @@ dependencies = [ [[package]] name = "implicit-clone-derive" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9311685eb9a34808bbb0608ad2fcab9ae216266beca5848613e95553ac914e3b" +checksum = "699c1b6d335e63d0ba5c1e1c7f647371ce989c3bcbe1f7ed2b85fa56e3bd1a21" dependencies = [ "quote", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] name = "indexmap" -version = "2.2.6" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.16.1", + "serde", + "serde_core", ] [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" dependencies = [ + "once_cell", "wasm-bindgen", ] +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" -version = "0.2.153" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] -name = "log" -version = "0.4.21" +name = "litemap" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] -name = "memchr" -version = "2.7.2" +name = "log" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] -name = "miniz_oxide" -version = "0.7.2" +name = "memchr" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ "hermit-abi", "libc", ] -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - [[package]] name = "once_cell" -version = "1.19.0" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "patternfly-yew" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e99b261c0d7695dcbc4a503dfe50b452895774ff0ab9bfdc7391e6e4e058b1" +checksum = "67c61961a31aad112d675a001722b60128f6445a67f78f032471becfd26dd450" dependencies = [ "chrono", - "gloo-events 0.2.0", - "gloo-timers 0.3.0", - "gloo-utils 0.2.0", + "gloo-events", + "gloo-timers", + "gloo-utils", "implicit-clone", "js-sys", "log", @@ -852,11 +787,11 @@ dependencies = [ [[package]] name = "patternfly-yew-quickstart" -version = "0.6.0" +version = "0.7.0" dependencies = [ "browser-panic-hook", "chrono", - "gloo-utils 0.2.0", + "gloo-utils", "log", "patternfly-yew", "popper-rs", @@ -875,41 +810,35 @@ 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 = "pin-project" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pinned" @@ -919,16 +848,16 @@ checksum = "a829027bd95e54cfe13e3e258a1ae7b645960553fb82b75ff852c29688ee595b" dependencies = [ "futures", "rustversion", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "popper-rs" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a14458f5df1782ff0999819ae4cc310d2fcddd2ec62ae61585dacf3af72ccb4f" +checksum = "bc5b61c035c90dc02acd692f754e4cf832742a982fb126567b9d72250a43326a" dependencies = [ - "gloo-utils 0.2.0", + "gloo-utils", "js-sys", "popper-rs-sys", "serde", @@ -940,9 +869,9 @@ dependencies = [ [[package]] name = "popper-rs-sys" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ef286df3991db98cfab510303f0d7a73b185364f6bfde3584a0b99d2119c17" +checksum = "5e3d1926722133580b512c4eaec19d2946fb70048b897edc20e9eb25f4d20389" dependencies = [ "js-sys", "wasm-bindgen", @@ -950,14 +879,23 @@ dependencies = [ "web-sys", ] +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + [[package]] name = "prettyplease" -version = "0.2.19" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ac2cf0f2e4f42b49f5ffd07dae8d746508ef7526c13940e5f524012ae6c6550" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] @@ -996,71 +934,61 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] -[[package]] -name = "prokio" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b55e106e5791fa5a13abd13c85d6127312e8e09098059ca2bc9b03ca4cf488" -dependencies = [ - "futures", - "gloo 0.8.1", - "num_cpus", - "once_cell", - "pin-project", - "pinned", - "tokio", - "tokio-stream", - "wasm-bindgen-futures", -] - [[package]] name = "quote" -version = "1.0.36" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] [[package]] -name = "rustc-demangle" -version = "0.1.23" +name = "r-efi" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] [[package]] name = "serde-wasm-bindgen" -version = "0.5.0" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" dependencies = [ "js-sys", "serde", @@ -1068,36 +996,36 @@ dependencies = [ ] [[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", - "ryu", + "memchr", "serde", + "serde_core", + "zmij", ] [[package]] @@ -1112,41 +1040,55 @@ dependencies = [ "serde", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "slab" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.26.2" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.26.2" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck", "proc-macro2", "quote", - "rustversion", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] @@ -1161,76 +1103,130 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.116", +] + [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl 2.0.18", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] -name = "tinyvec" -version = "1.6.0" +name = "thiserror-impl" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ - "tinyvec_macros", + "proc-macro2", + "quote", + "syn 2.0.116", ] [[package]] -name = "tinyvec_macros" -version = "0.1.1" +name = "tinystr" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] [[package]] name = "tokio" -version = "1.37.0" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", "pin-project-lite", + "tokio-macros", +] + +[[package]] +name = "tokio-macros" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.116", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", "tokio", ] +[[package]] +name = "tokise" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "decf97738ce15b9e9cc1671ea29b0f6c56538719e1a092d19cc2134bf144e40e" +dependencies = [ + "futures", + "gloo", + "num_cpus", + "once_cell", + "pin-project", + "pinned", + "tokio", + "tokio-stream", + "wasm-bindgen-futures", +] + [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" [[package]] name = "toml_edit" @@ -1245,9 +1241,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -1256,60 +1252,52 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.116", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", ] -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] -name = "unicode-normalization" -version = "0.1.23" +name = "unicode-segmentation" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] -name = "unicode-segmentation" -version = "1.11.0" +name = "unicode-xid" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "url" -version = "2.5.0" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -1318,70 +1306,85 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" -version = "1.8.0" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" dependencies = [ - "getrandom", + "getrandom 0.4.1", + "js-sys", "wasm-bindgen", ] [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasm-bindgen" -version = "0.2.92" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "cfg-if", - "wasm-bindgen-macro", + "wit-bindgen", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "bumpalo", - "log", + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", "once_cell", - "proc-macro2", - "quote", - "syn 2.0.60", + "rustversion", + "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" dependencies = [ "cfg-if", + "futures-util", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1389,22 +1392,35 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.60", - "wasm-bindgen-backend", + "syn 2.0.116", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] [[package]] name = "wasm-logger" @@ -1417,11 +1433,35 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" dependencies = [ "js-sys", "wasm-bindgen", @@ -1429,9 +1469,9 @@ dependencies = [ [[package]] name = "web-tools" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901b21319c89163852d2d1a84f8d468b1d2d14a9a064acdd39925acb5e45bd04" +checksum = "5058550971dec55349257b10a75a360a966349e529e75dd6b95ba11e879bf5cd" dependencies = [ "web-sys", "yew", @@ -1439,104 +1479,184 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.52.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-targets", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] -name = "windows-targets" -version = "0.52.5" +name = "windows-implement" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "proc-macro2", + "quote", + "syn 2.0.116", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.116", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" +name = "windows-link" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] -name = "windows_aarch64_msvc" -version = "0.52.5" +name = "windows-result" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] [[package]] -name = "windows_i686_gnu" -version = "0.52.5" +name = "windows-strings" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] [[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" +name = "winnow" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] [[package]] -name = "windows_i686_msvc" -version = "0.52.5" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] [[package]] -name = "windows_x86_64_gnu" -version = "0.52.5" +name = "wit-bindgen-core" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] [[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.5" +name = "wit-bindgen-rust" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn 2.0.116", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] [[package]] -name = "windows_x86_64_msvc" -version = "0.52.5" +name = "wit-bindgen-rust-macro" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.116", + "wit-bindgen-core", + "wit-bindgen-rust", +] [[package]] -name = "winnow" -version = "0.5.40" +name = "wit-component" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ - "memchr", + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", ] +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + [[package]] name = "yew" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f1a03f255c70c7aa3e9c62e15292f142ede0564123543c1cc0c7a4f31660cac" +checksum = "3346273ed61b636f5d84e6c696d40f380045b5565b36c5c47f8fc634b8bf5be6" dependencies = [ "console_error_panic_hook", "futures", - "gloo 0.10.0", + "gloo", "implicit-clone", "indexmap", "js-sys", - "prokio", "rustversion", "serde", "slab", - "thiserror", + "thiserror 2.0.18", "tokio", + "tokise", "tracing", "wasm-bindgen", "wasm-bindgen-futures", @@ -1546,14 +1666,16 @@ dependencies = [ [[package]] name = "yew-hooks" -version = "0.3.1" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6f2fe60864adbcc36f1d51f748a186f56f99857c55521d4c9ec1c6e4a0d0a9" +checksum = "0c26c4c3a4833a35c0f0c1aa3edf7d827a51ea49e70752dda0444aef4c4038a5" dependencies = [ - "gloo 0.10.0", + "gloo", "js-sys", "log", "serde", + "serde_json", + "urlencoding", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -1562,26 +1684,26 @@ dependencies = [ [[package]] name = "yew-macro" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fd8ca5166d69e59f796500a2ce432ff751edecbbb308ca59fd3fe4d0343de2" +checksum = "479e94d645dde3749e81d488c1d32987509dd3b8c31650fcf6e3af1f370e913b" dependencies = [ - "boolinator", "once_cell", "prettyplease", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "rustversion", + "syn 2.0.116", ] [[package]] name = "yew-more-hooks" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c1d097ea8cb809457b1d7e96a1363a4d22dd814aa7678739617c29f1774fb6" +checksum = "30a6e3691b1890dfd6c0fcdae5383f5b72f93a964d82791844b895ca40648913" dependencies = [ - "gloo-utils 0.2.0", + "gloo-utils", "log", "serde", "wasm-bindgen", @@ -1593,12 +1715,12 @@ dependencies = [ [[package]] name = "yew-nested-router" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db64fccc4ae6f799aa789bb4f97912f73f72bcdaff8888715b31c37f88d1d256" +checksum = "39891fd44633ed26a9b09372515bbd3d0d7eb8169f1c7ffbe2651317bd999ac1" dependencies = [ - "gloo-events 0.2.0", - "gloo-utils 0.2.0", + "gloo-events", + "gloo-utils", "js-sys", "log", "serde", @@ -1612,13 +1734,96 @@ dependencies = [ [[package]] name = "yew-nested-router-macros" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6d0eca36ca53d08ea2e18191e47126037f7f6bc95e81b1093792cccd3d6c1a4" +checksum = "3660433eb4a5e564a6b263a68a6eb8233f403d1e4465d50de7df9f82c1d23784" dependencies = [ "convert_case", "darling", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.116", +] + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.116", + "synstructure", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.116", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.116", ] + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/Cargo.toml b/Cargo.toml index 5e770435..19e1677a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "patternfly-yew-quickstart" -version = "0.6.0" +version = "0.7.0" authors = ["Jens Reimann "] -edition = "2021" +edition = "2024" license = "Apache-2.0" readme = "README.md" description = "A quickstart project for using PatternFly with Yew" @@ -13,18 +13,18 @@ browser-panic-hook = "0.2" chrono = { version = "0.4.30", default-features = false, features = ["wasmbind"] } gloo-utils = "0.2" log = "0.4" -patternfly-yew = { version = "0.6.1", features = ["tree", "icons-fab"] } -popper-rs = { version = "0.3.2", features = ["yew", "debug"] } +patternfly-yew = { version = "0.7", features = ["tree", "icons-fab"] } +popper-rs = { version = "0.4", features = ["yew", "debug"] } serde_json = "1" -strum = { version = "0.26", features = ["derive"] } +strum = { version = "0.27", features = ["derive"] } url = "2" wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" wasm-logger = "0.2" -yew = { version = "0.21", features = ["csr"] } -yew-hooks = "0.3" -yew-more-hooks = { version = "0.3.3", features = ["yew-hooks"] } -yew-nested-router = "0.7.0" +yew = { version = "0.22", features = ["csr"] } +yew-hooks = "0.4" +yew-more-hooks = { version = "0.4", features = ["yew-hooks"] } +yew-nested-router = "0.8" [dependencies.web-sys] version = "0.3" @@ -36,7 +36,7 @@ features = [ [patch.crates-io] #patternfly-yew = { path = "../patternfly-yew" } -#patternfly-yew = { git = "https://github.com/patternfly-yew/patternfly-yew", rev = "00b862fd1c72a98229b8c56cf13f9009992cf70c" } # FIXME: awaiting release +#patternfly-yew = { git = "https://github.com/patternfly-yew/patternfly-yew", rev = "9d1715d57e6ae801dec48fcfd89c4e6bd5a89366" } # FIXME: awaiting release #yew-nested-router = { path = "../yew-nested-router" } #yew-more-hooks = { git = "https://github.com/ctron/yew-more-hooks", rev = "f535bb2e7b227aac7010035215c11d4aeae6cb62" } # FIXME: awaiting release #yew-more-hooks = { path = "../yew-more-hooks" } diff --git a/assets/images/pf-logo.svg b/assets/images/pf-logo.svg index a47a3cb7..a3011df3 100644 --- a/assets/images/pf-logo.svg +++ b/assets/images/pf-logo.svg @@ -1,18 +1,14 @@ - PF-HorizontalLogo-Reverse + PF-HorizontalLogo-Color - - - + + + - - - - - - + + @@ -24,5 +20,10 @@ + \ No newline at end of file diff --git a/assets/style.scss b/assets/style.scss index 7a39e11f..415c74b6 100644 --- a/assets/style.scss +++ b/assets/style.scss @@ -1,5 +1,5 @@ // only required if you are using the icons-far or icons-fab feature -$fa-font-path: "webfonts"; +// $fa-font-path: "webfonts"; @import "../node_modules/@fortawesome/fontawesome-free/scss/fontawesome"; @import "../node_modules/@fortawesome/fontawesome-free/scss/brands"; diff --git a/package-lock.json b/package-lock.json index 66530cf1..2a7e1a88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,35 +8,36 @@ "name": "patternfly-yew", "version": "0.0.1", "dependencies": { - "@fortawesome/fontawesome-free": "^6.5.2", - "@patternfly/patternfly": "^5.3.0" + "@fortawesome/fontawesome-free": "^7.1.0", + "@patternfly/patternfly": "^6.4.0" } }, "node_modules/@fortawesome/fontawesome-free": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz", - "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==", - "hasInstallScript": true, + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-7.1.0.tgz", + "integrity": "sha512-+WxNld5ZCJHvPQCr/GnzCTVREyStrAJjisUPtUxG5ngDA8TMlPnKp6dddlTpai4+1GNmltAeuk1hJEkBohwZYA==", + "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", "engines": { "node": ">=6" } }, "node_modules/@patternfly/patternfly": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.3.0.tgz", - "integrity": "sha512-93uWA15bOJDgu8NF2iReWbbNtWdtM+v7iaDpK33mJChgej+whiFpGLtQPI2jFk1aVW3rDpbt4qm4OaNinpzSsg==" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-6.4.0.tgz", + "integrity": "sha512-4drFhg74sEc/fftark5wZevODIog17qR4pwLCdB3j5iK3Uu5oMA2SdLhsEeEQggalfnFzve/Km87MdVR0ghhvQ==", + "license": "MIT" } }, "dependencies": { "@fortawesome/fontawesome-free": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz", - "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==" + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-7.1.0.tgz", + "integrity": "sha512-+WxNld5ZCJHvPQCr/GnzCTVREyStrAJjisUPtUxG5ngDA8TMlPnKp6dddlTpai4+1GNmltAeuk1hJEkBohwZYA==" }, "@patternfly/patternfly": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.3.0.tgz", - "integrity": "sha512-93uWA15bOJDgu8NF2iReWbbNtWdtM+v7iaDpK33mJChgej+whiFpGLtQPI2jFk1aVW3rDpbt4qm4OaNinpzSsg==" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-6.4.0.tgz", + "integrity": "sha512-4drFhg74sEc/fftark5wZevODIog17qR4pwLCdB3j5iK3Uu5oMA2SdLhsEeEQggalfnFzve/Km87MdVR0ghhvQ==" } } } diff --git a/package.json b/package.json index be0609b9..cc7cac91 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "@fortawesome/fontawesome-free": "^6.5.2", - "@patternfly/patternfly": "^5.3.0" + "@fortawesome/fontawesome-free": "^7.1.0", + "@patternfly/patternfly": "^6.4.0" }, "//dependencies": { "@fortawesome/fontawesome-free": "Only required if you are enabling the icons-fab or icons-far feature" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index f2b26ced..8fa4835e 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.77.2" +channel = "1.90.0" targets = ["wasm32-unknown-unknown"] diff --git a/src/app/about.rs b/src/app/about.rs index 3ddf067b..f828bfa4 100644 --- a/src/app/about.rs +++ b/src/app/about.rs @@ -12,19 +12,23 @@ pub fn about() -> Html { product_name="PatternFly Yew Quickstart" trademark="Copyright © 2020, 2023 PatternFly for Yew contributors" > -

{ env!("CARGO_PKG_DESCRIPTION") }

-
- - {env!("CARGO_PKG_VERSION")} - {env!("CARGO_PKG_VERSION")} - {env!("CARGO_PKG_LICENSE")} - if let Some(value) = option_env!("BUILD_COMMIT") { - {value} - } - if let Some(value) = option_env!("BUILD_TIMESTAMP") { - {value} - } - +

{ env!("CARGO_PKG_DESCRIPTION") }

+
+ + + { env!("CARGO_PKG_VERSION") } + + { env!("CARGO_PKG_VERSION") } + + { env!("CARGO_PKG_LICENSE") } + + if let Some(value) = option_env!("BUILD_COMMIT") { + { value } + } + if let Some(value) = option_env!("BUILD_TIMESTAMP") { + { value } + } + ) diff --git a/src/app/mod.rs b/src/app/mod.rs index d301f393..8b0d60ba 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -7,8 +7,8 @@ use crate::layouts; use crate::{icons::Icons, panic::Panic}; use patternfly_yew::prelude::*; use yew::prelude::*; -use yew_nested_router::prelude::{Switch as RouterSwitch, *}; use yew_nested_router::Target; +use yew_nested_router::prelude::{Switch as RouterSwitch, *}; mod about; @@ -24,7 +24,6 @@ pub enum Component { Button, Card, Clipboard, - Chip, CodeBlock, Date(Date), DescriptionList, @@ -135,90 +134,105 @@ pub fn app() -> Html { fn switch_app_route(target: AppRoute) -> Html { let component = |target: Component| match target { - Component::Accordion => html! {}, - Component::Alert => html! {}, - Component::Avatar => html! {}, - Component::Backdrop => html! {}, - Component::Badge => html! {}, - Component::Brand => html! {}, - Component::Breadcrumb => html! {}, - Component::Button => html! {}, - Component::Card => html! {}, - Component::Chip => html! {}, - Component::Clipboard => html! {}, - Component::CodeBlock => html! {}, - Component::Date(Date::Calendar) => html! {}, - Component::Date(Date::DatePicker) => html! {}, - Component::DescriptionList => html! {}, - Component::Divider => html! {}, - Component::Drawer => html! {}, - Component::Dropdown => html! {}, - Component::DualListSelector => html! { }, - Component::EmptyState => html! {}, - Component::ExpandableSection => html! {}, - Component::FileUpload => html! {}, - Component::Form(Form::Index) => html! {}, - Component::Form(Form::Checkbox) => html! {}, - Component::Form(Form::Radio) => html! {}, - Component::HelperText => html! {}, - Component::Hint => html! {}, - Component::Label => html! {}, - Component::List => html! {}, - Component::Menu(Menu::Index) => html! {}, - Component::Menu(Menu::Select) => html! {}, - Component::Modal => html! {}, - Component::NumberInput => html! {}, - Component::Pagination => html! {}, - Component::Popover => html! {}, - Component::Progress => html! {}, - Component::SearchInput => html! {}, - Component::SimpleList => html! {}, - Component::Skeleton => html! {}, - Component::Slider => html! {}, - Component::Spinner => html! {}, - Component::Switch => html! {}, - Component::Table => html! {}, - Component::Tabs(current) => html! {}, - Component::Text => html! {}, - Component::TextInputGroup => html! {}, - Component::Title => html! {}, - Component::Toast => html! {}, - Component::ToggleGroup => html! {}, - Component::Tooltip => html! {}, - Component::Tree => html! {}, - Component::Truncate => html! {}, + Component::Accordion => html! { }, + Component::Alert => html! { }, + Component::Avatar => html! { }, + Component::Backdrop => html! { }, + Component::Badge => html! { }, + Component::Brand => html! { }, + Component::Breadcrumb => html! { }, + Component::Button => html! { }, + Component::Card => html! { }, + Component::Clipboard => html! { }, + Component::CodeBlock => html! { }, + Component::Date(Date::Calendar) => html! { }, + Component::Date(Date::DatePicker) => html! { }, + Component::DescriptionList => html! { }, + Component::Divider => html! { }, + Component::Drawer => html! { }, + Component::Dropdown => html! { }, + Component::DualListSelector => html! { }, + Component::EmptyState => html! { }, + Component::ExpandableSection => html! { }, + Component::FileUpload => html! { }, + Component::Form(Form::Index) => html! { }, + Component::Form(Form::Checkbox) => html! { }, + Component::Form(Form::Radio) => html! { }, + Component::HelperText => html! { }, + Component::Hint => html! { }, + Component::Label => html! { }, + Component::List => html! { }, + Component::Menu(Menu::Index) => html! { }, + Component::Menu(Menu::Select) => html! { }, + Component::Modal => html! { }, + Component::NumberInput => html! { }, + Component::Pagination => html! { }, + Component::Popover => html! { }, + Component::Progress => html! { }, + Component::SearchInput => html! { }, + Component::SimpleList => html! { }, + Component::Skeleton => html! { }, + Component::Slider => html! { }, + Component::Spinner => html! { }, + Component::Switch => html! { }, + Component::Table => html! { }, + Component::Tabs(current) => html! { }, + Component::Text => html! { }, + Component::TextInputGroup => html! { }, + Component::Title => html! { }, + Component::Toast => html! { }, + Component::ToggleGroup => html! { }, + Component::Tooltip => html! { }, + Component::Tree => html! { }, + Component::Truncate => html! { }, }; let layout = |target: Layout| match target { - Layout::Bullseye => html! {}, - Layout::Flex => html! {}, - Layout::Gallery => html! {}, - Layout::Grid => html! {}, - Layout::Split => html! {}, - Layout::Stack => html! {}, + Layout::Bullseye => html! { }, + Layout::Flex => html! { }, + Layout::Gallery => html! { }, + Layout::Grid => html! { }, + Layout::Split => html! { }, + Layout::Stack => html! { }, }; let fullpage = |target: FullPage| match target { - FullPage::Login => html! {}, + FullPage::Login => html! { }, }; let fullpage_entrypoint = |target: FullPage| match target { FullPage::Login => { - html! {} + html! { } } }; match target { - AppRoute::Counter => html! {}, - AppRoute::Index => html! {}, - AppRoute::Icons => html! {}, - AppRoute::Panic => html! {}, + AppRoute::Counter => html! { + + + + }, + AppRoute::Index => html! { + + + + }, + AppRoute::Icons => html! { + + + + }, + AppRoute::Panic => html! { + + + + }, AppRoute::FullPageExample(_) => { html!( mapper={AppRoute::mapper_full_page_example}> - render={fullpage_entrypoint}/> + render={fullpage_entrypoint} /> > ) @@ -226,7 +240,7 @@ fn switch_app_route(target: AppRoute) -> Html { AppRoute::FullPage(_) => { html!( mapper={AppRoute::mapper_full_page}> - render={fullpage}/> + render={fullpage} /> > ) } @@ -234,8 +248,8 @@ fn switch_app_route(target: AppRoute) -> Html { AppRoute::Layout(_) => { html!( - mapper={AppRoute::mapper_layout}> - render={layout}/> + mapper={AppRoute::mapper_layout}> + render={layout} /> > ) @@ -244,7 +258,7 @@ fn switch_app_route(target: AppRoute) -> Html { html!( mapper={AppRoute::mapper_component}> - render={component}/> + render={component} /> > ) @@ -264,82 +278,236 @@ fn page(props: &PageProps) -> Html { @@ -348,7 +516,13 @@ fn page(props: &PageProps) -> Html { let brand = html! ( - +
+ +
); @@ -361,7 +535,7 @@ fn page(props: &PageProps) -> Html { let onabout = use_callback((), move |_, ()| { if let Some(backdropper) = &backdropper { - backdropper.open(html!()); + backdropper.open(html!()); } }); @@ -377,7 +551,7 @@ fn page(props: &PageProps) -> Html { // apply dark mode use_effect_with(*darkmode, |state| match state { - true => gloo_utils::document_element().set_class_name("pf-v5-theme-dark"), + true => gloo_utils::document_element().set_class_name("pf-v6-theme-dark"), false => gloo_utils::document_element().set_class_name(""), }); @@ -388,14 +562,22 @@ fn page(props: &PageProps) -> Html { - + - + + {"2 Annotations"} + + +} \ No newline at end of file diff --git a/src/components/description_list/mod.rs b/src/components/description_list/mod.rs index 81b889a7..65b1d773 100644 --- a/src/components/description_list/mod.rs +++ b/src/components/description_list/mod.rs @@ -9,14 +9,16 @@ pub fn description_list() -> Html { let example2 = example! ("DescriptionList (compact)" => "description_list.2.example"); let example3 = example! ("DescriptionList (horizontal)" => "description_list.3.example"); let example4 = example! ("DescriptionList (fluid)" => "description_list.4.example"); + let example5 = example! ("DescriptionList (column fill)" => "description_list.5.example"); html! { <> - {example1} - {example2} - {example3} - {example4} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } } diff --git a/src/components/divider/mod.rs b/src/components/divider/mod.rs index 5ec0a4a3..0c780e00 100644 --- a/src/components/divider/mod.rs +++ b/src/components/divider/mod.rs @@ -15,13 +15,11 @@ pub fn divider() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} - {example5} - - + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } // Fixme: The below examples see issue: #57 // Using a list component // Using a flex component diff --git a/src/components/drawer/mod.rs b/src/components/drawer/mod.rs index 916ae127..a9942d34 100644 --- a/src/components/drawer/mod.rs +++ b/src/components/drawer/mod.rs @@ -12,10 +12,10 @@ pub fn drawer() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} + { example1 } + { example2 } + { example3 } + { example4 } } diff --git a/src/components/dropdown/dropdown.1.example b/src/components/dropdown/dropdown.1.example index dee6e3a2..0f3dde01 100644 --- a/src/components/dropdown/dropdown.1.example +++ b/src/components/dropdown/dropdown.1.example @@ -1,7 +1,7 @@ { html!( {"Foo"} diff --git a/src/components/dropdown/dropdown.3.example b/src/components/dropdown/dropdown.3.example index 76655771..a882096c 100644 --- a/src/components/dropdown/dropdown.3.example +++ b/src/components/dropdown/dropdown.3.example @@ -7,14 +7,14 @@ let icon = html!( fn custom_entry() -> Html { let onclose = use_close_menu_callback(); html!( -
+
@@ -26,7 +26,7 @@ html!{ diff --git a/src/components/dropdown/mod.rs b/src/components/dropdown/mod.rs index 9ac51811..4c8c5198 100644 --- a/src/components/dropdown/mod.rs +++ b/src/components/dropdown/mod.rs @@ -13,11 +13,7 @@ pub fn dropdown_example() -> Html { html! { <> - - {example1} - {example2} - {example3} - + { example1 }{ example2 }{ example3 } } } diff --git a/src/components/dual_list_selector/dual_list_selector.1.example b/src/components/dual_list_selector/dual_list_selector.1.example index 505a909f..ccdc98af 100644 --- a/src/components/dual_list_selector/dual_list_selector.1.example +++ b/src/components/dual_list_selector/dual_list_selector.1.example @@ -1,5 +1,5 @@ { - #[function_component(Example)] + #[component(Example)] fn example() -> Html { let available: Vec = vec![ "Apple", diff --git a/src/components/dual_list_selector/dual_list_selector.2.example b/src/components/dual_list_selector/dual_list_selector.2.example index 29a794be..d03314b1 100644 --- a/src/components/dual_list_selector/dual_list_selector.2.example +++ b/src/components/dual_list_selector/dual_list_selector.2.example @@ -1,5 +1,5 @@ { - #[function_component(Example)] + #[component(Example)] fn example() -> Html { let available: Vec = vec![ "Apple", diff --git a/src/components/dual_list_selector/dual_list_selector.3.example b/src/components/dual_list_selector/dual_list_selector.3.example index bbe2ea00..cea25720 100644 --- a/src/components/dual_list_selector/dual_list_selector.3.example +++ b/src/components/dual_list_selector/dual_list_selector.3.example @@ -1,5 +1,5 @@ { - #[function_component(Example)] + #[component(Example)] fn example() -> Html { let available: Vec = vec![ "Apple", diff --git a/src/components/dual_list_selector/mod.rs b/src/components/dual_list_selector/mod.rs index 13259419..2f51136c 100644 --- a/src/components/dual_list_selector/mod.rs +++ b/src/components/dual_list_selector/mod.rs @@ -1,5 +1,6 @@ use crate::{example, example::ExamplePage}; use patternfly_yew::prelude::*; +use yew::html::IntoPropValue; use yew::prelude::*; #[derive(Debug, Clone, PartialEq)] @@ -17,22 +18,22 @@ impl Fruit { } } -impl ToHtml for Fruit { - fn to_html(&self) -> Html { - html! { {self.name.clone() }} +impl IntoPropValue for Fruit { + fn into_prop_value(self) -> Html { + html! { { self.name.clone() } } } } -#[function_component(DualListSelectorExample)] +impl IntoPropValue for &Fruit { + fn into_prop_value(self) -> Html { + html! { { self.name.clone() } } + } +} + +#[component(DualListSelectorExample)] pub fn view() -> Html { let example1 = example! {"Basic" => "dual_list_selector.1.example"}; let example2 = example! {"Advanced" => "dual_list_selector.2.example"}; let example3 = example! {"Disabled" => "dual_list_selector.3.example"}; - html! ( - - {example1} - {example2} - {example3} - - ) + html! ({ example1 }{ example2 }{ example3 }) } diff --git a/src/components/empty/mod.rs b/src/components/empty/mod.rs index 4d53d385..f72872d0 100644 --- a/src/components/empty/mod.rs +++ b/src/components/empty/mod.rs @@ -18,10 +18,7 @@ impl Component for EmptyStateExample { html! { <> - - {example1} - {example2} - + { example1 }{ example2 } } } diff --git a/src/components/expandable_section/mod.rs b/src/components/expandable_section/mod.rs index e21cdf53..b460b66c 100644 --- a/src/components/expandable_section/mod.rs +++ b/src/components/expandable_section/mod.rs @@ -14,10 +14,10 @@ pub fn example() -> Html { html! ( <> - {example1} - {example2} - {example3} - {example4} + { example1 } + { example2 } + { example3 } + { example4 } ) diff --git a/src/components/file_upload/mod.rs b/src/components/file_upload/mod.rs index 7dece1d9..4de7ad21 100644 --- a/src/components/file_upload/mod.rs +++ b/src/components/file_upload/mod.rs @@ -6,9 +6,5 @@ use yew::prelude::*; pub fn view() -> Html { let example1 = example! {"Basic" => "file_upload.1.example" }; - html! ( - - { example1 } - - ) + html! ({ example1 }) } diff --git a/src/components/form/checkbox/mod.rs b/src/components/form/checkbox/mod.rs index 6c25111f..4a76ae90 100644 --- a/src/components/form/checkbox/mod.rs +++ b/src/components/form/checkbox/mod.rs @@ -7,10 +7,5 @@ pub fn view() -> Html { let example1 = example! {"Basic Checkbox" => "checkbox.1.example" }; let example2 = example! {"Tri-state Checkbox" => "checkbox.2.example" }; - html! ( - - { example1 } - { example2 } - - ) + html! ({ example1 }{ example2 }) } diff --git a/src/components/helper_text/mod.rs b/src/components/helper_text/mod.rs index 233619ef..03f77dbb 100644 --- a/src/components/helper_text/mod.rs +++ b/src/components/helper_text/mod.rs @@ -11,11 +11,7 @@ pub fn helper_text() -> Html { html! { <> - - {example1} - {example2} - {example3} - + { example1 }{ example2 }{ example3 } } } diff --git a/src/components/hint/mod.rs b/src/components/hint/mod.rs index f3112148..61181549 100644 --- a/src/components/hint/mod.rs +++ b/src/components/hint/mod.rs @@ -10,11 +10,7 @@ pub fn hint_example() -> yew::Html { html! { <> - - {example1} - {example2} - {example3} - + { example1 }{ example2 }{ example3 } } } diff --git a/src/components/label/label.1.example b/src/components/label/label.1.example index d6423597..ddb7024b 100644 --- a/src/components/label/label.1.example +++ b/src/components/label/label.1.example @@ -1,16 +1,19 @@ { let onclose = Callback::from(|_|{}); + let onclick = Callback::from(|_|{}); html!( - for Color::iter().map(|color|html!{ + Color::iter().map(|color| html!{ - - + + + + - }) + }).collect::() ) } \ No newline at end of file diff --git a/src/components/label/label.2.example b/src/components/label/label.2.example index 194820a2..6c8e4fa4 100644 --- a/src/components/label/label.2.example +++ b/src/components/label/label.2.example @@ -1,16 +1,19 @@ { let onclose = Callback::from(|_|{}); + let onclick = Callback::from(|_|{}); html!( - for Color::iter().map(|color|html!{ + Color::iter().map(|color| html!{ - - + + + + - }) + }).collect::() ) } \ No newline at end of file diff --git a/src/components/label/mod.rs b/src/components/label/mod.rs index ff2d6687..8b4d7023 100644 --- a/src/components/label/mod.rs +++ b/src/components/label/mod.rs @@ -3,17 +3,14 @@ use patternfly_yew::prelude::*; use strum::IntoEnumIterator; use yew::prelude::*; -#[function_component(LabelExample)] +#[component(LabelExample)] pub fn label_example() -> Html { let example1 = example!("Label" => "label.1.example"); let example2 = example!("Label (outline)" => "label.2.example"); html! ( <> - - {example1} - {example2} - + { example1 }{ example2 } ) } diff --git a/src/components/list/mod.rs b/src/components/list/mod.rs index afc1dac1..654c3dc2 100644 --- a/src/components/list/mod.rs +++ b/src/components/list/mod.rs @@ -14,11 +14,11 @@ pub fn list() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} - {example5} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } } diff --git a/src/components/menu/base/menu.3.example b/src/components/menu/base/menu.3.example index d5bffc10..ab591862 100644 --- a/src/components/menu/base/menu.3.example +++ b/src/components/menu/base/menu.3.example @@ -1,32 +1,10 @@ { - use yew_hooks::prelude::use_click_away; use popper_rs::prelude::*; + use yew_hooks::prelude::use_click_away; + use wasm_bindgen::JsCast; - #[derive(PartialEq, Properties)] - struct ExampleMenuProperties { - r#ref: NodeRef, - style: AttrValue, - } - - #[function_component(ExampleMenu)] - fn example_menu(props: &ExampleMenuProperties) -> Html { - let toaster = use_toaster().unwrap(); - let action = use_callback(toaster, |_, toaster| toaster.toast("Clicked it!")); - - html!( - - { "Action" } - { "Link" } - { "Action (disabled)" } - { "Link (disabled)" } - - { "Action" } - - ) - } - - #[function_component(Example)] - fn example() -> Html { + #[component] + fn Example() -> Html { let expanded = use_state_eq(||false); let away_ref = use_node_ref(); @@ -34,7 +12,14 @@ let menu_ref = use_node_ref(); { let expanded = expanded.clone(); - use_click_away(away_ref.clone(), move |_: Event| expanded.set(false)); + let menu_ref = menu_ref.clone(); + + use_click_away(away_ref.clone(), move |event: Event| { + if let Some(menu) = menu_ref.cast::() + && !menu.contains(event.target().unwrap().dyn_ref::()) { + expanded.set(false) + } + }); } let ontoggle = use_callback(expanded.clone(), |_, expanded| expanded.set(!**expanded)); @@ -42,32 +27,55 @@ let state = use_state_eq(State::default); let onstatechange = use_callback(state.clone(), |new_state, state| state.set(new_state)); + let style = use_state_eq(|| state.styles.popper.clone().extend_with("opacity", "0")); + + let width_mods = { + let style = style.clone(); + let state = state.clone(); + + ModifierFn(std::rc::Rc::new(wasm_bindgen::prelude::Closure::new( + move |_: popper_rs::sys::ModifierArguments| { + let new_style = state.styles.popper + .extend_with("z-index", "9999") + .extend_with("opacity", "1") + .extend_with("transition", "opacity"); + + style.set(new_style) + }, + ))) + }; + + let modifiers = Vec::from([Modifier::Custom { + name: "widthMods".into(), + phase: Some("beforeWrite".into()), + enabled: Some(true), + r#fn: Some(width_mods), + }]); + + let toaster = use_toaster().unwrap(); + let action = use_callback(toaster, |_, toaster| toaster.toast("Clicked it!")); + html!( <>
- - - - - + + { "Action" } + +
) diff --git a/src/components/menu/base/menu.4.example b/src/components/menu/base/menu.4.example index c9f3168b..55d93d0a 100644 --- a/src/components/menu/base/menu.4.example +++ b/src/components/menu/base/menu.4.example @@ -1,13 +1,13 @@ { - #[function_component(Example)] - fn example() -> Html { + #[component] + fn Example() -> Html { let toaster = use_toaster().unwrap(); let action = use_callback(toaster, |_, toaster| toaster.toast("Clicked it!")); html!( { "Action" } { "Link" } diff --git a/src/components/menu/base/mod.rs b/src/components/menu/base/mod.rs index 08776b61..2903d724 100644 --- a/src/components/menu/base/mod.rs +++ b/src/components/menu/base/mod.rs @@ -13,13 +13,6 @@ pub fn menu_example() -> Html { let example4 = example!("Simple Drop Down" => "menu.4.example"); html! { - <> - - {example1} - {example2} - {example3} - {example4} - - + { example1 }{ example2 }{ example3 }{ example4 } } } diff --git a/src/components/menu/select/mod.rs b/src/components/menu/select/mod.rs index 1dd0c4ae..8f5d7e09 100644 --- a/src/components/menu/select/mod.rs +++ b/src/components/menu/select/mod.rs @@ -8,9 +8,7 @@ pub fn select_example() -> Html { html! { <> - - {example1} - + { example1 } } } diff --git a/src/components/mod.rs b/src/components/mod.rs index dc61dea3..a3939637 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -7,7 +7,6 @@ mod brand; mod breadcrumb; mod button; mod card; -mod chip; mod clipboard; mod code_block; mod date; @@ -56,7 +55,6 @@ pub use brand::*; pub use breadcrumb::*; pub use button::*; pub use card::*; -pub use chip::*; pub use clipboard::*; pub use code_block::*; pub use date::*; diff --git a/src/components/modal/mod.rs b/src/components/modal/mod.rs index f63cbc96..6a804d26 100644 --- a/src/components/modal/mod.rs +++ b/src/components/modal/mod.rs @@ -18,10 +18,7 @@ pub fn modal_example() -> Html { html! { <> - - {example1} - {example2} - + { example1 }{ example2 } } } diff --git a/src/components/modal/modal.2.example b/src/components/modal/modal.2.example index 991b2d54..50258bb6 100644 --- a/src/components/modal/modal.2.example +++ b/src/components/modal/modal.2.example @@ -1,7 +1,7 @@ { let footer = html!{<> - - + + }; html!( diff --git a/src/components/number_input/mod.rs b/src/components/number_input/mod.rs index 52a417ea..e4251262 100644 --- a/src/components/number_input/mod.rs +++ b/src/components/number_input/mod.rs @@ -14,12 +14,12 @@ pub fn modal_example() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} - {example5} - {example6} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } + { example6 } } diff --git a/src/components/pagination/mod.rs b/src/components/pagination/mod.rs index abd9f0aa..d05132cd 100644 --- a/src/components/pagination/mod.rs +++ b/src/components/pagination/mod.rs @@ -1,8 +1,8 @@ use crate::{example, example::ExamplePage}; use patternfly_yew::{ components::table::{ - use_table_data, Cell, CellContext, MemoizedTableModel, Table, TableColumn, - TableEntryRenderer, TableHeader, UseTableData, + Cell, CellContext, MemoizedTableModel, Table, TableColumn, TableEntryRenderer, TableHeader, + UseTableData, use_table_data, }, components::toolbar::{Toolbar, ToolbarContent}, prelude::*, @@ -35,10 +35,5 @@ pub fn pagination_example() -> Html { let example1 = example!("Basic Example" => "pagination.1.example"); let example2 = example!("Hook Example" => "pagination.2.example"); - html! { - - {example1} - {example2} - - } + html! { { example1 }{ example2 } } } diff --git a/src/components/pagination/pagination.1.example b/src/components/pagination/pagination.1.example index 9641a88a..c1d3c260 100644 --- a/src/components/pagination/pagination.1.example +++ b/src/components/pagination/pagination.1.example @@ -25,6 +25,7 @@ fn example() -> Html { let total_entries = Some(TOTAL_ENTRIES); let limit_callback = use_callback(limit.clone(), |number, limit| { + log::warn!("limit changed to {}", number); limit.set(number) }); diff --git a/src/components/popover/mod.rs b/src/components/popover/mod.rs index 2d86e151..26c933d8 100644 --- a/src/components/popover/mod.rs +++ b/src/components/popover/mod.rs @@ -10,10 +10,7 @@ pub fn popover_example() -> Html { html! { <> - - {example1} - {example2} - + { example1 }{ example2 } } } diff --git a/src/components/progress/mod.rs b/src/components/progress/mod.rs index 67535f00..526259db 100644 --- a/src/components/progress/mod.rs +++ b/src/components/progress/mod.rs @@ -13,11 +13,11 @@ pub fn progress() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} - {example5} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } } diff --git a/src/components/search_input/mod.rs b/src/components/search_input/mod.rs index a400ff89..c63f2c6c 100644 --- a/src/components/search_input/mod.rs +++ b/src/components/search_input/mod.rs @@ -17,12 +17,12 @@ pub fn search_input() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} - {example5} - {example6} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } + { example6 } } diff --git a/src/components/search_input/search_input.6.example b/src/components/search_input/search_input.6.example index 642864d1..bd45f0ca 100644 --- a/src/components/search_input/search_input.6.example +++ b/src/components/search_input/search_input.6.example @@ -134,7 +134,7 @@ }) }; html_nested!( - { value } + { *value } ) })} diff --git a/src/components/simple_list/mod.rs b/src/components/simple_list/mod.rs index 9b2255a3..883d122d 100644 --- a/src/components/simple_list/mod.rs +++ b/src/components/simple_list/mod.rs @@ -14,8 +14,8 @@ pub fn search_input() -> Html { html! { <> - {example1} - {example2} + { example1 } + { example2 } // {example3} // {example4} // {example5} diff --git a/src/components/skeleton/mod.rs b/src/components/skeleton/mod.rs index 306615d8..96ebdff1 100644 --- a/src/components/skeleton/mod.rs +++ b/src/components/skeleton/mod.rs @@ -13,11 +13,11 @@ pub fn skeleton() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} - {example5} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } } diff --git a/src/components/slider/mod.rs b/src/components/slider/mod.rs index d629e686..f6143d67 100644 --- a/src/components/slider/mod.rs +++ b/src/components/slider/mod.rs @@ -12,10 +12,10 @@ pub fn slider() -> Html { html! ( <> - {example1} - {example2} - {example3} - {example4} + { example1 } + { example2 } + { example3 } + { example4 } ) diff --git a/src/components/spinner/mod.rs b/src/components/spinner/mod.rs index 46263bdb..e9b1d0c4 100644 --- a/src/components/spinner/mod.rs +++ b/src/components/spinner/mod.rs @@ -10,11 +10,7 @@ pub fn spinner() -> Html { html! { <> - - {example1} - {example2} - {example3} - + { example1 }{ example2 }{ example3 } } } diff --git a/src/components/switch/mod.rs b/src/components/switch/mod.rs index bf37862a..bb0a05f4 100644 --- a/src/components/switch/mod.rs +++ b/src/components/switch/mod.rs @@ -10,11 +10,7 @@ pub fn switch_example() -> Html { html! { <> - - {example1} - {example2} - {example3} - + { example1 }{ example2 }{ example3 } } } diff --git a/src/components/table/mod.rs b/src/components/table/mod.rs index 14338b96..4c53703c 100644 --- a/src/components/table/mod.rs +++ b/src/components/table/mod.rs @@ -2,8 +2,8 @@ use crate::{example, example::ExamplePage}; use chrono::Utc; use patternfly_yew::{ components::table::{ - use_table_data, Cell, CellContext, ColumnWidth, MemoizedTableModel, Span, Table, - TableColumn, TableEntryRenderer, TableHeader, UseStateTableModel, UseTableData, + Cell, CellContext, ColumnWidth, MemoizedTableModel, Span, Table, TableColumn, + TableEntryRenderer, TableHeader, UseStateTableModel, UseTableData, use_table_data, }, prelude::*, }; @@ -27,9 +27,7 @@ impl TableEntryRenderer for ExampleEntry { Columns::First => html!({ &self.foo }), Columns::Second => html!({ &self.foo.len() }), // this is a column which can't be seen - Columns::Third => html! ( - {"Link"} - ), + Columns::Third => html! ({ "Link" }), } .into() } @@ -114,18 +112,18 @@ pub fn example() -> Html { html! { <> - {example1} - {example2} - {example3} - {example4} - {example5} - {example6} - {example7} - {example8} - {example9} - {example10} - {example11} - {example12} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } + { example6 } + { example7 } + { example8 } + { example9 } + { example10 } + { example11 } + { example12 } } diff --git a/src/components/tabs/mod.rs b/src/components/tabs/mod.rs index aab75afd..4f0fd92b 100644 --- a/src/components/tabs/mod.rs +++ b/src/components/tabs/mod.rs @@ -34,11 +34,7 @@ impl Component for TabsExample { html! { mapper={crate::app::Component::mapper_tabs}> - - {example1} - {example2} - {example3} - + { example1 }{ example2 }{ example3 } > } } diff --git a/src/components/text/mod.rs b/src/components/text/mod.rs index 016cb3ae..94285e1c 100644 --- a/src/components/text/mod.rs +++ b/src/components/text/mod.rs @@ -9,10 +9,7 @@ pub fn text_example() -> Html { html! { <> - - {example1} - {example2} - + { example1 }{ example2 } } } diff --git a/src/components/text_input_group/mod.rs b/src/components/text_input_group/mod.rs index 8e93c4b5..0bf3ff8c 100644 --- a/src/components/text_input_group/mod.rs +++ b/src/components/text_input_group/mod.rs @@ -12,11 +12,7 @@ pub fn text_input_group() -> Html { html! { <> - - {example1} - {example2} - {example3} - + { example1 }{ example2 }{ example3 } } } diff --git a/src/components/title/mod.rs b/src/components/title/mod.rs index fd9409f8..ce97541b 100644 --- a/src/components/title/mod.rs +++ b/src/components/title/mod.rs @@ -9,10 +9,7 @@ pub fn title_example() -> Html { html! { <> - - {example1} - {example2} - + { example1 }{ example2 } } } diff --git a/src/components/toast/mod.rs b/src/components/toast/mod.rs index 03262cfe..67f783f1 100644 --- a/src/components/toast/mod.rs +++ b/src/components/toast/mod.rs @@ -9,9 +9,5 @@ pub fn toast() -> Html { let example1 = example!("Toast" => "toast.1.example"); - html!( - - {example1} - - ) + html!({ example1 }) } diff --git a/src/components/toggle_group/mod.rs b/src/components/toggle_group/mod.rs index 1438ec81..409b8052 100644 --- a/src/components/toggle_group/mod.rs +++ b/src/components/toggle_group/mod.rs @@ -12,11 +12,11 @@ pub fn toast() -> Html { html!( - {example1} - {example2} - {example3} - {example4} - {example5} + { example1 } + { example2 } + { example3 } + { example4 } + { example5 } ) } diff --git a/src/components/tooltip/mod.rs b/src/components/tooltip/mod.rs index ff4c199d..67e778e8 100644 --- a/src/components/tooltip/mod.rs +++ b/src/components/tooltip/mod.rs @@ -9,10 +9,7 @@ pub fn tooltip() -> Html { html! { <> - - {example1} - {example2} - + { example1 }{ example2 } } } diff --git a/src/components/tree/mod.rs b/src/components/tree/mod.rs index 00bc123c..d1b0000f 100644 --- a/src/components/tree/mod.rs +++ b/src/components/tree/mod.rs @@ -17,9 +17,7 @@ pub fn tree_example() -> Html { html! ( <> - - {example1} - + { example1 } ) } diff --git a/src/components/truncate/mod.rs b/src/components/truncate/mod.rs index b6eb355e..b8c29875 100644 --- a/src/components/truncate/mod.rs +++ b/src/components/truncate/mod.rs @@ -13,7 +13,16 @@ pub fn truncate_example() -> Html { #[function_component(Resize)] fn resize(props: &ChildrenProperties) -> Html { html!( -
+
{ props.children.clone() }
) @@ -22,10 +31,10 @@ pub fn truncate_example() -> Html { html! ( <> - {example1} - {example2} - {example3} - {example4} + { example1 } + { example2 } + { example3 } + { example4 } ) diff --git a/src/counter.rs b/src/counter.rs index 214dc942..c6a88222 100644 --- a/src/counter.rs +++ b/src/counter.rs @@ -12,10 +12,11 @@ pub fn counter() -> Html { - {"Clicks"} + { "Clicks" }

{ *counter }

-
); @@ -52,9 +58,17 @@ pub fn icons() -> Html { let header = html_nested! { > - width={ColumnWidth::Percent(10)} label="" index={Columns::Icon}/> - width={ColumnWidth::Percent(20)} label="Name" index={Columns::Name}/> - width={ColumnWidth::Percent(70)} label="Description" index={Columns::Description}/> + width={ColumnWidth::Percent(10)} label="" index={Columns::Icon} /> + + width={ColumnWidth::Percent(20)} + label="Name" + index={Columns::Name} + /> + + width={ColumnWidth::Percent(70)} + label="Description" + index={Columns::Description} + /> > }; @@ -100,14 +114,17 @@ pub fn icons() -> Html { /> if !filter.is_empty() { -