fundus 0.4.0 → 0.6.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 (209) hide show
  1. package/README.md +132 -130
  2. package/build/client/_app/immutable/assets/2.CtqoikFs.css +1 -0
  3. package/build/client/_app/immutable/assets/2.CtqoikFs.css.br +0 -0
  4. package/build/client/_app/immutable/assets/2.CtqoikFs.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/LibraryContextMenu.CVIa_uFP.css +1 -0
  6. package/build/client/_app/immutable/assets/LibraryContextMenu.CVIa_uFP.css.br +0 -0
  7. package/build/client/_app/immutable/assets/LibraryContextMenu.CVIa_uFP.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{CeJsL6hj.js → BT3jFrxa.js} +1 -1
  9. package/build/client/_app/immutable/chunks/BT3jFrxa.js.br +1 -0
  10. package/build/client/_app/immutable/chunks/BT3jFrxa.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/CPFeEkfP.js +108 -0
  12. package/build/client/_app/immutable/chunks/CPFeEkfP.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/CPFeEkfP.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/CQrHfI-c.js +1 -0
  15. package/build/client/_app/immutable/chunks/CQrHfI-c.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/CQrHfI-c.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/D0BLX4Qd.js +1 -0
  18. package/build/client/_app/immutable/chunks/D0BLX4Qd.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/D0BLX4Qd.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/D24lHNM9.js +1 -0
  21. package/build/client/_app/immutable/chunks/D24lHNM9.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/D24lHNM9.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/D6VoU_x4.js +1 -0
  24. package/build/client/_app/immutable/chunks/D6VoU_x4.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/D6VoU_x4.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/{app.BQ4TfPHG.js → app.DmVWkUml.js} +2 -2
  27. package/build/client/_app/immutable/entry/app.DmVWkUml.js.br +0 -0
  28. package/build/client/_app/immutable/entry/app.DmVWkUml.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/start.Dsf5wSaR.js +1 -0
  30. package/build/client/_app/immutable/entry/start.Dsf5wSaR.js.br +0 -0
  31. package/build/client/_app/immutable/entry/start.Dsf5wSaR.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/0.l-jE2v4o.js +2 -0
  33. package/build/client/_app/immutable/nodes/0.l-jE2v4o.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/0.l-jE2v4o.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{1.C8DOqctV.js → 1.CRPVOtEh.js} +1 -1
  36. package/build/client/_app/immutable/nodes/1.CRPVOtEh.js.br +3 -0
  37. package/build/client/_app/immutable/nodes/1.CRPVOtEh.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/2.8Si6qHSH.js +3 -0
  39. package/build/client/_app/immutable/nodes/2.8Si6qHSH.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/2.8Si6qHSH.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/3.CdI42Umt.js +1 -0
  42. package/build/client/_app/immutable/nodes/3.CdI42Umt.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/3.CdI42Umt.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/4.mMkL80q1.js +2 -0
  45. package/build/client/_app/immutable/nodes/4.mMkL80q1.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/4.mMkL80q1.js.gz +0 -0
  47. package/build/client/_app/version.json +1 -1
  48. package/build/client/_app/version.json.br +0 -0
  49. package/build/client/_app/version.json.gz +0 -0
  50. package/build/handler.js +7 -7
  51. package/build/index.js +7 -7
  52. package/build/server/chunks/chunks/{context.js-CG2t-ufq.js → context.js-FvYkJDOy.js} +62 -49
  53. package/build/server/chunks/chunks/context.js-FvYkJDOy.js.map +1 -0
  54. package/build/server/chunks/chunks/{contract.js-sHny3b-s.js → contract.js-DGMufT2e.js} +191 -178
  55. package/build/server/chunks/chunks/contract.js-DGMufT2e.js.map +1 -0
  56. package/build/server/chunks/chunks/{core.js-Clg1CHb6.js → core.js-DNIuZ9y-.js} +88 -2
  57. package/build/server/chunks/chunks/core.js-DNIuZ9y-.js.map +1 -0
  58. package/build/server/chunks/chunks/{exports.js-rOfFZumP.js → exports.js-Bepiq5XZ.js} +2 -2
  59. package/build/server/chunks/chunks/{exports.js-rOfFZumP.js.map → exports.js-Bepiq5XZ.js.map} +1 -1
  60. package/build/server/chunks/chunks/{http.js--6sDZFfm.js → http.js-DWYlsbZd.js} +2 -2
  61. package/build/server/chunks/chunks/{http.js--6sDZFfm.js.map → http.js-DWYlsbZd.js.map} +1 -1
  62. package/build/server/chunks/chunks/{internal.js-DnveDsYn.js → internal.js-Cy01GWTk.js} +3 -3
  63. package/build/server/chunks/chunks/{internal.js-DnveDsYn.js.map → internal.js-Cy01GWTk.js.map} +1 -1
  64. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
  65. package/build/server/chunks/chunks/manifest-membership.js-CJnQXrL4.js +213 -0
  66. package/build/server/chunks/chunks/manifest-membership.js-CJnQXrL4.js.map +1 -0
  67. package/build/server/chunks/chunks/raw-reconciliation.js-_D9lZ_sc.js +11 -0
  68. package/build/server/chunks/chunks/raw-reconciliation.js-_D9lZ_sc.js.map +1 -0
  69. package/build/server/chunks/chunks/{raw-reconciliation.js-DOFtjkgu.js → raw-reconciliation2.js-C2No1QIL.js} +3 -34
  70. package/build/server/chunks/chunks/raw-reconciliation2.js-C2No1QIL.js.map +1 -0
  71. package/build/server/chunks/chunks/{shared.js-DtvIbMLj.js → shared.js-b0LBJ1Hx.js} +2 -2
  72. package/build/server/chunks/chunks/{shared.js-DtvIbMLj.js.map → shared.js-b0LBJ1Hx.js.map} +1 -1
  73. package/build/server/chunks/chunks/{utils.js-bP1j9RdM.js → utils.js-CecFjHB0.js} +3 -3
  74. package/build/server/chunks/chunks/{utils.js-bP1j9RdM.js.map → utils.js-CecFjHB0.js.map} +1 -1
  75. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-CkSErIdC.js → _server.ts.js-Bmyh2WUa.js} +7 -6
  76. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-CkSErIdC.js.map → _server.ts.js-Bmyh2WUa.js.map} +1 -1
  77. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-BfdsBPWo.js → _server.ts.js-hoRG5JRv.js} +8 -7
  78. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-BfdsBPWo.js.map → _server.ts.js-hoRG5JRv.js.map} +1 -1
  79. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-D0aKDq87.js → _server.ts.js-BdO9kwrn.js} +8 -7
  80. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-D0aKDq87.js.map → _server.ts.js-BdO9kwrn.js.map} +1 -1
  81. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-DsX_m2gc.js → _server.ts.js-BojOH5gj.js} +8 -7
  82. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-DsX_m2gc.js.map → _server.ts.js-BojOH5gj.js.map} +1 -1
  83. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-nfThjRxs.js → _server.ts.js-DWIptU3K.js} +8 -7
  84. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-nfThjRxs.js.map → _server.ts.js-DWIptU3K.js.map} +1 -1
  85. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-CseHmsYB.js → _server.ts.js-CaiOgcPc.js} +8 -7
  86. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-CseHmsYB.js.map → _server.ts.js-CaiOgcPc.js.map} +1 -1
  87. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-CHiICsyC.js → _server.ts.js-Bug1Y1W9.js} +8 -7
  88. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-CHiICsyC.js.map → _server.ts.js-Bug1Y1W9.js.map} +1 -1
  89. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-Dgf46K5u.js → _server.ts.js-B9N7cPff.js} +8 -7
  90. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-Dgf46K5u.js.map → _server.ts.js-B9N7cPff.js.map} +1 -1
  91. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-DwQJUZFa.js → _server.ts.js-CiWdcZEv.js} +8 -7
  92. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-DwQJUZFa.js.map → _server.ts.js-CiWdcZEv.js.map} +1 -1
  93. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BnKS8nVF.js → _server.ts.js-CNqGzdRB.js} +8 -7
  94. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BnKS8nVF.js.map → _server.ts.js-CNqGzdRB.js.map} +1 -1
  95. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-BrDbLcyO.js → _server.ts.js-BHwcGKE_.js} +8 -7
  96. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-BrDbLcyO.js.map → _server.ts.js-BHwcGKE_.js.map} +1 -1
  97. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-DIUiQuyd.js → _server.ts.js-CPoTCXQk.js} +8 -7
  98. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-DIUiQuyd.js.map → _server.ts.js-CPoTCXQk.js.map} +1 -1
  99. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-BrReStaf.js → _server.ts.js-iDOU2RdK.js} +8 -7
  100. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-BrReStaf.js.map → _server.ts.js-iDOU2RdK.js.map} +1 -1
  101. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-B31iGwJ-.js → _server.ts.js-DikbQm3f.js} +8 -7
  102. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-B31iGwJ-.js.map → _server.ts.js-DikbQm3f.js.map} +1 -1
  103. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DeZQFNdj.js → _server.ts.js-DTdHkWuR.js} +8 -7
  104. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DeZQFNdj.js.map → _server.ts.js-DTdHkWuR.js.map} +1 -1
  105. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-DhDhUU7V.js → _server.ts.js-Cn8hwP5P.js} +8 -7
  106. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-DhDhUU7V.js.map → _server.ts.js-Cn8hwP5P.js.map} +1 -1
  107. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-DGkPIMcq.js → _server.ts.js-BdUCIBJ_.js} +8 -7
  108. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-DGkPIMcq.js.map → _server.ts.js-BdUCIBJ_.js.map} +1 -1
  109. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-BTQgWDH1.js → _server.ts.js-CBLdZJZB.js} +8 -7
  110. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-BTQgWDH1.js.map → _server.ts.js-CBLdZJZB.js.map} +1 -1
  111. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DB3i4juR.js → _server.ts.js-DVtQlFHS.js} +7 -6
  112. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DB3i4juR.js.map → _server.ts.js-DVtQlFHS.js.map} +1 -1
  113. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-kmc-gejQ.js → _server.ts.js-CY_gjOPq.js} +8 -7
  114. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-kmc-gejQ.js.map → _server.ts.js-CY_gjOPq.js.map} +1 -1
  115. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-B8EE1DD9.js → _server.ts.js-BOfjGM87.js} +8 -7
  116. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-B8EE1DD9.js.map → _server.ts.js-BOfjGM87.js.map} +1 -1
  117. package/build/server/chunks/entries/{hooks.server.js-DbBA5yYQ.js → hooks.server.js-BH0-wX67.js} +7 -6
  118. package/build/server/chunks/entries/{hooks.server.js-DbBA5yYQ.js.map → hooks.server.js-BH0-wX67.js.map} +1 -1
  119. package/build/server/chunks/{handler-J6aKdov3.js → handler-DMnHzDi5.js} +5 -5
  120. package/build/server/chunks/{handler-J6aKdov3.js.map → handler-DMnHzDi5.js.map} +1 -1
  121. package/build/server/chunks/{index.js-CsvWJ7Qu.js → index.js-BbOitM8j.js} +5 -5
  122. package/build/server/chunks/{index.js-CsvWJ7Qu.js.map → index.js-BbOitM8j.js.map} +1 -1
  123. package/build/server/chunks/{manifest.js-wHtZ9vlA.js → manifest.js-EeQkh4Qe.js} +28 -28
  124. package/build/server/chunks/{manifest.js-wHtZ9vlA.js.map → manifest.js-EeQkh4Qe.js.map} +1 -1
  125. package/build/server/chunks/nodes/0.js-CS9Xzs-1.js +11 -0
  126. package/build/server/chunks/nodes/0.js-CS9Xzs-1.js.map +1 -0
  127. package/build/server/chunks/nodes/1.js-GmjtwLZL.js +7 -0
  128. package/build/server/chunks/nodes/{1.js-CrPfmKpN.js.map → 1.js-GmjtwLZL.js.map} +1 -1
  129. package/build/server/chunks/nodes/2.js-Pip0Abb-.js +7 -0
  130. package/build/server/chunks/nodes/2.js-Pip0Abb-.js.map +1 -0
  131. package/build/server/chunks/nodes/3.js-CJKDeQST.js +7 -0
  132. package/build/server/chunks/nodes/3.js-CJKDeQST.js.map +1 -0
  133. package/build/server/chunks/nodes/4.js-CtmXxVg2.js +7 -0
  134. package/build/server/chunks/nodes/{4.js-tgwl3VD3.js.map → 4.js-CtmXxVg2.js.map} +1 -1
  135. package/dist/core/index.d.ts +2 -2
  136. package/dist/core/index.js +1 -1
  137. package/dist/core/plugins/slice.d.ts +28 -4
  138. package/dist/core/plugins/slice.js +50 -0
  139. package/dist/server/importers/pinned-https.d.ts +0 -2
  140. package/dist/server/importers/pinned-https.js +49 -39
  141. package/dist/server/library-store.d.ts +1 -1
  142. package/dist/server/library-store.js +5 -1
  143. package/dist/server/operations.js +20 -1
  144. package/dist/server/plugins/slice.d.ts +3 -2
  145. package/dist/server/plugins/slice.js +21 -9
  146. package/dist/server/processing/slice-processing.d.ts +14 -0
  147. package/dist/server/processing/slice-processing.js +148 -0
  148. package/package.json +1 -1
  149. package/build/client/_app/immutable/assets/2.B5tQm8hR.css +0 -1
  150. package/build/client/_app/immutable/assets/2.B5tQm8hR.css.br +0 -0
  151. package/build/client/_app/immutable/assets/2.B5tQm8hR.css.gz +0 -0
  152. package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css +0 -1
  153. package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css.br +0 -0
  154. package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css.gz +0 -0
  155. package/build/client/_app/immutable/chunks/BPiGyn-T.js +0 -1
  156. package/build/client/_app/immutable/chunks/BPiGyn-T.js.br +0 -0
  157. package/build/client/_app/immutable/chunks/BPiGyn-T.js.gz +0 -0
  158. package/build/client/_app/immutable/chunks/BoEHtxM8.js +0 -1
  159. package/build/client/_app/immutable/chunks/BoEHtxM8.js.br +0 -0
  160. package/build/client/_app/immutable/chunks/BoEHtxM8.js.gz +0 -0
  161. package/build/client/_app/immutable/chunks/C-T1_s5P.js +0 -1
  162. package/build/client/_app/immutable/chunks/C-T1_s5P.js.br +0 -0
  163. package/build/client/_app/immutable/chunks/C-T1_s5P.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/CeJsL6hj.js.br +0 -0
  165. package/build/client/_app/immutable/chunks/CeJsL6hj.js.gz +0 -0
  166. package/build/client/_app/immutable/chunks/Cq4Yaq35.js +0 -108
  167. package/build/client/_app/immutable/chunks/Cq4Yaq35.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/Cq4Yaq35.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/D5sQSsUv.js +0 -1
  170. package/build/client/_app/immutable/chunks/D5sQSsUv.js.br +0 -0
  171. package/build/client/_app/immutable/chunks/D5sQSsUv.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/TZFh8bT7.js +0 -1
  173. package/build/client/_app/immutable/chunks/TZFh8bT7.js.br +0 -0
  174. package/build/client/_app/immutable/chunks/TZFh8bT7.js.gz +0 -0
  175. package/build/client/_app/immutable/entry/app.BQ4TfPHG.js.br +0 -0
  176. package/build/client/_app/immutable/entry/app.BQ4TfPHG.js.gz +0 -0
  177. package/build/client/_app/immutable/entry/start.COP9tIRH.js +0 -1
  178. package/build/client/_app/immutable/entry/start.COP9tIRH.js.br +0 -0
  179. package/build/client/_app/immutable/entry/start.COP9tIRH.js.gz +0 -0
  180. package/build/client/_app/immutable/nodes/0.CftchwYV.js +0 -2
  181. package/build/client/_app/immutable/nodes/0.CftchwYV.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/0.CftchwYV.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/1.C8DOqctV.js.br +0 -1
  184. package/build/client/_app/immutable/nodes/1.C8DOqctV.js.gz +0 -0
  185. package/build/client/_app/immutable/nodes/2.BR8OVsS9.js +0 -3
  186. package/build/client/_app/immutable/nodes/2.BR8OVsS9.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/2.BR8OVsS9.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/3.BO5hcxIH.js +0 -1
  189. package/build/client/_app/immutable/nodes/3.BO5hcxIH.js.br +0 -0
  190. package/build/client/_app/immutable/nodes/3.BO5hcxIH.js.gz +0 -0
  191. package/build/client/_app/immutable/nodes/4.DTaH-k-c.js +0 -2
  192. package/build/client/_app/immutable/nodes/4.DTaH-k-c.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/4.DTaH-k-c.js.gz +0 -0
  194. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js +0 -48
  195. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js.map +0 -1
  196. package/build/server/chunks/chunks/context.js-CG2t-ufq.js.map +0 -1
  197. package/build/server/chunks/chunks/contract.js-sHny3b-s.js.map +0 -1
  198. package/build/server/chunks/chunks/core.js-Clg1CHb6.js.map +0 -1
  199. package/build/server/chunks/chunks/raw-reconciliation.js-DOFtjkgu.js.map +0 -1
  200. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js +0 -11
  201. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js.map +0 -1
  202. package/build/server/chunks/nodes/0.js-By6-kbk6.js +0 -11
  203. package/build/server/chunks/nodes/0.js-By6-kbk6.js.map +0 -1
  204. package/build/server/chunks/nodes/1.js-CrPfmKpN.js +0 -7
  205. package/build/server/chunks/nodes/2.js-C-i3Y5t2.js +0 -7
  206. package/build/server/chunks/nodes/2.js-C-i3Y5t2.js.map +0 -1
  207. package/build/server/chunks/nodes/3.js-C1gcIGeV.js +0 -7
  208. package/build/server/chunks/nodes/3.js-C1gcIGeV.js.map +0 -1
  209. package/build/server/chunks/nodes/4.js-tgwl3VD3.js +0 -7
