@selvajs/selva 4.2.0 → 4.2.1

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 (539) hide show
  1. package/build/client/_app/immutable/assets/0.-MS0dTYb.css +1 -0
  2. package/build/client/_app/immutable/assets/0.-MS0dTYb.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.-MS0dTYb.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/20.Bne67Vgr.css +1 -0
  5. package/build/client/_app/immutable/assets/20.Bne67Vgr.css.br +0 -0
  6. package/build/client/_app/immutable/assets/20.Bne67Vgr.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/index.CV-KWLNP.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{-UMoMsui.js → 3Ah3Y6N9.js} +1 -1
  9. package/build/client/_app/immutable/chunks/3Ah3Y6N9.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/3Ah3Y6N9.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/6CzuHfQM.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/9DES--UJ.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/B-Kuf-9K.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/B1z9if9B.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/B21bldal.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/B6_AR4oL.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/BEFa4rcT.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/BGIAOk5X.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BHhjUaik.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BIIXkPqf.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/BJTJCSLB.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BLZ195WY.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/BOsr6E_d.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/BTm-dDt9.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{BQ0arxbK.js → BU3ZilVu.js} +1 -1
  27. package/build/client/_app/immutable/chunks/BU3ZilVu.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BU3ZilVu.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BX0gN9mF.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/BaMCSMGs.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BfHBnYuG.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BiG82jCv.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/BihI7LuH.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/Bma65zV8.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BnIDUuJL.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/BnZOgasr.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/BnzoF81W.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/{2n-qzJg2.js → BokovJH_.js} +1 -1
  39. package/build/client/_app/immutable/chunks/BokovJH_.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BokovJH_.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BpQqe39G.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/BsKtJj5h.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/BtugGMaj.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/{B6yEy6Wb.js → Buy2icyP.js} +1 -1
  45. package/build/client/_app/immutable/chunks/Buy2icyP.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/Buy2icyP.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/Bwn5lHBl.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/BzBbrBKd.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/C33A5aSj.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/C3WxOOC9.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/C46MGZre.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/CDmA5ezP.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/CE_gxD9G.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/CGKZc1Kf.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CIHhLSqA.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/CNC_mCsM.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/CYAAKeQs.js +2 -0
  58. package/build/client/_app/immutable/chunks/CYAAKeQs.js.br +0 -0
  59. package/build/client/_app/immutable/chunks/CYAAKeQs.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/CYyqq9B1.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/CeS0GhtF.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/CnXIg_dO.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/Cqb2-zYs.js +1 -0
  65. package/build/client/_app/immutable/chunks/Cqb2-zYs.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/Cqb2-zYs.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/CsdWDH4Y.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/CumXBEVX.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/CvUP44VI.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/CzCTTv8Q.js +1 -0
  71. package/build/client/_app/immutable/chunks/CzCTTv8Q.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/CzCTTv8Q.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/D-3pI9hp.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/D-Fls4-N.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/D1xkoVpc.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/{C98bdhQ5.js → D2AcAR8h.js} +1 -1
  77. package/build/client/_app/immutable/chunks/D2AcAR8h.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/D2AcAR8h.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/D9QmLqfO.js +3 -0
  80. package/build/client/_app/immutable/chunks/D9QmLqfO.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/D9QmLqfO.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/DCBLBrrW.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/DEk358l3.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/DRNG0pfi.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/DRpLcVdK.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/DS1KfRtl.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/DYfK6Plb.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/DZM0bVcB.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/D_gPt7DB.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/DdEmEaOR.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/De-Sjn1V.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/DeMiewtM.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/DfVTcmam.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/DfbumCTS.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/Diyh8RG-.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/DkVLFJC2.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/DkpwXYYZ.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/Dl_x4ktn.js +1 -0
  99. package/build/client/_app/immutable/chunks/Dl_x4ktn.js.br +0 -0
  100. package/build/client/_app/immutable/chunks/Dl_x4ktn.js.gz +0 -0
  101. package/build/client/_app/immutable/chunks/Dn_lJm0y.js.gz +0 -0
  102. package/build/client/_app/immutable/chunks/DqK2lhM-.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/Dr-qnmvi.js.gz +0 -0
  104. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/DtFVCiwY.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/KIV0kKdR.js.gz +0 -0
  107. package/build/client/_app/immutable/chunks/Q9Y439fs.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/T-Nslbso.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/Uv0-HWHq.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/fFzkMoJP.js +4108 -0
  111. package/build/client/_app/immutable/chunks/fFzkMoJP.js.br +0 -0
  112. package/build/client/_app/immutable/chunks/fFzkMoJP.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/jO1WSR3P.js.gz +0 -0
  114. package/build/client/_app/immutable/chunks/{D37hHIb0.js → oGi4fqQN.js} +1 -1
  115. package/build/client/_app/immutable/chunks/oGi4fqQN.js.br +0 -0
  116. package/build/client/_app/immutable/chunks/oGi4fqQN.js.gz +0 -0
  117. package/build/client/_app/immutable/chunks/snZK0J5H.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/vyYztzrZ.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/xQ1SsCxk.js.gz +0 -0
  120. package/build/client/_app/immutable/entry/app.DS9bUFUM.js +2 -0
  121. package/build/client/_app/immutable/entry/app.DS9bUFUM.js.br +0 -0
  122. package/build/client/_app/immutable/entry/app.DS9bUFUM.js.gz +0 -0
  123. package/build/client/_app/immutable/entry/start.DB-BZXHU.js +1 -0
  124. package/build/client/_app/immutable/entry/start.DB-BZXHU.js.br +2 -0
  125. package/build/client/_app/immutable/entry/start.DB-BZXHU.js.gz +0 -0
  126. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js +9 -0
  127. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js.br +0 -0
  128. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js.gz +0 -0
  129. package/build/client/_app/immutable/nodes/{1.5JE3G8iG.js → 1.BUswJ4U9.js} +1 -1
  130. package/build/client/_app/immutable/nodes/1.BUswJ4U9.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/1.BUswJ4U9.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/{10.DpfN1qrg.js → 10.lZeHcKpq.js} +1 -1
  133. package/build/client/_app/immutable/nodes/10.lZeHcKpq.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/10.lZeHcKpq.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/11.BLpWvtX5.js +2 -0
  136. package/build/client/_app/immutable/nodes/11.BLpWvtX5.js.br +0 -0
  137. package/build/client/_app/immutable/nodes/11.BLpWvtX5.js.gz +0 -0
  138. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/{13.D5OdE_HH.js → 13.C8wKffzy.js} +1 -1
  140. package/build/client/_app/immutable/nodes/13.C8wKffzy.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/13.C8wKffzy.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/{14.UGx5pLUS.js → 14.CH_Qv0bZ.js} +1 -1
  143. package/build/client/_app/immutable/nodes/14.CH_Qv0bZ.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/14.CH_Qv0bZ.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/15.czhLtsoD.js.gz +0 -0
  146. package/build/client/_app/immutable/nodes/{16.CqZNgdz-.js → 16.BvAee3O_.js} +1 -1
  147. package/build/client/_app/immutable/nodes/16.BvAee3O_.js.br +0 -0
  148. package/build/client/_app/immutable/nodes/16.BvAee3O_.js.gz +0 -0
  149. package/build/client/_app/immutable/nodes/{17.B1PHOW1Y.js → 17.SyD4YOfn.js} +1 -1
  150. package/build/client/_app/immutable/nodes/17.SyD4YOfn.js.br +0 -0
  151. package/build/client/_app/immutable/nodes/17.SyD4YOfn.js.gz +0 -0
  152. package/build/client/_app/immutable/nodes/18.Cl9SXwAF.js.gz +0 -0
  153. package/build/client/_app/immutable/nodes/{19.ClB_k0uw.js → 19.Wb7AQfgb.js} +1 -1
  154. package/build/client/_app/immutable/nodes/19.Wb7AQfgb.js.br +0 -0
  155. package/build/client/_app/immutable/nodes/19.Wb7AQfgb.js.gz +0 -0
  156. package/build/client/_app/immutable/nodes/{2.uPLLf3gR.js → 2.CW-SavfP.js} +1 -1
  157. package/build/client/_app/immutable/nodes/2.CW-SavfP.js.br +0 -0
  158. package/build/client/_app/immutable/nodes/2.CW-SavfP.js.gz +0 -0
  159. package/build/client/_app/immutable/nodes/20.DB_AO-hY.js +11 -0
  160. package/build/client/_app/immutable/nodes/20.DB_AO-hY.js.br +0 -0
  161. package/build/client/_app/immutable/nodes/20.DB_AO-hY.js.gz +0 -0
  162. package/build/client/_app/immutable/nodes/{21.B1xX86Nz.js → 21.stzAo_sf.js} +1 -1
  163. package/build/client/_app/immutable/nodes/21.stzAo_sf.js.br +0 -0
  164. package/build/client/_app/immutable/nodes/21.stzAo_sf.js.gz +0 -0
  165. package/build/client/_app/immutable/nodes/{23.BWuAu45o.js → 23.DPe1BFaB.js} +1 -1
  166. package/build/client/_app/immutable/nodes/23.DPe1BFaB.js.br +0 -0
  167. package/build/client/_app/immutable/nodes/23.DPe1BFaB.js.gz +0 -0
  168. package/build/client/_app/immutable/nodes/{24.DSWGE_q2.js → 24.CIk_ZxQ6.js} +1 -1
  169. package/build/client/_app/immutable/nodes/24.CIk_ZxQ6.js.br +0 -0
  170. package/build/client/_app/immutable/nodes/24.CIk_ZxQ6.js.gz +0 -0
  171. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js.gz +0 -0
  173. package/build/client/_app/immutable/nodes/{27.CjlEhW_1.js → 27.DdoM9jx8.js} +1 -1
  174. package/build/client/_app/immutable/nodes/27.DdoM9jx8.js.br +0 -0
  175. package/build/client/_app/immutable/nodes/27.DdoM9jx8.js.gz +0 -0
  176. package/build/client/_app/immutable/nodes/{28.U-BnDxlP.js → 28.8hQBN0f2.js} +1 -1
  177. package/build/client/_app/immutable/nodes/28.8hQBN0f2.js.br +0 -0
  178. package/build/client/_app/immutable/nodes/28.8hQBN0f2.js.gz +0 -0
  179. package/build/client/_app/immutable/nodes/{29.cl9udKxV.js → 29.DPRAT1ND.js} +1 -1
  180. package/build/client/_app/immutable/nodes/29.DPRAT1ND.js.br +0 -0
  181. package/build/client/_app/immutable/nodes/29.DPRAT1ND.js.gz +0 -0
  182. package/build/client/_app/immutable/nodes/{3.UKn7Q9OQ.js → 3.qDVw2Ah5.js} +1 -1
  183. package/build/client/_app/immutable/nodes/3.qDVw2Ah5.js.br +0 -0
  184. package/build/client/_app/immutable/nodes/3.qDVw2Ah5.js.gz +0 -0
  185. package/build/client/_app/immutable/nodes/{30.DPqPYAg4.js → 30.CgJH6zYG.js} +1 -1
  186. package/build/client/_app/immutable/nodes/30.CgJH6zYG.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/30.CgJH6zYG.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/31.SiZTd523.js.gz +0 -0
  189. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js.gz +0 -0
  190. package/build/client/_app/immutable/nodes/4.CieI7_Lb.js.gz +0 -0
  191. package/build/client/_app/immutable/nodes/{5.CbYguvwB.js → 5.CSogXB3L.js} +1 -1
  192. package/build/client/_app/immutable/nodes/5.CSogXB3L.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/5.CSogXB3L.js.gz +0 -0
  194. package/build/client/_app/immutable/nodes/{6.DZgUvAex.js → 6.CO7yl4Ep.js} +1 -1
  195. package/build/client/_app/immutable/nodes/6.CO7yl4Ep.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/6.CO7yl4Ep.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/{7.Cv7r8DBm.js → 7.CNGLSXsw.js} +1 -1
  198. package/build/client/_app/immutable/nodes/7.CNGLSXsw.js.br +0 -0
  199. package/build/client/_app/immutable/nodes/7.CNGLSXsw.js.gz +0 -0
  200. package/build/client/_app/immutable/nodes/{8.zr3bqaC_.js → 8.D2q7KguY.js} +1 -1
  201. package/build/client/_app/immutable/nodes/8.D2q7KguY.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/8.D2q7KguY.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/9.B77TvN23.js +1 -0
  204. package/build/client/_app/immutable/nodes/9.B77TvN23.js.br +0 -0
  205. package/build/client/_app/immutable/nodes/9.B77TvN23.js.gz +0 -0
  206. package/build/client/_app/version.json +1 -1
  207. package/build/client/_app/version.json.br +0 -0
  208. package/build/client/_app/version.json.gz +0 -0
  209. package/build/client/favicon/favicon.svg.gz +0 -0
  210. package/build/client/robots.txt.gz +0 -0
  211. package/build/server/chunks/{0-v49L2HZX.js → 0-BGZb7GUr.js} +6 -6
  212. package/build/server/chunks/0-BGZb7GUr.js.map +1 -0
  213. package/build/server/chunks/{1-B8xC9fBg.js → 1-BXtOEh9J.js} +2 -2
  214. package/build/server/chunks/{1-B8xC9fBg.js.map → 1-BXtOEh9J.js.map} +1 -1
  215. package/build/server/chunks/{10-BowWygfm.js → 10-CoNR8vNf.js} +7 -7
  216. package/build/server/chunks/{10-BowWygfm.js.map → 10-CoNR8vNf.js.map} +1 -1
  217. package/build/server/chunks/{11-BLjiJpX4.js → 11-D_iRzPDB.js} +8 -7
  218. package/build/server/chunks/11-D_iRzPDB.js.map +1 -0
  219. package/build/server/chunks/{12-Dk9nDvlV.js → 12-DVPsHnBz.js} +3 -3
  220. package/build/server/chunks/12-DVPsHnBz.js.map +1 -0
  221. package/build/server/chunks/{13-CZeQX-Gk.js → 13-CkRRFB1g.js} +3 -3
  222. package/build/server/chunks/{13-CZeQX-Gk.js.map → 13-CkRRFB1g.js.map} +1 -1
  223. package/build/server/chunks/{14-VgzSpObZ.js → 14-2FpImsxV.js} +3 -3
  224. package/build/server/chunks/{14-VgzSpObZ.js.map → 14-2FpImsxV.js.map} +1 -1
  225. package/build/server/chunks/{15-CKqEgZmF.js → 15-Bnbm79IS.js} +4 -4
  226. package/build/server/chunks/{15-CKqEgZmF.js.map → 15-Bnbm79IS.js.map} +1 -1
  227. package/build/server/chunks/{16-9hO-6bzO.js → 16-B4ywqmcZ.js} +6 -6
  228. package/build/server/chunks/{16-9hO-6bzO.js.map → 16-B4ywqmcZ.js.map} +1 -1
  229. package/build/server/chunks/{17-B9Aw6HdC.js → 17-MWOOipvP.js} +2 -2
  230. package/build/server/chunks/{17-B9Aw6HdC.js.map → 17-MWOOipvP.js.map} +1 -1
  231. package/build/server/chunks/{18-BTSLWMQT.js → 18-CM6a70dY.js} +2 -2
  232. package/build/server/chunks/{18-BTSLWMQT.js.map → 18-CM6a70dY.js.map} +1 -1
  233. package/build/server/chunks/{19-C9FaW__N.js → 19-C3KsK7wX.js} +4 -4
  234. package/build/server/chunks/19-C3KsK7wX.js.map +1 -0
  235. package/build/server/chunks/{2-CwQhh3Hg.js → 2-_fGOba4G.js} +8 -8
  236. package/build/server/chunks/2-_fGOba4G.js.map +1 -0
  237. package/build/server/chunks/{20-52YCUMK3.js → 20-CSlzkUTO.js} +10 -10
  238. package/build/server/chunks/{20-52YCUMK3.js.map → 20-CSlzkUTO.js.map} +1 -1
  239. package/build/server/chunks/{21-Dcz_2iKy.js → 21-zUldgyAY.js} +3 -3
  240. package/build/server/chunks/{21-Dcz_2iKy.js.map → 21-zUldgyAY.js.map} +1 -1
  241. package/build/server/chunks/{23-C-gTGofY.js → 23-B7itF50C.js} +7 -7
  242. package/build/server/chunks/{23-C-gTGofY.js.map → 23-B7itF50C.js.map} +1 -1
  243. package/build/server/chunks/{24-ukwP0nYw.js → 24-CIDIYshe.js} +5 -4
  244. package/build/server/chunks/24-CIDIYshe.js.map +1 -0
  245. package/build/server/chunks/{25-Oe01GQUn.js → 25-BzYQ8Zk-.js} +2 -2
  246. package/build/server/chunks/{25-Oe01GQUn.js.map → 25-BzYQ8Zk-.js.map} +1 -1
  247. package/build/server/chunks/{27-C9kRY1qj.js → 27-CzENJkV0.js} +4 -4
  248. package/build/server/chunks/{27-C9kRY1qj.js.map → 27-CzENJkV0.js.map} +1 -1
  249. package/build/server/chunks/{28-X583jLPJ.js → 28-DxNI492W.js} +3 -3
  250. package/build/server/chunks/{28-X583jLPJ.js.map → 28-DxNI492W.js.map} +1 -1
  251. package/build/server/chunks/{29-PJhSN-Wu.js → 29-PctGzpwt.js} +4 -4
  252. package/build/server/chunks/{29-PJhSN-Wu.js.map → 29-PctGzpwt.js.map} +1 -1
  253. package/build/server/chunks/{3-DZiroZZA.js → 3-Cazo1Shv.js} +2 -2
  254. package/build/server/chunks/{3-DZiroZZA.js.map → 3-Cazo1Shv.js.map} +1 -1
  255. package/build/server/chunks/{30-DvqVphAd.js → 30-BenY_cGn.js} +4 -4
  256. package/build/server/chunks/{30-DvqVphAd.js.map → 30-BenY_cGn.js.map} +1 -1
  257. package/build/server/chunks/{31-BefyQf51.js → 31-CQ-8s0Lw.js} +2 -2
  258. package/build/server/chunks/{31-BefyQf51.js.map → 31-CQ-8s0Lw.js.map} +1 -1
  259. package/build/server/chunks/{32-DIdNQgym.js → 32-BmsICS9-.js} +2 -2
  260. package/build/server/chunks/{32-DIdNQgym.js.map → 32-BmsICS9-.js.map} +1 -1
  261. package/build/server/chunks/{5-QlPeCe4d.js → 5-CqcXwhU8.js} +3 -3
  262. package/build/server/chunks/5-CqcXwhU8.js.map +1 -0
  263. package/build/server/chunks/{6-3t8NszBJ.js → 6-1yNOTkzc.js} +4 -4
  264. package/build/server/chunks/6-1yNOTkzc.js.map +1 -0
  265. package/build/server/chunks/{7-DgFxSLWj.js → 7-sNYS1ao8.js} +3 -3
  266. package/build/server/chunks/7-sNYS1ao8.js.map +1 -0
  267. package/build/server/chunks/{8-BKivPkMd.js → 8-De6LG1ef.js} +3 -3
  268. package/build/server/chunks/{8-BKivPkMd.js.map → 8-De6LG1ef.js.map} +1 -1
  269. package/build/server/chunks/{9-COv3kpjW.js → 9-BhE9hiN-.js} +4 -4
  270. package/build/server/chunks/{9-COv3kpjW.js.map → 9-BhE9hiN-.js.map} +1 -1
  271. package/build/server/chunks/{AppHeader-DBNR_OCa.js → AppHeader-B49W1cuV.js} +2 -2
  272. package/build/server/chunks/{AppHeader-DBNR_OCa.js.map → AppHeader-B49W1cuV.js.map} +1 -1
  273. package/build/server/chunks/{DefinitionCard-BeONTmrJ.js → DefinitionCard-O1k8h5Pi.js} +2 -2
  274. package/build/server/chunks/{DefinitionCard-BeONTmrJ.js.map → DefinitionCard-O1k8h5Pi.js.map} +1 -1
  275. package/build/server/chunks/{UserChip-CCZ9yMM3.js → UserChip-CFEkil-Y.js} +456 -369
  276. package/build/server/chunks/UserChip-CFEkil-Y.js.map +1 -0
  277. package/build/server/chunks/{_layout.svelte-VEFMEljC.js → _layout.svelte-BU065NMJ.js} +9 -7
  278. package/build/server/chunks/{_layout.svelte-VEFMEljC.js.map → _layout.svelte-BU065NMJ.js.map} +1 -1
  279. package/build/server/chunks/{_layout.svelte-Cjs-r7Xa.js → _layout.svelte-DWLc_AAt.js} +9 -7
  280. package/build/server/chunks/{_layout.svelte-Cjs-r7Xa.js.map → _layout.svelte-DWLc_AAt.js.map} +1 -1
  281. package/build/server/chunks/{_layout.svelte-DU36kuy0.js → _layout.svelte-DtDfOje_.js} +5 -5
  282. package/build/server/chunks/_layout.svelte-DtDfOje_.js.map +1 -0
  283. package/build/server/chunks/{_layout.svelte-CgAG7l2U.js → _layout.svelte-soufPD3z.js} +9 -7
  284. package/build/server/chunks/{_layout.svelte-CgAG7l2U.js.map → _layout.svelte-soufPD3z.js.map} +1 -1
  285. package/build/server/chunks/{_page.svelte-1sc1cfuW.js → _page.svelte-B2tNMNfb.js} +4 -3
  286. package/build/server/chunks/{_page.svelte-1sc1cfuW.js.map → _page.svelte-B2tNMNfb.js.map} +1 -1
  287. package/build/server/chunks/{_page.svelte-CeKqqMje.js → _page.svelte-BX7fFjm7.js} +5 -4
  288. package/build/server/chunks/{_page.svelte-CeKqqMje.js.map → _page.svelte-BX7fFjm7.js.map} +1 -1
  289. package/build/server/chunks/{_page.svelte-DIeTvNzN.js → _page.svelte-BmgwJB8w.js} +9 -7
  290. package/build/server/chunks/{_page.svelte-DIeTvNzN.js.map → _page.svelte-BmgwJB8w.js.map} +1 -1
  291. package/build/server/chunks/{_page.svelte-DlnKE8Z9.js → _page.svelte-CR79Ws-C.js} +5 -4
  292. package/build/server/chunks/{_page.svelte-DlnKE8Z9.js.map → _page.svelte-CR79Ws-C.js.map} +1 -1
  293. package/build/server/chunks/{_page.svelte-Mwitq0vD.js → _page.svelte-DCsC1jAu.js} +10 -8
  294. package/build/server/chunks/{_page.svelte-Mwitq0vD.js.map → _page.svelte-DCsC1jAu.js.map} +1 -1
  295. package/build/server/chunks/{_page.svelte-CSZEgmHp.js → _page.svelte-DVN9gvBu.js} +5 -5
  296. package/build/server/chunks/_page.svelte-DVN9gvBu.js.map +1 -0
  297. package/build/server/chunks/{_page.svelte-DJnICJdZ.js → _page.svelte-Dp_jpQFu.js} +726 -717
  298. package/build/server/chunks/_page.svelte-Dp_jpQFu.js.map +1 -0
  299. package/build/server/chunks/{_page.svelte-DSPm244d.js → _page.svelte-W41FvlvN.js} +5 -1
  300. package/build/server/chunks/_page.svelte-W41FvlvN.js.map +1 -0
  301. package/build/server/chunks/{_page.svelte-DSYaUquf.js → _page.svelte-YVHQEj69.js} +8 -7
  302. package/build/server/chunks/_page.svelte-YVHQEj69.js.map +1 -0
  303. package/build/server/chunks/{_page.svelte-BQZ-qC72.js → _page.svelte-tQDqmoYu.js} +5 -4
  304. package/build/server/chunks/{_page.svelte-BQZ-qC72.js.map → _page.svelte-tQDqmoYu.js.map} +1 -1
  305. package/build/server/chunks/{_server.ts-t9_veBtJ.js → _server.ts-A3y5hBxw.js} +4 -4
  306. package/build/server/chunks/{_server.ts-t9_veBtJ.js.map → _server.ts-A3y5hBxw.js.map} +1 -1
  307. package/build/server/chunks/{_server.ts-EnuOtr_j.js → _server.ts-AZv034fZ.js} +6 -6
  308. package/build/server/chunks/{_server.ts-EnuOtr_j.js.map → _server.ts-AZv034fZ.js.map} +1 -1
  309. package/build/server/chunks/{_server.ts-C3sOwl5l.js → _server.ts-B5jlr2iF.js} +5 -5
  310. package/build/server/chunks/{_server.ts-C3sOwl5l.js.map → _server.ts-B5jlr2iF.js.map} +1 -1
  311. package/build/server/chunks/{_server.ts-DK7t4rlY.js → _server.ts-BON6qGm5.js} +5 -5
  312. package/build/server/chunks/{_server.ts-DK7t4rlY.js.map → _server.ts-BON6qGm5.js.map} +1 -1
  313. package/build/server/chunks/{_server.ts-CW_1VZGk.js → _server.ts-BO_GwwIE.js} +5 -5
  314. package/build/server/chunks/{_server.ts-CW_1VZGk.js.map → _server.ts-BO_GwwIE.js.map} +1 -1
  315. package/build/server/chunks/{_server.ts-DgTNMZbG.js → _server.ts-BUw5lGMN.js} +5 -5
  316. package/build/server/chunks/{_server.ts-DgTNMZbG.js.map → _server.ts-BUw5lGMN.js.map} +1 -1
  317. package/build/server/chunks/{_server.ts-CKvfxWeo.js → _server.ts-Bhj8Vx5l.js} +6 -6
  318. package/build/server/chunks/{_server.ts-CKvfxWeo.js.map → _server.ts-Bhj8Vx5l.js.map} +1 -1
  319. package/build/server/chunks/{_server.ts-CMKxt34Z.js → _server.ts-BqlGKKaE.js} +5 -5
  320. package/build/server/chunks/{_server.ts-CMKxt34Z.js.map → _server.ts-BqlGKKaE.js.map} +1 -1
  321. package/build/server/chunks/{_server.ts-ODEutN30.js → _server.ts-BvMDaAZY.js} +5 -5
  322. package/build/server/chunks/{_server.ts-ODEutN30.js.map → _server.ts-BvMDaAZY.js.map} +1 -1
  323. package/build/server/chunks/{_server.ts-C1wqbTiL.js → _server.ts-C-MiDKCm.js} +3 -3
  324. package/build/server/chunks/{_server.ts-C1wqbTiL.js.map → _server.ts-C-MiDKCm.js.map} +1 -1
  325. package/build/server/chunks/{_server.ts-B7X5-4kS.js → _server.ts-C05I9RVA.js} +5 -5
  326. package/build/server/chunks/{_server.ts-B7X5-4kS.js.map → _server.ts-C05I9RVA.js.map} +1 -1
  327. package/build/server/chunks/{_server.ts-DsFj_8lL.js → _server.ts-C4BZG5kA.js} +6 -6
  328. package/build/server/chunks/_server.ts-C4BZG5kA.js.map +1 -0
  329. package/build/server/chunks/{_server.ts-Du-NpBy4.js → _server.ts-CBAiDOcP.js} +5 -5
  330. package/build/server/chunks/{_server.ts-Du-NpBy4.js.map → _server.ts-CBAiDOcP.js.map} +1 -1
  331. package/build/server/chunks/{_server.ts-17aVSHOa.js → _server.ts-CEE9G3nv.js} +5 -5
  332. package/build/server/chunks/{_server.ts-17aVSHOa.js.map → _server.ts-CEE9G3nv.js.map} +1 -1
  333. package/build/server/chunks/{_server.ts-CXYPZtry.js → _server.ts-CJ37R1sx.js} +10 -6
  334. package/build/server/chunks/_server.ts-CJ37R1sx.js.map +1 -0
  335. package/build/server/chunks/{_server.ts-8ahOmk_6.js → _server.ts-CJ5P0_cD.js} +5 -5
  336. package/build/server/chunks/{_server.ts-8ahOmk_6.js.map → _server.ts-CJ5P0_cD.js.map} +1 -1
  337. package/build/server/chunks/{_server.ts-vURDyV-V.js → _server.ts-Ca-ZnaSe.js} +5 -5
  338. package/build/server/chunks/{_server.ts-vURDyV-V.js.map → _server.ts-Ca-ZnaSe.js.map} +1 -1
  339. package/build/server/chunks/{_server.ts-BiJbME_l.js → _server.ts-Ce-u_4Qp.js} +7 -7
  340. package/build/server/chunks/_server.ts-Ce-u_4Qp.js.map +1 -0
  341. package/build/server/chunks/{_server.ts-C-8S5O0H.js → _server.ts-CewoOx5S.js} +5 -5
  342. package/build/server/chunks/{_server.ts-C-8S5O0H.js.map → _server.ts-CewoOx5S.js.map} +1 -1
  343. package/build/server/chunks/{_server.ts-B0qq-nxh.js → _server.ts-ChhV0tlQ.js} +5 -5
  344. package/build/server/chunks/{_server.ts-B0qq-nxh.js.map → _server.ts-ChhV0tlQ.js.map} +1 -1
  345. package/build/server/chunks/{_server.ts-hg9WxMNg.js → _server.ts-Ck5KHS5f.js} +2 -2
  346. package/build/server/chunks/{_server.ts-hg9WxMNg.js.map → _server.ts-Ck5KHS5f.js.map} +1 -1
  347. package/build/server/chunks/{_server.ts-BRjl7H1o.js → _server.ts-ClymRXMH.js} +5 -5
  348. package/build/server/chunks/{_server.ts-BRjl7H1o.js.map → _server.ts-ClymRXMH.js.map} +1 -1
  349. package/build/server/chunks/{_server.ts-DMnMoi_a.js → _server.ts-CtJaazcE.js} +5 -5
  350. package/build/server/chunks/{_server.ts-DMnMoi_a.js.map → _server.ts-CtJaazcE.js.map} +1 -1
  351. package/build/server/chunks/{_server.ts-Cbe4naEr.js → _server.ts-D0PjwFdv.js} +5 -5
  352. package/build/server/chunks/{_server.ts-Cbe4naEr.js.map → _server.ts-D0PjwFdv.js.map} +1 -1
  353. package/build/server/chunks/{_server.ts-Dukt2veu.js → _server.ts-D7tgGcoB.js} +3 -3
  354. package/build/server/chunks/{_server.ts-Dukt2veu.js.map → _server.ts-D7tgGcoB.js.map} +1 -1
  355. package/build/server/chunks/{_server.ts-bONEWPMV.js → _server.ts-DBV9dA6A.js} +5 -5
  356. package/build/server/chunks/{_server.ts-bONEWPMV.js.map → _server.ts-DBV9dA6A.js.map} +1 -1
  357. package/build/server/chunks/{_server.ts-B_KQteIy.js → _server.ts-DHcOvm9e.js} +5 -5
  358. package/build/server/chunks/{_server.ts-B_KQteIy.js.map → _server.ts-DHcOvm9e.js.map} +1 -1
  359. package/build/server/chunks/{_server.ts-BqsgEogJ.js → _server.ts-DM01ishT.js} +5 -5
  360. package/build/server/chunks/{_server.ts-BqsgEogJ.js.map → _server.ts-DM01ishT.js.map} +1 -1
  361. package/build/server/chunks/{_server.ts-4eVxyBg6.js → _server.ts-DNeVKrs8.js} +6 -6
  362. package/build/server/chunks/{_server.ts-4eVxyBg6.js.map → _server.ts-DNeVKrs8.js.map} +1 -1
  363. package/build/server/chunks/{_server.ts-Dsoq_gsI.js → _server.ts-DmqbBNeI.js} +5 -5
  364. package/build/server/chunks/{_server.ts-Dsoq_gsI.js.map → _server.ts-DmqbBNeI.js.map} +1 -1
  365. package/build/server/chunks/{_server.ts-B7Z1RMy4.js → _server.ts-DwqLpa_k.js} +5 -5
  366. package/build/server/chunks/{_server.ts-B7Z1RMy4.js.map → _server.ts-DwqLpa_k.js.map} +1 -1
  367. package/build/server/chunks/{_server.ts-Bq2BT6_L.js → _server.ts-DzGZ73FR.js} +8 -8
  368. package/build/server/chunks/_server.ts-DzGZ73FR.js.map +1 -0
  369. package/build/server/chunks/{_server.ts-DpkIJe-d.js → _server.ts-IVIAzAUs.js} +5 -5
  370. package/build/server/chunks/{_server.ts-DpkIJe-d.js.map → _server.ts-IVIAzAUs.js.map} +1 -1
  371. package/build/server/chunks/{_server.ts-CUcFObAP.js → _server.ts-KdED3s6W.js} +5 -5
  372. package/build/server/chunks/{_server.ts-CUcFObAP.js.map → _server.ts-KdED3s6W.js.map} +1 -1
  373. package/build/server/chunks/{_server.ts-ByqZZZxB.js → _server.ts-Xl5CYncx.js} +3 -3
  374. package/build/server/chunks/{_server.ts-ByqZZZxB.js.map → _server.ts-Xl5CYncx.js.map} +1 -1
  375. package/build/server/chunks/{_server.ts-D4mOhrFH.js → _server.ts-eVLE380Q.js} +5 -5
  376. package/build/server/chunks/{_server.ts-D4mOhrFH.js.map → _server.ts-eVLE380Q.js.map} +1 -1
  377. package/build/server/chunks/{_server.ts-BL7-YPnc.js → _server.ts-kKt_-5Bs.js} +6 -6
  378. package/build/server/chunks/_server.ts-kKt_-5Bs.js.map +1 -0
  379. package/build/server/chunks/{_server.ts-COWH7HN8.js → _server.ts-kighVn_d.js} +5 -5
  380. package/build/server/chunks/{_server.ts-COWH7HN8.js.map → _server.ts-kighVn_d.js.map} +1 -1
  381. package/build/server/chunks/{_server.ts-BtXdHfbr.js → _server.ts-r2RVYvYA.js} +5 -5
  382. package/build/server/chunks/{_server.ts-BtXdHfbr.js.map → _server.ts-r2RVYvYA.js.map} +1 -1
  383. package/build/server/chunks/{access.server-BBglojso.js → access.server-ByXvmWyF.js} +4 -4
  384. package/build/server/chunks/{access.server-BBglojso.js.map → access.server-ByXvmWyF.js.map} +1 -1
  385. package/build/server/chunks/{api-errors-agQVBoep.js → api-errors-C0SWfJj5.js} +3 -3
  386. package/build/server/chunks/{api-errors-agQVBoep.js.map → api-errors-C0SWfJj5.js.map} +1 -1
  387. package/build/server/chunks/{auth-bootstrap.server-CdwMOcYI.js → auth-bootstrap.server-zvPqZ6kt.js} +5 -4
  388. package/build/server/chunks/auth-bootstrap.server-zvPqZ6kt.js.map +1 -0
  389. package/build/server/chunks/{bootHealth.server-Ca8zFRpM.js → bootHealth.server-CLLVkbZZ.js} +2 -2
  390. package/build/server/chunks/{bootHealth.server-Ca8zFRpM.js.map → bootHealth.server-CLLVkbZZ.js.map} +1 -1
  391. package/build/server/chunks/{dialog-description-C-wNjCmv.js → dialog-description-8UnYiAMX.js} +2 -2
  392. package/build/server/chunks/{dialog-description-C-wNjCmv.js.map → dialog-description-8UnYiAMX.js.map} +1 -1
  393. package/build/server/chunks/{upload-BY_p_jpL.js → dialog-footer-CqbKEEQ-.js} +11 -11
  394. package/build/server/chunks/dialog-footer-CqbKEEQ-.js.map +1 -0
  395. package/build/server/chunks/{footerContext.svelte-BZEf7gVw.js → footerContext.svelte-oP__zW9C.js} +10 -2
  396. package/build/server/chunks/footerContext.svelte-oP__zW9C.js.map +1 -0
  397. package/build/server/chunks/{hooks.server-D6EnLMoG.js → hooks.server-CwDixHQc.js} +4 -4
  398. package/build/server/chunks/{hooks.server-D6EnLMoG.js.map → hooks.server-CwDixHQc.js.map} +1 -1
  399. package/build/server/chunks/index-server2-BiZ3ccb0.js +18 -0
  400. package/build/server/chunks/index-server2-BiZ3ccb0.js.map +1 -0
  401. package/build/server/chunks/{index2-B9qXYHIn.js → index2-D4a590Kd.js} +11 -11
  402. package/build/server/chunks/index2-D4a590Kd.js.map +1 -0
  403. package/build/server/chunks/{index3-AGemCGcn.js → index3-0Z1R1__W.js} +12 -12
  404. package/build/server/chunks/index3-0Z1R1__W.js.map +1 -0
  405. package/build/server/chunks/{index4-DSWKKOFB.js → index4-DWNr0jIL.js} +3 -3
  406. package/build/server/chunks/{index4-DSWKKOFB.js.map → index4-DWNr0jIL.js.map} +1 -1
  407. package/build/server/chunks/{permissions.server-cNGc9ris.js → permissions.server-7AwAAkY9.js} +2 -2
  408. package/build/server/chunks/{permissions.server-cNGc9ris.js.map → permissions.server-7AwAAkY9.js.map} +1 -1
  409. package/build/server/chunks/{providers.server-MD7TK-zQ.js → providers.server-wGknM6CR.js} +52 -29
  410. package/build/server/chunks/providers.server-wGknM6CR.js.map +1 -0
  411. package/build/server/chunks/{resolve.server-BXKCfGfg.js → resolve.server-CvfANFCn.js} +2 -2
  412. package/build/server/chunks/{resolve.server-BXKCfGfg.js.map → resolve.server-CvfANFCn.js.map} +1 -1
  413. package/build/server/chunks/{scroll-lock-BVxv0Dsn.js → scroll-lock-BIz_BXmd.js} +4 -15
  414. package/build/server/chunks/scroll-lock-BIz_BXmd.js.map +1 -0
  415. package/build/server/chunks/{utils2-D38XWwRv.js → utils2-BsnrDRob.js} +2 -2
  416. package/build/server/chunks/{utils2-D38XWwRv.js.map → utils2-BsnrDRob.js.map} +1 -1
  417. package/build/server/index.js +2 -2
  418. package/build/server/index.js.map +1 -1
  419. package/build/server/manifest.js +70 -70
  420. package/build/server/manifest.js.map +1 -1
  421. package/package.json +9 -7
  422. package/build/client/_app/immutable/assets/0.vgCL98o5.css +0 -1
  423. package/build/client/_app/immutable/assets/0.vgCL98o5.css.br +0 -0
  424. package/build/client/_app/immutable/assets/0.vgCL98o5.css.gz +0 -0
  425. package/build/client/_app/immutable/assets/20.DvtWUFNX.css +0 -1
  426. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.br +0 -0
  427. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.gz +0 -0
  428. package/build/client/_app/immutable/chunks/-UMoMsui.js.br +0 -0
  429. package/build/client/_app/immutable/chunks/-UMoMsui.js.gz +0 -0
  430. package/build/client/_app/immutable/chunks/2n-qzJg2.js.br +0 -0
  431. package/build/client/_app/immutable/chunks/2n-qzJg2.js.gz +0 -0
  432. package/build/client/_app/immutable/chunks/B6yEy6Wb.js.br +0 -0
  433. package/build/client/_app/immutable/chunks/B6yEy6Wb.js.gz +0 -0
  434. package/build/client/_app/immutable/chunks/BQ0arxbK.js.br +0 -0
  435. package/build/client/_app/immutable/chunks/BQ0arxbK.js.gz +0 -0
  436. package/build/client/_app/immutable/chunks/BeM-GIFh.js +0 -1
  437. package/build/client/_app/immutable/chunks/BeM-GIFh.js.br +0 -0
  438. package/build/client/_app/immutable/chunks/BeM-GIFh.js.gz +0 -0
  439. package/build/client/_app/immutable/chunks/C1kpvSgW.js +0 -2
  440. package/build/client/_app/immutable/chunks/C1kpvSgW.js.br +0 -0
  441. package/build/client/_app/immutable/chunks/C1kpvSgW.js.gz +0 -0
  442. package/build/client/_app/immutable/chunks/C98bdhQ5.js.br +0 -0
  443. package/build/client/_app/immutable/chunks/C98bdhQ5.js.gz +0 -0
  444. package/build/client/_app/immutable/chunks/Cal8_SqL.js +0 -1
  445. package/build/client/_app/immutable/chunks/Cal8_SqL.js.br +0 -0
  446. package/build/client/_app/immutable/chunks/Cal8_SqL.js.gz +0 -0
  447. package/build/client/_app/immutable/chunks/CynIvqMH.js +0 -1
  448. package/build/client/_app/immutable/chunks/CynIvqMH.js.br +0 -0
  449. package/build/client/_app/immutable/chunks/CynIvqMH.js.gz +0 -0
  450. package/build/client/_app/immutable/chunks/D37hHIb0.js.br +0 -0
  451. package/build/client/_app/immutable/chunks/D37hHIb0.js.gz +0 -0
  452. package/build/client/_app/immutable/chunks/DNu_no60.js +0 -3
  453. package/build/client/_app/immutable/chunks/DNu_no60.js.br +0 -0
  454. package/build/client/_app/immutable/chunks/DNu_no60.js.gz +0 -0
  455. package/build/client/_app/immutable/entry/app.1YljYqLj.js +0 -2
  456. package/build/client/_app/immutable/entry/app.1YljYqLj.js.br +0 -0
  457. package/build/client/_app/immutable/entry/app.1YljYqLj.js.gz +0 -0
  458. package/build/client/_app/immutable/entry/start.C41rnrMx.js +0 -1
  459. package/build/client/_app/immutable/entry/start.C41rnrMx.js.br +0 -0
  460. package/build/client/_app/immutable/entry/start.C41rnrMx.js.gz +0 -0
  461. package/build/client/_app/immutable/nodes/0.Y-xP5pet.js +0 -9
  462. package/build/client/_app/immutable/nodes/0.Y-xP5pet.js.br +0 -0
  463. package/build/client/_app/immutable/nodes/0.Y-xP5pet.js.gz +0 -0
  464. package/build/client/_app/immutable/nodes/1.5JE3G8iG.js.br +0 -0
  465. package/build/client/_app/immutable/nodes/1.5JE3G8iG.js.gz +0 -0
  466. package/build/client/_app/immutable/nodes/10.DpfN1qrg.js.br +0 -0
  467. package/build/client/_app/immutable/nodes/10.DpfN1qrg.js.gz +0 -0
  468. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js +0 -2
  469. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js.br +0 -0
  470. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js.gz +0 -0
  471. package/build/client/_app/immutable/nodes/13.D5OdE_HH.js.br +0 -0
  472. package/build/client/_app/immutable/nodes/13.D5OdE_HH.js.gz +0 -0
  473. package/build/client/_app/immutable/nodes/14.UGx5pLUS.js.br +0 -0
  474. package/build/client/_app/immutable/nodes/14.UGx5pLUS.js.gz +0 -0
  475. package/build/client/_app/immutable/nodes/16.CqZNgdz-.js.br +0 -0
  476. package/build/client/_app/immutable/nodes/16.CqZNgdz-.js.gz +0 -0
  477. package/build/client/_app/immutable/nodes/17.B1PHOW1Y.js.br +0 -0
  478. package/build/client/_app/immutable/nodes/17.B1PHOW1Y.js.gz +0 -0
  479. package/build/client/_app/immutable/nodes/19.ClB_k0uw.js.br +0 -0
  480. package/build/client/_app/immutable/nodes/19.ClB_k0uw.js.gz +0 -0
  481. package/build/client/_app/immutable/nodes/2.uPLLf3gR.js.br +0 -0
  482. package/build/client/_app/immutable/nodes/2.uPLLf3gR.js.gz +0 -0
  483. package/build/client/_app/immutable/nodes/20.C5BF7igP.js +0 -4118
  484. package/build/client/_app/immutable/nodes/20.C5BF7igP.js.br +0 -0
  485. package/build/client/_app/immutable/nodes/20.C5BF7igP.js.gz +0 -0
  486. package/build/client/_app/immutable/nodes/21.B1xX86Nz.js.br +0 -0
  487. package/build/client/_app/immutable/nodes/21.B1xX86Nz.js.gz +0 -0
  488. package/build/client/_app/immutable/nodes/23.BWuAu45o.js.br +0 -0
  489. package/build/client/_app/immutable/nodes/23.BWuAu45o.js.gz +0 -0
  490. package/build/client/_app/immutable/nodes/24.DSWGE_q2.js.br +0 -0
  491. package/build/client/_app/immutable/nodes/24.DSWGE_q2.js.gz +0 -0
  492. package/build/client/_app/immutable/nodes/27.CjlEhW_1.js.br +0 -0
  493. package/build/client/_app/immutable/nodes/27.CjlEhW_1.js.gz +0 -0
  494. package/build/client/_app/immutable/nodes/28.U-BnDxlP.js.br +0 -0
  495. package/build/client/_app/immutable/nodes/28.U-BnDxlP.js.gz +0 -0
  496. package/build/client/_app/immutable/nodes/29.cl9udKxV.js.br +0 -0
  497. package/build/client/_app/immutable/nodes/29.cl9udKxV.js.gz +0 -0
  498. package/build/client/_app/immutable/nodes/3.UKn7Q9OQ.js.br +0 -0
  499. package/build/client/_app/immutable/nodes/3.UKn7Q9OQ.js.gz +0 -0
  500. package/build/client/_app/immutable/nodes/30.DPqPYAg4.js.br +0 -0
  501. package/build/client/_app/immutable/nodes/30.DPqPYAg4.js.gz +0 -0
  502. package/build/client/_app/immutable/nodes/5.CbYguvwB.js.br +0 -2
  503. package/build/client/_app/immutable/nodes/5.CbYguvwB.js.gz +0 -0
  504. package/build/client/_app/immutable/nodes/6.DZgUvAex.js.br +0 -0
  505. package/build/client/_app/immutable/nodes/6.DZgUvAex.js.gz +0 -0
  506. package/build/client/_app/immutable/nodes/7.Cv7r8DBm.js.br +0 -0
  507. package/build/client/_app/immutable/nodes/7.Cv7r8DBm.js.gz +0 -0
  508. package/build/client/_app/immutable/nodes/8.zr3bqaC_.js.br +0 -0
  509. package/build/client/_app/immutable/nodes/8.zr3bqaC_.js.gz +0 -0
  510. package/build/client/_app/immutable/nodes/9.B2PU0xej.js +0 -1
  511. package/build/client/_app/immutable/nodes/9.B2PU0xej.js.br +0 -0
  512. package/build/client/_app/immutable/nodes/9.B2PU0xej.js.gz +0 -0
  513. package/build/server/chunks/0-v49L2HZX.js.map +0 -1
  514. package/build/server/chunks/11-BLjiJpX4.js.map +0 -1
  515. package/build/server/chunks/12-Dk9nDvlV.js.map +0 -1
  516. package/build/server/chunks/19-C9FaW__N.js.map +0 -1
  517. package/build/server/chunks/2-CwQhh3Hg.js.map +0 -1
  518. package/build/server/chunks/24-ukwP0nYw.js.map +0 -1
  519. package/build/server/chunks/5-QlPeCe4d.js.map +0 -1
  520. package/build/server/chunks/6-3t8NszBJ.js.map +0 -1
  521. package/build/server/chunks/7-DgFxSLWj.js.map +0 -1
  522. package/build/server/chunks/UserChip-CCZ9yMM3.js.map +0 -1
  523. package/build/server/chunks/_layout.svelte-DU36kuy0.js.map +0 -1
  524. package/build/server/chunks/_page.svelte-CSZEgmHp.js.map +0 -1
  525. package/build/server/chunks/_page.svelte-DJnICJdZ.js.map +0 -1
  526. package/build/server/chunks/_page.svelte-DSPm244d.js.map +0 -1
  527. package/build/server/chunks/_page.svelte-DSYaUquf.js.map +0 -1
  528. package/build/server/chunks/_server.ts-BL7-YPnc.js.map +0 -1
  529. package/build/server/chunks/_server.ts-BiJbME_l.js.map +0 -1
  530. package/build/server/chunks/_server.ts-Bq2BT6_L.js.map +0 -1
  531. package/build/server/chunks/_server.ts-CXYPZtry.js.map +0 -1
  532. package/build/server/chunks/_server.ts-DsFj_8lL.js.map +0 -1
  533. package/build/server/chunks/auth-bootstrap.server-CdwMOcYI.js.map +0 -1
  534. package/build/server/chunks/footerContext.svelte-BZEf7gVw.js.map +0 -1
  535. package/build/server/chunks/index2-B9qXYHIn.js.map +0 -1
  536. package/build/server/chunks/index3-AGemCGcn.js.map +0 -1
  537. package/build/server/chunks/providers.server-MD7TK-zQ.js.map +0 -1
  538. package/build/server/chunks/scroll-lock-BVxv0Dsn.js.map +0 -1
  539. package/build/server/chunks/upload-BY_p_jpL.js.map +0 -1
