fundus 0.5.0 → 0.7.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 (240) hide show
  1. package/README.md +137 -130
  2. package/build/client/_app/immutable/assets/0.CHekvMpo.css +1 -0
  3. package/build/client/_app/immutable/assets/0.CHekvMpo.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.CHekvMpo.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/2.Bf0JkVBM.css +1 -0
  6. package/build/client/_app/immutable/assets/2.Bf0JkVBM.css.br +0 -0
  7. package/build/client/_app/immutable/assets/2.Bf0JkVBM.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/FileChangeBadge.C6wwUZJS.css +1 -0
  9. package/build/client/_app/immutable/assets/FileChangeBadge.C6wwUZJS.css.br +0 -0
  10. package/build/client/_app/immutable/assets/FileChangeBadge.C6wwUZJS.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/LibraryContextMenu.BSnKt_Is.css +1 -0
  12. package/build/client/_app/immutable/assets/LibraryContextMenu.BSnKt_Is.css.br +0 -0
  13. package/build/client/_app/immutable/assets/LibraryContextMenu.BSnKt_Is.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/ManifestSelector.Cue3sCA1.css +1 -0
  15. package/build/client/_app/immutable/assets/ManifestSelector.Cue3sCA1.css.br +0 -0
  16. package/build/client/_app/immutable/assets/ManifestSelector.Cue3sCA1.css.gz +0 -0
  17. package/build/client/_app/immutable/chunks/B9iWbZmZ.js +1 -0
  18. package/build/client/_app/immutable/chunks/B9iWbZmZ.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/B9iWbZmZ.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BD3hQKzV.js +1 -0
  21. package/build/client/_app/immutable/chunks/BD3hQKzV.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/BD3hQKzV.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/Blpvahbd.js +108 -0
  24. package/build/client/_app/immutable/chunks/Blpvahbd.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/Blpvahbd.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/C7Cs5PXV.js +1 -0
  27. package/build/client/_app/immutable/chunks/C7Cs5PXV.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/C7Cs5PXV.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/DPZDGjcn.js +1 -0
  30. package/build/client/_app/immutable/chunks/DPZDGjcn.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/DPZDGjcn.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/{CN-G-m-B.js → DrsNq6gf.js} +1 -1
  33. package/build/client/_app/immutable/chunks/DrsNq6gf.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/DrsNq6gf.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/DylBiD8l.js +1 -0
  36. package/build/client/_app/immutable/chunks/DylBiD8l.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/DylBiD8l.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/NblqapDQ.js +3 -0
  39. package/build/client/_app/immutable/chunks/NblqapDQ.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/NblqapDQ.js.gz +0 -0
  41. package/build/client/_app/immutable/entry/app.CFPPKVrc.js +2 -0
  42. package/build/client/_app/immutable/entry/app.CFPPKVrc.js.br +0 -0
  43. package/build/client/_app/immutable/entry/app.CFPPKVrc.js.gz +0 -0
  44. package/build/client/_app/immutable/entry/start.tn-ZAKbY.js +1 -0
  45. package/build/client/_app/immutable/entry/start.tn-ZAKbY.js.br +0 -0
  46. package/build/client/_app/immutable/entry/start.tn-ZAKbY.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/0.BS8VwNas.js +2 -0
  48. package/build/client/_app/immutable/nodes/0.BS8VwNas.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/0.BS8VwNas.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/1.Dpaug5O_.js +1 -0
  51. package/build/client/_app/immutable/nodes/1.Dpaug5O_.js.br +2 -0
  52. package/build/client/_app/immutable/nodes/1.Dpaug5O_.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/2.KyqEUB3M.js +3 -0
  54. package/build/client/_app/immutable/nodes/2.KyqEUB3M.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/2.KyqEUB3M.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/3.j8JVBjzd.js +1 -0
  57. package/build/client/_app/immutable/nodes/3.j8JVBjzd.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/3.j8JVBjzd.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/4.CiYE8hwS.js +2 -0
  60. package/build/client/_app/immutable/nodes/4.CiYE8hwS.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/4.CiYE8hwS.js.gz +0 -0
  62. package/build/client/_app/version.json +1 -1
  63. package/build/client/_app/version.json.br +0 -0
  64. package/build/client/_app/version.json.gz +0 -0
  65. package/build/handler.js +7 -7
  66. package/build/index.js +7 -7
  67. package/build/server/chunks/chunks/{context.js-bXe5hzjI.js → context.js-CLnT3cF3.js} +124 -7
  68. package/build/server/chunks/chunks/context.js-CLnT3cF3.js.map +1 -0
  69. package/build/server/chunks/chunks/{contract.js-sHny3b-s.js → contract.js-DGMufT2e.js} +191 -178
  70. package/build/server/chunks/chunks/contract.js-DGMufT2e.js.map +1 -0
  71. package/build/server/chunks/chunks/{core.js-Clg1CHb6.js → core.js-DNIuZ9y-.js} +88 -2
  72. package/build/server/chunks/chunks/core.js-DNIuZ9y-.js.map +1 -0
  73. package/build/server/chunks/chunks/{exports.js-FRj9eAnR.js → exports.js-CAJ9ZQQx.js} +2 -2
  74. package/build/server/chunks/chunks/{exports.js-FRj9eAnR.js.map → exports.js-CAJ9ZQQx.js.map} +1 -1
  75. package/build/server/chunks/chunks/{http.js--6sDZFfm.js → http.js-DWYlsbZd.js} +2 -2
  76. package/build/server/chunks/chunks/{http.js--6sDZFfm.js.map → http.js-DWYlsbZd.js.map} +1 -1
  77. package/build/server/chunks/chunks/{internal.js-D2Tk-vi1.js → internal.js-CdY4S4Uy.js} +3 -3
  78. package/build/server/chunks/chunks/{internal.js-D2Tk-vi1.js.map → internal.js-CdY4S4Uy.js.map} +1 -1
  79. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
  80. package/build/server/chunks/chunks/manifest-membership.js-CJnQXrL4.js +213 -0
  81. package/build/server/chunks/chunks/manifest-membership.js-CJnQXrL4.js.map +1 -0
  82. package/build/server/chunks/chunks/raw-reconciliation.js-_D9lZ_sc.js +11 -0
  83. package/build/server/chunks/chunks/raw-reconciliation.js-_D9lZ_sc.js.map +1 -0
  84. package/build/server/chunks/chunks/{raw-reconciliation.js-DOFtjkgu.js → raw-reconciliation2.js-C2No1QIL.js} +3 -34
  85. package/build/server/chunks/chunks/raw-reconciliation2.js-C2No1QIL.js.map +1 -0
  86. package/build/server/chunks/chunks/{shared.js-hvokB2mY.js → shared.js-C34rGnTQ.js} +2 -2
  87. package/build/server/chunks/chunks/{shared.js-hvokB2mY.js.map → shared.js-C34rGnTQ.js.map} +1 -1
  88. package/build/server/chunks/chunks/{utils.js-VGlYdWt0.js → utils.js-BMCQVogA.js} +3 -3
  89. package/build/server/chunks/chunks/{utils.js-VGlYdWt0.js.map → utils.js-BMCQVogA.js.map} +1 -1
  90. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-CkSErIdC.js → _server.ts.js-Bmyh2WUa.js} +7 -6
  91. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-CkSErIdC.js.map → _server.ts.js-Bmyh2WUa.js.map} +1 -1
  92. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-Csnt5ISN.js → _server.ts.js-IMleqOQb.js} +8 -7
  93. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-Csnt5ISN.js.map → _server.ts.js-IMleqOQb.js.map} +1 -1
  94. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BVEQaFEu.js → _server.ts.js-DzFoWnCN.js} +8 -7
  95. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BVEQaFEu.js.map → _server.ts.js-DzFoWnCN.js.map} +1 -1
  96. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-DIaT5h8R.js → _server.ts.js-0LjvQ5dF.js} +8 -7
  97. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-DIaT5h8R.js.map → _server.ts.js-0LjvQ5dF.js.map} +1 -1
  98. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CgCr-jFC.js → _server.ts.js-BUbO2k7N.js} +8 -7
  99. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CgCr-jFC.js.map → _server.ts.js-BUbO2k7N.js.map} +1 -1
  100. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BCvv4wq4.js → _server.ts.js-CwFLvCzR.js} +8 -7
  101. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BCvv4wq4.js.map → _server.ts.js-CwFLvCzR.js.map} +1 -1
  102. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-GbxbM9uI.js → _server.ts.js-BA6bgOR_.js} +8 -7
  103. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-GbxbM9uI.js.map → _server.ts.js-BA6bgOR_.js.map} +1 -1
  104. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BGjOvpRm.js → _server.ts.js-CzzmQqXq.js} +8 -7
  105. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BGjOvpRm.js.map → _server.ts.js-CzzmQqXq.js.map} +1 -1
  106. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CJuzJXPs.js → _server.ts.js-aqJkae-h.js} +8 -7
  107. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CJuzJXPs.js.map → _server.ts.js-aqJkae-h.js.map} +1 -1
  108. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BYp42p6V.js → _server.ts.js-CGsIZ1tO.js} +8 -7
  109. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BYp42p6V.js.map → _server.ts.js-CGsIZ1tO.js.map} +1 -1
  110. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-l_tkhnQ-.js → _server.ts.js-DbaeknBw.js} +8 -7
  111. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-l_tkhnQ-.js.map → _server.ts.js-DbaeknBw.js.map} +1 -1
  112. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-B-VXO3Xr.js → _server.ts.js-BhY5m7VP.js} +8 -7
  113. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-B-VXO3Xr.js.map → _server.ts.js-BhY5m7VP.js.map} +1 -1
  114. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-DV7s20GV.js → _server.ts.js-PT92H6EE.js} +8 -7
  115. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-DV7s20GV.js.map → _server.ts.js-PT92H6EE.js.map} +1 -1
  116. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CYgOpWYC.js → _server.ts.js-DtiUkpdM.js} +8 -7
  117. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CYgOpWYC.js.map → _server.ts.js-DtiUkpdM.js.map} +1 -1
  118. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-7loll6HR.js → _server.ts.js-tVkpwUwF.js} +8 -7
  119. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-7loll6HR.js.map → _server.ts.js-tVkpwUwF.js.map} +1 -1
  120. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-CdxeTMZj.js → _server.ts.js-Cq85RWhU.js} +8 -7
  121. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-CdxeTMZj.js.map → _server.ts.js-Cq85RWhU.js.map} +1 -1
  122. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-CZWIskM4.js → _server.ts.js-DDdYWvN4.js} +8 -7
  123. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-CZWIskM4.js.map → _server.ts.js-DDdYWvN4.js.map} +1 -1
  124. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-CZFfpJkl.js → _server.ts.js-DxSPXWoT.js} +8 -7
  125. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-CZFfpJkl.js.map → _server.ts.js-DxSPXWoT.js.map} +1 -1
  126. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DB3i4juR.js → _server.ts.js-DVtQlFHS.js} +7 -6
  127. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DB3i4juR.js.map → _server.ts.js-DVtQlFHS.js.map} +1 -1
  128. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-BqarqenW.js → _server.ts.js-DuStxYsU.js} +8 -7
  129. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-BqarqenW.js.map → _server.ts.js-DuStxYsU.js.map} +1 -1
  130. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CXbrUCmh.js → _server.ts.js-CxoKyl-h.js} +8 -7
  131. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CXbrUCmh.js.map → _server.ts.js-CxoKyl-h.js.map} +1 -1
  132. package/build/server/chunks/entries/{hooks.server.js-6Yf-GF0J.js → hooks.server.js-DLJAlp7i.js} +7 -6
  133. package/build/server/chunks/entries/{hooks.server.js-6Yf-GF0J.js.map → hooks.server.js-DLJAlp7i.js.map} +1 -1
  134. package/build/server/chunks/{handler-DHAu99Rv.js → handler-Bn4TsL93.js} +5 -5
  135. package/build/server/chunks/{handler-DHAu99Rv.js.map → handler-Bn4TsL93.js.map} +1 -1
  136. package/build/server/chunks/{index.js-Bm1XIAPD.js → index.js-DzYQtf0T.js} +5 -5
  137. package/build/server/chunks/{index.js-Bm1XIAPD.js.map → index.js-DzYQtf0T.js.map} +1 -1
  138. package/build/server/chunks/{manifest.js-CCc26-hb.js → manifest.js-DewM2Q1D.js} +28 -28
  139. package/build/server/chunks/{manifest.js-CCc26-hb.js.map → manifest.js-DewM2Q1D.js.map} +1 -1
  140. package/build/server/chunks/nodes/0.js-CZe1W9_P.js +11 -0
  141. package/build/server/chunks/nodes/0.js-CZe1W9_P.js.map +1 -0
  142. package/build/server/chunks/nodes/1.js-DKVH5bGU.js +7 -0
  143. package/build/server/chunks/nodes/{1.js-CXgbNa8h.js.map → 1.js-DKVH5bGU.js.map} +1 -1
  144. package/build/server/chunks/nodes/2.js-BpN0Hxjo.js +7 -0
  145. package/build/server/chunks/nodes/2.js-BpN0Hxjo.js.map +1 -0
  146. package/build/server/chunks/nodes/3.js-D3kgOm0S.js +7 -0
  147. package/build/server/chunks/nodes/3.js-D3kgOm0S.js.map +1 -0
  148. package/build/server/chunks/nodes/4.js-CZwje1Lo.js +7 -0
  149. package/build/server/chunks/nodes/{4.js-BUgaRCEY.js.map → 4.js-CZwje1Lo.js.map} +1 -1
  150. package/dist/core/api-types.d.ts +4 -0
  151. package/dist/core/index.d.ts +2 -2
  152. package/dist/core/index.js +1 -1
  153. package/dist/core/plugins/slice.d.ts +28 -4
  154. package/dist/core/plugins/slice.js +50 -0
  155. package/dist/server/cli-commands.d.ts +1 -1
  156. package/dist/server/cli-commands.js +125 -11
  157. package/dist/server/config-loader.d.ts +2 -0
  158. package/dist/server/config-loader.js +1 -0
  159. package/dist/server/git.d.ts +9 -0
  160. package/dist/server/git.js +121 -0
  161. package/dist/server/library-store.d.ts +1 -1
  162. package/dist/server/library-store.js +5 -1
  163. package/dist/server/operations.js +28 -2
  164. package/dist/server/plugins/slice.d.ts +3 -2
  165. package/dist/server/plugins/slice.js +21 -9
  166. package/dist/server/processing/slice-processing.d.ts +14 -0
  167. package/dist/server/processing/slice-processing.js +148 -0
  168. package/package.json +1 -1
  169. package/build/client/_app/immutable/assets/0.inkPq3ni.css +0 -1
  170. package/build/client/_app/immutable/assets/0.inkPq3ni.css.br +0 -0
  171. package/build/client/_app/immutable/assets/0.inkPq3ni.css.gz +0 -0
  172. package/build/client/_app/immutable/assets/2.DLP0pEak.css +0 -1
  173. package/build/client/_app/immutable/assets/2.DLP0pEak.css.br +0 -0
  174. package/build/client/_app/immutable/assets/2.DLP0pEak.css.gz +0 -0
  175. package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css +0 -1
  176. package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css.br +0 -0
  177. package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css.gz +0 -0
  178. package/build/client/_app/immutable/assets/ManifestSelector.Il8p28r8.css +0 -1
  179. package/build/client/_app/immutable/assets/ManifestSelector.Il8p28r8.css.br +0 -0
  180. package/build/client/_app/immutable/assets/ManifestSelector.Il8p28r8.css.gz +0 -0
  181. package/build/client/_app/immutable/chunks/B1UabfW7.js +0 -1
  182. package/build/client/_app/immutable/chunks/B1UabfW7.js.br +0 -0
  183. package/build/client/_app/immutable/chunks/B1UabfW7.js.gz +0 -0
  184. package/build/client/_app/immutable/chunks/BmCZn5E-.js +0 -108
  185. package/build/client/_app/immutable/chunks/BmCZn5E-.js.br +0 -0
  186. package/build/client/_app/immutable/chunks/BmCZn5E-.js.gz +0 -0
  187. package/build/client/_app/immutable/chunks/BoEHtxM8.js +0 -1
  188. package/build/client/_app/immutable/chunks/BoEHtxM8.js.br +0 -0
  189. package/build/client/_app/immutable/chunks/BoEHtxM8.js.gz +0 -0
  190. package/build/client/_app/immutable/chunks/C-T1_s5P.js +0 -1
  191. package/build/client/_app/immutable/chunks/C-T1_s5P.js.br +0 -0
  192. package/build/client/_app/immutable/chunks/C-T1_s5P.js.gz +0 -0
  193. package/build/client/_app/immutable/chunks/CN-G-m-B.js.br +0 -4
  194. package/build/client/_app/immutable/chunks/CN-G-m-B.js.gz +0 -0
  195. package/build/client/_app/immutable/chunks/D5sQSsUv.js +0 -1
  196. package/build/client/_app/immutable/chunks/D5sQSsUv.js.br +0 -0
  197. package/build/client/_app/immutable/chunks/D5sQSsUv.js.gz +0 -0
  198. package/build/client/_app/immutable/chunks/D65cSBhe.js +0 -3
  199. package/build/client/_app/immutable/chunks/D65cSBhe.js.br +0 -0
  200. package/build/client/_app/immutable/chunks/D65cSBhe.js.gz +0 -0
  201. package/build/client/_app/immutable/chunks/D6VoU_x4.js +0 -1
  202. package/build/client/_app/immutable/chunks/D6VoU_x4.js.br +0 -0
  203. package/build/client/_app/immutable/chunks/D6VoU_x4.js.gz +0 -0
  204. package/build/client/_app/immutable/entry/app.fVDDVV_y.js +0 -2
  205. package/build/client/_app/immutable/entry/app.fVDDVV_y.js.br +0 -0
  206. package/build/client/_app/immutable/entry/app.fVDDVV_y.js.gz +0 -0
  207. package/build/client/_app/immutable/entry/start.BiWgLLju.js +0 -1
  208. package/build/client/_app/immutable/entry/start.BiWgLLju.js.br +0 -1
  209. package/build/client/_app/immutable/entry/start.BiWgLLju.js.gz +0 -0
  210. package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js +0 -2
  211. package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js.br +0 -0
  212. package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js.gz +0 -0
  213. package/build/client/_app/immutable/nodes/1.DEw3d5yL.js +0 -1
  214. package/build/client/_app/immutable/nodes/1.DEw3d5yL.js.br +0 -0
  215. package/build/client/_app/immutable/nodes/1.DEw3d5yL.js.gz +0 -0
  216. package/build/client/_app/immutable/nodes/2.DnVTXPVk.js +0 -3
  217. package/build/client/_app/immutable/nodes/2.DnVTXPVk.js.br +0 -0
  218. package/build/client/_app/immutable/nodes/2.DnVTXPVk.js.gz +0 -0
  219. package/build/client/_app/immutable/nodes/3.1Hco6zU7.js +0 -1
  220. package/build/client/_app/immutable/nodes/3.1Hco6zU7.js.br +0 -0
  221. package/build/client/_app/immutable/nodes/3.1Hco6zU7.js.gz +0 -0
  222. package/build/client/_app/immutable/nodes/4.CKbcoBw2.js +0 -2
  223. package/build/client/_app/immutable/nodes/4.CKbcoBw2.js.br +0 -0
  224. package/build/client/_app/immutable/nodes/4.CKbcoBw2.js.gz +0 -0
  225. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js +0 -48
  226. package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js.map +0 -1
  227. package/build/server/chunks/chunks/context.js-bXe5hzjI.js.map +0 -1
  228. package/build/server/chunks/chunks/contract.js-sHny3b-s.js.map +0 -1
  229. package/build/server/chunks/chunks/core.js-Clg1CHb6.js.map +0 -1
  230. package/build/server/chunks/chunks/raw-reconciliation.js-DOFtjkgu.js.map +0 -1
  231. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js +0 -11
  232. package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js.map +0 -1
  233. package/build/server/chunks/nodes/0.js-Bpzcq6LZ.js +0 -11
  234. package/build/server/chunks/nodes/0.js-Bpzcq6LZ.js.map +0 -1
  235. package/build/server/chunks/nodes/1.js-CXgbNa8h.js +0 -7
  236. package/build/server/chunks/nodes/2.js-D56ryWAu.js +0 -7
  237. package/build/server/chunks/nodes/2.js-D56ryWAu.js.map +0 -1
  238. package/build/server/chunks/nodes/3.js-DMaZRwrN.js +0 -7
  239. package/build/server/chunks/nodes/3.js-DMaZRwrN.js.map +0 -1
  240. package/build/server/chunks/nodes/4.js-BUgaRCEY.js +0 -7