@@ -0,0 +1,3 @@
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,L as c,M as l,N as u,O as d,P as f,S as p,T as m,V as h,W as g,X as _,Y as v,Z as y,a as b,at as x,c as S,et as C,f as w,g as ee,h as te,i as T,it as ne,j as E,k as D,l as O,o as k,q as A,s as re,tt as ie,u as ae,y as oe}from"../chunks/D65cSBhe.js";import{c as se,t as ce}from"../chunks/D24lHNM9.js";import"../chunks/xihTtKlq.js";import{F as j,J as le,N as ue,O as de,P as fe,U as pe,X as me,Y as he,a as ge,c as _e,j as ve,l as ye,nt as be,p as xe,t as M,tt as Se,u as Ce}from"../chunks/D0BLX4Qd.js";import{a as we,c as Te,i as Ee,l as De,n as Oe,o as ke,r as Ae,s as je,t as Me,u as Ne}from"../chunks/CPFeEkfP.js";import{t as Pe}from"../chunks/D6VoU_x4.js";function N(e){return Array.isArray?Array.isArray(e):ze(e)===`[object Array]`}function Fe(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 P(e){return e==null?``:Fe(e)}function F(e){return typeof e==`string`}function I(e){return typeof e==`number`}function Ie(e){return e===!0||e===!1||Re(e)&&ze(e)==`[object Boolean]`}function Le(e){return typeof e==`object`}function Re(e){return Le(e)&&e!==null}function L(e){return e!=null}function R(e){return!e.trim().length}function ze(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var z=`Incorrect 'index' type`,B=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,V=e=>`Invalid value for key ${e}`,H=e=>`Pattern length exceeds max of ${e}.`,Be=e=>`Missing ${e} property in key`,U=e=>`Property 'weight' in key '${e}' must be a positive integer`,W=`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.`,G=Object.prototype.hasOwnProperty,K=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=q(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 q(e){let t=null,n=null,r=null,i=1,a=null;if(F(e)||N(e))r=e,t=J(e),n=Ve(e);else{if(!G.call(e,`name`))throw Error(Be(`name`));let o=e.name;if(r=o,G.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(U(Ve(o)));t=J(o),n=Ve(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function J(e){return N(e)?e:e.split(`.`)}function Ve(e){return N(e)?e.join(`.`):e}function He(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(L(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!L(s))return;if(a===t.length-1&&(F(s)||I(s)||Ie(s)||typeof s==`bigint`))n.push(o===void 0?P(s):{v:P(s),i:o});else if(N(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,F(t)?t.split(`.`):t,0),r?n:n[0]}var Ue={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},We={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},Ge={location:0,threshold:.6,distance:100},Ke={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:He,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Y=Object.freeze({...We,...Ue,...Ge,...Ke});function X(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 qe=class{constructor({getFn:e=Y.getFn,fieldNormWeight:t=Y.fieldNormWeight}={}){this.norm=X(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(F(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(B);if(F(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(B);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!L(e)||R(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(L(i)){if(N(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(L(n)){if(F(n)){if(!R(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(L(n.v)){let t=F(n.v)?n.v:P(n.v);if(!R(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(F(i)&&!R(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 Je(e,t,{getFn:n=Y.getFn,fieldNormWeight:r=Y.fieldNormWeight}={}){let i=new qe({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(q)),i.setSources(t),i.create(),i}function Ye(e,{getFn:t=Y.getFn,fieldNormWeight:n=Y.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new qe({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Xe(e=[],t=Y.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 Z(e,t,n,{location:r=Y.location,distance:i=Y.distance,threshold:a=Y.threshold,findAllMatches:o=Y.findAllMatches,minMatchCharLength:s=Y.minMatchCharLength,includeMatches:c=Y.includeMatches,ignoreLocation:l=Y.ignoreLocation}={}){if(t.length>32)throw Error(H(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=Xe(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function Ze(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 Qe(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 $e={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},et=RegExp(`[`+Object.keys($e).join(``)+`]`,`g`),tt=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(et,e=>$e[e]):e=>e,nt=class{constructor(e,{location:t=Y.location,threshold:n=Y.threshold,distance:r=Y.distance,includeMatches:i=Y.includeMatches,findAllMatches:a=Y.findAllMatches,minMatchCharLength:o=Y.minMatchCharLength,isCaseSensitive:s=Y.isCaseSensitive,ignoreDiacritics:c=Y.ignoreDiacritics,ignoreLocation:l=Y.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?tt(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Ze(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?tt(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}=Z(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=Qe(u)),p}},rt=new Set([`fuzzy`,`include`]);function it(e){return e.startsWith(`inverse`)}var at=[{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 nt(e,{location:t.location??Y.location,threshold:t.threshold??Y.threshold,distance:t.distance??Y.distance,includeMatches:t.includeMatches??Y.includeMatches,findAllMatches:t.findAllMatches??Y.findAllMatches,minMatchCharLength:t.minMatchCharLength??Y.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??Y.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??Y.ignoreDiacritics,ignoreLocation:t.ignoreLocation??Y.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],ot=at.length,st=`\0`,ct=`|`;function lt(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 ut(e,t){let n=e.match(t);return n?n[1]:null}function dt(e,t={}){return e.replace(/\\\|/g,st).split(ct).map(e=>{let n=lt(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<ot;){let e=at[o],n=ut(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<ot;){let e=at[o],n=ut(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var ft=class{constructor(e,{isCaseSensitive:t=Y.isCaseSensitive,ignoreDiacritics:n=Y.ignoreDiacritics,includeMatches:r=Y.includeMatches,minMatchCharLength:i=Y.minMatchCharLength,ignoreLocation:a=Y.ignoreLocation,findAllMatches:o=Y.findAllMatches,location:s=Y.location,threshold:c=Y.threshold,distance:l=Y.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?tt(e):e,this.pattern=e,this.query=dt(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?tt(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,it(r.type)&&(c=!0),n&&(rt.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=Qe(o)),e}}return{isMatch:!1,score:1}}},pt=[];function mt(...e){pt.push(...e)}function ht(e,t){for(let n=0,r=pt.length;n<r;n+=1){let r=pt[n];if(r.condition(e,t))return new r(e,t)}return new nt(e,t)}var gt={AND:`$and`,OR:`$or`},Q={PATH:`$path`,PATTERN:`$val`},_t=e=>!!(e[gt.AND]||e[gt.OR]),vt=e=>!!e[Q.PATH],yt=e=>!N(e)&&Le(e)&&!_t(e),bt=e=>({[gt.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function xt(e,t,{auto:n=!0}={}){let r=e=>{if(F(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=ht(e,t)),r}let i=Object.keys(e),a=vt(e);if(!a&&i.length>1&&!_t(e))return r(bt(e));if(yt(e)){let r=a?e[Q.PATH]:i[0],o=a?e[Q.PATTERN]:e[r];if(!F(o))throw Error(V(r));let s={keyId:Ve(r),pattern:o};return n&&(s.searcher=ht(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];N(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return _t(e)||(e=bt(e)),r(e)}function St(e,{ignoreFieldNorm:t=Y.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 Ct(e,{ignoreFieldNorm:t=Y.ignoreFieldNorm}){e.forEach(e=>{e.score=St(e.matches,{ignoreFieldNorm:t})})}var wt=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 Tt(e){let t=[];return e.matches.forEach(e=>{if(!L(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 Et(e,t,{includeMatches:n=Y.includeMatches,includeScore:r=Y.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=Tt(e)),r&&(a.score=e.score),a})}var Dt=/[\p{L}\p{M}\p{N}_]+/gu,Ot=new WeakSet;function kt(e){Ot.has(e)||(Ot.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 At(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||kt(e),t=>t.match(e)||[]):e=>e.match(Dt)||[]}function jt({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=At(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=tt(n)),r(n)}}}var Mt=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=jt({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 nt(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=Qe(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function Nt(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 Pt(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){Nt(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)Nt(e,t.v,i,r);else Nt(e,n.v,i,r)}}function Ft(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)Pt(r,i,t,n);return r}function It(e,t,n,r){Pt(e,t,n,r)}function Lt(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 Rt(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)Lt(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={...Y,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new K(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=ht(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 qe))throw Error(z);if(this._myIndex=t||Je(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=jt({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=Ft(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!L(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=jt({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});It(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&&Rt(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(B);this._invertedIndex&&Rt(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(F(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return I(n)&&n>-1&&(e=e.slice(0,n)),e}let c=I(n)&&n>0&&F(e),l;if(c){let t=new wt(n);F(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=F(e)?F(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Ct(l,{ignoreFieldNorm:s}),a&&l.sort(o),I(n)&&n>-1&&(l=l.slice(0,n));return Et(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(!L(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=St(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=xt(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===gt.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(L(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(!L(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=St(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!L(t))return[];let r=[];if(N(t))t.forEach(({v:t,i,n:a})=>{if(!L(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=Je,$.parseIndex=Ye,$.config=Y,$.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(W);return ht(e,{...Y,...n}).searchIn(t)},$.parseQuery=xt,mt(ft),mt(Mt),$.use=function(...e){e.forEach(e=>mt(e))};var zt=$,Bt=D(`<span class="arrow svelte-13hq4tl" aria-hidden="true">›</span>`),Vt=D(`<hr class="svelte-13hq4tl"/>`),Ht=D(`<button role="menuitem" tabindex="-1" class="svelte-13hq4tl"> </button>`),Ut=D(`<!> <!>`,1),Wt=D(`<div role="menu" tabindex="-1"></div>`),Gt=D(`<div class="submenu-anchor svelte-13hq4tl" role="presentation"><button class="submenu-trigger svelte-13hq4tl" role="menuitem"><span> </span> <!></button> <!></div>`);function Kt(o,l){ie(l,!0);let d=T(l,`alwaysSubmenu`,3,!1),h=_(void 0),g=_(void 0),S=_(!1),w=_(!1),ne=_(240),E=y(()=>l.sections.filter(e=>e.length>0)),D=y(()=>i(E).flat()),k=y(()=>d()||i(D).length>1);async function re(e=!1){if(!i(k)||(v(S,!0),await c(),!i(h)||!i(g)))return;let t=i(h).getBoundingClientRect();v(w,t.right+i(g).offsetWidth+8>window.innerWidth),v(ne,Math.max(32,window.innerHeight-t.top-8),!0),e&&i(g).querySelector(`[role="menuitem"]`)?.focus()}function ae(e){if(!i(k)){let e=i(D)[0];e&&l.onSelect(e.value);return}e.stopPropagation(),re()}function oe(e){!i(k)||e.key!==`ArrowRight`&&e.key!==`ArrowDown`||(e.preventDefault(),e.stopPropagation(),re(!0))}function se(e){if(e.key===`ArrowLeft`||e.key===`Escape`){e.preventDefault(),e.stopPropagation(),v(S,!1),i(h)?.focus();return}if(!i(g))return;let t=[...i(g).querySelectorAll(`[role="menuitem"]`)],n=t.indexOf(document.activeElement),r;if(e.key===`ArrowDown`)r=(n+1)%t.length;else if(e.key===`ArrowUp`)r=(n-1+t.length)%t.length;else if(e.key===`Home`)r=0;else if(e.key===`End`)r=t.length-1;else return;e.preventDefault(),e.stopPropagation(),t[r]?.focus()}var ce=Gt(),j=a(ce),le=a(j),ue=a(le,!0);x(le);var de=A(le,2),fe=e=>{n(e,Bt())};m(de,e=>{i(k)&&e(fe)}),x(j),b(j,e=>v(h,e),()=>i(h));var pe=A(j,2),me=o=>{var c=Wt();let d,f;p(c,21,()=>i(E),t,(t,o,c)=>{var d=Ut(),f=s(d),h=e=>{n(e,Vt())};m(f,e=>{c>0&&e(h)}),p(A(f,2),17,()=>i(o),e=>e.value,(t,o)=>{var s=Ht(),c=a(s,!0);x(s),e(()=>r(c,i(o).label)),u(`click`,s,()=>l.onSelect(i(o).value)),n(t,s)}),n(t,d)}),x(c),b(c,e=>v(g,e),()=>i(g)),e(()=>{d=ee(c,1,`submenu svelte-13hq4tl`,null,d,{"opens-left":i(w)}),O(c,`aria-label`,l.label),f=te(c,``,f,{"max-height":`${i(ne)}px`})}),u(`keydown`,c,se),n(o,c)};m(pe,e=>{i(k)&&i(S)&&e(me)}),x(ce),e(()=>{O(j,`aria-haspopup`,i(k)?`menu`:void 0),O(j,`aria-expanded`,i(k)?i(S):void 0),r(ue,l.label)}),f(`mouseenter`,ce,()=>void re()),f(`mouseleave`,ce,()=>v(S,!1)),u(`focusout`,ce,e=>{e.currentTarget.contains(e.relatedTarget)||v(S,!1)}),u(`click`,j,ae),u(`keydown`,j,oe),n(o,ce),C()}l([`focusout`,`click`,`keydown`]);var qt=D(`<button role="menuitem" class="svelte-109nkvw">Rename</button>`),Jt=D(`<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(t,o){ie(o,!0);let s=y(()=>Math.max(8,Math.min(o.x,window.innerWidth-176))),c=y(()=>o.assetCount===1&&o.copyOptions.length>0),l=y(()=>2+ +!!i(c)+ +!!o.onRename),d=y(()=>Math.max(8,Math.min(o.y,window.innerHeight-(i(l)*32+17)))),p=/Mac|iPhone|iPad/.test(navigator.platform)?`Open in Finder`:/Win/.test(navigator.platform)?`Open in Explorer`:`Open in File Manager`;function h(e){e(),o.onClose()}var _=Jt();f(`click`,g,function(...e){o.onClose?.apply(this,e)}),f(`blur`,g,function(...e){o.onClose?.apply(this,e)}),f(`keydown`,g,e=>e.key===`Escape`&&o.onClose()),f(`resize`,g,function(...e){o.onClose?.apply(this,e)}),f(`scroll`,g,function(...e){o.onClose?.apply(this,e)});let v;var b=a(_),S=e=>{{let t=y(()=>[o.copyOptions.slice(0,1).map(e=>({label:e,value:e})),o.copyOptions.slice(1).map(e=>({label:e,value:e}))]);Kt(e,{label:`Copy Asset ID`,get sections(){return i(t)},alwaysSubmenu:!0,onSelect:e=>h(()=>o.onCopy(e))})}};m(b,e=>{i(c)&&e(S)});var w=A(b,2),ee=e=>{var t=qt();u(`click`,t,()=>h(o.onRename)),n(e,t)};m(w,e=>{o.onRename&&e(ee)});var T=A(w,2),ne=a(T,!0);x(T);var E=A(T,4),D=a(E,!0);x(E),x(_),e(()=>{v=te(_,``,v,{left:`${i(s)}px`,top:`${i(d)}px`}),r(ne,o.assetCount===1?`Delete Asset`:`Delete ${o.assetCount} Assets`),r(D,p)}),u(`contextmenu`,_,e=>e.preventDefault()),u(`click`,T,()=>h(o.onDelete)),u(`click`,E,()=>h(o.onReveal)),n(t,_),C()}l([`contextmenu`,`click`]);var Xt=D(`<span class="emoji svelte-1b4m5oj"> </span>`),Zt=D(`<span><!> <span class="name svelte-1b4m5oj"> </span></span>`);function Qt(t,o){ie(o,!0);let s=T(o,`variant`,3,`chip`),c=T(o,`passive`,3,!1),l=T(o,`via`,19,()=>[]),u=y(()=>M.manifestAppearance(o.name)),d=y(()=>i(u).color??`var(--accent)`),f=y(()=>c()?`${o.name} — passive member${l().length>0?`, via ${l().join(`, `)}`:``}`:o.name);var p=Zt();let h;var g=a(p),_=t=>{var o=Xt(),s=a(o,!0);x(o),e(()=>r(s,i(u).emoji)),n(t,o)};m(g,e=>{i(u).emoji&&e(_)});var v=A(g,2),b=a(v,!0);x(v),x(p),e(()=>{h=ee(p,1,`manifest-label ${s()??``}`,`svelte-1b4m5oj`,h,{passive:c()}),te(p,`--manifest-color: ${i(d)??``}`),O(p,`title`,i(f)),r(b,o.name)}),n(t,p),C()}function $t(e){return[e.id,...e.manifests.map(t=>`${t}.${e.id}`)]}var en=D(`<span class="selection-summary svelte-1uha8ag"> </span> <button class="control">Select all shown</button> <button class="control">Clear</button>`,1),tn=D(`<button class="control">Select All</button>`),nn=D(`<option> </option>`),rn=D(`<div class="empty svelte-1uha8ag">Loading library…</div>`),an=D(`<div class="empty svelte-1uha8ag"> </div>`),on=D(`<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=D(`<section class="section folder-section svelte-1uha8ag"><!> <div class="folder-grid svelte-1uha8ag"></div></section>`),cn=D(`<span class="section-emoji svelte-1uha8ag"> </span>`),ln=D(`<!> `,1),un=D(`<span class="badge warning svelte-1uha8ag">⚠</span>`),dn=D(`<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=D(`<section class="section svelte-1uha8ag"><!> <div class="grid svelte-1uha8ag"></div></section>`),pn=D(`<!> <!>`,1),mn=D(`<div class="drop-hint svelte-1uha8ag"> </div>`),hn=D(`<p class="dialog-warning svelte-1uha8ag"> </p>`),gn=D(`<p class="dialog-warning svelte-1uha8ag">An asset with this ID already exists.</p>`),_n=D(`<label class="dialog-row svelte-1uha8ag"><span class="svelte-1uha8ag">ID</span> <input class="control svelte-1uha8ag" spellcheck="false"/></label> <!> <!> <!> <!>`,1),vn=D(`<p class="dialog-text svelte-1uha8ag"> </p> <!> <!>`,1),yn=D(`<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(t,l){ie(l,!0);let te=`fundus.gallery.sort`,T=`fundus.gallery.folder`;function D(){try{let e=localStorage.getItem(te);if(e===`type`||e===`manifest`||e===`alphabetical`)return e}catch{}return`alphabetical`}let N=_(o(D()));function Fe(){try{let e=localStorage.getItem(T);return e===null||e===`__all__`?null:e}catch{return null}}let P=_(o(Fe())),F=_(`all`),I=_(`all`),Ie=_(``),Le=_(!1),Re=_(!1),L=_(null),R=_(null),ze=_(``),z=_(null),B=_(null),V=_(null),H=_(``),Be=_(void 0),U=_(o([])),W=_(null),G=_(null),K=_(!1),q=_(null),J=0,Ve=_(null),He=0,Ue=_(null),We=0,Ge=_(null),Ke=0,Y=_(o([])),X=_(null),qe=_(void 0),Je=_(void 0),Ye=xe().join(`,`),Xe=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘K`:`Ctrl K`;h(()=>{try{localStorage.setItem(te,i(N))}catch{}}),h(()=>{try{localStorage.setItem(T,i(P)??`__all__`)}catch{}});let Z=y(()=>M.state?.assets??[]),Ze=y(()=>i(V)!==null&&i(H)!==i(V)?de(i(H)):null),Qe=y(()=>i(V)!==null&&i(Z).some(e=>e.id!==i(V)&&e.id===i(H))),$e=y(()=>i(V)!==null&&i(H)!==i(V)&&i(Ze)===null&&!i(Qe)&&!i(K)),et=y(()=>i(V)===null?[]:(i(Z).find(e=>e.id===i(V))?.references.incoming??[]).map(e=>`${e.assetId}.${e.field} → ${i(V)}`)),tt=y(()=>new Set(i(U))),nt=y(()=>i(U).flatMap(e=>(i(Z).find(t=>t.id===e)?.references.incoming??[]).filter(e=>!i(tt).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e}`))),rt=y(()=>M.state?.library.folders??[]),it=y(()=>M.manifestNames),at=y(()=>[...new Set(i(Z).map(e=>e.type))].sort()),ot=y(()=>i(Ie).trim()),st=y(()=>new zt(i(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})),ct=y(()=>i(ot)===``?null:new Set(i(st).search(i(ot)).map(({item:e})=>e.id))),lt=y(()=>i(rt).map(e=>({path:e,name:ve(e)}))),ut=y(()=>new zt(i(lt),{keys:[{name:`name`,weight:.7},{name:`path`,weight:.3}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),dt=y(()=>i(ot)===``?null:new Set(i(ut).search(i(ot)).map(({item:e})=>e.path))),ft=y(()=>i(P)===null?[]:i(rt).filter(e=>j(e)===i(P)).sort((e,t)=>e.localeCompare(t))),pt=y(()=>i(dt)===null?i(ft):i(ft).filter(e=>i(dt).has(e)));h(()=>{M.state&&i(P)!==null&&i(P)!==``&&!i(rt).includes(i(P))&&v(P,null)});let mt=y(()=>i(Z).filter(e=>!(i(P)!==null&&e.folder!==i(P)||i(ct)!==null&&!i(ct).has(e.id)||i(F)!==`all`&&e.type!==i(F)||i(I)!==`all`&&!e.manifests.includes(i(I))&&!e.passiveManifests.some(e=>e.manifest===i(I))||i(Le)&&e.warnings.length===0))),ht=(e,t)=>e.id.localeCompare(t.id),gt=y(()=>{let e=[...i(mt)].sort(ht);if(i(N)===`alphabetical`)return[{key:`all`,heading:null,assets:e}];if(i(N)===`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 i(it)){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:M.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=y(()=>[...new Set(i(gt).flatMap(e=>e.assets.map(e=>e.id)))]);h(()=>{let e=new Set(i(Z).map(e=>e.id)),t=i(Y).filter(t=>e.has(t));t.length!==i(Y).length&&v(Y,t,!0)});function _t(e){Ne.begin(),v(P,e,!0),v(Y,[],!0),v(X,null)}function vt(e,t){if(t&&i(X)!==null){let t=i(Q).indexOf(i(X)),n=i(Q).indexOf(e);if(t!==-1&&n!==-1){let r=Math.min(t,n),a=Math.max(t,n);v(Y,[...new Set([...i(Y),...i(Q).slice(r,a+1)])],!0),v(X,e,!0);return}}v(Y,i(Y).includes(e)?i(Y).filter(t=>t!==e):[...i(Y),e],!0),v(X,e,!0)}function yt(){v(Y,[...i(Q)],!0),v(X,i(Q).at(-1)??null,!0)}function bt(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 xt(e){e.preventDefault(),v(Re,!1);let t=e.dataTransfer?.files?.[0];t&&(v(ze,i(P)??``,!0),v(L,t,!0))}function St(e){v(ze,e,!0),i(qe)?.click()}function Ct(e){He+=1,v(Ve,{id:He,parent:e},!0)}function wt(e){We+=1,v(Ue,{id:We,path:e},!0)}function Tt(e){Ke+=1,v(Ge,{id:Ke,path:e},!0)}function Et(e){e.preventDefault(),v(B,null),v(z,{x:e.clientX,y:e.clientY,parent:i(P)??``,renamePath:null},!0)}function Dt(e,t){e.preventDefault(),e.stopPropagation(),v(B,null),v(z,{x:e.clientX,y:e.clientY,parent:t,renamePath:t},!0)}function Ot(e,t){e.preventDefault(),e.stopPropagation(),v(z,null);let n=i(Y).includes(t)?[...i(Y)]:[t];i(Y).includes(t)||(v(Y,[t],!0),v(X,t,!0)),v(B,{x:e.clientX,y:e.clientY,assetIds:n,targetAssetId:t},!0)}function kt(e){J+=1,v(V,e,!0),v(H,e,!0),v(q,null),c().then(()=>{i(Be)?.focus(),i(Be)?.select()})}function At(e){J+=1,v(U,[...new Set(e)],!0),v(q,null)}async function jt(e){try{await Se(e),M.error=null}catch(e){M.error=e instanceof Error?e.message:String(e)}}function Mt(e){let t=M.assetById(e);return t?$t(t):[e]}async function Nt(e){try{await navigator.clipboard.writeText(e),M.error=null}catch(e){M.error=`Could not copy asset ID: ${e instanceof Error?e.message:String(e)}`}}async function Pt(e){try{await be(e),M.error=null}catch(e){M.error=e instanceof Error?e.message:String(e)}}function Ft(){i(K)||(J+=1,v(V,null),v(U,[],!0),v(q,null))}async function It(){if(!i($e)||i(V)===null)return;let e=i(V),t=i(H);v(K,!0),v(q,null);let n=M.mutate(()=>me(e,{renameTo:t}),Ce(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});v(Y,i(Y).map(n=>n===e?t:n),!0),v(X,i(X)===e?t:i(X),!0),v(V,null);let r=++J;v(K,!1);try{await n}catch(n){let a=M.assetById(e)!==null;a&&(v(Y,i(Y).map(n=>n===t?e:n),!0),v(X,i(X)===t?e:i(X),!0)),a&&J===r&&(v(V,e,!0),v(H,t,!0),v(q,n instanceof Error?n.message:String(n),!0))}finally{v(K,!1)}}async function Lt(){if(i(U).length===0)return;let e=[...i(U)],t=[...i(Y)],n=i(X);v(K,!0),v(q,null);let r=M.mutate(()=>pe(e),ge(e),{dependencies:e.map(e=>`asset:${e}`),invalidatesOnFailure:e.map(e=>`asset:${e}`)}),a=new Set(e);v(Y,i(Y).filter(e=>!a.has(e)),!0),i(X)!==null&&a.has(i(X))&&v(X,null);let o=[...i(Y)],s=i(X);v(U,[],!0);let c=++J;v(K,!1);try{await r}catch(r){let a=new Set(e.filter(e=>M.assetById(e)));a.size>0&&i(Y).length===o.length&&i(Y).every((e,t)=>e===o[t])&&i(X)===s&&(v(Y,t.filter(e=>a.has(e)),!0),v(X,n!==null&&a.has(n)?n:null,!0)),a.size>0&&J===c&&(v(U,e.filter(e=>a.has(e)),!0),v(q,r instanceof Error?r.message:String(r),!0))}finally{v(K,!1)}}function Rt(e){return i(Z).filter(t=>t.folder===e).length}function $(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&v(L,n,!0)}async function Bt(e){v(L,null),v(R,null),await ce(se(`/asset/[id]`,{id:e}))}async function Vt(e,t){let n=e.filter(e=>M.assetById(e)?.folder!==t);if(n.length===0)return;let r=[...new Set([t,...n.flatMap(e=>{let t=M.assetById(e)?.folder;return t===void 0?[]:[t]})])],a=[...i(Y)],o=i(X),s=M.mutate(()=>le(n,t),_e(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]});v(Y,[],!0),v(X,null);try{await s}catch{n.some(e=>M.assetById(e)?.folder!==t)&&i(Y).length===0&&i(X)===null&&(v(Y,a,!0),v(X,o,!0))}}function Ht(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,r=Ee(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,i(W),t,i(rt));!n&&!r||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),v(G,t,!0))}function Ut(e,t){e.preventDefault(),v(G,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`)&&Vt(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`);r&&we(r,t,i(rt))&&Wt(r,t)}async function Wt(e,t){let n=fe(t,ve(e)),r=i(P),a=r,o=M.mutate(()=>he(e,t),ye(e,t),{dependencies:[`folder:${e}`,`folder:${t}`,`folder:${n}`],invalidatesOnFailure:[`folder:${e}`,`folder:${n}`]});i(P)!==null&&ue(i(P),e)&&(a=`${n}${i(P).slice(e.length)}`,_t(a));try{await o}catch{i(P)===a&&i(rt).some(t=>ue(t,e))&&_t(r)}finally{v(W,null),v(G,null)}}function Gt(e){e&&e.play().catch(()=>{})}function Kt(e){e&&(e.pause(),e.currentTime=0)}function qt(e){e.defaultPrevented||e.altKey||e.shiftKey||!e.metaKey&&!e.ctrlKey||e.key.toLowerCase()!==`k`||document.querySelector(`[role="dialog"]`)!==null||(e.preventDefault(),i(Je)?.focus(),i(Je)?.select())}var Jt=yn();f(`keydown`,g,qt),f(`dragenter`,g,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),v(Re,!0))}),f(`dragover`,g,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),v(Re,!0))}),f(`drop`,g,xt);var Xt=s(Jt),Zt=a(Xt);Oe(Zt,{get selectedFolder(){return i(P)},get createRequest(){return i(Ve)},get renameRequest(){return i(Ue)},get deleteRequest(){return i(Ge)},onSelect:_t,onMoveAssets:(e,t)=>void Vt(e,t),get sharedDraggedFolder(){return i(W)},onFolderDragStart:e=>v(W,e,!0),onFolderDragEnd:()=>v(W,null),onContextMenu:(e,t,n,r)=>{v(B,null),v(z,{x:e,y:t,parent:n,renamePath:r},!0)}});var bn=A(Zt,2);let xn;var Sn=a(bn),Cn=a(Sn),wn=t=>{var o=en(),c=s(o),l=a(c);x(c);var d=A(c,2),f=A(d,2);e(()=>r(l,`${i(Y).length??``} selected`)),u(`click`,d,yt),u(`click`,f,()=>{v(Y,[],!0),v(X,null)}),n(t,o)},Tn=t=>{var r=tn();e(()=>r.disabled=i(Q).length===0),u(`click`,r,yt),n(t,r)};m(Cn,e=>{i(Y).length>0?e(wn):e(Tn,-1)});var En=A(Cn,2),Dn=A(En,2),On=A(Dn,2);b(On,e=>v(qe,e),()=>i(qe)),x(Sn);var kn=A(Sn,2),An=a(kn),jn=a(An);jn.value=jn.__value=`alphabetical`;var Mn=A(jn);Mn.value=Mn.__value=`type`;var Nn=A(Mn);Nn.value=Nn.__value=`manifest`,x(An);var Pn=A(An,2),Fn=a(Pn);Fn.value=Fn.__value=`all`,p(A(Fn),16,()=>i(at),e=>e,(t,i)=>{var o=nn(),s=a(o,!0);x(o);var c={};e(()=>{r(s,i),c!==(c=i)&&(o.value=(o.__value=i)??``)}),n(t,o)}),x(Pn);var In=A(Pn,2),Ln=a(In);Ln.value=Ln.__value=`all`,p(A(Ln),16,()=>i(it),e=>e,(t,o)=>{let s=y(()=>M.manifestAppearance(o).emoji);var c=nn(),l=a(c,!0);x(c);var u={};e(()=>{r(l,i(s)?`${i(s)} ${o}`:o),u!==(u=o)&&(c.value=(c.__value=o)??``)}),n(t,c)}),x(In);var Rn=A(In,2),zn=A(a(Rn),2);S(zn),b(zn,e=>v(Je,e),()=>i(Je));var Bn=A(zn,2),Vn=a(Bn,!0);x(Bn),x(Rn);var Hn=A(Rn,2),Un=a(Hn);S(Un),ne(),x(Hn),x(kn);var Wn=A(kn,2),Gn=e=>{n(e,rn())},Kn=t=>{var o=an(),s=a(o,!0);x(o),e(()=>r(s,i(Z).length===0?`No assets yet — drop an image anywhere to import it.`:`Nothing matches the current filters.`)),n(t,o)},qn=t=>{var o=pn(),c=s(o),l=t=>{var o=sn(),s=a(o);De(s,{children:(e,t)=>{ne(),n(e,E(`Folders`))},$$slots:{default:!0}});var c=A(s,2);p(c,20,()=>i(pt),e=>e,(t,o)=>{var s=on();let c;var l=a(s);Ae(a(l),{size:18}),x(l);var d=A(l,2),p=a(d),m=a(p,!0);x(p);var h=A(p,2),g=a(h);x(h),x(d),ne(2),x(s),e((e,t)=>{c=ee(s,1,`folder-card svelte-1uha8ag`,null,c,{"drop-target":i(G)===o,"dragging-folder":i(W)===o}),r(m,e),r(g,`${t??``} assets`)},[()=>ve(o),()=>Rt(o)]),u(`click`,s,()=>_t(o)),u(`contextmenu`,s,e=>Dt(e,o)),f(`dragstart`,s,e=>{v(W,o,!0),e.dataTransfer?.setData(`application/x-fundus-folder`,o),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),f(`dragend`,s,()=>{v(W,null),v(G,null)}),f(`dragover`,s,e=>Ht(e,o)),f(`dragleave`,s,()=>v(G,null)),f(`drop`,s,e=>Ut(e,o)),n(t,s)}),x(c),x(o),n(t,o)};m(c,e=>{i(pt).length>0&&e(l)});var h=A(c,2),g=t=>{var o=d();p(s(o),17,()=>i(gt),e=>e.key,(t,o)=>{var c=fn(),l=a(c),h=t=>{De(t,{children:(t,c)=>{var l=ln(),u=s(l),d=t=>{var s=cn(),c=a(s,!0);x(s),e(()=>r(c,i(o).emoji)),n(t,s)};m(u,e=>{i(o).emoji&&e(d)});var f=A(u,1,!0);e(()=>r(f,i(o).heading)),n(t,l)},$$slots:{default:!0}})};m(l,e=>{i(o).heading&&e(h)});var g=A(l,2);p(g,21,()=>i(o).assets,e=>e.id,(t,o)=>{let c=y(()=>Te[i(o).type]?.thumbnail);var l=dn();let h;var g=a(l);S(g);var _=A(g,2),v=a(_),b=e=>{var t=d();oe(s(t),()=>i(c),(e,t)=>{t(e,{get asset(){return i(o)}})}),n(e,t)};m(v,e=>{i(c)&&e(b)}),x(_);var C=A(_,2),w=a(C),te=a(w,!0);x(w);var T=A(w,2),ne=a(T,!0);x(T),x(C);var E=A(C,2),D=a(E);p(D,16,()=>i(o).manifests,e=>e,(e,t)=>{Qt(e,{get name(){return t}})});var k=A(D,2);p(k,17,()=>i(o).passiveManifests,e=>e.manifest,(e,t)=>{Qt(e,{get name(){return i(t).manifest},passive:!0,get via(){return i(t).via}})}),p(A(k,2),16,()=>i(o).warnings,e=>e,(t,r)=>{var i=un();e(()=>O(i,`title`,r)),n(t,i)}),x(E),x(l),e((e,t,n)=>{h=ee(l,1,`card svelte-1uha8ag`,null,h,e),O(l,`data-asset-id`,i(o).id),O(l,`href`,t),ae(g,n),O(g,`aria-label`,`Select ${i(o).id}`),r(te,i(o).id),r(ne,i(o).type)},[()=>({selected:i(Y).includes(i(o).id)}),()=>se(`/asset/[id]`,{id:i(o).id}),()=>i(Y).includes(i(o).id)]),u(`contextmenu`,l,e=>Ot(e,i(o).id)),u(`click`,l,e=>{(i(Y).length>0||e.metaKey||e.ctrlKey||e.shiftKey)&&(e.preventDefault(),vt(i(o).id,e.shiftKey))}),f(`dragstart`,l,e=>{let t=i(Y).includes(i(o).id)?i(Y):[i(o).id];e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify(t)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`),bt(e,t)}),f(`focus`,l,e=>Gt(e.currentTarget.querySelector(`video`))),f(`blur`,l,e=>Kt(e.currentTarget.querySelector(`video`))),u(`click`,g,e=>{e.stopPropagation(),vt(i(o).id,e.shiftKey)}),n(t,l)}),x(g),x(c),n(t,c)}),n(t,o)};m(h,e=>{i(mt).length>0&&e(g)}),n(t,o)};m(Wn,e=>{M.state?i(mt).length===0&&i(pt).length===0?e(Kn,1):e(qn,-1):e(Gn)});var Jn=A(Wn,2),Yn=t=>{var o=mn(),s=a(o);x(o),e(()=>r(s,`Drop to import into ${(i(P)||`Root`)??``}`)),n(t,o)};m(Jn,e=>{i(Re)&&e(Yn)}),x(bn),x(Xt);var Xn=A(Xt,2),Zn=e=>{{let t=y(()=>i(z).renamePath===null?void 0:()=>wt(i(z)?.renamePath??``)),n=y(()=>i(z).renamePath===null?void 0:()=>Tt(i(z)?.renamePath??``));Me(e,{get x(){return i(z).x},get y(){return i(z).y},onReveal:()=>void Pt(i(z)?.renamePath??i(z)?.parent??``),onNewDirectory:()=>Ct(i(z)?.parent??``),get onRenameDirectory(){return i(t)},onImportFile:()=>St(i(z)?.parent??``),onImportFigma:()=>v(R,i(z)?.parent??``,!0),get onDeleteDirectory(){return i(n)},onClose:()=>v(z,null)})}};m(Xn,e=>{i(z)&&e(Zn)});var Qn=A(Xn,2),$n=e=>{{let t=y(()=>Mt(i(B).targetAssetId)),n=y(()=>i(B).assetIds.length===1?()=>kt(i(B)?.assetIds[0]??``):void 0);Yt(e,{get x(){return i(B).x},get y(){return i(B).y},get assetCount(){return i(B).assetIds.length},get copyOptions(){return i(t)},onCopy:e=>void Nt(e),onReveal:()=>void jt(i(B)?.targetAssetId??``),get onRename(){return i(n)},onDelete:()=>At(i(B)?.assetIds??[]),onClose:()=>v(B,null)})}};m(Qn,e=>{i(B)&&e($n)});var er=A(Qn,2),tr=t=>{{let o=y(()=>i(K)?`Renaming…`:`Rename`),c=y(()=>!i($e));Pe(t,{title:`Rename asset`,get confirmLabel(){return i(o)},get confirmDisabled(){return i(c)},get busy(){return i(K)},onConfirm:()=>void It(),onCancel:Ft,children:(t,o)=>{var c=_n(),l=s(c),u=A(a(l),2);S(u),b(u,e=>v(Be,e),()=>i(Be)),x(l);var d=A(l,2),f=t=>{var o=hn(),s=a(o,!0);x(o),e(()=>r(s,i(Ze))),n(t,o)};m(d,e=>{i(Ze)&&e(f)});var p=A(d,2),h=e=>{n(e,gn())};m(p,e=>{i(Qe)&&e(h)});var g=A(p,2),_=t=>{var o=hn(),s=a(o);x(o),e(e=>r(s,`Renaming leaves ${i(et).length??``} reference(s) pointing to the old ID:
2
+ ${e??``}`),[()=>i(et).join(`, `)]),n(t,o)};m(g,e=>{i(et).length>0&&e(_)});var y=A(g,2),C=t=>{var o=hn(),s=a(o,!0);x(o),e(()=>r(s,i(q))),n(t,o)};m(y,e=>{i(q)&&e(C)}),e(()=>u.disabled=i(K)),re(u,()=>i(H),e=>v(H,e)),n(t,c)},$$slots:{default:!0}})}};m(er,e=>{i(V)!==null&&e(tr)});var nr=A(er,2),rr=t=>{{let o=y(()=>i(U).length===1?`Delete asset`:`Delete ${i(U).length} assets`),c=y(()=>i(K)?`Deleting…`:i(U).length===1?`Delete asset`:`Delete ${i(U).length} assets`);Pe(t,{get title(){return i(o)},get confirmLabel(){return i(c)},danger:!0,get busy(){return i(K)},onConfirm:()=>void Lt(),onCancel:Ft,children:(t,o)=>{var c=vn(),l=s(c),u=a(l);x(l);var d=A(l,2),f=t=>{var o=hn(),s=a(o);x(o),e(e=>r(s,`This leaves ${i(nt).length??``} external reference(s) dangling:
3
+ ${e??``}`),[()=>i(nt).join(`, `)]),n(t,o)};m(d,e=>{i(nt).length>0&&e(f)});var p=A(d,2),h=t=>{var o=hn(),s=a(o,!0);x(o),e(()=>r(s,i(q))),n(t,o)};m(p,e=>{i(q)&&e(h)}),e(e=>r(u,`Delete ${e??``}? Their raw files and proxies are removed.`),[()=>i(U).join(`, `)]),n(t,c)},$$slots:{default:!0}})}};m(nr,e=>{i(U).length>0&&e(rr)});var ir=A(nr,2),ar=e=>{je(e,{get file(){return i(L)},get folder(){return i(ze)},onDone:e=>void Bt(e),onCancel:()=>v(L,null)})};m(ir,e=>{i(L)&&e(ar)});var or=A(ir,2),sr=e=>{ke(e,{get folder(){return i(R)},onDone:e=>void Bt(e),onCancel:()=>v(R,null)})};m(or,e=>{i(R)!==null&&e(sr)}),e(()=>{xn=ee(bn,1,`page svelte-1uha8ag`,null,xn,{dragging:i(Re)}),O(On,`accept`,Ye),r(Vn,Xe)}),u(`contextmenu`,bn,Et),f(`dragleave`,bn,e=>{e.relatedTarget===null&&v(Re,!1)}),u(`click`,En,()=>St(i(P)??``)),u(`click`,Dn,()=>v(R,i(P)??``,!0)),u(`change`,On,$),w(An,()=>i(N),e=>v(N,e)),w(Pn,()=>i(F),e=>v(F,e)),w(In,()=>i(I),e=>v(I,e)),u(`keydown`,zn,e=>{e.key===`Escape`&&(e.stopPropagation(),i(Ie)===``?e.currentTarget.blur():v(Ie,``))}),re(zn,()=>i(Ie),e=>v(Ie,e)),k(Un,()=>i(Le),e=>v(Le,e)),n(t,Jt),C()}l([`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/D24lHNM9.js";import"../chunks/xihTtKlq.js";import{t as k}from"../chunks/BT3jFrxa.js";import{H as A,J as j,O as ie,Q as ae,X as M,a as oe,c as se,et as ce,m as le,n as ue,nt as de,p as fe,t as N,u as P}from"../chunks/D0BLX4Qd.js";import{t as pe}from"../chunks/CQrHfI-c.js";import{c as me,l as F,n as he,o as ge,s as _e,t as ve,u as I}from"../chunks/CPFeEkfP.js";function ye(e,t,n){return n===t.revision?e??t:e}var be=x(`<div class="center empty svelte-xy8zsr">Loading…</div>`),xe=x(`<div class="center empty svelte-xy8zsr"> </div>`),Se=x(`<div class="empty svelte-xy8zsr"> </div>`),Ce=x(`<p class="warning svelte-xy8zsr"> </p>`),we=x(`<p class="hint error svelte-xy8zsr"> </p>`),Te=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>`),Ee=x(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),De=x(`<p class="hint svelte-xy8zsr">No references.</p>`),Oe=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>`),ke=x(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),Ae=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>`),je=x(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),Me=x(`<!> <!>`,1),Ne=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),L=x(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <input type="file" hidden=""/> <!> <!> <!>`,1);function R(o,x){T(x,!0);let R=m(()=>k.params.id??``),z=m(()=>N.assetById(r(R))),Pe=m(()=>N.manifestNames),Fe=m(()=>r(z)?N.state?.presetNames[r(z).type]??[]:[]),B=m(()=>r(z)?me[r(z).type]??null:null),Ie=m(()=>r(B)?.panel??null),Le=m(()=>r(B)?.editor??null),V=m(()=>{if(r(z)?.importSource?.importer!==`figma`)return null;let e=r(z).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(`:`,`-`)}`}}),H=f(null),Re=0,U=m(()=>r(z)?r(H)&&r(H).assetId===r(z).id?r(H).value:w(r(z)).parameters:null);function ze(e){r(z)&&p(H,{assetId:r(z).id,value:e,revision:++Re},!0)}let W=null,G=f(null),Be=f(null),Ve=0,He=f(null),Ue=0,We=f(null),Ge=0,K=f(null),q=f(null),Ke=f(``),qe=f(void 0),Je=f(void 0),J=f(null),Ye=f(null),Y=f(null),X=f(null),Xe=f(null),Z=f(``),Q=f(2),Ze=m(()=>r(V)!==null&&(r(Z).trim()!==r(V).url||r(Q)!==r(V).scale));d(()=>{let e=r(V),t=r(z)&&e?`${r(z).id}|${e.fileKey}|${e.nodeId}|${e.scale}`:null;t!==r(Xe)&&(p(Xe,t,!0),p(Z,e?.url??``,!0),p(Q,e?.scale??2,!0),p(X,null))});let Qe=fe().join(`,`),$e=m(()=>r(z)?le(r(z).type).join(`,`):``),et=f(null),$=m(()=>r(z)&&r(et)?.assetId===r(z).id?r(et).value:r(z)?.id??``),tt=m(()=>r(z)&&r($)!==r(z).id?ie(r($))??(N.assetById(r($))?`An asset with this ID already exists.`:null):null);async function nt(e){if(!r(z))return;let t=r(z).id,n=N.state?ue(N.state,t,e):[`asset:${t}`];ze(e);let i=r(H),a=N.mutate(()=>M(t,{parameters:e}),P(t,{parameters:e}),{dependencies:n});r(H)?.revision===i.revision&&p(H,null);try{await a}catch{p(H,ye(r(H),i,Re),!0)}}async function rt(e){if(!r(z))return;let t=r(z).id,n=r(z).manifests.includes(e)?r(z).manifests.filter(t=>t!==e):[...r(z).manifests,e];try{await N.mutate(()=>M(t,{manifests:n}),P(t,{manifests:n}),{dependencies:[`asset:${t}`,...[...new Set([...n,e])].map(e=>`manifest:${e}`)]})}catch{}}async function it(){if(!r(z)||r($)===r(z).id||r(tt))return;let e=r(z).id,t=r($),n=N.mutate(()=>M(e,{renameTo:t}),P(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});p(et,null);let i=r(R)===e?O(D(`/asset/[id]`,{id:t}),{replaceState:!0}):Promise.resolve();try{await Promise.all([n,i])}catch{r(R)===t&&N.assetById(e)&&await O(D(`/asset/[id]`,{id:e}),{replaceState:!0})}}async function at(){if(!r(z))return;let e=r(z).id;if(!confirm(`Delete "${e}"? The raw file and its proxies are removed.`))return;let t=N.mutate(()=>A(e),oe([e]),{dependencies:[`asset:${e}`],invalidatesOnFailure:[`asset:${e}`]}),n=r(R)===e?I.begin():null;W=null;let i=n===null?Promise.resolve():O(D(`/`));try{await Promise.all([t,i])}catch{n!==null&&I.isCurrent(n)&&k.url.pathname===D(`/`)&&N.assetById(e)&&await O(D(`/asset/[id]`,{id:e}))}}async function ot(e,t){let n=I.begin();W=t?{assetId:t,intent:n}:null;try{localStorage.setItem(`fundus.gallery.folder`,e??`__all__`)}catch{}await O(D(`/`))}async function st(e){let t=W;t?.assetId!==e||!I.isCurrent(t.intent)||k.url.pathname!==D(`/`)||!N.assetById(e)||(W=null,await O(D(`/asset/[id]`,{id:e})))}async function ct(e){await ot(e,r(R))}async function lt(e,t){let n=e.filter(e=>N.assetById(e)?.folder!==t);if(n.length===0)return;let r=[...new Set([t,...n.flatMap(e=>{let t=N.assetById(e)?.folder;return t===void 0?[]:[t]})])];try{await N.mutate(()=>j(n,t),se(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]})}catch{}}function ut(e){Ve+=1,p(Be,{id:Ve,parent:e},!0)}function dt(e){Ue+=1,p(He,{id:Ue,path:e},!0)}function ft(e){Ge+=1,p(We,{id:Ge,path:e},!0)}function pt(e){p(Ke,e,!0),r(qe)?.click()}function mt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&p(K,n,!0)}async function ht(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n||!r(z))return;let i=r(z).id;p(J,i,!0),p(Ye,null);try{await N.mutateFromServer(()=>ce(i,n),{dependencies:[`asset:${i}`]})}catch(e){p(Ye,{assetId:i,message:e instanceof Error?e.message:String(e)},!0)}finally{r(J)===i&&p(J,null)}}function gt(){r(z)&&(r(z).importSource&&!confirm(`Replace file and disconnect Figma source? Future re-imports will no longer be available.`)||r(Je)?.click())}async function _t(){if(!r(z)||!r(V))return;let e=r(z).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);let n=r(Ze)?{url:t,scale:r(Q)}:void 0;try{await N.mutateFromServer(()=>ae(e,n),{dependencies:[`asset:${e}`]}),p(Xe,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 vt(e){p(K,null),p(q,null),await O(D(`/asset/[id]`,{id:e}))}async function yt(e){try{await de(e),N.error=null}catch(e){N.error=e instanceof Error?e.message:String(e)}}var bt=L(),xt=a(bt),St=i(xt);{let e=m(()=>r(z)?.folder??null);he(St,{get selectedFolder(){return r(e)},get activeAsset(){return r(z)},get createRequest(){return r(Be)},get renameRequest(){return r(He)},get deleteRequest(){return r(We)},onSelect:e=>void ot(e),onMoveAssets:(e,t)=>void lt(e,t),onActiveAssetDeleted:e=>void ct(e),onActiveAssetDeleteFailed:e=>void st(e),onContextMenu:(e,t,n,r)=>{p(G,{x:e,y:t,parent:n,renamePath:r},!0)}})}var Ct=C(St,2),wt=e=>{t(e,be())},Tt=a=>{var o=xe(),s=i(o);g(o),e(()=>n(s,`No asset with id "${r(R)??``}".`)),t(a,o)},Et=o=>{var d=Ne(),f=a(d),m=i(f),h=e=>{var n=c();E(a(n),()=>r(Le),(e,t)=>{t(e,{get asset(){return r(z)},get parameters(){return r(U)},onParametersChange:ze,onParametersCommit:e=>void nt(e)})}),t(e,n)},v=a=>{var o=Se(),s=i(o);g(o),e(()=>n(s,`No editor registered for asset type "${r(z).type??``}".`)),t(a,o)};u(m,e=>{r(Le)&&r(U)!==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(z).warnings,e=>e,(r,a)=>{var o=Ce(),s=i(o);g(o),e(()=>n(s,`⚠ ${a??``}`)),t(r,o)}),g(w);var ae=C(w,2),M=e=>{var n=c();E(a(n),()=>r(Ie),(e,t)=>{t(e,{get asset(){return r(z)},get parameters(){return r(U)},onParametersChange:e=>ze(e),onParametersCommit:e=>void nt(e),get presetNames(){return r(Fe)}})}),t(e,n)};u(ae,e=>{r(Ie)&&r(U)!==null&&e(M)});var oe=C(ae,2),se=a=>{var o=Te(),c=i(o);F(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=we(),s=i(o,!0);g(o),e(()=>n(s,r(X).message)),t(a,o)};u(j,e=>{r(X)?.assetId===r(z).id&&e(ie)}),g(o),e(e=>{n(d,`Figma · node ${r(V).nodeId??``}`),m.disabled=r(Y)===r(z).id,_.disabled=r(Y)===r(z).id,S(D,`href`,r(V).url),k=ne(O,1,`control svelte-xy8zsr`,null,k,{primary:r(Ze)}),O.disabled=e,n(A,r(Y)===r(z).id?r(Ze)?`Reimporting…`:`Refreshing…`:r(Ze)?`Reimport from Figma`:`Refresh`)},[()=>r(Y)===r(z).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 _t()),t(a,o)};u(oe,e=>{r(V)&&e(se)});var ce=C(oe,2),le=i(ce);F(le,{children:(e,n)=>{y(),t(e,b(`Manifests`))},$$slots:{default:!0}});var ue=C(le,2),de=e=>{t(e,Ee())},fe=e=>{pe(e,{get manifests(){return r(Pe)},get selected(){return r(z).manifests},get passive(){return r(z).passiveManifests},onToggle:e=>void rt(e)})};u(ue,e=>{r(Pe).length===0?e(de):e(fe,-1)}),g(ce);var N=C(ce,2),P=i(N);F(P,{children:(e,n)=>{y(),t(e,b(`References`))},$$slots:{default:!0}});var me=C(P,2),he=e=>{t(e,De())},ge=o=>{var s=Me(),c=a(s),d=o=>{var s=ke();l(C(a(s),2),17,()=>r(z).references.outgoing,e=>`${e.field}→${e.assetId}`,(a,o)=>{var s=Oe(),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(z).references.outgoing.length>0&&e(d)});var f=C(c,2),p=o=>{var s=je();l(C(a(s),2),17,()=>r(z).references.incoming,e=>`${e.assetId}→${e.field}`,(a,o)=>{var s=Ae(),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(z).references.incoming.length>0&&e(p)}),t(o,s)};u(me,e=>{r(z).references.outgoing.length===0&&r(z).references.incoming.length===0?e(he):e(ge,-1)}),g(N);var _e=C(N,2),ve=i(_e);F(ve,{children:(e,n)=>{y(),t(e,b(`Asset`))},$$slots:{default:!0}});var I=C(ve,2),ye=i(I,!0);g(I);var be=C(I,2),xe=a=>{var o=we(),s=i(o,!0);g(o),e(()=>n(s,r(Ye).message)),t(a,o)};u(be,e=>{r(Ye)?.assetId===r(z).id&&e(xe)});var L=C(be,2),R=i(L);ee(R);var B=C(R,2);g(L);var H=C(L,2),Re=a=>{var o=we(),s=i(o,!0);g(o),e(()=>n(s,r(tt))),t(a,o)};u(H,e=>{r(tt)&&e(Re)});var W=C(H,2);g(_e),g(x),e(()=>{n(O,r(z).id),n(A,`${r(z).type??``} · `),n(ie,r(z).raw),I.disabled=r(J)===r(z).id,n(ye,r(J)===r(z).id?`Replacing…`:`Replace`),_(R,r($)),B.disabled=r($)===r(z).id||r(tt)!==null}),s(`click`,I,gt),s(`input`,R,e=>p(et,{assetId:r(z).id,value:e.currentTarget.value},!0)),s(`click`,B,()=>void it()),s(`click`,W,()=>void at()),t(o,d)};u(Ct,e=>{N.loaded?r(z)?e(Et,-1):e(Tt,1):e(wt)}),g(xt);var Dt=C(xt,2);h(Dt,e=>p(qe,e),()=>r(qe));var Ot=C(Dt,2);h(Ot,e=>p(Je,e),()=>r(Je));var kt=C(Ot,2),At=e=>{{let t=m(()=>r(G).renamePath===null?void 0:()=>dt(r(G)?.renamePath??``)),n=m(()=>r(G).renamePath===null?void 0:()=>ft(r(G)?.renamePath??``));ve(e,{get x(){return r(G).x},get y(){return r(G).y},onReveal:()=>void yt(r(G)?.renamePath??r(G)?.parent??``),onNewDirectory:()=>ut(r(G)?.parent??``),get onRenameDirectory(){return r(t)},onImportFile:()=>pt(r(G)?.parent??``),onImportFigma:()=>p(q,r(G)?.parent??``,!0),get onDeleteDirectory(){return r(n)},onClose:()=>p(G,null)})}};u(kt,e=>{r(G)&&e(At)});var jt=C(kt,2),Mt=e=>{_e(e,{get file(){return r(K)},get folder(){return r(Ke)},onDone:e=>void vt(e),onCancel:()=>p(K,null)})};u(jt,e=>{r(K)&&e(Mt)});var Nt=C(jt,2),Pt=e=>{ge(e,{get folder(){return r(q)},onDone:e=>void vt(e),onCancel:()=>p(q,null)})};u(Nt,e=>{r(q)!==null&&e(Pt)}),e(()=>{S(Dt,`accept`,Qe),S(Ot,`accept`,r($e))}),s(`change`,Dt,mt),s(`change`,Ot,e=>void ht(e)),t(o,bt),v()}o([`click`,`input`,`change`]);export{R as component};
@@ -0,0 +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/D24lHNM9.js";import"../chunks/xihTtKlq.js";import{G as ee,V as te,Z as k,d as A,i as j,k as M,s as ne,t as N}from"../chunks/D0BLX4Qd.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`}],L=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),R=C(`<div role="dialog"><!></div>`),z=C(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function B(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 _=z(),b=i(_);g(b,()=>a.trigger,()=>({toggle:p,open:o()}));var S=T(b,2),C=n=>{var r=R();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 V=C(`<button type="button" title="Emoji"> </button>`),H=C(`<button type="button"> </button>`),U=C(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),W=C(`<button type="button" title="Color"></button>`),G=C(`<button type="button"></button>`),K=C(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),re=C(`<div class="controls svelte-58t64l"><!> <!></div>`);function ie(a,o){D(o,!0);let l=p(()=>N.manifestAppearance(o.name)),u=p(()=>r(l).color??null),m=p(()=>r(l).emoji??null),g=d(!1),_=d(!1);async function x(e){let t=o.name;f(g,!1);try{await N.mutate(()=>k(t,{color:e}),A(t,{color:e}),{dependencies:[`manifest:${t}`]})}catch{}}async function S(e){let t=o.name;f(_,!1);try{await N.mutate(()=>k(t,{emoji:e}),A(t,{emoji:e}),{dependencies:[`manifest:${t}`]})}catch{}}var C=re(),E=i(C);B(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=V();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=U(),u=i(l);let d;c(T(u,2),16,()=>L,e=>e,(a,o)=>{var c=H();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}}),B(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=W();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=K(),l=i(o);let d;c(T(l,2),17,()=>I,e=>e.value,(n,i)=>{var a=G();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 ae=C(`<span class="hint svelte-1k9wgg5"> </span>`),oe=C(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),se=C(`<span class="asset-type svelte-1k9wgg5"> </span>`),ce=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>`),le=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),ue=C(`<ul class="svelte-1k9wgg5"></ul>`),de=C(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),fe=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>`),pe=C(`<div class="list svelte-1k9wgg5"></div>`),q=C(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),me=C(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),he=C(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),ge=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),_e=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 ve(o,u){D(u,!0);let m=d(``),g=p(()=>N.state?.assets??[]),y=p(()=>N.manifestNames);function x(e){return r(g).filter(t=>t.manifests.includes(e))}function C(e){return N.state?.manifestMemberships[e]?.passiveMembers??[]}function I(e,t){return C(e).filter(e=>e.via.includes(t))}function L(e){return N.state?.manifestDeliveredBytes[e]??0}let R=p(()=>r(m)?M(r(m)):null),z=p(()=>r(m)!==``&&!r(R)&&!r(y).includes(r(m)));async function B(){if(!r(z))return;let e=r(m),t=N.mutate(()=>te(e),j(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});f(m,``);try{await t}catch{r(m)===``&&!Object.hasOwn(N.state?.library.manifests??{},e)&&f(m,e,!0)}}let V=d(null),H=d(null),U=d(``),W=d(!1),G=d(null),K=0;function re(e){K+=1,f(G,null),f(V,e,!0)}function ve(e){K+=1,f(G,null),f(U,e,!0),f(H,e,!0)}function J(){K+=1,f(V,null),f(H,null),f(G,null)}let Y=p(()=>r(H)!==null&&r(U)!==r(H)?M(r(U)):null),ye=p(()=>r(H)!==null&&r(U)!==r(H)&&r(y).includes(r(U))),be=p(()=>r(H)!==null&&r(U)!==r(H)&&!r(Y)&&!r(ye));async function xe(){if(r(V)===null)return;let e=r(V);f(W,!0),f(G,null);let t=N.mutate(()=>ee(e),ne(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});J();let n=K;f(W,!1);try{await t}catch(t){K===n&&Object.hasOwn(N.state?.library.manifests??{},e)&&(f(V,e,!0),f(G,t instanceof Error?t.message:String(t),!0))}finally{f(W,!1)}}async function Se(){if(r(H)===null||!r(be))return;let e=r(H),t=r(U);f(W,!0),f(G,null);let n=N.mutate(()=>k(e,{renameTo:t}),A(e,{renameTo:t}),{dependencies:[`manifest:${e}`,`manifest:${t}`],invalidatesOnFailure:[`manifest:${e}`,`manifest:${t}`]});J();let i=K;f(W,!1);try{await n}catch(n){K===i&&Object.hasOwn(N.state?.library.manifests??{},e)&&(f(H,e,!0),f(U,t,!0),f(G,n instanceof Error?n.message:String(n),!0))}finally{f(W,!1)}}var Ce=_e(),X=a(Ce),Z=i(X),Q=i(Z);_(Q);var $=T(Q,2),we=T($,2),Te=a=>{var o=ae(),s=i(o,!0);h(o),e(()=>n(s,r(R))),t(a,o)};l(we,e=>{r(R)&&e(Te)}),h(Z);var Ee=T(Z,2),De=e=>{t(e,oe())},Oe=o=>{var u=pe();c(u,20,()=>r(y),e=>e,(o,u)=>{var d=fe(),f=i(d),m=i(f);ie(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),ee=T(D,2);h(f);var te=T(f,2),k=o=>{var s=ue();c(s,21,()=>x(u),e=>e.id,(o,s)=>{var d=le(),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(()=>N.assetById(r(o).assetId));var u=ce(),d=i(u),f=i(d),m=i(f,!0);h(f);var g=T(f,2),_=a=>{var o=se(),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)},A=p(()=>x(u).length>0),j=e=>{t(e,de())};l(te,e=>{r(A)?e(k):e(j,-1)}),h(d),e((e,t,r,i)=>{b(d,`--manifest-color: ${e??``}`),n(_,u),n(y,t),n(E,`${r??``} asset(s)${i??``}`)},[()=>N.manifestAppearance(u).color??`var(--border-soft)`,()=>P(L(u)),()=>x(u).length,()=>C(u).length>0?` + ${C(u).length} passive`:``]),s(`click`,D,()=>ve(u)),s(`click`,ee,()=>re(u)),t(o,d)}),h(u),t(o,u)};l(Ee,e=>{r(y).length===0?e(De):e(Oe,-1)}),h(X);var ke=T(X,2),Ae=o=>{let s=p(()=>x(r(V)).length);{let c=p(()=>r(W)?`Deleting…`:`Delete`);F(o,{title:`Delete manifest`,get confirmLabel(){return r(c)},danger:!0,get busy(){return r(W)},onConfirm:()=>void xe(),onCancel:J,children:(o,c)=>{var u=me(),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=q(),s=i(o,!0);h(o),e(()=>n(s,r(G))),t(a,o)};l(g,e=>{r(G)&&e(_)}),e(()=>{n(p,r(V)),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(ke,e=>{r(V)!==null&&e(Ae)});var je=T(ke,2),Me=o=>{{let s=p(()=>r(W)?`Renaming…`:`Rename`),c=p(()=>!r(be));F(o,{title:`Rename manifest`,get confirmLabel(){return r(s)},get confirmDisabled(){return r(c)},get busy(){return r(W)},onConfirm:()=>void Se(),onCancel:J,children:(o,s)=>{var c=ge(),u=a(c),d=T(i(u),2);_(d),h(u);var p=T(u,2),m=a=>{var o=q(),s=i(o,!0);h(o),e(()=>n(s,r(Y))),t(a,o)},g=e=>{t(e,he())};l(p,e=>{r(Y)?e(m):r(ye)&&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=q(),s=i(o,!0);h(o),e(()=>n(s,r(G))),t(a,o)};l(x,e=>{r(G)&&e(C)}),e(()=>{d.disabled=r(W),n(b,r(H))}),E(d,()=>r(U),e=>f(U,e)),t(o,c)},$$slots:{default:!0}})}};l(je,e=>{r(H)!==null&&e(Me)}),e(()=>$.disabled=!r(z)),s(`keydown`,Q,e=>{e.key===`Enter`&&B()}),E(Q,()=>r(m),e=>f(m,e)),s(`click`,$,()=>void B()),t(o,Ce),v()}o([`keydown`,`click`]);export{ve as component};
@@ -1 +1 @@
1
- {"version":"1784118922124"}
1
+ {"version":"1784207750999"}
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-J6aKdov3.js';
6
- import './server/chunks/index.js-CsvWJ7Qu.js';
7
- import './server/chunks/manifest.js-wHtZ9vlA.js';
5
+ export { h as handler } from './server/chunks/handler-DMnHzDi5.js';
6
+ import './server/chunks/index.js-BbOitM8j.js';
7
+ import './server/chunks/manifest.js-EeQkh4Qe.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-DtvIbMLj.js';
16
- import './server/chunks/chunks/internal.js-DnveDsYn.js';
17
- import './server/chunks/chunks/utils.js-bP1j9RdM.js';
15
+ import './server/chunks/chunks/shared.js-b0LBJ1Hx.js';
16
+ import './server/chunks/chunks/internal.js-Cy01GWTk.js';
17
+ import './server/chunks/chunks/utils.js-CecFjHB0.js';
18
18
  import 'node:url';
19
19
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
20
- import './server/chunks/chunks/exports.js-rOfFZumP.js';
20
+ import './server/chunks/chunks/exports.js-Bepiq5XZ.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-J6aKdov3.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-DMnHzDi5.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-DtvIbMLj.js';
15
- import './server/chunks/chunks/internal.js-DnveDsYn.js';
16
- import './server/chunks/chunks/utils.js-bP1j9RdM.js';
17
- import './server/chunks/index.js-CsvWJ7Qu.js';
14
+ import './server/chunks/chunks/shared.js-b0LBJ1Hx.js';
15
+ import './server/chunks/chunks/internal.js-Cy01GWTk.js';
16
+ import './server/chunks/chunks/utils.js-CecFjHB0.js';
17
+ import './server/chunks/index.js-BbOitM8j.js';
18
18
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
19
- import './server/chunks/chunks/exports.js-rOfFZumP.js';
19
+ import './server/chunks/chunks/exports.js-Bepiq5XZ.js';
20
20
  import './server/chunks/chunks/routing.js-y-tryuip.js';
21
- import './server/chunks/manifest.js-wHtZ9vlA.js';
21
+ import './server/chunks/manifest.js-EeQkh4Qe.js';
22
22
  import 'node:url';
23
23
 
24
24
  const path = env('SOCKET_PATH', false);
@@ -1,7 +1,7 @@
1
- import { e as folderOfRawPath, g as rawFileNameOfPath, n as normalizeFolderPath, z as typesForFileName, B as proposeAssetId, h as parentFolderPath, q as portableFolderPathKey } from './core.js-Clg1CHb6.js';
2
- import { s as serverPluginsByType, i as isRecord, L as LibraryStore, a as serverPluginForType, S as SourceImportError, p as processAssets, g as generateManifestModules, c as collectAllReferences, d as descriptorsByType, b as computeLibraryMembership, e as allDeliveredAssetIds, r as readCurrentProxy, f as encodeRelativePathForUrl, h as invalidInput } from './contract.js-sHny3b-s.js';
3
- import { a as assetIdError } from './asset-id.js-CFsW8jeL.js';
4
- import { v as verifyStableRawFile, c as canonicalizeParameters, a as compareCodeUnits, b as classifyRawDirectory } from './raw-reconciliation.js-DOFtjkgu.js';
1
+ import { g as folderOfRawPath, h as rawFileNameOfPath, j as canonicalizeParameters, n as normalizeFolderPath, c as compareCodeUnits, E as typesForFileName, G as proposeAssetId, k as parentFolderPath, u as portableFolderPathKey } from './core.js-DNIuZ9y-.js';
2
+ import { s as serverPluginsByType, i as isRecord, L as LibraryStore, a as serverPluginForType, S as SourceImportError, p as processAssets, g as generateManifestModules, d as descriptorsByType, r as readCurrentProxy, e as encodeRelativePathForUrl, b as invalidInput } from './contract.js-DGMufT2e.js';
3
+ import { a as assetIdError, c as collectAllReferences, b as computeLibraryMembership, d as allDeliveredAssetIds } from './manifest-membership.js-CJnQXrL4.js';
4
+ import { v as verifyStableRawFile, c as classifyRawDirectory } from './raw-reconciliation2.js-C2No1QIL.js';
5
5
  import { isAbsolute, resolve, join, extname } from 'node:path';
6
6
  import { existsSync } from 'node:fs';
7
7
  import { createJiti } from 'jiti';
@@ -136,32 +136,10 @@ function rawSafetyIssues(library, classification, compatibleTypes) {
136
136
  }
137
137
  //#endregion
138
138
  //#region src/lib/server/importers/pinned-https.ts
139
- function lookupError(hostname) {
140
- const error = /* @__PURE__ */ new Error(`No validated address is available for ${hostname}.`);
141
- error.code = "ENOTFOUND";
142
- return error;
143
- }
144
- function createPinnedLookup(target) {
145
- return (hostname, options, callback) => {
146
- if (hostname !== target.url.hostname) {
147
- callback(lookupError(hostname), "", 0);
148
- return;
149
- }
150
- const requestedFamily = options.family === 4 || options.family === 6 ? options.family : 0;
151
- const addresses = target.addresses.filter((candidate) => requestedFamily === 0 || candidate.family === requestedFamily);
152
- if (addresses.length === 0) {
153
- callback(lookupError(hostname), "", 0);
154
- return;
155
- }
156
- if (options.all) {
157
- callback(null, addresses.map(({ address, family }) => ({
158
- address,
159
- family
160
- })));
161
- return;
162
- }
163
- callback(null, addresses[0].address, addresses[0].family);
164
- };
139
+ function pinnedUrl(url, address) {
140
+ const pinned = new URL(url);
141
+ pinned.hostname = address.family === 6 ? `[${address.address}]` : address.address;
142
+ return pinned;
165
143
  }
166
144
  function responseHeaders(source) {
167
145
  const headers = new Headers();
@@ -171,23 +149,50 @@ function responseHeaders(source) {
171
149
  }
172
150
  function createPinnedHttpsTransport(requester = request) {
173
151
  return (target, signal) => new Promise((resolve, reject) => {
174
- const request = requester(target.url, {
175
- method: "GET",
176
- agent: false,
177
- lookup: createPinnedLookup(target),
178
- servername: target.url.hostname,
179
- rejectUnauthorized: true,
180
- signal
181
- }, (response) => {
182
- resolve({
183
- status: response.statusCode ?? 0,
184
- headers: responseHeaders(response.headers),
185
- body: response,
186
- cancel: () => response.destroy()
152
+ let addressIndex = 0;
153
+ let lastError;
154
+ let settled = false;
155
+ const attempt = () => {
156
+ if (signal.aborted) {
157
+ reject(signal.reason);
158
+ return;
159
+ }
160
+ const address = target.addresses[addressIndex++];
161
+ if (!address) {
162
+ reject(lastError ?? /* @__PURE__ */ new Error(`No validated address is available for ${target.url.hostname}.`));
163
+ return;
164
+ }
165
+ let clientRequest;
166
+ try {
167
+ clientRequest = requester(pinnedUrl(target.url, address), {
168
+ method: "GET",
169
+ agent: false,
170
+ headers: { host: target.url.host },
171
+ servername: target.url.hostname,
172
+ rejectUnauthorized: true,
173
+ signal
174
+ }, (response) => {
175
+ settled = true;
176
+ resolve({
177
+ status: response.statusCode ?? 0,
178
+ headers: responseHeaders(response.headers),
179
+ body: response,
180
+ cancel: () => response.destroy()
181
+ });
182
+ });
183
+ } catch (cause) {
184
+ lastError = cause;
185
+ attempt();
186
+ return;
187
+ }
188
+ clientRequest.once("error", (cause) => {
189
+ if (settled) return;
190
+ lastError = cause;
191
+ attempt();
187
192
  });
188
- });
189
- request.once("error", reject);
190
- request.end();
193
+ clientRequest.end();
194
+ };
195
+ attempt();
191
196
  });
192
197
  }
193
198
  var requestPinnedHttps = createPinnedHttpsTransport();
@@ -575,6 +580,10 @@ function mergeParameterPatch(currentParameters, patch) {
575
580
  else merged[key] = value;
576
581
  return merged;
577
582
  }
583
+ function figmaSlicePixelRatio(raw, type) {
584
+ if (type !== "slice" || raw.importSource?.importer !== "figma") return void 0;
585
+ return validateFigmaSourceParameters(raw.importSource.parameters).scale;
586
+ }
578
587
  var FundusOperations = class {
579
588
  #config;
580
589
  #registry;
@@ -814,10 +823,12 @@ var FundusOperations = class {
814
823
  if (snapshot.input !== void 0 && !raw.importSource) throw new SourceImportError("invalid-response", "The source importer did not return provenance for the updated source.");
815
824
  return this.#enqueueOperation(async () => {
816
825
  this.#validateImportedRaw(raw, snapshot.importer.kind);
817
- if (!serverPluginForType(snapshot.expected.type, this.#registry).descriptor.accepts.includes(raw.extension)) throw new SourceImportError("invalid-response", `The ${snapshot.expected.type} type does not accept ".${raw.extension}" files.`);
826
+ const plugin = serverPluginForType(snapshot.expected.type, this.#registry);
827
+ if (!plugin.descriptor.accepts.includes(raw.extension)) throw new SourceImportError("invalid-response", `The ${snapshot.expected.type} type does not accept ".${raw.extension}" files.`);
828
+ const pixelRatio = snapshot.input === void 0 ? void 0 : figmaSlicePixelRatio(raw, snapshot.expected.type);
818
829
  let library;
819
830
  try {
820
- library = await this.#store.replaceRawFromImportSource(id, raw.bytes, snapshot.expected, raw.importSource);
831
+ library = await this.#store.replaceRawFromImportSource(id, raw.bytes, snapshot.expected, raw.importSource, pixelRatio === void 0 ? void 0 : (parameters) => plugin.descriptor.validateParameters(mergeParameterPatch(parameters, { pixelRatio })));
821
832
  } catch (cause) {
822
833
  if (cause instanceof Error && cause.message === "stale-import") throw new SourceImportError("stale-import", "The asset or local raw file changed while Figma was exporting. Nothing was replaced.");
823
834
  throw cause;
@@ -848,6 +859,8 @@ var FundusOperations = class {
848
859
  });
849
860
  if (seeded !== void 0) next = seeded;
850
861
  }
862
+ const pixelRatio = figmaSlicePixelRatio(raw, options.type);
863
+ if (pixelRatio !== void 0) next = mergeParameterPatch(next, { pixelRatio });
851
864
  if (options.parametersPatch !== void 0) next = mergeParameterPatch(next, options.parametersPatch);
852
865
  return plugin.descriptor.validateParameters(next);
853
866
  });
@@ -1343,4 +1356,4 @@ async function createFundusContext() {
1343
1356
  }
1344
1357
 
1345
1358
  export { getFundusContext as g, initializeFundusContext as i };
1346
- //# sourceMappingURL=context.js-CG2t-ufq.js.map
1359
+ //# sourceMappingURL=context.js-FvYkJDOy.js.map