@@ -1,19 +1,20 @@
1
1
  import { clsx } from 'clsx';
2
- import { GrasshopperResponseProcessor, downloadFileData } from '@selvajs/compute';
3
- import { as as run, o as attr_style, I as derived, Y as getContext, n as attr_class, aD as stringify, T as escape_html, q as bind_props, aA as spread_props, Q as ensure_array_like, an as props_id, p as attributes, a2 as hasContext, av as setContext, v as clsx$1, aa as is_array, $ as get_prototype_of, ak as object_prototype, m as attr } from './renderer-x4cX3Aau.js';
2
+ import { GrasshopperResponseProcessor } from '@selvajs/compute';
3
+ import { as as run, av as setContext, Y as getContext, o as attr_style, I as derived, aa as is_array, $ as get_prototype_of, ak as object_prototype, n as attr_class, aD as stringify, T as escape_html, q as bind_props, aA as spread_props, Q as ensure_array_like, an as props_id, p as attributes, a2 as hasContext, v as clsx$1, m as attr } from './renderer-x4cX3Aau.js';
4
4
  import { S as Server } from './server-C3-deqCy.js';
5
- import { A as AppShell, U as UserChip, T as Triangle_alert, D as Dialog_trigger, C as Chevron_right } from './UserChip-CCZ9yMM3.js';
5
+ import { A as AppShell, T as Triangle_alert, U as UserChip, D as Dialog_trigger, f as formatFileSize, g as getBase64FileSize, i as isFileData, M as MIME_BY_EXT, C as Chevron_right, d as downloadFiles } from './UserChip-CFEkil-Y.js';
6
6
  import { p as page } from './index-CtiRmlms.js';
