fundus 0.0.4 → 0.2.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 +49 -8
- package/build/client/_app/immutable/assets/0.inkPq3ni.css +1 -0
- 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/3.ChSpCG-T.css +1 -0
- package/build/client/_app/immutable/assets/3.ChSpCG-T.css.br +0 -0
- package/build/client/_app/immutable/assets/3.ChSpCG-T.css.gz +0 -0
- package/build/client/_app/immutable/assets/{LibraryContextMenu.CMefGNE2.css → LibraryContextMenu.BYvU4SY7.css} +1 -1
- package/build/client/_app/immutable/assets/LibraryContextMenu.BYvU4SY7.css.br +0 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.BYvU4SY7.css.gz +0 -0
- package/build/client/_app/immutable/assets/ManifestSelector.Il8p28r8.css +1 -0
- 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/BAEZPv6c.js +1 -0
- package/build/client/_app/immutable/chunks/BAEZPv6c.js.br +0 -0
- package/build/client/_app/immutable/chunks/BAEZPv6c.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DVEQFclp.js → ByVSyIj7.js} +1 -1
- package/build/client/_app/immutable/chunks/ByVSyIj7.js.br +1 -0
- package/build/client/_app/immutable/chunks/ByVSyIj7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8W3KwDq.js +1 -0
- package/build/client/_app/immutable/chunks/C8W3KwDq.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8W3KwDq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CP-bnOxU.js +1 -0
- package/build/client/_app/immutable/chunks/CP-bnOxU.js.br +0 -0
- package/build/client/_app/immutable/chunks/CP-bnOxU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CNRz3sSw.js → D65cSBhe.js} +2 -2
- 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/Db8LRH6X.js +108 -0
- package/build/client/_app/immutable/chunks/Db8LRH6X.js.br +0 -0
- package/build/client/_app/immutable/chunks/Db8LRH6X.js.gz +0 -0
- package/build/client/_app/immutable/chunks/TZFh8bT7.js +1 -0
- package/build/client/_app/immutable/chunks/TZFh8bT7.js.br +0 -0
- package/build/client/_app/immutable/chunks/TZFh8bT7.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.nM6SgHKJ.js +2 -0
- package/build/client/_app/immutable/entry/app.nM6SgHKJ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.nM6SgHKJ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DNXvkhtP.js +1 -0
- package/build/client/_app/immutable/entry/start.DNXvkhtP.js.br +0 -0
- package/build/client/_app/immutable/entry/start.DNXvkhtP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.QeXQNCp2.js +2 -0
- package/build/client/_app/immutable/nodes/0.QeXQNCp2.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.QeXQNCp2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.dMklHTc2.js +1 -0
- package/build/client/_app/immutable/nodes/1.dMklHTc2.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.dMklHTc2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CW4VMcIP.js +3 -0
- package/build/client/_app/immutable/nodes/2.CW4VMcIP.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CW4VMcIP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CTiY_pbK.js +1 -0
- package/build/client/_app/immutable/nodes/3.CTiY_pbK.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CTiY_pbK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.Dgxx52FJ.js +2 -0
- package/build/client/_app/immutable/nodes/4.Dgxx52FJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.Dgxx52FJ.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/client/favicon.svg +4 -0
- package/build/client/favicon.svg.br +0 -0
- package/build/client/favicon.svg.gz +0 -0
- package/build/handler.js +7 -7
- package/build/index.js +7 -7
- package/build/server/chunks/chunks/{context.js-BUZqFfWG.js → context.js-B77ZAVLi.js} +405 -31
- package/build/server/chunks/chunks/context.js-B77ZAVLi.js.map +1 -0
- package/build/server/chunks/chunks/{core.js-xfrkaQpS.js → core.js-EA_ysb1J.js} +130 -3
- package/build/server/chunks/chunks/core.js-EA_ysb1J.js.map +1 -0
- package/build/server/chunks/chunks/{exports.js-C0rwMMtk.js → exports.js-DvhE7Ffd.js} +2 -2
- package/build/server/chunks/chunks/{exports.js-C0rwMMtk.js.map → exports.js-DvhE7Ffd.js.map} +1 -1
- package/build/server/chunks/chunks/{http.js-DvopzwKh.js → http.js-DyoR9XRI.js} +5 -3
- package/build/server/chunks/chunks/http.js-DyoR9XRI.js.map +1 -0
- package/build/server/chunks/chunks/{internal.js-DGo2jPcg.js → internal.js-Dn37LrAW.js} +4 -4
- package/build/server/chunks/chunks/{internal.js-DGo2jPcg.js.map → internal.js-Dn37LrAW.js.map} +1 -1
- package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
- package/build/server/chunks/chunks/{library-store.js-ZLudCJlT.js → library-store.js-DJ-JRE-g.js} +388 -20
- package/build/server/chunks/chunks/library-store.js-DJ-JRE-g.js.map +1 -0
- package/build/server/chunks/chunks/{shared.js-B1gC9MiJ.js → shared.js-Dob0TlTu.js} +2 -2
- package/build/server/chunks/chunks/{shared.js-B1gC9MiJ.js.map → shared.js-Dob0TlTu.js.map} +1 -1
- package/build/server/chunks/chunks/{utils.js-DnEJ3UjO.js → utils.js-B4YimMxv.js} +3 -3
- package/build/server/chunks/chunks/{utils.js-DnEJ3UjO.js.map → utils.js-B4YimMxv.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-Cq5gXVQT.js → _server.ts.js-H4Pq1KAE.js} +4 -5
- package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-Cq5gXVQT.js.map → _server.ts.js-H4Pq1KAE.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-RXbedi8q.js → _server.ts.js-BI3KHSfE.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-RXbedi8q.js.map → _server.ts.js-BI3KHSfE.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/_server.ts.js-BlNYUbXX.js +34 -0
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/_server.ts.js-BlNYUbXX.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-D7Qae9vU.js → _server.ts.js-j-_N540j.js} +9 -7
- package/build/server/chunks/entries/endpoints/api/assets/_server.ts.js-j-_N540j.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-DtO20kgB.js → _server.ts.js-BHKobzAg.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-DtO20kgB.js.map → _server.ts.js-BHKobzAg.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BUebPbd5.js → _server.ts.js-BFKjIOCv.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BUebPbd5.js.map → _server.ts.js-BFKjIOCv.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BjT2qPMT.js → _server.ts.js-BxZeVw8y.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-BjT2qPMT.js.map → _server.ts.js-BxZeVw8y.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-DYRLsoT7.js → _server.ts.js-CO36U_CT.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-DYRLsoT7.js.map → _server.ts.js-CO36U_CT.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-BbN2fGNN.js → _server.ts.js-CBlg1Bkl.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-BbN2fGNN.js.map → _server.ts.js-CBlg1Bkl.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-b_MKZ41b.js → _server.ts.js-DcGLCjIs.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-b_MKZ41b.js.map → _server.ts.js-DcGLCjIs.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/adopt/_server.ts.js-AqhtjOiL.js +32 -0
- package/build/server/chunks/entries/endpoints/api/raw/adopt/_server.ts.js-AqhtjOiL.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/_server.ts.js-CSa6-DcU.js +30 -0
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/_server.ts.js-CSa6-DcU.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/_server.ts.js-DnzZUoAo.js +30 -0
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/_server.ts.js-DnzZUoAo.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/reconcile/_server.ts.js-B0KMprKq.js +33 -0
- package/build/server/chunks/entries/endpoints/api/reconcile/_server.ts.js-B0KMprKq.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-evEfMpvn.js → _server.ts.js-B1N9o1Ne.js} +5 -6
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-evEfMpvn.js.map → _server.ts.js-B1N9o1Ne.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-C04XE_1w.js → _server.ts.js-B6HbnRqq.js} +4 -5
- package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-C04XE_1w.js.map → _server.ts.js-B6HbnRqq.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-DB8TdoEv.js → _server.ts.js-7wzPyG9v.js} +5 -6
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-DB8TdoEv.js.map → _server.ts.js-7wzPyG9v.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-BrpaijZO.js → _server.ts.js-BWztxYge.js} +5 -6
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-BrpaijZO.js.map → _server.ts.js-BWztxYge.js.map} +1 -1
- package/build/server/chunks/entries/{hooks.server.js-BJJwZW_I.js → hooks.server.js-CVKLksJ1.js} +4 -5
- package/build/server/chunks/entries/{hooks.server.js-BJJwZW_I.js.map → hooks.server.js-CVKLksJ1.js.map} +1 -1
- package/build/server/chunks/{handler-DnbS2t1B.js → handler-DZ2Sps4a.js} +5 -5
- package/build/server/chunks/{handler-DnbS2t1B.js.map → handler-DZ2Sps4a.js.map} +1 -1
- package/build/server/chunks/{index.js-g77q3Boj.js → index.js-CdmTWQz8.js} +5 -5
- package/build/server/chunks/{index.js-g77q3Boj.js.map → index.js-CdmTWQz8.js.map} +1 -1
- package/build/server/chunks/{manifest.js-qmEXbstS.js → manifest.js-GhfNr35x.js} +57 -22
- package/build/server/chunks/manifest.js-GhfNr35x.js.map +1 -0
- package/build/server/chunks/nodes/0.js-DGT86_i-.js +11 -0
- package/build/server/chunks/nodes/0.js-DGT86_i-.js.map +1 -0
- package/build/server/chunks/nodes/1.js-DQgYreU0.js +7 -0
- package/build/server/chunks/nodes/{1.js-H-qwo4GJ.js.map → 1.js-DQgYreU0.js.map} +1 -1
- package/build/server/chunks/nodes/2.js-DItreSrX.js +7 -0
- package/build/server/chunks/nodes/2.js-DItreSrX.js.map +1 -0
- package/build/server/chunks/nodes/3.js-bE1dJ_6v.js +7 -0
- package/build/server/chunks/nodes/3.js-bE1dJ_6v.js.map +1 -0
- package/build/server/chunks/nodes/4.js-BebbMVXy.js +7 -0
- package/build/server/chunks/nodes/{4.js-BKL7LSSm.js.map → 4.js-BebbMVXy.js.map} +1 -1
- package/dist/cli.js +32 -9
- package/dist/core/api-types.d.ts +39 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.js +2 -1
- package/dist/core/ingest.d.ts +2 -0
- package/dist/core/ingest.js +7 -0
- package/dist/core/raw-path.d.ts +8 -0
- package/dist/core/raw-path.js +63 -0
- package/dist/server/build.js +11 -2
- package/dist/server/check.d.ts +5 -1
- package/dist/server/check.js +80 -28
- package/dist/server/cli-commands.d.ts +3 -2
- package/dist/server/cli-commands.js +47 -4
- package/dist/server/cli-init.d.ts +1 -1
- package/dist/server/cli-init.js +38 -5
- package/dist/server/http.js +5 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/library-store.d.ts +23 -0
- package/dist/server/library-store.js +82 -14
- package/dist/server/operations.d.ts +12 -2
- package/dist/server/operations.js +391 -31
- package/dist/server/processing/processor.js +3 -0
- package/dist/server/raw-reconciliation.d.ts +53 -0
- package/dist/server/raw-reconciliation.js +338 -0
- package/dist/server/raw-safety.d.ts +10 -0
- package/dist/server/raw-safety.js +73 -0
- package/dist/server/start.d.ts +4 -2
- package/dist/server/start.js +43 -11
- package/package.json +1 -1
- package/build/client/_app/immutable/assets/0.DLhIsYA_.css +0 -1
- package/build/client/_app/immutable/assets/0.DLhIsYA_.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DLhIsYA_.css.gz +0 -0
- package/build/client/_app/immutable/assets/3.JwgtcTEd.css +0 -1
- package/build/client/_app/immutable/assets/3.JwgtcTEd.css.br +0 -0
- package/build/client/_app/immutable/assets/3.JwgtcTEd.css.gz +0 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.CMefGNE2.css.br +0 -0
- package/build/client/_app/immutable/assets/LibraryContextMenu.CMefGNE2.css.gz +0 -0
- package/build/client/_app/immutable/chunks/CNRz3sSw.js.br +0 -0
- package/build/client/_app/immutable/chunks/CNRz3sSw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CO4RBJfa.js +0 -1
- package/build/client/_app/immutable/chunks/CO4RBJfa.js.br +0 -0
- package/build/client/_app/immutable/chunks/CO4RBJfa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DOpBpjxS.js +0 -108
- package/build/client/_app/immutable/chunks/DOpBpjxS.js.br +0 -0
- package/build/client/_app/immutable/chunks/DOpBpjxS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DVEQFclp.js.br +0 -1
- package/build/client/_app/immutable/chunks/DVEQFclp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DiFoWL2c.js +0 -1
- package/build/client/_app/immutable/chunks/DiFoWL2c.js.br +0 -0
- package/build/client/_app/immutable/chunks/DiFoWL2c.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DkADHpZF.js +0 -1
- package/build/client/_app/immutable/chunks/DkADHpZF.js.br +0 -0
- package/build/client/_app/immutable/chunks/DkADHpZF.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CKgtYXQb.js +0 -2
- package/build/client/_app/immutable/entry/app.CKgtYXQb.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CKgtYXQb.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CYZu5qE1.js +0 -1
- package/build/client/_app/immutable/entry/start.CYZu5qE1.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CYZu5qE1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.I_1SApYQ.js +0 -2
- package/build/client/_app/immutable/nodes/0.I_1SApYQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.I_1SApYQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.v6eUTnWq.js +0 -1
- package/build/client/_app/immutable/nodes/1.v6eUTnWq.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.v6eUTnWq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DoA7Dfl-.js +0 -3
- package/build/client/_app/immutable/nodes/2.DoA7Dfl-.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DoA7Dfl-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.C-DO70Bs.js +0 -1
- package/build/client/_app/immutable/nodes/3.C-DO70Bs.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.C-DO70Bs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CALOuSyz.js +0 -2
- package/build/client/_app/immutable/nodes/4.CALOuSyz.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CALOuSyz.js.gz +0 -0
- package/build/server/chunks/chunks/context.js-BUZqFfWG.js.map +0 -1
- package/build/server/chunks/chunks/core.js-xfrkaQpS.js.map +0 -1
- package/build/server/chunks/chunks/folder-path.js-ytx9ucgg.js +0 -64
- package/build/server/chunks/chunks/folder-path.js-ytx9ucgg.js.map +0 -1
- package/build/server/chunks/chunks/http.js-DvopzwKh.js.map +0 -1
- package/build/server/chunks/chunks/library-store.js-ZLudCJlT.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/assets/_server.ts.js-D7Qae9vU.js.map +0 -1
- package/build/server/chunks/manifest.js-qmEXbstS.js.map +0 -1
- package/build/server/chunks/nodes/0.js-Bk6IZ-vD.js +0 -11
- package/build/server/chunks/nodes/0.js-Bk6IZ-vD.js.map +0 -1
- package/build/server/chunks/nodes/1.js-H-qwo4GJ.js +0 -7
- package/build/server/chunks/nodes/2.js-DRpXVLwp.js +0 -7
- package/build/server/chunks/nodes/2.js-DRpXVLwp.js.map +0 -1
- package/build/server/chunks/nodes/3.js-CDEzNFeU.js +0 -7
- package/build/server/chunks/nodes/3.js-CDEzNFeU.js.map +0 -1
- package/build/server/chunks/nodes/4.js-BKL7LSSm.js +0 -7
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import{A as e,B as t,D as n,E as r,F as i,G as a,J as o,K as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,V as g,W as _,X as v,Y as y,Z as b,_ as x,a as S,at as C,b as w,c as T,d as E,et as D,g as O,h as k,i as A,it as j,j as M,k as N,l as P,m as F,n as I,p as L,q as R,s as ee,tt as z,w as B,x as V}from"./D65cSBhe.js";import"./C8W3KwDq.js";import"./xihTtKlq.js";import{N as H,O as U,_ as W,a as G,b as te,c as K,d as ne,f as q,h as re,i as ie,j as ae,l as oe,m as J,o as Y,p as X,r as se,s as ce,u as le,w as ue}from"./BAEZPv6c.js";import{t as de}from"./CP-bnOxU.js";import{i as fe,n as pe,r as me,t as he}from"./TZFh8bT7.js";var ge=/[\u0000-\u001f\u007f]/,_e=/[<>:"|?*]/,ve=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i;function ye(e){return e.length===0?`Folder names must not be empty.`:e===e.trim()?e===`.`||e===`..`?`"${e}" is not a valid folder name.`:e.includes(`/`)||e.includes(`\\`)?`Folder names must not contain path separators.`:ge.test(e)?`Folder names must not contain control characters.`:_e.test(e)?`Folder names must not contain Windows-reserved characters (: * ? " < > |).`:e.endsWith(`.`)?`Folder names must not end with a dot.`:e.toLocaleLowerCase(`en-US`)===`root`?`"${e}" is reserved for the implicit Fundus root folder.`:e.toLocaleLowerCase(`en-US`)===`.gitkeep`?`"${e}" is reserved for Fundus folder management.`:ve.test(e)?`"${e}" is a reserved filesystem name.`:null:`Folder names must not start or end with whitespace.`}function be(e){return e.split(`/`).map(e=>e.normalize(`NFC`)).join(`/`)}function xe(e){return be(e).toLocaleLowerCase(`en-US`)}function Se(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function Ce(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function we(e,t){return e===``?t:`${e}/${t}`}function Te(e,t){return e===t||e.startsWith(`${t}/`)}function Ee(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}var De=e(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-nchstv"><rect x="4.5" y="3.5" width="2.5" height="9" fill="currentColor"></rect><rect x="9" y="3.5" width="2.5" height="9" fill="currentColor"></rect></svg>`),Oe=e(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-nchstv"><path d="M5 3.3v9.4l7-4.7z" fill="currentColor"></path></svg>`),ke=N(`<span class="time svelte-nchstv"> </span> <input class="range scrub svelte-nchstv" type="range" min="0" step="0.01" aria-label="Seek"/> <span class="time svelte-nchstv"> </span>`,1),Ae=N(`<span class="time svelte-nchstv"> </span>`),je=e(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-nchstv"><path d="M2.5 6h2l3-2.5v9l-3-2.5h-2z" fill="currentColor"></path><path d="M10 6l3.5 4M13.5 6 10 10" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg>`),Me=e(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-nchstv"><path d="M2.5 6h2l3-2.5v9l-3-2.5h-2z" fill="currentColor"></path><path d="M10 5.6a3.4 3.4 0 0 1 0 4.8" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path><path d="M11.8 3.9a6 6 0 0 1 0 8.2" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg>`),Ne=N(`<div class="volume-group svelte-nchstv"><button class="btn svelte-nchstv" type="button"><!></button> <input class="range volume svelte-nchstv" type="range" min="0" max="1" step="0.01" aria-label="Volume"/></div>`),Pe=N(`<div><button class="btn svelte-nchstv" type="button"><!></button> <button class="btn svelte-nchstv" type="button" aria-label="Stop"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-nchstv"><rect x="4" y="4" width="8" height="8" rx="1" fill="currentColor"></rect></svg></button> <button type="button" aria-label="Loop"><svg viewBox="0 0 16 16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="svelte-nchstv"><path d="M4.4 4.5H9A3.5 3.5 0 0 1 12.5 8"></path><path d="M2.4 6.4 4.3 4.4 6.3 6.1"></path><path d="M11.6 11.5H7A3.5 3.5 0 0 1 3.5 8"></path><path d="M13.6 9.6 11.7 11.6 9.7 9.9"></path></svg></button> <!> <!></div>`);function Fe(e,o){z(o,!0);let c=A(o,`media`,7),l=A(o,`showScrub`,3,!1),d=A(o,`showVolume`,3,!0),f=v(!1),p=v(0),m=v(0),_=v(!1),x=v(1),S=v(!1),w=v(!1),k=!1,j=null,M=b(()=>Ee(i(p))),N=b(()=>Ee(i(m))),F=b(()=>i(m)>0),I=b(()=>i(S)?0:i(x));g(()=>{if(!c()){y(f,!1);return}let e=c();y(f,!e.paused),y(p,e.currentTime,!0),y(m,Number.isFinite(e.duration)?e.duration:0,!0),y(_,e.loop,!0),y(x,e.volume,!0),y(S,e.muted,!0);function t(){y(f,!0)}function n(){y(f,!1)}function r(){i(w)||y(p,e.currentTime,!0)}function a(){y(m,Number.isFinite(e.duration)?e.duration:0,!0)}function o(){y(x,e.volume,!0),y(S,e.muted,!0)}return e.addEventListener(`play`,t),e.addEventListener(`playing`,t),e.addEventListener(`pause`,n),e.addEventListener(`ended`,n),e.addEventListener(`timeupdate`,r),e.addEventListener(`seeked`,r),e.addEventListener(`loadedmetadata`,a),e.addEventListener(`durationchange`,a),e.addEventListener(`volumechange`,o),()=>{j===e&&(y(w,!1),k=!1,j=null),e.removeEventListener(`play`,t),e.removeEventListener(`playing`,t),e.removeEventListener(`pause`,n),e.removeEventListener(`ended`,n),e.removeEventListener(`timeupdate`,r),e.removeEventListener(`seeked`,r),e.removeEventListener(`loadedmetadata`,a),e.removeEventListener(`durationchange`,a),e.removeEventListener(`volumechange`,o)}});function L(){c()&&(c().paused?c().play():c().pause())}function ee(){c()&&(c().pause(),c().currentTime=0)}function B(){c()&&(c().loop=!c().loop,y(_,c().loop,!0))}function V(){c()&&(c().muted=!c().muted)}function H(e){if(!c())return;let t=e.currentTarget.valueAsNumber;c().volume=t,c().muted=t===0}function U(){!c()||i(w)||(y(w,!0),k=!c().paused,j=c(),c().pause())}function W(e){let t=j??c();if(!t)return;let n=e.currentTarget.valueAsNumber;Number.isFinite(t.duration)&&(t.currentTime=n),y(p,n,!0)}function G(){if(!i(w))return;let e=j;y(w,!1),k&&e&&c()===e&&e.play(),k=!1,j=null}g(()=>{if(i(w))return window.addEventListener(`pointerup`,G),window.addEventListener(`pointercancel`,G),()=>{window.removeEventListener(`pointerup`,G),window.removeEventListener(`pointercancel`,G)}});var te=Pe(),K=a(te),ne=a(K),q=e=>{n(e,De())},re=e=>{n(e,Oe())};h(ne,e=>{i(f)?e(q):e(re,-1)}),C(K);var ie=R(K,2),ae=R(ie,2);let oe;var J=R(ae,2),Y=e=>{var o=ke(),l=s(o),d=a(l,!0);C(l);var f=R(l,2);T(f);var h=R(f,2),g=a(h,!0);C(h),t(()=>{r(d,i(M)),P(f,`max`,i(F)?i(m):0),E(f,i(p)),f.disabled=!c()||!i(F),r(g,i(N))}),u(`pointerdown`,f,U),u(`input`,f,W),n(e,o)},X=e=>{var o=Ae(),s=a(o);C(o),t(()=>r(s,`${i(M)??``} / ${i(N)??``}`)),n(e,o)};h(J,e=>{l()?e(Y):i(F)&&e(X,1)});var se=R(J,2),ce=e=>{var r=Ne(),o=a(r),s=a(o),l=e=>{n(e,je())},d=e=>{n(e,Me())};h(s,e=>{i(S)||i(x)===0?e(l):e(d,-1)}),C(o);var f=R(o,2);T(f),C(r),t(()=>{o.disabled=!c(),P(o,`aria-label`,i(S)?`Unmute`:`Mute`),E(f,i(I)),f.disabled=!c()}),u(`click`,o,V),u(`input`,f,H),n(e,r)};h(se,e=>{d()&&e(ce)}),C(te),t(()=>{O(te,1,`playback ${o.class??``??``}`,`svelte-nchstv`),K.disabled=!c(),P(K,`aria-label`,i(f)?`Pause`:`Play`),ie.disabled=!c(),oe=O(ae,1,`btn svelte-nchstv`,null,oe,{active:i(_)}),ae.disabled=!c(),P(ae,`aria-pressed`,i(_))}),u(`click`,K,L),u(`click`,ie,ee),u(`click`,ae,B),n(e,te),D()}l([`click`,`pointerdown`,`input`]);var Ie=null;function Z(){return Ie||=new AudioContext,Ie}var Q=null;function Le(e){let t=e.numberOfChannels;if(t===1)return e.getChannelData(0);let n=e.length,r=new Float32Array(n);for(let i=0;i<t;i++){let t=e.getChannelData(i);for(let e=0;e<n;e++)r[e]+=t[e]}for(let e=0;e<n;e++)r[e]/=t;return r}function Re(e,t){let n=new Float32Array(t),r=new Float32Array(t),i=e.length/t;for(let a=0;a<t;a++){let t=Math.floor(a*i),o=Math.min(e.length,Math.floor((a+1)*i)),s=0,c=0;for(let n=t;n<o;n++){let t=e[n];t<s&&(s=t),t>c&&(c=t)}n[a]=s,r[a]=c}return{min:n,max:r}}function ze(e,t,n){return Math.min(n,Math.max(t,e))}var $=N(`<div class="footer svelte-1liihyn"><!></div>`),Be=N(`<div><canvas class="wave svelte-1liihyn" role="button" tabindex="0" aria-label="Audio waveform — click or press Enter to play; arrow keys scrub"></canvas> <!></div>`);function Ve(e,r){z(r,!0);let o=A(r,`loop`,3,!1),s=A(r,`showControls`,3,!1),c=v(void 0),l=v(null),d=v(!1),f=v(0),m=v(0),_=`idle`,b=null,x=null,w=0,T=1,E=`#0d99ff`,k=`#7a7a7a`,j=`#f24822`,M=0;function N(){if(!i(c))return;let e=getComputedStyle(i(c));E=e.getPropertyValue(`--accent`).trim()||E,k=e.getPropertyValue(`--text-faint`).trim()||k,j=e.getPropertyValue(`--danger`).trim()||j}function P(){if(!i(c))return;let e=i(c).getBoundingClientRect();T=window.devicePixelRatio||1;let t=Math.max(1,Math.round(e.width*T)),n=Math.max(1,Math.round(e.height*T));(i(c).width!==t||i(c).height!==n)&&(i(c).width=t,i(c).height=n,x=null),N()}function F(){if(!i(c))return;let e=i(c).getContext(`2d`);if(!e)return;let t=i(c).width,n=i(c).height,r=n/2;if(e.clearRect(0,0,t,n),_!==`ready`||!b){e.strokeStyle=_===`error`?j:k,e.lineWidth=Math.max(1,T),e.beginPath(),e.moveTo(0,r),e.lineTo(t,r),e.stroke();return}let a=Math.max(1,Math.floor(t));(!x||w!==a)&&(x=Re(b,a),w=a);let o=i(m)>0?ze(i(f)/i(m),0,1):0,s=o*t,l=r*.9,u=t/a;e.lineWidth=1;for(let t=0;t<a;t++){let n=t*u,i=r-x.max[t]*l,a=r-x.min[t]*l;e.strokeStyle=n<=s?E:k,e.beginPath(),e.moveTo(n+.5,Math.min(i,r-.5)),e.lineTo(n+.5,Math.max(a,r+.5)),e.stroke()}o>0&&(e.strokeStyle=E,e.lineWidth=Math.max(1,T),e.beginPath(),e.moveTo(s,0),e.lineTo(s,n),e.stroke())}function I(){M&&=(cancelAnimationFrame(M),0)}function L(){i(l)&&y(f,i(l).currentTime,!0),F(),i(d)&&(M=requestAnimationFrame(L))}async function ee(e){_=`loading`,F();try{let t=await(await fetch(e)).arrayBuffer(),n=await Z().decodeAudioData(t);if(e!==r.src)return;b=Le(n),i(m)||y(m,n.duration,!0),_=`ready`,x=null,F()}catch{if(e!==r.src)return;_=`error`,F()}}function B(e){if(e.preventDefault(),e.stopPropagation(),!i(c)||!i(l))return;let t=i(c).getBoundingClientRect(),n=ze((e.clientX-t.left)/t.width,0,1),r=i(l).duration;Number.isFinite(r)&&r>0&&(i(l).currentTime=n*r),i(l).play()}function V(){i(l)&&(i(l).paused?i(l).play():i(l).pause())}function H(e){if(i(l)){if(e.key===`Enter`||e.key===` `){e.preventDefault(),V();return}if(e.key===`ArrowRight`||e.key===`ArrowLeft`){let t=i(l).duration;if(!Number.isFinite(t)||t<=0)return;e.preventDefault();let n=e.key===`ArrowRight`?5:-5;i(l).currentTime=ze(i(l).currentTime+n,0,t)}}}g(()=>{let e=i(l);e&&(e.loop=o())}),g(()=>{let e=r.src,t=i(c);if(!t)return;_=`idle`,b=null,x=null,w=0,y(f,0),y(m,0),y(d,!1);let n=new Audio(e);n.preload=`metadata`,n.loop=p(()=>o());function a(){Q&&Q!==n&&Q.pause(),Q=n,y(d,!0),I(),M=requestAnimationFrame(L)}function s(){Q===n&&(Q=null),y(d,!1),I(),F()}function u(){Q===n&&(Q=null),y(d,!1),I(),F()}function h(){y(f,n.currentTime,!0),i(d)||F()}function g(){Number.isFinite(n.duration)&&y(m,n.duration,!0),F()}n.addEventListener(`play`,a),n.addEventListener(`pause`,s),n.addEventListener(`ended`,u),n.addEventListener(`timeupdate`,h),n.addEventListener(`loadedmetadata`,g),n.addEventListener(`durationchange`,g),n.addEventListener(`seeked`,h),y(l,n,!0);let v=new ResizeObserver(()=>{P(),F()});v.observe(t);let S=new IntersectionObserver(t=>{t.some(e=>e.isIntersecting)&&(S.disconnect(),ee(e))});return S.observe(t),P(),F(),()=>{I(),v.disconnect(),S.disconnect(),n.removeEventListener(`play`,a),n.removeEventListener(`pause`,s),n.removeEventListener(`ended`,u),n.removeEventListener(`timeupdate`,h),n.removeEventListener(`loadedmetadata`,g),n.removeEventListener(`durationchange`,g),n.removeEventListener(`seeked`,h),n.pause(),Q===n&&(Q=null),n.removeAttribute(`src`),n.load(),y(l,null)}});var U=Be(),W=a(U);S(W,e=>y(c,e),()=>i(c));var G=R(W,2),te=e=>{var t=$();Fe(a(t),{get media(){return i(l)}}),C(t),n(e,t)};h(G,e=>{s()&&e(te)}),C(U),t(()=>O(U,1,`audio-waveform ${r.class??``??``}`,`svelte-1liihyn`)),u(`click`,W,B),u(`keydown`,W,H),n(e,U),D()}l([`click`,`keydown`]);var He=N(`<div class="audio-frame svelte-1ww4cvx"><!></div>`),Ue=N(`<p class="svelte-1ww4cvx">No proxy yet — add the asset to a manifest to process it.</p>`),We=N(`<div class="stage checkerboard svelte-1ww4cvx"><!></div>`);function Ge(e,t){z(t,!0);var r=We(),i=a(r),o=e=>{var r=He();B(a(r),()=>t.asset.proxy.url,e=>{Ve(e,{get src(){return t.asset.proxy.url},showControls:!0})}),C(r),n(e,r)},s=e=>{n(e,Ue())};h(i,e=>{t.asset.proxy?e(o):e(s,-1)}),C(r),n(e,r),D()}var Ke={"arrow-up":`<path d="M12 19V5"/><path d="M6 11l6-6 6 6"/>`,"arrow-right":`<path d="M5 12h14"/><path d="M13 6l6 6-6 6"/>`,"arrow-down":`<path d="M12 5v14"/><path d="M6 13l6 6 6-6"/>`,"arrow-left":`<path d="M19 12H5"/><path d="M11 6l-6 6 6 6"/>`,width:`<path d="M3 12h18"/><path d="M7 8l-4 4 4 4"/><path d="M17 8l4 4-4 4"/>`,ratio:`<rect x="4" y="4" width="7" height="7" rx="1"/><rect x="13" y="4" width="7" height="7" rx="1"/><rect x="4" y="13" width="7" height="7" rx="1"/><rect x="13" y="13" width="7" height="7" rx="1"/>`,preset:`<path d="M4 7h10"/><circle cx="17" cy="7" r="2"/><path d="M20 17H10"/><circle cx="7" cy="17" r="2"/>`,cutoff:`<circle cx="12" cy="12" r="8"/><path d="M12 4a8 8 0 0 1 0 16z" fill="currentColor" stroke="none"/>`,"color-feather":`<circle cx="12" cy="12" r="8" stroke-dasharray="1.5 3"/><circle cx="12" cy="12" r="3.5"/>`,"mask-feather":`<rect x="4" y="4" width="16" height="16" rx="3" stroke-dasharray="1.5 3"/><circle cx="12" cy="12" r="3.5"/>`,sharpen:`<path d="M4 18l8-12 8 12"/><path d="M4 18h16"/>`,despill:`<path d="M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z"/>`,"despill-lum":`<path d="M12 3s5.5 5.5 5.5 10a5.5 5.5 0 0 1-11 0c0-4.5 5.5-10 5.5-10z"/><path d="M12 10v5M9.5 12.5h5"/>`},qe=e(`<svg class="icon svelte-jamecx" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg>`);function Je(e,t){var r=qe();V(r,()=>Ke[t.name],!0),C(r),n(e,r)}function Ye(e){if(e.scrubbedValue===null)return{};let t=e.startValue??e.min??0;return e.scrubbedValue===t?{rollbackTo:e.startValue}:{commit:e.scrubbedValue}}function Xe(e,t){return t.coarse?e*10:t.fine?e*.1:e}function Ze(e){if(!Number.isFinite(e))return 0;let t=0,n=Math.abs(e);for(;t<10&&Math.abs(Math.round(n)-n)>1e-9;)n*=10,t+=1;return t}function Qe(e,t){let n=10**t;return Math.round(e*n)/n}function $e(e){let t=Xe(e.step,e.modifiers),n=Qe(e.startValue+e.deltaX*t,Ze(t));return e.min!==void 0&&(n=Math.max(e.min,n)),e.max!==void 0&&(n=Math.min(e.max,n)),n}function et(e,t){t.buttons!==0&&!e.hasPointerCapture(t.pointerId)&&e.setPointerCapture(t.pointerId)}function tt(e,t){e.hasPointerCapture(t)&&e.releasePointerCapture(t)}var nt=N(`<span class="scrub-surface svelte-nhap92" title="Drag to change — Shift: ×10, Alt: ×0.1" role="presentation" aria-hidden="true"></span>`),rt=N(`<span><input class="input svelte-nhap92" type="number"/> <!></span>`);function it(e,r){z(r,!0);let o=A(r,`step`,3,1),s=A(r,`placeholder`,3,``),c=A(r,`allowNull`,3,!1),l=A(r,`align`,3,`left`),d=v(null),p=v(!1),m=v(null),x=b(()=>i(d)?.activated?i(d).currentValue:r.value);function w(e){return{coarse:e.shiftKey,fine:e.altKey}}function k(e){e.preventDefault(),et(e.currentTarget,e),y(d,{pointerId:e.pointerId,startX:e.clientX,startValue:r.value,currentValue:null,activated:!1},!0)}function j(e){if(!i(d)||e.pointerId!==i(d).pointerId)return;let t=e.clientX-i(d).startX;if(!i(d).activated){if(Math.abs(t)<3)return;i(d).activated=!0,document.body.style.cursor=`ew-resize`}let n=$e({startValue:i(d).startValue??r.min??0,deltaX:t,step:o(),modifiers:w(e),min:r.min,max:r.max});n!==i(d).currentValue&&(i(d).currentValue=n,r.onChange?.(n))}function M(e){if(!i(d)||e.pointerId!==i(d).pointerId)return;tt(e.currentTarget,e.pointerId);let t=i(d).activated,n=i(d).startValue,a=i(d).currentValue;if(y(d,null),document.body.style.cursor=``,!t){I();return}let o=Ye({startValue:n,scrubbedValue:a,min:r.min});o.commit===void 0?`rollbackTo`in o&&r.onChange?.(o.rollbackTo??null):r.onCommit(o.commit)}function N(){if(!i(d))return;let e=i(d).startValue,t=i(d).activated;y(d,null),document.body.style.cursor=``,t&&r.onChange?.(e)}function F(e){i(d)&&e.key===`Escape`&&(e.preventDefault(),N())}g(()=>()=>{i(d)&&(document.body.style.cursor=``)});function I(){y(p,!0),queueMicrotask(()=>{i(m)?.focus(),i(m)?.select()})}function L(e){let t=e.currentTarget.valueAsNumber;Number.isFinite(t)?r.onCommit(t):r.onCommit(c()?null:r.min??0)}function ee(e){e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(e.currentTarget.value=i(x)===null?``:String(i(x)),e.currentTarget.blur())}var B=rt();f(`keydown`,_,F);let V;var H=a(B);T(H),S(H,e=>y(m,e),()=>i(m));var U=R(H,2),W=e=>{var t=nt();u(`pointerdown`,t,k),u(`pointermove`,t,j),u(`pointerup`,t,M),f(`pointercancel`,t,N),n(e,t)};h(U,e=>{i(p)||e(W)}),C(B),t(()=>{V=O(B,1,`scrub-number svelte-nhap92`,null,V,{right:l()===`right`}),P(H,`aria-label`,r.ariaLabel),P(H,`min`,r.min),P(H,`max`,r.max),P(H,`step`,o()),P(H,`placeholder`,s()),E(H,i(x)??``)}),f(`focus`,H,()=>y(p,!0)),f(`blur`,H,()=>y(p,!1)),u(`change`,H,L),u(`keydown`,H,ee),n(e,B),D()}l([`change`,`keydown`,`pointerdown`,`pointermove`,`pointerup`]);var at=N(`<span class="caption svelte-368zap"> </span>`),ot=N(`<span class="fill svelte-368zap"></span>`),st=N(`<div class="number-field svelte-368zap"><!> <div class="number-input control svelte-368zap"><!> <span class="icon-slot svelte-368zap"><!></span> <!></div></div>`);function ct(e,o){let c=A(o,`step`,3,1),l=A(o,`placeholder`,3,``),u=A(o,`rangeFill`,3,!0),f=b(()=>!u()||o.min===void 0||o.max===void 0||o.value===null||o.max<=o.min?null:Math.max(0,Math.min(100,(o.value-o.min)/(o.max-o.min)*100)));var p=st(),m=a(p),g=e=>{var i=at(),s=a(i,!0);C(i),t(()=>r(s,o.caption)),n(e,i)};h(m,e=>{o.caption&&e(g)});var _=R(m,2),v=a(_),y=e=>{var r=ot();t(()=>k(r,`width: ${i(f)??``}%`)),n(e,r)};h(v,e=>{i(f)!==null&&e(y)});var x=R(v,2),S=a(x),T=e=>{var t=d();w(s(t),()=>o.icon),n(e,t)},E=e=>{var i=M();t(()=>r(i,o.label)),n(e,i)};h(S,e=>{o.icon?e(T):e(E,-1)}),C(x),it(R(x,2),{get value(){return o.value},get min(){return o.min},get max(){return o.max},get step(){return c()},get placeholder(){return l()},allowNull:!0,get ariaLabel(){return o.label},get onChange(){return o.onChange},get onCommit(){return o.onCommit}}),C(_),C(p),t(()=>P(x,`title`,o.label)),n(e,p)}var lt=N(`<h3 class="svelte-1ol624f"><!></h3>`);function ut(e,t){var r=lt();w(a(r),()=>t.children),C(r),n(e,r)}var dt=N(`<span class="caption svelte-bczi6w"> </span>`),ft=N(`<option> </option>`),pt=N(`<div class="select-field svelte-bczi6w"><!> <div class="select-input control svelte-bczi6w"><span class="icon-slot svelte-bczi6w"><!></span> <select class="svelte-bczi6w"></select></div></div>`);function mt(e,i){z(i,!0);var o=pt(),c=a(o),l=e=>{var o=dt(),s=a(o,!0);C(o),t(()=>r(s,i.caption)),n(e,o)};h(c,e=>{i.caption&&e(l)});var f=R(c,2),p=a(f),g=a(p),_=e=>{var t=d();w(s(t),()=>i.icon),n(e,t)},v=e=>{var a=M();t(e=>r(a,e),[()=>i.label.slice(0,1)]),n(e,a)};h(g,e=>{i.icon?e(_):e(v,-1)}),C(p);var y=R(p,2);m(y,20,()=>i.options,e=>e,(e,i)=>{var o=ft(),s=a(o,!0);C(o);var c={};t(()=>{r(s,i),c!==(c=i)&&(o.value=(o.__value=i)??``)}),n(e,o)}),C(y);var b;L(y),C(f),C(o),t(()=>{P(p,`title`,i.label),P(y,`aria-label`,i.label),b!==(b=i.value)&&(y.value=(y.__value=i.value)??``,F(y,i.value))}),u(`change`,y,e=>i.onChange(e.currentTarget.value)),n(e,o),D()}l([`change`]);var ht=N(`<p class="info svelte-m9vwwu"><!> <!> <br/> <span class="file svelte-m9vwwu"> </span></p>`),gt=N(`<p class="hint svelte-m9vwwu">No proxy yet — add the asset to a manifest to process it.</p>`),_t=N(`<section class="svelte-m9vwwu"><!> <!></section>`);function vt(e,i){z(i,!0);let o=A(i,`showDimensions`,3,!1),s=A(i,`showDuration`,3,!1);var c=_t(),l=a(c);ut(l,{children:(e,t)=>{j(),n(e,M(`Output`))},$$slots:{default:!0}});var u=R(l,2),d=e=>{var c=ht(),l=a(c),u=e=>{var a=M();t(()=>r(a,`${i.proxy.width??``} × ${i.proxy.height??``} px ·`)),n(e,a)};h(l,e=>{o()&&i.proxy.width!==void 0&&i.proxy.height!==void 0&&e(u)});var d=R(l,2),f=e=>{var a=M();t(e=>r(a,`${e??``} ·`),[()=>me(i.proxy.durationMs)]),n(e,a)};h(d,e=>{s()&&i.proxy.durationMs!==void 0&&e(f)});var p=R(d),m=R(p,3),g=a(m,!0);C(m),C(c),t(e=>{r(p,` ${e??``} `),r(g,i.proxy.fileName)},[()=>pe(i.proxy.fileSize)]),n(e,c)},f=e=>{n(e,gt())};h(u,e=>{i.proxy?e(d):e(f,-1)}),C(c),n(e,c),D()}var yt=N(`<section class="svelte-1by8n8t"><!> <div class="field svelte-1by8n8t"><!></div> <div class="field svelte-1by8n8t"><!></div></section> <!>`,1);function bt(e,t){z(t,!0);let r=b(()=>ne.validateParameters(t.parameters));function o(e){t.onParametersCommit(e)}function c(e){o({...i(r),preset:e})}function l(e){let{targetWidth:t,...n}=i(r);return e===null||!Number.isFinite(e)||e<=0?n:{...n,targetWidth:Math.round(e)}}function u(e,n){let r=l(e);n?o(r):t.onParametersChange(r)}var d=yt(),f=s(d),p=a(f);ut(p,{children:(e,t)=>{j(),n(e,M(`Image`))},$$slots:{default:!0}});var m=R(p,2);mt(a(m),{label:`Preset`,caption:`Preset`,get value(){return i(r).preset},get options(){return t.presetNames},onChange:c,icon:e=>{Je(e,{name:`preset`})},$$slots:{icon:!0}}),C(m);var h=R(m,2),g=a(h);{let e=e=>{Je(e,{name:`width`})},t=b(()=>i(r).targetWidth??null);ct(g,{label:`Target width`,caption:`Target width`,min:1,placeholder:`source`,get value(){return i(t)},onChange:e=>u(e,!1),onCommit:e=>u(e,!0),icon:e,$$slots:{icon:!0}})}C(h),C(f),vt(R(f,2),{get proxy(){return t.asset.proxy},showDimensions:!0}),n(e,d),D()}var xt=new Set([`image`,`slice`]);new Set([...new Set([`video`,`chroma-key-video`,`audio`])].filter(e=>G.has(e)));function St(e,t){return xt.has(e)?t[e]?.decode??!0:!1}async function Ct(e){let t=await fetch(e);if(!t.ok)throw Error(`Preloading "${e}" failed: ${t.status} ${t.statusText}.`);return t}function wt(e){return{async preload(t,n){if(await(await Ct(t)).arrayBuffer(),St(e,n)&&typeof globalThis.Image==`function`){let e=new globalThis.Image;e.src=t,await e.decode()}return{}}}}var Tt={async preload(e){let t=await(await Ct(e)).blob();return typeof URL.createObjectURL==`function`?{objectUrl:URL.createObjectURL(t)}:{}},release(e){e.objectUrl!==void 0&&typeof URL.revokeObjectURL==`function`&&URL.revokeObjectURL(e.objectUrl)}},Et={image:wt(`image`),slice:wt(`slice`),video:Tt,"chroma-key-video":Tt,audio:Tt};new Map(Object.entries(G.project(Et,`runtime handler`)));var Dt=new Map;function Ot(e){return Dt.get(e)?.resources?.objectUrl??e}var kt=N(`<img/>`);function At(e,r){z(r,!0);let i=A(r,`alt`,3,``),a=A(r,`class`,3,``);var o=kt();t(()=>{P(o,`src`,r.src.src),P(o,`width`,r.src.width),P(o,`height`,r.src.height),P(o,`alt`,i()),O(o,1,x(a()))}),n(e,o),D()}function jt(e,t,n){return Math.max(t,Math.min(n,e))}function Mt(e){let{mode:t,insets:n}=e.slicing,r=le(t);return{top:r.vertical?n.top:0,bottom:r.vertical?n.bottom:0,left:r.horizontal?n.left:0,right:r.horizontal?n.right:0}}function Nt(e){let t=e.slicing.overdraw;if(!t)return ce();let n=e.sourceWidth,r=e.sourceHeight,i=jt(t.left,0,Math.max(0,n-1)),a=jt(t.right,0,Math.max(0,n-i-1)),o=jt(t.top,0,Math.max(0,r-1));return{top:o,right:a,bottom:jt(t.bottom,0,Math.max(0,r-o-1)),left:i}}function Pt(e){let t=Nt(e);return{width:Math.max(1,e.sourceWidth-t.left-t.right),height:Math.max(1,e.sourceHeight-t.top-t.bottom)}}function Ft(e,t,n){let r=Nt(e);if(r.top===0&&r.right===0&&r.bottom===0&&r.left===0)return r;let i=e.slicing.pixelRatio>0?e.slicing.pixelRatio:1,a=Pt(e),o,s;return e.slicing.mode===`three-horizontal`?o=s=n/a.height:e.slicing.mode===`three-vertical`?o=s=t/a.width:e.slicing.mode===`one`?(o=t/a.width,s=n/a.height):o=s=1/i,{top:Math.round(r.top*s),right:Math.round(r.right*o),bottom:Math.round(r.bottom*s),left:Math.round(r.left*o)}}function It(e,t,n,r){let i=Ft(e,t,n),a=t+i.left+i.right,o=n+i.top+i.bottom;return{cssLeft:-i.left+0,cssTop:-i.top+0,cssWidth:a,cssHeight:o,backingWidth:Math.round(a*r),backingHeight:Math.round(o*r),originX:i.left*r,originY:i.top*r}}function Lt(e){let t=0,n=[0];for(let r of e)t+=r,n.push(Math.round(t));return n}function Rt(e,t,n){if(t<=0||n<=0)return[];let r=Ft(e,t,n),i=t+r.left+r.right,a=n+r.top+r.bottom,o=e.sourceWidth,s=e.sourceHeight,c=e.slicing.pixelRatio>0?e.slicing.pixelRatio:1,l=e.slicing.mode,u=Mt(e),d=jt(u.left,0,o),f=jt(u.right,0,Math.max(0,o-d)),p=jt(u.top,0,s),m=jt(u.bottom,0,Math.max(0,s-p)),h=Math.max(0,o-d-f),g=Math.max(0,s-p-m),_,v;if(l===`three-horizontal`){let e=a/s;_=d*e,v=f*e}else _=d/c,v=f/c;let y=Math.max(0,i-_-v),b,x;if(l===`three-vertical`){let e=i/o;b=p*e,x=m*e}else b=p/c,x=m/c;let S=Math.max(0,a-b-x),C=[d,h,f],w=[p,g,m],T=[0,d,d+h],E=[0,p,p+g],D=Lt([_,y,v]),O=Lt([b,S,x]),k=[];for(let e=0;e<3;e++)for(let t=0;t<3;t++){let n=C[t],i=w[e];if(n<=0||i<=0)continue;let a=D[t],o=D[t+1]-a,s=O[e],c=O[e+1]-s;o<=0||c<=0||k.push({key:`${e}-${t}`,sx:T[t],sy:E[e],sw:n,sh:i,dx:a-r.left,dy:s-r.top,dw:o,dh:c})}return k}function zt(e,t){let n=new ResizeObserver(n=>{let r=n[0]?.borderBoxSize?.[0];t(Math.round(r?.inlineSize??e.offsetWidth),Math.round(r?.blockSize??e.offsetHeight))});return n.observe(e),()=>n.disconnect()}var Bt=N(`<div class="fundus-slice__cell svelte-1820t2z"><img alt="" draggable="false" class="svelte-1820t2z"/></div>`),Vt=N(`<div></div>`);function Ht(e,r){z(r,!0);let o=A(r,`alt`,3,``),s=A(r,`class`,3,``),c=v(void 0),l=v(0),u=v(0);g(()=>{let e=i(c);if(e)return zt(e,(e,t)=>{y(l,e,!0),y(u,t,!0)})});let d=b(()=>Rt(r.src,i(l),i(u))),f=b(()=>{let e=Nt(r.src);return e.top>0||e.right>0||e.bottom>0||e.left>0});var p=Vt();let h;m(p,21,()=>i(d),e=>e.key,(e,o)=>{var s=Bt();let c;var l=a(s);let u;C(s),t(()=>{c=k(s,``,c,{left:`${i(o).dx??``}px`,top:`${i(o).dy??``}px`,width:`${i(o).dw??``}px`,height:`${i(o).dh??``}px`}),P(l,`src`,r.src.src),u=k(l,``,u,{width:`${r.src.sourceWidth/i(o).sw*100}%`,height:`${r.src.sourceHeight/i(o).sh*100}%`,left:`${-i(o).sx/i(o).sw*100}%`,top:`${-i(o).sy/i(o).sh*100}%`})}),n(e,s)}),C(p),S(p,e=>y(c,e),()=>i(c)),t(()=>{h=O(p,1,`fundus-slice ${s()??``}`,`svelte-1820t2z`,h,{"fundus-slice--overdraw":i(f)}),P(p,`role`,o()?`img`:void 0),P(p,`aria-label`,o()||void 0)}),n(e,p),D()}var Ut=N(`<div><canvas class="svelte-xdsbrz"></canvas></div>`);function Wt(e,r){z(r,!0);let o=A(r,`alt`,3,``),s=A(r,`class`,3,``),c=v(void 0),l=v(void 0),u=v(void 0),d=v(0),p=v(0),m=v(1),h=v(0);g(()=>{let e=r.src.src,t=new Image,n=!1;return t.onload=()=>{n||y(u,t,!0)},t.src=e,()=>{n=!0,t.onload=null}}),g(()=>{let e=i(m),t=window.matchMedia(`(resolution: ${e}dppx)`),n=()=>{y(m,window.devicePixelRatio||1,!0)};return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}),g(()=>{let e=i(c);if(e)return zt(e,(e,t)=>{y(d,e,!0),y(p,t,!0)})});let x=b(()=>It(r.src,i(d),i(p),i(m)));g(()=>{i(u),r.src,i(x),i(h),w()});function w(){let e=i(l),t=i(u);if(!e||!t)return;if(i(d)===0||i(p)===0){e.width=0,e.height=0;return}e.width=i(x).backingWidth,e.height=i(x).backingHeight;let n=e.getContext(`2d`);if(n){n.setTransform(i(m),0,0,i(m),i(x).originX,i(x).originY),n.clearRect(i(x).cssLeft,i(x).cssTop,i(x).cssWidth,i(x).cssHeight);for(let e of Rt(r.src,i(d),i(p)))n.drawImage(t,e.sx,e.sy,e.sw,e.sh,e.dx,e.dy,e.dw,e.dh)}}var T=Ut();f(`resize`,_,()=>y(h,i(h)+1));var E=a(T);let j;S(E,e=>y(l,e),()=>i(l)),C(T),S(T,e=>y(c,e),()=>i(c)),t(()=>{O(T,1,`fundus-slice-canvas ${s()??``}`,`svelte-xdsbrz`),P(T,`role`,o()?`img`:void 0),P(T,`aria-label`,o()||void 0),j=k(E,``,j,{left:`${i(x).cssLeft??``}px`,top:`${i(x).cssTop??``}px`,width:`${i(x).cssWidth??``}px`,height:`${i(x).cssHeight??``}px`})}),n(e,T),D()}function Gt(e,t){let r=A(t,`backend`,3,`dom`),i=A(t,`alt`,3,``),a=A(t,`class`,3,``);var o=d(),c=s(o),l=e=>{Wt(e,{get src(){return t.src},get alt(){return i()},get class(){return a()}})},u=e=>{Ht(e,{get src(){return t.src},get alt(){return i()},get class(){return a()}})};h(c,e=>{r()===`canvas`?e(l):e(u,-1)}),n(e,o)}var Kt=N(`<video playsinline="" preload="auto"></video>`,2);function qt(e,r){z(r,!0);let a=A(r,`loop`,3,!1),o=A(r,`playing`,3,!0),s=A(r,`muted`,3,!0),c=A(r,`controls`,3,!1),l=A(r,`videoElement`,15),u=A(r,`class`,3,``),d=b(()=>Ot(r.src.src));g(()=>{let e=l();e&&(o()?e.play().catch(()=>{}):e.pause())});var f=Kt();S(f,e=>l(e),()=>l()),t(()=>{P(f,`src`,i(d)),P(f,`width`,r.src.width),P(f,`height`,r.src.height),f.loop=a(),f.muted=s(),f.controls=c(),O(f,1,x(u()))}),n(e,f),D()}var Jt=`#version 300 es
|
|
2
|
+
in vec2 a_pos;
|
|
3
|
+
out vec2 v_uv;
|
|
4
|
+
void main() {
|
|
5
|
+
// Fullscreen clip-space triangle pair; v flipped so the video isn't mirrored on Y
|
|
6
|
+
// (GL texture rows are bottom-up, and flipping here beats a per-frame UNPACK flip).
|
|
7
|
+
v_uv = vec2(a_pos.x * 0.5 + 0.5, 0.5 - a_pos.y * 0.5);
|
|
8
|
+
gl_Position = vec4(a_pos, 0.0, 1.0);
|
|
9
|
+
}`,Yt=`#version 300 es
|
|
10
|
+
precision highp float;
|
|
11
|
+
|
|
12
|
+
in vec2 v_uv;
|
|
13
|
+
out vec4 fragColor;
|
|
14
|
+
|
|
15
|
+
uniform sampler2D u_texture;
|
|
16
|
+
uniform sampler2D u_mask;
|
|
17
|
+
uniform vec2 u_texelSize;
|
|
18
|
+
uniform vec3 u_keyColor;
|
|
19
|
+
uniform vec4 u_tintColor;
|
|
20
|
+
uniform float u_colorCutoff;
|
|
21
|
+
uniform float u_colorFeathering;
|
|
22
|
+
uniform float u_maskFeathering;
|
|
23
|
+
uniform float u_sharpening;
|
|
24
|
+
uniform float u_despill;
|
|
25
|
+
uniform float u_despillLuminanceAdd;
|
|
26
|
+
|
|
27
|
+
float rgb2y(vec3 c) {
|
|
28
|
+
return 0.299 * c.r + 0.587 * c.g + 0.114 * c.b;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
float rgb2cb(vec3 c) {
|
|
32
|
+
return 0.5 - 0.168736 * c.r - 0.331264 * c.g + 0.5 * c.b;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
float rgb2cr(vec3 c) {
|
|
36
|
+
return 0.5 + 0.5 * c.r - 0.418688 * c.g - 0.081312 * c.b;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
float colorclose(float Cb_p, float Cr_p, float Cb_key, float Cr_key, float tola, float tolb) {
|
|
40
|
+
float temp = (Cb_key - Cb_p) * (Cb_key - Cb_p) + (Cr_key - Cr_p) * (Cr_key - Cr_p);
|
|
41
|
+
float tola2 = tola * tola;
|
|
42
|
+
float tolb2 = tolb * tolb;
|
|
43
|
+
if (temp < tola2) return 0.0;
|
|
44
|
+
if (temp < tolb2) return (temp - tola2) / (tolb2 - tola2);
|
|
45
|
+
return 1.0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
float maskedTex2D(sampler2D tex, vec2 uv) {
|
|
49
|
+
vec4 color = texture(tex, uv);
|
|
50
|
+
|
|
51
|
+
float key_cb = rgb2cb(u_keyColor);
|
|
52
|
+
float key_cr = rgb2cr(u_keyColor);
|
|
53
|
+
float pix_cb = rgb2cb(color.rgb);
|
|
54
|
+
float pix_cr = rgb2cr(color.rgb);
|
|
55
|
+
|
|
56
|
+
return colorclose(pix_cb, pix_cr, key_cb, key_cr, u_colorCutoff, u_colorFeathering);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
void main() {
|
|
60
|
+
vec2 pixelWidth = vec2(u_texelSize.x, 0.0);
|
|
61
|
+
vec2 pixelHeight = vec2(0.0, u_texelSize.y);
|
|
62
|
+
|
|
63
|
+
// Unmodified MainTex
|
|
64
|
+
vec4 color = texture(u_texture, v_uv);
|
|
65
|
+
|
|
66
|
+
// Unfeathered mask
|
|
67
|
+
float mask = maskedTex2D(u_texture, v_uv);
|
|
68
|
+
|
|
69
|
+
// Feathering & smoothing
|
|
70
|
+
float c = mask;
|
|
71
|
+
float r = maskedTex2D(u_texture, v_uv + pixelWidth);
|
|
72
|
+
float l = maskedTex2D(u_texture, v_uv - pixelWidth);
|
|
73
|
+
float d = maskedTex2D(u_texture, v_uv + pixelHeight);
|
|
74
|
+
float u = maskedTex2D(u_texture, v_uv - pixelHeight);
|
|
75
|
+
float rd = maskedTex2D(u_texture, v_uv + pixelWidth + pixelHeight) * 0.707;
|
|
76
|
+
float dl = maskedTex2D(u_texture, v_uv - pixelWidth + pixelHeight) * 0.707;
|
|
77
|
+
float lu = maskedTex2D(u_texture, v_uv - pixelHeight - pixelWidth) * 0.707;
|
|
78
|
+
float ur = maskedTex2D(u_texture, v_uv + pixelWidth - pixelHeight) * 0.707;
|
|
79
|
+
float blurContribution = (r + l + d + u + rd + dl + lu + ur + c) * 0.12774655;
|
|
80
|
+
float smoothedMask = smoothstep(u_sharpening, 1.0, mix(c, blurContribution, u_maskFeathering));
|
|
81
|
+
vec4 result = color * smoothedMask;
|
|
82
|
+
|
|
83
|
+
// Despill
|
|
84
|
+
float v = (2.0 * result.b + result.r) / 4.0;
|
|
85
|
+
if (result.g > v) result.g = mix(result.g, v, u_despill);
|
|
86
|
+
vec4 dif = color - result;
|
|
87
|
+
float desaturatedDif = rgb2y(dif.xyz);
|
|
88
|
+
result += mix(0.0, desaturatedDif, u_despillLuminanceAdd);
|
|
89
|
+
|
|
90
|
+
// Fundus mask pass: a grayscale shape mask multiplies
|
|
91
|
+
// the keyed alpha.
|
|
92
|
+
float shapeMask = texture(u_mask, v_uv).r;
|
|
93
|
+
vec4 keyed = vec4(result.xyz, smoothedMask * shapeMask) * u_tintColor;
|
|
94
|
+
|
|
95
|
+
// Premultiplied output: keyed matches the upstream SrcAlpha/OneMinusSrcAlpha
|
|
96
|
+
// blending; multiplying rgb by alpha is that blend's exact premultiplied
|
|
97
|
+
// equivalent. Straight-alpha output (premultipliedAlpha: false) is NOT an option:
|
|
98
|
+
// iOS WKWebView composites the WebGL canvas as premultiplied regardless of the
|
|
99
|
+
// flag, and the despill luminance-add above leaves fully-transparent background
|
|
100
|
+
// pixels with nonzero rgb (the upstream blend ignores rgb
|
|
101
|
+
// at alpha 0) which then composite additively — a visible bright veil over the
|
|
102
|
+
// whole canvas rect on iOS.
|
|
103
|
+
fragColor = vec4(keyed.rgb * keyed.a, keyed.a);
|
|
104
|
+
}`;function Xt(e){let t=(t,n)=>{let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS)){let t=e.getShaderInfoLog(r);throw e.deleteShader(r),Error(`Chroma-key shader compilation failed: ${t}.`)}return r},n=e.createProgram();if(e.attachShader(n,t(e.VERTEX_SHADER,Jt)),e.attachShader(n,t(e.FRAGMENT_SHADER,Yt)),e.linkProgram(n),!e.getProgramParameter(n,e.LINK_STATUS)){let t=e.getProgramInfoLog(n);throw e.deleteProgram(n),Error(`Chroma-key program linking failed: ${t}.`)}return n}var Zt=class e{#e;#t;#n;#r;#i;#a;#o;#s=null;#c=!1;static create(t){let n=t.getContext(`webgl2`,{premultipliedAlpha:!0,alpha:!0,depth:!1,stencil:!1,antialias:!1});if(!n)return null;try{return new e(n,t)}catch{return null}}constructor(e,t){this.#e=e,this.#t=t,t.addEventListener(`webglcontextlost`,this.#l),t.addEventListener(`webglcontextrestored`,this.#u),this.#d()}#l=e=>{e.preventDefault(),this.#c=!0};#u=()=>{try{this.#d(),this.#c=!1}catch{this.#c=!0}};#d(){let e=this.#e;this.#n=Xt(e),e.useProgram(this.#n);let t=t=>e.getUniformLocation(this.#n,t);this.#a={texelSize:t(`u_texelSize`),keyColor:t(`u_keyColor`),tintColor:t(`u_tintColor`),colorCutoff:t(`u_colorCutoff`),colorFeathering:t(`u_colorFeathering`),maskFeathering:t(`u_maskFeathering`),sharpening:t(`u_sharpening`),despill:t(`u_despill`),despillLuminanceAdd:t(`u_despillLuminanceAdd`)},e.uniform1i(e.getUniformLocation(this.#n,`u_texture`),0),e.uniform1i(e.getUniformLocation(this.#n,`u_mask`),1),e.uniform4f(this.#a.tintColor,1,1,1,1),this.#r=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this.#r),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW);let n=e.getAttribLocation(this.#n,`a_pos`);e.enableVertexAttribArray(n),e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),this.#i=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.#i),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),this.#o=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.#o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),this.#f(),e.disable(e.DEPTH_TEST),e.disable(e.BLEND),e.clearColor(0,0,0,0)}setMask(e){this.#s=e,this.#c||this.#f()}#f(){let e=this.#e;e.bindTexture(e.TEXTURE_2D,this.#o),this.#s?e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.#s):e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([255,255,255,255]))}draw(e,t){if(this.#c||e.videoWidth===0)return;let n=this.#e;(this.#t.width!==e.videoWidth||this.#t.height!==e.videoHeight)&&(this.#t.width=e.videoWidth,this.#t.height=e.videoHeight,n.viewport(0,0,e.videoWidth,e.videoHeight)),n.activeTexture(n.TEXTURE1),n.bindTexture(n.TEXTURE_2D,this.#o),n.activeTexture(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,this.#i),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),n.useProgram(this.#n),n.uniform2f(this.#a.texelSize,1/e.videoWidth,1/e.videoHeight),n.uniform3fv(this.#a.keyColor,t.keyColor),n.uniform1f(this.#a.colorCutoff,t.colorCutoff),n.uniform1f(this.#a.colorFeathering,t.colorFeathering),n.uniform1f(this.#a.maskFeathering,t.maskFeathering),n.uniform1f(this.#a.sharpening,t.sharpening),n.uniform1f(this.#a.despill,t.despill),n.uniform1f(this.#a.despillLuminanceAdd,t.despillLuminanceAdd),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_STRIP,0,4)}dispose(){this.#t.removeEventListener(`webglcontextlost`,this.#l),this.#t.removeEventListener(`webglcontextrestored`,this.#u);let e=this.#e;e.deleteBuffer(this.#r),e.deleteTexture(this.#i),e.deleteTexture(this.#o),e.deleteProgram(this.#n),e.getExtension(`WEBGL_lose_context`)?.loseContext()}},Qt=N(`<img alt="" class="svelte-r30mxh"/>`),$t=N(`<canvas class="svelte-r30mxh"></canvas> <video playsinline="" preload="auto" class="svelte-r30mxh"></video>`,3),en=N(`<div><!></div>`);function tn(e,r){z(r,!0);let o=A(r,`loop`,3,!0),c=A(r,`playing`,3,!0),l=A(r,`videoElement`,15),u=A(r,`class`,3,``),f=v(void 0),p=v(!1),m=null,_=0,b=!1;function x(){let e=l();m&&e&&e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&m.draw(e,r.src.chromaKey)}function T(){x(),b&&E()}function E(){let e=l();_=e.requestVideoFrameCallback?e.requestVideoFrameCallback(T):requestAnimationFrame(T)}function k(){b||(b=!0,E())}function j(){if(!b)return;b=!1;let e=l();e?.cancelVideoFrameCallback?e.cancelVideoFrameCallback(_):cancelAnimationFrame(_)}function M(){!c()||i(p)||l()?.play().catch(()=>{})}function N(){l()?.pause()}I(()=>{if(m=Zt.create(i(f)),!m){y(p,!0);return}let e=m,t=r.src.mask?.src;if(t){let n=new Image;n.src=t,n.decode().then(()=>{m===e&&e.setMask(n)}).catch(()=>{console.warn(`Failed to load chroma-key mask "${t}".`)})}return()=>{j(),e.dispose(),m=null}}),g(()=>{let e=l();if(!e)return;function t(){k()}function n(){j(),x()}function r(){b||x()}return e.addEventListener(`play`,t),e.addEventListener(`pause`,n),e.addEventListener(`ended`,n),e.addEventListener(`seeked`,r),()=>{e.removeEventListener(`play`,t),e.removeEventListener(`pause`,n),e.removeEventListener(`ended`,n),e.removeEventListener(`seeked`,r)}}),g(()=>{i(p)||(c()?M():N())}),g(()=>{let e=r.src.chromaKey;e.keyColor,e.colorCutoff,e.colorFeathering,e.maskFeathering,e.sharpening,e.despill,e.despillLuminanceAdd,b||x()});var F=en(),L=a(F),ee=e=>{var i=d(),a=s(i),o=e=>{var t=d();w(s(t),()=>r.fallback),n(e,t)},c=e=>{var i=Qt();t(()=>P(i,`src`,r.src.fallback.src)),n(e,i)};h(a,e=>{r.fallback?e(o):r.src.fallback&&e(c,1)}),n(e,i)},B=e=>{var a=$t(),c=s(a);S(c,e=>y(f,e),()=>i(f));var u=R(c,2);u.muted=!0,S(u,e=>l(e),()=>l()),t(e=>{P(u,`src`,e),u.loop=o()},[()=>Ot(r.src.src)]),n(e,a)};h(L,e=>{i(p)?e(ee):e(B,-1)}),C(F),t(()=>O(F,1,`fundus-chroma-key-video ${u()??``}`,`svelte-r30mxh`)),n(e,F),D()}var nn=N(`<img/>`),rn=N(`<div class="stage checkerboard svelte-10eps7e"><!></div>`);function an(e,r){z(r,!0);let o=b(()=>!r.asset.proxy||r.asset.proxy.width===void 0||r.asset.proxy.height===void 0?null:{kind:`image`,src:r.asset.proxy.url,width:r.asset.proxy.width,height:r.asset.proxy.height});var s=rn(),c=a(s),l=e=>{At(e,{get src(){return i(o)},get alt(){return r.asset.id}})},u=e=>{var i=nn();t(()=>{P(i,`src`,r.asset.rawUrl),P(i,`alt`,r.asset.id)}),n(e,i)};h(c,e=>{i(o)?e(l):e(u,-1)}),C(s),n(e,s),D()}var on=N(`<img loading="lazy" class="svelte-gdduef"/>`);function sn(e,r){z(r,!0);var i=on();t(()=>{P(i,`src`,r.asset.proxy?.url??r.asset.rawUrl),P(i,`alt`,r.asset.id)}),n(e,i),D()}var cn=N(`<button> </button>`),ln=N(`<section class="svelte-1yd7n22"><!> <div class="insets svelte-1yd7n22"></div></section>`),un=N(`<section class="svelte-1yd7n22"><!> <!></section>`),dn=N(`<section class="svelte-1yd7n22"><!> <div class="modes svelte-1yd7n22"></div></section> <!> <section class="svelte-1yd7n22"><!> <div class="insets svelte-1yd7n22"></div></section> <!> <section class="svelte-1yd7n22"><!> <div class="field"><!></div></section> <!>`,1);function fn(e,o){z(o,!0);let c=b(()=>Y.validateParameters(o.parameters)),l=b(()=>i(c).overdraw??ce()),f=[{value:`nine`,label:`9-slice`},{value:`three-horizontal`,label:`3-slice horizontal`},{value:`three-vertical`,label:`3-slice vertical`},{value:`one`,label:`No slicing`}],p=[{key:`top`,label:`Top`,icon:`arrow-up`,axis:`y`},{key:`right`,label:`Right`,icon:`arrow-right`,axis:`x`},{key:`bottom`,label:`Bottom`,icon:`arrow-down`,axis:`y`},{key:`left`,label:`Left`,icon:`arrow-left`,axis:`x`}];function g(e,t){let n=le(t);return e===`x`?n.horizontal:n.vertical}let _=b(()=>o.asset.proxy?.width??2**53-1),v=b(()=>o.asset.proxy?.height??2**53-1);function y(e){o.onParametersCommit(e)}function x(e){y({...i(c),mode:e})}function S(e){return K(i(c).insets,e,i(_),i(v))}function w(e,t,n){let r=Math.max(0,Math.min(S(e),Math.round(t??0))),a={...i(c),insets:{...i(c).insets,[e]:r}};n?y(a):o.onParametersChange(a)}function T(e){return oe(i(l),e,i(_),i(v))}function E(e,t,n){let r=Math.max(0,Math.min(T(e),Math.round(t??0))),a={...i(c),overdraw:{...i(l),[e]:r}};n?y(a):o.onParametersChange(a)}function k(e,t){let n={...i(c),pixelRatio:Math.max(1,Math.round(e??1))};t?y(n):o.onParametersChange(n)}function A(e){y({...i(c),preset:e})}var N=dn(),P=s(N),F=a(P);ut(F,{children:(e,t)=>{j(),n(e,M(`Mode`))},$$slots:{default:!0}});var I=R(F,2);m(I,21,()=>f,e=>e.value,(e,o)=>{var s=cn();let l;var d=a(s,!0);C(s),t(()=>{l=O(s,1,`svelte-1yd7n22`,null,l,{on:i(c).mode===i(o).value}),r(d,i(o).label)}),u(`click`,s,()=>x(i(o).value)),n(e,s)}),C(I),C(P);var L=R(P,2),ee=e=>{var t=ln(),r=a(t);ut(r,{children:(e,t)=>{j(),n(e,M(`Insets (px)`))},$$slots:{default:!0}});var o=R(r,2);m(o,21,()=>p,e=>e.key,(e,t)=>{var r=d(),a=s(r),o=e=>{{let n=e=>{Je(e,{get name(){return i(t).icon}})},r=b(()=>S(i(t).key));ct(e,{get label(){return i(t).label},min:0,get max(){return i(r)},rangeFill:!1,get value(){return i(c).insets[i(t).key]},onChange:e=>w(i(t).key,e,!1),onCommit:e=>w(i(t).key,e,!0),icon:n,$$slots:{icon:!0}})}},l=b(()=>g(i(t).axis,i(c).mode));h(a,e=>{i(l)&&e(o)}),n(e,r)}),C(o),C(t),n(e,t)};h(L,e=>{i(c).mode!==`one`&&e(ee)});var B=R(L,2),V=a(B);ut(V,{children:(e,t)=>{j(),n(e,M(`Overdraw (px)`))},$$slots:{default:!0}});var H=R(V,2);m(H,21,()=>p,e=>e.key,(e,t)=>{{let n=e=>{Je(e,{get name(){return i(t).icon}})},r=b(()=>T(i(t).key));ct(e,{get label(){return i(t).label},min:0,get max(){return i(r)},rangeFill:!1,get value(){return i(l)[i(t).key]},onChange:e=>E(i(t).key,e,!1),onCommit:e=>E(i(t).key,e,!0),icon:n,$$slots:{icon:!0}})}}),C(H),C(B);var U=R(B,2),W=e=>{var t=un(),r=a(t);ut(r,{children:(e,t)=>{j(),n(e,M(`Pixel ratio`))},$$slots:{default:!0}}),ct(R(r,2),{label:`Factor`,min:1,get value(){return i(c).pixelRatio},onChange:e=>k(e,!1),onCommit:e=>k(e,!0),icon:e=>{Je(e,{name:`ratio`})},$$slots:{icon:!0}}),C(t),n(e,t)};h(U,e=>{i(c).mode===`nine`&&e(W)});var G=R(U,2),te=a(G);ut(te,{children:(e,t)=>{j(),n(e,M(`Output`))},$$slots:{default:!0}});var ne=R(te,2);mt(a(ne),{label:`Preset`,caption:`Preset`,get value(){return i(c).preset},get options(){return o.presetNames},onChange:A,icon:e=>{Je(e,{name:`preset`})},$$slots:{icon:!0}}),C(ne),C(G),vt(R(G,2),{get proxy(){return o.asset.proxy},showDimensions:!0}),n(e,N),D()}l([`click`]);var pn=v(`dom`),mn=N(`<div class="preview-panel svelte-1mjaycs"><div class="bar svelte-1mjaycs"><span class="size svelte-1mjaycs"> </span> <div class="backends svelte-1mjaycs" role="group" aria-label="Rendering backend"><button>DOM</button> <button>Canvas</button></div> <button class="reset svelte-1mjaycs">Reset</button></div> <div class="stage checkerboard svelte-1mjaycs"><div class="box svelte-1mjaycs"><!> <div class="handle edge-right svelte-1mjaycs" role="separator" aria-label="Drag width" aria-orientation="vertical"></div> <div class="handle edge-bottom svelte-1mjaycs" role="separator" aria-label="Drag height" aria-orientation="horizontal"></div> <div class="handle corner svelte-1mjaycs" role="separator" aria-label="Drag size"></div></div></div></div>`);function hn(e,s){z(s,!0);function c(){return Math.round(Math.min(360,Math.max(80,s.entry.sourceWidth*2)))}function l(){return Math.round(c()*s.entry.sourceHeight/Math.max(1,s.entry.sourceWidth))}let d=v(o(p(()=>c()))),m=v(o(p(()=>l()))),h=v(null),g={pointerX:0,pointerY:0,width:0,height:0};function _(e,t){t.preventDefault(),y(h,e,!0),g={pointerX:t.clientX,pointerY:t.clientY,width:i(d),height:i(m)},et(t.currentTarget,t)}function b(e){i(h)&&(i(h)!==`y`&&y(d,Math.max(16,Math.round(g.width+(e.clientX-g.pointerX))),!0),i(h)!==`x`&&y(m,Math.max(16,Math.round(g.height+(e.clientY-g.pointerY))),!0))}function x(e){i(h)&&tt(e.currentTarget,e.pointerId),y(h,null)}function S(){y(d,c(),!0),y(m,l(),!0)}var w=mn(),T=a(w),E=a(T),A=a(E);C(E);var j=R(E,2),M=a(j);let N;var P=R(M,2);let F;C(j);var I=R(j,2);C(T);var L=R(T,2),ee=a(L);let B;var V=a(ee);Gt(V,{get src(){return s.entry},get backend(){return i(pn)},class:`fill`});var H=R(V,2),U=R(H,2),W=R(U,2);C(ee),C(L),C(w),t(()=>{r(A,`${i(d)??``} × ${i(m)??``} px`),N=O(M,1,`svelte-1mjaycs`,null,N,{on:i(pn)===`dom`}),F=O(P,1,`svelte-1mjaycs`,null,F,{on:i(pn)===`canvas`}),B=k(ee,``,B,{width:`${i(d)??``}px`,height:`${i(m)??``}px`})}),u(`click`,M,()=>y(pn,`dom`)),u(`click`,P,()=>y(pn,`canvas`)),u(`click`,I,S),u(`pointerdown`,H,e=>_(`x`,e)),u(`pointermove`,H,b),u(`pointerup`,H,x),f(`pointercancel`,H,x),u(`pointerdown`,U,e=>_(`y`,e)),u(`pointermove`,U,b),u(`pointerup`,U,x),f(`pointercancel`,U,x),u(`pointerdown`,W,e=>_(`both`,e)),u(`pointermove`,W,b),u(`pointerup`,W,x),f(`pointercancel`,W,x),n(e,w),D()}l([`click`,`pointerdown`,`pointermove`,`pointerup`]);var gn=N(`<div></div>`),_n=N(`<div class="overdraw-band svelte-1jfrg6d"></div>`),vn=N(`<div role="slider" aria-label="Left slice line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div> <div role="slider" aria-label="Right slice line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div>`,1),yn=N(`<div role="slider" aria-label="Top slice line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div> <div role="slider" aria-label="Bottom slice line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div>`,1),bn=N(`<div class="canvas svelte-1jfrg6d"><div class="toolbar svelte-1jfrg6d"><button title="Zoom out" class="svelte-1jfrg6d">−</button> <span class="zoom svelte-1jfrg6d"> </span> <button title="Zoom in" class="svelte-1jfrg6d">+</button> <button title="100%">1:1</button> <button>Fit</button> <span class="dims svelte-1jfrg6d"> </span></div> <div role="application" aria-label="Slice canvas — drag to pan, pinch/⌘+scroll to zoom"><div class="image-wrap svelte-1jfrg6d"><img alt="" draggable="false" class="svelte-1jfrg6d"/> <!> <!> <!> <!> <!> <div role="slider" aria-label="Left overdraw line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div> <div role="slider" aria-label="Right overdraw line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div> <div role="slider" aria-label="Top overdraw line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div> <div role="slider" aria-label="Bottom overdraw line" tabindex="0"><span class="tag svelte-1jfrg6d"> </span></div> <!> <!></div></div></div>`);function xn(e,o){z(o,!0);let c=v(void 0),l=v(void 0),d=v(null),p=b(()=>le(o.mode)),m=b(()=>i(p).horizontal),_=b(()=>i(p).vertical);function x(e,t){return i(d)?.target===e&&i(d).side===t}let w=v(`fit`),T=v(1),E=v(0),A=v(0),j=v(0),M=v(0),N=v(!1),F=new Map,I=null;function L(e){return Math.max(.05,Math.min(8,e))}g(()=>{let e=i(c);if(!e)return;let t=new ResizeObserver(()=>{y(j,e.clientWidth,!0),y(M,e.clientHeight,!0)});return t.observe(e),()=>t.disconnect()}),g(()=>{if(i(w)===`free`||o.width===0||o.height===0||i(j)===0||i(M)===0)return;let e=L(Math.min((i(j)-32)/o.width,(i(M)-32)/o.height));ee(i(w)===`one`?1:e)});function ee(e){y(T,e,!0),y(E,(i(j)-o.width*e)/2),y(A,(i(M)-o.height*e)/2)}function B(e,t){if(!i(c))return{x:e,y:t};let n=i(c).getBoundingClientRect();return{x:e-n.left-i(c).clientLeft,y:t-n.top-i(c).clientTop}}function V(e,t,n){let r=L(e);y(E,t-(t-i(E))*(r/i(T))),y(A,n-(n-i(A))*(r/i(T))),y(T,r,!0),y(w,`free`)}function H(e,t,n){return Math.max(t,Math.min(n,Math.round(e)))}function U(){y(w,`fit`)}function W(){y(w,`one`)}function G(e){V(i(T)*e,i(j)/2,i(M)/2)}function te(){let[e,t]=[...F.values()];return{distance:Math.hypot(e.x-t.x,e.y-t.y),midX:(e.x+t.x)/2,midY:(e.y+t.y)/2}}function ne(e){try{i(c)&&et(i(c),e)}catch{}F.set(e.pointerId,{x:e.clientX,y:e.clientY}),F.size===2?I=te():F.size===1&&y(N,!0)}function q(e){let t=F.get(e.pointerId);if(t)if(F.set(e.pointerId,{x:e.clientX,y:e.clientY}),F.size>=2&&I){let e=te(),t=B(I.midX,I.midY);V(i(T)*(e.distance/I.distance),t.x,t.y),y(E,i(E)+(e.midX-I.midX)),y(A,i(A)+(e.midY-I.midY)),I=e}else F.size===1&&(y(E,i(E)+(e.clientX-t.x)),y(A,i(A)+(e.clientY-t.y)),y(w,`free`))}function re(e){F.delete(e.pointerId),F.size<2&&(I=null),F.size===0&&y(N,!1)}function ie(e){if(e.preventDefault(),e.ctrlKey||e.metaKey){let t=B(e.clientX,e.clientY);V(i(T)*Math.exp(-e.deltaY*.01),t.x,t.y)}else y(E,i(E)-e.deltaX),y(A,i(A)-e.deltaY),y(w,`free`)}function ae(e,t,n){n.preventDefault(),n.stopPropagation(),y(d,{target:e,side:t},!0),et(n.currentTarget,n)}function J(e){if(!i(d)||!i(l))return;let t=i(l).getBoundingClientRect(),n=(e.clientX-t.left)/i(T),r=(e.clientY-t.top)/i(T),{target:a,side:s}=i(d),c={...a===`inset`?o.insets:o.overdraw};s===`left`?c.left=H(n,0,X(a,`left`)):s===`right`?c.right=H(o.width-n,0,X(a,`right`)):s===`top`?c.top=H(r,0,X(a,`top`)):s===`bottom`&&(c.bottom=H(o.height-r,0,X(a,`bottom`))),a===`inset`?o.onChange(c):o.onOverdrawChange(c)}function Y(e){let t=i(d)!==null;i(d)&&tt(e.currentTarget,e.pointerId),y(d,null),t&&o.onCommit()}function X(e,t){let n=e===`inset`?o.insets:o.overdraw;return e===`inset`?K(n,t,o.width,o.height):oe(n,t,o.width,o.height)}function se(e,t,n){let r=e===`inset`?o.insets:o.overdraw,i={...r};i[t]=H(r[t]+n,0,X(e,t)),i[t]!==r[t]&&(e===`inset`?o.onChange(i):o.onOverdrawChange(i),o.onCommit())}function ce(e,t,n,r){let i=r.shiftKey?10:1,a=n===`x`?`ArrowRight`:`ArrowUp`,o=n===`x`?`ArrowLeft`:`ArrowDown`;if(r.key===a)se(e,t,i);else if(r.key===o)se(e,t,-i);else return;r.preventDefault()}var ue=bn(),de=a(ue),fe=a(de),pe=R(fe,2),me=a(pe);C(pe);var he=R(pe,2),ge=R(he,2);let _e;var ve=R(ge,2);let ye;var be=R(ve,2),xe=a(be);C(be),C(de);var Se=R(de,2);let Ce;var we=a(Se);let Te;var Ee=a(we),De=R(Ee,2),Oe=e=>{var r=gn();let a,s;t(()=>{a=O(r,1,`center-rect svelte-1jfrg6d`,null,a,{"side-edges":!i(m),"cap-edges":!i(_)}),s=k(r,``,s,{left:`${(i(m)?o.insets.left:0)*i(T)}px`,top:`${(i(_)?o.insets.top:0)*i(T)}px`,right:`${(i(m)?o.insets.right:0)*i(T)}px`,bottom:`${(i(_)?o.insets.bottom:0)*i(T)}px`})}),n(e,r)};h(De,e=>{(i(m)||i(_))&&e(Oe)});var ke=R(De,2),Ae=e=>{var r=_n();let a;t(()=>a=k(r,``,a,{left:`0`,top:`0`,bottom:`0`,width:`${o.overdraw.left*i(T)}px`})),n(e,r)};h(ke,e=>{o.overdraw.left>0&&e(Ae)});var je=R(ke,2),Me=e=>{var r=_n();let a;t(()=>a=k(r,``,a,{right:`0`,top:`0`,bottom:`0`,width:`${o.overdraw.right*i(T)}px`})),n(e,r)};h(je,e=>{o.overdraw.right>0&&e(Me)});var Ne=R(je,2),Pe=e=>{var r=_n();let a;t(()=>a=k(r,``,a,{top:`0`,left:`${o.overdraw.left*i(T)}px`,right:`${o.overdraw.right*i(T)}px`,height:`${o.overdraw.top*i(T)}px`})),n(e,r)};h(Ne,e=>{o.overdraw.top>0&&e(Pe)});var Fe=R(Ne,2),Ie=e=>{var r=_n();let a;t(()=>a=k(r,``,a,{bottom:`0`,left:`${o.overdraw.left*i(T)}px`,right:`${o.overdraw.right*i(T)}px`,height:`${o.overdraw.bottom*i(T)}px`})),n(e,r)};h(Fe,e=>{o.overdraw.bottom>0&&e(Ie)});var Z=R(Fe,2);let Q;P(Z,`aria-valuemin`,0);let Le;var Re=a(Z),ze=a(Re,!0);C(Re),C(Z);var $=R(Z,2);let Be;P($,`aria-valuemin`,0);let Ve;var He=a($),Ue=a(He,!0);C(He),C($);var We=R($,2);let Ge;P(We,`aria-valuemin`,0);let Ke;var qe=a(We),Je=a(qe,!0);C(qe),C(We);var Ye=R(We,2);let Xe;P(Ye,`aria-valuemin`,0);let Ze;var Qe=a(Ye),$e=a(Qe,!0);C(Qe),C(Ye);var nt=R(Ye,2),rt=e=>{var c=vn(),l=s(c);let d;P(l,`aria-valuemin`,0);let p;var m=a(l),h=a(m,!0);C(m),C(l);var g=R(l,2);let _;P(g,`aria-valuemin`,0);let v;var y=a(g),b=a(y,!0);C(y),C(g),t((e,t,n,a)=>{d=O(l,1,`line v svelte-1jfrg6d`,null,d,e),P(l,`aria-valuenow`,o.insets.left),P(l,`aria-valuemax`,t),p=k(l,``,p,{left:`${o.insets.left*i(T)}px`}),r(h,o.insets.left),_=O(g,1,`line v svelte-1jfrg6d`,null,_,n),P(g,`aria-valuenow`,o.insets.right),P(g,`aria-valuemax`,a),v=k(g,``,v,{left:`${(o.width-o.insets.right)*i(T)}px`}),r(b,o.insets.right)},[()=>({active:x(`inset`,`left`)}),()=>X(`inset`,`left`),()=>({active:x(`inset`,`right`)}),()=>X(`inset`,`right`)]),u(`pointerdown`,l,e=>ae(`inset`,`left`,e)),u(`pointermove`,l,J),u(`pointerup`,l,Y),f(`pointercancel`,l,Y),u(`keydown`,l,e=>ce(`inset`,`left`,`x`,e)),u(`pointerdown`,g,e=>ae(`inset`,`right`,e)),u(`pointermove`,g,J),u(`pointerup`,g,Y),f(`pointercancel`,g,Y),u(`keydown`,g,e=>ce(`inset`,`right`,`x`,e)),n(e,c)};h(nt,e=>{i(m)&&e(rt)});var it=R(nt,2),at=e=>{var c=yn(),l=s(c);let d;P(l,`aria-valuemin`,0);let p;var m=a(l),h=a(m,!0);C(m),C(l);var g=R(l,2);let _;P(g,`aria-valuemin`,0);let v;var y=a(g),b=a(y,!0);C(y),C(g),t((e,t,n,a)=>{d=O(l,1,`line h svelte-1jfrg6d`,null,d,e),P(l,`aria-valuenow`,o.insets.top),P(l,`aria-valuemax`,t),p=k(l,``,p,{top:`${o.insets.top*i(T)}px`}),r(h,o.insets.top),_=O(g,1,`line h svelte-1jfrg6d`,null,_,n),P(g,`aria-valuenow`,o.insets.bottom),P(g,`aria-valuemax`,a),v=k(g,``,v,{top:`${(o.height-o.insets.bottom)*i(T)}px`}),r(b,o.insets.bottom)},[()=>({active:x(`inset`,`top`)}),()=>X(`inset`,`top`),()=>({active:x(`inset`,`bottom`)}),()=>X(`inset`,`bottom`)]),u(`pointerdown`,l,e=>ae(`inset`,`top`,e)),u(`pointermove`,l,J),u(`pointerup`,l,Y),f(`pointercancel`,l,Y),u(`keydown`,l,e=>ce(`inset`,`top`,`y`,e)),u(`pointerdown`,g,e=>ae(`inset`,`bottom`,e)),u(`pointermove`,g,J),u(`pointerup`,g,Y),f(`pointercancel`,g,Y),u(`keydown`,g,e=>ce(`inset`,`bottom`,`y`,e)),n(e,c)};h(it,e=>{i(_)&&e(at)}),C(we),S(we,e=>y(l,e),()=>i(l)),C(Se),S(Se,e=>y(c,e),()=>i(c)),C(ue),t((e,t,n,a,s,c,l,u,d)=>{r(me,`${e??``}%`),_e=O(ge,1,`svelte-1jfrg6d`,null,_e,{active:i(w)===`one`}),ye=O(ve,1,`svelte-1jfrg6d`,null,ye,{active:i(w)===`fit`}),r(xe,`${o.width??``} × ${o.height??``} px`),Ce=O(Se,1,`viewport checkerboard svelte-1jfrg6d`,null,Ce,{panning:i(N)}),Te=k(we,``,Te,{width:`${o.width*i(T)}px`,height:`${o.height*i(T)}px`,transform:`translate(${i(E)??``}px, ${i(A)??``}px)`}),P(Ee,`src`,o.src),Q=O(Z,1,`line v overdraw-line svelte-1jfrg6d`,null,Q,t),P(Z,`aria-valuenow`,o.overdraw.left),P(Z,`aria-valuemax`,n),Le=k(Z,``,Le,{left:`${o.overdraw.left*i(T)}px`}),r(ze,o.overdraw.left),Be=O($,1,`line v overdraw-line svelte-1jfrg6d`,null,Be,a),P($,`aria-valuenow`,o.overdraw.right),P($,`aria-valuemax`,s),Ve=k($,``,Ve,{left:`${(o.width-o.overdraw.right)*i(T)}px`}),r(Ue,o.overdraw.right),Ge=O(We,1,`line h overdraw-line svelte-1jfrg6d`,null,Ge,c),P(We,`aria-valuenow`,o.overdraw.top),P(We,`aria-valuemax`,l),Ke=k(We,``,Ke,{top:`${o.overdraw.top*i(T)}px`}),r(Je,o.overdraw.top),Xe=O(Ye,1,`line h overdraw-line svelte-1jfrg6d`,null,Xe,u),P(Ye,`aria-valuenow`,o.overdraw.bottom),P(Ye,`aria-valuemax`,d),Ze=k(Ye,``,Ze,{top:`${(o.height-o.overdraw.bottom)*i(T)}px`}),r($e,o.overdraw.bottom)},[()=>Math.round(i(T)*100),()=>({active:x(`overdraw`,`left`)}),()=>X(`overdraw`,`left`),()=>({active:x(`overdraw`,`right`)}),()=>X(`overdraw`,`right`),()=>({active:x(`overdraw`,`top`)}),()=>X(`overdraw`,`top`),()=>({active:x(`overdraw`,`bottom`)}),()=>X(`overdraw`,`bottom`)]),u(`click`,fe,()=>G(1/1.25)),u(`click`,he,()=>G(1.25)),u(`click`,ge,W),u(`click`,ve,U),u(`pointerdown`,Se,ne),u(`pointermove`,Se,q),u(`pointerup`,Se,re),f(`pointercancel`,Se,re),f(`wheel`,Se,ie),u(`pointerdown`,Z,e=>ae(`overdraw`,`left`,e)),u(`pointermove`,Z,J),u(`pointerup`,Z,Y),f(`pointercancel`,Z,Y),u(`keydown`,Z,e=>ce(`overdraw`,`left`,`x`,e)),u(`pointerdown`,$,e=>ae(`overdraw`,`right`,e)),u(`pointermove`,$,J),u(`pointerup`,$,Y),f(`pointercancel`,$,Y),u(`keydown`,$,e=>ce(`overdraw`,`right`,`x`,e)),u(`pointerdown`,We,e=>ae(`overdraw`,`top`,e)),u(`pointermove`,We,J),u(`pointerup`,We,Y),f(`pointercancel`,We,Y),u(`keydown`,We,e=>ce(`overdraw`,`top`,`y`,e)),u(`pointerdown`,Ye,e=>ae(`overdraw`,`bottom`,e)),u(`pointermove`,Ye,J),u(`pointerup`,Ye,Y),f(`pointercancel`,Ye,Y),u(`keydown`,Ye,e=>ce(`overdraw`,`bottom`,`y`,e)),n(e,ue),D()}l([`click`,`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var Sn=N(`<div class="empty error svelte-1ea2lvt"> </div>`),Cn=N(`<div class="empty svelte-1ea2lvt">Loading image…</div>`),wn=N(`<div class="pane svelte-1ea2lvt"><!></div>`),Tn=N(`<div class="editor svelte-1ea2lvt"><div class="tabs svelte-1ea2lvt"><button>Slicing</button> <button>Preview</button></div> <!></div>`);function En(e,o){z(o,!0);let s=v(`slicing`),c=v(null),l=v(null);g(()=>{let e=o.asset.rawUrl;y(c,null),y(l,null);let t=!1,n=new window.Image;return n.onload=()=>{t||y(c,{width:n.naturalWidth,height:n.naturalHeight},!0)},n.onerror=()=>{t||y(l,`Could not load image dimensions.`)},n.src=e,()=>{t=!0}});let d=b(()=>{try{return Y.validateParameters(o.parameters)}catch{return null}}),f=b(()=>!i(d)||!i(c)?null:{kind:`slice`,src:o.asset.proxy?.url??o.asset.rawUrl,slicing:{mode:i(d).mode,insets:i(d).insets,pixelRatio:i(d).pixelRatio,...i(d).overdraw?{overdraw:i(d).overdraw}:{}},sourceWidth:i(c).width,sourceHeight:i(c).height});var p=Tn(),m=a(p),_=a(m);let x;var S=R(_,2);let w;C(m);var T=R(m,2),E=e=>{var o=Sn(),s=a(o,!0);C(o),t(()=>r(s,i(l))),n(e,o)},k=e=>{n(e,Cn())},A=e=>{var t=wn(),r=a(t);{let e=b(()=>i(d).overdraw??ce());xn(r,{get src(){return o.asset.rawUrl},get width(){return i(c).width},get height(){return i(c).height},get mode(){return i(d).mode},get insets(){return i(d).insets},get overdraw(){return i(e)},onChange:e=>o.onParametersChange({...i(d),insets:e}),onOverdrawChange:e=>o.onParametersChange({...i(d),overdraw:e}),onCommit:()=>o.onParametersCommit(o.parameters)})}C(t),n(e,t)},j=e=>{var t=wn();B(a(t),()=>o.asset.id,e=>{hn(e,{get entry(){return i(f)}})}),C(t),n(e,t)};h(T,e=>{i(l)?e(E):!i(d)||!i(c)?e(k,1):i(s)===`slicing`?e(A,2):i(f)&&e(j,3)}),C(p),t(()=>{x=O(_,1,`svelte-1ea2lvt`,null,x,{on:i(s)===`slicing`}),w=O(S,1,`svelte-1ea2lvt`,null,w,{on:i(s)===`preview`})}),u(`click`,_,()=>y(s,`slicing`)),u(`click`,S,()=>y(s,`preview`)),n(e,p),D()}l([`click`]);var Dn=N(`<section class="svelte-ij1927"><!> <div class="field svelte-ij1927"><!></div> <div class="field svelte-ij1927"><!></div></section> <!>`,1);function On(e,t){z(t,!0);let r=b(()=>X.validateParameters(t.parameters));function o(e){t.onParametersCommit(e)}function c(e){o({...i(r),preset:e})}function l(e,n){let a=fe(i(r),e);n?o(a):t.onParametersChange(a)}var u=Dn(),d=s(u),f=a(d);ut(f,{children:(e,t)=>{j(),n(e,M(`Video`))},$$slots:{default:!0}});var p=R(f,2);mt(a(p),{label:`Preset`,caption:`Preset`,get value(){return i(r).preset},get options(){return t.presetNames},onChange:c,icon:e=>{Je(e,{name:`preset`})},$$slots:{icon:!0}}),C(p);var m=R(p,2),h=a(m);{let e=e=>{Je(e,{name:`width`})},t=b(()=>i(r).maxWidth??null);ct(h,{label:`Max width`,caption:`Max width`,min:1,placeholder:`source`,get value(){return i(t)},onChange:e=>l(e,!1),onCommit:e=>l(e,!0),icon:e,$$slots:{icon:!0}})}C(m),C(d),vt(R(d,2),{get proxy(){return t.asset.proxy},showDimensions:!0,showDuration:!0}),n(e,u),D()}var kn=N(`<div class="preview-column svelte-qls820"><div class="video-frame svelte-qls820"><!></div> <!></div>`),An=N(`<p class="svelte-qls820">No proxy yet — add the asset to a manifest to process it.</p>`),jn=N(`<div class="stage checkerboard svelte-qls820"><!></div>`);function Mn(e,r){z(r,!0);let o=v(void 0),s=b(()=>!r.asset.proxy||r.asset.proxy.width===void 0||r.asset.proxy.height===void 0||r.asset.proxy.durationMs===void 0?null:{kind:`video`,src:r.asset.proxy.url,width:r.asset.proxy.width,height:r.asset.proxy.height,durationMs:r.asset.proxy.durationMs});var c=jn(),l=a(c),u=e=>{var r=kn(),c=a(r);let l;B(a(c),()=>i(s).src,e=>{qt(e,{get src(){return i(s)},loop:!0,get videoElement(){return i(o)},set videoElement(e){y(o,e,!0)}})}),C(c),Fe(R(c,2),{get media(){return i(o)},showScrub:!0,showVolume:!0}),C(r),t(()=>l=k(c,``,l,{"aspect-ratio":`${i(s).width??``} / ${i(s).height??``}`})),n(e,r)},d=e=>{n(e,An())};h(l,e=>{i(s)?e(u):e(d,-1)}),C(c),n(e,c),D()}var Nn=N(`<video playsinline="" preload="metadata" class="svelte-ejgo9x"></video>`,2);function Pn(e,r){z(r,!0);function i(e){e.currentTime=0,e.play().catch(()=>{})}function a(e){e.pause(),e.currentTime=0}var o=Nn();o.muted=!0,t(()=>P(o,`src`,r.asset.proxy?.url??r.asset.rawUrl)),f(`pointerenter`,o,e=>i(e.currentTarget)),f(`pointerleave`,o,e=>a(e.currentTarget)),n(e,o),D()}var Fn=N(`<span class="caption svelte-56kutb"> </span>`),In=N(`<img class="preview svelte-56kutb" alt=""/>`),Ln=N(`<span class="missing-preview svelte-56kutb" title="References an unknown asset">!</span>`),Rn=N(`<span class="id svelte-56kutb"> </span>`),zn=N(`<span class="id dangling svelte-56kutb" title="References an unknown asset"> </span>`),Bn=N(`<span class="placeholder svelte-56kutb"> </span>`),Vn=N(`<button class="clear svelte-56kutb">×</button>`),Hn=N(`<p class="hint svelte-56kutb"> </p>`),Un=N(`<button><img class="thumbnail svelte-56kutb" alt=""/> <span class="id svelte-56kutb"> </span></button>`),Wn=N(`<div class="dropdown svelte-56kutb"><!></div>`),Gn=N(`<div class="picker svelte-56kutb"><!> <div class="reference-input control svelte-56kutb"><button><span class="preview-slot svelte-56kutb"><!></span> <!></button> <!> <!></div></div>`);function Kn(e,o){z(o,!0);let c=v(!1),l=b(()=>(W.state?.assets??[]).filter(e=>o.expectedTypes.includes(e.type)&&e.id!==o.excludeAssetId)),f=b(()=>o.value?W.assetById(o.value.$asset):null);function p(e){y(c,!1),o.onChange({$asset:e})}function g(){y(c,!1),o.onChange(void 0)}var _=Gn(),x=a(_),S=e=>{var i=Fn(),s=a(i,!0);C(i),t(()=>r(s,o.caption)),n(e,i)};h(x,e=>{o.caption&&e(S)});var w=R(x,2),T=a(w);let E;var k=a(T),A=a(k),j=e=>{var r=In();t(()=>P(r,`src`,i(f).rawUrl)),n(e,r)},M=e=>{n(e,Ln())};h(A,e=>{o.value&&i(f)?e(j):o.value&&e(M,1)}),C(k);var N=R(k,2),F=e=>{var c=d(),l=s(c),u=e=>{var o=Rn(),s=a(o,!0);C(o),t(()=>r(s,i(f).id)),n(e,o)},p=e=>{var i=zn(),s=a(i,!0);C(i),t(()=>r(s,o.value.$asset)),n(e,i)};h(l,e=>{i(f)?e(u):e(p,-1)}),n(e,c)},I=e=>{var i=Bn(),s=a(i);C(i),t(e=>r(s,`Select ${e??``}...`),[()=>o.expectedTypes.join(`/`)]),n(e,i)};h(N,e=>{o.value?e(F):e(I,-1)}),C(T);var L=R(T,2),ee=e=>{var r=Vn();t(()=>P(r,`title`,`Clear ${o.label??``}`)),u(`click`,r,g),n(e,r)};h(L,e=>{o.value&&e(ee)});var B=R(L,2),V=e=>{var c=Wn(),f=a(c),g=e=>{var i=Hn(),s=a(i);C(i),t(e=>r(s,`No ${e??``} assets in the library.`),[()=>o.expectedTypes.join(`/`)]),n(e,i)},_=e=>{var c=d();m(s(c),17,()=>i(l),e=>e.id,(e,s)=>{var c=Un();let l;var d=a(c),f=R(d,2),m=a(f,!0);C(f),C(c),t(()=>{l=O(c,1,`option svelte-56kutb`,null,l,{selected:o.value?.$asset===i(s).id}),P(d,`src`,i(s).rawUrl),r(m,i(s).id)}),u(`click`,c,()=>p(i(s).id)),n(e,c)}),n(e,c)};h(f,e=>{i(l).length===0?e(g):e(_,-1)}),C(c),n(e,c)};h(B,e=>{i(c)&&e(V)}),C(w),C(_),t(()=>{E=O(T,1,`current svelte-56kutb`,null,E,{empty:!o.value}),P(T,`title`,o.value?`Change ${o.label}`:`Select ${o.label}`)}),u(`click`,T,()=>y(c,!i(c))),n(e,_),D()}l([`click`]);var qn=N(`<span class="caption svelte-gjs979"> </span>`),Jn=N(`<div class="color-field svelte-gjs979"><!> <div class="color-input control svelte-gjs979"><span class="swatch-slot svelte-gjs979"><input class="swatch svelte-gjs979" type="color" title="Open color picker"/></span> <input class="hex-input svelte-gjs979" type="text" maxlength="7" spellcheck="false"/></div></div>`);function Yn(e,o){z(o,!0);let s=v(null),c=/^#[0-9a-f]{6}$/i;function l(e){let t=e.startsWith(`#`)?e:`#${e}`;return c.test(t)?t.toUpperCase():null}function d(e){let t=e.currentTarget.value.toUpperCase();y(s,t,!0),o.onChange?.(t)}function p(e){let t=e.currentTarget.value.toUpperCase();y(s,t,!0),o.onCommit(t)}function m(e){y(s,e.currentTarget.value,!0);let t=l(i(s));t&&o.onChange?.(t)}function g(){let e=l(i(s)??o.value);e&&o.onCommit(e),y(s,null)}function _(e){e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(y(s,null),e.currentTarget.value=o.value,e.currentTarget.blur())}var b=Jn(),x=a(b),S=e=>{var i=qn(),s=a(i,!0);C(i),t(()=>r(s,o.caption)),n(e,i)};h(x,e=>{o.caption&&e(S)});var w=R(x,2),O=a(w),k=a(O);T(k),C(O);var A=R(O,2);T(A),C(w),C(b),t(()=>{E(k,o.value),P(k,`aria-label`,`${o.label} color picker`),E(A,i(s)??o.value),P(A,`aria-label`,`${o.label} hex value`)}),u(`input`,k,d),u(`change`,k,p),f(`focus`,A,()=>y(s,o.value,!0)),u(`input`,A,m),f(`blur`,A,g),u(`keydown`,A,_),n(e,b),D()}l([`input`,`change`,`keydown`]);var Xn=N(`<div class="field svelte-rsjkek"><!></div>`),Zn=N(`<section class="svelte-rsjkek"><!> <div class="field svelte-rsjkek"><!></div> <div class="field svelte-rsjkek"><!></div></section> <section class="svelte-rsjkek"><!> <div class="field svelte-rsjkek"><!></div> <!></section> <section class="svelte-rsjkek"><!> <!> <!></section> <!>`,1);function Qn(e,t){z(t,!0);let r=b(()=>q.validateParameters(t.parameters));function o(e){t.onParametersCommit(e)}function c(e){o({...i(r),preset:e})}function l(e,n){let a=fe(i(r),e);n?o(a):t.onParametersChange(a)}function u(e){return{...i(r),chromaKey:e}}let d=[{key:`colorCutoff`,label:`Color cutoff`,icon:`cutoff`,min:0,max:.6,step:.005},{key:`colorFeathering`,label:`Color feathering`,icon:`color-feather`,min:0,max:.8,step:.005},{key:`maskFeathering`,label:`Mask feathering`,icon:`mask-feather`,min:0,max:1,step:.01},{key:`sharpening`,label:`Sharpening`,icon:`sharpen`,min:0,max:1,step:.01},{key:`despill`,label:`Despill`,icon:`despill`,min:0,max:1,step:.01},{key:`despillLuminanceAdd`,label:`Despill lum. add`,icon:`despill-lum`,min:0,max:1,step:.01}];function f(e,n,a){let s=u({...i(r).chromaKey,[e]:n});a?o(s):t.onParametersChange(s)}function p(e){return Math.round(Math.min(1,Math.max(0,e))*255).toString(16).padStart(2,`0`)}function h(e){return`#${p(e[0])}${p(e[1])}${p(e[2])}`}function g(e){let t=parseInt(e.slice(1),16);return[(t>>16&255)/255,(t>>8&255)/255,(t&255)/255]}function _(e,n){let a=u({...i(r).chromaKey,keyColor:g(e)});n?o(a):t.onParametersChange(a)}function v(e,t){let{[e]:n,...a}=i(r);o(t?{...a,[e]:t}:a)}var y=Zn(),x=s(y),S=a(x);ut(S,{children:(e,t)=>{j(),n(e,M(`Video`))},$$slots:{default:!0}});var w=R(S,2);mt(a(w),{label:`Preset`,caption:`Preset`,get value(){return i(r).preset},get options(){return t.presetNames},onChange:c,icon:e=>{Je(e,{name:`preset`})},$$slots:{icon:!0}}),C(w);var T=R(w,2),E=a(T);{let e=e=>{Je(e,{name:`width`})},t=b(()=>i(r).maxWidth??null);ct(E,{label:`Max width`,caption:`Max width`,min:1,placeholder:`source`,get value(){return i(t)},onChange:e=>l(e,!1),onCommit:e=>l(e,!0),icon:e,$$slots:{icon:!0}})}C(T),C(x);var O=R(x,2),k=a(O);ut(k,{children:(e,t)=>{j(),n(e,M(`Chroma key`))},$$slots:{default:!0}});var A=R(k,2),N=a(A);{let e=b(()=>h(i(r).chromaKey.keyColor));Yn(N,{label:`Key color`,caption:`Key color`,get value(){return i(e)},onChange:e=>_(e,!1),onCommit:e=>_(e,!0)})}C(A),m(R(A,2),17,()=>d,e=>e.key,(e,t)=>{var o=Xn();ct(a(o),{get label(){return i(t).label},get caption(){return i(t).label},get min(){return i(t).min},get max(){return i(t).max},get step(){return i(t).step},get value(){return i(r).chromaKey[i(t).key]},onChange:e=>f(i(t).key,e??i(t).min,!1),onCommit:e=>f(i(t).key,e??i(t).min,!0),icon:e=>{Je(e,{get name(){return i(t).icon}})},$$slots:{icon:!0}}),C(o),n(e,o)}),C(O);var P=R(O,2),F=a(P);ut(F,{children:(e,t)=>{j(),n(e,M(`References`))},$$slots:{default:!0}});var I=R(F,2);Kn(I,{label:`Mask`,caption:`Mask`,get value(){return i(r).mask},expectedTypes:[`image`],get excludeAssetId(){return t.asset.id},onChange:e=>v(`mask`,e)}),Kn(R(I,2),{label:`Fallback`,caption:`Fallback`,get value(){return i(r).fallback},expectedTypes:[`image`],get excludeAssetId(){return t.asset.id},onChange:e=>v(`fallback`,e)}),C(P),vt(R(P,2),{get proxy(){return t.asset.proxy},showDimensions:!0,showDuration:!0}),n(e,y),D()}var $n=N(`<div class="preview-column svelte-1y3xro5"><div class="compare-row svelte-1y3xro5"><figure class="svelte-1y3xro5"><figcaption class="svelte-1y3xro5">Input</figcaption> <div class="video-frame svelte-1y3xro5"><!></div></figure> <figure class="svelte-1y3xro5"><figcaption class="svelte-1y3xro5">Keyed</figcaption> <div class="video-frame checkerboard svelte-1y3xro5"><!></div></figure></div> <!></div>`),er=N(`<p class="svelte-1y3xro5">No proxy yet — add the asset to a manifest to process it.</p>`),tr=N(`<div class="stage svelte-1y3xro5"><!></div>`);function nr(e,r){z(r,!0);let o=v(void 0),s=v(void 0);function c(e){if(!e)return;let t=W.assetById(e);if(!(!t?.proxy||t.proxy.width===void 0||t.proxy.height===void 0))return{kind:`image`,src:t.proxy.url,width:t.proxy.width,height:t.proxy.height}}let l=b(()=>{if(!r.asset.proxy||r.asset.proxy.width===void 0||r.asset.proxy.height===void 0||r.asset.proxy.durationMs===void 0)return null;try{let e=q.validateParameters(r.parameters),t=c(e.mask?.$asset),n=c(e.fallback?.$asset);return{kind:`chroma-key-video`,src:r.asset.proxy.url,width:r.asset.proxy.width,height:r.asset.proxy.height,durationMs:r.asset.proxy.durationMs,chromaKey:e.chromaKey,...t?{mask:t}:{},...n?{fallback:n}:{}}}catch{return null}}),u=b(()=>i(l)?{kind:`video`,src:i(l).src,width:i(l).width,height:i(l).height,durationMs:i(l).durationMs}:null);g(()=>{let e=i(o),t=i(s);if(!e||!t)return;function n(){Math.abs(t.currentTime-e.currentTime)>.25&&(t.currentTime=e.currentTime)}function r(){n(),t.play().catch(()=>{})}function a(){t.pause(),t.currentTime=e.currentTime}function c(){t.currentTime=e.currentTime}return e.addEventListener(`play`,r),e.addEventListener(`playing`,r),e.addEventListener(`pause`,a),e.addEventListener(`ended`,a),e.addEventListener(`seeked`,c),e.addEventListener(`timeupdate`,n),c(),e.paused||t.play().catch(()=>{}),()=>{e.removeEventListener(`play`,r),e.removeEventListener(`playing`,r),e.removeEventListener(`pause`,a),e.removeEventListener(`ended`,a),e.removeEventListener(`seeked`,c),e.removeEventListener(`timeupdate`,n)}});var d=tr(),f=a(d),p=e=>{var r=$n(),c=a(r),d=a(c),f=R(a(d),2);let p;B(a(f),()=>i(u).src,e=>{qt(e,{get src(){return i(u)},loop:!0,get videoElement(){return i(s)},set videoElement(e){y(s,e,!0)}})}),C(f),C(d);var m=R(d,2),h=R(a(m),2);let g;B(a(h),()=>`${i(l).src}|${i(l).mask?.src??``}`,e=>{tn(e,{get src(){return i(l)},get videoElement(){return i(o)},set videoElement(e){y(o,e,!0)}})}),C(h),C(m),C(c),Fe(R(c,2),{get media(){return i(o)},showScrub:!0,showVolume:!1}),C(r),t(()=>{p=k(f,``,p,{"aspect-ratio":`${i(u).width??``} / ${i(u).height??``}`}),g=k(h,``,g,{"aspect-ratio":`${i(l).width??``} / ${i(l).height??``}`})}),n(e,r)},m=e=>{n(e,er())};h(f,e=>{i(l)&&i(u)?e(p):e(m,-1)}),C(d),n(e,d),D()}var rr=N(`<section class="svelte-3jblpy"><!> <div class="field svelte-3jblpy"><!></div></section> <!>`,1);function ir(e,t){z(t,!0);let r=b(()=>J.validateParameters(t.parameters));function o(e){let n={...i(r),preset:e};t.onParametersCommit(n)}var c=rr(),l=s(c),u=a(l);ut(u,{children:(e,t)=>{j(),n(e,M(`Audio`))},$$slots:{default:!0}});var d=R(u,2);mt(a(d),{label:`Preset`,caption:`Preset`,get value(){return i(r).preset},get options(){return t.presetNames},onChange:o,icon:e=>{Je(e,{name:`preset`})},$$slots:{icon:!0}}),C(d),C(l),vt(R(l,2),{get proxy(){return t.asset.proxy},showDuration:!0}),n(e,c),D()}function ar(e,t){z(t,!0);{let n=b(()=>t.asset.proxy?.url??t.asset.rawUrl);Ve(e,{get src(){return i(n)}})}D()}var or={[ne.type]:{panel:bt,editor:an,thumbnail:sn},[Y.type]:{panel:fn,editor:En,thumbnail:sn},[X.type]:{panel:On,editor:Mn,thumbnail:Pn},[q.type]:{panel:Qn,editor:nr,thumbnail:Pn},[J.type]:{panel:ir,editor:Ge,thumbnail:ar}},sr=G.project(or,`editor implementation`),cr=N(`<p class="error svelte-1f5yh58">This file type is not supported (raster images, video, or audio).</p>`),lr=N(`<button> </button>`),ur=N(`<p class="empty-manifests svelte-1f5yh58">No manifests available — this asset will be unassigned.</p>`),dr=N(`<div class="manifest-list svelte-1f5yh58"><!></div>`),fr=N(`<p class="hint warn svelte-1f5yh58"> </p>`),pr=N(`<p class="hint warn svelte-1f5yh58">An asset with this id already exists.</p>`),mr=N(`<div class="row svelte-1f5yh58"><span class="label svelte-1f5yh58">Type</span> <div class="segmented svelte-1f5yh58"></div></div> <label class="row svelte-1f5yh58"><span class="label svelte-1f5yh58">Id</span> <input class="control svelte-1f5yh58" type="text" spellcheck="false"/></label> <div class="row manifests svelte-1f5yh58"><span class="label svelte-1f5yh58">Manifests</span> <!></div> <!> <!>`,1),hr=N(`<div class="backdrop svelte-1f5yh58" role="presentation"><div class="dialog svelte-1f5yh58" role="dialog" aria-label="Import asset" tabindex="-1"><h2 class="svelte-1f5yh58">Import asset</h2> <p class="file-name svelte-1f5yh58"> </p> <p class="destination svelte-1f5yh58"> </p> <!> <div class="actions svelte-1f5yh58"><button class="control">Cancel</button> <button class="control primary"> </button></div></div></div>`);function gr(e,c){z(c,!0);let l=b(()=>ie(c.file.name)),d=v(`image`),f=v(`asset`),p=v(o([])),_=v(!1),x=v(null),S=b(()=>W.manifestNames);g(()=>{y(d,ie(c.file.name)[0]??`image`,!0),y(f,se(c.file.name),!0),y(p,i(S).length===0?[]:[i(S).includes(`main`)?`main`:i(S)[0]],!0)});let w=b(()=>W.state?.assets.some(e=>e.id===i(f))??!1),E=b(()=>re(i(f))),k=b(()=>i(E)===null),A=b(()=>i(k)&&!i(w)&&i(l).length>0&&!i(_));function j(e){y(p,i(p).includes(e)?i(p).filter(t=>t!==e):[...i(p),e],!0)}async function M(){if(!i(A))return;let e=i(f),t=i(d),n=[...i(p)];y(_,!0),y(x,null);try{await W.mutate(()=>H(c.file,t,e,c.folder,n)),c.onDone(e)}catch(e){y(x,e instanceof Error?e.message:String(e),!0)}finally{y(_,!1)}}var N=hr(),P=a(N),F=R(a(P),2),I=a(F,!0);C(F);var L=R(F,2),B=a(L);C(L);var V=R(L,2),U=e=>{n(e,cr())},G=e=>{var o=mr(),c=s(o),g=R(a(c),2);m(g,20,()=>i(l),e=>e,(e,o)=>{var s=lr();let c;var l=a(s,!0);C(s),t(()=>{s.disabled=i(_),c=O(s,1,`svelte-1f5yh58`,null,c,{on:i(d)===o}),r(l,o)}),u(`click`,s,()=>y(d,o,!0)),n(e,s)}),C(g),C(c);var v=R(c,2),b=R(a(v),2);T(b),C(v);var D=R(v,2),A=R(a(D),2),M=e=>{n(e,ur())},N=e=>{var t=dr();de(a(t),{get manifests(){return i(S)},get selected(){return i(p)},passive:[],onToggle:j,get disabled(){return i(_)}}),C(t),n(e,t)};h(A,e=>{i(S).length===0?e(M):e(N,-1)}),C(D);var P=R(D,2),F=e=>{var o=fr(),s=a(o,!0);C(o),t(()=>r(s,i(E))),n(e,o)},I=e=>{n(e,pr())};h(P,e=>{i(k)?i(w)&&e(I,1):e(F)});var L=R(P,2),z=e=>{var o=fr(),s=a(o,!0);C(o),t(()=>r(s,i(x))),n(e,o)};h(L,e=>{i(x)&&e(z)}),t(()=>b.disabled=i(_)),ee(b,()=>i(f),e=>y(f,e)),n(e,o)};h(V,e=>{i(l).length===0?e(U):e(G,-1)});var te=R(V,2),K=a(te),ne=R(K,2),q=a(ne,!0);C(ne),C(te),C(P),C(N),t(()=>{r(I,c.file.name),r(B,`Destination: ${(c.folder||`Root`)??``}`),ne.disabled=!i(A),r(q,i(_)?`Importing…`:`Import`)}),u(`click`,N,function(...e){c.onCancel?.apply(this,e)}),u(`click`,P,e=>e.stopPropagation()),u(`keydown`,P,e=>{e.key===`Escape`&&c.onCancel()}),u(`click`,K,function(...e){c.onCancel?.apply(this,e)}),u(`click`,ne,()=>void M()),n(e,N),D()}l([`click`,`keydown`]);function _r(e,t){return e!==t&&!Te(t,e)&&Se(e)!==t}function vr(e,t,n){return e&&t!==null&&_r(t,n)}var yr=e(`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path d="M1.25 4.25A1.75 1.75 0 0 1 3 2.5h2.45c.55 0 1.06.26 1.39.7l.6.8H13a1.75 1.75 0 0 1 1.75 1.75v5.5A1.75 1.75 0 0 1 13 13H3a1.75 1.75 0 0 1-1.75-1.75v-7Z" fill="currentColor"></path><path d="M1.75 6h12.5" stroke="currentColor" stroke-opacity="0.35"></path></svg>`);function br(e,r){let i=A(r,`size`,3,14);var a=yr();t(()=>{P(a,`width`,i()),P(a,`height`,i())}),n(e,a)}var xr=N(`<span class="asset-warning svelte-ftwms1">⚠</span>`),Sr=N(`<div class="asset-row svelte-ftwms1"><button class="row asset current svelte-ftwms1" draggable="true" aria-current="page"><span class="glyph asset-glyph svelte-ftwms1">◆</span> <span class="label svelte-ftwms1"> </span> <!></button></div>`),Cr=N(`<div class="folder-row svelte-ftwms1"><button draggable="true"><span class="glyph svelte-ftwms1"><!></span><span class="label svelte-ftwms1"> </span><span class="count svelte-ftwms1"> </span></button></div> <!>`,1),wr=N(`<p class="dialog-warning svelte-ftwms1"> </p>`),Tr=N(`<p class="dialog-warning svelte-ftwms1">A sibling folder with this name already exists.</p>`),Er=N(`<label class="dialog-row svelte-ftwms1"><span class="svelte-ftwms1">Name</span> <input class="control svelte-ftwms1" spellcheck="false"/></label> <p class="dialog-path svelte-ftwms1"> </p> <!> <!> <!>`,1),Dr=N(`<p class="dialog-text svelte-ftwms1">Delete <strong> </strong> </p> <!> <!>`,1),Or=N(`<aside class="directory svelte-ftwms1" aria-label="Asset folders"><header class="svelte-ftwms1"><strong class="svelte-ftwms1">Folders</strong> <div class="actions svelte-ftwms1"><button class="icon-button svelte-ftwms1">+</button> <button class="icon-button svelte-ftwms1">✎</button> <button class="icon-button danger svelte-ftwms1">×</button></div></header> <div class="tree svelte-ftwms1"><button><span class="glyph svelte-ftwms1">▦</span><span class="label svelte-ftwms1">All Assets</span><span class="count svelte-ftwms1"> </span></button> <button><span class="glyph svelte-ftwms1">⌂</span><span class="label svelte-ftwms1">Root</span><span class="count svelte-ftwms1"> </span></button> <!> <!></div></aside> <!> <!>`,1);function kr(e,o){z(o,!0);let l=A(o,`activeAsset`,3,null),d=A(o,`sharedDraggedFolder`,3,null),p=v(null),_=v(null),x=b(()=>d()??i(_)),w=b(()=>W.state?.library.folders??[]),E=b(()=>W.state?.assets??[]),j=b(()=>[...i(w)].sort((e,t)=>e.localeCompare(t)));function M(e){return i(E).filter(t=>t.folder===e).length}function N(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,r=vr(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,i(x),t);!n&&!r||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),y(p,t,!0))}function F(e,t){e.preventDefault(),y(p,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`)&&o.onMoveAssets(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`)||i(x);r&&_r(r,t)&&L(r,t)}function I(e,t){l()||o.selectedFolder!==null&&Te(o.selectedFolder,e)&&o.onSelect(`${t}${o.selectedFolder.slice(e.length)}`)}async function L(e,t){let n=we(t,Ce(e));try{await W.mutate(()=>U(e,t)),I(e,n)}catch{}finally{y(_,null),o.onFolderDragEnd?.()}}let B=v(null),V=v(``),H=v(null),G=v(null),K=v(``),ne=v(void 0),q=v(!1),re=v(null),ie=b(()=>o.selectedFolder!==null&&o.selectedFolder!==``?o.selectedFolder:null),oe=b(()=>i(K)===``?null:ye(i(K))),J=b(()=>we(i(B)===`rename`?Se(i(H)??``):i(V),i(K).normalize(`NFC`))),Y=b(()=>i(K)!==``&&i(w).some(e=>e!==(i(B)===`rename`?i(H):null)&&xe(e)===xe(i(J)))),X=b(()=>i(K)!==``&&!i(oe)&&!i(Y)&&!i(q));function se(e=o.selectedFolder??``){y(V,e,!0),y(K,``),y(re,null),y(B,`create`),c().then(()=>i(ne)?.focus())}let ce=0;g(()=>{o.createRequest!==null&&o.createRequest.id!==ce&&(ce=o.createRequest.id,se(o.createRequest.parent))});function le(e,t,n=null){e.preventDefault(),e.stopPropagation(),o.onContextMenu(e.clientX,e.clientY,t,n)}function de(e){e!==null&&(y(H,e,!0),y(K,Ce(e),!0),y(re,null),y(B,`rename`),c().then(()=>i(ne)?.focus()))}let fe=0;g(()=>{o.renameRequest!==null&&o.renameRequest.id!==fe&&(fe=o.renameRequest.id,de(o.renameRequest.path))});function pe(e){e!==null&&(y(G,e,!0),y(re,null),y(B,`delete`))}let me=0;g(()=>{o.deleteRequest!==null&&o.deleteRequest.id!==me&&(me=o.deleteRequest.id,pe(o.deleteRequest.path))});function ge(){i(q)||(y(B,null),y(re,null))}async function _e(){if(i(X)){y(q,!0),y(re,null);try{if(i(B)===`create`){let e=i(J);await W.mutate(()=>te(e)),l()||o.onSelect(e)}else if(i(B)===`rename`&&i(H)!==null){let e=i(H),t=i(J);await W.mutate(()=>ae(e,i(K))),I(e,t)}y(B,null)}catch(e){y(re,e instanceof Error?e.message:String(e),!0)}finally{y(q,!1)}}}let ve=b(()=>i(G)===null?[]:i(w).filter(e=>Te(e,i(G)??``))),be=b(()=>i(G)===null?[]:i(E).filter(e=>Te(e.folder,i(G)??``))),Ee=b(()=>new Set(i(be).map(e=>e.id))),De=b(()=>i(be).flatMap(e=>e.references.incoming.filter(e=>!i(Ee).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e.id}`)));async function Oe(){if(i(G)===null)return;let e=i(G),t=Se(e),n=l()!==null&&Te(l().folder,e);y(q,!0),y(re,null);try{await W.mutate(()=>ue(e)),n?o.onActiveAssetDeleted?.(t):!l()&&o.selectedFolder!==null&&Te(o.selectedFolder,e)&&o.onSelect(t),y(B,null)}catch(e){y(re,e instanceof Error?e.message:String(e),!0)}finally{y(q,!1)}}function ke(e){l()&&(e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify([l().id])),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`))}var Ae=Or(),je=s(Ae),Me=a(je),Ne=R(a(Me),2),Pe=a(Ne),Fe=R(Pe,2),Ie=R(Fe,2);C(Ne),C(Me);var Z=R(Me,2),Q=a(Z);let Le;var Re=R(a(Q),2),ze=a(Re,!0);C(Re),C(Q);var $=R(Q,2);let Be;var Ve=R(a($),2),He=a(Ve,!0);C(Ve),C($);var Ue=R($,2),We=e=>{var i=Sr();k(i,``,{},{"--depth":0});var o=a(i),s=R(a(o),2),c=a(s,!0);C(s);var u=R(s,2),d=e=>{var r=xr();t(e=>P(r,`title`,e),[()=>l().warnings.join(`
|
|
105
|
+
`)]),n(e,r)};h(u,e=>{l().warnings.length>0&&e(d)}),C(o),C(i),t(()=>{P(o,`title`,l().id),r(c,l().id)}),f(`dragstart`,o,ke),n(e,i)};h(Ue,e=>{l()?.folder===``&&e(We)}),m(R(Ue,2),16,()=>i(j),e=>e,(e,c)=>{let d=b(()=>c.split(`/`).length-1);var m=Cr(),g=s(m);let v;var x=a(g);let S;var w=a(x);br(a(w),{}),C(w);var T=R(w),E=a(T,!0);C(T);var D=R(T),A=a(D,!0);C(D),C(x),C(g);var j=R(g,2),I=e=>{var o=Sr();let s;var c=a(o),u=R(a(c),2),p=a(u,!0);C(u);var m=R(u,2),g=e=>{var r=xr();t(e=>P(r,`title`,e),[()=>l().warnings.join(`
|
|
106
|
+
`)]),n(e,r)};h(m,e=>{l().warnings.length>0&&e(g)}),C(c),C(o),t(()=>{s=k(o,``,s,{"--depth":i(d)+1}),P(c,`title`,l().id),r(p,l().id)}),f(`dragstart`,c,ke),n(e,o)};h(j,e=>{l()?.folder===c&&e(I)}),t((e,t)=>{v=k(g,``,v,{"--depth":i(d)}),S=O(x,1,`row folder svelte-ftwms1`,null,S,{selected:!l()&&o.selectedFolder===c,"drop-target":i(p)===c}),P(T,`title`,c),r(E,e),r(A,t)},[()=>Ce(c),()=>M(c)]),u(`click`,x,()=>o.onSelect(c)),u(`contextmenu`,x,e=>le(e,c,c)),f(`dragstart`,x,e=>{y(_,c,!0),o.onFolderDragStart?.(c),e.dataTransfer?.setData(`application/x-fundus-folder`,c),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),f(`dragend`,x,()=>{y(_,null),o.onFolderDragEnd?.(),y(p,null)}),f(`dragover`,x,e=>N(e,c)),f(`dragleave`,x,()=>y(p,null)),f(`drop`,x,e=>F(e,c)),n(e,m)}),C(Z),C(je);var Ge=R(je,2),Ke=e=>{{let o=b(()=>i(B)===`create`?`Create folder`:`Rename folder`),c=b(()=>i(q)?`Saving…`:i(B)===`create`?`Create`:`Rename`),l=b(()=>!i(X));he(e,{get title(){return i(o)},get confirmLabel(){return i(c)},get confirmDisabled(){return i(l)},get busy(){return i(q)},onConfirm:()=>void _e(),onCancel:ge,children:(e,o)=>{var c=Er(),l=s(c),d=R(a(l),2);T(d),S(d,e=>y(ne,e),()=>i(ne)),C(l);var f=R(l,2),p=a(f,!0);C(f);var m=R(f,2),g=e=>{var o=wr(),s=a(o,!0);C(o),t(()=>r(s,i(oe))),n(e,o)};h(m,e=>{i(oe)&&e(g)});var _=R(m,2),v=e=>{n(e,Tr())};h(_,e=>{i(Y)&&e(v)});var b=R(_,2),x=e=>{var o=wr(),s=a(o,!0);C(o),t(()=>r(s,i(re))),n(e,o)};h(b,e=>{i(re)&&e(x)}),t(()=>{d.disabled=i(q),r(p,i(J)||`Root`)}),u(`keydown`,d,e=>e.key===`Enter`&&void _e()),ee(d,()=>i(K),e=>y(K,e)),n(e,c)},$$slots:{default:!0}})}};h(Ge,e=>{(i(B)===`create`||i(B)===`rename`)&&e(Ke)});var qe=R(Ge,2),Je=e=>{{let o=b(()=>i(q)?`Deleting…`:`Delete recursively`);he(e,{title:`Delete folder`,get confirmLabel(){return i(o)},danger:!0,get busy(){return i(q)},onConfirm:()=>void Oe(),onCancel:ge,children:(e,o)=>{var c=Dr(),l=s(c),u=R(a(l)),d=a(u,!0);C(u);var f=R(u);C(l);var p=R(l,2),m=e=>{var o=wr(),s=a(o);C(o),t(e=>r(s,`This leaves ${i(De).length??``} external reference(s) dangling:
|
|
107
|
+
${e??``}`),[()=>i(De).join(`, `)]),n(e,o)};h(p,e=>{i(De).length>0&&e(m)});var g=R(p,2),_=e=>{var o=wr(),s=a(o,!0);C(o),t(()=>r(s,i(re))),n(e,o)};h(g,e=>{i(re)&&e(_)}),t(()=>{r(d,i(G)),r(f,`, ${i(ve).length-1} descendant folder(s),
|
|
108
|
+
and ${i(be).length??``} asset(s)? Raw and proxy files are removed.`)}),n(e,c)},$$slots:{default:!0}})}};h(qe,e=>{i(B)===`delete`&&i(G)!==null&&e(Je)}),t(e=>{P(Pe,`title`,l()?`Create folder beside the current asset`:`Create child folder`),P(Fe,`title`,l()?`Rename the current asset folder`:`Rename selected folder`),Fe.disabled=i(ie)===null,P(Ie,`title`,l()?`Delete the current asset folder`:`Delete selected folder`),Ie.disabled=i(ie)===null,Le=O(Q,1,`row special svelte-ftwms1`,null,Le,{selected:!l()&&o.selectedFolder===null}),r(ze,i(E).length),Be=O($,1,`row special svelte-ftwms1`,null,Be,{selected:!l()&&o.selectedFolder===``,"drop-target":i(p)===``}),r(He,e)},[()=>M(``)]),u(`contextmenu`,je,e=>le(e,``)),u(`click`,Pe,()=>se()),u(`click`,Fe,()=>de(i(ie))),u(`click`,Ie,()=>pe(i(ie))),u(`click`,Q,()=>o.onSelect(null)),u(`click`,$,()=>o.onSelect(``)),f(`dragover`,$,e=>N(e,``)),f(`dragleave`,$,()=>y(p,null)),f(`drop`,$,e=>F(e,``)),n(e,Ae),D()}l([`contextmenu`,`click`,`keydown`]);var Ar=N(`<button role="menuitem" class="svelte-10jgqdh">Rename</button>`),jr=N(`<button class="danger svelte-10jgqdh" role="menuitem">Delete Directory</button>`),Mr=N(`<div class="context-menu svelte-10jgqdh" role="menu" aria-label="Library actions" tabindex="-1"><button role="menuitem" class="svelte-10jgqdh">New Directory</button> <!> <button role="menuitem" class="svelte-10jgqdh">Import File</button> <!></div>`);function Nr(e,r){z(r,!0);let o=b(()=>Math.max(8,Math.min(r.x,window.innerWidth-176))),s=b(()=>2+ +!!r.onRenameDirectory+ +!!r.onDeleteDirectory),c=b(()=>Math.max(8,Math.min(r.y,window.innerHeight-(i(s)*32+8))));function l(e){e(),r.onClose()}var d=Mr();f(`click`,_,function(...e){r.onClose?.apply(this,e)}),f(`blur`,_,function(...e){r.onClose?.apply(this,e)}),f(`keydown`,_,e=>e.key===`Escape`&&r.onClose()),f(`resize`,_,function(...e){r.onClose?.apply(this,e)}),f(`scroll`,_,function(...e){r.onClose?.apply(this,e)});let p;var m=a(d),g=R(m,2),v=e=>{var t=Ar();u(`click`,t,()=>l(r.onRenameDirectory)),n(e,t)};h(g,e=>{r.onRenameDirectory&&e(v)});var y=R(g,2),x=R(y,2),S=e=>{var t=jr();u(`click`,t,()=>l(r.onDeleteDirectory)),n(e,t)};h(x,e=>{r.onDeleteDirectory&&e(S)}),C(d),t(()=>p=k(d,``,p,{left:`${i(o)}px`,top:`${i(c)}px`})),u(`contextmenu`,d,e=>e.preventDefault()),u(`click`,m,()=>l(r.onNewDirectory)),u(`click`,y,()=>l(r.onImportFile)),n(e,d),D()}l([`contextmenu`,`click`]);export{_r as a,ut as c,we as d,Se as f,vr as i,Ce as l,kr as n,gr as o,br as r,sr as s,Nr as t,Te as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,D as t,E as n,G as r,M as i,N as a,at as o,b as s,et as c,g as l,i as u,k as d,l as f,q as p,tt as m}from"./D65cSBhe.js";import"./xihTtKlq.js";function h(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} kB`:`${(e/(1024*1024)).toFixed(2)} MB`}function g(e){return`${(e/1e3).toFixed(2)} s`}function _(e,t){let{maxWidth:n,...r}=e;return t===null||!Number.isFinite(t)||t<=0?r:{...r,maxWidth:Math.round(t)}}var v=d(`<div class="backdrop svelte-oozc38" role="presentation"><div class="dialog svelte-oozc38" role="dialog" tabindex="-1"><h2 class="svelte-oozc38"> </h2> <!> <div class="actions svelte-oozc38"><button class="control">Cancel</button> <button> </button></div></div></div>`);function y(i,d){m(d,!0);let h=u(d,`danger`,3,!1),g=u(d,`confirmDisabled`,3,!1),_=u(d,`busy`,3,!1);var y=v(),b=r(y),x=r(b),S=r(x,!0);o(x);var C=p(x,2);s(C,()=>d.children);var w=p(C,2),T=r(w),E=p(T,2);let D;var O=r(E,!0);o(E),o(w),o(b),o(y),e(()=>{f(b,`aria-label`,d.title),n(S,d.title),T.disabled=_(),D=l(E,1,`control`,null,D,{primary:!h(),danger:h()}),E.disabled=g()||_(),n(O,d.confirmLabel)}),a(`click`,y,()=>_()?void 0:d.onCancel()),a(`click`,b,e=>e.stopPropagation()),a(`keydown`,b,e=>{e.key===`Escape`&&!_()&&d.onCancel()}),a(`click`,T,function(...e){d.onCancel?.apply(this,e)}),a(`click`,E,function(...e){d.onConfirm?.apply(this,e)}),t(i,y),c()}i([`click`,`keydown`]);export{_ as i,h as n,g as r,y as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.QeXQNCp2.js","../chunks/D65cSBhe.js","../chunks/C8W3KwDq.js","../chunks/xihTtKlq.js","../chunks/ByVSyIj7.js","../chunks/BAEZPv6c.js","../chunks/CP-bnOxU.js","../assets/ManifestSelector.Il8p28r8.css","../assets/0.inkPq3ni.css","../nodes/1.dMklHTc2.js","../nodes/2.CW4VMcIP.js","../chunks/Db8LRH6X.js","../chunks/TZFh8bT7.js","../assets/ConfirmDialog.BdKlitwi.css","../assets/LibraryContextMenu.BYvU4SY7.css","../assets/2.ohi-TClG.css","../nodes/3.CTiY_pbK.js","../assets/3.ChSpCG-T.css","../nodes/4.Dgxx52FJ.js","../assets/4.p004hmEN.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{B as e,D as t,E as n,F as r,G as i,H as a,K as o,L as s,O as c,T as l,V as u,X as d,Y as f,Z as p,a as m,at as h,et as g,i as _,j as v,k as y,n as b,q as x,r as S,tt as C,y as w}from"../chunks/D65cSBhe.js";import"../chunks/xihTtKlq.js";var T=`modulepreload`,E=function(e,t){return new URL(e,t).href},D={},O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=E(t,n),t=s(t),t in D)return;D[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:T,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},k={},A=y(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),j=y(`<!> <!>`,1);function M(y,S){C(S,!0);let T=_(S,`components`,23,()=>[]),E=_(S,`data_0`,3,null),D=_(S,`data_1`,3,null);a(()=>S.stores.page.set(S.page)),u(()=>{S.stores,S.page,S.constructors,T(),S.form,E(),D(),S.stores.page.notify()});let O=d(!1),k=d(!1),M=d(null);b(()=>{let e=S.stores.page.subscribe(()=>{r(O)&&(f(k,!0),s().then(()=>{f(M,document.title||`untitled page`,!0)}))});return f(O,!0),e});let N=p(()=>S.constructors[1]);var P=j(),F=o(P),I=e=>{let n=p(()=>S.constructors[0]);var i=c();w(o(i),()=>r(n),(e,n)=>{m(n(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params},children:(e,n)=>{var i=c();w(o(i),()=>r(N),(e,t)=>{m(t(e,{get data(){return D()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),t(e,i)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,i)},L=e=>{let n=p(()=>S.constructors[0]);var i=c();w(o(i),()=>r(n),(e,t)=>{m(t(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),t(e,i)};l(F,e=>{S.constructors[1]?e(I):e(L,-1)});var R=x(F,2),z=a=>{var o=A(),s=i(o),c=i=>{var a=v();e(()=>n(a,r(M))),t(i,a)};l(s,e=>{r(k)&&e(c)}),h(o),t(a,o)};l(R,e=>{r(O)&&e(z)}),t(y,P),g()}var N=S(M),P=[()=>O(()=>import(`../nodes/0.QeXQNCp2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>O(()=>import(`../nodes/1.dMklHTc2.js`),__vite__mapDeps([9,1,3,4,2]),import.meta.url),()=>O(()=>import(`../nodes/2.CW4VMcIP.js`),__vite__mapDeps([10,1,2,3,5,11,6,7,12,13,14,15]),import.meta.url),()=>O(()=>import(`../nodes/3.CTiY_pbK.js`),__vite__mapDeps([16,1,2,3,4,5,11,6,7,12,13,14,17]),import.meta.url),()=>O(()=>import(`../nodes/4.Dgxx52FJ.js`),__vite__mapDeps([18,1,2,3,5,12,13,19]),import.meta.url)],F=[],I={"/":[2],"/asset/[id]":[3],"/manifests":[4]},L={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},R=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.decode])),z=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.encode])),B=!1,V=(e,t)=>R[e](t),H=()=>O(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{V as decode,R as decoders,I as dictionary,z as encoders,H as get_error_template,B as hash,L as hooks,k as matchers,P as nodes,N as root,F as server_loads};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,s as t}from"../chunks/C8W3KwDq.js";export{t as load_css,e as start};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{B as e,C as t,D as n,E as r,F as i,G as a,J as o,K as s,M as c,N as l,O as u,S as d,T as f,U as p,V as m,X as h,Y as g,Z as _,at as v,b as y,c as b,et as x,f as S,g as C,it as w,k as T,l as E,n as D,ot as O,q as k,s as A,tt as j,v as M,z as N}from"../chunks/D65cSBhe.js";import{c as P}from"../chunks/C8W3KwDq.js";import"../chunks/xihTtKlq.js";import{t as F}from"../chunks/ByVSyIj7.js";import{E as I,_ as L,h as R,v as z,y as B}from"../chunks/BAEZPv6c.js";import{t as V}from"../chunks/CP-bnOxU.js";var H=O({ssr:()=>!1});function U(e,t){return R(e)??(t.has(e)?`An asset with id "${e}" already exists.`:null)}function W(e,t,n=[]){let r=e;for(let i of t)i.kind===`unsupported`||Object.hasOwn(e,i.token)||(r===e&&(r={...e}),r[i.token]={id:i.kind===`new`?i.proposedId:i.assetId,type:i.kind===`new`?i.compatibleTypes[0]??``:i.compatibleTypes.includes(i.currentType)?i.currentType:``,manifests:i.kind===`new`&&n.length>0?[n.includes(`main`)?`main`:n[0]]:[],error:null,busy:!1});return r}var G=T(`<h2 class="svelte-1rcmmyd"> </h2>`),K=T(`<p class="error blocker-reason svelte-1rcmmyd"> </p>`),q=T(`<option> </option>`),J=T(`<p class="svelte-1rcmmyd">No manifests available — this asset will be unassigned.</p>`),Y=T(`<div class="manifest-list svelte-1rcmmyd"><!></div>`),X=T(`<p class="error svelte-1rcmmyd"> </p>`),Z=T(`<div class="form-controls new-form svelte-1rcmmyd"><label class="svelte-1rcmmyd"><span>Asset id</span> <input spellcheck="false" class="svelte-1rcmmyd"/></label> <label class="svelte-1rcmmyd"><span>Asset type</span> <select class="svelte-1rcmmyd"></select></label> <div class="manifest-row svelte-1rcmmyd"><span class="svelte-1rcmmyd">Manifests</span> <!></div> <div class="actions svelte-1rcmmyd"><button class="svelte-1rcmmyd">Import</button></div></div> <!>`,1),Q=T(`<option>Choose a compatible type</option>`),$=T(`<button class="secondary svelte-1rcmmyd">Apply</button>`),ee=T(`<p class="raw svelte-1rcmmyd"> </p> <div class="form-controls edited-form svelte-1rcmmyd"><label class="svelte-1rcmmyd"><span>Asset type</span> <select class="svelte-1rcmmyd"><!><!></select></label> <div class="actions svelte-1rcmmyd"><button class="svelte-1rcmmyd">Reimport</button> <!></div></div>`,1),te=T(`<!> <!>`,1),ne=T(`<article class="item svelte-1rcmmyd"><div class="identity svelte-1rcmmyd"><span> </span> <!></div> <!> <!></article>`),re=T(`<section class="queue svelte-1rcmmyd" aria-label="Raw file ingestion queue"><div class="heading svelte-1rcmmyd"><strong>External raw files</strong> <span class="svelte-1rcmmyd"> </span></div> <div class="items svelte-1rcmmyd"></div></section>`);function ie(c,p){j(p,!0);let y=h(o({})),w=_(()=>L.state?.rawIngestionQueue??[]),T=_(()=>new Set(L.state?.assets.map(e=>e.id)??[])),D=_(()=>L.manifestNames);m(()=>{g(y,W(i(y),i(w),i(D)),!0)});function O(e,t){e.manifests=e.manifests.includes(t)?e.manifests.filter(e=>e!==t):[...e.manifests,t]}async function M(e){let t=i(y)[e.token];if(t){t.busy=!0,t.error=null;try{e.kind===`new`?await L.mutate(()=>B(e.token,t.id,t.type,t.manifests)):await L.mutate(()=>z(e.token,t.type))}catch(e){t.error=e instanceof Error?e.message:String(e),await L.refresh()}finally{t.busy=!1}}}async function N(e){let t=i(y)[e];if(t){t.busy=!0,t.error=null;try{await L.mutate(()=>I(e))}catch(e){t.error=e instanceof Error?e.message:String(e),await L.refresh()}finally{t.busy=!1}}}var P=u(),F=s(P),R=o=>{var c=re(),u=a(c),p=k(a(u),2),m=a(p);v(p),v(u);var h=k(u,2);d(h,21,()=>i(w),e=>e.token,(o,c)=>{var u=ne(),p=a(u),m=a(p);let h;var g=a(m,!0);v(m);var x=k(m,2),w=t=>{var o=G(),s=a(o,!0);v(o),e(()=>r(s,i(c).path)),n(t,o)},j=t=>{var o=G(),s=a(o,!0);v(o),e(()=>r(s,i(c).assetId)),n(t,o)};f(x,e=>{i(c).kind===`new`||i(c).kind===`unsupported`?e(w):e(j,-1)}),v(p);var P=k(p,2),F=t=>{var o=K(),s=a(o,!0);v(o),e(()=>r(s,i(c).reason)),n(t,o)};f(P,e=>{i(c).kind===`unsupported`&&e(F)});var I=k(P,2),L=o=>{let u=_(()=>i(y)[i(c).token]);var p=te(),m=s(p),h=o=>{var p=Z(),m=s(p),h=a(m),g=k(a(h),2);b(g),v(h);var y=k(h,2),x=k(a(y),2);d(x,21,()=>i(c).compatibleTypes,t,(t,o)=>{var s=q(),c=a(s,!0);v(s);var l={};e(()=>{r(c,i(o)),l!==(l=i(o))&&(s.value=(s.__value=i(o))??``)}),n(t,s)}),v(x),v(y);var C=k(y,2),w=k(a(C),2),j=e=>{n(e,J())},N=e=>{var t=Y();V(a(t),{get manifests(){return i(D)},get selected(){return i(u).manifests},passive:[],onToggle:e=>O(i(u),e),get disabled(){return i(u).busy}}),v(t),n(e,t)};f(w,e=>{i(D).length===0?e(j):e(N,-1)}),v(C);var P=k(C,2),F=a(P);v(P),v(m);var I=k(m,2),L=t=>{var o=X(),s=a(o,!0);v(o),e(e=>r(s,e),[()=>U(i(u).id,i(T))]),n(t,o)},R=_(()=>U(i(u).id,i(T)));f(I,e=>{i(R)&&e(L)}),e((e,t)=>{E(g,`aria-invalid`,e),F.disabled=t},[()=>U(i(u).id,i(T))!==null,()=>i(u).busy||i(u).type===``||U(i(u).id,i(T))!==null]),A(g,()=>i(u).id,e=>i(u).id=e),S(x,()=>i(u).type,e=>i(u).type=e),l(`click`,F,()=>M(i(c))),n(o,p)},g=o=>{var p=ee(),m=s(p),h=a(m,!0);v(m);var g=k(m,2),y=a(g),b=k(a(y),2),x=a(b),C=e=>{var t=Q();t.value=t.__value=``,n(e,t)};f(x,e=>{i(u).type===``&&e(C)}),d(k(x),17,()=>i(c).compatibleTypes,t,(t,o)=>{var s=q(),c=a(s,!0);v(s);var l={};e(()=>{r(c,i(o)),l!==(l=i(o))&&(s.value=(s.__value=i(o))??``)}),n(t,s)}),v(b),v(y);var w=k(y,2),T=a(w),E=k(T,2),D=t=>{var r=$();e(()=>r.disabled=i(u).busy),l(`click`,r,()=>N(i(c).token)),n(t,r)},O=_(()=>i(c).compatibleTypes.includes(i(c).currentType));f(E,e=>{i(O)&&e(D)}),v(w),v(g),e(()=>{r(h,i(c).path),T.disabled=i(u).busy||i(u).type===``}),S(b,()=>i(u).type,e=>i(u).type=e),l(`click`,T,()=>M(i(c))),n(o,p)};f(m,e=>{i(c).kind===`new`?e(h):e(g,-1)});var x=k(m,2),C=t=>{var o=X(),s=a(o,!0);v(o),e(()=>r(s,i(u).error)),n(t,o)};f(x,e=>{i(u).error&&e(C)}),n(o,p)};f(I,e=>{i(c).kind!==`unsupported`&&i(y)[i(c).token]&&e(L)}),v(u),e(()=>{h=C(m,1,`svelte-1rcmmyd`,null,h,{edited:i(c).kind===`edited`,unsupported:i(c).kind===`unsupported`}),r(g,i(c).kind===`new`?`New`:i(c).kind===`edited`?`Edited`:`Unsupported`)}),n(o,u)}),v(h),v(c),e(()=>r(m,`${i(w).length??``} item${i(w).length===1?``:`s`} need${i(w).length===1?`s`:``} attention`)),n(o,c)};f(F,e=>{i(w).length>0&&e(R)}),n(c,P),x()}c([`click`]);var ae=T(`<span class="dot bad svelte-12qhfyh"></span> <span class="status-text error svelte-12qhfyh">Error</span>`,1),oe=T(`<span class="dot saving svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Saving…</span>`,1),se=T(`<span class="dot ok svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Saved ✓</span>`,1),ce=T(`<span class="dot svelte-12qhfyh"></span> <span class="status-text svelte-12qhfyh">Loading…</span>`,1),le=T(`<div class="notice svelte-12qhfyh"> <code class="svelte-12qhfyh">npx fundus start</code> in the host project.</div>`),ue=T(`<span class="svelte-12qhfyh"> </span>`),de=T(`<div class="issue-banner svelte-12qhfyh" role="alert"></div>`),fe=T(`<!> <!> <!>`,1),pe=T(`<div class="shell svelte-12qhfyh"><header class="topbar svelte-12qhfyh"><a class="brand svelte-12qhfyh"><span class="logo svelte-12qhfyh">◆</span> Fundus</a> <nav class="svelte-12qhfyh"><a>Library</a> <a>Manifests</a></nav> <div class="status svelte-12qhfyh"><!></div></header> <!></div>`);function me(t,o){j(o,!0),D(()=>{let e=()=>void L.reconcile();return L.reconcile(),window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)});let c=_(()=>F.url.pathname===`/`||F.url.pathname.startsWith(`/asset`)),l=_(()=>F.url.pathname.startsWith(`/manifests`)),u=_(()=>L.error??(L.generalIssues.length>0?L.generalIssues.join(`
|
|
2
|
+
`):null));var m=pe();M(`12qhfyh`,e=>{N(()=>{p.title=`Fundus`})});var h=a(m),g=a(h),b=k(g,2),S=a(b);let T;var O=k(S,2);let A;v(b);var I=k(b,2),R=a(I),z=t=>{var r=ae(),a=k(s(r),2);e(()=>E(a,`title`,i(u))),n(t,r)},B=e=>{var t=oe();w(2),n(e,t)},V=e=>{var t=se();w(2),n(e,t)},H=e=>{var t=ce();w(2),n(e,t)};f(R,e=>{i(u)?e(z):L.saving?e(B,1):L.loaded?e(V,2):e(H,-1)}),v(I),v(h);var U=k(h,2),W=t=>{var i=le(),o=a(i);w(2),v(i),e(()=>r(o,`Could not reach the Fundus server (${L.error??``}). Start it with `)),n(t,i)},G=t=>{var i=fe(),c=s(i);ie(c,{});var l=k(c,2),u=t=>{var i=de();d(i,20,()=>L.generalIssues,e=>e,(t,i)=>{var o=ue(),s=a(o,!0);v(o),e(()=>r(s,i)),n(t,o)}),v(i),n(t,i)};f(l,e=>{L.generalIssues.length>0&&e(u)}),y(k(l,2),()=>o.children),n(t,i)};f(U,e=>{L.error&&!L.state?e(W):e(G,-1)}),v(m),e((e,t,n)=>{E(g,`href`,e),E(S,`href`,t),T=C(S,1,`svelte-12qhfyh`,null,T,{active:i(c)}),E(O,`href`,n),A=C(O,1,`svelte-12qhfyh`,null,A,{active:i(l)})},[()=>P(`/`),()=>P(`/`),()=>P(`/manifests`)]),n(t,m),x()}export{me as component,H as universal};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,D as t,E as n,G as r,K as i,at as a,et as o,k as s,q as c,tt as l}from"../chunks/D65cSBhe.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/ByVSyIj7.js";var d=s(`<h1> </h1> <p> </p>`,1);function f(s,f){l(f,!0);var p=d(),m=i(p),h=r(m,!0);a(m);var g=c(m,2),_=r(g,!0);a(g),e(()=>{n(h,u.status),n(_,u.error?.message)}),t(s,p),o()}export{f as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{B as e,D as t,E as n,F as r,G as i,J as a,K as o,L as s,M as c,N as l,O as u,P as d,S as f,T as p,V as m,W as h,X as g,Y as _,Z as v,a as y,at as b,c as x,et as S,f as C,g as w,h as T,i as E,it as ee,j as te,k as D,l as ne,o as re,q as O,s as ie,tt as ae,u as oe,y as se}from"../chunks/D65cSBhe.js";import{c as ce,t as le}from"../chunks/C8W3KwDq.js";import"../chunks/xihTtKlq.js";import{C as ue,D as de,O as fe,_ as k,h as pe,k as me,t as he}from"../chunks/BAEZPv6c.js";import{a as ge,c as _e,d as ve,f as ye,i as be,l as xe,n as Se,o as Ce,r as we,s as Te,t as Ee,u as De}from"../chunks/Db8LRH6X.js";import{t as Oe}from"../chunks/TZFh8bT7.js";function A(e){return Array.isArray?Array.isArray(e):Ne(e)===`[object Array]`}function ke(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 Ae(e){return e==null?``:ke(e)}function j(e){return typeof e==`string`}function M(e){return typeof e==`number`}function je(e){return e===!0||e===!1||Me(e)&&Ne(e)==`[object Boolean]`}function N(e){return typeof e==`object`}function Me(e){return N(e)&&e!==null}function P(e){return e!=null}function F(e){return!e.trim().length}function Ne(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var I=`Incorrect 'index' type`,L=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,R=e=>`Invalid value for key ${e}`,z=e=>`Pattern length exceeds max of ${e}.`,Pe=e=>`Missing ${e} property in key`,B=e=>`Property 'weight' in key '${e}' must be a positive integer`,V=`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.`,H=Object.prototype.hasOwnProperty,U=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=W(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 W(e){let t=null,n=null,r=null,i=1,a=null;if(j(e)||A(e))r=e,t=Fe(e),n=G(e);else{if(!H.call(e,`name`))throw Error(Pe(`name`));let o=e.name;if(r=o,H.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(B(G(o)));t=Fe(o),n=G(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Fe(e){return A(e)?e:e.split(`.`)}function G(e){return A(e)?e.join(`.`):e}function Ie(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(P(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!P(s))return;if(a===t.length-1&&(j(s)||M(s)||je(s)||typeof s==`bigint`))n.push(o===void 0?Ae(s):{v:Ae(s),i:o});else if(A(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,j(t)?t.split(`.`):t,0),r?n:n[0]}var Le={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Re={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},ze={location:0,threshold:.6,distance:100},K={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:Ie,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},q=Object.freeze({...Re,...Le,...ze,...K});function Be(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 J=class{constructor({getFn:e=q.getFn,fieldNormWeight:t=q.fieldNormWeight}={}){this.norm=Be(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(j(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(L);if(j(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(L);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!P(e)||F(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(P(i)){if(A(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(P(n)){if(j(n)){if(!F(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(P(n.v)){let t=j(n.v)?n.v:Ae(n.v);if(!F(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(j(i)&&!F(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 Ve(e,t,{getFn:n=q.getFn,fieldNormWeight:r=q.fieldNormWeight}={}){let i=new J({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(W)),i.setSources(t),i.create(),i}function He(e,{getFn:t=q.getFn,fieldNormWeight:n=q.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new J({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Y(e=[],t=q.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 Ue(e,t,n,{location:r=q.location,distance:i=q.distance,threshold:a=q.threshold,findAllMatches:o=q.findAllMatches,minMatchCharLength:s=q.minMatchCharLength,includeMatches:c=q.includeMatches,ignoreLocation:l=q.ignoreLocation}={}){if(t.length>32)throw Error(z(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,C=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=Y(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function We(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 Ge(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 Ke={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},qe=RegExp(`[`+Object.keys(Ke).join(``)+`]`,`g`),X=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(qe,e=>Ke[e]):e=>e,Je=class{constructor(e,{location:t=q.location,threshold:n=q.threshold,distance:r=q.distance,includeMatches:i=q.includeMatches,findAllMatches:a=q.findAllMatches,minMatchCharLength:o=q.minMatchCharLength,isCaseSensitive:s=q.isCaseSensitive,ignoreDiacritics:c=q.ignoreDiacritics,ignoreLocation:l=q.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?X(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:We(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?X(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}=Ue(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=Ge(u)),p}},Ye=new Set([`fuzzy`,`include`]);function Xe(e){return e.startsWith(`inverse`)}var Z=[{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 Je(e,{location:t.location??q.location,threshold:t.threshold??q.threshold,distance:t.distance??q.distance,includeMatches:t.includeMatches??q.includeMatches,findAllMatches:t.findAllMatches??q.findAllMatches,minMatchCharLength:t.minMatchCharLength??q.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??q.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??q.ignoreDiacritics,ignoreLocation:t.ignoreLocation??q.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],Ze=Z.length,Qe=`\0`,$e=`|`;function et(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 tt(e,t){let n=e.match(t);return n?n[1]:null}function nt(e,t={}){return e.replace(/\\\|/g,Qe).split($e).map(e=>{let n=et(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<Ze;){let e=Z[o],n=tt(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Ze;){let e=Z[o],n=tt(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var rt=class{constructor(e,{isCaseSensitive:t=q.isCaseSensitive,ignoreDiacritics:n=q.ignoreDiacritics,includeMatches:r=q.includeMatches,minMatchCharLength:i=q.minMatchCharLength,ignoreLocation:a=q.ignoreLocation,findAllMatches:o=q.findAllMatches,location:s=q.location,threshold:c=q.threshold,distance:l=q.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?X(e):e,this.pattern=e,this.query=nt(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?X(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,Xe(r.type)&&(c=!0),n&&(Ye.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=Ge(o)),e}}return{isMatch:!1,score:1}}},it=[];function at(...e){it.push(...e)}function ot(e,t){for(let n=0,r=it.length;n<r;n+=1){let r=it[n];if(r.condition(e,t))return new r(e,t)}return new Je(e,t)}var Q={AND:`$and`,OR:`$or`},st={PATH:`$path`,PATTERN:`$val`},ct=e=>!!(e[Q.AND]||e[Q.OR]),lt=e=>!!e[st.PATH],ut=e=>!A(e)&&N(e)&&!ct(e),dt=e=>({[Q.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function ft(e,t,{auto:n=!0}={}){let r=e=>{if(j(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=ot(e,t)),r}let i=Object.keys(e),a=lt(e);if(!a&&i.length>1&&!ct(e))return r(dt(e));if(ut(e)){let r=a?e[st.PATH]:i[0],o=a?e[st.PATTERN]:e[r];if(!j(o))throw Error(R(r));let s={keyId:G(r),pattern:o};return n&&(s.searcher=ot(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];A(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return ct(e)||(e=dt(e)),r(e)}function pt(e,{ignoreFieldNorm:t=q.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 mt(e,{ignoreFieldNorm:t=q.ignoreFieldNorm}){e.forEach(e=>{e.score=pt(e.matches,{ignoreFieldNorm:t})})}var ht=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 gt(e){let t=[];return e.matches.forEach(e=>{if(!P(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 _t(e,t,{includeMatches:n=q.includeMatches,includeScore:r=q.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=gt(e)),r&&(a.score=e.score),a})}var vt=/[\p{L}\p{M}\p{N}_]+/gu,yt=new WeakSet;function bt(e){yt.has(e)||(yt.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 xt(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||bt(e),t=>t.match(e)||[]):e=>e.match(vt)||[]}function St({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=xt(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=X(n)),r(n)}}}var Ct=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=St({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 Je(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=Ge(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function wt(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 Tt(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){wt(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)wt(e,t.v,i,r);else wt(e,n.v,i,r)}}function Et(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)Tt(r,i,t,n);return r}function Dt(e,t,n,r){Tt(e,t,n,r)}function Ot(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 kt(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)Ot(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={...q,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new U(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=ot(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 J))throw Error(I);if(this._myIndex=t||Ve(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=St({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=Et(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!P(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=St({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});Dt(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&&kt(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(L);this._invertedIndex&&kt(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(j(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return M(n)&&n>-1&&(e=e.slice(0,n)),e}let c=M(n)&&n>0&&j(e),l;if(c){let t=new ht(n);j(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=j(e)?j(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),mt(l,{ignoreFieldNorm:s}),a&&l.sort(o),M(n)&&n>-1&&(l=l.slice(0,n));return _t(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(!P(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=pt(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=ft(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===Q.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(P(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(!P(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=pt(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!P(t))return[];let r=[];if(A(t))t.forEach(({v:t,i,n:a})=>{if(!P(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=Ve,$.parseIndex=He,$.config=q,$.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(V);return ot(e,{...q,...n}).searchIn(t)},$.parseQuery=ft,at(rt),at(Ct),$.use=function(...e){e.forEach(e=>at(e))};var At=$,jt=D(`<button role="menuitem" class="svelte-109nkvw">Rename…</button>`),Mt=D(`<div class="context-menu svelte-109nkvw" role="menu" aria-label="Asset actions" tabindex="-1"><!> <button class="danger svelte-109nkvw" role="menuitem"> </button></div>`);function Nt(a,o){ae(o,!0);let s=v(()=>Math.max(8,Math.min(o.x,window.innerWidth-176))),c=v(()=>o.onRename?2:1),u=v(()=>Math.max(8,Math.min(o.y,window.innerHeight-(r(c)*32+8))));function f(e){e(),o.onClose()}var m=Mt();d(`click`,h,function(...e){o.onClose?.apply(this,e)}),d(`blur`,h,function(...e){o.onClose?.apply(this,e)}),d(`keydown`,h,e=>e.key===`Escape`&&o.onClose()),d(`resize`,h,function(...e){o.onClose?.apply(this,e)}),d(`scroll`,h,function(...e){o.onClose?.apply(this,e)});let g;var _=i(m),y=e=>{var n=jt();l(`click`,n,()=>f(o.onRename)),t(e,n)};p(_,e=>{o.onRename&&e(y)});var x=O(_,2),C=i(x,!0);b(x),b(m),e(()=>{g=T(m,``,g,{left:`${r(s)}px`,top:`${r(u)}px`}),n(C,o.assetCount===1?`Delete Asset`:`Delete ${o.assetCount} Assets`)}),l(`contextmenu`,m,e=>e.preventDefault()),l(`click`,x,()=>f(o.onDelete)),t(a,m),S()}c([`contextmenu`,`click`]);var Pt=D(`<span class="emoji svelte-1b4m5oj"> </span>`),Ft=D(`<span><!> <span class="name svelte-1b4m5oj"> </span></span>`);function It(a,o){ae(o,!0);let s=E(o,`variant`,3,`chip`),c=E(o,`passive`,3,!1),l=E(o,`via`,19,()=>[]),u=v(()=>k.manifestAppearance(o.name)),d=v(()=>r(u).color??`var(--accent)`),f=v(()=>c()?`${o.name} — passive member${l().length>0?`, via ${l().join(`, `)}`:``}`:o.name);var m=Ft();let h;var g=i(m),_=a=>{var o=Pt(),s=i(o,!0);b(o),e(()=>n(s,r(u).emoji)),t(a,o)};p(g,e=>{r(u).emoji&&e(_)});var y=O(g,2),x=i(y,!0);b(y),b(m),e(()=>{h=w(m,1,`manifest-label ${s()??``}`,`svelte-1b4m5oj`,h,{passive:c()}),T(m,`--manifest-color: ${r(d)??``}`),ne(m,`title`,r(f)),n(x,o.name)}),t(a,m),S()}var Lt=D(`<span class="selection-summary svelte-1uha8ag"> </span> <button class="control">Select all shown</button> <button class="control">Clear</button>`,1),Rt=D(`<button class="control">Select All</button>`),zt=D(`<option> </option>`),Bt=D(`<div class="empty svelte-1uha8ag">Loading library…</div>`),Vt=D(`<div class="empty svelte-1uha8ag"> </div>`),Ht=D(`<button draggable="true"><span class="folder-card-icon svelte-1uha8ag"><!></span> <span class="folder-card-details svelte-1uha8ag"><strong class="svelte-1uha8ag"> </strong> <span class="svelte-1uha8ag"> </span></span> <span class="folder-card-arrow svelte-1uha8ag">›</span></button>`),Ut=D(`<section class="section folder-section svelte-1uha8ag"><!> <div class="folder-grid svelte-1uha8ag"></div></section>`),Wt=D(`<span class="section-emoji svelte-1uha8ag"> </span>`),Gt=D(`<!> `,1),Kt=D(`<span class="badge warning svelte-1uha8ag">⚠</span>`),qt=D(`<a draggable="true"><input class="asset-select svelte-1uha8ag" type="checkbox"/> <div class="thumbnail checkerboard svelte-1uha8ag"><!></div> <div class="meta svelte-1uha8ag"><span class="id svelte-1uha8ag"> </span> <span class="type-badge svelte-1uha8ag"> </span></div> <div class="badges svelte-1uha8ag"><!> <!> <!></div></a>`),Jt=D(`<section class="section svelte-1uha8ag"><!> <div class="grid svelte-1uha8ag"></div></section>`),Yt=D(`<!> <!>`,1),Xt=D(`<div class="drop-hint svelte-1uha8ag"> </div>`),Zt=D(`<p class="dialog-warning svelte-1uha8ag"> </p>`),Qt=D(`<p class="dialog-warning svelte-1uha8ag">An asset with this ID already exists.</p>`),$t=D(`<label class="dialog-row svelte-1uha8ag"><span class="svelte-1uha8ag">ID</span> <input class="control svelte-1uha8ag" spellcheck="false"/></label> <!> <!> <!> <!>`,1),en=D(`<p class="dialog-text svelte-1uha8ag"> </p> <!> <!>`,1),tn=D(`<div class="library-view svelte-1uha8ag"><!> <div role="application" aria-label="Asset library — drop a file anywhere to import it"><div class="selection-bar svelte-1uha8ag"><!> <button class="control import svelte-1uha8ag">Import file</button> <input type="file" hidden=""/></div> <div class="filter-bar svelte-1uha8ag"><select class="control" aria-label="Sort"><option>Sort alphabetically</option><option>Sort by type</option><option>Sort by manifest</option></select> <select class="control" aria-label="Filter by type"><option>All types</option><!></select> <select class="control" aria-label="Filter by manifest"><option>All manifests</option><!></select> <div class="control search svelte-1uha8ag"><svg class="search-icon svelte-1uha8ag" viewBox="0 0 16 16" aria-hidden="true"><circle cx="7" cy="7" r="4.5"></circle><path d="m10.5 10.5 3 3"></path></svg> <input class="search-input svelte-1uha8ag" type="search" placeholder="Search assets and folders…" aria-label="Search assets and folders" spellcheck="false"/> <kbd class="svelte-1uha8ag"> </kbd></div> <label class="toggle svelte-1uha8ag"><input type="checkbox"/> Warnings only</label></div> <!> <!></div></div> <!> <!> <!> <!> <!>`,1);function nn(c,T){ae(T,!0);let E=`fundus.gallery.sort`,D=`fundus.gallery.folder`;function A(){try{let e=localStorage.getItem(E);if(e===`type`||e===`manifest`||e===`alphabetical`)return e}catch{}return`alphabetical`}let ke=g(a(A()));function Ae(){try{let e=localStorage.getItem(D);return e===null||e===`__all__`?null:e}catch{return null}}let j=g(a(Ae())),M=g(`all`),je=g(`all`),N=g(``),Me=g(!1),P=g(!1),F=g(null),Ne=g(``),I=g(null),L=g(null),R=g(null),z=g(``),Pe=g(void 0),B=g(a([])),V=g(null),H=g(null),U=g(!1),W=g(null),Fe=g(null),G=0,Ie=g(null),Le=0,Re=g(null),ze=0,K=g(a([])),q=g(null),Be=g(void 0),J=g(void 0),Ve=he().join(`,`),He=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘K`:`Ctrl K`;m(()=>{try{localStorage.setItem(E,r(ke))}catch{}}),m(()=>{try{localStorage.setItem(D,r(j)??`__all__`)}catch{}});let Y=v(()=>k.state?.assets??[]),Ue=v(()=>r(R)!==null&&r(z)!==r(R)?pe(r(z)):null),We=v(()=>r(R)!==null&&r(Y).some(e=>e.id!==r(R)&&e.id===r(z))),Ge=v(()=>r(R)!==null&&r(z)!==r(R)&&r(Ue)===null&&!r(We)&&!r(U)),Ke=v(()=>r(R)===null?[]:(r(Y).find(e=>e.id===r(R))?.references.incoming??[]).map(e=>`${e.assetId}.${e.field} → ${r(R)}`)),qe=v(()=>new Set(r(B))),X=v(()=>r(B).flatMap(e=>(r(Y).find(t=>t.id===e)?.references.incoming??[]).filter(e=>!r(qe).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e}`))),Je=v(()=>k.state?.library.folders??[]),Ye=v(()=>k.manifestNames),Xe=v(()=>[...new Set(r(Y).map(e=>e.type))].sort()),Z=v(()=>r(N).trim()),Ze=v(()=>new At(r(Y),{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})),Qe=v(()=>r(Z)===``?null:new Set(r(Ze).search(r(Z)).map(({item:e})=>e.id))),$e=v(()=>r(Je).map(e=>({path:e,name:xe(e)}))),et=v(()=>new At(r($e),{keys:[{name:`name`,weight:.7},{name:`path`,weight:.3}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),tt=v(()=>r(Z)===``?null:new Set(r(et).search(r(Z)).map(({item:e})=>e.path))),nt=v(()=>r(j)===null?[]:r(Je).filter(e=>ye(e)===r(j)).sort((e,t)=>e.localeCompare(t))),rt=v(()=>r(tt)===null?r(nt):r(nt).filter(e=>r(tt).has(e)));m(()=>{k.state&&r(j)!==null&&r(j)!==``&&!r(Je).includes(r(j))&&_(j,null)});let it=v(()=>r(Y).filter(e=>!(r(j)!==null&&e.folder!==r(j)||r(Qe)!==null&&!r(Qe).has(e.id)||r(M)!==`all`&&e.type!==r(M)||r(je)!==`all`&&!e.manifests.includes(r(je))&&!e.passiveManifests.some(e=>e.manifest===r(je))||r(Me)&&e.warnings.length===0))),at=(e,t)=>e.id.localeCompare(t.id),ot=v(()=>{let e=[...r(it)].sort(at);if(r(ke)===`alphabetical`)return[{key:`all`,heading:null,assets:e}];if(r(ke)===`type`)return[...new Set(e.map(e=>e.type))].sort().map(t=>({key:t,heading:t,assets:e.filter(e=>e.type===t)}));let t=[];for(let n of r(Ye)){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:k.manifestAppearance(n).emoji,assets:r})}let n=e.filter(e=>e.manifests.length===0&&e.passiveManifests.length===0);return n.length>0&&t.push({key:`__no-manifest__`,heading:`No manifest`,assets:n}),t}),Q=v(()=>[...new Set(r(ot).flatMap(e=>e.assets.map(e=>e.id)))]);m(()=>{let e=new Set(r(Y).map(e=>e.id)),t=r(K).filter(t=>e.has(t));t.length!==r(K).length&&_(K,t,!0)});function st(e){_(j,e,!0),_(K,[],!0),_(q,null)}function ct(e,t){if(t&&r(q)!==null){let t=r(Q).indexOf(r(q)),n=r(Q).indexOf(e);if(t!==-1&&n!==-1){let i=Math.min(t,n),a=Math.max(t,n);_(K,[...new Set([...r(K),...r(Q).slice(i,a+1)])],!0),_(q,e,!0);return}}_(K,r(K).includes(e)?r(K).filter(t=>t!==e):[...r(K),e],!0),_(q,e,!0)}function lt(){_(K,[...r(Q)],!0),_(q,r(Q).at(-1)??null,!0)}function ut(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 dt(e){e.preventDefault(),_(P,!1);let t=e.dataTransfer?.files?.[0];t&&(_(Ne,r(j)??``,!0),_(F,t,!0))}function ft(e){_(Ne,e,!0),r(Be)?.click()}function pt(e){G+=1,_(Fe,{id:G,parent:e},!0)}function mt(e){Le+=1,_(Ie,{id:Le,path:e},!0)}function ht(e){ze+=1,_(Re,{id:ze,path:e},!0)}function gt(e){e.preventDefault(),_(L,null),_(I,{x:e.clientX,y:e.clientY,parent:r(j)??``,renamePath:null},!0)}function _t(e,t){e.preventDefault(),e.stopPropagation(),_(L,null),_(I,{x:e.clientX,y:e.clientY,parent:t,renamePath:t},!0)}function vt(e,t){e.preventDefault(),e.stopPropagation(),_(I,null);let n=r(K).includes(t)?[...r(K)]:[t];r(K).includes(t)||(_(K,[t],!0),_(q,t,!0)),_(L,{x:e.clientX,y:e.clientY,assetIds:n},!0)}function yt(e){_(R,e,!0),_(z,e,!0),_(W,null),s().then(()=>{r(Pe)?.focus(),r(Pe)?.select()})}function bt(e){_(B,[...new Set(e)],!0),_(W,null)}function xt(){r(U)||(_(R,null),_(B,[],!0),_(W,null))}async function St(){if(!r(Ge)||r(R)===null)return;let e=r(R),t=r(z);_(U,!0),_(W,null);try{await k.mutate(()=>me(e,{renameTo:t})),_(K,r(K).map(n=>n===e?t:n),!0),_(q,r(q)===e?t:r(q),!0),_(R,null)}catch(e){_(W,e instanceof Error?e.message:String(e),!0)}finally{_(U,!1)}}async function Ct(){if(r(B).length===0)return;let e=[...r(B)];_(U,!0),_(W,null);try{await k.mutate(()=>ue(e));let t=new Set(e);_(K,r(K).filter(e=>!t.has(e)),!0),r(q)!==null&&t.has(r(q))&&_(q,null),_(B,[],!0)}catch(e){_(W,e instanceof Error?e.message:String(e),!0)}finally{_(U,!1)}}function wt(e){return r(Y).filter(t=>t.folder===e).length}function Tt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&_(F,n,!0)}async function Et(e){_(F,null),await le(ce(`/asset/[id]`,{id:e}))}async function Dt(e,t){let n=e.filter(e=>k.assetById(e)?.folder!==t);if(n.length!==0)try{await k.mutate(()=>de(n,t)),_(K,[],!0),_(q,null)}catch{}}function Ot(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,i=be(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,r(V),t);!n&&!i||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),_(H,t,!0))}function kt(e,t){e.preventDefault(),_(H,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`)&&Dt(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`);r&&ge(r,t)&&$(r,t)}async function $(e,t){let n=ve(t,xe(e));try{await k.mutate(()=>fe(e,t)),r(j)!==null&&De(r(j),e)&&st(`${n}${r(j).slice(e.length)}`)}catch{}finally{_(V,null),_(H,null)}}function jt(e){e&&e.play().catch(()=>{})}function Mt(e){e&&(e.pause(),e.currentTime=0)}function Pt(e){e.defaultPrevented||e.altKey||e.shiftKey||!e.metaKey&&!e.ctrlKey||e.key.toLowerCase()!==`k`||document.querySelector(`[role="dialog"]`)!==null||(e.preventDefault(),r(J)?.focus(),r(J)?.select())}var Ft=tn();d(`keydown`,h,Pt),d(`dragenter`,h,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(P,!0))}),d(`dragover`,h,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(P,!0))}),d(`drop`,h,dt);var nn=o(Ft),rn=i(nn);Se(rn,{get selectedFolder(){return r(j)},get createRequest(){return r(Fe)},get renameRequest(){return r(Ie)},get deleteRequest(){return r(Re)},onSelect:st,onMoveAssets:(e,t)=>void Dt(e,t),get sharedDraggedFolder(){return r(V)},onFolderDragStart:e=>_(V,e,!0),onFolderDragEnd:()=>_(V,null),onContextMenu:(e,t,n,r)=>{_(L,null),_(I,{x:e,y:t,parent:n,renamePath:r},!0)}});var an=O(rn,2);let on;var sn=i(an),cn=i(sn),ln=a=>{var s=Lt(),c=o(s),u=i(c);b(c);var d=O(c,2),f=O(d,2);e(()=>n(u,`${r(K).length??``} selected`)),l(`click`,d,lt),l(`click`,f,()=>{_(K,[],!0),_(q,null)}),t(a,s)},un=n=>{var i=Rt();e(()=>i.disabled=r(Q).length===0),l(`click`,i,lt),t(n,i)};p(cn,e=>{r(K).length>0?e(ln):e(un,-1)});var dn=O(cn,2),fn=O(dn,2);y(fn,e=>_(Be,e),()=>r(Be)),b(sn);var pn=O(sn,2),mn=i(pn),hn=i(mn);hn.value=hn.__value=`alphabetical`;var gn=O(hn);gn.value=gn.__value=`type`;var _n=O(gn);_n.value=_n.__value=`manifest`,b(mn);var vn=O(mn,2),yn=i(vn);yn.value=yn.__value=`all`,f(O(yn),16,()=>r(Xe),e=>e,(r,a)=>{var o=zt(),s=i(o,!0);b(o);var c={};e(()=>{n(s,a),c!==(c=a)&&(o.value=(o.__value=a)??``)}),t(r,o)}),b(vn);var bn=O(vn,2),xn=i(bn);xn.value=xn.__value=`all`,f(O(xn),16,()=>r(Ye),e=>e,(a,o)=>{let s=v(()=>k.manifestAppearance(o).emoji);var c=zt(),l=i(c,!0);b(c);var u={};e(()=>{n(l,r(s)?`${r(s)} ${o}`:o),u!==(u=o)&&(c.value=(c.__value=o)??``)}),t(a,c)}),b(bn);var Sn=O(bn,2),Cn=O(i(Sn),2);x(Cn),y(Cn,e=>_(J,e),()=>r(J));var wn=O(Cn,2),Tn=i(wn,!0);b(wn),b(Sn);var En=O(Sn,2),Dn=i(En);x(Dn),ee(),b(En),b(pn);var On=O(pn,2),kn=e=>{t(e,Bt())},An=a=>{var o=Vt(),s=i(o,!0);b(o),e(()=>n(s,r(Y).length===0?`No assets yet — drop an image anywhere to import it.`:`Nothing matches the current filters.`)),t(a,o)},jn=a=>{var s=Yt(),c=o(s),m=a=>{var o=Ut(),s=i(o);_e(s,{children:(e,n)=>{ee(),t(e,te(`Folders`))},$$slots:{default:!0}});var c=O(s,2);f(c,20,()=>r(rt),e=>e,(a,o)=>{var s=Ht();let c;var u=i(s);we(i(u),{size:18}),b(u);var f=O(u,2),p=i(f),m=i(p,!0);b(p);var h=O(p,2),g=i(h);b(h),b(f),ee(2),b(s),e((e,t)=>{c=w(s,1,`folder-card svelte-1uha8ag`,null,c,{"drop-target":r(H)===o,"dragging-folder":r(V)===o}),n(m,e),n(g,`${t??``} assets`)},[()=>xe(o),()=>wt(o)]),l(`click`,s,()=>st(o)),l(`contextmenu`,s,e=>_t(e,o)),d(`dragstart`,s,e=>{_(V,o,!0),e.dataTransfer?.setData(`application/x-fundus-folder`,o),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),d(`dragend`,s,()=>{_(V,null),_(H,null)}),d(`dragover`,s,e=>Ot(e,o)),d(`dragleave`,s,()=>_(H,null)),d(`drop`,s,e=>kt(e,o)),t(a,s)}),b(c),b(o),t(a,o)};p(c,e=>{r(rt).length>0&&e(m)});var h=O(c,2),g=a=>{var s=u();f(o(s),17,()=>r(ot),e=>e.key,(a,s)=>{var c=Jt(),m=i(c),h=a=>{_e(a,{children:(a,c)=>{var l=Gt(),u=o(l),d=a=>{var o=Wt(),c=i(o,!0);b(o),e(()=>n(c,r(s).emoji)),t(a,o)};p(u,e=>{r(s).emoji&&e(d)});var f=O(u,1,!0);e(()=>n(f,r(s).heading)),t(a,l)},$$slots:{default:!0}})};p(m,e=>{r(s).heading&&e(h)});var g=O(m,2);f(g,21,()=>r(s).assets,e=>e.id,(a,s)=>{let c=v(()=>Te[r(s).type]?.thumbnail);var m=qt();let h;var g=i(m);x(g);var _=O(g,2),y=i(_),S=e=>{var n=u();se(o(n),()=>r(c),(e,t)=>{t(e,{get asset(){return r(s)}})}),t(e,n)};p(y,e=>{r(c)&&e(S)}),b(_);var C=O(_,2),T=i(C),E=i(T,!0);b(T);var ee=O(T,2),te=i(ee,!0);b(ee),b(C);var D=O(C,2),re=i(D);f(re,16,()=>r(s).manifests,e=>e,(e,t)=>{It(e,{get name(){return t}})});var ie=O(re,2);f(ie,17,()=>r(s).passiveManifests,e=>e.manifest,(e,t)=>{It(e,{get name(){return r(t).manifest},passive:!0,get via(){return r(t).via}})}),f(O(ie,2),16,()=>r(s).warnings,e=>e,(n,r)=>{var i=Kt();e(()=>ne(i,`title`,r)),t(n,i)}),b(D),b(m),e((e,t,i)=>{h=w(m,1,`card svelte-1uha8ag`,null,h,e),ne(m,`data-asset-id`,r(s).id),ne(m,`href`,t),oe(g,i),ne(g,`aria-label`,`Select ${r(s).id}`),n(E,r(s).id),n(te,r(s).type)},[()=>({selected:r(K).includes(r(s).id)}),()=>ce(`/asset/[id]`,{id:r(s).id}),()=>r(K).includes(r(s).id)]),l(`contextmenu`,m,e=>vt(e,r(s).id)),l(`click`,m,e=>{(r(K).length>0||e.metaKey||e.ctrlKey||e.shiftKey)&&(e.preventDefault(),ct(r(s).id,e.shiftKey))}),d(`dragstart`,m,e=>{let t=r(K).includes(r(s).id)?r(K):[r(s).id];e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify(t)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`),ut(e,t)}),d(`focus`,m,e=>jt(e.currentTarget.querySelector(`video`))),d(`blur`,m,e=>Mt(e.currentTarget.querySelector(`video`))),l(`click`,g,e=>{e.stopPropagation(),ct(r(s).id,e.shiftKey)}),t(a,m)}),b(g),b(c),t(a,c)}),t(a,s)};p(h,e=>{r(it).length>0&&e(g)}),t(a,s)};p(On,e=>{k.state?r(it).length===0&&r(rt).length===0?e(An,1):e(jn,-1):e(kn)});var Mn=O(On,2),Nn=a=>{var o=Xt(),s=i(o);b(o),e(()=>n(s,`Drop to import into ${(r(j)||`Root`)??``}`)),t(a,o)};p(Mn,e=>{r(P)&&e(Nn)}),b(an),b(nn);var Pn=O(nn,2),Fn=e=>{{let t=v(()=>r(I).renamePath===null?void 0:()=>mt(r(I)?.renamePath??``)),n=v(()=>r(I).renamePath===null?void 0:()=>ht(r(I)?.renamePath??``));Ee(e,{get x(){return r(I).x},get y(){return r(I).y},onNewDirectory:()=>pt(r(I)?.parent??``),get onRenameDirectory(){return r(t)},onImportFile:()=>ft(r(I)?.parent??``),get onDeleteDirectory(){return r(n)},onClose:()=>_(I,null)})}};p(Pn,e=>{r(I)&&e(Fn)});var In=O(Pn,2),Ln=e=>{{let t=v(()=>r(L).assetIds.length===1?()=>yt(r(L)?.assetIds[0]??``):void 0);Nt(e,{get x(){return r(L).x},get y(){return r(L).y},get assetCount(){return r(L).assetIds.length},get onRename(){return r(t)},onDelete:()=>bt(r(L)?.assetIds??[]),onClose:()=>_(L,null)})}};p(In,e=>{r(L)&&e(Ln)});var Rn=O(In,2),zn=a=>{{let s=v(()=>r(U)?`Renaming…`:`Rename`),c=v(()=>!r(Ge));Oe(a,{title:`Rename asset`,get confirmLabel(){return r(s)},get confirmDisabled(){return r(c)},get busy(){return r(U)},onConfirm:()=>void St(),onCancel:xt,children:(a,s)=>{var c=$t(),u=o(c),d=O(i(u),2);x(d),y(d,e=>_(Pe,e),()=>r(Pe)),b(u);var f=O(u,2),m=a=>{var o=Zt(),s=i(o,!0);b(o),e(()=>n(s,r(Ue))),t(a,o)};p(f,e=>{r(Ue)&&e(m)});var h=O(f,2),g=e=>{t(e,Qt())};p(h,e=>{r(We)&&e(g)});var v=O(h,2),S=a=>{var o=Zt(),s=i(o);b(o),e(e=>n(s,`Renaming leaves ${r(Ke).length??``} reference(s) pointing to the old ID:
|
|
2
|
+
${e??``}`),[()=>r(Ke).join(`, `)]),t(a,o)};p(v,e=>{r(Ke).length>0&&e(S)});var C=O(v,2),w=a=>{var o=Zt(),s=i(o,!0);b(o),e(()=>n(s,r(W))),t(a,o)};p(C,e=>{r(W)&&e(w)}),e(()=>d.disabled=r(U)),l(`keydown`,d,e=>e.key===`Enter`&&void St()),ie(d,()=>r(z),e=>_(z,e)),t(a,c)},$$slots:{default:!0}})}};p(Rn,e=>{r(R)!==null&&e(zn)});var Bn=O(Rn,2),Vn=a=>{{let s=v(()=>r(B).length===1?`Delete asset`:`Delete ${r(B).length} assets`),c=v(()=>r(U)?`Deleting…`:r(B).length===1?`Delete asset`:`Delete ${r(B).length} assets`);Oe(a,{get title(){return r(s)},get confirmLabel(){return r(c)},danger:!0,get busy(){return r(U)},onConfirm:()=>void Ct(),onCancel:xt,children:(a,s)=>{var c=en(),l=o(c),u=i(l);b(l);var d=O(l,2),f=a=>{var o=Zt(),s=i(o);b(o),e(e=>n(s,`This leaves ${r(X).length??``} external reference(s) dangling:
|
|
3
|
+
${e??``}`),[()=>r(X).join(`, `)]),t(a,o)};p(d,e=>{r(X).length>0&&e(f)});var m=O(d,2),h=a=>{var o=Zt(),s=i(o,!0);b(o),e(()=>n(s,r(W))),t(a,o)};p(m,e=>{r(W)&&e(h)}),e(e=>n(u,`Delete ${e??``}? Their raw files and proxies are removed.`),[()=>r(B).join(`, `)]),t(a,c)},$$slots:{default:!0}})}};p(Bn,e=>{r(B).length>0&&e(Vn)});var Hn=O(Bn,2),Un=e=>{Ce(e,{get file(){return r(F)},get folder(){return r(Ne)},onDone:e=>void Et(e),onCancel:()=>_(F,null)})};p(Hn,e=>{r(F)&&e(Un)}),e(()=>{on=w(an,1,`page svelte-1uha8ag`,null,on,{dragging:r(P)}),ne(fn,`accept`,Ve),n(Tn,He)}),l(`contextmenu`,an,gt),d(`dragleave`,an,e=>{e.relatedTarget===null&&_(P,!1)}),l(`click`,dn,()=>ft(r(j)??``)),l(`change`,fn,Tt),C(mn,()=>r(ke),e=>_(ke,e)),C(vn,()=>r(M),e=>_(M,e)),C(bn,()=>r(je),e=>_(je,e)),l(`keydown`,Cn,e=>{e.key===`Escape`&&(e.stopPropagation(),r(N)===``?e.currentTarget.blur():_(N,``))}),ie(Cn,()=>r(N),e=>_(N,e)),re(Dn,()=>r(Me),e=>_(Me,e)),t(c,Ft),S()}c([`contextmenu`,`click`,`change`,`keydown`]);export{nn as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,D as t,E as n,F as r,G as i,K as a,M as o,N as s,O as c,S as l,T as u,X as d,Y as f,Z as p,a as m,at as h,c as ee,d as te,et as ne,it as re,j as g,k as _,l as v,q as y,rt as ie,tt as b,y as ae}from"../chunks/D65cSBhe.js";import{c as x,t as S}from"../chunks/C8W3KwDq.js";import"../chunks/xihTtKlq.js";import{t as oe}from"../chunks/ByVSyIj7.js";import{D as C,M as w,S as se,_ as T,h as ce,k as E,n as D,t as O}from"../chunks/BAEZPv6c.js";import{c as k,n as le,o as ue,s as de,t as A}from"../chunks/Db8LRH6X.js";import{t as fe}from"../chunks/CP-bnOxU.js";var j=_(`<div class="center empty svelte-xy8zsr">Loading…</div>`),pe=_(`<div class="center empty svelte-xy8zsr"> </div>`),me=_(`<div class="empty svelte-xy8zsr"> </div>`),he=_(`<p class="warning svelte-xy8zsr"> </p>`),ge=_(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),_e=_(`<p class="hint svelte-xy8zsr">No references.</p>`),ve=_(`<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>`),ye=_(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),be=_(`<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>`),xe=_(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),Se=_(`<!> <!>`,1),Ce=_(`<p class="hint error svelte-xy8zsr"> </p>`),we=_(`<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),Te=_(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <input type="file" hidden=""/> <!> <!>`,1);function M(o,_){b(_,!0);let M=p(()=>oe.params.id??``),N=p(()=>T.assetById(r(M))),Ee=p(()=>T.manifestNames),De=p(()=>r(N)?T.state?.presetNames[r(N).type]??[]:[]),P=p(()=>r(N)?de[r(N).type]??null:null),Oe=p(()=>r(P)?.panel??null),ke=p(()=>r(P)?.editor??null),F=d(null),I=p(()=>r(N)?r(F)&&r(F).assetId===r(N).id?r(F).value:ie(r(N)).parameters:null);function L(e){r(N)&&f(F,{assetId:r(N).id,value:e},!0)}let R=d(null),z=d(null),B=0,V=d(null),H=0,U=d(null),W=0,G=d(null),Ae=d(``),K=d(void 0),je=d(void 0),q=d(null),J=d(null),Me=O().join(`,`),Ne=p(()=>r(N)?D(r(N).type).join(`,`):``),Y=d(null),X=p(()=>r(N)&&r(Y)?.assetId===r(N).id?r(Y).value:r(N)?.id??``),Z=p(()=>r(N)&&r(X)!==r(N).id?ce(r(X)):null);async function Pe(e){if(!r(N))return;let t=r(N).id;try{await T.mutate(()=>E(t,{parameters:e})),r(F)?.assetId===t&&f(F,null)}catch{}}async function Fe(e){if(!r(N))return;let t=r(N).manifests.includes(e)?r(N).manifests.filter(t=>t!==e):[...r(N).manifests,e];try{await T.mutate(()=>E(r(N).id,{manifests:t}))}catch{}}async function Ie(){if(!r(N)||r(X)===r(N).id||r(Z))return;let e=r(N).id,t=r(X);try{await T.mutate(()=>E(e,{renameTo:t})),f(Y,null),r(M)===e&&await S(x(`/asset/[id]`,{id:t}),{replaceState:!0})}catch{}}async function Le(){if(!r(N))return;let e=r(N).id;if(confirm(`Delete "${e}"? The raw file and its proxies are removed.`))try{await T.mutate(()=>se(e)),r(M)===e&&await S(x(`/`))}catch{}}async function Re(e){try{localStorage.setItem(`fundus.gallery.folder`,e??`__all__`)}catch{}await S(x(`/`))}async function ze(e,t){let n=e.filter(e=>T.assetById(e)?.folder!==t);if(n.length!==0)try{await T.mutate(()=>C(n,t))}catch{}}function Be(e){B+=1,f(z,{id:B,parent:e},!0)}function Ve(e){H+=1,f(V,{id:H,path:e},!0)}function He(e){W+=1,f(U,{id:W,path:e},!0)}function Ue(e){f(Ae,e,!0),r(K)?.click()}function We(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&f(G,n,!0)}async function Ge(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n||!r(N))return;let i=r(N).id;f(q,i,!0),f(J,null);try{await T.mutate(()=>w(i,n))}catch(e){f(J,{assetId:i,message:e instanceof Error?e.message:String(e)},!0)}finally{r(q)===i&&f(q,null)}}async function Ke(e){f(G,null),await S(x(`/asset/[id]`,{id:e}))}var qe=Te(),Je=a(qe),Ye=i(Je);{let e=p(()=>r(N)?.folder??null);le(Ye,{get selectedFolder(){return r(e)},get activeAsset(){return r(N)},get createRequest(){return r(z)},get renameRequest(){return r(V)},get deleteRequest(){return r(U)},onSelect:e=>void Re(e),onMoveAssets:(e,t)=>void ze(e,t),onActiveAssetDeleted:e=>void Re(e),onContextMenu:(e,t,n,r)=>{f(R,{x:e,y:t,parent:n,renamePath:r},!0)}})}var Xe=y(Ye,2),Ze=e=>{t(e,j())},Qe=a=>{var o=pe(),s=i(o);h(o),e(()=>n(s,`No asset with id "${r(M)??``}".`)),t(a,o)},$e=o=>{var d=we(),p=a(d),m=i(p),ne=e=>{var n=c();ae(a(n),()=>r(ke),(e,t)=>{t(e,{get asset(){return r(N)},get parameters(){return r(I)},onParametersChange:L,onParametersCommit:e=>void Pe(e)})}),t(e,n)},_=a=>{var o=me(),s=i(o);h(o),e(()=>n(s,`No editor registered for asset type "${r(N).type??``}".`)),t(a,o)};u(m,e=>{r(ke)&&r(I)!==null?e(ne):e(_,-1)}),h(p);var ie=y(p,2),b=i(ie),S=i(b),oe=i(S,!0);h(S);var C=y(S,2),w=i(C),se=y(w),T=i(se,!0);h(se),h(C),l(y(C,2),16,()=>r(N).warnings,e=>e,(r,a)=>{var o=he(),s=i(o);h(o),e(()=>n(s,`⚠ ${a??``}`)),t(r,o)}),h(b);var ce=y(b,2),E=e=>{var n=c();ae(a(n),()=>r(Oe),(e,t)=>{t(e,{get asset(){return r(N)},get parameters(){return r(I)},onParametersChange:e=>L(e),onParametersCommit:e=>{L(e),Pe(e)},get presetNames(){return r(De)}})}),t(e,n)};u(ce,e=>{r(Oe)&&r(I)!==null&&e(E)});var D=y(ce,2),O=i(D);k(O,{children:(e,n)=>{re(),t(e,g(`Manifests`))},$$slots:{default:!0}});var le=y(O,2),ue=e=>{t(e,ge())},de=e=>{fe(e,{get manifests(){return r(Ee)},get selected(){return r(N).manifests},get passive(){return r(N).passiveManifests},onToggle:e=>void Fe(e)})};u(le,e=>{r(Ee).length===0?e(ue):e(de,-1)}),h(D);var A=y(D,2),j=i(A);k(j,{children:(e,n)=>{re(),t(e,g(`References`))},$$slots:{default:!0}});var pe=y(j,2),Te=e=>{t(e,_e())},M=o=>{var s=Se(),c=a(s),d=o=>{var s=ye();l(y(a(s),2),17,()=>r(N).references.outgoing,e=>`${e.field}→${e.assetId}`,(a,o)=>{var s=ve(),c=i(s),l=i(c,!0);h(c);var u=y(c,4),d=i(u,!0);h(u),h(s),e(e=>{v(s,`href`,e),n(l,r(o).field),n(d,r(o).assetId)},[()=>x(`/asset/[id]`,{id:r(o).assetId})]),t(a,s)}),t(o,s)};u(c,e=>{r(N).references.outgoing.length>0&&e(d)});var f=y(c,2),p=o=>{var s=xe();l(y(a(s),2),17,()=>r(N).references.incoming,e=>`${e.assetId}→${e.field}`,(a,o)=>{var s=be(),c=i(s),l=i(c,!0);h(c);var u=y(c,4),d=i(u,!0);h(u),h(s),e(e=>{v(s,`href`,e),n(l,r(o).assetId),n(d,r(o).field)},[()=>x(`/asset/[id]`,{id:r(o).assetId})]),t(a,s)}),t(o,s)};u(f,e=>{r(N).references.incoming.length>0&&e(p)}),t(o,s)};u(pe,e=>{r(N).references.outgoing.length===0&&r(N).references.incoming.length===0?e(Te):e(M,-1)}),h(A);var P=y(A,2),F=i(P);k(F,{children:(e,n)=>{re(),t(e,g(`Asset`))},$$slots:{default:!0}});var R=y(F,2),z=i(R,!0);h(R);var B=y(R,2),V=a=>{var o=Ce(),s=i(o,!0);h(o),e(()=>n(s,r(J).message)),t(a,o)};u(B,e=>{r(J)?.assetId===r(N).id&&e(V)});var H=y(B,2),U=i(H);ee(U);var W=y(U,2);h(H);var G=y(H,2),Ae=a=>{var o=Ce(),s=i(o,!0);h(o),e(()=>n(s,r(Z))),t(a,o)};u(G,e=>{r(Z)&&e(Ae)});var K=y(G,2);h(P),h(ie),e(()=>{n(oe,r(N).id),n(w,`${r(N).type??``} · `),n(T,r(N).raw),R.disabled=r(q)===r(N).id,n(z,r(q)===r(N).id?`Replacing…`:`Replace`),te(U,r(X)),W.disabled=r(X)===r(N).id||r(Z)!==null}),s(`click`,R,()=>r(je)?.click()),s(`input`,U,e=>f(Y,{assetId:r(N).id,value:e.currentTarget.value},!0)),s(`click`,W,()=>void Ie()),s(`click`,K,()=>void Le()),t(o,d)};u(Xe,e=>{T.loaded?r(N)?e($e,-1):e(Qe,1):e(Ze)}),h(Je);var Q=y(Je,2);m(Q,e=>f(K,e),()=>r(K));var $=y(Q,2);m($,e=>f(je,e),()=>r(je));var et=y($,2),tt=e=>{{let t=p(()=>r(R).renamePath===null?void 0:()=>Ve(r(R)?.renamePath??``)),n=p(()=>r(R).renamePath===null?void 0:()=>He(r(R)?.renamePath??``));A(e,{get x(){return r(R).x},get y(){return r(R).y},onNewDirectory:()=>Be(r(R)?.parent??``),get onRenameDirectory(){return r(t)},onImportFile:()=>Ue(r(R)?.parent??``),get onDeleteDirectory(){return r(n)},onClose:()=>f(R,null)})}};u(et,e=>{r(R)&&e(tt)});var nt=y(et,2),rt=e=>{ue(e,{get file(){return r(G)},get folder(){return r(Ae)},onDone:e=>void Ke(e),onCancel:()=>f(G,null)})};u(nt,e=>{r(G)&&e(rt)}),e(()=>{v(Q,`accept`,Me),v($,`accept`,r(Ne))}),s(`change`,Q,We),s(`change`,$,e=>void Ge(e)),t(o,qe),ne()}o([`click`,`input`,`change`]);export{M as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{B as e,D as t,E as n,F as r,G as i,K as a,M as o,N as s,S as c,T as l,V as u,X as d,Y as f,Z as p,a as m,at as h,b as g,c as _,et as v,g as y,h as b,i as x,it as S,k as C,l as w,q as T,s as E,tt as D}from"../chunks/D65cSBhe.js";import{c as O}from"../chunks/C8W3KwDq.js";import"../chunks/xihTtKlq.js";import{A as k,T as A,_ as j,g as M,x as N}from"../chunks/BAEZPv6c.js";import{n as P,t as F}from"../chunks/TZFh8bT7.js";var I=[{name:`slate`,value:`#64748b`},{name:`red`,value:`#ef4444`},{name:`orange`,value:`#f97316`},{name:`amber`,value:`#f59e0b`},{name:`yellow`,value:`#eab308`},{name:`lime`,value:`#84cc16`},{name:`green`,value:`#22c55e`},{name:`teal`,value:`#14b8a6`},{name:`cyan`,value:`#06b6d4`},{name:`blue`,value:`#3b82f6`},{name:`indigo`,value:`#6366f1`},{name:`violet`,value:`#8b5cf6`},{name:`pink`,value:`#ec4899`}],ee=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),L=C(`<div role="dialog"><!></div>`),R=C(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function z(n,a){D(a,!0);let o=x(a,`open`,15,!1),s=x(a,`align`,3,`left`),c=d(void 0);function p(){o(!o())}u(()=>{if(!o())return;function e(e){r(c)&&!r(c).contains(e.target)&&o(!1)}function t(e){e.key===`Escape`&&o(!1)}return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});var _=R(),b=i(_);g(b,()=>a.trigger,()=>({toggle:p,open:o()}));var S=T(b,2),C=n=>{var r=L();let o;g(i(r),()=>a.children),h(r),e(()=>{o=y(r,1,`popover svelte-1rznwff`,null,o,{right:s()===`right`}),w(r,`aria-label`,a.label)}),t(n,r)};l(S,e=>{o()&&e(C)}),h(_),m(_,e=>f(c,e),()=>r(c)),t(n,_),v()}var B=C(`<button type="button" title="Emoji"> </button>`),V=C(`<button type="button"> </button>`),H=C(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),U=C(`<button type="button" title="Color"></button>`),W=C(`<button type="button"></button>`),te=C(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),ne=C(`<div class="controls svelte-58t64l"><!> <!></div>`);function re(a,o){D(o,!0);let l=p(()=>j.manifestAppearance(o.name)),u=p(()=>r(l).color??null),m=p(()=>r(l).emoji??null),g=d(!1),_=d(!1);async function x(e){f(g,!1);try{await j.mutate(()=>k(o.name,{color:e}))}catch{}}async function S(e){f(_,!1);try{await j.mutate(()=>k(o.name,{emoji:e}))}catch{}}var C=ne(),E=i(C);z(E,{get label(){return`Pick an emoji for ${o.name??``}`},get open(){return r(_)},set open(e){f(_,e,!0)},trigger:(a,c)=>{let l=()=>(c?.()).toggle,u=()=>(c?.()).open;var d=B();let f;var p=i(d,!0);h(d),e(()=>{f=y(d,1,`emoji-trigger svelte-58t64l`,null,f,{empty:!r(m),active:u()}),w(d,`aria-label`,`Emoji for ${o.name??``}`),n(p,r(m)??`☺`)}),s(`click`,d,function(...e){l()?.apply(this,e)}),t(a,d)},children:(a,o)=>{var l=H(),u=i(l);let d;c(T(u,2),16,()=>ee,e=>e,(a,o)=>{var c=V();let l;var u=i(c,!0);h(c),e(()=>{l=y(c,1,`emoji svelte-58t64l`,null,l,{selected:r(m)===o}),w(c,`title`,o),n(u,o)}),s(`click`,c,()=>void S(o)),t(a,c)}),h(l),e(()=>d=y(u,1,`emoji none svelte-58t64l`,null,d,{selected:r(m)===null})),s(`click`,u,()=>void S(null)),t(a,l)},$$slots:{trigger:!0,default:!0}}),z(T(E,2),{get label(){return`Pick a color for ${o.name??``}`},get open(){return r(g)},set open(e){f(g,e,!0)},trigger:(n,i)=>{let a=()=>(i?.()).toggle,c=()=>(i?.()).open;var l=U();let d;e(()=>{d=y(l,1,`swatch-trigger svelte-58t64l`,null,d,{empty:!r(u),active:c()}),b(l,`--swatch: ${r(u)??`transparent`??``}`),w(l,`aria-label`,`Color for ${o.name??``}`)}),s(`click`,l,function(...e){a()?.apply(this,e)}),t(n,l)},children:(n,a)=>{var o=te(),l=i(o);let d;c(T(l,2),17,()=>I,e=>e.value,(n,i)=>{var a=W();let o;e(()=>{o=y(a,1,`swatch svelte-58t64l`,null,o,{selected:r(u)===r(i).value}),b(a,`background: ${r(i).value??``}`),w(a,`title`,r(i).name),w(a,`aria-label`,r(i).name)}),s(`click`,a,()=>void x(r(i).value)),t(n,a)}),h(o),e(()=>d=y(l,1,`swatch none svelte-58t64l`,null,d,{selected:r(u)===null})),s(`click`,l,()=>void x(null)),t(n,o)},$$slots:{trigger:!0,default:!0}}),h(C),t(a,C),v()}o([`click`]);var ie=C(`<span class="hint svelte-1k9wgg5"> </span>`),ae=C(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),oe=C(`<span class="asset-type svelte-1k9wgg5"> </span>`),se=C(`<li class="passive-member svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id passive-id svelte-1k9wgg5"> </span> <!> <span class="asset-via svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li>`),ce=C(`<li class="svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id svelte-1k9wgg5"> </span> <span class="asset-type svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li> <!>`,1),le=C(`<ul class="svelte-1k9wgg5"></ul>`),ue=C(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),de=C(`<section class="manifest svelte-1k9wgg5"><header class="svelte-1k9wgg5"><!> <h2 class="svelte-1k9wgg5"> </h2> <span class="size svelte-1k9wgg5" title="Total delivered proxy size incl. the reference closure — the preload budget"> </span> <span class="count svelte-1k9wgg5"> </span> <button class="control">Rename</button> <button class="control danger">Delete</button></header> <!></section>`),fe=C(`<div class="list svelte-1k9wgg5"></div>`),G=C(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),pe=C(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),me=C(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),he=C(`<label class="dialog-row svelte-1k9wgg5"><span class="dialog-label svelte-1k9wgg5">Name</span> <input class="control svelte-1k9wgg5" type="text" spellcheck="false"/></label> <!> <p class="dialog-text svelte-1k9wgg5">The generated module is renamed with the manifest — host code importing <code> </code> must be updated by hand.</p> <!>`,1),ge=C(`<div class="page svelte-1k9wgg5"><div class="create svelte-1k9wgg5"><input class="control svelte-1k9wgg5" type="text" placeholder="newManifestName" spellcheck="false"/> <button class="control primary">Create manifest</button> <!></div> <!></div> <!> <!>`,1);function K(o,u){D(u,!0);let m=d(``),g=p(()=>j.state?.assets??[]),y=p(()=>j.manifestNames);function x(e){return r(g).filter(t=>t.manifests.includes(e))}function C(e){return j.state?.manifestMemberships[e]?.passiveMembers??[]}function I(e,t){return C(e).filter(e=>e.via.includes(t))}function ee(e){return j.state?.manifestDeliveredBytes[e]??0}let L=p(()=>r(m)?M(r(m)):null),R=p(()=>r(m)!==``&&!r(L)&&!r(y).includes(r(m)));async function z(){if(r(R))try{await j.mutate(()=>N(r(m))),f(m,``)}catch{}}let B=d(null),V=d(null),H=d(``),U=d(!1),W=d(null);function te(e){f(W,null),f(B,e,!0)}function ne(e){f(W,null),f(H,e,!0),f(V,e,!0)}function K(){f(B,null),f(V,null),f(W,null)}let q=p(()=>r(V)!==null&&r(H)!==r(V)?M(r(H)):null),J=p(()=>r(V)!==null&&r(H)!==r(V)&&r(y).includes(r(H))),_e=p(()=>r(V)!==null&&r(H)!==r(V)&&!r(q)&&!r(J));async function ve(){if(r(B)===null)return;let e=r(B);f(U,!0),f(W,null);try{await j.mutate(()=>A(e)),K()}catch(e){f(W,e instanceof Error?e.message:String(e),!0)}finally{f(U,!1)}}async function ye(){if(r(V)===null||!r(_e))return;let e=r(V),t=r(H);f(U,!0),f(W,null);try{await j.mutate(()=>k(e,{renameTo:t})),K()}catch(e){f(W,e instanceof Error?e.message:String(e),!0)}finally{f(U,!1)}}var be=ge(),Y=a(be),X=i(Y),Z=i(X);_(Z);var Q=T(Z,2),xe=T(Q,2),Se=a=>{var o=ie(),s=i(o,!0);h(o),e(()=>n(s,r(L))),t(a,o)};l(xe,e=>{r(L)&&e(Se)}),h(X);var Ce=T(X,2),we=e=>{t(e,ae())},Te=o=>{var u=fe();c(u,20,()=>r(y),e=>e,(o,u)=>{var d=de(),f=i(d),m=i(f);re(m,{get name(){return u}});var g=T(m,2),_=i(g,!0);h(g);var v=T(g,2),y=i(v,!0);h(v);var S=T(v,2),E=i(S);h(S);var D=T(S,2),k=T(D,2);h(f);var A=T(f,2),M=o=>{var s=le();c(s,21,()=>x(u),e=>e.id,(o,s)=>{var d=ce(),f=a(d),m=i(f),g=i(m),_=i(g,!0);h(g);var v=T(g,2),y=i(v,!0);h(v);var b=T(v,2),x=i(b,!0);h(b),h(m),h(f),c(T(f,2),17,()=>I(u,r(s).id),e=>e.assetId,(a,o)=>{let c=p(()=>j.assetById(r(o).assetId));var u=se(),d=i(u),f=i(d),m=i(f,!0);h(f);var g=T(f,2),_=a=>{var o=oe(),s=i(o,!0);h(o),e(()=>n(s,r(c).type)),t(a,o)};l(g,e=>{r(c)&&e(_)});var v=T(g,2),y=i(v);h(v);var b=T(v,2),x=i(b,!0);h(b),h(d),h(u),e((e,t)=>{w(d,`href`,e),n(m,r(o).assetId),n(y,`via ${r(s).id??``}`),n(x,t)},[()=>O(`/asset/[id]`,{id:r(o).assetId}),()=>r(c)?.proxy?P(r(c).proxy.fileSize):`—`]),t(a,u)}),e((e,t)=>{w(m,`href`,e),n(_,r(s).id),n(y,r(s).type),n(x,t)},[()=>O(`/asset/[id]`,{id:r(s).id}),()=>r(s).proxy?P(r(s).proxy.fileSize):`—`]),t(o,d)}),h(s),t(o,s)},N=p(()=>x(u).length>0),F=e=>{t(e,ue())};l(A,e=>{r(N)?e(M):e(F,-1)}),h(d),e((e,t,r,i)=>{b(d,`--manifest-color: ${e??``}`),n(_,u),n(y,t),n(E,`${r??``} asset(s)${i??``}`)},[()=>j.manifestAppearance(u).color??`var(--border-soft)`,()=>P(ee(u)),()=>x(u).length,()=>C(u).length>0?` + ${C(u).length} passive`:``]),s(`click`,D,()=>ne(u)),s(`click`,k,()=>te(u)),t(o,d)}),h(u),t(o,u)};l(Ce,e=>{r(y).length===0?e(we):e(Te,-1)}),h(Y);var $=T(Y,2),Ee=o=>{let s=p(()=>x(r(B)).length);{let c=p(()=>r(U)?`Deleting…`:`Delete`);F(o,{title:`Delete manifest`,get confirmLabel(){return r(c)},danger:!0,get busy(){return r(U)},onConfirm:()=>void ve(),onCancel:K,children:(o,c)=>{var u=pe(),d=a(u),f=T(i(d)),p=i(f,!0);h(f);var m=T(f);h(d);var g=T(d,2),_=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(W))),t(a,o)};l(g,e=>{r(W)&&e(_)}),e(()=>{n(p,r(B)),n(m,`? Its generated module is removed. Assets are
|
|
2
|
+
not deleted${r(s)>0?`, but ${r(s)} asset(s) lose this membership and may become unreachable`:``}.`)}),t(o,u)},$$slots:{default:!0}})}};l($,e=>{r(B)!==null&&e(Ee)});var De=T($,2),Oe=o=>{{let c=p(()=>r(U)?`Renaming…`:`Rename`),u=p(()=>!r(_e));F(o,{title:`Rename manifest`,get confirmLabel(){return r(c)},get confirmDisabled(){return r(u)},get busy(){return r(U)},onConfirm:()=>void ye(),onCancel:K,children:(o,c)=>{var u=he(),d=a(u),p=T(i(d),2);_(p),h(d);var m=T(d,2),g=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(q))),t(a,o)},v=e=>{t(e,me())};l(m,e=>{r(q)?e(g):r(J)&&e(v,1)});var y=T(m,2),b=T(i(y)),x=i(b,!0);h(b),S(),h(y);var C=T(y,2),w=a=>{var o=G(),s=i(o,!0);h(o),e(()=>n(s,r(W))),t(a,o)};l(C,e=>{r(W)&&e(w)}),e(()=>{p.disabled=r(U),n(x,r(V))}),s(`keydown`,p,e=>{e.key===`Enter`&&ye()}),E(p,()=>r(H),e=>f(H,e)),t(o,u)},$$slots:{default:!0}})}};l(De,e=>{r(V)!==null&&e(Oe)}),e(()=>Q.disabled=!r(R)),s(`keydown`,Z,e=>{e.key===`Enter`&&z()}),E(Z,()=>r(m),e=>f(m,e)),s(`click`,Q,()=>void z()),t(o,be),v()}o([`keydown`,`click`]);export{K as component};
|