fundus 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +67 -2
  2. package/build/client/_app/immutable/assets/2.DLP0pEak.css +1 -0
  3. package/build/client/_app/immutable/assets/2.DLP0pEak.css.br +0 -0
  4. package/build/client/_app/immutable/assets/2.DLP0pEak.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/{3.ChSpCG-T.css → 3.CmXD8k9d.css} +1 -1
  6. package/build/client/_app/immutable/assets/3.CmXD8k9d.css.br +0 -0
  7. package/build/client/_app/immutable/assets/3.CmXD8k9d.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/B1UabfW7.js +1 -0
  9. package/build/client/_app/immutable/chunks/B1UabfW7.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/B1UabfW7.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/BmCZn5E-.js +108 -0
  12. package/build/client/_app/immutable/chunks/BmCZn5E-.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BmCZn5E-.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{BPJdVAz5.js → BoEHtxM8.js} +1 -1
  15. package/build/client/_app/immutable/chunks/BoEHtxM8.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BoEHtxM8.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/C-T1_s5P.js +1 -0
  18. package/build/client/_app/immutable/chunks/C-T1_s5P.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/C-T1_s5P.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{CLcR3DTB.js → CN-G-m-B.js} +1 -1
  21. package/build/client/_app/immutable/chunks/CN-G-m-B.js.br +4 -0
  22. package/build/client/_app/immutable/chunks/CN-G-m-B.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/D5sQSsUv.js +1 -0
  24. package/build/client/_app/immutable/chunks/D5sQSsUv.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/D5sQSsUv.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/D6VoU_x4.js +1 -0
  27. package/build/client/_app/immutable/chunks/D6VoU_x4.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/D6VoU_x4.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/{app.xrZU0FIS.js → app.fVDDVV_y.js} +2 -2
  30. package/build/client/_app/immutable/entry/app.fVDDVV_y.js.br +0 -0
  31. package/build/client/_app/immutable/entry/app.fVDDVV_y.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/start.BiWgLLju.js +1 -0
  33. package/build/client/_app/immutable/entry/start.BiWgLLju.js.br +1 -0
  34. package/build/client/_app/immutable/entry/start.BiWgLLju.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js +2 -0
  36. package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.0KLmHZC4.js → 1.DEw3d5yL.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.DEw3d5yL.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/1.DEw3d5yL.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/2.DnVTXPVk.js +3 -0
  42. package/build/client/_app/immutable/nodes/2.DnVTXPVk.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/2.DnVTXPVk.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/3.1Hco6zU7.js +1 -0
  45. package/build/client/_app/immutable/nodes/3.1Hco6zU7.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/3.1Hco6zU7.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{4.CsuRmAsC.js → 4.CKbcoBw2.js} +2 -2
  48. package/build/client/_app/immutable/nodes/4.CKbcoBw2.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.CKbcoBw2.js.gz +0 -0
  50. package/build/client/_app/version.json +1 -1
  51. package/build/client/_app/version.json.br +0 -0
  52. package/build/client/_app/version.json.gz +0 -0
  53. package/build/handler.js +7 -7
  54. package/build/index.js +7 -7
  55. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js +48 -0
  56. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js.map +1 -0
  57. package/build/server/chunks/chunks/{context.js-B77ZAVLi.js → context.js-bXe5hzjI.js} +573 -25
  58. package/build/server/chunks/chunks/context.js-bXe5hzjI.js.map +1 -0
  59. package/build/server/chunks/chunks/{library-store.js-DJ-JRE-g.js → contract.js-sHny3b-s.js} +133 -359
  60. package/build/server/chunks/chunks/contract.js-sHny3b-s.js.map +1 -0
  61. package/build/server/chunks/chunks/{core.js-EA_ysb1J.js → core.js-Clg1CHb6.js} +2 -48
  62. package/build/server/chunks/chunks/core.js-Clg1CHb6.js.map +1 -0
  63. package/build/server/chunks/chunks/{exports.js-ScnpVC8o.js → exports.js-FRj9eAnR.js} +2 -2
  64. package/build/server/chunks/chunks/{exports.js-ScnpVC8o.js.map → exports.js-FRj9eAnR.js.map} +1 -1
  65. package/build/server/chunks/chunks/{http.js-DyoR9XRI.js → http.js--6sDZFfm.js} +35 -3
  66. package/build/server/chunks/chunks/http.js--6sDZFfm.js.map +1 -0
  67. package/build/server/chunks/chunks/{internal.js-D_k3d8Qh.js → internal.js-D2Tk-vi1.js} +3 -3
  68. package/build/server/chunks/chunks/{internal.js-D_k3d8Qh.js.map → internal.js-D2Tk-vi1.js.map} +1 -1
  69. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
  70. package/build/server/chunks/chunks/raw-reconciliation.js-DOFtjkgu.js +343 -0
  71. package/build/server/chunks/chunks/raw-reconciliation.js-DOFtjkgu.js.map +1 -0
  72. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js +11 -0
  73. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js.map +1 -0
  74. package/build/server/chunks/chunks/{shared.js-MLULcRRJ.js → shared.js-hvokB2mY.js} +2 -2
  75. package/build/server/chunks/chunks/{shared.js-MLULcRRJ.js.map → shared.js-hvokB2mY.js.map} +1 -1
  76. package/build/server/chunks/chunks/{utils.js-D64X9Sx8.js → utils.js-VGlYdWt0.js} +3 -3
  77. package/build/server/chunks/chunks/{utils.js-D64X9Sx8.js.map → utils.js-VGlYdWt0.js.map} +1 -1
  78. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-H4Pq1KAE.js → _server.ts.js-CkSErIdC.js} +7 -5
  79. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-H4Pq1KAE.js.map → _server.ts.js-CkSErIdC.js.map} +1 -1
  80. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-BI3KHSfE.js → _server.ts.js-Csnt5ISN.js} +11 -6
  81. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-BI3KHSfE.js.map → _server.ts.js-Csnt5ISN.js.map} +1 -1
  82. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BlNYUbXX.js → _server.ts.js-BVEQaFEu.js} +11 -6
  83. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BlNYUbXX.js.map → _server.ts.js-BVEQaFEu.js.map} +1 -1
  84. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/_server.ts.js-DIaT5h8R.js +31 -0
  85. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/_server.ts.js-DIaT5h8R.js.map +1 -0
  86. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-j-_N540j.js → _server.ts.js-CgCr-jFC.js} +11 -6
  87. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-j-_N540j.js.map → _server.ts.js-CgCr-jFC.js.map} +1 -1
  88. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BHKobzAg.js → _server.ts.js-BCvv4wq4.js} +11 -6
  89. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BHKobzAg.js.map → _server.ts.js-BCvv4wq4.js.map} +1 -1
  90. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BFKjIOCv.js → _server.ts.js-GbxbM9uI.js} +11 -6
  91. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BFKjIOCv.js.map → _server.ts.js-GbxbM9uI.js.map} +1 -1
  92. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BxZeVw8y.js → _server.ts.js-BGjOvpRm.js} +11 -6
  93. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BxZeVw8y.js.map → _server.ts.js-BGjOvpRm.js.map} +1 -1
  94. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CO36U_CT.js → _server.ts.js-CJuzJXPs.js} +11 -6
  95. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CO36U_CT.js.map → _server.ts.js-CJuzJXPs.js.map} +1 -1
  96. package/build/server/chunks/entries/endpoints/api/imports/_server.ts.js-BYp42p6V.js +37 -0
  97. package/build/server/chunks/entries/endpoints/api/imports/_server.ts.js-BYp42p6V.js.map +1 -0
  98. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-CBlg1Bkl.js → _server.ts.js-l_tkhnQ-.js} +11 -6
  99. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-CBlg1Bkl.js.map → _server.ts.js-l_tkhnQ-.js.map} +1 -1
  100. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-DcGLCjIs.js → _server.ts.js-B-VXO3Xr.js} +11 -6
  101. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-DcGLCjIs.js.map → _server.ts.js-B-VXO3Xr.js.map} +1 -1
  102. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-AqhtjOiL.js → _server.ts.js-DV7s20GV.js} +11 -6
  103. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-AqhtjOiL.js.map → _server.ts.js-DV7s20GV.js.map} +1 -1
  104. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CSa6-DcU.js → _server.ts.js-CYgOpWYC.js} +11 -6
  105. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CSa6-DcU.js.map → _server.ts.js-CYgOpWYC.js.map} +1 -1
  106. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DnzZUoAo.js → _server.ts.js-7loll6HR.js} +11 -6
  107. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DnzZUoAo.js.map → _server.ts.js-7loll6HR.js.map} +1 -1
  108. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-B0KMprKq.js → _server.ts.js-CdxeTMZj.js} +11 -6
  109. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-B0KMprKq.js.map → _server.ts.js-CdxeTMZj.js.map} +1 -1
  110. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-Dhj5O9Lv.js → _server.ts.js-CZWIskM4.js} +11 -6
  111. package/build/server/chunks/entries/endpoints/api/reveal/_server.ts.js-CZWIskM4.js.map +1 -0
  112. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-B1N9o1Ne.js → _server.ts.js-CZFfpJkl.js} +11 -6
  113. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-B1N9o1Ne.js.map → _server.ts.js-CZFfpJkl.js.map} +1 -1
  114. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-B6HbnRqq.js → _server.ts.js-DB3i4juR.js} +7 -5
  115. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-B6HbnRqq.js.map → _server.ts.js-DB3i4juR.js.map} +1 -1
  116. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-7wzPyG9v.js → _server.ts.js-BqarqenW.js} +11 -6
  117. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-7wzPyG9v.js.map → _server.ts.js-BqarqenW.js.map} +1 -1
  118. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-BWztxYge.js → _server.ts.js-CXbrUCmh.js} +11 -6
  119. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-BWztxYge.js.map → _server.ts.js-CXbrUCmh.js.map} +1 -1
  120. package/build/server/chunks/entries/{hooks.server.js-CVKLksJ1.js → hooks.server.js-6Yf-GF0J.js} +10 -5
  121. package/build/server/chunks/entries/{hooks.server.js-CVKLksJ1.js.map → hooks.server.js-6Yf-GF0J.js.map} +1 -1
  122. package/build/server/chunks/{handler-C22elTeC.js → handler-DHAu99Rv.js} +5 -5
  123. package/build/server/chunks/{handler-C22elTeC.js.map → handler-DHAu99Rv.js.map} +1 -1
  124. package/build/server/chunks/{index.js-CqN1-wfe.js → index.js-Bm1XIAPD.js} +5 -5
  125. package/build/server/chunks/{index.js-CqN1-wfe.js.map → index.js-Bm1XIAPD.js.map} +1 -1
  126. package/build/server/chunks/{manifest.js-5SY_cfDE.js → manifest.js-CCc26-hb.js} +40 -26
  127. package/build/server/chunks/manifest.js-CCc26-hb.js.map +1 -0
  128. package/build/server/chunks/nodes/0.js-Bpzcq6LZ.js +11 -0
  129. package/build/server/chunks/nodes/0.js-Bpzcq6LZ.js.map +1 -0
  130. package/build/server/chunks/nodes/1.js-CXgbNa8h.js +7 -0
  131. package/build/server/chunks/nodes/{1.js-B92oHDrL.js.map → 1.js-CXgbNa8h.js.map} +1 -1
  132. package/build/server/chunks/nodes/2.js-D56ryWAu.js +7 -0
  133. package/build/server/chunks/nodes/2.js-D56ryWAu.js.map +1 -0
  134. package/build/server/chunks/nodes/3.js-DMaZRwrN.js +7 -0
  135. package/build/server/chunks/nodes/{3.js-C1yCh8Tq.js.map → 3.js-DMaZRwrN.js.map} +1 -1
  136. package/build/server/chunks/nodes/4.js-BUgaRCEY.js +7 -0
  137. package/build/server/chunks/nodes/{4.js-B9BEDKwq.js.map → 4.js-BUgaRCEY.js.map} +1 -1
  138. package/dist/cli.js +2 -0
  139. package/dist/config.d.ts +1 -1
  140. package/dist/core/api-types.d.ts +12 -1
  141. package/dist/core/config.d.ts +12 -0
  142. package/dist/core/index.d.ts +3 -2
  143. package/dist/core/library.d.ts +8 -1
  144. package/dist/core/library.js +30 -6
  145. package/dist/server/cli-commands.d.ts +2 -1
  146. package/dist/server/cli-commands.js +155 -34
  147. package/dist/server/config-loader.d.ts +9 -1
  148. package/dist/server/config-loader.js +26 -1
  149. package/dist/server/http.d.ts +1 -0
  150. package/dist/server/http.js +37 -0
  151. package/dist/server/importers/contract.d.ts +29 -0
  152. package/dist/server/importers/contract.js +13 -0
  153. package/dist/server/importers/figma.d.ts +21 -0
  154. package/dist/server/importers/figma.js +386 -0
  155. package/dist/server/importers/file.d.ts +6 -0
  156. package/dist/server/importers/file.js +33 -0
  157. package/dist/server/importers/pinned-https.d.ts +21 -0
  158. package/dist/server/importers/pinned-https.js +70 -0
  159. package/dist/server/importers/registry.d.ts +12 -0
  160. package/dist/server/importers/registry.js +31 -0
  161. package/dist/server/importers.d.ts +2 -0
  162. package/dist/server/importers.js +7 -0
  163. package/dist/server/library-store.d.ts +19 -1
  164. package/dist/server/library-store.js +110 -14
  165. package/dist/server/operations.d.ts +13 -1
  166. package/dist/server/operations.js +159 -23
  167. package/package.json +1 -1
  168. package/build/client/_app/immutable/assets/2.AA5XNK5k.css +0 -1
  169. package/build/client/_app/immutable/assets/2.AA5XNK5k.css.br +0 -0
  170. package/build/client/_app/immutable/assets/2.AA5XNK5k.css.gz +0 -0
  171. package/build/client/_app/immutable/assets/3.ChSpCG-T.css.br +0 -0
  172. package/build/client/_app/immutable/assets/3.ChSpCG-T.css.gz +0 -0
  173. package/build/client/_app/immutable/chunks/BPJdVAz5.js.br +0 -0
  174. package/build/client/_app/immutable/chunks/BPJdVAz5.js.gz +0 -0
  175. package/build/client/_app/immutable/chunks/CLZr1L0m.js +0 -108
  176. package/build/client/_app/immutable/chunks/CLZr1L0m.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/CLZr1L0m.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/CLcR3DTB.js.br +0 -4
  179. package/build/client/_app/immutable/chunks/CLcR3DTB.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/DkK6dXFi.js +0 -1
  181. package/build/client/_app/immutable/chunks/DkK6dXFi.js.br +0 -0
  182. package/build/client/_app/immutable/chunks/DkK6dXFi.js.gz +0 -0
  183. package/build/client/_app/immutable/chunks/RVmTMq_g.js +0 -1
  184. package/build/client/_app/immutable/chunks/RVmTMq_g.js.br +0 -0
  185. package/build/client/_app/immutable/chunks/RVmTMq_g.js.gz +0 -0
  186. package/build/client/_app/immutable/chunks/TZFh8bT7.js +0 -1
  187. package/build/client/_app/immutable/chunks/TZFh8bT7.js.br +0 -0
  188. package/build/client/_app/immutable/chunks/TZFh8bT7.js.gz +0 -0
  189. package/build/client/_app/immutable/entry/app.xrZU0FIS.js.br +0 -0
  190. package/build/client/_app/immutable/entry/app.xrZU0FIS.js.gz +0 -0
  191. package/build/client/_app/immutable/entry/start.BT85omvY.js +0 -1
  192. package/build/client/_app/immutable/entry/start.BT85omvY.js.br +0 -0
  193. package/build/client/_app/immutable/entry/start.BT85omvY.js.gz +0 -0
  194. package/build/client/_app/immutable/nodes/0.BjZZ-SXT.js +0 -2
  195. package/build/client/_app/immutable/nodes/0.BjZZ-SXT.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/0.BjZZ-SXT.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/1.0KLmHZC4.js.br +0 -2
  198. package/build/client/_app/immutable/nodes/1.0KLmHZC4.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/2.BG8fXI4n.js +0 -3
  200. package/build/client/_app/immutable/nodes/2.BG8fXI4n.js.br +0 -0
  201. package/build/client/_app/immutable/nodes/2.BG8fXI4n.js.gz +0 -0
  202. package/build/client/_app/immutable/nodes/3.DMFh-x1Y.js +0 -1
  203. package/build/client/_app/immutable/nodes/3.DMFh-x1Y.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/3.DMFh-x1Y.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/4.CsuRmAsC.js.br +0 -0
  206. package/build/client/_app/immutable/nodes/4.CsuRmAsC.js.gz +0 -0
  207. package/build/server/chunks/chunks/context.js-B77ZAVLi.js.map +0 -1
  208. package/build/server/chunks/chunks/core.js-EA_ysb1J.js.map +0 -1
  209. package/build/server/chunks/chunks/http.js-DyoR9XRI.js.map +0 -1
  210. package/build/server/chunks/chunks/library-store.js-DJ-JRE-g.js.map +0 -1
  211. package/build/server/chunks/entries/endpoints/api/reveal/_server.ts.js-Dhj5O9Lv.js.map +0 -1
  212. package/build/server/chunks/manifest.js-5SY_cfDE.js.map +0 -1
  213. package/build/server/chunks/nodes/0.js-CoD1zSiQ.js +0 -11
  214. package/build/server/chunks/nodes/0.js-CoD1zSiQ.js.map +0 -1
  215. package/build/server/chunks/nodes/1.js-B92oHDrL.js +0 -7
  216. package/build/server/chunks/nodes/2.js-COlJ22cI.js +0 -7
  217. package/build/server/chunks/nodes/2.js-COlJ22cI.js.map +0 -1
  218. package/build/server/chunks/nodes/3.js-C1yCh8Tq.js +0 -7
  219. package/build/server/chunks/nodes/4.js-B9BEDKwq.js +0 -7
