fundus 0.13.0 → 0.15.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/build/client/_app/immutable/assets/AssetSourceMenu.IjDdjx3o.css +1 -0
- package/build/client/_app/immutable/assets/AssetSourceMenu.IjDdjx3o.css.br +0 -0
- package/build/client/_app/immutable/assets/AssetSourceMenu.IjDdjx3o.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{dNO-9VOT.js → -8MKoIIe.js} +1 -1
- package/build/client/_app/immutable/chunks/-8MKoIIe.js.br +0 -0
- package/build/client/_app/immutable/chunks/-8MKoIIe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BmOjTxFk.js +1 -0
- package/build/client/_app/immutable/chunks/BmOjTxFk.js.br +0 -0
- package/build/client/_app/immutable/chunks/BmOjTxFk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D1wFzWdi.js +108 -0
- package/build/client/_app/immutable/chunks/D1wFzWdi.js.br +0 -0
- package/build/client/_app/immutable/chunks/D1wFzWdi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DY9QjkXW.js +1 -0
- package/build/client/_app/immutable/chunks/DY9QjkXW.js.br +0 -0
- package/build/client/_app/immutable/chunks/DY9QjkXW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmQb0SN8.js +2 -0
- package/build/client/_app/immutable/chunks/DmQb0SN8.js.br +0 -0
- package/build/client/_app/immutable/chunks/DmQb0SN8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/N1X6Qzcl.js +1 -0
- package/build/client/_app/immutable/chunks/N1X6Qzcl.js.br +0 -0
- package/build/client/_app/immutable/chunks/N1X6Qzcl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/VX-Uq_b9.js +1 -0
- package/build/client/_app/immutable/chunks/VX-Uq_b9.js.br +1 -0
- package/build/client/_app/immutable/chunks/VX-Uq_b9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Z8rcWjXZ.js +3 -0
- package/build/client/_app/immutable/chunks/Z8rcWjXZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/Z8rcWjXZ.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CJpgt8H5.js +2 -0
- package/build/client/_app/immutable/entry/app.CJpgt8H5.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CJpgt8H5.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DToPJitz.js +1 -0
- package/build/client/_app/immutable/entry/start.DToPJitz.js.br +1 -0
- package/build/client/_app/immutable/entry/start.DToPJitz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Co4Hh8k6.js +1 -0
- package/build/client/_app/immutable/nodes/0.Co4Hh8k6.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Co4Hh8k6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.D6OhgXcC.js +1 -0
- package/build/client/_app/immutable/nodes/1.D6OhgXcC.js.br +3 -0
- package/build/client/_app/immutable/nodes/1.D6OhgXcC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.sBDjyIQu.js +3 -0
- package/build/client/_app/immutable/nodes/2.sBDjyIQu.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.sBDjyIQu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DDt73kMC.js +1 -0
- package/build/client/_app/immutable/nodes/3.DDt73kMC.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DDt73kMC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.FsXXhVSP.js +2 -0
- package/build/client/_app/immutable/nodes/4.FsXXhVSP.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.FsXXhVSP.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/handler.js +7 -7
- package/build/index.js +7 -7
- package/build/server/chunks/chunks/{context.js-6YdbScn_.js → context.js-CVuTSPjH.js} +2 -2
- package/build/server/chunks/chunks/{context.js-6YdbScn_.js.map → context.js-CVuTSPjH.js.map} +1 -1
- package/build/server/chunks/chunks/{contract.js-BHQbpsFk.js → contract.js-itFN0Gon.js} +6 -2
- package/build/server/chunks/chunks/contract.js-itFN0Gon.js.map +1 -0
- package/build/server/chunks/chunks/{exports.js-C5HMgZGL.js → exports.js-VRV1_yEb.js} +2 -2
- package/build/server/chunks/chunks/{exports.js-C5HMgZGL.js.map → exports.js-VRV1_yEb.js.map} +1 -1
- package/build/server/chunks/chunks/{http.js-dbT0ifQ9.js → http.js-ChQRRKfZ.js} +2 -2
- package/build/server/chunks/chunks/{http.js-dbT0ifQ9.js.map → http.js-ChQRRKfZ.js.map} +1 -1
- package/build/server/chunks/chunks/{internal.js-BnaiVrdk.js → internal.js-qXxDe7VN.js} +3 -3
- package/build/server/chunks/chunks/{internal.js-BnaiVrdk.js.map → internal.js-qXxDe7VN.js.map} +1 -1
- package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
- package/build/server/chunks/chunks/{shared.js-NjzxopNt.js → shared.js-DnEOHbgT.js} +2 -2
- package/build/server/chunks/chunks/{shared.js-NjzxopNt.js.map → shared.js-DnEOHbgT.js.map} +1 -1
- package/build/server/chunks/chunks/{utils.js-ZvXGkEDJ.js → utils.js-lNH0hKSx.js} +3 -3
- package/build/server/chunks/chunks/{utils.js-ZvXGkEDJ.js.map → utils.js-lNH0hKSx.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-BaMGnbi8.js → _server.ts.js-z988EDp2.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-BaMGnbi8.js.map → _server.ts.js-z988EDp2.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-B6YhmqYd.js → _server.ts.js-C68ru6gS.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-B6YhmqYd.js.map → _server.ts.js-C68ru6gS.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-qtGGwjZ4.js → _server.ts.js-C0tk6RFk.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-qtGGwjZ4.js.map → _server.ts.js-C0tk6RFk.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-98vjovDS.js → _server.ts.js-I03oZuo8.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-98vjovDS.js.map → _server.ts.js-I03oZuo8.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CCzQEr--.js → _server.ts.js-BsQB8YDq.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CCzQEr--.js.map → _server.ts.js-BsQB8YDq.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-Ca7G_5IJ.js → _server.ts.js-CJuFE6Fb.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-Ca7G_5IJ.js.map → _server.ts.js-CJuFE6Fb.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-DRw4ICSn.js → _server.ts.js-DuOZRRiA.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-DRw4ICSn.js.map → _server.ts.js-DuOZRRiA.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-Ai46jTgw.js → _server.ts.js-DGzYpQbv.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-Ai46jTgw.js.map → _server.ts.js-DGzYpQbv.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-NQKYbtiU.js → _server.ts.js-B045QoCA.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-NQKYbtiU.js.map → _server.ts.js-B045QoCA.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-_vJ2Npqd.js → _server.ts.js-HUkVdz19.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-_vJ2Npqd.js.map → _server.ts.js-HUkVdz19.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-DIn5srjK.js → _server.ts.js-ry509mom.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-DIn5srjK.js.map → _server.ts.js-ry509mom.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-CqFLRTP-.js → _server.ts.js-DU0J7U25.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-CqFLRTP-.js.map → _server.ts.js-DU0J7U25.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-BYn_v3VS.js → _server.ts.js-AZIV2PIn.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-BYn_v3VS.js.map → _server.ts.js-AZIV2PIn.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-sxVzkX1S.js → _server.ts.js-CDL0hCfM.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-sxVzkX1S.js.map → _server.ts.js-CDL0hCfM.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-E3B6VyAs.js → _server.ts.js-B13c17fq.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-E3B6VyAs.js.map → _server.ts.js-B13c17fq.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-ClgS9ghS.js → _server.ts.js-BCxjyAGC.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-ClgS9ghS.js.map → _server.ts.js-BCxjyAGC.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-BPUzWMNL.js → _server.ts.js-BveeMZc2.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-BPUzWMNL.js.map → _server.ts.js-BveeMZc2.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-_G6pURnx.js → _server.ts.js-BZjTd9a0.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-_G6pURnx.js.map → _server.ts.js-BZjTd9a0.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-as3GcjaI.js → _server.ts.js-BbTfPvC9.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-as3GcjaI.js.map → _server.ts.js-BbTfPvC9.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-CR58wymO.js → _server.ts.js-8VPJMLBk.js} +3 -3
- package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-CR58wymO.js.map → _server.ts.js-8VPJMLBk.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-Do2LOf04.js → _server.ts.js-BqR2J2sB.js} +4 -4
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-Do2LOf04.js.map → _server.ts.js-BqR2J2sB.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-Ckp6_SaE.js → _server.ts.js-DbA28dCY.js} +4 -4
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-Ckp6_SaE.js.map → _server.ts.js-DbA28dCY.js.map} +1 -1
- package/build/server/chunks/entries/{hooks.server.js-CL1tg0CT.js → hooks.server.js-9PBc_3Jh.js} +3 -3
- package/build/server/chunks/entries/{hooks.server.js-CL1tg0CT.js.map → hooks.server.js-9PBc_3Jh.js.map} +1 -1
- package/build/server/chunks/{handler-Zr8T8kxt.js → handler-BHt7eOOX.js} +5 -5
- package/build/server/chunks/{handler-Zr8T8kxt.js.map → handler-BHt7eOOX.js.map} +1 -1
- package/build/server/chunks/{index.js-CylGYR9j.js → index.js-DcVaL-Ja.js} +5 -5
- package/build/server/chunks/{index.js-CylGYR9j.js.map → index.js-DcVaL-Ja.js.map} +1 -1
- package/build/server/chunks/{manifest.js-BLhgBmWN.js → manifest.js-DgjSU4wg.js} +29 -29
- package/build/server/chunks/{manifest.js-BLhgBmWN.js.map → manifest.js-DgjSU4wg.js.map} +1 -1
- package/build/server/chunks/nodes/{0.js-S7CogBDa.js → 0.js-BgTB-_Zt.js} +2 -2
- package/build/server/chunks/nodes/{0.js-S7CogBDa.js.map → 0.js-BgTB-_Zt.js.map} +1 -1
- package/build/server/chunks/nodes/1.js-DNabcIPP.js +7 -0
- package/build/server/chunks/nodes/{1.js-CmtmxFOc.js.map → 1.js-DNabcIPP.js.map} +1 -1
- package/build/server/chunks/nodes/2.js-CcVBvLSR.js +7 -0
- package/build/server/chunks/nodes/{2.js-LCLS1c6Z.js.map → 2.js-CcVBvLSR.js.map} +1 -1
- package/build/server/chunks/nodes/3.js-DreG5rig.js +7 -0
- package/build/server/chunks/nodes/{3.js-Bng5WtIG.js.map → 3.js-DreG5rig.js.map} +1 -1
- package/build/server/chunks/nodes/4.js-BE7ZG9vA.js +7 -0
- package/build/server/chunks/nodes/{4.js-BQHl-pD5.js.map → 4.js-BE7ZG9vA.js.map} +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/manifest-entry.d.ts +14 -5
- package/dist/runtime/components/ChromaKeyVideo.svelte +3 -0
- package/dist/runtime/components/Image.svelte +8 -6
- package/dist/runtime/components/Image.svelte.d.ts +2 -3
- package/dist/runtime/components/Slice.svelte +52 -22
- package/dist/runtime/components/Video.svelte +3 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/kind-handlers.d.ts +22 -10
- package/dist/runtime/kind-handlers.js +58 -21
- package/dist/runtime/logging.d.ts +34 -0
- package/dist/runtime/logging.js +27 -0
- package/dist/runtime/manifest.d.ts +16 -5
- package/dist/runtime/manifest.js +19 -8
- package/dist/runtime/preload-registry.d.ts +20 -1
- package/dist/runtime/preload-registry.js +23 -2
- package/dist/runtime/slice-source-lifecycle.d.ts +11 -2
- package/dist/runtime/slice-source-lifecycle.js +21 -2
- package/dist/server/codegen.js +5 -1
- package/package.json +1 -1
- package/build/client/_app/immutable/assets/AssetSourceMenu.C5W2HI4L.css +0 -1
- package/build/client/_app/immutable/assets/AssetSourceMenu.C5W2HI4L.css.br +0 -0
- package/build/client/_app/immutable/assets/AssetSourceMenu.C5W2HI4L.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B9HdDE5n.js +0 -1
- package/build/client/_app/immutable/chunks/B9HdDE5n.js.br +0 -0
- package/build/client/_app/immutable/chunks/B9HdDE5n.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cpo53v_d.js +0 -1
- package/build/client/_app/immutable/chunks/Cpo53v_d.js.br +0 -3
- package/build/client/_app/immutable/chunks/Cpo53v_d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Q50krHyn.js +0 -2
- package/build/client/_app/immutable/chunks/Q50krHyn.js.br +0 -0
- package/build/client/_app/immutable/chunks/Q50krHyn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/SCZFzB6X.js +0 -108
- package/build/client/_app/immutable/chunks/SCZFzB6X.js.br +0 -0
- package/build/client/_app/immutable/chunks/SCZFzB6X.js.gz +0 -0
- package/build/client/_app/immutable/chunks/YpiA5Xry.js +0 -3
- package/build/client/_app/immutable/chunks/YpiA5Xry.js.br +0 -0
- package/build/client/_app/immutable/chunks/YpiA5Xry.js.gz +0 -0
- package/build/client/_app/immutable/chunks/dNO-9VOT.js.br +0 -0
- package/build/client/_app/immutable/chunks/dNO-9VOT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/hUfV2O0k.js +0 -1
- package/build/client/_app/immutable/chunks/hUfV2O0k.js.br +0 -0
- package/build/client/_app/immutable/chunks/hUfV2O0k.js.gz +0 -0
- package/build/client/_app/immutable/chunks/rkm4Gik6.js +0 -1
- package/build/client/_app/immutable/chunks/rkm4Gik6.js.br +0 -0
- package/build/client/_app/immutable/chunks/rkm4Gik6.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.z-Xkr99w.js +0 -2
- package/build/client/_app/immutable/entry/app.z-Xkr99w.js.br +0 -0
- package/build/client/_app/immutable/entry/app.z-Xkr99w.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CHlFBfLa.js +0 -1
- package/build/client/_app/immutable/entry/start.CHlFBfLa.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CHlFBfLa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DApz1CKw.js +0 -1
- package/build/client/_app/immutable/nodes/0.DApz1CKw.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DApz1CKw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CsFr-PaL.js +0 -1
- package/build/client/_app/immutable/nodes/1.CsFr-PaL.js.br +0 -3
- package/build/client/_app/immutable/nodes/1.CsFr-PaL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.ba45AZgx.js +0 -3
- package/build/client/_app/immutable/nodes/2.ba45AZgx.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.ba45AZgx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.P9WOEhGt.js +0 -1
- package/build/client/_app/immutable/nodes/3.P9WOEhGt.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.P9WOEhGt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CXvQQa7K.js +0 -2
- package/build/client/_app/immutable/nodes/4.CXvQQa7K.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CXvQQa7K.js.gz +0 -0
- package/build/server/chunks/chunks/contract.js-BHQbpsFk.js.map +0 -1
- package/build/server/chunks/nodes/1.js-CmtmxFOc.js +0 -7
- package/build/server/chunks/nodes/2.js-LCLS1c6Z.js +0 -7
- package/build/server/chunks/nodes/3.js-Bng5WtIG.js +0 -7
- package/build/server/chunks/nodes/4.js-BQHl-pD5.js +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.playback.svelte-nchstv{align-items:center;gap:6px;width:100%;display:flex}.btn.svelte-nchstv{background:var(--panel-raised);border-radius:var(--radius);width:28px;height:28px;color:var(--text);border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn.svelte-nchstv:hover:not(:disabled){border-color:var(--border)}.btn.svelte-nchstv:focus-visible{border-color:var(--accent);outline:none}.btn.svelte-nchstv:disabled{opacity:.4;cursor:not-allowed}.btn.active.svelte-nchstv{background:var(--accent-soft);color:var(--accent)}.btn.svelte-nchstv svg:where(.svelte-nchstv){width:16px;height:16px;display:block}.time.svelte-nchstv{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.volume-group.svelte-nchstv{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.range.svelte-nchstv{appearance:none;background:var(--panel-raised);cursor:pointer;border-radius:999px;height:4px}.range.scrub.svelte-nchstv{flex:1;min-width:0;margin:0 2px}.range.volume.svelte-nchstv{flex:none;width:72px}.range.svelte-nchstv:disabled{opacity:.4;cursor:not-allowed}.range.svelte-nchstv::-webkit-slider-thumb{appearance:none;background:var(--accent);border:none;border-radius:50%;width:12px;height:12px}.range.svelte-nchstv::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;width:12px;height:12px}.range.svelte-nchstv:focus-visible{outline:none}.range.svelte-nchstv:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-soft)}.range.svelte-nchstv:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-soft)}.audio-waveform.svelte-1liihyn{flex-direction:column;gap:8px;width:100%;height:100%;min-height:0;display:flex}.wave.svelte-1liihyn{cursor:pointer;touch-action:none;flex:1;width:100%;min-height:0;display:block}.footer.svelte-1liihyn{flex:none;align-items:center;display:flex}.stage.svelte-1ww4cvx{border:1px solid var(--border);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.audio-frame.svelte-1ww4cvx{width:min(90%,480px);height:128px}p.svelte-1ww4cvx{color:var(--text-dim)}.scrub-number.svelte-nhap92{flex:1;min-width:0;display:flex;position:relative}.input.svelte-nhap92{width:100%;min-width:0;color:var(--text);font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:none;outline:none;flex:1;margin:0;padding:0;font-size:11px}.scrub-number.with-suffix.svelte-nhap92 .input:where(.svelte-nhap92){flex:none}.suffix.svelte-nhap92{color:var(--text-dim);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:none;margin-left:2px;font-size:11px}.scrub-number.right.svelte-nhap92 .input:where(.svelte-nhap92){text-align:right}.input.svelte-nhap92::-webkit-outer-spin-button{appearance:none;margin:0}.input.svelte-nhap92::-webkit-inner-spin-button{appearance:none;margin:0}.scrub-surface.svelte-nhap92{cursor:ew-resize;touch-action:none;position:absolute;inset:0}.number-field.svelte-368zap{flex-direction:column;gap:4px;min-width:0;display:flex}.caption.svelte-368zap{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.number-input.svelte-368zap{border-radius:4px;align-items:center;gap:4px;min-width:0;height:24px;padding:0 6px 0 0;display:flex;position:relative;overflow:hidden}.number-input.svelte-368zap:focus-within{border-color:var(--accent)}.fill.svelte-368zap{pointer-events:none;z-index:0;background:#4a4a4a;height:100%;position:absolute;top:0;left:0}.icon-slot.svelte-368zap{z-index:1;width:24px;height:24px;color:var(--text-dim);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex;position:relative}.number-input.svelte-368zap .scrub-number{z-index:1}h3.svelte-1ol624f{letter-spacing:0;text-transform:none;color:#fff;margin:0 0 10px;font-size:11px;font-weight:400}.select-field.svelte-bczi6w{flex-direction:column;gap:4px;min-width:0;display:flex}.caption.svelte-bczi6w{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.select-input.svelte-bczi6w{border-radius:4px;align-items:center;gap:4px;min-width:0;height:24px;padding:0 6px 0 0;display:flex}.select-input.svelte-bczi6w:focus-within{border-color:var(--accent)}.icon-slot.svelte-bczi6w{width:24px;height:24px;color:var(--text-dim);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}select.svelte-bczi6w{width:100%;min-width:0;height:100%;color:var(--text);background:0 0;border:none;outline:none;flex:1;margin:0;padding:0;font-size:11px}section.svelte-m9vwwu{border-bottom:1px solid var(--border-soft);padding:12px}.hint.svelte-m9vwwu{color:var(--text-faint);margin:4px 0 0;font-size:11px}.info.svelte-m9vwwu{font-variant-numeric:tabular-nums;margin:0}.file.svelte-m9vwwu{color:var(--text-dim);word-break:break-all}section.svelte-1by8n8t{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-1by8n8t{margin-bottom:8px}.fundus-slice.svelte-3n5l3f{width:100%;height:100%;position:relative}canvas.svelte-3n5l3f,img.svelte-3n5l3f{pointer-events:none;display:block;position:absolute}img.svelte-3n5l3f{max-width:none;max-height:none}.fundus-chroma-key-video.svelte-r30mxh{width:100%;height:100%;position:relative}canvas.svelte-r30mxh,img.svelte-r30mxh{width:100%;height:100%;display:block}video.svelte-r30mxh{visibility:hidden;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stage.svelte-10eps7e{border:1px solid var(--border);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.stage.svelte-10eps7e img{object-fit:contain;max-width:90%;max-height:90%}img.svelte-gdduef{object-fit:contain;max-width:100%;max-height:100%}section.svelte-1yd7n22{border-bottom:1px solid var(--border-soft);padding:12px}.modes.svelte-1yd7n22{flex-direction:column;gap:4px;display:flex}.modes.svelte-1yd7n22 button:where(.svelte-1yd7n22){text-align:left;background:var(--panel-raised);color:var(--text);border-radius:var(--radius);border:1px solid #0000;padding:6px 10px}.modes.svelte-1yd7n22 button:where(.svelte-1yd7n22):hover{border-color:var(--border)}.modes.svelte-1yd7n22 button.on:where(.svelte-1yd7n22){background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.insets.svelte-1yd7n22{grid-template-columns:1fr 1fr;gap:8px;min-width:0;display:grid}.insets.single.svelte-1yd7n22{grid-template-columns:1fr}.preview-panel.svelte-1mjaycs{flex-direction:column;height:100%;min-height:0;display:flex}.bar.svelte-1mjaycs{flex:none;align-items:center;gap:10px;padding:8px 0;display:flex}.size.svelte-1mjaycs{color:var(--text-dim);font-variant-numeric:tabular-nums}.reset.svelte-1mjaycs{background:var(--panel-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);margin-left:auto;padding:4px 10px}.reset.svelte-1mjaycs:hover{border-color:var(--accent)}.stage.svelte-1mjaycs{border:1px solid var(--border);border-radius:var(--radius-large);flex:1;min-height:0;padding:24px;overflow:auto}.box.svelte-1mjaycs{position:relative;box-shadow:0 0 0 1px #ffffff1f}.box.svelte-1mjaycs .fill{position:absolute;inset:0}.handle.svelte-1mjaycs{touch-action:none;background:0 0;position:absolute}.handle.edge-right.svelte-1mjaycs{cursor:ew-resize;width:10px;height:100%;top:0;right:-4px}.handle.edge-bottom.svelte-1mjaycs{cursor:ns-resize;width:100%;height:10px;bottom:-4px;left:0}.handle.corner.svelte-1mjaycs{cursor:nwse-resize;background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 2px var(--canvas);border-radius:3px;bottom:-6px;right:-6px}.canvas.svelte-1jfrg6d{flex-direction:column;height:100%;min-height:0;display:flex}.toolbar.svelte-1jfrg6d{flex:none;align-items:center;gap:8px;padding:8px 0;display:flex}.toolbar.svelte-1jfrg6d button:where(.svelte-1jfrg6d){background:var(--panel-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:4px 10px}.toolbar.svelte-1jfrg6d button:where(.svelte-1jfrg6d):hover{border-color:var(--accent)}.toolbar.svelte-1jfrg6d button.active:where(.svelte-1jfrg6d){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.zoom.svelte-1jfrg6d{text-align:center;min-width:44px;color:var(--text-dim);font-variant-numeric:tabular-nums}.dims.svelte-1jfrg6d{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto}.viewport.svelte-1jfrg6d{touch-action:none;cursor:grab;border:1px solid var(--border);border-radius:var(--radius-large);flex:1;min-height:0;position:relative;overflow:hidden}.viewport.panning.svelte-1jfrg6d{cursor:grabbing}.image-wrap.svelte-1jfrg6d{transform-origin:0 0;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #ffffff14}.image-wrap.svelte-1jfrg6d img:where(.svelte-1jfrg6d){width:100%;height:100%;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.center-rect.svelte-1jfrg6d{pointer-events:none;position:absolute}.center-rect.side-edges.svelte-1jfrg6d{border-left:1px dashed #0d99ff99;border-right:1px dashed #0d99ff99}.center-rect.cap-edges.svelte-1jfrg6d{border-top:1px dashed #0d99ff99;border-bottom:1px dashed #0d99ff99}.overdraw-band.svelte-1jfrg6d{pointer-events:none;background:#38bdf829;position:absolute}.line.svelte-1jfrg6d{background:var(--accent);touch-action:none;position:absolute}.line.overdraw-line.svelte-1jfrg6d{background:#38bdf8 padding-box content-box}.line.overdraw-line.svelte-1jfrg6d .tag:where(.svelte-1jfrg6d){background:#38bdf8}.line.v.svelte-1jfrg6d{cursor:ew-resize;box-sizing:content-box;background-clip:content-box;width:1px;height:100%;margin-left:-.5px;padding:0 7px;top:0;transform:translate(-7px)}.line.h.svelte-1jfrg6d{cursor:ns-resize;box-sizing:content-box;background-clip:content-box;width:100%;height:1px;margin-top:-.5px;padding:7px 0;left:0;transform:translateY(-7px)}.line.active.svelte-1jfrg6d{background-color:var(--text);background-clip:content-box}.tag.svelte-1jfrg6d{background:var(--accent);color:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600;position:absolute}.line.v.svelte-1jfrg6d .tag:where(.svelte-1jfrg6d){top:4px;left:50%;transform:translate(-50%)}.line.h.svelte-1jfrg6d .tag:where(.svelte-1jfrg6d){top:50%;left:4px;transform:translateY(-50%)}.line.v.overdraw-line.svelte-1jfrg6d .tag:where(.svelte-1jfrg6d){top:auto;bottom:4px}.line.h.overdraw-line.svelte-1jfrg6d .tag:where(.svelte-1jfrg6d){left:auto;right:4px}.editor.svelte-1ea2lvt{flex-direction:column;flex:1;min-height:0;display:flex}.tabs.svelte-1ea2lvt{flex:none;gap:4px;margin-bottom:4px;display:inline-flex}.tabs.svelte-1ea2lvt button:where(.svelte-1ea2lvt){border-radius:var(--radius);color:var(--text-dim);background:0 0;border:none;padding:4px 10px}.tabs.svelte-1ea2lvt button.on:where(.svelte-1ea2lvt){background:var(--accent-soft);color:var(--accent)}.pane.svelte-1ea2lvt{flex:1;min-height:0}.empty.svelte-1ea2lvt{color:var(--text-dim);flex:1;justify-content:center;align-items:center;display:flex}section.svelte-ij1927{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-ij1927{margin-bottom:8px}.stage.svelte-qls820{border:1px solid var(--border);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.preview-column.svelte-qls820{flex-direction:column;align-items:center;gap:8px;display:flex}.video-frame.svelte-qls820{width:min(90%,480px)}.video-frame.svelte-qls820 video{width:100%;height:100%}p.svelte-qls820{color:var(--text-dim)}video.svelte-ejgo9x{object-fit:contain;max-width:100%;max-height:100%}.picker.svelte-56kutb{flex-direction:column;gap:4px;min-width:0;margin-bottom:8px;display:flex}.caption.svelte-56kutb{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.reference-input.svelte-56kutb{border-radius:4px;align-items:center;min-width:0;height:24px;padding:0;display:flex;position:relative}.reference-input.svelte-56kutb:focus-within{border-color:var(--accent)}.current.svelte-56kutb{min-width:0;height:100%;color:var(--text);text-align:left;background:0 0;border:none;outline:none;flex:1;align-items:center;gap:4px;padding:0 6px 0 0;display:flex}.current.empty.svelte-56kutb{color:var(--text-faint)}.preview-slot.svelte-56kutb{box-sizing:border-box;background:#4a4a4a;border-radius:3px 0 0 3px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-1px;padding:2px;display:flex;overflow:hidden}.preview.svelte-56kutb{object-fit:contain;width:100%;height:100%}.missing-preview.svelte-56kutb{color:var(--warning);font-weight:700}.clear.svelte-56kutb{border:none;border-left:1px solid var(--border-soft);width:24px;height:24px;color:var(--text-dim);background:0 0;border-radius:0 3px 3px 0;outline:none;flex:none;padding:0}.clear.svelte-56kutb:hover{color:var(--danger)}.id.svelte-56kutb,.placeholder.svelte-56kutb{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dangling.svelte-56kutb{color:var(--warning)}.dropdown.svelte-56kutb{z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);max-height:240px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.option.svelte-56kutb{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:4px 6px;display:flex}.option.svelte-56kutb .thumbnail:where(.svelte-56kutb){object-fit:contain;background:var(--canvas);border-radius:3px;flex:none;width:24px;height:24px}.option.svelte-56kutb:hover{background:var(--panel-raised)}.option.selected.svelte-56kutb{background:var(--accent-soft);color:var(--accent)}.hint.svelte-56kutb{color:var(--text-faint);margin:4px;font-size:11px}.color-field.svelte-gjs979{flex-direction:column;gap:4px;min-width:0;display:flex}.caption.svelte-gjs979{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.color-input.svelte-gjs979{border-radius:4px;align-items:center;gap:4px;min-width:0;height:24px;padding:0 6px 0 0;display:flex}.color-input.svelte-gjs979:focus-within{border-color:var(--accent)}.swatch-slot.svelte-gjs979{flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.swatch.svelte-gjs979{cursor:pointer;background:0 0;border:1px solid #ffffff3d;border-radius:3px;width:16px;height:16px;margin:0;padding:0;overflow:hidden}.swatch.svelte-gjs979::-webkit-color-swatch-wrapper{padding:0}.swatch.svelte-gjs979::-webkit-color-swatch{border:none}.hex-input.svelte-gjs979{width:100%;min-width:0;color:var(--text);font-variant-numeric:tabular-nums;text-transform:uppercase;background:0 0;border:none;outline:none;flex:1;margin:0;padding:0;font-size:11px}section.svelte-rsjkek{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-rsjkek{margin-bottom:8px}.stage.svelte-1y3xro5{border:1px solid var(--border);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.preview-column.svelte-1y3xro5{flex-direction:column;align-items:center;gap:8px;display:flex}.compare-row.svelte-1y3xro5{justify-content:center;align-items:flex-start;gap:16px;width:100%;max-width:760px;display:flex}figure.svelte-1y3xro5{flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;margin:0;display:flex}figcaption.svelte-1y3xro5{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.video-frame.svelte-1y3xro5{width:100%}.video-frame.svelte-1y3xro5 video{width:100%;height:100%}p.svelte-1y3xro5{color:var(--text-dim)}section.svelte-3jblpy{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-3jblpy{margin-bottom:8px}.backdrop.svelte-1f5yh58{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog.svelte-1f5yh58{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:360px;padding:16px;box-shadow:0 12px 32px #00000080}h2.svelte-1f5yh58{margin:0 0 4px;font-size:12px}.file-name.svelte-1f5yh58{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:0}.destination.svelte-1f5yh58{color:var(--text-faint);margin:2px 0 16px}.row.svelte-1f5yh58{align-items:center;gap:8px;margin-bottom:8px;display:flex}.label.svelte-1f5yh58{width:64px;color:var(--text-dim);flex:none}.row.svelte-1f5yh58 input:where(.svelte-1f5yh58){flex:1}.row.manifests.svelte-1f5yh58{align-items:flex-start}.row.manifests.svelte-1f5yh58>.label:where(.svelte-1f5yh58){line-height:28px}.manifest-list.svelte-1f5yh58{flex:1;max-height:132px;overflow-y:auto}.empty-manifests.svelte-1f5yh58{color:var(--text-faint);margin:0;font-size:11px}.segmented.svelte-1f5yh58{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented.svelte-1f5yh58 button:where(.svelte-1f5yh58){background:var(--panel-raised);color:var(--text-dim);border:none;padding:4px 12px}.segmented.svelte-1f5yh58 button.on:where(.svelte-1f5yh58){background:var(--accent);color:var(--text)}.hint.svelte-1f5yh58{color:var(--text-dim);margin:4px 0 0;font-size:11px}.hint.warn.svelte-1f5yh58,.error.svelte-1f5yh58{color:var(--warning)}.actions.svelte-1f5yh58{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.backdrop.svelte-n5o24b{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog.svelte-n5o24b{border:1px solid var(--border);background:var(--panel);border-radius:8px;width:420px;padding:16px;box-shadow:0 12px 32px #00000080}h2.svelte-n5o24b{margin:0 0 4px;font-size:12px}.destination.svelte-n5o24b{color:var(--text-faint);margin:0 0 16px}.row.svelte-n5o24b{gap:12px;display:flex}.field.svelte-n5o24b{color:var(--text-dim);flex-direction:column;flex:1;gap:4px;margin-bottom:10px;display:flex}.field.wide.svelte-n5o24b{width:100%}.warning.svelte-n5o24b{color:var(--warning);margin:6px 0 0;font-size:11px}.actions.svelte-n5o24b{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.directory.svelte-ftwms1{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;width:220px;min-width:180px;max-width:320px;min-height:0;display:flex}header.svelte-ftwms1{border-bottom:1px solid var(--border-soft);align-items:center;height:40px;padding:0 8px 0 12px;display:flex}header.svelte-ftwms1 strong:where(.svelte-ftwms1){font-size:11px}.actions.svelte-ftwms1{margin-left:auto;display:flex}.icon-button.svelte-ftwms1{width:24px;height:24px;color:var(--text-dim);border-radius:var(--radius-small);background:0 0;border:0}.icon-button.svelte-ftwms1:hover:not(:disabled){background:var(--panel-raised);color:var(--text)}.icon-button.danger.svelte-ftwms1:hover:not(:disabled){color:var(--danger)}.icon-button.svelte-ftwms1:disabled{opacity:.3;cursor:default}.tree.svelte-ftwms1{padding:6px 4px;overflow:auto}.folder-row.svelte-ftwms1,.asset-row.svelte-ftwms1{padding-left:calc((var(--depth) + 2) * 14px);display:flex}.row.svelte-ftwms1{color:var(--text-dim);border-radius:var(--radius-small);text-align:left;background:0 0;border:0;align-items:center;gap:6px;min-width:0;height:28px;display:flex}.row.special.svelte-ftwms1{width:100%;padding:0 8px}.row.folder.svelte-ftwms1{flex:1;padding:0 8px 0 2px}.row.asset.svelte-ftwms1{cursor:grab;flex:1;padding:0 8px 0 2px}.row.asset.svelte-ftwms1:active{cursor:grabbing}.row.svelte-ftwms1:hover,.row.selected.svelte-ftwms1{background:var(--panel-raised);color:var(--text)}.row.asset.current.svelte-ftwms1,.row.selected.svelte-ftwms1{background:var(--accent-soft);color:var(--accent)}.row.drop-target.svelte-ftwms1{outline:1px solid var(--accent);background:var(--accent-soft)}.glyph.svelte-ftwms1{width:14px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;display:flex}.asset-glyph.svelte-ftwms1{font-size:7px}.asset-warning.svelte-ftwms1{color:var(--warning);flex:none;margin-left:auto}.label.svelte-ftwms1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.count.svelte-ftwms1{color:var(--text-faint);margin-left:auto;font-size:10px}.dialog-row.svelte-ftwms1{align-items:center;gap:8px;display:flex}.dialog-row.svelte-ftwms1 span:where(.svelte-ftwms1){width:44px;color:var(--text-dim)}.dialog-row.svelte-ftwms1 input:where(.svelte-ftwms1){flex:1}.dialog-path.svelte-ftwms1,.dialog-text.svelte-ftwms1,.dialog-warning.svelte-ftwms1{margin:8px 0 0}.dialog-path.svelte-ftwms1{color:var(--text-faint)}.dialog-warning.svelte-ftwms1{color:var(--warning)}.context-menu.svelte-10jgqdh{z-index:200;background:var(--panel-raised);border:1px solid var(--border);border-radius:6px;width:168px;padding:4px;position:fixed;box-shadow:0 8px 24px #00000073}button.svelte-10jgqdh{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;padding:6px 8px}button.svelte-10jgqdh:hover,button.svelte-10jgqdh:focus-visible{background:var(--accent-soft);outline:none}button.danger.svelte-10jgqdh{color:var(--danger)}hr.svelte-10jgqdh{background:var(--border);border:0;height:1px;margin:4px 8px}.source-menu.svelte-1c64lfa{gap:2px;width:240px;max-width:100%;display:grid}button.svelte-1c64lfa{border-radius:var(--radius-small);width:100%;color:var(--text);text-align:left;background:0 0;border:0;flex-direction:column;gap:1px;padding:8px;display:flex}button.svelte-1c64lfa:hover,button.svelte-1c64lfa:focus-visible{background:var(--accent-soft);outline:none}span.svelte-1c64lfa{color:var(--text-dim);font-size:11px;font-weight:400}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{$ as e,A as t,D as n,E as r,F as i,I as a,K as o,L as s,M as c,P as l,R as u,V as d,Z as f,a as p,b as m,dt as h,f as g,j as _,m as v,ot as y,p as b,rt as x,st as S,y as C}from"./Z8rcWjXZ.js";import"./xihTtKlq.js";import{k as w,t as T}from"./DmQb0SN8.js";var E={"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"/>`,sort:`<path d="m3 16 4 4 4-4"/><path d="M7 20V4"/><path d="M11 4h10"/><path d="M11 8h7"/><path d="M11 12h4"/>`,"asset-type":`<path d="M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z"/><rect x="3" y="14" width="7" height="7" rx="1"/><circle cx="17.5" cy="17.5" r="3.5"/>`,manifest:`<path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"/><path d="M14 2v5a1 1 0 0 0 1 1h5"/><path d="M10 9H8"/><path d="M16 13H8"/><path d="M16 17H8"/>`,"git-branch":`<path d="M15 6a9 9 0 0 0-9 9V3"/><circle cx="18" cy="6" r="3"/><circle cx="6" cy="18" r="3"/>`,images:`<path d="m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16"/><path d="M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2"/><circle cx="13" cy="7" r="1" fill="currentColor"/><rect x="8" y="2" width="14" height="14" rx="2"/>`,"file-search":`<path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"/><path d="M14 2v5a1 1 0 0 0 1 1h5"/><circle cx="11.5" cy="14.5" r="2.5"/><path d="M13.3 16.3 15 18"/>`,"list-filter":`<path d="M3 6h18"/><path d="M7 12h10"/><path d="M10 18h4"/>`,plus:`<path d="M5 12h14"/><path d="M12 5v14"/>`,"chevron-down":`<path d="m6 9 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"/>`},D=i(`<svg class="icon svelte-jamecx" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg>`);function O(e,t){let n=p(t,`size`,3,16);var i=D();r(i,()=>E[t.name],!0),h(i),o(()=>{b(i,`width`,n()),b(i,`height`,n())}),c(e,i)}function k(e){return e.length===0?[]:[e.includes(`main`)?`main`:e[0]]}function A(e,t){return w(e)??(t.has(e)?`An asset with id "${e}" already exists.`:null)}function j(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`?k(n):[],error:null,busy:!1});return r}var M=l(`<span class="color-dot svelte-151zph4"></span>`),N=l(`<span class="via svelte-151zph4"> </span>`),P=l(`<label><input type="checkbox" class="svelte-151zph4"/> <span class="marker svelte-151zph4" aria-hidden="true"><!></span> <span class="name svelte-151zph4"> </span> <!></label>`),F=l(`<div class="manifest-selector svelte-151zph4" role="group" aria-label="Manifest assignments"></div>`);function I(r,i){S(i,!0);let s=p(i,`disabled`,3,!1);function l(e){return i.passive.find(t=>t.manifest===e)}function w(e,t,n){return t?`${e}: explicitly assigned`:n?`${e}: passive member via ${n.via.join(`, `)}`:`${e}: not assigned`}var E=F();n(E,20,()=>i.manifests,e=>e,(n,r)=>{let p=x(()=>T.manifestAppearance(r)),y=x(()=>i.selected.includes(r)),S=x(()=>l(r)),E=x(()=>d(p).color??`var(--accent)`);var D=P();let O,k;var A=f(D);g(A);var j=e(A,2),F=f(j),I=e=>{var t=a();o(()=>_(t,d(p).emoji)),c(e,t)},L=e=>{c(e,M())};t(F,e=>{d(p).emoji?e(I):e(L,-1)}),h(j);var R=e(j,2),z=f(R,!0);h(R);var B=e(R,2),V=e=>{var t=N(),n=f(t);h(t),o(e=>_(n,`passive · via ${e??``}`),[()=>d(S).via.join(`, `)]),c(e,t)};t(B,e=>{d(S)&&!d(y)&&e(V)}),h(D),o((e,t)=>{O=m(D,1,`manifest-option control svelte-151zph4`,null,O,{selected:d(y),passive:d(S)!==void 0&&!d(y),disabled:s()}),b(D,`title`,e),k=C(D,``,k,{"--manifest-color":d(E)}),v(A,d(y)),A.disabled=s(),b(A,`aria-label`,t),_(z,r)},[()=>w(r,d(y),d(S)),()=>w(r,d(y),d(S))]),u(`change`,A,()=>i.onToggle(r)),c(n,D)}),h(E),c(r,E),y()}s([`change`]);export{O as a,A as i,k as n,j as r,I as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,K as n,L as r,M as i,P as a,R as o,S as s,T as c,U as l,V as u,X as d,Z as f,a as p,b as m,dt as h,j as g,nt as _,ot as v,p as y,q as b,s as x,st as S,tt as C,z as w}from"./Z8rcWjXZ.js";import"./xihTtKlq.js";function T(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} kB`:`${(e/(1024*1024)).toFixed(2)} MB`}function E(e){return`${(e/1e3).toFixed(2)} s`}function D(e,t){let{maxWidth:n,...r}=e;return t===null||!Number.isFinite(t)||t<=0?r:{...r,maxWidth:Math.round(t)}}function O(e,t){return e.defaultPrevented||e.isComposing||t.busy?null:e.key===`Escape`?`cancel`:e.key===`Enter`&&!t.confirmDisabled?`confirm`:null}function k(e){return e instanceof Element&&e.closest(`button, select, textarea, [contenteditable]:not([contenteditable="false"])`)!==null}function A(e,t){let n=O(e,t);n===null||n===`confirm`&&k(e.target)||(e.preventDefault(),e.stopPropagation(),n===`confirm`?t.onConfirm():t.onCancel())}var j=a(`<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 M(t,r){S(r,!0);let a=p(r,`danger`,3,!1),s=p(r,`confirmDisabled`,3,!1),l=p(r,`busy`,3,!1);var u=j();w(`keydown`,d,e=>A(e,{busy:l(),confirmDisabled:s(),onConfirm:r.onConfirm,onCancel:r.onCancel}));var _=f(u),b=f(_),x=f(b,!0);h(b);var C=e(b,2);c(C,()=>r.children);var T=e(C,2),E=f(T),D=e(E,2);let O;var k=f(D,!0);h(D),h(T),h(_),h(u),n(()=>{y(_,`aria-label`,r.title),g(x,r.title),E.disabled=l(),O=m(D,1,`control`,null,O,{primary:!a(),danger:a()}),D.disabled=s()||l(),g(k,r.confirmLabel)}),o(`click`,u,e=>{e.target===e.currentTarget&&!l()&&r.onCancel()}),o(`click`,E,function(...e){r.onCancel?.apply(this,e)}),o(`click`,D,function(...e){r.onConfirm?.apply(this,e)}),i(t,u),v()}r([`click`]);function N({anchor:e,panel:t,viewport:n,align:r,gap:i=6,padding:a=8}){let o=r===`right`?e.right-t.width:e.left,s=Math.max(a,n.width-t.width-a),c=Math.min(Math.max(o,a),s),l=e.bottom+i,u=e.top-i-t.height,d=Math.max(a,n.height-t.height-a),f=l+t.height>n.height-a&&u>=a?u:l;return{left:c,top:Math.min(Math.max(f,a),d)}}var P=a(`<div role="dialog"><!></div>`),F=a(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function I(r,a){S(a,!0);let o=p(a,`open`,15,!1),d=p(a,`align`,3,`left`),g=p(a,`portal`,3,!1),w=p(a,`matchTriggerWidth`,3,!1),T=p(a,`surface`,3,`raised`),E=p(a,`padding`,3,`default`),D=_(void 0),O=_(void 0),k=[`button:not([disabled])`,`[href]`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function A(){o(!o())}function j(e){if(!g())return{destroy(){}};document.body.append(e);let t=0;function n(){if(!u(D))return;let t=u(D).getBoundingClientRect();w()&&(e.style.width=`${t.width}px`);let n=N({anchor:t,panel:e.getBoundingClientRect(),viewport:{width:window.innerWidth,height:window.innerHeight},align:d()});e.style.left=`${n.left}px`,e.style.top=`${n.top}px`}return t=requestAnimationFrame(n),window.addEventListener(`resize`,n),window.addEventListener(`scroll`,n,!0),{destroy(){cancelAnimationFrame(t),window.removeEventListener(`resize`,n),window.removeEventListener(`scroll`,n,!0),e.remove()}}}b(()=>{if(!o())return;let e=u(D)?.querySelector(k);l().then(()=>{o()&&u(O)?.querySelector(k)?.focus()});function t(e){let t=e.target;!u(D)?.contains(t)&&!u(O)?.contains(t)&&o(!1)}function n(e){e.key===`Escape`&&o(!1)}return window.addEventListener(`pointerdown`,t,!0),window.addEventListener(`keydown`,n),()=>{window.removeEventListener(`pointerdown`,t,!0),window.removeEventListener(`keydown`,n),l().then(()=>{!o()&&e?.isConnected&&e.focus()})}});var M=F(),I=f(M);c(I,()=>a.trigger,()=>({toggle:A,open:o()}));var L=e(I,2),R=e=>{var t=P();let r;c(f(t),()=>a.children),h(t),x(t,e=>C(O,e),()=>u(O)),s(t,e=>j?.(e)),n(()=>{r=m(t,1,`popover svelte-1rznwff`,null,r,{floating:g(),"panel-surface":T()===`panel`,"compact-padding":E()===`compact`,"match-trigger-width":w(),right:d()===`right`}),y(t,`aria-label`,a.label)}),i(e,t)};t(L,e=>{o()&&e(R)}),h(M),x(M,e=>C(D,e),()=>u(D)),i(r,M),v()}export{E as a,T as i,M as n,D as o,A as r,I as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,D as r,F as i,I as a,K as o,L as s,M as c,N as l,P as u,Q as d,R as f,T as p,U as m,V as h,W as g,X as _,Z as v,_ as y,a as b,b as x,d as S,dt as C,et as w,f as T,g as E,h as D,j as O,k,l as A,n as j,nt as M,o as N,ot as P,p as F,q as I,r as L,rt as R,s as z,st as B,tt as V,ut as H,v as U,x as ee,y as W,z as G}from"./Z8rcWjXZ.js";import"./N1X6Qzcl.js";import"./xihTtKlq.js";import{C as K,D as q,E as J,F as te,G as ne,I as re,L as ie,M as ae,O as Y,P as X,R as Z,S as oe,T as Q,V as se,Y as ce,Z as le,_ as ue,b as de,g as fe,i as pe,it as me,j as he,k as ge,nt as _e,p as ve,s as ye,st as be,t as $,u as xe,v as Se,w as Ce,x as we,y as Te}from"./DmQb0SN8.js";import{a as Ee,n as De,t as Oe}from"./-8MKoIIe.js";import{a as ke,i as Ae,n as je,o as Me,r as Ne}from"./BmOjTxFk.js";var Pe=class{#e=0;#t=!1;#n;#r;constructor(e){this.#r=e}async run(e,t={}){let n=++this.#e,r=t.retainResult&&this.#t?this.#n:void 0;this.#r(t.retainResult&&this.#t?{status:`refreshing`,value:this.#n}:{status:`loading`});try{let t=await e();n===this.#e&&(this.#t=!0,this.#n=t,this.#r({status:`resolved`,value:t}))}catch(e){n===this.#e&&this.#r({status:`failed`,error:e instanceof Error?e.message:String(e),...t.retainResult&&this.#t?{value:r}:{}})}}cancel(){this.#e++,this.#t=!1,this.#r({status:`idle`})}},Fe={folder:null,sort:`alphabetical`,type:[],manifest:[],changes:[],usage:`all`,query:``,warningsOnly:!1,view:`all`},Ie=[`folder`,`sort`,`type`,`manifest`,`changes`,`usage`,`q`,`warnings`,`view`],Le=new Set([`alphabetical`,`type`,`manifest`]),Re=new Set([`changed`,`new`]),ze=new Set([`all`,`unused`]),Be=new Set([`all`,`duplicates`]);function Ve(e){let t=e.searchParams.get(`sort`),n=e.searchParams.get(`usage`);return{folder:e.searchParams.has(`folder`)?e.searchParams.get(`folder`)??``:null,sort:Le.has(t)?t:`alphabetical`,type:He(e,`type`),manifest:He(e,`manifest`),changes:Ue(e),usage:ze.has(n)?n:`all`,query:e.searchParams.get(`q`)??``,warningsOnly:e.searchParams.get(`warnings`)===`1`,view:Be.has(e.searchParams.get(`view`))?e.searchParams.get(`view`):`all`}}function He(e,t){return[...new Set(e.searchParams.getAll(t).filter(e=>e!==``&&e!==`all`))]}function Ue(e){let t=e.searchParams.getAll(`changes`),n=new Set;for(let e of t)e===`changed-and-new`?(n.add(`changed`),n.add(`new`)):Re.has(e)&&n.add(e);return[`changed`,`new`].filter(e=>n.has(e))}function We(e,t){let n=new URL(e);for(let e of Ie)n.searchParams.delete(e);t.folder!==null&&n.searchParams.set(`folder`,t.folder),t.sort!==`alphabetical`&&n.searchParams.set(`sort`,t.sort);for(let e of t.type)n.searchParams.append(`type`,e);for(let e of t.manifest)n.searchParams.append(`manifest`,e);for(let e of t.changes)n.searchParams.append(`changes`,e);return t.usage!==`all`&&n.searchParams.set(`usage`,t.usage),t.query.trim()!==``&&n.searchParams.set(`q`,t.query),t.warningsOnly&&n.searchParams.set(`warnings`,`1`),t.view!==`all`&&n.searchParams.set(`view`,t.view),n}function Ge(e,t,n){return e===t?n:{selectedAssetIds:[],lastSelectedAssetId:null}}var Ke=new class{#e=0;begin(){return++this.#e}isCurrent(e){return e===this.#e}};function qe(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}var Je=i(`<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>`),Ye=i(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-nchstv"><path d="M5 3.3v9.4l7-4.7z" fill="currentColor"></path></svg>`),Xe=u(`<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),Ze=u(`<span class="time svelte-nchstv"> </span>`),Qe=i(`<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>`),$e=i(`<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>`),et=u(`<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>`),tt=u(`<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 nt(n,r){B(r,!0);let i=b(r,`media`,7),a=b(r,`showScrub`,3,!1),s=b(r,`showVolume`,3,!0),l=M(!1),u=M(0),p=M(0),m=M(!1),g=M(1),_=M(!1),y=M(!1),S=!1,w=null,E=R(()=>qe(h(u))),k=R(()=>qe(h(p))),A=R(()=>h(p)>0),j=R(()=>h(_)?0:h(g));I(()=>{if(!i()){V(l,!1);return}let e=i();V(l,!e.paused),V(u,e.currentTime,!0),V(p,Number.isFinite(e.duration)?e.duration:0,!0),V(m,e.loop,!0),V(g,e.volume,!0),V(_,e.muted,!0);function t(){V(l,!0)}function n(){V(l,!1)}function r(){h(y)||V(u,e.currentTime,!0)}function a(){V(p,Number.isFinite(e.duration)?e.duration:0,!0)}function o(){V(g,e.volume,!0),V(_,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),()=>{w===e&&(V(y,!1),S=!1,w=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 N(){i()&&(i().paused?i().play():i().pause())}function L(){i()&&(i().pause(),i().currentTime=0)}function z(){i()&&(i().loop=!i().loop,V(m,i().loop,!0))}function H(){i()&&(i().muted=!i().muted)}function U(e){if(!i())return;let t=e.currentTarget.valueAsNumber;i().volume=t,i().muted=t===0}function ee(){!i()||h(y)||(V(y,!0),S=!i().paused,w=i(),i().pause())}function W(e){let t=w??i();if(!t)return;let n=e.currentTarget.valueAsNumber;Number.isFinite(t.duration)&&(t.currentTime=n),V(u,n,!0)}function G(){if(!h(y))return;let e=w;V(y,!1),S&&e&&i()===e&&e.play(),S=!1,w=null}I(()=>{if(h(y))return window.addEventListener(`pointerup`,G),window.addEventListener(`pointercancel`,G),()=>{window.removeEventListener(`pointerup`,G),window.removeEventListener(`pointercancel`,G)}});var K=tt(),q=v(K),J=v(q),te=e=>{c(e,Je())},ne=e=>{c(e,Ye())};t(J,e=>{h(l)?e(te):e(ne,-1)}),C(q);var re=e(q,2),ie=e(re,2);let ae;var Y=e(ie,2),X=t=>{var n=Xe(),r=d(n),a=v(r,!0);C(r);var s=e(r,2);T(s);var l=e(s,2),m=v(l,!0);C(l),o(()=>{O(a,h(E)),F(s,`max`,h(A)?h(p):0),D(s,h(u)),s.disabled=!i()||!h(A),O(m,h(k))}),f(`pointerdown`,s,ee),f(`input`,s,W),c(t,n)},Z=e=>{var t=Ze(),n=v(t);C(t),o(()=>O(n,`${h(E)??``} / ${h(k)??``}`)),c(e,t)};t(Y,e=>{a()?e(X):h(A)&&e(Z,1)});var oe=e(Y,2),Q=n=>{var r=et(),a=v(r),s=v(a),l=e=>{c(e,Qe())},u=e=>{c(e,$e())};t(s,e=>{h(_)||h(g)===0?e(l):e(u,-1)}),C(a);var d=e(a,2);T(d),C(r),o(()=>{a.disabled=!i(),F(a,`aria-label`,h(_)?`Unmute`:`Mute`),D(d,h(j)),d.disabled=!i()}),f(`click`,a,H),f(`input`,d,U),c(n,r)};t(oe,e=>{s()&&e(Q)}),C(K),o(()=>{x(K,1,`playback ${r.class??``??``}`,`svelte-nchstv`),q.disabled=!i(),F(q,`aria-label`,h(l)?`Pause`:`Play`),re.disabled=!i(),ae=x(ie,1,`btn svelte-nchstv`,null,ae,{active:h(m)}),ie.disabled=!i(),F(ie,`aria-pressed`,h(m))}),f(`click`,q,N),f(`click`,re,L),f(`click`,ie,z),c(n,K),P()}s([`click`,`pointerdown`,`input`]);var rt=null;function it(){return rt||=new AudioContext,rt}var at=null;function ot(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 st(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 ct(e,t,n){return Math.min(n,Math.max(t,e))}var lt=u(`<div class="footer svelte-1liihyn"><!></div>`),ut=u(`<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 dt(n,r){B(r,!0);let i=b(r,`loop`,3,!1),a=b(r,`showControls`,3,!1),s=M(void 0),l=M(null),u=M(!1),d=M(0),p=M(0),m=`idle`,_=null,y=null,S=0,w=1,T=`#0d99ff`,E=`#7a7a7a`,D=`#f24822`,O=0;function k(){if(!h(s))return;let e=getComputedStyle(h(s));T=e.getPropertyValue(`--accent`).trim()||T,E=e.getPropertyValue(`--text-faint`).trim()||E,D=e.getPropertyValue(`--danger`).trim()||D}function A(){if(!h(s))return;let e=h(s).getBoundingClientRect();w=window.devicePixelRatio||1;let t=Math.max(1,Math.round(e.width*w)),n=Math.max(1,Math.round(e.height*w));(h(s).width!==t||h(s).height!==n)&&(h(s).width=t,h(s).height=n,y=null),k()}function j(){if(!h(s))return;let e=h(s).getContext(`2d`);if(!e)return;let t=h(s).width,n=h(s).height,r=n/2;if(e.clearRect(0,0,t,n),m!==`ready`||!_){e.strokeStyle=m===`error`?D:E,e.lineWidth=Math.max(1,w),e.beginPath(),e.moveTo(0,r),e.lineTo(t,r),e.stroke();return}let i=Math.max(1,Math.floor(t));(!y||S!==i)&&(y=st(_,i),S=i);let a=h(p)>0?ct(h(d)/h(p),0,1):0,o=a*t,c=r*.9,l=t/i;e.lineWidth=1;for(let t=0;t<i;t++){let n=t*l,i=r-y.max[t]*c,a=r-y.min[t]*c;e.strokeStyle=n<=o?T:E,e.beginPath(),e.moveTo(n+.5,Math.min(i,r-.5)),e.lineTo(n+.5,Math.max(a,r+.5)),e.stroke()}a>0&&(e.strokeStyle=T,e.lineWidth=Math.max(1,w),e.beginPath(),e.moveTo(o,0),e.lineTo(o,n),e.stroke())}function N(){O&&=(cancelAnimationFrame(O),0)}function F(){h(l)&&V(d,h(l).currentTime,!0),j(),h(u)&&(O=requestAnimationFrame(F))}async function L(e){m=`loading`,j();try{let t=await(await fetch(e)).arrayBuffer(),n=await it().decodeAudioData(t);if(e!==r.src)return;_=ot(n),h(p)||V(p,n.duration,!0),m=`ready`,y=null,j()}catch{if(e!==r.src)return;m=`error`,j()}}function R(e){if(e.preventDefault(),e.stopPropagation(),!h(s)||!h(l))return;let t=h(s).getBoundingClientRect(),n=ct((e.clientX-t.left)/t.width,0,1),r=h(l).duration;Number.isFinite(r)&&r>0&&(h(l).currentTime=n*r),h(l).play()}function H(){h(l)&&(h(l).paused?h(l).play():h(l).pause())}function U(e){if(h(l)){if(e.key===`Enter`||e.key===` `){e.preventDefault(),H();return}if(e.key===`ArrowRight`||e.key===`ArrowLeft`){let t=h(l).duration;if(!Number.isFinite(t)||t<=0)return;e.preventDefault();let n=e.key===`ArrowRight`?5:-5;h(l).currentTime=ct(h(l).currentTime+n,0,t)}}}I(()=>{let e=h(l);e&&(e.loop=i())}),I(()=>{let e=r.src,t=h(s);if(!t)return;m=`idle`,_=null,y=null,S=0,V(d,0),V(p,0),V(u,!1);let n=new Audio(e);n.preload=`metadata`,n.loop=g(()=>i());function a(){at&&at!==n&&at.pause(),at=n,V(u,!0),N(),O=requestAnimationFrame(F)}function o(){at===n&&(at=null),V(u,!1),N(),j()}function c(){at===n&&(at=null),V(u,!1),N(),j()}function f(){V(d,n.currentTime,!0),h(u)||j()}function v(){Number.isFinite(n.duration)&&V(p,n.duration,!0),j()}n.addEventListener(`play`,a),n.addEventListener(`pause`,o),n.addEventListener(`ended`,c),n.addEventListener(`timeupdate`,f),n.addEventListener(`loadedmetadata`,v),n.addEventListener(`durationchange`,v),n.addEventListener(`seeked`,f),V(l,n,!0);let b=new ResizeObserver(()=>{A(),j()});b.observe(t);let x=new IntersectionObserver(t=>{t.some(e=>e.isIntersecting)&&(x.disconnect(),L(e))});return x.observe(t),A(),j(),()=>{N(),b.disconnect(),x.disconnect(),n.removeEventListener(`play`,a),n.removeEventListener(`pause`,o),n.removeEventListener(`ended`,c),n.removeEventListener(`timeupdate`,f),n.removeEventListener(`loadedmetadata`,v),n.removeEventListener(`durationchange`,v),n.removeEventListener(`seeked`,f),n.pause(),at===n&&(at=null),n.removeAttribute(`src`),n.load(),V(l,null)}});var ee=ut(),W=v(ee);z(W,e=>V(s,e),()=>h(s));var G=e(W,2),K=e=>{var t=lt();nt(v(t),{get media(){return h(l)}}),C(t),c(e,t)};t(G,e=>{a()&&e(K)}),C(ee),o(()=>x(ee,1,`audio-waveform ${r.class??``??``}`,`svelte-1liihyn`)),f(`click`,W,R),f(`keydown`,W,U),c(n,ee),P()}s([`click`,`keydown`]);var ft=u(`<div class="audio-frame svelte-1ww4cvx"><!></div>`),pt=u(`<p class="svelte-1ww4cvx">No proxy yet — add the asset to a manifest to process it.</p>`),mt=u(`<div class="stage checkerboard svelte-1ww4cvx"><!></div>`);function ht(e,n){B(n,!0);var r=mt(),i=v(r),a=e=>{var t=ft();k(v(t),()=>n.asset.proxy.url,e=>{dt(e,{get src(){return n.asset.proxy.url},showControls:!0})}),C(t),c(e,t)},o=e=>{c(e,pt())};t(i,e=>{n.asset.proxy?e(a):e(o,-1)}),C(r),c(e,r),P()}function gt(e){if(e.scrubbedValue===null)return{};let t=e.startValue??e.min??0;return e.scrubbedValue===t?{rollbackTo:e.startValue}:{commit:e.scrubbedValue}}function _t(e,t){return t.coarse?e*10:t.fine?e*.1:e}function vt(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 yt(e,t){let n=10**t;return Math.round(e*n)/n}function bt(e){let t=_t(e.step,e.modifiers),n=yt(e.startValue+e.deltaX*t,vt(t));return e.min!==void 0&&(n=Math.max(e.min,n)),e.max!==void 0&&(n=Math.min(e.max,n)),n}function xt(e,t){t.buttons!==0&&!e.hasPointerCapture(t.pointerId)&&e.setPointerCapture(t.pointerId)}function St(e,t){e.hasPointerCapture(t)&&e.releasePointerCapture(t)}var Ct=u(`<span class="suffix svelte-nhap92" aria-hidden="true"> </span>`),wt=u(`<span class="scrub-surface svelte-nhap92" title="Drag to change — Shift: ×10, Alt: ×0.1" role="presentation" aria-hidden="true"></span>`),Tt=u(`<span><input class="input svelte-nhap92" type="number"/> <!> <!></span>`);function Et(n,r){B(r,!0);let i=b(r,`step`,3,1),a=b(r,`placeholder`,3,``),s=b(r,`allowNull`,3,!1),l=b(r,`align`,3,`left`),u=M(null),d=M(!1),p=M(null),m=M(null),g=R(()=>h(u)?.activated?h(u).currentValue:r.value),y=R(()=>Math.max(1,h(m)??String(h(g)??a()).length));function S(e){return{coarse:e.shiftKey,fine:e.altKey}}function w(e){e.preventDefault(),xt(e.currentTarget,e),V(u,{pointerId:e.pointerId,startX:e.clientX,startValue:r.value,currentValue:null,activated:!1},!0)}function E(e){if(!h(u)||e.pointerId!==h(u).pointerId)return;let t=e.clientX-h(u).startX;if(!h(u).activated){if(Math.abs(t)<3)return;h(u).activated=!0,document.body.style.cursor=`ew-resize`}let n=bt({startValue:h(u).startValue??r.min??0,deltaX:t,step:i(),modifiers:S(e),min:r.min,max:r.max});n!==h(u).currentValue&&(h(u).currentValue=n,r.onChange?.(n))}function k(e){if(!h(u)||e.pointerId!==h(u).pointerId)return;St(e.currentTarget,e.pointerId);let t=h(u).activated,n=h(u).startValue,i=h(u).currentValue;if(V(u,null),document.body.style.cursor=``,!t){N();return}let a=gt({startValue:n,scrubbedValue:i,min:r.min});a.commit===void 0?`rollbackTo`in a&&r.onChange?.(a.rollbackTo??null):r.onCommit(a.commit)}function A(){if(!h(u))return;let e=h(u).startValue,t=h(u).activated;V(u,null),document.body.style.cursor=``,t&&r.onChange?.(e)}function j(e){h(u)&&e.key===`Escape`&&(e.preventDefault(),A())}I(()=>()=>{h(u)&&(document.body.style.cursor=``)});function N(){V(d,!0),queueMicrotask(()=>{h(p)?.focus(),h(p)?.select()})}function L(e){let t=e.currentTarget.valueAsNumber;Number.isFinite(t)?r.onCommit(t):r.onCommit(s()?null:r.min??0)}function H(e){V(m,e.currentTarget.value.length,!0)}function U(e){e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(e.currentTarget.value=h(g)===null?``:String(h(g)),e.currentTarget.blur())}var ee=Tt();G(`keydown`,_,j);let K;var q=v(ee);T(q);let J;z(q,e=>V(p,e),()=>h(p));var te=e(q,2),ne=e=>{var t=Ct(),n=v(t,!0);C(t),o(()=>O(n,r.suffix)),c(e,t)};t(te,e=>{r.suffix!==void 0&&e(ne)});var re=e(te,2),ie=e=>{var t=wt();f(`pointerdown`,t,w),f(`pointermove`,t,E),f(`pointerup`,t,k),G(`pointercancel`,t,A),c(e,t)};t(re,e=>{h(d)||e(ie)}),C(ee),o(()=>{K=x(ee,1,`scrub-number svelte-nhap92`,null,K,{right:l()===`right`,"with-suffix":r.suffix!==void 0}),F(q,`aria-label`,r.ariaLabel),F(q,`min`,r.min),F(q,`max`,r.max),F(q,`step`,i()),F(q,`placeholder`,a()),D(q,h(g)??``),J=W(q,``,J,{width:r.suffix===void 0?void 0:`${h(y)}ch`})}),G(`focus`,q,e=>{V(d,!0),V(m,e.currentTarget.value.length,!0)}),G(`blur`,q,()=>{V(d,!1),V(m,null)}),f(`input`,q,H),f(`change`,q,L),f(`keydown`,q,U),c(n,ee),P()}s([`input`,`change`,`keydown`,`pointerdown`,`pointermove`,`pointerup`]);var Dt=u(`<span class="caption svelte-368zap"> </span>`),Ot=u(`<span class="fill svelte-368zap"></span>`),kt=u(`<div class="number-field svelte-368zap"><!> <div class="number-input control svelte-368zap"><!> <span class="icon-slot svelte-368zap"><!></span> <!></div></div>`);function At(n,r){let i=b(r,`step`,3,1),s=b(r,`placeholder`,3,``),u=b(r,`rangeFill`,3,!0),f=R(()=>!u()||r.min===void 0||r.max===void 0||r.value===null||r.max<=r.min?null:Math.max(0,Math.min(100,(r.value-r.min)/(r.max-r.min)*100)));var m=kt(),g=v(m),_=e=>{var t=Dt(),n=v(t,!0);C(t),o(()=>O(n,r.caption)),c(e,t)};t(g,e=>{r.caption&&e(_)});var y=e(g,2),x=v(y),S=e=>{var t=Ot();o(()=>W(t,`width: ${h(f)??``}%`)),c(e,t)};t(x,e=>{h(f)!==null&&e(S)});var w=e(x,2),T=v(w),E=e=>{var t=l();p(d(t),()=>r.icon),c(e,t)},D=e=>{var t=a();o(()=>O(t,r.label)),c(e,t)};t(T,e=>{r.icon?e(E):e(D,-1)}),C(w),Et(e(w,2),{get value(){return r.value},get min(){return r.min},get max(){return r.max},get step(){return i()},get placeholder(){return s()},get suffix(){return r.suffix},allowNull:!0,get ariaLabel(){return r.label},get onChange(){return r.onChange},get onCommit(){return r.onCommit}}),C(y),C(m),o(()=>F(w,`title`,r.label)),c(n,m)}var jt=u(`<h3 class="svelte-1ol624f"><!></h3>`);function Mt(e,t){var n=jt();p(v(n),()=>t.children),C(n),c(e,n)}var Nt=u(`<span class="caption svelte-bczi6w"> </span>`),Pt=u(`<option> </option>`),Ft=u(`<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 It(n,i){B(i,!0);var s=Ft(),u=v(s),m=e=>{var t=Nt(),n=v(t,!0);C(t),o(()=>O(n,i.caption)),c(e,t)};t(u,e=>{i.caption&&e(m)});var h=e(u,2),g=v(h),_=v(g),b=e=>{var t=l();p(d(t),()=>i.icon),c(e,t)},x=e=>{var t=a();o(e=>O(t,e),[()=>i.label.slice(0,1)]),c(e,t)};t(_,e=>{i.icon?e(b):e(x,-1)}),C(g);var S=e(g,2);r(S,20,()=>i.options,e=>e,(e,t)=>{var n=Pt(),r=v(n,!0);C(n);var i={};o(()=>{O(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),c(e,n)}),C(S);var w;y(S),C(h),C(s),o(()=>{F(g,`title`,i.label),F(S,`aria-label`,i.label),w!==(w=i.value)&&(S.value=(S.__value=i.value)??``,U(S,i.value))}),f(`change`,S,e=>i.onChange(e.currentTarget.value)),c(n,s),P()}s([`change`]);var Lt=u(`<p class="info svelte-m9vwwu"><!> <!> <br/> <span class="file svelte-m9vwwu"> </span></p>`),Rt=u(`<p class="hint svelte-m9vwwu">No proxy yet — add the asset to a manifest to process it.</p>`),zt=u(`<section class="svelte-m9vwwu"><!> <!></section>`);function Bt(n,r){B(r,!0);let i=b(r,`showDimensions`,3,!1),s=b(r,`showDuration`,3,!1);var l=zt(),u=v(l);Mt(u,{children:(e,t)=>{H(),c(e,a(`Output`))},$$slots:{default:!0}});var d=e(u,2),f=n=>{var l=Lt(),u=v(l),d=e=>{var t=a();o(()=>O(t,`${r.proxy.width??``} × ${r.proxy.height??``} px ·`)),c(e,t)};t(u,e=>{i()&&r.proxy.width!==void 0&&r.proxy.height!==void 0&&e(d)});var f=e(u,2),p=e=>{var t=a();o(e=>O(t,`${e??``} ·`),[()=>ke(r.proxy.durationMs)]),c(e,t)};t(f,e=>{s()&&r.proxy.durationMs!==void 0&&e(p)});var m=e(f),h=e(m,3),g=v(h,!0);C(h),C(l),o(e=>{O(m,` ${e??``} `),O(g,r.proxy.fileName)},[()=>Ae(r.proxy.fileSize)]),c(n,l)},p=e=>{c(e,Rt())};t(d,e=>{r.proxy?e(f):e(p,-1)}),C(l),c(n,l),P()}var Vt=u(`<section class="svelte-1by8n8t"><!> <div class="field svelte-1by8n8t"><!></div> <div class="field svelte-1by8n8t"><!></div></section> <!>`,1);function Ht(t,n){B(n,!0);let r=R(()=>Q.validateParameters(n.parameters));function i(e){n.onParametersCommit(e)}function o(e){i({...h(r),preset:e})}function s(e){let{targetWidth:t,...n}=h(r);return e===null||!Number.isFinite(e)||e<=0?n:{...n,targetWidth:Math.round(e)}}function l(e,t){let r=s(e);t?i(r):n.onParametersChange(r)}var u=Vt(),f=d(u),p=v(f);Mt(p,{children:(e,t)=>{H(),c(e,a(`Image`))},$$slots:{default:!0}});var m=e(p,2);It(v(m),{label:`Preset`,caption:`Preset`,get value(){return h(r).preset},get options(){return n.presetNames},onChange:o,icon:e=>{Ee(e,{name:`preset`})},$$slots:{icon:!0}}),C(m);var g=e(m,2),_=v(g);{let e=e=>{Ee(e,{name:`width`})},t=R(()=>h(r).targetWidth??null);At(_,{label:`Target width`,caption:`Target width`,min:1,placeholder:`source`,get value(){return h(t)},onChange:e=>l(e,!1),onCommit:e=>l(e,!0),icon:e,$$slots:{icon:!0}})}C(g),C(f),Bt(e(f,2),{get proxy(){return n.asset.proxy},showDimensions:!0}),c(t,u),P()}var Ut=new Set([`image`,`slice`]);new Set([...new Set([`video`,`chroma-key-video`,`audio`])].filter(e=>Se.has(e)));function Wt(e,t){return Ut.has(e)?t[e]?.decode??!0:!1}function Gt(e){if(e.ok)return!0;if(e.status!==0||e.type!==`basic`)return!1;try{let t=new URL(e.url).protocol;return t!==`http:`&&t!==`https:`}catch{return!1}}async function Kt(e){let t=await fetch(e);if(!Gt(t))throw Error(`Preloading "${e}" failed: ${t.status} ${t.statusText}.`);return t}function qt(e,t,n){if(n!==t)throw Error(`Preloading "${e}" failed: expected ${t} bytes, received ${n}.`)}var Jt={async preload(e,t,n){if(qt(e,t,(await(await Kt(e)).arrayBuffer()).byteLength),Wt(`image`,n)&&typeof globalThis.Image==`function`){let t=new globalThis.Image;t.src=e,await t.decode()}return{}}},Yt={async preload(e,t,n,r){let i=await(await Kt(e)).blob();if(qt(e,t,i.size),!Wt(`slice`,n))return{};if(r?.slicing?.mode!==`one`&&typeof globalThis.createImageBitmap==`function`)return{imageBitmap:await globalThis.createImageBitmap(i)};if(typeof globalThis.Image==`function`){let t=new globalThis.Image;return t.src=e,await t.decode(),{image:t}}return{}},release(e){e.imageBitmap?.close()}},Xt={async preload(e,t){let n=await(await Kt(e)).blob();return qt(e,t,n.size),typeof URL.createObjectURL==`function`?{objectUrl:URL.createObjectURL(n)}:{}},release(e){e.objectUrl!==void 0&&typeof URL.revokeObjectURL==`function`&&URL.revokeObjectURL(e.objectUrl)}},Zt={image:Jt,slice:Yt,video:Xt,"chroma-key-video":Xt,audio:Xt};new Map(Object.entries(Se.project(Zt,`runtime handler`)));var Qt=new Map;function $t(e){return Qt.get(e)?.resources?.objectUrl??e}function en(e){let t=Qt.get(e)?.resources;return t?.imageBitmap??t?.image??null}var tn=new Set([`$$slots`,`$$events`,`$$legacy`,`src`]),nn=u(`<img/>`);function rn(e,t){B(t,!0);let r=N(t,tn);I(()=>(t.src,void 0));var i=nn();S(i,()=>({src:t.src.src,width:t.src.width,height:t.src.height,...r})),n(i),c(e,i),P()}function an(e,t,n){return Math.max(t,Math.min(n,e))}function on(e){let{mode:t,insets:n}=e.slicing,r=Ce(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 sn(e){let t=e.slicing.overdraw;if(!t)return we();let n=e.sourceWidth,r=e.sourceHeight,i=an(t.left,0,Math.max(0,n-1)),a=an(t.right,0,Math.max(0,n-i-1)),o=an(t.top,0,Math.max(0,r-1));return{top:o,right:a,bottom:an(t.bottom,0,Math.max(0,r-o-1)),left:i}}function cn(e){let t=sn(e);return{width:Math.max(1,e.sourceWidth-t.left-t.right),height:Math.max(1,e.sourceHeight-t.top-t.bottom)}}function ln(e,t,n){let r=sn(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=cn(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 un(e,t,n,r){let i=t>0?Math.max(1,Math.round(t)):0,a=n>0?Math.max(1,Math.round(n)):0,o=ln(e,i,a),s=i+o.left+o.right,c=a+o.top+o.bottom,l=i>0?t/i:1,u=a>0?n/a:1;return{renderWidth:i,renderHeight:a,cssLeft:-o.left*l+0,cssTop:-o.top*u+0,cssWidth:s*l,cssHeight:c*u,backingWidth:s*r,backingHeight:c*r,originX:o.left*r,originY:o.top*r}}function dn(e){let t=0,n=[0];for(let r of e)t+=r,n.push(Math.round(t));return n}function fn(e,t,n){if(t<=0||n<=0)return[];let r=ln(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=on(e),d=an(u.left,0,o),f=an(u.right,0,Math.max(0,o-d)),p=an(u.top,0,s),m=an(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=dn([_,y,v]),O=dn([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 pn(e,t){let n=new ResizeObserver(n=>{let r=n[0]?.borderBoxSize?.[0];t(r?.inlineSize??e.offsetWidth,r?.blockSize??e.offsetHeight)});return n.observe(e),()=>n.disconnect()}function mn(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap&&e.width===0}function hn(e){let t=new Image;return t.decoding=`async`,t.src=e,t.decode().then(()=>t)}var gn=class{#e;#t;#n;#r=null;#i=null;#a=new Map;#o=!1;constructor(e,t=hn,n=en){this.#n=e,this.#e=t,this.#t=n}request(e){if(this.#o)return;this.#r=e;let t=this.#i;if(t?.entry.src===e.src&&!mn(t.image)){this.#l({entry:e,image:t.image});return}let n=this.#t(e.src);if(n){this.#l({entry:e,image:n});return}if(this.#a.has(e.src))return;let r;try{r=Promise.resolve(this.#e(e.src))}catch(e){r=Promise.reject(e)}let i={promise:r};this.#a.set(e.src,i),r.then(t=>this.#s(e.src,i,t),()=>this.#c(e.src,i))}dispose(){this.#o||(this.#o=!0,this.#r=null,this.#i=null,this.#a.clear())}#s(e,t,n){if(this.#a.get(e)!==t||(this.#a.delete(e),this.#o))return;let r=this.#r;!r||r.src!==e||this.#l({entry:r,image:n})}#c(e,t){this.#a.get(e)===t&&this.#a.delete(e)}#l(e){this.#o||(this.#i=e,this.#n(e))}},_n=u(`<img class="svelte-3n5l3f"/>`),vn=u(`<canvas class="svelte-3n5l3f"></canvas>`),yn=u(`<div><!></div>`);function bn(e,n){B(n,!0);let r=b(n,`maxDpr`,3,2),i=b(n,`alt`,3,``),a=b(n,`class`,3,``),s=M(null),l=new gn(e=>{V(s,e)});I(()=>{l.request(n.src)}),I(()=>(n.src,void 0)),j(()=>l.dispose());let u=M(void 0),d=M(void 0),f=M(0),p=M(0),m=M(1),g=M(0);I(()=>{let e=h(m),t=window.matchMedia(`(resolution: ${e}dppx)`),n=()=>{V(m,window.devicePixelRatio||1,!0)};return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}),I(()=>{let e=h(u);if(e)return pn(e,(e,t)=>{V(f,e,!0),V(p,t,!0)})});let y={renderWidth:0,renderHeight:0,cssLeft:0,cssTop:0,cssWidth:0,cssHeight:0,backingWidth:0,backingHeight:0,originX:0,originY:0},S=R(()=>{let e=Math.max(1,Math.floor(r()));return Math.min(e,Math.max(1,Math.floor(h(m))))}),w=R(()=>{let e=h(s);return e?un(e.entry,h(f),h(p),h(S)):y});I(()=>{let e=h(s),t=h(w);h(g),T(e,t)});function T(e,t){let r=h(d);if(!r||e?.entry.slicing.mode===`one`)return;if(!e||h(f)===0||h(p)===0){r.width=0,r.height=0;return}if(mn(e.image)){l.request(n.src);return}r.width=t.backingWidth,r.height=t.backingHeight;let i=r.getContext(`2d`);if(i){i.setTransform(h(S),0,0,h(S),t.originX,t.originY),i.clearRect(t.cssLeft,t.cssTop,t.cssWidth,t.cssHeight);for(let n of fn(e.entry,t.renderWidth,t.renderHeight))i.drawImage(e.image,n.sx,n.sy,n.sw,n.sh,n.dx,n.dy,n.dw,n.dh)}}var E=yn();G(`resize`,_,()=>V(g,h(g)+1));var D=v(E),O=e=>{var t=_n();let n;o(()=>{F(t,`src`,h(s).entry.src),F(t,`alt`,i()),n=W(t,``,n,{left:`${h(w).cssLeft??``}px`,top:`${h(w).cssTop??``}px`,width:`${h(w).cssWidth??``}px`,height:`${h(w).cssHeight??``}px`})}),c(e,t)},k=e=>{var t=vn();let n;z(t,e=>V(d,e),()=>h(d)),o(()=>n=W(t,``,n,{left:`${h(w).cssLeft??``}px`,top:`${h(w).cssTop??``}px`,width:`${h(w).cssWidth??``}px`,height:`${h(w).cssHeight??``}px`})),c(e,t)};t(D,e=>{h(s)?.entry.slicing.mode===`one`?e(O):h(s)&&e(k,1)}),C(E),z(E,e=>V(u,e),()=>h(u)),o(()=>{x(E,1,`fundus-slice ${a()??``}`,`svelte-3n5l3f`),F(E,`role`,h(s)?.entry.slicing.mode===`one`?void 0:i()?`img`:void 0),F(E,`aria-label`,h(s)?.entry.slicing.mode===`one`?void 0:i()||void 0)}),c(e,E),P()}var xn=u(`<video playsinline="" preload="auto"></video>`,2);function Sn(e,t){B(t,!0);let n=b(t,`loop`,3,!1),r=b(t,`playing`,3,!0),i=b(t,`muted`,3,!0),a=b(t,`controls`,3,!1),s=b(t,`videoElement`,15),l=b(t,`class`,3,``),u=R(()=>$t(t.src.src));I(()=>(t.src,void 0)),I(()=>{let e=s();e&&(r()?e.play().catch(()=>{}):e.pause())});var d=xn();z(d,e=>s(e),()=>s()),o(()=>{F(d,`src`,h(u)),F(d,`width`,t.src.width),F(d,`height`,t.src.height),d.loop=n(),d.muted=i(),d.controls=a(),x(d,1,ee(l()))}),c(e,d),P()}var Cn=`#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
|
+
}`,wn=`#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 Tn(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,Cn)),e.attachShader(n,t(e.FRAGMENT_SHADER,wn)),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 En=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=Tn(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)}clear(){this.#c||this.#e.clear(this.#e.COLOR_BUFFER_BIT)}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()}},Dn=2;function On(e){return{...e,keyColor:[...e.keyColor]}}function kn(e,t){t.loop=e.loop,t.playbackRate=e.playbackRate}var An=class{#e;#t;#n;#r=null;#i=null;#a=0;#o=!1;#s=!1;#c=!1;#l=0;#u=!1;#d=null;constructor(e,t,n=e,r){this.#e=[e,n],this.#t=t,this.#n=r;for(let e of new Set(this.#e))this.#f(e)}switchSource(e){if(this.#s)return;let t=this.#i;if(t&&this.#m(t,e)&&t.status===`loading`)return;let n=this.#r;if(n&&this.#m(n,e)&&n.status===`settled`){this.#g(),n.chromaKey=On(e.chromaKey);return}this.#g();let r=this.#h(n),i=n?this.#o&&(n.video.ended||!n.video.paused||n.playRequestPending):this.#o;n&&r===n.video&&(this.#j(n),this.#P(),n.status=`disposed`,this.#r=null,n.video.pause());let a={generation:++this.#a,status:`loading`,video:r,rawVideoUrl:e.rawVideoUrl,normalizedVideoUrl:e.resolvedVideoUrl,maskUrl:e.maskUrl,maskImage:null,chromaKey:On(e.chromaKey),mediaSettled:!1,maskSettled:!e.maskUrl,playAfterHandoff:i,playRequestToken:0,playRequestPending:!1,playRejectedForCurrentIntent:!1};this.#i=a,this.#c||this.#t.setMask(null),r.pause(),r.src=e.resolvedVideoUrl,a.normalizedVideoUrl=r.src,r.load(),this.#v(a),e.maskUrl&&this.#_(a,e.maskUrl)}setPlaying(e){if(this.#s)return;let t=this.#o!==e;this.#o=e;let n=this.#r,r=this.#i;if(r?.status===`loading`&&(r.playAfterHandoff=e),!e){this.#j(n),this.#P(),n?.video.pause();return}t&&n&&(n.playRejectedForCurrentIntent=!1),n&&(n.playAfterHandoff=!0,this.#k(n))}setChromaKey(e){if(this.#s)return;let t=this.#i??this.#r;!t||t.status===`failed`||t.status===`disposed`||(t.chromaKey=On(e),t===this.#r&&t.status===`settled`&&t.video.paused&&this.#D(t)&&this.#T(t))}dispose(){if(!this.#s){this.#s=!0,this.#a++,this.#j(this.#r),this.#j(this.#i),this.#P(),this.#r&&(this.#r.status=`disposed`),this.#i&&(this.#i.status=`disposed`),this.#r=null,this.#i=null;for(let e of new Set(this.#e))this.#p(e),e.pause()}}#f(e){e.addEventListener(`play`,this.#x),e.addEventListener(`pause`,this.#S),e.addEventListener(`ended`,this.#S),e.addEventListener(`seeked`,this.#C),e.addEventListener(`loadeddata`,this.#y),e.addEventListener(`error`,this.#b)}#p(e){e.removeEventListener(`play`,this.#x),e.removeEventListener(`pause`,this.#S),e.removeEventListener(`ended`,this.#S),e.removeEventListener(`seeked`,this.#C),e.removeEventListener(`loadeddata`,this.#y),e.removeEventListener(`error`,this.#b)}#m(e,t){return e.rawVideoUrl===t.rawVideoUrl&&e.maskUrl===t.maskUrl}#h(e){return e&&this.#e[0]===e.video?this.#e[1]:this.#e[0]}#g(){let e=this.#i;e&&(this.#j(e),e.status=`disposed`,e.video.pause(),this.#i=null)}#_(e,t){let n=new Image;n.src=t,n.decode().then(()=>{this.#O(e)&&(e.maskImage=n,e.maskSettled=!0,this.#w(e))}).catch(()=>{this.#O(e)&&(console.warn(`Failed to load chroma-key mask "${t}".`),e.maskSettled=!0,this.#w(e))})}#v(e){let t;try{t=e.video.play()}catch{return}Promise.resolve(t).catch(()=>{})}#y=e=>{let t=this.#i;!t||t.video!==e.currentTarget||!this.#O(t)||this.#D(t)&&(t.mediaSettled=!0,t.video.pause(),this.#w(t))};#b=e=>{let t=e.currentTarget,n=this.#i;if(n?.video===t&&n.status===`loading`){n.status=`failed`,this.#j(n),n.video.pause(),!this.#r&&!this.#c&&this.#E();return}let r=this.#r;!r||r.video!==t||r.status!==`settled`||(r.status=`failed`,this.#j(r),this.#P(),r.video.pause(),this.#i||this.#E())};#x=e=>{let t=e.currentTarget;if(this.#i?.video===t)return;let n=this.#r;if(!n||n.video!==t||n.status!==`settled`){t&&`pause`in t&&t.pause();return}n.playRejectedForCurrentIntent=!1,n.playAfterHandoff=!0,this.#i?.status===`loading`&&(this.#i.playAfterHandoff=!0),n.video.paused||this.#M(n)};#S=e=>{let t=this.#r;!t||t.video!==e.currentTarget||t.status!==`settled`||(this.#j(t),this.#P(),this.#T(t),t.playAfterHandoff=!1,this.#i?.status===`loading`&&(this.#i.playAfterHandoff=!1))};#C=e=>{let t=this.#r;!t||t.video!==e.currentTarget||t.status!==`settled`||!t.video.paused||this.#T(t)};#w(e){if(!this.#O(e)||!e.mediaSettled||!e.maskSettled||!this.#D(e))return;let t=this.#r;this.#P(),this.#j(t),t&&t.video!==e.video&&kn(t.video,e.video),e.video.pause(),e.status=`settled`,this.#i=null,this.#r=e,this.#t.setMask(e.maskImage),this.#T(e),this.#n?.(e.video),t&&t!==e&&(t.status=`disposed`,t.video.pause()),this.#o&&e.playAfterHandoff&&this.#k(e)}#T(e){this.#s||this.#r!==e||e.status!==`settled`||!this.#D(e)||(this.#t.draw(e.video,e.chromaKey),this.#c=!0)}#E(){this.#t.clear(),this.#c=!1}#D(e){return e.video.readyState>=Dn&&e.video.currentSrc===e.normalizedVideoUrl}#O(e){return!this.#s&&this.#i===e&&e.status===`loading`&&e.generation===this.#a}#k(e){if(this.#s||this.#r!==e||e.status!==`settled`||!this.#o||!e.playAfterHandoff||!e.video.paused||e.playRequestPending||e.playRejectedForCurrentIntent)return;let t=++e.playRequestToken;e.playRequestPending=!0;let n;try{n=e.video.play()}catch{this.#A(e,t,!1);return}Promise.resolve(n).then(()=>this.#A(e,t,!0),()=>this.#A(e,t,!1))}#A(e,t,n){this.#s||this.#r!==e||e.playRequestToken!==t||(e.playRequestPending=!1,e.playRejectedForCurrentIntent=!n)}#j(e){e&&(e.playRequestToken++,e.playRequestPending=!1)}#M(e){this.#u||this.#s||this.#r!==e||e.status!==`settled`||e.video.paused||(this.#u=!0,this.#l++,this.#N(e,this.#l))}#N(e,t){let n=e.generation,r=e.video,i=0,a=()=>{let a=this.#d;!a||a.generation!==t||a.handle!==i||this.#l!==t||!this.#u||this.#r!==e||e.generation!==n||e.status!==`settled`||r.paused||(this.#d=null,this.#T(e),this.#u&&this.#l===t&&this.#r===e&&!r.paused&&this.#N(e,t))};r.requestVideoFrameCallback?(i=r.requestVideoFrameCallback(a),this.#d={generation:t,kind:`rvfc`,handle:i,video:r}):(i=requestAnimationFrame(a),this.#d={generation:t,kind:`raf`,handle:i,video:r})}#P(){this.#l++,this.#u=!1;let e=this.#d;this.#d=null,e&&(e.kind===`rvfc`?e.video.cancelVideoFrameCallback?.(e.handle):cancelAnimationFrame(e.handle))}},jn=u(`<img alt="" class="svelte-r30mxh"/>`),Mn=u(`<canvas class="svelte-r30mxh"></canvas> <video playsinline="" preload="auto" class="svelte-r30mxh"></video> <video playsinline="" preload="auto" class="svelte-r30mxh"></video>`,3),Nn=u(`<div><!></div>`);function Pn(n,r){B(r,!0);let i=b(r,`loop`,3,!0),a=b(r,`playing`,3,!0),s=b(r,`videoElement`,15),u=b(r,`class`,3,``);I(()=>(r.src,void 0));let f=M(void 0),m=M(void 0),_=M(void 0),y=M(!1),S=null,w=M(null);function T(e){return{...e,keyColor:[...e.keyColor]}}L(()=>{if(S=En.create(h(f)),!S){V(y,!0);return}let e=S;s(h(m));let t=new An(h(m),e,h(_),e=>{s(e)});return V(w,t),()=>{t.dispose(),h(w)===t&&V(w,null),e.dispose(),S===e&&(S=null)}}),I(()=>{let e=h(w),t=r.src,n=t.src,i=t.mask?.src;e&&e.switchSource({rawVideoUrl:n,resolvedVideoUrl:$t(n),maskUrl:i,chromaKey:g(()=>T(t.chromaKey))})}),I(()=>{h(w)?.setPlaying(a())}),I(()=>{let e=r.src.chromaKey,t={keyColor:[e.keyColor[0],e.keyColor[1],e.keyColor[2]],colorCutoff:e.colorCutoff,colorFeathering:e.colorFeathering,maskFeathering:e.maskFeathering,sharpening:e.sharpening,despill:e.despill,despillLuminanceAdd:e.despillLuminanceAdd};h(w)?.setChromaKey(t)});var E=Nn(),D=v(E),O=e=>{var n=l(),i=d(n),a=e=>{var t=l();p(d(t),()=>r.fallback),c(e,t)},s=e=>{var t=jn();o(()=>F(t,`src`,r.src.fallback.src)),c(e,t)};t(i,e=>{r.fallback?e(a):r.src.fallback&&e(s,1)}),c(e,n)},k=t=>{var n=Mn(),r=d(n);z(r,e=>V(f,e),()=>h(f));var a=e(r,2);a.muted=!0,z(a,e=>V(m,e),()=>h(m));var s=e(a,2);s.muted=!0,z(s,e=>V(_,e),()=>h(_)),o(()=>{a.loop=i(),s.loop=i()}),c(t,n)};t(D,e=>{h(y)?e(O):e(k,-1)}),C(E),o(()=>x(E,1,`fundus-chroma-key-video ${u()??``}`,`svelte-r30mxh`)),c(n,E),P()}var Fn=u(`<img/>`),In=u(`<div class="stage checkerboard svelte-10eps7e"><!></div>`);function Ln(e,n){B(n,!0);let r=R(()=>!n.asset.proxy||n.asset.proxy.width===void 0||n.asset.proxy.height===void 0?null:{id:n.asset.id,kind:`image`,src:n.asset.proxy.url,byteSize:n.asset.proxy.fileSize,width:n.asset.proxy.width,height:n.asset.proxy.height});var i=In(),a=v(i),s=e=>{rn(e,{get src(){return h(r)},get alt(){return n.asset.id}})},l=e=>{var t=Fn();o(()=>{F(t,`src`,n.asset.rawUrl),F(t,`alt`,n.asset.id)}),c(e,t)};t(a,e=>{h(r)?e(s):e(l,-1)}),C(i),c(e,i),P()}var Rn=u(`<img loading="lazy" class="svelte-gdduef"/>`);function zn(e,t){B(t,!0);var n=Rn();o(()=>{F(n,`src`,t.asset.proxy?.url??t.asset.rawUrl),F(n,`alt`,t.asset.id)}),c(e,n),P()}var Bn=new Map;function Vn(e,t=()=>new window.Image){let n=Bn.get(e);if(n)return n;let r=new Promise((n,r)=>{let i=t();i.onload=()=>n({width:i.naturalWidth,height:i.naturalHeight}),i.onerror=()=>r(Error(`Could not load image dimensions.`)),i.src=e});return Bn.set(e,r),r.catch(()=>{Bn.get(e)===r&&Bn.delete(e)}),r}var Hn=u(`<button> </button>`),Un=u(`<section class="svelte-1yd7n22"><!> <div class="insets svelte-1yd7n22"></div></section>`),Wn=u(`<section class="svelte-1yd7n22"><!> <div><!> <!></div></section>`),Gn=u(`<section class="svelte-1yd7n22"><!> <!></section>`),Kn=u(`<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 qn(n,i){B(i,!0);let s=R(()=>de.validateParameters(i.parameters)),u=R(()=>h(s).overdraw??we()),p=R(()=>h(s).compression??{x:0,y:0}),m=M(null),g=null;I(()=>{let e=i.asset.rawUrl;g!==e&&(g=e,V(m,null));let t=!1;return Vn(e).then(n=>{!t&&g===e&&V(m,n,!0)},()=>{}),()=>{t=!0}});let _=[{value:`nine`,label:`9-slice`},{value:`three-horizontal`,label:`3-slice horizontal`},{value:`three-vertical`,label:`3-slice vertical`},{value:`one`,label:`No slicing`}],y=[{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 b(e,t){let n=Ce(t);return e===`x`?n.horizontal:n.vertical}let S=R(()=>h(m)?.width??2**53-1),w=R(()=>h(m)?.height??2**53-1);function T(e){i.onParametersCommit(e)}function E(e){T({...h(s),mode:e})}function D(e){return oe(h(s).insets,e,h(S),h(w))}function k(e,t,n){let r=Math.max(0,Math.min(D(e),Math.round(t??0))),a={...h(s),insets:{...h(s).insets,[e]:r}};n?T(a):i.onParametersChange(a)}function A(e){return K(h(u),e,h(S),h(w))}function j(e,t,n){let r=Math.max(0,Math.min(A(e),Math.round(t??0))),a={...h(s),overdraw:{...h(u),[e]:r}};n?T(a):i.onParametersChange(a)}function N(e,t,n){let r=Math.max(0,Math.min(100,Math.round(t??0))),a={...h(p),[e]:r},{compression:o,...c}=h(s),l=a.x===0&&a.y===0?c:{...c,compression:a};n?T(l):i.onParametersChange(l)}function F(e,t){let n={...h(s),pixelRatio:Math.max(1,Math.round(e??1))};t?T(n):i.onParametersChange(n)}function L(e){T({...h(s),preset:e})}var z=Kn(),U=d(z),ee=v(U);Mt(ee,{children:(e,t)=>{H(),c(e,a(`Mode`))},$$slots:{default:!0}});var W=e(ee,2);r(W,21,()=>_,e=>e.value,(e,t)=>{var n=Hn();let r;var i=v(n,!0);C(n),o(()=>{r=x(n,1,`svelte-1yd7n22`,null,r,{on:h(s).mode===h(t).value}),O(i,h(t).label)}),f(`click`,n,()=>E(h(t).value)),c(e,n)}),C(W),C(U);var G=e(U,2),q=n=>{var i=Un(),o=v(i);Mt(o,{children:(e,t)=>{H(),c(e,a(`Insets (px)`))},$$slots:{default:!0}});var u=e(o,2);r(u,21,()=>y,e=>e.key,(e,n)=>{var r=l(),i=d(r),a=e=>{{let t=e=>{Ee(e,{get name(){return h(n).icon}})},r=R(()=>D(h(n).key));At(e,{get label(){return h(n).label},min:0,get max(){return h(r)},rangeFill:!1,get value(){return h(s).insets[h(n).key]},onChange:e=>k(h(n).key,e,!1),onCommit:e=>k(h(n).key,e,!0),icon:t,$$slots:{icon:!0}})}},o=R(()=>b(h(n).axis,h(s).mode));t(i,e=>{h(o)&&e(a)}),c(e,r)}),C(u),C(i),c(n,i)};t(G,e=>{h(s).mode!==`one`&&e(q)});var J=e(G,2),te=n=>{var r=Wn(),i=v(r);Mt(i,{children:(e,t)=>{H(),c(e,a(`Stretch compression`))},$$slots:{default:!0}});var l=e(i,2);let u;var d=v(l),f=e=>{At(e,{label:`X`,min:0,max:100,suffix:`%`,get value(){return h(p).x},onChange:e=>N(`x`,e,!1),onCommit:e=>N(`x`,e,!0)})},m=R(()=>b(`x`,h(s).mode));t(d,e=>{h(m)&&e(f)});var g=e(d,2),_=e=>{At(e,{label:`Y`,min:0,max:100,suffix:`%`,get value(){return h(p).y},onChange:e=>N(`y`,e,!1),onCommit:e=>N(`y`,e,!0)})},y=R(()=>b(`y`,h(s).mode));t(g,e=>{h(y)&&e(_)}),C(l),C(r),o(()=>u=x(l,1,`insets svelte-1yd7n22`,null,u,{single:h(s).mode!==`nine`})),c(n,r)};t(J,e=>{h(s).mode!==`one`&&e(te)});var ne=e(J,2),re=v(ne);Mt(re,{children:(e,t)=>{H(),c(e,a(`Overdraw (px)`))},$$slots:{default:!0}});var ie=e(re,2);r(ie,21,()=>y,e=>e.key,(e,t)=>{{let n=e=>{Ee(e,{get name(){return h(t).icon}})},r=R(()=>A(h(t).key));At(e,{get label(){return h(t).label},min:0,get max(){return h(r)},rangeFill:!1,get value(){return h(u)[h(t).key]},onChange:e=>j(h(t).key,e,!1),onCommit:e=>j(h(t).key,e,!0),icon:n,$$slots:{icon:!0}})}}),C(ie),C(ne);var ae=e(ne,2),Y=t=>{var n=Gn(),r=v(n);Mt(r,{children:(e,t)=>{H(),c(e,a(`Pixel ratio`))},$$slots:{default:!0}}),At(e(r,2),{label:`Factor`,min:1,get value(){return h(s).pixelRatio},onChange:e=>F(e,!1),onCommit:e=>F(e,!0),icon:e=>{Ee(e,{name:`ratio`})},$$slots:{icon:!0}}),C(n),c(t,n)};t(ae,e=>{h(s).mode===`nine`&&e(Y)});var X=e(ae,2),Z=v(X);Mt(Z,{children:(e,t)=>{H(),c(e,a(`Output`))},$$slots:{default:!0}});var Q=e(Z,2);It(v(Q),{label:`Preset`,caption:`Preset`,get value(){return h(s).preset},get options(){return i.presetNames},onChange:L,icon:e=>{Ee(e,{name:`preset`})},$$slots:{icon:!0}}),C(Q),C(X),Bt(e(X,2),{get proxy(){return i.asset.proxy},showDimensions:!0}),c(n,z),P()}s([`click`]);var Jn=u(`<div class="preview-panel svelte-1mjaycs"><div class="bar svelte-1mjaycs"><span class="size svelte-1mjaycs"> </span> <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 Yn(t,n){B(n,!0);function r(){return Math.round(Math.min(360,Math.max(80,n.entry.sourceWidth*2)))}function i(){return Math.round(r()*n.entry.sourceHeight/Math.max(1,n.entry.sourceWidth))}let a=M(w(g(()=>r()))),s=M(w(g(()=>i()))),l=M(null),u={pointerX:0,pointerY:0,width:0,height:0};function d(e,t){t.preventDefault(),V(l,e,!0),u={pointerX:t.clientX,pointerY:t.clientY,width:h(a),height:h(s)},xt(t.currentTarget,t)}function p(e){h(l)&&(h(l)!==`y`&&V(a,Math.max(16,Math.round(u.width+(e.clientX-u.pointerX))),!0),h(l)!==`x`&&V(s,Math.max(16,Math.round(u.height+(e.clientY-u.pointerY))),!0))}function m(e){h(l)&&St(e.currentTarget,e.pointerId),V(l,null)}function _(){V(a,r(),!0),V(s,i(),!0)}var y=Jn(),b=v(y),x=v(b),S=v(x);C(x);var T=e(x,2);C(b);var E=e(b,2),D=v(E);let k;var A=v(D);bn(A,{get src(){return n.entry},class:`fill`});var j=e(A,2),N=e(j,2),F=e(N,2);C(D),C(E),C(y),o(()=>{O(S,`${h(a)??``} × ${h(s)??``} px`),k=W(D,``,k,{width:`${h(a)??``}px`,height:`${h(s)??``}px`})}),f(`click`,T,_),f(`pointerdown`,j,e=>d(`x`,e)),f(`pointermove`,j,p),f(`pointerup`,j,m),G(`pointercancel`,j,m),f(`pointerdown`,N,e=>d(`y`,e)),f(`pointermove`,N,p),f(`pointerup`,N,m),G(`pointercancel`,N,m),f(`pointerdown`,F,e=>d(`both`,e)),f(`pointermove`,F,p),f(`pointerup`,F,m),G(`pointercancel`,F,m),c(t,y),P()}s([`click`,`pointerdown`,`pointermove`,`pointerup`]);var Xn=u(`<div></div>`),Zn=u(`<div class="overdraw-band svelte-1jfrg6d"></div>`),Qn=u(`<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),$n=u(`<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),er=u(`<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 tr(n,r){B(r,!0);let i=M(void 0),a=M(void 0),s=M(null),l=null,u=R(()=>Ce(r.mode)),p=R(()=>h(u).horizontal),m=R(()=>h(u).vertical);function g(e,t){return h(s)?.target===e&&h(s).side===t}let _=M(`fit`),y=M(1),b=M(0),S=M(0),w=M(0),T=M(0),E=M(!1),D=new Map,k=null;function A(e){return Math.max(.05,Math.min(8,e))}I(()=>{let e=h(i);if(!e)return;let t=new ResizeObserver(()=>{V(w,e.clientWidth,!0),V(T,e.clientHeight,!0)});return t.observe(e),()=>t.disconnect()}),I(()=>{if(h(_)===`free`||r.width===0||r.height===0||h(w)===0||h(T)===0)return;let e=A(Math.min((h(w)-32)/r.width,(h(T)-32)/r.height));j(h(_)===`one`?1:e)});function j(e){V(y,e,!0),V(b,(h(w)-r.width*e)/2),V(S,(h(T)-r.height*e)/2)}function N(e,t){if(!h(i))return{x:e,y:t};let n=h(i).getBoundingClientRect();return{x:e-n.left-h(i).clientLeft,y:t-n.top-h(i).clientTop}}function L(e,t,n){let r=A(e);V(b,t-(t-h(b))*(r/h(y))),V(S,n-(n-h(S))*(r/h(y))),V(y,r,!0),V(_,`free`)}function H(e,t,n){return Math.max(t,Math.min(n,Math.round(e)))}function U(){V(_,`fit`)}function ee(){V(_,`one`)}function q(e){L(h(y)*e,h(w)/2,h(T)/2)}function J(){let[e,t]=[...D.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 te(e){try{h(i)&&xt(h(i),e)}catch{}D.set(e.pointerId,{x:e.clientX,y:e.clientY}),D.size===2?k=J():D.size===1&&V(E,!0)}function ne(e){let t=D.get(e.pointerId);if(t)if(D.set(e.pointerId,{x:e.clientX,y:e.clientY}),D.size>=2&&k){let e=J(),t=N(k.midX,k.midY);L(h(y)*(e.distance/k.distance),t.x,t.y),V(b,h(b)+(e.midX-k.midX)),V(S,h(S)+(e.midY-k.midY)),k=e}else D.size===1&&(V(b,h(b)+(e.clientX-t.x)),V(S,h(S)+(e.clientY-t.y)),V(_,`free`))}function re(e){D.delete(e.pointerId),D.size<2&&(k=null),D.size===0&&V(E,!1)}function ie(e){if(e.preventDefault(),e.ctrlKey||e.metaKey){let t=N(e.clientX,e.clientY);L(h(y)*Math.exp(-e.deltaY*.01),t.x,t.y)}else V(b,h(b)-e.deltaX),V(S,h(S)-e.deltaY),V(_,`free`)}function ae(e,t,n){n.preventDefault(),n.stopPropagation(),V(s,{target:e,side:t},!0),l=null,xt(n.currentTarget,n)}function Y(e){if(!h(s)||!h(a))return;let t=h(a).getBoundingClientRect(),n=(e.clientX-t.left)/h(y),i=(e.clientY-t.top)/h(y),{target:o,side:c}=h(s),l={...o===`inset`?r.insets:r.overdraw};c===`left`?l.left=H(n,0,Q(o,`left`)):c===`right`?l.right=H(r.width-n,0,Q(o,`right`)):c===`top`?l.top=H(i,0,Q(o,`top`)):c===`bottom`&&(l.bottom=H(r.height-i,0,Q(o,`bottom`))),X(o,l)}function X(e,t){l={target:e,value:t},e===`inset`?r.onChange(t):r.onOverdrawChange(t)}function Z(e){let t=h(s)!==null;h(s)&&St(e.currentTarget,e.pointerId),V(s,null),t&&l&&r.onCommit(l.target,l.value),l=null}function Q(e,t){let n=e===`inset`?r.insets:r.overdraw;return e===`inset`?oe(n,t,r.width,r.height):K(n,t,r.width,r.height)}function se(e,t,n){let i=e===`inset`?r.insets:r.overdraw,a={...i};a[t]=H(i[t]+n,0,Q(e,t)),a[t]!==i[t]&&(X(e,a),r.onCommit(e,a),l=null)}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 le=er(),ue=v(le),de=v(ue),fe=e(de,2),pe=v(fe);C(fe);var me=e(fe,2),he=e(me,2);let ge;var _e=e(he,2);let ve;var ye=e(_e,2),be=v(ye);C(ye),C(ue);var $=e(ue,2);let xe;var Se=v($);let we;var Te=v(Se),Ee=e(Te,2),De=e=>{var t=Xn();let n,i;o(()=>{n=x(t,1,`center-rect svelte-1jfrg6d`,null,n,{"side-edges":!h(p),"cap-edges":!h(m)}),i=W(t,``,i,{left:`${(h(p)?r.insets.left:0)*h(y)}px`,top:`${(h(m)?r.insets.top:0)*h(y)}px`,right:`${(h(p)?r.insets.right:0)*h(y)}px`,bottom:`${(h(m)?r.insets.bottom:0)*h(y)}px`})}),c(e,t)};t(Ee,e=>{(h(p)||h(m))&&e(De)});var Oe=e(Ee,2),ke=e=>{var t=Zn();let n;o(()=>n=W(t,``,n,{left:`0`,top:`0`,bottom:`0`,width:`${r.overdraw.left*h(y)}px`})),c(e,t)};t(Oe,e=>{r.overdraw.left>0&&e(ke)});var Ae=e(Oe,2),je=e=>{var t=Zn();let n;o(()=>n=W(t,``,n,{right:`0`,top:`0`,bottom:`0`,width:`${r.overdraw.right*h(y)}px`})),c(e,t)};t(Ae,e=>{r.overdraw.right>0&&e(je)});var Me=e(Ae,2),Ne=e=>{var t=Zn();let n;o(()=>n=W(t,``,n,{top:`0`,left:`${r.overdraw.left*h(y)}px`,right:`${r.overdraw.right*h(y)}px`,height:`${r.overdraw.top*h(y)}px`})),c(e,t)};t(Me,e=>{r.overdraw.top>0&&e(Ne)});var Pe=e(Me,2),Fe=e=>{var t=Zn();let n;o(()=>n=W(t,``,n,{bottom:`0`,left:`${r.overdraw.left*h(y)}px`,right:`${r.overdraw.right*h(y)}px`,height:`${r.overdraw.bottom*h(y)}px`})),c(e,t)};t(Pe,e=>{r.overdraw.bottom>0&&e(Fe)});var Ie=e(Pe,2);let Le;F(Ie,`aria-valuemin`,0);let Re;var ze=v(Ie),Be=v(ze,!0);C(ze),C(Ie);var Ve=e(Ie,2);let He;F(Ve,`aria-valuemin`,0);let Ue;var We=v(Ve),Ge=v(We,!0);C(We),C(Ve);var Ke=e(Ve,2);let qe;F(Ke,`aria-valuemin`,0);let Je;var Ye=v(Ke),Xe=v(Ye,!0);C(Ye),C(Ke);var Ze=e(Ke,2);let Qe;F(Ze,`aria-valuemin`,0);let $e;var et=v(Ze),tt=v(et,!0);C(et),C(Ze);var nt=e(Ze,2),rt=t=>{var n=Qn(),i=d(n);let a;F(i,`aria-valuemin`,0);let s;var l=v(i),u=v(l,!0);C(l),C(i);var p=e(i,2);let m;F(p,`aria-valuemin`,0);let _;var b=v(p),S=v(b,!0);C(b),C(p),o((e,t,n,o)=>{a=x(i,1,`line v svelte-1jfrg6d`,null,a,e),F(i,`aria-valuenow`,r.insets.left),F(i,`aria-valuemax`,t),s=W(i,``,s,{left:`${r.insets.left*h(y)}px`}),O(u,r.insets.left),m=x(p,1,`line v svelte-1jfrg6d`,null,m,n),F(p,`aria-valuenow`,r.insets.right),F(p,`aria-valuemax`,o),_=W(p,``,_,{left:`${(r.width-r.insets.right)*h(y)}px`}),O(S,r.insets.right)},[()=>({active:g(`inset`,`left`)}),()=>Q(`inset`,`left`),()=>({active:g(`inset`,`right`)}),()=>Q(`inset`,`right`)]),f(`pointerdown`,i,e=>ae(`inset`,`left`,e)),f(`pointermove`,i,Y),f(`pointerup`,i,Z),G(`pointercancel`,i,Z),f(`keydown`,i,e=>ce(`inset`,`left`,`x`,e)),f(`pointerdown`,p,e=>ae(`inset`,`right`,e)),f(`pointermove`,p,Y),f(`pointerup`,p,Z),G(`pointercancel`,p,Z),f(`keydown`,p,e=>ce(`inset`,`right`,`x`,e)),c(t,n)};t(nt,e=>{h(p)&&e(rt)});var it=e(nt,2),at=t=>{var n=$n(),i=d(n);let a;F(i,`aria-valuemin`,0);let s;var l=v(i),u=v(l,!0);C(l),C(i);var p=e(i,2);let m;F(p,`aria-valuemin`,0);let _;var b=v(p),S=v(b,!0);C(b),C(p),o((e,t,n,o)=>{a=x(i,1,`line h svelte-1jfrg6d`,null,a,e),F(i,`aria-valuenow`,r.insets.top),F(i,`aria-valuemax`,t),s=W(i,``,s,{top:`${r.insets.top*h(y)}px`}),O(u,r.insets.top),m=x(p,1,`line h svelte-1jfrg6d`,null,m,n),F(p,`aria-valuenow`,r.insets.bottom),F(p,`aria-valuemax`,o),_=W(p,``,_,{top:`${(r.height-r.insets.bottom)*h(y)}px`}),O(S,r.insets.bottom)},[()=>({active:g(`inset`,`top`)}),()=>Q(`inset`,`top`),()=>({active:g(`inset`,`bottom`)}),()=>Q(`inset`,`bottom`)]),f(`pointerdown`,i,e=>ae(`inset`,`top`,e)),f(`pointermove`,i,Y),f(`pointerup`,i,Z),G(`pointercancel`,i,Z),f(`keydown`,i,e=>ce(`inset`,`top`,`y`,e)),f(`pointerdown`,p,e=>ae(`inset`,`bottom`,e)),f(`pointermove`,p,Y),f(`pointerup`,p,Z),G(`pointercancel`,p,Z),f(`keydown`,p,e=>ce(`inset`,`bottom`,`y`,e)),c(t,n)};t(it,e=>{h(m)&&e(at)}),C(Se),z(Se,e=>V(a,e),()=>h(a)),C($),z($,e=>V(i,e),()=>h(i)),C(le),o((e,t,n,i,a,o,s,c,l)=>{O(pe,`${e??``}%`),ge=x(he,1,`svelte-1jfrg6d`,null,ge,{active:h(_)===`one`}),ve=x(_e,1,`svelte-1jfrg6d`,null,ve,{active:h(_)===`fit`}),O(be,`${r.width??``} × ${r.height??``} px`),xe=x($,1,`viewport checkerboard svelte-1jfrg6d`,null,xe,{panning:h(E)}),we=W(Se,``,we,{width:`${r.width*h(y)}px`,height:`${r.height*h(y)}px`,transform:`translate(${h(b)??``}px, ${h(S)??``}px)`}),F(Te,`src`,r.src),Le=x(Ie,1,`line v overdraw-line svelte-1jfrg6d`,null,Le,t),F(Ie,`aria-valuenow`,r.overdraw.left),F(Ie,`aria-valuemax`,n),Re=W(Ie,``,Re,{left:`${r.overdraw.left*h(y)}px`}),O(Be,r.overdraw.left),He=x(Ve,1,`line v overdraw-line svelte-1jfrg6d`,null,He,i),F(Ve,`aria-valuenow`,r.overdraw.right),F(Ve,`aria-valuemax`,a),Ue=W(Ve,``,Ue,{left:`${(r.width-r.overdraw.right)*h(y)}px`}),O(Ge,r.overdraw.right),qe=x(Ke,1,`line h overdraw-line svelte-1jfrg6d`,null,qe,o),F(Ke,`aria-valuenow`,r.overdraw.top),F(Ke,`aria-valuemax`,s),Je=W(Ke,``,Je,{top:`${r.overdraw.top*h(y)}px`}),O(Xe,r.overdraw.top),Qe=x(Ze,1,`line h overdraw-line svelte-1jfrg6d`,null,Qe,c),F(Ze,`aria-valuenow`,r.overdraw.bottom),F(Ze,`aria-valuemax`,l),$e=W(Ze,``,$e,{top:`${(r.height-r.overdraw.bottom)*h(y)}px`}),O(tt,r.overdraw.bottom)},[()=>Math.round(h(y)*100),()=>({active:g(`overdraw`,`left`)}),()=>Q(`overdraw`,`left`),()=>({active:g(`overdraw`,`right`)}),()=>Q(`overdraw`,`right`),()=>({active:g(`overdraw`,`top`)}),()=>Q(`overdraw`,`top`),()=>({active:g(`overdraw`,`bottom`)}),()=>Q(`overdraw`,`bottom`)]),f(`click`,de,()=>q(1/1.25)),f(`click`,me,()=>q(1.25)),f(`click`,he,ee),f(`click`,_e,U),f(`pointerdown`,$,te),f(`pointermove`,$,ne),f(`pointerup`,$,re),G(`pointercancel`,$,re),G(`wheel`,$,ie),f(`pointerdown`,Ie,e=>ae(`overdraw`,`left`,e)),f(`pointermove`,Ie,Y),f(`pointerup`,Ie,Z),G(`pointercancel`,Ie,Z),f(`keydown`,Ie,e=>ce(`overdraw`,`left`,`x`,e)),f(`pointerdown`,Ve,e=>ae(`overdraw`,`right`,e)),f(`pointermove`,Ve,Y),f(`pointerup`,Ve,Z),G(`pointercancel`,Ve,Z),f(`keydown`,Ve,e=>ce(`overdraw`,`right`,`x`,e)),f(`pointerdown`,Ke,e=>ae(`overdraw`,`top`,e)),f(`pointermove`,Ke,Y),f(`pointerup`,Ke,Z),G(`pointercancel`,Ke,Z),f(`keydown`,Ke,e=>ce(`overdraw`,`top`,`y`,e)),f(`pointerdown`,Ze,e=>ae(`overdraw`,`bottom`,e)),f(`pointermove`,Ze,Y),f(`pointerup`,Ze,Z),G(`pointercancel`,Ze,Z),f(`keydown`,Ze,e=>ce(`overdraw`,`bottom`,`y`,e)),c(n,le),P()}s([`click`,`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var nr=u(`<div class="empty error svelte-1ea2lvt"> </div>`),rr=u(`<div class="empty svelte-1ea2lvt">Loading image…</div>`),ir=u(`<div class="pane svelte-1ea2lvt"><!></div>`),ar=u(`<div class="editor svelte-1ea2lvt"><div class="tabs svelte-1ea2lvt"><button>Slicing</button> <button>Preview</button></div> <!></div>`);function or(n,r){B(r,!0);let i=M(`slicing`),a=M(null),s=M(null),l=null;I(()=>{let e=r.asset.rawUrl;l!==e&&(l=e,V(a,null),V(s,null));let t=!1;return Vn(e).then(n=>{!t&&l===e&&V(a,n,!0)},n=>{!t&&l===e&&V(s,n instanceof Error?n.message:String(n),!0)}),()=>{t=!0}});let u=R(()=>{try{return de.validateParameters(r.parameters)}catch{return null}}),d=R(()=>{if(!h(u)||!h(a))return null;let e=r.asset.proxy?.width??h(a).width,t=r.asset.proxy?.height??h(a).height;return{id:r.asset.id,kind:`slice`,src:r.asset.proxy?.url??r.asset.rawUrl,byteSize:r.asset.proxy?.fileSize??0,slicing:{mode:h(u).mode,insets:Te({...h(u),width:e,height:t}),pixelRatio:h(u).pixelRatio,...h(u).overdraw?{overdraw:h(u).overdraw}:{}},sourceWidth:e,sourceHeight:t}});var p=ar(),m=v(p),g=v(m);let _;var y=e(g,2);let b;C(m);var S=e(m,2),w=e=>{var t=nr(),n=v(t,!0);C(t),o(()=>O(n,h(s))),c(e,t)},T=e=>{c(e,rr())},E=e=>{var t=ir(),n=v(t);{let e=R(()=>h(u).overdraw??we());tr(n,{get src(){return r.asset.rawUrl},get width(){return h(a).width},get height(){return h(a).height},get mode(){return h(u).mode},get insets(){return h(u).insets},get overdraw(){return h(e)},onChange:e=>r.onParametersChange({...h(u),insets:e}),onOverdrawChange:e=>r.onParametersChange({...h(u),overdraw:e}),onCommit:(e,t)=>r.onParametersCommit(e===`inset`?{...h(u),insets:t}:{...h(u),overdraw:t})})}C(t),c(e,t)},D=e=>{var t=ir();k(v(t),()=>r.asset.id,e=>{Yn(e,{get entry(){return h(d)}})}),C(t),c(e,t)};t(S,e=>{h(s)?e(w):!h(u)||!h(a)?e(T,1):h(i)===`slicing`?e(E,2):h(d)&&e(D,3)}),C(p),o(()=>{_=x(g,1,`svelte-1ea2lvt`,null,_,{on:h(i)===`slicing`}),b=x(y,1,`svelte-1ea2lvt`,null,b,{on:h(i)===`preview`})}),f(`click`,g,()=>V(i,`slicing`)),f(`click`,y,()=>V(i,`preview`)),c(n,p),P()}s([`click`]);var sr=u(`<div class="field svelte-ij1927"><!></div>`),cr=u(`<section class="svelte-ij1927"><!> <div class="field svelte-ij1927"><!></div> <!></section> <!>`,1);function lr(n,r){B(r,!0);let i=R(()=>q.validateParameters(r.parameters)),o=R(()=>r.presetCapabilities[h(i).preset]?.maxWidth!==!1);function s(e){r.onParametersCommit(e)}function l(e){if(r.presetCapabilities[e]?.maxWidth===!1){let{maxWidth:t,...n}=h(i);s({...n,preset:e});return}s({...h(i),preset:e})}function u(e,t){let n=Me(h(i),e);t?s(n):r.onParametersChange(n)}var f=cr(),p=d(f),m=v(p);Mt(m,{children:(e,t)=>{H(),c(e,a(`Video`))},$$slots:{default:!0}});var g=e(m,2);It(v(g),{label:`Preset`,caption:`Preset`,get value(){return h(i).preset},get options(){return r.presetNames},onChange:l,icon:e=>{Ee(e,{name:`preset`})},$$slots:{icon:!0}}),C(g);var _=e(g,2),y=e=>{var t=sr(),n=v(t);{let e=e=>{Ee(e,{name:`width`})},t=R(()=>h(i).maxWidth??null);At(n,{label:`Max width`,caption:`Max width`,min:1,placeholder:`source`,get value(){return h(t)},onChange:e=>u(e,!1),onCommit:e=>u(e,!0),icon:e,$$slots:{icon:!0}})}C(t),c(e,t)};t(_,e=>{h(o)&&e(y)}),C(p),Bt(e(p,2),{get proxy(){return r.asset.proxy},showDimensions:!0,showDuration:!0}),c(n,f),P()}var ur=u(`<div class="preview-column svelte-qls820"><div class="video-frame svelte-qls820"><!></div> <!></div>`),dr=u(`<p class="svelte-qls820">No proxy yet — add the asset to a manifest to process it.</p>`),fr=u(`<div class="stage checkerboard svelte-qls820"><!></div>`);function pr(n,r){B(r,!0);let i=M(void 0),a=R(()=>!r.asset.proxy||r.asset.proxy.width===void 0||r.asset.proxy.height===void 0||r.asset.proxy.durationMs===void 0?null:{id:r.asset.id,kind:`video`,src:r.asset.proxy.url,byteSize:r.asset.proxy.fileSize,width:r.asset.proxy.width,height:r.asset.proxy.height,durationMs:r.asset.proxy.durationMs});var s=fr(),l=v(s),u=t=>{var n=ur(),r=v(n);let s;k(v(r),()=>h(a).src,e=>{Sn(e,{get src(){return h(a)},loop:!0,get videoElement(){return h(i)},set videoElement(e){V(i,e,!0)}})}),C(r),nt(e(r,2),{get media(){return h(i)},showScrub:!0,showVolume:!0}),C(n),o(()=>s=W(r,``,s,{"aspect-ratio":`${h(a).width??``} / ${h(a).height??``}`})),c(t,n)},d=e=>{c(e,dr())};t(l,e=>{h(a)?e(u):e(d,-1)}),C(s),c(n,s),P()}var mr=u(`<video playsinline="" preload="metadata" class="svelte-ejgo9x"></video>`,2);function hr(e,t){B(t,!0);function n(e){e.currentTime=0,e.play().catch(()=>{})}function r(e){e.pause(),e.currentTime=0}var i=mr();i.muted=!0,o(()=>F(i,`src`,t.asset.proxy?.url??t.asset.rawUrl)),G(`pointerenter`,i,e=>n(e.currentTarget)),G(`pointerleave`,i,e=>r(e.currentTarget)),c(e,i),P()}var gr=u(`<span class="caption svelte-56kutb"> </span>`),_r=u(`<img class="preview svelte-56kutb" alt=""/>`),vr=u(`<span class="missing-preview svelte-56kutb" title="References an unknown asset">!</span>`),yr=u(`<span class="id svelte-56kutb"> </span>`),br=u(`<span class="id dangling svelte-56kutb" title="References an unknown asset"> </span>`),xr=u(`<span class="placeholder svelte-56kutb"> </span>`),Sr=u(`<button class="clear svelte-56kutb">×</button>`),Cr=u(`<p class="hint svelte-56kutb"> </p>`),wr=u(`<button><img class="thumbnail svelte-56kutb" alt=""/> <span class="id svelte-56kutb"> </span></button>`),Tr=u(`<div class="dropdown svelte-56kutb"><!></div>`),Er=u(`<div class="picker svelte-56kutb"><!> <div class="reference-input control svelte-56kutb"><button><span class="preview-slot svelte-56kutb"><!></span> <!></button> <!> <!></div></div>`);function Dr(n,i){B(i,!0);let a=M(!1),s=R(()=>($.state?.assets??[]).filter(e=>i.expectedTypes.includes(e.type)&&e.id!==i.excludeAssetId)),u=R(()=>i.value?$.assetById(i.value.$asset):null);function p(e){V(a,!1),i.onChange({$asset:e})}function m(){V(a,!1),i.onChange(void 0)}var g=Er(),_=v(g),y=e=>{var t=gr(),n=v(t,!0);C(t),o(()=>O(n,i.caption)),c(e,t)};t(_,e=>{i.caption&&e(y)});var b=e(_,2),S=v(b);let w;var T=v(S),E=v(T),D=e=>{var t=_r();o(()=>F(t,`src`,h(u).rawUrl)),c(e,t)},k=e=>{c(e,vr())};t(E,e=>{i.value&&h(u)?e(D):i.value&&e(k,1)}),C(T);var A=e(T,2),j=e=>{var n=l(),r=d(n),a=e=>{var t=yr(),n=v(t,!0);C(t),o(()=>O(n,h(u).id)),c(e,t)},s=e=>{var t=br(),n=v(t,!0);C(t),o(()=>O(n,i.value.$asset)),c(e,t)};t(r,e=>{h(u)?e(a):e(s,-1)}),c(e,n)},N=e=>{var t=xr(),n=v(t);C(t),o(e=>O(n,`Select ${e??``}...`),[()=>i.expectedTypes.join(`/`)]),c(e,t)};t(A,e=>{i.value?e(j):e(N,-1)}),C(S);var I=e(S,2),L=e=>{var t=Sr();o(()=>F(t,`title`,`Clear ${i.label??``}`)),f(`click`,t,m),c(e,t)};t(I,e=>{i.value&&e(L)});var z=e(I,2),H=n=>{var a=Tr(),u=v(a),m=e=>{var t=Cr(),n=v(t);C(t),o(e=>O(n,`No ${e??``} assets in the library.`),[()=>i.expectedTypes.join(`/`)]),c(e,t)},g=t=>{var n=l();r(d(n),17,()=>h(s),e=>e.id,(t,n)=>{var r=wr();let a;var s=v(r),l=e(s,2),u=v(l,!0);C(l),C(r),o(()=>{a=x(r,1,`option svelte-56kutb`,null,a,{selected:i.value?.$asset===h(n).id}),F(s,`src`,h(n).rawUrl),O(u,h(n).id)}),f(`click`,r,()=>p(h(n).id)),c(t,r)}),c(t,n)};t(u,e=>{h(s).length===0?e(m):e(g,-1)}),C(a),c(n,a)};t(z,e=>{h(a)&&e(H)}),C(b),C(g),o(()=>{w=x(S,1,`current svelte-56kutb`,null,w,{empty:!i.value}),F(S,`title`,i.value?`Change ${i.label}`:`Select ${i.label}`)}),f(`click`,S,()=>V(a,!h(a))),c(n,g),P()}s([`click`]);var Or=u(`<span class="caption svelte-gjs979"> </span>`),kr=u(`<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 Ar(n,r){B(r,!0);let i=M(null),a=/^#[0-9a-f]{6}$/i;function s(e){let t=e.startsWith(`#`)?e:`#${e}`;return a.test(t)?t.toUpperCase():null}function l(e){let t=e.currentTarget.value.toUpperCase();V(i,t,!0),r.onChange?.(t)}function u(e){let t=e.currentTarget.value.toUpperCase();V(i,t,!0),r.onCommit(t)}function d(e){V(i,e.currentTarget.value,!0);let t=s(h(i));t&&r.onChange?.(t)}function p(){let e=s(h(i)??r.value);e&&r.onCommit(e),V(i,null)}function m(e){e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(V(i,null),e.currentTarget.value=r.value,e.currentTarget.blur())}var g=kr(),_=v(g),y=e=>{var t=Or(),n=v(t,!0);C(t),o(()=>O(n,r.caption)),c(e,t)};t(_,e=>{r.caption&&e(y)});var b=e(_,2),x=v(b),S=v(x);T(S),C(x);var w=e(x,2);T(w),C(b),C(g),o(()=>{D(S,r.value),F(S,`aria-label`,`${r.label} color picker`),D(w,h(i)??r.value),F(w,`aria-label`,`${r.label} hex value`)}),f(`input`,S,l),f(`change`,S,u),G(`focus`,w,()=>V(i,r.value,!0)),f(`input`,w,d),G(`blur`,w,p),f(`keydown`,w,m),c(n,g),P()}s([`input`,`change`,`keydown`]);var jr=u(`<div class="field svelte-rsjkek"><!></div>`),Mr=u(`<section class="svelte-rsjkek"><!> <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 Nr(n,i){B(i,!0);let o=R(()=>J.validateParameters(i.parameters)),s=R(()=>i.presetCapabilities[h(o).preset]?.maxWidth!==!1);function l(e){i.onParametersCommit(e)}function u(e){if(i.presetCapabilities[e]?.maxWidth===!1){let{maxWidth:t,...n}=h(o);l({...n,preset:e});return}l({...h(o),preset:e})}function f(e,t){let n=Me(h(o),e);t?l(n):i.onParametersChange(n)}function p(e){return{...h(o),chromaKey:e}}let m=[{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 g(e,t,n){let r=p({...h(o).chromaKey,[e]:t});n?l(r):i.onParametersChange(r)}function _(e){return Math.round(Math.min(1,Math.max(0,e))*255).toString(16).padStart(2,`0`)}function y(e){return`#${_(e[0])}${_(e[1])}${_(e[2])}`}function b(e){let t=parseInt(e.slice(1),16);return[(t>>16&255)/255,(t>>8&255)/255,(t&255)/255]}function x(e,t){let n=p({...h(o).chromaKey,keyColor:b(e)});t?l(n):i.onParametersChange(n)}function S(e,t){let{[e]:n,...r}=h(o);l(t?{...r,[e]:t}:r)}var w=Mr(),T=d(w),E=v(T);Mt(E,{children:(e,t)=>{H(),c(e,a(`Video`))},$$slots:{default:!0}});var D=e(E,2);It(v(D),{label:`Preset`,caption:`Preset`,get value(){return h(o).preset},get options(){return i.presetNames},onChange:u,icon:e=>{Ee(e,{name:`preset`})},$$slots:{icon:!0}}),C(D);var O=e(D,2),k=e=>{var t=jr(),n=v(t);{let e=e=>{Ee(e,{name:`width`})},t=R(()=>h(o).maxWidth??null);At(n,{label:`Max width`,caption:`Max width`,min:1,placeholder:`source`,get value(){return h(t)},onChange:e=>f(e,!1),onCommit:e=>f(e,!0),icon:e,$$slots:{icon:!0}})}C(t),c(e,t)};t(O,e=>{h(s)&&e(k)}),C(T);var A=e(T,2),j=v(A);Mt(j,{children:(e,t)=>{H(),c(e,a(`Chroma key`))},$$slots:{default:!0}});var M=e(j,2),N=v(M);{let e=R(()=>y(h(o).chromaKey.keyColor));Ar(N,{label:`Key color`,caption:`Key color`,get value(){return h(e)},onChange:e=>x(e,!1),onCommit:e=>x(e,!0)})}C(M),r(e(M,2),17,()=>m,e=>e.key,(e,t)=>{var n=jr();At(v(n),{get label(){return h(t).label},get caption(){return h(t).label},get min(){return h(t).min},get max(){return h(t).max},get step(){return h(t).step},get value(){return h(o).chromaKey[h(t).key]},onChange:e=>g(h(t).key,e??h(t).min,!1),onCommit:e=>g(h(t).key,e??h(t).min,!0),icon:e=>{Ee(e,{get name(){return h(t).icon}})},$$slots:{icon:!0}}),C(n),c(e,n)}),C(A);var F=e(A,2),I=v(F);Mt(I,{children:(e,t)=>{H(),c(e,a(`References`))},$$slots:{default:!0}});var L=e(I,2);Dr(L,{label:`Mask`,caption:`Mask`,get value(){return h(o).mask},expectedTypes:[`image`],get excludeAssetId(){return i.asset.id},onChange:e=>S(`mask`,e)}),Dr(e(L,2),{label:`Fallback`,caption:`Fallback`,get value(){return h(o).fallback},expectedTypes:[`image`],get excludeAssetId(){return i.asset.id},onChange:e=>S(`fallback`,e)}),C(F),Bt(e(F,2),{get proxy(){return i.asset.proxy},showDimensions:!0,showDuration:!0}),c(n,w),P()}var Pr=u(`<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>`),Fr=u(`<p class="svelte-1y3xro5">No proxy yet — add the asset to a manifest to process it.</p>`),Ir=u(`<div class="stage svelte-1y3xro5"><!></div>`);function Lr(n,r){B(r,!0);let i=M(void 0),a=M(void 0);function s(e){if(!e)return;let t=$.assetById(e);if(!(!t?.proxy||t.proxy.width===void 0||t.proxy.height===void 0))return{id:e,kind:`image`,src:t.proxy.url,byteSize:t.proxy.fileSize,width:t.proxy.width,height:t.proxy.height}}let l=R(()=>{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=J.validateParameters(r.parameters),t=s(e.mask?.$asset),n=s(e.fallback?.$asset);return{id:r.asset.id,kind:`chroma-key-video`,src:r.asset.proxy.url,byteSize:r.asset.proxy.fileSize,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=R(()=>h(l)?{id:h(l).id,kind:`video`,src:h(l).src,byteSize:h(l).byteSize,width:h(l).width,height:h(l).height,durationMs:h(l).durationMs}:null);I(()=>{let e=h(i),t=h(a);if(!e||!t)return;function n(){Math.abs(t.currentTime-e.currentTime)>.25&&(t.currentTime=e.currentTime)}function r(){n(),t.play().catch(()=>{})}function o(){t.pause(),t.currentTime=e.currentTime}function s(){t.currentTime=e.currentTime}return e.addEventListener(`play`,r),e.addEventListener(`playing`,r),e.addEventListener(`pause`,o),e.addEventListener(`ended`,o),e.addEventListener(`seeked`,s),e.addEventListener(`timeupdate`,n),s(),e.paused||t.play().catch(()=>{}),()=>{e.removeEventListener(`play`,r),e.removeEventListener(`playing`,r),e.removeEventListener(`pause`,o),e.removeEventListener(`ended`,o),e.removeEventListener(`seeked`,s),e.removeEventListener(`timeupdate`,n)}});var d=Ir(),f=v(d),p=t=>{var n=Pr(),r=v(n),s=v(r),d=e(v(s),2);let f;k(v(d),()=>h(u).src,e=>{Sn(e,{get src(){return h(u)},loop:!0,get videoElement(){return h(a)},set videoElement(e){V(a,e,!0)}})}),C(d),C(s);var p=e(s,2),m=e(v(p),2);let g;k(v(m),()=>`${h(l).src}|${h(l).mask?.src??``}`,e=>{Pn(e,{get src(){return h(l)},get videoElement(){return h(i)},set videoElement(e){V(i,e,!0)}})}),C(m),C(p),C(r),nt(e(r,2),{get media(){return h(i)},showScrub:!0,showVolume:!1}),C(n),o(()=>{f=W(d,``,f,{"aspect-ratio":`${h(u).width??``} / ${h(u).height??``}`}),g=W(m,``,g,{"aspect-ratio":`${h(l).width??``} / ${h(l).height??``}`})}),c(t,n)},m=e=>{c(e,Fr())};t(f,e=>{h(l)&&h(u)?e(p):e(m,-1)}),C(d),c(n,d),P()}var Rr=u(`<section class="svelte-3jblpy"><!> <div class="field svelte-3jblpy"><!></div></section> <!>`,1);function zr(t,n){B(n,!0);let r=R(()=>Y.validateParameters(n.parameters));function i(e){let t={...h(r),preset:e};n.onParametersCommit(t)}var o=Rr(),s=d(o),l=v(s);Mt(l,{children:(e,t)=>{H(),c(e,a(`Audio`))},$$slots:{default:!0}});var u=e(l,2);It(v(u),{label:`Preset`,caption:`Preset`,get value(){return h(r).preset},get options(){return n.presetNames},onChange:i,icon:e=>{Ee(e,{name:`preset`})},$$slots:{icon:!0}}),C(u),C(s),Bt(e(s,2),{get proxy(){return n.asset.proxy},showDuration:!0}),c(t,o),P()}function Br(e,t){B(t,!0);{let n=R(()=>t.asset.proxy?.url??t.asset.rawUrl);dt(e,{get src(){return h(n)}})}P()}var Vr={[Q.type]:{panel:Ht,editor:Ln,thumbnail:zn},[de.type]:{panel:qn,editor:or,thumbnail:zn},[q.type]:{panel:lr,editor:pr,thumbnail:hr},[J.type]:{panel:Nr,editor:Lr,thumbnail:hr},[Y.type]:{panel:zr,editor:ht,thumbnail:Br}},Hr=Se.project(Vr,`editor implementation`),Ur=u(`<p class="error svelte-1f5yh58">This file type is not supported (raster images, video, or audio).</p>`),Wr=u(`<button> </button>`),Gr=u(`<p class="empty-manifests svelte-1f5yh58">No manifests available — this asset will be unassigned.</p>`),Kr=u(`<div class="manifest-list svelte-1f5yh58"><!></div>`),qr=u(`<p class="hint warn svelte-1f5yh58"> </p>`),Jr=u(`<p class="hint warn svelte-1f5yh58">An asset with this id already exists.</p>`),Yr=u(`<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),Xr=u(`<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 Zr(n,i){B(i,!0);let a=R(()=>ue(i.file.name)),s=M(`image`),l=M(`asset`),u=M(w([])),p=M(!1),m=M(null),g=R(()=>$.manifestNames);I(()=>{V(s,ue(i.file.name)[0]??`image`,!0),V(l,fe(i.file.name),!0),V(u,h(g).length===0?[]:[h(g).includes(`main`)?`main`:h(g)[0]],!0)});let y=R(()=>$.state?.assets.some(e=>e.id===h(l))??!1),b=R(()=>ge(h(l))),S=R(()=>h(b)===null),E=R(()=>h(S)&&!h(y)&&h(a).length>0&&!h(p));function D(e){V(u,h(u).includes(e)?h(u).filter(t=>t!==e):[...h(u),e],!0)}async function k(){if(!h(E))return;let e=h(l),t=h(s),n=[...h(u)],r=i.file,a=i.folder;V(p,!0),V(m,null);try{await $.mutateFromServer(()=>be(r,t,e,a,n),{dependencies:[`asset:${e}`,`folder:${a}`,...n.map(e=>`manifest:${e}`)]}),i.onDone(e)}catch(e){V(m,e instanceof Error?e.message:String(e),!0)}finally{V(p,!1)}}var j=Xr();G(`keydown`,_,e=>Ne(e,{busy:h(p),confirmDisabled:!h(E),onConfirm:()=>void k(),onCancel:i.onCancel}));var N=v(j),F=e(v(N),2),L=v(F,!0);C(F);var z=e(F,2),H=v(z);C(z);var U=e(z,2),ee=e=>{c(e,Ur())},W=n=>{var i=Yr(),_=d(i),w=e(v(_),2);r(w,20,()=>h(a),e=>e,(e,t)=>{var n=Wr();let r;var i=v(n,!0);C(n),o(()=>{n.disabled=h(p),r=x(n,1,`svelte-1f5yh58`,null,r,{on:h(s)===t}),O(i,t)}),f(`click`,n,()=>V(s,t,!0)),c(e,n)}),C(w),C(_);var E=e(_,2),k=e(v(E),2);T(k),C(E);var j=e(E,2),M=e(v(j),2),N=e=>{c(e,Gr())},P=e=>{var t=Kr();Oe(v(t),{get manifests(){return h(g)},get selected(){return h(u)},passive:[],onToggle:D,get disabled(){return h(p)}}),C(t),c(e,t)};t(M,e=>{h(g).length===0?e(N):e(P,-1)}),C(j);var F=e(j,2),I=e=>{var t=qr(),n=v(t,!0);C(t),o(()=>O(n,h(b))),c(e,t)},L=e=>{c(e,Jr())};t(F,e=>{h(S)?h(y)&&e(L,1):e(I)});var R=e(F,2),z=e=>{var t=qr(),n=v(t,!0);C(t),o(()=>O(n,h(m))),c(e,t)};t(R,e=>{h(m)&&e(z)}),o(()=>k.disabled=h(p)),A(k,()=>h(l),e=>V(l,e)),c(n,i)};t(U,e=>{h(a).length===0?e(ee):e(W,-1)});var K=e(U,2),q=v(K),J=e(q,2),te=v(J,!0);C(J),C(K),C(N),C(j),o(()=>{O(L,i.file.name),O(H,`Destination: ${(i.folder||`Root`)??``}`),q.disabled=h(p),J.disabled=!h(E),O(te,h(p)?`Importing…`:`Import`)}),f(`click`,j,e=>{e.target===e.currentTarget&&!h(p)&&i.onCancel()}),f(`click`,q,function(...e){i.onCancel?.apply(this,e)}),f(`click`,J,()=>void k()),c(n,j),P()}s([`click`]);var Qr=u(`<p class="destination svelte-n5o24b"> </p>`),$r=u(`<label class="field svelte-n5o24b"><span>Type</span> <select class="control"><option>Image</option><option>Slice</option></select></label>`),ei=u(`<div class="field wide svelte-n5o24b"><span>Manifests</span> <!></div>`),ti=u(`<p class="warning svelte-n5o24b"> </p>`),ni=u(`<p class="warning svelte-n5o24b">An asset with this ID already exists.</p>`),ri=u(`<label class="field wide svelte-n5o24b"><span>Asset ID</span> <input class="control" spellcheck="false" placeholder="asset"/></label> <!> <!> <!>`,1),ii=u(`<div class="backdrop svelte-n5o24b" role="presentation"><div class="dialog svelte-n5o24b" role="dialog" tabindex="-1"><h2 class="svelte-n5o24b"> </h2> <!> <label class="field wide svelte-n5o24b"><span>Selection link</span> <input class="control" type="url" placeholder="https://www.figma.com/design/…?node-id=…"/></label> <div class="row svelte-n5o24b"><!> <label class="field svelte-n5o24b"><span>Export scale</span> <select class="control"><option>1x</option><option>2x</option><option>3x</option><option>4x</option></select></label></div> <!> <!> <div class="actions svelte-n5o24b"><button class="control">Cancel</button> <button class="control primary"> </button></div></div></div>`);function ai(n,r){B(r,!0);let i=b(r,`folder`,3,``),a=M(``),s=M(w($.state?.importDefaults.figma.scale??2)),l=M(`image`),u=M(``),p=M(w(De($.manifestNames))),m=M(!1),g=M(null),y=R(()=>$.manifestNames),x=R(()=>ge(h(u))),S=R(()=>$.state?.assets.some(e=>e.id===h(u))??!1),D=R(()=>h(a).trim().length>0&&(r.replacement!==void 0||h(x)===null&&!h(S))&&!h(m));function k(e){V(p,h(p).includes(e)?h(p).filter(t=>t!==e):[...h(p),e],!0)}async function j(){if(!h(D))return;let e=h(u),t=[...h(p)],n=h(a),o=h(s),c=h(l),d=i(),f=r.replacement;V(m,!0),V(g,null);try{f?(await $.mutateFromServer(()=>me(f.id,{url:n,scale:o}),{dependencies:[`asset:${f.id}`]}),r.onDone(f.id)):(await $.mutateFromServer(()=>ce({url:n,scale:o,type:c,id:e,folder:d,manifests:t}),{dependencies:[`asset:${e}`,`folder:${d}`,...t.map(e=>`manifest:${e}`)]}),r.onDone(e))}catch(e){V(g,e instanceof Error?e.message:String(e),!0)}finally{V(m,!1)}}var N=ii();G(`keydown`,_,e=>Ne(e,{busy:h(m),confirmDisabled:!h(D),onConfirm:()=>void j(),onCancel:r.onCancel}));var I=v(N),L=v(I),z=v(L,!0);C(L);var H=e(L,2),U=e=>{var t=Qr(),n=v(t);C(t),o(()=>O(n,`Asset: ${r.replacement.id??``}`)),c(e,t)},ee=e=>{var t=Qr(),n=v(t);C(t),o(()=>O(n,`Destination: ${(i()||`Root`)??``}`)),c(e,t)};t(H,e=>{r.replacement?e(U):e(ee,-1)});var W=e(H,2),K=e(v(W),2);T(K),C(W);var q=e(W,2),J=v(q),te=t=>{var n=$r(),r=e(v(n),2),i=v(r);i.value=i.__value=`image`;var a=e(i);a.value=a.__value=`slice`,C(r),C(n),o(()=>r.disabled=h(m)),E(r,()=>h(l),e=>V(l,e)),c(t,n)};t(J,e=>{r.replacement||e(te)});var ne=e(J,2),re=e(v(ne),2),ie=v(re);ie.value=ie.__value=1;var ae=e(ie);ae.value=ae.__value=2;var Y=e(ae);Y.value=Y.__value=3;var X=e(Y);X.value=X.__value=4,C(re),C(ne),C(q);var Z=e(q,2),oe=n=>{var r=ri(),i=d(r),a=e(v(i),2);T(a),C(i);var s=e(i,2),l=t=>{var n=ei();Oe(e(v(n),2),{get manifests(){return h(y)},get selected(){return h(p)},passive:[],onToggle:k,get disabled(){return h(m)}}),C(n),c(t,n)};t(s,e=>{h(y).length>0&&e(l)});var f=e(s,2),g=e=>{var t=ti(),n=v(t,!0);C(t),o(()=>O(n,h(x))),c(e,t)};t(f,e=>{h(u)&&h(x)&&e(g)});var _=e(f,2),b=e=>{c(e,ni())};t(_,e=>{h(S)&&e(b)}),o(()=>a.disabled=h(m)),A(a,()=>h(u),e=>V(u,e)),c(n,r)};t(Z,e=>{r.replacement||e(oe)});var Q=e(Z,2),se=e=>{var t=ti(),n=v(t,!0);C(t),o(()=>O(n,h(g))),c(e,t)};t(Q,e=>{h(g)&&e(se)});var le=e(Q,2),ue=v(le),de=e(ue,2),fe=v(de,!0);C(de),C(le),C(I),C(N),o(()=>{F(I,`aria-label`,r.replacement?`Replace from Figma`:`Import from Figma`),O(z,r.replacement?`Replace from Figma`:`Import from Figma`),K.disabled=h(m),re.disabled=h(m),ue.disabled=h(m),de.disabled=!h(D),O(fe,h(m)?r.replacement?`Replacing…`:`Importing…`:r.replacement?`Replace`:`Import`)}),f(`click`,N,e=>{e.target===e.currentTarget&&!h(m)&&r.onCancel()}),A(K,()=>h(a),e=>V(a,e)),E(re,()=>h(s),e=>V(s,e)),f(`click`,ue,function(...e){r.onCancel?.apply(this,e)}),f(`click`,de,()=>void j()),c(n,N),P()}s([`click`]);function oi(e,t,n=[]){let r=e!==t&&!X(t,e)&&re(e)!==t;if(!r||n.length===0)return r;let i=te(t,ae(e)),a=new Set(n.filter(t=>!X(t,e)).map(ie));return n.filter(t=>X(t,e)).every(t=>!a.has(ie(Z(t,e,i))))}function si(e,t,n,r=[]){return e&&t!==null&&oi(t,n,r)}var ci=i(`<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 li(e,t){let n=b(t,`size`,3,14);var r=ci();o(()=>{F(r,`width`,n()),F(r,`height`,n())}),c(e,r)}var ui=u(`<span class="asset-warning svelte-ftwms1">⚠</span>`),di=u(`<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>`),fi=u(`<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),pi=u(`<p class="dialog-warning svelte-ftwms1"> </p>`),mi=u(`<p class="dialog-warning svelte-ftwms1">A sibling folder with this name already exists.</p>`),hi=u(`<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),gi=u(`<p class="dialog-text svelte-ftwms1">Delete <strong> </strong> </p> <!> <!>`,1),_i=u(`<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 vi(n,i){B(i,!0);let a=b(i,`activeAsset`,3,null),s=b(i,`sharedDraggedFolder`,3,null),l=M(null),u=M(null),p=R(()=>s()??h(u)),g=R(()=>$.state?.library.folders??[]),_=R(()=>$.state?.assets??[]),y=R(()=>[...h(g)].sort((e,t)=>e.localeCompare(t)));function S(e){return h(_).filter(t=>t.folder===e).length}function w(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,r=si(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,h(p),t,h(g));!n&&!r||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),V(l,t,!0))}function E(e,t){e.preventDefault(),V(l,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`)&&i.onMoveAssets(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`)||h(p);r&&oi(r,t,h(g))&&k(r,t)}function D(e,t){a()||i.selectedFolder!==null&&X(i.selectedFolder,e)&&i.onSelect(`${t}${i.selectedFolder.slice(e.length)}`,!0)}async function k(e,t){let n=te(t,ae(e)),r=$.mutate(()=>le(e,t),xe(e,t),{dependencies:[`folder:${e}`,`folder:${t}`,`folder:${n}`],invalidatesOnFailure:[`folder:${e}`,`folder:${n}`]});D(e,n);try{await r}catch{h(g).some(t=>X(t,e))&&D(n,e)}finally{V(u,null),i.onFolderDragEnd?.()}}let j=M(null),N=M(``),L=M(null),H=M(null),U=M(``),ee=M(void 0),K=M(!1),q=M(null),J=0,Y=R(()=>i.selectedFolder!==null&&i.selectedFolder!==``?i.selectedFolder:null),Z=R(()=>h(U)===``?null:he(h(U))),oe=R(()=>te(h(j)===`rename`?re(h(L)??``):h(N),h(U).normalize(`NFC`))),Q=R(()=>h(U)!==``&&h(g).some(e=>e!==(h(j)===`rename`?h(L):null)&&ie(e)===ie(h(oe)))),ce=R(()=>h(U)!==``&&!h(Z)&&!h(Q)&&!h(K));function ue(e=i.selectedFolder??``){J+=1,V(N,e,!0),V(U,``),V(q,null),V(j,`create`),m().then(()=>h(ee)?.focus())}let de=0;I(()=>{i.createRequest!==null&&i.createRequest.id!==de&&(de=i.createRequest.id,ue(i.createRequest.parent))});function fe(e,t,n=null){e.preventDefault(),e.stopPropagation(),i.onContextMenu(e.clientX,e.clientY,t,n)}function me(e){e!==null&&(J+=1,V(L,e,!0),V(U,ae(e),!0),V(q,null),V(j,`rename`),m().then(()=>h(ee)?.focus()))}let ge=0;I(()=>{i.renameRequest!==null&&i.renameRequest.id!==ge&&(ge=i.renameRequest.id,me(i.renameRequest.path))});function be(e){e!==null&&(J+=1,V(H,e,!0),V(q,null),V(j,`delete`))}let Se=0;I(()=>{i.deleteRequest!==null&&i.deleteRequest.id!==Se&&(Se=i.deleteRequest.id,be(i.deleteRequest.path))});function Ce(){h(K)||(J+=1,V(j,null),V(q,null))}async function we(){if(!h(ce))return;let e=h(j),t=h(U),n=t.normalize(`NFC`),r=i.selectedFolder,o=null,s=null,c=null;V(K,!0),V(q,null);try{if(e===`create`){let e=h(oe),t=$.mutate(()=>se(e),pe(e),{dependencies:[`folder:${h(N)}`,`folder:${e}`],invalidatesOnFailure:[`folder:${e}`]});a()||i.onSelect(e,!0),o=()=>{!a()&&i.selectedFolder===e&&!h(g).includes(e)&&i.onSelect(r,!0)},s=()=>!h(g).includes(e),V(j,null),c=++J,V(K,!1),await t}else if(e===`rename`&&h(L)!==null){let e=h(L),t=h(oe),r=$.mutate(()=>_e(e,n),ve(e,n),{dependencies:[`folder:${e}`,`folder:${t}`],invalidatesOnFailure:[`folder:${e}`,`folder:${t}`]});D(e,t),o=()=>{h(g).some(t=>X(t,e))&&D(t,e)},s=()=>h(g).some(t=>X(t,e)),V(j,null),c=++J,V(K,!1),await r}}catch(n){s?.()&&o?.(),c!==null&&J===c&&s?.()&&(V(j,e,!0),V(U,t,!0),V(q,n instanceof Error?n.message:String(n),!0))}finally{V(K,!1)}}let Te=R(()=>h(H)===null?[]:h(g).filter(e=>X(e,h(H)??``))),Ee=R(()=>h(H)===null?[]:h(_).filter(e=>X(e.folder,h(H)??``))),De=R(()=>new Set(h(Ee).map(e=>e.id))),Oe=R(()=>h(Ee).flatMap(e=>e.references.incoming.filter(e=>!h(De).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e.id}`)));async function ke(){if(h(H)===null)return;let e=h(H),t=re(e),n=i.selectedFolder,r=a()!==null&&X(a().folder,e),o=r?a()?.id:null;V(K,!0),V(q,null);let s=$.mutate(()=>ne(e),ye(e),{dependencies:[`folder:${e}`],invalidatesOnFailure:[`folder:${e}`]});r?i.onActiveAssetDeleted?.(t):!a()&&i.selectedFolder!==null&&X(i.selectedFolder,e)&&i.onSelect(t,!0),V(j,null);let c=++J;V(K,!1);try{await s}catch(r){let a=h(g).some(t=>X(t,e))||h(_).some(t=>X(t.folder,e));a&&o?i.onActiveAssetDeleteFailed?.(o):a&&i.selectedFolder===t&&i.onSelect(n,!0),a&&J===c&&(V(j,`delete`),V(H,e,!0),V(q,r instanceof Error?r.message:String(r),!0))}finally{V(K,!1)}}function Ae(e){a()&&(e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify([a().id])),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`))}var Me=_i(),Ne=d(Me),Pe=v(Ne),Fe=e(v(Pe),2),Ie=v(Fe),Le=e(Ie,2),Re=e(Le,2);C(Fe),C(Pe);var ze=e(Pe,2),Be=v(ze);let Ve;var He=e(v(Be),2),Ue=v(He,!0);C(He),C(Be);var We=e(Be,2);let Ge;var Ke=e(v(We),2),qe=v(Ke,!0);C(Ke),C(We);var Je=e(We,2),Ye=n=>{var r=di();W(r,``,{},{"--depth":0});var i=v(r),s=e(v(i),2),l=v(s,!0);C(s);var u=e(s,2),d=e=>{var t=ui();o(e=>F(t,`title`,e),[()=>a().warnings.join(`
|
|
105
|
+
`)]),c(e,t)};t(u,e=>{a().warnings.length>0&&e(d)}),C(i),C(r),o(()=>{F(i,`title`,a().id),O(l,a().id)}),G(`dragstart`,i,Ae),c(n,r)};t(Je,e=>{a()?.folder===``&&e(Ye)}),r(e(Je,2),16,()=>h(y),e=>e,(n,r)=>{let s=R(()=>r.split(`/`).length-1);var p=fi(),m=d(p);let g;var _=v(m);let y;var b=v(_);li(v(b),{}),C(b);var T=e(b),D=v(T,!0);C(T);var k=e(T),A=v(k,!0);C(k),C(_),C(m);var j=e(m,2),M=n=>{var r=di();let i;var l=v(r),u=e(v(l),2),d=v(u,!0);C(u);var f=e(u,2),p=e=>{var t=ui();o(e=>F(t,`title`,e),[()=>a().warnings.join(`
|
|
106
|
+
`)]),c(e,t)};t(f,e=>{a().warnings.length>0&&e(p)}),C(l),C(r),o(()=>{i=W(r,``,i,{"--depth":h(s)+1}),F(l,`title`,a().id),O(d,a().id)}),G(`dragstart`,l,Ae),c(n,r)};t(j,e=>{a()?.folder===r&&e(M)}),o((e,t)=>{g=W(m,``,g,{"--depth":h(s)}),y=x(_,1,`row folder svelte-ftwms1`,null,y,{selected:!a()&&i.selectedFolder===r,"drop-target":h(l)===r}),F(T,`title`,r),O(D,e),O(A,t)},[()=>ae(r),()=>S(r)]),f(`click`,_,()=>i.onSelect(r)),f(`contextmenu`,_,e=>fe(e,r,r)),G(`dragstart`,_,e=>{V(u,r,!0),i.onFolderDragStart?.(r),e.dataTransfer?.setData(`application/x-fundus-folder`,r),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),G(`dragend`,_,()=>{V(u,null),i.onFolderDragEnd?.(),V(l,null)}),G(`dragover`,_,e=>w(e,r)),G(`dragleave`,_,()=>V(l,null)),G(`drop`,_,e=>E(e,r)),c(n,p)}),C(ze),C(Ne);var Xe=e(Ne,2),Ze=n=>{{let r=R(()=>h(j)===`create`?`Create folder`:`Rename folder`),i=R(()=>h(K)?`Saving…`:h(j)===`create`?`Create`:`Rename`),a=R(()=>!h(ce));je(n,{get title(){return h(r)},get confirmLabel(){return h(i)},get confirmDisabled(){return h(a)},get busy(){return h(K)},onConfirm:()=>void we(),onCancel:Ce,children:(n,r)=>{var i=hi(),a=d(i),s=e(v(a),2);T(s),z(s,e=>V(ee,e),()=>h(ee)),C(a);var l=e(a,2),u=v(l,!0);C(l);var f=e(l,2),p=e=>{var t=pi(),n=v(t,!0);C(t),o(()=>O(n,h(Z))),c(e,t)};t(f,e=>{h(Z)&&e(p)});var m=e(f,2),g=e=>{c(e,mi())};t(m,e=>{h(Q)&&e(g)});var _=e(m,2),y=e=>{var t=pi(),n=v(t,!0);C(t),o(()=>O(n,h(q))),c(e,t)};t(_,e=>{h(q)&&e(y)}),o(()=>{s.disabled=h(K),O(u,h(oe)||`Root`)}),A(s,()=>h(U),e=>V(U,e)),c(n,i)},$$slots:{default:!0}})}};t(Xe,e=>{(h(j)===`create`||h(j)===`rename`)&&e(Ze)});var Qe=e(Xe,2),$e=n=>{{let r=R(()=>h(K)?`Deleting…`:`Delete recursively`);je(n,{title:`Delete folder`,get confirmLabel(){return h(r)},danger:!0,get busy(){return h(K)},onConfirm:()=>void ke(),onCancel:Ce,children:(n,r)=>{var i=gi(),a=d(i),s=e(v(a)),l=v(s,!0);C(s);var u=e(s);C(a);var f=e(a,2),p=e=>{var t=pi(),n=v(t);C(t),o(e=>O(n,`This leaves ${h(Oe).length??``} external reference(s) dangling:
|
|
107
|
+
${e??``}`),[()=>h(Oe).join(`, `)]),c(e,t)};t(f,e=>{h(Oe).length>0&&e(p)});var m=e(f,2),g=e=>{var t=pi(),n=v(t,!0);C(t),o(()=>O(n,h(q))),c(e,t)};t(m,e=>{h(q)&&e(g)}),o(()=>{O(l,h(H)),O(u,`, ${h(Te).length-1} descendant folder(s),
|
|
108
|
+
and ${h(Ee).length??``} asset(s)? Raw and proxy files are removed.`)}),c(n,i)},$$slots:{default:!0}})}};t(Qe,e=>{h(j)===`delete`&&h(H)!==null&&e($e)}),o(e=>{F(Ie,`title`,a()?`Create folder beside the current asset`:`Create child folder`),F(Le,`title`,a()?`Rename the current asset folder`:`Rename selected folder`),Le.disabled=h(Y)===null,F(Re,`title`,a()?`Delete the current asset folder`:`Delete selected folder`),Re.disabled=h(Y)===null,Ve=x(Be,1,`row special svelte-ftwms1`,null,Ve,{selected:!a()&&i.selectedFolder===null}),O(Ue,h(_).length),Ge=x(We,1,`row special svelte-ftwms1`,null,Ge,{selected:!a()&&i.selectedFolder===``,"drop-target":h(l)===``}),O(qe,e)},[()=>S(``)]),f(`contextmenu`,Ne,e=>fe(e,``)),f(`click`,Ie,()=>ue()),f(`click`,Le,()=>me(h(Y))),f(`click`,Re,()=>be(h(Y))),f(`click`,Be,()=>i.onSelect(null)),f(`click`,We,()=>i.onSelect(``)),G(`dragover`,We,e=>w(e,``)),G(`dragleave`,We,()=>V(l,null)),G(`drop`,We,e=>E(e,``)),c(n,Me),P()}s([`contextmenu`,`click`]);var yi=u(`<button role="menuitem" class="svelte-10jgqdh">Rename</button>`),bi=u(`<button class="danger svelte-10jgqdh" role="menuitem">Delete</button>`),xi=u(`<hr class="svelte-10jgqdh"/>`),Si=u(`<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> <button role="menuitem" class="svelte-10jgqdh">Import from Figma</button> <hr class="svelte-10jgqdh"/> <button role="menuitem" class="svelte-10jgqdh"> </button></div>`);function Ci(n,r){B(r,!0);let i=R(()=>Math.max(8,Math.min(r.x,window.innerWidth-176))),a=R(()=>4+ +!!r.onRenameDirectory+ +!!r.onDeleteDirectory),s=R(()=>!!(r.onRenameDirectory||r.onDeleteDirectory)),l=R(()=>1+ +!!h(s)),u=R(()=>h(a)*32+h(l)*9+8),d=R(()=>Math.max(8,Math.min(r.y,window.innerHeight-h(u)))),p=/Mac|iPhone|iPad/.test(navigator.platform)?`Open in Finder`:/Win/.test(navigator.platform)?`Open in Explorer`:`Open in File Manager`;function m(e){e(),r.onClose()}var g=Si();G(`click`,_,function(...e){r.onClose?.apply(this,e)}),G(`blur`,_,function(...e){r.onClose?.apply(this,e)}),G(`keydown`,_,e=>e.key===`Escape`&&r.onClose()),G(`resize`,_,function(...e){r.onClose?.apply(this,e)}),G(`scroll`,_,function(...e){r.onClose?.apply(this,e)});let y;var b=v(g),x=e=>{var t=yi();f(`click`,t,()=>m(r.onRenameDirectory)),c(e,t)};t(b,e=>{r.onRenameDirectory&&e(x)});var S=e(b,2),w=e=>{var t=bi();f(`click`,t,()=>m(r.onDeleteDirectory)),c(e,t)};t(S,e=>{r.onDeleteDirectory&&e(w)});var T=e(S,2),E=e=>{c(e,xi())};t(T,e=>{h(s)&&e(E)});var D=e(T,2),k=e(D,2),A=e(k,2),j=e(A,4),M=v(j,!0);C(j),C(g),o(()=>{y=W(g,``,y,{left:`${h(i)}px`,top:`${h(d)}px`}),O(M,p)}),f(`contextmenu`,g,e=>e.preventDefault()),f(`click`,D,()=>m(r.onNewDirectory)),f(`click`,k,()=>m(r.onImportFile)),f(`click`,A,()=>m(r.onImportFigma)),f(`click`,j,()=>m(r.onReveal)),c(n,g),P()}s([`contextmenu`,`click`]);var wi=u(`<div class="source-menu svelte-1c64lfa"><button type="button" class="svelte-1c64lfa"><strong>File</strong> <span class="svelte-1c64lfa"> </span></button> <button type="button" class="svelte-1c64lfa"><strong>Figma</strong> <span class="svelte-1c64lfa"> </span></button></div>`);function Ti(t,n){let r=b(n,`fileDescription`,3,`Choose an asset from your computer`),i=b(n,`figmaDescription`,3,`Import a frame or component by URL`);var a=wi(),s=v(a),l=e(v(s),2),u=v(l,!0);C(l),C(s);var d=e(s,2),p=e(v(d),2),m=v(p,!0);C(p),C(d),C(a),o(()=>{O(u,r()),O(m,i())}),f(`click`,s,function(...e){n.onFile?.apply(this,e)}),f(`click`,d,function(...e){n.onFigma?.apply(this,e)}),c(t,a)}s([`click`]);export{si as a,Zr as c,Ke as d,Fe as f,Pe as g,We as h,li as i,Hr as l,Ge as m,Ci as n,oi as o,Ve as p,vi as r,ai as s,Ti as t,Mt as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{K as e,M as t,P as n,Z as r,a as i,b as a,dt as o,j as s,p as c}from"./Z8rcWjXZ.js";import"./xihTtKlq.js";var l=n(`<span> </span>`);function u(n,u){let d=i(u,`overlay`,3,!1);var f=l();let p;var m=r(f,!0);o(f),e(()=>{c(f,`title`,u.title),p=a(f,1,`svelte-d2mzbr`,null,p,{edited:u.kind===`edited`,overlay:d()}),s(m,u.kind===`new`?`New`:`Edited`)}),t(n,f)}export{u as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{V as e,nt as t,tt as n}from"./Z8rcWjXZ.js";var r=class extends Error{status;constructor(e,t){super(t),this.name=`ApiResponseError`,this.status=e}};async function i(e){if(!e.ok){let t=`${e.status} ${e.statusText}`;try{let n=await e.json();n.error?.message&&(t=n.error.message)}catch{}throw new r(e.status,t)}return await e.json()}async function a(e){if(!e.ok){let t=`${e.status} ${e.statusText}`;try{let n=await e.json();n.error?.message&&(t=n.error.message)}catch{}throw new r(e.status,t)}}async function o(e){if(!e.ok)throw await a(e),new r(e.status,e.statusText);return await e.json()}async function s(){let e=await fetch(`/api/usage`,{method:`HEAD`,cache:`no-store`}),t=e.headers.get(`x-fundus-usage-capability`);if(e.status===204&&t===`available`)return!0;if(e.status===404&&t===`unavailable`)return!1;throw new r(e.status,`Could not discover usage capability (${e.status}, ${t??`missing header`}).`)}async function c(e={}){let t=new URLSearchParams;e.assetId&&t.set(`assetId`,e.assetId),e.forceFresh&&t.set(`fresh`,`1`);let n=t.size>0?`?${t}`:``;return o(await fetch(`/api/usage${n}`,{cache:`no-store`}))}async function l(e){await a(await fetch(`/api/usage`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e})}))}async function u(){return i(await fetch(`/api/state`,{cache:`no-store`}))}async function d(){return i(await fetch(`/api/reconcile`,{method:`POST`,cache:`no-store`,headers:{"Content-Type":`application/json`},body:JSON.stringify({})}))}async function f(e,t,n,r=[]){return i(await fetch(`/api/raw/adopt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,id:t,type:n,manifests:r})}))}async function ee(e,t){return i(await fetch(`/api/raw/edited/accept`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,type:t})}))}async function te(e){return i(await fetch(`/api/raw/edited/dismiss`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e})}))}async function ne(e,t,n,r,a=[]){let o=new FormData;o.set(`file`,e),o.set(`type`,t),o.set(`id`,n),o.set(`folder`,r);for(let e of a)o.append(`manifests`,e);return i(await fetch(`/api/assets`,{method:`POST`,body:o}))}async function re(e){return i(await fetch(`/api/imports`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({importer:`figma`,input:{url:e.url,format:`png`,scale:e.scale},type:e.type,id:e.id,folder:e.folder,manifests:e.manifests})}))}async function ie(e,t){return i(await fetch(`/api/assets/${encodeURIComponent(e)}/reimport`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...t?{input:{...t,format:`png`}}:{}})}))}async function ae(e,t){let n=new FormData;return n.set(`file`,t),i(await fetch(`/api/assets/${encodeURIComponent(e)}/raw`,{method:`PUT`,body:n}))}async function oe(e,t){return i(await fetch(`/api/assets/${encodeURIComponent(e)}/raw`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({importer:`figma`,input:{...t,format:`png`}})}))}async function se(e){return i(await fetch(`/api/folders`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e})}))}async function ce(e,t){return i(await fetch(`/api/folders/${encodeURIComponent(e)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t})}))}async function le(e,t){return i(await fetch(`/api/folders/${encodeURIComponent(e)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({parent:t})}))}async function ue(e){return i(await fetch(`/api/folders/${encodeURIComponent(e)}`,{method:`DELETE`}))}async function de(e,t){return i(await fetch(`/api/assets/${encodeURIComponent(e)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}))}async function fe(e,t){return i(await fetch(`/api/assets/move`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({assetIds:e,folder:t})}))}async function pe(e){return i(await fetch(`/api/assets/${encodeURIComponent(e)}`,{method:`DELETE`}))}async function me(e){return i(await fetch(`/api/assets/delete`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({assetIds:e})}))}async function he(e,t){return a(await fetch(`/api/reveal`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({assetId:e,kind:t})}))}async function ge(e){return a(await fetch(`/api/reveal`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({folder:e})}))}async function _e(e){return i(await fetch(`/api/manifests`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e})}))}async function ve(e){return i(await fetch(`/api/manifests/${encodeURIComponent(e)}`,{method:`DELETE`}))}async function ye(e,t){return i(await fetch(`/api/manifests/${encodeURIComponent(e)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}))}var be=class{#e=null;#t=null;#n=0;#r=[];get value(){return this.#t}replaceBase(e){this.#e=e,this.#a()}mergeBase(e){this.#e!==null&&(this.#e=e(this.#e),this.#a())}add(e,t=[]){let n=++this.#n;return this.#r.push({id:n,update:e,dependencies:t}),this.#t!==null&&(this.#t=e(this.#t)),n}confirm(e,t,n){let r=this.#r.findIndex(t=>t.id===e);if(r===-1)return;let i=this.#r[r],a=this.#e;if(a===null){this.#e=t,this.#i(e),this.#a();return}this.#e=n(i.update(a)),this.#i(e),r===0&&this.#t!==null?this.#t=n(this.#t):this.#a()}reject(e){this.#i(e),this.#a()}rejectAffectedFrom(e,t){this.#r=this.#r.filter(n=>n.id<e||n.id>e&&!p(n.dependencies,t)),this.#a()}#i(e){this.#r=this.#r.filter(t=>t.id!==e)}#a(){let e=this.#e;if(e===null){this.#t=null;return}let t=e;for(let e of this.#r)t=e.update(t);this.#t=t}};function p(e,t){return e.some(e=>t.some(t=>{if(e===t)return!0;if(!e.startsWith(`folder:`)||!t.startsWith(`folder:`))return!1;let n=e.slice(7),r=t.slice(7);return n.startsWith(`${r}/`)||r.startsWith(`${n}/`)}))}var xe=/[\u0000-\u001f\u007f]/,Se=/[<>:"|?*]/,Ce=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i;function we(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.`:xe.test(e)?`Folder names must not contain control characters.`:Se.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.`:Ce.test(e)?`"${e}" is a reserved filesystem name.`:null:`Folder names must not start or end with whitespace.`}function Te(e){return e.split(`/`).map(e=>e.normalize(`NFC`)).join(`/`)}function m(e){return Te(e).toLocaleLowerCase(`en-US`)}function h(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function g(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function _(e,t){return e===``?t:`${e}/${t}`}function v(e){return h(e)}function y(e){return g(e)}function b(e,t){return e===t||e.startsWith(`${t}/`)}function x(e,t,n){return e===t?n:`${n}${e.slice(t.length)}`}var S=`[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}`;RegExp(`^(?:\\.fundus-replace-${S}\\.tmp|\\.fundus-delete(?:-assets)?-${S})$`,`i`),RegExp(`\\.fundus-(?:replace-)?${S}$`,`i`);var C=[`preload`,`release`,`entries`,`constructor`,`prototype`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`toString`,`valueOf`],w=/^[a-z][A-Za-z0-9]*$/;function Ee(e){return w.test(e)?C.includes(e)?`"${e}" is reserved (it collides with a Manifest member name).`:null:`"${e}" is not a valid asset id — use a camelCase identifier starting with a lowercase letter (e.g. "navigationPanel").`}function De(e){return w.test(e)?C.includes(e)?`"${e}" is reserved (it collides with a Manifest member name).`:null:`"${e}" is not a valid manifest name — use a camelCase identifier starting with a lowercase letter (e.g. "mainCatalog").`}var T={type:`audio`,accepts:[`mp3`,`wav`,`m4a`,`ogg`,`flac`],defaultParameters:()=>({preset:`default`}),validateParameters(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Audio parameters must be an object.`);let t=e;if(typeof t.preset!=`string`||t.preset.length===0)throw Error(`Audio parameters need a non-empty string "preset".`);return{preset:t.preset}}};function Oe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.$asset==`string`&&e.$asset!==``}var E={keyColor:[0,1,0],colorCutoff:.2,colorFeathering:.33,maskFeathering:1,sharpening:.5,despill:1,despillLuminanceAdd:.2},ke=[`colorCutoff`,`colorFeathering`,`maskFeathering`,`sharpening`,`despill`,`despillLuminanceAdd`];function D(e){return Math.min(1,Math.max(0,e))}function Ae(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`"chromaKey" must be an object.`);let t=e,n=t.keyColor;if(!Array.isArray(n)||n.length!==3||n.some(e=>typeof e!=`number`||!Number.isFinite(e)))throw Error(`"chromaKey.keyColor" must be an array of three numbers (RGB, 0–1 each).`);let r={keyColor:[D(n[0]),D(n[1]),D(n[2])]};for(let e of ke){let n=t[e];if(typeof n!=`number`||!Number.isFinite(n))throw Error(`"chromaKey.${e}" must be a number (0–1).`);r[e]=D(n)}return r}var O=[`mp4`,`mov`,`webm`,`m4v`];function k(e,t){if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`${e} parameters must be an object.`);let n=t;if(typeof n.preset!=`string`||n.preset.length===0)throw Error(`${e} parameters need a non-empty string "preset".`);if(n.maxWidth!==void 0&&(typeof n.maxWidth!=`number`||!Number.isInteger(n.maxWidth)||n.maxWidth<=0))throw Error(`${e} "maxWidth" must be a positive integer when set.`);return{preset:n.preset,...n.maxWidth===void 0?{}:{maxWidth:n.maxWidth}}}var A={type:`video`,accepts:[...O],defaultParameters:()=>({preset:`default`}),validateParameters(e){return k(`Video`,e)}};function j(e,t){if(t!==void 0){if(!Oe(t))throw Error(`"${e}" must be an asset reference ({ "$asset": "<id>" }).`);return{$asset:t.$asset}}}var M={type:`chroma-key-video`,accepts:[...O],defaultParameters:()=>({preset:`default`,chromaKey:{...E,keyColor:[...E.keyColor]}}),validateParameters(e){let t=k(`Chroma-key-video`,e),n=e,r=Ae(n.chromaKey),i=j(`mask`,n.mask),a=j(`fallback`,n.fallback);return{...t,chromaKey:r,...i===void 0?{}:{mask:i},...a===void 0?{}:{fallback:a}}},collectReferences(e){let t=[];return e.mask&&t.push({field:`mask`,assetId:e.mask.$asset,expectedTypes:[`image`]}),e.fallback&&t.push({field:`fallback`,assetId:e.fallback.$asset,expectedTypes:[`image`]}),t},processingParameters(e){return{preset:e.preset,...e.maxWidth===void 0?{}:{maxWidth:e.maxWidth}}}},N=[`png`,`jpg`,`jpeg`,`webp`,`avif`],P={type:`image`,accepts:[...N],defaultParameters:()=>({preset:`default`}),validateParameters(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Image parameters must be an object.`);let t=e;if(typeof t.preset!=`string`||t.preset.length===0)throw Error(`Image parameters need a non-empty string "preset".`);if(t.targetWidth!==void 0&&(typeof t.targetWidth!=`number`||!Number.isInteger(t.targetWidth)||t.targetWidth<=0))throw Error(`Image "targetWidth" must be a positive integer when set.`);return{preset:t.preset,...t.targetWidth===void 0?{}:{targetWidth:t.targetWidth}}}},F=[`nine`,`three-horizontal`,`three-vertical`,`one`];function I(){return{top:0,right:0,bottom:0,left:0}}function L(e){return{horizontal:e===`nine`||e===`three-horizontal`,vertical:e===`nine`||e===`three-vertical`}}function R(e,t,n,r){return t===`left`?n-e.right:t===`right`?n-e.left:t===`top`?r-e.bottom:r-e.top}function je(e,t,n,r){return R(e,t,n,r)-1}function z(e,t,n){return Math.max(t,Math.min(n,e))}function Me(e){let t=L(e.mode),n=e.overdraw??{top:0,right:0,bottom:0,left:0},r=t.horizontal&&(e.compression?.x??0)>0,i=t.vertical&&(e.compression?.y??0)>0,a=r?Math.max(e.insets.left,n.left):e.insets.left,o=r?Math.max(e.insets.right,n.right):e.insets.right,s=i?Math.max(e.insets.top,n.top):e.insets.top,c=i?Math.max(e.insets.bottom,n.bottom):e.insets.bottom,l=z(a,0,e.width),u=z(o,0,e.width-l),d=z(s,0,e.height);return{top:d,right:u,bottom:z(c,0,e.height-d),left:l}}function B(e,t){if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`Slice ${e} must be an object with top/right/bottom/left.`);let n=t,r=[`top`,`right`,`bottom`,`left`],i=I();for(let t of r){let r=n[t];if(typeof r!=`number`||!Number.isInteger(r)||r<0)throw Error(`Slice ${e}.${t} must be a non-negative integer.`);i[t]=r}return i}function Ne(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Slice compression must be an object with x/y percentages.`);let t=e,n={x:0,y:0};for(let e of[`x`,`y`]){let r=t[e];if(typeof r!=`number`||!Number.isInteger(r)||r<0||r>100)throw Error(`Slice compression.${e} must be an integer from 0 to 100.`);n[e]=r}return n}var V={type:`slice`,accepts:[...N],defaultParameters:()=>({mode:`nine`,insets:I(),pixelRatio:1,preset:`default`}),validateParameters(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Slice parameters must be an object.`);let t=e;if(typeof t.mode!=`string`||!F.includes(t.mode))throw Error(`Slice "mode" must be one of ${F.map(e=>`'${e}'`).join(` | `)}.`);let n=B(`insets`,t.insets);if(typeof t.pixelRatio!=`number`||!Number.isInteger(t.pixelRatio)||t.pixelRatio<1)throw Error(`Slice "pixelRatio" must be an integer ≥ 1.`);let r=t.overdraw===void 0?void 0:B(`overdraw`,t.overdraw),i=t.compression===void 0?void 0:Ne(t.compression);if(typeof t.preset!=`string`||t.preset.length===0)throw Error(`Slice parameters need a non-empty string "preset".`);return{mode:t.mode,insets:n,pixelRatio:t.pixelRatio,...r===void 0?{}:{overdraw:r},...i===void 0?{}:{compression:i},preset:t.preset}}},H=new class{#e=new Map;register(e){if(this.#e.has(e.type))throw Error(`Plugin type "${e.type}" is already registered.`);this.#e.set(e.type,e)}has(e){return this.#e.has(e)}values(){return[...this.#e.values()]}types(){return[...this.#e.keys()]}project(e,t){let n=Object.create(null);for(let r of this.#e.keys()){if(!Object.hasOwn(e,r))throw Error(`Registered plugin "${r}" has no ${t}.`);n[r]=e[r]}return n}};H.register(P),H.register(V),H.register(A),H.register(M),H.register(T);var U=H.values();function Pe(e=U){return[...new Set(e.flatMap(e=>e.accepts))].sort().map(e=>`.${e}`)}function Fe(e,t=U){return t.find(t=>t.type===e)?.accepts.map(e=>`.${e}`).sort()??[]}function Ie(e,t=U){let n=e.slice(e.lastIndexOf(`.`)+1).toLowerCase();return t.filter(e=>e.accepts.includes(n)).map(e=>e.type)}function Le(e){let t=e.replace(/\.[^.]+$/,``).replace(/(?:@|[-_])\dx$/i,``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).split(/[^a-zA-Z0-9]+/).filter(Boolean);if(t.length===0)return`asset`;let n=t.map((e,t)=>t===0?e.toLowerCase():e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(``).replace(/^[0-9]+/,``);return n?n.charAt(0).toLowerCase()+n.slice(1):`asset`}function W(e){return K(e)}function G(e,t){return e<t?-1:+(e>t)}function K(e){if(e===void 0)return`null`;if(e===null||typeof e==`number`||typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(K).join(`,`)}]`;if(typeof e==`object`){let t=e,n=[];for(let e of Object.keys(t).sort())t[e]!==void 0&&n.push(`${JSON.stringify(e)}:${K(t[e])}`);return`{${n.join(`,`)}}`}throw Error(`Cannot canonicalize a ${typeof e} value.`)}function Re(e,t){let n={};for(let[r,i]of Object.entries(e.assets)){n[r]=[];let e=t[i.type];if(e?.collectReferences)try{n[r]=e.collectReferences(e.validateParameters(i.parameters))}catch{}}return n}function ze(e,t){let n=new Set,r=[...e];for(;r.length>0;){let e=r.pop();if(!(n.has(e)||!Object.hasOwn(t,e))){n.add(e);for(let n of t[e])r.push(n.assetId)}}return n}function Be(e,t){let n=new Set(Object.keys(e.manifests));for(let t of Object.values(e.assets))for(let e of t.manifests)n.add(e);let r={};for(let i of[...n].sort(G)){let n=Object.entries(e.assets).filter(([,e])=>e.manifests.includes(i)).map(([e])=>e).sort(G),a=new Set(n),o=new Set(n),s=new Map;for(let e of n)for(let n of ze([e],t)){if(o.add(n),a.has(n))continue;let t=s.get(n)??[];t.push(e),s.set(n,t)}r[i]={explicitMemberIds:n,passiveMembers:[...s.entries()].map(([e,t])=>({assetId:e,via:t})).sort((e,t)=>G(e.assetId,t.assetId)),deliveredAssetIds:o}}return r}function Ve(e,t,n,r){return n&&q(n,r)?`committed`:t&&q(t,r)?`rolled-back`:`unknown`}function q(e,t){return W(e)===W(t)}var J=Object.fromEntries(H.values().map(e=>[e.type,e]));function He(e,t,n){let r=e.library.assets[t]?.type,i=r?J[r]:void 0;if(!i)return[`asset:${t}`];try{let e=i.validateParameters(n),r=i.collectReferences?.(e)??[];return[...new Set([`asset:${t}`,...r.map(e=>`asset:${e.assetId}`)])]}catch{return[`asset:${t}`]}}function Y(e,t){let n=new Map(t.assets.map(e=>[e.id,e])),r={...e,assets:e.assets.map(e=>{let t=n.get(e.id);return t?{...e,rawUrl:t.rawUrl,rawHash:t.rawHash,gitStatus:t.gitStatus,importSource:t.importSource,proxy:t.proxy,warnings:t.warnings,duplicateIds:t.duplicateIds,passiveManifests:t.passiveManifests,references:t.references}:e}),gitBranch:t.gitBranch,importDefaults:t.importDefaults,issues:t.issues,presetNames:t.presetNames,presetCapabilities:t.presetCapabilities,rawIngestionQueue:t.rawIngestionQueue};return X(r,r.library)}function Ue(e,t){let n=structuredClone(e.library);n.folders=[...t.library.folders];for(let[e,r]of Object.entries(n.assets)){let i=t.library.assets[e];i?r.raw=i.raw:delete n.assets[e]}return Y(X(e,n),t)}function X(e,t,n=new Map){let r=new Map(e.assets.map(e=>[e.id,e])),i=new Map([...n.entries()].map(([e,t])=>[t,e])),a=Re(t,J),o=Be(t,a),s=We(o),c=new Map;for(let[e,t]of Object.entries(a))for(let n of t){let t=c.get(n.assetId)??[];t.push({field:n.field,assetId:e}),c.set(n.assetId,t)}let l=Object.entries(t.assets).map(([e,o])=>{let l=r.get(i.get(e)??e);return l?{...l,id:e,raw:o.raw,folder:v(o.raw),parameters:o.parameters,manifests:o.manifests,duplicateIds:l.duplicateIds.map(e=>n.get(e)??e).filter(e=>Object.hasOwn(t.assets,e)).sort(),passiveManifests:s.get(e)??[],references:{outgoing:a[e].map(e=>({field:e.field,assetId:e.assetId})),incoming:c.get(e)??[]}}:null}).filter(e=>e!==null).sort((e,t)=>e.id.localeCompare(t.id)),u=new Map(l.map(e=>[e.id,e.proxy?.fileSize??0])),d=Object.fromEntries(Object.keys(t.manifests).map(e=>{let t=o[e];return[e,{explicitMemberIds:t.explicitMemberIds,passiveMembers:t.passiveMembers}]})),f=Object.fromEntries(Object.keys(t.manifests).map(e=>[e,[...o[e].deliveredAssetIds].reduce((e,t)=>e+(u.get(t)??0),0)]));return{...e,library:t,assets:l,manifestMemberships:d,manifestDeliveredBytes:f,issues:e.issues.map(e=>({...e,...e.assetId&&n.has(e.assetId)?{assetId:n.get(e.assetId)}:{}}))}}function We(e){let t=new Map;for(let[n,r]of Object.entries(e))for(let e of r.passiveMembers){let{assetId:r,via:i}=e,a=t.get(r)??[];a.push({manifest:n,via:i}),t.set(r,a)}for(let e of t.values())e.sort((e,t)=>e.manifest.localeCompare(t.manifest));return t}function Z(e){return t=>{let n=structuredClone(t.library);return X(t,n,e(n)??new Map)}}function Ge(e,t){return Z(n=>{let r=n.assets[e];if(!r)return;t.parameters!==void 0&&(r.parameters=structuredClone(t.parameters)),t.manifests!==void 0&&(r.manifests=[...new Set(t.manifests)].sort());let i=t.renameTo??e;if(!(i!==e&&n.assets[i]))return i!==e&&(delete n.assets[e],n.assets[i]=r),t.folder!==void 0&&(r.raw=_(t.folder,y(r.raw))),i===e?void 0:new Map([[e,i]])})}function Ke(e,t){return Z(n=>{for(let r of new Set(e)){let e=n.assets[r];e&&(e.raw=_(t,y(e.raw)))}})}function qe(e){return Z(t=>{for(let n of new Set(e))delete t.assets[n]})}function Je(e){return Z(t=>{t.folders.includes(e)||t.folders.push(e),t.folders.sort()})}function Q(e,t){return Z(n=>{let r=n.folders.filter(t=>b(t,e)).map(n=>x(n,e,t)),i=new Set(n.folders.filter(t=>!b(t,e)).map(m));if(!r.some(e=>i.has(m(e)))){n.folders=n.folders.map(n=>b(n,e)?x(n,e,t):n).sort();for(let r of Object.values(n.assets)){let n=v(r.raw);b(n,e)&&(r.raw=_(x(n,e,t),y(r.raw)))}}})}function Ye(e,t){return Q(e,_(h(e),t))}function Xe(e,t){return Q(e,_(t,g(e)))}function Ze(e){return Z(t=>{t.folders=t.folders.filter(t=>!b(t,e));for(let[n,r]of Object.entries(t.assets))b(v(r.raw),e)&&delete t.assets[n]})}function Qe(e){return Z(t=>{Object.hasOwn(t.manifests,e)||(t.manifests[e]={})})}function $e(e,t){return Z(n=>{let r=n.manifests[e];if(r&&(t.color!==void 0&&(t.color===null?delete r.color:r.color=t.color),t.emoji!==void 0&&(t.emoji===null?delete r.emoji:r.emoji=t.emoji),!(t.renameTo===void 0||t.renameTo===e)&&!n.manifests[t.renameTo])){delete n.manifests[e],n.manifests[t.renameTo]=r;for(let r of Object.values(n.assets))r.manifests=r.manifests.map(n=>n===e?t.renameTo:n).sort()}})}function et(e){return Z(t=>{delete t.manifests[e];for(let n of Object.values(t.assets))n.manifests=n.manifests.filter(t=>t!==e)})}var tt=class{#e=Promise.resolve();#t=new Map;enqueue(e){let t=this.#e.then(e,e);return this.#e=t.then(()=>{},()=>{}),t}coalesce(e,t){let n=this.#t.get(e);if(n)return n;let r=this.enqueue(t).finally(()=>{this.#t.get(e)===r&&this.#t.delete(e)});return this.#t.set(e,r),r}},nt=class{#e=null;#t;constructor(e){this.#t=e}discover(e){if(this.#e)return this.#e;let t=(async()=>{try{this.#t({available:await e(),error:null})}catch(e){this.#t({available:null,error:e instanceof Error?e.message:String(e)})}})();return this.#e=t.finally(()=>{this.#e=null}),this.#e}};function rt(e,t,n){return e??t??(n.length>0?n.join(`
|
|
2
|
+
`):null)}var it=new class{#e=new tt;#t=new be;#n=0;#r=0;#i=[];#a=t(null);get state(){return e(this.#a)}set state(e){n(this.#a,e,!0)}#o=t(!1);get saving(){return e(this.#o)}set saving(e){n(this.#o,e,!0)}#s=t(null);get error(){return e(this.#s)}set error(e){n(this.#s,e,!0)}#c=t(null);get usageAvailable(){return e(this.#c)}set usageAvailable(e){n(this.#c,e,!0)}#l=t(null);get usageCapabilityError(){return e(this.#l)}set usageCapabilityError(e){n(this.#l,e,!0)}#u=t(0);get usageRefreshRevision(){return e(this.#u)}set usageRefreshRevision(e){n(this.#u,e,!0)}#d=new nt(e=>{this.usageAvailable=e.available,this.usageCapabilityError=e.error});#f=t(!1);get loaded(){return e(this.#f)}set loaded(e){n(this.#f,e,!0)}async refresh(){return this.#p(u,{rebaseEditableState:!0})}discoverUsageCapability(){return this.#d.discover(s)}reconcile(){return this.#p(d,{coalesce:!0})}async reconcileOnFocus(){let e=this.usageRefreshRevision;await this.reconcile(),this.usageRefreshRevision===e&&this.usageRefreshRevision++}#p(e,t={}){let n=async()=>{try{let n=await e();this.#t.value===null||t.rebaseEditableState?this.#t.replaceBase(n):this.#t.mergeBase(e=>Ue(e,n)),this.#h(),this.error=null}catch(e){this.error=e instanceof Error?e.message:String(e)}finally{this.loaded=!0}};return t.coalesce?this.#e.coalesce(`reconcile`,n):this.#e.enqueue(n)}mutate(e,t,n){return this.#m(e,t,n)}mutateFromServer(e,t){return this.#m(e,void 0,t)}#m(e,t,n={dependencies:[]}){let r=++this.#r,i=this.#t.value?.library,a=t?this.#t.add(t,n.dependencies):null,o=a===null?void 0:this.#t.value?.library;return a!==null&&this.#h(),this.#n+=1,this.saving=!0,this.#e.enqueue(async()=>{this.error=null;try{if(this.#i.some(e=>e.failedMutationId<r&&r<=e.throughMutationId&&p(n.dependencies,e.dependencies)))throw a!==null&&(this.#t.reject(a),this.#h()),new $;let t=await e();a===null?this.#t.replaceBase(t):this.#t.confirm(a,t,e=>Y(e,t)),this.#h()}catch(e){if(e instanceof $)throw this.error=e.message,e;let t=null;try{t=await u();let s=Ve(e,i,o,t.library);if(s===`committed`&&a!==null){let e=t;this.#t.confirm(a,e,t=>Y(t,e)),this.#h(),this.error=null;return}this.#t.replaceBase(t),s===`rolled-back`&&a!==null&&n.invalidatesOnFailure?.length?(this.#i.push({failedMutationId:r,throughMutationId:this.#r,dependencies:n.invalidatesOnFailure}),this.#t.rejectAffectedFrom(a,n.invalidatesOnFailure)):a!==null&&this.#t.reject(a)}catch{a!==null&&this.#t.reject(a)}throw this.#h(),this.error=e instanceof Error?e.message:String(e),e}finally{--this.#n,this.saving=this.#n>0,this.#n===0&&(this.#i=[])}})}#h(){this.state=this.#t.value}get manifestNames(){return Object.keys(this.state?.library.manifests??{}).sort()}manifestAppearance(e){return this.state?.library.manifests[e]??{}}get generalIssues(){return this.state?.issues.filter(e=>e.assetId===void 0).map(e=>e.message)??[]}assetById(e){return this.state?.assets.find(t=>t.id===e)??null}},$=class extends Error{constructor(){super(`Change was cancelled because an earlier structural save failed.`)}};export{de as $,De as A,f as B,je as C,A as D,M as E,_ as F,ue as G,_e as H,h as I,c as J,ve as K,m as L,g as M,v as N,T as O,b as P,l as Q,x as R,R as S,P as T,pe as U,se as V,me as W,fe as X,re as Y,le as Z,Ie as _,Qe as a,he as at,V as b,et as c,Ge as d,ye as et,$e as f,Le as g,Fe as h,Je as i,oe as it,we as j,Ee as k,Ke as l,Pe as m,rt as n,ce as nt,qe as o,ge as ot,Ye as p,te as q,He as r,ae as rt,Ze as s,ne as st,it as t,ie as tt,Xe as u,H as v,L as w,I as x,Me as y,ee as z};
|
|
Binary file
|
|
Binary file
|