7
- import { o as onDestroy, D as DOMContext$1, u as useId, A as AnimationsComplete, t as tick } from './scroll-lock-BVxv0Dsn.js';
8
- import { F as FOOTER_CONTEXT_KEY, w as watch } from './footerContext.svelte-BZEf7gVw.js';
9
- import { R as Root, D as Dialog_content, b as Dialog_header, c as Dialog_title, a as Dialog_description } from './index2-B9qXYHIn.js';
7
+ import { o as onDestroy, t as tick } from './index-server2-BiZ3ccb0.js';
8
+ import { F as FOOTER_CONTEXT_KEY, w as watch } from './footerContext.svelte-oP__zW9C.js';
9
+ import { R as Root, D as Dialog_content, b as Dialog_header, c as Dialog_title, a as Dialog_description } from './index2-D4a590Kd.js';
10
10
  import { k as createBitsAttrs, j as createAttachmentKey, l as createId, h as boxWith$1, S as StyleToObject, a as attachRef$1, v as mergeProps$1, w as simpleBox, b as boolToEmptyStrOrUndef, c as boolToStr, o as getAriaChecked } from './create-id-B-AKukLt.js';
11
11
  import { c as createSubscriber, a as SvelteSet, S as SvelteMap } from './index-server-DMc-UvjC.js';
12
12
  import { c as cn } from './utils3-B05Dmz_H.js';