@@ -0,0 +1 @@
1
+ import{B as e,D as t,E as n,G as r,M as i,N as a,P as o,W as s,at as c,b as l,et as u,g as d,i as f,k as p,l as m,q as h,tt as g}from"./D65cSBhe.js";import"./xihTtKlq.js";function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} kB`:`${(e/(1024*1024)).toFixed(2)} MB`}function v(e){return`${(e/1e3).toFixed(2)} s`}function y(e,t){let{maxWidth:n,...r}=e;return t===null||!Number.isFinite(t)||t<=0?r:{...r,maxWidth:Math.round(t)}}function b(e,t){return e.defaultPrevented||e.isComposing||t.busy?null:e.key===`Escape`?`cancel`:e.key===`Enter`&&!t.confirmDisabled?`confirm`:null}function x(e){return e instanceof Element&&e.closest(`button, select, textarea, [contenteditable]:not([contenteditable="false"])`)!==null}function S(e,t){let n=b(e,t);n===null||n===`confirm`&&x(e.target)||(e.preventDefault(),e.stopPropagation(),n===`confirm`?t.onConfirm():t.onCancel())}var C=p(`<div class="backdrop svelte-oozc38" role="presentation"><div class="dialog svelte-oozc38" role="dialog" tabindex="-1"><h2 class="svelte-oozc38"> </h2> <!> <div class="actions svelte-oozc38"><button class="control">Cancel</button> <button> </button></div></div></div>`);function w(i,p){g(p,!0);let _=f(p,`danger`,3,!1),v=f(p,`confirmDisabled`,3,!1),y=f(p,`busy`,3,!1);var b=C();o(`keydown`,s,e=>S(e,{busy:y(),confirmDisabled:v(),onConfirm:p.onConfirm,onCancel:p.onCancel}));var x=r(b),w=r(x),T=r(w,!0);c(w);var E=h(w,2);l(E,()=>p.children);var D=h(E,2),O=r(D),k=h(O,2);let A;var j=r(k,!0);c(k),c(D),c(x),c(b),e(()=>{m(x,`aria-label`,p.title),n(T,p.title),O.disabled=y(),A=d(k,1,`control`,null,A,{primary:!_(),danger:_()}),k.disabled=v()||y(),n(j,p.confirmLabel)}),a(`click`,b,e=>{e.target===e.currentTarget&&!y()&&p.onCancel()}),a(`click`,O,function(...e){p.onCancel?.apply(this,e)}),a(`click`,k,function(...e){p.onConfirm?.apply(this,e)}),t(i,b),u()}i([`click`]);export{y as a,v as i,S as n,_ as r,w as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BjZZ-SXT.js","../chunks/D65cSBhe.js","../chunks/RVmTMq_g.js","../chunks/xihTtKlq.js","../chunks/CLcR3DTB.js","../chunks/DkK6dXFi.js","../chunks/BPJdVAz5.js","../assets/ManifestSelector.Il8p28r8.css","../assets/0.inkPq3ni.css","../nodes/1.0KLmHZC4.js","../nodes/2.BG8fXI4n.js","../chunks/CLZr1L0m.js","../chunks/TZFh8bT7.js","../assets/ConfirmDialog.BdKlitwi.css","../assets/LibraryContextMenu.CVb-Lqdf.css","../assets/2.AA5XNK5k.css","../nodes/3.DMFh-x1Y.js","../assets/3.ChSpCG-T.css","../nodes/4.CsuRmAsC.js","../assets/4.p004hmEN.css"])))=>i.map(i=>d[i]);
2
- import{B as e,D as t,E as n,F as r,G as i,H as a,K as o,L as s,O as c,T as l,V as u,X as d,Y as f,Z as p,a as m,at as h,et as g,i as _,j as v,k as y,n as b,q as x,r as S,tt as C,y as w}from"../chunks/D65cSBhe.js";import"../chunks/xihTtKlq.js";var T=`modulepreload`,E=function(e,t){return new URL(e,t).href},D={},O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=E(t,n),t=s(t),t in D)return;D[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:T,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},k={},A=y(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),j=y(`<!> <!>`,1);function M(y,S){C(S,!0);let T=_(S,`components`,23,()=>[]),E=_(S,`data_0`,3,null),D=_(S,`data_1`,3,null);a(()=>S.stores.page.set(S.page)),u(()=>{S.stores,S.page,S.constructors,T(),S.form,E(),D(),S.stores.page.notify()});let O=d(!1),k=d(!1),M=d(null);b(()=>{let e=S.stores.page.subscribe(()=>{r(O)&&(f(k,!0),s().then(()=>{f(M,document.title||`untitled page`,!0)}))});return f(O,!0),e});let N=p(()=>S.constructors[1]);var P=j(),F=o(P),I=e=>{let n=p(()=>S.constructors[0]);var i=c();w(o(i),()=>r(n),(e,n)=>{m(n(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params},children:(e,n)=>{var i=c();w(o(i),()=>r(N),(e,t)=>{m(t(e,{get data(){return D()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),t(e,i)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,i)},L=e=>{let n=p(()=>S.constructors[0]);var i=c();w(o(i),()=>r(n),(e,t)=>{m(t(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,i)};l(F,e=>{S.constructors[1]?e(I):e(L,-1)});var R=x(F,2),z=a=>{var o=A(),s=i(o),c=i=>{var a=v();e(()=>n(a,r(M))),t(i,a)};l(s,e=>{r(k)&&e(c)}),h(o),t(a,o)};l(R,e=>{r(O)&&e(z)}),t(y,P),g()}var N=S(M),P=[()=>O(()=>import(`../nodes/0.BjZZ-SXT.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>O(()=>import(`../nodes/1.0KLmHZC4.js`),__vite__mapDeps([9,1,3,4,2]),import.meta.url),()=>O(()=>import(`../nodes/2.BG8fXI4n.js`),__vite__mapDeps([10,1,2,3,5,11,6,7,12,13,14,15]),import.meta.url),()=>O(()=>import(`../nodes/3.DMFh-x1Y.js`),__vite__mapDeps([16,1,2,3,4,5,11,6,7,12,13,14,17]),import.meta.url),()=>O(()=>import(`../nodes/4.CsuRmAsC.js`),__vite__mapDeps([18,1,2,3,5,12,13,19]),import.meta.url)],F=[],I={"/":[2],"/asset/[id]":[3],"/manifests":[4]},L={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},R=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.decode])),z=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.encode])),B=!1,V=(e,t)=>R[e](t),H=()=>O(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{V as decode,R as decoders,I as dictionary,z as encoders,H as get_error_template,B as hash,L as hooks,k as matchers,P as nodes,N as root,F as server_loads};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BLnSe7Ya.js","../chunks/D65cSBhe.js","../chunks/B1UabfW7.js","../chunks/xihTtKlq.js","../chunks/CN-G-m-B.js","../chunks/C-T1_s5P.js","../chunks/D5sQSsUv.js","../chunks/BoEHtxM8.js","../assets/ManifestSelector.Il8p28r8.css","../assets/0.inkPq3ni.css","../nodes/1.DEw3d5yL.js","../nodes/2.DnVTXPVk.js","../chunks/BmCZn5E-.js","../chunks/D6VoU_x4.js","../assets/ConfirmDialog.BdKlitwi.css","../assets/LibraryContextMenu.CVb-Lqdf.css","../assets/2.DLP0pEak.css","../nodes/3.1Hco6zU7.js","../assets/3.CmXD8k9d.css","../nodes/4.CKbcoBw2.js","../assets/4.p004hmEN.css"])))=>i.map(i=>d[i]);
2
+ import{B as e,D as t,E as n,F as r,G as i,H as a,K as o,L as s,O as c,T as l,V as u,X as d,Y as f,Z as p,a as m,at as h,et as g,i as _,j as v,k as y,n as b,q as x,r as S,tt as C,y as w}from"../chunks/D65cSBhe.js";import"../chunks/xihTtKlq.js";var T=`modulepreload`,E=function(e,t){return new URL(e,t).href},D={},O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=E(t,n),t=s(t),t in D)return;D[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:T,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},k={},A=y(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),j=y(`<!> <!>`,1);function M(y,S){C(S,!0);let T=_(S,`components`,23,()=>[]),E=_(S,`data_0`,3,null),D=_(S,`data_1`,3,null);a(()=>S.stores.page.set(S.page)),u(()=>{S.stores,S.page,S.constructors,T(),S.form,E(),D(),S.stores.page.notify()});let O=d(!1),k=d(!1),M=d(null);b(()=>{let e=S.stores.page.subscribe(()=>{r(O)&&(f(k,!0),s().then(()=>{f(M,document.title||`untitled page`,!0)}))});return f(O,!0),e});let N=p(()=>S.constructors[1]);var P=j(),F=o(P),I=e=>{let n=p(()=>S.constructors[0]);var i=c();w(o(i),()=>r(n),(e,n)=>{m(n(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params},children:(e,n)=>{var i=c();w(o(i),()=>r(N),(e,t)=>{m(t(e,{get data(){return D()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),t(e,i)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,i)},L=e=>{let n=p(()=>S.constructors[0]);var i=c();w(o(i),()=>r(n),(e,t)=>{m(t(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,i)};l(F,e=>{S.constructors[1]?e(I):e(L,-1)});var R=x(F,2),z=a=>{var o=A(),s=i(o),c=i=>{var a=v();e(()=>n(a,r(M))),t(i,a)};l(s,e=>{r(k)&&e(c)}),h(o),t(a,o)};l(R,e=>{r(O)&&e(z)}),t(y,P),g()}var N=S(M),P=[()=>O(()=>import(`../nodes/0.BLnSe7Ya.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),()=>O(()=>import(`../nodes/1.DEw3d5yL.js`),__vite__mapDeps([10,1,3,4,2]),import.meta.url),()=>O(()=>import(`../nodes/2.DnVTXPVk.js`),__vite__mapDeps([11,1,2,3,5,12,7,8,13,14,15,6,16]),import.meta.url),()=>O(()=>import(`../nodes/3.1Hco6zU7.js`),__vite__mapDeps([17,1,2,3,4,5,12,7,8,13,14,15,18]),import.meta.url),()=>O(()=>import(`../nodes/4.CKbcoBw2.js`),__vite__mapDeps([19,1,2,3,5,13,14,20]),import.meta.url)],F=[],I={"/":[2],"/asset/[id]":[3],"/manifests":[4]},L={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},R=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.decode])),z=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.encode])),B=!1,V=(e,t)=>R[e](t),H=()=>O(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{V as decode,R as decoders,I as dictionary,z as encoders,H as get_error_template,B as hash,L as hooks,k as matchers,P as nodes,N as root,F as server_loads};
@@ -0,0 +1 @@
1
+ import{n as e,s as t}from"../chunks/B1UabfW7.js";export{t as load_css,e as start};
@@ -0,0 +1 @@
1
+ �(�import{n as e,s as t}from"../chunks/B1UabfW7.js";export{t as load_css,e as start};
@@ -0,0 +1,2 @@
1
+ import{B as e,C as t,D as n,E as r,F as i,G as a,J as o,K as s,M as c,N as l,O as u,S as d,T as f,U as p,V as m,X as h,Y as g,Z as _,at as v,b as y,c as b,et as x,f as S,g as C,it as w,k as T,l as E,n as D,ot as O,q as k,s as A,tt as j,v as M,z as N}from"../chunks/D65cSBhe.js";import{c as P}from"../chunks/B1UabfW7.js";import"../chunks/xihTtKlq.js";import{t as F}from"../chunks/CN-G-m-B.js";import{E as I,_ as L,v as R,y as z}from"../chunks/C-T1_s5P.js";import{n as B,r as V}from"../chunks/D5sQSsUv.js";import{t as H}from"../chunks/BoEHtxM8.js";var U=O({ssr:()=>!1}),W=T(`<h2 class="svelte-1rcmmyd"> </h2>`),G=T(`<p class="error blocker-reason svelte-1rcmmyd"> </p>`),K=T(`<option> </option>`),q=T(`<p class="svelte-1rcmmyd">No manifests available — this asset will be unassigned.</p>`),J=T(`<div class="manifest-list svelte-1rcmmyd"><!></div>`),Y=T(`<p class="error svelte-1rcmmyd"> </p>`),X=T(`<div class="form-controls new-form svelte-1rcmmyd"><label class="svelte-1rcmmyd"><span>Asset id</span> <input spellcheck="false" class="svelte-1rcmmyd"/></label> <label class="svelte-1rcmmyd"><span>Asset type</span> <select class="svelte-1rcmmyd"></select></label> <div class="manifest-row svelte-1rcmmyd"><span class="svelte-1rcmmyd">Manifests</span> <!></div> <div class="actions svelte-1rcmmyd"><button class="svelte-1rcmmyd">Import</button></div></div> <!>`,1),Z=T(`<option>Choose a compatible type</option>`),Q=T(`<button class="secondary svelte-1rcmmyd">Apply</button>`),$=T(`<p class="raw svelte-1rcmmyd"> </p> <div class="form-controls edited-form svelte-1rcmmyd"><label class="svelte-1rcmmyd"><span>Asset type</span> <select class="svelte-1rcmmyd"><!><!></select></label> <div class="actions svelte-1rcmmyd"><button class="svelte-1rcmmyd">Reimport</button> <!></div></div>`,1),ee=T(`<!> <!>`,1),te=T(`<article class="item svelte-1rcmmyd"><div class="identity svelte-1rcmmyd"><span> </span> <!></div> <!> <!></article>`),ne=T(`<section class="queue svelte-1rcmmyd" aria-label="Raw file ingestion queue"><div class="heading svelte-1rcmmyd"><strong>External raw files</strong> <span class="svelte-1rcmmyd"> </span></div> <div class="items svelte-1rcmmyd"></div></section>`);function re(c,p){j(p,!0);let y=h(o({})),w=_(()=>L.state?.rawIngestionQueue??[]),T=_(()=>new Set(L.state?.assets.map(e=>e.id)??[])),D=_(()=>L.manifestNames);m(()=>{g(y,B(i(y),i(w),i(D)),!0)});function O(e,t){e.manifests=e.manifests.includes(t)?e.manifests.filter(e=>e!==t):[...e.manifests,t]}async function M(e){let t=i(y)[e.token];if(t){t.busy=!0,t.error=null;try{e.kind===`new`?await L.mutate(()=>z(e.token,t.id,t.type,t.manifests)):await L.mutate(()=>R(e.token,t.type))}catch(e){t.error=e instanceof Error?e.message:String(e),await L.refresh()}finally{t.busy=!1}}}async function N(e){let t=i(y)[e];if(t){t.busy=!0,t.error=null;try{await L.mutate(()=>I(e))}catch(e){t.error=e instanceof Error?e.message:String(e),await L.refresh()}finally{t.busy=!1}}}var P=u(),F=s(P),U=o=>{var c=ne(),u=a(c),p=k(a(u),2),m=a(p);v(p),v(u);var h=k(u,2);d(h,21,()=>i(w),e=>e.token,(o,c)=>{var u=te(),p=a(u),m=a(p);let h;var g=a(m,!0);v(m);var x=k(m,2),w=t=>{var o=W(),s=a(o,!0);v(o),e(()=>r(s,i(c).path)),n(t,o)},j=t=>{var o=W(),s=a(o,!0);v(o),e(()=>r(s,i(c).assetId)),n(t,o)};f(x,e=>{i(c).kind===`new`||i(c).kind===`unsupported`?e(w):e(j,-1)}),v(p);var P=k(p,2),F=t=>{var o=G(),s=a(o,!0);v(o),e(()=>r(s,i(c).reason)),n(t,o)};f(P,e=>{i(c).kind===`unsupported`&&e(F)});var I=k(P,2),L=o=>{let u=_(()=>i(y)[i(c).token]);var p=ee(),m=s(p),h=o=>{var p=X(),m=s(p),h=a(m),g=k(a(h),2);b(g),v(h);var y=k(h,2),x=k(a(y),2);d(x,21,()=>i(c).compatibleTypes,t,(t,o)=>{var s=K(),c=a(s,!0);v(s);var l={};e(()=>{r(c,i(o)),l!==(l=i(o))&&(s.value=(s.__value=i(o))??``)}),n(t,s)}),v(x),v(y);var C=k(y,2),w=k(a(C),2),j=e=>{n(e,q())},N=e=>{var t=J();H(a(t),{get manifests(){return i(D)},get selected(){return i(u).manifests},passive:[],onToggle:e=>O(i(u),e),get disabled(){return i(u).busy}}),v(t),n(e,t)};f(w,e=>{i(D).length===0?e(j):e(N,-1)}),v(C);var P=k(C,2),F=a(P);v(P),v(m);var I=k(m,2),L=t=>{var o=Y(),s=a(o,!0);v(o),e(e=>r(s,e),[()=>V(i(u).id,i(T))]),n(t,o)},R=_(()=>V(i(u).id,i(T)));f(I,e=>{i(R)&&e(L)}),e((e,t)=>{E(g,`aria-invalid`,e),F.disabled=t},[()=>V(i(u).id,i(T))!==null,()=>i(u).busy||i(u).type===``||V(i(u).id,i(T))!==null]),A(g,()=>i(u).id,e=>i(u).id=e),S(x,()=>i(u).type,e=>i(u).type=e),l(`click`,F,()=>M(i(c))),n(o,p)},g=o=>{var p=$(),m=s(p),h=a(m,!0);v(m);var g=k(m,2),y=a(g),b=k(a(y),2),x=a(b),C=e=>{var t=Z();t.value=t.__value=``,n(e,t)};f(x,e=>{i(u).type===``&&e(C)}),d(k(x),17,()=>i(c).compatibleTypes,t,(t,o)=>{var s=K(),c=a(s,!0);v(s);var l={};e(()=>{r(c,i(o)),l!==(l=i(o))&&(s.value=(s.__value=i(o))??``)}),n(t,s)}),v(b),v(y);var w=k(y,2),T=a(w),E=k(T,2),D=t=>{var r=Q();e(()=>r.disabled=i(u).busy),l(`click`,r,()=>N(i(c).token)),n(t,r)},O=_(()=>i(c).compatibleTypes.includes(i(c).currentType));f(E,e=>{i(O)&&e(D)}),v(w),v(g),e(()=>{r(h,i(c).path),T.disabled=i(u).busy||i(u).type===``}),S(b,()=>i(u).type,e=>i(u).type=e),l(`click`,T,()=>M(i(c))),n(o,p)};f(m,e=>{i(c).kind===`new`?e(h):e(g,-1)});var x=k(m,2),C=t=>{var o=Y(),s=a(o,!0);v(o),e(()=>r(s,i(u).error)),n(t,o)};f(x,e=>{i(u).error&&e(C)}),n(o,p)};f(I,e=>{i(c).kind!==`unsupported`&&i(y)[i(c).token]&&e(L)}),v(u),e(()=>{h=C(m,1,`svelte-1rcmmyd`,null,h,{edited:i(c).kind===`edited`,unsupported:i(c).kind===`unsupported`}),r(g,i(c).kind===`new`?`New`:i(c).kind===`edited`?`Edited`:`Unsupported`)}),n(o,u)}),v(h),v(c),e(()=>r(m,`${i(w).length??``} item${i(w).length===1?``:`s`} need${i(w).length===1?`s`:``} attention`)),n(o,c)};f(F,e=>{i(w).length>0&&e(U)}),n(c,P),x()}c([`click`]);var ie=T(`<span class="dot bad svelte-12qhfyh"></span> <span class="status-text error svelte-12qhfyh">Error</span>`,1),ae=T(`<span class="dot saving svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Saving…</span>`,1),oe=T(`<span class="dot ok svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Saved ✓</span>`,1),se=T(`<span class="dot svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Loading…</span>`,1),ce=T(`<div class="notice svelte-12qhfyh"> <code class="svelte-12qhfyh">npx fundus start</code> in the host project.</div>`),le=T(`<span class="svelte-12qhfyh"> </span>`),ue=T(`<div class="issue-banner svelte-12qhfyh" role="alert"></div>`),de=T(`<!> <!> <!>`,1),fe=T(`<div class="shell svelte-12qhfyh"><header class="topbar svelte-12qhfyh"><a class="brand svelte-12qhfyh"><span class="logo svelte-12qhfyh">◆</span> Fundus</a> <nav class="svelte-12qhfyh"><a>Library</a> <a>Manifests</a></nav> <div class="status svelte-12qhfyh"><!></div></header> <!></div>`);function pe(t,o){j(o,!0),D(()=>{let e=()=>void L.reconcile();return L.reconcile(),window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)});let c=_(()=>F.url.pathname===`/`||F.url.pathname.startsWith(`/asset`)),l=_(()=>F.url.pathname.startsWith(`/manifests`)),u=_(()=>L.error??(L.generalIssues.length>0?L.generalIssues.join(`
2
+ `):null));var m=fe();M(`12qhfyh`,e=>{N(()=>{p.title=`Fundus`})});var h=a(m),g=a(h),b=k(g,2),S=a(b);let T;var O=k(S,2);let A;v(b);var I=k(b,2),R=a(I),z=t=>{var r=ie(),a=k(s(r),2);e(()=>E(a,`title`,i(u))),n(t,r)},B=e=>{var t=ae();w(2),n(e,t)},V=e=>{var t=oe();w(2),n(e,t)},H=e=>{var t=se();w(2),n(e,t)};f(R,e=>{i(u)?e(z):L.saving?e(B,1):L.loaded?e(V,2):e(H,-1)}),v(I),v(h);var U=k(h,2),W=t=>{var i=ce(),o=a(i);w(2),v(i),e(()=>r(o,`Could not reach the Fundus server (${L.error??``}). Start it with `)),n(t,i)},G=t=>{var i=de(),c=s(i);re(c,{});var l=k(c,2),u=t=>{var i=ue();d(i,20,()=>L.generalIssues,e=>e,(t,i)=>{var o=le(),s=a(o,!0);v(o),e(()=>r(s,i)),n(t,o)}),v(i),n(t,i)};f(l,e=>{L.generalIssues.length>0&&e(u)}),y(k(l,2),()=>o.children),n(t,i)};f(U,e=>{L.error&&!L.state?e(W):e(G,-1)}),v(m),e((e,t,n)=>{E(g,`href`,e),E(S,`href`,t),T=C(S,1,`svelte-12qhfyh`,null,T,{active:i(c)}),E(O,`href`,n),A=C(O,1,`svelte-12qhfyh`,null,A,{active:i(l)})},[()=>P(`/`),()=>P(`/`),()=>P(`/manifests`)]),n(t,m),x()}export{pe as component,U as universal};
@@ -1 +1 @@
1
- import{B as e,D as t,E as n,G as r,K as i,at as a,et as o,k as s,q as c,tt as l}from"../chunks/D65cSBhe.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/CLcR3DTB.js";var d=s(`<h1> </h1> <p> </p>`,1);function f(s,f){l(f,!0);var p=d(),m=i(p),h=r(m,!0);a(m);var g=c(m,2),_=r(g,!0);a(g),e(()=>{n(h,u.status),n(_,u.error?.message)}),t(s,p),o()}export{f as component};
1
+ import{B as e,D as t,E as n,G as r,K as i,at as a,et as o,k as s,q as c,tt as l}from"../chunks/D65cSBhe.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/CN-G-m-B.js";var d=s(`<h1> </h1> <p> </p>`,1);function f(s,f){l(f,!0);var p=d(),m=i(p),h=r(m,!0);a(m);var g=c(m,2),_=r(g,!0);a(g),e(()=>{n(h,u.status),n(_,u.error?.message)}),t(s,p),o()}export{f as component};
@@ -0,0 +1,3 @@
1
+ import{B as e,D as t,E as n,F as r,G as i,J as a,K as o,L as s,M as c,N as l,O as u,P as d,S as f,T as p,V as m,W as h,X as g,Y as _,Z as v,a as y,at as b,c as x,et as S,f as C,g as w,h as T,i as E,it as D,j as ee,k as O,l as k,o as A,q as j,s as M,tt as te,u as ne,y as re}from"../chunks/D65cSBhe.js";import{c as ie,t as ae}from"../chunks/B1UabfW7.js";import"../chunks/xihTtKlq.js";import{A as oe,C as se,D as ce,F as le,I as ue,O as de,_ as N,h as fe,k as pe,t as me}from"../chunks/C-T1_s5P.js";import{a as he,c as ge,d as _e,f as ve,i as ye,l as be,n as xe,o as Se,r as Ce,s as we,t as Te,u as Ee}from"../chunks/BmCZn5E-.js";import{t as De}from"../chunks/D5sQSsUv.js";import{t as Oe}from"../chunks/BoEHtxM8.js";import{n as P,t as ke}from"../chunks/D6VoU_x4.js";function F(e){return Array.isArray?Array.isArray(e):H(e)===`[object Array]`}function Ae(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function I(e){return e==null?``:Ae(e)}function L(e){return typeof e==`string`}function R(e){return typeof e==`number`}function z(e){return e===!0||e===!1||Me(e)&&H(e)==`[object Boolean]`}function je(e){return typeof e==`object`}function Me(e){return je(e)&&e!==null}function B(e){return e!=null}function V(e){return!e.trim().length}function H(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var U=`Incorrect 'index' type`,Ne=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,W=e=>`Invalid value for key ${e}`,G=e=>`Pattern length exceeds max of ${e}.`,Pe=e=>`Missing ${e} property in key`,K=e=>`Property 'weight' in key '${e}' must be a positive integer`,q=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,Fe=Object.prototype.hasOwnProperty,Ie=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Le(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function Le(e){let t=null,n=null,r=null,i=1,a=null;if(L(e)||F(e))r=e,t=Re(e),n=ze(e);else{if(!Fe.call(e,`name`))throw Error(Pe(`name`));let o=e.name;if(r=o,Fe.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(K(ze(o)));t=Re(o),n=ze(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Re(e){return F(e)?e:e.split(`.`)}function ze(e){return F(e)?e.join(`.`):e}function Be(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(B(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!B(s))return;if(a===t.length-1&&(L(s)||R(s)||z(s)||typeof s==`bigint`))n.push(o===void 0?I(s):{v:I(s),i:o});else if(F(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,L(t)?t.split(`.`):t,0),r?n:n[0]}var J={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Y={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},Ve={location:0,threshold:.6,distance:100},He={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:Be,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},X=Object.freeze({...Y,...J,...Ve,...He});function Ue(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=1,a=!1;for(let e=0;e<t.length;e++)t.charCodeAt(e)===32?a||=(i++,!0):a=!1;if(n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}var Z=class{constructor({getFn:e=X.getFn,fieldNormWeight:t=X.fieldNormWeight}={}){this.norm=Ue(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(L(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(Ne);if(L(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(Ne);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!B(e)||V(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){let n={i:t,$:{}};for(let t=0,r=this.keys.length;t<r;t++){let r=this.keys[t],i=r.getFn?r.getFn(e):this.getFn(e,r.path);if(B(i)){if(F(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(B(n)){if(L(n)){if(!V(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(B(n.v)){let t=L(n.v)?n.v:I(n.v);if(!V(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(L(i)&&!V(i)){let e={v:i,n:this.norm.get(i)};n.$[t]=e}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function We(e,t,{getFn:n=X.getFn,fieldNormWeight:r=X.fieldNormWeight}={}){let i=new Z({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Le)),i.setSources(t),i.create(),i}function Ge(e,{getFn:t=X.getFn,fieldNormWeight:n=X.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new Z({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Ke(e=[],t=X.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function qe(e,t,n,{location:r=X.location,distance:i=X.distance,threshold:a=X.threshold,findAllMatches:o=X.findAllMatches,minMatchCharLength:s=X.minMatchCharLength,includeMatches:c=X.includeMatches,ignoreLocation:l=X.ignoreLocation}={}){if(t.length>32)throw Error(G(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,C=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=Ke(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function Je(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function Ye(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}var Xe={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Ze=RegExp(`[`+Object.keys(Xe).join(``)+`]`,`g`),Qe=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Ze,e=>Xe[e]):e=>e,$e=class{constructor(e,{location:t=X.location,threshold:n=X.threshold,distance:r=X.distance,includeMatches:i=X.includeMatches,findAllMatches:a=X.findAllMatches,minMatchCharLength:o=X.minMatchCharLength,isCaseSensitive:s=X.isCaseSensitive,ignoreDiacritics:c=X.ignoreDiacritics,ignoreLocation:l=X.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?Qe(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Je(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e<n;)u(this.pattern.substr(e,32),e),e+=32;if(t){let e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?Qe(e):e,this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=qe(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=Ye(u)),p}},et=new Set([`fuzzy`,`include`]);function tt(e){return e.startsWith(`inverse`)}var nt=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new $e(e,{location:t.location??X.location,threshold:t.threshold??X.threshold,distance:t.distance??X.distance,includeMatches:t.includeMatches??X.includeMatches,findAllMatches:t.findAllMatches??X.findAllMatches,minMatchCharLength:t.minMatchCharLength??X.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??X.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??X.ignoreDiacritics,ignoreLocation:t.ignoreLocation??X.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],rt=nt.length,it=`\0`,at=`|`;function ot(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function st(e,t){let n=e.match(t);return n?n[1]:null}function ct(e,t={}){return e.replace(/\\\|/g,it).split(at).map(e=>{let n=ot(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<rt;){let e=nt[o],n=st(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<rt;){let e=nt[o],n=st(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var lt=class{constructor(e,{isCaseSensitive:t=X.isCaseSensitive,ignoreDiacritics:n=X.ignoreDiacritics,includeMatches:r=X.includeMatches,minMatchCharLength:i=X.minMatchCharLength,ignoreLocation:a=X.ignoreLocation,findAllMatches:o=X.findAllMatches,location:s=X.location,threshold:c=X.threshold,distance:l=X.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?Qe(e):e,this.pattern=e,this.query=ct(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?Qe(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l)a+=1,s+=d,tt(r.type)&&(c=!0),n&&(et.has(r.type)?o.push(...u):o.push(u));else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=Ye(o)),e}}return{isMatch:!1,score:1}}},Q=[];function ut(...e){Q.push(...e)}function dt(e,t){for(let n=0,r=Q.length;n<r;n+=1){let r=Q[n];if(r.condition(e,t))return new r(e,t)}return new $e(e,t)}var ft={AND:`$and`,OR:`$or`},pt={PATH:`$path`,PATTERN:`$val`},mt=e=>!!(e[ft.AND]||e[ft.OR]),ht=e=>!!e[pt.PATH],gt=e=>!F(e)&&je(e)&&!mt(e),_t=e=>({[ft.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function vt(e,t,{auto:n=!0}={}){let r=e=>{if(L(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=dt(e,t)),r}let i=Object.keys(e),a=ht(e);if(!a&&i.length>1&&!mt(e))return r(_t(e));if(gt(e)){let r=a?e[pt.PATH]:i[0],o=a?e[pt.PATTERN]:e[r];if(!L(o))throw Error(W(r));let s={keyId:ze(r),pattern:o};return n&&(s.searcher=dt(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];F(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return mt(e)||(e=_t(e)),r(e)}function yt(e,{ignoreFieldNorm:t=X.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function bt(e,{ignoreFieldNorm:t=X.ignoreFieldNorm}){e.forEach(e=>{e.score=yt(e.matches,{ignoreFieldNorm:t})})}var xt=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function St(e){let t=[];return e.matches.forEach(e=>{if(!B(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function Ct(e,t,{includeMatches:n=X.includeMatches,includeScore:r=X.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=St(e)),r&&(a.score=e.score),a})}var wt=/[\p{L}\p{M}\p{N}_]+/gu,Tt=new WeakSet;function Et(e){Tt.has(e)||(Tt.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function Dt(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||Et(e),t=>t.match(e)||[]):e=>e.match(wt)||[]}function Ot({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=Dt(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=Qe(n)),r(n)}}}var kt=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=Ot({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new $e(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){let c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];r+=l,c.isMatch&&(i++,n+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(i===0)return{isMatch:!1,score:1};let s=r>0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=Ye(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function At(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function jt(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){At(e,a,i,r);return}if(o)for(let t=0;t<n;t++){let n=o[t];if(n)if(Array.isArray(n))for(let t of n)At(e,t.v,i,r);else At(e,n.v,i,r)}}function Mt(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)jt(r,i,t,n);return r}function Nt(e,t,n,r){jt(e,t,n,r)}function Pt(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function Ft(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)Pt(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var $=class{constructor(e,t,n){this.options={...X,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Ie(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=dt(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Z))throw Error(U);if(this._myIndex=t||We(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=Ot({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=Mt(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!B(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=Ot({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});Nt(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&Ft(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(Ne);this._invertedIndex&&Ft(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(L(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return R(n)&&n>-1&&(e=e.slice(0,n)),e}let c=R(n)&&n>0&&L(e),l;if(c){let t=new xt(n);L(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=L(e)?L(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),bt(l,{ignoreFieldNorm:s}),a&&l.sort(o),R(n)&&n>-1&&(l=l.slice(0,n));return Ct(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!B(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=yt(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=vt(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===ft.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(B(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{keys:a,records:o}=this._myIndex,s=t?null:[];return o.forEach(({$:e,i:o})=>{if(!B(e))return;let c=[],l=!1,u=!1;if(a.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:o,item:e,matches:c};t?(r.score=yt(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!B(t))return[];let r=[];if(F(t))t.forEach(({v:t,i,n:a})=>{if(!B(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;t<e.length;t++)n|=e[t].matchedMask||0;return n===2**t-1}let n=new Set;for(let t=0;t<e.length;t++){let r=e[t].matchedTerms;if(r)for(let e of r)n.add(e)}return n.size===t}};$.version=`7.4.2`,$.createIndex=We,$.parseIndex=Ge,$.config=X,$.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(q);return dt(e,{...X,...n}).searchIn(t)},$.parseQuery=vt,ut(lt),ut(kt),$.use=function(...e){e.forEach(e=>ut(e))};var It=$,Lt=O(`<div class="field wide svelte-n5o24b"><span>Manifests</span> <!></div>`),Rt=O(`<p class="warning svelte-n5o24b"> </p>`),zt=O(`<p class="warning svelte-n5o24b">An asset with this ID already exists.</p>`),Bt=O(`<div class="backdrop svelte-n5o24b" role="presentation"><div class="dialog svelte-n5o24b" role="dialog" aria-label="Import from Figma" tabindex="-1"><h2 class="svelte-n5o24b">Import from Figma</h2> <p class="destination svelte-n5o24b"> </p> <label class="field wide svelte-n5o24b"><span>Selection link</span> <input class="control" type="url" placeholder="https://www.figma.com/design/…?node-id=…"/></label> <div class="row svelte-n5o24b"><label class="field svelte-n5o24b"><span>Type</span> <select class="control"><option>Image</option><option>Slice</option></select></label> <label class="field svelte-n5o24b"><span>Export scale</span> <select class="control"><option>1x</option><option>2x</option><option>3x</option><option>4x</option></select></label></div> <label class="field wide svelte-n5o24b"><span>Asset ID</span> <input class="control" spellcheck="false"/></label> <!> <!> <!> <!> <div class="actions svelte-n5o24b"><button class="control">Cancel</button> <button class="control primary"> </button></div></div></div>`);function Vt(o,s){te(s,!0);let c=g(``),u=g(a(N.state?.importDefaults.figma.scale??2)),f=g(`image`),m=g(`asset`),y=g(a(De(N.manifestNames))),w=g(!1),T=g(null),E=v(()=>N.manifestNames),D=v(()=>fe(r(m))),ee=v(()=>N.state?.assets.some(e=>e.id===r(m))??!1),O=v(()=>r(c).trim().length>0&&r(D)===null&&!r(ee)&&!r(w));function k(e){_(y,r(y).includes(e)?r(y).filter(t=>t!==e):[...r(y),e],!0)}async function A(){if(!r(O))return;let e=r(m);_(w,!0),_(T,null);try{await N.mutate(()=>ce({url:r(c),scale:r(u),type:r(f),id:e,folder:s.folder,manifests:r(y)})),s.onDone(e)}catch(e){_(T,e instanceof Error?e.message:String(e),!0)}finally{_(w,!1)}}var ne=Bt();d(`keydown`,h,e=>P(e,{busy:r(w),confirmDisabled:!r(O),onConfirm:()=>void A(),onCancel:s.onCancel}));var re=i(ne),ie=j(i(re),2),ae=i(ie);b(ie);var oe=j(ie,2),se=j(i(oe),2);x(se),b(oe);var le=j(oe,2),ue=i(le),de=j(i(ue),2),pe=i(de);pe.value=pe.__value=`image`;var me=j(pe);me.value=me.__value=`slice`,b(de),b(ue);var he=j(ue,2),ge=j(i(he),2),_e=i(ge);_e.value=_e.__value=1;var ve=j(_e);ve.value=ve.__value=2;var ye=j(ve);ye.value=ye.__value=3;var be=j(ye);be.value=be.__value=4,b(ge),b(he),b(le);var xe=j(le,2),Se=j(i(xe),2);x(Se),b(xe);var Ce=j(xe,2),we=e=>{var n=Lt();Oe(j(i(n),2),{get manifests(){return r(E)},get selected(){return r(y)},passive:[],onToggle:k,get disabled(){return r(w)}}),b(n),t(e,n)};p(Ce,e=>{r(E).length>0&&e(we)});var Te=j(Ce,2),Ee=a=>{var o=Rt(),s=i(o,!0);b(o),e(()=>n(s,r(D))),t(a,o)};p(Te,e=>{r(D)&&e(Ee)});var ke=j(Te,2),F=e=>{t(e,zt())};p(ke,e=>{r(ee)&&e(F)});var Ae=j(ke,2),I=a=>{var o=Rt(),s=i(o,!0);b(o),e(()=>n(s,r(T))),t(a,o)};p(Ae,e=>{r(T)&&e(I)});var L=j(Ae,2),R=i(L),z=j(R,2),je=i(z,!0);b(z),b(L),b(re),b(ne),e(()=>{n(ae,`Destination: ${(s.folder||`Root`)??``}`),se.disabled=r(w),de.disabled=r(w),ge.disabled=r(w),Se.disabled=r(w),R.disabled=r(w),z.disabled=!r(O),n(je,r(w)?`Importing…`:`Import`)}),l(`click`,ne,e=>{e.target===e.currentTarget&&!r(w)&&s.onCancel()}),M(se,()=>r(c),e=>_(c,e)),C(de,()=>r(f),e=>_(f,e)),C(ge,()=>r(u),e=>_(u,e)),M(Se,()=>r(m),e=>_(m,e)),l(`click`,R,function(...e){s.onCancel?.apply(this,e)}),l(`click`,z,()=>void A()),t(o,ne),S()}c([`click`]);var Ht=O(`<span class="arrow svelte-13hq4tl" aria-hidden="true">›</span>`),Ut=O(`<button role="menuitem" tabindex="-1" class="svelte-13hq4tl"> </button>`),Wt=O(`<div role="menu" tabindex="-1"></div>`),Gt=O(`<div class="submenu-anchor svelte-13hq4tl" role="presentation"><button class="submenu-trigger svelte-13hq4tl" role="menuitem"><span> </span> <!></button> <!></div>`);function Kt(a,o){te(o,!0);let c=g(void 0),u=g(void 0),m=g(!1),h=g(!1),x=g(240),C=v(()=>o.items.length>1);async function E(e=!1){if(!r(C)||(_(m,!0),await s(),!r(c)||!r(u)))return;let t=r(c).getBoundingClientRect();_(h,t.right+r(u).offsetWidth+8>window.innerWidth),_(x,Math.max(32,window.innerHeight-t.top-8),!0),e&&r(u).querySelector(`[role="menuitem"]`)?.focus()}function D(e){if(!r(C)){let e=o.items[0];e&&o.onSelect(e.value);return}e.stopPropagation(),E()}function ee(e){!r(C)||e.key!==`ArrowRight`&&e.key!==`ArrowDown`||(e.preventDefault(),e.stopPropagation(),E(!0))}function O(e){if(e.key===`ArrowLeft`||e.key===`Escape`){e.preventDefault(),e.stopPropagation(),_(m,!1),r(c)?.focus();return}if(!r(u))return;let t=[...r(u).querySelectorAll(`[role="menuitem"]`)],n=t.indexOf(document.activeElement),i;if(e.key===`ArrowDown`)i=(n+1)%t.length;else if(e.key===`ArrowUp`)i=(n-1+t.length)%t.length;else if(e.key===`Home`)i=0;else if(e.key===`End`)i=t.length-1;else return;e.preventDefault(),e.stopPropagation(),t[i]?.focus()}var A=Gt(),M=i(A),ne=i(M),re=i(ne,!0);b(ne);var ie=j(ne,2),ae=e=>{t(e,Ht())};p(ie,e=>{r(C)&&e(ae)}),b(M),y(M,e=>_(c,e),()=>r(c));var oe=j(M,2),se=a=>{var s=Wt();let c,d;f(s,21,()=>o.items,e=>e.value,(a,s)=>{var c=Ut(),u=i(c,!0);b(c),e(()=>n(u,r(s).label)),l(`click`,c,()=>o.onSelect(r(s).value)),t(a,c)}),b(s),y(s,e=>_(u,e),()=>r(u)),e(()=>{c=w(s,1,`submenu svelte-13hq4tl`,null,c,{"opens-left":r(h)}),k(s,`aria-label`,o.label),d=T(s,``,d,{"max-height":`${r(x)}px`})}),l(`keydown`,s,O),t(a,s)};p(oe,e=>{r(C)&&r(m)&&e(se)}),b(A),e(()=>{k(M,`aria-haspopup`,r(C)?`menu`:void 0),k(M,`aria-expanded`,r(C)?r(m):void 0),n(re,o.label)}),d(`mouseenter`,A,()=>void E()),d(`mouseleave`,A,()=>_(m,!1)),l(`focusout`,A,e=>{e.currentTarget.contains(e.relatedTarget)||_(m,!1)}),l(`click`,M,D),l(`keydown`,M,ee),t(a,A),S()}c([`focusout`,`click`,`keydown`]);var qt=O(`<button role="menuitem" class="svelte-109nkvw">Rename</button>`),Jt=O(`<div class="context-menu svelte-109nkvw" role="menu" aria-label="Asset actions" tabindex="-1"><!> <!> <button class="danger svelte-109nkvw" role="menuitem"> </button> <hr class="svelte-109nkvw"/> <button role="menuitem" class="svelte-109nkvw"> </button></div>`);function Yt(a,o){te(o,!0);let s=v(()=>Math.max(8,Math.min(o.x,window.innerWidth-176))),c=v(()=>o.assetCount===1&&o.copyOptions.length>0),u=v(()=>2+ +!!r(c)+ +!!o.onRename),f=v(()=>Math.max(8,Math.min(o.y,window.innerHeight-(r(u)*32+17)))),m=/Mac|iPhone|iPad/.test(navigator.platform)?`Open in Finder`:/Win/.test(navigator.platform)?`Open in Explorer`:`Open in File Manager`;function g(e){e(),o.onClose()}var _=Jt();d(`click`,h,function(...e){o.onClose?.apply(this,e)}),d(`blur`,h,function(...e){o.onClose?.apply(this,e)}),d(`keydown`,h,e=>e.key===`Escape`&&o.onClose()),d(`resize`,h,function(...e){o.onClose?.apply(this,e)}),d(`scroll`,h,function(...e){o.onClose?.apply(this,e)});let y;var x=i(_),C=e=>{{let t=v(()=>o.copyOptions.map(e=>({label:e,value:e})));Kt(e,{label:`Copy Asset ID`,get items(){return r(t)},onSelect:e=>g(()=>o.onCopy(e))})}};p(x,e=>{r(c)&&e(C)});var w=j(x,2),E=e=>{var n=qt();l(`click`,n,()=>g(o.onRename)),t(e,n)};p(w,e=>{o.onRename&&e(E)});var D=j(w,2),ee=i(D,!0);b(D);var O=j(D,4),k=i(O,!0);b(O),b(_),e(()=>{y=T(_,``,y,{left:`${r(s)}px`,top:`${r(f)}px`}),n(ee,o.assetCount===1?`Delete Asset`:`Delete ${o.assetCount} Assets`),n(k,m)}),l(`contextmenu`,_,e=>e.preventDefault()),l(`click`,D,()=>g(o.onDelete)),l(`click`,O,()=>g(o.onReveal)),t(a,_),S()}c([`contextmenu`,`click`]);var Xt=O(`<span class="emoji svelte-1b4m5oj"> </span>`),Zt=O(`<span><!> <span class="name svelte-1b4m5oj"> </span></span>`);function Qt(a,o){te(o,!0);let s=E(o,`variant`,3,`chip`),c=E(o,`passive`,3,!1),l=E(o,`via`,19,()=>[]),u=v(()=>N.manifestAppearance(o.name)),d=v(()=>r(u).color??`var(--accent)`),f=v(()=>c()?`${o.name} — passive member${l().length>0?`, via ${l().join(`, `)}`:``}`:o.name);var m=Zt();let h;var g=i(m),_=a=>{var o=Xt(),s=i(o,!0);b(o),e(()=>n(s,r(u).emoji)),t(a,o)};p(g,e=>{r(u).emoji&&e(_)});var y=j(g,2),x=i(y,!0);b(y),b(m),e(()=>{h=w(m,1,`manifest-label ${s()??``}`,`svelte-1b4m5oj`,h,{passive:c()}),T(m,`--manifest-color: ${r(d)??``}`),k(m,`title`,r(f)),n(x,o.name)}),t(a,m),S()}function $t(e){return e.manifests.length>0?e.manifests.map(t=>`${t}.${e.id}`):[e.id]}var en=O(`<span class="selection-summary svelte-1uha8ag"> </span> <button class="control">Select all shown</button> <button class="control">Clear</button>`,1),tn=O(`<button class="control">Select All</button>`),nn=O(`<option> </option>`),rn=O(`<div class="empty svelte-1uha8ag">Loading library…</div>`),an=O(`<div class="empty svelte-1uha8ag"> </div>`),on=O(`<button draggable="true"><span class="folder-card-icon svelte-1uha8ag"><!></span> <span class="folder-card-details svelte-1uha8ag"><strong class="svelte-1uha8ag"> </strong> <span class="svelte-1uha8ag"> </span></span> <span class="folder-card-arrow svelte-1uha8ag">›</span></button>`),sn=O(`<section class="section folder-section svelte-1uha8ag"><!> <div class="folder-grid svelte-1uha8ag"></div></section>`),cn=O(`<span class="section-emoji svelte-1uha8ag"> </span>`),ln=O(`<!> `,1),un=O(`<span class="badge warning svelte-1uha8ag">⚠</span>`),dn=O(`<a draggable="true"><input class="asset-select svelte-1uha8ag" type="checkbox"/> <div class="thumbnail checkerboard svelte-1uha8ag"><!></div> <div class="meta svelte-1uha8ag"><span class="id svelte-1uha8ag"> </span> <span class="type-badge svelte-1uha8ag"> </span></div> <div class="badges svelte-1uha8ag"><!> <!> <!></div></a>`),fn=O(`<section class="section svelte-1uha8ag"><!> <div class="grid svelte-1uha8ag"></div></section>`),pn=O(`<!> <!>`,1),mn=O(`<div class="drop-hint svelte-1uha8ag"> </div>`),hn=O(`<p class="dialog-warning svelte-1uha8ag"> </p>`),gn=O(`<p class="dialog-warning svelte-1uha8ag">An asset with this ID already exists.</p>`),_n=O(`<label class="dialog-row svelte-1uha8ag"><span class="svelte-1uha8ag">ID</span> <input class="control svelte-1uha8ag" spellcheck="false"/></label> <!> <!> <!> <!>`,1),vn=O(`<p class="dialog-text svelte-1uha8ag"> </p> <!> <!>`,1),yn=O(`<div class="library-view svelte-1uha8ag"><!> <div role="application" aria-label="Asset library — drop a file anywhere to import it"><div class="selection-bar svelte-1uha8ag"><!> <button class="control import svelte-1uha8ag">Import file</button> <button class="control">Import from Figma</button> <input type="file" hidden=""/></div> <div class="filter-bar svelte-1uha8ag"><select class="control" aria-label="Sort"><option>Sort alphabetically</option><option>Sort by type</option><option>Sort by manifest</option></select> <select class="control" aria-label="Filter by type"><option>All types</option><!></select> <select class="control" aria-label="Filter by manifest"><option>All manifests</option><!></select> <div class="control search svelte-1uha8ag"><svg class="search-icon svelte-1uha8ag" viewBox="0 0 16 16" aria-hidden="true"><circle cx="7" cy="7" r="4.5"></circle><path d="m10.5 10.5 3 3"></path></svg> <input class="search-input svelte-1uha8ag" type="search" placeholder="Search assets and folders…" aria-label="Search assets and folders" spellcheck="false"/> <kbd class="svelte-1uha8ag"> </kbd></div> <label class="toggle svelte-1uha8ag"><input type="checkbox"/> Warnings only</label></div> <!> <!></div></div> <!> <!> <!> <!> <!> <!>`,1);function bn(c,T){te(T,!0);let E=`fundus.gallery.sort`,O=`fundus.gallery.folder`;function ce(){try{let e=localStorage.getItem(E);if(e===`type`||e===`manifest`||e===`alphabetical`)return e}catch{}return`alphabetical`}let De=g(a(ce()));function Oe(){try{let e=localStorage.getItem(O);return e===null||e===`__all__`?null:e}catch{return null}}let P=g(a(Oe())),F=g(`all`),Ae=g(`all`),I=g(``),L=g(!1),R=g(!1),z=g(null),je=g(null),Me=g(``),B=g(null),V=g(null),H=g(null),U=g(``),Ne=g(void 0),W=g(a([])),G=g(null),Pe=g(null),K=g(!1),q=g(null),Fe=g(null),Ie=0,Le=g(null),Re=0,ze=g(null),Be=0,J=g(a([])),Y=g(null),Ve=g(void 0),He=g(void 0),X=me().join(`,`),Ue=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘K`:`Ctrl K`;m(()=>{try{localStorage.setItem(E,r(De))}catch{}}),m(()=>{try{localStorage.setItem(O,r(P)??`__all__`)}catch{}});let Z=v(()=>N.state?.assets??[]),We=v(()=>r(H)!==null&&r(U)!==r(H)?fe(r(U)):null),Ge=v(()=>r(H)!==null&&r(Z).some(e=>e.id!==r(H)&&e.id===r(U))),Ke=v(()=>r(H)!==null&&r(U)!==r(H)&&r(We)===null&&!r(Ge)&&!r(K)),qe=v(()=>r(H)===null?[]:(r(Z).find(e=>e.id===r(H))?.references.incoming??[]).map(e=>`${e.assetId}.${e.field} → ${r(H)}`)),Je=v(()=>new Set(r(W))),Ye=v(()=>r(W).flatMap(e=>(r(Z).find(t=>t.id===e)?.references.incoming??[]).filter(e=>!r(Je).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e}`))),Xe=v(()=>N.state?.library.folders??[]),Ze=v(()=>N.manifestNames),Qe=v(()=>[...new Set(r(Z).map(e=>e.type))].sort()),$e=v(()=>r(I).trim()),et=v(()=>new It(r(Z),{keys:[{name:`id`,weight:.5},{name:`raw`,weight:.2},{name:`folder`,weight:.1},{name:`manifests`,weight:.08},{name:`passiveManifests.manifest`,weight:.07},{name:`type`,weight:.05}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),tt=v(()=>r($e)===``?null:new Set(r(et).search(r($e)).map(({item:e})=>e.id))),nt=v(()=>r(Xe).map(e=>({path:e,name:be(e)}))),rt=v(()=>new It(r(nt),{keys:[{name:`name`,weight:.7},{name:`path`,weight:.3}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),it=v(()=>r($e)===``?null:new Set(r(rt).search(r($e)).map(({item:e})=>e.path))),at=v(()=>r(P)===null?[]:r(Xe).filter(e=>ve(e)===r(P)).sort((e,t)=>e.localeCompare(t))),ot=v(()=>r(it)===null?r(at):r(at).filter(e=>r(it).has(e)));m(()=>{N.state&&r(P)!==null&&r(P)!==``&&!r(Xe).includes(r(P))&&_(P,null)});let st=v(()=>r(Z).filter(e=>!(r(P)!==null&&e.folder!==r(P)||r(tt)!==null&&!r(tt).has(e.id)||r(F)!==`all`&&e.type!==r(F)||r(Ae)!==`all`&&!e.manifests.includes(r(Ae))&&!e.passiveManifests.some(e=>e.manifest===r(Ae))||r(L)&&e.warnings.length===0))),ct=(e,t)=>e.id.localeCompare(t.id),lt=v(()=>{let e=[...r(st)].sort(ct);if(r(De)===`alphabetical`)return[{key:`all`,heading:null,assets:e}];if(r(De)===`type`)return[...new Set(e.map(e=>e.type))].sort().map(t=>({key:t,heading:t,assets:e.filter(e=>e.type===t)}));let t=[];for(let n of r(Ze)){let r=e.filter(e=>e.manifests.includes(n)||e.passiveManifests.some(e=>e.manifest===n));r.length>0&&t.push({key:n,heading:n,emoji:N.manifestAppearance(n).emoji,assets:r})}let n=e.filter(e=>e.manifests.length===0&&e.passiveManifests.length===0);return n.length>0&&t.push({key:`__no-manifest__`,heading:`No manifest`,assets:n}),t}),Q=v(()=>[...new Set(r(lt).flatMap(e=>e.assets.map(e=>e.id)))]);m(()=>{let e=new Set(r(Z).map(e=>e.id)),t=r(J).filter(t=>e.has(t));t.length!==r(J).length&&_(J,t,!0)});function ut(e){_(P,e,!0),_(J,[],!0),_(Y,null)}function dt(e,t){if(t&&r(Y)!==null){let t=r(Q).indexOf(r(Y)),n=r(Q).indexOf(e);if(t!==-1&&n!==-1){let i=Math.min(t,n),a=Math.max(t,n);_(J,[...new Set([...r(J),...r(Q).slice(i,a+1)])],!0),_(Y,e,!0);return}}_(J,r(J).includes(e)?r(J).filter(t=>t!==e):[...r(J),e],!0),_(Y,e,!0)}function ft(){_(J,[...r(Q)],!0),_(Y,r(Q).at(-1)??null,!0)}function pt(e,t){if(!e.dataTransfer||t.length<2)return;let n=[...document.querySelectorAll(`.card[data-asset-id]`)],r=t.map(e=>n.find(t=>t.dataset.assetId===e)).filter(e=>e!==void 0);if(r.length<2)return;let i=document.createElement(`div`),a=44/(r.length-1),o=Math.min(r[0].offsetWidth,180),s=r[0].offsetHeight;Object.assign(i.style,{position:`fixed`,left:`-10000px`,top:`-10000px`,width:`${o+44}px`,height:`${s+44}px`,pointerEvents:`none`});for(let[e,t]of r.entries()){let n=t.cloneNode(!0);n.querySelector(`.asset-select`)?.remove(),n.removeAttribute(`href`),n.setAttribute(`aria-hidden`,`true`),Object.assign(n.style,{position:`absolute`,left:`${e*a}px`,top:`${e*a}px`,width:`${o}px`,height:`${s}px`,boxSizing:`border-box`,opacity:`1`}),i.append(n)}let c=document.createElement(`span`);c.textContent=String(t.length),Object.assign(c.style,{position:`absolute`,right:`0`,top:`0`,minWidth:`28px`,height:`28px`,padding:`0 7px`,boxSizing:`border-box`,borderRadius:`14px`,background:`var(--accent)`,color:`var(--text)`,font:`600 13px/28px system-ui, sans-serif`,textAlign:`center`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.35)`}),i.append(c),document.body.append(i),e.dataTransfer.setDragImage(i,24,24),requestAnimationFrame(()=>i.remove())}function mt(e){e.preventDefault(),_(R,!1);let t=e.dataTransfer?.files?.[0];t&&(_(Me,r(P)??``,!0),_(z,t,!0))}function ht(e){_(Me,e,!0),r(Ve)?.click()}function gt(e){Ie+=1,_(Fe,{id:Ie,parent:e},!0)}function _t(e){Re+=1,_(Le,{id:Re,path:e},!0)}function vt(e){Be+=1,_(ze,{id:Be,path:e},!0)}function yt(e){e.preventDefault(),_(V,null),_(B,{x:e.clientX,y:e.clientY,parent:r(P)??``,renamePath:null},!0)}function bt(e,t){e.preventDefault(),e.stopPropagation(),_(V,null),_(B,{x:e.clientX,y:e.clientY,parent:t,renamePath:t},!0)}function xt(e,t){e.preventDefault(),e.stopPropagation(),_(B,null);let n=r(J).includes(t)?[...r(J)]:[t];r(J).includes(t)||(_(J,[t],!0),_(Y,t,!0)),_(V,{x:e.clientX,y:e.clientY,assetIds:n,targetAssetId:t},!0)}function St(e){_(H,e,!0),_(U,e,!0),_(q,null),s().then(()=>{r(Ne)?.focus(),r(Ne)?.select()})}function Ct(e){_(W,[...new Set(e)],!0),_(q,null)}async function wt(e){try{await le(e),N.error=null}catch(e){N.error=e instanceof Error?e.message:String(e)}}function Tt(e){let t=N.assetById(e);return t?$t(t):[e]}async function Et(e){try{await navigator.clipboard.writeText(e),N.error=null}catch(e){N.error=`Could not copy asset ID: ${e instanceof Error?e.message:String(e)}`}}async function Dt(e){try{await ue(e),N.error=null}catch(e){N.error=e instanceof Error?e.message:String(e)}}function Ot(){r(K)||(_(H,null),_(W,[],!0),_(q,null))}async function kt(){if(!r(Ke)||r(H)===null)return;let e=r(H),t=r(U);_(K,!0),_(q,null);try{await N.mutate(()=>oe(e,{renameTo:t})),_(J,r(J).map(n=>n===e?t:n),!0),_(Y,r(Y)===e?t:r(Y),!0),_(H,null)}catch(e){_(q,e instanceof Error?e.message:String(e),!0)}finally{_(K,!1)}}async function At(){if(r(W).length===0)return;let e=[...r(W)];_(K,!0),_(q,null);try{await N.mutate(()=>se(e));let t=new Set(e);_(J,r(J).filter(e=>!t.has(e)),!0),r(Y)!==null&&t.has(r(Y))&&_(Y,null),_(W,[],!0)}catch(e){_(q,e instanceof Error?e.message:String(e),!0)}finally{_(K,!1)}}function jt(e){return r(Z).filter(t=>t.folder===e).length}function Mt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&_(z,n,!0)}async function Nt(e){_(z,null),_(je,null),await ae(ie(`/asset/[id]`,{id:e}))}async function Pt(e,t){let n=e.filter(e=>N.assetById(e)?.folder!==t);if(n.length!==0)try{await N.mutate(()=>de(n,t)),_(J,[],!0),_(Y,null)}catch{}}function Ft(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,i=ye(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,r(G),t);!n&&!i||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),_(Pe,t,!0))}function $(e,t){e.preventDefault(),_(Pe,null);let n=e.dataTransfer?.getData(`application/x-fundus-assets`);if(n){try{let e=JSON.parse(n);Array.isArray(e)&&e.every(e=>typeof e==`string`)&&Pt(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`);r&&he(r,t)&&Lt(r,t)}async function Lt(e,t){let n=_e(t,be(e));try{await N.mutate(()=>pe(e,t)),r(P)!==null&&Ee(r(P),e)&&ut(`${n}${r(P).slice(e.length)}`)}catch{}finally{_(G,null),_(Pe,null)}}function Rt(e){e&&e.play().catch(()=>{})}function zt(e){e&&(e.pause(),e.currentTime=0)}function Bt(e){e.defaultPrevented||e.altKey||e.shiftKey||!e.metaKey&&!e.ctrlKey||e.key.toLowerCase()!==`k`||document.querySelector(`[role="dialog"]`)!==null||(e.preventDefault(),r(He)?.focus(),r(He)?.select())}var Ht=yn();d(`keydown`,h,Bt),d(`dragenter`,h,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(R,!0))}),d(`dragover`,h,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(R,!0))}),d(`drop`,h,mt);var Ut=o(Ht),Wt=i(Ut);xe(Wt,{get selectedFolder(){return r(P)},get createRequest(){return r(Fe)},get renameRequest(){return r(Le)},get deleteRequest(){return r(ze)},onSelect:ut,onMoveAssets:(e,t)=>void Pt(e,t),get sharedDraggedFolder(){return r(G)},onFolderDragStart:e=>_(G,e,!0),onFolderDragEnd:()=>_(G,null),onContextMenu:(e,t,n,r)=>{_(V,null),_(B,{x:e,y:t,parent:n,renamePath:r},!0)}});var Gt=j(Wt,2);let Kt;var qt=i(Gt),Jt=i(qt),Xt=a=>{var s=en(),c=o(s),u=i(c);b(c);var d=j(c,2),f=j(d,2);e(()=>n(u,`${r(J).length??``} selected`)),l(`click`,d,ft),l(`click`,f,()=>{_(J,[],!0),_(Y,null)}),t(a,s)},Zt=n=>{var i=tn();e(()=>i.disabled=r(Q).length===0),l(`click`,i,ft),t(n,i)};p(Jt,e=>{r(J).length>0?e(Xt):e(Zt,-1)});var bn=j(Jt,2),xn=j(bn,2),Sn=j(xn,2);y(Sn,e=>_(Ve,e),()=>r(Ve)),b(qt);var Cn=j(qt,2),wn=i(Cn),Tn=i(wn);Tn.value=Tn.__value=`alphabetical`;var En=j(Tn);En.value=En.__value=`type`;var Dn=j(En);Dn.value=Dn.__value=`manifest`,b(wn);var On=j(wn,2),kn=i(On);kn.value=kn.__value=`all`,f(j(kn),16,()=>r(Qe),e=>e,(r,a)=>{var o=nn(),s=i(o,!0);b(o);var c={};e(()=>{n(s,a),c!==(c=a)&&(o.value=(o.__value=a)??``)}),t(r,o)}),b(On);var An=j(On,2),jn=i(An);jn.value=jn.__value=`all`,f(j(jn),16,()=>r(Ze),e=>e,(a,o)=>{let s=v(()=>N.manifestAppearance(o).emoji);var c=nn(),l=i(c,!0);b(c);var u={};e(()=>{n(l,r(s)?`${r(s)} ${o}`:o),u!==(u=o)&&(c.value=(c.__value=o)??``)}),t(a,c)}),b(An);var Mn=j(An,2),Nn=j(i(Mn),2);x(Nn),y(Nn,e=>_(He,e),()=>r(He));var Pn=j(Nn,2),Fn=i(Pn,!0);b(Pn),b(Mn);var In=j(Mn,2),Ln=i(In);x(Ln),D(),b(In),b(Cn);var Rn=j(Cn,2),zn=e=>{t(e,rn())},Bn=a=>{var o=an(),s=i(o,!0);b(o),e(()=>n(s,r(Z).length===0?`No assets yet — drop an image anywhere to import it.`:`Nothing matches the current filters.`)),t(a,o)},Vn=a=>{var s=pn(),c=o(s),m=a=>{var o=sn(),s=i(o);ge(s,{children:(e,n)=>{D(),t(e,ee(`Folders`))},$$slots:{default:!0}});var c=j(s,2);f(c,20,()=>r(ot),e=>e,(a,o)=>{var s=on();let c;var u=i(s);Ce(i(u),{size:18}),b(u);var f=j(u,2),p=i(f),m=i(p,!0);b(p);var h=j(p,2),g=i(h);b(h),b(f),D(2),b(s),e((e,t)=>{c=w(s,1,`folder-card svelte-1uha8ag`,null,c,{"drop-target":r(Pe)===o,"dragging-folder":r(G)===o}),n(m,e),n(g,`${t??``} assets`)},[()=>be(o),()=>jt(o)]),l(`click`,s,()=>ut(o)),l(`contextmenu`,s,e=>bt(e,o)),d(`dragstart`,s,e=>{_(G,o,!0),e.dataTransfer?.setData(`application/x-fundus-folder`,o),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),d(`dragend`,s,()=>{_(G,null),_(Pe,null)}),d(`dragover`,s,e=>Ft(e,o)),d(`dragleave`,s,()=>_(Pe,null)),d(`drop`,s,e=>$(e,o)),t(a,s)}),b(c),b(o),t(a,o)};p(c,e=>{r(ot).length>0&&e(m)});var h=j(c,2),g=a=>{var s=u();f(o(s),17,()=>r(lt),e=>e.key,(a,s)=>{var c=fn(),m=i(c),h=a=>{ge(a,{children:(a,c)=>{var l=ln(),u=o(l),d=a=>{var o=cn(),c=i(o,!0);b(o),e(()=>n(c,r(s).emoji)),t(a,o)};p(u,e=>{r(s).emoji&&e(d)});var f=j(u,1,!0);e(()=>n(f,r(s).heading)),t(a,l)},$$slots:{default:!0}})};p(m,e=>{r(s).heading&&e(h)});var g=j(m,2);f(g,21,()=>r(s).assets,e=>e.id,(a,s)=>{let c=v(()=>we[r(s).type]?.thumbnail);var m=dn();let h;var g=i(m);x(g);var _=j(g,2),y=i(_),S=e=>{var n=u();re(o(n),()=>r(c),(e,t)=>{t(e,{get asset(){return r(s)}})}),t(e,n)};p(y,e=>{r(c)&&e(S)}),b(_);var C=j(_,2),T=i(C),E=i(T,!0);b(T);var D=j(T,2),ee=i(D,!0);b(D),b(C);var O=j(C,2),A=i(O);f(A,16,()=>r(s).manifests,e=>e,(e,t)=>{Qt(e,{get name(){return t}})});var M=j(A,2);f(M,17,()=>r(s).passiveManifests,e=>e.manifest,(e,t)=>{Qt(e,{get name(){return r(t).manifest},passive:!0,get via(){return r(t).via}})}),f(j(M,2),16,()=>r(s).warnings,e=>e,(n,r)=>{var i=un();e(()=>k(i,`title`,r)),t(n,i)}),b(O),b(m),e((e,t,i)=>{h=w(m,1,`card svelte-1uha8ag`,null,h,e),k(m,`data-asset-id`,r(s).id),k(m,`href`,t),ne(g,i),k(g,`aria-label`,`Select ${r(s).id}`),n(E,r(s).id),n(ee,r(s).type)},[()=>({selected:r(J).includes(r(s).id)}),()=>ie(`/asset/[id]`,{id:r(s).id}),()=>r(J).includes(r(s).id)]),l(`contextmenu`,m,e=>xt(e,r(s).id)),l(`click`,m,e=>{(r(J).length>0||e.metaKey||e.ctrlKey||e.shiftKey)&&(e.preventDefault(),dt(r(s).id,e.shiftKey))}),d(`dragstart`,m,e=>{let t=r(J).includes(r(s).id)?r(J):[r(s).id];e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify(t)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`),pt(e,t)}),d(`focus`,m,e=>Rt(e.currentTarget.querySelector(`video`))),d(`blur`,m,e=>zt(e.currentTarget.querySelector(`video`))),l(`click`,g,e=>{e.stopPropagation(),dt(r(s).id,e.shiftKey)}),t(a,m)}),b(g),b(c),t(a,c)}),t(a,s)};p(h,e=>{r(st).length>0&&e(g)}),t(a,s)};p(Rn,e=>{N.state?r(st).length===0&&r(ot).length===0?e(Bn,1):e(Vn,-1):e(zn)});var Hn=j(Rn,2),Un=a=>{var o=mn(),s=i(o);b(o),e(()=>n(s,`Drop to import into ${(r(P)||`Root`)??``}`)),t(a,o)};p(Hn,e=>{r(R)&&e(Un)}),b(Gt),b(Ut);var Wn=j(Ut,2),Gn=e=>{{let t=v(()=>r(B).renamePath===null?void 0:()=>_t(r(B)?.renamePath??``)),n=v(()=>r(B).renamePath===null?void 0:()=>vt(r(B)?.renamePath??``));Te(e,{get x(){return r(B).x},get y(){return r(B).y},onReveal:()=>void Dt(r(B)?.renamePath??r(B)?.parent??``),onNewDirectory:()=>gt(r(B)?.parent??``),get onRenameDirectory(){return r(t)},onImportFile:()=>ht(r(B)?.parent??``),get onDeleteDirectory(){return r(n)},onClose:()=>_(B,null)})}};p(Wn,e=>{r(B)&&e(Gn)});var Kn=j(Wn,2),qn=e=>{{let t=v(()=>Tt(r(V).targetAssetId)),n=v(()=>r(V).assetIds.length===1?()=>St(r(V)?.assetIds[0]??``):void 0);Yt(e,{get x(){return r(V).x},get y(){return r(V).y},get assetCount(){return r(V).assetIds.length},get copyOptions(){return r(t)},onCopy:e=>void Et(e),onReveal:()=>void wt(r(V)?.targetAssetId??``),get onRename(){return r(n)},onDelete:()=>Ct(r(V)?.assetIds??[]),onClose:()=>_(V,null)})}};p(Kn,e=>{r(V)&&e(qn)});var Jn=j(Kn,2),Yn=a=>{{let s=v(()=>r(K)?`Renaming…`:`Rename`),c=v(()=>!r(Ke));ke(a,{title:`Rename asset`,get confirmLabel(){return r(s)},get confirmDisabled(){return r(c)},get busy(){return r(K)},onConfirm:()=>void kt(),onCancel:Ot,children:(a,s)=>{var c=_n(),l=o(c),u=j(i(l),2);x(u),y(u,e=>_(Ne,e),()=>r(Ne)),b(l);var d=j(l,2),f=a=>{var o=hn(),s=i(o,!0);b(o),e(()=>n(s,r(We))),t(a,o)};p(d,e=>{r(We)&&e(f)});var m=j(d,2),h=e=>{t(e,gn())};p(m,e=>{r(Ge)&&e(h)});var g=j(m,2),v=a=>{var o=hn(),s=i(o);b(o),e(e=>n(s,`Renaming leaves ${r(qe).length??``} reference(s) pointing to the old ID:
2
+ ${e??``}`),[()=>r(qe).join(`, `)]),t(a,o)};p(g,e=>{r(qe).length>0&&e(v)});var S=j(g,2),C=a=>{var o=hn(),s=i(o,!0);b(o),e(()=>n(s,r(q))),t(a,o)};p(S,e=>{r(q)&&e(C)}),e(()=>u.disabled=r(K)),M(u,()=>r(U),e=>_(U,e)),t(a,c)},$$slots:{default:!0}})}};p(Jn,e=>{r(H)!==null&&e(Yn)});var Xn=j(Jn,2),Zn=a=>{{let s=v(()=>r(W).length===1?`Delete asset`:`Delete ${r(W).length} assets`),c=v(()=>r(K)?`Deleting…`:r(W).length===1?`Delete asset`:`Delete ${r(W).length} assets`);ke(a,{get title(){return r(s)},get confirmLabel(){return r(c)},danger:!0,get busy(){return r(K)},onConfirm:()=>void At(),onCancel:Ot,children:(a,s)=>{var c=vn(),l=o(c),u=i(l);b(l);var d=j(l,2),f=a=>{var o=hn(),s=i(o);b(o),e(e=>n(s,`This leaves ${r(Ye).length??``} external reference(s) dangling:
3
+ ${e??``}`),[()=>r(Ye).join(`, `)]),t(a,o)};p(d,e=>{r(Ye).length>0&&e(f)});var m=j(d,2),h=a=>{var o=hn(),s=i(o,!0);b(o),e(()=>n(s,r(q))),t(a,o)};p(m,e=>{r(q)&&e(h)}),e(e=>n(u,`Delete ${e??``}? Their raw files and proxies are removed.`),[()=>r(W).join(`, `)]),t(a,c)},$$slots:{default:!0}})}};p(Xn,e=>{r(W).length>0&&e(Zn)});var Qn=j(Xn,2),$n=e=>{Se(e,{get file(){return r(z)},get folder(){return r(Me)},onDone:e=>void Nt(e),onCancel:()=>_(z,null)})};p(Qn,e=>{r(z)&&e($n)});var er=j(Qn,2),tr=e=>{Vt(e,{get folder(){return r(je)},onDone:e=>void Nt(e),onCancel:()=>_(je,null)})};p(er,e=>{r(je)!==null&&e(tr)}),e(()=>{Kt=w(Gt,1,`page svelte-1uha8ag`,null,Kt,{dragging:r(R)}),k(Sn,`accept`,X),n(Fn,Ue)}),l(`contextmenu`,Gt,yt),d(`dragleave`,Gt,e=>{e.relatedTarget===null&&_(R,!1)}),l(`click`,bn,()=>ht(r(P)??``)),l(`click`,xn,()=>_(je,r(P)??``,!0)),l(`change`,Sn,Mt),C(wn,()=>r(De),e=>_(De,e)),C(On,()=>r(F),e=>_(F,e)),C(An,()=>r(Ae),e=>_(Ae,e)),l(`keydown`,Nn,e=>{e.key===`Escape`&&(e.stopPropagation(),r(I)===``?e.currentTarget.blur():_(I,``))}),M(Nn,()=>r(I),e=>_(I,e)),A(Ln,()=>r(L),e=>_(L,e)),t(c,Ht),S()}c([`contextmenu`,`click`,`change`,`keydown`]);export{bn as component};
@@ -0,0 +1 @@
1
+ import{B as e,D as t,E as n,F as r,G as i,K as a,M as o,N as s,O as c,S as l,T as u,V as d,X as f,Y as p,Z as m,a as h,at as g,c as ee,d as _,et as v,f as te,g as ne,it as y,j as b,k as x,l as S,q as C,rt as w,s as re,tt as T,y as E}from"../chunks/D65cSBhe.js";import{c as D,t as O}from"../chunks/B1UabfW7.js";import"../chunks/xihTtKlq.js";import{t as k}from"../chunks/CN-G-m-B.js";import{A,I as j,M as ie,O as ae,P as oe,S as se,_ as M,h as N,n as ce,t as le}from"../chunks/C-T1_s5P.js";import{c as P,n as ue,o as de,s as F,t as fe}from"../chunks/BmCZn5E-.js";import{t as pe}from"../chunks/BoEHtxM8.js";var me=x(`<div class="center empty svelte-xy8zsr">Loading…</div>`),he=x(`<div class="center empty svelte-xy8zsr"> </div>`),ge=x(`<div class="empty svelte-xy8zsr"> </div>`),_e=x(`<p class="warning svelte-xy8zsr"> </p>`),ve=x(`<p class="hint error svelte-xy8zsr"> </p>`),ye=x(`<section class="svelte-xy8zsr"><!> <p class="hint source-label svelte-xy8zsr"> </p> <label class="source-field svelte-xy8zsr"><span>Selection link</span> <input class="control svelte-xy8zsr" type="url"/></label> <label class="source-field svelte-xy8zsr"><span>Export scale</span> <select class="control svelte-xy8zsr"><option>1x</option><option>2x</option><option>3x</option><option>4x</option></select></label> <div class="source-actions svelte-xy8zsr"><a class="control svelte-xy8zsr" target="_blank" rel="noreferrer">Open in Figma</a> <button> </button></div> <!></section>`),be=x(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),xe=x(`<p class="hint svelte-xy8zsr">No references.</p>`),Se=x(`<a class="reference-row svelte-xy8zsr"><span class="reference-field svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-asset svelte-xy8zsr"> </span></a>`),Ce=x(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),we=x(`<a class="reference-row svelte-xy8zsr"><span class="reference-asset svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-field svelte-xy8zsr"> </span></a>`),Te=x(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),Ee=x(`<!> <!>`,1),De=x(`<div class="center svelte-xy8zsr"><!></div> <aside class="inspector svelte-xy8zsr"><section class="head svelte-xy8zsr"><h2 class="svelte-xy8zsr"> </h2> <p class="raw svelte-xy8zsr"> <span title="Raw file"> </span></p> <!></section> <!> <!> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <button class="control replace-raw svelte-xy8zsr"> </button> <!> <div class="rename svelte-xy8zsr"><input class="control svelte-xy8zsr" type="text" spellcheck="false"/> <button class="control">Rename</button></div> <!> <button class="control danger svelte-xy8zsr">Delete asset</button></section></aside>`,1),Oe=x(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <input type="file" hidden=""/> <!> <!>`,1);function I(o,x){T(x,!0);let I=m(()=>k.params.id??``),L=m(()=>M.assetById(r(I))),ke=m(()=>M.manifestNames),Ae=m(()=>r(L)?M.state?.presetNames[r(L).type]??[]:[]),R=m(()=>r(L)?F[r(L).type]??null:null),je=m(()=>r(R)?.panel??null),Me=m(()=>r(R)?.editor??null),z=m(()=>{if(r(L)?.importSource?.importer!==`figma`)return null;let e=r(L).importSource.parameters;if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.fileKey!=`string`||typeof t.nodeId!=`string`||!/^\d+:\d+$/.test(t.nodeId)||t.scale!==1&&t.scale!==2&&t.scale!==3&&t.scale!==4?null:{fileKey:t.fileKey,nodeId:t.nodeId,scale:t.scale,url:`https://www.figma.com/design/${encodeURIComponent(t.fileKey)}/fundus?node-id=${t.nodeId.replace(`:`,`-`)}`}}),B=f(null),V=m(()=>r(L)?r(B)&&r(B).assetId===r(L).id?r(B).value:w(r(L)).parameters:null);function Ne(e){r(L)&&p(B,{assetId:r(L).id,value:e},!0)}let H=f(null),U=f(null),Pe=0,W=f(null),G=0,K=f(null),Fe=0,q=f(null),Ie=f(``),Le=f(void 0),Re=f(void 0),J=f(null),ze=f(null),Y=f(null),X=f(null),Be=f(null),Z=f(``),Q=f(2),Ve=m(()=>r(z)!==null&&(r(Z).trim()!==r(z).url||r(Q)!==r(z).scale));d(()=>{let e=r(z),t=r(L)&&e?`${r(L).id}|${e.fileKey}|${e.nodeId}|${e.scale}`:null;t!==r(Be)&&(p(Be,t,!0),p(Z,e?.url??``,!0),p(Q,e?.scale??2,!0),p(X,null))});let He=le().join(`,`),Ue=m(()=>r(L)?ce(r(L).type).join(`,`):``),We=f(null),$=m(()=>r(L)&&r(We)?.assetId===r(L).id?r(We).value:r(L)?.id??``),Ge=m(()=>r(L)&&r($)!==r(L).id?N(r($)):null);async function Ke(e){if(!r(L))return;let t=r(L).id;try{await M.mutate(()=>A(t,{parameters:e})),r(B)?.assetId===t&&p(B,null)}catch{}}async function qe(e){if(!r(L))return;let t=r(L).manifests.includes(e)?r(L).manifests.filter(t=>t!==e):[...r(L).manifests,e];try{await M.mutate(()=>A(r(L).id,{manifests:t}))}catch{}}async function Je(){if(!r(L)||r($)===r(L).id||r(Ge))return;let e=r(L).id,t=r($);try{await M.mutate(()=>A(e,{renameTo:t})),p(We,null),r(I)===e&&await O(D(`/asset/[id]`,{id:t}),{replaceState:!0})}catch{}}async function Ye(){if(!r(L))return;let e=r(L).id;if(confirm(`Delete "${e}"? The raw file and its proxies are removed.`))try{await M.mutate(()=>se(e)),r(I)===e&&await O(D(`/`))}catch{}}async function Xe(e){try{localStorage.setItem(`fundus.gallery.folder`,e??`__all__`)}catch{}await O(D(`/`))}async function Ze(e,t){let n=e.filter(e=>M.assetById(e)?.folder!==t);if(n.length!==0)try{await M.mutate(()=>ae(n,t))}catch{}}function Qe(e){Pe+=1,p(U,{id:Pe,parent:e},!0)}function $e(e){G+=1,p(W,{id:G,path:e},!0)}function et(e){Fe+=1,p(K,{id:Fe,path:e},!0)}function tt(e){p(Ie,e,!0),r(Le)?.click()}function nt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&p(q,n,!0)}async function rt(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n||!r(L))return;let i=r(L).id;p(J,i,!0),p(ze,null);try{await M.mutate(()=>oe(i,n))}catch(e){p(ze,{assetId:i,message:e instanceof Error?e.message:String(e)},!0)}finally{r(J)===i&&p(J,null)}}function it(){r(L)&&(r(L).importSource&&!confirm(`Replace file and disconnect Figma source? Future re-imports will no longer be available.`)||r(Re)?.click())}async function at(){if(!r(L)||!r(z))return;let e=r(L).id,t=r(Z).trim();if(t.length===0){p(X,{assetId:e,message:`Enter a Figma selection link.`},!0);return}p(Y,e,!0),p(X,null);try{await M.mutate(()=>ie(e,{url:t,scale:r(Q)})),p(Be,null)}catch(t){p(X,{assetId:e,message:t instanceof Error?t.message:String(t)},!0)}finally{r(Y)===e&&p(Y,null)}}async function ot(e){p(q,null),await O(D(`/asset/[id]`,{id:e}))}async function st(e){try{await j(e),M.error=null}catch(e){M.error=e instanceof Error?e.message:String(e)}}var ct=Oe(),lt=a(ct),ut=i(lt);{let e=m(()=>r(L)?.folder??null);ue(ut,{get selectedFolder(){return r(e)},get activeAsset(){return r(L)},get createRequest(){return r(U)},get renameRequest(){return r(W)},get deleteRequest(){return r(K)},onSelect:e=>void Xe(e),onMoveAssets:(e,t)=>void Ze(e,t),onActiveAssetDeleted:e=>void Xe(e),onContextMenu:(e,t,n,r)=>{p(H,{x:e,y:t,parent:n,renamePath:r},!0)}})}var dt=C(ut,2),ft=e=>{t(e,me())},pt=a=>{var o=he(),s=i(o);g(o),e(()=>n(s,`No asset with id "${r(I)??``}".`)),t(a,o)},mt=o=>{var d=De(),f=a(d),m=i(f),h=e=>{var n=c();E(a(n),()=>r(Me),(e,t)=>{t(e,{get asset(){return r(L)},get parameters(){return r(V)},onParametersChange:Ne,onParametersCommit:e=>void Ke(e)})}),t(e,n)},v=a=>{var o=ge(),s=i(o);g(o),e(()=>n(s,`No editor registered for asset type "${r(L).type??``}".`)),t(a,o)};u(m,e=>{r(Me)&&r(V)!==null?e(h):e(v,-1)}),g(f);var x=C(f,2),w=i(x),T=i(w),O=i(T,!0);g(T);var k=C(T,2),A=i(k),j=C(A),ie=i(j,!0);g(j),g(k),l(C(k,2),16,()=>r(L).warnings,e=>e,(r,a)=>{var o=_e(),s=i(o);g(o),e(()=>n(s,`⚠ ${a??``}`)),t(r,o)}),g(w);var ae=C(w,2),oe=e=>{var n=c();E(a(n),()=>r(je),(e,t)=>{t(e,{get asset(){return r(L)},get parameters(){return r(V)},onParametersChange:e=>Ne(e),onParametersCommit:e=>{Ne(e),Ke(e)},get presetNames(){return r(Ae)}})}),t(e,n)};u(ae,e=>{r(je)&&r(V)!==null&&e(oe)});var se=C(ae,2),M=a=>{var o=ye(),c=i(o);P(c,{children:(e,n)=>{y(),t(e,b(`Source`))},$$slots:{default:!0}});var l=C(c,2),d=i(l);g(l);var f=C(l,2),m=C(i(f),2);ee(m),g(f);var h=C(f,2),_=C(i(h),2),v=i(_);v.value=v.__value=1;var x=C(v);x.value=x.__value=2;var w=C(x);w.value=w.__value=3;var T=C(w);T.value=T.__value=4,g(_),g(h);var E=C(h,2),D=i(E),O=C(D,2);let k;var A=i(O,!0);g(O),g(E);var j=C(E,2),ie=a=>{var o=ve(),s=i(o,!0);g(o),e(()=>n(s,r(X).message)),t(a,o)};u(j,e=>{r(X)?.assetId===r(L).id&&e(ie)}),g(o),e(e=>{n(d,`Figma · node ${r(z).nodeId??``}`),m.disabled=r(Y)===r(L).id,_.disabled=r(Y)===r(L).id,S(D,`href`,r(z).url),k=ne(O,1,`control svelte-xy8zsr`,null,k,{primary:r(Ve)}),O.disabled=e,n(A,r(Y)===r(L).id?r(Ve)?`Reimporting…`:`Refreshing…`:r(Ve)?`Reimport from Figma`:`Refresh`)},[()=>r(Y)===r(L).id||r(Z).trim().length===0]),re(m,()=>r(Z),e=>p(Z,e)),te(_,()=>r(Q),e=>p(Q,e)),s(`click`,O,()=>void at()),t(a,o)};u(se,e=>{r(z)&&e(M)});var N=C(se,2),ce=i(N);P(ce,{children:(e,n)=>{y(),t(e,b(`Manifests`))},$$slots:{default:!0}});var le=C(ce,2),ue=e=>{t(e,be())},de=e=>{pe(e,{get manifests(){return r(ke)},get selected(){return r(L).manifests},get passive(){return r(L).passiveManifests},onToggle:e=>void qe(e)})};u(le,e=>{r(ke).length===0?e(ue):e(de,-1)}),g(N);var F=C(N,2),fe=i(F);P(fe,{children:(e,n)=>{y(),t(e,b(`References`))},$$slots:{default:!0}});var me=C(fe,2),he=e=>{t(e,xe())},Oe=o=>{var s=Ee(),c=a(s),d=o=>{var s=Ce();l(C(a(s),2),17,()=>r(L).references.outgoing,e=>`${e.field}→${e.assetId}`,(a,o)=>{var s=Se(),c=i(s),l=i(c,!0);g(c);var u=C(c,4),d=i(u,!0);g(u),g(s),e(e=>{S(s,`href`,e),n(l,r(o).field),n(d,r(o).assetId)},[()=>D(`/asset/[id]`,{id:r(o).assetId})]),t(a,s)}),t(o,s)};u(c,e=>{r(L).references.outgoing.length>0&&e(d)});var f=C(c,2),p=o=>{var s=Te();l(C(a(s),2),17,()=>r(L).references.incoming,e=>`${e.assetId}→${e.field}`,(a,o)=>{var s=we(),c=i(s),l=i(c,!0);g(c);var u=C(c,4),d=i(u,!0);g(u),g(s),e(e=>{S(s,`href`,e),n(l,r(o).assetId),n(d,r(o).field)},[()=>D(`/asset/[id]`,{id:r(o).assetId})]),t(a,s)}),t(o,s)};u(f,e=>{r(L).references.incoming.length>0&&e(p)}),t(o,s)};u(me,e=>{r(L).references.outgoing.length===0&&r(L).references.incoming.length===0?e(he):e(Oe,-1)}),g(F);var I=C(F,2),R=i(I);P(R,{children:(e,n)=>{y(),t(e,b(`Asset`))},$$slots:{default:!0}});var B=C(R,2),H=i(B,!0);g(B);var U=C(B,2),Pe=a=>{var o=ve(),s=i(o,!0);g(o),e(()=>n(s,r(ze).message)),t(a,o)};u(U,e=>{r(ze)?.assetId===r(L).id&&e(Pe)});var W=C(U,2),G=i(W);ee(G);var K=C(G,2);g(W);var Fe=C(W,2),q=a=>{var o=ve(),s=i(o,!0);g(o),e(()=>n(s,r(Ge))),t(a,o)};u(Fe,e=>{r(Ge)&&e(q)});var Ie=C(Fe,2);g(I),g(x),e(()=>{n(O,r(L).id),n(A,`${r(L).type??``} · `),n(ie,r(L).raw),B.disabled=r(J)===r(L).id,n(H,r(J)===r(L).id?`Replacing…`:`Replace`),_(G,r($)),K.disabled=r($)===r(L).id||r(Ge)!==null}),s(`click`,B,it),s(`input`,G,e=>p(We,{assetId:r(L).id,value:e.currentTarget.value},!0)),s(`click`,K,()=>void Je()),s(`click`,Ie,()=>void Ye()),t(o,d)};u(dt,e=>{M.loaded?r(L)?e(mt,-1):e(pt,1):e(ft)}),g(lt);var ht=C(lt,2);h(ht,e=>p(Le,e),()=>r(Le));var gt=C(ht,2);h(gt,e=>p(Re,e),()=>r(Re));var _t=C(gt,2),vt=e=>{{let t=m(()=>r(H).renamePath===null?void 0:()=>$e(r(H)?.renamePath??``)),n=m(()=>r(H).renamePath===null?void 0:()=>et(r(H)?.renamePath??``));fe(e,{get x(){return r(H).x},get y(){return r(H).y},onReveal:()=>void st(r(H)?.renamePath??r(H)?.parent??``),onNewDirectory:()=>Qe(r(H)?.parent??``),get onRenameDirectory(){return r(t)},onImportFile:()=>tt(r(H)?.parent??``),get onDeleteDirectory(){return r(n)},onClose:()=>p(H,null)})}};u(_t,e=>{r(H)&&e(vt)});var yt=C(_t,2),bt=e=>{de(e,{get file(){return r(q)},get folder(){return r(Ie)},onDone:e=>void ot(e),onCancel:()=>p(q,null)})};u(yt,e=>{r(q)&&e(bt)}),e(()=>{S(ht,`accept`,He),S(gt,`accept`,r(Ue))}),s(`change`,ht,nt),s(`change`,gt,e=>void rt(e)),t(o,ct),v()}o([`click`,`input`,`change`]);export{I as component};
@@ -1,2 +1,2 @@
1
- import{B as e,D as t,E as n,F as r,G as i,K as a,M as o,N as s,S as c,T as l,V as u,X as d,Y as f,Z as p,a as m,at as h,b as g,c as _,et as v,g as y,h as b,i as x,it as S,k as C,l as w,q as T,s as E,tt as D}from"../chunks/D65cSBhe.js";import{c as O}from"../chunks/RVmTMq_g.js";import"../chunks/xihTtKlq.js";import{A as k,T as A,_ as j,g as M,x as N}from"../chunks/DkK6dXFi.js";import{n as P,t as F}from"../chunks/TZFh8bT7.js";var I=[{name:`slate`,value:`#64748b`},{name:`red`,value:`#ef4444`},{name:`orange`,value:`#f97316`},{name:`amber`,value:`#f59e0b`},{name:`yellow`,value:`#eab308`},{name:`lime`,value:`#84cc16`},{name:`green`,value:`#22c55e`},{name:`teal`,value:`#14b8a6`},{name:`cyan`,value:`#06b6d4`},{name:`blue`,value:`#3b82f6`},{name:`indigo`,value:`#6366f1`},{name:`violet`,value:`#8b5cf6`},{name:`pink`,value:`#ec4899`}],ee=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),L=C(`<div role="dialog"><!></div>`),R=C(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function z(n,a){D(a,!0);let o=x(a,`open`,15,!1),s=x(a,`align`,3,`left`),c=d(void 0);function p(){o(!o())}u(()=>{if(!o())return;function e(e){r(c)&&!r(c).contains(e.target)&&o(!1)}function t(e){e.key===`Escape`&&o(!1)}return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});var _=R(),b=i(_);g(b,()=>a.trigger,()=>({toggle:p,open:o()}));var S=T(b,2),C=n=>{var r=L();let o;g(i(r),()=>a.children),h(r),e(()=>{o=y(r,1,`popover svelte-1rznwff`,null,o,{right:s()===`right`}),w(r,`aria-label`,a.label)}),t(n,r)};l(S,e=>{o()&&e(C)}),h(_),m(_,e=>f(c,e),()=>r(c)),t(n,_),v()}var B=C(`<button type="button" title="Emoji"> </button>`),V=C(`<button type="button"> </button>`),H=C(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),U=C(`<button type="button" title="Color"></button>`),W=C(`<button type="button"></button>`),te=C(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),ne=C(`<div class="controls svelte-58t64l"><!> <!></div>`);function re(a,o){D(o,!0);let l=p(()=>j.manifestAppearance(o.name)),u=p(()=>r(l).color??null),m=p(()=>r(l).emoji??null),g=d(!1),_=d(!1);async function x(e){f(g,!1);try{await j.mutate(()=>k(o.name,{color:e}))}catch{}}async function S(e){f(_,!1);try{await j.mutate(()=>k(o.name,{emoji:e}))}catch{}}var C=ne(),E=i(C);z(E,{get label(){return`Pick an emoji for ${o.name??``}`},get open(){return r(_)},set open(e){f(_,e,!0)},trigger:(a,c)=>{let l=()=>(c?.()).toggle,u=()=>(c?.()).open;var d=B();let f;var p=i(d,!0);h(d),e(()=>{f=y(d,1,`emoji-trigger svelte-58t64l`,null,f,{empty:!r(m),active:u()}),w(d,`aria-label`,`Emoji for ${o.name??``}`),n(p,r(m)??`☺`)}),s(`click`,d,function(...e){l()?.apply(this,e)}),t(a,d)},children:(a,o)=>{var l=H(),u=i(l);let d;c(T(u,2),16,()=>ee,e=>e,(a,o)=>{var c=V();let l;var u=i(c,!0);h(c),e(()=>{l=y(c,1,`emoji svelte-58t64l`,null,l,{selected:r(m)===o}),w(c,`title`,o),n(u,o)}),s(`click`,c,()=>void S(o)),t(a,c)}),h(l),e(()=>d=y(u,1,`emoji none svelte-58t64l`,null,d,{selected:r(m)===null})),s(`click`,u,()=>void S(null)),t(a,l)},$$slots:{trigger:!0,default:!0}}),z(T(E,2),{get label(){return`Pick a color for ${o.name??``}`},get open(){return r(g)},set open(e){f(g,e,!0)},trigger:(n,i)=>{let a=()=>(i?.()).toggle,c=()=>(i?.()).open;var l=U();let d;e(()=>{d=y(l,1,`swatch-trigger svelte-58t64l`,null,d,{empty:!r(u),active:c()}),b(l,`--swatch: ${r(u)??`transparent`??``}`),w(l,`aria-label`,`Color for ${o.name??``}`)}),s(`click`,l,function(...e){a()?.apply(this,e)}),t(n,l)},children:(n,a)=>{var o=te(),l=i(o);let d;c(T(l,2),17,()=>I,e=>e.value,(n,i)=>{var a=W();let o;e(()=>{o=y(a,1,`swatch svelte-58t64l`,null,o,{selected:r(u)===r(i).value}),b(a,`background: ${r(i).value??``}`),w(a,`title`,r(i).name),w(a,`aria-label`,r(i).name)}),s(`click`,a,()=>void x(r(i).value)),t(n,a)}),h(o),e(()=>d=y(l,1,`swatch none svelte-58t64l`,null,d,{selected:r(u)===null})),s(`click`,l,()=>void x(null)),t(n,o)},$$slots:{trigger:!0,default:!0}}),h(C),t(a,C),v()}o([`click`]);var ie=C(`<span class="hint svelte-1k9wgg5"> </span>`),ae=C(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),oe=C(`<span class="asset-type svelte-1k9wgg5"> </span>`),se=C(`<li class="passive-member svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id passive-id svelte-1k9wgg5"> </span> <!> <span class="asset-via svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li>`),ce=C(`<li class="svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id svelte-1k9wgg5"> </span> <span class="asset-type svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li> <!>`,1),le=C(`<ul class="svelte-1k9wgg5"></ul>`),ue=C(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),de=C(`<section class="manifest svelte-1k9wgg5"><header class="svelte-1k9wgg5"><!> <h2 class="svelte-1k9wgg5"> </h2> <span class="size svelte-1k9wgg5" title="Total delivered proxy size incl. the reference closure — the preload budget"> </span> <span class="count svelte-1k9wgg5"> </span> <button class="control">Rename</button> <button class="control danger">Delete</button></header> <!></section>`),fe=C(`<div class="list svelte-1k9wgg5"></div>`),G=C(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),pe=C(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),me=C(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),he=C(`<label class="dialog-row svelte-1k9wgg5"><span class="dialog-label svelte-1k9wgg5">Name</span> <input class="control svelte-1k9wgg5" type="text" spellcheck="false"/></label> <!> <p class="dialog-text svelte-1k9wgg5">The generated module is renamed with the manifest — host code importing <code> </code> must be updated by hand.</p> <!>`,1),ge=C(`<div class="page svelte-1k9wgg5"><div class="create svelte-1k9wgg5"><input class="control svelte-1k9wgg5" type="text" placeholder="newManifestName" spellcheck="false"/> <button class="control primary">Create manifest</button> <!></div> <!></div> <!> <!>`,1);function K(o,u){D(u,!0);let m=d(``),g=p(()=>j.state?.assets??[]),y=p(()=>j.manifestNames);function x(e){return r(g).filter(t=>t.manifests.includes(e))}function C(e){return j.state?.manifestMemberships[e]?.passiveMembers??[]}function I(e,t){return C(e).filter(e=>e.via.includes(t))}function ee(e){return j.state?.manifestDeliveredBytes[e]??0}let L=p(()=>r(m)?M(r(m)):null),R=p(()=>r(m)!==``&&!r(L)&&!r(y).includes(r(m)));async function z(){if(r(R))try{await j.mutate(()=>N(r(m))),f(m,``)}catch{}}let B=d(null),V=d(null),H=d(``),U=d(!1),W=d(null);function te(e){f(W,null),f(B,e,!0)}function ne(e){f(W,null),f(H,e,!0),f(V,e,!0)}function K(){f(B,null),f(V,null),f(W,null)}let q=p(()=>r(V)!==null&&r(H)!==r(V)?M(r(H)):null),J=p(()=>r(V)!==null&&r(H)!==r(V)&&r(y).includes(r(H))),_e=p(()=>r(V)!==null&&r(H)!==r(V)&&!r(q)&&!r(J));async function ve(){if(r(B)===null)return;let e=r(B);f(U,!0),f(W,null);try{await j.mutate(()=>A(e)),K()}catch(e){f(W,e instanceof Error?e.message:String(e),!0)}finally{f(U,!1)}}async function ye(){if(r(V)===null||!r(_e))return;let e=r(V),t=r(H);f(U,!0),f(W,null);try{await j.mutate(()=>k(e,{renameTo:t})),K()}catch(e){f(W,e instanceof Error?e.message:String(e),!0)}finally{f(U,!1)}}var be=ge(),Y=a(be),X=i(Y),Z=i(X);_(Z);var Q=T(Z,2),xe=T(Q,2),Se=a=>{var o=ie(),s=i(o,!0);h(o),e(()=>n(s,r(L))),t(a,o)};l(xe,e=>{r(L)&&e(Se)}),h(X);var Ce=T(X,2),we=e=>{t(e,ae())},Te=o=>{var u=fe();c(u,20,()=>r(y),e=>e,(o,u)=>{var d=de(),f=i(d),m=i(f);re(m,{get name(){return u}});var g=T(m,2),_=i(g,!0);h(g);var v=T(g,2),y=i(v,!0);h(v);var S=T(v,2),E=i(S);h(S);var D=T(S,2),k=T(D,2);h(f);var A=T(f,2),M=o=>{var s=le();c(s,21,()=>x(u),e=>e.id,(o,s)=>{var d=ce(),f=a(d),m=i(f),g=i(m),_=i(g,!0);h(g);var v=T(g,2),y=i(v,!0);h(v);var b=T(v,2),x=i(b,!0);h(b),h(m),h(f),c(T(f,2),17,()=>I(u,r(s).id),e=>e.assetId,(a,o)=>{let c=p(()=>j.assetById(r(o).assetId));var u=se(),d=i(u),f=i(d),m=i(f,!0);h(f);var g=T(f,2),_=a=>{var o=oe(),s=i(o,!0);h(o),e(()=>n(s,r(c).type)),t(a,o)};l(g,e=>{r(c)&&e(_)});var v=T(g,2),y=i(v);h(v);var b=T(v,2),x=i(b,!0);h(b),h(d),h(u),e((e,t)=>{w(d,`href`,e),n(m,r(o).assetId),n(y,`via ${r(s).id??``}`),n(x,t)},[()=>O(`/asset/[id]`,{id:r(o).assetId}),()=>r(c)?.proxy?P(r(c).proxy.fileSize):`—`]),t(a,u)}),e((e,t)=>{w(m,`href`,e),n(_,r(s).id),n(y,r(s).type),n(x,t)},[()=>O(`/asset/[id]`,{id:r(s).id}),()=>r(s).proxy?P(r(s).proxy.fileSize):`—`]),t(o,d)}),h(s),t(o,s)},N=p(()=>x(u).length>0),F=e=>{t(e,ue())};l(A,e=>{r(N)?e(M):e(F,-1)}),h(d),e((e,t,r,i)=>{b(d,`--manifest-color: ${e??``}`),n(_,u),n(y,t),n(E,`${r??``} asset(s)${i??``}`)},[()=>j.manifestAppearance(u).color??`var(--border-soft)`,()=>P(ee(u)),()=>x(u).length,()=>C(u).length>0?` + ${C(u).length} passive`:``]),s(`click`,D,()=>ne(u)),s(`click`,k,()=>te(u)),t(o,d)}),h(u),t(o,u)};l(Ce,e=>{r(y).length===0?e(we):e(Te,-1)}),h(Y);var $=T(Y,2),Ee=o=>{let s=p(()=>x(r(B)).length);{let c=p(()=>r(U)?`Deleting…`:`Delete`);F(o,{title:`Delete manifest`,get confirmLabel(){return r(c)},danger:!0,get busy(){return r(U)},onConfirm:()=>void ve(),onCancel:K,children:(o,c)=>{var u=pe(),d=a(u),f=T(i(d)),p=i(f,!0);h(f);var m=T(f);h(d);var g=T(d,2),_=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(W))),t(a,o)};l(g,e=>{r(W)&&e(_)}),e(()=>{n(p,r(B)),n(m,`? Its generated module is removed. Assets are
2
- not deleted${r(s)>0?`, but ${r(s)} asset(s) lose this membership and may become unreachable`:``}.`)}),t(o,u)},$$slots:{default:!0}})}};l($,e=>{r(B)!==null&&e(Ee)});var De=T($,2),Oe=o=>{{let c=p(()=>r(U)?`Renaming…`:`Rename`),u=p(()=>!r(_e));F(o,{title:`Rename manifest`,get confirmLabel(){return r(c)},get confirmDisabled(){return r(u)},get busy(){return r(U)},onConfirm:()=>void ye(),onCancel:K,children:(o,c)=>{var u=he(),d=a(u),p=T(i(d),2);_(p),h(d);var m=T(d,2),g=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(q))),t(a,o)},v=e=>{t(e,me())};l(m,e=>{r(q)?e(g):r(J)&&e(v,1)});var y=T(m,2),b=T(i(y)),x=i(b,!0);h(b),S(),h(y);var C=T(y,2),w=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(W))),t(a,o)};l(C,e=>{r(W)&&e(w)}),e(()=>{p.disabled=r(U),n(x,r(V))}),s(`keydown`,p,e=>{e.key===`Enter`&&ye()}),E(p,()=>r(H),e=>f(H,e)),t(o,u)},$$slots:{default:!0}})}};l(De,e=>{r(V)!==null&&e(Oe)}),e(()=>Q.disabled=!r(R)),s(`keydown`,Z,e=>{e.key===`Enter`&&z()}),E(Z,()=>r(m),e=>f(m,e)),s(`click`,Q,()=>void z()),t(o,be),v()}o([`keydown`,`click`]);export{K as component};
1
+ import{B as e,D as t,E as n,F as r,G as i,K as a,M as o,N as s,S as c,T as l,V as u,X as d,Y as f,Z as p,a as m,at as h,b as g,c as _,et as v,g as y,h as b,i as x,it as S,k as C,l as w,q as T,s as E,tt as D}from"../chunks/D65cSBhe.js";import{c as O}from"../chunks/B1UabfW7.js";import"../chunks/xihTtKlq.js";import{T as k,_ as A,g as j,j as M,x as N}from"../chunks/C-T1_s5P.js";import{r as P,t as F}from"../chunks/D6VoU_x4.js";var I=[{name:`slate`,value:`#64748b`},{name:`red`,value:`#ef4444`},{name:`orange`,value:`#f97316`},{name:`amber`,value:`#f59e0b`},{name:`yellow`,value:`#eab308`},{name:`lime`,value:`#84cc16`},{name:`green`,value:`#22c55e`},{name:`teal`,value:`#14b8a6`},{name:`cyan`,value:`#06b6d4`},{name:`blue`,value:`#3b82f6`},{name:`indigo`,value:`#6366f1`},{name:`violet`,value:`#8b5cf6`},{name:`pink`,value:`#ec4899`}],ee=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),L=C(`<div role="dialog"><!></div>`),R=C(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function z(n,a){D(a,!0);let o=x(a,`open`,15,!1),s=x(a,`align`,3,`left`),c=d(void 0);function p(){o(!o())}u(()=>{if(!o())return;function e(e){r(c)&&!r(c).contains(e.target)&&o(!1)}function t(e){e.key===`Escape`&&o(!1)}return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});var _=R(),b=i(_);g(b,()=>a.trigger,()=>({toggle:p,open:o()}));var S=T(b,2),C=n=>{var r=L();let o;g(i(r),()=>a.children),h(r),e(()=>{o=y(r,1,`popover svelte-1rznwff`,null,o,{right:s()===`right`}),w(r,`aria-label`,a.label)}),t(n,r)};l(S,e=>{o()&&e(C)}),h(_),m(_,e=>f(c,e),()=>r(c)),t(n,_),v()}var B=C(`<button type="button" title="Emoji"> </button>`),V=C(`<button type="button"> </button>`),H=C(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),U=C(`<button type="button" title="Color"></button>`),W=C(`<button type="button"></button>`),te=C(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),ne=C(`<div class="controls svelte-58t64l"><!> <!></div>`);function re(a,o){D(o,!0);let l=p(()=>A.manifestAppearance(o.name)),u=p(()=>r(l).color??null),m=p(()=>r(l).emoji??null),g=d(!1),_=d(!1);async function x(e){f(g,!1);try{await A.mutate(()=>M(o.name,{color:e}))}catch{}}async function S(e){f(_,!1);try{await A.mutate(()=>M(o.name,{emoji:e}))}catch{}}var C=ne(),E=i(C);z(E,{get label(){return`Pick an emoji for ${o.name??``}`},get open(){return r(_)},set open(e){f(_,e,!0)},trigger:(a,c)=>{let l=()=>(c?.()).toggle,u=()=>(c?.()).open;var d=B();let f;var p=i(d,!0);h(d),e(()=>{f=y(d,1,`emoji-trigger svelte-58t64l`,null,f,{empty:!r(m),active:u()}),w(d,`aria-label`,`Emoji for ${o.name??``}`),n(p,r(m)??`☺`)}),s(`click`,d,function(...e){l()?.apply(this,e)}),t(a,d)},children:(a,o)=>{var l=H(),u=i(l);let d;c(T(u,2),16,()=>ee,e=>e,(a,o)=>{var c=V();let l;var u=i(c,!0);h(c),e(()=>{l=y(c,1,`emoji svelte-58t64l`,null,l,{selected:r(m)===o}),w(c,`title`,o),n(u,o)}),s(`click`,c,()=>void S(o)),t(a,c)}),h(l),e(()=>d=y(u,1,`emoji none svelte-58t64l`,null,d,{selected:r(m)===null})),s(`click`,u,()=>void S(null)),t(a,l)},$$slots:{trigger:!0,default:!0}}),z(T(E,2),{get label(){return`Pick a color for ${o.name??``}`},get open(){return r(g)},set open(e){f(g,e,!0)},trigger:(n,i)=>{let a=()=>(i?.()).toggle,c=()=>(i?.()).open;var l=U();let d;e(()=>{d=y(l,1,`swatch-trigger svelte-58t64l`,null,d,{empty:!r(u),active:c()}),b(l,`--swatch: ${r(u)??`transparent`??``}`),w(l,`aria-label`,`Color for ${o.name??``}`)}),s(`click`,l,function(...e){a()?.apply(this,e)}),t(n,l)},children:(n,a)=>{var o=te(),l=i(o);let d;c(T(l,2),17,()=>I,e=>e.value,(n,i)=>{var a=W();let o;e(()=>{o=y(a,1,`swatch svelte-58t64l`,null,o,{selected:r(u)===r(i).value}),b(a,`background: ${r(i).value??``}`),w(a,`title`,r(i).name),w(a,`aria-label`,r(i).name)}),s(`click`,a,()=>void x(r(i).value)),t(n,a)}),h(o),e(()=>d=y(l,1,`swatch none svelte-58t64l`,null,d,{selected:r(u)===null})),s(`click`,l,()=>void x(null)),t(n,o)},$$slots:{trigger:!0,default:!0}}),h(C),t(a,C),v()}o([`click`]);var ie=C(`<span class="hint svelte-1k9wgg5"> </span>`),ae=C(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),oe=C(`<span class="asset-type svelte-1k9wgg5"> </span>`),se=C(`<li class="passive-member svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id passive-id svelte-1k9wgg5"> </span> <!> <span class="asset-via svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li>`),ce=C(`<li class="svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id svelte-1k9wgg5"> </span> <span class="asset-type svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li> <!>`,1),le=C(`<ul class="svelte-1k9wgg5"></ul>`),ue=C(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),de=C(`<section class="manifest svelte-1k9wgg5"><header class="svelte-1k9wgg5"><!> <h2 class="svelte-1k9wgg5"> </h2> <span class="size svelte-1k9wgg5" title="Total delivered proxy size incl. the reference closure — the preload budget"> </span> <span class="count svelte-1k9wgg5"> </span> <button class="control">Rename</button> <button class="control danger">Delete</button></header> <!></section>`),fe=C(`<div class="list svelte-1k9wgg5"></div>`),G=C(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),pe=C(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),me=C(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),he=C(`<label class="dialog-row svelte-1k9wgg5"><span class="dialog-label svelte-1k9wgg5">Name</span> <input class="control svelte-1k9wgg5" type="text" spellcheck="false"/></label> <!> <p class="dialog-text svelte-1k9wgg5">The generated module is renamed with the manifest — host code importing <code> </code> must be updated by hand.</p> <!>`,1),ge=C(`<div class="page svelte-1k9wgg5"><div class="create svelte-1k9wgg5"><input class="control svelte-1k9wgg5" type="text" placeholder="newManifestName" spellcheck="false"/> <button class="control primary">Create manifest</button> <!></div> <!></div> <!> <!>`,1);function K(o,u){D(u,!0);let m=d(``),g=p(()=>A.state?.assets??[]),y=p(()=>A.manifestNames);function x(e){return r(g).filter(t=>t.manifests.includes(e))}function C(e){return A.state?.manifestMemberships[e]?.passiveMembers??[]}function I(e,t){return C(e).filter(e=>e.via.includes(t))}function ee(e){return A.state?.manifestDeliveredBytes[e]??0}let L=p(()=>r(m)?j(r(m)):null),R=p(()=>r(m)!==``&&!r(L)&&!r(y).includes(r(m)));async function z(){if(r(R))try{await A.mutate(()=>N(r(m))),f(m,``)}catch{}}let B=d(null),V=d(null),H=d(``),U=d(!1),W=d(null);function te(e){f(W,null),f(B,e,!0)}function ne(e){f(W,null),f(H,e,!0),f(V,e,!0)}function K(){f(B,null),f(V,null),f(W,null)}let q=p(()=>r(V)!==null&&r(H)!==r(V)?j(r(H)):null),J=p(()=>r(V)!==null&&r(H)!==r(V)&&r(y).includes(r(H))),_e=p(()=>r(V)!==null&&r(H)!==r(V)&&!r(q)&&!r(J));async function ve(){if(r(B)===null)return;let e=r(B);f(U,!0),f(W,null);try{await A.mutate(()=>k(e)),K()}catch(e){f(W,e instanceof Error?e.message:String(e),!0)}finally{f(U,!1)}}async function ye(){if(r(V)===null||!r(_e))return;let e=r(V),t=r(H);f(U,!0),f(W,null);try{await A.mutate(()=>M(e,{renameTo:t})),K()}catch(e){f(W,e instanceof Error?e.message:String(e),!0)}finally{f(U,!1)}}var be=ge(),Y=a(be),X=i(Y),Z=i(X);_(Z);var Q=T(Z,2),xe=T(Q,2),Se=a=>{var o=ie(),s=i(o,!0);h(o),e(()=>n(s,r(L))),t(a,o)};l(xe,e=>{r(L)&&e(Se)}),h(X);var Ce=T(X,2),we=e=>{t(e,ae())},Te=o=>{var u=fe();c(u,20,()=>r(y),e=>e,(o,u)=>{var d=de(),f=i(d),m=i(f);re(m,{get name(){return u}});var g=T(m,2),_=i(g,!0);h(g);var v=T(g,2),y=i(v,!0);h(v);var S=T(v,2),E=i(S);h(S);var D=T(S,2),k=T(D,2);h(f);var j=T(f,2),M=o=>{var s=le();c(s,21,()=>x(u),e=>e.id,(o,s)=>{var d=ce(),f=a(d),m=i(f),g=i(m),_=i(g,!0);h(g);var v=T(g,2),y=i(v,!0);h(v);var b=T(v,2),x=i(b,!0);h(b),h(m),h(f),c(T(f,2),17,()=>I(u,r(s).id),e=>e.assetId,(a,o)=>{let c=p(()=>A.assetById(r(o).assetId));var u=se(),d=i(u),f=i(d),m=i(f,!0);h(f);var g=T(f,2),_=a=>{var o=oe(),s=i(o,!0);h(o),e(()=>n(s,r(c).type)),t(a,o)};l(g,e=>{r(c)&&e(_)});var v=T(g,2),y=i(v);h(v);var b=T(v,2),x=i(b,!0);h(b),h(d),h(u),e((e,t)=>{w(d,`href`,e),n(m,r(o).assetId),n(y,`via ${r(s).id??``}`),n(x,t)},[()=>O(`/asset/[id]`,{id:r(o).assetId}),()=>r(c)?.proxy?P(r(c).proxy.fileSize):`—`]),t(a,u)}),e((e,t)=>{w(m,`href`,e),n(_,r(s).id),n(y,r(s).type),n(x,t)},[()=>O(`/asset/[id]`,{id:r(s).id}),()=>r(s).proxy?P(r(s).proxy.fileSize):`—`]),t(o,d)}),h(s),t(o,s)},N=p(()=>x(u).length>0),F=e=>{t(e,ue())};l(j,e=>{r(N)?e(M):e(F,-1)}),h(d),e((e,t,r,i)=>{b(d,`--manifest-color: ${e??``}`),n(_,u),n(y,t),n(E,`${r??``} asset(s)${i??``}`)},[()=>A.manifestAppearance(u).color??`var(--border-soft)`,()=>P(ee(u)),()=>x(u).length,()=>C(u).length>0?` + ${C(u).length} passive`:``]),s(`click`,D,()=>ne(u)),s(`click`,k,()=>te(u)),t(o,d)}),h(u),t(o,u)};l(Ce,e=>{r(y).length===0?e(we):e(Te,-1)}),h(Y);var $=T(Y,2),Ee=o=>{let s=p(()=>x(r(B)).length);{let c=p(()=>r(U)?`Deleting…`:`Delete`);F(o,{title:`Delete manifest`,get confirmLabel(){return r(c)},danger:!0,get busy(){return r(U)},onConfirm:()=>void ve(),onCancel:K,children:(o,c)=>{var u=pe(),d=a(u),f=T(i(d)),p=i(f,!0);h(f);var m=T(f);h(d);var g=T(d,2),_=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(W))),t(a,o)};l(g,e=>{r(W)&&e(_)}),e(()=>{n(p,r(B)),n(m,`? Its generated module is removed. Assets are
2
+ not deleted${r(s)>0?`, but ${r(s)} asset(s) lose this membership and may become unreachable`:``}.`)}),t(o,u)},$$slots:{default:!0}})}};l($,e=>{r(B)!==null&&e(Ee)});var De=T($,2),Oe=o=>{{let s=p(()=>r(U)?`Renaming…`:`Rename`),c=p(()=>!r(_e));F(o,{title:`Rename manifest`,get confirmLabel(){return r(s)},get confirmDisabled(){return r(c)},get busy(){return r(U)},onConfirm:()=>void ye(),onCancel:K,children:(o,s)=>{var c=he(),u=a(c),d=T(i(u),2);_(d),h(u);var p=T(u,2),m=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(q))),t(a,o)},g=e=>{t(e,me())};l(p,e=>{r(q)?e(m):r(J)&&e(g,1)});var v=T(p,2),y=T(i(v)),b=i(y,!0);h(y),S(),h(v);var x=T(v,2),C=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(W))),t(a,o)};l(x,e=>{r(W)&&e(C)}),e(()=>{d.disabled=r(U),n(b,r(V))}),E(d,()=>r(H),e=>f(H,e)),t(o,c)},$$slots:{default:!0}})}};l(De,e=>{r(V)!==null&&e(Oe)}),e(()=>Q.disabled=!r(R)),s(`keydown`,Z,e=>{e.key===`Enter`&&z()}),E(Z,()=>r(m),e=>f(m,e)),s(`click`,Q,()=>void z()),t(o,be),v()}o([`keydown`,`click`]);export{K as component};
@@ -1 +1 @@
1
- {"version":"1784107059646"}
1
+ {"version":"1784131654638"}
Binary file
Binary file
package/build/handler.js CHANGED
@@ -2,9 +2,9 @@ import './shims.js';
2
2
  import 'node:fs';
