@kozou/svelte-ui 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +33 -0
  2. package/build/client/_app/immutable/assets/0.BFw6nhto.css +2 -0
  3. package/build/client/_app/immutable/assets/0.BFw6nhto.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.BFw6nhto.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{ZymYutXT.js → BWWvKZIn.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BWWvKZIn.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BWWvKZIn.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/Bjn-300u.js +3 -0
  9. package/build/client/_app/immutable/chunks/Bjn-300u.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/Bjn-300u.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  12. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{Co0RWKLi.js → CdzXNSLM.js} +1 -1
  15. package/build/client/_app/immutable/chunks/CdzXNSLM.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/CdzXNSLM.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{BXlyeQQD.js → OhDywA02.js} +1 -1
  18. package/build/client/_app/immutable/chunks/OhDywA02.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/OhDywA02.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.VKYqWqGj.js → app.CXrj_tz3.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.CXrj_tz3.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.CXrj_tz3.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.Itp5t-Yk.js +1 -0
  24. package/build/client/_app/immutable/entry/start.Itp5t-Yk.js.br +0 -0
  25. package/build/client/_app/immutable/entry/start.Itp5t-Yk.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/0.ifyNoaZz.js +1 -0
  27. package/build/client/_app/immutable/nodes/0.ifyNoaZz.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/0.ifyNoaZz.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/1.CRI7xzqE.js +1 -0
  30. package/build/client/_app/immutable/nodes/1.CRI7xzqE.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/1.CRI7xzqE.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/2.D_d90ZDd.js +2 -0
  33. package/build/client/_app/immutable/nodes/2.D_d90ZDd.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/2.D_d90ZDd.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{3.DVcnpF9s.js → 3.CyWCIPgV.js} +1 -1
  36. package/build/client/_app/immutable/nodes/3.CyWCIPgV.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/3.CyWCIPgV.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{4.CkPz2ou2.js → 4.D3j4ZWuz.js} +4 -5
  39. package/build/client/_app/immutable/nodes/4.D3j4ZWuz.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/4.D3j4ZWuz.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{6.04GLHLKD.js → 6.BDB6GDLX.js} +1 -1
  42. package/build/client/_app/immutable/nodes/6.BDB6GDLX.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/6.BDB6GDLX.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{7.dF2wD20Q.js → 7.x-apVi4n.js} +1 -1
  45. package/build/client/_app/immutable/nodes/7.x-apVi4n.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/7.x-apVi4n.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{8.QWoXtazB.js → 8.DXu_2Qdx.js} +1 -1
  48. package/build/client/_app/immutable/nodes/8.DXu_2Qdx.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/8.DXu_2Qdx.js.gz +0 -0
  50. package/build/client/_app/version.json +1 -1
  51. package/build/client/_app/version.json.br +0 -0
  52. package/build/client/_app/version.json.gz +0 -0
  53. package/build/server/chunks/{0-woVFSmwh.js → 0-DTnqeCaT.js} +8 -5
  54. package/build/server/chunks/0-DTnqeCaT.js.map +1 -0
  55. package/build/server/chunks/{1-lj4jQ8b2.js → 1-CApJvP3C.js} +3 -3
  56. package/build/server/chunks/{1-lj4jQ8b2.js.map → 1-CApJvP3C.js.map} +1 -1
  57. package/build/server/chunks/{2-zIg9Y59a.js → 2-DGOJW-s_.js} +3 -3
  58. package/build/server/chunks/{2-zIg9Y59a.js.map → 2-DGOJW-s_.js.map} +1 -1
  59. package/build/server/chunks/{3-DrgWo0cp.js → 3-BFEYL0s0.js} +9 -9
  60. package/build/server/chunks/{3-DrgWo0cp.js.map → 3-BFEYL0s0.js.map} +1 -1
  61. package/build/server/chunks/4-BNWbTUVb.js +31 -0
  62. package/build/server/chunks/4-BNWbTUVb.js.map +1 -0
  63. package/build/server/chunks/{5-VZXG8pNB.js → 5-D-48ExuO.js} +2 -2
  64. package/build/server/chunks/{5-VZXG8pNB.js.map → 5-D-48ExuO.js.map} +1 -1
  65. package/build/server/chunks/{6-PdvtiZaS.js → 6-BXAzsPrE.js} +3 -3
  66. package/build/server/chunks/{6-PdvtiZaS.js.map → 6-BXAzsPrE.js.map} +1 -1
  67. package/build/server/chunks/{7-CvuA2rBN.js → 7-D4VY7Eta.js} +9 -9
  68. package/build/server/chunks/{7-CvuA2rBN.js.map → 7-D4VY7Eta.js.map} +1 -1
  69. package/build/server/chunks/{8-kK7gn7W5.js → 8-CAkMPSY4.js} +9 -9
  70. package/build/server/chunks/{8-kK7gn7W5.js.map → 8-CAkMPSY4.js.map} +1 -1
  71. package/build/server/chunks/{9-Dj6HXa42.js → 9-DRxhju5a.js} +2 -2
  72. package/build/server/chunks/{9-Dj6HXa42.js.map → 9-DRxhju5a.js.map} +1 -1
  73. package/build/server/chunks/{ListTable-wSR_j9wZ.js → ListTable-D8OnEdye.js} +2 -2
  74. package/build/server/chunks/ListTable-D8OnEdye.js.map +1 -0
  75. package/build/server/chunks/{_layout.svelte-BzBYfRFe.js → _layout.svelte-CouhggA0.js} +8 -3
  76. package/build/server/chunks/_layout.svelte-CouhggA0.js.map +1 -0
  77. package/build/server/chunks/{_page.svelte-Cka5_oDd.js → _page.svelte-5hyURw8O.js} +5 -5
  78. package/build/server/chunks/_page.svelte-5hyURw8O.js.map +1 -0
  79. package/build/server/chunks/{_page.svelte-D9z7ezJ4.js → _page.svelte-BHW_BBcE.js} +3 -3
  80. package/build/server/chunks/_page.svelte-BHW_BBcE.js.map +1 -0
  81. package/build/server/chunks/{_page.svelte-7fkGf1FK.js → _page.svelte-Bqk7F3CL.js} +9 -9
  82. package/build/server/chunks/_page.svelte-Bqk7F3CL.js.map +1 -0
  83. package/build/server/chunks/{_page.svelte-BOARmWnQ.js → _page.svelte-CBJR_AG2.js} +9 -9
  84. package/build/server/chunks/_page.svelte-CBJR_AG2.js.map +1 -0
  85. package/build/server/chunks/{_page.svelte-CwYTEs9l.js → _page.svelte-Cd_z7eFO.js} +5 -6
  86. package/build/server/chunks/_page.svelte-Cd_z7eFO.js.map +1 -0
  87. package/build/server/chunks/{_page.svelte-swWuZCGb.js → _page.svelte-D8nYMywt.js} +3 -3
  88. package/build/server/chunks/_page.svelte-D8nYMywt.js.map +1 -0
  89. package/build/server/chunks/{_page.svelte-BRd3nCo7.js → _page.svelte-D9WnRc7S.js} +8 -8
  90. package/build/server/chunks/_page.svelte-D9WnRc7S.js.map +1 -0
  91. package/build/server/chunks/{_page.svelte-BvzDTw9r.js → _page.svelte-DeVGBJ28.js} +9 -4
  92. package/build/server/chunks/_page.svelte-DeVGBJ28.js.map +1 -0
  93. package/build/server/chunks/{app-Do0K3Mhs.js → app-CYD2rz7t.js} +2 -2
  94. package/build/server/chunks/{app-Do0K3Mhs.js.map → app-CYD2rz7t.js.map} +1 -1
  95. package/build/server/chunks/{client-BUetWae2.js → client-BBFG1zLB.js} +5 -4
  96. package/build/server/chunks/client-BBFG1zLB.js.map +1 -0
  97. package/build/server/chunks/composite-form-KsMxMbgc.js +2964 -0
  98. package/build/server/chunks/composite-form-KsMxMbgc.js.map +1 -0
  99. package/build/server/chunks/{error.svelte-DEbRUIAn.js → error.svelte-C_s6PHRr.js} +8 -8
  100. package/build/server/chunks/error.svelte-C_s6PHRr.js.map +1 -0
  101. package/build/server/chunks/{hooks.server-DbvRjTP7.js → hooks.server-ud8twg77.js} +4 -4
  102. package/build/server/chunks/{hooks.server-DbvRjTP7.js.map → hooks.server-ud8twg77.js.map} +1 -1
  103. package/build/server/chunks/index-CVekYGHP.js.map +1 -1
  104. package/build/server/chunks/index-DBqjc0Yf.js.map +1 -1
  105. package/build/server/chunks/{internal-DNKMhz22.js → internal2-BaDAe3C9.js} +170 -187
  106. package/build/server/chunks/internal2-BaDAe3C9.js.map +1 -0
  107. package/build/server/chunks/mcp-connection-C9Efo8-2.js +73 -0
  108. package/build/server/chunks/mcp-connection-C9Efo8-2.js.map +1 -0
  109. package/build/server/chunks/{relation-select-composite-field-CKIculYy.js → relation-select-composite-field-D0FbNYK6.js} +4 -4
  110. package/build/server/chunks/relation-select-composite-field-D0FbNYK6.js.map +1 -0
  111. package/build/server/chunks/{dev-aF1HGl8f.js → server-1sE9LKAu.js} +790 -790
  112. package/build/server/chunks/server-1sE9LKAu.js.map +1 -0
  113. package/build/server/chunks/{widget-registry-BCxIAl3a.js → widget-registry-D4uP1dwJ.js} +2 -2
  114. package/build/server/chunks/widget-registry-D4uP1dwJ.js.map +1 -0
  115. package/build/server/index.js +801 -725
  116. package/build/server/index.js.map +1 -1
  117. package/build/server/manifest.js +11 -11
  118. package/build/server/manifest.js.map +1 -1
  119. package/package.json +8 -8
  120. package/build/client/_app/immutable/assets/0.C7i1Dz29.css +0 -2
  121. package/build/client/_app/immutable/assets/0.C7i1Dz29.css.br +0 -0
  122. package/build/client/_app/immutable/assets/0.C7i1Dz29.css.gz +0 -0
  123. package/build/client/_app/immutable/chunks/BXlyeQQD.js.br +0 -0
  124. package/build/client/_app/immutable/chunks/BXlyeQQD.js.gz +0 -0
  125. package/build/client/_app/immutable/chunks/Co0RWKLi.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/Co0RWKLi.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/ZymYutXT.js.br +0 -0
  128. package/build/client/_app/immutable/chunks/ZymYutXT.js.gz +0 -0
  129. package/build/client/_app/immutable/chunks/fsex2-so.js +0 -4
  130. package/build/client/_app/immutable/chunks/fsex2-so.js.br +0 -0
  131. package/build/client/_app/immutable/chunks/fsex2-so.js.gz +0 -0
  132. package/build/client/_app/immutable/entry/app.VKYqWqGj.js.br +0 -0
  133. package/build/client/_app/immutable/entry/app.VKYqWqGj.js.gz +0 -0
  134. package/build/client/_app/immutable/entry/start.8m1THyRy.js +0 -1
  135. package/build/client/_app/immutable/entry/start.8m1THyRy.js.br +0 -0
  136. package/build/client/_app/immutable/entry/start.8m1THyRy.js.gz +0 -0
  137. package/build/client/_app/immutable/nodes/0.Bubr-rD_.js +0 -1
  138. package/build/client/_app/immutable/nodes/0.Bubr-rD_.js.br +0 -0
  139. package/build/client/_app/immutable/nodes/0.Bubr-rD_.js.gz +0 -0
  140. package/build/client/_app/immutable/nodes/1.C89YfDq9.js +0 -1
  141. package/build/client/_app/immutable/nodes/1.C89YfDq9.js.br +0 -0
  142. package/build/client/_app/immutable/nodes/1.C89YfDq9.js.gz +0 -0
  143. package/build/client/_app/immutable/nodes/2.BEj9B8Ni.js +0 -2
  144. package/build/client/_app/immutable/nodes/2.BEj9B8Ni.js.br +0 -0
  145. package/build/client/_app/immutable/nodes/2.BEj9B8Ni.js.gz +0 -0
  146. package/build/client/_app/immutable/nodes/3.DVcnpF9s.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/3.DVcnpF9s.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/4.CkPz2ou2.js.br +0 -0
  149. package/build/client/_app/immutable/nodes/4.CkPz2ou2.js.gz +0 -0
  150. package/build/client/_app/immutable/nodes/6.04GLHLKD.js.br +0 -0
  151. package/build/client/_app/immutable/nodes/6.04GLHLKD.js.gz +0 -0
  152. package/build/client/_app/immutable/nodes/7.dF2wD20Q.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/7.dF2wD20Q.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/8.QWoXtazB.js.br +0 -0
  155. package/build/client/_app/immutable/nodes/8.QWoXtazB.js.gz +0 -0
  156. package/build/server/chunks/0-woVFSmwh.js.map +0 -1
  157. package/build/server/chunks/4-Zn1moNCA.js +0 -51
  158. package/build/server/chunks/4-Zn1moNCA.js.map +0 -1
  159. package/build/server/chunks/ListTable-wSR_j9wZ.js.map +0 -1
  160. package/build/server/chunks/_layout.svelte-BzBYfRFe.js.map +0 -1
  161. package/build/server/chunks/_page.svelte-7fkGf1FK.js.map +0 -1
  162. package/build/server/chunks/_page.svelte-BOARmWnQ.js.map +0 -1
  163. package/build/server/chunks/_page.svelte-BRd3nCo7.js.map +0 -1
  164. package/build/server/chunks/_page.svelte-BvzDTw9r.js.map +0 -1
  165. package/build/server/chunks/_page.svelte-Cka5_oDd.js.map +0 -1
  166. package/build/server/chunks/_page.svelte-CwYTEs9l.js.map +0 -1
  167. package/build/server/chunks/_page.svelte-D9z7ezJ4.js.map +0 -1
  168. package/build/server/chunks/_page.svelte-swWuZCGb.js.map +0 -1
  169. package/build/server/chunks/client-BUetWae2.js.map +0 -1
  170. package/build/server/chunks/composite-form-D-QWeZpC.js +0 -7225
  171. package/build/server/chunks/composite-form-D-QWeZpC.js.map +0 -1
  172. package/build/server/chunks/dev-aF1HGl8f.js.map +0 -1
  173. package/build/server/chunks/error.svelte-DEbRUIAn.js.map +0 -1
  174. package/build/server/chunks/internal-DNKMhz22.js.map +0 -1
  175. package/build/server/chunks/relation-select-composite-field-CKIculYy.js.map +0 -1
  176. package/build/server/chunks/widget-registry-BCxIAl3a.js.map +0 -1
@@ -448,183 +448,7 @@ function stringify_primitive(thing) {
448
448
  if (type === "bigint") return thing + "n";
449
449
  return str;
450
450
  }
451
- //#endregion
452
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/shared/errors.js
453
- /**
454
- * Cannot use `%name%(...)` unless the `experimental.async` compiler option is `true`
455
- * @param {string} name
456
- * @returns {never}
457
- */
458
- function experimental_async_required(name) {
459
- throw new Error(`https://svelte.dev/e/experimental_async_required`);
460
- }
461
- /**
462
- * `%name%(...)` can only be used during component initialisation
463
- * @param {string} name
464
- * @returns {never}
465
- */
466
- function lifecycle_outside_component(name) {
467
- throw new Error(`https://svelte.dev/e/lifecycle_outside_component`);
468
- }
469
- /**
470
- * Context was not set in a parent component
471
- * @returns {never}
472
- */
473
- function missing_context() {
474
- throw new Error(`https://svelte.dev/e/missing_context`);
475
- }
476
- /**
477
- * Encountered asynchronous work while rendering synchronously.
478
- * @returns {never}
479
- */
480
- function await_invalid() {
481
- const error = /* @__PURE__ */ new Error(`await_invalid\nEncountered asynchronous work while rendering synchronously.\nhttps://svelte.dev/e/await_invalid`);
482
- error.name = "Svelte error";
483
- throw error;
484
- }
485
- /**
486
- * Failed to serialize `hydratable` data for key `%key%`.
487
- *
488
- * `hydratable` can serialize anything [`uneval` from `devalue`](https://npmjs.com/package/uneval) can, plus Promises.
489
- *
490
- * Cause:
491
- * %stack%
492
- * @param {string} key
493
- * @param {string} stack
494
- * @returns {never}
495
- */
496
- function hydratable_serialization_failed(key, stack) {
497
- const error = /* @__PURE__ */ new Error(`hydratable_serialization_failed\nFailed to serialize \`hydratable\` data for key \`${key}\`.
498
-
499
- \`hydratable\` can serialize anything [\`uneval\` from \`devalue\`](https://npmjs.com/package/uneval) can, plus Promises.
500
451
 
501
- Cause:
502
- ${stack}\nhttps://svelte.dev/e/hydratable_serialization_failed`);
503
- error.name = "Svelte error";
504
- throw error;
505
- }
506
- /**
507
- * `csp.nonce` was set while `csp.hash` was `true`. These options cannot be used simultaneously.
508
- * @returns {never}
509
- */
510
- function invalid_csp() {
511
- const error = /* @__PURE__ */ new Error(`invalid_csp\n\`csp.nonce\` was set while \`csp.hash\` was \`true\`. These options cannot be used simultaneously.\nhttps://svelte.dev/e/invalid_csp`);
512
- error.name = "Svelte error";
513
- throw error;
514
- }
515
- /**
516
- * The `idPrefix` option cannot include `--`.
517
- * @returns {never}
518
- */
519
- function invalid_id_prefix() {
520
- const error = /* @__PURE__ */ new Error(`invalid_id_prefix\nThe \`idPrefix\` option cannot include \`--\`.\nhttps://svelte.dev/e/invalid_id_prefix`);
521
- error.name = "Svelte error";
522
- throw error;
523
- }
524
- /**
525
- * `%name%(...)` is not available on the server
526
- * @param {string} name
527
- * @returns {never}
528
- */
529
- function lifecycle_function_unavailable(name) {
530
- const error = /* @__PURE__ */ new Error(`lifecycle_function_unavailable\n\`${name}(...)\` is not available on the server\nhttps://svelte.dev/e/lifecycle_function_unavailable`);
531
- error.name = "Svelte error";
532
- throw error;
533
- }
534
- /**
535
- * Could not resolve `render` context.
536
- * @returns {never}
537
- */
538
- function server_context_required() {
539
- const error = /* @__PURE__ */ new Error(`server_context_required\nCould not resolve \`render\` context.\nhttps://svelte.dev/e/server_context_required`);
540
- error.name = "Svelte error";
541
- throw error;
542
- }
543
- //#endregion
544
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/context.js
545
- /** @import { SSRContext } from '#server' */
546
- /** @type {SSRContext | null} */
547
- var ssr_context = null;
548
- /** @param {SSRContext | null} v */
549
- function set_ssr_context(v) {
550
- ssr_context = v;
551
- }
552
- /**
553
- * @template T
554
- * @returns {[() => T, (context: T) => T]}
555
- * @since 5.40.0
556
- */
557
- function createContext() {
558
- const key = {};
559
- return [() => {
560
- if (!hasContext(key)) missing_context();
561
- return getContext(key);
562
- }, (context) => setContext(key, context)];
563
- }
564
- /**
565
- * @template T
566
- * @param {any} key
567
- * @returns {T}
568
- */
569
- function getContext(key) {
570
- return get_or_init_context_map().get(key);
571
- }
572
- /**
573
- * @template T
574
- * @param {any} key
575
- * @param {T} context
576
- * @returns {T}
577
- */
578
- function setContext(key, context) {
579
- get_or_init_context_map().set(key, context);
580
- return context;
581
- }
582
- /**
583
- * @param {any} key
584
- * @returns {boolean}
585
- */
586
- function hasContext(key) {
587
- return get_or_init_context_map().has(key);
588
- }
589
- /** @returns {Map<any, any>} */
590
- function getAllContexts() {
591
- return get_or_init_context_map();
592
- }
593
- /**
594
- * @param {string} name
595
- * @returns {Map<unknown, unknown>}
596
- */
597
- function get_or_init_context_map(name) {
598
- if (ssr_context === null) lifecycle_outside_component();
599
- return ssr_context.c ??= new Map(get_parent_context(ssr_context) || void 0);
600
- }
601
- /**
602
- * @param {Function} [fn]
603
- */
604
- function push$1(fn) {
605
- ssr_context = {
606
- p: ssr_context,
607
- c: null,
608
- r: null
609
- };
610
- }
611
- function pop$1() {
612
- ssr_context = ssr_context.p;
613
- }
614
- /**
615
- * @param {SSRContext} ssr_context
616
- * @returns {Map<unknown, unknown> | null}
617
- */
618
- function get_parent_context(ssr_context) {
619
- let parent = ssr_context.p;
620
- while (parent !== null) {
621
- const context_map = parent.c;
622
- if (context_map !== null) return context_map;
623
- parent = parent.p;
624
- }
625
- return null;
626
- }
627
- //#endregion
628
452
  //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/shared/utils.js
629
453
  var is_array = Array.isArray;
630
454
  var index_of = Array.prototype.indexOf;
@@ -664,6 +488,25 @@ function deferred() {
664
488
  reject
665
489
  };
666
490
  }
