fundus 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/README.md +73 -0
  2. package/build/client/_app/immutable/assets/0.DLhIsYA_.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.DLhIsYA_.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/2.ohi-TClG.css +1 -0
  5. package/build/client/_app/immutable/assets/2.ohi-TClG.css.br +0 -0
  6. package/build/client/_app/immutable/assets/2.ohi-TClG.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/3.JwgtcTEd.css +1 -0
  8. package/build/client/_app/immutable/assets/3.JwgtcTEd.css.br +0 -0
  9. package/build/client/_app/immutable/assets/3.JwgtcTEd.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/4.p004hmEN.css +1 -0
  11. package/build/client/_app/immutable/assets/4.p004hmEN.css.br +0 -0
  12. package/build/client/_app/immutable/assets/4.p004hmEN.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/ConfirmDialog.BdKlitwi.css +1 -0
  14. package/build/client/_app/immutable/assets/ConfirmDialog.BdKlitwi.css.br +0 -0
  15. package/build/client/_app/immutable/assets/ConfirmDialog.BdKlitwi.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/LibraryContextMenu.CMefGNE2.css +1 -0
  17. package/build/client/_app/immutable/assets/LibraryContextMenu.CMefGNE2.css.br +0 -0
  18. package/build/client/_app/immutable/assets/LibraryContextMenu.CMefGNE2.css.gz +0 -0
  19. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
  20. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/CNRz3sSw.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/CNRz3sSw.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/CO4RBJfa.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/CO4RBJfa.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/DOpBpjxS.js +108 -0
  26. package/build/client/_app/immutable/chunks/DOpBpjxS.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/DOpBpjxS.js.gz +0 -0
  28. package/{dist/editor/_app/immutable/chunks/BfPE5wdt.js → build/client/_app/immutable/chunks/DVEQFclp.js} +1 -1
  29. package/build/client/_app/immutable/chunks/DVEQFclp.js.br +1 -0
  30. package/build/client/_app/immutable/chunks/DVEQFclp.js.gz +0 -0
  31. package/{dist/editor/_app/immutable/chunks/DjvOiDmq.js → build/client/_app/immutable/chunks/DiFoWL2c.js} +1 -1
  32. package/build/client/_app/immutable/chunks/DiFoWL2c.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/DiFoWL2c.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/DkADHpZF.js +1 -0
  35. package/build/client/_app/immutable/chunks/DkADHpZF.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/DkADHpZF.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/xihTtKlq.js.br +1 -0
  38. package/build/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
  39. package/{dist/editor/_app/immutable/entry/app.BkqbfI8n.js → build/client/_app/immutable/entry/app.CKgtYXQb.js} +2 -2
  40. package/build/client/_app/immutable/entry/app.CKgtYXQb.js.br +0 -0
  41. package/build/client/_app/immutable/entry/app.CKgtYXQb.js.gz +0 -0
  42. package/build/client/_app/immutable/entry/start.CYZu5qE1.js +1 -0
  43. package/build/client/_app/immutable/entry/start.CYZu5qE1.js.br +0 -0
  44. package/build/client/_app/immutable/entry/start.CYZu5qE1.js.gz +0 -0
  45. package/{dist/editor/_app/immutable/nodes/0.xdMI5GEU.js → build/client/_app/immutable/nodes/0.I_1SApYQ.js} +1 -1
  46. package/build/client/_app/immutable/nodes/0.I_1SApYQ.js.br +0 -0
  47. package/build/client/_app/immutable/nodes/0.I_1SApYQ.js.gz +0 -0
  48. package/{dist/editor/_app/immutable/nodes/1.D9p2tfoJ.js → build/client/_app/immutable/nodes/1.v6eUTnWq.js} +1 -1
  49. package/build/client/_app/immutable/nodes/1.v6eUTnWq.js.br +2 -0
  50. package/build/client/_app/immutable/nodes/1.v6eUTnWq.js.gz +0 -0
  51. package/build/client/_app/immutable/nodes/2.DoA7Dfl-.js +3 -0
  52. package/build/client/_app/immutable/nodes/2.DoA7Dfl-.js.br +0 -0
  53. package/build/client/_app/immutable/nodes/2.DoA7Dfl-.js.gz +0 -0
  54. package/build/client/_app/immutable/nodes/3.C-DO70Bs.js +1 -0
  55. package/build/client/_app/immutable/nodes/3.C-DO70Bs.js.br +0 -0
  56. package/build/client/_app/immutable/nodes/3.C-DO70Bs.js.gz +0 -0
  57. package/build/client/_app/immutable/nodes/4.CALOuSyz.js +2 -0
  58. package/build/client/_app/immutable/nodes/4.CALOuSyz.js.br +0 -0
  59. package/build/client/_app/immutable/nodes/4.CALOuSyz.js.gz +0 -0
  60. package/build/client/_app/version.json +1 -0
  61. package/build/client/_app/version.json.br +0 -0
  62. package/build/client/_app/version.json.gz +0 -0
  63. package/build/env.js +100 -0
  64. package/build/env.js.map +1 -0
  65. package/build/handler.js +22 -0
  66. package/build/handler.js.map +1 -0
  67. package/build/index.js +145 -0
  68. package/build/index.js.map +1 -0
  69. package/build/server/chunks/chunks/context.js-BUZqFfWG.js +429 -0
  70. package/build/server/chunks/chunks/context.js-BUZqFfWG.js.map +1 -0
  71. package/build/server/chunks/chunks/core.js-xfrkaQpS.js +458 -0
  72. package/build/server/chunks/chunks/core.js-xfrkaQpS.js.map +1 -0
  73. package/build/server/chunks/chunks/env.js-l0sNRNKZ.js +2 -0
  74. package/build/server/chunks/chunks/env.js-l0sNRNKZ.js.map +1 -0
  75. package/build/server/chunks/chunks/exports.js-C0rwMMtk.js +152 -0
  76. package/build/server/chunks/chunks/exports.js-C0rwMMtk.js.map +1 -0
  77. package/build/server/chunks/chunks/folder-path.js-ytx9ucgg.js +64 -0
  78. package/build/server/chunks/chunks/folder-path.js-ytx9ucgg.js.map +1 -0
  79. package/build/server/chunks/chunks/http.js-DvopzwKh.js +100 -0
  80. package/build/server/chunks/chunks/http.js-DvopzwKh.js.map +1 -0
  81. package/build/server/chunks/chunks/internal.js-DGo2jPcg.js +5753 -0
  82. package/build/server/chunks/chunks/internal.js-DGo2jPcg.js.map +1 -0
  83. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js +22 -0
  84. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -0
  85. package/{dist/operations-DYM-5KVl.js → build/server/chunks/chunks/library-store.js-ZLudCJlT.js} +463 -492
  86. package/build/server/chunks/chunks/library-store.js-ZLudCJlT.js.map +1 -0
  87. package/build/server/chunks/chunks/manifest-appearance.js-DTk355LQ.js +146 -0
  88. package/build/server/chunks/chunks/manifest-appearance.js-DTk355LQ.js.map +1 -0
  89. package/build/server/chunks/chunks/routing.js-y-tryuip.js +213 -0
  90. package/build/server/chunks/chunks/routing.js-y-tryuip.js.map +1 -0
  91. package/build/server/chunks/chunks/shared.js-B1gC9MiJ.js +255 -0
  92. package/build/server/chunks/chunks/shared.js-B1gC9MiJ.js.map +1 -0
  93. package/build/server/chunks/chunks/utils.js-DnEJ3UjO.js +1048 -0
  94. package/build/server/chunks/chunks/utils.js-DnEJ3UjO.js.map +1 -0
  95. package/build/server/chunks/entries/endpoints/api/_...path_/_server.ts.js-Cq5gXVQT.js +27 -0
  96. package/build/server/chunks/entries/endpoints/api/_...path_/_server.ts.js-Cq5gXVQT.js.map +1 -0
  97. package/build/server/chunks/entries/endpoints/api/assets/_id_/_server.ts.js-RXbedi8q.js +24 -0
  98. package/build/server/chunks/entries/endpoints/api/assets/_id_/_server.ts.js-RXbedi8q.js.map +1 -0
  99. package/build/server/chunks/entries/endpoints/api/assets/_server.ts.js-D7Qae9vU.js +45 -0
  100. package/build/server/chunks/entries/endpoints/api/assets/_server.ts.js-D7Qae9vU.js.map +1 -0
  101. package/build/server/chunks/entries/endpoints/api/assets/delete/_server.ts.js-DtO20kgB.js +31 -0
  102. package/build/server/chunks/entries/endpoints/api/assets/delete/_server.ts.js-DtO20kgB.js.map +1 -0
  103. package/build/server/chunks/entries/endpoints/api/assets/move/_server.ts.js-BUebPbd5.js +31 -0
  104. package/build/server/chunks/entries/endpoints/api/assets/move/_server.ts.js-BUebPbd5.js.map +1 -0
  105. package/build/server/chunks/entries/endpoints/api/folders/_path_/_server.ts.js-BjT2qPMT.js +38 -0
  106. package/build/server/chunks/entries/endpoints/api/folders/_path_/_server.ts.js-BjT2qPMT.js.map +1 -0
  107. package/build/server/chunks/entries/endpoints/api/folders/_server.ts.js-DYRLsoT7.js +31 -0
  108. package/build/server/chunks/entries/endpoints/api/folders/_server.ts.js-DYRLsoT7.js.map +1 -0
  109. package/build/server/chunks/entries/endpoints/api/manifests/_name_/_server.ts.js-BbN2fGNN.js +24 -0
  110. package/build/server/chunks/entries/endpoints/api/manifests/_name_/_server.ts.js-BbN2fGNN.js.map +1 -0
  111. package/build/server/chunks/entries/endpoints/api/manifests/_server.ts.js-b_MKZ41b.js +31 -0
  112. package/build/server/chunks/entries/endpoints/api/manifests/_server.ts.js-b_MKZ41b.js.map +1 -0
  113. package/build/server/chunks/entries/endpoints/api/state/_server.ts.js-evEfMpvn.js +24 -0
  114. package/build/server/chunks/entries/endpoints/api/state/_server.ts.js-evEfMpvn.js.map +1 -0
  115. package/build/server/chunks/entries/endpoints/files/_...path_/_server.ts.js-C04XE_1w.js +27 -0
  116. package/build/server/chunks/entries/endpoints/files/_...path_/_server.ts.js-C04XE_1w.js.map +1 -0
  117. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/_server.ts.js-DB8TdoEv.js +24 -0
  118. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/_server.ts.js-DB8TdoEv.js.map +1 -0
  119. package/build/server/chunks/entries/endpoints/files/raw/_...path_/_server.ts.js-BrpaijZO.js +24 -0
  120. package/build/server/chunks/entries/endpoints/files/raw/_...path_/_server.ts.js-BrpaijZO.js.map +1 -0
  121. package/build/server/chunks/entries/hooks.server.js-BJJwZW_I.js +23 -0
  122. package/build/server/chunks/entries/hooks.server.js-BJJwZW_I.js.map +1 -0
  123. package/build/server/chunks/handler-DnbS2t1B.js +1475 -0
  124. package/build/server/chunks/handler-DnbS2t1B.js.map +1 -0
  125. package/build/server/chunks/index.js-g77q3Boj.js +3789 -0
  126. package/build/server/chunks/index.js-g77q3Boj.js.map +1 -0
  127. package/build/server/chunks/manifest.js-qmEXbstS.js +149 -0
  128. package/build/server/chunks/manifest.js-qmEXbstS.js.map +1 -0
  129. package/build/server/chunks/nodes/0.js-Bk6IZ-vD.js +11 -0
  130. package/build/server/chunks/nodes/0.js-Bk6IZ-vD.js.map +1 -0
  131. package/build/server/chunks/nodes/1.js-H-qwo4GJ.js +7 -0
  132. package/build/server/chunks/nodes/1.js-H-qwo4GJ.js.map +1 -0
  133. package/build/server/chunks/nodes/2.js-DRpXVLwp.js +7 -0
  134. package/build/server/chunks/nodes/2.js-DRpXVLwp.js.map +1 -0
  135. package/build/server/chunks/nodes/3.js-CDEzNFeU.js +7 -0
  136. package/build/server/chunks/nodes/3.js-CDEzNFeU.js.map +1 -0
  137. package/build/server/chunks/nodes/4.js-BKL7LSSm.js +7 -0
  138. package/build/server/chunks/nodes/4.js-BKL7LSSm.js.map +1 -0
  139. package/build/shims.js +33 -0
  140. package/build/shims.js.map +1 -0
  141. package/dist/cli.d.ts +2 -1
  142. package/dist/cli.js +116 -1336
  143. package/dist/config.d.ts +3 -2
  144. package/dist/config.js +2 -2
  145. package/dist/core/api-types.d.ts +141 -0
  146. package/dist/core/api-types.js +1 -0
  147. package/dist/core/asset-id.d.ts +28 -0
  148. package/dist/core/asset-id.js +59 -0
  149. package/dist/core/asset-reference.d.ts +23 -0
  150. package/dist/core/asset-reference.js +15 -0
  151. package/dist/core/canonicalize.d.ts +9 -0
  152. package/dist/core/canonicalize.js +36 -0
  153. package/dist/core/chroma-key.d.ts +30 -0
  154. package/dist/core/chroma-key.js +55 -0
  155. package/dist/core/config.d.ts +35 -0
  156. package/dist/core/config.js +4 -0
  157. package/dist/core/folder-path.d.ts +19 -0
  158. package/dist/core/folder-path.js +86 -0
  159. package/dist/core/index.d.ts +33 -499
  160. package/dist/core/index.js +17 -962
  161. package/dist/core/ingest.d.ts +24 -0
  162. package/dist/core/ingest.js +42 -0
  163. package/dist/core/library.d.ts +54 -0
  164. package/dist/core/library.js +138 -0
  165. package/dist/core/manifest-appearance.d.ts +35 -0
  166. package/dist/core/manifest-appearance.js +123 -0
  167. package/dist/core/manifest-entry.d.ts +104 -0
  168. package/dist/core/manifest-entry.js +1 -0
  169. package/dist/core/manifest-membership.d.ts +56 -0
  170. package/dist/core/manifest-membership.js +54 -0
  171. package/dist/core/plugins/audio.d.ts +26 -0
  172. package/dist/core/plugins/audio.js +44 -0
  173. package/dist/core/plugins/chroma-key-video.d.ts +29 -0
  174. package/dist/core/plugins/chroma-key-video.js +69 -0
  175. package/dist/core/plugins/contract.d.ts +35 -0
  176. package/dist/core/plugins/contract.js +1 -0
  177. package/dist/core/plugins/image.d.ts +30 -0
  178. package/dist/core/plugins/image.js +45 -0
  179. package/dist/core/plugins/registry.d.ts +16 -0
  180. package/dist/core/plugins/registry.js +52 -0
  181. package/dist/core/plugins/slice.d.ts +22 -0
  182. package/dist/core/plugins/slice.js +60 -0
  183. package/dist/core/plugins/video.d.ts +45 -0
  184. package/dist/core/plugins/video.js +77 -0
  185. package/dist/core/reference-graph.d.ts +41 -0
  186. package/dist/core/reference-graph.js +138 -0
  187. package/dist/core/slice-data.d.ts +61 -0
  188. package/dist/core/slice-data.js +49 -0
  189. package/dist/runtime/chroma-key-gl.d.ts +40 -22
  190. package/dist/runtime/chroma-key-gl.js +189 -183
  191. package/dist/runtime/components/ChromaKeyVideo.svelte +3 -3
  192. package/dist/runtime/components/ChromaKeyVideo.svelte.d.ts +21 -0
  193. package/dist/runtime/components/Image.svelte +1 -1
  194. package/dist/runtime/components/Image.svelte.d.ts +9 -0
  195. package/dist/runtime/components/Slice.svelte +1 -1
  196. package/dist/runtime/components/Slice.svelte.d.ts +19 -0
  197. package/dist/runtime/components/SliceCanvas.svelte +3 -3
  198. package/dist/runtime/components/SliceCanvas.svelte.d.ts +10 -0
  199. package/dist/runtime/components/SliceDom.svelte +3 -3
  200. package/dist/runtime/components/SliceDom.svelte.d.ts +10 -0
  201. package/dist/runtime/components/Video.svelte +2 -2
  202. package/dist/runtime/components/Video.svelte.d.ts +18 -0
  203. package/dist/runtime/geometry.d.ts +55 -35
  204. package/dist/runtime/geometry.js +186 -191
  205. package/dist/runtime/index.d.ts +9 -9
  206. package/dist/runtime/index.js +9 -9
  207. package/dist/runtime/kind-handlers.d.ts +33 -30
  208. package/dist/runtime/kind-handlers.js +85 -67
  209. package/dist/runtime/manifest.d.ts +53 -47
  210. package/dist/runtime/manifest.js +133 -113
  211. package/dist/runtime/observe-border-box-size.d.ts +1 -4
  212. package/dist/runtime/observe-border-box-size.js +9 -10
  213. package/dist/runtime/preload-registry.d.ts +22 -8
  214. package/dist/runtime/preload-registry.js +65 -62
  215. package/dist/server/build.d.ts +8 -0
  216. package/dist/server/build.js +25 -0
  217. package/dist/server/check.d.ts +24 -0
  218. package/dist/server/check.js +199 -0
  219. package/dist/server/cli-commands.d.ts +25 -0
  220. package/dist/server/cli-commands.js +1178 -0
  221. package/dist/server/cli-init.d.ts +3 -0
  222. package/dist/server/cli-init.js +53 -0
  223. package/dist/server/cli-io.d.ts +46 -0
  224. package/dist/server/cli-io.js +105 -0
  225. package/dist/server/codegen.d.ts +58 -0
  226. package/dist/server/codegen.js +185 -0
  227. package/dist/server/config-loader.d.ts +35 -0
  228. package/dist/server/config-loader.js +79 -0
  229. package/dist/server/context.d.ts +8 -0
  230. package/dist/server/context.js +19 -0
  231. package/dist/server/folder-filesystem.d.ts +7 -0
  232. package/dist/server/folder-filesystem.js +39 -0
  233. package/dist/server/http.d.ts +12 -0
  234. package/dist/server/http.js +100 -0
  235. package/dist/server/index.d.ts +17 -0
  236. package/dist/server/index.js +9 -0
  237. package/dist/server/job-hash.d.ts +10 -0
  238. package/dist/server/job-hash.js +23 -0
  239. package/dist/server/library-store.d.ts +82 -0
  240. package/dist/server/library-store.js +763 -0
  241. package/dist/server/operations.d.ts +87 -0
  242. package/dist/server/operations.js +427 -0
  243. package/dist/server/plugins/audio.d.ts +8 -0
  244. package/dist/server/plugins/audio.js +41 -0
  245. package/dist/server/plugins/chroma-key-video.d.ts +9 -0
  246. package/dist/server/plugins/chroma-key-video.js +40 -0
  247. package/dist/server/plugins/config.d.ts +13 -0
  248. package/dist/server/plugins/config.js +32 -0
  249. package/dist/server/plugins/contract.d.ts +114 -0
  250. package/dist/server/plugins/contract.js +16 -0
  251. package/dist/server/plugins/image.d.ts +9 -0
  252. package/dist/server/plugins/image.js +43 -0
  253. package/dist/server/plugins/slice.d.ts +15 -0
  254. package/dist/server/plugins/slice.js +76 -0
  255. package/dist/server/plugins/video.d.ts +7 -0
  256. package/dist/server/plugins/video.js +54 -0
  257. package/dist/server/plugins.d.ts +23 -0
  258. package/dist/server/plugins.js +35 -0
  259. package/dist/server/processing/audio-processing.d.ts +17 -0
  260. package/dist/server/processing/audio-processing.js +46 -0
  261. package/dist/server/processing/ffmpeg.d.ts +9 -0
  262. package/dist/server/processing/ffmpeg.js +50 -0
  263. package/dist/server/processing/image-processing.d.ts +16 -0
  264. package/dist/server/processing/image-processing.js +26 -0
  265. package/dist/server/processing/media-probe.d.ts +15 -0
  266. package/dist/server/processing/media-probe.js +27 -0
  267. package/dist/server/processing/processor.d.ts +50 -0
  268. package/dist/server/processing/processor.js +158 -0
  269. package/dist/server/processing/video-processing.d.ts +35 -0
  270. package/dist/server/processing/video-processing.js +87 -0
  271. package/dist/server/server.d.ts +13 -0
  272. package/dist/server/server.js +57 -0
  273. package/dist/server/start.d.ts +13 -0
  274. package/dist/server/start.js +80 -0
  275. package/package.json +31 -16
  276. package/dist/build-CZYFLLvl.js +0 -191
  277. package/dist/core/image-Dqmz8FXS.js +0 -54
  278. package/dist/core/reference-graph-CjuHbLDw.d.ts +0 -280
  279. package/dist/core/testing.d.ts +0 -27
  280. package/dist/core/testing.js +0 -80
  281. package/dist/editor/200.html +0 -37
  282. package/dist/editor/_app/immutable/assets/2.DIbbW7U1.css +0 -1
  283. package/dist/editor/_app/immutable/assets/3.C-9vFQ9A.css +0 -1
  284. package/dist/editor/_app/immutable/assets/4.BS8ElpOV.css +0 -1
  285. package/dist/editor/_app/immutable/assets/ConfirmDialog.CHEISE-L.css +0 -1
  286. package/dist/editor/_app/immutable/assets/LibraryContextMenu.CDjCmdV-.css +0 -1
  287. package/dist/editor/_app/immutable/chunks/Cx6qtxJg.js +0 -1
  288. package/dist/editor/_app/immutable/chunks/DjdrdRzT.js +0 -1
  289. package/dist/editor/_app/immutable/chunks/n7mvYc42.js +0 -5
  290. package/dist/editor/_app/immutable/entry/start.C8HHOLly.js +0 -1
  291. package/dist/editor/_app/immutable/nodes/2.BrA0Hyzu.js +0 -3
  292. package/dist/editor/_app/immutable/nodes/3.WO7tZH_d.js +0 -104
  293. package/dist/editor/_app/immutable/nodes/4.DQtx17aW.js +0 -2
  294. package/dist/editor/_app/version.json +0 -1
  295. package/dist/index.d.ts +0 -370
  296. package/dist/index.js +0 -4
  297. package/dist/start-Bhnqt9Dc.js +0 -279
  298. package/dist/start-D2IXOrni.js +0 -2
  299. /package/{dist/editor → build/client}/_app/immutable/assets/0.DLhIsYA_.css +0 -0
  300. /package/{dist/editor → build/client}/_app/immutable/chunks/Bjy-W4x2.js +0 -0
  301. /package/{dist/editor → build/client}/_app/immutable/chunks/CNRz3sSw.js +0 -0
  302. /package/{dist/editor → build/client}/_app/immutable/chunks/CO4RBJfa.js +0 -0
  303. /package/{dist/editor → build/client}/_app/immutable/chunks/xihTtKlq.js +0 -0