3
3
  import 'node:path';
4
4
  import 'node:process';
5
- export { h as handler } from './server/chunks/handler-C22elTeC.js';
6
- import './server/chunks/index.js-CqN1-wfe.js';
7
- import './server/chunks/manifest.js-5SY_cfDE.js';
5
+ export { h as handler } from './server/chunks/handler-DHAu99Rv.js';
6
+ import './server/chunks/index.js-Bm1XIAPD.js';
7
+ import './server/chunks/manifest.js-CCc26-hb.js';
8
8
  import './env.js';
9
9
  import 'node:buffer';
10
10
  import 'node:crypto';
@@ -12,11 +12,11 @@ import 'node:http';
12
12
  import 'node:timers';
13
13
  import 'node:querystring';
14
14
  import 'node:stream';
15
- import './server/chunks/chunks/shared.js-MLULcRRJ.js';
16
- import './server/chunks/chunks/internal.js-D_k3d8Qh.js';
17
- import './server/chunks/chunks/utils.js-D64X9Sx8.js';
15
+ import './server/chunks/chunks/shared.js-hvokB2mY.js';
16
+ import './server/chunks/chunks/internal.js-D2Tk-vi1.js';
17
+ import './server/chunks/chunks/utils.js-VGlYdWt0.js';
18
18
  import 'node:url';