13
13
  import { I as Icon$1 } from './Icon-DbkwAOkZ.js';
14
14
  import { B as Button } from './button-1GF48U_O.js';
15
- import { C as Check, i as isFunction$1, R as Root$1, b as Select_trigger, S as Select_content, a as Select_item, H as Hidden_input, c as isValidIndex } from './index3-AGemCGcn.js';
15
+ import { C as Check, i as isFunction$1, R as Root$1, b as Select_trigger, S as Select_content, a as Select_item, H as Hidden_input, c as isValidIndex } from './index3-0Z1R1__W.js';
16
16
  import { C as Context$1, w as watch$1, n as noop$1, d as ENTER, S as SPACE, h as isElementOrSVGElement, a as ARROW_LEFT, b as ARROW_RIGHT, c as ARROW_UP, A as ARROW_DOWN, H as HOME, E as END, j as isHTMLElement$1 } from './noop-iPXixleG.js';
17
+ import { D as DOMContext$1, u as useId, A as AnimationsComplete } from './scroll-lock-BIz_BXmd.js';
17
18
  import { h as html } from './html-FW6Ia4bL.js';
18
19
  import { T as Tabs, a as Tabs_content, d as Textarea, b as Tabs_list, c as Tabs_trigger } from './textarea-A5IYPwqe.js';
19
20
  import { C as Card, a as Card_content } from './card-content-CLRedGcu.js';
@@ -25,9 +26,9 @@ import { tv } from 'tailwind-variants';
25
26
  import { L as Label } from './label-Df1UqzdF.js';
26
27
  import { I as Input } from './input-DGJ03-ia.js';
27
28
  import { r as randomId } from './randomId-8gj3Lbuq.js';
28
- import { U as Upload, D as Dialog_footer } from './upload-BY_p_jpL.js';
29
+ import { U as Upload, D as Dialog_footer } from './dialog-footer-CqbKEEQ-.js';
29
30
  import './Icon2-DbkwAOkZ.js';
30
- import './dialog-description-C-wNjCmv.js';
31
+ import './dialog-description-8UnYiAMX.js';
31
32
  import './events-qfxQNxtp.js';
32
33
  import '@sveltejs/kit/internal';
33
34
  import './root-CGeBSY2K.js';
@@ -188,6 +189,209 @@ class Context {
188
189
  return setContext(this.#key, context);
189
190
  }
190
191
  }
