` nodes, so `
` can work on them instead.\
79 | As of writing this, I'm not sure how to fix this, but I will investigate this in the future.
80 |
81 | - Elements rendered on server-side have no `enter_from_class` applied initially. In combination with `appear` prop, the nodes may be visible for a short time before the enter animation starts.\
82 | If you care about the initial entering transition, make sure that the list is rendered only in the browser.
83 |
84 | ## TODO
85 |
86 | - [ ] Tests
87 | - [ ] Investigate the known issues
88 | - [ ] Detect duplicate keys for better developer experience
89 | - [ ] Add ability to define custom handlers when an element enters "before enter" / "enter" / "move" / "leave" state
90 | - [ ] Optional properties for explicit animation durations
91 | - [ ] Optional bool prop for enabling resize animations
92 | - [ ] Optional bool prop for assigning a static `z-index` to each child, so triggering a move transition before the previous one has finished doesn't cause overlapping elements to be chaotically moved from front to back and vice versa.
93 |
94 | ## License
95 |
96 | [MIT License](https://opensource.org/licenses/MIT)
97 |
98 | Copyright (c) 2023-PRESENT Kajetan Welc
99 |
100 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
101 |
102 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
103 |
104 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
105 |
--------------------------------------------------------------------------------
/docs/preview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/brofrain/leptos-animated-for/8f67a527e577b9f705dc3bc25acb7939df5bb707/docs/preview.gif
--------------------------------------------------------------------------------
/examples/csr/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "rust-analyzer.check.command": "clippy",
3 | "rust-analyzer.procMacro.ignored": {
4 | "leptos_macro": ["component"]
5 | },
6 | "rust-analyzer.rustfmt.overrideCommand": ["leptosfmt", "--stdin", "--rustfmt"]
7 | }
8 |
--------------------------------------------------------------------------------
/examples/csr/Cargo.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Cargo.
2 | # It is not intended for manual editing.
3 | version = 3
4 |
5 | [[package]]
6 | name = "aho-corasick"
7 | version = "1.1.3"
8 | source = "registry+https://github.com/rust-lang/crates.io-index"
9 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
10 | dependencies = [
11 | "memchr",
12 | ]
13 |
14 | [[package]]
15 | name = "anyhow"
16 | version = "1.0.86"
17 | source = "registry+https://github.com/rust-lang/crates.io-index"
18 | checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
19 |
20 | [[package]]
21 | name = "async-recursion"
22 | version = "1.1.1"
23 | source = "registry+https://github.com/rust-lang/crates.io-index"
24 | checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
25 | dependencies = [
26 | "proc-macro2",
27 | "quote",
28 | "syn",
29 | ]
30 |
31 | [[package]]
32 | name = "attribute-derive"
33 | version = "0.9.1"
34 | source = "registry+https://github.com/rust-lang/crates.io-index"
35 | checksum = "8b48808b337d6b74c15ff9becfc0e139fe2b4e2b224d670a0ecdb46b0b2d3d9b"
36 | dependencies = [
37 | "attribute-derive-macro",
38 | "derive-where",
39 | "manyhow",
40 | "proc-macro2",
41 | "quote",
42 | "syn",
43 | ]
44 |
45 | [[package]]
46 | name = "attribute-derive-macro"
47 | version = "0.9.1"
48 | source = "registry+https://github.com/rust-lang/crates.io-index"
49 | checksum = "5b19cbd63850ecff821c413e12846a67ec9f4ce7309c70959b94ecf9b2575ee2"
50 | dependencies = [
51 | "collection_literals",
52 | "interpolator",
53 | "manyhow",
54 | "proc-macro-utils",
55 | "proc-macro2",
56 | "quote",
57 | "quote-use",
58 | "syn",
59 | ]
60 |
61 | [[package]]
62 | name = "autocfg"
63 | version = "1.3.0"
64 | source = "registry+https://github.com/rust-lang/crates.io-index"
65 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
66 |
67 | [[package]]
68 | name = "base64"
69 | version = "0.22.1"
70 | source = "registry+https://github.com/rust-lang/crates.io-index"
71 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
72 |
73 | [[package]]
74 | name = "bitflags"
75 | version = "2.5.0"
76 | source = "registry+https://github.com/rust-lang/crates.io-index"
77 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
78 |
79 | [[package]]
80 | name = "bumpalo"
81 | version = "3.16.0"
82 | source = "registry+https://github.com/rust-lang/crates.io-index"
83 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
84 |
85 | [[package]]
86 | name = "bytes"
87 | version = "1.6.0"
88 | source = "registry+https://github.com/rust-lang/crates.io-index"
89 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
90 |
91 | [[package]]
92 | name = "camino"
93 | version = "1.1.7"
94 | source = "registry+https://github.com/rust-lang/crates.io-index"
95 | checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239"
96 |
97 | [[package]]
98 | name = "cfg-if"
99 | version = "1.0.0"
100 | source = "registry+https://github.com/rust-lang/crates.io-index"
101 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
102 |
103 | [[package]]
104 | name = "ciborium"
105 | version = "0.2.2"
106 | source = "registry+https://github.com/rust-lang/crates.io-index"
107 | checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
108 | dependencies = [
109 | "ciborium-io",
110 | "ciborium-ll",
111 | "serde",
112 | ]
113 |
114 | [[package]]
115 | name = "ciborium-io"
116 | version = "0.2.2"
117 | source = "registry+https://github.com/rust-lang/crates.io-index"
118 | checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
119 |
120 | [[package]]
121 | name = "ciborium-ll"
122 | version = "0.2.2"
123 | source = "registry+https://github.com/rust-lang/crates.io-index"
124 | checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
125 | dependencies = [
126 | "ciborium-io",
127 | "half",
128 | ]
129 |
130 | [[package]]
131 | name = "collection_literals"
132 | version = "1.0.1"
133 | source = "registry+https://github.com/rust-lang/crates.io-index"
134 | checksum = "186dce98367766de751c42c4f03970fc60fc012296e706ccbb9d5df9b6c1e271"
135 |
136 | [[package]]
137 | name = "config"
138 | version = "0.14.0"
139 | source = "registry+https://github.com/rust-lang/crates.io-index"
140 | checksum = "7328b20597b53c2454f0b1919720c25c7339051c02b72b7e05409e00b14132be"
141 | dependencies = [
142 | "convert_case",
143 | "lazy_static",
144 | "nom",
145 | "pathdiff",
146 | "serde",
147 | "toml",
148 | ]
149 |
150 | [[package]]
151 | name = "console_error_panic_hook"
152 | version = "0.1.7"
153 | source = "registry+https://github.com/rust-lang/crates.io-index"
154 | checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
155 | dependencies = [
156 | "cfg-if",
157 | "wasm-bindgen",
158 | ]
159 |
160 | [[package]]
161 | name = "console_log"
162 | version = "1.0.0"
163 | source = "registry+https://github.com/rust-lang/crates.io-index"
164 | checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f"
165 | dependencies = [
166 | "log",
167 | "web-sys",
168 | ]
169 |
170 | [[package]]
171 | name = "const_format"
172 | version = "0.2.32"
173 | source = "registry+https://github.com/rust-lang/crates.io-index"
174 | checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673"
175 | dependencies = [
176 | "const_format_proc_macros",
177 | ]
178 |
179 | [[package]]
180 | name = "const_format_proc_macros"
181 | version = "0.2.32"
182 | source = "registry+https://github.com/rust-lang/crates.io-index"
183 | checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500"
184 | dependencies = [
185 | "proc-macro2",
186 | "quote",
187 | "unicode-xid",
188 | ]
189 |
190 | [[package]]
191 | name = "convert_case"
192 | version = "0.6.0"
193 | source = "registry+https://github.com/rust-lang/crates.io-index"
194 | checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
195 | dependencies = [
196 | "unicode-segmentation",
197 | ]
198 |
199 | [[package]]
200 | name = "crunchy"
201 | version = "0.2.2"
202 | source = "registry+https://github.com/rust-lang/crates.io-index"
203 | checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
204 |
205 | [[package]]
206 | name = "csr-example"
207 | version = "0.0.0"
208 | dependencies = [
209 | "console_error_panic_hook",
210 | "console_log",
211 | "getrandom",
212 | "leptos",
213 | "leptos_animated_for",
214 | "log",
215 | "rand",
216 | ]
217 |
218 | [[package]]
219 | name = "dashmap"
220 | version = "5.5.3"
221 | source = "registry+https://github.com/rust-lang/crates.io-index"
222 | checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
223 | dependencies = [
224 | "cfg-if",
225 | "hashbrown",
226 | "lock_api",
227 | "once_cell",
228 | "parking_lot_core",
229 | ]
230 |
231 | [[package]]
232 | name = "derive-where"
233 | version = "1.2.7"
234 | source = "registry+https://github.com/rust-lang/crates.io-index"
235 | checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25"
236 | dependencies = [
237 | "proc-macro2",
238 | "quote",
239 | "syn",
240 | ]
241 |
242 | [[package]]
243 | name = "displaydoc"
244 | version = "0.2.4"
245 | source = "registry+https://github.com/rust-lang/crates.io-index"
246 | checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
247 | dependencies = [
248 | "proc-macro2",
249 | "quote",
250 | "syn",
251 | ]
252 |
253 | [[package]]
254 | name = "drain_filter_polyfill"
255 | version = "0.1.3"
256 | source = "registry+https://github.com/rust-lang/crates.io-index"
257 | checksum = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408"
258 |
259 | [[package]]
260 | name = "either"
261 | version = "1.12.0"
262 | source = "registry+https://github.com/rust-lang/crates.io-index"
263 | checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
264 |
265 | [[package]]
266 | name = "equivalent"
267 | version = "1.0.1"
268 | source = "registry+https://github.com/rust-lang/crates.io-index"
269 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
270 |
271 | [[package]]
272 | name = "fnv"
273 | version = "1.0.7"
274 | source = "registry+https://github.com/rust-lang/crates.io-index"
275 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
276 |
277 | [[package]]
278 | name = "form_urlencoded"
279 | version = "1.2.1"
280 | source = "registry+https://github.com/rust-lang/crates.io-index"
281 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
282 | dependencies = [
283 | "percent-encoding",
284 | ]
285 |
286 | [[package]]
287 | name = "futures"
288 | version = "0.3.30"
289 | source = "registry+https://github.com/rust-lang/crates.io-index"
290 | checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
291 | dependencies = [
292 | "futures-channel",
293 | "futures-core",
294 | "futures-executor",
295 | "futures-io",
296 | "futures-sink",
297 | "futures-task",
298 | "futures-util",
299 | ]
300 |
301 | [[package]]
302 | name = "futures-channel"
303 | version = "0.3.30"
304 | source = "registry+https://github.com/rust-lang/crates.io-index"
305 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
306 | dependencies = [
307 | "futures-core",
308 | "futures-sink",
309 | ]
310 |
311 | [[package]]
312 | name = "futures-core"
313 | version = "0.3.30"
314 | source = "registry+https://github.com/rust-lang/crates.io-index"
315 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
316 |
317 | [[package]]
318 | name = "futures-executor"
319 | version = "0.3.30"
320 | source = "registry+https://github.com/rust-lang/crates.io-index"
321 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
322 | dependencies = [
323 | "futures-core",
324 | "futures-task",
325 | "futures-util",
326 | ]
327 |
328 | [[package]]
329 | name = "futures-io"
330 | version = "0.3.30"
331 | source = "registry+https://github.com/rust-lang/crates.io-index"
332 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
333 |
334 | [[package]]
335 | name = "futures-macro"
336 | version = "0.3.30"
337 | source = "registry+https://github.com/rust-lang/crates.io-index"
338 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
339 | dependencies = [
340 | "proc-macro2",
341 | "quote",
342 | "syn",
343 | ]
344 |
345 | [[package]]
346 | name = "futures-sink"
347 | version = "0.3.30"
348 | source = "registry+https://github.com/rust-lang/crates.io-index"
349 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
350 |
351 | [[package]]
352 | name = "futures-task"
353 | version = "0.3.30"
354 | source = "registry+https://github.com/rust-lang/crates.io-index"
355 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
356 |
357 | [[package]]
358 | name = "futures-util"
359 | version = "0.3.30"
360 | source = "registry+https://github.com/rust-lang/crates.io-index"
361 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
362 | dependencies = [
363 | "futures-channel",
364 | "futures-core",
365 | "futures-io",
366 | "futures-macro",
367 | "futures-sink",
368 | "futures-task",
369 | "memchr",
370 | "pin-project-lite",
371 | "pin-utils",
372 | "slab",
373 | ]
374 |
375 | [[package]]
376 | name = "getrandom"
377 | version = "0.2.15"
378 | source = "registry+https://github.com/rust-lang/crates.io-index"
379 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
380 | dependencies = [
381 | "cfg-if",
382 | "js-sys",
383 | "libc",
384 | "wasi",
385 | "wasm-bindgen",
386 | ]
387 |
388 | [[package]]
389 | name = "gloo-net"
390 | version = "0.5.0"
391 | source = "registry+https://github.com/rust-lang/crates.io-index"
392 | checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173"
393 | dependencies = [
394 | "futures-channel",
395 | "futures-core",
396 | "futures-sink",
397 | "gloo-utils",
398 | "http 0.2.12",
399 | "js-sys",
400 | "pin-project",
401 | "serde",
402 | "serde_json",
403 | "thiserror",
404 | "wasm-bindgen",
405 | "wasm-bindgen-futures",
406 | "web-sys",
407 | ]
408 |
409 | [[package]]
410 | name = "gloo-utils"
411 | version = "0.2.0"
412 | source = "registry+https://github.com/rust-lang/crates.io-index"
413 | checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa"
414 | dependencies = [
415 | "js-sys",
416 | "serde",
417 | "serde_json",
418 | "wasm-bindgen",
419 | "web-sys",
420 | ]
421 |
422 | [[package]]
423 | name = "half"
424 | version = "2.4.1"
425 | source = "registry+https://github.com/rust-lang/crates.io-index"
426 | checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
427 | dependencies = [
428 | "cfg-if",
429 | "crunchy",
430 | ]
431 |
432 | [[package]]
433 | name = "hashbrown"
434 | version = "0.14.5"
435 | source = "registry+https://github.com/rust-lang/crates.io-index"
436 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
437 |
438 | [[package]]
439 | name = "html-escape"
440 | version = "0.2.13"
441 | source = "registry+https://github.com/rust-lang/crates.io-index"
442 | checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476"
443 | dependencies = [
444 | "utf8-width",
445 | ]
446 |
447 | [[package]]
448 | name = "http"
449 | version = "0.2.12"
450 | source = "registry+https://github.com/rust-lang/crates.io-index"
451 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
452 | dependencies = [
453 | "bytes",
454 | "fnv",
455 | "itoa",
456 | ]
457 |
458 | [[package]]
459 | name = "http"
460 | version = "1.1.0"
461 | source = "registry+https://github.com/rust-lang/crates.io-index"
462 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
463 | dependencies = [
464 | "bytes",
465 | "fnv",
466 | "itoa",
467 | ]
468 |
469 | [[package]]
470 | name = "icu_collections"
471 | version = "1.5.0"
472 | source = "registry+https://github.com/rust-lang/crates.io-index"
473 | checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
474 | dependencies = [
475 | "displaydoc",
476 | "yoke",
477 | "zerofrom",
478 | "zerovec",
479 | ]
480 |
481 | [[package]]
482 | name = "icu_locid"
483 | version = "1.5.0"
484 | source = "registry+https://github.com/rust-lang/crates.io-index"
485 | checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
486 | dependencies = [
487 | "displaydoc",
488 | "litemap",
489 | "tinystr",
490 | "writeable",
491 | "zerovec",
492 | ]
493 |
494 | [[package]]
495 | name = "icu_locid_transform"
496 | version = "1.5.0"
497 | source = "registry+https://github.com/rust-lang/crates.io-index"
498 | checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
499 | dependencies = [
500 | "displaydoc",
501 | "icu_locid",
502 | "icu_locid_transform_data",
503 | "icu_provider",
504 | "tinystr",
505 | "zerovec",
506 | ]
507 |
508 | [[package]]
509 | name = "icu_locid_transform_data"
510 | version = "1.5.0"
511 | source = "registry+https://github.com/rust-lang/crates.io-index"
512 | checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
513 |
514 | [[package]]
515 | name = "icu_normalizer"
516 | version = "1.5.0"
517 | source = "registry+https://github.com/rust-lang/crates.io-index"
518 | checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
519 | dependencies = [
520 | "displaydoc",
521 | "icu_collections",
522 | "icu_normalizer_data",
523 | "icu_properties",
524 | "icu_provider",
525 | "smallvec",
526 | "utf16_iter",
527 | "utf8_iter",
528 | "write16",
529 | "zerovec",
530 | ]
531 |
532 | [[package]]
533 | name = "icu_normalizer_data"
534 | version = "1.5.0"
535 | source = "registry+https://github.com/rust-lang/crates.io-index"
536 | checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
537 |
538 | [[package]]
539 | name = "icu_properties"
540 | version = "1.5.0"
541 | source = "registry+https://github.com/rust-lang/crates.io-index"
542 | checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036"
543 | dependencies = [
544 | "displaydoc",
545 | "icu_collections",
546 | "icu_locid_transform",
547 | "icu_properties_data",
548 | "icu_provider",
549 | "tinystr",
550 | "zerovec",
551 | ]
552 |
553 | [[package]]
554 | name = "icu_properties_data"
555 | version = "1.5.0"
556 | source = "registry+https://github.com/rust-lang/crates.io-index"
557 | checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
558 |
559 | [[package]]
560 | name = "icu_provider"
561 | version = "1.5.0"
562 | source = "registry+https://github.com/rust-lang/crates.io-index"
563 | checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
564 | dependencies = [
565 | "displaydoc",
566 | "icu_locid",
567 | "icu_provider_macros",
568 | "stable_deref_trait",
569 | "tinystr",
570 | "writeable",
571 | "yoke",
572 | "zerofrom",
573 | "zerovec",
574 | ]
575 |
576 | [[package]]
577 | name = "icu_provider_macros"
578 | version = "1.5.0"
579 | source = "registry+https://github.com/rust-lang/crates.io-index"
580 | checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
581 | dependencies = [
582 | "proc-macro2",
583 | "quote",
584 | "syn",
585 | ]
586 |
587 | [[package]]
588 | name = "idna"
589 | version = "1.0.0"
590 | source = "registry+https://github.com/rust-lang/crates.io-index"
591 | checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed"
592 | dependencies = [
593 | "icu_normalizer",
594 | "icu_properties",
595 | "smallvec",
596 | "utf8_iter",
597 | ]
598 |
599 | [[package]]
600 | name = "indexmap"
601 | version = "2.2.6"
602 | source = "registry+https://github.com/rust-lang/crates.io-index"
603 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
604 | dependencies = [
605 | "equivalent",
606 | "hashbrown",
607 | ]
608 |
609 | [[package]]
610 | name = "interpolator"
611 | version = "0.5.0"
612 | source = "registry+https://github.com/rust-lang/crates.io-index"
613 | checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8"
614 |
615 | [[package]]
616 | name = "inventory"
617 | version = "0.3.15"
618 | source = "registry+https://github.com/rust-lang/crates.io-index"
619 | checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767"
620 |
621 | [[package]]
622 | name = "itertools"
623 | version = "0.12.1"
624 | source = "registry+https://github.com/rust-lang/crates.io-index"
625 | checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
626 | dependencies = [
627 | "either",
628 | ]
629 |
630 | [[package]]
631 | name = "itoa"
632 | version = "1.0.11"
633 | source = "registry+https://github.com/rust-lang/crates.io-index"
634 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
635 |
636 | [[package]]
637 | name = "js-sys"
638 | version = "0.3.69"
639 | source = "registry+https://github.com/rust-lang/crates.io-index"
640 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
641 | dependencies = [
642 | "wasm-bindgen",
643 | ]
644 |
645 | [[package]]
646 | name = "lazy_static"
647 | version = "1.4.0"
648 | source = "registry+https://github.com/rust-lang/crates.io-index"
649 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
650 |
651 | [[package]]
652 | name = "leptos"
653 | version = "0.6.13"
654 | source = "registry+https://github.com/rust-lang/crates.io-index"
655 | checksum = "57727cd8f6d1e78aa9721270002037d7f63b5a7a2b60a7830239f6938cbca9b7"
656 | dependencies = [
657 | "cfg-if",
658 | "leptos_config",
659 | "leptos_dom",
660 | "leptos_macro",
661 | "leptos_reactive",
662 | "leptos_server",
663 | "server_fn",
664 | "tracing",
665 | "typed-builder",
666 | "typed-builder-macro",
667 | "wasm-bindgen",
668 | "web-sys",
669 | ]
670 |
671 | [[package]]
672 | name = "leptos_animated_for"
673 | version = "0.4.7"
674 | dependencies = [
675 | "futures",
676 | "leptos",
677 | "wasm-bindgen",
678 | "web-sys",
679 | ]
680 |
681 | [[package]]
682 | name = "leptos_config"
683 | version = "0.6.13"
684 | source = "registry+https://github.com/rust-lang/crates.io-index"
685 | checksum = "6e519478cf13b84e0169f14660fda6425a419d181903cf511cec416555c9ff51"
686 | dependencies = [
687 | "config",
688 | "regex",
689 | "serde",
690 | "thiserror",
691 | "typed-builder",
692 | ]
693 |
694 | [[package]]
695 | name = "leptos_dom"
696 | version = "0.6.13"
697 | source = "registry+https://github.com/rust-lang/crates.io-index"
698 | checksum = "46a32ccb530d95c82b522ff86827a9c14efb3d3a75c508c20605d4603beb1695"
699 | dependencies = [
700 | "async-recursion",
701 | "cfg-if",
702 | "drain_filter_polyfill",
703 | "futures",
704 | "getrandom",
705 | "html-escape",
706 | "indexmap",
707 | "itertools",
708 | "js-sys",
709 | "leptos_reactive",
710 | "once_cell",
711 | "pad-adapter",
712 | "paste",
713 | "rustc-hash",
714 | "serde",
715 | "serde_json",
716 | "server_fn",
717 | "smallvec",
718 | "tracing",
719 | "wasm-bindgen",
720 | "wasm-bindgen-futures",
721 | "web-sys",
722 | ]
723 |
724 | [[package]]
725 | name = "leptos_hot_reload"
726 | version = "0.6.13"
727 | source = "registry+https://github.com/rust-lang/crates.io-index"
728 | checksum = "71eb2b309ff0e526d147e32afcbbbf39b43c1ed5b7264b7abfb6635c388c0e9e"
729 | dependencies = [
730 | "anyhow",
731 | "camino",
732 | "indexmap",
733 | "parking_lot",
734 | "proc-macro2",
735 | "quote",
736 | "rstml",
737 | "serde",
738 | "syn",
739 | "walkdir",
740 | ]
741 |
742 | [[package]]
743 | name = "leptos_macro"
744 | version = "0.6.13"
745 | source = "registry+https://github.com/rust-lang/crates.io-index"
746 | checksum = "d38b41f4e38b6f0e26858ae40464e12702096d2219c48afd41b79693fd025a9d"
747 | dependencies = [
748 | "attribute-derive",
749 | "cfg-if",
750 | "convert_case",
751 | "html-escape",
752 | "itertools",
753 | "leptos_hot_reload",
754 | "prettyplease",
755 | "proc-macro-error",
756 | "proc-macro2",
757 | "quote",
758 | "rstml",
759 | "server_fn_macro",
760 | "syn",
761 | "tracing",
762 | "uuid",
763 | ]
764 |
765 | [[package]]
766 | name = "leptos_reactive"
767 | version = "0.6.13"
768 | source = "registry+https://github.com/rust-lang/crates.io-index"
769 | checksum = "bc38db7b14f2d48cb427dd4c197ee58354f5de9407fb3417f2ee7ff85097ffd3"
770 | dependencies = [
771 | "base64",
772 | "cfg-if",
773 | "futures",
774 | "indexmap",
775 | "js-sys",
776 | "oco_ref",
777 | "paste",
778 | "pin-project",
779 | "rustc-hash",
780 | "self_cell",
781 | "serde",
782 | "serde-wasm-bindgen",
783 | "serde_json",
784 | "slotmap",
785 | "thiserror",
786 | "tracing",
787 | "wasm-bindgen",
788 | "wasm-bindgen-futures",
789 | "web-sys",
790 | ]
791 |
792 | [[package]]
793 | name = "leptos_server"
794 | version = "0.6.13"
795 | source = "registry+https://github.com/rust-lang/crates.io-index"
796 | checksum = "9c0ea6eed569e70fa4eed722ee3f042ed76c40d2b0a82b7240eb660893d6a5e9"
797 | dependencies = [
798 | "inventory",
799 | "lazy_static",
800 | "leptos_macro",
801 | "leptos_reactive",
802 | "serde",
803 | "server_fn",
804 | "thiserror",
805 | "tracing",
806 | ]
807 |
808 | [[package]]
809 | name = "libc"
810 | version = "0.2.155"
811 | source = "registry+https://github.com/rust-lang/crates.io-index"
812 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
813 |
814 | [[package]]
815 | name = "litemap"
816 | version = "0.7.3"
817 | source = "registry+https://github.com/rust-lang/crates.io-index"
818 | checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
819 |
820 | [[package]]
821 | name = "lock_api"
822 | version = "0.4.12"
823 | source = "registry+https://github.com/rust-lang/crates.io-index"
824 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
825 | dependencies = [
826 | "autocfg",
827 | "scopeguard",
828 | ]
829 |
830 | [[package]]
831 | name = "log"
832 | version = "0.4.21"
833 | source = "registry+https://github.com/rust-lang/crates.io-index"
834 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
835 |
836 | [[package]]
837 | name = "manyhow"
838 | version = "0.10.4"
839 | source = "registry+https://github.com/rust-lang/crates.io-index"
840 | checksum = "f91ea592d76c0b6471965708ccff7e6a5d277f676b90ab31f4d3f3fc77fade64"
841 | dependencies = [
842 | "manyhow-macros",
843 | "proc-macro2",
844 | "quote",
845 | "syn",
846 | ]
847 |
848 | [[package]]
849 | name = "manyhow-macros"
850 | version = "0.10.4"
851 | source = "registry+https://github.com/rust-lang/crates.io-index"
852 | checksum = "c64621e2c08f2576e4194ea8be11daf24ac01249a4f53cd8befcbb7077120ead"
853 | dependencies = [
854 | "proc-macro-utils",
855 | "proc-macro2",
856 | "quote",
857 | ]
858 |
859 | [[package]]
860 | name = "memchr"
861 | version = "2.7.4"
862 | source = "registry+https://github.com/rust-lang/crates.io-index"
863 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
864 |
865 | [[package]]
866 | name = "minimal-lexical"
867 | version = "0.2.1"
868 | source = "registry+https://github.com/rust-lang/crates.io-index"
869 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
870 |
871 | [[package]]
872 | name = "nom"
873 | version = "7.1.3"
874 | source = "registry+https://github.com/rust-lang/crates.io-index"
875 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
876 | dependencies = [
877 | "memchr",
878 | "minimal-lexical",
879 | ]
880 |
881 | [[package]]
882 | name = "oco_ref"
883 | version = "0.1.1"
884 | source = "registry+https://github.com/rust-lang/crates.io-index"
885 | checksum = "c51ebcefb2f0b9a5e0bea115532c8ae4215d1b01eff176d0f4ba4192895c2708"
886 | dependencies = [
887 | "serde",
888 | "thiserror",
889 | ]
890 |
891 | [[package]]
892 | name = "once_cell"
893 | version = "1.19.0"
894 | source = "registry+https://github.com/rust-lang/crates.io-index"
895 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
896 |
897 | [[package]]
898 | name = "pad-adapter"
899 | version = "0.1.1"
900 | source = "registry+https://github.com/rust-lang/crates.io-index"
901 | checksum = "56d80efc4b6721e8be2a10a5df21a30fa0b470f1539e53d8b4e6e75faf938b63"
902 |
903 | [[package]]
904 | name = "parking_lot"
905 | version = "0.12.3"
906 | source = "registry+https://github.com/rust-lang/crates.io-index"
907 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
908 | dependencies = [
909 | "lock_api",
910 | "parking_lot_core",
911 | ]
912 |
913 | [[package]]
914 | name = "parking_lot_core"
915 | version = "0.9.10"
916 | source = "registry+https://github.com/rust-lang/crates.io-index"
917 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
918 | dependencies = [
919 | "cfg-if",
920 | "libc",
921 | "redox_syscall",
922 | "smallvec",
923 | "windows-targets",
924 | ]
925 |
926 | [[package]]
927 | name = "paste"
928 | version = "1.0.15"
929 | source = "registry+https://github.com/rust-lang/crates.io-index"
930 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
931 |
932 | [[package]]
933 | name = "pathdiff"
934 | version = "0.2.1"
935 | source = "registry+https://github.com/rust-lang/crates.io-index"
936 | checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
937 |
938 | [[package]]
939 | name = "percent-encoding"
940 | version = "2.3.1"
941 | source = "registry+https://github.com/rust-lang/crates.io-index"
942 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
943 |
944 | [[package]]
945 | name = "pin-project"
946 | version = "1.1.5"
947 | source = "registry+https://github.com/rust-lang/crates.io-index"
948 | checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
949 | dependencies = [
950 | "pin-project-internal",
951 | ]
952 |
953 | [[package]]
954 | name = "pin-project-internal"
955 | version = "1.1.5"
956 | source = "registry+https://github.com/rust-lang/crates.io-index"
957 | checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
958 | dependencies = [
959 | "proc-macro2",
960 | "quote",
961 | "syn",
962 | ]
963 |
964 | [[package]]
965 | name = "pin-project-lite"
966 | version = "0.2.14"
967 | source = "registry+https://github.com/rust-lang/crates.io-index"
968 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
969 |
970 | [[package]]
971 | name = "pin-utils"
972 | version = "0.1.0"
973 | source = "registry+https://github.com/rust-lang/crates.io-index"
974 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
975 |
976 | [[package]]
977 | name = "ppv-lite86"
978 | version = "0.2.17"
979 | source = "registry+https://github.com/rust-lang/crates.io-index"
980 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
981 |
982 | [[package]]
983 | name = "prettyplease"
984 | version = "0.2.20"
985 | source = "registry+https://github.com/rust-lang/crates.io-index"
986 | checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e"
987 | dependencies = [
988 | "proc-macro2",
989 | "syn",
990 | ]
991 |
992 | [[package]]
993 | name = "proc-macro-error"
994 | version = "1.0.4"
995 | source = "registry+https://github.com/rust-lang/crates.io-index"
996 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
997 | dependencies = [
998 | "proc-macro-error-attr",
999 | "proc-macro2",
1000 | "quote",
1001 | "version_check",
1002 | ]
1003 |
1004 | [[package]]
1005 | name = "proc-macro-error-attr"
1006 | version = "1.0.4"
1007 | source = "registry+https://github.com/rust-lang/crates.io-index"
1008 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
1009 | dependencies = [
1010 | "proc-macro2",
1011 | "quote",
1012 | "version_check",
1013 | ]
1014 |
1015 | [[package]]
1016 | name = "proc-macro-utils"
1017 | version = "0.8.0"
1018 | source = "registry+https://github.com/rust-lang/crates.io-index"
1019 | checksum = "3f59e109e2f795a5070e69578c4dc101068139f74616778025ae1011d4cd41a8"
1020 | dependencies = [
1021 | "proc-macro2",
1022 | "quote",
1023 | "smallvec",
1024 | ]
1025 |
1026 | [[package]]
1027 | name = "proc-macro2"
1028 | version = "1.0.85"
1029 | source = "registry+https://github.com/rust-lang/crates.io-index"
1030 | checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
1031 | dependencies = [
1032 | "unicode-ident",
1033 | ]
1034 |
1035 | [[package]]
1036 | name = "proc-macro2-diagnostics"
1037 | version = "0.10.1"
1038 | source = "registry+https://github.com/rust-lang/crates.io-index"
1039 | checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
1040 | dependencies = [
1041 | "proc-macro2",
1042 | "quote",
1043 | "syn",
1044 | "version_check",
1045 | "yansi",
1046 | ]
1047 |
1048 | [[package]]
1049 | name = "quote"
1050 | version = "1.0.36"
1051 | source = "registry+https://github.com/rust-lang/crates.io-index"
1052 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
1053 | dependencies = [
1054 | "proc-macro2",
1055 | ]
1056 |
1057 | [[package]]
1058 | name = "quote-use"
1059 | version = "0.8.0"
1060 | source = "registry+https://github.com/rust-lang/crates.io-index"
1061 | checksum = "b393938dcaab992375d7b3df7887fa98cc91c2f3590598251e7c609e2b788139"
1062 | dependencies = [
1063 | "quote",
1064 | "quote-use-macros",
1065 | ]
1066 |
1067 | [[package]]
1068 | name = "quote-use-macros"
1069 | version = "0.8.0"
1070 | source = "registry+https://github.com/rust-lang/crates.io-index"
1071 | checksum = "71d8772387900c205780e2c240cfe4dd01355ab4f96a503d99bdf34ad73180ef"
1072 | dependencies = [
1073 | "derive-where",
1074 | "proc-macro-utils",
1075 | "proc-macro2",
1076 | "quote",
1077 | "syn",
1078 | ]
1079 |
1080 | [[package]]
1081 | name = "rand"
1082 | version = "0.8.5"
1083 | source = "registry+https://github.com/rust-lang/crates.io-index"
1084 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1085 | dependencies = [
1086 | "libc",
1087 | "rand_chacha",
1088 | "rand_core",
1089 | ]
1090 |
1091 | [[package]]
1092 | name = "rand_chacha"
1093 | version = "0.3.1"
1094 | source = "registry+https://github.com/rust-lang/crates.io-index"
1095 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
1096 | dependencies = [
1097 | "ppv-lite86",
1098 | "rand_core",
1099 | ]
1100 |
1101 | [[package]]
1102 | name = "rand_core"
1103 | version = "0.6.4"
1104 | source = "registry+https://github.com/rust-lang/crates.io-index"
1105 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1106 | dependencies = [
1107 | "getrandom",
1108 | ]
1109 |
1110 | [[package]]
1111 | name = "redox_syscall"
1112 | version = "0.5.2"
1113 | source = "registry+https://github.com/rust-lang/crates.io-index"
1114 | checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd"
1115 | dependencies = [
1116 | "bitflags",
1117 | ]
1118 |
1119 | [[package]]
1120 | name = "regex"
1121 | version = "1.10.5"
1122 | source = "registry+https://github.com/rust-lang/crates.io-index"
1123 | checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
1124 | dependencies = [
1125 | "aho-corasick",
1126 | "memchr",
1127 | "regex-automata",
1128 | "regex-syntax",
1129 | ]
1130 |
1131 | [[package]]
1132 | name = "regex-automata"
1133 | version = "0.4.7"
1134 | source = "registry+https://github.com/rust-lang/crates.io-index"
1135 | checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
1136 | dependencies = [
1137 | "aho-corasick",
1138 | "memchr",
1139 | "regex-syntax",
1140 | ]
1141 |
1142 | [[package]]
1143 | name = "regex-syntax"
1144 | version = "0.8.4"
1145 | source = "registry+https://github.com/rust-lang/crates.io-index"
1146 | checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
1147 |
1148 | [[package]]
1149 | name = "rstml"
1150 | version = "0.11.2"
1151 | source = "registry+https://github.com/rust-lang/crates.io-index"
1152 | checksum = "fe542870b8f59dd45ad11d382e5339c9a1047cde059be136a7016095bbdefa77"
1153 | dependencies = [
1154 | "proc-macro2",
1155 | "proc-macro2-diagnostics",
1156 | "quote",
1157 | "syn",
1158 | "syn_derive",
1159 | "thiserror",
1160 | ]
1161 |
1162 | [[package]]
1163 | name = "rustc-hash"
1164 | version = "1.1.0"
1165 | source = "registry+https://github.com/rust-lang/crates.io-index"
1166 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1167 |
1168 | [[package]]
1169 | name = "ryu"
1170 | version = "1.0.18"
1171 | source = "registry+https://github.com/rust-lang/crates.io-index"
1172 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
1173 |
1174 | [[package]]
1175 | name = "same-file"
1176 | version = "1.0.6"
1177 | source = "registry+https://github.com/rust-lang/crates.io-index"
1178 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
1179 | dependencies = [
1180 | "winapi-util",
1181 | ]
1182 |
1183 | [[package]]
1184 | name = "scopeguard"
1185 | version = "1.2.0"
1186 | source = "registry+https://github.com/rust-lang/crates.io-index"
1187 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
1188 |
1189 | [[package]]
1190 | name = "self_cell"
1191 | version = "1.0.4"
1192 | source = "registry+https://github.com/rust-lang/crates.io-index"
1193 | checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a"
1194 |
1195 | [[package]]
1196 | name = "send_wrapper"
1197 | version = "0.6.0"
1198 | source = "registry+https://github.com/rust-lang/crates.io-index"
1199 | checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73"
1200 | dependencies = [
1201 | "futures-core",
1202 | ]
1203 |
1204 | [[package]]
1205 | name = "serde"
1206 | version = "1.0.203"
1207 | source = "registry+https://github.com/rust-lang/crates.io-index"
1208 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
1209 | dependencies = [
1210 | "serde_derive",
1211 | ]
1212 |
1213 | [[package]]
1214 | name = "serde-wasm-bindgen"
1215 | version = "0.6.5"
1216 | source = "registry+https://github.com/rust-lang/crates.io-index"
1217 | checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b"
1218 | dependencies = [
1219 | "js-sys",
1220 | "serde",
1221 | "wasm-bindgen",
1222 | ]
1223 |
1224 | [[package]]
1225 | name = "serde_derive"
1226 | version = "1.0.203"
1227 | source = "registry+https://github.com/rust-lang/crates.io-index"
1228 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
1229 | dependencies = [
1230 | "proc-macro2",
1231 | "quote",
1232 | "syn",
1233 | ]
1234 |
1235 | [[package]]
1236 | name = "serde_json"
1237 | version = "1.0.117"
1238 | source = "registry+https://github.com/rust-lang/crates.io-index"
1239 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
1240 | dependencies = [
1241 | "itoa",
1242 | "ryu",
1243 | "serde",
1244 | ]
1245 |
1246 | [[package]]
1247 | name = "serde_qs"
1248 | version = "0.12.0"
1249 | source = "registry+https://github.com/rust-lang/crates.io-index"
1250 | checksum = "0431a35568651e363364210c91983c1da5eb29404d9f0928b67d4ebcfa7d330c"
1251 | dependencies = [
1252 | "percent-encoding",
1253 | "serde",
1254 | "thiserror",
1255 | ]
1256 |
1257 | [[package]]
1258 | name = "serde_spanned"
1259 | version = "0.6.6"
1260 | source = "registry+https://github.com/rust-lang/crates.io-index"
1261 | checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
1262 | dependencies = [
1263 | "serde",
1264 | ]
1265 |
1266 | [[package]]
1267 | name = "server_fn"
1268 | version = "0.6.13"
1269 | source = "registry+https://github.com/rust-lang/crates.io-index"
1270 | checksum = "e9aaae169927ef701a4734d680adcb08f13269c9f0af822bf175d681fe56d65c"
1271 | dependencies = [
1272 | "bytes",
1273 | "ciborium",
1274 | "const_format",
1275 | "dashmap",
1276 | "futures",
1277 | "gloo-net",
1278 | "http 1.1.0",
1279 | "js-sys",
1280 | "once_cell",
1281 | "send_wrapper",
1282 | "serde",
1283 | "serde_json",
1284 | "serde_qs",
1285 | "server_fn_macro_default",
1286 | "thiserror",
1287 | "url",
1288 | "wasm-bindgen",
1289 | "wasm-bindgen-futures",
1290 | "wasm-streams",
1291 | "web-sys",
1292 | "xxhash-rust",
1293 | ]
1294 |
1295 | [[package]]
1296 | name = "server_fn_macro"
1297 | version = "0.6.13"
1298 | source = "registry+https://github.com/rust-lang/crates.io-index"
1299 | checksum = "583085903fd5d091884eb52d99550e32777015af21f0f5dbec49bedcc320ce82"
1300 | dependencies = [
1301 | "const_format",
1302 | "convert_case",
1303 | "proc-macro2",
1304 | "quote",
1305 | "syn",
1306 | "xxhash-rust",
1307 | ]
1308 |
1309 | [[package]]
1310 | name = "server_fn_macro_default"
1311 | version = "0.6.12"
1312 | source = "registry+https://github.com/rust-lang/crates.io-index"
1313 | checksum = "00783df297ec85ea605779f2fef9cbec98981dffe2e01e1a9845c102ee1f1ae6"
1314 | dependencies = [
1315 | "server_fn_macro",
1316 | "syn",
1317 | ]
1318 |
1319 | [[package]]
1320 | name = "slab"
1321 | version = "0.4.9"
1322 | source = "registry+https://github.com/rust-lang/crates.io-index"
1323 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
1324 | dependencies = [
1325 | "autocfg",
1326 | ]
1327 |
1328 | [[package]]
1329 | name = "slotmap"
1330 | version = "1.0.7"
1331 | source = "registry+https://github.com/rust-lang/crates.io-index"
1332 | checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
1333 | dependencies = [
1334 | "serde",
1335 | "version_check",
1336 | ]
1337 |
1338 | [[package]]
1339 | name = "smallvec"
1340 | version = "1.13.2"
1341 | source = "registry+https://github.com/rust-lang/crates.io-index"
1342 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
1343 |
1344 | [[package]]
1345 | name = "stable_deref_trait"
1346 | version = "1.2.0"
1347 | source = "registry+https://github.com/rust-lang/crates.io-index"
1348 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1349 |
1350 | [[package]]
1351 | name = "syn"
1352 | version = "2.0.66"
1353 | source = "registry+https://github.com/rust-lang/crates.io-index"
1354 | checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
1355 | dependencies = [
1356 | "proc-macro2",
1357 | "quote",
1358 | "unicode-ident",
1359 | ]
1360 |
1361 | [[package]]
1362 | name = "syn_derive"
1363 | version = "0.1.8"
1364 | source = "registry+https://github.com/rust-lang/crates.io-index"
1365 | checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
1366 | dependencies = [
1367 | "proc-macro-error",
1368 | "proc-macro2",
1369 | "quote",
1370 | "syn",
1371 | ]
1372 |
1373 | [[package]]
1374 | name = "synstructure"
1375 | version = "0.13.1"
1376 | source = "registry+https://github.com/rust-lang/crates.io-index"
1377 | checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
1378 | dependencies = [
1379 | "proc-macro2",
1380 | "quote",
1381 | "syn",
1382 | ]
1383 |
1384 | [[package]]
1385 | name = "thiserror"
1386 | version = "1.0.61"
1387 | source = "registry+https://github.com/rust-lang/crates.io-index"
1388 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
1389 | dependencies = [
1390 | "thiserror-impl",
1391 | ]
1392 |
1393 | [[package]]
1394 | name = "thiserror-impl"
1395 | version = "1.0.61"
1396 | source = "registry+https://github.com/rust-lang/crates.io-index"
1397 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
1398 | dependencies = [
1399 | "proc-macro2",
1400 | "quote",
1401 | "syn",
1402 | ]
1403 |
1404 | [[package]]
1405 | name = "tinystr"
1406 | version = "0.7.6"
1407 | source = "registry+https://github.com/rust-lang/crates.io-index"
1408 | checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
1409 | dependencies = [
1410 | "displaydoc",
1411 | "zerovec",
1412 | ]
1413 |
1414 | [[package]]
1415 | name = "toml"
1416 | version = "0.8.14"
1417 | source = "registry+https://github.com/rust-lang/crates.io-index"
1418 | checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335"
1419 | dependencies = [
1420 | "serde",
1421 | "serde_spanned",
1422 | "toml_datetime",
1423 | "toml_edit",
1424 | ]
1425 |
1426 | [[package]]
1427 | name = "toml_datetime"
1428 | version = "0.6.6"
1429 | source = "registry+https://github.com/rust-lang/crates.io-index"
1430 | checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
1431 | dependencies = [
1432 | "serde",
1433 | ]
1434 |
1435 | [[package]]
1436 | name = "toml_edit"
1437 | version = "0.22.14"
1438 | source = "registry+https://github.com/rust-lang/crates.io-index"
1439 | checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38"
1440 | dependencies = [
1441 | "indexmap",
1442 | "serde",
1443 | "serde_spanned",
1444 | "toml_datetime",
1445 | "winnow",
1446 | ]
1447 |
1448 | [[package]]
1449 | name = "tracing"
1450 | version = "0.1.40"
1451 | source = "registry+https://github.com/rust-lang/crates.io-index"
1452 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
1453 | dependencies = [
1454 | "pin-project-lite",
1455 | "tracing-attributes",
1456 | "tracing-core",
1457 | ]
1458 |
1459 | [[package]]
1460 | name = "tracing-attributes"
1461 | version = "0.1.27"
1462 | source = "registry+https://github.com/rust-lang/crates.io-index"
1463 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
1464 | dependencies = [
1465 | "proc-macro2",
1466 | "quote",
1467 | "syn",
1468 | ]
1469 |
1470 | [[package]]
1471 | name = "tracing-core"
1472 | version = "0.1.32"
1473 | source = "registry+https://github.com/rust-lang/crates.io-index"
1474 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
1475 | dependencies = [
1476 | "once_cell",
1477 | ]
1478 |
1479 | [[package]]
1480 | name = "typed-builder"
1481 | version = "0.18.2"
1482 | source = "registry+https://github.com/rust-lang/crates.io-index"
1483 | checksum = "77739c880e00693faef3d65ea3aad725f196da38b22fdc7ea6ded6e1ce4d3add"
1484 | dependencies = [
1485 | "typed-builder-macro",
1486 | ]
1487 |
1488 | [[package]]
1489 | name = "typed-builder-macro"
1490 | version = "0.18.2"
1491 | source = "registry+https://github.com/rust-lang/crates.io-index"
1492 | checksum = "1f718dfaf347dcb5b983bfc87608144b0bad87970aebcbea5ce44d2a30c08e63"
1493 | dependencies = [
1494 | "proc-macro2",
1495 | "quote",
1496 | "syn",
1497 | ]
1498 |
1499 | [[package]]
1500 | name = "unicode-ident"
1501 | version = "1.0.12"
1502 | source = "registry+https://github.com/rust-lang/crates.io-index"
1503 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
1504 |
1505 | [[package]]
1506 | name = "unicode-segmentation"
1507 | version = "1.11.0"
1508 | source = "registry+https://github.com/rust-lang/crates.io-index"
1509 | checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
1510 |
1511 | [[package]]
1512 | name = "unicode-xid"
1513 | version = "0.2.4"
1514 | source = "registry+https://github.com/rust-lang/crates.io-index"
1515 | checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
1516 |
1517 | [[package]]
1518 | name = "url"
1519 | version = "2.5.1"
1520 | source = "registry+https://github.com/rust-lang/crates.io-index"
1521 | checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56"
1522 | dependencies = [
1523 | "form_urlencoded",
1524 | "idna",
1525 | "percent-encoding",
1526 | ]
1527 |
1528 | [[package]]
1529 | name = "utf16_iter"
1530 | version = "1.0.5"
1531 | source = "registry+https://github.com/rust-lang/crates.io-index"
1532 | checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
1533 |
1534 | [[package]]
1535 | name = "utf8-width"
1536 | version = "0.1.7"
1537 | source = "registry+https://github.com/rust-lang/crates.io-index"
1538 | checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
1539 |
1540 | [[package]]
1541 | name = "utf8_iter"
1542 | version = "1.0.4"
1543 | source = "registry+https://github.com/rust-lang/crates.io-index"
1544 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
1545 |
1546 | [[package]]
1547 | name = "uuid"
1548 | version = "1.8.0"
1549 | source = "registry+https://github.com/rust-lang/crates.io-index"
1550 | checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
1551 | dependencies = [
1552 | "getrandom",
1553 | ]
1554 |
1555 | [[package]]
1556 | name = "version_check"
1557 | version = "0.9.4"
1558 | source = "registry+https://github.com/rust-lang/crates.io-index"
1559 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1560 |
1561 | [[package]]
1562 | name = "walkdir"
1563 | version = "2.5.0"
1564 | source = "registry+https://github.com/rust-lang/crates.io-index"
1565 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
1566 | dependencies = [
1567 | "same-file",
1568 | "winapi-util",
1569 | ]
1570 |
1571 | [[package]]
1572 | name = "wasi"
1573 | version = "0.11.0+wasi-snapshot-preview1"
1574 | source = "registry+https://github.com/rust-lang/crates.io-index"
1575 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1576 |
1577 | [[package]]
1578 | name = "wasm-bindgen"
1579 | version = "0.2.92"
1580 | source = "registry+https://github.com/rust-lang/crates.io-index"
1581 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
1582 | dependencies = [
1583 | "cfg-if",
1584 | "wasm-bindgen-macro",
1585 | ]
1586 |
1587 | [[package]]
1588 | name = "wasm-bindgen-backend"
1589 | version = "0.2.92"
1590 | source = "registry+https://github.com/rust-lang/crates.io-index"
1591 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
1592 | dependencies = [
1593 | "bumpalo",
1594 | "log",
1595 | "once_cell",
1596 | "proc-macro2",
1597 | "quote",
1598 | "syn",
1599 | "wasm-bindgen-shared",
1600 | ]
1601 |
1602 | [[package]]
1603 | name = "wasm-bindgen-futures"
1604 | version = "0.4.42"
1605 | source = "registry+https://github.com/rust-lang/crates.io-index"
1606 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
1607 | dependencies = [
1608 | "cfg-if",
1609 | "js-sys",
1610 | "wasm-bindgen",
1611 | "web-sys",
1612 | ]
1613 |
1614 | [[package]]
1615 | name = "wasm-bindgen-macro"
1616 | version = "0.2.92"
1617 | source = "registry+https://github.com/rust-lang/crates.io-index"
1618 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
1619 | dependencies = [
1620 | "quote",
1621 | "wasm-bindgen-macro-support",
1622 | ]
1623 |
1624 | [[package]]
1625 | name = "wasm-bindgen-macro-support"
1626 | version = "0.2.92"
1627 | source = "registry+https://github.com/rust-lang/crates.io-index"
1628 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
1629 | dependencies = [
1630 | "proc-macro2",
1631 | "quote",
1632 | "syn",
1633 | "wasm-bindgen-backend",
1634 | "wasm-bindgen-shared",
1635 | ]
1636 |
1637 | [[package]]
1638 | name = "wasm-bindgen-shared"
1639 | version = "0.2.92"
1640 | source = "registry+https://github.com/rust-lang/crates.io-index"
1641 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
1642 |
1643 | [[package]]
1644 | name = "wasm-streams"
1645 | version = "0.4.0"
1646 | source = "registry+https://github.com/rust-lang/crates.io-index"
1647 | checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
1648 | dependencies = [
1649 | "futures-util",
1650 | "js-sys",
1651 | "wasm-bindgen",
1652 | "wasm-bindgen-futures",
1653 | "web-sys",
1654 | ]
1655 |
1656 | [[package]]
1657 | name = "web-sys"
1658 | version = "0.3.69"
1659 | source = "registry+https://github.com/rust-lang/crates.io-index"
1660 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
1661 | dependencies = [
1662 | "js-sys",
1663 | "wasm-bindgen",
1664 | ]
1665 |
1666 | [[package]]
1667 | name = "winapi-util"
1668 | version = "0.1.8"
1669 | source = "registry+https://github.com/rust-lang/crates.io-index"
1670 | checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
1671 | dependencies = [
1672 | "windows-sys",
1673 | ]
1674 |
1675 | [[package]]
1676 | name = "windows-sys"
1677 | version = "0.52.0"
1678 | source = "registry+https://github.com/rust-lang/crates.io-index"
1679 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
1680 | dependencies = [
1681 | "windows-targets",
1682 | ]
1683 |
1684 | [[package]]
1685 | name = "windows-targets"
1686 | version = "0.52.5"
1687 | source = "registry+https://github.com/rust-lang/crates.io-index"
1688 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
1689 | dependencies = [
1690 | "windows_aarch64_gnullvm",
1691 | "windows_aarch64_msvc",
1692 | "windows_i686_gnu",
1693 | "windows_i686_gnullvm",
1694 | "windows_i686_msvc",
1695 | "windows_x86_64_gnu",
1696 | "windows_x86_64_gnullvm",
1697 | "windows_x86_64_msvc",
1698 | ]
1699 |
1700 | [[package]]
1701 | name = "windows_aarch64_gnullvm"
1702 | version = "0.52.5"
1703 | source = "registry+https://github.com/rust-lang/crates.io-index"
1704 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
1705 |
1706 | [[package]]
1707 | name = "windows_aarch64_msvc"
1708 | version = "0.52.5"
1709 | source = "registry+https://github.com/rust-lang/crates.io-index"
1710 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
1711 |
1712 | [[package]]
1713 | name = "windows_i686_gnu"
1714 | version = "0.52.5"
1715 | source = "registry+https://github.com/rust-lang/crates.io-index"
1716 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
1717 |
1718 | [[package]]
1719 | name = "windows_i686_gnullvm"
1720 | version = "0.52.5"
1721 | source = "registry+https://github.com/rust-lang/crates.io-index"
1722 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
1723 |
1724 | [[package]]
1725 | name = "windows_i686_msvc"
1726 | version = "0.52.5"
1727 | source = "registry+https://github.com/rust-lang/crates.io-index"
1728 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
1729 |
1730 | [[package]]
1731 | name = "windows_x86_64_gnu"
1732 | version = "0.52.5"
1733 | source = "registry+https://github.com/rust-lang/crates.io-index"
1734 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
1735 |
1736 | [[package]]
1737 | name = "windows_x86_64_gnullvm"
1738 | version = "0.52.5"
1739 | source = "registry+https://github.com/rust-lang/crates.io-index"
1740 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
1741 |
1742 | [[package]]
1743 | name = "windows_x86_64_msvc"
1744 | version = "0.52.5"
1745 | source = "registry+https://github.com/rust-lang/crates.io-index"
1746 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
1747 |
1748 | [[package]]
1749 | name = "winnow"
1750 | version = "0.6.13"
1751 | source = "registry+https://github.com/rust-lang/crates.io-index"
1752 | checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1"
1753 | dependencies = [
1754 | "memchr",
1755 | ]
1756 |
1757 | [[package]]
1758 | name = "write16"
1759 | version = "1.0.0"
1760 | source = "registry+https://github.com/rust-lang/crates.io-index"
1761 | checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
1762 |
1763 | [[package]]
1764 | name = "writeable"
1765 | version = "0.5.5"
1766 | source = "registry+https://github.com/rust-lang/crates.io-index"
1767 | checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
1768 |
1769 | [[package]]
1770 | name = "xxhash-rust"
1771 | version = "0.8.10"
1772 | source = "registry+https://github.com/rust-lang/crates.io-index"
1773 | checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03"
1774 |
1775 | [[package]]
1776 | name = "yansi"
1777 | version = "1.0.1"
1778 | source = "registry+https://github.com/rust-lang/crates.io-index"
1779 | checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
1780 |
1781 | [[package]]
1782 | name = "yoke"
1783 | version = "0.7.4"
1784 | source = "registry+https://github.com/rust-lang/crates.io-index"
1785 | checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
1786 | dependencies = [
1787 | "serde",
1788 | "stable_deref_trait",
1789 | "yoke-derive",
1790 | "zerofrom",
1791 | ]
1792 |
1793 | [[package]]
1794 | name = "yoke-derive"
1795 | version = "0.7.4"
1796 | source = "registry+https://github.com/rust-lang/crates.io-index"
1797 | checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
1798 | dependencies = [
1799 | "proc-macro2",
1800 | "quote",
1801 | "syn",
1802 | "synstructure",
1803 | ]
1804 |
1805 | [[package]]
1806 | name = "zerofrom"
1807 | version = "0.1.4"
1808 | source = "registry+https://github.com/rust-lang/crates.io-index"
1809 | checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
1810 | dependencies = [
1811 | "zerofrom-derive",
1812 | ]
1813 |
1814 | [[package]]
1815 | name = "zerofrom-derive"
1816 | version = "0.1.4"
1817 | source = "registry+https://github.com/rust-lang/crates.io-index"
1818 | checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
1819 | dependencies = [
1820 | "proc-macro2",
1821 | "quote",
1822 | "syn",
1823 | "synstructure",
1824 | ]
1825 |
1826 | [[package]]
1827 | name = "zerovec"
1828 | version = "0.10.2"
1829 | source = "registry+https://github.com/rust-lang/crates.io-index"
1830 | checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
1831 | dependencies = [
1832 | "yoke",
1833 | "zerofrom",
1834 | "zerovec-derive",
1835 | ]
1836 |
1837 | [[package]]
1838 | name = "zerovec-derive"
1839 | version = "0.10.2"
1840 | source = "registry+https://github.com/rust-lang/crates.io-index"
1841 | checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
1842 | dependencies = [
1843 | "proc-macro2",
1844 | "quote",
1845 | "syn",
1846 | ]
1847 |
--------------------------------------------------------------------------------
/examples/csr/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "csr-example"
3 | version = "0.0.0"
4 | edition = "2021"
5 |
6 | [dependencies]
7 | console_error_panic_hook = "0.1.7"
8 | console_log = "1"
9 | getrandom = { version = "0.2.15", features = ["js"], optional = true }
10 | leptos = { version = "0.6.13", features = ["csr", "nightly"] }
11 | leptos_animated_for = { path = "../.." }
12 | log = "0.4.21"
13 | rand = "0.8.5"
14 |
--------------------------------------------------------------------------------
/examples/csr/README.md:
--------------------------------------------------------------------------------
1 | # TailwindCSS SPA example
2 |
3 | This example presents use of `
` in combination with [TailwindCSS](https://tailwindcss.com/).
4 |
5 | ## Running the application using [Trunk](https://trunkrs.dev/)
6 |
7 | ```bash
8 | trunk serve
9 | ```
10 |
--------------------------------------------------------------------------------
/examples/csr/Trunk.toml:
--------------------------------------------------------------------------------
1 | [serve]
2 | address = "127.0.0.1"
3 | port = 8080
4 | open = false
5 | no_autoreload = false
6 |
7 | [watch]
8 | watch = ["index.html", "src"]
9 | ignore = []
10 |
--------------------------------------------------------------------------------
/examples/csr/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
CSR example
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/examples/csr/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "nightly"
3 | components = ["rustfmt", "clippy"]
4 | targets = ["wasm32-unknown-unknown"]
5 | profile = "minimal"
6 |
--------------------------------------------------------------------------------
/examples/csr/src/button.rs:
--------------------------------------------------------------------------------
1 | use leptos::{component, view, Children, IntoView};
2 |
3 | #[component]
4 | pub fn Button(children: Children) -> impl IntoView {
5 | view! {
6 |
{children()}
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/examples/csr/src/circle.rs:
--------------------------------------------------------------------------------
1 | use leptos::{component, view, Children, IntoView, MaybeProp};
2 |
3 | #[component]
4 | pub fn Circle(
5 | children: Children,
6 | #[prop(optional, into)] class: MaybeProp
,
7 | ) -> impl IntoView {
8 | let class = move || {
9 | [
10 | "rounded-full flex items-center justify-center".to_owned(),
11 | class().unwrap_or_default(),
12 | ]
13 | .join(" ")
14 | };
15 |
16 | view! { {children()}
}
17 | }
18 |
--------------------------------------------------------------------------------
/examples/csr/src/main.rs:
--------------------------------------------------------------------------------
1 | mod button;
2 | mod circle;
3 |
4 | use leptos::{
5 | component,
6 | mount_to_body,
7 | update,
8 | view,
9 | Callback,
10 | IntoView,
11 | RwSignal,
12 | SignalUpdate,
13 | StoredValue,
14 | View,
15 | };
16 | use leptos_animated_for::AnimatedFor;
17 | use rand::{seq::SliceRandom, thread_rng, Rng};
18 |
19 | use crate::{button::Button, circle::Circle};
20 |
21 | #[derive(Clone)]
22 | struct Item {
23 | id: usize,
24 | view: View,
25 | }
26 |
27 | const INITIAL_ITEM_COUNT: usize = 40;
28 |
29 | #[component]
30 | fn App() -> impl IntoView {
31 | let last_added_item_id = StoredValue::new(0);
32 |
33 | let rng = StoredValue::new(thread_rng());
34 |
35 | let create_new_item = Callback::new(move |()| {
36 | let id = last_added_item_id();
37 | last_added_item_id.set_value(id + 1);
38 |
39 | let mut circle = None;
40 | let mut bg_color_class = None;
41 |
42 | rng.update_value(|rng| {
43 | circle = Some(matches!(rng.gen_range(0..=1), 0));
44 |
45 | bg_color_class = Some(match rng.gen_range(0..=2) {
46 | 0 => "bg-red-500/70",
47 | 1 => "bg-green-500/70",
48 | _ => "bg-blue-500/70",
49 | });
50 | });
51 |
52 | let view = if circle.unwrap() {
53 | view! { {id} }
54 | .into_view()
55 | } else {
56 | view! {
57 | {id}
59 | }
60 | .into_view()
61 | };
62 |
63 | Item { id, view }
64 | });
65 |
66 | let items = RwSignal::new(
67 | (0..INITIAL_ITEM_COUNT)
68 | .map(|_| create_new_item(()))
69 | .collect::>(),
70 | );
71 |
72 | let shuffle = move |_| {
73 | items.update(|items| {
74 | rng.update_value(|rng| {
75 | items.shuffle(rng);
76 | });
77 | });
78 | };
79 |
80 | let add_start = move |_| {
81 | update!(|items| {
82 | items.insert(0, create_new_item(()));
83 | });
84 | };
85 |
86 | let add_end = move |_| {
87 | update!(|items| {
88 | items.push(create_new_item(()));
89 | });
90 | };
91 |
92 | let add_random = move |_| {
93 | items.update(|items| {
94 | let item = create_new_item(());
95 | rng.update_value(|rng| {
96 | items.insert(rng.gen_range(0..=items.len()), item);
97 | });
98 | });
99 | };
100 |
101 | let remove_start = move |_| {
102 | update!(|items| {
103 | if items.is_empty() {
104 | return;
105 | }
106 |
107 | items.remove(0);
108 | });
109 | };
110 |
111 | let remove_end = move |_| {
112 | update!(|items| {
113 | items.pop();
114 | });
115 | };
116 |
117 | let remove_random = move |_| {
118 | items.update(|items| {
119 | if items.is_empty() {
120 | return;
121 | }
122 |
123 | rng.update_value(|rng| {
124 | items.remove(rng.gen_range(0..items.len()));
125 | });
126 | });
127 | };
128 |
129 | view! {
130 |
131 |
132 | {"Add start"}
133 | {"Add end"}
134 | {"Add random"}
135 | {"Remove start"}
136 | {"Remove end"}
137 | {"Remove random"}
138 | {"Shuffle"}
139 |
140 |
141 |
154 |
155 | }
156 | }
157 |
158 | fn main() {
159 | _ = console_log::init_with_level(log::Level::Debug);
160 | console_error_panic_hook::set_once();
161 | mount_to_body(App);
162 | }
163 |
--------------------------------------------------------------------------------
/examples/csr/src/style.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @keyframes fade-in-bottom-left {
6 | from {
7 | opacity: 0;
8 | transform: translate3d(-150%, 150%, 0);
9 | }
10 | to {
11 | opacity: 1;
12 | transform: translate3d(0, 0, 0);
13 | }
14 | }
15 |
16 | .animate-fade-in-bottom-left {
17 | animation: fade-in-bottom-left 1s ease-out 1;
18 | }
19 |
--------------------------------------------------------------------------------
/examples/csr/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type { import('tailwindcss').Config } */
2 |
3 | module.exports = {
4 | content: {
5 | files: ["src/**/*.rs"],
6 | },
7 | theme: {
8 | extend: {},
9 | },
10 | plugins: [],
11 | };
12 |
--------------------------------------------------------------------------------
/examples/ssr/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "rust-analyzer.check.command": "clippy",
3 | "rust-analyzer.cargo.features": ["ssr"],
4 | "rust-analyzer.procMacro.ignored": {
5 | "leptos_macro": ["component"]
6 | },
7 | "rust-analyzer.rustfmt.overrideCommand": ["leptosfmt", "--stdin", "--rustfmt"]
8 | }
9 |
--------------------------------------------------------------------------------
/examples/ssr/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "app"
3 | version = "0.1.0"
4 | edition = "2021"
5 |
6 | [lib]
7 | crate-type = ["cdylib", "rlib"]
8 |
9 | [dependencies]
10 | axum = { version = "0.7.5", optional = true }
11 | console_error_panic_hook = "0.1.7"
12 | console_log = "1"
13 | getrandom = { version = "0.2.15", features = ["js"], optional = true }
14 | leptos = { version = "0.6.13", features = ["nightly"] }
15 | leptos_animated_for = { path = "../.." }
16 | leptos_meta = { version = "0.6.13", features = ["nightly"] }
17 | leptos_axum = { version = "0.6.13", optional = true }
18 | leptos_router = { version = "0.6.13", features = ["nightly"] }
19 | log = "0.4.21"
20 | rand = "0.8.5"
21 | simple_logger = "4.3.3"
22 | tokio = { version = "1.37.0", optional = true, features = [
23 | "rt-multi-thread",
24 | "macros",
25 | ] }
26 | tower = { version = "0.4.13", optional = true }
27 | tower-http = { version = "0.5.2", features = ["fs"], optional = true }
28 | wasm-bindgen = "0.2.92"
29 | thiserror = "1.0.61"
30 | tracing = { version = "0.1.40", optional = true }
31 | http = "1.1.0"
32 |
33 | [features]
34 | hydrate = [
35 | "dep:getrandom",
36 | "leptos/hydrate",
37 | "leptos_meta/hydrate",
38 | "leptos_router/hydrate",
39 | ]
40 | ssr = [
41 | "dep:axum",
42 | "dep:tokio",
43 | "dep:tower",
44 | "dep:tower-http",
45 | "dep:leptos_axum",
46 | "leptos/ssr",
47 | "leptos_meta/ssr",
48 | "leptos_router/ssr",
49 | "dep:tracing",
50 | ]
51 |
52 | [package.metadata.cargo-all-features]
53 | denylist = ["axum", "tokio", "tower", "tower-http", "leptos_axum"]
54 | skip_feature_sets = [["ssr", "hydrate"]]
55 |
56 | [package.metadata.leptos]
57 | # The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name
58 | output-name = "app"
59 |
60 | # The site root folder is where cargo-leptos generate all output. WARNING: all content of this folder will be erased on a rebuild. Use it in your server setup.
61 | site-root = "target/site"
62 |
63 | # The site-root relative folder where all compiled output (JS, WASM and CSS) is written
64 | # Defaults to pkg
65 | site-pkg-dir = "pkg"
66 |
67 | # The tailwind input file.
68 | #
69 | # Optional, Activates the tailwind build
70 | tailwind-input-file = "style/tailwind.css"
71 |
72 | # [Optional] Files in the asset-dir will be copied to the site-root directory
73 | assets-dir = "public"
74 |
75 | # The IP and port (ex: 127.0.0.1:3000) where the server serves the content. Use it in your server setup.
76 | site-addr = "127.0.0.1:3000"
77 |
78 | # The port to use for automatic reload monitoring
79 | reload-port = 3001
80 |
81 | # The browserlist query used for optimizing the CSS.
82 | browserquery = "defaults"
83 |
84 | # Set by cargo-leptos watch when building with that tool. Controls whether autoreload JS will be included in the head
85 | watch = false
86 |
87 | # The environment Leptos will run in, usually either "DEV" or "PROD"
88 | env = "DEV"
89 |
90 | # The features to use when compiling the bin target
91 | #
92 | # Optional. Can be over-ridden with the command line parameter --bin-features
93 | bin-features = ["ssr"]
94 |
95 | # If the --no-default-features flag should be used when compiling the bin target
96 | #
97 | # Optional. Defaults to false.
98 | bin-default-features = false
99 |
100 | # The features to use when compiling the lib target
101 | #
102 | # Optional. Can be over-ridden with the command line parameter --lib-features
103 | lib-features = ["hydrate"]
104 |
105 | # If the --no-default-features flag should be used when compiling the lib target
106 | #
107 | # Optional. Defaults to false.
108 | lib-default-features = false
109 |
--------------------------------------------------------------------------------
/examples/ssr/README.md:
--------------------------------------------------------------------------------
1 | # TailwindCSS SSR example
2 |
3 | This is a copy-paste project from [Leptos with Axum + TailwindCSS Tempate](https://github.com/leptos-rs/leptos/tree/main/examples/tailwind_axum) with added example ` ` usage. The elements are rendered server-side and can be animated once the WASM bundle is loaded in the browser.
4 |
5 | ## Running the application using [cargo-leptos](https://github.com/leptos-rs/cargo-leptos)
6 |
7 | ```bash
8 | cargo leptos watch
9 | ```
10 |
--------------------------------------------------------------------------------
/examples/ssr/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/brofrain/leptos-animated-for/8f67a527e577b9f705dc3bc25acb7939df5bb707/examples/ssr/public/favicon.ico
--------------------------------------------------------------------------------
/examples/ssr/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "nightly"
3 | components = ["rustfmt", "clippy"]
4 | targets = ["wasm32-unknown-unknown"]
5 | profile = "minimal"
6 |
--------------------------------------------------------------------------------
/examples/ssr/src/app.rs:
--------------------------------------------------------------------------------
1 | use leptos::{
2 | component,
3 | update,
4 | view,
5 | Callback,
6 | IntoView,
7 | RwSignal,
8 | SignalUpdate,
9 | StoredValue,
10 | };
11 | use leptos_animated_for::AnimatedFor;
12 | use leptos_meta::{provide_meta_context, Link, Stylesheet, Title};
13 | use leptos_router::{Route, Router, Routes};
14 | use rand::{seq::SliceRandom, thread_rng, Rng};
15 |
16 | use crate::button::Button;
17 |
18 | const INITIAL_ITEM_COUNT: usize = 40;
19 |
20 | #[component]
21 | fn Home() -> impl IntoView {
22 | let next_item = StoredValue::new(INITIAL_ITEM_COUNT);
23 |
24 | let items = RwSignal::new((0..INITIAL_ITEM_COUNT).collect::>());
25 |
26 | let create_new_item = Callback::new(move |()| {
27 | let item = next_item();
28 | next_item.set_value(item + 1);
29 | item
30 | });
31 |
32 | let rng = StoredValue::new(thread_rng());
33 |
34 | let shuffle = move |_| {
35 | items.update(|items| {
36 | rng.update_value(|rng| {
37 | items.shuffle(rng);
38 | });
39 | });
40 | };
41 |
42 | let add_start = move |_| {
43 | update!(|items| {
44 | items.insert(0, create_new_item(()));
45 | });
46 | };
47 |
48 | let add_end = move |_| {
49 | update!(|items| {
50 | items.push(create_new_item(()));
51 | });
52 | };
53 |
54 | let add_random = move |_| {
55 | items.update(|items| {
56 | let item = create_new_item(());
57 | rng.update_value(|rng| {
58 | items.insert(rng.gen_range(0..items.len()), item);
59 | });
60 | });
61 | };
62 |
63 | let remove_start = move |_| {
64 | update!(|items| {
65 | if items.is_empty() {
66 | return;
67 | }
68 |
69 | items.remove(0);
70 | });
71 | };
72 |
73 | let remove_end = move |_| {
74 | update!(|items| {
75 | items.pop();
76 | });
77 | };
78 |
79 | let remove_random = move |_| {
80 | items.update(|items| {
81 | if items.is_empty() {
82 | return;
83 | }
84 |
85 | rng.update_value(|rng| {
86 | items.remove(rng.gen_range(0..items.len()));
87 | });
88 | });
89 | };
90 |
91 | view! {
92 |
93 |
94 |
95 | {"Add start"}
96 | {"Add end"}
97 | {"Add random"}
98 | {"Remove start"}
99 | {"Remove end"}
100 | {"Remove random"}
101 | {"Shuffle"}
102 |
103 |
104 |
113 | }
114 | }
115 |
116 | enter_from_class="opacity-0"
117 | enter_class="duration-1000"
118 | move_class="duration-1000"
119 | leave_class="opacity-0 duration-1000"
120 | />
121 |
122 |
123 |
124 | }
125 | }
126 |
127 | #[component]
128 | pub fn App() -> impl IntoView {
129 | provide_meta_context();
130 |
131 | view! {
132 |