19
19
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
20
- import './server/chunks/chunks/exports.js-ScnpVC8o.js';
20
+ import './server/chunks/chunks/exports.js-FRj9eAnR.js';
21
21
  import './server/chunks/chunks/routing.js-y-tryuip.js';
22
22
  //# sourceMappingURL=handler.js.map
package/build/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import fs__default from 'node:fs';
3
3
  import process from 'node:process';
4
- import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-C22elTeC.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-DHAu99Rv.js';
5
5
  import { env, timeout_env } from './env.js';
6
6
  import { rm } from 'node:fs/promises';
7
7
  import './shims.js';
@@ -11,14 +11,14 @@ import 'node:path';
11
11
  import 'node:timers';
12
12
  import 'node:querystring';
13
13
  import 'node:stream';
14
- import './server/chunks/chunks/shared.js-MLULcRRJ.js';
15
- import './server/chunks/chunks/internal.js-D_k3d8Qh.js';
16
- import './server/chunks/chunks/utils.js-D64X9Sx8.js';
17
- import './server/chunks/index.js-CqN1-wfe.js';
14
+ import './server/chunks/chunks/shared.js-hvokB2mY.js';
15
+ import './server/chunks/chunks/internal.js-D2Tk-vi1.js';
16
+ import './server/chunks/chunks/utils.js-VGlYdWt0.js';
17
+ import './server/chunks/index.js-Bm1XIAPD.js';
18
18
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
19
- import './server/chunks/chunks/exports.js-ScnpVC8o.js';
19
+ import './server/chunks/chunks/exports.js-FRj9eAnR.js';
20
20
  import './server/chunks/chunks/routing.js-y-tryuip.js';