192
+ function Camera($$renderer, $$props) {
193
+ let { $$slots, $$events, ...props } = $$props;
194
+ const iconNode = [
195
+ [
196
+ "path",
197
+ {
198
+ "d": "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z"
199
+ }
200
+ ],
201
+ ["circle", { "cx": "12", "cy": "13", "r": "3" }]
202
+ ];
203
+ Icon$1($$renderer, spread_props([{ name: "camera" }, props, { iconNode }]));
204
+ }
205
+ function Circle_check_big($$renderer, $$props) {
206
+ let { $$slots, $$events, ...props } = $$props;
207
+ const iconNode = [
208
+ ["path", { "d": "M21.801 10A10 10 0 1 1 17 3.335" }],
209
+ ["path", { "d": "m9 11 3 3L22 4" }]
210
+ ];
211
+ Icon$1($$renderer, spread_props([{ name: "circle-check-big" }, props, { iconNode }]));
212
+ }
213
+ function Circle_question_mark($$renderer, $$props) {
214
+ let { $$slots, $$events, ...props } = $$props;
215
+ const iconNode = [
216
+ ["circle", { "cx": "12", "cy": "12", "r": "10" }],
217
+ ["path", { "d": "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }],
218
+ ["path", { "d": "M12 17h.01" }]
219
+ ];
220
+ Icon$1($$renderer, spread_props([{ name: "circle-question-mark" }, props, { iconNode }]));
221
+ }
222
+ function Download($$renderer, $$props) {
223
+ let { $$slots, $$events, ...props } = $$props;
224
+ const iconNode = [
225
+ ["path", { "d": "M12 15V3" }],
226
+ ["path", { "d": "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }],
227
+ ["path", { "d": "m7 10 5 5 5-5" }]
228
+ ];
229
+ Icon$1($$renderer, spread_props([{ name: "download" }, props, { iconNode }]));
230
+ }
231
+ function File_up($$renderer, $$props) {
232
+ let { $$slots, $$events, ...props } = $$props;
233
+ const iconNode = [
234
+ [
235
+ "path",
236
+ {
237
+ "d": "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"
238
+ }
239
+ ],
240
+ ["path", { "d": "M14 2v5a1 1 0 0 0 1 1h5" }],
241
+ ["path", { "d": "M12 12v6" }],
242
+ ["path", { "d": "m15 15-3-3-3 3" }]
243
+ ];
244
+ Icon$1($$renderer, spread_props([{ name: "file-up" }, props, { iconNode }]));
245
+ }
246
+ function File($$renderer, $$props) {
247
+ let { $$slots, $$events, ...props } = $$props;
248
+ const iconNode = [
249
+ [
250
+ "path",
251
+ {
252
+ "d": "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"
253
+ }
254
+ ],
255
+ ["path", { "d": "M14 2v5a1 1 0 0 0 1 1h5" }]
256
+ ];
257
+ Icon$1($$renderer, spread_props([{ name: "file" }, props, { iconNode }]));
258
+ }
259
+ function Folder_open($$renderer, $$props) {
260
+ let { $$slots, $$events, ...props } = $$props;
261
+ const iconNode = [
262
+ [
263
+ "path",
264
+ {
265
+ "d": "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"
266
+ }
267
+ ]
268
+ ];
269
+ Icon$1($$renderer, spread_props([{ name: "folder-open" }, props, { iconNode }]));
270
+ }
271
+ function Folder($$renderer, $$props) {
272
+ let { $$slots, $$events, ...props } = $$props;
273
+ const iconNode = [
274
+ [
275
+ "path",
276
+ {
277
+ "d": "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"
278
+ }
279
+ ]
280
+ ];
281
+ Icon$1($$renderer, spread_props([{ name: "folder" }, props, { iconNode }]));
282
+ }
283
+ function Inbox($$renderer, $$props) {
284
+ let { $$slots, $$events, ...props } = $$props;
285
+ const iconNode = [
286
+ [
287
+ "polyline",
288
+ { "points": "22 12 16 12 14 15 10 15 8 12 2 12" }
289
+ ],
290
+ [
291
+ "path",
292
+ {
293
+ "d": "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"
294
+ }
295
+ ]
296
+ ];
297
+ Icon$1($$renderer, spread_props([{ name: "inbox" }, props, { iconNode }]));
298
+ }
299
+ function Info($$renderer, $$props) {
300
+ let { $$slots, $$events, ...props } = $$props;
301
+ const iconNode = [
302
+ ["circle", { "cx": "12", "cy": "12", "r": "10" }],
303
+ ["path", { "d": "M12 16v-4" }],
304
+ ["path", { "d": "M12 8h.01" }]
305
+ ];
306
+ Icon$1($$renderer, spread_props([{ name: "info" }, props, { iconNode }]));
307
+ }
308
+ function Layers($$renderer, $$props) {
309
+ let { $$slots, $$events, ...props } = $$props;
310
+ const iconNode = [
311
+ [
312
+ "path",
313
+ {
314
+ "d": "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"
315
+ }
316
+ ],
317
+ [
318
+ "path",
319
+ {
320
+ "d": "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"
321
+ }
322
+ ],
323
+ [
324
+ "path",
325
+ {
326
+ "d": "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"
327
+ }
328
+ ]
329
+ ];
330
+ Icon$1($$renderer, spread_props([{ name: "layers" }, props, { iconNode }]));
331
+ }
332
+ function Loader($$renderer, $$props) {
333
+ let { $$slots, $$events, ...props } = $$props;
334
+ const iconNode = [
335
+ ["path", { "d": "M12 2v4" }],
336
+ ["path", { "d": "m16.2 7.8 2.9-2.9" }],
337
+ ["path", { "d": "M18 12h4" }],
338
+ ["path", { "d": "m16.2 16.2 2.9 2.9" }],
339
+ ["path", { "d": "M12 18v4" }],
340
+ ["path", { "d": "m4.9 19.1 2.9-2.9" }],
341
+ ["path", { "d": "M2 12h4" }],
342
+ ["path", { "d": "m4.9 4.9 2.9 2.9" }]
343
+ ];
344
+ Icon$1($$renderer, spread_props([{ name: "loader" }, props, { iconNode }]));
345
+ }
346
+ function Maximize($$renderer, $$props) {
347
+ let { $$slots, $$events, ...props } = $$props;
348
+ const iconNode = [
349
+ ["path", { "d": "M8 3H5a2 2 0 0 0-2 2v3" }],
350
+ ["path", { "d": "M21 8V5a2 2 0 0 0-2-2h-3" }],
351
+ ["path", { "d": "M3 16v3a2 2 0 0 0 2 2h3" }],
352
+ ["path", { "d": "M16 21h3a2 2 0 0 0 2-2v-3" }]
353
+ ];
354
+ Icon$1($$renderer, spread_props([{ name: "maximize" }, props, { iconNode }]));
355
+ }
356
+ function Minimize($$renderer, $$props) {
357
+ let { $$slots, $$events, ...props } = $$props;
358
+ const iconNode = [
359
+ ["path", { "d": "M8 3v3a2 2 0 0 1-2 2H3" }],
360
+ ["path", { "d": "M21 8h-3a2 2 0 0 1-2-2V3" }],
361
+ ["path", { "d": "M3 16h3a2 2 0 0 1 2 2v3" }],
362
+ ["path", { "d": "M16 21v-3a2 2 0 0 1 2-2h3" }]
363
+ ];
364
+ Icon$1($$renderer, spread_props([{ name: "minimize" }, props, { iconNode }]));
365
+ }
366
+ function Minus($$renderer, $$props) {
367
+ let { $$slots, $$events, ...props } = $$props;
368
+ const iconNode = [["path", { "d": "M5 12h14" }]];
369
+ Icon$1($$renderer, spread_props([{ name: "minus" }, props, { iconNode }]));
370
+ }
371
+ function Play($$renderer, $$props) {
372
+ let { $$slots, $$events, ...props } = $$props;
373
+ const iconNode = [
374
+ [
375
+ "path",
376
+ {
377
+ "d": "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"
378
+ }
379
+ ]
380
+ ];
381
+ Icon$1($$renderer, spread_props([{ name: "play" }, props, { iconNode }]));
382
+ }
383
+ function Zap($$renderer, $$props) {
384
+ let { $$slots, $$events, ...props } = $$props;
385
+ const iconNode = [
386
+ [
387
+ "path",
388
+ {
389
+ "d": "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"
390
+ }
391
+ ]
392
+ ];
393
+ Icon$1($$renderer, spread_props([{ name: "zap" }, props, { iconNode }]));
394
+ }
191
395
  function extract(value, defaultValue) {
192
396
  if (isFunction$1(value)) {
193
397
  const getter = value;
@@ -2765,241 +2969,26 @@ function Slider_thumb($$renderer, $$props) {
2765
2969
  bind_props($$props, { ref });
2766
2970
  });
2767
2971
  }
2768
- function Camera($$renderer, $$props) {
2769
- let { $$slots, $$events, ...props } = $$props;
2770
- const iconNode = [
2771
- [
2772
- "path",
2773
- {
2774
- "d": "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z"
2775
- }
2776
- ],
2777
- ["circle", { "cx": "12", "cy": "13", "r": "3" }]
2778
- ];
2779
- Icon$1($$renderer, spread_props([{ name: "camera" }, props, { iconNode }]));
2780
- }
2781
- function Circle_check_big($$renderer, $$props) {
2782
- let { $$slots, $$events, ...props } = $$props;
2783
- const iconNode = [
2784
- ["path", { "d": "M21.801 10A10 10 0 1 1 17 3.335" }],
2785
- ["path", { "d": "m9 11 3 3L22 4" }]
2786
- ];
2787
- Icon$1($$renderer, spread_props([{ name: "circle-check-big" }, props, { iconNode }]));
2788
- }
2789
- function Circle_question_mark($$renderer, $$props) {
2790
- let { $$slots, $$events, ...props } = $$props;
2791
- const iconNode = [
2792
- ["circle", { "cx": "12", "cy": "12", "r": "10" }],
2793
- ["path", { "d": "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }],
2794
- ["path", { "d": "M12 17h.01" }]
2795
- ];
2796
- Icon$1($$renderer, spread_props([{ name: "circle-question-mark" }, props, { iconNode }]));
2797
- }
2798
- function Download($$renderer, $$props) {
2799
- let { $$slots, $$events, ...props } = $$props;
2800
- const iconNode = [
2801
- ["path", { "d": "M12 15V3" }],
2802
- ["path", { "d": "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }],
2803
- ["path", { "d": "m7 10 5 5 5-5" }]
2804
- ];
2805
- Icon$1($$renderer, spread_props([{ name: "download" }, props, { iconNode }]));
2806
- }
2807
- function File_up($$renderer, $$props) {
2808
- let { $$slots, $$events, ...props } = $$props;
2809
- const iconNode = [
2810
- [
2811
- "path",
2812
- {
2813
- "d": "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"
2814
- }
2815
- ],
2816
- ["path", { "d": "M14 2v5a1 1 0 0 0 1 1h5" }],
2817
- ["path", { "d": "M12 12v6" }],
2818
- ["path", { "d": "m15 15-3-3-3 3" }]
2819
- ];
2820
- Icon$1($$renderer, spread_props([{ name: "file-up" }, props, { iconNode }]));
2821
- }
2822
- function File($$renderer, $$props) {
2823
- let { $$slots, $$events, ...props } = $$props;
2824
- const iconNode = [
2825
- [
2826
- "path",
2827
- {
2828
- "d": "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"
2829
- }
2830
- ],
2831
- ["path", { "d": "M14 2v5a1 1 0 0 0 1 1h5" }]
2832
- ];
2833
- Icon$1($$renderer, spread_props([{ name: "file" }, props, { iconNode }]));
2834
- }
2835
- function Folder_open($$renderer, $$props) {
2836
- let { $$slots, $$events, ...props } = $$props;
2837
- const iconNode = [
2838
- [
2839
- "path",
2840
- {
2841
- "d": "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"
2842
- }
2843
- ]
2844
- ];
2845
- Icon$1($$renderer, spread_props([{ name: "folder-open" }, props, { iconNode }]));
2846
- }
2847
- function Folder($$renderer, $$props) {
2848
- let { $$slots, $$events, ...props } = $$props;
2849
- const iconNode = [
2850
- [
2851
- "path",
2852
- {
2853
- "d": "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"
2854
- }
2855
- ]
2856
- ];
2857
- Icon$1($$renderer, spread_props([{ name: "folder" }, props, { iconNode }]));
2858
- }
2859
- function Inbox($$renderer, $$props) {
2860
- let { $$slots, $$events, ...props } = $$props;
2861
- const iconNode = [
2862
- [
2863
- "polyline",
2864
- { "points": "22 12 16 12 14 15 10 15 8 12 2 12" }
2865
- ],
2866
- [
2867
- "path",
2868
- {
2869
- "d": "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"
2870
- }
2871
- ]
2872
- ];
2873
- Icon$1($$renderer, spread_props([{ name: "inbox" }, props, { iconNode }]));
2874
- }
2875
- function Info($$renderer, $$props) {
2876
- let { $$slots, $$events, ...props } = $$props;
2877
- const iconNode = [
2878
- ["circle", { "cx": "12", "cy": "12", "r": "10" }],
2879
- ["path", { "d": "M12 16v-4" }],
2880
- ["path", { "d": "M12 8h.01" }]
2881
- ];
2882
- Icon$1($$renderer, spread_props([{ name: "info" }, props, { iconNode }]));
2883
- }
2884
- function Layers($$renderer, $$props) {
2885
- let { $$slots, $$events, ...props } = $$props;
2886
- const iconNode = [
2887
- [
2888
- "path",
2889
- {
2890
- "d": "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"
2891
- }
2892
- ],
2893
- [
2894
- "path",
2895
- {
2896
- "d": "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"
2897
- }
2898
- ],
2899
- [
2900
- "path",
2901
- {
2902
- "d": "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"
2903
- }
2904
- ]
2905
- ];
2906
- Icon$1($$renderer, spread_props([{ name: "layers" }, props, { iconNode }]));
2907
- }
2908
- function Loader($$renderer, $$props) {
2909
- let { $$slots, $$events, ...props } = $$props;
2910
- const iconNode = [
2911
- ["path", { "d": "M12 2v4" }],
2912
- ["path", { "d": "m16.2 7.8 2.9-2.9" }],
2913
- ["path", { "d": "M18 12h4" }],
2914
- ["path", { "d": "m16.2 16.2 2.9 2.9" }],
2915
- ["path", { "d": "M12 18v4" }],
2916
- ["path", { "d": "m4.9 19.1 2.9-2.9" }],
2917
- ["path", { "d": "M2 12h4" }],
2918
- ["path", { "d": "m4.9 4.9 2.9 2.9" }]
2919
- ];
2920
- Icon$1($$renderer, spread_props([{ name: "loader" }, props, { iconNode }]));
2921
- }
2922
- function Maximize($$renderer, $$props) {
2923
- let { $$slots, $$events, ...props } = $$props;
2924
- const iconNode = [
2925
- ["path", { "d": "M8 3H5a2 2 0 0 0-2 2v3" }],
2926
- ["path", { "d": "M21 8V5a2 2 0 0 0-2-2h-3" }],
2927
- ["path", { "d": "M3 16v3a2 2 0 0 0 2 2h3" }],
2928
- ["path", { "d": "M16 21h3a2 2 0 0 0 2-2v-3" }]
2929
- ];
2930
- Icon$1($$renderer, spread_props([{ name: "maximize" }, props, { iconNode }]));
2931
- }
2932
- function Minimize($$renderer, $$props) {
2933
- let { $$slots, $$events, ...props } = $$props;
2934
- const iconNode = [
2935
- ["path", { "d": "M8 3v3a2 2 0 0 1-2 2H3" }],
2936
- ["path", { "d": "M21 8h-3a2 2 0 0 1-2-2V3" }],
2937
- ["path", { "d": "M3 16h3a2 2 0 0 1 2 2v3" }],
2938
- ["path", { "d": "M16 21v-3a2 2 0 0 1 2-2h3" }]
2939
- ];
2940
- Icon$1($$renderer, spread_props([{ name: "minimize" }, props, { iconNode }]));
2941
- }
2942
- function Minus($$renderer, $$props) {
2943
- let { $$slots, $$events, ...props } = $$props;
2944
- const iconNode = [["path", { "d": "M5 12h14" }]];
2945
- Icon$1($$renderer, spread_props([{ name: "minus" }, props, { iconNode }]));
2946
- }
2947
- function Play($$renderer, $$props) {
2948
- let { $$slots, $$events, ...props } = $$props;
2949
- const iconNode = [
2950
- [
2951
- "path",
2952
- {
2953
- "d": "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"
2954
- }
2955
- ]
2956
- ];
2957
- Icon$1($$renderer, spread_props([{ name: "play" }, props, { iconNode }]));
2958
- }
2959
- function Zap($$renderer, $$props) {
2960
- let { $$slots, $$events, ...props } = $$props;
2961
- const iconNode = [
2962
- [
2963
- "path",
2964
- {
2965
- "d": "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"
2966
- }
2967
- ]
2968
- ];
2969
- Icon$1($$renderer, spread_props([{ name: "zap" }, props, { iconNode }]));
2970
- }
2971
- const APP_DEFAULTS = {
2972
- // Timing & performance thresholds
2973
- TIMEOUTS: {
2974
- /** Parameter export callback delay (ms) */
2975
- PARAM_EXPORT_DELAY: 100
2976
- },
2977
- // File size formatting
2978
- FILE_SIZE: {
2979
- /** Bytes per kilobyte */
2980
- BYTES_PER_KB: 1024
2981
- }
2982
- };
2983
- function MeshMetadataDialog($$renderer, $$props) {
2984
- $$renderer.component(($$renderer2) => {
2985
- const EXCLUDED_KEYS = /* @__PURE__ */ new Set(["name", "layer", "originalIndex", "sourceComponentId"]);
2986
- let {
2987
- open = void 0,
2988
- metadata,
2989
- meshName,
2990
- onOpenChange,
2991
- isFullscreen = false
2992
- } = $$props;
2993
- const getFilteredMetadata = () => {
2994
- if (!metadata) return {};
2995
- const entries = Object.entries(metadata).filter(([key]) => !EXCLUDED_KEYS.has(key));
2996
- const result = {};
2997
- for (const [key, value] of entries) {
2998
- if (key === "metadata" && typeof value === "object" && value !== null && !Array.isArray(value)) {
2999
- Object.assign(result, value);
3000
- } else {
3001
- result[key] = value;
3002
- }
2972
+ function MeshMetadataDialog($$renderer, $$props) {
2973
+ $$renderer.component(($$renderer2) => {
2974
+ const EXCLUDED_KEYS = /* @__PURE__ */ new Set(["name", "layer", "originalIndex", "sourceComponentId"]);
2975
+ let {
2976
+ open = void 0,
2977
+ metadata,
2978
+ meshName,
2979
+ onOpenChange,
2980
+ isFullscreen = false
2981
+ } = $$props;
2982
+ const getFilteredMetadata = () => {
2983
+ if (!metadata) return {};
2984
+ const entries = Object.entries(metadata).filter(([key]) => !EXCLUDED_KEYS.has(key));
2985
+ const result = {};
2986
+ for (const [key, value] of entries) {
2987
+ if (key === "metadata" && typeof value === "object" && value !== null && !Array.isArray(value)) {
2988
+ Object.assign(result, value);
2989
+ } else {
2990
+ result[key] = value;
2991
+ }
3003
2992
  }
3004
2993
  return result;
3005
2994
  };
@@ -5177,7 +5166,7 @@ function Viewer($$renderer, $$props) {
5177
5166
  let selectedMeshName = null;
5178
5167
  $$renderer2.push(`<div${attr_class(
5179
5168
  `min-h-64 sm:min-h-96 lg:min-h-125 relative h-full flex-1 border ${stringify(isFullscreen ? "fullscreen-viewer" : "overflow-hidden rounded-[0.625rem]")}`,
5180
- "svelte-qgylmx"
5169
+ "svelte-13y0czs"
5181
5170
  )}>`);
5182
5171
  if (Resizable_pane_group) {
5183
5172
  $$renderer2.push("<!--[-->");
@@ -5191,7 +5180,7 @@ function Viewer($$renderer, $$props) {
5191
5180
  defaultSize: 100,
5192
5181
  minSize: 40,
5193
5182
  children: ($$renderer4) => {
5194
- $$renderer4.push(`<div class="relative h-full w-full" style="touch-action: none;"><canvas class="block h-full w-full"></canvas> <div${attr_class(`inset-0 blur-overlay absolute z-20 ${stringify(isBlurred ? "blur-overlay-active" : "blur-overlay-inactive")}`, "svelte-qgylmx")}></div> `);
5183
+ $$renderer4.push(`<div class="relative h-full w-full" style="touch-action: none;"><canvas class="block h-full w-full"></canvas> <div${attr_class(`inset-0 blur-overlay absolute z-20 ${stringify(isBlurred ? "blur-overlay-active" : "blur-overlay-inactive")}`, "svelte-13y0czs")}></div> `);
5195
5184
  if (isSolving) {
5196
5185
  $$renderer4.push("<!--[0-->");
5197
5186
  $$renderer4.push(`<div class="inset-0 absolute z-10 animate-[selva-viewer-fade-in_0.2s_ease-out] backdrop-blur-[2px] transition-all duration-300"></div>`);
@@ -5331,7 +5320,7 @@ function SolvingIndicator($$renderer, $$props) {
5331
5320
  let { show } = $$props;
5332
5321
  if (show) {
5333
5322
  $$renderer.push("<!--[0-->");
5334
- $$renderer.push(`<div class="bottom-6 left-6 gap-3 px-5 py-3 shadow-xl fixed z-50 flex animate-[selva-slideInLeft_0.2s_ease-out] items-center rounded-lg border border-primary/20 bg-primary text-primary-foreground svelte-16o83r0"><div class="h-5 w-5 relative flex shrink-0 items-center justify-center svelte-16o83r0"><div class="animate-ping absolute h-full w-full rounded-full bg-primary-foreground opacity-30 svelte-16o83r0"></div> <div class="h-3 w-3 animate-spin rounded-full border-2 border-primary-foreground border-t-transparent svelte-16o83r0"></div></div> <div class="leading-tight flex flex-col svelte-16o83r0"><span class="text-sm font-semibold svelte-16o83r0">Solving</span> <span class="text-xs opacity-70 svelte-16o83r0">Grasshopper is calculating...</span></div></div>`);
5323
+ $$renderer.push(`<div class="bottom-6 left-6 gap-3 px-5 py-3 shadow-xl fixed z-50 flex animate-[selva-slideInLeft_0.2s_ease-out] items-center rounded-lg border border-primary/20 bg-primary text-primary-foreground svelte-g866ul"><div class="h-5 w-5 relative flex shrink-0 items-center justify-center svelte-g866ul"><div class="animate-ping absolute h-full w-full rounded-full bg-primary-foreground opacity-30 svelte-g866ul"></div> <div class="h-3 w-3 animate-spin rounded-full border-2 border-primary-foreground border-t-transparent svelte-g866ul"></div></div> <div class="leading-tight flex flex-col svelte-g866ul"><span class="text-sm font-semibold svelte-g866ul">Solving</span> <span class="text-xs opacity-70 svelte-g866ul">Grasshopper is calculating...</span></div></div>`);
5335
5324
  } else {
5336
5325
  $$renderer.push("<!--[-1-->");
5337
5326
  }
@@ -7143,6 +7132,16 @@ function evaluateVisibility(item, values) {
7143
7132
  const actionFn = ACTIONS[action] ?? ACTIONS.show;
7144
7133
  return actionFn(met, defaultValue);
7145
7134
  }
7135
+ function itemKey(item) {
7136
+ return item.type === "linebreak" ? item.id : item.paramId;
7137
+ }
7138
+ function buildVisibilityMap(items, values) {
7139
+ const map = {};
7140
+ for (const item of items) {
7141
+ map[itemKey(item)] = evaluateVisibility(item, values);
7142
+ }
7143
+ return map;
7144
+ }
7146
7145
  function evaluateGroupVisibility(group, values) {
7147
7146
  if (!group.visibilityCondition?.rules)
7148
7147
  return true;
@@ -7170,6 +7169,7 @@ function Group($$renderer, $$props) {
7170
7169
  onToggle();
7171
7170
  }
7172
7171
  }
7172
+ const visibilityMap = derived(() => buildVisibilityMap(items, values));
7173
7173
  const columnStarts = derived(() => {
7174
7174
  const positions = [];
7175
7175
  let col = 0;
@@ -7179,7 +7179,7 @@ function Group($$renderer, $$props) {
7179
7179
  col = 0;
7180
7180
  continue;
7181
7181
  }
7182
- const visibility = evaluateVisibility(item, values);
7182
+ const visibility = visibilityMap()[itemKey(item)];
7183
7183
  if (!visibility.visible) {
7184
7184
  positions.push(0);
7185
7185
  continue;
@@ -7197,13 +7197,13 @@ function Group($$renderer, $$props) {
7197
7197
  $$renderer3.push(`<div style="grid-column: 1 / -1" class="h-px bg-border" aria-hidden="true"></div>`);
7198
7198
  } else {
7199
7199
  $$renderer3.push("<!--[-1-->");
7200
- const visibility = evaluateVisibility(layoutItem, values);
7200
+ const visibility = visibilityMap()[itemKey(layoutItem)];
7201
7201
  const span = Math.min(Math.max(1, layoutItem.span ?? 1), cols);
7202
7202
  if (visibility.visible) {
7203
7203
  $$renderer3.push("<!--[0-->");
7204
7204
  if (layoutItem.type === "input") {
7205
7205
  $$renderer3.push("<!--[0-->");
7206
- $$renderer3.push(`<div${attr_class("grid-cell min-w-0 flex items-center svelte-rxs5ka", void 0, {
7206
+ $$renderer3.push(`<div${attr_class("grid-cell min-w-0 flex items-center svelte-1mpk06z", void 0, {
7207
7207
  "opacity-50": visibility.disabled,
7208
7208
  "col-divider": !isFirstInRow && cols > 1
7209
7209
  })}${attr_style(`grid-column: span ${stringify(span)} / span ${stringify(span)}`)}>`);
@@ -7211,7 +7211,7 @@ function Group($$renderer, $$props) {
7211
7211
  $$renderer3.push(`<!----></div>`);
7212
7212
  } else if (layoutItem.type === "output") {
7213
7213
  $$renderer3.push("<!--[1-->");
7214
- $$renderer3.push(`<div${attr_class("grid-cell svelte-rxs5ka", void 0, { "col-divider": !isFirstInRow && cols > 1 })}${attr_style(`grid-column: span ${stringify(span)} / span ${stringify(span)}`)}>`);
7214
+ $$renderer3.push(`<div${attr_class("grid-cell svelte-1mpk06z", void 0, { "col-divider": !isFirstInRow && cols > 1 })}${attr_style(`grid-column: span ${stringify(span)} / span ${stringify(span)}`)}>`);
7215
7215
  outputSnippet($$renderer3, layoutItem);
7216
7216
  $$renderer3.push(`<!----></div>`);
7217
7217
  } else {
@@ -7227,7 +7227,7 @@ function Group($$renderer, $$props) {
7227
7227
  }
7228
7228
  if (flat) {
7229
7229
  $$renderer2.push("<!--[0-->");
7230
- $$renderer2.push(`<div class="p-6"><div class="schema-grid gap-6 grid svelte-rxs5ka"${attr_style(`--schema-cols: ${stringify(columns)};`)}><!--[-->`);
7230
+ $$renderer2.push(`<div class="p-6"><div class="schema-grid gap-6 grid svelte-1mpk06z"${attr_style(`--schema-cols: ${stringify(columns)};`)}><!--[-->`);
7231
7231
  const each_array = ensure_array_like(items);
7232
7232
  for (let i = 0, $$length = each_array.length; i < $$length; i++) {
7233
7233
  let layoutItem = each_array[i];
@@ -7307,13 +7307,13 @@ function Group($$renderer, $$props) {
7307
7307
  $$renderer3.push("<!--[!-->");
7308
7308
  $$renderer3.push("<!--]-->");
7309
7309
  }
7310
- $$renderer3.push(` <div${attr_class("content-wrapper svelte-rxs5ka", void 0, { "collapsed": collapsed })}><div class="content-inner svelte-rxs5ka">`);
7310
+ $$renderer3.push(` <div${attr_class("content-wrapper svelte-1mpk06z", void 0, { "collapsed": collapsed })}><div class="content-inner svelte-1mpk06z">`);
7311
7311
  if (Card_content) {
7312
7312
  $$renderer3.push("<!--[-->");
7313
7313
  Card_content($$renderer3, {
7314
7314
  class: "p-6",
7315
7315
  children: ($$renderer4) => {
7316
- $$renderer4.push(`<div class="schema-grid gap-6 grid svelte-rxs5ka"${attr_style(`--schema-cols: ${stringify(columns)};`)}><!--[-->`);
7316
+ $$renderer4.push(`<div class="schema-grid gap-6 grid svelte-1mpk06z"${attr_style(`--schema-cols: ${stringify(columns)};`)}><!--[-->`);
7317
7317
  const each_array_1 = ensure_array_like(items);
7318
7318
  for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {
7319
7319
  let layoutItem = each_array_1[i];
@@ -7359,6 +7359,23 @@ function isFileWidget(item) {
7359
7359
  function isColorWidget(item) {
7360
7360
  return item.type === "input" && item.widgetType === "color";
7361
7361
  }
7362
+ function getGroups(schema) {
7363
+ if (!schema?.layout)
7364
+ return [];
7365
+ if (schema.layout.type === "tabbed") {
7366
+ return schema.layout.tabs?.flatMap((t) => t.groups ?? []) ?? [];
7367
+ }
7368
+ if (schema.layout.type === "flat") {
7369
+ return schema.layout.groups ?? [];
7370
+ }
7371
+ return [];
7372
+ }
7373
+ function getLayoutItems(schema) {
7374
+ return getGroups(schema).flatMap((g) => g.items ?? []);
7375
+ }
7376
+ function getInputItems(schema) {
7377
+ return getLayoutItems(schema).filter((i) => i.type === "input");
7378
+ }
7362
7379
  const fieldVariants = tv({
7363
7380
  base: "group/field data-[invalid=true]:text-destructive flex w-full gap-3",
7364
7381
  variants: {
@@ -8171,6 +8188,13 @@ function TextInput($$renderer, $$props) {
8171
8188
  bind_props($$props, { value });
8172
8189
  });
8173
8190
  }
8191
+ const CLIENT_SLOT_CONTEXT_KEY = /* @__PURE__ */ Symbol("client-slot-context");
8192
+ function setClientSlot(slot) {
8193
+ setContext(CLIENT_SLOT_CONTEXT_KEY, slot);
8194
+ }
8195
+ function getClientSlot() {
8196
+ return getContext(CLIENT_SLOT_CONTEXT_KEY);
8197
+ }
8174
8198
  function InputControl($$renderer, $$props) {
8175
8199
  $$renderer.component(($$renderer2) => {
8176
8200
  let {
@@ -8182,6 +8206,12 @@ function InputControl($$renderer, $$props) {
8182
8206
  } = $$props;
8183
8207
  const inputId = derived(() => `input-${item.paramId}`);
8184
8208
  const label = derived(() => displayName || item.displayName || item.paramId);
8209
+ const clientSlotConfig = derived(() => {
8210
+ const source = item.source;
8211
+ if (source?.kind !== "client" || source.client?.presentation !== "slot") return null;
8212
+ return { slotLabel: source.client.slotLabel };
8213
+ });
8214
+ const clientSlot = getClientSlot();
8185
8215
  const numberRangeHint = derived(() => {
8186
8216
  if (!isNumberWidget(item)) return null;
8187
8217
  const cfg = item.config;
@@ -8198,195 +8228,213 @@ function InputControl($$renderer, $$props) {
8198
8228
  value = newValue;
8199
8229
  onChange(item.paramId, newValue);
8200
8230
  }
8201
- if (Field) {
8202
- $$renderer2.push("<!--[-->");
8203
- Field($$renderer2, {
8204
- children: ($$renderer3) => {
8205
- if (Field_label) {
8206
- $$renderer3.push("<!--[-->");
8207
- Field_label($$renderer3, {
8208
- for: inputId(),
8209
- class: "gap-2 flex items-center",
8210
- children: ($$renderer4) => {
8211
- $$renderer4.push(`<!---->${escape_html(label())} `);
8212
- if (item.description) {
8213
- $$renderer4.push("<!--[0-->");
8214
- if (Root) {
8215
- $$renderer4.push("<!--[-->");
8216
- Root($$renderer4, {
8217
- children: ($$renderer5) => {
8218
- if (Dialog_trigger) {
8219
- $$renderer5.push("<!--[-->");
8220
- Dialog_trigger($$renderer5, {
8221
- class: "p-1 cursor-help opacity-60 transition-opacity hover:opacity-100",
8222
- children: ($$renderer6) => {
8223
- Circle_question_mark($$renderer6, { size: 16 });
8224
- },
8225
- $$slots: { default: true }
8226
- });
8227
- $$renderer5.push("<!--]-->");
8228
- } else {
8229
- $$renderer5.push("<!--[!-->");
8230
- $$renderer5.push("<!--]-->");
8231
- }
8232
- $$renderer5.push(` `);
8233
- if (Dialog_content) {
8234
- $$renderer5.push("<!--[-->");
8235
- Dialog_content($$renderer5, {
8236
- class: "sm:max-w-md",
8237
- children: ($$renderer6) => {
8238
- if (Dialog_header) {
8239
- $$renderer6.push("<!--[-->");
8240
- Dialog_header($$renderer6, {
8241
- children: ($$renderer7) => {
8242
- if (Dialog_title) {
8243
- $$renderer7.push("<!--[-->");
8244
- Dialog_title($$renderer7, {
8245
- children: ($$renderer8) => {
8246
- $$renderer8.push(`<!---->${escape_html(label())}`);
8247
- },
8248
- $$slots: { default: true }
8249
- });
8250
- $$renderer7.push("<!--]-->");
8251
- } else {
8252
- $$renderer7.push("<!--[!-->");
8253
- $$renderer7.push("<!--]-->");
8254
- }
8255
- $$renderer7.push(` `);
8256
- if (Dialog_description) {
8257
- $$renderer7.push("<!--[-->");
8258
- Dialog_description($$renderer7, {
8259
- children: ($$renderer8) => {
8260
- $$renderer8.push(`<!---->${escape_html(item.description)}`);
8261
- },
8262
- $$slots: { default: true }
8263
- });
8264
- $$renderer7.push("<!--]-->");
8265
- } else {
8266
- $$renderer7.push("<!--[!-->");
8267
- $$renderer7.push("<!--]-->");
8268
- }
8269
- },
8270
- $$slots: { default: true }
8271
- });
8272
- $$renderer6.push("<!--]-->");
8273
- } else {
8274
- $$renderer6.push("<!--[!-->");
8275
- $$renderer6.push("<!--]-->");
8276
- }
8277
- },
8278
- $$slots: { default: true }
8279
- });
8280
- $$renderer5.push("<!--]-->");
8281
- } else {
8282
- $$renderer5.push("<!--[!-->");
8283
- $$renderer5.push("<!--]-->");
8284
- }
8285
- },
8286
- $$slots: { default: true }
8287
- });
8288
- $$renderer4.push("<!--]-->");
8289
- } else {
8290
- $$renderer4.push("<!--[!-->");
8291
- $$renderer4.push("<!--]-->");
8292
- }
8293
- } else {
8294
- $$renderer4.push("<!--[-1-->");
8295
- }
8296
- $$renderer4.push(`<!--]--> `);
8297
- if (showRangeInLabel()) {
8298
- $$renderer4.push("<!--[0-->");
8299
- $$renderer4.push(`<span class="text-xs font-normal text-muted-foreground">${escape_html(numberRangeHint())}</span>`);
8300
- } else {
8301
- $$renderer4.push("<!--[-1-->");
8302
- }
8303
- $$renderer4.push(`<!--]-->`);
8304
- },
8305
- $$slots: { default: true }
8306
- });
8307
- $$renderer3.push("<!--]-->");
8308
- } else {
8309
- $$renderer3.push("<!--[!-->");
8310
- $$renderer3.push("<!--]-->");
8311
- }
8312
- $$renderer3.push(` `);
8313
- if (isNumberWidget(item)) {
8314
- $$renderer3.push("<!--[0-->");
8315
- const config = item.config;
8316
- NumberInput($$renderer3, {
8317
- inputId: inputId(),
8318
- value: typeof value === "number" ? value : void 0,
8319
- config,
8320
- onChange: commit,
8321
- disabled
8322
- });
8323
- } else if (isCheckboxWidget(item)) {
8324
- $$renderer3.push("<!--[1-->");
8325
- CheckboxInput($$renderer3, {
8326
- inputId: inputId(),
8327
- value: typeof value === "boolean" ? value : void 0,
8328
- onChange: commit,
8329
- disabled
8330
- });
8331
- } else if (isTextWidget(item)) {
8332
- $$renderer3.push("<!--[2-->");
8333
- const config = item.config;
8334
- TextInput($$renderer3, {
8335
- inputId: inputId(),
8336
- value: typeof value === "string" ? value : "",
8337
- config,
8338
- onChange: commit,
8339
- disabled
8340
- });
8341
- } else if (isDropdownWidget(item)) {
8342
- $$renderer3.push("<!--[3-->");
8343
- const config = item.config;
8344
- if (config.displayAs === "checklist") {
8231
+ if (clientSlotConfig()) {
8232
+ $$renderer2.push("<!--[0-->");
8233
+ if (clientSlot) {
8234
+ $$renderer2.push("<!--[0-->");
8235
+ clientSlot($$renderer2, {
8236
+ inputId: item.paramId,
8237
+ displayName: label(),
8238
+ slotLabel: clientSlotConfig().slotLabel,
8239
+ value
8240
+ });
8241
+ } else {
8242
+ $$renderer2.push("<!--[-1-->");
8243
+ }
8244
+ $$renderer2.push(`<!--]-->`);
8245
+ } else {
8246
+ $$renderer2.push("<!--[-1-->");
8247
+ if (Field) {
8248
+ $$renderer2.push("<!--[-->");
8249
+ Field($$renderer2, {
8250
+ children: ($$renderer3) => {
8251
+ if (Field_label) {
8252
+ $$renderer3.push("<!--[-->");
8253
+ Field_label($$renderer3, {
8254
+ for: inputId(),
8255
+ class: "gap-2 flex items-center",
8256
+ children: ($$renderer4) => {
8257
+ $$renderer4.push(`<!---->${escape_html(label())} `);
8258
+ if (item.description) {
8259
+ $$renderer4.push("<!--[0-->");
8260
+ if (Root) {
8261
+ $$renderer4.push("<!--[-->");
8262
+ Root($$renderer4, {
8263
+ children: ($$renderer5) => {
8264
+ if (Dialog_trigger) {
8265
+ $$renderer5.push("<!--[-->");
8266
+ Dialog_trigger($$renderer5, {
8267
+ class: "p-1 cursor-help opacity-60 transition-opacity hover:opacity-100",
8268
+ children: ($$renderer6) => {
8269
+ Circle_question_mark($$renderer6, { size: 16 });
8270
+ },
8271
+ $$slots: { default: true }
8272
+ });
8273
+ $$renderer5.push("<!--]-->");
8274
+ } else {
8275
+ $$renderer5.push("<!--[!-->");
8276
+ $$renderer5.push("<!--]-->");
8277
+ }
8278
+ $$renderer5.push(` `);
8279
+ if (Dialog_content) {
8280
+ $$renderer5.push("<!--[-->");
8281
+ Dialog_content($$renderer5, {
8282
+ class: "sm:max-w-md",
8283
+ children: ($$renderer6) => {
8284
+ if (Dialog_header) {
8285
+ $$renderer6.push("<!--[-->");
8286
+ Dialog_header($$renderer6, {
8287
+ children: ($$renderer7) => {
8288
+ if (Dialog_title) {
8289
+ $$renderer7.push("<!--[-->");
8290
+ Dialog_title($$renderer7, {
8291
+ children: ($$renderer8) => {
8292
+ $$renderer8.push(`<!---->${escape_html(label())}`);
8293
+ },
8294
+ $$slots: { default: true }
8295
+ });
8296
+ $$renderer7.push("<!--]-->");
8297
+ } else {
8298
+ $$renderer7.push("<!--[!-->");
8299
+ $$renderer7.push("<!--]-->");
8300
+ }
8301
+ $$renderer7.push(` `);
8302
+ if (Dialog_description) {
8303
+ $$renderer7.push("<!--[-->");
8304
+ Dialog_description($$renderer7, {
8305
+ children: ($$renderer8) => {
8306
+ $$renderer8.push(`<!---->${escape_html(item.description)}`);
8307
+ },
8308
+ $$slots: { default: true }
8309
+ });
8310
+ $$renderer7.push("<!--]-->");
8311
+ } else {
8312
+ $$renderer7.push("<!--[!-->");
8313
+ $$renderer7.push("<!--]-->");
8314
+ }
8315
+ },
8316
+ $$slots: { default: true }
8317
+ });
8318
+ $$renderer6.push("<!--]-->");
8319
+ } else {
8320
+ $$renderer6.push("<!--[!-->");
8321
+ $$renderer6.push("<!--]-->");
8322
+ }
8323
+ },
8324
+ $$slots: { default: true }
8325
+ });
8326
+ $$renderer5.push("<!--]-->");
8327
+ } else {
8328
+ $$renderer5.push("<!--[!-->");
8329
+ $$renderer5.push("<!--]-->");
8330
+ }
8331
+ },
8332
+ $$slots: { default: true }
8333
+ });
8334
+ $$renderer4.push("<!--]-->");
8335
+ } else {
8336
+ $$renderer4.push("<!--[!-->");
8337
+ $$renderer4.push("<!--]-->");
8338
+ }
8339
+ } else {
8340
+ $$renderer4.push("<!--[-1-->");
8341
+ }
8342
+ $$renderer4.push(`<!--]--> `);
8343
+ if (showRangeInLabel()) {
8344
+ $$renderer4.push("<!--[0-->");
8345
+ $$renderer4.push(`<span class="text-xs font-normal text-muted-foreground">${escape_html(numberRangeHint())}</span>`);
8346
+ } else {
8347
+ $$renderer4.push("<!--[-1-->");
8348
+ }
8349
+ $$renderer4.push(`<!--]-->`);
8350
+ },
8351
+ $$slots: { default: true }
8352
+ });
8353
+ $$renderer3.push("<!--]-->");
8354
+ } else {
8355
+ $$renderer3.push("<!--[!-->");
8356
+ $$renderer3.push("<!--]-->");
8357
+ }
8358
+ $$renderer3.push(` `);
8359
+ if (isNumberWidget(item)) {
8345
8360
  $$renderer3.push("<!--[0-->");
8346
- ChecklistInput($$renderer3, {
8361
+ const config = item.config;
8362
+ NumberInput($$renderer3, {
8347
8363
  inputId: inputId(),
8348
- value: Array.isArray(value) ? value : typeof value === "string" && value ? [value] : [],
8364
+ value: typeof value === "number" ? value : void 0,
8349
8365
  config,
8350
8366
  onChange: commit,
8351
8367
  disabled
8352
8368
  });
8353
- } else {
8354
- $$renderer3.push("<!--[-1-->");
8355
- DropdownInput($$renderer3, {
8369
+ } else if (isCheckboxWidget(item)) {
8370
+ $$renderer3.push("<!--[1-->");
8371
+ CheckboxInput($$renderer3, {
8372
+ inputId: inputId(),
8373
+ value: typeof value === "boolean" ? value : void 0,
8374
+ onChange: commit,
8375
+ disabled
8376
+ });
8377
+ } else if (isTextWidget(item)) {
8378
+ $$renderer3.push("<!--[2-->");
8379
+ const config = item.config;
8380
+ TextInput($$renderer3, {
8381
+ inputId: inputId(),
8356
8382
  value: typeof value === "string" ? value : "",
8357
8383
  config,
8358
8384
  onChange: commit,
8359
8385
  disabled
8360
8386
  });
8387
+ } else if (isDropdownWidget(item)) {
8388
+ $$renderer3.push("<!--[3-->");
8389
+ const config = item.config;
8390
+ if (config.displayAs === "checklist") {
8391
+ $$renderer3.push("<!--[0-->");
8392
+ ChecklistInput($$renderer3, {
8393
+ inputId: inputId(),
8394
+ value: Array.isArray(value) ? value : typeof value === "string" && value ? [value] : [],
8395
+ config,
8396
+ onChange: commit,
8397
+ disabled
8398
+ });
8399
+ } else {
8400
+ $$renderer3.push("<!--[-1-->");
8401
+ DropdownInput($$renderer3, {
8402
+ value: typeof value === "string" ? value : "",
8403
+ config,
8404
+ onChange: commit,
8405
+ disabled
8406
+ });
8407
+ }
8408
+ $$renderer3.push(`<!--]-->`);
8409
+ } else if (isFileWidget(item)) {
8410
+ $$renderer3.push("<!--[4-->");
8411
+ const config = item.config;
8412
+ FileInput($$renderer3, {
8413
+ value: typeof value === "string" ? value : "",
8414
+ acceptedFormats: config?.acceptedFormats ?? [],
8415
+ onChange: (newValue) => commit(newValue),
8416
+ defaultInputMode: config?.defaultInputMode,
8417
+ allowedInputModes: config?.allowedInputModes
8418
+ });
8419
+ } else if (isColorWidget(item)) {
8420
+ $$renderer3.push("<!--[5-->");
8421
+ ColorInput($$renderer3, {
8422
+ value: typeof value === "string" ? value : "#000000"
8423
+ });
8424
+ } else {
8425
+ $$renderer3.push("<!--[-1-->");
8361
8426
  }
8362
8427
  $$renderer3.push(`<!--]-->`);
8363
- } else if (isFileWidget(item)) {
8364
- $$renderer3.push("<!--[4-->");
8365
- const config = item.config;
8366
- FileInput($$renderer3, {
8367
- value: typeof value === "string" ? value : "",
8368
- acceptedFormats: config?.acceptedFormats ?? [],
8369
- onChange: (newValue) => commit(newValue),
8370
- defaultInputMode: config?.defaultInputMode,
8371
- allowedInputModes: config?.allowedInputModes
8372
- });
8373
- } else if (isColorWidget(item)) {
8374
- $$renderer3.push("<!--[5-->");
8375
- ColorInput($$renderer3, {
8376
- value: typeof value === "string" ? value : "#000000"
8377
- });
8378
- } else {
8379
- $$renderer3.push("<!--[-1-->");
8380
- }
8381
- $$renderer3.push(`<!--]-->`);
8382
- },
8383
- $$slots: { default: true }
8384
- });
8385
- $$renderer2.push("<!--]-->");
8386
- } else {
8387
- $$renderer2.push("<!--[!-->");
8388
- $$renderer2.push("<!--]-->");
8428
+ },
8429
+ $$slots: { default: true }
8430
+ });
8431
+ $$renderer2.push("<!--]-->");
8432
+ } else {
8433
+ $$renderer2.push("<!--[!-->");
8434
+ $$renderer2.push("<!--]-->");
8435
+ }
8389
8436
  }
8437
+ $$renderer2.push(`<!--]-->`);
8390
8438
  bind_props($$props, { value });
8391
8439
  });
8392
8440
  }
@@ -8425,85 +8473,10 @@ function ChartOutput($$renderer, $$props) {
8425
8473
  $$renderer2.push(`<!--]--></div>`);
8426
8474
  });
8427
8475
  }
8428
- const MIME_BY_EXT = {
8429
- ".png": "image/png",
8430
- ".jpg": "image/jpeg",
8431
- ".jpeg": "image/jpeg",
8432
- ".webp": "image/webp",
8433
- ".gif": "image/gif",
8434
- ".svg": "image/svg+xml",
8435
- ".json": "application/json",
8436
- ".txt": "text/plain",
8437
- ".csv": "text/csv",
8438
- ".xml": "application/xml",
8439
- ".pdf": "application/pdf",
8440
- ".3dm": "model/vnd.3dm",
8441
- ".obj": "model/obj",
8442
- ".stl": "model/stl"
8443
- };
8444
- function saveSingleFile(file) {
8445
- const ext = (file.fileType ?? "").toLowerCase();
8446
- const mime = MIME_BY_EXT[ext] ?? "application/octet-stream";
8447
- let blob;
8448
- if (file.isBase64Encoded) {
8449
- const binary = atob(file.data);
8450
- const bytes = new Uint8Array(binary.length);
8451
- for (let i = 0; i < binary.length; i++)
8452
- bytes[i] = binary.charCodeAt(i);
8453
- blob = new Blob([bytes], { type: mime });
8454
- } else {
8455
- blob = new Blob([file.data], { type: mime });
8456
- }
8457
- const fullName = `${file.fileName}${file.fileType ?? ""}`;
8458
- const a = document.createElement("a");
8459
- a.href = URL.createObjectURL(blob);
8460
- a.download = fullName;
8461
- a.click();
8462
- URL.revokeObjectURL(a.href);
8463
- }
8464
- async function downloadFiles(fileData, fileName = "grasshopper-output") {
8465
- try {
8466
- const filesArray = Array.isArray(fileData) ? fileData : [fileData];
8467
- if (filesArray.length === 0) {
8468
- console.warn("[FileDownload] No files to download");
8469
- return;
8470
- }
8471
- if (filesArray.length === 1) {
8472
- saveSingleFile(filesArray[0]);
8473
- return;
8474
- }
8475
- await downloadFileData(filesArray, fileName);
8476
- } catch (error) {
8477
- console.error("[FileDownload] Error downloading files:", error);
8478
- throw error;
8479
- }
8480
- }
8481
- function formatFileSize(bytes) {
8482
- if (bytes === 0)
8483
- return "0 Bytes";
8484
- const k = APP_DEFAULTS.FILE_SIZE.BYTES_PER_KB;
8485
- const sizes = ["Bytes", "KB", "MB", "GB"];
8486
- const i = Math.floor(Math.log(bytes) / Math.log(k));
8487
- return Math.round(bytes / Math.pow(k, i) * 100) / 100 + " " + sizes[i];
8488
- }
8489
- function getBase64FileSize(base64) {
8490
- return Math.ceil(base64.length * 3 / 4);
8491
- }
8492
8476
  function ImageOutput($$renderer, $$props) {
8493
8477
  $$renderer.component(($$renderer2) => {
8494
8478
  let { item, value } = $$props;
8495
8479
  const SUPPORTED_EXTS = /* @__PURE__ */ new Set([".png", ".jpg", ".jpeg", ".webp", ".gif", ".svg"]);
8496
- const MIME_BY_EXT2 = {
8497
- ".png": "image/png",
8498
- ".jpg": "image/jpeg",
8499
- ".jpeg": "image/jpeg",
8500
- ".webp": "image/webp",
8501
- ".gif": "image/gif",
8502
- ".svg": "image/svg+xml"
8503
- };
8504
- function isFileData(x) {
8505
- return !!x && typeof x === "object" && "fileName" in x && "data" in x && "fileType" in x;
8506
- }
8507
8480
  const file = derived(() => {
8508
8481
  if (Array.isArray(value)) return value.find(isFileData) ?? null;
8509
8482
  return isFileData(value) ? value : null;
@@ -8512,7 +8485,7 @@ function ImageOutput($$renderer, $$props) {
8512
8485
  const isSupported = derived(() => SUPPORTED_EXTS.has(ext()));
8513
8486
  const dataUrl = derived(() => {
8514
8487
  if (!file() || !isSupported()) return null;
8515
- const mime = MIME_BY_EXT2[ext()] ?? "application/octet-stream";
8488
+ const mime = MIME_BY_EXT[ext()] ?? "application/octet-stream";
8516
8489
  if (file().isBase64Encoded) {
8517
8490
  return `data:${mime};base64,${file().data}`;
8518
8491
  }
@@ -8591,9 +8564,6 @@ function OutputDisplay($$renderer, $$props) {
8591
8564
  }
8592
8565
  let downloading = false;
8593
8566
  let downloadError = null;
8594
- function isFileData(data) {
8595
- return data && typeof data === "object" && "fileName" in data && "data" in data;
8596
- }
8597
8567
  const filesArray = derived(() => !value ? [] : Array.isArray(value) ? value.filter(isFileData) : isFileData(value) ? [value] : []);
8598
8568
  const fileCount = derived(() => filesArray().length);
8599
8569
  const totalSize = derived(() => filesArray().reduce((sum, f) => sum + getBase64FileSize(f.data), 0));
@@ -8971,7 +8941,7 @@ function TabContent($$renderer, $$props) {
8971
8941
  class: "h-full",
8972
8942
  orientation: "vertical",
8973
8943
  children: ($$renderer4) => {
8974
- $$renderer4.push(`<div class="p-4 tab-content-container svelte-m8oqhb">`);
8944
+ $$renderer4.push(`<div class="p-4 tab-content-container svelte-jdukda">`);
8975
8945
  if (tab.groups.length === 0) {
8976
8946
  $$renderer4.push("<!--[0-->");
8977
8947
  StateDisplay($$renderer4, {
@@ -9102,7 +9072,7 @@ function CollapsedPanelStrip($$renderer, $$props) {
9102
9072
  "backdrop-blur-sm bg-background/90 cursor-pointer"
9103
9073
  ].join(" "));
9104
9074
  const tabButtonClass = "w-8 h-8 rounded cursor-pointer flex shrink-0 items-center justify-center text-muted-foreground transition-colors hover:bg-accent hover:text-foreground";
9105
- $$renderer2.push(`<div${attr_class(clsx$1(railClass()), "svelte-lgldvj")}${attr_style(`--collapsed-w: ${stringify(collapsedWidth)}px;`)} role="button" tabindex="0"${attr("aria-label", `Expand ${stringify(side)} panel`)}><!--[-->`);
9075
+ $$renderer2.push(`<div${attr_class(clsx$1(railClass()), "svelte-17r9ylq")}${attr_style(`--collapsed-w: ${stringify(collapsedWidth)}px;`)} role="button" tabindex="0"${attr("aria-label", `Expand ${stringify(side)} panel`)}><!--[-->`);
9106
9076
  const each_array = ensure_array_like(tabs);
9107
9077
  for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
9108
9078
  let tab = each_array[$$index];
@@ -9126,15 +9096,6 @@ function CollapsedPanelStrip($$renderer, $$props) {
9126
9096
  $$renderer2.push(`<!--]--></div>`);
9127
9097
  });
9128
9098
  }
9129
- function getGroups(schema) {
9130
- if (!schema.layout)
9131
- return [];
9132
- if (schema.layout.type === "tabbed")
9133
- return schema.layout.tabs.flatMap((t) => t.groups ?? []);
9134
- if (schema.layout.type === "flat")
9135
- return schema.layout.groups ?? [];
9136
- return [];
9137
- }
9138
9099
  function createSavedState(schema, currentValues, metadata) {
9139
9100
  const parameters = [];
9140
9101
  for (const group of getGroups(schema)) {
@@ -9169,32 +9130,15 @@ function createSavedState(schema, currentValues, metadata) {
9169
9130
  parameters
9170
9131
  };
9171
9132
  }
9172
- function extractLoadableValues(savedState, currentSchema, validation) {
9173
- const errorParamIds = new Set(validation.issues.filter((i) => i.severity === "error" && !i.paramId.startsWith("__")).map((i) => i.paramId));
9174
- const values = {};
9175
- for (const paramState of savedState.parameters) {
9176
- const exists = currentSchema.inputs.some((i) => i.id === paramState.paramId);
9177
- if (!errorParamIds.has(paramState.paramId) && exists) {
9178
- values[paramState.paramId] = paramState.value;
9179
- }
9180
- }
9181
- return values;
9182
- }
9183
9133
  function exportStateAsJson(savedState) {
9184
9134
  const blob = new Blob([JSON.stringify(savedState, null, 2)], { type: "application/json" });
9185
- const url = URL.createObjectURL(blob);
9135
+ const safeName = savedState.name.replace(/[^a-z0-9]/gi, "_");
9136
+ const date = savedState.timestamp.split("T")[0].replace(/-/g, "_");
9186
9137
  const link = document.createElement("a");
9187
- link.href = url;
9188
- link.download = `${savedState.name.replace(/[^a-z0-9]/gi, "_")}_${savedState.timestamp.split("T")[0].replace(/-/g, "_")}.sps`;
9189
- link.style.display = "none";
9190
- document.body.appendChild(link);
9191
- setTimeout(() => {
9192
- link.click();
9193
- setTimeout(() => {
9194
- document.body.removeChild(link);
9195
- URL.revokeObjectURL(url);
9196
- }, APP_DEFAULTS.TIMEOUTS.PARAM_EXPORT_DELAY);
9197
- }, 0);
9138
+ link.href = URL.createObjectURL(blob);
9139
+ link.download = `${safeName}_${date}.sps`;
9140
+ link.click();
9141
+ URL.revokeObjectURL(link.href);
9198
9142
  }
9199
9143
  const DEFAULT_PRESET_LABELS = {
9200
9144
  saveButton: "Save State",
@@ -9250,8 +9194,7 @@ function ParameterPresetManager($$renderer, $$props) {
9250
9194
  let exportTags = "";
9251
9195
  let showValidationDialog = false;
9252
9196
  let showLoadDialog = false;
9253
- let importedState = null;
9254
- let validationResult = null;
9197
+ let loadResult = null;
9255
9198
  let listedStates = [];
9256
9199
  let isLoadingList = false;
9257
9200
  let listError = "";
@@ -9278,19 +9221,14 @@ function ParameterPresetManager($$renderer, $$props) {
9278
9221
  showExportDialog = false;
9279
9222
  }
9280
9223
  function confirmLoad() {
9281
- if (!importedState || !validationResult) return;
9282
- if (validationResult.canLoad) {
9283
- const values = extractLoadableValues(importedState, schema, validationResult);
9284
- onLoadValues(values);
9285
- showValidationDialog = false;
9286
- importedState = null;
9287
- validationResult = null;
9288
- }
9224
+ if (!loadResult || !loadResult.canLoad) return;
9225
+ onLoadValues(loadResult.values);
9226
+ showValidationDialog = false;
9227
+ loadResult = null;
9289
9228
  }
9290
9229
  function cancelImport() {
9291
9230
  showValidationDialog = false;
9292
- importedState = null;
9293
- validationResult = null;
9231
+ loadResult = null;
9294
9232
  }
9295
9233
  async function openLoadDialog() {
9296
9234
  showLoadDialog = true;
@@ -9730,10 +9668,7 @@ function ParameterPresetManager($$renderer, $$props) {
9730
9668
  $$renderer6.push("<!--[-->");
9731
9669
  Dialog_description($$renderer6, {
9732
9670
  children: ($$renderer7) => {
9733
- if (importedState) {
9734
- $$renderer7.push("<!--[0-->");
9735
- $$renderer7.push(`${escape_html(t().validationValidatingPrefix)}${escape_html(importedState.name)}`);
9736
- } else {
9671
+ {
9737
9672
  $$renderer7.push("<!--[-1-->");
9738
9673
  }
9739
9674
  $$renderer7.push(`<!--]-->`);
@@ -9754,10 +9689,10 @@ function ParameterPresetManager($$renderer, $$props) {
9754
9689
  $$renderer5.push("<!--]-->");
9755
9690
  }
9756
9691
  $$renderer5.push(` `);
9757
- if (validationResult) {
9692
+ if (loadResult) {
9758
9693
  $$renderer5.push("<!--[0-->");
9759
9694
  $$renderer5.push(`<div class="gap-4 py-4 grid">`);
9760
- if (validationResult.isValid) {
9695
+ if (loadResult.isValid) {
9761
9696
  $$renderer5.push("<!--[0-->");
9762
9697
  if (Card) {
9763
9698
  $$renderer5.push("<!--[-->");
@@ -9775,7 +9710,7 @@ function ParameterPresetManager($$renderer, $$props) {
9775
9710
  $$renderer5.push("<!--[!-->");
9776
9711
  $$renderer5.push("<!--]-->");
9777
9712
  }
9778
- } else if (validationResult.canLoad) {
9713
+ } else if (loadResult.canLoad) {
9779
9714
  $$renderer5.push("<!--[1-->");
9780
9715
  if (Card) {
9781
9716
  $$renderer5.push("<!--[-->");
@@ -9784,7 +9719,7 @@ function ParameterPresetManager($$renderer, $$props) {
9784
9719
  children: ($$renderer6) => {
9785
9720
  $$renderer6.push(`<div class="gap-3 flex items-start">`);
9786
9721
  Triangle_alert($$renderer6, { class: "h-5 w-5 text-warning" });
9787
- $$renderer6.push(`<!----> <div><h4 class="text-sm font-semibold text-warning-foreground">${escape_html(t().validationWarningsTitle)}</h4> <p class="text-sm mt-1 text-warning-foreground/80">${escape_html(t().validationWarningsBody.replace("{count}", String(validationResult.issues.length)))}</p></div></div>`);
9722
+ $$renderer6.push(`<!----> <div><h4 class="text-sm font-semibold text-warning-foreground">${escape_html(t().validationWarningsTitle)}</h4> <p class="text-sm mt-1 text-warning-foreground/80">${escape_html(t().validationWarningsBody.replace("{count}", String(loadResult.issues.length)))}</p></div></div>`);
9788
9723
  },
9789
9724
  $$slots: { default: true }
9790
9725
  });
@@ -9813,10 +9748,10 @@ function ParameterPresetManager($$renderer, $$props) {
9813
9748
  }
9814
9749
  }
9815
9750
  $$renderer5.push(`<!--]--> `);
9816
- if (!validationResult.isValid) {
9751
+ if (!loadResult.isValid) {
9817
9752
  $$renderer5.push("<!--[0-->");
9818
9753
  $$renderer5.push(`<div class="space-y-2"><h4 class="text-sm font-medium">${escape_html(t().validationIssuesHeading)}</h4> <!--[-->`);
9819
- const each_array_2 = ensure_array_like(validationResult.issues);
9754
+ const each_array_2 = ensure_array_like(loadResult.issues);
9820
9755
  for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {
9821
9756
  let issue = each_array_2[$$index_2];
9822
9757
  $$renderer5.push(`<div${attr_class(`p-3 rounded-lg border ${stringify(issue.severity === "error" ? "border-destructive/30 bg-destructive/5" : "border-warning/30 bg-warning/5")}`)}><div class="gap-2 flex items-start">`);
@@ -9856,7 +9791,7 @@ function ParameterPresetManager($$renderer, $$props) {
9856
9791
  $$slots: { default: true }
9857
9792
  });
9858
9793
  $$renderer6.push(`<!----> `);
9859
- if (validationResult?.canLoad) {
9794
+ if (loadResult?.canLoad) {
9860
9795
  $$renderer6.push("<!--[0-->");
9861
9796
  Button($$renderer6, {
9862
9797
  onclick: confirmLoad,
@@ -9915,7 +9850,7 @@ function AppLayout($$renderer, $$props) {
9915
9850
  isViewerFullscreen = false,
9916
9851
  oncalculate = () => {
9917
9852
  },
9918
- values = {},
9853
+ values,
9919
9854
  onValueChange,
9920
9855
  onLoadValues,
9921
9856
  panelActions = [],
@@ -9946,7 +9881,7 @@ function AppLayout($$renderer, $$props) {
9946
9881
  await onLoadValues?.();
9947
9882
  }
9948
9883
  function panelContent($$renderer3, panelFilter, requestedTabId, showParameterStateManager = true, showCalculateButton = true) {
9949
- $$renderer3.push(`<div class="panel-content-wrapper svelte-1x5dn9j">`);
9884
+ $$renderer3.push(`<div class="panel-content-wrapper svelte-1txzu1i">`);
9950
9885
  if (schema.layout.type === "tabbed") {
9951
9886
  $$renderer3.push("<!--[0-->");
9952
9887
  TabLayout($$renderer3, {
@@ -9968,7 +9903,7 @@ function AppLayout($$renderer, $$props) {
9968
9903
  $$renderer3.push(`<!--]--> `);
9969
9904
  if (showParameterStateManager || showCalculateButton && schema.instanceSolve === false) {
9970
9905
  $$renderer3.push("<!--[0-->");
9971
- $$renderer3.push(`<div class="panel-footer px-3 svelte-1x5dn9j"><div class="gap-2 flex flex-wrap items-center justify-center">`);
9906
+ $$renderer3.push(`<div class="panel-footer px-3 svelte-1txzu1i"><div class="gap-2 flex flex-wrap items-center justify-center">`);
9972
9907
  if (showParameterStateManager) {
9973
9908
  $$renderer3.push("<!--[0-->");
9974
9909
  ParameterPresetManager($$renderer3, {
@@ -10028,7 +9963,7 @@ function AppLayout($$renderer, $$props) {
10028
9963
  let $$settled = true;
10029
9964
  let $$inner_renderer;
10030
9965
  function $$render_inner($$renderer3) {
10031
- $$renderer3.push(`<div data-layout-root=""${attr_class(`min-h-0 sm:flex-row sm:py-(--page-py) flex flex-1 flex-col overflow-hidden ${stringify(leftCollapsed ? "sm:pl-0" : "sm:pl-(--page-px)")} ${stringify(rightCollapsed ? "sm:pr-0" : "sm:pr-(--page-px)")}`, "svelte-1x5dn9j", {
9966
+ $$renderer3.push(`<div data-layout-root=""${attr_class(`min-h-0 sm:flex-row sm:py-(--page-py) flex flex-1 flex-col overflow-hidden ${stringify(leftCollapsed ? "sm:pl-0" : "sm:pl-(--page-px)")} ${stringify(rightCollapsed ? "sm:pr-0" : "sm:pr-(--page-px)")}`, "svelte-1txzu1i", {
10032
9967
  "fullscreen-layout": isViewerFullscreen,
10033
9968
  "relative": isMobile
10034
9969
  })}>`);
@@ -10220,22 +10155,42 @@ function AppLayout($$renderer, $$props) {
10220
10155
  $$render_inner($$inner_renderer);
10221
10156
  } while (!$$settled);
10222
10157
  $$renderer2.subsume($$inner_renderer);
10223
- bind_props($$props, { isViewerFullscreen, values });
10158
+ bind_props($$props, { isViewerFullscreen });
10224
10159
  });
10225
10160
  }
10226
- function getDefaultValue(paramType) {
10227
- switch (paramType) {
10228
- case "number":
10229
- case "integer":
10230
- return 0;
10231
- case "boolean":
10232
- return false;
10233
- case "text":
10234
- return "";
10235
- default:
10236
- return null;
10161
+ function createSolvingIndicator(isSolving) {
10162
+ let show = false;
10163
+ return {
10164
+ get show() {
10165
+ return show;
10166
+ }
10167
+ };
10168
+ }
10169
+ const STORAGE_PREFIX = "external";
10170
+ function makeKey(scopeKey, inputId) {
10171
+ return `${STORAGE_PREFIX}:${scopeKey}:${inputId}`;
10172
+ }
10173
+ function readExternalValue(ref) {
10174
+ const { scopeKey, inputId } = ref;
10175
+ if (!scopeKey || !inputId)
10176
+ return void 0;
10177
+ if (typeof sessionStorage === "undefined")
10178
+ return void 0;
10179
+ const raw = sessionStorage.getItem(makeKey(scopeKey, inputId));
10180
+ if (raw === null)
10181
+ return void 0;
10182
+ try {
10183
+ return JSON.parse(raw);
10184
+ } catch {
10185
+ return void 0;
10237
10186
  }
10238
10187
  }
10188
+ function getExternalInputs(schema) {
10189
+ return getInputItems(schema).filter((item) => item.source?.kind === "client").map((item) => ({
10190
+ paramId: item.paramId,
10191
+ displayName: item.displayName ?? item.paramId
10192
+ }));
10193
+ }
10239
10194
  const DEFAULT_TIMEOUT_MS = 6e4;
10240
10195
  function createComputeThrottle(computeFn, options = {}) {
10241
10196
  const { timeout = DEFAULT_TIMEOUT_MS } = options;
@@ -10255,8 +10210,8 @@ function createComputeThrottle(computeFn, options = {}) {
10255
10210
  try {
10256
10211
  await computeFn(values, signal);
10257
10212
  } catch (err) {
10258
- if (!(err instanceof Error && err.name === "AbortError")) {
10259
- throw err;
10213
+ if (!(err instanceof Error) || err.name !== "AbortError" && err.name !== "TimeoutError") {
10214
+ console.error("[computeThrottle] unhandled error in computeFn:", err);
10260
10215
  }
10261
10216
  } finally {
10262
10217
  clearTimeout(timeoutId);
@@ -10291,19 +10246,170 @@ function createComputeThrottle(computeFn, options = {}) {
10291
10246
  cancel
10292
10247
  };
10293
10248
  }
10294
- function createSolvingIndicator(isSolving) {
10295
- let show = false;
10249
+ function getDefaultValue(paramType) {
10250
+ switch (paramType) {
10251
+ case "number":
10252
+ case "integer":
10253
+ return 0;
10254
+ case "boolean":
10255
+ return false;
10256
+ case "text":
10257
+ return "";
10258
+ default:
10259
+ return null;
10260
+ }
10261
+ }
10262
+ function buildInitialValues(schema, scopeKey, read) {
10263
+ const clientSet = new Set(getExternalInputs(schema).map((e) => e.paramId));
10264
+ const values = {};
10265
+ for (const input of schema.inputs) {
10266
+ if (clientSet.has(input.id)) {
10267
+ const stored = read({ scopeKey, inputId: input.id });
10268
+ if (stored !== void 0)
10269
+ values[input.id] = stored;
10270
+ continue;
10271
+ }
10272
+ values[input.id] = input.default ?? getDefaultValue(input.paramType);
10273
+ }
10274
+ for (const output of schema.outputs) {
10275
+ values[output.id] = null;
10276
+ }
10277
+ return values;
10278
+ }
10279
+ function makeInitialFlags(instanceSolve) {
10280
+ const manual = instanceSolve === false;
10281
+ return { hasPendingChanges: manual, hasNeverSolved: manual };
10282
+ }
10283
+ function applyValueChange(state, id, value, instanceSolve) {
10284
+ state.values[id] = value;
10285
+ if (instanceSolve === false) {
10286
+ state.pendingValues[id] = value;
10287
+ state.hasPendingChanges = true;
10288
+ return { state, shouldSolve: false };
10289
+ }
10290
+ return { state, shouldSolve: true };
10291
+ }
10292
+ function applySolveResult(state, result) {
10293
+ state.error = "";
10294
+ state.computeErrors = result.errors ?? [];
10295
+ state.computeWarnings = result.warnings ?? [];
10296
+ state.meshes = result.meshes ?? [];
10297
+ Object.assign(state.values, result.outputs);
10298
+ state.pendingValues = {};
10299
+ state.hasPendingChanges = false;
10300
+ state.hasNeverSolved = false;
10301
+ return state;
10302
+ }
10303
+ function createSolveSession(args) {
10304
+ let currentSchema = args.schema;
10305
+ const flags = makeInitialFlags(currentSchema?.instanceSolve);
10306
+ const state = {
10307
+ values: buildInitialValues(currentSchema, args.scopeKey, readExternalValue),
10308
+ error: "",
10309
+ computeErrors: [],
10310
+ computeWarnings: [],
10311
+ meshes: [],
10312
+ pendingValues: {},
10313
+ hasPendingChanges: flags.hasPendingChanges,
10314
+ hasNeverSolved: flags.hasNeverSolved
10315
+ };
10316
+ function dispatch() {
10317
+ args.driver.solve(snapshot(state.values));
10318
+ }
10296
10319
  return {
10297
- get show() {
10298
- return show;
10320
+ get values() {
10321
+ return state.values;
10322
+ },
10323
+ get error() {
10324
+ return state.error;
10325
+ },
10326
+ get computeErrors() {
10327
+ return state.computeErrors;
10328
+ },
10329
+ get computeWarnings() {
10330
+ return state.computeWarnings;
10331
+ },
10332
+ get meshes() {
10333
+ return state.meshes;
10334
+ },
10335
+ get hasPendingChanges() {
10336
+ return state.hasPendingChanges;
10337
+ },
10338
+ get hasNeverSolved() {
10339
+ return state.hasNeverSolved;
10340
+ },
10341
+ get isSolving() {
10342
+ return args.driver.isSolving;
10343
+ },
10344
+ setValue(id, value) {
10345
+ const { shouldSolve } = applyValueChange(state, id, value, currentSchema?.instanceSolve);
10346
+ if (shouldSolve) dispatch();
10347
+ },
10348
+ solve() {
10349
+ dispatch();
10350
+ },
10351
+ loadValues(incoming) {
10352
+ Object.assign(state.values, incoming);
10353
+ if (currentSchema?.instanceSolve !== false) {
10354
+ dispatch();
10355
+ } else {
10356
+ state.hasPendingChanges = true;
10357
+ }
10358
+ },
10359
+ rebuild(schema, scopeKey) {
10360
+ currentSchema = schema;
10361
+ state.meshes = [];
10362
+ state.error = "";
10363
+ state.computeErrors = [];
10364
+ state.computeWarnings = [];
10365
+ state.pendingValues = {};
10366
+ state.values = buildInitialValues(schema, scopeKey, readExternalValue);
10367
+ const f = makeInitialFlags(schema?.instanceSolve);
10368
+ state.hasPendingChanges = f.hasPendingChanges;
10369
+ state.hasNeverSolved = f.hasNeverSolved;
10370
+ if (schema && Object.keys(state.values).length > 0 && schema.instanceSolve !== false) {
10371
+ dispatch();
10372
+ }
10373
+ },
10374
+ report(result) {
10375
+ applySolveResult(state, result);
10376
+ },
10377
+ reportError(message) {
10378
+ state.error = message;
10299
10379
  }
10300
10380
  };
10301
10381
  }
10302
- function useFooterItem(id, component, getProps, position = "left", priority = 0, onClick) {
10382
+ function createRequestResponseDriver(onSolve, getReporter, options = {}) {
10383
+ const throttle = createComputeThrottle(
10384
+ async (values, signal) => {
10385
+ try {
10386
+ const result = await onSolve(values, signal);
10387
+ if (signal.aborted) return;
10388
+ getReporter().report(result);
10389
+ } catch (err) {
10390
+ if (signal.aborted) return;
10391
+ getReporter().reportError(err instanceof Error ? err.message : String(err));
10392
+ }
10393
+ },
10394
+ options
10395
+ );
10396
+ return {
10397
+ solve(values) {
10398
+ throttle.trigger(values);
10399
+ },
10400
+ cancel() {
10401
+ throttle.cancel();
10402
+ },
10403
+ get isSolving() {
10404
+ return throttle.isComputing;
10405
+ }
10406
+ };
10407
+ }
10408
+ function useFooterItem(config) {
10303
10409
  onDestroy(() => {
10304
10410
  try {
10305
10411
  const store = getContext(FOOTER_CONTEXT_KEY);
10306
- store?.unregister(id);
10412
+ store?.unregister(config.id);
10307
10413
  } catch {
10308
10414
  }
10309
10415
  });
@@ -10337,48 +10443,6 @@ const hexToOklch = (hex) => {
10337
10443
  H += 360;
10338
10444
  return `oklch(${L.toFixed(3)} ${C.toFixed(3)} ${H.toFixed(1)})`;
10339
10445
  };
10340
- const STORAGE_PREFIX = "external";
10341
- function makeKey(scopeKey, inputId) {
10342
- return `${STORAGE_PREFIX}:${scopeKey}:${inputId}`;
10343
- }
10344
- function readExternalValue(ref) {
10345
- const { scopeKey, inputId } = ref;
10346
- if (!scopeKey || !inputId)
10347
- return void 0;
10348
- if (typeof sessionStorage === "undefined")
10349
- return void 0;
10350
- const raw = sessionStorage.getItem(makeKey(scopeKey, inputId));
10351
- if (raw === null)
10352
- return void 0;
10353
- try {
10354
- return JSON.parse(raw);
10355
- } catch {
10356
- return void 0;
10357
- }
10358
- }
10359
- function* walkLayoutItems(schema) {
10360
- const groups = schema.layout.type === "tabbed" ? schema.layout.tabs.flatMap((t) => t.groups) : schema.layout.groups;
10361
- for (const group of groups) {
10362
- for (const item of group.items) {
10363
- yield item;
10364
- }
10365
- }
10366
- }
10367
- function getExternalInputs(schema) {
10368
- const result = [];
10369
- for (const item of walkLayoutItems(schema)) {
10370
- if (item.type !== "input")
10371
- continue;
10372
- const source = item.source;
10373
- if (source?.kind !== "client")
10374
- continue;
10375
- result.push({
10376
- paramId: item.paramId,
10377
- displayName: item.displayName ?? item.paramId
10378
- });
10379
- }
10380
- return result;
10381
- }
10382
10446
  function ComputeApp($$renderer, $$props) {
10383
10447
  $$renderer.component(($$renderer2) => {
10384
10448
  let {
@@ -10405,74 +10469,31 @@ function ComputeApp($$renderer, $$props) {
10405
10469
  headerRight,
10406
10470
  header,
10407
10471
  onReady,
10408
- externalScopeKey
10472
+ externalScopeKey,
10473
+ clientSlot
10409
10474
  } = $$props;
10410
- function createInitialValues(s, scopeKey) {
10411
- const externalSet = new Set(getExternalInputs(s).map((e) => e.paramId));
10412
- const v = {};
10413
- for (const input of s.inputs) {
10414
- if (externalSet.has(input.id)) {
10415
- const stored = readExternalValue({ scopeKey, inputId: input.id });
10416
- if (stored !== void 0) v[input.id] = stored;
10417
- continue;
10418
- }
10419
- v[input.id] = input.default ?? getDefaultValue(input.paramType);
10420
- }
10421
- for (const output of s.outputs) {
10422
- v[output.id] = null;
10423
- }
10424
- return v;
10425
- }
10426
- let values = createInitialValues(schema, externalScopeKey || definitionKey || schema?.id || "");
10427
- let error = "";
10428
- let computeErrors = [];
10429
- let computeWarnings = [];
10430
- let meshes = [];
10431
- let pendingValues = {};
10432
- let hasPendingChanges = schema?.instanceSolve === false;
10433
- let hasNeverSolved = schema?.instanceSolve === false;
10475
+ setClientSlot(clientSlot);
10476
+ const driver = createRequestResponseDriver(onSolve, () => session, { timeout: solveTimeoutMs });
10477
+ const session = createSolveSession({
10478
+ schema,
10479
+ scopeKey: externalScopeKey || definitionKey || schema?.id || "",
10480
+ driver
10481
+ });
10434
10482
  let isViewerFullscreen = false;
10435
- async function performSolveInternal(solveValues, signal) {
10436
- try {
10437
- error = "";
10438
- computeErrors = [];
10439
- computeWarnings = [];
10440
- const result = await onSolve(solveValues, signal);
10441
- if (signal.aborted) return;
10442
- computeErrors = result.errors ?? [];
10443
- computeWarnings = result.warnings ?? [];
10444
- meshes = result.meshes ?? [];
10445
- Object.assign(values, result.outputs);
10446
- pendingValues = {};
10447
- hasPendingChanges = false;
10448
- hasNeverSolved = false;
10449
- } catch (err) {
10450
- if (err instanceof Error && err.name === "AbortError") return;
10451
- error = err instanceof Error ? err.message : String(err);
10452
- }
10453
- }
10454
- const computeThrottle = createComputeThrottle(performSolveInternal, { timeout: solveTimeoutMs });
10455
- let solving = derived(() => computeThrottle.isComputing);
10456
10483
  const solvingIndicator = createSolvingIndicator();
10457
- function performSolve() {
10458
- computeThrottle.trigger(snapshot(values));
10459
- }
10460
- async function handleValueChange(id, val) {
10461
- values[id] = val;
10462
- if (schema?.instanceSolve === false) {
10463
- pendingValues[id] = val;
10464
- hasPendingChanges = true;
10465
- return;
10466
- }
10467
- performSolve();
10484
+ function handleValueChange(id, val) {
10485
+ session.setValue(id, val);
10468
10486
  }
10469
10487
  function handleCalculate() {
10470
- performSolve();
10471
- }
10472
- const _footerItemId = run(() => footerItemId);
10473
- const _footerComponent = run(() => footerComponent);
10474
- const _footerItemPriority = run(() => footerItemPriority);
10475
- useFooterItem(_footerItemId, _footerComponent, () => _footerComponent ? footerComponentProps?.() ?? {} : {}, "left", _footerItemPriority);
10488
+ session.solve();
10489
+ }
10490
+ useFooterItem({
10491
+ id: run(() => footerItemId),
10492
+ component: run(() => footerComponent),
10493
+ getProps: () => footerComponentProps?.() ?? {},
10494
+ position: "left",
10495
+ priority: run(() => footerItemPriority)
10496
+ });
10476
10497
  let resolvedIsEmbedded = derived(() => isEmbedded ?? page.url.searchParams.get("embed") === "true");
10477
10498
  let resolvedPrimaryColor = derived(() => primaryColor ?? page.url.searchParams.get("primary"));
10478
10499
  let customStyle = derived(() => resolvedPrimaryColor() ? `--primary: ${hexToOklch(resolvedPrimaryColor())}` : "");
@@ -10491,13 +10512,13 @@ function ComputeApp($$renderer, $$props) {
10491
10512
  footerText,
10492
10513
  header,
10493
10514
  rightContent: headerRight,
10494
- errors: computeErrors,
10495
- warnings: computeWarnings,
10515
+ errors: session.computeErrors,
10516
+ warnings: session.computeWarnings,
10496
10517
  children: ($$renderer4) => {
10497
- if (error) {
10518
+ if (session.error) {
10498
10519
  $$renderer4.push("<!--[0-->");
10499
10520
  $$renderer4.push(`<div class="min-h-100 p-8 flex items-center justify-center">`);
10500
- StateDisplay($$renderer4, { type: "error", size: "medium", message: error });
10521
+ StateDisplay($$renderer4, { type: "error", size: "medium", message: session.error });
10501
10522
  $$renderer4.push(`<!----></div>`);
10502
10523
  } else if (!schema) {
10503
10524
  $$renderer4.push("<!--[1-->");
@@ -10510,11 +10531,12 @@ function ComputeApp($$renderer, $$props) {
10510
10531
  {
10511
10532
  AppLayout($$renderer4, {
10512
10533
  schema,
10513
- meshes,
10514
- isSolving: solving(),
10534
+ meshes: session.meshes,
10535
+ isSolving: session.isSolving,
10515
10536
  showSolvingIndicator: schema.instanceSolve !== false && solvingIndicator.show,
10516
- hasPendingChanges,
10517
- hasNeverSolved,
10537
+ hasPendingChanges: session.hasPendingChanges,
10538
+ hasNeverSolved: session.hasNeverSolved,
10539
+ values: session.values,
10518
10540
  panelActions,
10519
10541
  showSaveButton,
10520
10542
  showLoadButton,
@@ -10523,26 +10545,13 @@ function ComputeApp($$renderer, $$props) {
10523
10545
  presetLabels,
10524
10546
  onValueChange: handleValueChange,
10525
10547
  oncalculate: handleCalculate,
10526
- onLoadValues: () => {
10527
- if (schema?.instanceSolve !== false) {
10528
- performSolve();
10529
- } else {
10530
- hasPendingChanges = true;
10531
- }
10532
- },
10548
+ onLoadValues: () => session.loadValues({}),
10533
10549
  get isViewerFullscreen() {
10534
10550
  return isViewerFullscreen;
10535
10551
  },
10536
10552
  set isViewerFullscreen($$value) {
10537
10553
  isViewerFullscreen = $$value;
10538
10554
  $$settled = false;
10539
- },
10540
- get values() {
10541
- return values;
10542
- },
10543
- set values($$value) {
10544
- values = $$value;
10545
- $$settled = false;
10546
10555
  }
10547
10556
  });
10548
10557
  }
@@ -10651,4 +10660,4 @@ function _page($$renderer, $$props) {
10651
10660
  }
10652
10661
 
10653
10662
  export { _page as default };
10654
- //# sourceMappingURL=_page.svelte-DJnICJdZ.js.map
10663
+ //# sourceMappingURL=_page.svelte-Dp_jpQFu.js.map