491
+ //#endregion
492
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/client/reactivity/equality.js
493
+ /** @import { Equals } from '#client' */
494
+ /** @type {Equals} */
495
+ function equals(value) {
496
+ return value === this.v;
497
+ }
498
+ /**
499
+ * @param {unknown} a
500
+ * @param {unknown} b
501
+ * @returns {boolean}
502
+ */
503
+ function safe_not_equal(a, b) {
504
+ return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function";
505
+ }
506
+ /** @type {Equals} */
507
+ function safe_equals(value) {
508
+ return !safe_not_equal(value, this.v);
509
+ }
667
510
  var CLEAN = 1024;
668
511
  var DIRTY = 2048;
669
512
  var MAYBE_DIRTY = 4096;
@@ -701,208 +544,33 @@ var STALE_REACTION = new class StaleReactionError extends Error {
701
544
  message = "The reaction that called `getAbortSignal()` was re-run or destroyed";
702
545
  }();
703
546
  //#endregion
704
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/abort-signal.js
705
- /** @type {AbortController | null} */
706
- var controller = null;
707
- function abort() {
708
- controller?.abort(STALE_REACTION);
709
- controller = null;
710
- }
711
- function getAbortSignal() {
712
- return (controller ??= new AbortController()).signal;
547
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/shared/errors.js
548
+ /**
549
+ * Cannot use `%name%(...)` unless the `experimental.async` compiler option is `true`
550
+ * @param {string} name
551
+ * @returns {never}
552
+ */
553
+ function experimental_async_required(name) {
554
+ throw new Error(`https://svelte.dev/e/experimental_async_required`);
713
555
  }
714
- /** @returns {RenderContext} */
715
- function get_render_context() {
716
- const store = als?.getStore();
717
- server_context_required();
718
- return store;
556
+ /**
557
+ * `%name%(...)` can only be used during component initialisation
558
+ * @param {string} name
559
+ * @returns {never}
560
+ */
561
+ function lifecycle_outside_component(name) {
562
+ throw new Error(`https://svelte.dev/e/lifecycle_outside_component`);
719
563
  }
720
- /** @type {AsyncLocalStorage<RenderContext | null> | null} */
721
- var als = null;
722
- //#endregion
723
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/constants.js
724
- var HYDRATION_ERROR = {};
725
- var UNINITIALIZED = Symbol("uninitialized");
726
564
  /**
727
- * A `hydratable` value with key `%key%` was created, but at least part of it was not used during the render.
728
- *
729
- * The `hydratable` was initialized in:
730
- * %stack%
731
- * @param {string} key
732
- * @param {string} stack
565
+ * Context was not set in a parent component
566
+ * @returns {never}
733
567
  */
734
- function unresolved_hydratable(key, stack) {
735
- console.warn(`https://svelte.dev/e/unresolved_hydratable`);
568
+ function missing_context() {
569
+ throw new Error(`https://svelte.dev/e/missing_context`);
736
570
  }
737
- //#endregion
738
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/hydration.js
739
- var BLOCK_OPEN = `<!--[-->`;
740
- var BLOCK_CLOSE = `<!--]-->`;
741
- //#endregion
742
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/escaping.js
743
- var ATTR_REGEX = /[&"<]/g;
744
- var CONTENT_REGEX = /[&<]/g;
745
571
  /**
746
- * @template V
747
- * @param {V} value
748
- * @param {boolean} [is_attr]
749
- */
750
- function escape_html(value, is_attr) {
751
- const str = String(value ?? "");
752
- const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;
753
- pattern.lastIndex = 0;
754
- let escaped = "";
755
- let last = 0;
756
- while (pattern.test(str)) {
757
- const i = pattern.lastIndex - 1;
758
- const ch = str[i];
759
- escaped += str.substring(last, i) + (ch === "&" ? "&amp;" : ch === "\"" ? "&quot;" : "&lt;");
760
- last = i + 1;
761
- }
762
- return escaped + str.substring(last);
763
- }
764
- //#endregion
765
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/shared/attributes.js
766
- /**
767
- * `<div translate={false}>` should be rendered as `<div translate="no">` and _not_
768
- * `<div translate="false">`, which is equivalent to `<div translate="yes">`. There
769
- * may be other odd cases that need to be added to this list in future
770
- * @type {Record<string, Map<any, string>>}
771
- */
772
- var replacements = { translate: new Map([[true, "yes"], [false, "no"]]) };
773
- /**
774
- * @template V
775
- * @param {string} name
776
- * @param {V} value
777
- * @param {boolean} [is_boolean]
778
- * @returns {string}
779
- */
780
- function attr(name, value, is_boolean = false) {
781
- if (name === "hidden" && value !== "until-found") is_boolean = true;
782
- if (value == null || !value && is_boolean) return "";
783
- const normalized = has_own_property.call(replacements, name) && replacements[name].get(value) || value;
784
- return ` ${name}${is_boolean ? `=""` : `="${escape_html(normalized, true)}"`}`;
785
- }
786
- /**
787
- * Small wrapper around clsx to preserve Svelte's (weird) handling of falsy values.
788
- * TODO Svelte 6 revisit this, and likely turn all falsy values into the empty string (what clsx also does)
789
- * @param {any} value
790
- */
791
- function clsx$1(value) {
792
- if (typeof value === "object") return clsx(value);
793
- else return value ?? "";
794
- }
795
- var whitespace = [..." \n\r\f\xA0\v"];
796
- /**
797
- * @param {any} value
798
- * @param {string | null} [hash]
799
- * @param {Record<string, boolean>} [directives]
800
- * @returns {string | null}
801
- */
802
- function to_class(value, hash, directives) {
803
- var classname = value == null ? "" : "" + value;
804
- if (hash) classname = classname ? classname + " " + hash : hash;
805
- if (directives) {
806
- for (var key of Object.keys(directives)) if (directives[key]) classname = classname ? classname + " " + key : key;
807
- else if (classname.length) {
808
- var len = key.length;
809
- var a = 0;
810
- while ((a = classname.indexOf(key, a)) >= 0) {
811
- var b = a + len;
812
- if ((a === 0 || whitespace.includes(classname[a - 1])) && (b === classname.length || whitespace.includes(classname[b]))) classname = (a === 0 ? "" : classname.substring(0, a)) + classname.substring(b + 1);
813
- else a = b;
814
- }
815
- }
816
- }
817
- return classname === "" ? null : classname;
818
- }
819
- /**
820
- *
821
- * @param {Record<string,any>} styles
822
- * @param {boolean} important
823
- */
824
- function append_styles(styles, important = false) {
825
- var separator = important ? " !important;" : ";";
826
- var css = "";
827
- for (var key of Object.keys(styles)) {
828
- var value = styles[key];
829
- if (value != null && value !== "") css += " " + key + ": " + value + separator;
830
- }
831
- return css;
832
- }
833
- /**
834
- * @param {string} name
835
- * @returns {string}
836
- */
837
- function to_css_name(name) {
838
- if (name[0] !== "-" || name[1] !== "-") return name.toLowerCase();
839
- return name;
840
- }
841
- /**
842
- * @param {any} value
843
- * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [styles]
844
- * @returns {string | null}
845
- */
846
- function to_style(value, styles) {
847
- if (styles) {
848
- var new_style = "";
849
- /** @type {Record<string,any> | undefined} */
850
- var normal_styles;
851
- /** @type {Record<string,any> | undefined} */
852
- var important_styles;
853
- if (Array.isArray(styles)) {
854
- normal_styles = styles[0];
855
- important_styles = styles[1];
856
- } else normal_styles = styles;
857
- if (value) {
858
- value = String(value).replaceAll(/\s*\/\*.*?\*\/\s*/g, "").trim();
859
- /** @type {boolean | '"' | "'"} */
860
- var in_str = false;
861
- var in_apo = 0;
862
- var in_comment = false;
863
- var reserved_names = [];
864
- if (normal_styles) reserved_names.push(...Object.keys(normal_styles).map(to_css_name));
865
- if (important_styles) reserved_names.push(...Object.keys(important_styles).map(to_css_name));
866
- var start_index = 0;
867
- var name_index = -1;
868
- const len = value.length;
869
- for (var i = 0; i < len; i++) {
870
- var c = value[i];
871
- if (in_comment) {
872
- if (c === "/" && value[i - 1] === "*") in_comment = false;
873
- } else if (in_str) {
874
- if (in_str === c) in_str = false;
875
- } else if (c === "/" && value[i + 1] === "*") in_comment = true;
876
- else if (c === "\"" || c === "'") in_str = c;
877
- else if (c === "(") in_apo++;
878
- else if (c === ")") in_apo--;
879
- if (!in_comment && in_str === false && in_apo === 0) {
880
- if (c === ":" && name_index === -1) name_index = i;
881
- else if (c === ";" || i === len - 1) {
882
- if (name_index !== -1) {
883
- var name = to_css_name(value.substring(start_index, name_index).trim());
884
- if (!reserved_names.includes(name)) {
885
- if (c !== ";") i++;
886
- var property = value.substring(start_index, i).trim();
887
- new_style += " " + property + ";";
888
- }
889
- }
890
- start_index = i + 1;
891
- name_index = -1;
892
- }
893
- }
894
- }
895
- }
896
- if (normal_styles) new_style += append_styles(normal_styles);
897
- if (important_styles) new_style += append_styles(important_styles, true);
898
- new_style = new_style.trim();
899
- return new_style === "" ? null : new_style;
900
- }
901
- return value == null ? null : String(value);
902
- }
903
- /**
904
- * Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state
905
- * @returns {never}
572
+ * Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state
573
+ * @returns {never}
906
574
  */
907
575
  function effect_update_depth_exceeded() {
908
576
  throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);
@@ -942,6 +610,10 @@ function state_unsafe_mutation() {
942
610
  function svelte_boundary_reset_onerror() {
943
611
  throw new Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`);
944
612
  }
613
+ //#endregion
614
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/constants.js
615
+ var HYDRATION_ERROR = {};
616
+ var UNINITIALIZED = Symbol("uninitialized");
945
617
  /**
946
618
  * Reading a derived belonging to a now-destroyed effect may result in stale values
947
619
  */
@@ -1021,25 +693,6 @@ function skip_nodes(remove = true) {
1021
693
  }
1022
694
  }
1023
695
  //#endregion
1024
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/client/reactivity/equality.js
1025
- /** @import { Equals } from '#client' */
1026
- /** @type {Equals} */
1027
- function equals(value) {
1028
- return value === this.v;
1029
- }
1030
- /**
1031
- * @param {unknown} a
1032
- * @param {unknown} b
1033
- * @returns {boolean}
1034
- */
1035
- function safe_not_equal(a, b) {
1036
- return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function";
1037
- }
1038
- /** @type {Equals} */
1039
- function safe_equals(value) {
1040
- return !safe_not_equal(value, this.v);
1041
- }
1042
- //#endregion
1043
696
  //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/client/context.js
1044
697
  /** @import { ComponentContext, DevStackEntry, Effect } from '#client' */
1045
698
  /** @type {ComponentContext | null} */
@@ -1054,7 +707,7 @@ function set_component_context(context) {
1054
707
  * @param {Function} [fn]
1055
708
  * @returns {void}
1056
709
  */
1057
- function push(props, runes = false, fn) {
710
+ function push$1(props, runes = false, fn) {
1058
711
  component_context = {
1059
712
  p: component_context,
1060
713
  i: false,
@@ -1071,7 +724,7 @@ function push(props, runes = false, fn) {
1071
724
  * @param {T} [component]
1072
725
  * @returns {T}
1073
726
  */
1074
- function pop(component) {
727
+ function pop$1(component) {
1075
728
  var context = component_context;
1076
729
  var effects = context.e;
1077
730
  if (effects !== null) {
@@ -1192,237 +845,64 @@ function defer_effect(effect, dirty_effects, maybe_dirty_effects) {
1192
845
  set_signal_status(effect, CLEAN);
1193
846
  }
1194
847
  //#endregion
1195
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/store/shared/index.js
1196
- /** @import { Readable, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable } from '../public.js' */
1197
- /** @import { Stores, StoresValues, SubscribeInvalidateTuple } from '../private.js' */
848
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/client/reactivity/batch.js
849
+ /** @import { Fork } from 'svelte' */
850
+ /** @import { Derived, Effect, Reaction, Source, Value } from '#client' */
851
+ /** @type {Batch | null} */
852
+ var first_batch = null;
853
+ /** @type {Batch | null} */
854
+ var last_batch = null;
855
+ /** @type {Batch | null} */
856
+ var current_batch = null;
1198
857
  /**
1199
- * @type {Array<SubscribeInvalidateTuple<any> | any>}
858
+ * This is needed to avoid overwriting inputs
859
+ * @type {Batch | null}
1200
860
  */
1201
- var subscriber_queue = [];
861
+ var previous_batch = null;
1202
862
  /**
1203
- * Creates a `Readable` store that allows reading by subscription.
1204
- *
1205
- * @template T
1206
- * @param {T} [value] initial value
1207
- * @param {StartStopNotifier<T>} [start]
1208
- * @returns {Readable<T>}
863
+ * When time travelling (i.e. working in one batch, while other batches
864
+ * still have ongoing work), we ignore the real values of affected
865
+ * signals in favour of their values within the batch
866
+ * @type {Map<Value, any> | null}
1209
867
  */
1210
- function readable(value, start) {
1211
- return { subscribe: writable(value, start).subscribe };
1212
- }
868
+ var batch_values = null;
869
+ /** @type {Effect | null} */
870
+ var last_scheduled_effect = null;
871
+ var is_flushing_sync = false;
872
+ var is_processing = false;
1213
873
  /**
1214
- * Create a `Writable` store that allows both updating and reading by subscription.
1215
- *
1216
- * @template T
1217
- * @param {T} [value] initial value
1218
- * @param {StartStopNotifier<T>} [start]
1219
- * @returns {Writable<T>}
874
+ * During traversal, this is an array. Newly created effects are (if not immediately
875
+ * executed) pushed to this array, rather than going through the scheduling
876
+ * rigamarole that would cause another turn of the flush loop.
877
+ * @type {Effect[] | null}
1220
878
  */
1221
- function writable(value, start = noop) {
1222
- /** @type {Unsubscriber | null} */
1223
- let stop = null;
1224
- /** @type {Set<SubscribeInvalidateTuple<T>>} */
1225
- const subscribers = /* @__PURE__ */ new Set();
879
+ var collected_effects = null;
880
+ /**
881
+ * An array of effects that are marked during traversal as a result of a `set`
882
+ * (not `internal_set`) call. These will be added to the next batch and
883
+ * trigger another `batch.process()`
884
+ * @type {Effect[] | null}
885
+ * @deprecated when we get rid of legacy mode and stores, we can get rid of this
886
+ */
887
+ var legacy_updates = null;
888
+ var flush_count = 0;
889
+ var uid = 1;
890
+ var Batch = class Batch {
891
+ id = uid++;
892
+ /** True as soon as `#process` was called */
893
+ #started = false;
894
+ linked = true;
895
+ /** @type {Batch | null} */
896
+ #prev = null;
897
+ /** @type {Batch | null} */
898
+ #next = null;
899
+ /** @type {Map<Effect, ReturnType<typeof deferred<any>>>} */
900
+ async_deriveds = /* @__PURE__ */ new Map();
1226
901
  /**
1227
- * @param {T} new_value
1228
- * @returns {void}
1229
- */
1230
- function set(new_value) {
1231
- if (safe_not_equal(value, new_value)) {
1232
- value = new_value;
1233
- if (stop) {
1234
- const run_queue = !subscriber_queue.length;
1235
- for (const subscriber of subscribers) {
1236
- subscriber[1]();
1237
- subscriber_queue.push(subscriber, value);
1238
- }
1239
- if (run_queue) {
1240
- for (let i = 0; i < subscriber_queue.length; i += 2) subscriber_queue[i][0](subscriber_queue[i + 1]);
1241
- subscriber_queue.length = 0;
1242
- }
1243
- }
1244
- }
1245
- }
1246
- /**
1247
- * @param {Updater<T>} fn
1248
- * @returns {void}
1249
- */
1250
- function update(fn) {
1251
- set(fn(value));
1252
- }
1253
- /**
1254
- * @param {Subscriber<T>} run
1255
- * @param {() => void} [invalidate]
1256
- * @returns {Unsubscriber}
1257
- */
1258
- function subscribe(run, invalidate = noop) {
1259
- /** @type {SubscribeInvalidateTuple<T>} */
1260
- const subscriber = [run, invalidate];
1261
- subscribers.add(subscriber);
1262
- if (subscribers.size === 1) stop = start(set, update) || noop;
1263
- run(value);
1264
- return () => {
1265
- subscribers.delete(subscriber);
1266
- if (subscribers.size === 0 && stop) {
1267
- stop();
1268
- stop = null;
1269
- }
1270
- };
1271
- }
1272
- return {
1273
- set,
1274
- update,
1275
- subscribe
1276
- };
1277
- }
1278
- /**
1279
- * Derived value store by synchronizing one or more readable stores and
1280
- * applying an aggregation function over its input values.
1281
- *
1282
- * @template {Stores} S
1283
- * @template T
1284
- * @overload
1285
- * @param {S} stores
1286
- * @param {(values: StoresValues<S>, set: (value: T) => void, update: (fn: Updater<T>) => void) => Unsubscriber | void} fn
1287
- * @param {T} [initial_value]
1288
- * @returns {Readable<T>}
1289
- */
1290
- /**
1291
- * Derived value store by synchronizing one or more readable stores and
1292
- * applying an aggregation function over its input values.
1293
- *
1294
- * @template {Stores} S
1295
- * @template T
1296
- * @overload
1297
- * @param {S} stores
1298
- * @param {(values: StoresValues<S>) => T} fn
1299
- * @param {T} [initial_value]
1300
- * @returns {Readable<T>}
1301
- */
1302
- /**
1303
- * @template {Stores} S
1304
- * @template T
1305
- * @param {S} stores
1306
- * @param {Function} fn
1307
- * @param {T} [initial_value]
1308
- * @returns {Readable<T>}
1309
- */
1310
- function derived$1(stores, fn, initial_value) {
1311
- const single = !Array.isArray(stores);
1312
- /** @type {Array<Readable<any>>} */
1313
- const stores_array = single ? [stores] : stores;
1314
- if (!stores_array.every(Boolean)) throw new Error("derived() expects stores as input, got a falsy value");
1315
- const auto = fn.length < 2;
1316
- return readable(initial_value, (set, update) => {
1317
- let started = false;
1318
- /** @type {T[]} */
1319
- const values = [];
1320
- let pending = 0;
1321
- let cleanup = noop;
1322
- const sync = () => {
1323
- if (pending) return;
1324
- cleanup();
1325
- const result = fn(single ? values[0] : values, set, update);
1326
- if (auto) set(result);
1327
- else cleanup = typeof result === "function" ? result : noop;
1328
- };
1329
- const unsubscribers = stores_array.map((store, i) => subscribe_to_store(store, (value) => {
1330
- values[i] = value;
1331
- pending &= ~(1 << i);
1332
- if (started) sync();
1333
- }, () => {
1334
- pending |= 1 << i;
1335
- }));
1336
- started = true;
1337
- sync();
1338
- return function stop() {
1339
- run_all(unsubscribers);
1340
- cleanup();
1341
- started = false;
1342
- };
1343
- });
1344
- }
1345
- /**
1346
- * Takes a store and returns a new one derived from the old one that is readable.
1347
- *
1348
- * @template T
1349
- * @param {Readable<T>} store - store to make readonly
1350
- * @returns {Readable<T>}
1351
- */
1352
- function readonly(store) {
1353
- return { subscribe: store.subscribe.bind(store) };
1354
- }
1355
- /**
1356
- * Get the current value from a store by subscribing and immediately unsubscribing.
1357
- *
1358
- * @template T
1359
- * @param {Readable<T>} store
1360
- * @returns {T}
1361
- */
1362
- function get$1(store) {
1363
- let value;
1364
- subscribe_to_store(store, (_) => value = _)();
1365
- return value;
1366
- }
1367
- //#endregion
1368
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/client/reactivity/batch.js
1369
- /** @import { Fork } from 'svelte' */
1370
- /** @import { Derived, Effect, Reaction, Source, Value } from '#client' */
1371
- /** @type {Batch | null} */
1372
- var first_batch = null;
1373
- /** @type {Batch | null} */
1374
- var last_batch = null;
1375
- /** @type {Batch | null} */
1376
- var current_batch = null;
1377
- /**
1378
- * This is needed to avoid overwriting inputs
1379
- * @type {Batch | null}
1380
- */
1381
- var previous_batch = null;
1382
- /**
1383
- * When time travelling (i.e. working in one batch, while other batches
1384
- * still have ongoing work), we ignore the real values of affected
1385
- * signals in favour of their values within the batch
1386
- * @type {Map<Value, any> | null}
1387
- */
1388
- var batch_values = null;
1389
- /** @type {Effect | null} */
1390
- var last_scheduled_effect = null;
1391
- var is_flushing_sync = false;
1392
- var is_processing = false;
1393
- /**
1394
- * During traversal, this is an array. Newly created effects are (if not immediately
1395
- * executed) pushed to this array, rather than going through the scheduling
1396
- * rigamarole that would cause another turn of the flush loop.
1397
- * @type {Effect[] | null}
1398
- */
1399
- var collected_effects = null;
1400
- /**
1401
- * An array of effects that are marked during traversal as a result of a `set`
1402
- * (not `internal_set`) call. These will be added to the next batch and
1403
- * trigger another `batch.process()`
1404
- * @type {Effect[] | null}
1405
- * @deprecated when we get rid of legacy mode and stores, we can get rid of this
1406
- */
1407
- var legacy_updates = null;
1408
- var flush_count = 0;
1409
- var uid = 1;
1410
- var Batch = class Batch {
1411
- id = uid++;
1412
- /** True as soon as `#process` was called */
1413
- #started = false;
1414
- linked = true;
1415
- /** @type {Batch | null} */
1416
- #prev = null;
1417
- /** @type {Batch | null} */
1418
- #next = null;
1419
- /** @type {Map<Effect, ReturnType<typeof deferred<any>>>} */
1420
- async_deriveds = /* @__PURE__ */ new Map();
1421
- /**
1422
- * The current values of any signals that are updated in this batch.
1423
- * Tuple format: [value, is_derived] (note: is_derived is false for deriveds, too, if they were overridden via assignment)
1424
- * They keys of this map are identical to `this.#previous`
1425
- * @type {Map<Value, [any, boolean]>}
902
+ * The current values of any signals that are updated in this batch.
903
+ * Tuple format: [value, is_derived] (note: is_derived is false for deriveds, too, if they were overridden via assignment)
904
+ * They keys of this map are identical to `this.#previous`
905
+ * @type {Map<Value, [any, boolean]>}
1426
906
  */
1427
907
  current = /* @__PURE__ */ new Map();
1428
908
  /**
@@ -2139,7 +1619,7 @@ function createSubscriber(start) {
2139
1619
  let stop;
2140
1620
  return () => {
2141
1621
  if (effect_tracking()) {
2142
- get(version);
1622
+ get$1(version);
2143
1623
  render_effect(() => {
2144
1624
  if (subscribers === 0) stop = untrack(() => start(() => increment(version)));
2145
1625
  subscribers += 1;
@@ -2404,7 +1884,7 @@ var Boundary = class {
2404
1884
  }
2405
1885
  get_effect_pending() {
2406
1886
  this.#effect_pending_subscriber();
2407
- return get(this.#effect_pending);
1887
+ return get$1(this.#effect_pending);
2408
1888
  }
2409
1889
  /** @param {unknown} error */
2410
1890
  error(error) {
@@ -2783,7 +2263,7 @@ function proxy(value) {
2783
2263
  sources.set(prop, s);
2784
2264
  }
2785
2265
  if (s !== void 0) {
2786
- var v = get(s);
2266
+ var v = get$1(s);
2787
2267
  return v === UNINITIALIZED ? void 0 : v;
2788
2268
  }
2789
2269
  return Reflect.get(target, prop, receiver);
@@ -2792,7 +2272,7 @@ function proxy(value) {
2792
2272
  var descriptor = Reflect.getOwnPropertyDescriptor(target, prop);
2793
2273
  if (descriptor && "value" in descriptor) {
2794
2274
  var s = sources.get(prop);
2795
- if (s) descriptor.value = get(s);
2275
+ if (s) descriptor.value = get$1(s);
2796
2276
  } else if (descriptor === void 0) {
2797
2277
  var source = sources.get(prop);
2798
2278
  var value = source?.v;
@@ -2816,7 +2296,7 @@ function proxy(value) {
2816
2296
  });
2817
2297
  sources.set(prop, s);
2818
2298
  }
2819
- if (get(s) === UNINITIALIZED) return false;
2299
+ if (get$1(s) === UNINITIALIZED) return false;
2820
2300
  }
2821
2301
  return has;
2822
2302
  },
@@ -2855,7 +2335,7 @@ function proxy(value) {
2855
2335
  return true;
2856
2336
  },
2857
2337
  ownKeys(target) {
2858
- get(version);
2338
+ get$1(version);
2859
2339
  var own_keys = Reflect.ownKeys(target).filter((key) => {
2860
2340
  var source = sources.get(key);
2861
2341
  return source === void 0 || source.v !== UNINITIALIZED;
@@ -3475,7 +2955,7 @@ function update_effect(effect) {
3475
2955
  * @param {Value<V>} signal
3476
2956
  * @returns {V}
3477
2957
  */
3478
- function get(signal) {
2958
+ function get$1(signal) {
3479
2959
  var is_derived = (signal.f & 2) !== 0;
3480
2960
  if (active_reaction !== null && !untracking) {
3481
2961
  if (!(active_effect !== null && (active_effect.f & 16384) !== 0) && (current_sources === null || !includes.call(current_sources, signal))) {
@@ -3591,208 +3071,584 @@ function subscribe_to_store(store, run, invalidate) {
3591
3071
  return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
3592
3072
  }
3593
3073
  //#endregion
3594
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/utils.js
3074
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/store/shared/index.js
3075
+ /** @import { Readable, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable } from '../public.js' */
3076
+ /** @import { Stores, StoresValues, SubscribeInvalidateTuple } from '../private.js' */
3595
3077
  /**
3596
- * Attributes that are boolean, i.e. they are present or not present.
3078
+ * @type {Array<SubscribeInvalidateTuple<any> | any>}
3597
3079
  */
3598
- var DOM_BOOLEAN_ATTRIBUTES = [
3599
- "allowfullscreen",
3600
- "async",
3601
- "autofocus",
3602
- "autoplay",
3603
- "checked",
3604
- "controls",
3605
- "default",
3606
- "disabled",
3607
- "formnovalidate",
3608
- "indeterminate",
3609
- "inert",
3610
- "ismap",
3611
- "loop",
3612
- "multiple",
3613
- "muted",
3614
- "nomodule",
3615
- "novalidate",
3616
- "open",
3617
- "playsinline",
3618
- "readonly",
3619
- "required",
3620
- "reversed",
3621
- "seamless",
3622
- "selected",
3623
- "webkitdirectory",
3624
- "defer",
3625
- "disablepictureinpicture",
3626
- "disableremoteplayback"
3627
- ];
3080
+ var subscriber_queue = [];
3628
3081
  /**
3629
- * Returns `true` if `name` is a boolean attribute
3630
- * @param {string} name
3082
+ * Creates a `Readable` store that allows reading by subscription.
3083
+ *
3084
+ * @template T
3085
+ * @param {T} [value] initial value
3086
+ * @param {StartStopNotifier<T>} [start]
3087
+ * @returns {Readable<T>}
3631
3088
  */
3632
- function is_boolean_attribute(name) {
3633
- return DOM_BOOLEAN_ATTRIBUTES.includes(name);
3089
+ function readable(value, start) {
3090
+ return { subscribe: writable(value, start).subscribe };
3634
3091
  }
3635
3092
  /**
3636
- * Subset of delegated events which should be passive by default.
3637
- * These two are already passive via browser defaults on window, document and body.
3638
- * But since
3639
- * - we're delegating them
3640
- * - they happen often
3641
- * - they apply to mobile which is generally less performant
3642
- * we're marking them as passive by default for other elements, too.
3643
- */
3644
- var PASSIVE_EVENTS = ["touchstart", "touchmove"];
3645
- /**
3646
- * Returns `true` if `name` is a passive event
3647
- * @param {string} name
3093
+ * Create a `Writable` store that allows both updating and reading by subscription.
3094
+ *
3095
+ * @template T
3096
+ * @param {T} [value] initial value
3097
+ * @param {StartStopNotifier<T>} [start]
3098
+ * @returns {Writable<T>}
3099
+ */
3100
+ function writable(value, start = noop) {
3101
+ /** @type {Unsubscriber | null} */
3102
+ let stop = null;
3103
+ /** @type {Set<SubscribeInvalidateTuple<T>>} */
3104
+ const subscribers = /* @__PURE__ */ new Set();
3105
+ /**
3106
+ * @param {T} new_value
3107
+ * @returns {void}
3108
+ */
3109
+ function set(new_value) {
3110
+ if (safe_not_equal(value, new_value)) {
3111
+ value = new_value;
3112
+ if (stop) {
3113
+ const run_queue = !subscriber_queue.length;
3114
+ for (const subscriber of subscribers) {
3115
+ subscriber[1]();
3116
+ subscriber_queue.push(subscriber, value);
3117
+ }
3118
+ if (run_queue) {
3119
+ for (let i = 0; i < subscriber_queue.length; i += 2) subscriber_queue[i][0](subscriber_queue[i + 1]);
3120
+ subscriber_queue.length = 0;
3121
+ }
3122
+ }
3123
+ }
3124
+ }
3125
+ /**
3126
+ * @param {Updater<T>} fn
3127
+ * @returns {void}
3128
+ */
3129
+ function update(fn) {
3130
+ set(fn(value));
3131
+ }
3132
+ /**
3133
+ * @param {Subscriber<T>} run
3134
+ * @param {() => void} [invalidate]
3135
+ * @returns {Unsubscriber}
3136
+ */
3137
+ function subscribe(run, invalidate = noop) {
3138
+ /** @type {SubscribeInvalidateTuple<T>} */
3139
+ const subscriber = [run, invalidate];
3140
+ subscribers.add(subscriber);
3141
+ if (subscribers.size === 1) stop = start(set, update) || noop;
3142
+ run(value);
3143
+ return () => {
3144
+ subscribers.delete(subscriber);
3145
+ if (subscribers.size === 0 && stop) {
3146
+ stop();
3147
+ stop = null;
3148
+ }
3149
+ };
3150
+ }
3151
+ return {
3152
+ set,
3153
+ update,
3154
+ subscribe
3155
+ };
3156
+ }
3157
+ /**
3158
+ * Derived value store by synchronizing one or more readable stores and
3159
+ * applying an aggregation function over its input values.
3160
+ *
3161
+ * @template {Stores} S
3162
+ * @template T
3163
+ * @overload
3164
+ * @param {S} stores
3165
+ * @param {(values: StoresValues<S>, set: (value: T) => void, update: (fn: Updater<T>) => void) => Unsubscriber | void} fn
3166
+ * @param {T} [initial_value]
3167
+ * @returns {Readable<T>}
3168
+ */
3169
+ /**
3170
+ * Derived value store by synchronizing one or more readable stores and
3171
+ * applying an aggregation function over its input values.
3172
+ *
3173
+ * @template {Stores} S
3174
+ * @template T
3175
+ * @overload
3176
+ * @param {S} stores
3177
+ * @param {(values: StoresValues<S>) => T} fn
3178
+ * @param {T} [initial_value]
3179
+ * @returns {Readable<T>}
3180
+ */
3181
+ /**
3182
+ * @template {Stores} S
3183
+ * @template T
3184
+ * @param {S} stores
3185
+ * @param {Function} fn
3186
+ * @param {T} [initial_value]
3187
+ * @returns {Readable<T>}
3188
+ */
3189
+ function derived$1(stores, fn, initial_value) {
3190
+ const single = !Array.isArray(stores);
3191
+ /** @type {Array<Readable<any>>} */
3192
+ const stores_array = single ? [stores] : stores;
3193
+ if (!stores_array.every(Boolean)) throw new Error("derived() expects stores as input, got a falsy value");
3194
+ const auto = fn.length < 2;
3195
+ return readable(initial_value, (set, update) => {
3196
+ let started = false;
3197
+ /** @type {T[]} */
3198
+ const values = [];
3199
+ let pending = 0;
3200
+ let cleanup = noop;
3201
+ const sync = () => {
3202
+ if (pending) return;
3203
+ cleanup();
3204
+ const result = fn(single ? values[0] : values, set, update);
3205
+ if (auto) set(result);
3206
+ else cleanup = typeof result === "function" ? result : noop;
3207
+ };
3208
+ const unsubscribers = stores_array.map((store, i) => subscribe_to_store(store, (value) => {
3209
+ values[i] = value;
3210
+ pending &= ~(1 << i);
3211
+ if (started) sync();
3212
+ }, () => {
3213
+ pending |= 1 << i;
3214
+ }));
3215
+ started = true;
3216
+ sync();
3217
+ return function stop() {
3218
+ run_all(unsubscribers);
3219
+ cleanup();
3220
+ started = false;
3221
+ };
3222
+ });
3223
+ }
3224
+ /**
3225
+ * Takes a store and returns a new one derived from the old one that is readable.
3226
+ *
3227
+ * @template T
3228
+ * @param {Readable<T>} store - store to make readonly
3229
+ * @returns {Readable<T>}
3230
+ */
3231
+ function readonly(store) {
3232
+ return { subscribe: store.subscribe.bind(store) };
3233
+ }
3234
+ /**
3235
+ * Get the current value from a store by subscribing and immediately unsubscribing.
3236
+ *
3237
+ * @template T
3238
+ * @param {Readable<T>} store
3239
+ * @returns {T}
3240
+ */
3241
+ function get(store) {
3242
+ let value;
3243
+ subscribe_to_store(store, (_) => value = _)();
3244
+ return value;
3245
+ }
3246
+ //#endregion
3247
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/utils.js
3248
+ /**
3249
+ * Attributes that are boolean, i.e. they are present or not present.
3250
+ */
3251
+ var DOM_BOOLEAN_ATTRIBUTES = [
3252
+ "allowfullscreen",
3253
+ "async",
3254
+ "autofocus",
3255
+ "autoplay",
3256
+ "checked",
3257
+ "controls",
3258
+ "default",
3259
+ "disabled",
3260
+ "formnovalidate",
3261
+ "indeterminate",
3262
+ "inert",
3263
+ "ismap",
3264
+ "loop",
3265
+ "multiple",
3266
+ "muted",
3267
+ "nomodule",
3268
+ "novalidate",
3269
+ "open",
3270
+ "playsinline",
3271
+ "readonly",
3272
+ "required",
3273
+ "reversed",
3274
+ "seamless",
3275
+ "selected",
3276
+ "webkitdirectory",
3277
+ "defer",
3278
+ "disablepictureinpicture",
3279
+ "disableremoteplayback"
3280
+ ];
3281
+ /**
3282
+ * Returns `true` if `name` is a boolean attribute
3283
+ * @param {string} name
3284
+ */
3285
+ function is_boolean_attribute(name) {
3286
+ return DOM_BOOLEAN_ATTRIBUTES.includes(name);
3287
+ }
3288
+ /**
3289
+ * Subset of delegated events which should be passive by default.
3290
+ * These two are already passive via browser defaults on window, document and body.
3291
+ * But since
3292
+ * - we're delegating them
3293
+ * - they happen often
3294
+ * - they apply to mobile which is generally less performant
3295
+ * we're marking them as passive by default for other elements, too.
3296
+ */
3297
+ var PASSIVE_EVENTS = ["touchstart", "touchmove"];
3298
+ /**
3299
+ * Returns `true` if `name` is a passive event
3300
+ * @param {string} name
3648
3301
  */
3649
3302
  function is_passive_event(name) {
3650
3303
  return PASSIVE_EVENTS.includes(name);
3651
3304
  }
3652
- //#endregion
3653
- //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/index.js
3654
- var INVALID_ATTR_NAME_CHAR_REGEX = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u;
3305
+ //#endregion
3306
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/escaping.js
3307
+ var ATTR_REGEX = /[&"<]/g;
3308
+ var CONTENT_REGEX = /[&<]/g;
3309
+ /**
3310
+ * @template V
3311
+ * @param {V} value
3312
+ * @param {boolean} [is_attr]
3313
+ */
3314
+ function escape_html(value, is_attr) {
3315
+ const str = String(value ?? "");
3316
+ const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;
3317
+ pattern.lastIndex = 0;
3318
+ let escaped = "";
3319
+ let last = 0;
3320
+ while (pattern.test(str)) {
3321
+ const i = pattern.lastIndex - 1;
3322
+ const ch = str[i];
3323
+ escaped += str.substring(last, i) + (ch === "&" ? "&amp;" : ch === "\"" ? "&quot;" : "&lt;");
3324
+ last = i + 1;
3325
+ }
3326
+ return escaped + str.substring(last);
3327
+ }
3328
+ //#endregion
3329
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/shared/attributes.js
3330
+ /**
3331
+ * `<div translate={false}>` should be rendered as `<div translate="no">` and _not_
3332
+ * `<div translate="false">`, which is equivalent to `<div translate="yes">`. There
3333
+ * may be other odd cases that need to be added to this list in future
3334
+ * @type {Record<string, Map<any, string>>}
3335
+ */
3336
+ var replacements = { translate: new Map([[true, "yes"], [false, "no"]]) };
3337
+ /**
3338
+ * @template V
3339
+ * @param {string} name
3340
+ * @param {V} value
3341
+ * @param {boolean} [is_boolean]
3342
+ * @returns {string}
3343
+ */
3344
+ function attr(name, value, is_boolean = false) {
3345
+ if (name === "hidden" && value !== "until-found") is_boolean = true;
3346
+ if (value == null || !value && is_boolean) return "";
3347
+ const normalized = has_own_property.call(replacements, name) && replacements[name].get(value) || value;
3348
+ return ` ${name}${is_boolean ? `=""` : `="${escape_html(normalized, true)}"`}`;
3349
+ }
3350
+ /**
3351
+ * Small wrapper around clsx to preserve Svelte's (weird) handling of falsy values.
3352
+ * TODO Svelte 6 revisit this, and likely turn all falsy values into the empty string (what clsx also does)
3353
+ * @param {any} value
3354
+ */
3355
+ function clsx$1(value) {
3356
+ if (typeof value === "object") return clsx(value);
3357
+ else return value ?? "";
3358
+ }
3359
+ var whitespace = [..." \n\r\f\xA0\v"];
3360
+ /**
3361
+ * @param {any} value
3362
+ * @param {string | null} [hash]
3363
+ * @param {Record<string, boolean>} [directives]
3364
+ * @returns {string | null}
3365
+ */
3366
+ function to_class(value, hash, directives) {
3367
+ var classname = value == null ? "" : "" + value;
3368
+ if (hash) classname = classname ? classname + " " + hash : hash;
3369
+ if (directives) {
3370
+ for (var key of Object.keys(directives)) if (directives[key]) classname = classname ? classname + " " + key : key;
3371
+ else if (classname.length) {
3372
+ var len = key.length;
3373
+ var a = 0;
3374
+ while ((a = classname.indexOf(key, a)) >= 0) {
3375
+ var b = a + len;
3376
+ if ((a === 0 || whitespace.includes(classname[a - 1])) && (b === classname.length || whitespace.includes(classname[b]))) classname = (a === 0 ? "" : classname.substring(0, a)) + classname.substring(b + 1);
3377
+ else a = b;
3378
+ }
3379
+ }
3380
+ }
3381
+ return classname === "" ? null : classname;
3382
+ }
3655
3383
  /**
3656
- * Only available on the server and when compiling with the `server` option.
3657
- * Takes a component and returns an object with `body` and `head` properties on it, which you can use to populate the HTML when server-rendering your app.
3658
- * @template {Record<string, any>} Props
3659
- * @param {Component<Props> | ComponentType<SvelteComponent<Props>>} component
3660
- * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string; csp?: Csp; transformError?: (error: unknown) => unknown }} [options]
3661
- * @returns {RenderOutput}
3384
+ *
3385
+ * @param {Record<string,any>} styles
3386
+ * @param {boolean} important
3662
3387
  */
3663
- function render(component, options = {}) {
3664
- if (options.csp?.hash && options.csp.nonce) invalid_csp();
3665
- return Renderer.render(component, options);
3388
+ function append_styles(styles, important = false) {
3389
+ var separator = important ? " !important;" : ";";
3390
+ var css = "";
3391
+ for (var key of Object.keys(styles)) {
3392
+ var value = styles[key];
3393
+ if (value != null && value !== "") css += " " + key + ": " + value + separator;
3394
+ }
3395
+ return css;
3666
3396
  }
3667
3397
  /**
3668
- * @param {Record<string, unknown>} attrs
3669
- * @param {string} [css_hash]
3670
- * @param {Record<string, boolean>} [classes]
3671
- * @param {Record<string, string>} [styles]
3672
- * @param {number} [flags]
3398
+ * @param {string} name
3673
3399
  * @returns {string}
3674
3400
  */
3675
- function attributes(attrs, css_hash, classes, styles, flags = 0) {
3676
- if (styles) attrs.style = to_style(attrs.style, styles);
3677
- if (attrs.class) attrs.class = clsx$1(attrs.class);
3678
- if (css_hash || classes) attrs.class = to_class(attrs.class, css_hash, classes);
3679
- let attr_str = "";
3680
- let name;
3681
- const is_html = (flags & 1) === 0;
3682
- const lowercase = (flags & 2) === 0;
3683
- const is_input = (flags & 4) !== 0;
3684
- for (name of Object.keys(attrs)) {
3685
- if (typeof attrs[name] === "function") continue;
3686
- if (name[0] === "$" && name[1] === "$") continue;
3687
- if (name === "" || INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue;
3688
- var value = attrs[name];
3689
- var lower = name.toLowerCase();
3690
- if (lowercase) name = lower;
3691
- if (lower.length > 2 && lower.startsWith("on")) continue;
3692
- if (is_input) {
3693
- if (name === "defaultvalue" || name === "defaultchecked") {
3694
- name = name === "defaultvalue" ? "value" : "checked";
3695
- if (attrs[name]) continue;
3401
+ function to_css_name(name) {
3402
+ if (name[0] !== "-" || name[1] !== "-") return name.toLowerCase();
3403
+ return name;
3404
+ }
3405
+ /**
3406
+ * @param {any} value
3407
+ * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [styles]
3408
+ * @returns {string | null}
3409
+ */
3410
+ function to_style(value, styles) {
3411
+ if (styles) {
3412
+ var new_style = "";
3413
+ /** @type {Record<string,any> | undefined} */
3414
+ var normal_styles;
3415
+ /** @type {Record<string,any> | undefined} */
3416
+ var important_styles;
3417
+ if (Array.isArray(styles)) {
3418
+ normal_styles = styles[0];
3419
+ important_styles = styles[1];
3420
+ } else normal_styles = styles;
3421
+ if (value) {
3422
+ value = String(value).replaceAll(/\s*\/\*.*?\*\/\s*/g, "").trim();
3423
+ /** @type {boolean | '"' | "'"} */
3424
+ var in_str = false;
3425
+ var in_apo = 0;
3426
+ var in_comment = false;
3427
+ var reserved_names = [];
3428
+ if (normal_styles) reserved_names.push(...Object.keys(normal_styles).map(to_css_name));
3429
+ if (important_styles) reserved_names.push(...Object.keys(important_styles).map(to_css_name));
3430
+ var start_index = 0;
3431
+ var name_index = -1;
3432
+ const len = value.length;
3433
+ for (var i = 0; i < len; i++) {
3434
+ var c = value[i];
3435
+ if (in_comment) {
3436
+ if (c === "/" && value[i - 1] === "*") in_comment = false;
3437
+ } else if (in_str) {
3438
+ if (in_str === c) in_str = false;
3439
+ } else if (c === "/" && value[i + 1] === "*") in_comment = true;
3440
+ else if (c === "\"" || c === "'") in_str = c;
3441
+ else if (c === "(") in_apo++;
3442
+ else if (c === ")") in_apo--;
3443
+ if (!in_comment && in_str === false && in_apo === 0) {
3444
+ if (c === ":" && name_index === -1) name_index = i;
3445
+ else if (c === ";" || i === len - 1) {
3446
+ if (name_index !== -1) {
3447
+ var name = to_css_name(value.substring(start_index, name_index).trim());
3448
+ if (!reserved_names.includes(name)) {
3449
+ if (c !== ";") i++;
3450
+ var property = value.substring(start_index, i).trim();
3451
+ new_style += " " + property + ";";
3452
+ }
3453
+ }
3454
+ start_index = i + 1;
3455
+ name_index = -1;
3456
+ }
3457
+ }
3696
3458
  }
3697
3459
  }
3698
- attr_str += attr(name, value, is_html && is_boolean_attribute(name));
3460
+ if (normal_styles) new_style += append_styles(normal_styles);
3461
+ if (important_styles) new_style += append_styles(important_styles, true);
3462
+ new_style = new_style.trim();
3463
+ return new_style === "" ? null : new_style;
3699
3464
  }
3700
- return attr_str;
3465
+ return value == null ? null : String(value);
3466
+ }
3467
+ //#endregion
3468
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/hydration.js
3469
+ var BLOCK_OPEN = `<!--[-->`;
3470
+ var BLOCK_CLOSE = `<!--]-->`;
3471
+ //#endregion
3472
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/abort-signal.js
3473
+ /** @type {AbortController | null} */
3474
+ var controller = null;
3475
+ function abort() {
3476
+ controller?.abort(STALE_REACTION);
3477
+ controller = null;
3478
+ }
3479
+ function getAbortSignal() {
3480
+ return (controller ??= new AbortController()).signal;
3701
3481
  }
3702
3482
  /**
3703
- * @template V
3704
- * @param {Record<string, [any, any, any]>} store_values
3705
- * @param {string} store_name
3706
- * @param {Store<V> | null | undefined} store
3707
- * @returns {V}
3483
+ * Encountered asynchronous work while rendering synchronously.
3484
+ * @returns {never}
3708
3485
  */
3709
- function store_get(store_values, store_name, store) {
3710
- if (store_name in store_values && store_values[store_name][0] === store) return store_values[store_name][2];
3711
- store_values[store_name]?.[1]();
3712
- store_values[store_name] = [
3713
- store,
3714
- null,
3715
- void 0
3716
- ];
3717
- const unsub = subscribe_to_store(
3718
- store,
3719
- /** @param {any} v */
3720
- (v) => store_values[store_name][2] = v
3721
- );
3722
- store_values[store_name][1] = unsub;
3723
- return store_values[store_name][2];
3486
+ function await_invalid() {
3487
+ const error = /* @__PURE__ */ new Error(`await_invalid\nEncountered asynchronous work while rendering synchronously.\nhttps://svelte.dev/e/await_invalid`);
3488
+ error.name = "Svelte error";
3489
+ throw error;
3490
+ }
3491
+ /**
3492
+ * Failed to serialize `hydratable` data for key `%key%`.
3493
+ *
3494
+ * `hydratable` can serialize anything [`uneval` from `devalue`](https://npmjs.com/package/uneval) can, plus Promises.
3495
+ *
3496
+ * Cause:
3497
+ * %stack%
3498
+ * @param {string} key
3499
+ * @param {string} stack
3500
+ * @returns {never}
3501
+ */
3502
+ function hydratable_serialization_failed(key, stack) {
3503
+ const error = /* @__PURE__ */ new Error(`hydratable_serialization_failed\nFailed to serialize \`hydratable\` data for key \`${key}\`.
3504
+
3505
+ \`hydratable\` can serialize anything [\`uneval\` from \`devalue\`](https://npmjs.com/package/uneval) can, plus Promises.
3506
+
3507
+ Cause:
3508
+ ${stack}\nhttps://svelte.dev/e/hydratable_serialization_failed`);
3509
+ error.name = "Svelte error";
3510
+ throw error;
3511
+ }
3512
+ /**
3513
+ * `csp.nonce` was set while `csp.hash` was `true`. These options cannot be used simultaneously.
3514
+ * @returns {never}
3515
+ */
3516
+ function invalid_csp() {
3517
+ const error = /* @__PURE__ */ new Error(`invalid_csp\n\`csp.nonce\` was set while \`csp.hash\` was \`true\`. These options cannot be used simultaneously.\nhttps://svelte.dev/e/invalid_csp`);
3518
+ error.name = "Svelte error";
3519
+ throw error;
3520
+ }
3521
+ /**
3522
+ * The `idPrefix` option cannot include `--`.
3523
+ * @returns {never}
3524
+ */
3525
+ function invalid_id_prefix() {
3526
+ const error = /* @__PURE__ */ new Error(`invalid_id_prefix\nThe \`idPrefix\` option cannot include \`--\`.\nhttps://svelte.dev/e/invalid_id_prefix`);
3527
+ error.name = "Svelte error";
3528
+ throw error;
3529
+ }
3530
+ /**
3531
+ * `%name%(...)` is not available on the server
3532
+ * @param {string} name
3533
+ * @returns {never}
3534
+ */
3535
+ function lifecycle_function_unavailable(name) {
3536
+ const error = /* @__PURE__ */ new Error(`lifecycle_function_unavailable\n\`${name}(...)\` is not available on the server\nhttps://svelte.dev/e/lifecycle_function_unavailable`);
3537
+ error.name = "Svelte error";
3538
+ throw error;
3539
+ }
3540
+ /**
3541
+ * Could not resolve `render` context.
3542
+ * @returns {never}
3543
+ */
3544
+ function server_context_required() {
3545
+ const error = /* @__PURE__ */ new Error(`server_context_required\nCould not resolve \`render\` context.\nhttps://svelte.dev/e/server_context_required`);
3546
+ error.name = "Svelte error";
3547
+ throw error;
3548
+ }
3549
+ //#endregion
3550
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/context.js
3551
+ /** @import { SSRContext } from '#server' */
3552
+ /** @type {SSRContext | null} */
3553
+ var ssr_context = null;
3554
+ /** @param {SSRContext | null} v */
3555
+ function set_ssr_context(v) {
3556
+ ssr_context = v;
3557
+ }
3558
+ /**
3559
+ * @template T
3560
+ * @returns {[() => T, (context: T) => T]}
3561
+ * @since 5.40.0
3562
+ */
3563
+ function createContext() {
3564
+ const key = {};
3565
+ return [() => {
3566
+ if (!hasContext(key)) missing_context();
3567
+ return getContext(key);
3568
+ }, (context) => setContext(key, context)];
3569
+ }
3570
+ /**
3571
+ * @template T
3572
+ * @param {any} key
3573
+ * @returns {T}
3574
+ */
3575
+ function getContext(key) {
3576
+ return get_or_init_context_map().get(key);
3724
3577
  }
3725
3578
  /**
3726
- * Sets the new value of a store and returns that value.
3727
- * @template V
3728
- * @param {Store<V>} store
3729
- * @param {V} value
3730
- * @returns {V}
3579
+ * @template T
3580
+ * @param {any} key
3581
+ * @param {T} context
3582
+ * @returns {T}
3731
3583
  */
3732
- function store_set(store, value) {
3733
- store.set(value);
3734
- return value;
3584
+ function setContext(key, context) {
3585
+ get_or_init_context_map().set(key, context);
3586
+ return context;
3735
3587
  }
3736
3588
  /**
3737
- * Updates a store with a new value.
3738
- * @template V
3739
- * @param {Record<string, [any, any, any]>} store_values
3740
- * @param {string} store_name
3741
- * @param {Store<V>} store
3742
- * @param {any} expression
3589
+ * @param {any} key
3590
+ * @returns {boolean}
3743
3591
  */
3744
- function store_mutate(store_values, store_name, store, expression) {
3745
- store_set(store, store_get(store_values, store_name, store));
3746
- return expression;
3592
+ function hasContext(key) {
3593
+ return get_or_init_context_map().has(key);
3747
3594
  }
3748
- /** @param {Record<string, [any, any, any]>} store_values */
3749
- function unsubscribe_stores(store_values) {
3750
- for (const store_name of Object.keys(store_values)) store_values[store_name][1]();
3595
+ /** @returns {Map<any, any>} */
3596
+ function getAllContexts() {
3597
+ return get_or_init_context_map();
3751
3598
  }
3752
3599
  /**
3753
- * Legacy mode: If the prop has a fallback and is bound in the
3754
- * parent component, propagate the fallback value upwards.
3755
- * @param {Record<string, unknown>} props_parent
3756
- * @param {Record<string, unknown>} props_now
3600
+ * @param {string} name
3601
+ * @returns {Map<unknown, unknown>}
3757
3602
  */
3758
- function bind_props(props_parent, props_now) {
3759
- for (const key of Object.keys(props_now)) {
3760
- const initial_value = props_parent[key];
3761
- const value = props_now[key];
3762
- if (initial_value === void 0 && value !== void 0 && Object.getOwnPropertyDescriptor(props_parent, key)?.set) props_parent[key] = value;
3763
- }
3764
- }
3765
- /** @param {any} array_like_or_iterator */
3766
- function ensure_array_like(array_like_or_iterator) {
3767
- if (array_like_or_iterator) return array_like_or_iterator.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator);
3768
- return [];
3603
+ function get_or_init_context_map(name) {
3604
+ if (ssr_context === null) lifecycle_outside_component();
3605
+ return ssr_context.c ??= new Map(get_parent_context(ssr_context) || void 0);
3769
3606
  }
3770
3607
  /**
3771
- * @template V
3772
- * @param {() => V} get_value
3608
+ * @param {Function} [fn]
3773
3609
  */
3774
- function once(get_value) {
3775
- let value = UNINITIALIZED;
3776
- return () => {
3777
- if (value === UNINITIALIZED) value = get_value();
3778
- return value;
3610
+ function push(fn) {
3611
+ ssr_context = {
3612
+ p: ssr_context,
3613
+ c: null,
3614
+ r: null
3779
3615
  };
3780
3616
  }
3617
+ function pop() {
3618
+ ssr_context = ssr_context.p;
3619
+ }
3781
3620
  /**
3782
- * @template T
3783
- * @param {()=>T} fn
3784
- * @returns {(new_value?: T) => (T | void)}
3621
+ * @param {SSRContext} ssr_context
3622
+ * @returns {Map<unknown, unknown> | null}
3785
3623
  */
3786
- function derived(fn) {
3787
- const get_value = ssr_context === null ? fn : once(fn);
3788
- /** @type {T | undefined} */
3789
- let updated_value;
3790
- return function(new_value) {
3791
- if (arguments.length === 0) return updated_value ?? get_value();
3792
- updated_value = new_value;
3793
- return updated_value;
3794
- };
3624
+ function get_parent_context(ssr_context) {
3625
+ let parent = ssr_context.p;
3626
+ while (parent !== null) {
3627
+ const context_map = parent.c;
3628
+ if (context_map !== null) return context_map;
3629
+ parent = parent.p;
3630
+ }
3631
+ return null;
3632
+ }
3633
+ /**
3634
+ * A `hydratable` value with key `%key%` was created, but at least part of it was not used during the render.
3635
+ *
3636
+ * The `hydratable` was initialized in:
3637
+ * %stack%
3638
+ * @param {string} key
3639
+ * @param {string} stack
3640
+ */
3641
+ function unresolved_hydratable(key, stack) {
3642
+ console.warn(`https://svelte.dev/e/unresolved_hydratable`);
3795
3643
  }
3644
+ /** @returns {RenderContext} */
3645
+ function get_render_context() {
3646
+ const store = als?.getStore();
3647
+ server_context_required();
3648
+ return store;
3649
+ }
3650
+ /** @type {AsyncLocalStorage<RenderContext | null> | null} */
3651
+ var als = null;
3796
3652
  //#endregion
3797
3653
  //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/crypto.js
3798
3654
  var text_encoder;
@@ -4057,10 +3913,10 @@ var Renderer = class Renderer {
4057
3913
  * @returns {void}
4058
3914
  */
4059
3915
  component(fn, component_fn) {
4060
- push$1();
3916
+ push();
4061
3917
  const child = this.child(fn);
4062
3918
  child.#is_component_body = true;
4063
- pop$1();
3919
+ pop();
4064
3920
  }
4065
3921
  /**
4066
3922
  * @param {Record<string, any>} attrs
@@ -4493,6 +4349,150 @@ var SSRState = class {
4493
4349
  }
4494
4350
  }
4495
4351
  };
4352
+ //#endregion
4353
+ //#region ../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.60.0/node_modules/svelte/src/internal/server/index.js
4354
+ var INVALID_ATTR_NAME_CHAR_REGEX = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u;
4355
+ /**
4356
+ * Only available on the server and when compiling with the `server` option.
4357
+ * Takes a component and returns an object with `body` and `head` properties on it, which you can use to populate the HTML when server-rendering your app.
4358
+ * @template {Record<string, any>} Props
4359
+ * @param {Component<Props> | ComponentType<SvelteComponent<Props>>} component
4360
+ * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string; csp?: Csp; transformError?: (error: unknown) => unknown }} [options]
4361
+ * @returns {RenderOutput}
4362
+ */
4363
+ function render(component, options = {}) {
4364
+ if (options.csp?.hash && options.csp.nonce) invalid_csp();
4365
+ return Renderer.render(component, options);
4366
+ }
4367
+ /**
4368
+ * @param {Record<string, unknown>} attrs
4369
+ * @param {string} [css_hash]
4370
+ * @param {Record<string, boolean>} [classes]
4371
+ * @param {Record<string, string>} [styles]
4372
+ * @param {number} [flags]
4373
+ * @returns {string}
4374
+ */
4375
+ function attributes(attrs, css_hash, classes, styles, flags = 0) {
4376
+ if (styles) attrs.style = to_style(attrs.style, styles);
4377
+ if (attrs.class) attrs.class = clsx$1(attrs.class);
4378
+ if (css_hash || classes) attrs.class = to_class(attrs.class, css_hash, classes);
4379
+ let attr_str = "";
4380
+ let name;
4381
+ const is_html = (flags & 1) === 0;
4382
+ const lowercase = (flags & 2) === 0;
4383
+ const is_input = (flags & 4) !== 0;
4384
+ for (name of Object.keys(attrs)) {
4385
+ if (typeof attrs[name] === "function") continue;
4386
+ if (name[0] === "$" && name[1] === "$") continue;
4387
+ if (name === "" || INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue;
4388
+ var value = attrs[name];
4389
+ var lower = name.toLowerCase();
4390
+ if (lowercase) name = lower;
4391
+ if (lower.length > 2 && lower.startsWith("on")) continue;
4392
+ if (is_input) {
4393
+ if (name === "defaultvalue" || name === "defaultchecked") {
4394
+ name = name === "defaultvalue" ? "value" : "checked";
4395
+ if (attrs[name]) continue;
4396
+ }
4397
+ }
4398
+ attr_str += attr(name, value, is_html && is_boolean_attribute(name));
4399
+ }
4400
+ return attr_str;
4401
+ }
4402
+ /**
4403
+ * @template V
4404
+ * @param {Record<string, [any, any, any]>} store_values
4405
+ * @param {string} store_name
4406
+ * @param {Store<V> | null | undefined} store
4407
+ * @returns {V}
4408
+ */
4409
+ function store_get(store_values, store_name, store) {
4410
+ if (store_name in store_values && store_values[store_name][0] === store) return store_values[store_name][2];
4411
+ store_values[store_name]?.[1]();
4412
+ store_values[store_name] = [
4413
+ store,
4414
+ null,
4415
+ void 0
4416
+ ];
4417
+ const unsub = subscribe_to_store(
4418
+ store,
4419
+ /** @param {any} v */
4420
+ (v) => store_values[store_name][2] = v
4421
+ );
4422
+ store_values[store_name][1] = unsub;
4423
+ return store_values[store_name][2];
4424
+ }
4425
+ /**
4426
+ * Sets the new value of a store and returns that value.
4427
+ * @template V
4428
+ * @param {Store<V>} store
4429
+ * @param {V} value
4430
+ * @returns {V}
4431
+ */
4432
+ function store_set(store, value) {
4433
+ store.set(value);
4434
+ return value;
4435
+ }
4436
+ /**
4437
+ * Updates a store with a new value.
4438
+ * @template V
4439
+ * @param {Record<string, [any, any, any]>} store_values
4440
+ * @param {string} store_name
4441
+ * @param {Store<V>} store
4442
+ * @param {any} expression
4443
+ */
4444
+ function store_mutate(store_values, store_name, store, expression) {
4445
+ store_set(store, store_get(store_values, store_name, store));
4446
+ return expression;
4447
+ }
4448
+ /** @param {Record<string, [any, any, any]>} store_values */
4449
+ function unsubscribe_stores(store_values) {
4450
+ for (const store_name of Object.keys(store_values)) store_values[store_name][1]();
4451
+ }
4452
+ /**
4453
+ * Legacy mode: If the prop has a fallback and is bound in the
4454
+ * parent component, propagate the fallback value upwards.
4455
+ * @param {Record<string, unknown>} props_parent
4456
+ * @param {Record<string, unknown>} props_now
4457
+ */
4458
+ function bind_props(props_parent, props_now) {
4459
+ for (const key of Object.keys(props_now)) {
4460
+ const initial_value = props_parent[key];
4461
+ const value = props_now[key];
4462
+ if (initial_value === void 0 && value !== void 0 && Object.getOwnPropertyDescriptor(props_parent, key)?.set) props_parent[key] = value;
4463
+ }
4464
+ }
4465
+ /** @param {any} array_like_or_iterator */
4466
+ function ensure_array_like(array_like_or_iterator) {
4467
+ if (array_like_or_iterator) return array_like_or_iterator.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator);
4468
+ return [];
4469
+ }
4470
+ /**
4471
+ * @template V
4472
+ * @param {() => V} get_value
4473
+ */
4474
+ function once(get_value) {
4475
+ let value = UNINITIALIZED;
4476
+ return () => {
4477
+ if (value === UNINITIALIZED) value = get_value();
4478
+ return value;
4479
+ };
4480
+ }
4481
+ /**
4482
+ * @template T
4483
+ * @param {()=>T} fn
4484
+ * @returns {(new_value?: T) => (T | void)}
4485
+ */
4486
+ function derived(fn) {
4487
+ const get_value = ssr_context === null ? fn : once(fn);
4488
+ /** @type {T | undefined} */
4489
+ let updated_value;
4490
+ return function(new_value) {
4491
+ if (arguments.length === 0) return updated_value ?? get_value();
4492
+ updated_value = new_value;
4493
+ return updated_value;
4494
+ };
4495
+ }
4496
4496
 
4497
- export { set as $, get_render_context as A, get_type as B, hasContext as C, DevalueError as D, hydratable_serialization_failed as E, hydrate_node as F, hydrating as G, HYDRATION_ERROR as H, hydration_failed as I, hydration_mismatch as J, init_operations as K, LEGACY_PROPS as L, MAX_ARRAY_INDEX as M, is_passive_event as N, is_plain_object as O, is_primitive as P, is_valid_array_index as Q, is_valid_array_len as R, lifecycle_function_unavailable as S, mutable_source as T, noop as U, pop as V, push as W, readable as X, readonly as Y, render as Z, run as _, active_effect as a, setContext as a0, set_active_effect as a1, set_active_reaction as a2, set_hydrate_node as a3, set_hydrating as a4, ssr_context as a5, store_get as a6, store_mutate as a7, stringify_key as a8, stringify_string as a9, uneval as aa, unsubscribe_stores as ab, valid_array_indices as ac, writable as ad, active_reaction as b, array_from as c, attr as d, bind_props as e, boundary as f, clear_text_content as g, component_context as h, component_root as i, createContext as j, create_text as k, define_property as l, derived as m, derived$1 as n, ensure_array_like as o, enumerable_symbols as p, escape_html as q, experimental_async_required as r, flushSync as s, get as t, get$1 as u, getAbortSignal as v, getAllContexts as w, getContext as x, get_first_child as y, get_next_sibling as z };
4498
- //# sourceMappingURL=dev-aF1HGl8f.js.map
4497
+ export { set as $, get_render_context as A, get_type as B, hasContext as C, DevalueError as D, hydratable_serialization_failed as E, hydrate_node as F, hydrating as G, HYDRATION_ERROR as H, hydration_failed as I, hydration_mismatch as J, init_operations as K, LEGACY_PROPS as L, MAX_ARRAY_INDEX as M, is_passive_event as N, is_plain_object as O, is_primitive as P, is_valid_array_index as Q, is_valid_array_len as R, lifecycle_function_unavailable as S, mutable_source as T, noop as U, pop$1 as V, push$1 as W, readable as X, readonly as Y, render as Z, run as _, active_effect as a, setContext as a0, set_active_effect as a1, set_active_reaction as a2, set_hydrate_node as a3, set_hydrating as a4, ssr_context as a5, store_get as a6, store_mutate as a7, stringify_key as a8, stringify_string as a9, uneval as aa, unsubscribe_stores as ab, valid_array_indices as ac, writable as ad, active_reaction as b, array_from as c, attr as d, bind_props as e, boundary as f, clear_text_content as g, component_context as h, component_root as i, createContext as j, create_text as k, define_property as l, derived as m, derived$1 as n, ensure_array_like as o, enumerable_symbols as p, escape_html as q, experimental_async_required as r, flushSync as s, get as t, get$1 as u, getAbortSignal as v, getAllContexts as w, getContext as x, get_first_child as y, get_next_sibling as z };
4498
+ //# sourceMappingURL=server-1sE9LKAu.js.map