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.
- package/README.md +137 -130
- package/build/client/_app/immutable/assets/0.CHekvMpo.css +1 -0
- package/build/client/_app/immutable/assets/0.CHekvMpo.css.br +0 -0
- package/build/client/_app/immutable/assets/0.CHekvMpo.css.gz +0 -0
- package/build/client/_app/immutable/assets/2.Bf0JkVBM.css +1 -0
- package/build/client/_app/immutable/assets/2.Bf0JkVBM.css.br +0 -0
- package/build/client/_app/immutable/assets/2.Bf0JkVBM.css.gz +0 -0
- package/build/client/_app/immutable/assets/FileChangeBadge.C6wwUZJS.css +1 -0
- package/build/client/_app/immutable/assets/FileChangeBadge.C6wwUZJS.css.br +0 -0
- package/build/client/_app/immutable/assets/FileChangeBadge.C6wwUZJS.css.gz +0 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.BSnKt_Is.css +1 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.BSnKt_Is.css.br +0 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.BSnKt_Is.css.gz +0 -0
- package/build/client/_app/immutable/assets/ManifestSelector.Cue3sCA1.css +1 -0
- package/build/client/_app/immutable/assets/ManifestSelector.Cue3sCA1.css.br +0 -0
- package/build/client/_app/immutable/assets/ManifestSelector.Cue3sCA1.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B9iWbZmZ.js +1 -0
- package/build/client/_app/immutable/chunks/B9iWbZmZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B9iWbZmZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BD3hQKzV.js +1 -0
- package/build/client/_app/immutable/chunks/BD3hQKzV.js.br +0 -0
- package/build/client/_app/immutable/chunks/BD3hQKzV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Blpvahbd.js +108 -0
- package/build/client/_app/immutable/chunks/Blpvahbd.js.br +0 -0
- package/build/client/_app/immutable/chunks/Blpvahbd.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C7Cs5PXV.js +1 -0
- package/build/client/_app/immutable/chunks/C7Cs5PXV.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7Cs5PXV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPZDGjcn.js +1 -0
- package/build/client/_app/immutable/chunks/DPZDGjcn.js.br +0 -0
- package/build/client/_app/immutable/chunks/DPZDGjcn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CN-G-m-B.js → DrsNq6gf.js} +1 -1
- package/build/client/_app/immutable/chunks/DrsNq6gf.js.br +0 -0
- package/build/client/_app/immutable/chunks/DrsNq6gf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DylBiD8l.js +1 -0
- package/build/client/_app/immutable/chunks/DylBiD8l.js.br +0 -0
- package/build/client/_app/immutable/chunks/DylBiD8l.js.gz +0 -0
- package/build/client/_app/immutable/chunks/NblqapDQ.js +3 -0
- package/build/client/_app/immutable/chunks/NblqapDQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/NblqapDQ.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CFPPKVrc.js +2 -0
- package/build/client/_app/immutable/entry/app.CFPPKVrc.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CFPPKVrc.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.tn-ZAKbY.js +1 -0
- package/build/client/_app/immutable/entry/start.tn-ZAKbY.js.br +0 -0
- package/build/client/_app/immutable/entry/start.tn-ZAKbY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BS8VwNas.js +2 -0
- package/build/client/_app/immutable/nodes/0.BS8VwNas.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BS8VwNas.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Dpaug5O_.js +1 -0
- package/build/client/_app/immutable/nodes/1.Dpaug5O_.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.Dpaug5O_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.KyqEUB3M.js +3 -0
- package/build/client/_app/immutable/nodes/2.KyqEUB3M.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.KyqEUB3M.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.j8JVBjzd.js +1 -0
- package/build/client/_app/immutable/nodes/3.j8JVBjzd.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.j8JVBjzd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CiYE8hwS.js +2 -0
- package/build/client/_app/immutable/nodes/4.CiYE8hwS.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CiYE8hwS.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/handler.js +7 -7
- package/build/index.js +7 -7
- package/build/server/chunks/chunks/{context.js-bXe5hzjI.js → context.js-CLnT3cF3.js} +124 -7
- package/build/server/chunks/chunks/context.js-CLnT3cF3.js.map +1 -0
- package/build/server/chunks/chunks/{contract.js-sHny3b-s.js → contract.js-DGMufT2e.js} +191 -178
- package/build/server/chunks/chunks/contract.js-DGMufT2e.js.map +1 -0
- package/build/server/chunks/chunks/{core.js-Clg1CHb6.js → core.js-DNIuZ9y-.js} +88 -2
- package/build/server/chunks/chunks/core.js-DNIuZ9y-.js.map +1 -0
- package/build/server/chunks/chunks/{exports.js-FRj9eAnR.js → exports.js-CAJ9ZQQx.js} +2 -2
- package/build/server/chunks/chunks/{exports.js-FRj9eAnR.js.map → exports.js-CAJ9ZQQx.js.map} +1 -1
- package/build/server/chunks/chunks/{http.js--6sDZFfm.js → http.js-DWYlsbZd.js} +2 -2
- package/build/server/chunks/chunks/{http.js--6sDZFfm.js.map → http.js-DWYlsbZd.js.map} +1 -1
- package/build/server/chunks/chunks/{internal.js-D2Tk-vi1.js → internal.js-CdY4S4Uy.js} +3 -3
- package/build/server/chunks/chunks/{internal.js-D2Tk-vi1.js.map → internal.js-CdY4S4Uy.js.map} +1 -1
- package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
- package/build/server/chunks/chunks/manifest-membership.js-CJnQXrL4.js +213 -0
- package/build/server/chunks/chunks/manifest-membership.js-CJnQXrL4.js.map +1 -0
- package/build/server/chunks/chunks/raw-reconciliation.js-_D9lZ_sc.js +11 -0
- package/build/server/chunks/chunks/raw-reconciliation.js-_D9lZ_sc.js.map +1 -0
- package/build/server/chunks/chunks/{raw-reconciliation.js-DOFtjkgu.js → raw-reconciliation2.js-C2No1QIL.js} +3 -34
- package/build/server/chunks/chunks/raw-reconciliation2.js-C2No1QIL.js.map +1 -0
- package/build/server/chunks/chunks/{shared.js-hvokB2mY.js → shared.js-C34rGnTQ.js} +2 -2
- package/build/server/chunks/chunks/{shared.js-hvokB2mY.js.map → shared.js-C34rGnTQ.js.map} +1 -1
- package/build/server/chunks/chunks/{utils.js-VGlYdWt0.js → utils.js-BMCQVogA.js} +3 -3
- package/build/server/chunks/chunks/{utils.js-VGlYdWt0.js.map → utils.js-BMCQVogA.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-CkSErIdC.js → _server.ts.js-Bmyh2WUa.js} +7 -6
- package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-CkSErIdC.js.map → _server.ts.js-Bmyh2WUa.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-Csnt5ISN.js → _server.ts.js-IMleqOQb.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-Csnt5ISN.js.map → _server.ts.js-IMleqOQb.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BVEQaFEu.js → _server.ts.js-DzFoWnCN.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BVEQaFEu.js.map → _server.ts.js-DzFoWnCN.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-DIaT5h8R.js → _server.ts.js-0LjvQ5dF.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-DIaT5h8R.js.map → _server.ts.js-0LjvQ5dF.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CgCr-jFC.js → _server.ts.js-BUbO2k7N.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CgCr-jFC.js.map → _server.ts.js-BUbO2k7N.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BCvv4wq4.js → _server.ts.js-CwFLvCzR.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-BCvv4wq4.js.map → _server.ts.js-CwFLvCzR.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-GbxbM9uI.js → _server.ts.js-BA6bgOR_.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-GbxbM9uI.js.map → _server.ts.js-BA6bgOR_.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BGjOvpRm.js → _server.ts.js-CzzmQqXq.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BGjOvpRm.js.map → _server.ts.js-CzzmQqXq.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CJuzJXPs.js → _server.ts.js-aqJkae-h.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-CJuzJXPs.js.map → _server.ts.js-aqJkae-h.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BYp42p6V.js → _server.ts.js-CGsIZ1tO.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BYp42p6V.js.map → _server.ts.js-CGsIZ1tO.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-l_tkhnQ-.js → _server.ts.js-DbaeknBw.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-l_tkhnQ-.js.map → _server.ts.js-DbaeknBw.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-B-VXO3Xr.js → _server.ts.js-BhY5m7VP.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-B-VXO3Xr.js.map → _server.ts.js-BhY5m7VP.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-DV7s20GV.js → _server.ts.js-PT92H6EE.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-DV7s20GV.js.map → _server.ts.js-PT92H6EE.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CYgOpWYC.js → _server.ts.js-DtiUkpdM.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CYgOpWYC.js.map → _server.ts.js-DtiUkpdM.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-7loll6HR.js → _server.ts.js-tVkpwUwF.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-7loll6HR.js.map → _server.ts.js-tVkpwUwF.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-CdxeTMZj.js → _server.ts.js-Cq85RWhU.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-CdxeTMZj.js.map → _server.ts.js-Cq85RWhU.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-CZWIskM4.js → _server.ts.js-DDdYWvN4.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-CZWIskM4.js.map → _server.ts.js-DDdYWvN4.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-CZFfpJkl.js → _server.ts.js-DxSPXWoT.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-CZFfpJkl.js.map → _server.ts.js-DxSPXWoT.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DB3i4juR.js → _server.ts.js-DVtQlFHS.js} +7 -6
- package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DB3i4juR.js.map → _server.ts.js-DVtQlFHS.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-BqarqenW.js → _server.ts.js-DuStxYsU.js} +8 -7
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-BqarqenW.js.map → _server.ts.js-DuStxYsU.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CXbrUCmh.js → _server.ts.js-CxoKyl-h.js} +8 -7
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CXbrUCmh.js.map → _server.ts.js-CxoKyl-h.js.map} +1 -1
- package/build/server/chunks/entries/{hooks.server.js-6Yf-GF0J.js → hooks.server.js-DLJAlp7i.js} +7 -6
- package/build/server/chunks/entries/{hooks.server.js-6Yf-GF0J.js.map → hooks.server.js-DLJAlp7i.js.map} +1 -1
- package/build/server/chunks/{handler-DHAu99Rv.js → handler-Bn4TsL93.js} +5 -5
- package/build/server/chunks/{handler-DHAu99Rv.js.map → handler-Bn4TsL93.js.map} +1 -1
- package/build/server/chunks/{index.js-Bm1XIAPD.js → index.js-DzYQtf0T.js} +5 -5
- package/build/server/chunks/{index.js-Bm1XIAPD.js.map → index.js-DzYQtf0T.js.map} +1 -1
- package/build/server/chunks/{manifest.js-CCc26-hb.js → manifest.js-DewM2Q1D.js} +28 -28
- package/build/server/chunks/{manifest.js-CCc26-hb.js.map → manifest.js-DewM2Q1D.js.map} +1 -1
- package/build/server/chunks/nodes/0.js-CZe1W9_P.js +11 -0
- package/build/server/chunks/nodes/0.js-CZe1W9_P.js.map +1 -0
- package/build/server/chunks/nodes/1.js-DKVH5bGU.js +7 -0
- package/build/server/chunks/nodes/{1.js-CXgbNa8h.js.map → 1.js-DKVH5bGU.js.map} +1 -1
- package/build/server/chunks/nodes/2.js-BpN0Hxjo.js +7 -0
- package/build/server/chunks/nodes/2.js-BpN0Hxjo.js.map +1 -0
- package/build/server/chunks/nodes/3.js-D3kgOm0S.js +7 -0
- package/build/server/chunks/nodes/3.js-D3kgOm0S.js.map +1 -0
- package/build/server/chunks/nodes/4.js-CZwje1Lo.js +7 -0
- package/build/server/chunks/nodes/{4.js-BUgaRCEY.js.map → 4.js-CZwje1Lo.js.map} +1 -1
- package/dist/core/api-types.d.ts +4 -0
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +1 -1
- package/dist/core/plugins/slice.d.ts +28 -4
- package/dist/core/plugins/slice.js +50 -0
- package/dist/server/cli-commands.d.ts +1 -1
- package/dist/server/cli-commands.js +125 -11
- package/dist/server/config-loader.d.ts +2 -0
- package/dist/server/config-loader.js +1 -0
- package/dist/server/git.d.ts +9 -0
- package/dist/server/git.js +121 -0
- package/dist/server/library-store.d.ts +1 -1
- package/dist/server/library-store.js +5 -1
- package/dist/server/operations.js +28 -2
- package/dist/server/plugins/slice.d.ts +3 -2
- package/dist/server/plugins/slice.js +21 -9
- package/dist/server/processing/slice-processing.d.ts +14 -0
- package/dist/server/processing/slice-processing.js +148 -0
- package/package.json +1 -1
- package/build/client/_app/immutable/assets/0.inkPq3ni.css +0 -1
- package/build/client/_app/immutable/assets/0.inkPq3ni.css.br +0 -0
- package/build/client/_app/immutable/assets/0.inkPq3ni.css.gz +0 -0
- package/build/client/_app/immutable/assets/2.DLP0pEak.css +0 -1
- package/build/client/_app/immutable/assets/2.DLP0pEak.css.br +0 -0
- package/build/client/_app/immutable/assets/2.DLP0pEak.css.gz +0 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css +0 -1
- package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css.br +0 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.CVb-Lqdf.css.gz +0 -0
- package/build/client/_app/immutable/assets/ManifestSelector.Il8p28r8.css +0 -1
- package/build/client/_app/immutable/assets/ManifestSelector.Il8p28r8.css.br +0 -0
- package/build/client/_app/immutable/assets/ManifestSelector.Il8p28r8.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B1UabfW7.js +0 -1
- package/build/client/_app/immutable/chunks/B1UabfW7.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1UabfW7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BmCZn5E-.js +0 -108
- package/build/client/_app/immutable/chunks/BmCZn5E-.js.br +0 -0
- package/build/client/_app/immutable/chunks/BmCZn5E-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BoEHtxM8.js +0 -1
- package/build/client/_app/immutable/chunks/BoEHtxM8.js.br +0 -0
- package/build/client/_app/immutable/chunks/BoEHtxM8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C-T1_s5P.js +0 -1
- package/build/client/_app/immutable/chunks/C-T1_s5P.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-T1_s5P.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CN-G-m-B.js.br +0 -4
- package/build/client/_app/immutable/chunks/CN-G-m-B.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D5sQSsUv.js +0 -1
- package/build/client/_app/immutable/chunks/D5sQSsUv.js.br +0 -0
- package/build/client/_app/immutable/chunks/D5sQSsUv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D65cSBhe.js +0 -3
- package/build/client/_app/immutable/chunks/D65cSBhe.js.br +0 -0
- package/build/client/_app/immutable/chunks/D65cSBhe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D6VoU_x4.js +0 -1
- package/build/client/_app/immutable/chunks/D6VoU_x4.js.br +0 -0
- package/build/client/_app/immutable/chunks/D6VoU_x4.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.fVDDVV_y.js +0 -2
- package/build/client/_app/immutable/entry/app.fVDDVV_y.js.br +0 -0
- package/build/client/_app/immutable/entry/app.fVDDVV_y.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BiWgLLju.js +0 -1
- package/build/client/_app/immutable/entry/start.BiWgLLju.js.br +0 -1
- package/build/client/_app/immutable/entry/start.BiWgLLju.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js +0 -2
- package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BLnSe7Ya.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DEw3d5yL.js +0 -1
- package/build/client/_app/immutable/nodes/1.DEw3d5yL.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DEw3d5yL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DnVTXPVk.js +0 -3
- package/build/client/_app/immutable/nodes/2.DnVTXPVk.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DnVTXPVk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.1Hco6zU7.js +0 -1
- package/build/client/_app/immutable/nodes/3.1Hco6zU7.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.1Hco6zU7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CKbcoBw2.js +0 -2
- package/build/client/_app/immutable/nodes/4.CKbcoBw2.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CKbcoBw2.js.gz +0 -0
- package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js +0 -48
- package/build/server/chunks/chunks/asset-id.js-CFsW8jeL.js.map +0 -1
- package/build/server/chunks/chunks/context.js-bXe5hzjI.js.map +0 -1
- package/build/server/chunks/chunks/contract.js-sHny3b-s.js.map +0 -1
- package/build/server/chunks/chunks/core.js-Clg1CHb6.js.map +0 -1
- package/build/server/chunks/chunks/raw-reconciliation.js-DOFtjkgu.js.map +0 -1
- package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js +0 -11
- package/build/server/chunks/chunks/raw-reconciliation2.js-DFwky2ou.js.map +0 -1
- package/build/server/chunks/nodes/0.js-Bpzcq6LZ.js +0 -11
- package/build/server/chunks/nodes/0.js-Bpzcq6LZ.js.map +0 -1
- package/build/server/chunks/nodes/1.js-CXgbNa8h.js +0 -7
- package/build/server/chunks/nodes/2.js-D56ryWAu.js +0 -7
- package/build/server/chunks/nodes/2.js-D56ryWAu.js.map +0 -1
- package/build/server/chunks/nodes/3.js-DMaZRwrN.js +0 -7
- package/build/server/chunks/nodes/3.js-DMaZRwrN.js.map +0 -1
- package/build/server/chunks/nodes/4.js-BUgaRCEY.js +0 -7
|
Binary file
|
|
@@ -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};
|
|
Binary file
|
|
Binary file
|
|
@@ -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};
|
|
Binary file
|
|
@@ -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 & 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};
|
|
Binary file
|
|
Binary file
|
|
@@ -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};
|
|
Binary file
|
|
Binary file
|
|
@@ -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};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
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-
|
|
6
|
-
import './server/chunks/index.js-
|
|
7
|
-
import './server/chunks/manifest.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-
|
|
16
|
-
import './server/chunks/chunks/internal.js-
|
|
17
|
-
import './server/chunks/chunks/utils.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-
|
|
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-
|
|
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-
|
|
15
|
-
import './server/chunks/chunks/internal.js-
|
|
16
|
-
import './server/chunks/chunks/utils.js-
|
|
17
|
-
import './server/chunks/index.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-
|
|
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-
|
|
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 {
|
|
2
|
-
import { s as serverPluginsByType, i as isRecord, L as LibraryStore, a as serverPluginForType, S as SourceImportError, p as processAssets, g as generateManifestModules,
|
|
3
|
-
import { a as assetIdError } from './
|
|
4
|
-
import { v as verifyStableRawFile, c as
|
|
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
|
-
|
|
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-
|
|
1468
|
+
//# sourceMappingURL=context.js-CLnT3cF3.js.map
|