fundus 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/build/client/_app/immutable/assets/2.CK3PVkJ5.css +1 -0
  2. package/build/client/_app/immutable/assets/2.CK3PVkJ5.css.br +0 -0
  3. package/build/client/_app/immutable/assets/2.CK3PVkJ5.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/4FCfXqUa.js +1 -0
  5. package/build/client/_app/immutable/chunks/4FCfXqUa.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/4FCfXqUa.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{B9iWbZmZ.js → B6BtXxR0.js} +1 -1
  8. package/build/client/_app/immutable/chunks/B6BtXxR0.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/B6BtXxR0.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DrsNq6gf.js → BEbRZpHw.js} +1 -1
  11. package/build/client/_app/immutable/chunks/BEbRZpHw.js.br +1 -0
  12. package/build/client/_app/immutable/chunks/BEbRZpHw.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{C7Cs5PXV.js → BVDR6adL.js} +1 -1
  14. package/build/client/_app/immutable/chunks/BVDR6adL.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BVDR6adL.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{Blpvahbd.js → BX8lJS3k.js} +1 -1
  17. package/build/client/_app/immutable/chunks/BX8lJS3k.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/BX8lJS3k.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/{app.CFPPKVrc.js → app.CH6AvWYr.js} +2 -2
  20. package/build/client/_app/immutable/entry/app.CH6AvWYr.js.br +0 -0
  21. package/build/client/_app/immutable/entry/app.CH6AvWYr.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/start.v9Hgefer.js +1 -0
  23. package/build/client/_app/immutable/entry/start.v9Hgefer.js.br +0 -0
  24. package/build/client/_app/immutable/entry/start.v9Hgefer.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{0.BS8VwNas.js → 0.bYfuwnNW.js} +1 -1
  26. package/build/client/_app/immutable/nodes/0.bYfuwnNW.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/0.bYfuwnNW.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{1.Dpaug5O_.js → 1.kv-uSGjV.js} +1 -1
  29. package/build/client/_app/immutable/nodes/1.kv-uSGjV.js.br +2 -1
  30. package/build/client/_app/immutable/nodes/1.kv-uSGjV.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/2.B0CNEieI.js +3 -0
  32. package/build/client/_app/immutable/nodes/2.B0CNEieI.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/2.B0CNEieI.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{3.j8JVBjzd.js → 3.K5eLxWD7.js} +1 -1
  35. package/build/client/_app/immutable/nodes/3.K5eLxWD7.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/3.K5eLxWD7.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{4.CiYE8hwS.js → 4.DXitiaKH.js} +1 -1
  38. package/build/client/_app/immutable/nodes/4.DXitiaKH.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/4.DXitiaKH.js.gz +0 -0
  40. package/build/client/_app/version.json +1 -1
  41. package/build/client/_app/version.json.br +0 -0
  42. package/build/client/_app/version.json.gz +0 -0
  43. package/build/handler.js +7 -7
  44. package/build/index.js +7 -7
  45. package/build/server/chunks/chunks/{context.js-CLnT3cF3.js → context.js-CPdlcRhV.js} +103 -58
  46. package/build/server/chunks/chunks/context.js-CPdlcRhV.js.map +1 -0
  47. package/build/server/chunks/chunks/{contract.js-DGMufT2e.js → contract.js-nwG99Zzj.js} +2 -2
  48. package/build/server/chunks/chunks/{contract.js-DGMufT2e.js.map → contract.js-nwG99Zzj.js.map} +1 -1
  49. package/build/server/chunks/chunks/{exports.js-CAJ9ZQQx.js → exports.js-Ci6jkE-z.js} +2 -2
  50. package/build/server/chunks/chunks/{exports.js-CAJ9ZQQx.js.map → exports.js-Ci6jkE-z.js.map} +1 -1
  51. package/build/server/chunks/chunks/{http.js-DWYlsbZd.js → http.js-DmUA2gRk.js} +2 -2
  52. package/build/server/chunks/chunks/{http.js-DWYlsbZd.js.map → http.js-DmUA2gRk.js.map} +1 -1
  53. package/build/server/chunks/chunks/{internal.js-CdY4S4Uy.js → internal.js-DWu3OCGw.js} +3 -3
  54. package/build/server/chunks/chunks/{internal.js-CdY4S4Uy.js.map → internal.js-DWu3OCGw.js.map} +1 -1
  55. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
  56. package/build/server/chunks/chunks/{shared.js-C34rGnTQ.js → shared.js-BIggwEH0.js} +2 -2
  57. package/build/server/chunks/chunks/{shared.js-C34rGnTQ.js.map → shared.js-BIggwEH0.js.map} +1 -1
  58. package/build/server/chunks/chunks/{utils.js-BMCQVogA.js → utils.js-Dxvg75XM.js} +3 -3
  59. package/build/server/chunks/chunks/{utils.js-BMCQVogA.js.map → utils.js-Dxvg75XM.js.map} +1 -1
  60. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-Bmyh2WUa.js → _server.ts.js-wQD5tBuh.js} +3 -3
  61. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-Bmyh2WUa.js.map → _server.ts.js-wQD5tBuh.js.map} +1 -1
  62. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-IMleqOQb.js → _server.ts.js-CLCx81uK.js} +4 -4
  63. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-IMleqOQb.js.map → _server.ts.js-CLCx81uK.js.map} +1 -1
  64. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-DzFoWnCN.js → _server.ts.js-DkvELcZA.js} +4 -4
  65. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-DzFoWnCN.js.map → _server.ts.js-DkvELcZA.js.map} +1 -1
  66. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-0LjvQ5dF.js → _server.ts.js-CCNcWQxH.js} +4 -4
  67. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-0LjvQ5dF.js.map → _server.ts.js-CCNcWQxH.js.map} +1 -1
  68. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-BUbO2k7N.js → _server.ts.js-DUK4Rnpu.js} +4 -4
  69. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-BUbO2k7N.js.map → _server.ts.js-DUK4Rnpu.js.map} +1 -1
  70. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-CwFLvCzR.js → _server.ts.js-DNgHnoga.js} +4 -4
  71. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-CwFLvCzR.js.map → _server.ts.js-DNgHnoga.js.map} +1 -1
  72. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BA6bgOR_.js → _server.ts.js-gdXko55o.js} +4 -4
  73. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-BA6bgOR_.js.map → _server.ts.js-gdXko55o.js.map} +1 -1
  74. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-CzzmQqXq.js → _server.ts.js-DcsBk_jx.js} +4 -4
  75. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-CzzmQqXq.js.map → _server.ts.js-DcsBk_jx.js.map} +1 -1
  76. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-aqJkae-h.js → _server.ts.js-BhTg6GgC.js} +4 -4
  77. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-aqJkae-h.js.map → _server.ts.js-BhTg6GgC.js.map} +1 -1
  78. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-CGsIZ1tO.js → _server.ts.js-CKjnRFXQ.js} +4 -4
  79. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-CGsIZ1tO.js.map → _server.ts.js-CKjnRFXQ.js.map} +1 -1
  80. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-DbaeknBw.js → _server.ts.js-C9rdzmoj.js} +4 -4
  81. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-DbaeknBw.js.map → _server.ts.js-C9rdzmoj.js.map} +1 -1
  82. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-BhY5m7VP.js → _server.ts.js-BdZb4d69.js} +4 -4
  83. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-BhY5m7VP.js.map → _server.ts.js-BdZb4d69.js.map} +1 -1
  84. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-PT92H6EE.js → _server.ts.js-DaTgBGGt.js} +4 -4
  85. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-PT92H6EE.js.map → _server.ts.js-DaTgBGGt.js.map} +1 -1
  86. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-DtiUkpdM.js → _server.ts.js-Btohjiz4.js} +4 -4
  87. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-DtiUkpdM.js.map → _server.ts.js-Btohjiz4.js.map} +1 -1
  88. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-tVkpwUwF.js → _server.ts.js-D0alWeVb.js} +4 -4
  89. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-tVkpwUwF.js.map → _server.ts.js-D0alWeVb.js.map} +1 -1
  90. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-Cq85RWhU.js → _server.ts.js-CRNi0bmU.js} +4 -4
  91. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-Cq85RWhU.js.map → _server.ts.js-CRNi0bmU.js.map} +1 -1
  92. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-DDdYWvN4.js → _server.ts.js-B6C1DDpq.js} +19 -7
  93. package/build/server/chunks/entries/endpoints/api/reveal/_server.ts.js-B6C1DDpq.js.map +1 -0
  94. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-DxSPXWoT.js → _server.ts.js-qPKxHQ-e.js} +4 -4
  95. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-DxSPXWoT.js.map → _server.ts.js-qPKxHQ-e.js.map} +1 -1
  96. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DVtQlFHS.js → _server.ts.js-BjioCWTI.js} +3 -3
  97. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DVtQlFHS.js.map → _server.ts.js-BjioCWTI.js.map} +1 -1
  98. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-DuStxYsU.js → _server.ts.js-BzUFg_ur.js} +4 -4
  99. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-DuStxYsU.js.map → _server.ts.js-BzUFg_ur.js.map} +1 -1
  100. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CxoKyl-h.js → _server.ts.js-CrjUXxJT.js} +4 -4
  101. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CxoKyl-h.js.map → _server.ts.js-CrjUXxJT.js.map} +1 -1
  102. package/build/server/chunks/entries/{hooks.server.js-DLJAlp7i.js → hooks.server.js-DQ8kZ3N2.js} +3 -3
  103. package/build/server/chunks/entries/{hooks.server.js-DLJAlp7i.js.map → hooks.server.js-DQ8kZ3N2.js.map} +1 -1
  104. package/build/server/chunks/{handler-Bn4TsL93.js → handler-CJ8lsr6W.js} +5 -5
  105. package/build/server/chunks/{handler-Bn4TsL93.js.map → handler-CJ8lsr6W.js.map} +1 -1
  106. package/build/server/chunks/{index.js-DzYQtf0T.js → index.js-Ph6LJ5Na.js} +5 -5
  107. package/build/server/chunks/{index.js-DzYQtf0T.js.map → index.js-Ph6LJ5Na.js.map} +1 -1
  108. package/build/server/chunks/{manifest.js-DewM2Q1D.js → manifest.js-CWjy0GQ9.js} +28 -28
  109. package/build/server/chunks/{manifest.js-DewM2Q1D.js.map → manifest.js-CWjy0GQ9.js.map} +1 -1
  110. package/build/server/chunks/nodes/{0.js-CZe1W9_P.js → 0.js-s3yR2Abv.js} +2 -2
  111. package/build/server/chunks/nodes/{0.js-CZe1W9_P.js.map → 0.js-s3yR2Abv.js.map} +1 -1
  112. package/build/server/chunks/nodes/1.js-BKDWaQXi.js +7 -0
  113. package/build/server/chunks/nodes/{1.js-DKVH5bGU.js.map → 1.js-BKDWaQXi.js.map} +1 -1
  114. package/build/server/chunks/nodes/2.js-BuHtNZN4.js +7 -0
  115. package/build/server/chunks/nodes/{2.js-BpN0Hxjo.js.map → 2.js-BuHtNZN4.js.map} +1 -1
  116. package/build/server/chunks/nodes/3.js-CxLEr5zC.js +7 -0
  117. package/build/server/chunks/nodes/{3.js-D3kgOm0S.js.map → 3.js-CxLEr5zC.js.map} +1 -1
  118. package/build/server/chunks/nodes/4.js-BoG4R0fU.js +7 -0
  119. package/build/server/chunks/nodes/{4.js-CZwje1Lo.js.map → 4.js-BoG4R0fU.js.map} +1 -1
  120. package/dist/core/api-types.d.ts +1 -1
  121. package/dist/server/git.d.ts +6 -5
  122. package/dist/server/git.js +99 -72
  123. package/dist/server/operations.js +5 -5
  124. package/package.json +1 -1
  125. package/build/client/_app/immutable/assets/2.Bf0JkVBM.css +0 -1
  126. package/build/client/_app/immutable/assets/2.Bf0JkVBM.css.br +0 -0
  127. package/build/client/_app/immutable/assets/2.Bf0JkVBM.css.gz +0 -0
  128. package/build/client/_app/immutable/chunks/B9iWbZmZ.js.br +0 -0
  129. package/build/client/_app/immutable/chunks/B9iWbZmZ.js.gz +0 -0
  130. package/build/client/_app/immutable/chunks/Blpvahbd.js.br +0 -0
  131. package/build/client/_app/immutable/chunks/Blpvahbd.js.gz +0 -0
  132. package/build/client/_app/immutable/chunks/C7Cs5PXV.js.br +0 -0
  133. package/build/client/_app/immutable/chunks/C7Cs5PXV.js.gz +0 -0
  134. package/build/client/_app/immutable/chunks/DrsNq6gf.js.br +0 -0
  135. package/build/client/_app/immutable/chunks/DrsNq6gf.js.gz +0 -0
  136. package/build/client/_app/immutable/chunks/DylBiD8l.js +0 -1
  137. package/build/client/_app/immutable/chunks/DylBiD8l.js.br +0 -0
  138. package/build/client/_app/immutable/chunks/DylBiD8l.js.gz +0 -0
  139. package/build/client/_app/immutable/entry/app.CFPPKVrc.js.br +0 -0
  140. package/build/client/_app/immutable/entry/app.CFPPKVrc.js.gz +0 -0
  141. package/build/client/_app/immutable/entry/start.tn-ZAKbY.js +0 -1
  142. package/build/client/_app/immutable/entry/start.tn-ZAKbY.js.br +0 -0
  143. package/build/client/_app/immutable/entry/start.tn-ZAKbY.js.gz +0 -0
  144. package/build/client/_app/immutable/nodes/0.BS8VwNas.js.br +0 -0
  145. package/build/client/_app/immutable/nodes/0.BS8VwNas.js.gz +0 -0
  146. package/build/client/_app/immutable/nodes/1.Dpaug5O_.js.br +0 -2
  147. package/build/client/_app/immutable/nodes/1.Dpaug5O_.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/2.KyqEUB3M.js +0 -3
  149. package/build/client/_app/immutable/nodes/2.KyqEUB3M.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/2.KyqEUB3M.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/3.j8JVBjzd.js.br +0 -0
  152. package/build/client/_app/immutable/nodes/3.j8JVBjzd.js.gz +0 -0
  153. package/build/client/_app/immutable/nodes/4.CiYE8hwS.js.br +0 -0
  154. package/build/client/_app/immutable/nodes/4.CiYE8hwS.js.gz +0 -0
  155. package/build/server/chunks/chunks/context.js-CLnT3cF3.js.map +0 -1
  156. package/build/server/chunks/entries/endpoints/api/reveal/_server.ts.js-DDdYWvN4.js.map +0 -1
  157. package/build/server/chunks/nodes/1.js-DKVH5bGU.js +0 -7
  158. package/build/server/chunks/nodes/2.js-BpN0Hxjo.js +0 -7
  159. package/build/server/chunks/nodes/3.js-D3kgOm0S.js +0 -7
  160. package/build/server/chunks/nodes/4.js-CZwje1Lo.js +0 -7