@@ -0,0 +1,2 @@
1
+ import{A as e,B as t,C as n,D as r,E as i,H as a,I as o,J as s,K as c,N as l,O as u,P as d,Q as f,V as p,W as m,X as h,Y as g,Z as _,_ as v,at as y,k as b,l as x,n as S,nt as C,ot as w,p as T,q as E,s as D,st as O,tt as k,u as A,w as j,x as M,y as N}from"../chunks/NblqapDQ.js";import{c as P}from"../chunks/B9iWbZmZ.js";import"../chunks/xihTtKlq.js";import{t as F}from"../chunks/DrsNq6gf.js";import{K as I,M as L,R,t as z,z as B}from"../chunks/DylBiD8l.js";import{a as V,i as H,r as U,t as W}from"../chunks/C7Cs5PXV.js";import{t as G}from"../chunks/DPZDGjcn.js";var K=O({ssr:()=>!1}),q=e(`<span class="unsupported svelte-1rcmmyd">Unsupported</span>`),J=e(`<h2 class="svelte-1rcmmyd"> </h2>`),Y=e(`<p class="error blocker-reason svelte-1rcmmyd"> </p>`),X=e(`<option> </option>`),Z=e(`<p class="svelte-1rcmmyd">No manifests available — this asset will be unassigned.</p>`),Q=e(`<div class="manifest-list svelte-1rcmmyd"><!></div>`),$=e(`<p class="error svelte-1rcmmyd"> </p>`),ee=e(`<div class="form-controls new-form svelte-1rcmmyd"><label class="svelte-1rcmmyd"><span>Asset id</span> <input spellcheck="false" class="svelte-1rcmmyd"/></label> <label class="svelte-1rcmmyd"><span>Asset type</span> <select class="svelte-1rcmmyd"></select></label> <div class="manifest-row svelte-1rcmmyd"><span class="svelte-1rcmmyd">Manifests</span> <!></div> <div class="actions svelte-1rcmmyd"><button class="svelte-1rcmmyd">Import</button></div></div> <!>`,1),te=e(`<option>Choose a compatible type</option>`),ne=e(`<button class="secondary svelte-1rcmmyd">Apply</button>`),re=e(`<p class="raw svelte-1rcmmyd"> </p> <div class="form-controls edited-form svelte-1rcmmyd"><label class="svelte-1rcmmyd"><span>Asset type</span> <select class="svelte-1rcmmyd"><!><!></select></label> <div class="actions svelte-1rcmmyd"><button class="svelte-1rcmmyd">Reimport</button> <!></div></div>`,1),ie=e(`<!> <!>`,1),ae=e(`<article class="item svelte-1rcmmyd"><div class="identity svelte-1rcmmyd"><!> <!></div> <!> <!></article>`),oe=e(`<section class="queue svelte-1rcmmyd" aria-label="Raw file ingestion queue"><div class="heading svelte-1rcmmyd"><strong>External raw files</strong> <span class="svelte-1rcmmyd"> </span></div> <div class="items svelte-1rcmmyd"></div></section>`);function se(e,t){C(t,!0);let l=_(g({})),m=f(()=>z.state?.rawIngestionQueue??[]),v=f(()=>new Set(z.state?.assets.map(e=>e.id)??[])),y=f(()=>z.manifestNames);a(()=>{h(l,U(o(l),o(m),o(y)),!0)});function S(e,t){e.manifests=e.manifests.includes(t)?e.manifests.filter(e=>e!==t):[...e.manifests,t]}async function O(e){let t=o(l)[e.token];if(!t)return;let n=t.type,r=t.id,i=[...t.manifests];t.busy=!0,t.error=null;try{e.kind===`new`?await z.mutateFromServer(()=>B(e.token,r,n,i),{dependencies:[`raw:${e.token}`,`asset:${r}`,`folder:${L(e.path)}`,...i.map(e=>`manifest:${e}`)]}):await z.mutateFromServer(()=>R(e.token,n),{dependencies:[`raw:${e.token}`,`asset:${e.assetId}`,`folder:${L(e.path)}`]})}catch(e){t.error=e instanceof Error?e.message:String(e),await z.refresh()}finally{t.busy=!1}}async function M(e){let t=o(l)[e];if(t){t.busy=!0,t.error=null;try{await z.mutateFromServer(()=>I(e),{dependencies:[`raw:${e}`]})}catch(e){t.error=e instanceof Error?e.message:String(e),await z.refresh()}finally{t.busy=!1}}}var N=b(),P=E(N),F=e=>{var t=oe(),a=c(t),h=s(c(a),2),g=c(h);w(h),w(a);var _=s(a,2);n(_,21,()=>o(m),e=>e.token,(e,t)=>{var a=ae(),m=c(a),h=c(m),g=e=>{G(e,{get kind(){return o(t).kind}})},_=e=>{u(e,q())};i(h,e=>{o(t).kind===`new`||o(t).kind===`edited`?e(g):e(_,-1)});var b=s(h,2),C=e=>{var n=J(),i=c(n,!0);w(n),p(()=>r(i,o(t).path)),u(e,n)},k=e=>{var n=J(),i=c(n,!0);w(n),p(()=>r(i,o(t).assetId)),u(e,n)};i(b,e=>{o(t).kind===`new`||o(t).kind===`unsupported`?e(C):e(k,-1)}),w(m);var N=s(m,2),P=e=>{var n=Y(),i=c(n,!0);w(n),p(()=>r(i,o(t).reason)),u(e,n)};i(N,e=>{o(t).kind===`unsupported`&&e(P)});var F=s(N,2),I=e=>{let a=f(()=>o(l)[o(t).token]);var m=ie(),h=E(m),g=e=>{var l=ee(),m=E(l),h=c(m),g=s(c(h),2);x(g),w(h);var _=s(h,2),b=s(c(_),2);n(b,21,()=>o(t).compatibleTypes,j,(e,t)=>{var n=X(),i=c(n,!0);w(n);var a={};p(()=>{r(i,o(t)),a!==(a=o(t))&&(n.value=(n.__value=o(t))??``)}),u(e,n)}),w(b),w(_);var C=s(_,2),k=s(c(C),2),M=e=>{u(e,Z())},N=e=>{var t=Q();W(c(t),{get manifests(){return o(y)},get selected(){return o(a).manifests},passive:[],onToggle:e=>S(o(a),e),get disabled(){return o(a).busy}}),w(t),u(e,t)};i(k,e=>{o(y).length===0?e(M):e(N,-1)}),w(C);var P=s(C,2),F=c(P);w(P),w(m);var I=s(m,2),L=e=>{var t=$(),n=c(t,!0);w(t),p(e=>r(n,e),[()=>H(o(a).id,o(v))]),u(e,t)},R=f(()=>H(o(a).id,o(v)));i(I,e=>{o(R)&&e(L)}),p((e,t)=>{A(g,`aria-invalid`,e),F.disabled=t},[()=>H(o(a).id,o(v))!==null,()=>o(a).busy||o(a).type===``||H(o(a).id,o(v))!==null]),D(g,()=>o(a).id,e=>o(a).id=e),T(b,()=>o(a).type,e=>o(a).type=e),d(`click`,F,()=>O(o(t))),u(e,l)},_=e=>{var l=re(),m=E(l),h=c(m,!0);w(m);var g=s(m,2),_=c(g),v=s(c(_),2),y=c(v),b=e=>{var t=te();t.value=t.__value=``,u(e,t)};i(y,e=>{o(a).type===``&&e(b)}),n(s(y),17,()=>o(t).compatibleTypes,j,(e,t)=>{var n=X(),i=c(n,!0);w(n);var a={};p(()=>{r(i,o(t)),a!==(a=o(t))&&(n.value=(n.__value=o(t))??``)}),u(e,n)}),w(v),w(_);var x=s(_,2),S=c(x),C=s(S,2),D=e=>{var n=ne();p(()=>n.disabled=o(a).busy),d(`click`,n,()=>M(o(t).token)),u(e,n)},k=f(()=>o(t).compatibleTypes.includes(o(t).currentType));i(C,e=>{o(k)&&e(D)}),w(x),w(g),p(()=>{r(h,o(t).path),S.disabled=o(a).busy||o(a).type===``}),T(v,()=>o(a).type,e=>o(a).type=e),d(`click`,S,()=>O(o(t))),u(e,l)};i(h,e=>{o(t).kind===`new`?e(g):e(_,-1)});var b=s(h,2),C=e=>{var t=$(),n=c(t,!0);w(t),p(()=>r(n,o(a).error)),u(e,t)};i(b,e=>{o(a).error&&e(C)}),u(e,m)};i(F,e=>{o(t).kind!==`unsupported`&&o(l)[o(t).token]&&e(I)}),w(a),u(e,a)}),w(_),w(t),p(()=>r(g,`${o(m).length??``} item${o(m).length===1?``:`s`} need${o(m).length===1?`s`:``} attention`)),u(e,t)};i(P,e=>{o(m).length>0&&e(F)}),u(e,N),k()}l([`click`]);var ce=e(`<span class="dot bad svelte-12qhfyh"></span> <span class="status-text error svelte-12qhfyh">Error</span>`,1),le=e(`<span class="dot saving svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Saving…</span>`,1),ue=e(`<span class="dot ok svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Saved ✓</span>`,1),de=e(`<span class="dot svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Loading…</span>`,1),fe=e(`<span class="branch svelte-12qhfyh"><!> <span class="branch-name svelte-12qhfyh"> </span></span>`),pe=e(`<div class="notice svelte-12qhfyh"> <code class="svelte-12qhfyh">npx fundus start</code> in the host project.</div>`),me=e(`<span class="svelte-12qhfyh"> </span>`),he=e(`<div class="issue-banner svelte-12qhfyh" role="alert"></div>`),ge=e(`<!> <!> <!>`,1),_e=e(`<div class="shell svelte-12qhfyh"><header class="topbar svelte-12qhfyh"><a class="brand svelte-12qhfyh"><span class="logo svelte-12qhfyh">◆</span> Fundus</a> <nav class="svelte-12qhfyh"><a>Library</a> <a>Manifests</a></nav> <div class="header-meta svelte-12qhfyh"><div class="status svelte-12qhfyh"><!></div> <!></div></header> <!></div>`);function ve(e,a){C(a,!0),S(()=>{let e=()=>void z.reconcile();return z.reconcile(),window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)});let l=f(()=>F.url.pathname===`/`||F.url.pathname.startsWith(`/asset`)),d=f(()=>F.url.pathname.startsWith(`/manifests`)),h=f(()=>z.error??(z.generalIssues.length>0?z.generalIssues.join(`
2
+ `):null));var g=_e();N(`12qhfyh`,e=>{t(()=>{m.title=`Fundus`})});var _=c(g),b=c(_),x=s(b,2),T=c(x);let D;var O=s(T,2);let j;w(x);var I=s(x,2),L=c(I),R=c(L),B=e=>{var t=ce(),n=s(E(t),2);p(()=>A(n,`title`,o(h))),u(e,t)},H=e=>{var t=le();y(2),u(e,t)},U=e=>{var t=ue();y(2),u(e,t)},W=e=>{var t=de();y(2),u(e,t)};i(R,e=>{o(h)?e(B):z.saving?e(H,1):z.loaded?e(U,2):e(W,-1)}),w(L);var G=s(L,2),K=e=>{var t=fe(),n=c(t);V(n,{name:`git-branch`,size:14});var i=s(n,2),a=c(i,!0);w(i),w(t),p(()=>{A(t,`title`,`Git branch: ${z.state.gitBranch}`),r(a,z.state.gitBranch)}),u(e,t)};i(G,e=>{z.state?.gitBranch&&e(K)}),w(I),w(_);var q=s(_,2),J=e=>{var t=pe(),n=c(t);y(2),w(t),p(()=>r(n,`Could not reach the Fundus server (${z.error??``}). Start it with `)),u(e,t)},Y=e=>{var t=ge(),o=E(t);se(o,{});var l=s(o,2),d=e=>{var t=he();n(t,20,()=>z.generalIssues,e=>e,(e,t)=>{var n=me(),i=c(n,!0);w(n),p(()=>r(i,t)),u(e,n)}),w(t),u(e,t)};i(l,e=>{z.generalIssues.length>0&&e(d)}),M(s(l,2),()=>a.children),u(e,t)};i(q,e=>{z.error&&!z.state?e(J):e(Y,-1)}),w(g),p((e,t,n)=>{A(b,`href`,e),A(T,`href`,t),D=v(T,1,`svelte-12qhfyh`,null,D,{active:o(l)}),A(O,`href`,n),j=v(O,1,`svelte-12qhfyh`,null,j,{active:o(d)})},[()=>P(`/`),()=>P(`/`),()=>P(`/manifests`)]),u(e,g),k()}export{ve as component,K as universal};
@@ -0,0 +1 @@
1
+ import{A as e,D as t,J as n,K as r,O as i,V as a,nt as o,ot as s,q as c,tt as l}from"../chunks/NblqapDQ.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/DrsNq6gf.js";var d=e(`<h1> </h1> <p> </p>`,1);function f(e,f){o(f,!0);var p=d(),m=c(p),h=r(m,!0);s(m);var g=n(m,2),_=r(g,!0);s(g),a(()=>{t(h,u.status),t(_,u.error?.message)}),i(e,p),l()}export{f as component};
@@ -0,0 +1,2 @@
1
+ w�Ċ����nf��7�Ȍn�/�{�gy�o,Z���Q�ڲ���I�J��8�n1��us�IIO�� �|�@����I�SmQ'��+Hc�+�{0�3�d�.��>�Fv2�W�b��2�7��4w�[�G��G+C7�W���cr� ܕ/"����^'
2
+ �1&h���蓇Cf� ����&%و��qF��qv1���"
@@ -0,0 +1,3 @@
1
+ import{A as e,C as t,D as n,E as r,F as i,G as a,H as o,I as s,J as c,K as l,M as u,N as d,O as f,P as p,Q as m,R as h,V as g,X as _,Y as v,Z as y,_ as b,a as x,at as S,b as ee,c as C,d as te,g as w,i as T,k as E,l as ne,nt as re,o as ie,ot as D,p as O,q as k,s as ae,tt as oe,u as A,w as se,x as j}from"../chunks/NblqapDQ.js";import{c as M,t as ce}from"../chunks/B9iWbZmZ.js";import"../chunks/xihTtKlq.js";import{F as le,J as ue,N as de,O as fe,P as pe,U as me,X as he,Y as ge,a as _e,c as ve,j as ye,l as be,nt as xe,p as Se,t as N,tt as Ce,u as we}from"../chunks/DylBiD8l.js";import{a as Te}from"../chunks/C7Cs5PXV.js";import{t as Ee}from"../chunks/DPZDGjcn.js";import{a as De,c as Oe,i as ke,l as Ae,n as je,o as Me,r as Ne,s as Pe,t as Fe,u as Ie}from"../chunks/Blpvahbd.js";import{t as Le}from"../chunks/BD3hQKzV.js";function P(e){return Array.isArray?Array.isArray(e):V(e)===`[object Array]`}function Re(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 F(e){return e==null?``:Re(e)}function I(e){return typeof e==`string`}function L(e){return typeof e==`number`}function ze(e){return e===!0||e===!1||Be(e)&&V(e)==`[object Boolean]`}function R(e){return typeof e==`object`}function Be(e){return R(e)&&e!==null}function z(e){return e!=null}function B(e){return!e.trim().length}function V(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var H=`Incorrect 'index' type`,Ve=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,U=e=>`Invalid value for key ${e}`,W=e=>`Pattern length exceeds max of ${e}.`,He=e=>`Missing ${e} property in key`,G=e=>`Property 'weight' in key '${e}' must be a positive integer`,K=`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.`,q=Object.prototype.hasOwnProperty,Ue=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=We(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 We(e){let t=null,n=null,r=null,i=1,a=null;if(I(e)||P(e))r=e,t=Ge(e),n=Ke(e);else{if(!q.call(e,`name`))throw Error(He(`name`));let o=e.name;if(r=o,q.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(G(Ke(o)));t=Ge(o),n=Ke(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Ge(e){return P(e)?e:e.split(`.`)}function Ke(e){return P(e)?e.join(`.`):e}function qe(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(z(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!z(s))return;if(a===t.length-1&&(I(s)||L(s)||ze(s)||typeof s==`bigint`))n.push(o===void 0?F(s):{v:F(s),i:o});else if(P(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,I(t)?t.split(`.`):t,0),r?n:n[0]}var Je={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},J={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},Y={location:0,threshold:.6,distance:100},Ye={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:qe,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},X=Object.freeze({...J,...Je,...Y,...Ye});function Xe(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 Ze=class{constructor({getFn:e=X.getFn,fieldNormWeight:t=X.fieldNormWeight}={}){this.norm=Xe(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(I(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(Ve);if(I(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(Ve);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!z(e)||B(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(z(i)){if(P(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(z(n)){if(I(n)){if(!B(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(z(n.v)){let t=I(n.v)?n.v:F(n.v);if(!B(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(I(i)&&!B(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 Z(e,t,{getFn:n=X.getFn,fieldNormWeight:r=X.fieldNormWeight}={}){let i=new Ze({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(We)),i.setSources(t),i.create(),i}function Qe(e,{getFn:t=X.getFn,fieldNormWeight:n=X.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new Ze({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function $e(e=[],t=X.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function et(e,t,n,{location:r=X.location,distance:i=X.distance,threshold:a=X.threshold,findAllMatches:o=X.findAllMatches,minMatchCharLength:s=X.minMatchCharLength,includeMatches:c=X.includeMatches,ignoreLocation:l=X.ignoreLocation}={}){if(t.length>32)throw Error(W(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,ee=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]&ee&&(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 C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=$e(_,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function tt(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 nt(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 rt={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},it=RegExp(`[`+Object.keys(rt).join(``)+`]`,`g`),at=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(it,e=>rt[e]):e=>e,ot=class{constructor(e,{location:t=X.location,threshold:n=X.threshold,distance:r=X.distance,includeMatches:i=X.includeMatches,findAllMatches:a=X.findAllMatches,minMatchCharLength:o=X.minMatchCharLength,isCaseSensitive:s=X.isCaseSensitive,ignoreDiacritics:c=X.ignoreDiacritics,ignoreLocation:l=X.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?at(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:tt(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?at(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}=et(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=nt(u)),p}},st=new Set([`fuzzy`,`include`]);function ct(e){return e.startsWith(`inverse`)}var lt=[{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 ot(e,{location:t.location??X.location,threshold:t.threshold??X.threshold,distance:t.distance??X.distance,includeMatches:t.includeMatches??X.includeMatches,findAllMatches:t.findAllMatches??X.findAllMatches,minMatchCharLength:t.minMatchCharLength??X.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??X.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??X.ignoreDiacritics,ignoreLocation:t.ignoreLocation??X.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],ut=lt.length,dt=`\0`,ft=`|`;function pt(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 mt(e,t){let n=e.match(t);return n?n[1]:null}function ht(e,t={}){return e.replace(/\\\|/g,dt).split(ft).map(e=>{let n=pt(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<ut;){let e=lt[o],n=mt(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<ut;){let e=lt[o],n=mt(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var gt=class{constructor(e,{isCaseSensitive:t=X.isCaseSensitive,ignoreDiacritics:n=X.ignoreDiacritics,includeMatches:r=X.includeMatches,minMatchCharLength:i=X.minMatchCharLength,ignoreLocation:a=X.ignoreLocation,findAllMatches:o=X.findAllMatches,location:s=X.location,threshold:c=X.threshold,distance:l=X.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?at(e):e,this.pattern=e,this.query=ht(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?at(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,ct(r.type)&&(c=!0),n&&(st.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=nt(o)),e}}return{isMatch:!1,score:1}}},_t=[];function Q(...e){_t.push(...e)}function vt(e,t){for(let n=0,r=_t.length;n<r;n+=1){let r=_t[n];if(r.condition(e,t))return new r(e,t)}return new ot(e,t)}var yt={AND:`$and`,OR:`$or`},bt={PATH:`$path`,PATTERN:`$val`},xt=e=>!!(e[yt.AND]||e[yt.OR]),St=e=>!!e[bt.PATH],Ct=e=>!P(e)&&R(e)&&!xt(e),wt=e=>({[yt.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Tt(e,t,{auto:n=!0}={}){let r=e=>{if(I(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=vt(e,t)),r}let i=Object.keys(e),a=St(e);if(!a&&i.length>1&&!xt(e))return r(wt(e));if(Ct(e)){let r=a?e[bt.PATH]:i[0],o=a?e[bt.PATTERN]:e[r];if(!I(o))throw Error(U(r));let s={keyId:Ke(r),pattern:o};return n&&(s.searcher=vt(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];P(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return xt(e)||(e=wt(e)),r(e)}function Et(e,{ignoreFieldNorm:t=X.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function Dt(e,{ignoreFieldNorm:t=X.ignoreFieldNorm}){e.forEach(e=>{e.score=Et(e.matches,{ignoreFieldNorm:t})})}var Ot=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 kt(e){let t=[];return e.matches.forEach(e=>{if(!z(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 At(e,t,{includeMatches:n=X.includeMatches,includeScore:r=X.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=kt(e)),r&&(a.score=e.score),a})}var jt=/[\p{L}\p{M}\p{N}_]+/gu,Mt=new WeakSet;function Nt(e){Mt.has(e)||(Mt.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 Pt(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||Nt(e),t=>t.match(e)||[]):e=>e.match(jt)||[]}function Ft({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=Pt(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=at(n)),r(n)}}}var It=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=Ft({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 ot(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=nt(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function Lt(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 Rt(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){Lt(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)Lt(e,t.v,i,r);else Lt(e,n.v,i,r)}}function zt(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)Rt(r,i,t,n);return r}function Bt(e,t,n,r){Rt(e,t,n,r)}function Vt(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 Ht(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)Vt(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var $=class{constructor(e,t,n){this.options={...X,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Ue(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=vt(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 Ze))throw Error(H);if(this._myIndex=t||Z(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=Ft({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=zt(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!z(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=Ft({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});Bt(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&&Ht(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(Ve);this._invertedIndex&&Ht(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(I(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return L(n)&&n>-1&&(e=e.slice(0,n)),e}let c=L(n)&&n>0&&I(e),l;if(c){let t=new Ot(n);I(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=I(e)?I(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Dt(l,{ignoreFieldNorm:s}),a&&l.sort(o),L(n)&&n>-1&&(l=l.slice(0,n));return At(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(!z(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=Et(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=Tt(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===yt.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(z(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(!z(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=Et(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!z(t))return[];let r=[];if(P(t))t.forEach(({v:t,i,n:a})=>{if(!z(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=Z,$.parseIndex=Qe,$.config=X,$.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(K);return vt(e,{...X,...n}).searchIn(t)},$.parseQuery=Tt,Q(gt),Q(It),$.use=function(...e){e.forEach(e=>Q(e))};var Ut=$;function Wt(e,t){return t===`all`?!0:t===`changed`?e===`edited`:t===`new`?e===`new`:e!==null}var Gt=e(`<span class="arrow svelte-13hq4tl" aria-hidden="true">›</span>`),Kt=e(`<hr class="svelte-13hq4tl"/>`),qt=e(`<button role="menuitem" tabindex="-1" class="svelte-13hq4tl"> </button>`),Jt=e(`<!> <!>`,1),Yt=e(`<div role="menu" tabindex="-1"></div>`),Xt=e(`<div class="submenu-anchor svelte-13hq4tl" role="presentation"><button class="submenu-trigger svelte-13hq4tl" role="menuitem"><span> </span> <!></button> <!></div>`);function Zt(e,a){re(a,!0);let o=T(a,`alwaysSubmenu`,3,!1),u=y(void 0),d=y(void 0),v=y(!1),S=y(!1),ee=y(240),C=m(()=>a.sections.filter(e=>e.length>0)),te=m(()=>s(C).flat()),E=m(()=>o()||s(te).length>1);async function ne(e=!1){if(!s(E)||(_(v,!0),await h(),!s(u)||!s(d)))return;let t=s(u).getBoundingClientRect();_(S,t.right+s(d).offsetWidth+8>window.innerWidth),_(ee,Math.max(32,window.innerHeight-t.top-8),!0),e&&s(d).querySelector(`[role="menuitem"]`)?.focus()}function ie(e){if(!s(E)){let e=s(te)[0];e&&a.onSelect(e.value);return}e.stopPropagation(),ne()}function O(e){!s(E)||e.key!==`ArrowRight`&&e.key!==`ArrowDown`||(e.preventDefault(),e.stopPropagation(),ne(!0))}function ae(e){if(e.key===`ArrowLeft`||e.key===`Escape`){e.preventDefault(),e.stopPropagation(),_(v,!1),s(u)?.focus();return}if(!s(d))return;let t=[...s(d).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 j=Xt(),M=l(j),ce=l(M),le=l(ce,!0);D(ce);var ue=c(ce,2),de=e=>{f(e,Gt())};r(ue,e=>{s(E)&&e(de)}),D(M),x(M,e=>_(u,e),()=>s(u));var fe=c(M,2),pe=e=>{var i=Yt();let o,u;t(i,21,()=>s(C),se,(e,i,o)=>{var u=Jt(),d=k(u),m=e=>{f(e,Kt())};r(d,e=>{o>0&&e(m)}),t(c(d,2),17,()=>s(i),e=>e.value,(e,t)=>{var r=qt(),i=l(r,!0);D(r),g(()=>n(i,s(t).label)),p(`click`,r,()=>a.onSelect(s(t).value)),f(e,r)}),f(e,u)}),D(i),x(i,e=>_(d,e),()=>s(d)),g(()=>{o=b(i,1,`submenu svelte-13hq4tl`,null,o,{"opens-left":s(S)}),A(i,`aria-label`,a.label),u=w(i,``,u,{"max-height":`${s(ee)}px`})}),p(`keydown`,i,ae),f(e,i)};r(fe,e=>{s(E)&&s(v)&&e(pe)}),D(j),g(()=>{A(M,`aria-haspopup`,s(E)?`menu`:void 0),A(M,`aria-expanded`,s(E)?s(v):void 0),n(le,a.label)}),i(`mouseenter`,j,()=>void ne()),i(`mouseleave`,j,()=>_(v,!1)),p(`focusout`,j,e=>{e.currentTarget.contains(e.relatedTarget)||_(v,!1)}),p(`click`,M,ie),p(`keydown`,M,O),f(e,j),oe()}d([`focusout`,`click`,`keydown`]);var Qt=e(`<button role="menuitem" class="svelte-109nkvw">Rename</button>`),$t=e(`<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 en(e,t){re(t,!0);let o=m(()=>Math.max(8,Math.min(t.x,window.innerWidth-176))),u=m(()=>t.assetCount===1&&t.copyOptions.length>0),d=m(()=>2+ +!!s(u)+ +!!t.onRename),h=m(()=>Math.max(8,Math.min(t.y,window.innerHeight-(s(d)*32+17)))),_=/Mac|iPhone|iPad/.test(navigator.platform)?`Open in Finder`:/Win/.test(navigator.platform)?`Open in Explorer`:`Open in File Manager`;function v(e){e(),t.onClose()}var y=$t();i(`click`,a,function(...e){t.onClose?.apply(this,e)}),i(`blur`,a,function(...e){t.onClose?.apply(this,e)}),i(`keydown`,a,e=>e.key===`Escape`&&t.onClose()),i(`resize`,a,function(...e){t.onClose?.apply(this,e)}),i(`scroll`,a,function(...e){t.onClose?.apply(this,e)});let b;var x=l(y),S=e=>{{let n=m(()=>[t.copyOptions.slice(0,1).map(e=>({label:e,value:e})),t.copyOptions.slice(1).map(e=>({label:e,value:e}))]);Zt(e,{label:`Copy Asset ID`,get sections(){return s(n)},alwaysSubmenu:!0,onSelect:e=>v(()=>t.onCopy(e))})}};r(x,e=>{s(u)&&e(S)});var ee=c(x,2),C=e=>{var n=Qt();p(`click`,n,()=>v(t.onRename)),f(e,n)};r(ee,e=>{t.onRename&&e(C)});var te=c(ee,2),T=l(te,!0);D(te);var E=c(te,4),ne=l(E,!0);D(E),D(y),g(()=>{b=w(y,``,b,{left:`${s(o)}px`,top:`${s(h)}px`}),n(T,t.assetCount===1?`Delete Asset`:`Delete ${t.assetCount} Assets`),n(ne,_)}),p(`contextmenu`,y,e=>e.preventDefault()),p(`click`,te,()=>v(t.onDelete)),p(`click`,E,()=>v(t.onReveal)),f(e,y),oe()}d([`contextmenu`,`click`]);var tn=e(`<span class="emoji svelte-1b4m5oj"> </span>`),nn=e(`<span><!> <span class="name svelte-1b4m5oj"> </span></span>`);function rn(e,t){re(t,!0);let i=T(t,`variant`,3,`chip`),a=T(t,`passive`,3,!1),o=T(t,`via`,19,()=>[]),u=m(()=>N.manifestAppearance(t.name)),d=m(()=>s(u).color??`var(--accent)`),p=m(()=>a()?`${t.name} — passive member${o().length>0?`, via ${o().join(`, `)}`:``}`:t.name);var h=nn();let _;var v=l(h),y=e=>{var t=tn(),r=l(t,!0);D(t),g(()=>n(r,s(u).emoji)),f(e,t)};r(v,e=>{s(u).emoji&&e(y)});var x=c(v,2),S=l(x,!0);D(x),D(h),g(()=>{_=b(h,1,`manifest-label ${i()??``}`,`svelte-1b4m5oj`,_,{passive:a()}),w(h,`--manifest-color: ${s(d)??``}`),A(h,`title`,s(p)),n(S,t.name)}),f(e,h),oe()}function an(e){return[e.id,...e.manifests.map(t=>`${t}.${e.id}`)]}var on=e(`<!>`,1),sn=e(`<div class="browse-select control svelte-dr99ka"><span class="icon-slot svelte-dr99ka"><!></span> <select class="svelte-dr99ka"><!></select></div>`);function cn(e,t){re(t,!0);let n=T(t,`value`,15);var r=sn(),i=l(r);Te(l(i),{get name(){return t.icon},size:14}),D(i);var a=c(i,2);C(a,()=>{var e=l(a),n=on();j(k(n),()=>t.children),f(e,n)}),D(r),g(()=>{A(i,`title`,t.label),A(a,`aria-label`,t.label)}),O(a,n),f(e,r),oe()}var ln=e(`<span class="selection-summary svelte-1uha8ag"> </span> <button class="control">Select all shown</button> <button class="control">Clear</button>`,1),un=e(`<button class="control">Select All</button>`),dn=e(`<option>Sort alphabetically</option> <option>Sort by type</option> <option>Sort by manifest</option>`,1),fn=e(`<option> </option>`),pn=e(`<option>All types</option> <!>`,1),mn=e(`<option>All manifests</option> <!>`,1),hn=e(`<option>All Assets</option> <option>Changed Assets</option> <option>New Assets</option> <option>Changed &amp; New Assets</option>`,1),gn=e(`<div class="empty svelte-1uha8ag">Loading library…</div>`),_n=e(`<div class="empty svelte-1uha8ag"> </div>`),vn=e(`<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>`),yn=e(`<section class="section folder-section svelte-1uha8ag"><!> <div class="folder-grid svelte-1uha8ag"></div></section>`),bn=e(`<span class="section-emoji svelte-1uha8ag"> </span>`),xn=e(`<!> `,1),Sn=e(`<span class="badge warning svelte-1uha8ag">⚠</span>`),Cn=e(`<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>`),wn=e(`<section class="section svelte-1uha8ag"><!> <div class="grid svelte-1uha8ag"></div></section>`),Tn=e(`<!> <!>`,1),En=e(`<div class="drop-hint svelte-1uha8ag"> </div>`),Dn=e(`<p class="dialog-warning svelte-1uha8ag"> </p>`),On=e(`<p class="dialog-warning svelte-1uha8ag">An asset with this ID already exists.</p>`),kn=e(`<label class="dialog-row svelte-1uha8ag"><span class="svelte-1uha8ag">ID</span> <input class="control svelte-1uha8ag" spellcheck="false"/></label> <!> <!> <!> <!>`,1),An=e(`<p class="dialog-text svelte-1uha8ag"> </p> <!> <!>`,1),jn=e(`<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"><!> <!> <!> <!> <div class="control search svelte-1uha8ag"><span class="search-icon-slot 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></span> <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 Mn(e,d){re(d,!0);let C=`fundus.gallery.sort`,w=`fundus.gallery.folder`;function T(){try{let e=localStorage.getItem(C);if(e===`type`||e===`manifest`||e===`alphabetical`)return e}catch{}return`alphabetical`}let O=y(v(T()));function se(){try{let e=localStorage.getItem(w);return e===null||e===`__all__`?null:e}catch{return null}}let j=y(v(se())),Te=y(`all`),P=y(`all`),Re=y(`all`),F=y(``),I=y(!1),L=y(!1),ze=y(null),R=y(null),Be=y(``),z=y(null),B=y(null),V=y(null),H=y(``),Ve=y(void 0),U=y(v([])),W=y(null),He=y(null),G=y(!1),K=y(null),q=0,Ue=y(null),We=0,Ge=y(null),Ke=0,qe=y(null),Je=0,J=y(v([])),Y=y(null),Ye=y(void 0),X=y(void 0),Xe=Se().join(`,`),Ze=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘K`:`Ctrl K`;o(()=>{try{localStorage.setItem(C,s(O))}catch{}}),o(()=>{try{localStorage.setItem(w,s(j)??`__all__`)}catch{}});let Z=m(()=>N.state?.assets??[]),Qe=m(()=>s(V)!==null&&s(H)!==s(V)?fe(s(H)):null),$e=m(()=>s(V)!==null&&s(Z).some(e=>e.id!==s(V)&&e.id===s(H))),et=m(()=>s(V)!==null&&s(H)!==s(V)&&s(Qe)===null&&!s($e)&&!s(G)),tt=m(()=>s(V)===null?[]:(s(Z).find(e=>e.id===s(V))?.references.incoming??[]).map(e=>`${e.assetId}.${e.field} → ${s(V)}`)),nt=m(()=>new Set(s(U))),rt=m(()=>s(U).flatMap(e=>(s(Z).find(t=>t.id===e)?.references.incoming??[]).filter(e=>!s(nt).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e}`))),it=m(()=>N.state?.library.folders??[]),at=m(()=>N.manifestNames),ot=m(()=>[...new Set(s(Z).map(e=>e.type))].sort()),st=m(()=>s(F).trim()),ct=m(()=>new Ut(s(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})),lt=m(()=>s(st)===``?null:new Set(s(ct).search(s(st)).map(({item:e})=>e.id))),ut=m(()=>s(it).map(e=>({path:e,name:ye(e)}))),dt=m(()=>new Ut(s(ut),{keys:[{name:`name`,weight:.7},{name:`path`,weight:.3}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),ft=m(()=>s(st)===``?null:new Set(s(dt).search(s(st)).map(({item:e})=>e.path))),pt=m(()=>s(j)===null?[]:s(it).filter(e=>le(e)===s(j)).sort((e,t)=>e.localeCompare(t))),mt=m(()=>s(ft)===null?s(pt):s(pt).filter(e=>s(ft).has(e)));o(()=>{N.state&&s(j)!==null&&s(j)!==``&&!s(it).includes(s(j))&&_(j,null)});let ht=m(()=>s(Z).filter(e=>!(s(j)!==null&&e.folder!==s(j)||s(lt)!==null&&!s(lt).has(e.id)||s(Te)!==`all`&&e.type!==s(Te)||!Wt(e.gitStatus,s(Re))||s(P)!==`all`&&!e.manifests.includes(s(P))&&!e.passiveManifests.some(e=>e.manifest===s(P))||s(I)&&e.warnings.length===0))),gt=(e,t)=>e.id.localeCompare(t.id),_t=m(()=>{let e=[...s(ht)].sort(gt);if(s(O)===`alphabetical`)return[{key:`all`,heading:null,assets:e}];if(s(O)===`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 s(at)){let r=e.filter(e=>e.manifests.includes(n)||e.passiveManifests.some(e=>e.manifest===n));r.length>0&&t.push({key:n,heading:n,emoji:N.manifestAppearance(n).emoji,assets:r})}let n=e.filter(e=>e.manifests.length===0&&e.passiveManifests.length===0);return n.length>0&&t.push({key:`__no-manifest__`,heading:`No manifest`,assets:n}),t}),Q=m(()=>[...new Set(s(_t).flatMap(e=>e.assets.map(e=>e.id)))]);o(()=>{let e=new Set(s(Z).map(e=>e.id)),t=s(J).filter(t=>e.has(t));t.length!==s(J).length&&_(J,t,!0)});function vt(e){Ie.begin(),_(j,e,!0),_(J,[],!0),_(Y,null)}function yt(e,t){if(t&&s(Y)!==null){let t=s(Q).indexOf(s(Y)),n=s(Q).indexOf(e);if(t!==-1&&n!==-1){let r=Math.min(t,n),i=Math.max(t,n);_(J,[...new Set([...s(J),...s(Q).slice(r,i+1)])],!0),_(Y,e,!0);return}}_(J,s(J).includes(e)?s(J).filter(t=>t!==e):[...s(J),e],!0),_(Y,e,!0)}function bt(){_(J,[...s(Q)],!0),_(Y,s(Q).at(-1)??null,!0)}function xt(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 St(e){e.preventDefault(),_(L,!1);let t=e.dataTransfer?.files?.[0];t&&(_(Be,s(j)??``,!0),_(ze,t,!0))}function Ct(e){_(Be,e,!0),s(Ye)?.click()}function wt(e){We+=1,_(Ue,{id:We,parent:e},!0)}function Tt(e){Ke+=1,_(Ge,{id:Ke,path:e},!0)}function Et(e){Je+=1,_(qe,{id:Je,path:e},!0)}function Dt(e){e.preventDefault(),_(B,null),_(z,{x:e.clientX,y:e.clientY,parent:s(j)??``,renamePath:null},!0)}function Ot(e,t){e.preventDefault(),e.stopPropagation(),_(B,null),_(z,{x:e.clientX,y:e.clientY,parent:t,renamePath:t},!0)}function kt(e,t){e.preventDefault(),e.stopPropagation(),_(z,null);let n=s(J).includes(t)?[...s(J)]:[t];s(J).includes(t)||(_(J,[t],!0),_(Y,t,!0)),_(B,{x:e.clientX,y:e.clientY,assetIds:n,targetAssetId:t},!0)}function At(e){q+=1,_(V,e,!0),_(H,e,!0),_(K,null),h().then(()=>{s(Ve)?.focus(),s(Ve)?.select()})}function jt(e){q+=1,_(U,[...new Set(e)],!0),_(K,null)}async function Mt(e){try{await Ce(e),N.error=null}catch(e){N.error=e instanceof Error?e.message:String(e)}}function Nt(e){let t=N.assetById(e);return t?an(t):[e]}async function Pt(e){try{await navigator.clipboard.writeText(e),N.error=null}catch(e){N.error=`Could not copy asset ID: ${e instanceof Error?e.message:String(e)}`}}async function Ft(e){try{await xe(e),N.error=null}catch(e){N.error=e instanceof Error?e.message:String(e)}}function It(){s(G)||(q+=1,_(V,null),_(U,[],!0),_(K,null))}async function Lt(){if(!s(et)||s(V)===null)return;let e=s(V),t=s(H);_(G,!0),_(K,null);let n=N.mutate(()=>he(e,{renameTo:t}),we(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});_(J,s(J).map(n=>n===e?t:n),!0),_(Y,s(Y)===e?t:s(Y),!0),_(V,null);let r=++q;_(G,!1);try{await n}catch(n){let i=N.assetById(e)!==null;i&&(_(J,s(J).map(n=>n===t?e:n),!0),_(Y,s(Y)===t?e:s(Y),!0)),i&&q===r&&(_(V,e,!0),_(H,t,!0),_(K,n instanceof Error?n.message:String(n),!0))}finally{_(G,!1)}}async function Rt(){if(s(U).length===0)return;let e=[...s(U)],t=[...s(J)],n=s(Y);_(G,!0),_(K,null);let r=N.mutate(()=>me(e),_e(e),{dependencies:e.map(e=>`asset:${e}`),invalidatesOnFailure:e.map(e=>`asset:${e}`)}),i=new Set(e);_(J,s(J).filter(e=>!i.has(e)),!0),s(Y)!==null&&i.has(s(Y))&&_(Y,null);let a=[...s(J)],o=s(Y);_(U,[],!0);let c=++q;_(G,!1);try{await r}catch(r){let i=new Set(e.filter(e=>N.assetById(e)));i.size>0&&s(J).length===a.length&&s(J).every((e,t)=>e===a[t])&&s(Y)===o&&(_(J,t.filter(e=>i.has(e)),!0),_(Y,n!==null&&i.has(n)?n:null,!0)),i.size>0&&q===c&&(_(U,e.filter(e=>i.has(e)),!0),_(K,r instanceof Error?r.message:String(r),!0))}finally{_(G,!1)}}function zt(e){return s(Z).filter(t=>t.folder===e).length}function Bt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&_(ze,n,!0)}async function Vt(e){_(ze,null),_(R,null),await ce(M(`/asset/[id]`,{id:e}))}async function Ht(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]})])],i=[...s(J)],a=s(Y),o=N.mutate(()=>ue(n,t),ve(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]});_(J,[],!0),_(Y,null);try{await o}catch{n.some(e=>N.assetById(e)?.folder!==t)&&s(J).length===0&&s(Y)===null&&(_(J,i,!0),_(Y,a,!0))}}function $(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,r=ke(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,s(W),t,s(it));!n&&!r||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),_(He,t,!0))}function Gt(e,t){e.preventDefault(),_(He,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`)&&Ht(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`);r&&De(r,t,s(it))&&Kt(r,t)}async function Kt(e,t){let n=pe(t,ye(e)),r=s(j),i=r,a=N.mutate(()=>ge(e,t),be(e,t),{dependencies:[`folder:${e}`,`folder:${t}`,`folder:${n}`],invalidatesOnFailure:[`folder:${e}`,`folder:${n}`]});s(j)!==null&&de(s(j),e)&&(i=`${n}${s(j).slice(e.length)}`,vt(i));try{await a}catch{s(j)===i&&s(it).some(t=>de(t,e))&&vt(r)}finally{_(W,null),_(He,null)}}function qt(e){e&&e.play().catch(()=>{})}function Jt(e){e&&(e.pause(),e.currentTime=0)}function Yt(e){e.defaultPrevented||e.altKey||e.shiftKey||!e.metaKey&&!e.ctrlKey||e.key.toLowerCase()!==`k`||document.querySelector(`[role="dialog"]`)!==null||(e.preventDefault(),s(X)?.focus(),s(X)?.select())}var Xt=jn();i(`keydown`,a,Yt),i(`dragenter`,a,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(L,!0))}),i(`dragover`,a,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(L,!0))}),i(`drop`,a,St);var Zt=k(Xt),Qt=l(Zt);je(Qt,{get selectedFolder(){return s(j)},get createRequest(){return s(Ue)},get renameRequest(){return s(Ge)},get deleteRequest(){return s(qe)},onSelect:vt,onMoveAssets:(e,t)=>void Ht(e,t),get sharedDraggedFolder(){return s(W)},onFolderDragStart:e=>_(W,e,!0),onFolderDragEnd:()=>_(W,null),onContextMenu:(e,t,n,r)=>{_(B,null),_(z,{x:e,y:t,parent:n,renamePath:r},!0)}});var $t=c(Qt,2);let tn;var nn=l($t),on=l(nn),sn=e=>{var t=ln(),r=k(t),i=l(r);D(r);var a=c(r,2),o=c(a,2);g(()=>n(i,`${s(J).length??``} selected`)),p(`click`,a,bt),p(`click`,o,()=>{_(J,[],!0),_(Y,null)}),f(e,t)},Mn=e=>{var t=un();g(()=>t.disabled=s(Q).length===0),p(`click`,t,bt),f(e,t)};r(on,e=>{s(J).length>0?e(sn):e(Mn,-1)});var Nn=c(on,2),Pn=c(Nn,2),Fn=c(Pn,2);x(Fn,e=>_(Ye,e),()=>s(Ye)),D(nn);var In=c(nn,2),Ln=l(In);cn(Ln,{label:`Sort`,icon:`sort`,get value(){return s(O)},set value(e){_(O,e,!0)},children:(e,t)=>{var n=dn(),r=k(n);r.value=r.__value=`alphabetical`;var i=c(r,2);i.value=i.__value=`type`;var a=c(i,2);a.value=a.__value=`manifest`,f(e,n)},$$slots:{default:!0}});var Rn=c(Ln,2);cn(Rn,{label:`Filter by type`,icon:`asset-type`,get value(){return s(Te)},set value(e){_(Te,e,!0)},children:(e,r)=>{var i=pn(),a=k(i);a.value=a.__value=`all`,t(c(a,2),16,()=>s(ot),e=>e,(e,t)=>{var r=fn(),i=l(r,!0);D(r);var a={};g(()=>{n(i,t),a!==(a=t)&&(r.value=(r.__value=t)??``)}),f(e,r)}),f(e,i)},$$slots:{default:!0}});var zn=c(Rn,2);cn(zn,{label:`Filter by manifest`,icon:`manifest`,get value(){return s(P)},set value(e){_(P,e,!0)},children:(e,r)=>{var i=mn(),a=k(i);a.value=a.__value=`all`,t(c(a,2),16,()=>s(at),e=>e,(e,t)=>{let r=m(()=>N.manifestAppearance(t).emoji);var i=fn(),a=l(i,!0);D(i);var o={};g(()=>{n(a,s(r)?`${s(r)} ${t}`:t),o!==(o=t)&&(i.value=(i.__value=t)??``)}),f(e,i)}),f(e,i)},$$slots:{default:!0}});var Bn=c(zn,2);cn(Bn,{label:`Filter by Git status`,icon:`git-branch`,get value(){return s(Re)},set value(e){_(Re,e,!0)},children:(e,t)=>{var n=hn(),r=k(n);r.value=r.__value=`all`;var i=c(r,2);i.value=i.__value=`changed`;var a=c(i,2);a.value=a.__value=`new`;var o=c(a,2);o.value=o.__value=`changed-and-new`,f(e,n)},$$slots:{default:!0}});var Vn=c(Bn,2),Hn=c(l(Vn),2);ne(Hn),x(Hn,e=>_(X,e),()=>s(X));var Un=c(Hn,2),Wn=l(Un,!0);D(Un),D(Vn);var Gn=c(Vn,2),Kn=l(Gn);ne(Kn),S(),D(Gn),D(In);var qn=c(In,2),Jn=e=>{f(e,gn())},Yn=e=>{var t=_n(),r=l(t,!0);D(t),g(()=>n(r,s(Z).length===0?`No assets yet — drop an image anywhere to import it.`:`Nothing matches the current filters.`)),f(e,t)},Xn=e=>{var a=Tn(),o=k(a),d=e=>{var r=yn(),a=l(r);Ae(a,{children:(e,t)=>{S(),f(e,u(`Folders`))},$$slots:{default:!0}});var o=c(a,2);t(o,20,()=>s(mt),e=>e,(e,t)=>{var r=vn();let a;var o=l(r);Ne(l(o),{size:18}),D(o);var u=c(o,2),d=l(u),m=l(d,!0);D(d);var h=c(d,2),v=l(h);D(h),D(u),S(2),D(r),g((e,i)=>{a=b(r,1,`folder-card svelte-1uha8ag`,null,a,{"drop-target":s(He)===t,"dragging-folder":s(W)===t}),n(m,e),n(v,`${i??``} assets`)},[()=>ye(t),()=>zt(t)]),p(`click`,r,()=>vt(t)),p(`contextmenu`,r,e=>Ot(e,t)),i(`dragstart`,r,e=>{_(W,t,!0),e.dataTransfer?.setData(`application/x-fundus-folder`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),i(`dragend`,r,()=>{_(W,null),_(He,null)}),i(`dragover`,r,e=>$(e,t)),i(`dragleave`,r,()=>_(He,null)),i(`drop`,r,e=>Gt(e,t)),f(e,r)}),D(o),D(r),f(e,r)};r(o,e=>{s(mt).length>0&&e(d)});var h=c(o,2),v=e=>{var a=E();t(k(a),17,()=>s(_t),e=>e.key,(e,a)=>{var o=wn(),u=l(o),d=e=>{Ae(e,{children:(e,t)=>{var i=xn(),o=k(i),u=e=>{var t=bn(),r=l(t,!0);D(t),g(()=>n(r,s(a).emoji)),f(e,t)};r(o,e=>{s(a).emoji&&e(u)});var d=c(o,1,!0);g(()=>n(d,s(a).heading)),f(e,i)},$$slots:{default:!0}})};r(u,e=>{s(a).heading&&e(d)});var h=c(u,2);t(h,21,()=>s(a).assets,e=>e.id,(e,a)=>{let o=m(()=>Oe[s(a).type]?.thumbnail);var u=Cn();let d;var h=l(u),_=e=>{{let t=m(()=>`${s(a).gitStatus===`new`?`New`:`Edited`} on ${N.state?.gitBranch??`the current Git branch`}`);Ee(e,{get kind(){return s(a).gitStatus},overlay:!0,get title(){return s(t)}})}};r(h,e=>{s(a).gitStatus&&e(_)});var v=c(h,2);ne(v);var y=c(v,2),x=l(y),S=e=>{var t=E();ee(k(t),()=>s(o),(e,t)=>{t(e,{get asset(){return s(a)}})}),f(e,t)};r(x,e=>{s(o)&&e(S)}),D(y);var C=c(y,2),w=l(C),T=l(w,!0);D(w);var re=c(w,2),ie=l(re,!0);D(re),D(C);var O=c(C,2),ae=l(O);t(ae,16,()=>s(a).manifests,e=>e,(e,t)=>{rn(e,{get name(){return t}})});var oe=c(ae,2);t(oe,17,()=>s(a).passiveManifests,e=>e.manifest,(e,t)=>{rn(e,{get name(){return s(t).manifest},passive:!0,get via(){return s(t).via}})}),t(c(oe,2),16,()=>s(a).warnings,e=>e,(e,t)=>{var n=Sn();g(()=>A(n,`title`,t)),f(e,n)}),D(O),D(u),g((e,t,r)=>{d=b(u,1,`card svelte-1uha8ag`,null,d,e),A(u,`data-asset-id`,s(a).id),A(u,`href`,t),te(v,r),A(v,`aria-label`,`Select ${s(a).id}`),n(T,s(a).id),n(ie,s(a).type)},[()=>({selected:s(J).includes(s(a).id)}),()=>M(`/asset/[id]`,{id:s(a).id}),()=>s(J).includes(s(a).id)]),p(`contextmenu`,u,e=>kt(e,s(a).id)),p(`click`,u,e=>{(s(J).length>0||e.metaKey||e.ctrlKey||e.shiftKey)&&(e.preventDefault(),yt(s(a).id,e.shiftKey))}),i(`dragstart`,u,e=>{let t=s(J).includes(s(a).id)?s(J):[s(a).id];e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify(t)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`),xt(e,t)}),i(`focus`,u,e=>qt(e.currentTarget.querySelector(`video`))),i(`blur`,u,e=>Jt(e.currentTarget.querySelector(`video`))),p(`click`,v,e=>{e.stopPropagation(),yt(s(a).id,e.shiftKey)}),f(e,u)}),D(h),D(o),f(e,o)}),f(e,a)};r(h,e=>{s(ht).length>0&&e(v)}),f(e,a)};r(qn,e=>{N.state?s(ht).length===0&&s(mt).length===0?e(Yn,1):e(Xn,-1):e(Jn)});var Zn=c(qn,2),Qn=e=>{var t=En(),r=l(t);D(t),g(()=>n(r,`Drop to import into ${(s(j)||`Root`)??``}`)),f(e,t)};r(Zn,e=>{s(L)&&e(Qn)}),D($t),D(Zt);var $n=c(Zt,2),er=e=>{{let t=m(()=>s(z).renamePath===null?void 0:()=>Tt(s(z)?.renamePath??``)),n=m(()=>s(z).renamePath===null?void 0:()=>Et(s(z)?.renamePath??``));Fe(e,{get x(){return s(z).x},get y(){return s(z).y},onReveal:()=>void Ft(s(z)?.renamePath??s(z)?.parent??``),onNewDirectory:()=>wt(s(z)?.parent??``),get onRenameDirectory(){return s(t)},onImportFile:()=>Ct(s(z)?.parent??``),onImportFigma:()=>_(R,s(z)?.parent??``,!0),get onDeleteDirectory(){return s(n)},onClose:()=>_(z,null)})}};r($n,e=>{s(z)&&e(er)});var tr=c($n,2),nr=e=>{{let t=m(()=>Nt(s(B).targetAssetId)),n=m(()=>s(B).assetIds.length===1?()=>At(s(B)?.assetIds[0]??``):void 0);en(e,{get x(){return s(B).x},get y(){return s(B).y},get assetCount(){return s(B).assetIds.length},get copyOptions(){return s(t)},onCopy:e=>void Pt(e),onReveal:()=>void Mt(s(B)?.targetAssetId??``),get onRename(){return s(n)},onDelete:()=>jt(s(B)?.assetIds??[]),onClose:()=>_(B,null)})}};r(tr,e=>{s(B)&&e(nr)});var rr=c(tr,2),ir=e=>{{let t=m(()=>s(G)?`Renaming…`:`Rename`),i=m(()=>!s(et));Le(e,{title:`Rename asset`,get confirmLabel(){return s(t)},get confirmDisabled(){return s(i)},get busy(){return s(G)},onConfirm:()=>void Lt(),onCancel:It,children:(e,t)=>{var i=kn(),a=k(i),o=c(l(a),2);ne(o),x(o,e=>_(Ve,e),()=>s(Ve)),D(a);var u=c(a,2),d=e=>{var t=Dn(),r=l(t,!0);D(t),g(()=>n(r,s(Qe))),f(e,t)};r(u,e=>{s(Qe)&&e(d)});var p=c(u,2),m=e=>{f(e,On())};r(p,e=>{s($e)&&e(m)});var h=c(p,2),v=e=>{var t=Dn(),r=l(t);D(t),g(e=>n(r,`Renaming leaves ${s(tt).length??``} reference(s) pointing to the old ID:
2
+ ${e??``}`),[()=>s(tt).join(`, `)]),f(e,t)};r(h,e=>{s(tt).length>0&&e(v)});var y=c(h,2),b=e=>{var t=Dn(),r=l(t,!0);D(t),g(()=>n(r,s(K))),f(e,t)};r(y,e=>{s(K)&&e(b)}),g(()=>o.disabled=s(G)),ae(o,()=>s(H),e=>_(H,e)),f(e,i)},$$slots:{default:!0}})}};r(rr,e=>{s(V)!==null&&e(ir)});var ar=c(rr,2),or=e=>{{let t=m(()=>s(U).length===1?`Delete asset`:`Delete ${s(U).length} assets`),i=m(()=>s(G)?`Deleting…`:s(U).length===1?`Delete asset`:`Delete ${s(U).length} assets`);Le(e,{get title(){return s(t)},get confirmLabel(){return s(i)},danger:!0,get busy(){return s(G)},onConfirm:()=>void Rt(),onCancel:It,children:(e,t)=>{var i=An(),a=k(i),o=l(a);D(a);var u=c(a,2),d=e=>{var t=Dn(),r=l(t);D(t),g(e=>n(r,`This leaves ${s(rt).length??``} external reference(s) dangling:
3
+ ${e??``}`),[()=>s(rt).join(`, `)]),f(e,t)};r(u,e=>{s(rt).length>0&&e(d)});var p=c(u,2),m=e=>{var t=Dn(),r=l(t,!0);D(t),g(()=>n(r,s(K))),f(e,t)};r(p,e=>{s(K)&&e(m)}),g(e=>n(o,`Delete ${e??``}? Their raw files and proxies are removed.`),[()=>s(U).join(`, `)]),f(e,i)},$$slots:{default:!0}})}};r(ar,e=>{s(U).length>0&&e(or)});var sr=c(ar,2),cr=e=>{Pe(e,{get file(){return s(ze)},get folder(){return s(Be)},onDone:e=>void Vt(e),onCancel:()=>_(ze,null)})};r(sr,e=>{s(ze)&&e(cr)});var lr=c(sr,2),ur=e=>{Me(e,{get folder(){return s(R)},onDone:e=>void Vt(e),onCancel:()=>_(R,null)})};r(lr,e=>{s(R)!==null&&e(ur)}),g(()=>{tn=b($t,1,`page svelte-1uha8ag`,null,tn,{dragging:s(L)}),A(Fn,`accept`,Xe),n(Wn,Ze)}),p(`contextmenu`,$t,Dt),i(`dragleave`,$t,e=>{e.relatedTarget===null&&_(L,!1)}),p(`click`,Nn,()=>Ct(s(j)??``)),p(`click`,Pn,()=>_(R,s(j)??``,!0)),p(`change`,Fn,Bt),p(`keydown`,Hn,e=>{e.key===`Escape`&&(e.stopPropagation(),s(F)===``?e.currentTarget.blur():_(F,``))}),ae(Hn,()=>s(F),e=>_(F,e)),ie(Kn,()=>s(I),e=>_(I,e)),f(e,Xt),oe()}d([`contextmenu`,`click`,`change`,`keydown`]);export{Mn as component};
@@ -0,0 +1 @@
1
+ import{A as e,C as t,D as n,E as r,H as i,I as a,J as o,K as s,M as c,N as l,O as u,P as d,Q as f,V as p,X as m,Z as h,_ as ee,a as g,at as _,b as v,f as y,it as b,k as x,l as te,nt as S,ot as C,p as ne,q as w,s as re,tt as T,u as E}from"../chunks/NblqapDQ.js";import{c as D,t as O}from"../chunks/B9iWbZmZ.js";import"../chunks/xihTtKlq.js";import{t as k}from"../chunks/DrsNq6gf.js";import{H as A,J as j,O as ie,Q as ae,X as oe,a as se,c as ce,et as le,m as ue,n as de,nt as fe,p as pe,t as M,u as N}from"../chunks/DylBiD8l.js";import{t as me}from"../chunks/C7Cs5PXV.js";import{c as he,l as P,n as ge,o as _e,s as ve,t as ye,u as F}from"../chunks/Blpvahbd.js";function be(e,t,n){return n===t.revision?e??t:e}var xe=e(`<div class="center empty svelte-xy8zsr">Loading…</div>`),Se=e(`<div class="center empty svelte-xy8zsr"> </div>`),Ce=e(`<div class="empty svelte-xy8zsr"> </div>`),we=e(`<p class="warning svelte-xy8zsr"> </p>`),Te=e(`<p class="hint error svelte-xy8zsr"> </p>`),Ee=e(`<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>`),De=e(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),Oe=e(`<p class="hint svelte-xy8zsr">No references.</p>`),ke=e(`<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>`),Ae=e(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),je=e(`<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>`),Me=e(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),Ne=e(`<!> <!>`,1),Pe=e(`<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),I=e(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <input type="file" hidden=""/> <!> <!> <!>`,1);function L(e,l){S(l,!0);let L=f(()=>k.params.id??``),R=f(()=>M.assetById(a(L))),Fe=f(()=>M.manifestNames),Ie=f(()=>a(R)?M.state?.presetNames[a(R).type]??[]:[]),z=f(()=>a(R)?he[a(R).type]??null:null),Le=f(()=>a(z)?.panel??null),Re=f(()=>a(z)?.editor??null),B=f(()=>{if(a(R)?.importSource?.importer!==`figma`)return null;let e=a(R).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(`:`,`-`)}`}}),V=h(null),ze=0,H=f(()=>a(R)?a(V)&&a(V).assetId===a(R).id?a(V).value:b(a(R)).parameters:null);function Be(e){a(R)&&m(V,{assetId:a(R).id,value:e,revision:++ze},!0)}let U=null,W=h(null),Ve=h(null),He=0,Ue=h(null),We=0,Ge=h(null),Ke=0,G=h(null),K=h(null),qe=h(``),Je=h(void 0),Ye=h(void 0),q=h(null),Xe=h(null),J=h(null),Y=h(null),Ze=h(null),X=h(``),Z=h(2),Qe=f(()=>a(B)!==null&&(a(X).trim()!==a(B).url||a(Z)!==a(B).scale));i(()=>{let e=a(B),t=a(R)&&e?`${a(R).id}|${e.fileKey}|${e.nodeId}|${e.scale}`:null;t!==a(Ze)&&(m(Ze,t,!0),m(X,e?.url??``,!0),m(Z,e?.scale??2,!0),m(Y,null))});let $e=pe().join(`,`),et=f(()=>a(R)?ue(a(R).type).join(`,`):``),tt=h(null),Q=f(()=>a(R)&&a(tt)?.assetId===a(R).id?a(tt).value:a(R)?.id??``),nt=f(()=>a(R)&&a(Q)!==a(R).id?ie(a(Q))??(M.assetById(a(Q))?`An asset with this ID already exists.`:null):null);async function rt(e){if(!a(R))return;let t=a(R).id,n=M.state?de(M.state,t,e):[`asset:${t}`];Be(e);let r=a(V),i=M.mutate(()=>oe(t,{parameters:e}),N(t,{parameters:e}),{dependencies:n});a(V)?.revision===r.revision&&m(V,null);try{await i}catch{m(V,be(a(V),r,ze),!0)}}async function it(e){if(!a(R))return;let t=a(R).id,n=a(R).manifests.includes(e)?a(R).manifests.filter(t=>t!==e):[...a(R).manifests,e];try{await M.mutate(()=>oe(t,{manifests:n}),N(t,{manifests:n}),{dependencies:[`asset:${t}`,...[...new Set([...n,e])].map(e=>`manifest:${e}`)]})}catch{}}async function at(){if(!a(R)||a(Q)===a(R).id||a(nt))return;let e=a(R).id,t=a(Q),n=M.mutate(()=>oe(e,{renameTo:t}),N(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});m(tt,null);let r=a(L)===e?O(D(`/asset/[id]`,{id:t}),{replaceState:!0}):Promise.resolve();try{await Promise.all([n,r])}catch{a(L)===t&&M.assetById(e)&&await O(D(`/asset/[id]`,{id:e}),{replaceState:!0})}}async function ot(){if(!a(R))return;let e=a(R).id;if(!confirm(`Delete "${e}"? The raw file and its proxies are removed.`))return;let t=M.mutate(()=>A(e),se([e]),{dependencies:[`asset:${e}`],invalidatesOnFailure:[`asset:${e}`]}),n=a(L)===e?F.begin():null;U=null;let r=n===null?Promise.resolve():O(D(`/`));try{await Promise.all([t,r])}catch{n!==null&&F.isCurrent(n)&&k.url.pathname===D(`/`)&&M.assetById(e)&&await O(D(`/asset/[id]`,{id:e}))}}async function st(e,t){let n=F.begin();U=t?{assetId:t,intent:n}:null;try{localStorage.setItem(`fundus.gallery.folder`,e??`__all__`)}catch{}await O(D(`/`))}async function ct(e){let t=U;t?.assetId!==e||!F.isCurrent(t.intent)||k.url.pathname!==D(`/`)||!M.assetById(e)||(U=null,await O(D(`/asset/[id]`,{id:e})))}async function lt(e){await st(e,a(L))}async function ut(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]})])];try{await M.mutate(()=>j(n,t),ce(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]})}catch{}}function dt(e){He+=1,m(Ve,{id:He,parent:e},!0)}function ft(e){We+=1,m(Ue,{id:We,path:e},!0)}function pt(e){Ke+=1,m(Ge,{id:Ke,path:e},!0)}function mt(e){m(qe,e,!0),a(Je)?.click()}function ht(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&m(G,n,!0)}async function gt(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n||!a(R))return;let r=a(R).id;m(q,r,!0),m(Xe,null);try{await M.mutateFromServer(()=>le(r,n),{dependencies:[`asset:${r}`]})}catch(e){m(Xe,{assetId:r,message:e instanceof Error?e.message:String(e)},!0)}finally{a(q)===r&&m(q,null)}}function _t(){a(R)&&(a(R).importSource&&!confirm(`Replace file and disconnect Figma source? Future re-imports will no longer be available.`)||a(Ye)?.click())}async function vt(){if(!a(R)||!a(B))return;let e=a(R).id,t=a(X).trim();if(t.length===0){m(Y,{assetId:e,message:`Enter a Figma selection link.`},!0);return}m(J,e,!0),m(Y,null);let n=a(Qe)?{url:t,scale:a(Z)}:void 0;try{await M.mutateFromServer(()=>ae(e,n),{dependencies:[`asset:${e}`]}),m(Ze,null)}catch(t){m(Y,{assetId:e,message:t instanceof Error?t.message:String(t)},!0)}finally{a(J)===e&&m(J,null)}}async function yt(e){m(G,null),m(K,null),await O(D(`/asset/[id]`,{id:e}))}async function bt(e){try{await fe(e),M.error=null}catch(e){M.error=e instanceof Error?e.message:String(e)}}var xt=I(),St=w(xt),Ct=s(St);{let e=f(()=>a(R)?.folder??null);ge(Ct,{get selectedFolder(){return a(e)},get activeAsset(){return a(R)},get createRequest(){return a(Ve)},get renameRequest(){return a(Ue)},get deleteRequest(){return a(Ge)},onSelect:e=>void st(e),onMoveAssets:(e,t)=>void ut(e,t),onActiveAssetDeleted:e=>void lt(e),onActiveAssetDeleteFailed:e=>void ct(e),onContextMenu:(e,t,n,r)=>{m(W,{x:e,y:t,parent:n,renamePath:r},!0)}})}var wt=o(Ct,2),Tt=e=>{u(e,xe())},Et=e=>{var t=Se(),r=s(t);C(t),p(()=>n(r,`No asset with id "${a(L)??``}".`)),u(e,t)},Dt=e=>{var i=Pe(),l=w(i),f=s(l),h=e=>{var t=x();v(w(t),()=>a(Re),(e,t)=>{t(e,{get asset(){return a(R)},get parameters(){return a(H)},onParametersChange:Be,onParametersCommit:e=>void rt(e)})}),u(e,t)},g=e=>{var t=Ce(),r=s(t);C(t),p(()=>n(r,`No editor registered for asset type "${a(R).type??``}".`)),u(e,t)};r(f,e=>{a(Re)&&a(H)!==null?e(h):e(g,-1)}),C(l);var b=o(l,2),S=s(b),T=s(S),O=s(T,!0);C(T);var k=o(T,2),A=s(k),j=o(A),ie=s(j,!0);C(j),C(k),t(o(k,2),16,()=>a(R).warnings,e=>e,(e,t)=>{var r=we(),i=s(r);C(r),p(()=>n(i,`⚠ ${t??``}`)),u(e,r)}),C(S);var ae=o(S,2),oe=e=>{var t=x();v(w(t),()=>a(Le),(e,t)=>{t(e,{get asset(){return a(R)},get parameters(){return a(H)},onParametersChange:e=>Be(e),onParametersCommit:e=>void rt(e),get presetNames(){return a(Ie)}})}),u(e,t)};r(ae,e=>{a(Le)&&a(H)!==null&&e(oe)});var se=o(ae,2),ce=e=>{var t=Ee(),i=s(t);P(i,{children:(e,t)=>{_(),u(e,c(`Source`))},$$slots:{default:!0}});var l=o(i,2),f=s(l);C(l);var h=o(l,2),g=o(s(h),2);te(g),C(h);var v=o(h,2),y=o(s(v),2),b=s(y);b.value=b.__value=1;var x=o(b);x.value=x.__value=2;var S=o(x);S.value=S.__value=3;var w=o(S);w.value=w.__value=4,C(y),C(v);var T=o(v,2),D=s(T),O=o(D,2);let k;var A=s(O,!0);C(O),C(T);var j=o(T,2),ie=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(Y).message)),u(e,t)};r(j,e=>{a(Y)?.assetId===a(R).id&&e(ie)}),C(t),p(e=>{n(f,`Figma · node ${a(B).nodeId??``}`),g.disabled=a(J)===a(R).id,y.disabled=a(J)===a(R).id,E(D,`href`,a(B).url),k=ee(O,1,`control svelte-xy8zsr`,null,k,{primary:a(Qe)}),O.disabled=e,n(A,a(J)===a(R).id?a(Qe)?`Reimporting…`:`Refreshing…`:a(Qe)?`Reimport from Figma`:`Refresh`)},[()=>a(J)===a(R).id||a(X).trim().length===0]),re(g,()=>a(X),e=>m(X,e)),ne(y,()=>a(Z),e=>m(Z,e)),d(`click`,O,()=>void vt()),u(e,t)};r(se,e=>{a(B)&&e(ce)});var le=o(se,2),ue=s(le);P(ue,{children:(e,t)=>{_(),u(e,c(`Manifests`))},$$slots:{default:!0}});var de=o(ue,2),fe=e=>{u(e,De())},pe=e=>{me(e,{get manifests(){return a(Fe)},get selected(){return a(R).manifests},get passive(){return a(R).passiveManifests},onToggle:e=>void it(e)})};r(de,e=>{a(Fe).length===0?e(fe):e(pe,-1)}),C(le);var M=o(le,2),N=s(M);P(N,{children:(e,t)=>{_(),u(e,c(`References`))},$$slots:{default:!0}});var he=o(N,2),ge=e=>{u(e,Oe())},_e=e=>{var i=Ne(),c=w(i),l=e=>{var r=Ae();t(o(w(r),2),17,()=>a(R).references.outgoing,e=>`${e.field}→${e.assetId}`,(e,t)=>{var r=ke(),i=s(r),c=s(i,!0);C(i);var l=o(i,4),d=s(l,!0);C(l),C(r),p(e=>{E(r,`href`,e),n(c,a(t).field),n(d,a(t).assetId)},[()=>D(`/asset/[id]`,{id:a(t).assetId})]),u(e,r)}),u(e,r)};r(c,e=>{a(R).references.outgoing.length>0&&e(l)});var d=o(c,2),f=e=>{var r=Me();t(o(w(r),2),17,()=>a(R).references.incoming,e=>`${e.assetId}→${e.field}`,(e,t)=>{var r=je(),i=s(r),c=s(i,!0);C(i);var l=o(i,4),d=s(l,!0);C(l),C(r),p(e=>{E(r,`href`,e),n(c,a(t).assetId),n(d,a(t).field)},[()=>D(`/asset/[id]`,{id:a(t).assetId})]),u(e,r)}),u(e,r)};r(d,e=>{a(R).references.incoming.length>0&&e(f)}),u(e,i)};r(he,e=>{a(R).references.outgoing.length===0&&a(R).references.incoming.length===0?e(ge):e(_e,-1)}),C(M);var ve=o(M,2),ye=s(ve);P(ye,{children:(e,t)=>{_(),u(e,c(`Asset`))},$$slots:{default:!0}});var F=o(ye,2),be=s(F,!0);C(F);var xe=o(F,2),Se=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(Xe).message)),u(e,t)};r(xe,e=>{a(Xe)?.assetId===a(R).id&&e(Se)});var I=o(xe,2),L=s(I);te(L);var z=o(L,2);C(I);var V=o(I,2),ze=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(nt))),u(e,t)};r(V,e=>{a(nt)&&e(ze)});var U=o(V,2);C(ve),C(b),p(()=>{n(O,a(R).id),n(A,`${a(R).type??``} · `),n(ie,a(R).raw),F.disabled=a(q)===a(R).id,n(be,a(q)===a(R).id?`Replacing…`:`Replace`),y(L,a(Q)),z.disabled=a(Q)===a(R).id||a(nt)!==null}),d(`click`,F,_t),d(`input`,L,e=>m(tt,{assetId:a(R).id,value:e.currentTarget.value},!0)),d(`click`,z,()=>void at()),d(`click`,U,()=>void ot()),u(e,i)};r(wt,e=>{M.loaded?a(R)?e(Dt,-1):e(Et,1):e(Tt)}),C(St);var Ot=o(St,2);g(Ot,e=>m(Je,e),()=>a(Je));var $=o(Ot,2);g($,e=>m(Ye,e),()=>a(Ye));var kt=o($,2),At=e=>{{let t=f(()=>a(W).renamePath===null?void 0:()=>ft(a(W)?.renamePath??``)),n=f(()=>a(W).renamePath===null?void 0:()=>pt(a(W)?.renamePath??``));ye(e,{get x(){return a(W).x},get y(){return a(W).y},onReveal:()=>void bt(a(W)?.renamePath??a(W)?.parent??``),onNewDirectory:()=>dt(a(W)?.parent??``),get onRenameDirectory(){return a(t)},onImportFile:()=>mt(a(W)?.parent??``),onImportFigma:()=>m(K,a(W)?.parent??``,!0),get onDeleteDirectory(){return a(n)},onClose:()=>m(W,null)})}};r(kt,e=>{a(W)&&e(At)});var jt=o(kt,2),Mt=e=>{ve(e,{get file(){return a(G)},get folder(){return a(qe)},onDone:e=>void yt(e),onCancel:()=>m(G,null)})};r(jt,e=>{a(G)&&e(Mt)});var Nt=o(jt,2),Pt=e=>{_e(e,{get folder(){return a(K)},onDone:e=>void yt(e),onCancel:()=>m(K,null)})};r(Nt,e=>{a(K)!==null&&e(Pt)}),p(()=>{E(Ot,`accept`,$e),E($,`accept`,a(et))}),d(`change`,Ot,ht),d(`change`,$,e=>void gt(e)),u(e,xt),T()}l([`click`,`input`,`change`]);export{L as component};
@@ -0,0 +1,2 @@
1
+ import{A as e,C as t,D as n,E as r,H as i,I as a,J as o,K as s,N as c,O as l,P as u,Q as d,V as f,X as p,Z as m,_ as h,a as g,at as _,g as v,i as y,l as b,nt as x,ot as S,q as C,s as w,tt as T,u as E,x as D}from"../chunks/NblqapDQ.js";import{c as ee}from"../chunks/B9iWbZmZ.js";import"../chunks/xihTtKlq.js";import{G as te,V as O,Z as k,d as A,i as j,k as M,s as ne,t as N}from"../chunks/DylBiD8l.js";import{r as P,t as F}from"../chunks/BD3hQKzV.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=e(`<div role="dialog"><!></div>`),z=e(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function B(e,t){x(t,!0);let n=y(t,`open`,15,!1),c=y(t,`align`,3,`left`),u=m(void 0);function d(){n(!n())}i(()=>{if(!n())return;function e(e){a(u)&&!a(u).contains(e.target)&&n(!1)}function t(e){e.key===`Escape`&&n(!1)}return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});var _=z(),v=s(_);D(v,()=>t.trigger,()=>({toggle:d,open:n()}));var b=o(v,2),C=e=>{var n=R();let r;D(s(n),()=>t.children),S(n),f(()=>{r=h(n,1,`popover svelte-1rznwff`,null,r,{right:c()===`right`}),E(n,`aria-label`,t.label)}),l(e,n)};r(b,e=>{n()&&e(C)}),S(_),g(_,e=>p(u,e),()=>a(u)),l(e,_),T()}var V=e(`<button type="button" title="Emoji"> </button>`),H=e(`<button type="button"> </button>`),U=e(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),W=e(`<button type="button" title="Color"></button>`),G=e(`<button type="button"></button>`),K=e(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),re=e(`<div class="controls svelte-58t64l"><!> <!></div>`);function ie(e,r){x(r,!0);let i=d(()=>N.manifestAppearance(r.name)),c=d(()=>a(i).color??null),g=d(()=>a(i).emoji??null),_=m(!1),y=m(!1);async function b(e){let t=r.name;p(_,!1);try{await N.mutate(()=>k(t,{color:e}),A(t,{color:e}),{dependencies:[`manifest:${t}`]})}catch{}}async function C(e){let t=r.name;p(y,!1);try{await N.mutate(()=>k(t,{emoji:e}),A(t,{emoji:e}),{dependencies:[`manifest:${t}`]})}catch{}}var w=re(),D=s(w);B(D,{get label(){return`Pick an emoji for ${r.name??``}`},get open(){return a(y)},set open(e){p(y,e,!0)},trigger:(e,t)=>{let i=()=>(t?.()).toggle,o=()=>(t?.()).open;var c=V();let d;var p=s(c,!0);S(c),f(()=>{d=h(c,1,`emoji-trigger svelte-58t64l`,null,d,{empty:!a(g),active:o()}),E(c,`aria-label`,`Emoji for ${r.name??``}`),n(p,a(g)??`☺`)}),u(`click`,c,function(...e){i()?.apply(this,e)}),l(e,c)},children:(e,r)=>{var i=U(),c=s(i);let d;t(o(c,2),16,()=>L,e=>e,(e,t)=>{var r=H();let i;var o=s(r,!0);S(r),f(()=>{i=h(r,1,`emoji svelte-58t64l`,null,i,{selected:a(g)===t}),E(r,`title`,t),n(o,t)}),u(`click`,r,()=>void C(t)),l(e,r)}),S(i),f(()=>d=h(c,1,`emoji none svelte-58t64l`,null,d,{selected:a(g)===null})),u(`click`,c,()=>void C(null)),l(e,i)},$$slots:{trigger:!0,default:!0}}),B(o(D,2),{get label(){return`Pick a color for ${r.name??``}`},get open(){return a(_)},set open(e){p(_,e,!0)},trigger:(e,t)=>{let n=()=>(t?.()).toggle,i=()=>(t?.()).open;var o=W();let s;f(()=>{s=h(o,1,`swatch-trigger svelte-58t64l`,null,s,{empty:!a(c),active:i()}),v(o,`--swatch: ${a(c)??`transparent`??``}`),E(o,`aria-label`,`Color for ${r.name??``}`)}),u(`click`,o,function(...e){n()?.apply(this,e)}),l(e,o)},children:(e,n)=>{var r=K(),i=s(r);let d;t(o(i,2),17,()=>I,e=>e.value,(e,t)=>{var n=G();let r;f(()=>{r=h(n,1,`swatch svelte-58t64l`,null,r,{selected:a(c)===a(t).value}),v(n,`background: ${a(t).value??``}`),E(n,`title`,a(t).name),E(n,`aria-label`,a(t).name)}),u(`click`,n,()=>void b(a(t).value)),l(e,n)}),S(r),f(()=>d=h(i,1,`swatch none svelte-58t64l`,null,d,{selected:a(c)===null})),u(`click`,i,()=>void b(null)),l(e,r)},$$slots:{trigger:!0,default:!0}}),S(w),l(e,w),T()}c([`click`]);var ae=e(`<span class="hint svelte-1k9wgg5"> </span>`),oe=e(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),se=e(`<span class="asset-type svelte-1k9wgg5"> </span>`),ce=e(`<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=e(`<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=e(`<ul class="svelte-1k9wgg5"></ul>`),de=e(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),fe=e(`<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=e(`<div class="list svelte-1k9wgg5"></div>`),q=e(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),me=e(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),he=e(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),ge=e(`<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=e(`<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(e,i){x(i,!0);let c=m(``),h=d(()=>N.state?.assets??[]),g=d(()=>N.manifestNames);function y(e){return a(h).filter(t=>t.manifests.includes(e))}function D(e){return N.state?.manifestMemberships[e]?.passiveMembers??[]}function I(e,t){return D(e).filter(e=>e.via.includes(t))}function L(e){return N.state?.manifestDeliveredBytes[e]??0}let R=d(()=>a(c)?M(a(c)):null),z=d(()=>a(c)!==``&&!a(R)&&!a(g).includes(a(c)));async function B(){if(!a(z))return;let e=a(c),t=N.mutate(()=>O(e),j(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});p(c,``);try{await t}catch{a(c)===``&&!Object.hasOwn(N.state?.library.manifests??{},e)&&p(c,e,!0)}}let V=m(null),H=m(null),U=m(``),W=m(!1),G=m(null),K=0;function re(e){K+=1,p(G,null),p(V,e,!0)}function ve(e){K+=1,p(G,null),p(U,e,!0),p(H,e,!0)}function J(){K+=1,p(V,null),p(H,null),p(G,null)}let Y=d(()=>a(H)!==null&&a(U)!==a(H)?M(a(U)):null),ye=d(()=>a(H)!==null&&a(U)!==a(H)&&a(g).includes(a(U))),be=d(()=>a(H)!==null&&a(U)!==a(H)&&!a(Y)&&!a(ye));async function xe(){if(a(V)===null)return;let e=a(V);p(W,!0),p(G,null);let t=N.mutate(()=>te(e),ne(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});J();let n=K;p(W,!1);try{await t}catch(t){K===n&&Object.hasOwn(N.state?.library.manifests??{},e)&&(p(V,e,!0),p(G,t instanceof Error?t.message:String(t),!0))}finally{p(W,!1)}}async function Se(){if(a(H)===null||!a(be))return;let e=a(H),t=a(U);p(W,!0),p(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 r=K;p(W,!1);try{await n}catch(n){K===r&&Object.hasOwn(N.state?.library.manifests??{},e)&&(p(H,e,!0),p(U,t,!0),p(G,n instanceof Error?n.message:String(n),!0))}finally{p(W,!1)}}var Ce=_e(),X=C(Ce),Z=s(X),Q=s(Z);b(Q);var $=o(Q,2),we=o($,2),Te=e=>{var t=ae(),r=s(t,!0);S(t),f(()=>n(r,a(R))),l(e,t)};r(we,e=>{a(R)&&e(Te)}),S(Z);var Ee=o(Z,2),De=e=>{l(e,oe())},Oe=e=>{var i=pe();t(i,20,()=>a(g),e=>e,(e,i)=>{var c=fe(),p=s(c),m=s(p);ie(m,{get name(){return i}});var h=o(m,2),g=s(h,!0);S(h);var _=o(h,2),b=s(_,!0);S(_);var x=o(_,2),w=s(x);S(x);var T=o(x,2),te=o(T,2);S(p);var O=o(p,2),k=e=>{var c=ue();t(c,21,()=>y(i),e=>e.id,(e,c)=>{var u=le(),p=C(u),m=s(p),h=s(m),g=s(h,!0);S(h);var _=o(h,2),v=s(_,!0);S(_);var y=o(_,2),b=s(y,!0);S(y),S(m),S(p),t(o(p,2),17,()=>I(i,a(c).id),e=>e.assetId,(e,t)=>{let i=d(()=>N.assetById(a(t).assetId));var u=ce(),p=s(u),m=s(p),h=s(m,!0);S(m);var g=o(m,2),_=e=>{var t=se(),r=s(t,!0);S(t),f(()=>n(r,a(i).type)),l(e,t)};r(g,e=>{a(i)&&e(_)});var v=o(g,2),y=s(v);S(v);var b=o(v,2),x=s(b,!0);S(b),S(p),S(u),f((e,r)=>{E(p,`href`,e),n(h,a(t).assetId),n(y,`via ${a(c).id??``}`),n(x,r)},[()=>ee(`/asset/[id]`,{id:a(t).assetId}),()=>a(i)?.proxy?P(a(i).proxy.fileSize):`—`]),l(e,u)}),f((e,t)=>{E(m,`href`,e),n(g,a(c).id),n(v,a(c).type),n(b,t)},[()=>ee(`/asset/[id]`,{id:a(c).id}),()=>a(c).proxy?P(a(c).proxy.fileSize):`—`]),l(e,u)}),S(c),l(e,c)},A=d(()=>y(i).length>0),j=e=>{l(e,de())};r(O,e=>{a(A)?e(k):e(j,-1)}),S(c),f((e,t,r,a)=>{v(c,`--manifest-color: ${e??``}`),n(g,i),n(b,t),n(w,`${r??``} asset(s)${a??``}`)},[()=>N.manifestAppearance(i).color??`var(--border-soft)`,()=>P(L(i)),()=>y(i).length,()=>D(i).length>0?` + ${D(i).length} passive`:``]),u(`click`,T,()=>ve(i)),u(`click`,te,()=>re(i)),l(e,c)}),S(i),l(e,i)};r(Ee,e=>{a(g).length===0?e(De):e(Oe,-1)}),S(X);var ke=o(X,2),Ae=e=>{let t=d(()=>y(a(V)).length);{let i=d(()=>a(W)?`Deleting…`:`Delete`);F(e,{title:`Delete manifest`,get confirmLabel(){return a(i)},danger:!0,get busy(){return a(W)},onConfirm:()=>void xe(),onCancel:J,children:(e,i)=>{var c=me(),u=C(c),d=o(s(u)),p=s(d,!0);S(d);var m=o(d);S(u);var h=o(u,2),g=e=>{var t=q(),r=s(t,!0);S(t),f(()=>n(r,a(G))),l(e,t)};r(h,e=>{a(G)&&e(g)}),f(()=>{n(p,a(V)),n(m,`? Its generated module is removed. Assets are
2
+ not deleted${a(t)>0?`, but ${a(t)} asset(s) lose this membership and may become unreachable`:``}.`)}),l(e,c)},$$slots:{default:!0}})}};r(ke,e=>{a(V)!==null&&e(Ae)});var je=o(ke,2),Me=e=>{{let t=d(()=>a(W)?`Renaming…`:`Rename`),i=d(()=>!a(be));F(e,{title:`Rename manifest`,get confirmLabel(){return a(t)},get confirmDisabled(){return a(i)},get busy(){return a(W)},onConfirm:()=>void Se(),onCancel:J,children:(e,t)=>{var i=ge(),c=C(i),u=o(s(c),2);b(u),S(c);var d=o(c,2),m=e=>{var t=q(),r=s(t,!0);S(t),f(()=>n(r,a(Y))),l(e,t)},h=e=>{l(e,he())};r(d,e=>{a(Y)?e(m):a(ye)&&e(h,1)});var g=o(d,2),v=o(s(g)),y=s(v,!0);S(v),_(),S(g);var x=o(g,2),T=e=>{var t=q(),r=s(t,!0);S(t),f(()=>n(r,a(G))),l(e,t)};r(x,e=>{a(G)&&e(T)}),f(()=>{u.disabled=a(W),n(y,a(H))}),w(u,()=>a(U),e=>p(U,e)),l(e,i)},$$slots:{default:!0}})}};r(je,e=>{a(H)!==null&&e(Me)}),f(()=>$.disabled=!a(z)),u(`keydown`,Q,e=>{e.key===`Enter`&&B()}),w(Q,()=>a(c),e=>p(c,e)),u(`click`,$,()=>void B()),l(e,Ce),T()}c([`keydown`,`click`]);export{ve as component};
@@ -1 +1 @@
1
- {"version":"1784131654638"}
1
+ {"version":"1784274554403"}
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-DHAu99Rv.js';
6
- import './server/chunks/index.js-Bm1XIAPD.js';
7
- import './server/chunks/manifest.js-CCc26-hb.js';
5
+ export { h as handler } from './server/chunks/handler-Bn4TsL93.js';
6
+ import './server/chunks/index.js-DzYQtf0T.js';
7
+ import './server/chunks/manifest.js-DewM2Q1D.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-hvokB2mY.js';
16
- import './server/chunks/chunks/internal.js-D2Tk-vi1.js';
17
- import './server/chunks/chunks/utils.js-VGlYdWt0.js';
15
+ import './server/chunks/chunks/shared.js-C34rGnTQ.js';
16
+ import './server/chunks/chunks/internal.js-CdY4S4Uy.js';
17
+ import './server/chunks/chunks/utils.js-BMCQVogA.js';
18
18
  import 'node:url';
19
19
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
20
- import './server/chunks/chunks/exports.js-FRj9eAnR.js';
20
+ import './server/chunks/chunks/exports.js-CAJ9ZQQx.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-DHAu99Rv.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-Bn4TsL93.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-hvokB2mY.js';
15
- import './server/chunks/chunks/internal.js-D2Tk-vi1.js';
16
- import './server/chunks/chunks/utils.js-VGlYdWt0.js';
17
- import './server/chunks/index.js-Bm1XIAPD.js';
14
+ import './server/chunks/chunks/shared.js-C34rGnTQ.js';
15
+ import './server/chunks/chunks/internal.js-CdY4S4Uy.js';
16
+ import './server/chunks/chunks/utils.js-BMCQVogA.js';
17
+ import './server/chunks/index.js-DzYQtf0T.js';
18
18
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
19
- import './server/chunks/chunks/exports.js-FRj9eAnR.js';
19
+ import './server/chunks/chunks/exports.js-CAJ9ZQQx.js';
20
20
  import './server/chunks/chunks/routing.js-y-tryuip.js';
21
- import './server/chunks/manifest.js-CCc26-hb.js';
21
+ import './server/chunks/manifest.js-DewM2Q1D.js';
22
22
  import 'node:url';
23
23
 
24
24
  const path = env('SOCKET_PATH', false);
@@ -1,10 +1,12 @@
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';
8
+ import { execFile } from 'node:child_process';
9
+ import { promisify } from 'node:util';
8
10
  import sharp from 'sharp';
9
11
  import { lookup } from 'node:dns/promises';
10
12
  import { isIP } from 'node:net';
@@ -55,6 +57,7 @@ function resolveConfig(projectRoot, value, registry = serverPluginsByType) {
55
57
  const scale = defaults.scale === void 0 ? 2 : defaults.scale;
56
58
  if (scale !== 1 && scale !== 2 && scale !== 3 && scale !== 4) throw new Error("fundus.config: \"import.figma.defaults.scale\" must be 1, 2, 3, or 4.");
57
59
  return {
60
+ projectRoot: resolve(projectRoot),
58
61
  rawDir: resolvePath(projectRoot, requiredString(value, "rawDir")),
59
62
  proxyDir: resolvePath(projectRoot, requiredString(value, "proxyDir")),
60
63
  library: resolvePath(projectRoot, requiredString(value, "library")),
@@ -558,6 +561,109 @@ var SourceImporterRegistry = class {
558
561
  //#region src/lib/server/importers.ts
559
562
  var serverImporters = new SourceImporterRegistry([fileSourceImporter, figmaSourceImporter]);
560
563
  //#endregion
564
+ //#region src/lib/server/git.ts
565
+ var execFileAsync = promisify(execFile);
566
+ async function git(projectRoot, args) {
567
+ const { stdout } = await execFileAsync("git", [
568
+ "-C",
569
+ projectRoot,
570
+ ...args
571
+ ], { encoding: "utf8" });
572
+ return stdout;
573
+ }
574
+ /** Current branch of the repository containing projectRoot; null outside Git or when detached. */
575
+ async function currentGitBranch(projectRoot) {
576
+ try {
577
+ return (await git(projectRoot, ["branch", "--show-current"])).trim() || null;
578
+ } catch {
579
+ return null;
580
+ }
581
+ }
582
+ async function firstExistingRef(projectRoot, refs) {
583
+ for (const ref of refs) try {
584
+ await git(projectRoot, [
585
+ "rev-parse",
586
+ "--verify",
587
+ "--quiet",
588
+ ref
589
+ ]);
590
+ return ref;
591
+ } catch {}
592
+ return null;
593
+ }
594
+ async function defaultBranchRef(projectRoot) {
595
+ try {
596
+ const remoteHead = (await git(projectRoot, [
597
+ "symbolic-ref",
598
+ "--quiet",
599
+ "--short",
600
+ "refs/remotes/origin/HEAD"
601
+ ])).trim();
602
+ if (remoteHead) return remoteHead;
603
+ } catch {}
604
+ return firstExistingRef(projectRoot, [
605
+ "refs/remotes/origin/main",
606
+ "refs/remotes/origin/master",
607
+ "refs/heads/main",
608
+ "refs/heads/master"
609
+ ]);
610
+ }
611
+ function parseDiffNames(output, root) {
612
+ const changes = /* @__PURE__ */ new Map();
613
+ const fields = output.split("\0");
614
+ for (let index = 0; index < fields.length;) {
615
+ const status = fields[index++];
616
+ if (!status) continue;
617
+ const sourcePath = fields[index++];
618
+ if (!sourcePath) continue;
619
+ if (status.startsWith("R") || status.startsWith("C")) {
620
+ const destinationPath = fields[index++];
621
+ if (!destinationPath) continue;
622
+ changes.set(resolve(root, destinationPath), status.startsWith("C") ? "new" : "edited");
623
+ } else if (status === "A") changes.set(resolve(root, sourcePath), "new");
624
+ else if (status !== "D") changes.set(resolve(root, sourcePath), "edited");
625
+ }
626
+ return changes;
627
+ }
628
+ /**
629
+ * Raw Git file changes made since this branch diverged from the repository's
630
+ * default branch. Staged, unstaged, and untracked files are included so the
631
+ * editor updates immediately after an asset mutation, before the next commit.
632
+ */
633
+ async function gitFileChanges(projectRoot) {
634
+ try {
635
+ const root = resolve(projectRoot, ...(await git(projectRoot, ["rev-parse", "--show-prefix"])).trim().split("/").filter(Boolean).map(() => ".."));
636
+ const defaultRef = await defaultBranchRef(projectRoot);
637
+ let changes = /* @__PURE__ */ new Map();
638
+ if (defaultRef) try {
639
+ const mergeBase = (await git(projectRoot, [
640
+ "merge-base",
641
+ "HEAD",
642
+ defaultRef
643
+ ])).trim();
644
+ if (mergeBase) changes = parseDiffNames(await git(projectRoot, [
645
+ "diff",
646
+ "--name-status",
647
+ "-z",
648
+ "--find-renames",
649
+ mergeBase,
650
+ "--"
651
+ ]), root);
652
+ } catch {}
653
+ const untracked = await git(projectRoot, [
654
+ "ls-files",
655
+ "--others",
656
+ "--exclude-standard",
657
+ "--full-name",
658
+ "-z"
659
+ ]);
660
+ for (const path of untracked.split("\0")) if (path) changes.set(resolve(root, path), "new");
661
+ return changes;
662
+ } catch {
663
+ return /* @__PURE__ */ new Map();
664
+ }
665
+ }
666
+ //#endregion
561
667
  //#region src/lib/server/operations.ts
562
668
  /**
563
669
  * The one operations layer: builds the state payload and runs
@@ -580,6 +686,10 @@ function mergeParameterPatch(currentParameters, patch) {
580
686
  else merged[key] = value;
581
687
  return merged;
582
688
  }
689
+ function figmaSlicePixelRatio(raw, type) {
690
+ if (type !== "slice" || raw.importSource?.importer !== "figma") return void 0;
691
+ return validateFigmaSourceParameters(raw.importSource.parameters).scale;
692
+ }
583
693
  var FundusOperations = class {
584
694
  #config;
585
695
  #registry;
@@ -819,10 +929,12 @@ var FundusOperations = class {
819
929
  if (snapshot.input !== void 0 && !raw.importSource) throw new SourceImportError("invalid-response", "The source importer did not return provenance for the updated source.");
820
930
  return this.#enqueueOperation(async () => {
821
931
  this.#validateImportedRaw(raw, snapshot.importer.kind);
822
- 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.`);
932
+ const plugin = serverPluginForType(snapshot.expected.type, this.#registry);
933
+ if (!plugin.descriptor.accepts.includes(raw.extension)) throw new SourceImportError("invalid-response", `The ${snapshot.expected.type} type does not accept ".${raw.extension}" files.`);
934
+ const pixelRatio = snapshot.input === void 0 ? void 0 : figmaSlicePixelRatio(raw, snapshot.expected.type);
823
935
  let library;
824
936
  try {
825
- library = await this.#store.replaceRawFromImportSource(id, raw.bytes, snapshot.expected, raw.importSource);
937
+ library = await this.#store.replaceRawFromImportSource(id, raw.bytes, snapshot.expected, raw.importSource, pixelRatio === void 0 ? void 0 : (parameters) => plugin.descriptor.validateParameters(mergeParameterPatch(parameters, { pixelRatio })));
826
938
  } catch (cause) {
827
939
  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.");
828
940
  throw cause;
@@ -853,6 +965,8 @@ var FundusOperations = class {
853
965
  });
854
966
  if (seeded !== void 0) next = seeded;
855
967
  }
968
+ const pixelRatio = figmaSlicePixelRatio(raw, options.type);
969
+ if (pixelRatio !== void 0) next = mergeParameterPatch(next, { pixelRatio });
856
970
  if (options.parametersPatch !== void 0) next = mergeParameterPatch(next, options.parametersPatch);
857
971
  return plugin.descriptor.validateParameters(next);
858
972
  });
@@ -1100,6 +1214,7 @@ var FundusOperations = class {
1100
1214
  };
1101
1215
  }
1102
1216
  async #buildState(library, issues, classification) {
1217
+ const [gitBranch, changedGitFiles] = await Promise.all([currentGitBranch(this.#config.projectRoot), gitFileChanges(this.#config.projectRoot)]);
1103
1218
  const referencesByAsset = collectAllReferences(library, descriptorsByType(this.#registry));
1104
1219
  const membershipByManifest = computeLibraryMembership(library, referencesByAsset);
1105
1220
  const delivered = allDeliveredAssetIds(membershipByManifest);
@@ -1147,6 +1262,7 @@ var FundusOperations = class {
1147
1262
  folder: folderOfRawPath(record.raw),
1148
1263
  rawUrl: `/files/raw/${encodeRelativePathForUrl(record.raw)}?v=${record.rawHash.slice(0, 12)}`,
1149
1264
  rawHash: record.rawHash,
1265
+ gitStatus: changedGitFiles.get(resolve(this.#config.rawDir, record.raw)) ?? null,
1150
1266
  importSource: record.importSource,
1151
1267
  parameters: record.parameters,
1152
1268
  manifests: record.manifests,
@@ -1179,6 +1295,7 @@ var FundusOperations = class {
1179
1295
  for (const [type, plugin] of Object.entries(this.#registry)) presetNames[type] = Object.keys(plugin.presets(this.#config)).sort();
1180
1296
  const rawIngestionQueue = this.#buildRawIngestionQueue(library, classification);
1181
1297
  return {
1298
+ gitBranch,
1182
1299
  library,
1183
1300
  assets,
1184
1301
  importDefaults: { figma: { scale: this.#config.import.figma.defaults.scale } },
@@ -1348,4 +1465,4 @@ async function createFundusContext() {
1348
1465
  }
1349
1466
 
1350
1467
  export { getFundusContext as g, initializeFundusContext as i };
1351
- //# sourceMappingURL=context.js-bXe5hzjI.js.map
1468
+ //# sourceMappingURL=context.js-CLnT3cF3.js.map