21
- import './server/chunks/manifest.js-5SY_cfDE.js';
21
+ import './server/chunks/manifest.js-CCc26-hb.js';
22
22
  import 'node:url';
23
23
 
24
24
  const path = env('SOCKET_PATH', false);
@@ -0,0 +1,48 @@
1
+ //#region src/lib/core/asset-id.ts
2
+ /**
3
+ * Asset ids are the SSOT keys and the generated property names on manifests
4
+ * are stable, human-readable camelCase slugs that must be valid JS
5
+ * identifiers and must not collide with `Manifest` class members.
6
+ */
7
+ /**
8
+ * Names an asset id may never take: current and future members of the runtime
9
+ * `Manifest` class (entries become direct properties on it), plus inherited
10
+ * `Object.prototype` members that would shadow-collide, plus keys that are
11
+ * prototype-pollution hazards when used as record keys (`prototype`;
12
+ * `__proto__` already fails the camelCase pattern).
13
+ */
14
+ var RESERVED_ASSET_IDS = [
15
+ "preload",
16
+ "release",
17
+ "entries",
18
+ "constructor",
19
+ "prototype",
20
+ "hasOwnProperty",
21
+ "isPrototypeOf",
22
+ "propertyIsEnumerable",
23
+ "toLocaleString",
24
+ "toString",
25
+ "valueOf"
26
+ ];
27
+ var ASSET_ID_PATTERN = /^[a-z][A-Za-z0-9]*$/;
28
+ /**
29
+ * Why an id is invalid, as a human-readable message — or `null` when valid.
30
+ * Lets the editor and the validator surface the precise reason.
31
+ */
32
+ function assetIdError(id) {
33
+ if (!ASSET_ID_PATTERN.test(id)) return `"${id}" is not a valid asset id — use a camelCase identifier starting with a lowercase letter (e.g. "navigationPanel").`;
34
+ if (RESERVED_ASSET_IDS.includes(id)) return `"${id}" is reserved (it collides with a Manifest member name).`;
35
+ return null;
36
+ }
37
+ /**
38
+ * Manifest names deliberately share the asset-id grammar because each name
39
+ * becomes a generated JavaScript module export.
40
+ */
41
+ function manifestNameError(name) {
42
+ if (!ASSET_ID_PATTERN.test(name)) return `"${name}" is not a valid manifest name — use a camelCase identifier starting with a lowercase letter (e.g. "mainCatalog").`;
43
+ if (RESERVED_ASSET_IDS.includes(name)) return `"${name}" is reserved (it collides with a Manifest member name).`;
44
+ return null;
45
+ }
46
+
47
+ export { assetIdError as a, manifestNameError as m };
48
+ //# sourceMappingURL=asset-id.js-CFsW8jeL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-id.js-CFsW8jeL.js","sources":["../../../../.svelte-kit/output/server/chunks/asset-id.js"],"sourcesContent":["//#region src/lib/core/asset-id.ts\n/**\n* Asset ids are the SSOT keys and the generated property names on manifests\n* are stable, human-readable camelCase slugs that must be valid JS\n* identifiers and must not collide with `Manifest` class members.\n*/\n/**\n* Names an asset id may never take: current and future members of the runtime\n* `Manifest` class (entries become direct properties on it), plus inherited\n* `Object.prototype` members that would shadow-collide, plus keys that are\n* prototype-pollution hazards when used as record keys (`prototype`;\n* `__proto__` already fails the camelCase pattern).\n*/\nvar RESERVED_ASSET_IDS = [\n\t\"preload\",\n\t\"release\",\n\t\"entries\",\n\t\"constructor\",\n\t\"prototype\",\n\t\"hasOwnProperty\",\n\t\"isPrototypeOf\",\n\t\"propertyIsEnumerable\",\n\t\"toLocaleString\",\n\t\"toString\",\n\t\"valueOf\"\n];\nvar ASSET_ID_PATTERN = /^[a-z][A-Za-z0-9]*$/;\n/**\n* Why an id is invalid, as a human-readable message — or `null` when valid.\n* Lets the editor and the validator surface the precise reason.\n*/\nfunction assetIdError(id) {\n\tif (!ASSET_ID_PATTERN.test(id)) return `\"${id}\" is not a valid asset id — use a camelCase identifier starting with a lowercase letter (e.g. \"navigationPanel\").`;\n\tif (RESERVED_ASSET_IDS.includes(id)) return `\"${id}\" is reserved (it collides with a Manifest member name).`;\n\treturn null;\n}\n/**\n* Manifest names deliberately share the asset-id grammar because each name\n* becomes a generated JavaScript module export.\n*/\nfunction manifestNameError(name) {\n\tif (!ASSET_ID_PATTERN.test(name)) return `\"${name}\" is not a valid manifest name — use a camelCase identifier starting with a lowercase letter (e.g. \"mainCatalog\").`;\n\tif (RESERVED_ASSET_IDS.includes(name)) return `\"${name}\" is reserved (it collides with a Manifest member name).`;\n\treturn null;\n}\n//#endregion\nexport { manifestNameError as n, assetIdError as t };\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,kBAAkB,GAAG;AACzB,CAAC,SAAS;AACV,CAAC,SAAS;AACV,CAAC,SAAS;AACV,CAAC,aAAa;AACd,CAAC,WAAW;AACZ,CAAC,gBAAgB;AACjB,CAAC,eAAe;AAChB,CAAC,sBAAsB;AACvB,CAAC,gBAAgB;AACjB,CAAC,UAAU;AACX,CAAC;AACD,CAAC;AACD,IAAI,gBAAgB,GAAG,qBAAqB;AAC5C;AACA;AACA;AACA;AACA,SAAS,YAAY,CAAC,EAAE,EAAE;AAC1B,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,iHAAiH,CAAC;AACjK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,wDAAwD,CAAC;AAC7G,CAAC,OAAO,IAAI;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,kHAAkH,CAAC;AACtK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,wDAAwD,CAAC;AACjH,CAAC,OAAO,IAAI;AACZ;;;;"}