@@ -0,0 +1,3 @@
1
+ import{A as e,C as t,D as n,E as r,F as i,G as a,H as o,I as s,J as c,K as l,M as u,N as d,O as f,P as p,Q as m,R as h,V as g,X as _,Y as v,Z as y,_ as b,a as x,at as S,b as ee,c as C,d as te,g as w,i as T,k as E,l as ne,nt as re,o as ie,ot as D,p as O,q as k,s as ae,tt as oe,u as A,w as se,x as j}from"../chunks/NblqapDQ.js";import{c as M,t as ce}from"../chunks/B6BtXxR0.js";import"../chunks/xihTtKlq.js";import{F as le,J as ue,N as de,O as fe,P as pe,U as me,X as he,Y as ge,a as _e,c as ve,j as ye,l as be,nt as xe,p as Se,t as N,tt as Ce,u as we}from"../chunks/4FCfXqUa.js";import{a as Te}from"../chunks/BVDR6adL.js";import{t as Ee}from"../chunks/DPZDGjcn.js";import{a as De,c as Oe,i as ke,l as Ae,n as je,o as Me,r as Ne,s as Pe,t as Fe,u as Ie}from"../chunks/BX8lJS3k.js";import{t as Le}from"../chunks/BD3hQKzV.js";function P(e){return Array.isArray?Array.isArray(e):B(e)===`[object Array]`}function Re(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function ze(e){return e==null?``:Re(e)}function F(e){return typeof e==`string`}function I(e){return typeof e==`number`}function Be(e){return e===!0||e===!1||Ve(e)&&B(e)==`[object Boolean]`}function L(e){return typeof e==`object`}function Ve(e){return L(e)&&e!==null}function R(e){return e!=null}function z(e){return!e.trim().length}function B(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var V=`Incorrect 'index' type`,He=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,H=e=>`Invalid value for key ${e}`,U=e=>`Pattern length exceeds max of ${e}.`,Ue=e=>`Missing ${e} property in key`,W=e=>`Property 'weight' in key '${e}' must be a positive integer`,G=`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.`,K=Object.prototype.hasOwnProperty,We=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Ge(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 Ge(e){let t=null,n=null,r=null,i=1,a=null;if(F(e)||P(e))r=e,t=Ke(e),n=qe(e);else{if(!K.call(e,`name`))throw Error(Ue(`name`));let o=e.name;if(r=o,K.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(W(qe(o)));t=Ke(o),n=qe(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Ke(e){return P(e)?e:e.split(`.`)}function qe(e){return P(e)?e.join(`.`):e}function Je(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(R(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!R(s))return;if(a===t.length-1&&(F(s)||I(s)||Be(s)||typeof s==`bigint`))n.push(o===void 0?ze(s):{v:ze(s),i:o});else if(P(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,F(t)?t.split(`.`):t,0),r?n:n[0]}var Ye={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},q={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},J={location:0,threshold:.6,distance:100},Xe={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:Je,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Y=Object.freeze({...q,...Ye,...J,...Xe});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 Qe=class{constructor({getFn:e=Y.getFn,fieldNormWeight:t=Y.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(F(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(He);if(F(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(He);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!R(e)||z(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(R(i)){if(P(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(R(n)){if(F(n)){if(!z(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(R(n.v)){let t=F(n.v)?n.v:ze(n.v);if(!z(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(F(i)&&!z(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 X(e,t,{getFn:n=Y.getFn,fieldNormWeight:r=Y.fieldNormWeight}={}){let i=new Qe({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Ge)),i.setSources(t),i.create(),i}function $e(e,{getFn:t=Y.getFn,fieldNormWeight:n=Y.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new Qe({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function et(e=[],t=Y.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 tt(e,t,n,{location:r=Y.location,distance:i=Y.distance,threshold:a=Y.threshold,findAllMatches:o=Y.findAllMatches,minMatchCharLength:s=Y.minMatchCharLength,includeMatches:c=Y.includeMatches,ignoreLocation:l=Y.ignoreLocation}={}){if(t.length>32)throw Error(U(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=et(_,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function nt(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 rt(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 it={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},at=RegExp(`[`+Object.keys(it).join(``)+`]`,`g`),ot=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(at,e=>it[e]):e=>e,st=class{constructor(e,{location:t=Y.location,threshold:n=Y.threshold,distance:r=Y.distance,includeMatches:i=Y.includeMatches,findAllMatches:a=Y.findAllMatches,minMatchCharLength:o=Y.minMatchCharLength,isCaseSensitive:s=Y.isCaseSensitive,ignoreDiacritics:c=Y.ignoreDiacritics,ignoreLocation:l=Y.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?ot(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:nt(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?ot(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}=tt(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=rt(u)),p}},ct=new Set([`fuzzy`,`include`]);function lt(e){return e.startsWith(`inverse`)}var ut=[{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 st(e,{location:t.location??Y.location,threshold:t.threshold??Y.threshold,distance:t.distance??Y.distance,includeMatches:t.includeMatches??Y.includeMatches,findAllMatches:t.findAllMatches??Y.findAllMatches,minMatchCharLength:t.minMatchCharLength??Y.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??Y.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??Y.ignoreDiacritics,ignoreLocation:t.ignoreLocation??Y.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],dt=ut.length,ft=`\0`,pt=`|`;function mt(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 ht(e,t){let n=e.match(t);return n?n[1]:null}function gt(e,t={}){return e.replace(/\\\|/g,ft).split(pt).map(e=>{let n=mt(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<dt;){let e=ut[o],n=ht(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<dt;){let e=ut[o],n=ht(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var _t=class{constructor(e,{isCaseSensitive:t=Y.isCaseSensitive,ignoreDiacritics:n=Y.ignoreDiacritics,includeMatches:r=Y.includeMatches,minMatchCharLength:i=Y.minMatchCharLength,ignoreLocation:a=Y.ignoreLocation,findAllMatches:o=Y.findAllMatches,location:s=Y.location,threshold:c=Y.threshold,distance:l=Y.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?ot(e):e,this.pattern=e,this.query=gt(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?ot(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,lt(r.type)&&(c=!0),n&&(ct.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=rt(o)),e}}return{isMatch:!1,score:1}}},vt=[];function Z(...e){vt.push(...e)}function Q(e,t){for(let n=0,r=vt.length;n<r;n+=1){let r=vt[n];if(r.condition(e,t))return new r(e,t)}return new st(e,t)}var yt={AND:`$and`,OR:`$or`},bt={PATH:`$path`,PATTERN:`$val`},xt=e=>!!(e[yt.AND]||e[yt.OR]),St=e=>!!e[bt.PATH],Ct=e=>!P(e)&&L(e)&&!xt(e),wt=e=>({[yt.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Tt(e,t,{auto:n=!0}={}){let r=e=>{if(F(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=Q(e,t)),r}let i=Object.keys(e),a=St(e);if(!a&&i.length>1&&!xt(e))return r(wt(e));if(Ct(e)){let r=a?e[bt.PATH]:i[0],o=a?e[bt.PATTERN]:e[r];if(!F(o))throw Error(H(r));let s={keyId:qe(r),pattern:o};return n&&(s.searcher=Q(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];P(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return xt(e)||(e=wt(e)),r(e)}function Et(e,{ignoreFieldNorm:t=Y.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function Dt(e,{ignoreFieldNorm:t=Y.ignoreFieldNorm}){e.forEach(e=>{e.score=Et(e.matches,{ignoreFieldNorm:t})})}var Ot=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function kt(e){let t=[];return e.matches.forEach(e=>{if(!R(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function At(e,t,{includeMatches:n=Y.includeMatches,includeScore:r=Y.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=kt(e)),r&&(a.score=e.score),a})}var jt=/[\p{L}\p{M}\p{N}_]+/gu,Mt=new WeakSet;function Nt(e){Mt.has(e)||(Mt.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function Pt(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||Nt(e),t=>t.match(e)||[]):e=>e.match(jt)||[]}function Ft({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=Pt(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=ot(n)),r(n)}}}var It=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=Ft({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new st(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=rt(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function Lt(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function Rt(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){Lt(e,a,i,r);return}if(o)for(let t=0;t<n;t++){let n=o[t];if(n)if(Array.isArray(n))for(let t of n)Lt(e,t.v,i,r);else Lt(e,n.v,i,r)}}function zt(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)Rt(r,i,t,n);return r}function Bt(e,t,n,r){Rt(e,t,n,r)}function Vt(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function Ht(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)Vt(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var $=class{constructor(e,t,n){this.options={...Y,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new We(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=Q(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 Qe))throw Error(V);if(this._myIndex=t||X(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=Ft({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=zt(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!R(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=Ft({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});Bt(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&Ht(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(He);this._invertedIndex&&Ht(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(F(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return I(n)&&n>-1&&(e=e.slice(0,n)),e}let c=I(n)&&n>0&&F(e),l;if(c){let t=new Ot(n);F(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=F(e)?F(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Dt(l,{ignoreFieldNorm:s}),a&&l.sort(o),I(n)&&n>-1&&(l=l.slice(0,n));return At(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!R(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=Et(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=Tt(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===yt.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(R(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(!R(e))return;let c=[],l=!1,u=!1;if(a.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:o,item:e,matches:c};t?(r.score=Et(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!R(t))return[];let r=[];if(P(t))t.forEach(({v:t,i,n:a})=>{if(!R(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=X,$.parseIndex=$e,$.config=Y,$.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(G);return Q(e,{...Y,...n}).searchIn(t)},$.parseQuery=Tt,Z(_t),Z(It),$.use=function(...e){e.forEach(e=>Z(e))};var Ut=$;function Wt(e,t){return t===`all`?!0:t===`changed`?e===`edited`:t===`new`?e===`new`:e!==null}var Gt=e(`<span class="arrow svelte-13hq4tl" aria-hidden="true">›</span>`),Kt=e(`<hr class="svelte-13hq4tl"/>`),qt=e(`<button role="menuitem" tabindex="-1" class="svelte-13hq4tl"> </button>`),Jt=e(`<!> <!>`,1),Yt=e(`<div role="menu" tabindex="-1"></div>`),Xt=e(`<div class="submenu-anchor svelte-13hq4tl" role="presentation"><button class="submenu-trigger svelte-13hq4tl" role="menuitem"><span> </span> <!></button> <!></div>`);function Zt(e,a){re(a,!0);let o=T(a,`alwaysSubmenu`,3,!1),u=y(void 0),d=y(void 0),v=y(!1),S=y(!1),ee=y(240),C=m(()=>a.sections.filter(e=>e.length>0)),te=m(()=>s(C).flat()),E=m(()=>o()||s(te).length>1);async function ne(e=!1){if(!s(E)||(_(v,!0),await h(),!s(u)||!s(d)))return;let t=s(u).getBoundingClientRect();_(S,t.right+s(d).offsetWidth+8>window.innerWidth),_(ee,Math.max(32,window.innerHeight-t.top-8),!0),e&&s(d).querySelector(`[role="menuitem"]:not(:disabled)`)?.focus()}function ie(e){if(!s(E)){let e=s(te)[0];e&&a.onSelect(e.value);return}e.stopPropagation(),ne()}function O(e){!s(E)||e.key!==`ArrowRight`&&e.key!==`ArrowDown`||(e.preventDefault(),e.stopPropagation(),ne(!0))}function ae(e){if(e.key===`ArrowLeft`||e.key===`Escape`){e.preventDefault(),e.stopPropagation(),_(v,!1),s(u)?.focus();return}if(!s(d))return;let t=[...s(d).querySelectorAll(`[role="menuitem"]:not(:disabled)`)];if(t.length===0)return;let n=t.indexOf(document.activeElement),r;if(e.key===`ArrowDown`)r=(n+1)%t.length;else if(e.key===`ArrowUp`)r=(n-1+t.length)%t.length;else if(e.key===`Home`)r=0;else if(e.key===`End`)r=t.length-1;else return;e.preventDefault(),e.stopPropagation(),t[r]?.focus()}var j=Xt(),M=l(j),ce=l(M),le=l(ce,!0);D(ce);var ue=c(ce,2),de=e=>{f(e,Gt())};r(ue,e=>{s(E)&&e(de)}),D(M),x(M,e=>_(u,e),()=>s(u));var fe=c(M,2),pe=e=>{var i=Yt();let o,u;t(i,21,()=>s(C),se,(e,i,o)=>{var u=Jt(),d=k(u),m=e=>{f(e,Kt())};r(d,e=>{o>0&&e(m)}),t(c(d,2),17,()=>s(i),e=>e.value,(e,t)=>{var r=qt(),i=l(r,!0);D(r),g(()=>{r.disabled=s(t).disabled,A(r,`title`,s(t).title),n(i,s(t).label)}),p(`click`,r,()=>a.onSelect(s(t).value)),f(e,r)}),f(e,u)}),D(i),x(i,e=>_(d,e),()=>s(d)),g(()=>{o=b(i,1,`submenu svelte-13hq4tl`,null,o,{"opens-left":s(S)}),A(i,`aria-label`,a.label),u=w(i,``,u,{"max-height":`${s(ee)}px`})}),p(`keydown`,i,ae),f(e,i)};r(fe,e=>{s(E)&&s(v)&&e(pe)}),D(j),g(()=>{A(M,`aria-haspopup`,s(E)?`menu`:void 0),A(M,`aria-expanded`,s(E)?s(v):void 0),n(le,a.label)}),i(`mouseenter`,j,()=>void ne()),i(`mouseleave`,j,()=>_(v,!1)),p(`focusout`,j,e=>{e.currentTarget.contains(e.relatedTarget)||_(v,!1)}),p(`click`,M,ie),p(`keydown`,M,O),f(e,j),oe()}d([`focusout`,`click`,`keydown`]);var Qt=e(`<button role="menuitem" class="svelte-109nkvw">Rename</button>`),$t=e(`<div class="context-menu svelte-109nkvw" role="menu" aria-label="Asset actions" tabindex="-1"><!> <!> <button class="danger svelte-109nkvw" role="menuitem"> </button> <hr class="svelte-109nkvw"/> <!></div>`);function en(e,t){re(t,!0);let o=m(()=>Math.max(8,Math.min(t.x,window.innerWidth-176))),u=m(()=>t.assetCount===1&&t.copyOptions.length>0),d=m(()=>2+ +!!s(u)+ +!!t.onRename),h=m(()=>Math.max(8,Math.min(t.y,window.innerHeight-(s(d)*32+17)))),_=/Mac|iPhone|iPad/.test(navigator.platform)?`Open in Finder`:/Win/.test(navigator.platform)?`Open in Explorer`:`Open in File Manager`;function v(e){e(),t.onClose()}var y=$t();i(`click`,a,function(...e){t.onClose?.apply(this,e)}),i(`blur`,a,function(...e){t.onClose?.apply(this,e)}),i(`keydown`,a,e=>e.key===`Escape`&&t.onClose()),i(`resize`,a,function(...e){t.onClose?.apply(this,e)}),i(`scroll`,a,function(...e){t.onClose?.apply(this,e)});let b;var x=l(y),S=e=>{{let n=m(()=>[t.copyOptions.slice(0,1).map(e=>({label:e,value:e})),t.copyOptions.slice(1).map(e=>({label:e,value:e}))]);Zt(e,{label:`Copy Asset ID`,get sections(){return s(n)},alwaysSubmenu:!0,onSelect:e=>v(()=>t.onCopy(e))})}};r(x,e=>{s(u)&&e(S)});var ee=c(x,2),C=e=>{var n=Qt();p(`click`,n,()=>v(t.onRename)),f(e,n)};r(ee,e=>{t.onRename&&e(C)});var te=c(ee,2),T=l(te,!0);D(te);var E=c(te,4);{let e=m(()=>[[{label:`Raw`,value:`raw`},{label:`Proxy`,value:`proxy`,disabled:!t.hasProxy,title:t.hasProxy?void 0:`No proxy is available for this asset.`}]]);Zt(E,{get label(){return _},get sections(){return s(e)},alwaysSubmenu:!0,onSelect:e=>v(()=>t.onReveal(e))})}D(y),g(()=>{b=w(y,``,b,{left:`${s(o)}px`,top:`${s(h)}px`}),n(T,t.assetCount===1?`Delete Asset`:`Delete ${t.assetCount} Assets`)}),p(`contextmenu`,y,e=>e.preventDefault()),p(`click`,te,()=>v(t.onDelete)),f(e,y),oe()}d([`contextmenu`,`click`]);var tn=e(`<span class="emoji svelte-1b4m5oj"> </span>`),nn=e(`<span><!> <span class="name svelte-1b4m5oj"> </span></span>`);function rn(e,t){re(t,!0);let i=T(t,`variant`,3,`chip`),a=T(t,`passive`,3,!1),o=T(t,`via`,19,()=>[]),u=m(()=>N.manifestAppearance(t.name)),d=m(()=>s(u).color??`var(--accent)`),p=m(()=>a()?`${t.name} — passive member${o().length>0?`, via ${o().join(`, `)}`:``}`:t.name);var h=nn();let _;var v=l(h),y=e=>{var t=tn(),r=l(t,!0);D(t),g(()=>n(r,s(u).emoji)),f(e,t)};r(v,e=>{s(u).emoji&&e(y)});var x=c(v,2),S=l(x,!0);D(x),D(h),g(()=>{_=b(h,1,`manifest-label ${i()??``}`,`svelte-1b4m5oj`,_,{passive:a()}),w(h,`--manifest-color: ${s(d)??``}`),A(h,`title`,s(p)),n(S,t.name)}),f(e,h),oe()}function an(e){return[e.id,...e.manifests.map(t=>`${t}.${e.id}`)]}var on=e(`<!>`,1),sn=e(`<div><span class="icon-slot svelte-dr99ka"><!></span> <select class="svelte-dr99ka"><!></select></div>`);function cn(e,t){re(t,!0);let n=T(t,`value`,15),r=T(t,`active`,3,!1);var i=sn();let a;var o=l(i);Te(l(o),{get name(){return t.icon},size:14}),D(o);var s=c(o,2);C(s,()=>{var e=l(s),n=on();j(k(n),()=>t.children),f(e,n)}),D(i),g(()=>{a=b(i,1,`browse-select control svelte-dr99ka`,null,a,{"filter-active":r()}),A(o,`title`,t.label),A(s,`aria-label`,t.label)}),O(s,n),f(e,i),oe()}var ln=e(`<span class="selection-summary svelte-1uha8ag"> </span> <button class="control">Select all shown</button> <button class="control">Clear</button>`,1),un=e(`<button class="control">Select All</button>`),dn=e(`<option>Sort alphabetically</option> <option>Sort by type</option> <option>Sort by manifest</option>`,1),fn=e(`<option> </option>`),pn=e(`<option>All types</option> <!>`,1),mn=e(`<option>All manifests</option> <!>`,1),hn=e(`<option>All Assets</option> <option>Changed Assets</option> <option>New Assets</option> <option>Changed &amp; New Assets</option>`,1),gn=e(`<div class="empty svelte-1uha8ag">Loading library…</div>`),_n=e(`<div class="empty svelte-1uha8ag"> </div>`),vn=e(`<button draggable="true"><span class="folder-card-icon svelte-1uha8ag"><!></span> <span class="folder-card-details svelte-1uha8ag"><strong class="svelte-1uha8ag"> </strong> <span class="svelte-1uha8ag"> </span></span> <span class="folder-card-arrow svelte-1uha8ag">›</span></button>`),yn=e(`<section class="section folder-section svelte-1uha8ag"><!> <div class="folder-grid svelte-1uha8ag"></div></section>`),bn=e(`<span class="section-emoji svelte-1uha8ag"> </span>`),xn=e(`<!> `,1),Sn=e(`<span class="badge warning svelte-1uha8ag">⚠</span>`),Cn=e(`<a draggable="true"><!> <input class="asset-select svelte-1uha8ag" type="checkbox"/> <div class="thumbnail checkerboard svelte-1uha8ag"><!></div> <div class="meta svelte-1uha8ag"><span class="id svelte-1uha8ag"> </span> <span class="type-badge svelte-1uha8ag"> </span></div> <div class="badges svelte-1uha8ag"><!> <!> <!></div></a>`),wn=e(`<section class="section svelte-1uha8ag"><!> <div class="grid svelte-1uha8ag"></div></section>`),Tn=e(`<!> <!>`,1),En=e(`<div class="drop-hint svelte-1uha8ag"> </div>`),Dn=e(`<p class="dialog-warning svelte-1uha8ag"> </p>`),On=e(`<p class="dialog-warning svelte-1uha8ag">An asset with this ID already exists.</p>`),kn=e(`<label class="dialog-row svelte-1uha8ag"><span class="svelte-1uha8ag">ID</span> <input class="control svelte-1uha8ag" spellcheck="false"/></label> <!> <!> <!> <!>`,1),An=e(`<p class="dialog-text svelte-1uha8ag"> </p> <!> <!>`,1),jn=e(`<div class="library-view svelte-1uha8ag"><!> <div role="application" aria-label="Asset library — drop a file anywhere to import it"><div class="selection-bar svelte-1uha8ag"><!> <button class="control import svelte-1uha8ag">Import file</button> <button class="control">Import from Figma</button> <input type="file" hidden=""/></div> <div class="filter-bar svelte-1uha8ag"><!> <!> <!> <!> <div><span class="search-icon-slot svelte-1uha8ag"><svg class="search-icon svelte-1uha8ag" viewBox="0 0 16 16" aria-hidden="true"><circle cx="7" cy="7" r="4.5"></circle><path d="m10.5 10.5 3 3"></path></svg></span> <input class="search-input svelte-1uha8ag" type="search" placeholder="Search assets and folders…" aria-label="Search assets and folders" spellcheck="false"/> <kbd class="svelte-1uha8ag"> </kbd></div> <label class="toggle svelte-1uha8ag"><input type="checkbox"/> Warnings only</label></div> <!> <!></div></div> <!> <!> <!> <!> <!> <!>`,1);function Mn(e,d){re(d,!0);let C=`fundus.gallery.sort`,w=`fundus.gallery.folder`;function T(){try{let e=localStorage.getItem(C);if(e===`type`||e===`manifest`||e===`alphabetical`)return e}catch{}return`alphabetical`}let O=y(v(T()));function se(){try{let e=localStorage.getItem(w);return e===null||e===`__all__`?null:e}catch{return null}}let j=y(v(se())),Te=y(`all`),P=y(`all`),Re=y(`all`),ze=y(``),F=y(!1),I=y(!1),Be=y(null),L=y(null),Ve=y(``),R=y(null),z=y(null),B=y(null),V=y(``),He=y(void 0),H=y(v([])),U=y(null),Ue=y(null),W=y(!1),G=y(null),K=0,We=y(null),Ge=0,Ke=y(null),qe=0,Je=y(null),Ye=0,q=y(v([])),J=y(null),Xe=y(void 0),Y=y(void 0),Ze=Se().join(`,`),Qe=/Mac|iPhone|iPad/.test(navigator.platform)?`⌘K`:`Ctrl K`;o(()=>{try{localStorage.setItem(C,s(O))}catch{}}),o(()=>{try{localStorage.setItem(w,s(j)??`__all__`)}catch{}});let X=m(()=>N.state?.assets??[]),$e=m(()=>s(B)!==null&&s(V)!==s(B)?fe(s(V)):null),et=m(()=>s(B)!==null&&s(X).some(e=>e.id!==s(B)&&e.id===s(V))),tt=m(()=>s(B)!==null&&s(V)!==s(B)&&s($e)===null&&!s(et)&&!s(W)),nt=m(()=>s(B)===null?[]:(s(X).find(e=>e.id===s(B))?.references.incoming??[]).map(e=>`${e.assetId}.${e.field} → ${s(B)}`)),rt=m(()=>new Set(s(H))),it=m(()=>s(H).flatMap(e=>(s(X).find(t=>t.id===e)?.references.incoming??[]).filter(e=>!s(rt).has(e.assetId)).map(t=>`${t.assetId}.${t.field} → ${e}`))),at=m(()=>N.state?.library.folders??[]),ot=m(()=>N.manifestNames),st=m(()=>[...new Set(s(X).map(e=>e.type))].sort()),ct=m(()=>s(ze).trim()),lt=m(()=>new Ut(s(X),{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})),ut=m(()=>s(ct)===``?null:new Set(s(lt).search(s(ct)).map(({item:e})=>e.id))),dt=m(()=>s(at).map(e=>({path:e,name:ye(e)}))),ft=m(()=>new Ut(s(dt),{keys:[{name:`name`,weight:.7},{name:`path`,weight:.3}],threshold:.35,ignoreLocation:!0,ignoreDiacritics:!0})),pt=m(()=>s(ct)===``?null:new Set(s(ft).search(s(ct)).map(({item:e})=>e.path))),mt=m(()=>s(j)===null?[]:s(at).filter(e=>le(e)===s(j)).sort((e,t)=>e.localeCompare(t))),ht=m(()=>s(pt)===null?s(mt):s(mt).filter(e=>s(pt).has(e)));o(()=>{N.state&&s(j)!==null&&s(j)!==``&&!s(at).includes(s(j))&&_(j,null)});let gt=m(()=>s(X).filter(e=>!(s(j)!==null&&e.folder!==s(j)||s(ut)!==null&&!s(ut).has(e.id)||s(Te)!==`all`&&e.type!==s(Te)||!Wt(e.gitStatus,s(Re))||s(P)!==`all`&&!e.manifests.includes(s(P))&&!e.passiveManifests.some(e=>e.manifest===s(P))||s(F)&&e.warnings.length===0))),_t=(e,t)=>e.id.localeCompare(t.id),vt=m(()=>{let e=[...s(gt)].sort(_t);if(s(O)===`alphabetical`)return[{key:`all`,heading:null,assets:e}];if(s(O)===`type`)return[...new Set(e.map(e=>e.type))].sort().map(t=>({key:t,heading:t,assets:e.filter(e=>e.type===t)}));let t=[];for(let n of s(ot)){let r=e.filter(e=>e.manifests.includes(n)||e.passiveManifests.some(e=>e.manifest===n));r.length>0&&t.push({key:n,heading:n,emoji:N.manifestAppearance(n).emoji,assets:r})}let n=e.filter(e=>e.manifests.length===0&&e.passiveManifests.length===0);return n.length>0&&t.push({key:`__no-manifest__`,heading:`No manifest`,assets:n}),t}),Z=m(()=>[...new Set(s(vt).flatMap(e=>e.assets.map(e=>e.id)))]);o(()=>{let e=new Set(s(X).map(e=>e.id)),t=s(q).filter(t=>e.has(t));t.length!==s(q).length&&_(q,t,!0)});function Q(e){Ie.begin(),_(j,e,!0),_(q,[],!0),_(J,null)}function yt(e,t){if(t&&s(J)!==null){let t=s(Z).indexOf(s(J)),n=s(Z).indexOf(e);if(t!==-1&&n!==-1){let r=Math.min(t,n),i=Math.max(t,n);_(q,[...new Set([...s(q),...s(Z).slice(r,i+1)])],!0),_(J,e,!0);return}}_(q,s(q).includes(e)?s(q).filter(t=>t!==e):[...s(q),e],!0),_(J,e,!0)}function bt(){_(q,[...s(Z)],!0),_(J,s(Z).at(-1)??null,!0)}function xt(e,t){if(!e.dataTransfer||t.length<2)return;let n=[...document.querySelectorAll(`.card[data-asset-id]`)],r=t.map(e=>n.find(t=>t.dataset.assetId===e)).filter(e=>e!==void 0);if(r.length<2)return;let i=document.createElement(`div`),a=44/(r.length-1),o=Math.min(r[0].offsetWidth,180),s=r[0].offsetHeight;Object.assign(i.style,{position:`fixed`,left:`-10000px`,top:`-10000px`,width:`${o+44}px`,height:`${s+44}px`,pointerEvents:`none`});for(let[e,t]of r.entries()){let n=t.cloneNode(!0);n.querySelector(`.asset-select`)?.remove(),n.removeAttribute(`href`),n.setAttribute(`aria-hidden`,`true`),Object.assign(n.style,{position:`absolute`,left:`${e*a}px`,top:`${e*a}px`,width:`${o}px`,height:`${s}px`,boxSizing:`border-box`,opacity:`1`}),i.append(n)}let c=document.createElement(`span`);c.textContent=String(t.length),Object.assign(c.style,{position:`absolute`,right:`0`,top:`0`,minWidth:`28px`,height:`28px`,padding:`0 7px`,boxSizing:`border-box`,borderRadius:`14px`,background:`var(--accent)`,color:`var(--text)`,font:`600 13px/28px system-ui, sans-serif`,textAlign:`center`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.35)`}),i.append(c),document.body.append(i),e.dataTransfer.setDragImage(i,24,24),requestAnimationFrame(()=>i.remove())}function St(e){e.preventDefault(),_(I,!1);let t=e.dataTransfer?.files?.[0];t&&(_(Ve,s(j)??``,!0),_(Be,t,!0))}function Ct(e){_(Ve,e,!0),s(Xe)?.click()}function wt(e){Ge+=1,_(We,{id:Ge,parent:e},!0)}function Tt(e){qe+=1,_(Ke,{id:qe,path:e},!0)}function Et(e){Ye+=1,_(Je,{id:Ye,path:e},!0)}function Dt(e){e.preventDefault(),_(z,null),_(R,{x:e.clientX,y:e.clientY,parent:s(j)??``,renamePath:null},!0)}function Ot(e,t){e.preventDefault(),e.stopPropagation(),_(z,null),_(R,{x:e.clientX,y:e.clientY,parent:t,renamePath:t},!0)}function kt(e,t){e.preventDefault(),e.stopPropagation(),_(R,null);let n=s(q).includes(t)?[...s(q)]:[t];s(q).includes(t)||(_(q,[t],!0),_(J,t,!0)),_(z,{x:e.clientX,y:e.clientY,assetIds:n,targetAssetId:t},!0)}function At(e){K+=1,_(B,e,!0),_(V,e,!0),_(G,null),h().then(()=>{s(He)?.focus(),s(He)?.select()})}function jt(e){K+=1,_(H,[...new Set(e)],!0),_(G,null)}async function Mt(e,t){try{await Ce(e,t),N.error=null}catch(e){N.error=e instanceof Error?e.message:String(e)}}function Nt(e){let t=N.assetById(e);return t?an(t):[e]}async function Pt(e){try{await navigator.clipboard.writeText(e),N.error=null}catch(e){N.error=`Could not copy asset ID: ${e instanceof Error?e.message:String(e)}`}}async function Ft(e){try{await xe(e),N.error=null}catch(e){N.error=e instanceof Error?e.message:String(e)}}function It(){s(W)||(K+=1,_(B,null),_(H,[],!0),_(G,null))}async function Lt(){if(!s(tt)||s(B)===null)return;let e=s(B),t=s(V);_(W,!0),_(G,null);let n=N.mutate(()=>he(e,{renameTo:t}),we(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});_(q,s(q).map(n=>n===e?t:n),!0),_(J,s(J)===e?t:s(J),!0),_(B,null);let r=++K;_(W,!1);try{await n}catch(n){let i=N.assetById(e)!==null;i&&(_(q,s(q).map(n=>n===t?e:n),!0),_(J,s(J)===t?e:s(J),!0)),i&&K===r&&(_(B,e,!0),_(V,t,!0),_(G,n instanceof Error?n.message:String(n),!0))}finally{_(W,!1)}}async function Rt(){if(s(H).length===0)return;let e=[...s(H)],t=[...s(q)],n=s(J);_(W,!0),_(G,null);let r=N.mutate(()=>me(e),_e(e),{dependencies:e.map(e=>`asset:${e}`),invalidatesOnFailure:e.map(e=>`asset:${e}`)}),i=new Set(e);_(q,s(q).filter(e=>!i.has(e)),!0),s(J)!==null&&i.has(s(J))&&_(J,null);let a=[...s(q)],o=s(J);_(H,[],!0);let c=++K;_(W,!1);try{await r}catch(r){let i=new Set(e.filter(e=>N.assetById(e)));i.size>0&&s(q).length===a.length&&s(q).every((e,t)=>e===a[t])&&s(J)===o&&(_(q,t.filter(e=>i.has(e)),!0),_(J,n!==null&&i.has(n)?n:null,!0)),i.size>0&&K===c&&(_(H,e.filter(e=>i.has(e)),!0),_(G,r instanceof Error?r.message:String(r),!0))}finally{_(W,!1)}}function zt(e){return s(X).filter(t=>t.folder===e).length}function Bt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&_(Be,n,!0)}async function Vt(e){_(Be,null),_(L,null),await ce(M(`/asset/[id]`,{id:e}))}async function Ht(e,t){let n=e.filter(e=>N.assetById(e)?.folder!==t);if(n.length===0)return;let r=[...new Set([t,...n.flatMap(e=>{let t=N.assetById(e)?.folder;return t===void 0?[]:[t]})])],i=[...s(q)],a=s(J),o=N.mutate(()=>ue(n,t),ve(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]});_(q,[],!0),_(J,null);try{await o}catch{n.some(e=>N.assetById(e)?.folder!==t)&&s(q).length===0&&s(J)===null&&(_(q,i,!0),_(J,a,!0))}}function $(e,t){let n=e.dataTransfer?.types.includes(`application/x-fundus-assets`)??!1,r=ke(e.dataTransfer?.types.includes(`application/x-fundus-folder`)??!1,s(U),t,s(at));!n&&!r||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),_(Ue,t,!0))}function Gt(e,t){e.preventDefault(),_(Ue,null);let n=e.dataTransfer?.getData(`application/x-fundus-assets`);if(n){try{let e=JSON.parse(n);Array.isArray(e)&&e.every(e=>typeof e==`string`)&&Ht(e,t)}catch{}return}let r=e.dataTransfer?.getData(`application/x-fundus-folder`);r&&De(r,t,s(at))&&Kt(r,t)}async function Kt(e,t){let n=pe(t,ye(e)),r=s(j),i=r,a=N.mutate(()=>ge(e,t),be(e,t),{dependencies:[`folder:${e}`,`folder:${t}`,`folder:${n}`],invalidatesOnFailure:[`folder:${e}`,`folder:${n}`]});s(j)!==null&&de(s(j),e)&&(i=`${n}${s(j).slice(e.length)}`,Q(i));try{await a}catch{s(j)===i&&s(at).some(t=>de(t,e))&&Q(r)}finally{_(U,null),_(Ue,null)}}function qt(e){e&&e.play().catch(()=>{})}function Jt(e){e&&(e.pause(),e.currentTime=0)}function Yt(e){e.defaultPrevented||e.altKey||e.shiftKey||!e.metaKey&&!e.ctrlKey||e.key.toLowerCase()!==`k`||document.querySelector(`[role="dialog"]`)!==null||(e.preventDefault(),s(Y)?.focus(),s(Y)?.select())}var Xt=jn();i(`keydown`,a,Yt),i(`dragenter`,a,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(I,!0))}),i(`dragover`,a,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),_(I,!0))}),i(`drop`,a,St);var Zt=k(Xt),Qt=l(Zt);je(Qt,{get selectedFolder(){return s(j)},get createRequest(){return s(We)},get renameRequest(){return s(Ke)},get deleteRequest(){return s(Je)},onSelect:Q,onMoveAssets:(e,t)=>void Ht(e,t),get sharedDraggedFolder(){return s(U)},onFolderDragStart:e=>_(U,e,!0),onFolderDragEnd:()=>_(U,null),onContextMenu:(e,t,n,r)=>{_(z,null),_(R,{x:e,y:t,parent:n,renamePath:r},!0)}});var $t=c(Qt,2);let tn;var nn=l($t),on=l(nn),sn=e=>{var t=ln(),r=k(t),i=l(r);D(r);var a=c(r,2),o=c(a,2);g(()=>n(i,`${s(q).length??``} selected`)),p(`click`,a,bt),p(`click`,o,()=>{_(q,[],!0),_(J,null)}),f(e,t)},Mn=e=>{var t=un();g(()=>t.disabled=s(Z).length===0),p(`click`,t,bt),f(e,t)};r(on,e=>{s(q).length>0?e(sn):e(Mn,-1)});var Nn=c(on,2),Pn=c(Nn,2),Fn=c(Pn,2);x(Fn,e=>_(Xe,e),()=>s(Xe)),D(nn);var In=c(nn,2),Ln=l(In);cn(Ln,{label:`Sort`,icon:`sort`,get value(){return s(O)},set value(e){_(O,e,!0)},children:(e,t)=>{var n=dn(),r=k(n);r.value=r.__value=`alphabetical`;var i=c(r,2);i.value=i.__value=`type`;var a=c(i,2);a.value=a.__value=`manifest`,f(e,n)},$$slots:{default:!0}});var Rn=c(Ln,2);{let e=m(()=>s(Te)!==`all`);cn(Rn,{label:`Filter by type`,icon:`asset-type`,get active(){return s(e)},get value(){return s(Te)},set value(e){_(Te,e,!0)},children:(e,r)=>{var i=pn(),a=k(i);a.value=a.__value=`all`,t(c(a,2),16,()=>s(st),e=>e,(e,t)=>{var r=fn(),i=l(r,!0);D(r);var a={};g(()=>{n(i,t),a!==(a=t)&&(r.value=(r.__value=t)??``)}),f(e,r)}),f(e,i)},$$slots:{default:!0}})}var zn=c(Rn,2);{let e=m(()=>s(P)!==`all`);cn(zn,{label:`Filter by manifest`,icon:`manifest`,get active(){return s(e)},get value(){return s(P)},set value(e){_(P,e,!0)},children:(e,r)=>{var i=mn(),a=k(i);a.value=a.__value=`all`,t(c(a,2),16,()=>s(ot),e=>e,(e,t)=>{let r=m(()=>N.manifestAppearance(t).emoji);var i=fn(),a=l(i,!0);D(i);var o={};g(()=>{n(a,s(r)?`${s(r)} ${t}`:t),o!==(o=t)&&(i.value=(i.__value=t)??``)}),f(e,i)}),f(e,i)},$$slots:{default:!0}})}var Bn=c(zn,2);{let e=m(()=>s(Re)!==`all`);cn(Bn,{label:`Filter by Git status`,icon:`git-branch`,get active(){return s(e)},get value(){return s(Re)},set value(e){_(Re,e,!0)},children:(e,t)=>{var n=hn(),r=k(n);r.value=r.__value=`all`;var i=c(r,2);i.value=i.__value=`changed`;var a=c(i,2);a.value=a.__value=`new`;var o=c(a,2);o.value=o.__value=`changed-and-new`,f(e,n)},$$slots:{default:!0}})}var Vn=c(Bn,2);let Hn;var Un=c(l(Vn),2);ne(Un),x(Un,e=>_(Y,e),()=>s(Y));var Wn=c(Un,2),Gn=l(Wn,!0);D(Wn),D(Vn);var Kn=c(Vn,2),qn=l(Kn);ne(qn),S(),D(Kn),D(In);var Jn=c(In,2),Yn=e=>{f(e,gn())},Xn=e=>{var t=_n(),r=l(t,!0);D(t),g(()=>n(r,s(X).length===0?`No assets yet — drop an image anywhere to import it.`:`Nothing matches the current filters.`)),f(e,t)},Zn=e=>{var a=Tn(),o=k(a),d=e=>{var r=yn(),a=l(r);Ae(a,{children:(e,t)=>{S(),f(e,u(`Folders`))},$$slots:{default:!0}});var o=c(a,2);t(o,20,()=>s(ht),e=>e,(e,t)=>{var r=vn();let a;var o=l(r);Ne(l(o),{size:18}),D(o);var u=c(o,2),d=l(u),m=l(d,!0);D(d);var h=c(d,2),v=l(h);D(h),D(u),S(2),D(r),g((e,i)=>{a=b(r,1,`folder-card svelte-1uha8ag`,null,a,{"drop-target":s(Ue)===t,"dragging-folder":s(U)===t}),n(m,e),n(v,`${i??``} assets`)},[()=>ye(t),()=>zt(t)]),p(`click`,r,()=>Q(t)),p(`contextmenu`,r,e=>Ot(e,t)),i(`dragstart`,r,e=>{_(U,t,!0),e.dataTransfer?.setData(`application/x-fundus-folder`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),i(`dragend`,r,()=>{_(U,null),_(Ue,null)}),i(`dragover`,r,e=>$(e,t)),i(`dragleave`,r,()=>_(Ue,null)),i(`drop`,r,e=>Gt(e,t)),f(e,r)}),D(o),D(r),f(e,r)};r(o,e=>{s(ht).length>0&&e(d)});var h=c(o,2),v=e=>{var a=E();t(k(a),17,()=>s(vt),e=>e.key,(e,a)=>{var o=wn(),u=l(o),d=e=>{Ae(e,{children:(e,t)=>{var i=xn(),o=k(i),u=e=>{var t=bn(),r=l(t,!0);D(t),g(()=>n(r,s(a).emoji)),f(e,t)};r(o,e=>{s(a).emoji&&e(u)});var d=c(o,1,!0);g(()=>n(d,s(a).heading)),f(e,i)},$$slots:{default:!0}})};r(u,e=>{s(a).heading&&e(d)});var h=c(u,2);t(h,21,()=>s(a).assets,e=>e.id,(e,a)=>{let o=m(()=>Oe[s(a).type]?.thumbnail);var u=Cn();let d;var h=l(u),_=e=>{{let t=m(()=>`${s(a).gitStatus===`new`?`New`:`Edited`} on ${N.state?.gitBranch??`the current Git branch`}`);Ee(e,{get kind(){return s(a).gitStatus},overlay:!0,get title(){return s(t)}})}};r(h,e=>{s(a).gitStatus&&e(_)});var v=c(h,2);ne(v);var y=c(v,2),x=l(y),S=e=>{var t=E();ee(k(t),()=>s(o),(e,t)=>{t(e,{get asset(){return s(a)}})}),f(e,t)};r(x,e=>{s(o)&&e(S)}),D(y);var C=c(y,2),w=l(C),T=l(w,!0);D(w);var re=c(w,2),ie=l(re,!0);D(re),D(C);var O=c(C,2),ae=l(O);t(ae,16,()=>s(a).manifests,e=>e,(e,t)=>{rn(e,{get name(){return t}})});var oe=c(ae,2);t(oe,17,()=>s(a).passiveManifests,e=>e.manifest,(e,t)=>{rn(e,{get name(){return s(t).manifest},passive:!0,get via(){return s(t).via}})}),t(c(oe,2),16,()=>s(a).warnings,e=>e,(e,t)=>{var n=Sn();g(()=>A(n,`title`,t)),f(e,n)}),D(O),D(u),g((e,t,r)=>{d=b(u,1,`card svelte-1uha8ag`,null,d,e),A(u,`data-asset-id`,s(a).id),A(u,`href`,t),te(v,r),A(v,`aria-label`,`Select ${s(a).id}`),n(T,s(a).id),n(ie,s(a).type)},[()=>({selected:s(q).includes(s(a).id)}),()=>M(`/asset/[id]`,{id:s(a).id}),()=>s(q).includes(s(a).id)]),p(`contextmenu`,u,e=>kt(e,s(a).id)),p(`click`,u,e=>{(s(q).length>0||e.metaKey||e.ctrlKey||e.shiftKey)&&(e.preventDefault(),yt(s(a).id,e.shiftKey))}),i(`dragstart`,u,e=>{let t=s(q).includes(s(a).id)?s(q):[s(a).id];e.dataTransfer?.setData(`application/x-fundus-assets`,JSON.stringify(t)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`),xt(e,t)}),i(`focus`,u,e=>qt(e.currentTarget.querySelector(`video`))),i(`blur`,u,e=>Jt(e.currentTarget.querySelector(`video`))),p(`click`,v,e=>{e.stopPropagation(),yt(s(a).id,e.shiftKey)}),f(e,u)}),D(h),D(o),f(e,o)}),f(e,a)};r(h,e=>{s(gt).length>0&&e(v)}),f(e,a)};r(Jn,e=>{N.state?s(gt).length===0&&s(ht).length===0?e(Xn,1):e(Zn,-1):e(Yn)});var Qn=c(Jn,2),$n=e=>{var t=En(),r=l(t);D(t),g(()=>n(r,`Drop to import into ${(s(j)||`Root`)??``}`)),f(e,t)};r(Qn,e=>{s(I)&&e($n)}),D($t),D(Zt);var er=c(Zt,2),tr=e=>{{let t=m(()=>s(R).renamePath===null?void 0:()=>Tt(s(R)?.renamePath??``)),n=m(()=>s(R).renamePath===null?void 0:()=>Et(s(R)?.renamePath??``));Fe(e,{get x(){return s(R).x},get y(){return s(R).y},onReveal:()=>void Ft(s(R)?.renamePath??s(R)?.parent??``),onNewDirectory:()=>wt(s(R)?.parent??``),get onRenameDirectory(){return s(t)},onImportFile:()=>Ct(s(R)?.parent??``),onImportFigma:()=>_(L,s(R)?.parent??``,!0),get onDeleteDirectory(){return s(n)},onClose:()=>_(R,null)})}};r(er,e=>{s(R)&&e(tr)});var nr=c(er,2),rr=e=>{{let t=m(()=>Nt(s(z).targetAssetId)),n=m(()=>!!N.assetById(s(z).targetAssetId)?.proxy),r=m(()=>s(z).assetIds.length===1?()=>At(s(z)?.assetIds[0]??``):void 0);en(e,{get x(){return s(z).x},get y(){return s(z).y},get assetCount(){return s(z).assetIds.length},get copyOptions(){return s(t)},onCopy:e=>void Pt(e),get hasProxy(){return s(n)},onReveal:e=>void Mt(s(z)?.targetAssetId??``,e),get onRename(){return s(r)},onDelete:()=>jt(s(z)?.assetIds??[]),onClose:()=>_(z,null)})}};r(nr,e=>{s(z)&&e(rr)});var ir=c(nr,2),ar=e=>{{let t=m(()=>s(W)?`Renaming…`:`Rename`),i=m(()=>!s(tt));Le(e,{title:`Rename asset`,get confirmLabel(){return s(t)},get confirmDisabled(){return s(i)},get busy(){return s(W)},onConfirm:()=>void Lt(),onCancel:It,children:(e,t)=>{var i=kn(),a=k(i),o=c(l(a),2);ne(o),x(o,e=>_(He,e),()=>s(He)),D(a);var u=c(a,2),d=e=>{var t=Dn(),r=l(t,!0);D(t),g(()=>n(r,s($e))),f(e,t)};r(u,e=>{s($e)&&e(d)});var p=c(u,2),m=e=>{f(e,On())};r(p,e=>{s(et)&&e(m)});var h=c(p,2),v=e=>{var t=Dn(),r=l(t);D(t),g(e=>n(r,`Renaming leaves ${s(nt).length??``} reference(s) pointing to the old ID:
2
+ ${e??``}`),[()=>s(nt).join(`, `)]),f(e,t)};r(h,e=>{s(nt).length>0&&e(v)});var y=c(h,2),b=e=>{var t=Dn(),r=l(t,!0);D(t),g(()=>n(r,s(G))),f(e,t)};r(y,e=>{s(G)&&e(b)}),g(()=>o.disabled=s(W)),ae(o,()=>s(V),e=>_(V,e)),f(e,i)},$$slots:{default:!0}})}};r(ir,e=>{s(B)!==null&&e(ar)});var or=c(ir,2),sr=e=>{{let t=m(()=>s(H).length===1?`Delete asset`:`Delete ${s(H).length} assets`),i=m(()=>s(W)?`Deleting…`:s(H).length===1?`Delete asset`:`Delete ${s(H).length} assets`);Le(e,{get title(){return s(t)},get confirmLabel(){return s(i)},danger:!0,get busy(){return s(W)},onConfirm:()=>void Rt(),onCancel:It,children:(e,t)=>{var i=An(),a=k(i),o=l(a);D(a);var u=c(a,2),d=e=>{var t=Dn(),r=l(t);D(t),g(e=>n(r,`This leaves ${s(it).length??``} external reference(s) dangling:
3
+ ${e??``}`),[()=>s(it).join(`, `)]),f(e,t)};r(u,e=>{s(it).length>0&&e(d)});var p=c(u,2),m=e=>{var t=Dn(),r=l(t,!0);D(t),g(()=>n(r,s(G))),f(e,t)};r(p,e=>{s(G)&&e(m)}),g(e=>n(o,`Delete ${e??``}? Their raw files and proxies are removed.`),[()=>s(H).join(`, `)]),f(e,i)},$$slots:{default:!0}})}};r(or,e=>{s(H).length>0&&e(sr)});var cr=c(or,2),lr=e=>{Pe(e,{get file(){return s(Be)},get folder(){return s(Ve)},onDone:e=>void Vt(e),onCancel:()=>_(Be,null)})};r(cr,e=>{s(Be)&&e(lr)});var ur=c(cr,2),dr=e=>{Me(e,{get folder(){return s(L)},onDone:e=>void Vt(e),onCancel:()=>_(L,null)})};r(ur,e=>{s(L)!==null&&e(dr)}),g(()=>{tn=b($t,1,`page svelte-1uha8ag`,null,tn,{dragging:s(I)}),A(Fn,`accept`,Ze),Hn=b(Vn,1,`control search svelte-1uha8ag`,null,Hn,{"filter-active":s(ct)!==``}),n(Gn,Qe)}),p(`contextmenu`,$t,Dt),i(`dragleave`,$t,e=>{e.relatedTarget===null&&_(I,!1)}),p(`click`,Nn,()=>Ct(s(j)??``)),p(`click`,Pn,()=>_(L,s(j)??``,!0)),p(`change`,Fn,Bt),p(`keydown`,Un,e=>{e.key===`Escape`&&(e.stopPropagation(),s(ze)===``?e.currentTarget.blur():_(ze,``))}),ae(Un,()=>s(ze),e=>_(ze,e)),ie(qn,()=>s(F),e=>_(F,e)),f(e,Xt),oe()}d([`contextmenu`,`click`,`change`,`keydown`]);export{Mn as component};
@@ -1 +1 @@
1
- import{A as e,C as t,D as n,E as r,H as i,I as a,J as o,K as s,M as c,N as l,O as u,P as d,Q as f,V as p,X as m,Z as h,_ as ee,a as g,at as _,b as v,f as y,it as b,k as x,l as te,nt as S,ot as C,p as ne,q as w,s as re,tt as T,u as E}from"../chunks/NblqapDQ.js";import{c as D,t as O}from"../chunks/B9iWbZmZ.js";import"../chunks/xihTtKlq.js";import{t as k}from"../chunks/DrsNq6gf.js";import{H as A,J as j,O as ie,Q as ae,X as oe,a as se,c as ce,et as le,m as ue,n as de,nt as fe,p as pe,t as M,u as N}from"../chunks/DylBiD8l.js";import{t as me}from"../chunks/C7Cs5PXV.js";import{c as he,l as P,n as ge,o as _e,s as ve,t as ye,u as F}from"../chunks/Blpvahbd.js";function be(e,t,n){return n===t.revision?e??t:e}var xe=e(`<div class="center empty svelte-xy8zsr">Loading…</div>`),Se=e(`<div class="center empty svelte-xy8zsr"> </div>`),Ce=e(`<div class="empty svelte-xy8zsr"> </div>`),we=e(`<p class="warning svelte-xy8zsr"> </p>`),Te=e(`<p class="hint error svelte-xy8zsr"> </p>`),Ee=e(`<section class="svelte-xy8zsr"><!> <p class="hint source-label svelte-xy8zsr"> </p> <label class="source-field svelte-xy8zsr"><span>Selection link</span> <input class="control svelte-xy8zsr" type="url"/></label> <label class="source-field svelte-xy8zsr"><span>Export scale</span> <select class="control svelte-xy8zsr"><option>1x</option><option>2x</option><option>3x</option><option>4x</option></select></label> <div class="source-actions svelte-xy8zsr"><a class="control svelte-xy8zsr" target="_blank" rel="noreferrer">Open in Figma</a> <button> </button></div> <!></section>`),De=e(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),Oe=e(`<p class="hint svelte-xy8zsr">No references.</p>`),ke=e(`<a class="reference-row svelte-xy8zsr"><span class="reference-field svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-asset svelte-xy8zsr"> </span></a>`),Ae=e(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),je=e(`<a class="reference-row svelte-xy8zsr"><span class="reference-asset svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-field svelte-xy8zsr"> </span></a>`),Me=e(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),Ne=e(`<!> <!>`,1),Pe=e(`<div class="center svelte-xy8zsr"><!></div> <aside class="inspector svelte-xy8zsr"><section class="head svelte-xy8zsr"><h2 class="svelte-xy8zsr"> </h2> <p class="raw svelte-xy8zsr"> <span title="Raw file"> </span></p> <!></section> <!> <!> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <button class="control replace-raw svelte-xy8zsr"> </button> <!> <div class="rename svelte-xy8zsr"><input class="control svelte-xy8zsr" type="text" spellcheck="false"/> <button class="control">Rename</button></div> <!> <button class="control danger svelte-xy8zsr">Delete asset</button></section></aside>`,1),I=e(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <input type="file" hidden=""/> <!> <!> <!>`,1);function L(e,l){S(l,!0);let L=f(()=>k.params.id??``),R=f(()=>M.assetById(a(L))),Fe=f(()=>M.manifestNames),Ie=f(()=>a(R)?M.state?.presetNames[a(R).type]??[]:[]),z=f(()=>a(R)?he[a(R).type]??null:null),Le=f(()=>a(z)?.panel??null),Re=f(()=>a(z)?.editor??null),B=f(()=>{if(a(R)?.importSource?.importer!==`figma`)return null;let e=a(R).importSource.parameters;if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.fileKey!=`string`||typeof t.nodeId!=`string`||!/^\d+:\d+$/.test(t.nodeId)||t.scale!==1&&t.scale!==2&&t.scale!==3&&t.scale!==4?null:{fileKey:t.fileKey,nodeId:t.nodeId,scale:t.scale,url:`https://www.figma.com/design/${encodeURIComponent(t.fileKey)}/fundus?node-id=${t.nodeId.replace(`:`,`-`)}`}}),V=h(null),ze=0,H=f(()=>a(R)?a(V)&&a(V).assetId===a(R).id?a(V).value:b(a(R)).parameters:null);function Be(e){a(R)&&m(V,{assetId:a(R).id,value:e,revision:++ze},!0)}let U=null,W=h(null),Ve=h(null),He=0,Ue=h(null),We=0,Ge=h(null),Ke=0,G=h(null),K=h(null),qe=h(``),Je=h(void 0),Ye=h(void 0),q=h(null),Xe=h(null),J=h(null),Y=h(null),Ze=h(null),X=h(``),Z=h(2),Qe=f(()=>a(B)!==null&&(a(X).trim()!==a(B).url||a(Z)!==a(B).scale));i(()=>{let e=a(B),t=a(R)&&e?`${a(R).id}|${e.fileKey}|${e.nodeId}|${e.scale}`:null;t!==a(Ze)&&(m(Ze,t,!0),m(X,e?.url??``,!0),m(Z,e?.scale??2,!0),m(Y,null))});let $e=pe().join(`,`),et=f(()=>a(R)?ue(a(R).type).join(`,`):``),tt=h(null),Q=f(()=>a(R)&&a(tt)?.assetId===a(R).id?a(tt).value:a(R)?.id??``),nt=f(()=>a(R)&&a(Q)!==a(R).id?ie(a(Q))??(M.assetById(a(Q))?`An asset with this ID already exists.`:null):null);async function rt(e){if(!a(R))return;let t=a(R).id,n=M.state?de(M.state,t,e):[`asset:${t}`];Be(e);let r=a(V),i=M.mutate(()=>oe(t,{parameters:e}),N(t,{parameters:e}),{dependencies:n});a(V)?.revision===r.revision&&m(V,null);try{await i}catch{m(V,be(a(V),r,ze),!0)}}async function it(e){if(!a(R))return;let t=a(R).id,n=a(R).manifests.includes(e)?a(R).manifests.filter(t=>t!==e):[...a(R).manifests,e];try{await M.mutate(()=>oe(t,{manifests:n}),N(t,{manifests:n}),{dependencies:[`asset:${t}`,...[...new Set([...n,e])].map(e=>`manifest:${e}`)]})}catch{}}async function at(){if(!a(R)||a(Q)===a(R).id||a(nt))return;let e=a(R).id,t=a(Q),n=M.mutate(()=>oe(e,{renameTo:t}),N(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});m(tt,null);let r=a(L)===e?O(D(`/asset/[id]`,{id:t}),{replaceState:!0}):Promise.resolve();try{await Promise.all([n,r])}catch{a(L)===t&&M.assetById(e)&&await O(D(`/asset/[id]`,{id:e}),{replaceState:!0})}}async function ot(){if(!a(R))return;let e=a(R).id;if(!confirm(`Delete "${e}"? The raw file and its proxies are removed.`))return;let t=M.mutate(()=>A(e),se([e]),{dependencies:[`asset:${e}`],invalidatesOnFailure:[`asset:${e}`]}),n=a(L)===e?F.begin():null;U=null;let r=n===null?Promise.resolve():O(D(`/`));try{await Promise.all([t,r])}catch{n!==null&&F.isCurrent(n)&&k.url.pathname===D(`/`)&&M.assetById(e)&&await O(D(`/asset/[id]`,{id:e}))}}async function st(e,t){let n=F.begin();U=t?{assetId:t,intent:n}:null;try{localStorage.setItem(`fundus.gallery.folder`,e??`__all__`)}catch{}await O(D(`/`))}async function ct(e){let t=U;t?.assetId!==e||!F.isCurrent(t.intent)||k.url.pathname!==D(`/`)||!M.assetById(e)||(U=null,await O(D(`/asset/[id]`,{id:e})))}async function lt(e){await st(e,a(L))}async function ut(e,t){let n=e.filter(e=>M.assetById(e)?.folder!==t);if(n.length===0)return;let r=[...new Set([t,...n.flatMap(e=>{let t=M.assetById(e)?.folder;return t===void 0?[]:[t]})])];try{await M.mutate(()=>j(n,t),ce(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]})}catch{}}function dt(e){He+=1,m(Ve,{id:He,parent:e},!0)}function ft(e){We+=1,m(Ue,{id:We,path:e},!0)}function pt(e){Ke+=1,m(Ge,{id:Ke,path:e},!0)}function mt(e){m(qe,e,!0),a(Je)?.click()}function ht(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&m(G,n,!0)}async function gt(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n||!a(R))return;let r=a(R).id;m(q,r,!0),m(Xe,null);try{await M.mutateFromServer(()=>le(r,n),{dependencies:[`asset:${r}`]})}catch(e){m(Xe,{assetId:r,message:e instanceof Error?e.message:String(e)},!0)}finally{a(q)===r&&m(q,null)}}function _t(){a(R)&&(a(R).importSource&&!confirm(`Replace file and disconnect Figma source? Future re-imports will no longer be available.`)||a(Ye)?.click())}async function vt(){if(!a(R)||!a(B))return;let e=a(R).id,t=a(X).trim();if(t.length===0){m(Y,{assetId:e,message:`Enter a Figma selection link.`},!0);return}m(J,e,!0),m(Y,null);let n=a(Qe)?{url:t,scale:a(Z)}:void 0;try{await M.mutateFromServer(()=>ae(e,n),{dependencies:[`asset:${e}`]}),m(Ze,null)}catch(t){m(Y,{assetId:e,message:t instanceof Error?t.message:String(t)},!0)}finally{a(J)===e&&m(J,null)}}async function yt(e){m(G,null),m(K,null),await O(D(`/asset/[id]`,{id:e}))}async function bt(e){try{await fe(e),M.error=null}catch(e){M.error=e instanceof Error?e.message:String(e)}}var xt=I(),St=w(xt),Ct=s(St);{let e=f(()=>a(R)?.folder??null);ge(Ct,{get selectedFolder(){return a(e)},get activeAsset(){return a(R)},get createRequest(){return a(Ve)},get renameRequest(){return a(Ue)},get deleteRequest(){return a(Ge)},onSelect:e=>void st(e),onMoveAssets:(e,t)=>void ut(e,t),onActiveAssetDeleted:e=>void lt(e),onActiveAssetDeleteFailed:e=>void ct(e),onContextMenu:(e,t,n,r)=>{m(W,{x:e,y:t,parent:n,renamePath:r},!0)}})}var wt=o(Ct,2),Tt=e=>{u(e,xe())},Et=e=>{var t=Se(),r=s(t);C(t),p(()=>n(r,`No asset with id "${a(L)??``}".`)),u(e,t)},Dt=e=>{var i=Pe(),l=w(i),f=s(l),h=e=>{var t=x();v(w(t),()=>a(Re),(e,t)=>{t(e,{get asset(){return a(R)},get parameters(){return a(H)},onParametersChange:Be,onParametersCommit:e=>void rt(e)})}),u(e,t)},g=e=>{var t=Ce(),r=s(t);C(t),p(()=>n(r,`No editor registered for asset type "${a(R).type??``}".`)),u(e,t)};r(f,e=>{a(Re)&&a(H)!==null?e(h):e(g,-1)}),C(l);var b=o(l,2),S=s(b),T=s(S),O=s(T,!0);C(T);var k=o(T,2),A=s(k),j=o(A),ie=s(j,!0);C(j),C(k),t(o(k,2),16,()=>a(R).warnings,e=>e,(e,t)=>{var r=we(),i=s(r);C(r),p(()=>n(i,`⚠ ${t??``}`)),u(e,r)}),C(S);var ae=o(S,2),oe=e=>{var t=x();v(w(t),()=>a(Le),(e,t)=>{t(e,{get asset(){return a(R)},get parameters(){return a(H)},onParametersChange:e=>Be(e),onParametersCommit:e=>void rt(e),get presetNames(){return a(Ie)}})}),u(e,t)};r(ae,e=>{a(Le)&&a(H)!==null&&e(oe)});var se=o(ae,2),ce=e=>{var t=Ee(),i=s(t);P(i,{children:(e,t)=>{_(),u(e,c(`Source`))},$$slots:{default:!0}});var l=o(i,2),f=s(l);C(l);var h=o(l,2),g=o(s(h),2);te(g),C(h);var v=o(h,2),y=o(s(v),2),b=s(y);b.value=b.__value=1;var x=o(b);x.value=x.__value=2;var S=o(x);S.value=S.__value=3;var w=o(S);w.value=w.__value=4,C(y),C(v);var T=o(v,2),D=s(T),O=o(D,2);let k;var A=s(O,!0);C(O),C(T);var j=o(T,2),ie=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(Y).message)),u(e,t)};r(j,e=>{a(Y)?.assetId===a(R).id&&e(ie)}),C(t),p(e=>{n(f,`Figma · node ${a(B).nodeId??``}`),g.disabled=a(J)===a(R).id,y.disabled=a(J)===a(R).id,E(D,`href`,a(B).url),k=ee(O,1,`control svelte-xy8zsr`,null,k,{primary:a(Qe)}),O.disabled=e,n(A,a(J)===a(R).id?a(Qe)?`Reimporting…`:`Refreshing…`:a(Qe)?`Reimport from Figma`:`Refresh`)},[()=>a(J)===a(R).id||a(X).trim().length===0]),re(g,()=>a(X),e=>m(X,e)),ne(y,()=>a(Z),e=>m(Z,e)),d(`click`,O,()=>void vt()),u(e,t)};r(se,e=>{a(B)&&e(ce)});var le=o(se,2),ue=s(le);P(ue,{children:(e,t)=>{_(),u(e,c(`Manifests`))},$$slots:{default:!0}});var de=o(ue,2),fe=e=>{u(e,De())},pe=e=>{me(e,{get manifests(){return a(Fe)},get selected(){return a(R).manifests},get passive(){return a(R).passiveManifests},onToggle:e=>void it(e)})};r(de,e=>{a(Fe).length===0?e(fe):e(pe,-1)}),C(le);var M=o(le,2),N=s(M);P(N,{children:(e,t)=>{_(),u(e,c(`References`))},$$slots:{default:!0}});var he=o(N,2),ge=e=>{u(e,Oe())},_e=e=>{var i=Ne(),c=w(i),l=e=>{var r=Ae();t(o(w(r),2),17,()=>a(R).references.outgoing,e=>`${e.field}→${e.assetId}`,(e,t)=>{var r=ke(),i=s(r),c=s(i,!0);C(i);var l=o(i,4),d=s(l,!0);C(l),C(r),p(e=>{E(r,`href`,e),n(c,a(t).field),n(d,a(t).assetId)},[()=>D(`/asset/[id]`,{id:a(t).assetId})]),u(e,r)}),u(e,r)};r(c,e=>{a(R).references.outgoing.length>0&&e(l)});var d=o(c,2),f=e=>{var r=Me();t(o(w(r),2),17,()=>a(R).references.incoming,e=>`${e.assetId}→${e.field}`,(e,t)=>{var r=je(),i=s(r),c=s(i,!0);C(i);var l=o(i,4),d=s(l,!0);C(l),C(r),p(e=>{E(r,`href`,e),n(c,a(t).assetId),n(d,a(t).field)},[()=>D(`/asset/[id]`,{id:a(t).assetId})]),u(e,r)}),u(e,r)};r(d,e=>{a(R).references.incoming.length>0&&e(f)}),u(e,i)};r(he,e=>{a(R).references.outgoing.length===0&&a(R).references.incoming.length===0?e(ge):e(_e,-1)}),C(M);var ve=o(M,2),ye=s(ve);P(ye,{children:(e,t)=>{_(),u(e,c(`Asset`))},$$slots:{default:!0}});var F=o(ye,2),be=s(F,!0);C(F);var xe=o(F,2),Se=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(Xe).message)),u(e,t)};r(xe,e=>{a(Xe)?.assetId===a(R).id&&e(Se)});var I=o(xe,2),L=s(I);te(L);var z=o(L,2);C(I);var V=o(I,2),ze=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(nt))),u(e,t)};r(V,e=>{a(nt)&&e(ze)});var U=o(V,2);C(ve),C(b),p(()=>{n(O,a(R).id),n(A,`${a(R).type??``} · `),n(ie,a(R).raw),F.disabled=a(q)===a(R).id,n(be,a(q)===a(R).id?`Replacing…`:`Replace`),y(L,a(Q)),z.disabled=a(Q)===a(R).id||a(nt)!==null}),d(`click`,F,_t),d(`input`,L,e=>m(tt,{assetId:a(R).id,value:e.currentTarget.value},!0)),d(`click`,z,()=>void at()),d(`click`,U,()=>void ot()),u(e,i)};r(wt,e=>{M.loaded?a(R)?e(Dt,-1):e(Et,1):e(Tt)}),C(St);var Ot=o(St,2);g(Ot,e=>m(Je,e),()=>a(Je));var $=o(Ot,2);g($,e=>m(Ye,e),()=>a(Ye));var kt=o($,2),At=e=>{{let t=f(()=>a(W).renamePath===null?void 0:()=>ft(a(W)?.renamePath??``)),n=f(()=>a(W).renamePath===null?void 0:()=>pt(a(W)?.renamePath??``));ye(e,{get x(){return a(W).x},get y(){return a(W).y},onReveal:()=>void bt(a(W)?.renamePath??a(W)?.parent??``),onNewDirectory:()=>dt(a(W)?.parent??``),get onRenameDirectory(){return a(t)},onImportFile:()=>mt(a(W)?.parent??``),onImportFigma:()=>m(K,a(W)?.parent??``,!0),get onDeleteDirectory(){return a(n)},onClose:()=>m(W,null)})}};r(kt,e=>{a(W)&&e(At)});var jt=o(kt,2),Mt=e=>{ve(e,{get file(){return a(G)},get folder(){return a(qe)},onDone:e=>void yt(e),onCancel:()=>m(G,null)})};r(jt,e=>{a(G)&&e(Mt)});var Nt=o(jt,2),Pt=e=>{_e(e,{get folder(){return a(K)},onDone:e=>void yt(e),onCancel:()=>m(K,null)})};r(Nt,e=>{a(K)!==null&&e(Pt)}),p(()=>{E(Ot,`accept`,$e),E($,`accept`,a(et))}),d(`change`,Ot,ht),d(`change`,$,e=>void gt(e)),u(e,xt),T()}l([`click`,`input`,`change`]);export{L as component};
1
+ import{A as e,C as t,D as n,E as r,H as i,I as a,J as o,K as s,M as c,N as l,O as u,P as d,Q as f,V as p,X as m,Z as h,_ as ee,a as g,at as _,b as v,f as y,it as b,k as x,l as te,nt as S,ot as C,p as ne,q as w,s as re,tt as T,u as E}from"../chunks/NblqapDQ.js";import{c as D,t as O}from"../chunks/B6BtXxR0.js";import"../chunks/xihTtKlq.js";import{t as k}from"../chunks/BEbRZpHw.js";import{H as A,J as j,O as ie,Q as ae,X as oe,a as se,c as ce,et as le,m as ue,n as de,nt as fe,p as pe,t as M,u as N}from"../chunks/4FCfXqUa.js";import{t as me}from"../chunks/BVDR6adL.js";import{c as he,l as P,n as ge,o as _e,s as ve,t as ye,u as F}from"../chunks/BX8lJS3k.js";function be(e,t,n){return n===t.revision?e??t:e}var xe=e(`<div class="center empty svelte-xy8zsr">Loading…</div>`),Se=e(`<div class="center empty svelte-xy8zsr"> </div>`),Ce=e(`<div class="empty svelte-xy8zsr"> </div>`),we=e(`<p class="warning svelte-xy8zsr"> </p>`),Te=e(`<p class="hint error svelte-xy8zsr"> </p>`),Ee=e(`<section class="svelte-xy8zsr"><!> <p class="hint source-label svelte-xy8zsr"> </p> <label class="source-field svelte-xy8zsr"><span>Selection link</span> <input class="control svelte-xy8zsr" type="url"/></label> <label class="source-field svelte-xy8zsr"><span>Export scale</span> <select class="control svelte-xy8zsr"><option>1x</option><option>2x</option><option>3x</option><option>4x</option></select></label> <div class="source-actions svelte-xy8zsr"><a class="control svelte-xy8zsr" target="_blank" rel="noreferrer">Open in Figma</a> <button> </button></div> <!></section>`),De=e(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),Oe=e(`<p class="hint svelte-xy8zsr">No references.</p>`),ke=e(`<a class="reference-row svelte-xy8zsr"><span class="reference-field svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-asset svelte-xy8zsr"> </span></a>`),Ae=e(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),je=e(`<a class="reference-row svelte-xy8zsr"><span class="reference-asset svelte-xy8zsr"> </span> <span class="reference-arrow svelte-xy8zsr">→</span> <span class="reference-field svelte-xy8zsr"> </span></a>`),Me=e(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),Ne=e(`<!> <!>`,1),Pe=e(`<div class="center svelte-xy8zsr"><!></div> <aside class="inspector svelte-xy8zsr"><section class="head svelte-xy8zsr"><h2 class="svelte-xy8zsr"> </h2> <p class="raw svelte-xy8zsr"> <span title="Raw file"> </span></p> <!></section> <!> <!> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <button class="control replace-raw svelte-xy8zsr"> </button> <!> <div class="rename svelte-xy8zsr"><input class="control svelte-xy8zsr" type="text" spellcheck="false"/> <button class="control">Rename</button></div> <!> <button class="control danger svelte-xy8zsr">Delete asset</button></section></aside>`,1),I=e(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <input type="file" hidden=""/> <!> <!> <!>`,1);function L(e,l){S(l,!0);let L=f(()=>k.params.id??``),R=f(()=>M.assetById(a(L))),Fe=f(()=>M.manifestNames),Ie=f(()=>a(R)?M.state?.presetNames[a(R).type]??[]:[]),z=f(()=>a(R)?he[a(R).type]??null:null),Le=f(()=>a(z)?.panel??null),Re=f(()=>a(z)?.editor??null),B=f(()=>{if(a(R)?.importSource?.importer!==`figma`)return null;let e=a(R).importSource.parameters;if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.fileKey!=`string`||typeof t.nodeId!=`string`||!/^\d+:\d+$/.test(t.nodeId)||t.scale!==1&&t.scale!==2&&t.scale!==3&&t.scale!==4?null:{fileKey:t.fileKey,nodeId:t.nodeId,scale:t.scale,url:`https://www.figma.com/design/${encodeURIComponent(t.fileKey)}/fundus?node-id=${t.nodeId.replace(`:`,`-`)}`}}),V=h(null),ze=0,H=f(()=>a(R)?a(V)&&a(V).assetId===a(R).id?a(V).value:b(a(R)).parameters:null);function Be(e){a(R)&&m(V,{assetId:a(R).id,value:e,revision:++ze},!0)}let U=null,W=h(null),Ve=h(null),He=0,Ue=h(null),We=0,Ge=h(null),Ke=0,G=h(null),K=h(null),qe=h(``),Je=h(void 0),Ye=h(void 0),q=h(null),Xe=h(null),J=h(null),Y=h(null),Ze=h(null),X=h(``),Z=h(2),Qe=f(()=>a(B)!==null&&(a(X).trim()!==a(B).url||a(Z)!==a(B).scale));i(()=>{let e=a(B),t=a(R)&&e?`${a(R).id}|${e.fileKey}|${e.nodeId}|${e.scale}`:null;t!==a(Ze)&&(m(Ze,t,!0),m(X,e?.url??``,!0),m(Z,e?.scale??2,!0),m(Y,null))});let $e=pe().join(`,`),et=f(()=>a(R)?ue(a(R).type).join(`,`):``),tt=h(null),Q=f(()=>a(R)&&a(tt)?.assetId===a(R).id?a(tt).value:a(R)?.id??``),nt=f(()=>a(R)&&a(Q)!==a(R).id?ie(a(Q))??(M.assetById(a(Q))?`An asset with this ID already exists.`:null):null);async function rt(e){if(!a(R))return;let t=a(R).id,n=M.state?de(M.state,t,e):[`asset:${t}`];Be(e);let r=a(V),i=M.mutate(()=>oe(t,{parameters:e}),N(t,{parameters:e}),{dependencies:n});a(V)?.revision===r.revision&&m(V,null);try{await i}catch{m(V,be(a(V),r,ze),!0)}}async function it(e){if(!a(R))return;let t=a(R).id,n=a(R).manifests.includes(e)?a(R).manifests.filter(t=>t!==e):[...a(R).manifests,e];try{await M.mutate(()=>oe(t,{manifests:n}),N(t,{manifests:n}),{dependencies:[`asset:${t}`,...[...new Set([...n,e])].map(e=>`manifest:${e}`)]})}catch{}}async function at(){if(!a(R)||a(Q)===a(R).id||a(nt))return;let e=a(R).id,t=a(Q),n=M.mutate(()=>oe(e,{renameTo:t}),N(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});m(tt,null);let r=a(L)===e?O(D(`/asset/[id]`,{id:t}),{replaceState:!0}):Promise.resolve();try{await Promise.all([n,r])}catch{a(L)===t&&M.assetById(e)&&await O(D(`/asset/[id]`,{id:e}),{replaceState:!0})}}async function ot(){if(!a(R))return;let e=a(R).id;if(!confirm(`Delete "${e}"? The raw file and its proxies are removed.`))return;let t=M.mutate(()=>A(e),se([e]),{dependencies:[`asset:${e}`],invalidatesOnFailure:[`asset:${e}`]}),n=a(L)===e?F.begin():null;U=null;let r=n===null?Promise.resolve():O(D(`/`));try{await Promise.all([t,r])}catch{n!==null&&F.isCurrent(n)&&k.url.pathname===D(`/`)&&M.assetById(e)&&await O(D(`/asset/[id]`,{id:e}))}}async function st(e,t){let n=F.begin();U=t?{assetId:t,intent:n}:null;try{localStorage.setItem(`fundus.gallery.folder`,e??`__all__`)}catch{}await O(D(`/`))}async function ct(e){let t=U;t?.assetId!==e||!F.isCurrent(t.intent)||k.url.pathname!==D(`/`)||!M.assetById(e)||(U=null,await O(D(`/asset/[id]`,{id:e})))}async function lt(e){await st(e,a(L))}async function ut(e,t){let n=e.filter(e=>M.assetById(e)?.folder!==t);if(n.length===0)return;let r=[...new Set([t,...n.flatMap(e=>{let t=M.assetById(e)?.folder;return t===void 0?[]:[t]})])];try{await M.mutate(()=>j(n,t),ce(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]})}catch{}}function dt(e){He+=1,m(Ve,{id:He,parent:e},!0)}function ft(e){We+=1,m(Ue,{id:We,path:e},!0)}function pt(e){Ke+=1,m(Ge,{id:Ke,path:e},!0)}function mt(e){m(qe,e,!0),a(Je)?.click()}function ht(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&m(G,n,!0)}async function gt(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n||!a(R))return;let r=a(R).id;m(q,r,!0),m(Xe,null);try{await M.mutateFromServer(()=>le(r,n),{dependencies:[`asset:${r}`]})}catch(e){m(Xe,{assetId:r,message:e instanceof Error?e.message:String(e)},!0)}finally{a(q)===r&&m(q,null)}}function _t(){a(R)&&(a(R).importSource&&!confirm(`Replace file and disconnect Figma source? Future re-imports will no longer be available.`)||a(Ye)?.click())}async function vt(){if(!a(R)||!a(B))return;let e=a(R).id,t=a(X).trim();if(t.length===0){m(Y,{assetId:e,message:`Enter a Figma selection link.`},!0);return}m(J,e,!0),m(Y,null);let n=a(Qe)?{url:t,scale:a(Z)}:void 0;try{await M.mutateFromServer(()=>ae(e,n),{dependencies:[`asset:${e}`]}),m(Ze,null)}catch(t){m(Y,{assetId:e,message:t instanceof Error?t.message:String(t)},!0)}finally{a(J)===e&&m(J,null)}}async function yt(e){m(G,null),m(K,null),await O(D(`/asset/[id]`,{id:e}))}async function bt(e){try{await fe(e),M.error=null}catch(e){M.error=e instanceof Error?e.message:String(e)}}var xt=I(),St=w(xt),Ct=s(St);{let e=f(()=>a(R)?.folder??null);ge(Ct,{get selectedFolder(){return a(e)},get activeAsset(){return a(R)},get createRequest(){return a(Ve)},get renameRequest(){return a(Ue)},get deleteRequest(){return a(Ge)},onSelect:e=>void st(e),onMoveAssets:(e,t)=>void ut(e,t),onActiveAssetDeleted:e=>void lt(e),onActiveAssetDeleteFailed:e=>void ct(e),onContextMenu:(e,t,n,r)=>{m(W,{x:e,y:t,parent:n,renamePath:r},!0)}})}var wt=o(Ct,2),Tt=e=>{u(e,xe())},Et=e=>{var t=Se(),r=s(t);C(t),p(()=>n(r,`No asset with id "${a(L)??``}".`)),u(e,t)},Dt=e=>{var i=Pe(),l=w(i),f=s(l),h=e=>{var t=x();v(w(t),()=>a(Re),(e,t)=>{t(e,{get asset(){return a(R)},get parameters(){return a(H)},onParametersChange:Be,onParametersCommit:e=>void rt(e)})}),u(e,t)},g=e=>{var t=Ce(),r=s(t);C(t),p(()=>n(r,`No editor registered for asset type "${a(R).type??``}".`)),u(e,t)};r(f,e=>{a(Re)&&a(H)!==null?e(h):e(g,-1)}),C(l);var b=o(l,2),S=s(b),T=s(S),O=s(T,!0);C(T);var k=o(T,2),A=s(k),j=o(A),ie=s(j,!0);C(j),C(k),t(o(k,2),16,()=>a(R).warnings,e=>e,(e,t)=>{var r=we(),i=s(r);C(r),p(()=>n(i,`⚠ ${t??``}`)),u(e,r)}),C(S);var ae=o(S,2),oe=e=>{var t=x();v(w(t),()=>a(Le),(e,t)=>{t(e,{get asset(){return a(R)},get parameters(){return a(H)},onParametersChange:e=>Be(e),onParametersCommit:e=>void rt(e),get presetNames(){return a(Ie)}})}),u(e,t)};r(ae,e=>{a(Le)&&a(H)!==null&&e(oe)});var se=o(ae,2),ce=e=>{var t=Ee(),i=s(t);P(i,{children:(e,t)=>{_(),u(e,c(`Source`))},$$slots:{default:!0}});var l=o(i,2),f=s(l);C(l);var h=o(l,2),g=o(s(h),2);te(g),C(h);var v=o(h,2),y=o(s(v),2),b=s(y);b.value=b.__value=1;var x=o(b);x.value=x.__value=2;var S=o(x);S.value=S.__value=3;var w=o(S);w.value=w.__value=4,C(y),C(v);var T=o(v,2),D=s(T),O=o(D,2);let k;var A=s(O,!0);C(O),C(T);var j=o(T,2),ie=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(Y).message)),u(e,t)};r(j,e=>{a(Y)?.assetId===a(R).id&&e(ie)}),C(t),p(e=>{n(f,`Figma · node ${a(B).nodeId??``}`),g.disabled=a(J)===a(R).id,y.disabled=a(J)===a(R).id,E(D,`href`,a(B).url),k=ee(O,1,`control svelte-xy8zsr`,null,k,{primary:a(Qe)}),O.disabled=e,n(A,a(J)===a(R).id?a(Qe)?`Reimporting…`:`Refreshing…`:a(Qe)?`Reimport from Figma`:`Refresh`)},[()=>a(J)===a(R).id||a(X).trim().length===0]),re(g,()=>a(X),e=>m(X,e)),ne(y,()=>a(Z),e=>m(Z,e)),d(`click`,O,()=>void vt()),u(e,t)};r(se,e=>{a(B)&&e(ce)});var le=o(se,2),ue=s(le);P(ue,{children:(e,t)=>{_(),u(e,c(`Manifests`))},$$slots:{default:!0}});var de=o(ue,2),fe=e=>{u(e,De())},pe=e=>{me(e,{get manifests(){return a(Fe)},get selected(){return a(R).manifests},get passive(){return a(R).passiveManifests},onToggle:e=>void it(e)})};r(de,e=>{a(Fe).length===0?e(fe):e(pe,-1)}),C(le);var M=o(le,2),N=s(M);P(N,{children:(e,t)=>{_(),u(e,c(`References`))},$$slots:{default:!0}});var he=o(N,2),ge=e=>{u(e,Oe())},_e=e=>{var i=Ne(),c=w(i),l=e=>{var r=Ae();t(o(w(r),2),17,()=>a(R).references.outgoing,e=>`${e.field}→${e.assetId}`,(e,t)=>{var r=ke(),i=s(r),c=s(i,!0);C(i);var l=o(i,4),d=s(l,!0);C(l),C(r),p(e=>{E(r,`href`,e),n(c,a(t).field),n(d,a(t).assetId)},[()=>D(`/asset/[id]`,{id:a(t).assetId})]),u(e,r)}),u(e,r)};r(c,e=>{a(R).references.outgoing.length>0&&e(l)});var d=o(c,2),f=e=>{var r=Me();t(o(w(r),2),17,()=>a(R).references.incoming,e=>`${e.assetId}→${e.field}`,(e,t)=>{var r=je(),i=s(r),c=s(i,!0);C(i);var l=o(i,4),d=s(l,!0);C(l),C(r),p(e=>{E(r,`href`,e),n(c,a(t).assetId),n(d,a(t).field)},[()=>D(`/asset/[id]`,{id:a(t).assetId})]),u(e,r)}),u(e,r)};r(d,e=>{a(R).references.incoming.length>0&&e(f)}),u(e,i)};r(he,e=>{a(R).references.outgoing.length===0&&a(R).references.incoming.length===0?e(ge):e(_e,-1)}),C(M);var ve=o(M,2),ye=s(ve);P(ye,{children:(e,t)=>{_(),u(e,c(`Asset`))},$$slots:{default:!0}});var F=o(ye,2),be=s(F,!0);C(F);var xe=o(F,2),Se=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(Xe).message)),u(e,t)};r(xe,e=>{a(Xe)?.assetId===a(R).id&&e(Se)});var I=o(xe,2),L=s(I);te(L);var z=o(L,2);C(I);var V=o(I,2),ze=e=>{var t=Te(),r=s(t,!0);C(t),p(()=>n(r,a(nt))),u(e,t)};r(V,e=>{a(nt)&&e(ze)});var U=o(V,2);C(ve),C(b),p(()=>{n(O,a(R).id),n(A,`${a(R).type??``} · `),n(ie,a(R).raw),F.disabled=a(q)===a(R).id,n(be,a(q)===a(R).id?`Replacing…`:`Replace`),y(L,a(Q)),z.disabled=a(Q)===a(R).id||a(nt)!==null}),d(`click`,F,_t),d(`input`,L,e=>m(tt,{assetId:a(R).id,value:e.currentTarget.value},!0)),d(`click`,z,()=>void at()),d(`click`,U,()=>void ot()),u(e,i)};r(wt,e=>{M.loaded?a(R)?e(Dt,-1):e(Et,1):e(Tt)}),C(St);var Ot=o(St,2);g(Ot,e=>m(Je,e),()=>a(Je));var $=o(Ot,2);g($,e=>m(Ye,e),()=>a(Ye));var kt=o($,2),At=e=>{{let t=f(()=>a(W).renamePath===null?void 0:()=>ft(a(W)?.renamePath??``)),n=f(()=>a(W).renamePath===null?void 0:()=>pt(a(W)?.renamePath??``));ye(e,{get x(){return a(W).x},get y(){return a(W).y},onReveal:()=>void bt(a(W)?.renamePath??a(W)?.parent??``),onNewDirectory:()=>dt(a(W)?.parent??``),get onRenameDirectory(){return a(t)},onImportFile:()=>mt(a(W)?.parent??``),onImportFigma:()=>m(K,a(W)?.parent??``,!0),get onDeleteDirectory(){return a(n)},onClose:()=>m(W,null)})}};r(kt,e=>{a(W)&&e(At)});var jt=o(kt,2),Mt=e=>{ve(e,{get file(){return a(G)},get folder(){return a(qe)},onDone:e=>void yt(e),onCancel:()=>m(G,null)})};r(jt,e=>{a(G)&&e(Mt)});var Nt=o(jt,2),Pt=e=>{_e(e,{get folder(){return a(K)},onDone:e=>void yt(e),onCancel:()=>m(K,null)})};r(Nt,e=>{a(K)!==null&&e(Pt)}),p(()=>{E(Ot,`accept`,$e),E($,`accept`,a(et))}),d(`change`,Ot,ht),d(`change`,$,e=>void gt(e)),u(e,xt),T()}l([`click`,`input`,`change`]);export{L as component};
@@ -1,2 +1,2 @@
1
- import{A as e,C as t,D as n,E as r,H as i,I as a,J as o,K as s,N as c,O as l,P as u,Q as d,V as f,X as p,Z as m,_ as h,a as g,at as _,g as v,i as y,l as b,nt as x,ot as S,q as C,s as w,tt as T,u as E,x as D}from"../chunks/NblqapDQ.js";import{c as ee}from"../chunks/B9iWbZmZ.js";import"../chunks/xihTtKlq.js";import{G as te,V as O,Z as k,d as A,i as j,k as M,s as ne,t as N}from"../chunks/DylBiD8l.js";import{r as P,t as F}from"../chunks/BD3hQKzV.js";var I=[{name:`slate`,value:`#64748b`},{name:`red`,value:`#ef4444`},{name:`orange`,value:`#f97316`},{name:`amber`,value:`#f59e0b`},{name:`yellow`,value:`#eab308`},{name:`lime`,value:`#84cc16`},{name:`green`,value:`#22c55e`},{name:`teal`,value:`#14b8a6`},{name:`cyan`,value:`#06b6d4`},{name:`blue`,value:`#3b82f6`},{name:`indigo`,value:`#6366f1`},{name:`violet`,value:`#8b5cf6`},{name:`pink`,value:`#ec4899`}],L=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),R=e(`<div role="dialog"><!></div>`),z=e(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function B(e,t){x(t,!0);let n=y(t,`open`,15,!1),c=y(t,`align`,3,`left`),u=m(void 0);function d(){n(!n())}i(()=>{if(!n())return;function e(e){a(u)&&!a(u).contains(e.target)&&n(!1)}function t(e){e.key===`Escape`&&n(!1)}return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});var _=z(),v=s(_);D(v,()=>t.trigger,()=>({toggle:d,open:n()}));var b=o(v,2),C=e=>{var n=R();let r;D(s(n),()=>t.children),S(n),f(()=>{r=h(n,1,`popover svelte-1rznwff`,null,r,{right:c()===`right`}),E(n,`aria-label`,t.label)}),l(e,n)};r(b,e=>{n()&&e(C)}),S(_),g(_,e=>p(u,e),()=>a(u)),l(e,_),T()}var V=e(`<button type="button" title="Emoji"> </button>`),H=e(`<button type="button"> </button>`),U=e(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),W=e(`<button type="button" title="Color"></button>`),G=e(`<button type="button"></button>`),K=e(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),re=e(`<div class="controls svelte-58t64l"><!> <!></div>`);function ie(e,r){x(r,!0);let i=d(()=>N.manifestAppearance(r.name)),c=d(()=>a(i).color??null),g=d(()=>a(i).emoji??null),_=m(!1),y=m(!1);async function b(e){let t=r.name;p(_,!1);try{await N.mutate(()=>k(t,{color:e}),A(t,{color:e}),{dependencies:[`manifest:${t}`]})}catch{}}async function C(e){let t=r.name;p(y,!1);try{await N.mutate(()=>k(t,{emoji:e}),A(t,{emoji:e}),{dependencies:[`manifest:${t}`]})}catch{}}var w=re(),D=s(w);B(D,{get label(){return`Pick an emoji for ${r.name??``}`},get open(){return a(y)},set open(e){p(y,e,!0)},trigger:(e,t)=>{let i=()=>(t?.()).toggle,o=()=>(t?.()).open;var c=V();let d;var p=s(c,!0);S(c),f(()=>{d=h(c,1,`emoji-trigger svelte-58t64l`,null,d,{empty:!a(g),active:o()}),E(c,`aria-label`,`Emoji for ${r.name??``}`),n(p,a(g)??`☺`)}),u(`click`,c,function(...e){i()?.apply(this,e)}),l(e,c)},children:(e,r)=>{var i=U(),c=s(i);let d;t(o(c,2),16,()=>L,e=>e,(e,t)=>{var r=H();let i;var o=s(r,!0);S(r),f(()=>{i=h(r,1,`emoji svelte-58t64l`,null,i,{selected:a(g)===t}),E(r,`title`,t),n(o,t)}),u(`click`,r,()=>void C(t)),l(e,r)}),S(i),f(()=>d=h(c,1,`emoji none svelte-58t64l`,null,d,{selected:a(g)===null})),u(`click`,c,()=>void C(null)),l(e,i)},$$slots:{trigger:!0,default:!0}}),B(o(D,2),{get label(){return`Pick a color for ${r.name??``}`},get open(){return a(_)},set open(e){p(_,e,!0)},trigger:(e,t)=>{let n=()=>(t?.()).toggle,i=()=>(t?.()).open;var o=W();let s;f(()=>{s=h(o,1,`swatch-trigger svelte-58t64l`,null,s,{empty:!a(c),active:i()}),v(o,`--swatch: ${a(c)??`transparent`??``}`),E(o,`aria-label`,`Color for ${r.name??``}`)}),u(`click`,o,function(...e){n()?.apply(this,e)}),l(e,o)},children:(e,n)=>{var r=K(),i=s(r);let d;t(o(i,2),17,()=>I,e=>e.value,(e,t)=>{var n=G();let r;f(()=>{r=h(n,1,`swatch svelte-58t64l`,null,r,{selected:a(c)===a(t).value}),v(n,`background: ${a(t).value??``}`),E(n,`title`,a(t).name),E(n,`aria-label`,a(t).name)}),u(`click`,n,()=>void b(a(t).value)),l(e,n)}),S(r),f(()=>d=h(i,1,`swatch none svelte-58t64l`,null,d,{selected:a(c)===null})),u(`click`,i,()=>void b(null)),l(e,r)},$$slots:{trigger:!0,default:!0}}),S(w),l(e,w),T()}c([`click`]);var ae=e(`<span class="hint svelte-1k9wgg5"> </span>`),oe=e(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),se=e(`<span class="asset-type svelte-1k9wgg5"> </span>`),ce=e(`<li class="passive-member svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id passive-id svelte-1k9wgg5"> </span> <!> <span class="asset-via svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li>`),le=e(`<li class="svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id svelte-1k9wgg5"> </span> <span class="asset-type svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li> <!>`,1),ue=e(`<ul class="svelte-1k9wgg5"></ul>`),de=e(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),fe=e(`<section class="manifest svelte-1k9wgg5"><header class="svelte-1k9wgg5"><!> <h2 class="svelte-1k9wgg5"> </h2> <span class="size svelte-1k9wgg5" title="Total delivered proxy size incl. the reference closure — the preload budget"> </span> <span class="count svelte-1k9wgg5"> </span> <button class="control">Rename</button> <button class="control danger">Delete</button></header> <!></section>`),pe=e(`<div class="list svelte-1k9wgg5"></div>`),q=e(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),me=e(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),he=e(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),ge=e(`<label class="dialog-row svelte-1k9wgg5"><span class="dialog-label svelte-1k9wgg5">Name</span> <input class="control svelte-1k9wgg5" type="text" spellcheck="false"/></label> <!> <p class="dialog-text svelte-1k9wgg5">The generated module is renamed with the manifest — host code importing <code> </code> must be updated by hand.</p> <!>`,1),_e=e(`<div class="page svelte-1k9wgg5"><div class="create svelte-1k9wgg5"><input class="control svelte-1k9wgg5" type="text" placeholder="newManifestName" spellcheck="false"/> <button class="control primary">Create manifest</button> <!></div> <!></div> <!> <!>`,1);function ve(e,i){x(i,!0);let c=m(``),h=d(()=>N.state?.assets??[]),g=d(()=>N.manifestNames);function y(e){return a(h).filter(t=>t.manifests.includes(e))}function D(e){return N.state?.manifestMemberships[e]?.passiveMembers??[]}function I(e,t){return D(e).filter(e=>e.via.includes(t))}function L(e){return N.state?.manifestDeliveredBytes[e]??0}let R=d(()=>a(c)?M(a(c)):null),z=d(()=>a(c)!==``&&!a(R)&&!a(g).includes(a(c)));async function B(){if(!a(z))return;let e=a(c),t=N.mutate(()=>O(e),j(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});p(c,``);try{await t}catch{a(c)===``&&!Object.hasOwn(N.state?.library.manifests??{},e)&&p(c,e,!0)}}let V=m(null),H=m(null),U=m(``),W=m(!1),G=m(null),K=0;function re(e){K+=1,p(G,null),p(V,e,!0)}function ve(e){K+=1,p(G,null),p(U,e,!0),p(H,e,!0)}function J(){K+=1,p(V,null),p(H,null),p(G,null)}let Y=d(()=>a(H)!==null&&a(U)!==a(H)?M(a(U)):null),ye=d(()=>a(H)!==null&&a(U)!==a(H)&&a(g).includes(a(U))),be=d(()=>a(H)!==null&&a(U)!==a(H)&&!a(Y)&&!a(ye));async function xe(){if(a(V)===null)return;let e=a(V);p(W,!0),p(G,null);let t=N.mutate(()=>te(e),ne(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});J();let n=K;p(W,!1);try{await t}catch(t){K===n&&Object.hasOwn(N.state?.library.manifests??{},e)&&(p(V,e,!0),p(G,t instanceof Error?t.message:String(t),!0))}finally{p(W,!1)}}async function Se(){if(a(H)===null||!a(be))return;let e=a(H),t=a(U);p(W,!0),p(G,null);let n=N.mutate(()=>k(e,{renameTo:t}),A(e,{renameTo:t}),{dependencies:[`manifest:${e}`,`manifest:${t}`],invalidatesOnFailure:[`manifest:${e}`,`manifest:${t}`]});J();let r=K;p(W,!1);try{await n}catch(n){K===r&&Object.hasOwn(N.state?.library.manifests??{},e)&&(p(H,e,!0),p(U,t,!0),p(G,n instanceof Error?n.message:String(n),!0))}finally{p(W,!1)}}var Ce=_e(),X=C(Ce),Z=s(X),Q=s(Z);b(Q);var $=o(Q,2),we=o($,2),Te=e=>{var t=ae(),r=s(t,!0);S(t),f(()=>n(r,a(R))),l(e,t)};r(we,e=>{a(R)&&e(Te)}),S(Z);var Ee=o(Z,2),De=e=>{l(e,oe())},Oe=e=>{var i=pe();t(i,20,()=>a(g),e=>e,(e,i)=>{var c=fe(),p=s(c),m=s(p);ie(m,{get name(){return i}});var h=o(m,2),g=s(h,!0);S(h);var _=o(h,2),b=s(_,!0);S(_);var x=o(_,2),w=s(x);S(x);var T=o(x,2),te=o(T,2);S(p);var O=o(p,2),k=e=>{var c=ue();t(c,21,()=>y(i),e=>e.id,(e,c)=>{var u=le(),p=C(u),m=s(p),h=s(m),g=s(h,!0);S(h);var _=o(h,2),v=s(_,!0);S(_);var y=o(_,2),b=s(y,!0);S(y),S(m),S(p),t(o(p,2),17,()=>I(i,a(c).id),e=>e.assetId,(e,t)=>{let i=d(()=>N.assetById(a(t).assetId));var u=ce(),p=s(u),m=s(p),h=s(m,!0);S(m);var g=o(m,2),_=e=>{var t=se(),r=s(t,!0);S(t),f(()=>n(r,a(i).type)),l(e,t)};r(g,e=>{a(i)&&e(_)});var v=o(g,2),y=s(v);S(v);var b=o(v,2),x=s(b,!0);S(b),S(p),S(u),f((e,r)=>{E(p,`href`,e),n(h,a(t).assetId),n(y,`via ${a(c).id??``}`),n(x,r)},[()=>ee(`/asset/[id]`,{id:a(t).assetId}),()=>a(i)?.proxy?P(a(i).proxy.fileSize):`—`]),l(e,u)}),f((e,t)=>{E(m,`href`,e),n(g,a(c).id),n(v,a(c).type),n(b,t)},[()=>ee(`/asset/[id]`,{id:a(c).id}),()=>a(c).proxy?P(a(c).proxy.fileSize):`—`]),l(e,u)}),S(c),l(e,c)},A=d(()=>y(i).length>0),j=e=>{l(e,de())};r(O,e=>{a(A)?e(k):e(j,-1)}),S(c),f((e,t,r,a)=>{v(c,`--manifest-color: ${e??``}`),n(g,i),n(b,t),n(w,`${r??``} asset(s)${a??``}`)},[()=>N.manifestAppearance(i).color??`var(--border-soft)`,()=>P(L(i)),()=>y(i).length,()=>D(i).length>0?` + ${D(i).length} passive`:``]),u(`click`,T,()=>ve(i)),u(`click`,te,()=>re(i)),l(e,c)}),S(i),l(e,i)};r(Ee,e=>{a(g).length===0?e(De):e(Oe,-1)}),S(X);var ke=o(X,2),Ae=e=>{let t=d(()=>y(a(V)).length);{let i=d(()=>a(W)?`Deleting…`:`Delete`);F(e,{title:`Delete manifest`,get confirmLabel(){return a(i)},danger:!0,get busy(){return a(W)},onConfirm:()=>void xe(),onCancel:J,children:(e,i)=>{var c=me(),u=C(c),d=o(s(u)),p=s(d,!0);S(d);var m=o(d);S(u);var h=o(u,2),g=e=>{var t=q(),r=s(t,!0);S(t),f(()=>n(r,a(G))),l(e,t)};r(h,e=>{a(G)&&e(g)}),f(()=>{n(p,a(V)),n(m,`? Its generated module is removed. Assets are
1
+ import{A as e,C as t,D as n,E as r,H as i,I as a,J as o,K as s,N as c,O as l,P as u,Q as d,V as f,X as p,Z as m,_ as h,a as g,at as _,g as v,i as y,l as b,nt as x,ot as S,q as C,s as w,tt as T,u as E,x as D}from"../chunks/NblqapDQ.js";import{c as ee}from"../chunks/B6BtXxR0.js";import"../chunks/xihTtKlq.js";import{G as te,V as O,Z as k,d as A,i as j,k as M,s as ne,t as N}from"../chunks/4FCfXqUa.js";import{r as P,t as F}from"../chunks/BD3hQKzV.js";var I=[{name:`slate`,value:`#64748b`},{name:`red`,value:`#ef4444`},{name:`orange`,value:`#f97316`},{name:`amber`,value:`#f59e0b`},{name:`yellow`,value:`#eab308`},{name:`lime`,value:`#84cc16`},{name:`green`,value:`#22c55e`},{name:`teal`,value:`#14b8a6`},{name:`cyan`,value:`#06b6d4`},{name:`blue`,value:`#3b82f6`},{name:`indigo`,value:`#6366f1`},{name:`violet`,value:`#8b5cf6`},{name:`pink`,value:`#ec4899`}],L=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),R=e(`<div role="dialog"><!></div>`),z=e(`<div class="popover-anchor svelte-1rznwff"><!> <!></div>`);function B(e,t){x(t,!0);let n=y(t,`open`,15,!1),c=y(t,`align`,3,`left`),u=m(void 0);function d(){n(!n())}i(()=>{if(!n())return;function e(e){a(u)&&!a(u).contains(e.target)&&n(!1)}function t(e){e.key===`Escape`&&n(!1)}return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});var _=z(),v=s(_);D(v,()=>t.trigger,()=>({toggle:d,open:n()}));var b=o(v,2),C=e=>{var n=R();let r;D(s(n),()=>t.children),S(n),f(()=>{r=h(n,1,`popover svelte-1rznwff`,null,r,{right:c()===`right`}),E(n,`aria-label`,t.label)}),l(e,n)};r(b,e=>{n()&&e(C)}),S(_),g(_,e=>p(u,e),()=>a(u)),l(e,_),T()}var V=e(`<button type="button" title="Emoji"> </button>`),H=e(`<button type="button"> </button>`),U=e(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),W=e(`<button type="button" title="Color"></button>`),G=e(`<button type="button"></button>`),K=e(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),re=e(`<div class="controls svelte-58t64l"><!> <!></div>`);function ie(e,r){x(r,!0);let i=d(()=>N.manifestAppearance(r.name)),c=d(()=>a(i).color??null),g=d(()=>a(i).emoji??null),_=m(!1),y=m(!1);async function b(e){let t=r.name;p(_,!1);try{await N.mutate(()=>k(t,{color:e}),A(t,{color:e}),{dependencies:[`manifest:${t}`]})}catch{}}async function C(e){let t=r.name;p(y,!1);try{await N.mutate(()=>k(t,{emoji:e}),A(t,{emoji:e}),{dependencies:[`manifest:${t}`]})}catch{}}var w=re(),D=s(w);B(D,{get label(){return`Pick an emoji for ${r.name??``}`},get open(){return a(y)},set open(e){p(y,e,!0)},trigger:(e,t)=>{let i=()=>(t?.()).toggle,o=()=>(t?.()).open;var c=V();let d;var p=s(c,!0);S(c),f(()=>{d=h(c,1,`emoji-trigger svelte-58t64l`,null,d,{empty:!a(g),active:o()}),E(c,`aria-label`,`Emoji for ${r.name??``}`),n(p,a(g)??`☺`)}),u(`click`,c,function(...e){i()?.apply(this,e)}),l(e,c)},children:(e,r)=>{var i=U(),c=s(i);let d;t(o(c,2),16,()=>L,e=>e,(e,t)=>{var r=H();let i;var o=s(r,!0);S(r),f(()=>{i=h(r,1,`emoji svelte-58t64l`,null,i,{selected:a(g)===t}),E(r,`title`,t),n(o,t)}),u(`click`,r,()=>void C(t)),l(e,r)}),S(i),f(()=>d=h(c,1,`emoji none svelte-58t64l`,null,d,{selected:a(g)===null})),u(`click`,c,()=>void C(null)),l(e,i)},$$slots:{trigger:!0,default:!0}}),B(o(D,2),{get label(){return`Pick a color for ${r.name??``}`},get open(){return a(_)},set open(e){p(_,e,!0)},trigger:(e,t)=>{let n=()=>(t?.()).toggle,i=()=>(t?.()).open;var o=W();let s;f(()=>{s=h(o,1,`swatch-trigger svelte-58t64l`,null,s,{empty:!a(c),active:i()}),v(o,`--swatch: ${a(c)??`transparent`??``}`),E(o,`aria-label`,`Color for ${r.name??``}`)}),u(`click`,o,function(...e){n()?.apply(this,e)}),l(e,o)},children:(e,n)=>{var r=K(),i=s(r);let d;t(o(i,2),17,()=>I,e=>e.value,(e,t)=>{var n=G();let r;f(()=>{r=h(n,1,`swatch svelte-58t64l`,null,r,{selected:a(c)===a(t).value}),v(n,`background: ${a(t).value??``}`),E(n,`title`,a(t).name),E(n,`aria-label`,a(t).name)}),u(`click`,n,()=>void b(a(t).value)),l(e,n)}),S(r),f(()=>d=h(i,1,`swatch none svelte-58t64l`,null,d,{selected:a(c)===null})),u(`click`,i,()=>void b(null)),l(e,r)},$$slots:{trigger:!0,default:!0}}),S(w),l(e,w),T()}c([`click`]);var ae=e(`<span class="hint svelte-1k9wgg5"> </span>`),oe=e(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),se=e(`<span class="asset-type svelte-1k9wgg5"> </span>`),ce=e(`<li class="passive-member svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id passive-id svelte-1k9wgg5"> </span> <!> <span class="asset-via svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li>`),le=e(`<li class="svelte-1k9wgg5"><a class="svelte-1k9wgg5"><span class="asset-id svelte-1k9wgg5"> </span> <span class="asset-type svelte-1k9wgg5"> </span> <span class="asset-size svelte-1k9wgg5"> </span></a></li> <!>`,1),ue=e(`<ul class="svelte-1k9wgg5"></ul>`),de=e(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),fe=e(`<section class="manifest svelte-1k9wgg5"><header class="svelte-1k9wgg5"><!> <h2 class="svelte-1k9wgg5"> </h2> <span class="size svelte-1k9wgg5" title="Total delivered proxy size incl. the reference closure — the preload budget"> </span> <span class="count svelte-1k9wgg5"> </span> <button class="control">Rename</button> <button class="control danger">Delete</button></header> <!></section>`),pe=e(`<div class="list svelte-1k9wgg5"></div>`),q=e(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),me=e(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),he=e(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),ge=e(`<label class="dialog-row svelte-1k9wgg5"><span class="dialog-label svelte-1k9wgg5">Name</span> <input class="control svelte-1k9wgg5" type="text" spellcheck="false"/></label> <!> <p class="dialog-text svelte-1k9wgg5">The generated module is renamed with the manifest — host code importing <code> </code> must be updated by hand.</p> <!>`,1),_e=e(`<div class="page svelte-1k9wgg5"><div class="create svelte-1k9wgg5"><input class="control svelte-1k9wgg5" type="text" placeholder="newManifestName" spellcheck="false"/> <button class="control primary">Create manifest</button> <!></div> <!></div> <!> <!>`,1);function ve(e,i){x(i,!0);let c=m(``),h=d(()=>N.state?.assets??[]),g=d(()=>N.manifestNames);function y(e){return a(h).filter(t=>t.manifests.includes(e))}function D(e){return N.state?.manifestMemberships[e]?.passiveMembers??[]}function I(e,t){return D(e).filter(e=>e.via.includes(t))}function L(e){return N.state?.manifestDeliveredBytes[e]??0}let R=d(()=>a(c)?M(a(c)):null),z=d(()=>a(c)!==``&&!a(R)&&!a(g).includes(a(c)));async function B(){if(!a(z))return;let e=a(c),t=N.mutate(()=>O(e),j(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});p(c,``);try{await t}catch{a(c)===``&&!Object.hasOwn(N.state?.library.manifests??{},e)&&p(c,e,!0)}}let V=m(null),H=m(null),U=m(``),W=m(!1),G=m(null),K=0;function re(e){K+=1,p(G,null),p(V,e,!0)}function ve(e){K+=1,p(G,null),p(U,e,!0),p(H,e,!0)}function J(){K+=1,p(V,null),p(H,null),p(G,null)}let Y=d(()=>a(H)!==null&&a(U)!==a(H)?M(a(U)):null),ye=d(()=>a(H)!==null&&a(U)!==a(H)&&a(g).includes(a(U))),be=d(()=>a(H)!==null&&a(U)!==a(H)&&!a(Y)&&!a(ye));async function xe(){if(a(V)===null)return;let e=a(V);p(W,!0),p(G,null);let t=N.mutate(()=>te(e),ne(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});J();let n=K;p(W,!1);try{await t}catch(t){K===n&&Object.hasOwn(N.state?.library.manifests??{},e)&&(p(V,e,!0),p(G,t instanceof Error?t.message:String(t),!0))}finally{p(W,!1)}}async function Se(){if(a(H)===null||!a(be))return;let e=a(H),t=a(U);p(W,!0),p(G,null);let n=N.mutate(()=>k(e,{renameTo:t}),A(e,{renameTo:t}),{dependencies:[`manifest:${e}`,`manifest:${t}`],invalidatesOnFailure:[`manifest:${e}`,`manifest:${t}`]});J();let r=K;p(W,!1);try{await n}catch(n){K===r&&Object.hasOwn(N.state?.library.manifests??{},e)&&(p(H,e,!0),p(U,t,!0),p(G,n instanceof Error?n.message:String(n),!0))}finally{p(W,!1)}}var Ce=_e(),X=C(Ce),Z=s(X),Q=s(Z);b(Q);var $=o(Q,2),we=o($,2),Te=e=>{var t=ae(),r=s(t,!0);S(t),f(()=>n(r,a(R))),l(e,t)};r(we,e=>{a(R)&&e(Te)}),S(Z);var Ee=o(Z,2),De=e=>{l(e,oe())},Oe=e=>{var i=pe();t(i,20,()=>a(g),e=>e,(e,i)=>{var c=fe(),p=s(c),m=s(p);ie(m,{get name(){return i}});var h=o(m,2),g=s(h,!0);S(h);var _=o(h,2),b=s(_,!0);S(_);var x=o(_,2),w=s(x);S(x);var T=o(x,2),te=o(T,2);S(p);var O=o(p,2),k=e=>{var c=ue();t(c,21,()=>y(i),e=>e.id,(e,c)=>{var u=le(),p=C(u),m=s(p),h=s(m),g=s(h,!0);S(h);var _=o(h,2),v=s(_,!0);S(_);var y=o(_,2),b=s(y,!0);S(y),S(m),S(p),t(o(p,2),17,()=>I(i,a(c).id),e=>e.assetId,(e,t)=>{let i=d(()=>N.assetById(a(t).assetId));var u=ce(),p=s(u),m=s(p),h=s(m,!0);S(m);var g=o(m,2),_=e=>{var t=se(),r=s(t,!0);S(t),f(()=>n(r,a(i).type)),l(e,t)};r(g,e=>{a(i)&&e(_)});var v=o(g,2),y=s(v);S(v);var b=o(v,2),x=s(b,!0);S(b),S(p),S(u),f((e,r)=>{E(p,`href`,e),n(h,a(t).assetId),n(y,`via ${a(c).id??``}`),n(x,r)},[()=>ee(`/asset/[id]`,{id:a(t).assetId}),()=>a(i)?.proxy?P(a(i).proxy.fileSize):`—`]),l(e,u)}),f((e,t)=>{E(m,`href`,e),n(g,a(c).id),n(v,a(c).type),n(b,t)},[()=>ee(`/asset/[id]`,{id:a(c).id}),()=>a(c).proxy?P(a(c).proxy.fileSize):`—`]),l(e,u)}),S(c),l(e,c)},A=d(()=>y(i).length>0),j=e=>{l(e,de())};r(O,e=>{a(A)?e(k):e(j,-1)}),S(c),f((e,t,r,a)=>{v(c,`--manifest-color: ${e??``}`),n(g,i),n(b,t),n(w,`${r??``} asset(s)${a??``}`)},[()=>N.manifestAppearance(i).color??`var(--border-soft)`,()=>P(L(i)),()=>y(i).length,()=>D(i).length>0?` + ${D(i).length} passive`:``]),u(`click`,T,()=>ve(i)),u(`click`,te,()=>re(i)),l(e,c)}),S(i),l(e,i)};r(Ee,e=>{a(g).length===0?e(De):e(Oe,-1)}),S(X);var ke=o(X,2),Ae=e=>{let t=d(()=>y(a(V)).length);{let i=d(()=>a(W)?`Deleting…`:`Delete`);F(e,{title:`Delete manifest`,get confirmLabel(){return a(i)},danger:!0,get busy(){return a(W)},onConfirm:()=>void xe(),onCancel:J,children:(e,i)=>{var c=me(),u=C(c),d=o(s(u)),p=s(d,!0);S(d);var m=o(d);S(u);var h=o(u,2),g=e=>{var t=q(),r=s(t,!0);S(t),f(()=>n(r,a(G))),l(e,t)};r(h,e=>{a(G)&&e(g)}),f(()=>{n(p,a(V)),n(m,`? Its generated module is removed. Assets are
2
2
  not deleted${a(t)>0?`, but ${a(t)} asset(s) lose this membership and may become unreachable`:``}.`)}),l(e,c)},$$slots:{default:!0}})}};r(ke,e=>{a(V)!==null&&e(Ae)});var je=o(ke,2),Me=e=>{{let t=d(()=>a(W)?`Renaming…`:`Rename`),i=d(()=>!a(be));F(e,{title:`Rename manifest`,get confirmLabel(){return a(t)},get confirmDisabled(){return a(i)},get busy(){return a(W)},onConfirm:()=>void Se(),onCancel:J,children:(e,t)=>{var i=ge(),c=C(i),u=o(s(c),2);b(u),S(c);var d=o(c,2),m=e=>{var t=q(),r=s(t,!0);S(t),f(()=>n(r,a(Y))),l(e,t)},h=e=>{l(e,he())};r(d,e=>{a(Y)?e(m):a(ye)&&e(h,1)});var g=o(d,2),v=o(s(g)),y=s(v,!0);S(v),_(),S(g);var x=o(g,2),T=e=>{var t=q(),r=s(t,!0);S(t),f(()=>n(r,a(G))),l(e,t)};r(x,e=>{a(G)&&e(T)}),f(()=>{u.disabled=a(W),n(y,a(H))}),w(u,()=>a(U),e=>p(U,e)),l(e,i)},$$slots:{default:!0}})}};r(je,e=>{a(H)!==null&&e(Me)}),f(()=>$.disabled=!a(z)),u(`keydown`,Q,e=>{e.key===`Enter`&&B()}),w(Q,()=>a(c),e=>p(c,e)),u(`click`,$,()=>void B()),l(e,Ce),T()}c([`keydown`,`click`]);export{ve as component};
@@ -1 +1 @@
1
- {"version":"1784274554403"}
1
+ {"version":"1784282522421"}
Binary file
Binary file
package/build/handler.js CHANGED
@@ -2,9 +2,9 @@ import './shims.js';
2
2
  import 'node:fs';
3
3
  import 'node:path';
4
4
  import 'node:process';
5
- export { h as handler } from './server/chunks/handler-Bn4TsL93.js';
6
- import './server/chunks/index.js-DzYQtf0T.js';
7
- import './server/chunks/manifest.js-DewM2Q1D.js';
5
+ export { h as handler } from './server/chunks/handler-CJ8lsr6W.js';
6
+ import './server/chunks/index.js-Ph6LJ5Na.js';
7
+ import './server/chunks/manifest.js-CWjy0GQ9.js';
8
8
  import './env.js';
9
9
  import 'node:buffer';
10
10
  import 'node:crypto';
@@ -12,11 +12,11 @@ import 'node:http';
12
12
  import 'node:timers';
13
13
  import 'node:querystring';
14
14
  import 'node:stream';
15
- import './server/chunks/chunks/shared.js-C34rGnTQ.js';
16
- import './server/chunks/chunks/internal.js-CdY4S4Uy.js';
17
- import './server/chunks/chunks/utils.js-BMCQVogA.js';
15
+ import './server/chunks/chunks/shared.js-BIggwEH0.js';
16
+ import './server/chunks/chunks/internal.js-DWu3OCGw.js';
17
+ import './server/chunks/chunks/utils.js-Dxvg75XM.js';
18
18
  import 'node:url';
19
19
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
20
- import './server/chunks/chunks/exports.js-CAJ9ZQQx.js';
20
+ import './server/chunks/chunks/exports.js-Ci6jkE-z.js';
21
21
  import './server/chunks/chunks/routing.js-y-tryuip.js';
22
22
  //# sourceMappingURL=handler.js.map
package/build/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import fs__default from 'node:fs';
3
3
  import process from 'node:process';
4
- import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-Bn4TsL93.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-CJ8lsr6W.js';
5
5
  import { env, timeout_env } from './env.js';
6
6
  import { rm } from 'node:fs/promises';
7
7
  import './shims.js';
@@ -11,14 +11,14 @@ import 'node:path';
11
11
  import 'node:timers';
12
12
  import 'node:querystring';
13
13
  import 'node:stream';
14
- import './server/chunks/chunks/shared.js-C34rGnTQ.js';
15
- import './server/chunks/chunks/internal.js-CdY4S4Uy.js';
16
- import './server/chunks/chunks/utils.js-BMCQVogA.js';
17
- import './server/chunks/index.js-DzYQtf0T.js';
14
+ import './server/chunks/chunks/shared.js-BIggwEH0.js';
15
+ import './server/chunks/chunks/internal.js-DWu3OCGw.js';
16
+ import './server/chunks/chunks/utils.js-Dxvg75XM.js';
17
+ import './server/chunks/index.js-Ph6LJ5Na.js';
18
18
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
19
- import './server/chunks/chunks/exports.js-CAJ9ZQQx.js';
19
+ import './server/chunks/chunks/exports.js-Ci6jkE-z.js';
20
20
  import './server/chunks/chunks/routing.js-y-tryuip.js';
21
- import './server/chunks/manifest.js-DewM2Q1D.js';
21
+ import './server/chunks/manifest.js-CWjy0GQ9.js';
22
22
  import 'node:url';
23
23
 
24
24
  const path = env('SOCKET_PATH', false);
@@ -1,12 +1,13 @@
1
1
  import { g as folderOfRawPath, h as rawFileNameOfPath, j as canonicalizeParameters, n as normalizeFolderPath, c as compareCodeUnits, E as typesForFileName, G as proposeAssetId, k as parentFolderPath, u as portableFolderPathKey } from './core.js-DNIuZ9y-.js';
2
- import { s as serverPluginsByType, i as isRecord, L as LibraryStore, a as serverPluginForType, S as SourceImportError, p as processAssets, g as generateManifestModules, d as descriptorsByType, r as readCurrentProxy, e as encodeRelativePathForUrl, b as invalidInput } from './contract.js-DGMufT2e.js';
2
+ import { s as serverPluginsByType, i as isRecord, L as LibraryStore, a as serverPluginForType, S as SourceImportError, p as processAssets, g as generateManifestModules, d as descriptorsByType, r as readCurrentProxy, e as encodeRelativePathForUrl, b as invalidInput, c as parseLibrary } from './contract.js-nwG99Zzj.js';
3
3
  import { a as assetIdError, c as collectAllReferences, b as computeLibraryMembership, d as allDeliveredAssetIds } from './manifest-membership.js-CJnQXrL4.js';
4
4
  import { v as verifyStableRawFile, c as classifyRawDirectory } from './raw-reconciliation2.js-C2No1QIL.js';
5
- import { isAbsolute, resolve, join, extname } from 'node:path';
5
+ import { isAbsolute, resolve, join, extname, relative, sep } from 'node:path';
6
6
  import { existsSync } from 'node:fs';
7
7
  import { createJiti } from 'jiti';
8
+ import { realpath } from 'node:fs/promises';
8
9
  import { execFile } from 'node:child_process';
9
- import { promisify } from 'node:util';
10
+ import { isDeepStrictEqual, promisify } from 'node:util';
10
11
  import sharp from 'sharp';
11
12
  import { lookup } from 'node:dns/promises';
12
13
  import { isIP } from 'node:net';
@@ -563,14 +564,31 @@ var serverImporters = new SourceImporterRegistry([fileSourceImporter, figmaSourc
563
564
  //#endregion
564
565
  //#region src/lib/server/git.ts
565
566
  var execFileAsync = promisify(execFile);
566
- async function git(projectRoot, args) {
567
+ var MAX_LIBRARY_BLOB_BYTES = 64 * 1024 * 1024;
568
+ async function git(projectRoot, args, options = {}) {
567
569
  const { stdout } = await execFileAsync("git", [
568
570
  "-C",
569
571
  projectRoot,
570
572
  ...args
571
- ], { encoding: "utf8" });
573
+ ], {
574
+ encoding: "utf8",
575
+ ...options
576
+ });
572
577
  return stdout;
573
578
  }
579
+ async function gitBlob(projectRoot, objectId) {
580
+ const { stdout } = await execFileAsync("git", [
581
+ "-C",
582
+ projectRoot,
583
+ "cat-file",
584
+ "blob",
585
+ objectId
586
+ ], {
587
+ encoding: null,
588
+ maxBuffer: MAX_LIBRARY_BLOB_BYTES
589
+ });
590
+ return new TextDecoder("utf-8", { fatal: true }).decode(stdout);
591
+ }
574
592
  /** Current branch of the repository containing projectRoot; null outside Git or when detached. */
575
593
  async function currentGitBranch(projectRoot) {
576
594
  try {
@@ -579,8 +597,8 @@ async function currentGitBranch(projectRoot) {
579
597
  return null;
580
598
  }
581
599
  }
582
- async function firstExistingRef(projectRoot, refs) {
583
- for (const ref of refs) try {
600
+ async function verifiedRef(projectRoot, ref) {
601
+ try {
584
602
  await git(projectRoot, [
585
603
  "rev-parse",
586
604
  "--verify",
@@ -588,7 +606,12 @@ async function firstExistingRef(projectRoot, refs) {
588
606
  ref
589
607
  ]);
590
608
  return ref;
591
- } catch {}
609
+ } catch {
610
+ return null;
611
+ }
612
+ }
613
+ async function firstExistingRef(projectRoot, refs) {
614
+ for (const ref of refs) if (await verifiedRef(projectRoot, ref)) return ref;
592
615
  return null;
593
616
  }
594
617
  async function defaultBranchRef(projectRoot) {
@@ -596,10 +619,9 @@ async function defaultBranchRef(projectRoot) {
596
619
  const remoteHead = (await git(projectRoot, [
597
620
  "symbolic-ref",
598
621
  "--quiet",
599
- "--short",
600
622
  "refs/remotes/origin/HEAD"
601
623
  ])).trim();
602
- if (remoteHead) return remoteHead;
624
+ if (remoteHead && await verifiedRef(projectRoot, remoteHead)) return remoteHead;
603
625
  } catch {}
604
626
  return firstExistingRef(projectRoot, [
605
627
  "refs/remotes/origin/main",
@@ -608,56 +630,79 @@ async function defaultBranchRef(projectRoot) {
608
630
  "refs/heads/master"
609
631
  ]);
610
632
  }
611
- function parseDiffNames(output, root) {
612
- const changes = /* @__PURE__ */ new Map();
613
- const fields = output.split("\0");
614
- for (let index = 0; index < fields.length;) {
615
- const status = fields[index++];
616
- if (!status) continue;
617
- const sourcePath = fields[index++];
618
- if (!sourcePath) continue;
619
- if (status.startsWith("R") || status.startsWith("C")) {
620
- const destinationPath = fields[index++];
621
- if (!destinationPath) continue;
622
- changes.set(resolve(root, destinationPath), status.startsWith("C") ? "new" : "edited");
623
- } else if (status === "A") changes.set(resolve(root, sourcePath), "new");
624
- else if (status !== "D") changes.set(resolve(root, sourcePath), "edited");
625
- }
626
- return changes;
633
+ async function repositoryLibraryPath(repositoryRoot, libraryPath) {
634
+ const path = relative(repositoryRoot, await realpath(resolve(libraryPath)));
635
+ if (path === "" || isAbsolute(path) || path === ".." || path.startsWith(`..${sep}`)) return null;
636
+ return path.split(sep).join("/");
637
+ }
638
+ async function historicalLibrary(projectRoot, mergeBase, repositoryRelativeLibraryPath) {
639
+ let tree;
640
+ try {
641
+ tree = await git(projectRoot, [
642
+ "ls-tree",
643
+ "--full-tree",
644
+ "-z",
645
+ mergeBase,
646
+ "--",
647
+ `:(literal)${repositoryRelativeLibraryPath}`
648
+ ]);
649
+ } catch {
650
+ return { kind: "unavailable" };
651
+ }
652
+ if (tree === "") return { kind: "missing" };
653
+ if (!tree.endsWith("\0")) return { kind: "unavailable" };
654
+ const entries = tree.slice(0, -1).split("\0");
655
+ if (entries.length !== 1) return { kind: "unavailable" };
656
+ const match = /^([0-7]{6}) (blob) ([0-9a-fA-F]+)\t([\s\S]+)$/.exec(entries[0]);
657
+ if (!match || match[4] !== repositoryRelativeLibraryPath) return { kind: "unavailable" };
658
+ try {
659
+ return {
660
+ kind: "available",
661
+ library: parseLibrary(await gitBlob(projectRoot, match[3]))
662
+ };
663
+ } catch {
664
+ return { kind: "unavailable" };
665
+ }
666
+ }
667
+ function comparableRecord(record) {
668
+ return {
669
+ ...record,
670
+ manifests: [...new Set(record.manifests)].sort(compareCodeUnits)
671
+ };
627
672
  }
628
673
  /**
629
- * Raw Git file changes made since this branch diverged from the repository's
630
- * default branch. Staged, unstaged, and untracked files are included so the
631
- * editor updates immediately after an asset mutation, before the next commit.
674
+ * Asset-record changes made since this branch diverged from the repository's
675
+ * default branch. The current parsed library includes committed and local
676
+ * changes; raw-file state is intentionally handled by raw reconciliation.
632
677
  */
633
- async function gitFileChanges(projectRoot) {
678
+ async function gitAssetChanges(projectRoot, libraryPath, currentLibrary) {
634
679
  try {
635
- const root = resolve(projectRoot, ...(await git(projectRoot, ["rev-parse", "--show-prefix"])).trim().split("/").filter(Boolean).map(() => ".."));
680
+ const repositoryRoot = (await git(projectRoot, ["rev-parse", "--show-toplevel"])).trim();
681
+ if (!repositoryRoot) return /* @__PURE__ */ new Map();
682
+ const libraryGitPath = await repositoryLibraryPath(repositoryRoot, libraryPath);
683
+ if (!libraryGitPath) return /* @__PURE__ */ new Map();
636
684
  const defaultRef = await defaultBranchRef(projectRoot);
637
- let changes = /* @__PURE__ */ new Map();
638
- if (defaultRef) try {
639
- const mergeBase = (await git(projectRoot, [
640
- "merge-base",
641
- "HEAD",
642
- defaultRef
643
- ])).trim();
644
- if (mergeBase) changes = parseDiffNames(await git(projectRoot, [
645
- "diff",
646
- "--name-status",
647
- "-z",
648
- "--find-renames",
649
- mergeBase,
650
- "--"
651
- ]), root);
652
- } catch {}
653
- const untracked = await git(projectRoot, [
654
- "ls-files",
655
- "--others",
656
- "--exclude-standard",
657
- "--full-name",
658
- "-z"
659
- ]);
660
- for (const path of untracked.split("\0")) if (path) changes.set(resolve(root, path), "new");
685
+ if (!defaultRef) return /* @__PURE__ */ new Map();
686
+ const mergeBase = (await git(projectRoot, [
687
+ "merge-base",
688
+ "HEAD",
689
+ defaultRef
690
+ ])).trim();
691
+ if (!mergeBase) return /* @__PURE__ */ new Map();
692
+ const historical = await historicalLibrary(projectRoot, mergeBase, libraryGitPath);
693
+ if (historical.kind === "unavailable") return /* @__PURE__ */ new Map();
694
+ const changes = /* @__PURE__ */ new Map();
695
+ for (const [assetId, currentRecord] of Object.entries(currentLibrary.assets)) {
696
+ if (historical.kind === "missing") {
697
+ changes.set(assetId, "new");
698
+ continue;
699
+ }
700
+ if (!Object.hasOwn(historical.library.assets, assetId)) {
701
+ changes.set(assetId, "new");
702
+ continue;
703
+ }
704
+ if (!isDeepStrictEqual(comparableRecord(currentRecord), comparableRecord(historical.library.assets[assetId]))) changes.set(assetId, "edited");
705
+ }
661
706
  return changes;
662
707
  } catch {
663
708
  return /* @__PURE__ */ new Map();
@@ -1214,7 +1259,7 @@ var FundusOperations = class {
1214
1259
  };
1215
1260
  }
1216
1261
  async #buildState(library, issues, classification) {
1217
- const [gitBranch, changedGitFiles] = await Promise.all([currentGitBranch(this.#config.projectRoot), gitFileChanges(this.#config.projectRoot)]);
1262
+ const [gitBranch, changedGitAssets] = await Promise.all([currentGitBranch(this.#config.projectRoot), gitAssetChanges(this.#config.projectRoot, this.#config.library, library)]);
1218
1263
  const referencesByAsset = collectAllReferences(library, descriptorsByType(this.#registry));
1219
1264
  const membershipByManifest = computeLibraryMembership(library, referencesByAsset);
1220
1265
  const delivered = allDeliveredAssetIds(membershipByManifest);
@@ -1262,7 +1307,7 @@ var FundusOperations = class {
1262
1307
  folder: folderOfRawPath(record.raw),
1263
1308
  rawUrl: `/files/raw/${encodeRelativePathForUrl(record.raw)}?v=${record.rawHash.slice(0, 12)}`,
1264
1309
  rawHash: record.rawHash,
1265
- gitStatus: changedGitFiles.get(resolve(this.#config.rawDir, record.raw)) ?? null,
1310
+ gitStatus: changedGitAssets.get(assetId) ?? null,
1266
1311
  importSource: record.importSource,
1267
1312
  parameters: record.parameters,
1268
1313
  manifests: record.manifests,
@@ -1465,4 +1510,4 @@ async function createFundusContext() {
1465
1510
  }
1466
1511
 
1467
1512
  export { getFundusContext as g, initializeFundusContext as i };
1468
- //# sourceMappingURL=context.js-CLnT3cF3.js.map
1513
+ //# sourceMappingURL=context.js-CPdlcRhV.js.map