@@ -1 +0,0 @@
1
- .context-menu.svelte-3625lw{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-3625lw{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;padding:6px 8px}button.svelte-3625lw:hover,button.svelte-3625lw:focus-visible{background:var(--accent-soft);outline:none}button.danger.svelte-3625lw{color:var(--danger)}.manifest-label.svelte-19j400l{align-items:center;gap:4px;min-width:0;display:inline-flex}.emoji.svelte-19j400l{flex:none;line-height:1}.name.svelte-19j400l{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip.svelte-19j400l{background:color-mix(in srgb, var(--manifest-color) 20%, transparent);color:var(--manifest-color);border-radius:4px;padding:0 5px;font-size:10px}.chip.passive.svelte-19j400l{border:1px dashed var(--manifest-color);background:0 0}.library-view.svelte-1uha8ag{flex:1;min-height:0;display:flex}.page.svelte-1uha8ag{flex:1;min-height:0;padding:16px;position:relative;overflow-y:auto}.selection-bar.svelte-1uha8ag,.filter-bar.svelte-1uha8ag{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.selection-bar.svelte-1uha8ag{margin-bottom:8px}.filter-bar.svelte-1uha8ag{margin-bottom:16px}.selection-summary.svelte-1uha8ag{color:var(--accent);white-space:nowrap;font-weight:600}.toggle.svelte-1uha8ag{color:var(--text-dim);align-items:center;gap:6px;display:inline-flex}.search.svelte-1uha8ag{align-items:center;gap:5px;width:220px;padding:0 6px;display:flex}.search.svelte-1uha8ag:focus-within{border-color:var(--accent)}.search-icon.svelte-1uha8ag{fill:none;width:14px;height:14px;stroke:var(--text-faint);stroke-width:1.5px;stroke-linecap:round;flex:none}.search-input.svelte-1uha8ag{min-width:0;height:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0}.search.svelte-1uha8ag kbd:where(.svelte-1uha8ag){border:1px solid var(--border);color:var(--text-faint);border-radius:3px;flex:none;padding:1px 4px;font:9px/14px system-ui,sans-serif}.import.svelte-1uha8ag{background:var(--accent);color:var(--text);margin-left:auto}.section.svelte-1uha8ag{margin-bottom:24px}.section.svelte-1uha8ag:last-child{margin-bottom:0}.section-emoji.svelte-1uha8ag{margin-right:6px}.grid.svelte-1uha8ag,.folder-grid.svelte-1uha8ag{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.folder-card.svelte-1uha8ag{background:var(--panel);border:1px solid var(--border-soft);min-width:0;height:60px;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.folder-card.svelte-1uha8ag:hover,.folder-card.svelte-1uha8ag:focus-visible{border-color:var(--accent);outline:none}.folder-card.drop-target.svelte-1uha8ag{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.folder-card.dragging-folder.svelte-1uha8ag{opacity:.55}.folder-card-icon.svelte-1uha8ag{color:var(--text-dim);flex:none;align-items:center;display:flex}.folder-card-details.svelte-1uha8ag{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.folder-card-details.svelte-1uha8ag strong:where(.svelte-1uha8ag){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-card-details.svelte-1uha8ag span:where(.svelte-1uha8ag),.folder-card-arrow.svelte-1uha8ag{color:var(--text-faint)}.folder-card-arrow.svelte-1uha8ag{flex:none;font-size:18px}.card.svelte-1uha8ag{background:var(--panel);border:1px solid var(--border-soft);border-radius:8px;flex-direction:column;gap:8px;padding:8px;display:flex;position:relative}.card.selected.svelte-1uha8ag{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.asset-select.svelte-1uha8ag{z-index:1;width:16px;height:16px;accent-color:var(--accent);position:absolute;top:12px;left:12px}.card.svelte-1uha8ag:hover{border-color:var(--accent)}.thumbnail.svelte-1uha8ag{border-radius:var(--radius);justify-content:center;align-items:center;height:96px;display:flex;overflow:hidden}.thumbnail.svelte-1uha8ag img:where(.svelte-1uha8ag),.thumbnail.svelte-1uha8ag video:where(.svelte-1uha8ag){object-fit:contain;max-width:100%;max-height:100%}.meta.svelte-1uha8ag{align-items:center;gap:6px;min-width:0;display:flex}.id.svelte-1uha8ag{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.type-badge.svelte-1uha8ag{color:var(--text-dim);border:1px solid var(--border);border-radius:4px;flex:none;margin-left:auto;padding:0 5px;font-size:10px}.badges.svelte-1uha8ag{flex-wrap:wrap;gap:4px;min-height:16px;display:flex}.badge.svelte-1uha8ag{border-radius:4px;padding:0 5px;font-size:10px}.badge.warning.svelte-1uha8ag{background:var(--warning-soft);color:var(--warning)}.empty.svelte-1uha8ag{color:var(--text-dim);text-align:center;padding:48px}.dialog-row.svelte-1uha8ag{align-items:center;gap:8px;display:flex}.dialog-row.svelte-1uha8ag span:where(.svelte-1uha8ag){width:44px;color:var(--text-dim)}.dialog-row.svelte-1uha8ag input:where(.svelte-1uha8ag){flex:1}.dialog-text.svelte-1uha8ag,.dialog-warning.svelte-1uha8ag{margin:8px 0 0}.dialog-warning.svelte-1uha8ag{color:var(--warning)}.drop-hint.svelte-1uha8ag{border:2px dashed var(--accent);color:var(--accent);pointer-events:none;background:#0d99ff14;border-radius:12px;justify-content:center;align-items:center;font-size:14px;display:flex;position:fixed;inset:48px 8px 8px}
@@ -1 +0,0 @@
1
- .fundus-slice.svelte-13uxsex{width:100%;height:100%;position:relative;overflow:hidden}.fundus-slice--overdraw.svelte-13uxsex{overflow:visible}.fundus-slice__cell.svelte-13uxsex{position:absolute;overflow:hidden}.fundus-slice__cell.svelte-13uxsex img:where(.svelte-13uxsex){pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;max-height:none;position:absolute}.fundus-slice-canvas.svelte-184b9sd{width:100%;height:100%;position:relative}canvas.svelte-184b9sd{pointer-events:none;display:block;position:absolute}.fundus-chroma-key-video.svelte-13mzqtn{width:100%;height:100%;position:relative}canvas.svelte-13mzqtn,img.svelte-13mzqtn{width:100%;height:100%;display:block}video.svelte-13mzqtn{visibility:hidden;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.icon.svelte-1eqehiz{display:block}.scrub-number.svelte-5sfgfa{flex:1;min-width:0;display:flex;position:relative}.input.svelte-5sfgfa{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.right.svelte-5sfgfa .input:where(.svelte-5sfgfa){text-align:right}.input.svelte-5sfgfa::-webkit-outer-spin-button{appearance:none;margin:0}.input.svelte-5sfgfa::-webkit-inner-spin-button{appearance:none;margin:0}.scrub-surface.svelte-5sfgfa{cursor:ew-resize;touch-action:none;position:absolute;inset:0}.number-field.svelte-dv122j{flex-direction:column;gap:4px;min-width:0;display:flex}.caption.svelte-dv122j{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.number-input.svelte-dv122j{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-dv122j:focus-within{border-color:var(--accent)}.fill.svelte-dv122j{pointer-events:none;z-index:0;background:#4a4a4a;height:100%;position:absolute;top:0;left:0}.icon-slot.svelte-dv122j{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-dv122j .scrub-number{z-index:1}.select-field.svelte-14j49wg{flex-direction:column;gap:4px;min-width:0;display:flex}.caption.svelte-14j49wg{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.select-input.svelte-14j49wg{border-radius:4px;align-items:center;gap:4px;min-width:0;height:24px;padding:0 6px 0 0;display:flex}.select-input.svelte-14j49wg:focus-within{border-color:var(--accent)}.icon-slot.svelte-14j49wg{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-14j49wg{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-19alfi{border-bottom:1px solid var(--border-soft);padding:12px}.hint.svelte-19alfi{color:var(--text-faint);margin:4px 0 0;font-size:11px}.info.svelte-19alfi{font-variant-numeric:tabular-nums;margin:0}.file.svelte-19alfi{color:var(--text-dim);word-break:break-all}section.svelte-1ukljmf{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-1ukljmf{margin-bottom:8px}section.svelte-1j6qy4a{border-bottom:1px solid var(--border-soft);padding:12px}.modes.svelte-1j6qy4a{flex-direction:column;gap:4px;display:flex}.modes.svelte-1j6qy4a button:where(.svelte-1j6qy4a){text-align:left;background:var(--panel-raised);color:var(--text);border-radius:var(--radius);border:1px solid #0000;padding:6px 10px}.modes.svelte-1j6qy4a button:where(.svelte-1j6qy4a):hover{border-color:var(--border)}.modes.svelte-1j6qy4a button.on:where(.svelte-1j6qy4a){background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.insets.svelte-1j6qy4a{grid-template-columns:1fr 1fr;gap:8px;min-width:0;display:grid}section.svelte-dkn80h{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-dkn80h{margin-bottom:8px}.picker.svelte-18jiq7l{flex-direction:column;gap:4px;min-width:0;margin-bottom:8px;display:flex}.caption.svelte-18jiq7l{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.reference-input.svelte-18jiq7l{border-radius:4px;align-items:center;min-width:0;height:24px;padding:0;display:flex;position:relative}.reference-input.svelte-18jiq7l:focus-within{border-color:var(--accent)}.current.svelte-18jiq7l{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-18jiq7l{color:var(--text-faint)}.preview-slot.svelte-18jiq7l{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-18jiq7l{object-fit:contain;width:100%;height:100%}.missing-preview.svelte-18jiq7l{color:var(--warning);font-weight:700}.clear.svelte-18jiq7l{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-18jiq7l:hover{color:var(--danger)}.id.svelte-18jiq7l,.placeholder.svelte-18jiq7l{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dangling.svelte-18jiq7l{color:var(--warning)}.dropdown.svelte-18jiq7l{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-18jiq7l{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-18jiq7l .thumbnail:where(.svelte-18jiq7l){object-fit:contain;background:var(--canvas);border-radius:3px;flex:none;width:24px;height:24px}.option.svelte-18jiq7l:hover{background:var(--panel-raised)}.option.selected.svelte-18jiq7l{background:var(--accent-soft);color:var(--accent)}.hint.svelte-18jiq7l{color:var(--text-faint);margin:4px;font-size:11px}.color-field.svelte-4dtedr{flex-direction:column;gap:4px;min-width:0;display:flex}.caption.svelte-4dtedr{letter-spacing:.27px;color:#ffffffb2;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:500;line-height:14px}.color-input.svelte-4dtedr{border-radius:4px;align-items:center;gap:4px;min-width:0;height:24px;padding:0 6px 0 0;display:flex}.color-input.svelte-4dtedr:focus-within{border-color:var(--accent)}.swatch-slot.svelte-4dtedr{flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.swatch.svelte-4dtedr{cursor:pointer;background:0 0;border:1px solid #ffffff3d;border-radius:3px;width:16px;height:16px;margin:0;padding:0;overflow:hidden}.swatch.svelte-4dtedr::-webkit-color-swatch-wrapper{padding:0}.swatch.svelte-4dtedr::-webkit-color-swatch{border:none}.hex-input.svelte-4dtedr{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-45ey1g{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-45ey1g{margin-bottom:8px}section.svelte-czsds6{border-bottom:1px solid var(--border-soft);padding:12px}.field.svelte-czsds6{margin-bottom:8px}.canvas.svelte-j0tjy7{flex-direction:column;height:100%;min-height:0;display:flex}.toolbar.svelte-j0tjy7{flex:none;align-items:center;gap:8px;padding:8px 0;display:flex}.toolbar.svelte-j0tjy7 button:where(.svelte-j0tjy7){background:var(--panel-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:4px 10px}.toolbar.svelte-j0tjy7 button:where(.svelte-j0tjy7):hover{border-color:var(--accent)}.toolbar.svelte-j0tjy7 button.active:where(.svelte-j0tjy7){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.zoom.svelte-j0tjy7{text-align:center;min-width:44px;color:var(--text-dim);font-variant-numeric:tabular-nums}.dims.svelte-j0tjy7{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto}.viewport.svelte-j0tjy7{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-j0tjy7{cursor:grabbing}.image-wrap.svelte-j0tjy7{transform-origin:0 0;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #ffffff14}.image-wrap.svelte-j0tjy7 img:where(.svelte-j0tjy7){width:100%;height:100%;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.center-rect.svelte-j0tjy7{pointer-events:none;position:absolute}.center-rect.side-edges.svelte-j0tjy7{border-left:1px dashed #0d99ff99;border-right:1px dashed #0d99ff99}.center-rect.cap-edges.svelte-j0tjy7{border-top:1px dashed #0d99ff99;border-bottom:1px dashed #0d99ff99}.overdraw-band.svelte-j0tjy7{pointer-events:none;background:#38bdf829;position:absolute}.line.svelte-j0tjy7{background:var(--accent);touch-action:none;position:absolute}.line.overdraw-line.svelte-j0tjy7{background:#38bdf8 padding-box content-box}.line.overdraw-line.svelte-j0tjy7 .tag:where(.svelte-j0tjy7){background:#38bdf8}.line.v.svelte-j0tjy7{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-j0tjy7{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-j0tjy7{background-color:var(--text);background-clip:content-box}.tag.svelte-j0tjy7{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-j0tjy7 .tag:where(.svelte-j0tjy7){top:4px;left:50%;transform:translate(-50%)}.line.h.svelte-j0tjy7 .tag:where(.svelte-j0tjy7){top:50%;left:4px;transform:translateY(-50%)}.line.v.overdraw-line.svelte-j0tjy7 .tag:where(.svelte-j0tjy7){top:auto;bottom:4px}.line.h.overdraw-line.svelte-j0tjy7 .tag:where(.svelte-j0tjy7){left:auto;right:4px}.preview-panel.svelte-1w9ogms{flex-direction:column;height:100%;min-height:0;display:flex}.bar.svelte-1w9ogms{flex:none;align-items:center;gap:10px;padding:8px 0;display:flex}.size.svelte-1w9ogms{color:var(--text-dim);font-variant-numeric:tabular-nums}.backends.svelte-1w9ogms{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);gap:2px;margin-left:auto;padding:2px;display:inline-flex}.backends.svelte-1w9ogms button:where(.svelte-1w9ogms){color:var(--text-dim);background:0 0;border:none;border-radius:4px;padding:2px 8px}.backends.svelte-1w9ogms button.on:where(.svelte-1w9ogms){background:var(--accent-soft);color:var(--accent);font-weight:600}.reset.svelte-1w9ogms{background:var(--panel-raised);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:4px 10px}.reset.svelte-1w9ogms:hover{border-color:var(--accent)}.stage.svelte-1w9ogms{border:1px solid var(--border);border-radius:var(--radius-large);flex:1;min-height:0;padding:24px;overflow:auto}.box.svelte-1w9ogms{position:relative;box-shadow:0 0 0 1px #ffffff1f}.box.svelte-1w9ogms .fill{position:absolute;inset:0}.handle.svelte-1w9ogms{touch-action:none;background:0 0;position:absolute}.handle.edge-right.svelte-1w9ogms{cursor:ew-resize;width:10px;height:100%;top:0;right:-4px}.handle.edge-bottom.svelte-1w9ogms{cursor:ns-resize;width:100%;height:10px;bottom:-4px;left:0}.handle.corner.svelte-1w9ogms{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}.manifest-selector.svelte-17f73b4{flex-direction:column;gap:4px;width:100%;display:flex}.manifest-option.svelte-17f73b4{border-color:var(--border-soft);width:100%;height:28px;color:var(--text-dim);cursor:pointer;border-radius:4px;align-items:center;gap:7px;padding:2px 7px;display:flex}.manifest-option.svelte-17f73b4:hover{border-color:var(--manifest-color);background:color-mix(in srgb, var(--manifest-color) 10%, var(--panel-raised));color:var(--text)}.manifest-option.svelte-17f73b4:focus-within{border-color:var(--manifest-color)}.manifest-option.selected.svelte-17f73b4{border-color:var(--manifest-color);background:color-mix(in srgb, var(--manifest-color) 20%, var(--panel-raised));color:var(--text)}.manifest-option.passive.svelte-17f73b4{border-color:var(--manifest-color);border-style:dashed}input.svelte-17f73b4{width:14px;height:14px;accent-color:var(--manifest-color);flex:none;margin:0}.marker.svelte-17f73b4{border:1px solid color-mix(in srgb, var(--manifest-color) 70%, var(--border));background:color-mix(in srgb, var(--manifest-color) 24%, var(--panel));border-radius:3px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;display:inline-flex}.color-dot.svelte-17f73b4{background:var(--manifest-color);border-radius:50%;width:8px;height:8px}.name.svelte-17f73b4,.via.svelte-17f73b4{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.name.svelte-17f73b4{font-size:11px;font-weight:500}.via.svelte-17f73b4{color:var(--text-faint);margin-left:auto;font-size:9px}.detail.svelte-xy8zsr{flex:1;grid-template-columns:224px 1fr 280px;min-height:0;display:grid}.center.svelte-xy8zsr{flex-direction:column;min-width:0;min-height:0;padding:12px 16px;display:flex}.center.empty.svelte-xy8zsr,.empty.svelte-xy8zsr{color:var(--text-dim);flex:1;justify-content:center;align-items:center;display:flex}.tabs.svelte-xy8zsr{flex:none;gap:4px;margin-bottom:4px;display:inline-flex}.tabs.svelte-xy8zsr button:where(.svelte-xy8zsr){border-radius:var(--radius);color:var(--text-dim);background:0 0;border:none;padding:4px 10px}.tabs.svelte-xy8zsr button.on:where(.svelte-xy8zsr){background:var(--accent-soft);color:var(--accent)}.pane.svelte-xy8zsr{flex:1;min-height:0}.image-stage.svelte-xy8zsr{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;display:flex;overflow:auto}.image-stage.svelte-xy8zsr img{object-fit:contain;max-width:90%;max-height:90%}.preview-column.svelte-xy8zsr{flex-direction:column;align-items:center;gap:8px;display:flex}.video-frame.svelte-xy8zsr{width:min(90%,480px)}.video-frame.svelte-xy8zsr video{width:100%;height:100%}.compare-row.svelte-xy8zsr{justify-content:center;align-items:flex-start;gap:16px;width:100%;max-width:760px;display:flex}.compare.svelte-xy8zsr{flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;margin:0;display:flex}.compare.svelte-xy8zsr figcaption:where(.svelte-xy8zsr){text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.compare.svelte-xy8zsr .video-frame:where(.svelte-xy8zsr){width:100%}.audio-frame.svelte-xy8zsr{width:min(90%,480px);height:128px}.stage-hint.svelte-xy8zsr{color:var(--text-dim)}.inspector.svelte-xy8zsr{background:var(--panel);border-left:1px solid var(--border);overflow-y:auto}.inspector.svelte-xy8zsr section:where(.svelte-xy8zsr){border-bottom:1px solid var(--border-soft);padding:12px}.inspector.svelte-xy8zsr h2:where(.svelte-xy8zsr){word-break:break-all;margin:0;font-size:13px}.raw.svelte-xy8zsr{color:var(--text-dim);word-break:break-all;margin:4px 0 0}.warning.svelte-xy8zsr{color:var(--warning);margin:8px 0 0;font-size:11px}.hint.svelte-xy8zsr{color:var(--text-faint);margin:0;font-size:11px}.inspector.svelte-xy8zsr h4:where(.svelte-xy8zsr){text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:8px 0 4px;font-size:10px}.reference-row.svelte-xy8zsr{border-radius:var(--radius);color:var(--text-dim);align-items:center;gap:6px;min-width:0;padding:3px 4px;display:flex}.reference-row.svelte-xy8zsr:hover{background:var(--panel-raised);color:var(--text)}.reference-field.svelte-xy8zsr{color:var(--text-faint);font-size:11px}.reference-arrow.svelte-xy8zsr{color:var(--text-faint);flex:none}.reference-asset.svelte-xy8zsr{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rename.svelte-xy8zsr{gap:8px;margin-bottom:8px;display:flex}.rename.svelte-xy8zsr input:where(.svelte-xy8zsr){flex:1;min-width:0}.danger.svelte-xy8zsr{width:100%}
@@ -1 +0,0 @@
1
- .popover-anchor.svelte-okkiwd{display:inline-flex;position:relative}.popover.svelte-okkiwd{z-index:10;background:var(--panel-raised);border:1px solid var(--border);border-radius:var(--radius);padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0006}.popover.right.svelte-okkiwd{left:auto;right:0}.controls.svelte-1amuajj{align-items:center;gap:4px;display:inline-flex}.emoji-trigger.svelte-1amuajj,.swatch-trigger.svelte-1amuajj{border:1px solid var(--border);background:var(--panel-raised);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.emoji-trigger.svelte-1amuajj{border-radius:var(--radius-small);width:22px;height:22px;font-size:14px;line-height:1}.emoji-trigger.empty.svelte-1amuajj{color:var(--text-faint)}.swatch-trigger.svelte-1amuajj{background:var(--swatch);border-radius:50%;width:16px;height:16px}.swatch-trigger.empty.svelte-1amuajj{background:0 0;position:relative}.swatch-trigger.empty.svelte-1amuajj:after{content:"";background:var(--text-faint);height:1px;position:absolute;inset:50% 1px auto;transform:rotate(-45deg)}.emoji-trigger.active.svelte-1amuajj,.swatch-trigger.active.svelte-1amuajj{border-color:var(--accent)}.picker.svelte-1amuajj{gap:4px;display:grid}.swatches.svelte-1amuajj{grid-template-columns:repeat(7,18px)}.emojis.svelte-1amuajj{grid-template-columns:repeat(8,24px)}.swatch.svelte-1amuajj{border:1px solid var(--border);cursor:pointer;border-radius:50%;width:18px;height:18px;padding:0}.swatch.none.svelte-1amuajj{background:0 0;position:relative}.swatch.none.svelte-1amuajj:after{content:"";background:var(--text-faint);height:1px;position:absolute;inset:50% 1px auto;transform:rotate(-45deg)}.swatch.selected.svelte-1amuajj{outline:2px solid var(--text);outline-offset:1px}.emoji.svelte-1amuajj{border-radius:var(--radius-small);border:1px solid var(--border);background:var(--panel);cursor:pointer;width:24px;height:24px;padding:0;font-size:14px;line-height:1}.emoji.none.svelte-1amuajj{color:var(--text-faint);font-size:12px}.emoji.selected.svelte-1amuajj{border-color:var(--accent);background:var(--accent-soft)}.page.svelte-1k9wgg5{flex:1;min-height:0;padding:16px;overflow-y:auto}.create.svelte-1k9wgg5{align-items:center;gap:8px;margin-bottom:16px;display:flex}.create.svelte-1k9wgg5 input:where(.svelte-1k9wgg5){width:240px}.hint.svelte-1k9wgg5{color:var(--text-faint);font-size:11px}.empty.svelte-1k9wgg5{color:var(--text-dim);text-align:center;padding:48px}.list.svelte-1k9wgg5{flex-direction:column;gap:12px;max-width:640px;display:flex}.manifest.svelte-1k9wgg5{background:var(--panel);border:1px solid var(--manifest-color,var(--border-soft));border-radius:var(--radius-large);padding:12px}.manifest.svelte-1k9wgg5 header:where(.svelte-1k9wgg5){align-items:center;gap:12px;display:flex}.manifest.svelte-1k9wgg5 h2:where(.svelte-1k9wgg5){margin:0;font-size:13px}.size.svelte-1k9wgg5{color:var(--accent);font-variant-numeric:tabular-nums}.count.svelte-1k9wgg5{color:var(--text-dim);margin-left:auto}ul.svelte-1k9wgg5{margin:8px 0 0;padding:0;list-style:none}li.svelte-1k9wgg5 a:where(.svelte-1k9wgg5){border-radius:var(--radius);color:var(--text-dim);align-items:center;gap:12px;padding:4px 8px;display:flex}li.svelte-1k9wgg5 a:where(.svelte-1k9wgg5):hover{background:var(--panel-raised);color:var(--text)}.asset-id.svelte-1k9wgg5{color:var(--text);font-weight:600}.asset-type.svelte-1k9wgg5{border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:10px}.asset-size.svelte-1k9wgg5{font-variant-numeric:tabular-nums;margin-left:auto}.passive-member.svelte-1k9wgg5{margin-left:16px}.passive-member.svelte-1k9wgg5 a:where(.svelte-1k9wgg5),.passive-member.svelte-1k9wgg5 .asset-id:where(.svelte-1k9wgg5){color:var(--text-faint)}.passive-id.svelte-1k9wgg5{text-underline-offset:3px;font-weight:600;text-decoration-line:underline;text-decoration-style:dashed}.asset-via.svelte-1k9wgg5{color:var(--text-faint);font-size:11px}.dialog-text.svelte-1k9wgg5{color:var(--text-dim);margin:0 0 8px}.dialog-text.warn.svelte-1k9wgg5{color:var(--warning);font-size:11px}.dialog-row.svelte-1k9wgg5{align-items:center;gap:8px;margin-bottom:8px;display:flex}.dialog-label.svelte-1k9wgg5{color:var(--text-dim);flex:none}.dialog-row.svelte-1k9wgg5 input:where(.svelte-1k9wgg5){flex:1}
@@ -1 +0,0 @@
1
- .backdrop.svelte-7e0w24{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog.svelte-7e0w24{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:360px;padding:16px;box-shadow:0 12px 32px #00000080}h2.svelte-7e0w24{margin:0 0 12px;font-size:12px}.actions.svelte-7e0w24{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}
@@ -1 +0,0 @@
1
- .backdrop.svelte-1iq6zo4{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog.svelte-1iq6zo4{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:360px;padding:16px;box-shadow:0 12px 32px #00000080}h2.svelte-1iq6zo4{margin:0 0 4px;font-size:12px}.file-name.svelte-1iq6zo4{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:0}.destination.svelte-1iq6zo4{color:var(--text-faint);margin:2px 0 16px}.row.svelte-1iq6zo4{align-items:center;gap:8px;margin-bottom:8px;display:flex}.label.svelte-1iq6zo4{width:48px;color:var(--text-dim);flex:none}.row.svelte-1iq6zo4 input:where(.svelte-1iq6zo4){flex:1}.segmented.svelte-1iq6zo4{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented.svelte-1iq6zo4 button:where(.svelte-1iq6zo4){background:var(--panel-raised);color:var(--text-dim);border:none;padding:4px 12px}.segmented.svelte-1iq6zo4 button.on:where(.svelte-1iq6zo4){background:var(--accent);color:var(--text)}.hint.svelte-1iq6zo4{color:var(--text-dim);margin:4px 0 0;font-size:11px}.hint.warn.svelte-1iq6zo4,.error.svelte-1iq6zo4{color:var(--warning)}.actions.svelte-1iq6zo4{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.playback.svelte-u1b1yd{align-items:center;gap:6px;width:100%;display:flex}.btn.svelte-u1b1yd{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-u1b1yd:hover:not(:disabled){border-color:var(--border)}.btn.svelte-u1b1yd:focus-visible{border-color:var(--accent);outline:none}.btn.svelte-u1b1yd:disabled{opacity:.4;cursor:not-allowed}.btn.active.svelte-u1b1yd{background:var(--accent-soft);color:var(--accent)}.btn.svelte-u1b1yd svg:where(.svelte-u1b1yd){width:16px;height:16px;display:block}.time.svelte-u1b1yd{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.volume-group.svelte-u1b1yd{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.range.svelte-u1b1yd{appearance:none;background:var(--panel-raised);cursor:pointer;border-radius:999px;height:4px}.range.scrub.svelte-u1b1yd{flex:1;min-width:0;margin:0 2px}.range.volume.svelte-u1b1yd{flex:none;width:72px}.range.svelte-u1b1yd:disabled{opacity:.4;cursor:not-allowed}.range.svelte-u1b1yd::-webkit-slider-thumb{appearance:none;background:var(--accent);border:none;border-radius:50%;width:12px;height:12px}.range.svelte-u1b1yd::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;width:12px;height:12px}.range.svelte-u1b1yd:focus-visible{outline:none}.range.svelte-u1b1yd:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-soft)}.range.svelte-u1b1yd:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-soft)}.audio-waveform.svelte-prx3nl{flex-direction:column;gap:8px;width:100%;height:100%;min-height:0;display:flex}.wave.svelte-prx3nl{cursor:pointer;touch-action:none;flex:1;width:100%;min-height:0;display:block}.footer.svelte-prx3nl{flex:none;align-items:center;display:flex}h3.svelte-2penap{letter-spacing:0;text-transform:none;color:#fff;margin:0 0 10px;font-size:11px;font-weight:400}.directory.svelte-13aexy3{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-13aexy3{border-bottom:1px solid var(--border-soft);align-items:center;height:40px;padding:0 8px 0 12px;display:flex}header.svelte-13aexy3 strong:where(.svelte-13aexy3){font-size:11px}.actions.svelte-13aexy3{margin-left:auto;display:flex}.icon-button.svelte-13aexy3{width:24px;height:24px;color:var(--text-dim);border-radius:var(--radius-small);background:0 0;border:0}.icon-button.svelte-13aexy3:hover:not(:disabled){background:var(--panel-raised);color:var(--text)}.icon-button.danger.svelte-13aexy3:hover:not(:disabled){color:var(--danger)}.icon-button.svelte-13aexy3:disabled{opacity:.3;cursor:default}.tree.svelte-13aexy3{padding:6px 4px;overflow:auto}.folder-row.svelte-13aexy3,.asset-row.svelte-13aexy3{padding-left:calc((var(--depth) + 2) * 14px);display:flex}.row.svelte-13aexy3{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-13aexy3{width:100%;padding:0 8px}.row.folder.svelte-13aexy3{flex:1;padding:0 8px 0 2px}.row.asset.svelte-13aexy3{cursor:grab;flex:1;padding:0 8px 0 2px}.row.asset.svelte-13aexy3:active{cursor:grabbing}.row.svelte-13aexy3:hover,.row.selected.svelte-13aexy3{background:var(--panel-raised);color:var(--text)}.row.asset.current.svelte-13aexy3,.row.selected.svelte-13aexy3{background:var(--accent-soft);color:var(--accent)}.row.drop-target.svelte-13aexy3{outline:1px solid var(--accent);background:var(--accent-soft)}.glyph.svelte-13aexy3{width:14px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;display:flex}.asset-glyph.svelte-13aexy3{font-size:7px}.asset-warning.svelte-13aexy3{color:var(--warning);flex:none;margin-left:auto}.label.svelte-13aexy3{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.count.svelte-13aexy3{color:var(--text-faint);margin-left:auto;font-size:10px}.dialog-row.svelte-13aexy3{align-items:center;gap:8px;display:flex}.dialog-row.svelte-13aexy3 span:where(.svelte-13aexy3){width:44px;color:var(--text-dim)}.dialog-row.svelte-13aexy3 input:where(.svelte-13aexy3){flex:1}.dialog-path.svelte-13aexy3,.dialog-text.svelte-13aexy3,.dialog-warning.svelte-13aexy3{margin:8px 0 0}.dialog-path.svelte-13aexy3{color:var(--text-faint)}.dialog-warning.svelte-13aexy3{color:var(--warning)}.context-menu.svelte-1gtdcf3{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-1gtdcf3{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;padding:6px 8px}button.svelte-1gtdcf3:hover,button.svelte-1gtdcf3:focus-visible{background:var(--accent-soft);outline:none}button.danger.svelte-1gtdcf3{color:var(--danger)}
@@ -1 +0,0 @@
1
- import{$ as e,E as t,K as n,M as r,O as i,T as a,W as o,b as s,et as c,g as l,i as u,it as d,j as f,l as p,z as m}from"./CNRz3sSw.js";import"./xihTtKlq.js";function h(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.$asset==`string`&&e.$asset!==``}var g=[`png`,`jpg`,`jpeg`,`webp`,`avif`],_={type:`image`,accepts:[...g],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}}}},v=/[\u0000-\u001f\u007f]/,y=/[<>:"|?*]/,b=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i;function x(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.`:v.test(e)?`Folder names must not contain control characters.`:y.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.`:b.test(e)?`"${e}" is a reserved filesystem name.`:null:`Folder names must not start or end with whitespace.`}function S(e){return e.split(`/`).map(e=>e.normalize(`NFC`)).join(`/`)}function C(e){return S(e).toLocaleLowerCase(`en-US`)}function w(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function T(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function E(e,t){return e===``?t:`${e}/${t}`}function D(e,t){return e===t||e.startsWith(`${t}/`)}var O=[`preload`,`release`,`entries`,`constructor`,`prototype`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`toString`,`valueOf`],k=/^[a-z][A-Za-z0-9]*$/;function A(e){return k.test(e)?O.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 j(e){return k.test(e)?O.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 M=[{name:`slate`,value:`#64748b`},{name:`red`,value:`#ef4444`},{name:`orange`,value:`#f97316`},{name:`amber`,value:`#f59e0b`},{name:`yellow`,value:`#eab308`},{name:`lime`,value:`#84cc16`},{name:`green`,value:`#22c55e`},{name:`teal`,value:`#14b8a6`},{name:`cyan`,value:`#06b6d4`},{name:`blue`,value:`#3b82f6`},{name:`indigo`,value:`#6366f1`},{name:`violet`,value:`#8b5cf6`},{name:`pink`,value:`#ec4899`}],N=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),P={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}}},F={keyColor:[0,1,0],colorCutoff:.2,colorFeathering:.33,maskFeathering:1,sharpening:.5,despill:1,despillLuminanceAdd:.2},I=[`colorCutoff`,`colorFeathering`,`maskFeathering`,`sharpening`,`despill`,`despillLuminanceAdd`];function L(e){return Math.min(1,Math.max(0,e))}function R(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:[L(n[0]),L(n[1]),L(n[2])]};for(let e of I){let n=t[e];if(typeof n!=`number`||!Number.isFinite(n))throw Error(`"chromaKey.${e}" must be a number (0–1).`);r[e]=L(n)}return r}var z=[`mp4`,`mov`,`webm`,`m4v`];function B(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 V={type:`video`,accepts:[...z],defaultParameters:()=>({preset:`default`}),validateParameters(e){return B(`Video`,e)}};function H(e,t){if(t!==void 0){if(!h(t))throw Error(`"${e}" must be an asset reference ({ "$asset": "<id>" }).`);return{$asset:t.$asset}}}var U={type:`chroma-key-video`,accepts:[...z],defaultParameters:()=>({preset:`default`,chromaKey:{...F,keyColor:[...F.keyColor]}}),validateParameters(e){let t=B(`Chroma-key-video`,e),n=e,r=R(n.chromaKey),i=H(`mask`,n.mask),a=H(`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}}}},W=[`nine`,`three-horizontal`,`three-vertical`,`one`];function G(){return{top:0,right:0,bottom:0,left:0}}function K(e){return{horizontal:e===`nine`||e===`three-horizontal`,vertical:e===`nine`||e===`three-vertical`}}function q(e,t,n,r){return t===`left`?n-e.right:t===`right`?n-e.left:t===`top`?r-e.bottom:r-e.top}function J(e,t,n,r){return q(e,t,n,r)-1}function Y(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=G();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}var X={type:`slice`,accepts:[...g],defaultParameters:()=>({mode:`nine`,insets:G(),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`||!W.includes(t.mode))throw Error(`Slice "mode" must be one of ${W.map(e=>`'${e}'`).join(` | `)}.`);let n=Y(`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:Y(`overdraw`,t.overdraw);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},preset:t.preset}}},Z=[_,X,V,U,P];function Q(e=Z){return[...new Set(e.flatMap(e=>e.accepts))].sort().map(e=>`.${e}`)}function $(e,t=Z){let n=e.slice(e.lastIndexOf(`.`)+1).toLowerCase();return t.filter(e=>e.accepts.includes(n)).map(e=>e.type)}function ee(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`}var te=i(`<div class="backdrop svelte-7e0w24" role="presentation"><div class="dialog svelte-7e0w24" role="dialog" tabindex="-1"><h2 class="svelte-7e0w24"> </h2> <!> <div class="actions svelte-7e0w24"><button class="control">Cancel</button> <button> </button></div></div></div>`);function ne(i,f){c(f,!0);let h=u(f,`danger`,3,!1),g=u(f,`confirmDisabled`,3,!1),_=u(f,`busy`,3,!1);var v=te(),y=o(v),b=o(y),x=o(b,!0);d(b);var S=n(b,2);s(S,()=>f.children);var C=n(S,2),w=o(C),T=n(w,2);let E;var D=o(T,!0);d(T),d(C),d(y),d(v),m(()=>{p(y,`aria-label`,f.title),a(x,f.title),w.disabled=_(),E=l(T,1,`control`,null,E,{primary:!h(),danger:h()}),T.disabled=g()||_(),a(D,f.confirmLabel)}),r(`click`,v,()=>_()?void 0:f.onCancel()),r(`click`,y,e=>e.stopPropagation()),r(`keydown`,y,e=>{e.key===`Escape`&&!_()&&f.onCancel()}),r(`click`,w,function(...e){f.onCancel?.apply(this,e)}),r(`click`,T,function(...e){f.onConfirm?.apply(this,e)}),t(i,v),e()}f([`click`,`keydown`]);export{_ as C,V as S,C as _,A as a,K as b,G as c,D as d,E as f,w as g,J as h,Q as i,x as l,q as m,M as n,P as o,j as p,N as r,U as s,ne as t,T as u,ee as v,$ as x,X as y};
@@ -1 +0,0 @@
1
- function e(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} kB`:`${(e/(1024*1024)).toFixed(2)} MB`}function t(e){return`${(e/1e3).toFixed(2)} s`}function n(e,t){let{maxWidth:n,...r}=e;return t===null||!Number.isFinite(t)||t<=0?r:{...r,maxWidth:Math.round(t)}}export{t as n,n as r,e as t};
@@ -1,5 +0,0 @@
1
- import{$ as e,B as t,E as n,G as r,I as i,J as a,K as o,L as s,M as c,N as l,O as u,P as d,S as f,T as p,U as m,W as h,X as g,Y as _,a as v,b as y,c as b,d as x,et as S,g as C,h as w,i as T,it as E,j as D,k as O,l as k,s as A,w as j,z as M}from"./CNRz3sSw.js";import"./DjvOiDmq.js";import"./xihTtKlq.js";import{f as N,l as P,n as ee,o as F,p as I,t as L}from"./CO4RBJfa.js";import{_ as R,a as te,d as z,f as ne,g as B,l as V,t as H,u as U,v as W,x as G}from"./Cx6qtxJg.js";var re=u(`<p class="error svelte-1iq6zo4">This file type is not supported (raster images, video, or audio).</p>`),ie=u(`<button> </button>`),ae=u(`<p class="hint warn svelte-1iq6zo4"> </p>`),oe=u(`<p class="hint warn svelte-1iq6zo4">An asset with this id already exists.</p>`),K=u(`<div class="row svelte-1iq6zo4"><span class="label svelte-1iq6zo4">Type</span> <div class="segmented svelte-1iq6zo4"></div></div> <label class="row svelte-1iq6zo4"><span class="label svelte-1iq6zo4">Id</span> <input class="control svelte-1iq6zo4" type="text" spellcheck="false"/></label> <!> <!>`,1),se=u(`<div class="backdrop svelte-1iq6zo4" role="presentation"><div class="dialog svelte-1iq6zo4" role="dialog" aria-label="Import asset" tabindex="-1"><h2 class="svelte-1iq6zo4">Import asset</h2> <p class="file-name svelte-1iq6zo4"> </p> <p class="destination svelte-1iq6zo4"> </p> <!> <div class="actions svelte-1iq6zo4"><button class="control">Cancel</button> <button class="control primary"> </button></div></div></div>`);function q(i,s){S(s,!0);let l=g(()=>G(s.file.name)),u=_(`image`),m=_(`asset`),v=_(!1),y=_(null);t(()=>{a(u,G(s.file.name)[0]??`image`,!0),a(m,W(s.file.name),!0)});let x=g(()=>L.state?.assets.some(e=>e.id===d(m))??!1),w=g(()=>te(d(m))),T=g(()=>d(w)===null),D=g(()=>d(T)&&!d(x)&&d(l).length>0&&!d(v));async function O(){if(!d(D))return;let e=d(m),t=d(u);a(v,!0),a(y,null);try{await L.mutate(()=>I(s.file,t,e,s.folder)),s.onDone(e)}catch(e){a(y,e instanceof Error?e.message:String(e),!0)}finally{a(v,!1)}}var k=se(),N=h(k),P=o(h(N),2),ee=h(P,!0);E(P);var F=o(P,2),R=h(F);E(F);var z=o(F,2),ne=e=>{n(e,re())},B=e=>{var t=K(),i=r(t),s=o(h(i),2);f(s,20,()=>d(l),e=>e,(e,t)=>{var r=ie();let i;var o=h(r,!0);E(r),M(()=>{r.disabled=d(v),i=C(r,1,`svelte-1iq6zo4`,null,i,{on:d(u)===t}),p(o,t)}),c(`click`,r,()=>a(u,t,!0)),n(e,r)}),E(s),E(i);var g=o(i,2),_=o(h(g),2);b(_),E(g);var S=o(g,2),D=e=>{var t=ae(),r=h(t,!0);E(t),M(()=>p(r,d(w))),n(e,t)},O=e=>{n(e,oe())};j(S,e=>{d(T)?d(x)&&e(O,1):e(D)});var k=o(S,2),N=e=>{var t=ae(),r=h(t,!0);E(t),M(()=>p(r,d(y))),n(e,t)};j(k,e=>{d(y)&&e(N)}),M(()=>_.disabled=d(v)),A(_,()=>d(m),e=>a(m,e)),n(e,t)};j(z,e=>{d(l).length===0?e(ne):e(B,-1)});var V=o(z,2),H=h(V),U=o(H,2),q=h(U,!0);E(U),E(V),E(N),E(k),M(()=>{p(ee,s.file.name),p(R,`Destination: ${(s.folder||`Root`)??``}`),U.disabled=!d(D),p(q,d(v)?`Importing…`:`Import`)}),c(`click`,k,function(...e){s.onCancel?.apply(this,e)}),c(`click`,N,e=>e.stopPropagation()),c(`keydown`,N,e=>{e.key===`Escape`&&s.onCancel()}),c(`click`,H,function(...e){s.onCancel?.apply(this,e)}),c(`click`,U,()=>void O()),n(i,k),e()}D([`click`,`keydown`]);function J(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}var Y=O(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-u1b1yd"><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>`),ce=O(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-u1b1yd"><path d="M5 3.3v9.4l7-4.7z" fill="currentColor"></path></svg>`),X=u(`<span class="time svelte-u1b1yd"> </span> <input class="range scrub svelte-u1b1yd" type="range" min="0" step="0.01" aria-label="Seek"/> <span class="time svelte-u1b1yd"> </span>`,1),Z=u(`<span class="time svelte-u1b1yd"> </span>`),le=O(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-u1b1yd"><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>`),ue=O(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-u1b1yd"><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>`),de=u(`<div class="volume-group svelte-u1b1yd"><button class="btn svelte-u1b1yd" type="button"><!></button> <input class="range volume svelte-u1b1yd" type="range" min="0" max="1" step="0.01" aria-label="Volume"/></div>`),fe=u(`<div><button class="btn svelte-u1b1yd" type="button"><!></button> <button class="btn svelte-u1b1yd" type="button" aria-label="Stop"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-u1b1yd"><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-u1b1yd"><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 pe(i,s){S(s,!0);let l=T(s,`media`,7),u=T(s,`showScrub`,3,!1),f=T(s,`showVolume`,3,!0),m=_(!1),v=_(0),y=_(0),w=_(!1),D=_(1),O=_(!1),A=_(!1),N=!1,P=null,ee=g(()=>J(d(v))),F=g(()=>J(d(y))),I=g(()=>d(y)>0),L=g(()=>d(O)?0:d(D));t(()=>{if(!l()){a(m,!1);return}let e=l();a(m,!e.paused),a(v,e.currentTime,!0),a(y,Number.isFinite(e.duration)?e.duration:0,!0),a(w,e.loop,!0),a(D,e.volume,!0),a(O,e.muted,!0);function t(){a(m,!0)}function n(){a(m,!1)}function r(){d(A)||a(v,e.currentTime,!0)}function i(){a(y,Number.isFinite(e.duration)?e.duration:0,!0)}function o(){a(D,e.volume,!0),a(O,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`,i),e.addEventListener(`durationchange`,i),e.addEventListener(`volumechange`,o),()=>{P===e&&(a(A,!1),N=!1,P=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`,i),e.removeEventListener(`durationchange`,i),e.removeEventListener(`volumechange`,o)}});function R(){l()&&(l().paused?l().play():l().pause())}function te(){l()&&(l().pause(),l().currentTime=0)}function z(){l()&&(l().loop=!l().loop,a(w,l().loop,!0))}function ne(){l()&&(l().muted=!l().muted)}function B(e){if(!l())return;let t=e.currentTarget.valueAsNumber;l().volume=t,l().muted=t===0}function V(){!l()||d(A)||(a(A,!0),N=!l().paused,P=l(),l().pause())}function H(e){let t=P??l();if(!t)return;let n=e.currentTarget.valueAsNumber;Number.isFinite(t.duration)&&(t.currentTime=n),a(v,n,!0)}function U(){if(!d(A))return;let e=P;a(A,!1),N&&e&&l()===e&&e.play(),N=!1,P=null}t(()=>{if(d(A))return window.addEventListener(`pointerup`,U),window.addEventListener(`pointercancel`,U),()=>{window.removeEventListener(`pointerup`,U),window.removeEventListener(`pointercancel`,U)}});var W=fe(),G=h(W),re=h(G),ie=e=>{n(e,Y())},ae=e=>{n(e,ce())};j(re,e=>{d(m)?e(ie):e(ae,-1)}),E(G);var oe=o(G,2),K=o(oe,2);let se;var q=o(K,2),pe=e=>{var t=X(),i=r(t),a=h(i,!0);E(i);var s=o(i,2);b(s);var u=o(s,2),f=h(u,!0);E(u),M(()=>{p(a,d(ee)),k(s,`max`,d(I)?d(y):0),x(s,d(v)),s.disabled=!l()||!d(I),p(f,d(F))}),c(`pointerdown`,s,V),c(`input`,s,H),n(e,t)},me=e=>{var t=Z(),r=h(t);E(t),M(()=>p(r,`${d(ee)??``} / ${d(F)??``}`)),n(e,t)};j(q,e=>{u()?e(pe):d(I)&&e(me,1)});var he=o(q,2),Q=e=>{var t=de(),r=h(t),i=h(r),a=e=>{n(e,le())},s=e=>{n(e,ue())};j(i,e=>{d(O)||d(D)===0?e(a):e(s,-1)}),E(r);var u=o(r,2);b(u),E(t),M(()=>{r.disabled=!l(),k(r,`aria-label`,d(O)?`Unmute`:`Mute`),x(u,d(L)),u.disabled=!l()}),c(`click`,r,ne),c(`input`,u,B),n(e,t)};j(he,e=>{f()&&e(Q)}),E(W),M(()=>{C(W,1,`playback ${s.class??``??``}`,`svelte-u1b1yd`),G.disabled=!l(),k(G,`aria-label`,d(m)?`Pause`:`Play`),oe.disabled=!l(),se=C(K,1,`btn svelte-u1b1yd`,null,se,{active:d(w)}),K.disabled=!l(),k(K,`aria-pressed`,d(w))}),c(`click`,G,R),c(`click`,oe,te),c(`click`,K,z),n(i,W),e()}D([`click`,`pointerdown`,`input`]);var me=null;function he(){return me||=new AudioContext,me}var Q=null;function ge(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 _e(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 ve(e,t,n){return Math.min(n,Math.max(t,e))}var ye=u(`<div class="footer svelte-prx3nl"><!></div>`),be=u(`<div><canvas class="wave svelte-prx3nl" role="button" tabindex="0" aria-label="Audio waveform — click or press Enter to play; arrow keys scrub"></canvas> <!></div>`);function xe(r,i){S(i,!0);let l=T(i,`loop`,3,!1),u=T(i,`showControls`,3,!1),f=_(void 0),p=_(null),m=_(!1),g=_(0),y=_(0),b=`idle`,x=null,w=null,D=0,O=1,k=`#0d99ff`,A=`#7a7a7a`,N=`#f24822`,P=0;function ee(){if(!d(f))return;let e=getComputedStyle(d(f));k=e.getPropertyValue(`--accent`).trim()||k,A=e.getPropertyValue(`--text-faint`).trim()||A,N=e.getPropertyValue(`--danger`).trim()||N}function F(){if(!d(f))return;let e=d(f).getBoundingClientRect();O=window.devicePixelRatio||1;let t=Math.max(1,Math.round(e.width*O)),n=Math.max(1,Math.round(e.height*O));(d(f).width!==t||d(f).height!==n)&&(d(f).width=t,d(f).height=n,w=null),ee()}function I(){if(!d(f))return;let e=d(f).getContext(`2d`);if(!e)return;let t=d(f).width,n=d(f).height,r=n/2;if(e.clearRect(0,0,t,n),b!==`ready`||!x){e.strokeStyle=b===`error`?N:A,e.lineWidth=Math.max(1,O),e.beginPath(),e.moveTo(0,r),e.lineTo(t,r),e.stroke();return}let i=Math.max(1,Math.floor(t));(!w||D!==i)&&(w=_e(x,i),D=i);let a=d(y)>0?ve(d(g)/d(y),0,1):0,o=a*t,s=r*.9,c=t/i;e.lineWidth=1;for(let t=0;t<i;t++){let n=t*c,i=r-w.max[t]*s,a=r-w.min[t]*s;e.strokeStyle=n<=o?k:A,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=k,e.lineWidth=Math.max(1,O),e.beginPath(),e.moveTo(o,0),e.lineTo(o,n),e.stroke())}function L(){P&&=(cancelAnimationFrame(P),0)}function R(){d(p)&&a(g,d(p).currentTime,!0),I(),d(m)&&(P=requestAnimationFrame(R))}async function te(e){b=`loading`,I();try{let t=await(await fetch(e)).arrayBuffer(),n=await he().decodeAudioData(t);if(e!==i.src)return;x=ge(n),d(y)||a(y,n.duration,!0),b=`ready`,w=null,I()}catch{if(e!==i.src)return;b=`error`,I()}}function z(e){if(e.preventDefault(),e.stopPropagation(),!d(f)||!d(p))return;let t=d(f).getBoundingClientRect(),n=ve((e.clientX-t.left)/t.width,0,1),r=d(p).duration;Number.isFinite(r)&&r>0&&(d(p).currentTime=n*r),d(p).play()}function ne(){d(p)&&(d(p).paused?d(p).play():d(p).pause())}function B(e){if(d(p)){if(e.key===`Enter`||e.key===` `){e.preventDefault(),ne();return}if(e.key===`ArrowRight`||e.key===`ArrowLeft`){let t=d(p).duration;if(!Number.isFinite(t)||t<=0)return;e.preventDefault();let n=e.key===`ArrowRight`?5:-5;d(p).currentTime=ve(d(p).currentTime+n,0,t)}}}t(()=>{let e=d(p);e&&(e.loop=l())}),t(()=>{let e=i.src,t=d(f);if(!t)return;b=`idle`,x=null,w=null,D=0,a(g,0),a(y,0),a(m,!1);let n=new Audio(e);n.preload=`metadata`,n.loop=s(()=>l());function r(){Q&&Q!==n&&Q.pause(),Q=n,a(m,!0),L(),P=requestAnimationFrame(R)}function o(){Q===n&&(Q=null),a(m,!1),L(),I()}function c(){Q===n&&(Q=null),a(m,!1),L(),I()}function u(){a(g,n.currentTime,!0),d(m)||I()}function h(){Number.isFinite(n.duration)&&a(y,n.duration,!0),I()}n.addEventListener(`play`,r),n.addEventListener(`pause`,o),n.addEventListener(`ended`,c),n.addEventListener(`timeupdate`,u),n.addEventListener(`loadedmetadata`,h),n.addEventListener(`durationchange`,h),n.addEventListener(`seeked`,u),a(p,n,!0);let _=new ResizeObserver(()=>{F(),I()});_.observe(t);let v=new IntersectionObserver(t=>{t.some(e=>e.isIntersecting)&&(v.disconnect(),te(e))});return v.observe(t),F(),I(),()=>{L(),_.disconnect(),v.disconnect(),n.removeEventListener(`play`,r),n.removeEventListener(`pause`,o),n.removeEventListener(`ended`,c),n.removeEventListener(`timeupdate`,u),n.removeEventListener(`loadedmetadata`,h),n.removeEventListener(`durationchange`,h),n.removeEventListener(`seeked`,u),n.pause(),Q===n&&(Q=null),n.removeAttribute(`src`),n.load(),a(p,null)}});var V=be(),H=h(V);v(H,e=>a(f,e),()=>d(f));var U=o(H,2),W=e=>{var t=ye();pe(h(t),{get media(){return d(p)}}),E(t),n(e,t)};j(U,e=>{u()&&e(W)}),E(V),M(()=>C(V,1,`audio-waveform ${i.class??``??``}`,`svelte-prx3nl`)),c(`click`,H,z),c(`keydown`,H,B),n(r,V),e()}D([`click`,`keydown`]);var Se=u(`<h3 class="svelte-2penap"><!></h3>`);function Ce(e,t){var r=Se();y(h(r),()=>t.children),E(r),n(e,r)}function we(e,t){return e!==t&&!z(t,e)&&B(e)!==t}function Te(e,t,n){return e&&t!==null&&we(t,n)}var Ee=O(`<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 De(e,t){let r=T(t,`size`,3,14);var i=Ee();M(()=>{k(i,`width`,r()),k(i,`height`,r())}),n(e,i)}var Oe=u(`<span class="asset-warning svelte-13aexy3">⚠</span>`),ke=u(`<div class="asset-row svelte-13aexy3"><button class="row asset current svelte-13aexy3" draggable="true" aria-current="page"><span class="glyph asset-glyph svelte-13aexy3">◆</span> <span class="label svelte-13aexy3"> </span> <!></button></div>`),Ae=u(`<div class="folder-row svelte-13aexy3"><button draggable="true"><span class="glyph svelte-13aexy3"><!></span><span class="label svelte-13aexy3"> </span><span class="count svelte-13aexy3"> </span></button></div> <!>`,1),je=u(`<p class="dialog-warning svelte-13aexy3"> </p>`),Me=u(`<p class="dialog-warning svelte-13aexy3">A sibling folder with this name already exists.</p>`),Ne=u(`<label class="dialog-row svelte-13aexy3"><span class="svelte-13aexy3">Name</span> <input class="control svelte-13aexy3" spellcheck="false"/></label> <p class="dialog-path svelte-13aexy3"> </p> <!> <!> <!>`,1),Pe=u(`<p class="dialog-text svelte-13aexy3">Delete <strong> </strong> </p> <!> <!>`,1),Fe=u(`<aside class="directory svelte-13aexy3" aria-label="Asset folders"><header class="svelte-13aexy3"><strong class="svelte-13aexy3">Folders</strong> <div class="actions svelte-13aexy3"><button class="icon-button svelte-13aexy3">+</button> <button class="icon-button svelte-13aexy3">✎</button> <button class="icon-button danger svelte-13aexy3">×</button></div></header> <div class="tree svelte-13aexy3"><button><span class="glyph svelte-13aexy3">▦</span><span class="label svelte-13aexy3">All Assets</span><span class="count svelte-13aexy3"> </span></button> <button><span class="glyph svelte-13aexy3">⌂</span><span class="label svelte-13aexy3">Root</span><span class="count svelte-13aexy3"> </span></button> <!> <!></div></aside> <!> <!>`,1);function Ie(s,u){S(u,!0);let m=T(u,`activeAsset`,3,null),y=T(u,`sharedDraggedFolder`,3,null),x=_(null),D=_(null),O=g(()=>y()??d(D)),I=g(()=>L.state?.library.folders??[]),te=g(()=>L.state?.assets??[]),W=g(()=>[...d(I)].sort((e,t)=>e.localeCompare(t)));function G(e){return d(te).filter(t=>t.folder===e).length}function re(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,r=Te(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,d(O),t);!n&&!r||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),a(x,t,!0))}function ie(e,t){e.preventDefault(),a(x,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`)&&u.onMoveAssets(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`)||d(O);r&&we(r,t)&&oe(r,t)}function ae(e,t){m()||u.selectedFolder!==null&&z(u.selectedFolder,e)&&u.onSelect(`${t}${u.selectedFolder.slice(e.length)}`)}async function oe(e,t){let n=ne(t,U(e));try{await L.mutate(()=>P(e,t)),ae(e,n)}catch{}finally{a(D,null),u.onFolderDragEnd?.()}}let K=_(null),se=_(``),q=_(null),J=_(null),Y=_(``),ce=_(void 0),X=_(!1),Z=_(null),le=g(()=>u.selectedFolder!==null&&u.selectedFolder!==``?u.selectedFolder:null),ue=g(()=>d(Y)===``?null:V(d(Y))),de=g(()=>ne(d(K)===`rename`?B(d(q)??``):d(se),d(Y).normalize(`NFC`))),fe=g(()=>d(Y)!==``&&d(I).some(e=>e!==(d(K)===`rename`?d(q):null)&&R(e)===R(d(de)))),pe=g(()=>d(Y)!==``&&!d(ue)&&!d(fe)&&!d(X));function me(e=u.selectedFolder??``){a(se,e,!0),a(Y,``),a(Z,null),a(K,`create`),i().then(()=>d(ce)?.focus())}let he=0;t(()=>{u.createRequest!==null&&u.createRequest.id!==he&&(he=u.createRequest.id,me(u.createRequest.parent))});function Q(e,t,n=null){e.preventDefault(),e.stopPropagation(),u.onContextMenu(e.clientX,e.clientY,t,n)}function ge(e){e!==null&&(a(q,e,!0),a(Y,U(e),!0),a(Z,null),a(K,`rename`),i().then(()=>d(ce)?.focus()))}let _e=0;t(()=>{u.renameRequest!==null&&u.renameRequest.id!==_e&&(_e=u.renameRequest.id,ge(u.renameRequest.path))});function ve(e){e!==null&&(a(J,e,!0),a(Z,null),a(K,`delete`))}let ye=0;t(()=>{u.deleteRequest!==null&&u.deleteRequest.id!==ye&&(ye=u.deleteRequest.id,ve(u.deleteRequest.path))});function be(){d(X)||(a(K,null),a(Z,null))}async function xe(){if(d(pe)){a(X,!0),a(Z,null);try{if(d(K)===`create`){let e=d(de);await L.mutate(()=>ee(e)),m()||u.onSelect(e)}else if(d(K)===`rename`&&d(q)!==null){let e=d(q),t=d(de);await L.mutate(()=>N(e,d(Y))),ae(e,t)}a(K,null)}catch(e){a(Z,e instanceof Error?e.message:String(e),!0)}finally{a(X,!1)}}}let Se=g(()=>d(J)===null?[]:d(I).filter(e=>z(e,d(J)??``))),Ce=g(()=>d(J)===null?[]:d(te).filter(e=>z(e.folder,d(J)??``))),Ee=g(()=>new Set(d(Ce).map(e=>e.id))),Ie=g(()=>d(Ce).flatMap(e=>e.references.incoming.filter(e=>!d(Ee).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e.id}`)));async function Le(){if(d(J)===null)return;let e=d(J),t=B(e),n=m()!==null&&z(m().folder,e);a(X,!0),a(Z,null);try{await L.mutate(()=>F(e)),n?u.onActiveAssetDeleted?.(t):!m()&&u.selectedFolder!==null&&z(u.selectedFolder,e)&&u.onSelect(t),a(K,null)}catch(e){a(Z,e instanceof Error?e.message:String(e),!0)}finally{a(X,!1)}}function Re(e){m()&&(e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify([m().id])),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`))}var ze=Fe(),Be=r(ze),Ve=h(Be),He=o(h(Ve),2),Ue=h(He),We=o(Ue,2),Ge=o(We,2);E(He),E(Ve);var Ke=o(Ve,2),qe=h(Ke);let Je;var Ye=o(h(qe),2),Xe=h(Ye,!0);E(Ye),E(qe);var $=o(qe,2);let Ze;var Qe=o(h($),2),$e=h(Qe,!0);E(Qe),E($);var et=o($,2),tt=e=>{var t=ke();w(t,``,{},{"--depth":0});var r=h(t),i=o(h(r),2),a=h(i,!0);E(i);var s=o(i,2),c=e=>{var t=Oe();M(e=>k(t,`title`,e),[()=>m().warnings.join(`
2
- `)]),n(e,t)};j(s,e=>{m().warnings.length>0&&e(c)}),E(r),E(t),M(()=>{k(r,`title`,m().id),p(a,m().id)}),l(`dragstart`,r,Re),n(e,t)};j(et,e=>{m()?.folder===``&&e(tt)}),f(o(et,2),16,()=>d(W),e=>e,(e,t)=>{let i=g(()=>t.split(`/`).length-1);var s=Ae(),f=r(s);let _;var v=h(f);let y;var b=h(v);De(h(b),{}),E(b);var S=o(b),T=h(S,!0);E(S);var O=o(S),A=h(O,!0);E(O),E(v),E(f);var N=o(f,2),P=e=>{var t=ke();let r;var a=h(t),s=o(h(a),2),c=h(s,!0);E(s);var u=o(s,2),f=e=>{var t=Oe();M(e=>k(t,`title`,e),[()=>m().warnings.join(`
3
- `)]),n(e,t)};j(u,e=>{m().warnings.length>0&&e(f)}),E(a),E(t),M(()=>{r=w(t,``,r,{"--depth":d(i)+1}),k(a,`title`,m().id),p(c,m().id)}),l(`dragstart`,a,Re),n(e,t)};j(N,e=>{m()?.folder===t&&e(P)}),M((e,n)=>{_=w(f,``,_,{"--depth":d(i)}),y=C(v,1,`row folder svelte-13aexy3`,null,y,{selected:!m()&&u.selectedFolder===t,"drop-target":d(x)===t}),k(S,`title`,t),p(T,e),p(A,n)},[()=>U(t),()=>G(t)]),c(`click`,v,()=>u.onSelect(t)),c(`contextmenu`,v,e=>Q(e,t,t)),l(`dragstart`,v,e=>{a(D,t,!0),u.onFolderDragStart?.(t),e.dataTransfer?.setData(`application/x-fundus-folder`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),l(`dragend`,v,()=>{a(D,null),u.onFolderDragEnd?.(),a(x,null)}),l(`dragover`,v,e=>re(e,t)),l(`dragleave`,v,()=>a(x,null)),l(`drop`,v,e=>ie(e,t)),n(e,s)}),E(Ke),E(Be);var nt=o(Be,2),rt=e=>{{let t=g(()=>d(K)===`create`?`Create folder`:`Rename folder`),i=g(()=>d(X)?`Saving…`:d(K)===`create`?`Create`:`Rename`),s=g(()=>!d(pe));H(e,{get title(){return d(t)},get confirmLabel(){return d(i)},get confirmDisabled(){return d(s)},get busy(){return d(X)},onConfirm:()=>void xe(),onCancel:be,children:(e,t)=>{var i=Ne(),s=r(i),l=o(h(s),2);b(l),v(l,e=>a(ce,e),()=>d(ce)),E(s);var u=o(s,2),f=h(u,!0);E(u);var m=o(u,2),g=e=>{var t=je(),r=h(t,!0);E(t),M(()=>p(r,d(ue))),n(e,t)};j(m,e=>{d(ue)&&e(g)});var _=o(m,2),y=e=>{n(e,Me())};j(_,e=>{d(fe)&&e(y)});var x=o(_,2),S=e=>{var t=je(),r=h(t,!0);E(t),M(()=>p(r,d(Z))),n(e,t)};j(x,e=>{d(Z)&&e(S)}),M(()=>{l.disabled=d(X),p(f,d(de)||`Root`)}),c(`keydown`,l,e=>e.key===`Enter`&&void xe()),A(l,()=>d(Y),e=>a(Y,e)),n(e,i)},$$slots:{default:!0}})}};j(nt,e=>{(d(K)===`create`||d(K)===`rename`)&&e(rt)});var it=o(nt,2),at=e=>{{let t=g(()=>d(X)?`Deleting…`:`Delete recursively`);H(e,{title:`Delete folder`,get confirmLabel(){return d(t)},danger:!0,get busy(){return d(X)},onConfirm:()=>void Le(),onCancel:be,children:(e,t)=>{var i=Pe(),a=r(i),s=o(h(a)),c=h(s,!0);E(s);var l=o(s);E(a);var u=o(a,2),f=e=>{var t=je(),r=h(t);E(t),M(e=>p(r,`This leaves ${d(Ie).length??``} external reference(s) dangling:
4
- ${e??``}`),[()=>d(Ie).join(`, `)]),n(e,t)};j(u,e=>{d(Ie).length>0&&e(f)});var m=o(u,2),g=e=>{var t=je(),r=h(t,!0);E(t),M(()=>p(r,d(Z))),n(e,t)};j(m,e=>{d(Z)&&e(g)}),M(()=>{p(c,d(J)),p(l,`, ${d(Se).length-1} descendant folder(s),
5
- and ${d(Ce).length??``} asset(s)? Raw and proxy files are removed.`)}),n(e,i)},$$slots:{default:!0}})}};j(it,e=>{d(K)===`delete`&&d(J)!==null&&e(at)}),M(e=>{k(Ue,`title`,m()?`Create folder beside the current asset`:`Create child folder`),k(We,`title`,m()?`Rename the current asset folder`:`Rename selected folder`),We.disabled=d(le)===null,k(Ge,`title`,m()?`Delete the current asset folder`:`Delete selected folder`),Ge.disabled=d(le)===null,Je=C(qe,1,`row special svelte-13aexy3`,null,Je,{selected:!m()&&u.selectedFolder===null}),p(Xe,d(te).length),Ze=C($,1,`row special svelte-13aexy3`,null,Ze,{selected:!m()&&u.selectedFolder===``,"drop-target":d(x)===``}),p($e,e)},[()=>G(``)]),c(`contextmenu`,Be,e=>Q(e,``)),c(`click`,Ue,()=>me()),c(`click`,We,()=>ge(d(le))),c(`click`,Ge,()=>ve(d(le))),c(`click`,qe,()=>u.onSelect(null)),c(`click`,$,()=>u.onSelect(``)),l(`dragover`,$,e=>re(e,``)),l(`dragleave`,$,()=>a(x,null)),l(`drop`,$,e=>ie(e,``)),n(s,ze),e()}D([`contextmenu`,`click`,`keydown`]);var Le=u(`<button role="menuitem" class="svelte-1gtdcf3">Rename</button>`),Re=u(`<button class="danger svelte-1gtdcf3" role="menuitem">Delete Directory</button>`),ze=u(`<div class="context-menu svelte-1gtdcf3" role="menu" aria-label="Library actions" tabindex="-1"><button role="menuitem" class="svelte-1gtdcf3">New Directory</button> <!> <button role="menuitem" class="svelte-1gtdcf3">Import File</button> <!></div>`);function Be(t,r){S(r,!0);let i=g(()=>Math.max(8,Math.min(r.x,window.innerWidth-176))),a=g(()=>2+ +!!r.onRenameDirectory+ +!!r.onDeleteDirectory),s=g(()=>Math.max(8,Math.min(r.y,window.innerHeight-(d(a)*32+8))));function u(e){e(),r.onClose()}var f=ze();l(`click`,m,function(...e){r.onClose?.apply(this,e)}),l(`blur`,m,function(...e){r.onClose?.apply(this,e)}),l(`keydown`,m,e=>e.key===`Escape`&&r.onClose()),l(`resize`,m,function(...e){r.onClose?.apply(this,e)}),l(`scroll`,m,function(...e){r.onClose?.apply(this,e)});let p;var _=h(f),v=o(_,2),y=e=>{var t=Le();c(`click`,t,()=>u(r.onRenameDirectory)),n(e,t)};j(v,e=>{r.onRenameDirectory&&e(y)});var b=o(v,2),x=o(b,2),C=e=>{var t=Re();c(`click`,t,()=>u(r.onDeleteDirectory)),n(e,t)};j(x,e=>{r.onDeleteDirectory&&e(C)}),E(f),M(()=>p=w(f,``,p,{left:`${d(i)}px`,top:`${d(s)}px`})),c(`contextmenu`,f,e=>e.preventDefault()),c(`click`,_,()=>u(r.onNewDirectory)),c(`click`,b,()=>u(r.onImportFile)),n(t,f),e()}D([`contextmenu`,`click`]);export{we as a,pe as c,Te as i,q as l,Ie as n,Ce as o,De as r,xe as s,Be as t};
@@ -1 +0,0 @@
1
- import{n as e,s as t}from"../chunks/DjvOiDmq.js";export{t as load_css,e as start};
@@ -1,3 +0,0 @@
1
- import{$ as e,A as t,B as n,D as r,E as i,G as a,I as o,J as s,K as c,M as l,N as u,O as d,P as f,S as p,T as m,U as h,W as g,X as _,Y as v,a as y,c as b,et as x,f as S,g as ee,h as C,i as te,it as w,j as T,l as E,o as ne,q as re,rt as ie,s as ae,u as oe,w as D,z as O}from"../chunks/CNRz3sSw.js";import{c as se,t as ce}from"../chunks/DjvOiDmq.js";import"../chunks/xihTtKlq.js";import{a as le,c as ue,l as de,t as k,u as fe}from"../chunks/CO4RBJfa.js";import{a as pe,i as me,l as he,n as ge,o as _e,r as ve,s as ye,t as be}from"../chunks/n7mvYc42.js";import{a as xe,d as Se,f as Ce,g as we,i as Te,t as Ee,u as De}from"../chunks/Cx6qtxJg.js";function A(e){return Array.isArray?Array.isArray(e):je(e)===`[object Array]`}function Oe(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function ke(e){return e==null?``:Oe(e)}function j(e){return typeof e==`string`}function M(e){return typeof e==`number`}function N(e){return e===!0||e===!1||Ae(e)&&je(e)==`[object Boolean]`}function P(e){return typeof e==`object`}function Ae(e){return P(e)&&e!==null}function F(e){return e!=null}function I(e){return!e.trim().length}function je(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var L=`Incorrect 'index' type`,R=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,z=e=>`Invalid value for key ${e}`,B=e=>`Pattern length exceeds max of ${e}.`,Me=e=>`Missing ${e} property in key`,V=e=>`Property 'weight' in key '${e}' must be a positive integer`,H=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,U=Object.prototype.hasOwnProperty,W=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=G(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function G(e){let t=null,n=null,r=null,i=1,a=null;if(j(e)||A(e))r=e,t=Ne(e),n=Pe(e);else{if(!U.call(e,`name`))throw Error(Me(`name`));let o=e.name;if(r=o,U.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(V(Pe(o)));t=Ne(o),n=Pe(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Ne(e){return A(e)?e:e.split(`.`)}function Pe(e){return A(e)?e.join(`.`):e}function Fe(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(F(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!F(s))return;if(a===t.length-1&&(j(s)||M(s)||N(s)||typeof s==`bigint`))n.push(o===void 0?ke(s):{v:ke(s),i:o});else if(A(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,j(t)?t.split(`.`):t,0),r?n:n[0]}var Ie={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Le={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},Re={location:0,threshold:.6,distance:100},K={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:Fe,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},q=Object.freeze({...Le,...Ie,...Re,...K});function ze(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=1,a=!1;for(let e=0;e<t.length;e++)t.charCodeAt(e)===32?a||=(i++,!0):a=!1;if(n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}var J=class{constructor({getFn:e=q.getFn,fieldNormWeight:t=q.fieldNormWeight}={}){this.norm=ze(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(j(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(R);if(j(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(R);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!F(e)||I(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){let n={i:t,$:{}};for(let t=0,r=this.keys.length;t<r;t++){let r=this.keys[t],i=r.getFn?r.getFn(e):this.getFn(e,r.path);if(F(i)){if(A(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(F(n)){if(j(n)){if(!I(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(F(n.v)){let t=j(n.v)?n.v:ke(n.v);if(!I(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(j(i)&&!I(i)){let e={v:i,n:this.norm.get(i)};n.$[t]=e}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function Be(e,t,{getFn:n=q.getFn,fieldNormWeight:r=q.fieldNormWeight}={}){let i=new J({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(G)),i.setSources(t),i.create(),i}function Ve(e,{getFn:t=q.getFn,fieldNormWeight:n=q.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new J({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Y(e=[],t=q.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function He(e,t,n,{location:r=q.location,distance:i=q.distance,threshold:a=q.threshold,findAllMatches:o=q.findAllMatches,minMatchCharLength:s=q.minMatchCharLength,includeMatches:c=q.includeMatches,ignoreLocation:l=q.ignoreLocation}={}){if(t.length>32)throw Error(B(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,ee=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&ee&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=Y(_,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function Ue(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function We(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}var Ge={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Ke=RegExp(`[`+Object.keys(Ge).join(``)+`]`,`g`),X=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Ke,e=>Ge[e]):e=>e,qe=class{constructor(e,{location:t=q.location,threshold:n=q.threshold,distance:r=q.distance,includeMatches:i=q.includeMatches,findAllMatches:a=q.findAllMatches,minMatchCharLength:o=q.minMatchCharLength,isCaseSensitive:s=q.isCaseSensitive,ignoreDiacritics:c=q.ignoreDiacritics,ignoreLocation:l=q.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?X(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Ue(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e<n;)u(this.pattern.substr(e,32),e),e+=32;if(t){let e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?X(e):e,this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=He(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=We(u)),p}},Je=new Set([`fuzzy`,`include`]);function Ye(e){return e.startsWith(`inverse`)}var Z=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new qe(e,{location:t.location??q.location,threshold:t.threshold??q.threshold,distance:t.distance??q.distance,includeMatches:t.includeMatches??q.includeMatches,findAllMatches:t.findAllMatches??q.findAllMatches,minMatchCharLength:t.minMatchCharLength??q.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??q.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??q.ignoreDiacritics,ignoreLocation:t.ignoreLocation??q.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],Xe=Z.length,Ze=`\0`,Qe=`|`;function $e(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function et(e,t){let n=e.match(t);return n?n[1]:null}function tt(e,t={}){return e.replace(/\\\|/g,Ze).split(Qe).map(e=>{let n=$e(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<Xe;){let e=Z[o],n=et(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Xe;){let e=Z[o],n=et(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var nt=class{constructor(e,{isCaseSensitive:t=q.isCaseSensitive,ignoreDiacritics:n=q.ignoreDiacritics,includeMatches:r=q.includeMatches,minMatchCharLength:i=q.minMatchCharLength,ignoreLocation:a=q.ignoreLocation,findAllMatches:o=q.findAllMatches,location:s=q.location,threshold:c=q.threshold,distance:l=q.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?X(e):e,this.pattern=e,this.query=tt(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?X(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l)a+=1,s+=d,Ye(r.type)&&(c=!0),n&&(Je.has(r.type)?o.push(...u):o.push(u));else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=We(o)),e}}return{isMatch:!1,score:1}}},rt=[];function it(...e){rt.push(...e)}function at(e,t){for(let n=0,r=rt.length;n<r;n+=1){let r=rt[n];if(r.condition(e,t))return new r(e,t)}return new qe(e,t)}var Q={AND:`$and`,OR:`$or`},ot={PATH:`$path`,PATTERN:`$val`},st=e=>!!(e[Q.AND]||e[Q.OR]),ct=e=>!!e[ot.PATH],lt=e=>!A(e)&&P(e)&&!st(e),ut=e=>({[Q.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function dt(e,t,{auto:n=!0}={}){let r=e=>{if(j(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=at(e,t)),r}let i=Object.keys(e),a=ct(e);if(!a&&i.length>1&&!st(e))return r(ut(e));if(lt(e)){let r=a?e[ot.PATH]:i[0],o=a?e[ot.PATTERN]:e[r];if(!j(o))throw Error(z(r));let s={keyId:Pe(r),pattern:o};return n&&(s.searcher=at(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];A(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return st(e)||(e=ut(e)),r(e)}function ft(e,{ignoreFieldNorm:t=q.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function pt(e,{ignoreFieldNorm:t=q.ignoreFieldNorm}){e.forEach(e=>{e.score=ft(e.matches,{ignoreFieldNorm:t})})}var mt=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function ht(e){let t=[];return e.matches.forEach(e=>{if(!F(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function gt(e,t,{includeMatches:n=q.includeMatches,includeScore:r=q.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=ht(e)),r&&(a.score=e.score),a})}var _t=/[\p{L}\p{M}\p{N}_]+/gu,vt=new WeakSet;function yt(e){vt.has(e)||(vt.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function bt(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||yt(e),t=>t.match(e)||[]):e=>e.match(_t)||[]}function xt({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=bt(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=X(n)),r(n)}}}var St=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=xt({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new qe(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){let c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];r+=l,c.isMatch&&(i++,n+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(i===0)return{isMatch:!1,score:1};let s=r>0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=We(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function Ct(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function wt(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){Ct(e,a,i,r);return}if(o)for(let t=0;t<n;t++){let n=o[t];if(n)if(Array.isArray(n))for(let t of n)Ct(e,t.v,i,r);else Ct(e,n.v,i,r)}}function Tt(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)wt(r,i,t,n);return r}function Et(e,t,n,r){wt(e,t,n,r)}function Dt(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function Ot(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)Dt(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var $=class{constructor(e,t,n){this.options={...q,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new W(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=at(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof J))throw Error(L);if(this._myIndex=t||Be(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=xt({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=Tt(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!F(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=xt({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});Et(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&Ot(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(R);this._invertedIndex&&Ot(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(j(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return M(n)&&n>-1&&(e=e.slice(0,n)),e}let c=M(n)&&n>0&&j(e),l;if(c){let t=new mt(n);j(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=j(e)?j(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),pt(l,{ignoreFieldNorm:s}),a&&l.sort(o),M(n)&&n>-1&&(l=l.slice(0,n));return gt(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!F(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=ft(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=dt(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===Q.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(F(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{keys:a,records:o}=this._myIndex,s=t?null:[];return o.forEach(({$:e,i:o})=>{if(!F(e))return;let c=[],l=!1,u=!1;if(a.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:o,item:e,matches:c};t?(r.score=ft(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!F(t))return[];let r=[];if(A(t))t.forEach(({v:t,i,n:a})=>{if(!F(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;t<e.length;t++)n|=e[t].matchedMask||0;return n===2**t-1}let n=new Set;for(let t=0;t<e.length;t++){let r=e[t].matchedTerms;if(r)for(let e of r)n.add(e)}return n.size===t}};$.version=`7.4.2`,$.createIndex=Be,$.parseIndex=Ve,$.config=q,$.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(H);return at(e,{...q,...n}).searchIn(t)},$.parseQuery=dt,it(nt),it(St),$.use=function(...e){e.forEach(e=>it(e))};var kt=$,At=d(`<button role="menuitem" class="svelte-3625lw">Rename…</button>`),jt=d(`<div class="context-menu svelte-3625lw" role="menu" aria-label="Asset actions" tabindex="-1"><!> <button class="danger svelte-3625lw" role="menuitem"> </button></div>`);function Mt(t,n){x(n,!0);let r=_(()=>Math.max(8,Math.min(n.x,window.innerWidth-176))),a=_(()=>n.onRename?2:1),o=_(()=>Math.max(8,Math.min(n.y,window.innerHeight-(f(a)*32+8))));function s(e){e(),n.onClose()}var d=jt();u(`click`,h,function(...e){n.onClose?.apply(this,e)}),u(`blur`,h,function(...e){n.onClose?.apply(this,e)}),u(`keydown`,h,e=>e.key===`Escape`&&n.onClose()),u(`resize`,h,function(...e){n.onClose?.apply(this,e)}),u(`scroll`,h,function(...e){n.onClose?.apply(this,e)});let p;var v=g(d),y=e=>{var t=At();l(`click`,t,()=>s(n.onRename)),i(e,t)};D(v,e=>{n.onRename&&e(y)});var b=c(v,2),S=g(b,!0);w(b),w(d),O(()=>{p=C(d,``,p,{left:`${f(r)}px`,top:`${f(o)}px`}),m(S,n.assetCount===1?`Delete Asset`:`Delete ${n.assetCount} Assets`)}),l(`contextmenu`,d,e=>e.preventDefault()),l(`click`,b,()=>s(n.onDelete)),i(t,d),e()}T([`contextmenu`,`click`]);var Nt=d(`<span class="emoji svelte-19j400l"> </span>`),Pt=d(`<span><!> <span class="name svelte-19j400l"> </span></span>`);function Ft(t,n){x(n,!0);let r=te(n,`variant`,3,`chip`),a=te(n,`passive`,3,!1),o=te(n,`via`,19,()=>[]),s=_(()=>k.manifestAppearance(n.name)),l=_(()=>f(s).color??`var(--accent)`),u=_(()=>a()?`${n.name} — passive member${o().length>0?`, via ${o().join(`, `)}`:``}`:n.name);var d=Pt();let p;var h=g(d),v=e=>{var t=Nt(),n=g(t,!0);w(t),O(()=>m(n,f(s).emoji)),i(e,t)};D(h,e=>{f(s).emoji&&e(v)});var y=c(h,2),b=g(y,!0);w(y),w(d),O(()=>{p=ee(d,1,`manifest-label ${r()??``}`,`svelte-19j400l`,p,{passive:a()}),C(d,`--manifest-color: ${f(l)??``}`),E(d,`title`,f(u)),m(b,n.name)}),i(t,d),e()}var It=d(`<span class="selection-summary svelte-1uha8ag"> </span> <button class="control">Select all shown</button> <button class="control">Clear</button>`,1),Lt=d(`<button class="control">Select All</button>`),Rt=d(`<option> </option>`),zt=d(`<div class="empty svelte-1uha8ag">Loading library…</div>`),Bt=d(`<div class="empty svelte-1uha8ag"> </div>`),Vt=d(`<button draggable="true"><span class="folder-card-icon svelte-1uha8ag"><!></span> <span class="folder-card-details svelte-1uha8ag"><strong class="svelte-1uha8ag"> </strong> <span class="svelte-1uha8ag"> </span></span> <span class="folder-card-arrow svelte-1uha8ag">›</span></button>`),Ht=d(`<section class="section folder-section svelte-1uha8ag"><!> <div class="folder-grid svelte-1uha8ag"></div></section>`),Ut=d(`<span class="section-emoji svelte-1uha8ag"> </span>`),Wt=d(`<!> `,1),Gt=d(`<video playsinline="" preload="metadata" class="svelte-1uha8ag"></video>`,2),Kt=d(`<img loading="lazy" class="svelte-1uha8ag"/>`),qt=d(`<span class="badge warning svelte-1uha8ag">⚠</span>`),Jt=d(`<a draggable="true"><input class="asset-select svelte-1uha8ag" type="checkbox"/> <div class="thumbnail checkerboard svelte-1uha8ag"><!></div> <div class="meta svelte-1uha8ag"><span class="id svelte-1uha8ag"> </span> <span class="type-badge svelte-1uha8ag"> </span></div> <div class="badges svelte-1uha8ag"><!> <!> <!></div></a>`),Yt=d(`<section class="section svelte-1uha8ag"><!> <div class="grid svelte-1uha8ag"></div></section>`),Xt=d(`<!> <!>`,1),Zt=d(`<div class="drop-hint svelte-1uha8ag"> </div>`),Qt=d(`<p class="dialog-warning svelte-1uha8ag"> </p>`),$t=d(`<p class="dialog-warning svelte-1uha8ag">An asset with this ID already exists.</p>`),en=d(`<label class="dialog-row svelte-1uha8ag"><span class="svelte-1uha8ag">ID</span> <input class="control svelte-1uha8ag" spellcheck="false"/></label> <!> <!> <!> <!>`,1),tn=d(`<p class="dialog-text svelte-1uha8ag"> </p> <!> <!>`,1),nn=d(`<div class="library-view svelte-1uha8ag"><!> <div role="application" aria-label="Asset library — drop a file anywhere to import it"><div class="selection-bar svelte-1uha8ag"><!> <button class="control import svelte-1uha8ag">Import file</button> <input type="file" hidden=""/></div> <div class="filter-bar svelte-1uha8ag"><select class="control" aria-label="Sort"><option>Sort alphabetically</option><option>Sort by type</option><option>Sort by manifest</option></select> <select class="control" aria-label="Filter by type"><option>All types</option><!></select> <select class="control" aria-label="Filter by manifest"><option>All manifests</option><!></select> <div class="control search svelte-1uha8ag"><svg class="search-icon svelte-1uha8ag" viewBox="0 0 16 16" aria-hidden="true"><circle cx="7" cy="7" r="4.5"></circle><path d="m10.5 10.5 3 3"></path></svg> <input class="search-input svelte-1uha8ag" type="search" placeholder="Search assets and folders…" aria-label="Search assets and folders" spellcheck="false"/> <kbd class="svelte-1uha8ag"> </kbd></div> <label class="toggle svelte-1uha8ag"><input type="checkbox"/> Warnings only</label></div> <!> <!></div></div> <!> <!> <!> <!> <!>`,1);function rn(d,C){x(C,!0);let te=`fundus.gallery.sort`,T=`fundus.gallery.folder`;function A(){try{let e=localStorage.getItem(te);if(e===`type`||e===`manifest`||e===`alphabetical`)return e}catch{}return`alphabetical`}let Oe=v(re(A()));function ke(){try{let e=localStorage.getItem(T);return e===null||e===`__all__`?null:e}catch{return null}}let j=v(re(ke())),M=v(`all`),N=v(`all`),P=v(``),Ae=v(!1),F=v(!1),I=v(null),je=v(``),L=v(null),R=v(null),z=v(null),B=v(``),Me=v(void 0),V=v(re([])),H=v(null),U=v(null),W=v(!1),G=v(null),Ne=v(null),Pe=0,Fe=v(null),Ie=0,Le=v(null),Re=0,K=v(re([])),q=v(null),ze=v(void 0),J=v(void 0),Be=Te().join(`,`),Ve=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘K`:`Ctrl K`;n(()=>{try{localStorage.setItem(te,f(Oe))}catch{}}),n(()=>{try{localStorage.setItem(T,f(j)??`__all__`)}catch{}});let Y=_(()=>k.state?.assets??[]),He=_(()=>f(z)!==null&&f(B)!==f(z)?xe(f(B)):null),Ue=_(()=>f(z)!==null&&f(Y).some(e=>e.id!==f(z)&&e.id===f(B))),We=_(()=>f(z)!==null&&f(B)!==f(z)&&f(He)===null&&!f(Ue)&&!f(W)),Ge=_(()=>f(z)===null?[]:(f(Y).find(e=>e.id===f(z))?.references.incoming??[]).map(e=>`${e.assetId}.${e.field} → ${f(z)}`)),Ke=_(()=>new Set(f(V))),X=_(()=>f(V).flatMap(e=>(f(Y).find(t=>t.id===e)?.references.incoming??[]).filter(e=>!f(Ke).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e}`))),qe=_(()=>k.state?.library.folders??[]),Je=_(()=>k.manifestNames),Ye=_(()=>[...new Set(f(Y).map(e=>e.type))].sort()),Z=_(()=>f(P).trim()),Xe=_(()=>new kt(f(Y),{keys:[{name:`id`,weight:.5},{name:`raw`,weight:.2},{name:`folder`,weight:.1},{name:`manifests`,weight:.08},{name:`passiveManifests.manifest`,weight:.07},{name:`type`,weight:.05}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),Ze=_(()=>f(Z)===``?null:new Set(f(Xe).search(f(Z)).map(({item:e})=>e.id))),Qe=_(()=>f(qe).map(e=>({path:e,name:De(e)}))),$e=_(()=>new kt(f(Qe),{keys:[{name:`name`,weight:.7},{name:`path`,weight:.3}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),et=_(()=>f(Z)===``?null:new Set(f($e).search(f(Z)).map(({item:e})=>e.path))),tt=_(()=>f(j)===null?[]:f(qe).filter(e=>we(e)===f(j)).sort((e,t)=>e.localeCompare(t))),nt=_(()=>f(et)===null?f(tt):f(tt).filter(e=>f(et).has(e)));n(()=>{k.state&&f(j)!==null&&f(j)!==``&&!f(qe).includes(f(j))&&s(j,null)});let rt=_(()=>f(Y).filter(e=>!(f(j)!==null&&e.folder!==f(j)||f(Ze)!==null&&!f(Ze).has(e.id)||f(M)!==`all`&&e.type!==f(M)||f(N)!==`all`&&!e.manifests.includes(f(N))&&!e.passiveManifests.some(e=>e.manifest===f(N))||f(Ae)&&e.warnings.length===0))),it=(e,t)=>e.id.localeCompare(t.id),at=_(()=>{let e=[...f(rt)].sort(it);if(f(Oe)===`alphabetical`)return[{key:`all`,heading:null,assets:e}];if(f(Oe)===`type`)return[...new Set(e.map(e=>e.type))].sort().map(t=>({key:t,heading:t,assets:e.filter(e=>e.type===t)}));let t=[];for(let n of f(Je)){let r=e.filter(e=>e.manifests.includes(n)||e.passiveManifests.some(e=>e.manifest===n));r.length>0&&t.push({key:n,heading:n,emoji:k.manifestAppearance(n).emoji,assets:r})}let n=e.filter(e=>e.manifests.length===0&&e.passiveManifests.length===0);return n.length>0&&t.push({key:`__no-manifest__`,heading:`No manifest`,assets:n}),t}),Q=_(()=>[...new Set(f(at).flatMap(e=>e.assets.map(e=>e.id)))]);n(()=>{let e=new Set(f(Y).map(e=>e.id)),t=f(K).filter(t=>e.has(t));t.length!==f(K).length&&s(K,t,!0)});function ot(e){s(j,e,!0),s(K,[],!0),s(q,null)}function st(e,t){if(t&&f(q)!==null){let t=f(Q).indexOf(f(q)),n=f(Q).indexOf(e);if(t!==-1&&n!==-1){let r=Math.min(t,n),i=Math.max(t,n);s(K,[...new Set([...f(K),...f(Q).slice(r,i+1)])],!0),s(q,e,!0);return}}s(K,f(K).includes(e)?f(K).filter(t=>t!==e):[...f(K),e],!0),s(q,e,!0)}function ct(){s(K,[...f(Q)],!0),s(q,f(Q).at(-1)??null,!0)}function lt(e,t){if(!e.dataTransfer||t.length<2)return;let n=[...document.querySelectorAll(`.card[data-asset-id]`)],r=t.map(e=>n.find(t=>t.dataset.assetId===e)).filter(e=>e!==void 0);if(r.length<2)return;let i=document.createElement(`div`),a=44/(r.length-1),o=Math.min(r[0].offsetWidth,180),s=r[0].offsetHeight;Object.assign(i.style,{position:`fixed`,left:`-10000px`,top:`-10000px`,width:`${o+44}px`,height:`${s+44}px`,pointerEvents:`none`});for(let[e,t]of r.entries()){let n=t.cloneNode(!0);n.querySelector(`.asset-select`)?.remove(),n.removeAttribute(`href`),n.setAttribute(`aria-hidden`,`true`),Object.assign(n.style,{position:`absolute`,left:`${e*a}px`,top:`${e*a}px`,width:`${o}px`,height:`${s}px`,boxSizing:`border-box`,opacity:`1`}),i.append(n)}let c=document.createElement(`span`);c.textContent=String(t.length),Object.assign(c.style,{position:`absolute`,right:`0`,top:`0`,minWidth:`28px`,height:`28px`,padding:`0 7px`,boxSizing:`border-box`,borderRadius:`14px`,background:`var(--accent)`,color:`var(--text)`,font:`600 13px/28px system-ui, sans-serif`,textAlign:`center`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.35)`}),i.append(c),document.body.append(i),e.dataTransfer.setDragImage(i,24,24),requestAnimationFrame(()=>i.remove())}function ut(e){e.preventDefault(),s(F,!1);let t=e.dataTransfer?.files?.[0];t&&(s(je,f(j)??``,!0),s(I,t,!0))}function dt(e){s(je,e,!0),f(ze)?.click()}function ft(e){Pe+=1,s(Ne,{id:Pe,parent:e},!0)}function pt(e){Ie+=1,s(Fe,{id:Ie,path:e},!0)}function mt(e){Re+=1,s(Le,{id:Re,path:e},!0)}function ht(e){e.preventDefault(),s(R,null),s(L,{x:e.clientX,y:e.clientY,parent:f(j)??``,renamePath:null},!0)}function gt(e,t){e.preventDefault(),e.stopPropagation(),s(R,null),s(L,{x:e.clientX,y:e.clientY,parent:t,renamePath:t},!0)}function _t(e,t){e.preventDefault(),e.stopPropagation(),s(L,null);let n=f(K).includes(t)?[...f(K)]:[t];f(K).includes(t)||(s(K,[t],!0),s(q,t,!0)),s(R,{x:e.clientX,y:e.clientY,assetIds:n},!0)}function vt(e){s(z,e,!0),s(B,e,!0),s(G,null),o().then(()=>{f(Me)?.focus(),f(Me)?.select()})}function yt(e){s(V,[...new Set(e)],!0),s(G,null)}function bt(){f(W)||(s(z,null),s(V,[],!0),s(G,null))}async function xt(){if(!f(We)||f(z)===null)return;let e=f(z),t=f(B);s(W,!0),s(G,null);try{await k.mutate(()=>fe(e,{renameTo:t})),s(K,f(K).map(n=>n===e?t:n),!0),s(q,f(q)===e?t:f(q),!0),s(z,null)}catch(e){s(G,e instanceof Error?e.message:String(e),!0)}finally{s(W,!1)}}async function St(){if(f(V).length===0)return;let e=[...f(V)];s(W,!0),s(G,null);try{await k.mutate(()=>le(e));let t=new Set(e);s(K,f(K).filter(e=>!t.has(e)),!0),f(q)!==null&&t.has(f(q))&&s(q,null),s(V,[],!0)}catch(e){s(G,e instanceof Error?e.message:String(e),!0)}finally{s(W,!1)}}function Ct(e){return f(Y).filter(t=>t.folder===e).length}function wt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&s(I,n,!0)}async function Tt(e){s(I,null),await ce(se(`/asset/[id]`,{id:e}))}async function Et(e,t){let n=e.filter(e=>k.assetById(e)?.folder!==t);if(n.length!==0)try{await k.mutate(()=>ue(n,t)),s(K,[],!0),s(q,null)}catch{}}function Dt(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,r=me(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,f(H),t);!n&&!r||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),s(U,t,!0))}function Ot(e,t){e.preventDefault(),s(U,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`)&&Et(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`);r&&pe(r,t)&&$(r,t)}async function $(e,t){let n=Ce(t,De(e));try{await k.mutate(()=>de(e,t)),f(j)!==null&&Se(f(j),e)&&ot(`${n}${f(j).slice(e.length)}`)}catch{}finally{s(H,null),s(U,null)}}function At(e){e&&e.play().catch(()=>{})}function jt(e){e&&(e.pause(),e.currentTime=0)}function Nt(e){e.defaultPrevented||e.altKey||e.shiftKey||!e.metaKey&&!e.ctrlKey||e.key.toLowerCase()!==`k`||document.querySelector(`[role="dialog"]`)!==null||(e.preventDefault(),f(J)?.focus(),f(J)?.select())}var Pt=nn();u(`keydown`,h,Nt),u(`dragenter`,h,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),s(F,!0))}),u(`dragover`,h,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),s(F,!0))}),u(`drop`,h,ut);var rn=a(Pt),an=g(rn);ge(an,{get selectedFolder(){return f(j)},get createRequest(){return f(Ne)},get renameRequest(){return f(Fe)},get deleteRequest(){return f(Le)},onSelect:ot,onMoveAssets:(e,t)=>void Et(e,t),get sharedDraggedFolder(){return f(H)},onFolderDragStart:e=>s(H,e,!0),onFolderDragEnd:()=>s(H,null),onContextMenu:(e,t,n,r)=>{s(R,null),s(L,{x:e,y:t,parent:n,renamePath:r},!0)}});var on=c(an,2);let sn;var cn=g(on),ln=g(cn),un=e=>{var t=It(),n=a(t),r=g(n);w(n);var o=c(n,2),u=c(o,2);O(()=>m(r,`${f(K).length??``} selected`)),l(`click`,o,ct),l(`click`,u,()=>{s(K,[],!0),s(q,null)}),i(e,t)},dn=e=>{var t=Lt();O(()=>t.disabled=f(Q).length===0),l(`click`,t,ct),i(e,t)};D(ln,e=>{f(K).length>0?e(un):e(dn,-1)});var fn=c(ln,2),pn=c(fn,2);y(pn,e=>s(ze,e),()=>f(ze)),w(cn);var mn=c(cn,2),hn=g(mn),gn=g(hn);gn.value=gn.__value=`alphabetical`;var _n=c(gn);_n.value=_n.__value=`type`;var vn=c(_n);vn.value=vn.__value=`manifest`,w(hn);var yn=c(hn,2),bn=g(yn);bn.value=bn.__value=`all`,p(c(bn),16,()=>f(Ye),e=>e,(e,t)=>{var n=Rt(),r=g(n,!0);w(n);var a={};O(()=>{m(r,t),a!==(a=t)&&(n.value=(n.__value=t)??``)}),i(e,n)}),w(yn);var xn=c(yn,2),Sn=g(xn);Sn.value=Sn.__value=`all`,p(c(Sn),16,()=>f(Je),e=>e,(e,t)=>{let n=_(()=>k.manifestAppearance(t).emoji);var r=Rt(),a=g(r,!0);w(r);var o={};O(()=>{m(a,f(n)?`${f(n)} ${t}`:t),o!==(o=t)&&(r.value=(r.__value=t)??``)}),i(e,r)}),w(xn);var Cn=c(xn,2),wn=c(g(Cn),2);b(wn),y(wn,e=>s(J,e),()=>f(J));var Tn=c(wn,2),En=g(Tn,!0);w(Tn),w(Cn);var Dn=c(Cn,2),On=g(Dn);b(On),ie(),w(Dn),w(mn);var kn=c(mn,2),An=e=>{i(e,zt())},jn=e=>{var t=Bt(),n=g(t,!0);w(t),O(()=>m(n,f(Y).length===0?`No assets yet — drop an image anywhere to import it.`:`Nothing matches the current filters.`)),i(e,t)},Mn=e=>{var n=Xt(),o=a(n),d=e=>{var n=Ht(),r=g(n);_e(r,{children:(e,n)=>{ie(),i(e,t(`Folders`))},$$slots:{default:!0}});var a=c(r,2);p(a,20,()=>f(nt),e=>e,(e,t)=>{var n=Vt();let r;var a=g(n);ve(g(a),{size:18}),w(a);var o=c(a,2),d=g(o),p=g(d,!0);w(d);var h=c(d,2),_=g(h);w(h),w(o),ie(2),w(n),O((e,i)=>{r=ee(n,1,`folder-card svelte-1uha8ag`,null,r,{"drop-target":f(U)===t,"dragging-folder":f(H)===t}),m(p,e),m(_,`${i??``} assets`)},[()=>De(t),()=>Ct(t)]),l(`click`,n,()=>ot(t)),l(`contextmenu`,n,e=>gt(e,t)),u(`dragstart`,n,e=>{s(H,t,!0),e.dataTransfer?.setData(`application/x-fundus-folder`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),u(`dragend`,n,()=>{s(H,null),s(U,null)}),u(`dragover`,n,e=>Dt(e,t)),u(`dragleave`,n,()=>s(U,null)),u(`drop`,n,e=>Ot(e,t)),i(e,n)}),w(a),w(n),i(e,n)};D(o,e=>{f(nt).length>0&&e(d)});var h=c(o,2),v=e=>{var t=r();p(a(t),17,()=>f(at),e=>e.key,(e,t)=>{var n=Yt(),r=g(n),o=e=>{_e(e,{children:(e,n)=>{var r=Wt(),o=a(r),s=e=>{var n=Ut(),r=g(n,!0);w(n),O(()=>m(r,f(t).emoji)),i(e,n)};D(o,e=>{f(t).emoji&&e(s)});var l=c(o,1,!0);O(()=>m(l,f(t).heading)),i(e,r)},$$slots:{default:!0}})};D(r,e=>{f(t).heading&&e(o)});var s=c(r,2);p(s,21,()=>f(t).assets,e=>e.id,(e,t)=>{var n=Jt();let r;var a=g(n);b(a);var o=c(a,2),s=g(o),d=e=>{var n=Gt();n.muted=!0,O(()=>E(n,`src`,f(t).proxy?.url??f(t).rawUrl)),u(`pointerenter`,n,e=>At(e.currentTarget)),u(`pointerleave`,n,e=>jt(e.currentTarget)),i(e,n)},h=e=>{{let n=_(()=>f(t).proxy?.url??f(t).rawUrl);ye(e,{get src(){return f(n)}})}},v=e=>{var n=Kt();O(()=>{E(n,`src`,f(t).proxy?.url??f(t).rawUrl),E(n,`alt`,f(t).id)}),i(e,n)};D(s,e=>{f(t).type===`video`||f(t).type===`chroma-key-video`?e(d):f(t).type===`audio`?e(h,1):e(v,-1)}),w(o);var y=c(o,2),x=g(y),S=g(x,!0);w(x);var C=c(x,2),te=g(C,!0);w(C),w(y);var T=c(y,2),ne=g(T);p(ne,16,()=>f(t).manifests,e=>e,(e,t)=>{Ft(e,{get name(){return t}})});var re=c(ne,2);p(re,17,()=>f(t).passiveManifests,e=>e.manifest,(e,t)=>{Ft(e,{get name(){return f(t).manifest},passive:!0,get via(){return f(t).via}})}),p(c(re,2),16,()=>f(t).warnings,e=>e,(e,t)=>{var n=qt();O(()=>E(n,`title`,t)),i(e,n)}),w(T),w(n),O((e,i,o)=>{r=ee(n,1,`card svelte-1uha8ag`,null,r,e),E(n,`data-asset-id`,f(t).id),E(n,`href`,i),oe(a,o),E(a,`aria-label`,`Select ${f(t).id}`),m(S,f(t).id),m(te,f(t).type)},[()=>({selected:f(K).includes(f(t).id)}),()=>se(`/asset/[id]`,{id:f(t).id}),()=>f(K).includes(f(t).id)]),l(`contextmenu`,n,e=>_t(e,f(t).id)),l(`click`,n,e=>{(f(K).length>0||e.metaKey||e.ctrlKey||e.shiftKey)&&(e.preventDefault(),st(f(t).id,e.shiftKey))}),u(`dragstart`,n,e=>{let n=f(K).includes(f(t).id)?f(K):[f(t).id];e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify(n)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`),lt(e,n)}),u(`focus`,n,e=>At(e.currentTarget.querySelector(`video`))),u(`blur`,n,e=>jt(e.currentTarget.querySelector(`video`))),l(`click`,a,e=>{e.stopPropagation(),st(f(t).id,e.shiftKey)}),i(e,n)}),w(s),w(n),i(e,n)}),i(e,t)};D(h,e=>{f(rt).length>0&&e(v)}),i(e,n)};D(kn,e=>{k.state?f(rt).length===0&&f(nt).length===0?e(jn,1):e(Mn,-1):e(An)});var Nn=c(kn,2),Pn=e=>{var t=Zt(),n=g(t);w(t),O(()=>m(n,`Drop to import into ${(f(j)||`Root`)??``}`)),i(e,t)};D(Nn,e=>{f(F)&&e(Pn)}),w(on),w(rn);var Fn=c(rn,2),In=e=>{{let t=_(()=>f(L).renamePath===null?void 0:()=>pt(f(L)?.renamePath??``)),n=_(()=>f(L).renamePath===null?void 0:()=>mt(f(L)?.renamePath??``));be(e,{get x(){return f(L).x},get y(){return f(L).y},onNewDirectory:()=>ft(f(L)?.parent??``),get onRenameDirectory(){return f(t)},onImportFile:()=>dt(f(L)?.parent??``),get onDeleteDirectory(){return f(n)},onClose:()=>s(L,null)})}};D(Fn,e=>{f(L)&&e(In)});var Ln=c(Fn,2),Rn=e=>{{let t=_(()=>f(R).assetIds.length===1?()=>vt(f(R)?.assetIds[0]??``):void 0);Mt(e,{get x(){return f(R).x},get y(){return f(R).y},get assetCount(){return f(R).assetIds.length},get onRename(){return f(t)},onDelete:()=>yt(f(R)?.assetIds??[]),onClose:()=>s(R,null)})}};D(Ln,e=>{f(R)&&e(Rn)});var zn=c(Ln,2),Bn=e=>{{let t=_(()=>f(W)?`Renaming…`:`Rename`),n=_(()=>!f(We));Ee(e,{title:`Rename asset`,get confirmLabel(){return f(t)},get confirmDisabled(){return f(n)},get busy(){return f(W)},onConfirm:()=>void xt(),onCancel:bt,children:(e,t)=>{var n=en(),r=a(n),o=c(g(r),2);b(o),y(o,e=>s(Me,e),()=>f(Me)),w(r);var u=c(r,2),d=e=>{var t=Qt(),n=g(t,!0);w(t),O(()=>m(n,f(He))),i(e,t)};D(u,e=>{f(He)&&e(d)});var p=c(u,2),h=e=>{i(e,$t())};D(p,e=>{f(Ue)&&e(h)});var _=c(p,2),v=e=>{var t=Qt(),n=g(t);w(t),O(e=>m(n,`Renaming leaves ${f(Ge).length??``} reference(s) pointing to the old ID:
2
- ${e??``}`),[()=>f(Ge).join(`, `)]),i(e,t)};D(_,e=>{f(Ge).length>0&&e(v)});var x=c(_,2),S=e=>{var t=Qt(),n=g(t,!0);w(t),O(()=>m(n,f(G))),i(e,t)};D(x,e=>{f(G)&&e(S)}),O(()=>o.disabled=f(W)),l(`keydown`,o,e=>e.key===`Enter`&&void xt()),ae(o,()=>f(B),e=>s(B,e)),i(e,n)},$$slots:{default:!0}})}};D(zn,e=>{f(z)!==null&&e(Bn)});var Vn=c(zn,2),Hn=e=>{{let t=_(()=>f(V).length===1?`Delete asset`:`Delete ${f(V).length} assets`),n=_(()=>f(W)?`Deleting…`:f(V).length===1?`Delete asset`:`Delete ${f(V).length} assets`);Ee(e,{get title(){return f(t)},get confirmLabel(){return f(n)},danger:!0,get busy(){return f(W)},onConfirm:()=>void St(),onCancel:bt,children:(e,t)=>{var n=tn(),r=a(n),o=g(r);w(r);var s=c(r,2),l=e=>{var t=Qt(),n=g(t);w(t),O(e=>m(n,`This leaves ${f(X).length??``} external reference(s) dangling:
3
- ${e??``}`),[()=>f(X).join(`, `)]),i(e,t)};D(s,e=>{f(X).length>0&&e(l)});var u=c(s,2),d=e=>{var t=Qt(),n=g(t,!0);w(t),O(()=>m(n,f(G))),i(e,t)};D(u,e=>{f(G)&&e(d)}),O(e=>m(o,`Delete ${e??``}? Their raw files and proxies are removed.`),[()=>f(V).join(`, `)]),i(e,n)},$$slots:{default:!0}})}};D(Vn,e=>{f(V).length>0&&e(Hn)});var Un=c(Vn,2),Wn=e=>{he(e,{get file(){return f(I)},get folder(){return f(je)},onDone:e=>void Tt(e),onCancel:()=>s(I,null)})};D(Un,e=>{f(I)&&e(Wn)}),O(()=>{sn=ee(on,1,`page svelte-1uha8ag`,null,sn,{dragging:f(F)}),E(pn,`accept`,Be),m(En,Ve)}),l(`contextmenu`,on,ht),u(`dragleave`,on,e=>{e.relatedTarget===null&&s(F,!1)}),l(`click`,fn,()=>dt(f(j)??``)),l(`change`,pn,wt),S(hn,()=>f(Oe),e=>s(Oe,e)),S(yn,()=>f(M),e=>s(M,e)),S(xn,()=>f(N),e=>s(N,e)),l(`keydown`,wn,e=>{e.key===`Escape`&&(e.stopPropagation(),f(P)===``?e.currentTarget.blur():s(P,``))}),ae(wn,()=>f(P),e=>s(P,e)),ne(On,()=>f(Ae),e=>s(Ae,e)),i(d,Pt),e()}T([`contextmenu`,`click`,`change`,`keydown`]);export{rn as component};
@@ -1,104 +0,0 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,G as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,S as m,T as h,U as g,W as _,X as v,Y as y,_ as b,a as x,b as S,c as C,d as w,et as T,g as E,h as D,i as O,it as k,j as A,k as j,l as M,m as N,n as P,nt as F,p as I,q as L,rt as R,u as z,w as B,x as ee,y as V,z as H}from"../chunks/CNRz3sSw.js";import{c as U,t as W}from"../chunks/DjvOiDmq.js";import"../chunks/xihTtKlq.js";import{t as te}from"../chunks/BfPE5wdt.js";import{c as ne,i as re,t as G,u as ie}from"../chunks/CO4RBJfa.js";import{c as ae,l as oe,n as se,o as K,s as ce,t as le}from"../chunks/n7mvYc42.js";import{C as q,S as ue,a as de,b as fe,c as pe,h as me,i as he,m as ge,o as _e,s as ve,y as ye}from"../chunks/Cx6qtxJg.js";import{n as be,r as J,t as xe}from"../chunks/DjdrdRzT.js";var Se=new Map;function Ce(e){return Se.get(e)?.resources?.objectUrl??e}var we=new Set([`image`,`slice`]),Te=new Set([`video`,`chroma-key-video`,`audio`]);function Ee(e,t){return we.has(e)?t[e]?.decode??!0:!1}async function De(e){let t=await fetch(e);if(!t.ok)throw Error(`Preloading "${e}" failed: ${t.status} ${t.statusText}.`);return t}function Oe(e){return{async preload(t,n){if(await(await De(t)).arrayBuffer(),Ee(e,n)&&typeof globalThis.Image==`function`){let e=new globalThis.Image;e.src=t,await e.decode()}return{}}}}var ke={async preload(e){let t=await(await De(e)).blob();return typeof URL.createObjectURL==`function`?{objectUrl:URL.createObjectURL(t)}:{}},release(e){e.objectUrl!==void 0&&typeof URL.revokeObjectURL==`function`&&URL.revokeObjectURL(e.objectUrl)}};new Map([[`image`,Oe(`image`)],[`slice`,Oe(`slice`)],...[...Te].map(e=>[e,ke])]);var Ae=f(`<img/>`);function je(t,n){T(n,!0);let r=O(n,`alt`,3,``),i=O(n,`class`,3,``);var o=Ae();H(()=>{M(o,`src`,n.src.src),M(o,`width`,n.src.width),M(o,`height`,n.src.height),M(o,`alt`,r()),E(o,1,b(i()))}),a(t,o),e()}function Me(e,t,n){return Math.max(t,Math.min(n,e))}function Ne(e){let{mode:t,insets:n}=e.slicing,r=fe(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 Pe(e){let t=e.slicing.overdraw;if(!t)return pe();let n=e.sourceWidth,r=e.sourceHeight,i=Me(t.left,0,Math.max(0,n-1)),a=Me(t.right,0,Math.max(0,n-i-1)),o=Me(t.top,0,Math.max(0,r-1));return{top:o,right:a,bottom:Me(t.bottom,0,Math.max(0,r-o-1)),left:i}}function Fe(e){let t=Pe(e);return{width:Math.max(1,e.sourceWidth-t.left-t.right),height:Math.max(1,e.sourceHeight-t.top-t.bottom)}}function Ie(e,t,n){let r=Pe(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=Fe(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 Le(e,t,n,r){let i=Ie(e,t,n),a=t+i.left+i.right,o=n+i.top+i.bottom;return{cssLeft:-i.left+0,cssTop:-i.top+0,cssWidth:a,cssHeight:o,backingWidth:Math.round(a*r),backingHeight:Math.round(o*r),originX:i.left*r,originY:i.top*r}}function Re(e){let t=0,n=[0];for(let r of e)t+=r,n.push(Math.round(t));return n}function Y(e,t,n){if(t<=0||n<=0)return[];let r=Ie(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=Ne(e),d=Me(u.left,0,o),f=Me(u.right,0,Math.max(0,o-d)),p=Me(u.top,0,s),m=Me(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=Re([_,y,v]),O=Re([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 ze(e,t){let n=new ResizeObserver(n=>{let r=n[0]?.borderBoxSize?.[0];t(Math.round(r?.inlineSize??e.offsetWidth),Math.round(r?.blockSize??e.offsetHeight))});return n.observe(e),()=>n.disconnect()}var Be=f(`<div class="fundus-slice__cell svelte-13uxsex"><img alt="" draggable="false" class="svelte-13uxsex"/></div>`),Ve=f(`<div></div>`);function He(t,r){T(r,!0);let i=O(r,`alt`,3,``),o=O(r,`class`,3,``),c=y(void 0),l=y(0),u=y(0);n(()=>{let e=p(c);if(e)return ze(e,(e,t)=>{s(l,e,!0),s(u,t,!0)})});let d=v(()=>Y(r.src,p(l),p(u))),f=v(()=>{let e=Pe(r.src);return e.top>0||e.right>0||e.bottom>0||e.left>0});var h=Ve();let g;m(h,21,()=>p(d),e=>e.key,(e,t)=>{var n=Be();let i;var o=_(n);let s;k(n),H(()=>{i=D(n,``,i,{left:`${p(t).dx??``}px`,top:`${p(t).dy??``}px`,width:`${p(t).dw??``}px`,height:`${p(t).dh??``}px`}),M(o,`src`,r.src.src),s=D(o,``,s,{width:`${r.src.sourceWidth/p(t).sw*100}%`,height:`${r.src.sourceHeight/p(t).sh*100}%`,left:`${-p(t).sx/p(t).sw*100}%`,top:`${-p(t).sy/p(t).sh*100}%`})}),a(e,n)}),k(h),x(h,e=>s(c,e),()=>p(c)),H(()=>{g=E(h,1,`fundus-slice ${o()??``}`,`svelte-13uxsex`,g,{"fundus-slice--overdraw":p(f)}),M(h,`role`,i()?`img`:void 0),M(h,`aria-label`,i()||void 0)}),a(t,h),e()}var X=f(`<div><canvas class="svelte-184b9sd"></canvas></div>`);function Ue(t,r){T(r,!0);let i=O(r,`alt`,3,``),o=O(r,`class`,3,``),c=y(void 0),l=y(void 0),u=y(void 0),f=y(0),m=y(0),h=y(1),b=y(0);n(()=>{let e=r.src.src,t=new Image,n=!1;return t.onload=()=>{n||s(u,t,!0)},t.src=e,()=>{n=!0,t.onload=null}}),n(()=>{let e=p(h),t=window.matchMedia(`(resolution: ${e}dppx)`),n=()=>{s(h,window.devicePixelRatio||1,!0)};return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}),n(()=>{let e=p(c);if(e)return ze(e,(e,t)=>{s(f,e,!0),s(m,t,!0)})});let S=v(()=>Le(r.src,p(f),p(m),p(h)));n(()=>{p(u),r.src,p(S),p(b),C()});function C(){let e=p(l),t=p(u);if(!e||!t)return;if(p(f)===0||p(m)===0){e.width=0,e.height=0;return}e.width=p(S).backingWidth,e.height=p(S).backingHeight;let n=e.getContext(`2d`);if(n){n.setTransform(p(h),0,0,p(h),p(S).originX,p(S).originY),n.clearRect(p(S).cssLeft,p(S).cssTop,p(S).cssWidth,p(S).cssHeight);for(let e of Y(r.src,p(f),p(m)))n.drawImage(t,e.sx,e.sy,e.sw,e.sh,e.dx,e.dy,e.dw,e.dh)}}var w=X();d(`resize`,g,()=>s(b,p(b)+1));var A=_(w);let j;x(A,e=>s(l,e),()=>p(l)),k(w),x(w,e=>s(c,e),()=>p(c)),H(()=>{E(w,1,`fundus-slice-canvas ${o()??``}`,`svelte-184b9sd`),M(w,`role`,i()?`img`:void 0),M(w,`aria-label`,i()||void 0),j=D(A,``,j,{left:`${p(S).cssLeft??``}px`,top:`${p(S).cssTop??``}px`,width:`${p(S).cssWidth??``}px`,height:`${p(S).cssHeight??``}px`})}),a(t,w),e()}function We(e,t){let n=O(t,`backend`,3,`dom`),r=O(t,`alt`,3,``),s=O(t,`class`,3,``);var c=i(),l=o(c),u=e=>{Ue(e,{get src(){return t.src},get alt(){return r()},get class(){return s()}})},d=e=>{He(e,{get src(){return t.src},get alt(){return r()},get class(){return s()}})};B(l,e=>{n()===`canvas`?e(u):e(d,-1)}),a(e,c)}var Ge=f(`<video playsinline="" preload="auto"></video>`,2);function Ke(t,r){T(r,!0);let i=O(r,`loop`,3,!1),o=O(r,`playing`,3,!0),s=O(r,`muted`,3,!0),c=O(r,`controls`,3,!1),l=O(r,`videoElement`,15),u=O(r,`class`,3,``),d=v(()=>Ce(r.src.src));n(()=>{let e=l();e&&(o()?e.play().catch(()=>{}):e.pause())});var f=Ge();x(f,e=>l(e),()=>l()),H(()=>{M(f,`src`,p(d)),M(f,`width`,r.src.width),M(f,`height`,r.src.height),f.loop=i(),f.muted=s(),f.controls=c(),E(f,1,b(u()))}),a(t,f),e()}var Z=`#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
- }`,qe=`#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 Je(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,Z)),e.attachShader(n,t(e.FRAGMENT_SHADER,qe)),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 Ye=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=Je(e),e.useProgram(this.#n);let t=t=>e.getUniformLocation(this.#n,t);this.#a={texelSize:t(`u_texelSize`),keyColor:t(`u_keyColor`),tintColor:t(`u_tintColor`),colorCutoff:t(`u_colorCutoff`),colorFeathering:t(`u_colorFeathering`),maskFeathering:t(`u_maskFeathering`),sharpening:t(`u_sharpening`),despill:t(`u_despill`),despillLuminanceAdd:t(`u_despillLuminanceAdd`)},e.uniform1i(e.getUniformLocation(this.#n,`u_texture`),0),e.uniform1i(e.getUniformLocation(this.#n,`u_mask`),1),e.uniform4f(this.#a.tintColor,1,1,1,1),this.#r=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this.#r),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW);let n=e.getAttribLocation(this.#n,`a_pos`);e.enableVertexAttribArray(n),e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),this.#i=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.#i),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),this.#o=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.#o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),this.#f(),e.disable(e.DEPTH_TEST),e.disable(e.BLEND),e.clearColor(0,0,0,0)}setMask(e){this.#s=e,this.#c||this.#f()}#f(){let e=this.#e;e.bindTexture(e.TEXTURE_2D,this.#o),this.#s?e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.#s):e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([255,255,255,255]))}draw(e,t){if(this.#c||e.videoWidth===0)return;let n=this.#e;(this.#t.width!==e.videoWidth||this.#t.height!==e.videoHeight)&&(this.#t.width=e.videoWidth,this.#t.height=e.videoHeight,n.viewport(0,0,e.videoWidth,e.videoHeight)),n.activeTexture(n.TEXTURE1),n.bindTexture(n.TEXTURE_2D,this.#o),n.activeTexture(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,this.#i),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),n.useProgram(this.#n),n.uniform2f(this.#a.texelSize,1/e.videoWidth,1/e.videoHeight),n.uniform3fv(this.#a.keyColor,t.keyColor),n.uniform1f(this.#a.colorCutoff,t.colorCutoff),n.uniform1f(this.#a.colorFeathering,t.colorFeathering),n.uniform1f(this.#a.maskFeathering,t.maskFeathering),n.uniform1f(this.#a.sharpening,t.sharpening),n.uniform1f(this.#a.despill,t.despill),n.uniform1f(this.#a.despillLuminanceAdd,t.despillLuminanceAdd),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_STRIP,0,4)}dispose(){this.#t.removeEventListener(`webglcontextlost`,this.#l),this.#t.removeEventListener(`webglcontextrestored`,this.#u);let e=this.#e;e.deleteBuffer(this.#r),e.deleteTexture(this.#i),e.deleteTexture(this.#o),e.deleteProgram(this.#n),e.getExtension(`WEBGL_lose_context`)?.loseContext()}},Xe=f(`<img alt="" class="svelte-13mzqtn"/>`),Q=f(`<canvas class="svelte-13mzqtn"></canvas> <video playsinline="" preload="auto" class="svelte-13mzqtn"></video>`,3),Ze=f(`<div><!></div>`);function Qe(t,r){T(r,!0);let l=O(r,`loop`,3,!0),u=O(r,`playing`,3,!0),d=O(r,`videoElement`,15),f=O(r,`class`,3,``),m=y(void 0),h=y(!1),g=null,v=0,b=!1;function C(){let e=d();g&&e&&e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&g.draw(e,r.src.chromaKey)}function w(){C(),b&&D()}function D(){let e=d();v=e.requestVideoFrameCallback?e.requestVideoFrameCallback(w):requestAnimationFrame(w)}function A(){b||(b=!0,D())}function j(){if(!b)return;b=!1;let e=d();e?.cancelVideoFrameCallback?e.cancelVideoFrameCallback(v):cancelAnimationFrame(v)}function N(){!u()||p(h)||d()?.play().catch(()=>{})}function F(){d()?.pause()}P(()=>{if(g=Ye.create(p(m)),!g){s(h,!0);return}let e=g,t=r.src.mask?.src;if(t){let n=new Image;n.src=t,n.decode().then(()=>{g===e&&e.setMask(n)}).catch(()=>{console.warn(`Failed to load chroma-key mask "${t}".`)})}return()=>{j(),e.dispose(),g=null}}),n(()=>{let e=d();if(!e)return;function t(){A()}function n(){j(),C()}function r(){b||C()}return e.addEventListener(`play`,t),e.addEventListener(`pause`,n),e.addEventListener(`ended`,n),e.addEventListener(`seeked`,r),()=>{e.removeEventListener(`play`,t),e.removeEventListener(`pause`,n),e.removeEventListener(`ended`,n),e.removeEventListener(`seeked`,r)}}),n(()=>{p(h)||(u()?N():F())}),n(()=>{let e=r.src.chromaKey;e.keyColor,e.colorCutoff,e.colorFeathering,e.maskFeathering,e.sharpening,e.despill,e.despillLuminanceAdd,b||C()});var I=Ze(),L=_(I),R=e=>{var t=i(),n=o(t),s=e=>{var t=i();S(o(t),()=>r.fallback),a(e,t)},c=e=>{var t=Xe();H(()=>M(t,`src`,r.src.fallback.src)),a(e,t)};B(n,e=>{r.fallback?e(s):r.src.fallback&&e(c,1)}),a(e,t)},z=e=>{var t=Q(),n=o(t);x(n,e=>s(m,e),()=>p(m));var i=c(n,2);i.muted=!0,x(i,e=>d(e),()=>d()),H(e=>{M(i,`src`,e),i.loop=l()},[()=>Ce(r.src.src)]),a(e,t)};B(L,e=>{p(h)?e(R):e(z,-1)}),k(I),H(()=>E(I,1,`fundus-chroma-key-video ${f()??``}`,`svelte-13mzqtn`)),a(t,I),e()}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"/>`,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"/>`},et=j(`<svg class="icon svelte-1eqehiz" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg>`);function $(e,t){var n=et();ee(n,()=>$e[t.name],!0),k(n),a(e,n)}function tt(e){if(e.scrubbedValue===null)return{};let t=e.startValue??e.min??0;return e.scrubbedValue===t?{rollbackTo:e.startValue}:{commit:e.scrubbedValue}}function nt(e,t){return t.coarse?e*10:t.fine?e*.1:e}function rt(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 it(e,t){let n=10**t;return Math.round(e*n)/n}function at(e){let t=nt(e.step,e.modifiers),n=it(e.startValue+e.deltaX*t,rt(t));return e.min!==void 0&&(n=Math.max(e.min,n)),e.max!==void 0&&(n=Math.min(e.max,n)),n}function ot(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=f(`<span class="scrub-surface svelte-5sfgfa" title="Drag to change — Shift: ×10, Alt: ×0.1" role="presentation" aria-hidden="true"></span>`),lt=f(`<span><input class="input svelte-5sfgfa" type="number"/> <!></span>`);function ut(t,r){T(r,!0);let i=O(r,`step`,3,1),o=O(r,`placeholder`,3,``),l=O(r,`allowNull`,3,!1),f=O(r,`align`,3,`left`),m=y(null),h=y(!1),b=y(null),S=v(()=>p(m)?.activated?p(m).currentValue:r.value);function D(e){return{coarse:e.shiftKey,fine:e.altKey}}function A(e){e.preventDefault(),ot(e.currentTarget,e),s(m,{pointerId:e.pointerId,startX:e.clientX,startValue:r.value,currentValue:null,activated:!1},!0)}function j(e){if(!p(m)||e.pointerId!==p(m).pointerId)return;let t=e.clientX-p(m).startX;if(!p(m).activated){if(Math.abs(t)<3)return;p(m).activated=!0,document.body.style.cursor=`ew-resize`}let n=at({startValue:p(m).startValue??r.min??0,deltaX:t,step:i(),modifiers:D(e),min:r.min,max:r.max});n!==p(m).currentValue&&(p(m).currentValue=n,r.onChange?.(n))}function N(e){if(!p(m)||e.pointerId!==p(m).pointerId)return;st(e.currentTarget,e.pointerId);let t=p(m).activated,n=p(m).startValue,i=p(m).currentValue;if(s(m,null),document.body.style.cursor=``,!t){I();return}let a=tt({startValue:n,scrubbedValue:i,min:r.min});a.commit===void 0?`rollbackTo`in a&&r.onChange?.(a.rollbackTo??null):r.onCommit(a.commit)}function P(){if(!p(m))return;let e=p(m).startValue,t=p(m).activated;s(m,null),document.body.style.cursor=``,t&&r.onChange?.(e)}function F(e){p(m)&&e.key===`Escape`&&(e.preventDefault(),P())}n(()=>()=>{p(m)&&(document.body.style.cursor=``)});function I(){s(h,!0),queueMicrotask(()=>{p(b)?.focus(),p(b)?.select()})}function L(e){let t=e.currentTarget.valueAsNumber;Number.isFinite(t)?r.onCommit(t):r.onCommit(l()?null:r.min??0)}function R(e){e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(e.currentTarget.value=p(S)===null?``:String(p(S)),e.currentTarget.blur())}var z=lt();d(`keydown`,g,F);let ee;var V=_(z);C(V),x(V,e=>s(b,e),()=>p(b));var U=c(V,2),W=e=>{var t=ct();u(`pointerdown`,t,A),u(`pointermove`,t,j),u(`pointerup`,t,N),d(`pointercancel`,t,P),a(e,t)};B(U,e=>{p(h)||e(W)}),k(z),H(()=>{ee=E(z,1,`scrub-number svelte-5sfgfa`,null,ee,{right:f()===`right`}),M(V,`aria-label`,r.ariaLabel),M(V,`min`,r.min),M(V,`max`,r.max),M(V,`step`,i()),M(V,`placeholder`,o()),w(V,p(S)??``)}),d(`focus`,V,()=>s(h,!0)),d(`blur`,V,()=>s(h,!1)),u(`change`,V,L),u(`keydown`,V,R),a(t,z),e()}A([`change`,`keydown`,`pointerdown`,`pointermove`,`pointerup`]);var dt=f(`<span class="caption svelte-dv122j"> </span>`),ft=f(`<span class="fill svelte-dv122j"></span>`),pt=f(`<div class="number-field svelte-dv122j"><!> <div class="number-input control svelte-dv122j"><!> <span class="icon-slot svelte-dv122j"><!></span> <!></div></div>`);function mt(e,n){let r=O(n,`step`,3,1),s=O(n,`placeholder`,3,``),l=O(n,`rangeFill`,3,!0),u=v(()=>!l()||n.min===void 0||n.max===void 0||n.value===null||n.max<=n.min?null:Math.max(0,Math.min(100,(n.value-n.min)/(n.max-n.min)*100)));var d=pt(),f=_(d),m=e=>{var t=dt(),r=_(t,!0);k(t),H(()=>h(r,n.caption)),a(e,t)};B(f,e=>{n.caption&&e(m)});var g=c(f,2),y=_(g),b=e=>{var t=ft();H(()=>D(t,`width: ${p(u)??``}%`)),a(e,t)};B(y,e=>{p(u)!==null&&e(b)});var x=c(y,2),C=_(x),w=e=>{var t=i();S(o(t),()=>n.icon),a(e,t)},T=e=>{var r=t();H(()=>h(r,n.label)),a(e,r)};B(C,e=>{n.icon?e(w):e(T,-1)}),k(x),ut(c(x,2),{get value(){return n.value},get min(){return n.min},get max(){return n.max},get step(){return r()},get placeholder(){return s()},allowNull:!0,get ariaLabel(){return n.label},get onChange(){return n.onChange},get onCommit(){return n.onCommit}}),k(g),k(d),H(()=>M(x,`title`,n.label)),a(e,d)}var ht=f(`<span class="caption svelte-14j49wg"> </span>`),gt=f(`<option> </option>`),_t=f(`<div class="select-field svelte-14j49wg"><!> <div class="select-input control svelte-14j49wg"><span class="icon-slot svelte-14j49wg"><!></span> <select class="svelte-14j49wg"></select></div></div>`);function vt(n,r){T(r,!0);var s=_t(),l=_(s),d=e=>{var t=ht(),n=_(t,!0);k(t),H(()=>h(n,r.caption)),a(e,t)};B(l,e=>{r.caption&&e(d)});var f=c(l,2),p=_(f),g=_(p),v=e=>{var t=i();S(o(t),()=>r.icon),a(e,t)},y=e=>{var n=t();H(e=>h(n,e),[()=>r.label.slice(0,1)]),a(e,n)};B(g,e=>{r.icon?e(v):e(y,-1)}),k(p);var b=c(p,2);m(b,20,()=>r.options,e=>e,(e,t)=>{var n=gt(),r=_(n,!0);k(n);var i={};H(()=>{h(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),a(e,n)}),k(b);var x;I(b),k(f),k(s),H(()=>{M(p,`title`,r.label),M(b,`aria-label`,r.label),x!==(x=r.value)&&(b.value=(b.__value=r.value)??``,N(b,r.value))}),u(`change`,b,e=>r.onChange(e.currentTarget.value)),a(n,s),e()}A([`change`]);var yt=f(`<p class="info svelte-19alfi"><!> <!> <br/> <span class="file svelte-19alfi"> </span></p>`),bt=f(`<p class="hint svelte-19alfi">No proxy yet — add the asset to a manifest to process it.</p>`),xt=f(`<section class="svelte-19alfi"><!> <!></section>`);function St(n,r){T(r,!0);let i=O(r,`showDimensions`,3,!1),o=O(r,`showDuration`,3,!1);var s=xt(),l=_(s);K(l,{children:(e,n)=>{R(),a(e,t(`Output`))},$$slots:{default:!0}});var u=c(l,2),d=e=>{var n=yt(),s=_(n),l=e=>{var n=t();H(()=>h(n,`${r.proxy.width??``} × ${r.proxy.height??``} px ·`)),a(e,n)};B(s,e=>{i()&&r.proxy.width!==void 0&&r.proxy.height!==void 0&&e(l)});var u=c(s,2),d=e=>{var n=t();H(e=>h(n,`${e??``} ·`),[()=>be(r.proxy.durationMs)]),a(e,n)};B(u,e=>{o()&&r.proxy.durationMs!==void 0&&e(d)});var f=c(u),p=c(f,3),m=_(p,!0);k(p),k(n),H(e=>{h(f,` ${e??``} `),h(m,r.proxy.fileName)},[()=>xe(r.proxy.fileSize)]),a(e,n)},f=e=>{a(e,bt())};B(u,e=>{r.proxy?e(d):e(f,-1)}),k(s),a(n,s),e()}var Ct=f(`<section class="svelte-1ukljmf"><!> <div class="field svelte-1ukljmf"><!></div> <div class="field svelte-1ukljmf"><!></div></section> <!>`,1);function wt(n,r){T(r,!0);let i=v(()=>q.validateParameters(r.parameters));function s(e){r.onParametersCommit(e)}function l(e){s({...p(i),preset:e})}function u(e){let{targetWidth:t,...n}=p(i);return e===null||!Number.isFinite(e)||e<=0?n:{...n,targetWidth:Math.round(e)}}function d(e,t){let n=u(e);t?s(n):r.onParametersChange(n)}var f=Ct(),m=o(f),h=_(m);K(h,{children:(e,n)=>{R(),a(e,t(`Image`))},$$slots:{default:!0}});var g=c(h,2);vt(_(g),{label:`Preset`,caption:`Preset`,get value(){return p(i).preset},get options(){return r.presetNames},onChange:l,icon:e=>{$(e,{name:`preset`})},$$slots:{icon:!0}}),k(g);var y=c(g,2),b=_(y);{let e=e=>{$(e,{name:`width`})},t=v(()=>p(i).targetWidth??null);mt(b,{label:`Target width`,caption:`Target width`,min:1,placeholder:`source`,get value(){return p(t)},onChange:e=>d(e,!1),onCommit:e=>d(e,!0),icon:e,$$slots:{icon:!0}})}k(y),k(m),St(c(m,2),{get proxy(){return r.asset.proxy},showDimensions:!0}),a(n,f),e()}var Tt=f(`<button> </button>`),Et=f(`<section class="svelte-1j6qy4a"><!> <div class="insets svelte-1j6qy4a"></div></section>`),Dt=f(`<section class="svelte-1j6qy4a"><!> <!></section>`),Ot=f(`<section class="svelte-1j6qy4a"><!> <div class="modes svelte-1j6qy4a"></div></section> <!> <section class="svelte-1j6qy4a"><!> <div class="insets svelte-1j6qy4a"></div></section> <!> <section class="svelte-1j6qy4a"><!> <div class="field"><!></div></section> <!>`,1);function kt(n,r){T(r,!0);let s=v(()=>ye.validateParameters(r.parameters)),l=v(()=>p(s).overdraw??pe()),d=[{value:`nine`,label:`9-slice`},{value:`three-horizontal`,label:`3-slice horizontal`},{value:`three-vertical`,label:`3-slice vertical`},{value:`one`,label:`No slicing`}],f=[{key:`top`,label:`Top`,icon:`arrow-up`,axis:`y`},{key:`right`,label:`Right`,icon:`arrow-right`,axis:`x`},{key:`bottom`,label:`Bottom`,icon:`arrow-down`,axis:`y`},{key:`left`,label:`Left`,icon:`arrow-left`,axis:`x`}];function g(e,t){let n=fe(t);return e===`x`?n.horizontal:n.vertical}let y=v(()=>r.asset.proxy?.width??2**53-1),b=v(()=>r.asset.proxy?.height??2**53-1);function x(e){r.onParametersCommit(e)}function S(e){x({...p(s),mode:e})}function C(e){return ge(p(s).insets,e,p(y),p(b))}function w(e,t,n){let i=Math.max(0,Math.min(C(e),Math.round(t??0))),a={...p(s),insets:{...p(s).insets,[e]:i}};n?x(a):r.onParametersChange(a)}function D(e){return me(p(l),e,p(y),p(b))}function O(e,t,n){let i=Math.max(0,Math.min(D(e),Math.round(t??0))),a={...p(s),overdraw:{...p(l),[e]:i}};n?x(a):r.onParametersChange(a)}function A(e,t){let n={...p(s),pixelRatio:Math.max(1,Math.round(e??1))};t?x(n):r.onParametersChange(n)}function j(e){x({...p(s),preset:e})}var M=Ot(),N=o(M),P=_(N);K(P,{children:(e,n)=>{R(),a(e,t(`Mode`))},$$slots:{default:!0}});var F=c(P,2);m(F,21,()=>d,e=>e.value,(e,t)=>{var n=Tt();let r;var i=_(n,!0);k(n),H(()=>{r=E(n,1,`svelte-1j6qy4a`,null,r,{on:p(s).mode===p(t).value}),h(i,p(t).label)}),u(`click`,n,()=>S(p(t).value)),a(e,n)}),k(F),k(N);var I=c(N,2),L=e=>{var n=Et(),r=_(n);K(r,{children:(e,n)=>{R(),a(e,t(`Insets (px)`))},$$slots:{default:!0}});var l=c(r,2);m(l,21,()=>f,e=>e.key,(e,t)=>{var n=i(),r=o(n),c=e=>{{let n=e=>{$(e,{get name(){return p(t).icon}})},r=v(()=>C(p(t).key));mt(e,{get label(){return p(t).label},min:0,get max(){return p(r)},rangeFill:!1,get value(){return p(s).insets[p(t).key]},onChange:e=>w(p(t).key,e,!1),onCommit:e=>w(p(t).key,e,!0),icon:n,$$slots:{icon:!0}})}},l=v(()=>g(p(t).axis,p(s).mode));B(r,e=>{p(l)&&e(c)}),a(e,n)}),k(l),k(n),a(e,n)};B(I,e=>{p(s).mode!==`one`&&e(L)});var z=c(I,2),ee=_(z);K(ee,{children:(e,n)=>{R(),a(e,t(`Overdraw (px)`))},$$slots:{default:!0}});var V=c(ee,2);m(V,21,()=>f,e=>e.key,(e,t)=>{{let n=e=>{$(e,{get name(){return p(t).icon}})},r=v(()=>D(p(t).key));mt(e,{get label(){return p(t).label},min:0,get max(){return p(r)},rangeFill:!1,get value(){return p(l)[p(t).key]},onChange:e=>O(p(t).key,e,!1),onCommit:e=>O(p(t).key,e,!0),icon:n,$$slots:{icon:!0}})}}),k(V),k(z);var U=c(z,2),W=e=>{var n=Dt(),r=_(n);K(r,{children:(e,n)=>{R(),a(e,t(`Pixel ratio`))},$$slots:{default:!0}}),mt(c(r,2),{label:`Factor`,min:1,get value(){return p(s).pixelRatio},onChange:e=>A(e,!1),onCommit:e=>A(e,!0),icon:e=>{$(e,{name:`ratio`})},$$slots:{icon:!0}}),k(n),a(e,n)};B(U,e=>{p(s).mode===`nine`&&e(W)});var te=c(U,2),ne=_(te);K(ne,{children:(e,n)=>{R(),a(e,t(`Output`))},$$slots:{default:!0}});var re=c(ne,2);vt(_(re),{label:`Preset`,caption:`Preset`,get value(){return p(s).preset},get options(){return r.presetNames},onChange:j,icon:e=>{$(e,{name:`preset`})},$$slots:{icon:!0}}),k(re),k(te),St(c(te,2),{get proxy(){return r.asset.proxy},showDimensions:!0}),a(n,M),e()}A([`click`]);var At=f(`<section class="svelte-dkn80h"><!> <div class="field svelte-dkn80h"><!></div> <div class="field svelte-dkn80h"><!></div></section> <!>`,1);function jt(n,r){T(r,!0);let i=v(()=>ue.validateParameters(r.parameters));function s(e){r.onParametersCommit(e)}function l(e){s({...p(i),preset:e})}function u(e,t){let n=J(p(i),e);t?s(n):r.onParametersChange(n)}var d=At(),f=o(d),m=_(f);K(m,{children:(e,n)=>{R(),a(e,t(`Video`))},$$slots:{default:!0}});var h=c(m,2);vt(_(h),{label:`Preset`,caption:`Preset`,get value(){return p(i).preset},get options(){return r.presetNames},onChange:l,icon:e=>{$(e,{name:`preset`})},$$slots:{icon:!0}}),k(h);var g=c(h,2),y=_(g);{let e=e=>{$(e,{name:`width`})},t=v(()=>p(i).maxWidth??null);mt(y,{label:`Max width`,caption:`Max width`,min:1,placeholder:`source`,get value(){return p(t)},onChange:e=>u(e,!1),onCommit:e=>u(e,!0),icon:e,$$slots:{icon:!0}})}k(g),k(f),St(c(f,2),{get proxy(){return r.asset.proxy},showDimensions:!0,showDuration:!0}),a(n,d),e()}var Mt=f(`<span class="caption svelte-18jiq7l"> </span>`),Nt=f(`<img class="preview svelte-18jiq7l" alt=""/>`),Pt=f(`<span class="missing-preview svelte-18jiq7l" title="References an unknown asset">!</span>`),Ft=f(`<span class="id svelte-18jiq7l"> </span>`),It=f(`<span class="id dangling svelte-18jiq7l" title="References an unknown asset"> </span>`),Lt=f(`<span class="placeholder svelte-18jiq7l"> </span>`),Rt=f(`<button class="clear svelte-18jiq7l">×</button>`),zt=f(`<p class="hint svelte-18jiq7l"> </p>`),Bt=f(`<button><img class="thumbnail svelte-18jiq7l" alt=""/> <span class="id svelte-18jiq7l"> </span></button>`),Vt=f(`<div class="dropdown svelte-18jiq7l"><!></div>`),Ht=f(`<div class="picker svelte-18jiq7l"><!> <div class="reference-input control svelte-18jiq7l"><button><span class="preview-slot svelte-18jiq7l"><!></span> <!></button> <!> <!></div></div>`);function Ut(t,n){T(n,!0);let r=y(!1),l=v(()=>(G.state?.assets??[]).filter(e=>n.expectedTypes.includes(e.type)&&e.id!==n.excludeAssetId)),d=v(()=>n.value?G.assetById(n.value.$asset):null);function f(e){s(r,!1),n.onChange({$asset:e})}function g(){s(r,!1),n.onChange(void 0)}var b=Ht(),x=_(b),S=e=>{var t=Mt(),r=_(t,!0);k(t),H(()=>h(r,n.caption)),a(e,t)};B(x,e=>{n.caption&&e(S)});var C=c(x,2),w=_(C);let D;var O=_(w),A=_(O),j=e=>{var t=Nt();H(()=>M(t,`src`,p(d).rawUrl)),a(e,t)},N=e=>{a(e,Pt())};B(A,e=>{n.value&&p(d)?e(j):n.value&&e(N,1)}),k(O);var P=c(O,2),F=e=>{var t=i(),r=o(t),s=e=>{var t=Ft(),n=_(t,!0);k(t),H(()=>h(n,p(d).id)),a(e,t)},c=e=>{var t=It(),r=_(t,!0);k(t),H(()=>h(r,n.value.$asset)),a(e,t)};B(r,e=>{p(d)?e(s):e(c,-1)}),a(e,t)},I=e=>{var t=Lt(),r=_(t);k(t),H(e=>h(r,`Select ${e??``}...`),[()=>n.expectedTypes.join(`/`)]),a(e,t)};B(P,e=>{n.value?e(F):e(I,-1)}),k(w);var L=c(w,2),R=e=>{var t=Rt();H(()=>M(t,`title`,`Clear ${n.label??``}`)),u(`click`,t,g),a(e,t)};B(L,e=>{n.value&&e(R)});var z=c(L,2),ee=e=>{var t=Vt(),r=_(t),s=e=>{var t=zt(),r=_(t);k(t),H(e=>h(r,`No ${e??``} assets in the library.`),[()=>n.expectedTypes.join(`/`)]),a(e,t)},d=e=>{var t=i();m(o(t),17,()=>p(l),e=>e.id,(e,t)=>{var r=Bt();let i;var o=_(r),s=c(o,2),l=_(s,!0);k(s),k(r),H(()=>{i=E(r,1,`option svelte-18jiq7l`,null,i,{selected:n.value?.$asset===p(t).id}),M(o,`src`,p(t).rawUrl),h(l,p(t).id)}),u(`click`,r,()=>f(p(t).id)),a(e,r)}),a(e,t)};B(r,e=>{p(l).length===0?e(s):e(d,-1)}),k(t),a(e,t)};B(z,e=>{p(r)&&e(ee)}),k(C),k(b),H(()=>{D=E(w,1,`current svelte-18jiq7l`,null,D,{empty:!n.value}),M(w,`title`,n.value?`Change ${n.label}`:`Select ${n.label}`)}),u(`click`,w,()=>s(r,!p(r))),a(t,b),e()}A([`click`]);var Wt=f(`<span class="caption svelte-4dtedr"> </span>`),Gt=f(`<div class="color-field svelte-4dtedr"><!> <div class="color-input control svelte-4dtedr"><span class="swatch-slot svelte-4dtedr"><input class="swatch svelte-4dtedr" type="color" title="Open color picker"/></span> <input class="hex-input svelte-4dtedr" type="text" maxlength="7" spellcheck="false"/></div></div>`);function Kt(t,n){T(n,!0);let r=y(null),i=/^#[0-9a-f]{6}$/i;function o(e){let t=e.startsWith(`#`)?e:`#${e}`;return i.test(t)?t.toUpperCase():null}function l(e){let t=e.currentTarget.value.toUpperCase();s(r,t,!0),n.onChange?.(t)}function f(e){let t=e.currentTarget.value.toUpperCase();s(r,t,!0),n.onCommit(t)}function m(e){s(r,e.currentTarget.value,!0);let t=o(p(r));t&&n.onChange?.(t)}function g(){let e=o(p(r)??n.value);e&&n.onCommit(e),s(r,null)}function v(e){e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(s(r,null),e.currentTarget.value=n.value,e.currentTarget.blur())}var b=Gt(),x=_(b),S=e=>{var t=Wt(),r=_(t,!0);k(t),H(()=>h(r,n.caption)),a(e,t)};B(x,e=>{n.caption&&e(S)});var E=c(x,2),D=_(E),O=_(D);C(O),k(D);var A=c(D,2);C(A),k(E),k(b),H(()=>{w(O,n.value),M(O,`aria-label`,`${n.label} color picker`),w(A,p(r)??n.value),M(A,`aria-label`,`${n.label} hex value`)}),u(`input`,O,l),u(`change`,O,f),d(`focus`,A,()=>s(r,n.value,!0)),u(`input`,A,m),d(`blur`,A,g),u(`keydown`,A,v),a(t,b),e()}A([`input`,`change`,`keydown`]);var qt=f(`<div class="field svelte-45ey1g"><!></div>`),Jt=f(`<section class="svelte-45ey1g"><!> <div class="field svelte-45ey1g"><!></div> <div class="field svelte-45ey1g"><!></div></section> <section class="svelte-45ey1g"><!> <div class="field svelte-45ey1g"><!></div> <!></section> <section class="svelte-45ey1g"><!> <!> <!></section> <!>`,1);function Yt(n,r){T(r,!0);let i=v(()=>ve.validateParameters(r.parameters));function s(e){r.onParametersCommit(e)}function l(e){s({...p(i),preset:e})}function u(e,t){let n=J(p(i),e);t?s(n):r.onParametersChange(n)}function d(e){return{...p(i),chromaKey:e}}let f=[{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 h(e,t,n){let a=d({...p(i).chromaKey,[e]:t});n?s(a):r.onParametersChange(a)}function g(e){return Math.round(Math.min(1,Math.max(0,e))*255).toString(16).padStart(2,`0`)}function y(e){return`#${g(e[0])}${g(e[1])}${g(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=d({...p(i).chromaKey,keyColor:b(e)});t?s(n):r.onParametersChange(n)}function S(e,t){let{[e]:n,...r}=p(i);s(t?{...r,[e]:t}:r)}var C=Jt(),w=o(C),E=_(w);K(E,{children:(e,n)=>{R(),a(e,t(`Video`))},$$slots:{default:!0}});var D=c(E,2);vt(_(D),{label:`Preset`,caption:`Preset`,get value(){return p(i).preset},get options(){return r.presetNames},onChange:l,icon:e=>{$(e,{name:`preset`})},$$slots:{icon:!0}}),k(D);var O=c(D,2),A=_(O);{let e=e=>{$(e,{name:`width`})},t=v(()=>p(i).maxWidth??null);mt(A,{label:`Max width`,caption:`Max width`,min:1,placeholder:`source`,get value(){return p(t)},onChange:e=>u(e,!1),onCommit:e=>u(e,!0),icon:e,$$slots:{icon:!0}})}k(O),k(w);var j=c(w,2),M=_(j);K(M,{children:(e,n)=>{R(),a(e,t(`Chroma key`))},$$slots:{default:!0}});var N=c(M,2),P=_(N);{let e=v(()=>y(p(i).chromaKey.keyColor));Kt(P,{label:`Key color`,caption:`Key color`,get value(){return p(e)},onChange:e=>x(e,!1),onCommit:e=>x(e,!0)})}k(N),m(c(N,2),17,()=>f,e=>e.key,(e,t)=>{var n=qt();mt(_(n),{get label(){return p(t).label},get caption(){return p(t).label},get min(){return p(t).min},get max(){return p(t).max},get step(){return p(t).step},get value(){return p(i).chromaKey[p(t).key]},onChange:e=>h(p(t).key,e??p(t).min,!1),onCommit:e=>h(p(t).key,e??p(t).min,!0),icon:e=>{$(e,{get name(){return p(t).icon}})},$$slots:{icon:!0}}),k(n),a(e,n)}),k(j);var F=c(j,2),I=_(F);K(I,{children:(e,n)=>{R(),a(e,t(`References`))},$$slots:{default:!0}});var L=c(I,2);Ut(L,{label:`Mask`,caption:`Mask`,get value(){return p(i).mask},expectedTypes:[`image`],get excludeAssetId(){return r.asset.id},onChange:e=>S(`mask`,e)}),Ut(c(L,2),{label:`Fallback`,caption:`Fallback`,get value(){return p(i).fallback},expectedTypes:[`image`],get excludeAssetId(){return r.asset.id},onChange:e=>S(`fallback`,e)}),k(F),St(c(F,2),{get proxy(){return r.asset.proxy},showDimensions:!0,showDuration:!0}),a(n,C),e()}var Xt=f(`<section class="svelte-czsds6"><!> <div class="field svelte-czsds6"><!></div></section> <!>`,1);function Zt(n,r){T(r,!0);let i=v(()=>_e.validateParameters(r.parameters));function s(e){let t={...p(i),preset:e};r.onParametersCommit(t)}var l=Xt(),u=o(l),d=_(u);K(d,{children:(e,n)=>{R(),a(e,t(`Audio`))},$$slots:{default:!0}});var f=c(d,2);vt(_(f),{label:`Preset`,caption:`Preset`,get value(){return p(i).preset},get options(){return r.presetNames},onChange:s,icon:e=>{$(e,{name:`preset`})},$$slots:{icon:!0}}),k(f),k(u),St(c(u,2),{get proxy(){return r.asset.proxy},showDuration:!0}),a(n,l),e()}var Qt={[q.type]:wt,[ye.type]:kt,[ue.type]:jt,[ve.type]:Yt,[_e.type]:Zt},$t=f(`<div></div>`),en=f(`<div class="overdraw-band svelte-j0tjy7"></div>`),tn=f(`<div role="slider" aria-label="Left slice line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div> <div role="slider" aria-label="Right slice line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div>`,1),nn=f(`<div role="slider" aria-label="Top slice line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div> <div role="slider" aria-label="Bottom slice line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div>`,1),rn=f(`<div class="canvas svelte-j0tjy7"><div class="toolbar svelte-j0tjy7"><button title="Zoom out" class="svelte-j0tjy7">−</button> <span class="zoom svelte-j0tjy7"> </span> <button title="Zoom in" class="svelte-j0tjy7">+</button> <button title="100%">1:1</button> <button>Fit</button> <span class="dims svelte-j0tjy7"> </span></div> <div role="application" aria-label="Slice canvas — drag to pan, pinch/⌘+scroll to zoom"><div class="image-wrap svelte-j0tjy7"><img alt="" draggable="false" class="svelte-j0tjy7"/> <!> <!> <!> <!> <!> <div role="slider" aria-label="Left overdraw line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div> <div role="slider" aria-label="Right overdraw line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div> <div role="slider" aria-label="Top overdraw line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div> <div role="slider" aria-label="Bottom overdraw line" tabindex="0"><span class="tag svelte-j0tjy7"> </span></div> <!> <!></div></div></div>`);function an(t,r){T(r,!0);let i=y(void 0),l=y(void 0),f=y(null),m=v(()=>fe(r.mode)),g=v(()=>p(m).horizontal),b=v(()=>p(m).vertical);function S(e,t){return p(f)?.target===e&&p(f).side===t}let C=y(`fit`),w=y(1),O=y(0),A=y(0),j=y(0),N=y(0),P=y(!1),F=new Map,I=null;function L(e){return Math.max(.05,Math.min(8,e))}n(()=>{let e=p(i);if(!e)return;let t=new ResizeObserver(()=>{s(j,e.clientWidth,!0),s(N,e.clientHeight,!0)});return t.observe(e),()=>t.disconnect()}),n(()=>{if(p(C)===`free`||r.width===0||r.height===0||p(j)===0||p(N)===0)return;let e=L(Math.min((p(j)-32)/r.width,(p(N)-32)/r.height));R(p(C)===`one`?1:e)});function R(e){s(w,e,!0),s(O,(p(j)-r.width*e)/2),s(A,(p(N)-r.height*e)/2)}function z(e,t){if(!p(i))return{x:e,y:t};let n=p(i).getBoundingClientRect();return{x:e-n.left-p(i).clientLeft,y:t-n.top-p(i).clientTop}}function ee(e,t,n){let r=L(e);s(O,t-(t-p(O))*(r/p(w))),s(A,n-(n-p(A))*(r/p(w))),s(w,r,!0),s(C,`free`)}function V(e,t,n){return Math.max(t,Math.min(n,Math.round(e)))}function U(){s(C,`fit`)}function W(){s(C,`one`)}function te(e){ee(p(w)*e,p(j)/2,p(N)/2)}function ne(){let[e,t]=[...F.values()];return{distance:Math.hypot(e.x-t.x,e.y-t.y),midX:(e.x+t.x)/2,midY:(e.y+t.y)/2}}function re(e){try{p(i)&&ot(p(i),e)}catch{}F.set(e.pointerId,{x:e.clientX,y:e.clientY}),F.size===2?I=ne():F.size===1&&s(P,!0)}function G(e){let t=F.get(e.pointerId);if(t)if(F.set(e.pointerId,{x:e.clientX,y:e.clientY}),F.size>=2&&I){let e=ne(),t=z(I.midX,I.midY);ee(p(w)*(e.distance/I.distance),t.x,t.y),s(O,p(O)+(e.midX-I.midX)),s(A,p(A)+(e.midY-I.midY)),I=e}else F.size===1&&(s(O,p(O)+(e.clientX-t.x)),s(A,p(A)+(e.clientY-t.y)),s(C,`free`))}function ie(e){F.delete(e.pointerId),F.size<2&&(I=null),F.size===0&&s(P,!1)}function ae(e){if(e.preventDefault(),e.ctrlKey||e.metaKey){let t=z(e.clientX,e.clientY);ee(p(w)*Math.exp(-e.deltaY*.01),t.x,t.y)}else s(O,p(O)-e.deltaX),s(A,p(A)-e.deltaY),s(C,`free`)}function oe(e,t,n){n.preventDefault(),n.stopPropagation(),s(f,{target:e,side:t},!0),ot(n.currentTarget,n)}function se(e){if(!p(f)||!p(l))return;let t=p(l).getBoundingClientRect(),n=(e.clientX-t.left)/p(w),i=(e.clientY-t.top)/p(w),{target:a,side:o}=p(f),s={...a===`inset`?r.insets:r.overdraw};o===`left`?s.left=V(n,0,ce(a,`left`)):o===`right`?s.right=V(r.width-n,0,ce(a,`right`)):o===`top`?s.top=V(i,0,ce(a,`top`)):o===`bottom`&&(s.bottom=V(r.height-i,0,ce(a,`bottom`))),a===`inset`?r.onChange(s):r.onOverdrawChange(s)}function K(e){let t=p(f)!==null;p(f)&&st(e.currentTarget,e.pointerId),s(f,null),t&&r.onCommit()}function ce(e,t){let n=e===`inset`?r.insets:r.overdraw;return e===`inset`?ge(n,t,r.width,r.height):me(n,t,r.width,r.height)}function le(e,t,n){let i=e===`inset`?r.insets:r.overdraw,a={...i};a[t]=V(i[t]+n,0,ce(e,t)),a[t]!==i[t]&&(e===`inset`?r.onChange(a):r.onOverdrawChange(a),r.onCommit())}function q(e,t,n,r){let i=r.shiftKey?10:1,a=n===`x`?`ArrowRight`:`ArrowUp`,o=n===`x`?`ArrowLeft`:`ArrowDown`;if(r.key===a)le(e,t,i);else if(r.key===o)le(e,t,-i);else return;r.preventDefault()}var ue=rn(),de=_(ue),pe=_(de),he=c(pe,2),_e=_(he);k(he);var ve=c(he,2),ye=c(ve,2);let be;var J=c(ye,2);let xe;var Se=c(J,2),Ce=_(Se);k(Se),k(de);var we=c(de,2);let Te;var Ee=_(we);let De;var Oe=_(Ee),ke=c(Oe,2),Ae=e=>{var t=$t();let n,i;H(()=>{n=E(t,1,`center-rect svelte-j0tjy7`,null,n,{"side-edges":!p(g),"cap-edges":!p(b)}),i=D(t,``,i,{left:`${(p(g)?r.insets.left:0)*p(w)}px`,top:`${(p(b)?r.insets.top:0)*p(w)}px`,right:`${(p(g)?r.insets.right:0)*p(w)}px`,bottom:`${(p(b)?r.insets.bottom:0)*p(w)}px`})}),a(e,t)};B(ke,e=>{(p(g)||p(b))&&e(Ae)});var je=c(ke,2),Me=e=>{var t=en();let n;H(()=>n=D(t,``,n,{left:`0`,top:`0`,bottom:`0`,width:`${r.overdraw.left*p(w)}px`})),a(e,t)};B(je,e=>{r.overdraw.left>0&&e(Me)});var Ne=c(je,2),Pe=e=>{var t=en();let n;H(()=>n=D(t,``,n,{right:`0`,top:`0`,bottom:`0`,width:`${r.overdraw.right*p(w)}px`})),a(e,t)};B(Ne,e=>{r.overdraw.right>0&&e(Pe)});var Fe=c(Ne,2),Ie=e=>{var t=en();let n;H(()=>n=D(t,``,n,{top:`0`,left:`${r.overdraw.left*p(w)}px`,right:`${r.overdraw.right*p(w)}px`,height:`${r.overdraw.top*p(w)}px`})),a(e,t)};B(Fe,e=>{r.overdraw.top>0&&e(Ie)});var Le=c(Fe,2),Re=e=>{var t=en();let n;H(()=>n=D(t,``,n,{bottom:`0`,left:`${r.overdraw.left*p(w)}px`,right:`${r.overdraw.right*p(w)}px`,height:`${r.overdraw.bottom*p(w)}px`})),a(e,t)};B(Le,e=>{r.overdraw.bottom>0&&e(Re)});var Y=c(Le,2);let ze;M(Y,`aria-valuemin`,0);let Be;var Ve=_(Y),He=_(Ve,!0);k(Ve),k(Y);var X=c(Y,2);let Ue;M(X,`aria-valuemin`,0);let We;var Ge=_(X),Ke=_(Ge,!0);k(Ge),k(X);var Z=c(X,2);let qe;M(Z,`aria-valuemin`,0);let Je;var Ye=_(Z),Xe=_(Ye,!0);k(Ye),k(Z);var Q=c(Z,2);let Ze;M(Q,`aria-valuemin`,0);let Qe;var $e=_(Q),et=_($e,!0);k($e),k(Q);var $=c(Q,2),tt=e=>{var t=tn(),n=o(t);let i;M(n,`aria-valuemin`,0);let s;var l=_(n),f=_(l,!0);k(l),k(n);var m=c(n,2);let g;M(m,`aria-valuemin`,0);let v;var y=_(m),b=_(y,!0);k(y),k(m),H((e,t,a,o)=>{i=E(n,1,`line v svelte-j0tjy7`,null,i,e),M(n,`aria-valuenow`,r.insets.left),M(n,`aria-valuemax`,t),s=D(n,``,s,{left:`${r.insets.left*p(w)}px`}),h(f,r.insets.left),g=E(m,1,`line v svelte-j0tjy7`,null,g,a),M(m,`aria-valuenow`,r.insets.right),M(m,`aria-valuemax`,o),v=D(m,``,v,{left:`${(r.width-r.insets.right)*p(w)}px`}),h(b,r.insets.right)},[()=>({active:S(`inset`,`left`)}),()=>ce(`inset`,`left`),()=>({active:S(`inset`,`right`)}),()=>ce(`inset`,`right`)]),u(`pointerdown`,n,e=>oe(`inset`,`left`,e)),u(`pointermove`,n,se),u(`pointerup`,n,K),d(`pointercancel`,n,K),u(`keydown`,n,e=>q(`inset`,`left`,`x`,e)),u(`pointerdown`,m,e=>oe(`inset`,`right`,e)),u(`pointermove`,m,se),u(`pointerup`,m,K),d(`pointercancel`,m,K),u(`keydown`,m,e=>q(`inset`,`right`,`x`,e)),a(e,t)};B($,e=>{p(g)&&e(tt)});var nt=c($,2),rt=e=>{var t=nn(),n=o(t);let i;M(n,`aria-valuemin`,0);let s;var l=_(n),f=_(l,!0);k(l),k(n);var m=c(n,2);let g;M(m,`aria-valuemin`,0);let v;var y=_(m),b=_(y,!0);k(y),k(m),H((e,t,a,o)=>{i=E(n,1,`line h svelte-j0tjy7`,null,i,e),M(n,`aria-valuenow`,r.insets.top),M(n,`aria-valuemax`,t),s=D(n,``,s,{top:`${r.insets.top*p(w)}px`}),h(f,r.insets.top),g=E(m,1,`line h svelte-j0tjy7`,null,g,a),M(m,`aria-valuenow`,r.insets.bottom),M(m,`aria-valuemax`,o),v=D(m,``,v,{top:`${(r.height-r.insets.bottom)*p(w)}px`}),h(b,r.insets.bottom)},[()=>({active:S(`inset`,`top`)}),()=>ce(`inset`,`top`),()=>({active:S(`inset`,`bottom`)}),()=>ce(`inset`,`bottom`)]),u(`pointerdown`,n,e=>oe(`inset`,`top`,e)),u(`pointermove`,n,se),u(`pointerup`,n,K),d(`pointercancel`,n,K),u(`keydown`,n,e=>q(`inset`,`top`,`y`,e)),u(`pointerdown`,m,e=>oe(`inset`,`bottom`,e)),u(`pointermove`,m,se),u(`pointerup`,m,K),d(`pointercancel`,m,K),u(`keydown`,m,e=>q(`inset`,`bottom`,`y`,e)),a(e,t)};B(nt,e=>{p(b)&&e(rt)}),k(Ee),x(Ee,e=>s(l,e),()=>p(l)),k(we),x(we,e=>s(i,e),()=>p(i)),k(ue),H((e,t,n,i,a,o,s,c,l)=>{h(_e,`${e??``}%`),be=E(ye,1,`svelte-j0tjy7`,null,be,{active:p(C)===`one`}),xe=E(J,1,`svelte-j0tjy7`,null,xe,{active:p(C)===`fit`}),h(Ce,`${r.width??``} × ${r.height??``} px`),Te=E(we,1,`viewport checkerboard svelte-j0tjy7`,null,Te,{panning:p(P)}),De=D(Ee,``,De,{width:`${r.width*p(w)}px`,height:`${r.height*p(w)}px`,transform:`translate(${p(O)??``}px, ${p(A)??``}px)`}),M(Oe,`src`,r.src),ze=E(Y,1,`line v overdraw-line svelte-j0tjy7`,null,ze,t),M(Y,`aria-valuenow`,r.overdraw.left),M(Y,`aria-valuemax`,n),Be=D(Y,``,Be,{left:`${r.overdraw.left*p(w)}px`}),h(He,r.overdraw.left),Ue=E(X,1,`line v overdraw-line svelte-j0tjy7`,null,Ue,i),M(X,`aria-valuenow`,r.overdraw.right),M(X,`aria-valuemax`,a),We=D(X,``,We,{left:`${(r.width-r.overdraw.right)*p(w)}px`}),h(Ke,r.overdraw.right),qe=E(Z,1,`line h overdraw-line svelte-j0tjy7`,null,qe,o),M(Z,`aria-valuenow`,r.overdraw.top),M(Z,`aria-valuemax`,s),Je=D(Z,``,Je,{top:`${r.overdraw.top*p(w)}px`}),h(Xe,r.overdraw.top),Ze=E(Q,1,`line h overdraw-line svelte-j0tjy7`,null,Ze,c),M(Q,`aria-valuenow`,r.overdraw.bottom),M(Q,`aria-valuemax`,l),Qe=D(Q,``,Qe,{top:`${(r.height-r.overdraw.bottom)*p(w)}px`}),h(et,r.overdraw.bottom)},[()=>Math.round(p(w)*100),()=>({active:S(`overdraw`,`left`)}),()=>ce(`overdraw`,`left`),()=>({active:S(`overdraw`,`right`)}),()=>ce(`overdraw`,`right`),()=>({active:S(`overdraw`,`top`)}),()=>ce(`overdraw`,`top`),()=>({active:S(`overdraw`,`bottom`)}),()=>ce(`overdraw`,`bottom`)]),u(`click`,pe,()=>te(1/1.25)),u(`click`,ve,()=>te(1.25)),u(`click`,ye,W),u(`click`,J,U),u(`pointerdown`,we,re),u(`pointermove`,we,G),u(`pointerup`,we,ie),d(`pointercancel`,we,ie),d(`wheel`,we,ae),u(`pointerdown`,Y,e=>oe(`overdraw`,`left`,e)),u(`pointermove`,Y,se),u(`pointerup`,Y,K),d(`pointercancel`,Y,K),u(`keydown`,Y,e=>q(`overdraw`,`left`,`x`,e)),u(`pointerdown`,X,e=>oe(`overdraw`,`right`,e)),u(`pointermove`,X,se),u(`pointerup`,X,K),d(`pointercancel`,X,K),u(`keydown`,X,e=>q(`overdraw`,`right`,`x`,e)),u(`pointerdown`,Z,e=>oe(`overdraw`,`top`,e)),u(`pointermove`,Z,se),u(`pointerup`,Z,K),d(`pointercancel`,Z,K),u(`keydown`,Z,e=>q(`overdraw`,`top`,`y`,e)),u(`pointerdown`,Q,e=>oe(`overdraw`,`bottom`,e)),u(`pointermove`,Q,se),u(`pointerup`,Q,K),d(`pointercancel`,Q,K),u(`keydown`,Q,e=>q(`overdraw`,`bottom`,`y`,e)),a(t,ue),e()}A([`click`,`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var on=y(`dom`),sn=f(`<div class="preview-panel svelte-1w9ogms"><div class="bar svelte-1w9ogms"><span class="size svelte-1w9ogms"> </span> <div class="backends svelte-1w9ogms" role="group" aria-label="Rendering backend"><button>DOM</button> <button>Canvas</button></div> <button class="reset svelte-1w9ogms">Reset</button></div> <div class="stage checkerboard svelte-1w9ogms"><div class="box svelte-1w9ogms"><!> <div class="handle edge-right svelte-1w9ogms" role="separator" aria-label="Drag width" aria-orientation="vertical"></div> <div class="handle edge-bottom svelte-1w9ogms" role="separator" aria-label="Drag height" aria-orientation="horizontal"></div> <div class="handle corner svelte-1w9ogms" role="separator" aria-label="Drag size"></div></div></div></div>`);function cn(t,n){T(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 o=y(L(l(()=>r()))),f=y(L(l(()=>i()))),m=y(null),g={pointerX:0,pointerY:0,width:0,height:0};function v(e,t){t.preventDefault(),s(m,e,!0),g={pointerX:t.clientX,pointerY:t.clientY,width:p(o),height:p(f)},ot(t.currentTarget,t)}function b(e){p(m)&&(p(m)!==`y`&&s(o,Math.max(16,Math.round(g.width+(e.clientX-g.pointerX))),!0),p(m)!==`x`&&s(f,Math.max(16,Math.round(g.height+(e.clientY-g.pointerY))),!0))}function x(e){p(m)&&st(e.currentTarget,e.pointerId),s(m,null)}function S(){s(o,r(),!0),s(f,i(),!0)}var C=sn(),w=_(C),O=_(w),A=_(O);k(O);var j=c(O,2),M=_(j);let N;var P=c(M,2);let F;k(j);var I=c(j,2);k(w);var R=c(w,2),z=_(R);let B;var ee=_(z);We(ee,{get src(){return n.entry},get backend(){return p(on)},class:`fill`});var V=c(ee,2),U=c(V,2),W=c(U,2);k(z),k(R),k(C),H(()=>{h(A,`${p(o)??``} × ${p(f)??``} px`),N=E(M,1,`svelte-1w9ogms`,null,N,{on:p(on)===`dom`}),F=E(P,1,`svelte-1w9ogms`,null,F,{on:p(on)===`canvas`}),B=D(z,``,B,{width:`${p(o)??``}px`,height:`${p(f)??``}px`})}),u(`click`,M,()=>s(on,`dom`)),u(`click`,P,()=>s(on,`canvas`)),u(`click`,I,S),u(`pointerdown`,V,e=>v(`x`,e)),u(`pointermove`,V,b),u(`pointerup`,V,x),d(`pointercancel`,V,x),u(`pointerdown`,U,e=>v(`y`,e)),u(`pointermove`,U,b),u(`pointerup`,U,x),d(`pointercancel`,U,x),u(`pointerdown`,W,e=>v(`both`,e)),u(`pointermove`,W,b),u(`pointerup`,W,x),d(`pointercancel`,W,x),a(t,C),e()}A([`click`,`pointerdown`,`pointermove`,`pointerup`]);var ln=f(`<span class="color-dot svelte-17f73b4"></span>`),un=f(`<span class="via svelte-17f73b4"> </span>`),dn=f(`<label><input type="checkbox" class="svelte-17f73b4"/> <span class="marker svelte-17f73b4" aria-hidden="true"><!></span> <span class="name svelte-17f73b4"> </span> <!></label>`),fn=f(`<div class="manifest-selector svelte-17f73b4" role="group" aria-label="Manifest assignments"></div>`);function pn(n,r){T(r,!0);function i(e){return r.passive.find(t=>t.manifest===e)}function o(e,t,n){return t?`${e}: explicitly assigned`:n?`${e}: passive member via ${n.via.join(`, `)}`:`${e}: not assigned`}var s=fn();m(s,20,()=>r.manifests,e=>e,(e,n)=>{let s=v(()=>G.manifestAppearance(n)),l=v(()=>r.selected.includes(n)),d=v(()=>i(n)),f=v(()=>p(s).color??`var(--accent)`);var m=dn();let g,y;var b=_(m);C(b);var x=c(b,2),S=_(x),w=e=>{var n=t();H(()=>h(n,p(s).emoji)),a(e,n)},T=e=>{a(e,ln())};B(S,e=>{p(s).emoji?e(w):e(T,-1)}),k(x);var O=c(x,2),A=_(O,!0);k(O);var j=c(O,2),N=e=>{var t=un(),n=_(t);k(t),H(e=>h(n,`passive · via ${e??``}`),[()=>p(d).via.join(`, `)]),a(e,t)};B(j,e=>{p(d)&&!p(l)&&e(N)}),k(m),H((e,t)=>{g=E(m,1,`manifest-option control svelte-17f73b4`,null,g,{selected:p(l),passive:p(d)!==void 0&&!p(l)}),M(m,`title`,e),y=D(m,``,y,{"--manifest-color":p(f)}),z(b,p(l)),M(b,`aria-label`,t),h(A,n)},[()=>o(n,p(l),p(d)),()=>o(n,p(l),p(d))]),u(`change`,b,()=>r.onToggle(n)),a(e,m)}),k(s),a(n,s),e()}A([`change`]);var mn=f(`<div class="center empty svelte-xy8zsr">Loading…</div>`),hn=f(`<div class="center empty svelte-xy8zsr"> </div>`),gn=f(`<div class="empty error svelte-xy8zsr"> </div>`),_n=f(`<div class="empty svelte-xy8zsr">Loading image…</div>`),vn=f(`<div class="pane svelte-xy8zsr"><!></div>`),yn=f(`<div class="tabs svelte-xy8zsr"><button>Slicing</button> <button>Preview</button></div> <!>`,1),bn=f(`<div class="preview-column svelte-xy8zsr"><div class="video-frame svelte-xy8zsr"><!></div> <!></div>`),xn=f(`<p class="stage-hint svelte-xy8zsr">No proxy yet — add the asset to a manifest to process it.</p>`),Sn=f(`<div class="pane image-stage checkerboard svelte-xy8zsr"><!></div>`),Cn=f(`<div class="preview-column svelte-xy8zsr"><div class="compare-row svelte-xy8zsr"><figure class="compare svelte-xy8zsr"><figcaption class="svelte-xy8zsr">Input</figcaption> <div class="video-frame svelte-xy8zsr"><!></div></figure> <figure class="compare svelte-xy8zsr"><figcaption class="svelte-xy8zsr">Keyed</figcaption> <div class="video-frame checkerboard svelte-xy8zsr"><!></div></figure></div> <!></div>`),wn=f(`<div class="pane image-stage svelte-xy8zsr"><!></div>`),Tn=f(`<div class="preview-column svelte-xy8zsr"><div class="audio-frame svelte-xy8zsr"><!></div></div>`),En=f(`<img/>`),Dn=f(`<p class="warning svelte-xy8zsr"> </p>`),On=f(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),kn=f(`<p class="hint svelte-xy8zsr">No references.</p>`),An=f(`<a class="reference-row svelte-xy8zsr"><span class="reference-field svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-asset svelte-xy8zsr"> </span></a>`),jn=f(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),Mn=f(`<a class="reference-row svelte-xy8zsr"><span class="reference-asset svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-field svelte-xy8zsr"> </span></a>`),Nn=f(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),Pn=f(`<!> <!>`,1),Fn=f(`<p class="hint error svelte-xy8zsr"> </p>`),In=f(`<div class="center svelte-xy8zsr"><!></div> <aside class="inspector svelte-xy8zsr"><section class="head svelte-xy8zsr"><h2 class="svelte-xy8zsr"> </h2> <p class="raw svelte-xy8zsr"> <span title="Raw file"> </span></p> <!></section> <!> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <div class="rename svelte-xy8zsr"><input class="control svelte-xy8zsr" type="text" spellcheck="false"/> <button class="control">Rename</button></div> <!> <button class="control danger svelte-xy8zsr">Delete asset</button></section></aside>`,1),Ln=f(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <!> <!>`,1);function Rn(l,d){T(d,!0);let f=v(()=>te.params.id??``),g=v(()=>G.assetById(p(f))),b=v(()=>G.manifestNames),S=v(()=>p(g)?G.state?.presetNames[p(g).type]??[]:[]),O=v(()=>p(g)?Qt[p(g).type]??null:null),A=y(null),j=v(()=>p(g)?p(A)&&p(A).assetId===p(g).id?p(A).value:F(p(g)).parameters:null);function N(e){p(g)&&s(A,{assetId:p(g).id,value:e},!0)}let P=y(null),I=y(null);n(()=>{let e=p(g)?.type===`slice`?p(g).rawUrl:null;if(s(P,null),s(I,null),!e)return;let t=!1,n=new window.Image;return n.onload=()=>{t||s(P,{width:n.naturalWidth,height:n.naturalHeight},!0)},n.onerror=()=>{t||s(I,`Could not load image dimensions.`)},n.src=e,()=>{t=!0}});let L=v(()=>{if(!p(g)||p(g).type!==`slice`||p(j)===null)return null;try{return ye.validateParameters(p(j))}catch{return null}}),z=v(()=>!p(g)||!p(L)||!p(P)?null:{kind:`slice`,src:p(g).proxy?.url??p(g).rawUrl,slicing:{mode:p(L).mode,insets:p(L).insets,pixelRatio:p(L).pixelRatio,...p(L).overdraw?{overdraw:p(L).overdraw}:{}},sourceWidth:p(P).width,sourceHeight:p(P).height}),ee=v(()=>{if(!p(g)||p(g).type!==`image`||!p(g).proxy)return null;let{width:e,height:t}=p(g).proxy;return e===void 0||t===void 0?null:{kind:`image`,src:p(g).proxy.url,width:e,height:t}}),q=v(()=>{if(!p(g)||p(g).type!==`video`||!p(g).proxy)return null;let{width:e,height:t,durationMs:n}=p(g).proxy;return e===void 0||t===void 0||n===void 0?null:{kind:`video`,src:p(g).proxy.url,width:e,height:t,durationMs:n}});function ue(e){if(!e)return;let t=G.assetById(e);if(!(!t?.proxy||t.proxy.width===void 0||t.proxy.height===void 0))return{kind:`image`,src:t.proxy.url,width:t.proxy.width,height:t.proxy.height}}let fe=v(()=>{if(!p(g)||p(g).type!==`chroma-key-video`||!p(g).proxy||p(j)===null)return null;let{width:e,height:t,durationMs:n}=p(g).proxy;if(e===void 0||t===void 0||n===void 0)return null;let r;try{r=ve.validateParameters(p(j))}catch{return null}let i=ue(r.mask?.$asset),a=ue(r.fallback?.$asset);return{kind:`chroma-key-video`,src:p(g).proxy.url,width:e,height:t,durationMs:n,chromaKey:r.chromaKey,...i?{mask:i}:{},...a?{fallback:a}:{}}}),me=v(()=>{if(!p(g)||p(g).type!==`chroma-key-video`||!p(g).proxy)return null;let{width:e,height:t,durationMs:n}=p(g).proxy;return e===void 0||t===void 0||n===void 0?null:{kind:`video`,src:p(g).proxy.url,width:e,height:t,durationMs:n}}),ge=y(void 0),_e=y(void 0);n(()=>{let e=p(ge),t=p(_e);if(!e||!t)return;function n(){Math.abs(t.currentTime-e.currentTime)>.25&&(t.currentTime=e.currentTime)}function r(){n(),t.play().catch(()=>{})}function i(){t.pause(),t.currentTime=e.currentTime}function a(){t.currentTime=e.currentTime}return e.addEventListener(`play`,r),e.addEventListener(`playing`,r),e.addEventListener(`pause`,i),e.addEventListener(`ended`,i),e.addEventListener(`seeked`,a),e.addEventListener(`timeupdate`,n),a(),e.paused||t.play().catch(()=>{}),()=>{e.removeEventListener(`play`,r),e.removeEventListener(`playing`,r),e.removeEventListener(`pause`,i),e.removeEventListener(`ended`,i),e.removeEventListener(`seeked`,a),e.removeEventListener(`timeupdate`,n)}});let be=y(`slicing`),J=y(null),xe=y(null),Se=0,Ce=y(null),we=0,Te=y(null),Ee=0,De=y(null),Oe=y(``),ke=y(void 0),Ae=he().join(`,`),Me=y(null),Ne=v(()=>p(g)&&p(Me)?.assetId===p(g).id?p(Me).value:p(g)?.id??``),Pe=v(()=>p(g)&&p(Ne)!==p(g).id?de(p(Ne)):null);async function Fe(e){if(!p(g))return;let t=p(g).id;try{await G.mutate(()=>ie(t,{parameters:e})),p(A)?.assetId===t&&s(A,null)}catch{}}async function Ie(e){if(!p(g))return;let t=p(g).manifests.includes(e)?p(g).manifests.filter(t=>t!==e):[...p(g).manifests,e];try{await G.mutate(()=>ie(p(g).id,{manifests:t}))}catch{}}async function Le(){if(!p(g)||p(Ne)===p(g).id||p(Pe))return;let e=p(g).id,t=p(Ne);try{await G.mutate(()=>ie(e,{renameTo:t})),s(Me,null),p(f)===e&&await W(U(`/asset/[id]`,{id:t}),{replaceState:!0})}catch{}}async function Re(){if(!p(g))return;let e=p(g).id;if(confirm(`Delete "${e}"? The raw file and its proxies are removed.`))try{await G.mutate(()=>re(e)),p(f)===e&&await W(U(`/`))}catch{}}async function Y(e){try{localStorage.setItem(`fundus.gallery.folder`,e??`__all__`)}catch{}await W(U(`/`))}async function ze(e,t){let n=e.filter(e=>G.assetById(e)?.folder!==t);if(n.length!==0)try{await G.mutate(()=>ne(n,t))}catch{}}function Be(e){Se+=1,s(xe,{id:Se,parent:e},!0)}function Ve(e){we+=1,s(Ce,{id:we,path:e},!0)}function He(e){Ee+=1,s(Te,{id:Ee,path:e},!0)}function X(e){s(Oe,e,!0),p(ke)?.click()}function Ue(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&s(De,n,!0)}async function We(e){s(De,null),await W(U(`/asset/[id]`,{id:e}))}var Ge=Ln(),Z=o(Ge),qe=_(Z);{let e=v(()=>p(g)?.folder??null);se(qe,{get selectedFolder(){return p(e)},get activeAsset(){return p(g)},get createRequest(){return p(xe)},get renameRequest(){return p(Ce)},get deleteRequest(){return p(Te)},onSelect:e=>void Y(e),onMoveAssets:(e,t)=>void ze(e,t),onActiveAssetDeleted:e=>void Y(e),onContextMenu:(e,t,n,r)=>{s(J,{x:e,y:t,parent:n,renamePath:r},!0)}})}var Je=c(qe,2),Ye=e=>{a(e,mn())},Xe=e=>{var t=hn(),n=_(t);k(t),H(()=>h(n,`No asset with id "${p(f)??``}".`)),a(e,t)},Q=e=>{var n=In(),l=o(n),d=_(l),f=e=>{var t=yn(),n=o(t),i=_(n);let l;var d=c(i,2);let f;k(n);var m=c(n,2),y=e=>{var t=gn(),n=_(t,!0);k(t),H(()=>h(n,p(I))),a(e,t)},b=e=>{a(e,_n())},x=e=>{var t=vn(),n=_(t);{let e=v(()=>p(L).overdraw??pe());an(n,{get src(){return p(g).rawUrl},get width(){return p(P).width},get height(){return p(P).height},get mode(){return p(L).mode},get insets(){return p(L).insets},get overdraw(){return p(e)},onChange:e=>N({...p(L),insets:e}),onOverdrawChange:e=>N({...p(L),overdraw:e}),onCommit:()=>void Fe(p(j))})}k(t),a(e,t)},S=e=>{var t=vn();r(_(t),()=>p(g).id,e=>{cn(e,{get entry(){return p(z)}})}),k(t),a(e,t)};B(m,e=>{p(I)?e(y):!p(L)||!p(P)?e(b,1):p(be)===`slicing`?e(x,2):p(z)&&e(S,3)}),H(()=>{l=E(i,1,`svelte-xy8zsr`,null,l,{on:p(be)===`slicing`}),f=E(d,1,`svelte-xy8zsr`,null,f,{on:p(be)===`preview`})}),u(`click`,i,()=>s(be,`slicing`)),u(`click`,d,()=>s(be,`preview`)),a(e,t)},y=e=>{var t=Sn(),n=_(t),i=e=>{var t=bn(),n=_(t);let i;r(_(n),()=>p(q).src,e=>{Ke(e,{get src(){return p(q)},loop:!0,get videoElement(){return p(ge)},set videoElement(e){s(ge,e,!0)}})}),k(n),ae(c(n,2),{get media(){return p(ge)},showScrub:!0,showVolume:!0}),k(t),H(()=>i=D(n,``,i,{"aspect-ratio":`${p(q).width??``} / ${p(q).height??``}`})),a(e,t)},o=e=>{a(e,xn())};B(n,e=>{p(q)?e(i):e(o,-1)}),k(t),a(e,t)},x=e=>{var t=wn(),n=_(t),i=e=>{var t=Cn(),n=_(t),i=_(n),o=c(_(i),2);let l;r(_(o),()=>p(me).src,e=>{Ke(e,{get src(){return p(me)},loop:!0,get videoElement(){return p(_e)},set videoElement(e){s(_e,e,!0)}})}),k(o),k(i);var u=c(i,2),d=c(_(u),2);let f;r(_(d),()=>`${p(fe).src}|${p(fe).mask?.src??``}`,e=>{Qe(e,{get src(){return p(fe)},get videoElement(){return p(ge)},set videoElement(e){s(ge,e,!0)}})}),k(d),k(u),k(n),ae(c(n,2),{get media(){return p(ge)},showScrub:!0,showVolume:!1}),k(t),H(()=>{l=D(o,``,l,{"aspect-ratio":`${p(me).width??``} / ${p(me).height??``}`}),f=D(d,``,f,{"aspect-ratio":`${p(fe).width??``} / ${p(fe).height??``}`})}),a(e,t)},o=e=>{a(e,xn())};B(n,e=>{p(fe)&&p(me)?e(i):e(o,-1)}),k(t),a(e,t)},T=e=>{var t=Sn(),n=_(t),i=e=>{var t=Tn(),n=_(t);r(_(n),()=>p(g).proxy.url,e=>{ce(e,{get src(){return p(g).proxy.url},showControls:!0})}),k(n),k(t),a(e,t)},o=e=>{a(e,xn())};B(n,e=>{p(g).proxy?e(i):e(o,-1)}),k(t),a(e,t)},A=e=>{var t=Sn(),n=_(t),r=e=>{je(e,{get src(){return p(ee)},get alt(){return p(g).id}})},i=e=>{var t=En();H(()=>{M(t,`src`,p(g).rawUrl),M(t,`alt`,p(g).id)}),a(e,t)};B(n,e=>{p(ee)?e(r):e(i,-1)}),k(t),a(e,t)};B(d,e=>{p(g).type===`slice`?e(f):p(g).type===`video`?e(y,1):p(g).type===`chroma-key-video`?e(x,2):p(g).type===`audio`?e(T,3):e(A,-1)}),k(l);var F=c(l,2),W=_(F),te=_(W),ne=_(te,!0);k(te);var re=c(te,2),G=_(re),ie=c(G),oe=_(ie,!0);k(ie),k(re),m(c(re,2),16,()=>p(g).warnings,e=>e,(e,t)=>{var n=Dn(),r=_(n);k(n),H(()=>h(r,`⚠ ${t??``}`)),a(e,n)}),k(W);var se=c(W,2),le=e=>{var t=i();V(o(t),()=>p(O),(e,t)=>{t(e,{get asset(){return p(g)},get parameters(){return p(j)},onParametersChange:e=>N(e),onParametersCommit:e=>{N(e),Fe(e)},get presetNames(){return p(S)}})}),a(e,t)};B(se,e=>{p(O)&&p(j)!==null&&e(le)});var ue=c(se,2),de=_(ue);K(de,{children:(e,n)=>{R(),a(e,t(`Manifests`))},$$slots:{default:!0}});var he=c(de,2),ve=e=>{a(e,On())},ye=e=>{pn(e,{get manifests(){return p(b)},get selected(){return p(g).manifests},get passive(){return p(g).passiveManifests},onToggle:e=>void Ie(e)})};B(he,e=>{p(b).length===0?e(ve):e(ye,-1)}),k(ue);var J=c(ue,2),xe=_(J);K(xe,{children:(e,n)=>{R(),a(e,t(`References`))},$$slots:{default:!0}});var Se=c(xe,2),Ce=e=>{a(e,kn())},we=e=>{var t=Pn(),n=o(t),r=e=>{var t=jn();m(c(o(t),2),17,()=>p(g).references.outgoing,e=>`${e.field}→${e.assetId}`,(e,t)=>{var n=An(),r=_(n),i=_(r,!0);k(r);var o=c(r,4),s=_(o,!0);k(o),k(n),H(e=>{M(n,`href`,e),h(i,p(t).field),h(s,p(t).assetId)},[()=>U(`/asset/[id]`,{id:p(t).assetId})]),a(e,n)}),a(e,t)};B(n,e=>{p(g).references.outgoing.length>0&&e(r)});var i=c(n,2),s=e=>{var t=Nn();m(c(o(t),2),17,()=>p(g).references.incoming,e=>`${e.assetId}→${e.field}`,(e,t)=>{var n=Mn(),r=_(n),i=_(r,!0);k(r);var o=c(r,4),s=_(o,!0);k(o),k(n),H(e=>{M(n,`href`,e),h(i,p(t).assetId),h(s,p(t).field)},[()=>U(`/asset/[id]`,{id:p(t).assetId})]),a(e,n)}),a(e,t)};B(i,e=>{p(g).references.incoming.length>0&&e(s)}),a(e,t)};B(Se,e=>{p(g).references.outgoing.length===0&&p(g).references.incoming.length===0?e(Ce):e(we,-1)}),k(J);var Te=c(J,2),Ee=_(Te);K(Ee,{children:(e,n)=>{R(),a(e,t(`Asset`))},$$slots:{default:!0}});var De=c(Ee,2),Oe=_(De);C(Oe);var ke=c(Oe,2);k(De);var Ae=c(De,2),Y=e=>{var t=Fn(),n=_(t,!0);k(t),H(()=>h(n,p(Pe))),a(e,t)};B(Ae,e=>{p(Pe)&&e(Y)});var ze=c(Ae,2);k(Te),k(F),H(()=>{h(ne,p(g).id),h(G,`${p(g).type??``} · `),h(oe,p(g).raw),w(Oe,p(Ne)),ke.disabled=p(Ne)===p(g).id||p(Pe)!==null}),u(`input`,Oe,e=>s(Me,{assetId:p(g).id,value:e.currentTarget.value},!0)),u(`click`,ke,()=>void Le()),u(`click`,ze,()=>void Re()),a(e,n)};B(Je,e=>{G.loaded?p(g)?e(Q,-1):e(Xe,1):e(Ye)}),k(Z);var Ze=c(Z,2);x(Ze,e=>s(ke,e),()=>p(ke));var $e=c(Ze,2),et=e=>{{let t=v(()=>p(J).renamePath===null?void 0:()=>Ve(p(J)?.renamePath??``)),n=v(()=>p(J).renamePath===null?void 0:()=>He(p(J)?.renamePath??``));le(e,{get x(){return p(J).x},get y(){return p(J).y},onNewDirectory:()=>Be(p(J)?.parent??``),get onRenameDirectory(){return p(t)},onImportFile:()=>X(p(J)?.parent??``),get onDeleteDirectory(){return p(n)},onClose:()=>s(J,null)})}};B($e,e=>{p(J)&&e(et)});var $=c($e,2),tt=e=>{oe(e,{get file(){return p(De)},get folder(){return p(Oe)},onDone:e=>void We(e),onCancel:()=>s(De,null)})};B($,e=>{p(De)&&e(tt)}),H(()=>M(Ze,`accept`,Ae)),u(`change`,Ze,Ue),a(l,Ge),e()}A([`click`,`input`,`change`]);export{Rn as component};