fundus 0.12.0 → 0.12.1

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 (204) hide show
  1. package/README.md +2 -0
  2. package/build/client/_app/immutable/assets/2.Do83Bm42.css +1 -0
  3. package/build/client/_app/immutable/assets/2.Do83Bm42.css.br +0 -0
  4. package/build/client/_app/immutable/assets/2.Do83Bm42.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/{3.D6PF4wEW.css → 3.C6xo25uI.css} +1 -1
  6. package/build/client/_app/immutable/assets/3.C6xo25uI.css.br +0 -0
  7. package/build/client/_app/immutable/assets/3.C6xo25uI.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/{LibraryContextMenu.B6By2-yb.css → AssetSourceMenu.BmQJNvwU.css} +1 -1
  9. package/build/client/_app/immutable/assets/AssetSourceMenu.BmQJNvwU.css.br +0 -0
  10. package/build/client/_app/immutable/assets/AssetSourceMenu.BmQJNvwU.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/{Popover.x-2x_hPE.css → Popover.CCTioPJZ.css} +1 -1
  12. package/build/client/_app/immutable/assets/Popover.CCTioPJZ.css.br +0 -0
  13. package/build/client/_app/immutable/assets/Popover.CCTioPJZ.css.gz +0 -0
  14. package/build/client/_app/immutable/chunks/Br-_gll5.js +108 -0
  15. package/build/client/_app/immutable/chunks/Br-_gll5.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/Br-_gll5.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/D1_lla-1.js +1 -0
  18. package/build/client/_app/immutable/chunks/D1_lla-1.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/D1_lla-1.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/Q50krHyn.js +2 -0
  21. package/build/client/_app/immutable/chunks/Q50krHyn.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/Q50krHyn.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{CjB5zQ4_.js → XXb1V1W4.js} +1 -1
  24. package/build/client/_app/immutable/chunks/XXb1V1W4.js.br +2 -0
  25. package/build/client/_app/immutable/chunks/XXb1V1W4.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{BxCbL__p.js → dNO-9VOT.js} +1 -1
  27. package/build/client/_app/immutable/chunks/dNO-9VOT.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/dNO-9VOT.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{Bj31DJwy.js → hUfV2O0k.js} +1 -1
  30. package/build/client/_app/immutable/chunks/hUfV2O0k.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/hUfV2O0k.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/{app.DHoRwUAh.js → app.CCAhttSp.js} +2 -2
  33. package/build/client/_app/immutable/entry/app.CCAhttSp.js.br +0 -0
  34. package/build/client/_app/immutable/entry/app.CCAhttSp.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/start.DJIzRm6t.js +1 -0
  36. package/build/client/_app/immutable/entry/start.DJIzRm6t.js.br +1 -0
  37. package/build/client/_app/immutable/entry/start.DJIzRm6t.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{0.Df_skSaZ.js → 0.DUlsG4Qh.js} +1 -1
  39. package/build/client/_app/immutable/nodes/0.DUlsG4Qh.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/0.DUlsG4Qh.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{1.B-Gp2MAj.js → 1.CuulMHsk.js} +1 -1
  42. package/build/client/_app/immutable/nodes/1.CuulMHsk.js.br +3 -0
  43. package/build/client/_app/immutable/nodes/1.CuulMHsk.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/2.7TnKW5UR.js +3 -0
  45. package/build/client/_app/immutable/nodes/2.7TnKW5UR.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/2.7TnKW5UR.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/3.Db6_fvQZ.js +1 -0
  48. package/build/client/_app/immutable/nodes/3.Db6_fvQZ.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/3.Db6_fvQZ.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{4.Dw8y5rjM.js → 4.bgUCYdNb.js} +1 -1
  51. package/build/client/_app/immutable/nodes/4.bgUCYdNb.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/4.bgUCYdNb.js.gz +0 -0
  53. package/build/client/_app/version.json +1 -1
  54. package/build/client/_app/version.json.br +0 -0
  55. package/build/client/_app/version.json.gz +0 -0
  56. package/build/handler.js +7 -7
  57. package/build/index.js +7 -7
  58. package/build/server/chunks/chunks/{context.js-BNdRFspW.js → context.js-6YdbScn_.js} +68 -6
  59. package/build/server/chunks/chunks/context.js-6YdbScn_.js.map +1 -0
  60. package/build/server/chunks/chunks/{contract.js-DRcxzb4o.js → contract.js-BHQbpsFk.js} +29 -6
  61. package/build/server/chunks/chunks/contract.js-BHQbpsFk.js.map +1 -0
  62. package/build/server/chunks/chunks/{core.js-Cj7hjmtV.js → core.js-CABVXpby.js} +2 -2
  63. package/build/server/chunks/chunks/{core.js-Cj7hjmtV.js.map → core.js-CABVXpby.js.map} +1 -1
  64. package/build/server/chunks/chunks/{exports.js-CUFgHhPL.js → exports.js-BTuzD8-J.js} +2 -2
  65. package/build/server/chunks/chunks/{exports.js-CUFgHhPL.js.map → exports.js-BTuzD8-J.js.map} +1 -1
  66. package/build/server/chunks/chunks/{http.js-DMkgmpI5.js → http.js-dbT0ifQ9.js} +2 -2
  67. package/build/server/chunks/chunks/{http.js-DMkgmpI5.js.map → http.js-dbT0ifQ9.js.map} +1 -1
  68. package/build/server/chunks/chunks/{internal.js-DUquB_BJ.js → internal.js-xEkkCIRs.js} +3 -3
  69. package/build/server/chunks/chunks/{internal.js-DUquB_BJ.js.map → internal.js-xEkkCIRs.js.map} +1 -1
  70. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
  71. package/build/server/chunks/chunks/{manifest-membership.js-vIb-KkQi.js → manifest-membership.js-BnSECWpJ.js} +2 -2
  72. package/build/server/chunks/chunks/{manifest-membership.js-vIb-KkQi.js.map → manifest-membership.js-BnSECWpJ.js.map} +1 -1
  73. package/build/server/chunks/chunks/{raw-reconciliation.js-CeIOAYCA.js → raw-reconciliation.js-ZEOCk_jA.js} +3 -3
  74. package/build/server/chunks/chunks/raw-reconciliation.js-ZEOCk_jA.js.map +1 -0
  75. package/build/server/chunks/chunks/{raw-reconciliation2.js-5mUCDiJk.js → raw-reconciliation2.js-CscuoBC2.js} +2 -2
  76. package/build/server/chunks/chunks/{raw-reconciliation2.js-5mUCDiJk.js.map → raw-reconciliation2.js-CscuoBC2.js.map} +1 -1
  77. package/build/server/chunks/chunks/{shared.js-BXL1A-vX.js → shared.js-ClQ0W6xa.js} +2 -2
  78. package/build/server/chunks/chunks/{shared.js-BXL1A-vX.js.map → shared.js-ClQ0W6xa.js.map} +1 -1
  79. package/build/server/chunks/chunks/{utils.js-xC62cOm2.js → utils.js-_DPNtm3G.js} +3 -3
  80. package/build/server/chunks/chunks/{utils.js-xC62cOm2.js.map → utils.js-_DPNtm3G.js.map} +1 -1
  81. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-m2QGyBiV.js → _server.ts.js-BaMGnbi8.js} +6 -6
  82. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-m2QGyBiV.js.map → _server.ts.js-BaMGnbi8.js.map} +1 -1
  83. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-DEfBMmVd.js → _server.ts.js-B6YhmqYd.js} +7 -7
  84. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-DEfBMmVd.js.map → _server.ts.js-B6YhmqYd.js.map} +1 -1
  85. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BEJcx3ya.js → _server.ts.js-qtGGwjZ4.js} +14 -7
  86. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/_server.ts.js-qtGGwjZ4.js.map +1 -0
  87. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-CibkO-4G.js → _server.ts.js-98vjovDS.js} +7 -7
  88. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-CibkO-4G.js.map → _server.ts.js-98vjovDS.js.map} +1 -1
  89. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-BdisCQk6.js → _server.ts.js-CCzQEr--.js} +7 -7
  90. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-BdisCQk6.js.map → _server.ts.js-CCzQEr--.js.map} +1 -1
  91. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-Bk2hojus.js → _server.ts.js-Ca7G_5IJ.js} +7 -7
  92. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-Bk2hojus.js.map → _server.ts.js-Ca7G_5IJ.js.map} +1 -1
  93. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-CTeQlqUL.js → _server.ts.js-DRw4ICSn.js} +7 -7
  94. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-CTeQlqUL.js.map → _server.ts.js-DRw4ICSn.js.map} +1 -1
  95. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-DLxdefrX.js → _server.ts.js-Ai46jTgw.js} +7 -7
  96. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-DLxdefrX.js.map → _server.ts.js-Ai46jTgw.js.map} +1 -1
  97. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-Ceq1tMTz.js → _server.ts.js-NQKYbtiU.js} +7 -7
  98. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-Ceq1tMTz.js.map → _server.ts.js-NQKYbtiU.js.map} +1 -1
  99. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-DxAWqf9V.js → _server.ts.js-_vJ2Npqd.js} +7 -7
  100. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-DxAWqf9V.js.map → _server.ts.js-_vJ2Npqd.js.map} +1 -1
  101. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-BB_6WywB.js → _server.ts.js-DIn5srjK.js} +7 -7
  102. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-BB_6WywB.js.map → _server.ts.js-DIn5srjK.js.map} +1 -1
  103. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-BLRkduAp.js → _server.ts.js-CqFLRTP-.js} +7 -7
  104. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-BLRkduAp.js.map → _server.ts.js-CqFLRTP-.js.map} +1 -1
  105. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-Ba94-p0V.js → _server.ts.js-BYn_v3VS.js} +7 -7
  106. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-Ba94-p0V.js.map → _server.ts.js-BYn_v3VS.js.map} +1 -1
  107. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CNhj0R4-.js → _server.ts.js-sxVzkX1S.js} +7 -7
  108. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-CNhj0R4-.js.map → _server.ts.js-sxVzkX1S.js.map} +1 -1
  109. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DWEV8mgx.js → _server.ts.js-E3B6VyAs.js} +7 -7
  110. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-DWEV8mgx.js.map → _server.ts.js-E3B6VyAs.js.map} +1 -1
  111. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-BnDnZdPy.js → _server.ts.js-ClgS9ghS.js} +7 -7
  112. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-BnDnZdPy.js.map → _server.ts.js-ClgS9ghS.js.map} +1 -1
  113. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-1y2Lu6HB.js → _server.ts.js-BPUzWMNL.js} +7 -7
  114. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-1y2Lu6HB.js.map → _server.ts.js-BPUzWMNL.js.map} +1 -1
  115. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-CnLJo2iZ.js → _server.ts.js-_G6pURnx.js} +7 -7
  116. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-CnLJo2iZ.js.map → _server.ts.js-_G6pURnx.js.map} +1 -1
  117. package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-Dqs6d6ul.js → _server.ts.js-as3GcjaI.js} +7 -7
  118. package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-Dqs6d6ul.js.map → _server.ts.js-as3GcjaI.js.map} +1 -1
  119. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-CT7yOdDS.js → _server.ts.js-CR58wymO.js} +6 -6
  120. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-CT7yOdDS.js.map → _server.ts.js-CR58wymO.js.map} +1 -1
  121. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-BHdIopR2.js → _server.ts.js-Do2LOf04.js} +7 -7
  122. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-BHdIopR2.js.map → _server.ts.js-Do2LOf04.js.map} +1 -1
  123. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CFWfVYjg.js → _server.ts.js-Ckp6_SaE.js} +7 -7
  124. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-CFWfVYjg.js.map → _server.ts.js-Ckp6_SaE.js.map} +1 -1
  125. package/build/server/chunks/entries/{hooks.server.js-BT84TVOj.js → hooks.server.js-CL1tg0CT.js} +6 -6
  126. package/build/server/chunks/entries/{hooks.server.js-BT84TVOj.js.map → hooks.server.js-CL1tg0CT.js.map} +1 -1
  127. package/build/server/chunks/{handler-ChRrsqKi.js → handler-6UmsR4HY.js} +5 -5
  128. package/build/server/chunks/{handler-ChRrsqKi.js.map → handler-6UmsR4HY.js.map} +1 -1
  129. package/build/server/chunks/{index.js-1EfZPKuZ.js → index.js-CjHZ4kgG.js} +5 -5
  130. package/build/server/chunks/{index.js-1EfZPKuZ.js.map → index.js-CjHZ4kgG.js.map} +1 -1
  131. package/build/server/chunks/{manifest.js-DR0qLyIe.js → manifest.js-DFh4gv8f.js} +29 -29
  132. package/build/server/chunks/{manifest.js-DR0qLyIe.js.map → manifest.js-DFh4gv8f.js.map} +1 -1
  133. package/build/server/chunks/nodes/{0.js-CHb0mVEc.js → 0.js-B_HfQzlA.js} +2 -2
  134. package/build/server/chunks/nodes/{0.js-CHb0mVEc.js.map → 0.js-B_HfQzlA.js.map} +1 -1
  135. package/build/server/chunks/nodes/1.js-S48YmPof.js +7 -0
  136. package/build/server/chunks/nodes/{1.js-DXh-Y7sw.js.map → 1.js-S48YmPof.js.map} +1 -1
  137. package/build/server/chunks/nodes/2.js-NPMtObSV.js +7 -0
  138. package/build/server/chunks/nodes/2.js-NPMtObSV.js.map +1 -0
  139. package/build/server/chunks/nodes/3.js-p75We_hZ.js +7 -0
  140. package/build/server/chunks/nodes/3.js-p75We_hZ.js.map +1 -0
  141. package/build/server/chunks/nodes/4.js-C8FMkoda.js +7 -0
  142. package/build/server/chunks/nodes/4.js-C8FMkoda.js.map +1 -0
  143. package/dist/cli.js +2 -1
  144. package/dist/server/cli-commands.d.ts +1 -1
  145. package/dist/server/cli-commands.js +45 -10
  146. package/dist/server/image-duplicates.js +2 -0
  147. package/dist/server/index.d.ts +1 -1
  148. package/dist/server/library-store.d.ts +7 -1
  149. package/dist/server/library-store.js +38 -1
  150. package/dist/server/operations.d.ts +6 -0
  151. package/dist/server/operations.js +62 -0
  152. package/package.json +1 -1
  153. package/build/client/_app/immutable/assets/2.DOKgeL9V.css +0 -1
  154. package/build/client/_app/immutable/assets/2.DOKgeL9V.css.br +0 -0
  155. package/build/client/_app/immutable/assets/2.DOKgeL9V.css.gz +0 -0
  156. package/build/client/_app/immutable/assets/3.D6PF4wEW.css.br +0 -0
  157. package/build/client/_app/immutable/assets/3.D6PF4wEW.css.gz +0 -0
  158. package/build/client/_app/immutable/assets/LibraryContextMenu.B6By2-yb.css.br +0 -0
  159. package/build/client/_app/immutable/assets/LibraryContextMenu.B6By2-yb.css.gz +0 -0
  160. package/build/client/_app/immutable/assets/Popover.x-2x_hPE.css.br +0 -0
  161. package/build/client/_app/immutable/assets/Popover.x-2x_hPE.css.gz +0 -0
  162. package/build/client/_app/immutable/chunks/BfQXIsM7.js +0 -1
  163. package/build/client/_app/immutable/chunks/BfQXIsM7.js.br +0 -0
  164. package/build/client/_app/immutable/chunks/BfQXIsM7.js.gz +0 -0
  165. package/build/client/_app/immutable/chunks/Bj31DJwy.js.br +0 -0
  166. package/build/client/_app/immutable/chunks/Bj31DJwy.js.gz +0 -0
  167. package/build/client/_app/immutable/chunks/BufZeTod.js +0 -2
  168. package/build/client/_app/immutable/chunks/BufZeTod.js.br +0 -0
  169. package/build/client/_app/immutable/chunks/BufZeTod.js.gz +0 -0
  170. package/build/client/_app/immutable/chunks/BxCbL__p.js.br +0 -0
  171. package/build/client/_app/immutable/chunks/BxCbL__p.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/CjB5zQ4_.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/CjB5zQ4_.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/DuXWzgb4.js +0 -108
  175. package/build/client/_app/immutable/chunks/DuXWzgb4.js.br +0 -0
  176. package/build/client/_app/immutable/chunks/DuXWzgb4.js.gz +0 -0
  177. package/build/client/_app/immutable/entry/app.DHoRwUAh.js.br +0 -0
  178. package/build/client/_app/immutable/entry/app.DHoRwUAh.js.gz +0 -0
  179. package/build/client/_app/immutable/entry/start.Xp5z9Bmx.js +0 -1
  180. package/build/client/_app/immutable/entry/start.Xp5z9Bmx.js.br +0 -0
  181. package/build/client/_app/immutable/entry/start.Xp5z9Bmx.js.gz +0 -0
  182. package/build/client/_app/immutable/nodes/0.Df_skSaZ.js.br +0 -0
  183. package/build/client/_app/immutable/nodes/0.Df_skSaZ.js.gz +0 -0
  184. package/build/client/_app/immutable/nodes/1.B-Gp2MAj.js.br +0 -0
  185. package/build/client/_app/immutable/nodes/1.B-Gp2MAj.js.gz +0 -0
  186. package/build/client/_app/immutable/nodes/2.DFHvXQZ-.js +0 -3
  187. package/build/client/_app/immutable/nodes/2.DFHvXQZ-.js.br +0 -0
  188. package/build/client/_app/immutable/nodes/2.DFHvXQZ-.js.gz +0 -0
  189. package/build/client/_app/immutable/nodes/3.DVl0Y9iQ.js +0 -1
  190. package/build/client/_app/immutable/nodes/3.DVl0Y9iQ.js.br +0 -0
  191. package/build/client/_app/immutable/nodes/3.DVl0Y9iQ.js.gz +0 -0
  192. package/build/client/_app/immutable/nodes/4.Dw8y5rjM.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/4.Dw8y5rjM.js.gz +0 -0
  194. package/build/server/chunks/chunks/context.js-BNdRFspW.js.map +0 -1
  195. package/build/server/chunks/chunks/contract.js-DRcxzb4o.js.map +0 -1
  196. package/build/server/chunks/chunks/raw-reconciliation.js-CeIOAYCA.js.map +0 -1
  197. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/_server.ts.js-BEJcx3ya.js.map +0 -1
  198. package/build/server/chunks/nodes/1.js-DXh-Y7sw.js +0 -7
  199. package/build/server/chunks/nodes/2.js-BSEFm6uL.js +0 -7
  200. package/build/server/chunks/nodes/2.js-BSEFm6uL.js.map +0 -1
  201. package/build/server/chunks/nodes/3.js-Cob8rFik.js +0 -7
  202. package/build/server/chunks/nodes/3.js-Cob8rFik.js.map +0 -1
  203. package/build/server/chunks/nodes/4.js-CsI1onmR.js +0 -7
  204. package/build/server/chunks/nodes/4.js-CsI1onmR.js.map +0 -1
@@ -0,0 +1 @@
1
+ import{$ as e,A as t,F as n,I as r,J as i,M as a,O as o,P as s,Q as c,R as l,S as u,T as d,U as f,W as p,X as m,Y as h,Z as g,c as _,ct as v,d as y,et as b,it as x,j as S,k as C,m as w,o as T,ot as E,p as D,rt as O,st as k,u as A,v as ee}from"../chunks/YpiA5Xry.js";import{c as j,t as M}from"../chunks/D1_lla-1.js";import"../chunks/xihTtKlq.js";import{t as N}from"../chunks/XXb1V1W4.js";import{$ as P,J as F,Q as I,U as te,X as ne,d as L,h as re,k as ie,l as ae,m as oe,o as se,ot as ce,r as le,rt as ue,t as R,tt as de}from"../chunks/Q50krHyn.js";import{a as fe,t as pe}from"../chunks/dNO-9VOT.js";import{c as me,d as he,f as ge,g as _e,h as ve,l as ye,n as be,r as xe,s as Se,t as Ce,u as z}from"../chunks/Br-_gll5.js";import{t as we}from"../chunks/hUfV2O0k.js";function Te(e,t,n){return n===t.revision?e??t:e}var Ee=class{#e=0;#t=null;#n;constructor(e){this.#n=e}bindAsset(e){e!==this.#t&&(this.#t=e,this.#e++,this.#n({status:`idle`}))}cancel(){this.#e++,this.#n({status:`idle`})}async open(e,t,n){this.bindAsset(e);let r=++this.#e;this.#n({status:`opening`,assetId:e,referenceId:t});try{await n(),r===this.#e&&e===this.#t&&this.#n({status:`idle`})}catch(t){r===this.#e&&e===this.#t&&this.#n({status:`failed`,assetId:e,error:t instanceof Error?t.message:String(t)})}}};function De(e){return e.references.map(t=>({reference:t,roots:e.roots.filter(e=>e.result.status===`resolved`&&e.result.referenceIds.includes(t.id))}))}function B(e,t){return[...e].reverse().map((e,n,r)=>n===r.length-1?`${t}.${e}`:e).join(` <- `)}function Oe(e,t=2){let n=[...new Set(e.roots.flatMap(e=>e.paths.map(t=>B(t,e.manifest))))],r=Math.max(0,t),i=e.roots.reduce((e,t)=>e+BigInt(t.additionalPathCount??`0`),0n);return{visible:n.slice(0,r),additionalCount:BigInt(Math.max(0,n.length-r))+i}}function ke(e,t=3){let n=e.replaceAll(`\\`,`/`),r=n.split(`/`).filter(Boolean);return r.length<=t?n:`…/${r.slice(-t).join(`/`)}`}var V=a(`<button type="button" class="control usages-trigger svelte-13vzy7a" aria-haspopup="dialog"> <svg viewBox="0 0 12 12" aria-hidden="true"><path d="m3 4.5 3 3 3-3"></path></svg></button>`),H=a(`<small class="svelte-13vzy7a"> </small>`),Ae=a(`<span class="reference-paths svelte-13vzy7a"> </span>`),je=a(`<button type="button" class="usage-reference svelte-13vzy7a"><span class="reference-location svelte-13vzy7a"><span class="reference-file svelte-13vzy7a"> </span> <span class="reference-position svelte-13vzy7a"> </span></span> <!> <!></button>`),Me=a(`<div class="usage-popover svelte-13vzy7a"><div class="popover-heading svelte-13vzy7a"><span class="svelte-13vzy7a">Code usages</span> <span class="svelte-13vzy7a"> </span></div> <div class="usage-list svelte-13vzy7a"></div></div>`),U=a(`<p class="hint svelte-13vzy7a">Not reachable from a generated manifest member.</p>`),W=a(`<p class="hint svelte-13vzy7a">Referenced from project code.</p>`),Ne=a(`<p class="hint svelte-13vzy7a">No code references found.</p>`),G=a(`<p class="hint error svelte-13vzy7a"> </p>`),K=a(`<p class="hint error svelte-13vzy7a" role="alert"> </p>`),Pe=a(`<div class="usage-header svelte-13vzy7a"><div class="usage-status svelte-13vzy7a"><span></span> <span> </span></div> <div class="usage-actions svelte-13vzy7a"><!> <button type="button" class="control svelte-13vzy7a"> </button></div></div> <!> <!>`,1);function Fe(n,a){x(a,!0);let s=e(!1),u=b(()=>De(a.usage)),p=b(()=>[...new Set(a.usage.roots.flatMap(e=>e.result.status===`unknown`?[e.result.reason??`Usage could not be resolved.`]:[]))]);function g(e){c(s,!1),a.onOpen(e)}var _=Pe(),S=h(_),w=i(S),T=i(w);let E;var D=m(T,2),k=i(D,!0);v(D),v(w);var A=m(w,2),j=i(A),M=e=>{we(e,{align:`right`,portal:!0,get label(){return`Code usages for ${a.usage.assetId??``}`},get open(){return l(s)},set open(e){c(s,e,!0)},trigger:(e,n)=>{let o=()=>(n?.()).toggle,s=()=>(n?.()).open;var c=V(),l=i(c),u=m(l);let d;v(c),f(()=>{y(c,`aria-expanded`,s()),C(l,`${a.usage.references.length??``} usage${a.usage.references.length===1?``:`s`} `),d=ee(u,0,`chevron svelte-13vzy7a`,null,d,{open:s()})}),r(`click`,c,function(...e){o()?.apply(this,e)}),t(e,c)},children:(e,n)=>{var s=Me(),c=i(s),p=m(i(c),2),h=i(p,!0);v(p),v(c);var _=m(c,2);d(_,21,()=>l(u),e=>e.reference.id,(e,n)=>{let s=b(()=>l(n).reference),c=b(()=>Oe(l(n)));var u=je(),d=i(u),p=i(d),h=i(p,!0);v(p);var _=m(p,2),x=i(_);v(_),v(d);var S=m(d,2),w=e=>{var n=H(),r=i(n,!0);v(n),f(()=>C(r,l(s).label)),t(e,n)};o(S,e=>{l(s).label&&e(w)});var T=m(S,2),E=e=>{var n=Ae(),r=i(n);v(n),f(e=>C(r,`${e??``}${l(c).additionalCount>0n?` · +${l(c).additionalCount} more`:``}`),[()=>l(c).visible.join(` · `)]),t(e,n)};o(T,e=>{l(c).visible.length>0&&e(E)}),v(u),f(e=>{u.disabled=a.openState.status===`opening`,y(u,`title`,l(s).file),y(u,`aria-label`,`Open ${l(s).file} at line ${l(s).line}, column ${l(s).column}`),C(h,e),C(x,`${l(s).line??``}:${l(s).column??``}`)},[()=>ke(l(s).file)]),r(`click`,u,()=>g(l(s))),t(e,u)}),v(_),v(s),f(()=>C(h,a.usage.references.length)),t(e,s)},$$slots:{trigger:!0,default:!0}})};o(j,e=>{a.usage.references.length>0&&e(M)});var N=m(j,2),P=i(N,!0);v(N),v(A),v(S);var F=m(S,2),I=e=>{t(e,U())},te=e=>{t(e,W())},ne=e=>{t(e,Ne())},L=e=>{var n=G(),r=i(n,!0);v(n),f(()=>C(r,l(p)[0])),t(e,n)};o(F,e=>{a.usage.roots.length===0?e(I):a.usage.status===`used`?e(te,1):a.usage.status===`unused`?e(ne,2):l(p).length>0&&e(L,3)});var re=m(F,2),ie=e=>{var n=K(),r=i(n);v(n),f(()=>C(r,`${a.openState.error??``} Refresh usage and try again.`)),t(e,n)};o(re,e=>{a.openState.status===`failed`&&e(ie)}),f(()=>{E=ee(T,1,`status-dot svelte-13vzy7a`,null,E,{used:a.usage.status===`used`,unknown:a.usage.status===`unknown`}),C(k,a.usage.status===`used`?`Used`:a.usage.status===`unused`?`Unused`:`Unknown`),N.disabled=a.refreshing,y(N,`aria-busy`,a.refreshing),C(P,a.usage.status===`unknown`?`Retry`:`Refresh`)}),r(`click`,N,function(...e){a.onRefresh?.apply(this,e)}),t(n,_),O()}n([`click`]);var Ie=a(`<p class="hint error refresh-error svelte-1xvalv3" role="alert"> </p>`),q=a(`<!> <!>`,1),J=a(`<p class="hint svelte-1xvalv3" role="status">Analyzing asset usage…</p>`),Le=a(`<p class="hint error svelte-1xvalv3" role="alert"> </p> <button class="control">Retry</button>`,1),Re=a(`<section class="usage-section svelte-1xvalv3"><!> <!></section>`);function ze(n,a){x(a,!0);let u=e(g({status:`idle`})),d=new _e(e=>c(u,e,!0)),_=e(g({status:`idle`})),y=new Ee(e=>c(_,e,!0)),w=R.usageRefreshRevision,T=b(()=>l(u).status===`resolved`||l(u).status===`refreshing`||l(u).status===`failed`?l(u).value?.assets[0]??null:null);p(()=>{if(y.bindAsset(a.assetId),!a.available||!a.assetId){d.cancel(),y.cancel();return}return d.run(()=>F({assetId:a.assetId})),()=>{d.cancel(),y.cancel()}}),p(()=>{let e=R.usageRefreshRevision;e!==w&&(w=e,a.available&&a.assetId&&E())});function E(){y.cancel(),d.run(()=>F({assetId:a.assetId,forceFresh:!0}),{retainResult:!0})}async function D(e,t){await y.open(a.assetId,e,()=>I(t))}var A=S(),ee=h(A),j=e=>{var n=Re(),a=i(n);z(a,{children:(e,n)=>{k(),t(e,s(`Usage`))},$$slots:{default:!0}});var c=m(a,2),d=e=>{var n=q(),r=h(n);{let e=b(()=>l(u).status===`refreshing`);Fe(r,{get usage(){return l(T)},get openState(){return l(_)},get refreshing(){return l(e)},onRefresh:E,onOpen:e=>void D(e.id,e.openToken)})}var a=m(r,2),s=e=>{var n=Ie(),r=i(n,!0);v(n),f(()=>C(r,l(u).error)),t(e,n)};o(a,e=>{l(u).status===`failed`&&e(s)}),t(e,n)},p=e=>{t(e,J())},g=e=>{var n=Le(),a=h(n),o=i(a,!0);v(a);var s=m(a,2);f(()=>C(o,l(u).error)),r(`click`,s,E),t(e,n)};o(c,e=>{l(T)?e(d):l(u).status===`idle`||l(u).status===`loading`?e(p,1):l(u).status===`failed`&&e(g,2)}),v(n),t(e,n)};o(ee,e=>{a.available&&e(j)}),t(n,A),O()}n([`click`]);var Be=a(`<div class="center empty svelte-xy8zsr">Loading…</div>`),Ve=a(`<div class="center empty svelte-xy8zsr"> </div>`),He=a(`<div class="empty svelte-xy8zsr"> </div>`),Ue=a(`<p class="warning svelte-xy8zsr"> </p>`),We=a(`<a class="duplicate-row svelte-xy8zsr"><img alt="" class="svelte-xy8zsr"/> <span class="svelte-xy8zsr"> </span></a>`),Ge=a(`<div class="duplicate-warning svelte-xy8zsr"><strong class="svelte-xy8zsr"> </strong> <!></div>`),Ke=a(`<p class="hint error svelte-xy8zsr"> </p>`),qe=a(`<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>`),Je=a(`<p class="hint svelte-xy8zsr">No manifests yet — create one in the Manifests view.</p>`),Ye=a(`<p class="hint svelte-xy8zsr">No references.</p>`),Xe=a(`<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>`),Ze=a(`<h4 class="svelte-xy8zsr">Outgoing</h4> <!>`,1),Qe=a(`<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>`),$e=a(`<h4 class="svelte-xy8zsr">Incoming</h4> <!>`,1),et=a(`<!> <!>`,1),tt=a(`<button type="button" class="control replace-raw svelte-xy8zsr" aria-haspopup="dialog"><span> </span> <!></button>`),nt=a(`<div class="replace-picker svelte-xy8zsr"><!></div>`),rt=a(`<button class="control replace-raw svelte-xy8zsr"> </button>`),it=a(`<div class="center svelte-xy8zsr"><!></div> <aside class="inspector svelte-xy8zsr"><section class="head svelte-xy8zsr"><h2 class="svelte-xy8zsr"> </h2> <p class="raw svelte-xy8zsr"> <span title="Raw file"> </span></p> <!> <!></section> <!> <!> <section class="svelte-xy8zsr"><!> <!></section> <section class="svelte-xy8zsr"><!> <!></section> <!> <section class="svelte-xy8zsr"><!> <!> <!> <div class="rename svelte-xy8zsr"><input class="control svelte-xy8zsr" type="text" spellcheck="false"/> <button class="control">Rename</button></div> <!> <button class="control danger svelte-xy8zsr">Delete asset</button></section></aside>`,1),at=a(`<div class="detail svelte-xy8zsr"><!> <!></div> <input type="file" hidden=""/> <input type="file" hidden=""/> <!> <!> <!> <!>`,1);function ot(n,a){x(a,!0);let g=b(()=>N.params.id??``),F=b(()=>R.assetById(l(g))),I=b(()=>l(F)?l(F).duplicateIds.flatMap(e=>{let t=R.assetById(e);return t?[t]:[]}):[]),_e=b(()=>R.manifestNames),Ee=b(()=>l(F)?R.state?.presetNames[l(F).type]??[]:[]),De=b(()=>l(F)?R.state?.presetCapabilities[l(F).type]??{}:{}),B=b(()=>l(F)?ye[l(F).type]??null:null),Oe=b(()=>l(B)?.panel??null),ke=b(()=>l(B)?.editor??null),V=b(()=>{if(l(F)?.importSource?.importer!==`figma`)return null;let e=l(F).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(`:`,`-`)}`}}),H=e(null),Ae=0,je=b(()=>l(F)?l(H)&&l(H).assetId===l(F).id?l(H).value:E(l(F)).parameters:null);function Me(e){l(F)&&c(H,{assetId:l(F).id,value:e,revision:++Ae},!0)}let U=null,W=e(null),Ne=e(null),G=0,K=e(null),Pe=0,Fe=e(null),Ie=0,q=e(null),J=e(null),Le=e(``),Re=e(void 0),ot=e(void 0),st=e(!1),ct=e(null),Y=e(null),lt=e(null),X=e(null),Z=e(null),ut=e(null),Q=e(``),dt=e(2),ft=b(()=>l(V)!==null&&(l(Q).trim()!==l(V).url||l(dt)!==l(V).scale));p(()=>{let e=l(V),t=l(F)&&e?`${l(F).id}|${e.fileKey}|${e.nodeId}|${e.scale}`:null;t!==l(ut)&&(c(ut,t,!0),c(Q,e?.url??``,!0),c(dt,e?.scale??2,!0),c(Z,null))});let pt=oe().join(`,`),mt=b(()=>l(F)?re(l(F).type).join(`,`):``),ht=b(()=>l(F)?.type===`image`||l(F)?.type===`slice`),gt=e(null),$=b(()=>l(F)&&l(gt)?.assetId===l(F).id?l(gt).value:l(F)?.id??``),_t=b(()=>l(F)&&l($)!==l(F).id?ie(l($))??(R.assetById(l($))?`An asset with this ID already exists.`:null):null);async function vt(e){if(!l(F))return;let t=l(F).id,n=R.state?le(R.state,t,e):[`asset:${t}`];Me(e);let r=l(H),i=R.mutate(()=>P(t,{parameters:e}),L(t,{parameters:e}),{dependencies:n});l(H)?.revision===r.revision&&c(H,null);try{await i}catch{c(H,Te(l(H),r,Ae),!0)}}async function yt(e){if(!l(F))return;let t=l(F).id,n=l(F).manifests.includes(e)?l(F).manifests.filter(t=>t!==e):[...l(F).manifests,e];try{await R.mutate(()=>P(t,{manifests:n}),L(t,{manifests:n}),{dependencies:[`asset:${t}`,...[...new Set([...n,e])].map(e=>`manifest:${e}`)]})}catch{}}async function bt(){if(!l(F)||l($)===l(F).id||l(_t))return;let e=l(F).id,t=l($),n=R.mutate(()=>P(e,{renameTo:t}),L(e,{renameTo:t}),{dependencies:[`asset:${e}`,`asset:${t}`],invalidatesOnFailure:[`asset:${e}`,`asset:${t}`]});c(gt,null);let r=l(g)===e?M(j(`/asset/[id]`,{id:t}),{replaceState:!0}):Promise.resolve();try{await Promise.all([n,r])}catch{l(g)===t&&R.assetById(e)&&await M(j(`/asset/[id]`,{id:e}),{replaceState:!0})}}async function xt(){if(!l(F))return;let e=l(F).id,t=l(F).folder;if(!confirm(`Delete "${e}"? The raw file and its proxies are removed.`))return;let n=R.mutate(()=>te(e),se([e]),{dependencies:[`asset:${e}`],invalidatesOnFailure:[`asset:${e}`]}),r=l(g)===e?he.begin():null;U=null;let i=r===null?Promise.resolve():M(Ct(t));try{await Promise.all([n,i])}catch{r!==null&&he.isCurrent(r)&&N.url.pathname===j(`/`)&&R.assetById(e)&&await M(j(`/asset/[id]`,{id:e}))}}async function St(e,t){let n=he.begin();U=t?{assetId:t,intent:n}:null,await M(Ct(e))}function Ct(e){let t=new URL(j(`/`),N.url);return t.search=``,ve(t,{...ge,folder:e})}async function wt(e){let t=U;t?.assetId!==e||!he.isCurrent(t.intent)||N.url.pathname!==j(`/`)||!R.assetById(e)||(U=null,await M(j(`/asset/[id]`,{id:e})))}async function Tt(e){await St(e,l(g))}async function Et(e,t){let n=e.filter(e=>R.assetById(e)?.folder!==t);if(n.length===0)return;let r=[...new Set([t,...n.flatMap(e=>{let t=R.assetById(e)?.folder;return t===void 0?[]:[t]})])];try{await R.mutate(()=>ne(n,t),ae(n,t),{dependencies:[...n.map(e=>`asset:${e}`),...r.map(e=>`folder:${e}`)]})}catch{}}function Dt(e){G+=1,c(Ne,{id:G,parent:e},!0)}function Ot(e){Pe+=1,c(K,{id:Pe,path:e},!0)}function kt(e){Ie+=1,c(Fe,{id:Ie,path:e},!0)}function At(e){c(Le,e,!0),l(Re)?.click()}function jt(e){let t=e.currentTarget,n=t.files?.[0];t.value=``,n&&c(q,n,!0)}async function Mt(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n||!l(F))return;let r=l(F).id;c(Y,r,!0),c(lt,null);try{await R.mutateFromServer(()=>ue(r,n),{dependencies:[`asset:${r}`]})}catch(e){c(lt,{assetId:r,message:e instanceof Error?e.message:String(e)},!0)}finally{l(Y)===r&&c(Y,null)}}function Nt(){l(F)&&(l(F).importSource&&!confirm(`Replace file and disconnect Figma source? Future re-imports will no longer be available.`)||l(ot)?.click())}function Pt(){!l(F)||l(F).type!==`image`&&l(F).type!==`slice`||(c(lt,null),c(ct,{id:l(F).id,type:l(F).type},!0))}function Ft(){c(ct,null)}async function It(){if(!l(F)||!l(V))return;let e=l(F).id,t=l(Q).trim();if(t.length===0){c(Z,{assetId:e,message:`Enter a Figma selection link.`},!0);return}c(X,e,!0),c(Z,null);let n=l(ft)?{url:t,scale:l(dt)}:void 0;try{await R.mutateFromServer(()=>de(e,n),{dependencies:[`asset:${e}`]}),c(ut,null)}catch(t){c(Z,{assetId:e,message:t instanceof Error?t.message:String(t)},!0)}finally{l(X)===e&&c(X,null)}}async function Lt(e){c(q,null),c(J,null),await M(j(`/asset/[id]`,{id:e}))}async function Rt(e){try{await ce(e),R.error=null}catch(e){R.error=e instanceof Error?e.message:String(e)}}var zt=at(),Bt=h(zt),Vt=i(Bt);{let e=b(()=>l(F)?.folder??null);xe(Vt,{get selectedFolder(){return l(e)},get activeAsset(){return l(F)},get createRequest(){return l(Ne)},get renameRequest(){return l(K)},get deleteRequest(){return l(Fe)},onSelect:e=>void St(e),onMoveAssets:(e,t)=>void Et(e,t),onActiveAssetDeleted:e=>void Tt(e),onActiveAssetDeleteFailed:e=>void wt(e),onContextMenu:(e,t,n,r)=>{c(W,{x:e,y:t,parent:n,renamePath:r},!0)}})}var Ht=m(Vt,2),Ut=e=>{t(e,Be())},Wt=e=>{var n=Ve(),r=i(n);v(n),f(()=>C(r,`No asset with id "${l(g)??``}".`)),t(e,n)},Gt=e=>{var n=it(),a=h(n),p=i(a),g=e=>{var n=S();u(h(n),()=>l(ke),(e,t)=>{t(e,{get asset(){return l(F)},get parameters(){return l(je)},onParametersChange:Me,onParametersCommit:e=>void vt(e)})}),t(e,n)},x=e=>{var n=He(),r=i(n);v(n),f(()=>C(r,`No editor registered for asset type "${l(F).type??``}".`)),t(e,n)};o(p,e=>{l(ke)&&l(je)!==null?e(g):e(x,-1)}),v(a);var T=m(a,2),E=i(T),O=i(E),M=i(O,!0);v(O);var N=m(O,2),P=i(N),te=m(P),ne=i(te,!0);v(te),v(N);var L=m(N,2);d(L,16,()=>l(F).warnings,e=>e,(e,n)=>{var r=Ue(),a=i(r);v(r),f(()=>C(a,`⚠ ${n??``}`)),t(e,r)});var re=m(L,2),ie=e=>{var n=Ge(),r=i(n),a=i(r);v(r),d(m(r,2),17,()=>l(I),e=>e.id,(e,n)=>{var r=We(),a=i(r),o=m(a,2),s=i(o,!0);v(o),v(r),f(e=>{y(r,`href`,e),y(a,`src`,l(n).proxy?.url??l(n).rawUrl),C(s,l(n).id)},[()=>j(`/asset/[id]`,{id:l(n).id})]),t(e,r)}),v(n),f(()=>C(a,`Potential duplicate${l(I).length===1?``:`s`}`)),t(e,n)};o(re,e=>{l(I).length>0&&e(ie)}),v(E);var ae=m(E,2),oe=e=>{var n=S();u(h(n),()=>l(Oe),(e,t)=>{t(e,{get asset(){return l(F)},get parameters(){return l(je)},onParametersChange:e=>Me(e),onParametersCommit:e=>void vt(e),get presetNames(){return l(Ee)},get presetCapabilities(){return l(De)}})}),t(e,n)};o(ae,e=>{l(Oe)&&l(je)!==null&&e(oe)});var se=m(ae,2),ce=e=>{var n=qe(),a=i(n);z(a,{children:(e,n)=>{k(),t(e,s(`Source`))},$$slots:{default:!0}});var u=m(a,2),d=i(u);v(u);var p=m(u,2),h=m(i(p),2);A(h),v(p);var g=m(p,2),b=m(i(g),2),x=i(b);x.value=x.__value=1;var S=m(x);S.value=S.__value=2;var T=m(S);T.value=T.__value=3;var E=m(T);E.value=E.__value=4,v(b),v(g);var D=m(g,2),O=i(D),j=m(O,2);let M;var N=i(j,!0);v(j),v(D);var P=m(D,2),I=e=>{var n=Ke(),r=i(n,!0);v(n),f(()=>C(r,l(Z).message)),t(e,n)};o(P,e=>{l(Z)?.assetId===l(F).id&&e(I)}),v(n),f(e=>{C(d,`Figma · node ${l(V).nodeId??``}`),h.disabled=l(X)===l(F).id,b.disabled=l(X)===l(F).id,y(O,`href`,l(V).url),M=ee(j,1,`control svelte-xy8zsr`,null,M,{primary:l(ft)}),j.disabled=e,C(N,l(X)===l(F).id?l(ft)?`Reimporting…`:`Refreshing…`:l(ft)?`Reimport from Figma`:`Refresh`)},[()=>l(X)===l(F).id||l(Q).trim().length===0]),_(h,()=>l(Q),e=>c(Q,e)),w(b,()=>l(dt),e=>c(dt,e)),r(`click`,j,()=>void It()),t(e,n)};o(se,e=>{l(V)&&e(ce)});var le=m(se,2),ue=i(le);z(ue,{children:(e,n)=>{k(),t(e,s(`Manifests`))},$$slots:{default:!0}});var de=m(ue,2),me=e=>{t(e,Je())},he=e=>{pe(e,{get manifests(){return l(_e)},get selected(){return l(F).manifests},get passive(){return l(F).passiveManifests},onToggle:e=>void yt(e)})};o(de,e=>{l(_e).length===0?e(me):e(he,-1)}),v(le);var ge=m(le,2),ve=i(ge);z(ve,{children:(e,n)=>{k(),t(e,s(`References`))},$$slots:{default:!0}});var ye=m(ve,2),be=e=>{t(e,Ye())},xe=e=>{var n=et(),r=h(n),a=e=>{var n=Ze();d(m(h(n),2),17,()=>l(F).references.outgoing,e=>`${e.field}→${e.assetId}`,(e,n)=>{var r=Xe(),a=i(r),o=i(a,!0);v(a);var s=m(a,4),c=i(s,!0);v(s),v(r),f(e=>{y(r,`href`,e),C(o,l(n).field),C(c,l(n).assetId)},[()=>j(`/asset/[id]`,{id:l(n).assetId})]),t(e,r)}),t(e,n)};o(r,e=>{l(F).references.outgoing.length>0&&e(a)});var s=m(r,2),c=e=>{var n=$e();d(m(h(n),2),17,()=>l(F).references.incoming,e=>`${e.assetId}→${e.field}`,(e,n)=>{var r=Qe(),a=i(r),o=i(a,!0);v(a);var s=m(a,4),c=i(s,!0);v(s),v(r),f(e=>{y(r,`href`,e),C(o,l(n).assetId),C(c,l(n).field)},[()=>j(`/asset/[id]`,{id:l(n).assetId})]),t(e,r)}),t(e,n)};o(s,e=>{l(F).references.incoming.length>0&&e(c)}),t(e,n)};o(ye,e=>{l(F).references.outgoing.length===0&&l(F).references.incoming.length===0?e(be):e(xe,-1)}),v(ge);var Se=m(ge,2);{let e=b(()=>R.usageAvailable===!0);ze(Se,{get available(){return l(e)},get assetId(){return l(F).id}})}var Te=m(Se,2),B=i(Te);z(B,{children:(e,n)=>{k(),t(e,s(`Asset`))},$$slots:{default:!0}});var H=m(B,2),Ae=e=>{var n=nt(),a=i(n);{let e=(e,n)=>{let a=()=>(n?.()).toggle,o=()=>(n?.()).open;var s=tt(),c=i(s),u=i(c,!0);v(c),fe(m(c,2),{name:`chevron-down`,size:12}),v(s),f(()=>{y(s,`aria-expanded`,o()),s.disabled=l(Y)===l(F).id,C(u,l(Y)===l(F).id?`Replacing…`:`Replace`)}),r(`click`,s,function(...e){a()?.apply(this,e)}),t(e,s)},n=b(()=>`Replace ${l(F).id}`);we(a,{align:`left`,portal:!0,matchTriggerWidth:!0,padding:`compact`,get label(){return l(n)},get open(){return l(st)},set open(e){c(st,e,!0)},trigger:e,children:(e,t)=>{Ce(e,{fileDescription:`Choose a replacement from your computer`,figmaDescription:`Replace with a frame or component by URL`,onFile:()=>{c(st,!1),Nt()},onFigma:()=>{c(st,!1),Pt()}})},$$slots:{trigger:!0,default:!0}})}v(n),t(e,n)},U=e=>{var n=rt(),a=i(n,!0);v(n),f(()=>{n.disabled=l(Y)===l(F).id,C(a,l(Y)===l(F).id?`Replacing…`:`Replace`)}),r(`click`,n,Nt),t(e,n)};o(H,e=>{l(ht)?e(Ae):e(U,-1)});var W=m(H,2),Ne=e=>{var n=Ke(),r=i(n,!0);v(n),f(()=>C(r,l(lt).message)),t(e,n)};o(W,e=>{l(lt)?.assetId===l(F).id&&e(Ne)});var G=m(W,2),K=i(G);A(K);var Pe=m(K,2);v(G);var Fe=m(G,2),Ie=e=>{var n=Ke(),r=i(n,!0);v(n),f(()=>C(r,l(_t))),t(e,n)};o(Fe,e=>{l(_t)&&e(Ie)});var q=m(Fe,2);v(Te),v(T),f(()=>{C(M,l(F).id),C(P,`${l(F).type??``} · `),C(ne,l(F).raw),D(K,l($)),Pe.disabled=l($)===l(F).id||l(_t)!==null}),r(`input`,K,e=>c(gt,{assetId:l(F).id,value:e.currentTarget.value},!0)),r(`click`,Pe,()=>void bt()),r(`click`,q,()=>void xt()),t(e,n)};o(Ht,e=>{R.loaded?l(F)?e(Gt,-1):e(Wt,1):e(Ut)}),v(Bt);var Kt=m(Bt,2);T(Kt,e=>c(Re,e),()=>l(Re));var qt=m(Kt,2);T(qt,e=>c(ot,e),()=>l(ot));var Jt=m(qt,2),Yt=e=>{{let t=b(()=>l(W).renamePath===null?void 0:()=>Ot(l(W)?.renamePath??``)),n=b(()=>l(W).renamePath===null?void 0:()=>kt(l(W)?.renamePath??``));be(e,{get x(){return l(W).x},get y(){return l(W).y},onReveal:()=>void Rt(l(W)?.renamePath??l(W)?.parent??``),onNewDirectory:()=>Dt(l(W)?.parent??``),get onRenameDirectory(){return l(t)},onImportFile:()=>At(l(W)?.parent??``),onImportFigma:()=>c(J,l(W)?.parent??``,!0),get onDeleteDirectory(){return l(n)},onClose:()=>c(W,null)})}};o(Jt,e=>{l(W)&&e(Yt)});var Xt=m(Jt,2),Zt=e=>{me(e,{get file(){return l(q)},get folder(){return l(Le)},onDone:e=>void Lt(e),onCancel:()=>c(q,null)})};o(Xt,e=>{l(q)&&e(Zt)});var Qt=m(Xt,2),$t=e=>{Se(e,{get folder(){return l(J)},onDone:e=>void Lt(e),onCancel:()=>c(J,null)})};o(Qt,e=>{l(J)!==null&&e($t)});var en=m(Qt,2),tn=e=>{Se(e,{get replacement(){return l(ct)},onDone:Ft,onCancel:()=>c(ct,null)})};o(en,e=>{l(ct)&&e(tn)}),f(()=>{y(Kt,`accept`,pt),y(qt,`accept`,l(mt))}),r(`change`,Kt,jt),r(`change`,qt,e=>void Mt(e)),t(n,zt),O()}n([`click`,`input`,`change`]);export{ot as component};
@@ -1,2 +1,2 @@
1
- import{$ as e,A as t,F as n,I as r,J as i,M as a,O as o,Q as s,R as c,T as l,U as u,X as d,Y as f,_ as p,c as m,ct as h,d as g,et as _,it as v,k as y,rt as b,st as x,u as S,v as C}from"../chunks/YpiA5Xry.js";import{c as w}from"../chunks/BfQXIsM7.js";import"../chunks/xihTtKlq.js";import{A as T,H as E,K as D,a as ee,c as te,et as O,f as k,t as A}from"../chunks/BufZeTod.js";import{i as j,n as ne,t as M}from"../chunks/Bj31DJwy.js";var N=[{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`}],P=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),F=a(`<button type="button" title="Emoji"> </button>`),re=a(`<button type="button"> </button>`),I=a(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),L=a(`<button type="button" title="Color"></button>`),R=a(`<button type="button"></button>`),z=a(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),B=a(`<div class="controls svelte-58t64l"><!> <!></div>`);function ie(n,a){v(a,!0);let o=_(()=>A.manifestAppearance(a.name)),f=_(()=>c(o).color??null),m=_(()=>c(o).emoji??null),x=e(!1),S=e(!1);async function w(e){let t=a.name;s(x,!1);try{await A.mutate(()=>O(t,{color:e}),k(t,{color:e}),{dependencies:[`manifest:${t}`]})}catch{}}async function T(e){let t=a.name;s(S,!1);try{await A.mutate(()=>O(t,{emoji:e}),k(t,{emoji:e}),{dependencies:[`manifest:${t}`]})}catch{}}var E=B(),D=i(E);M(D,{get label(){return`Pick an emoji for ${a.name??``}`},get open(){return c(S)},set open(e){s(S,e,!0)},trigger:(e,n)=>{let o=()=>(n?.()).toggle,s=()=>(n?.()).open;var l=F();let d;var f=i(l,!0);h(l),u(()=>{d=C(l,1,`emoji-trigger svelte-58t64l`,null,d,{empty:!c(m),active:s()}),g(l,`aria-label`,`Emoji for ${a.name??``}`),y(f,c(m)??`☺`)}),r(`click`,l,function(...e){o()?.apply(this,e)}),t(e,l)},children:(e,n)=>{var a=I(),o=i(a);let s;l(d(o,2),16,()=>P,e=>e,(e,n)=>{var a=re();let o;var s=i(a,!0);h(a),u(()=>{o=C(a,1,`emoji svelte-58t64l`,null,o,{selected:c(m)===n}),g(a,`title`,n),y(s,n)}),r(`click`,a,()=>void T(n)),t(e,a)}),h(a),u(()=>s=C(o,1,`emoji none svelte-58t64l`,null,s,{selected:c(m)===null})),r(`click`,o,()=>void T(null)),t(e,a)},$$slots:{trigger:!0,default:!0}}),M(d(D,2),{get label(){return`Pick a color for ${a.name??``}`},get open(){return c(x)},set open(e){s(x,e,!0)},trigger:(e,n)=>{let i=()=>(n?.()).toggle,o=()=>(n?.()).open;var s=L();let l;u(()=>{l=C(s,1,`swatch-trigger svelte-58t64l`,null,l,{empty:!c(f),active:o()}),p(s,`--swatch: ${c(f)??`transparent`??``}`),g(s,`aria-label`,`Color for ${a.name??``}`)}),r(`click`,s,function(...e){i()?.apply(this,e)}),t(e,s)},children:(e,n)=>{var a=z(),o=i(a);let s;l(d(o,2),17,()=>N,e=>e.value,(e,n)=>{var i=R();let a;u(()=>{a=C(i,1,`swatch svelte-58t64l`,null,a,{selected:c(f)===c(n).value}),p(i,`background: ${c(n).value??``}`),g(i,`title`,c(n).name),g(i,`aria-label`,c(n).name)}),r(`click`,i,()=>void w(c(n).value)),t(e,i)}),h(a),u(()=>s=C(o,1,`swatch none svelte-58t64l`,null,s,{selected:c(f)===null})),r(`click`,o,()=>void w(null)),t(e,a)},$$slots:{trigger:!0,default:!0}}),h(E),t(n,E),b()}n([`click`]);var ae=a(`<span class="hint svelte-1k9wgg5"> </span>`),oe=a(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),se=a(`<span class="asset-type svelte-1k9wgg5"> </span>`),ce=a(`<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=a(`<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=a(`<ul class="svelte-1k9wgg5"></ul>`),de=a(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),fe=a(`<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=a(`<div class="list svelte-1k9wgg5"></div>`),V=a(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),me=a(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),he=a(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),ge=a(`<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=a(`<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 H(n,a){v(a,!0);let C=e(``),M=_(()=>A.state?.assets??[]),N=_(()=>A.manifestNames);function P(e){return c(M).filter(t=>t.manifests.includes(e))}function F(e){return A.state?.manifestMemberships[e]?.passiveMembers??[]}function re(e,t){return F(e).filter(e=>e.via.includes(t))}function I(e){return A.state?.manifestDeliveredBytes[e]??0}let L=_(()=>c(C)?T(c(C)):null),R=_(()=>c(C)!==``&&!c(L)&&!c(N).includes(c(C)));async function z(){if(!c(R))return;let e=c(C),t=A.mutate(()=>E(e),ee(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});s(C,``);try{await t}catch{c(C)===``&&!Object.hasOwn(A.state?.library.manifests??{},e)&&s(C,e,!0)}}let B=e(null),H=e(null),U=e(``),W=e(!1),G=e(null),K=0;function ve(e){K+=1,s(G,null),s(B,e,!0)}function ye(e){K+=1,s(G,null),s(U,e,!0),s(H,e,!0)}function q(){K+=1,s(B,null),s(H,null),s(G,null)}let J=_(()=>c(H)!==null&&c(U)!==c(H)?T(c(U)):null),be=_(()=>c(H)!==null&&c(U)!==c(H)&&c(N).includes(c(U))),xe=_(()=>c(H)!==null&&c(U)!==c(H)&&!c(J)&&!c(be));async function Se(){if(c(B)===null)return;let e=c(B);s(W,!0),s(G,null);let t=A.mutate(()=>D(e),te(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});q();let n=K;s(W,!1);try{await t}catch(t){K===n&&Object.hasOwn(A.state?.library.manifests??{},e)&&(s(B,e,!0),s(G,t instanceof Error?t.message:String(t),!0))}finally{s(W,!1)}}async function Ce(){if(c(H)===null||!c(xe))return;let e=c(H),t=c(U);s(W,!0),s(G,null);let n=A.mutate(()=>O(e,{renameTo:t}),k(e,{renameTo:t}),{dependencies:[`manifest:${e}`,`manifest:${t}`],invalidatesOnFailure:[`manifest:${e}`,`manifest:${t}`]});q();let r=K;s(W,!1);try{await n}catch(n){K===r&&Object.hasOwn(A.state?.library.manifests??{},e)&&(s(H,e,!0),s(U,t,!0),s(G,n instanceof Error?n.message:String(n),!0))}finally{s(W,!1)}}var we=_e(),Y=f(we),X=i(Y),Z=i(X);S(Z);var Q=d(Z,2),Te=d(Q,2),Ee=e=>{var n=ae(),r=i(n,!0);h(n),u(()=>y(r,c(L))),t(e,n)};o(Te,e=>{c(L)&&e(Ee)}),h(X);var De=d(X,2),Oe=e=>{t(e,oe())},ke=e=>{var n=pe();l(n,20,()=>c(N),e=>e,(e,n)=>{var a=fe(),s=i(a),m=i(s);ie(m,{get name(){return n}});var v=d(m,2),b=i(v,!0);h(v);var x=d(v,2),S=i(x,!0);h(x);var C=d(x,2),T=i(C);h(C);var E=d(C,2),D=d(E,2);h(s);var ee=d(s,2),te=e=>{var r=ue();l(r,21,()=>P(n),e=>e.id,(e,r)=>{var a=le(),s=f(a),p=i(s),m=i(p),v=i(m,!0);h(m);var b=d(m,2),x=i(b,!0);h(b);var S=d(b,2),C=i(S,!0);h(S),h(p),h(s),l(d(s,2),17,()=>re(n,c(r).id),e=>e.assetId,(e,n)=>{let a=_(()=>A.assetById(c(n).assetId));var s=ce(),l=i(s),f=i(l),p=i(f,!0);h(f);var m=d(f,2),v=e=>{var n=se(),r=i(n,!0);h(n),u(()=>y(r,c(a).type)),t(e,n)};o(m,e=>{c(a)&&e(v)});var b=d(m,2),x=i(b);h(b);var S=d(b,2),C=i(S,!0);h(S),h(l),h(s),u((e,t)=>{g(l,`href`,e),y(p,c(n).assetId),y(x,`via ${c(r).id??``}`),y(C,t)},[()=>w(`/asset/[id]`,{id:c(n).assetId}),()=>c(a)?.proxy?j(c(a).proxy.fileSize):`—`]),t(e,s)}),u((e,t)=>{g(p,`href`,e),y(v,c(r).id),y(x,c(r).type),y(C,t)},[()=>w(`/asset/[id]`,{id:c(r).id}),()=>c(r).proxy?j(c(r).proxy.fileSize):`—`]),t(e,a)}),h(r),t(e,r)},O=_(()=>P(n).length>0),k=e=>{t(e,de())};o(ee,e=>{c(O)?e(te):e(k,-1)}),h(a),u((e,t,r,i)=>{p(a,`--manifest-color: ${e??``}`),y(b,n),y(S,t),y(T,`${r??``} asset(s)${i??``}`)},[()=>A.manifestAppearance(n).color??`var(--border-soft)`,()=>j(I(n)),()=>P(n).length,()=>F(n).length>0?` + ${F(n).length} passive`:``]),r(`click`,E,()=>ye(n)),r(`click`,D,()=>ve(n)),t(e,a)}),h(n),t(e,n)};o(De,e=>{c(N).length===0?e(Oe):e(ke,-1)}),h(Y);var $=d(Y,2),Ae=e=>{let n=_(()=>P(c(B)).length);{let r=_(()=>c(W)?`Deleting…`:`Delete`);ne(e,{title:`Delete manifest`,get confirmLabel(){return c(r)},danger:!0,get busy(){return c(W)},onConfirm:()=>void Se(),onCancel:q,children:(e,r)=>{var a=me(),s=f(a),l=d(i(s)),p=i(l,!0);h(l);var m=d(l);h(s);var g=d(s,2),_=e=>{var n=V(),r=i(n,!0);h(n),u(()=>y(r,c(G))),t(e,n)};o(g,e=>{c(G)&&e(_)}),u(()=>{y(p,c(B)),y(m,`? Its generated module is removed. Assets are
1
+ import{$ as e,A as t,F as n,I as r,J as i,M as a,O as o,Q as s,R as c,T as l,U as u,X as d,Y as f,_ as p,c as m,ct as h,d as g,et as _,it as v,k as y,rt as b,st as x,u as S,v as C}from"../chunks/YpiA5Xry.js";import{c as w}from"../chunks/D1_lla-1.js";import"../chunks/xihTtKlq.js";import{A as T,H as E,K as D,a as ee,c as te,et as O,f as k,t as A}from"../chunks/Q50krHyn.js";import{i as j,n as ne,t as M}from"../chunks/hUfV2O0k.js";var N=[{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`}],P=`🗂️.🏠.🎯.⭐.🔥.💎.🎨.🧩.🚀.🎵.🏆.⚡.🌟.🍀.🎁.📦.🗺️.🔑.🛒.❤️.🐙.🎲.🌈.🧪.🎪.🎭.🎬.🎤.🎧.🎸.🥁.🔔.💡.🔮.🧭.⏰.📸.🖼️.📚.✏️.🖌️.🧲.⚙️.🛠️.🔧.🧰.🔌.🔋.🌍.🌙.☀️.❄️.🌊.🍄.🌵.🌸.🍎.🍕.🍩.☕.🐳.🦄.🐝`.split(`.`),F=a(`<button type="button" title="Emoji"> </button>`),re=a(`<button type="button"> </button>`),I=a(`<div class="picker emojis svelte-58t64l"><button type="button" title="No emoji" aria-label="No emoji">∅</button> <!></div>`),L=a(`<button type="button" title="Color"></button>`),R=a(`<button type="button"></button>`),z=a(`<div class="picker swatches svelte-58t64l"><button type="button" title="No color" aria-label="No color"></button> <!></div>`),B=a(`<div class="controls svelte-58t64l"><!> <!></div>`);function ie(n,a){v(a,!0);let o=_(()=>A.manifestAppearance(a.name)),f=_(()=>c(o).color??null),m=_(()=>c(o).emoji??null),x=e(!1),S=e(!1);async function w(e){let t=a.name;s(x,!1);try{await A.mutate(()=>O(t,{color:e}),k(t,{color:e}),{dependencies:[`manifest:${t}`]})}catch{}}async function T(e){let t=a.name;s(S,!1);try{await A.mutate(()=>O(t,{emoji:e}),k(t,{emoji:e}),{dependencies:[`manifest:${t}`]})}catch{}}var E=B(),D=i(E);M(D,{get label(){return`Pick an emoji for ${a.name??``}`},get open(){return c(S)},set open(e){s(S,e,!0)},trigger:(e,n)=>{let o=()=>(n?.()).toggle,s=()=>(n?.()).open;var l=F();let d;var f=i(l,!0);h(l),u(()=>{d=C(l,1,`emoji-trigger svelte-58t64l`,null,d,{empty:!c(m),active:s()}),g(l,`aria-label`,`Emoji for ${a.name??``}`),y(f,c(m)??`☺`)}),r(`click`,l,function(...e){o()?.apply(this,e)}),t(e,l)},children:(e,n)=>{var a=I(),o=i(a);let s;l(d(o,2),16,()=>P,e=>e,(e,n)=>{var a=re();let o;var s=i(a,!0);h(a),u(()=>{o=C(a,1,`emoji svelte-58t64l`,null,o,{selected:c(m)===n}),g(a,`title`,n),y(s,n)}),r(`click`,a,()=>void T(n)),t(e,a)}),h(a),u(()=>s=C(o,1,`emoji none svelte-58t64l`,null,s,{selected:c(m)===null})),r(`click`,o,()=>void T(null)),t(e,a)},$$slots:{trigger:!0,default:!0}}),M(d(D,2),{get label(){return`Pick a color for ${a.name??``}`},get open(){return c(x)},set open(e){s(x,e,!0)},trigger:(e,n)=>{let i=()=>(n?.()).toggle,o=()=>(n?.()).open;var s=L();let l;u(()=>{l=C(s,1,`swatch-trigger svelte-58t64l`,null,l,{empty:!c(f),active:o()}),p(s,`--swatch: ${c(f)??`transparent`??``}`),g(s,`aria-label`,`Color for ${a.name??``}`)}),r(`click`,s,function(...e){i()?.apply(this,e)}),t(e,s)},children:(e,n)=>{var a=z(),o=i(a);let s;l(d(o,2),17,()=>N,e=>e.value,(e,n)=>{var i=R();let a;u(()=>{a=C(i,1,`swatch svelte-58t64l`,null,a,{selected:c(f)===c(n).value}),p(i,`background: ${c(n).value??``}`),g(i,`title`,c(n).name),g(i,`aria-label`,c(n).name)}),r(`click`,i,()=>void w(c(n).value)),t(e,i)}),h(a),u(()=>s=C(o,1,`swatch none svelte-58t64l`,null,s,{selected:c(f)===null})),r(`click`,o,()=>void w(null)),t(e,a)},$$slots:{trigger:!0,default:!0}}),h(E),t(n,E),b()}n([`click`]);var ae=a(`<span class="hint svelte-1k9wgg5"> </span>`),oe=a(`<div class="empty svelte-1k9wgg5">No manifests yet. Assets only get processed and generated once they are in a manifest.</div>`),se=a(`<span class="asset-type svelte-1k9wgg5"> </span>`),ce=a(`<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=a(`<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=a(`<ul class="svelte-1k9wgg5"></ul>`),de=a(`<p class="hint svelte-1k9wgg5">Empty — an empty manifest still generates an (empty) module.</p>`),fe=a(`<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=a(`<div class="list svelte-1k9wgg5"></div>`),V=a(`<p class="dialog-text warn svelte-1k9wgg5"> </p>`),me=a(`<p class="dialog-text svelte-1k9wgg5">Delete manifest <strong> </strong> </p> <!>`,1),he=a(`<p class="dialog-text warn svelte-1k9wgg5">A manifest with this name already exists.</p>`),ge=a(`<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=a(`<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 H(n,a){v(a,!0);let C=e(``),M=_(()=>A.state?.assets??[]),N=_(()=>A.manifestNames);function P(e){return c(M).filter(t=>t.manifests.includes(e))}function F(e){return A.state?.manifestMemberships[e]?.passiveMembers??[]}function re(e,t){return F(e).filter(e=>e.via.includes(t))}function I(e){return A.state?.manifestDeliveredBytes[e]??0}let L=_(()=>c(C)?T(c(C)):null),R=_(()=>c(C)!==``&&!c(L)&&!c(N).includes(c(C)));async function z(){if(!c(R))return;let e=c(C),t=A.mutate(()=>E(e),ee(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});s(C,``);try{await t}catch{c(C)===``&&!Object.hasOwn(A.state?.library.manifests??{},e)&&s(C,e,!0)}}let B=e(null),H=e(null),U=e(``),W=e(!1),G=e(null),K=0;function ve(e){K+=1,s(G,null),s(B,e,!0)}function ye(e){K+=1,s(G,null),s(U,e,!0),s(H,e,!0)}function q(){K+=1,s(B,null),s(H,null),s(G,null)}let J=_(()=>c(H)!==null&&c(U)!==c(H)?T(c(U)):null),be=_(()=>c(H)!==null&&c(U)!==c(H)&&c(N).includes(c(U))),xe=_(()=>c(H)!==null&&c(U)!==c(H)&&!c(J)&&!c(be));async function Se(){if(c(B)===null)return;let e=c(B);s(W,!0),s(G,null);let t=A.mutate(()=>D(e),te(e),{dependencies:[`manifest:${e}`],invalidatesOnFailure:[`manifest:${e}`]});q();let n=K;s(W,!1);try{await t}catch(t){K===n&&Object.hasOwn(A.state?.library.manifests??{},e)&&(s(B,e,!0),s(G,t instanceof Error?t.message:String(t),!0))}finally{s(W,!1)}}async function Ce(){if(c(H)===null||!c(xe))return;let e=c(H),t=c(U);s(W,!0),s(G,null);let n=A.mutate(()=>O(e,{renameTo:t}),k(e,{renameTo:t}),{dependencies:[`manifest:${e}`,`manifest:${t}`],invalidatesOnFailure:[`manifest:${e}`,`manifest:${t}`]});q();let r=K;s(W,!1);try{await n}catch(n){K===r&&Object.hasOwn(A.state?.library.manifests??{},e)&&(s(H,e,!0),s(U,t,!0),s(G,n instanceof Error?n.message:String(n),!0))}finally{s(W,!1)}}var we=_e(),Y=f(we),X=i(Y),Z=i(X);S(Z);var Q=d(Z,2),Te=d(Q,2),Ee=e=>{var n=ae(),r=i(n,!0);h(n),u(()=>y(r,c(L))),t(e,n)};o(Te,e=>{c(L)&&e(Ee)}),h(X);var De=d(X,2),Oe=e=>{t(e,oe())},ke=e=>{var n=pe();l(n,20,()=>c(N),e=>e,(e,n)=>{var a=fe(),s=i(a),m=i(s);ie(m,{get name(){return n}});var v=d(m,2),b=i(v,!0);h(v);var x=d(v,2),S=i(x,!0);h(x);var C=d(x,2),T=i(C);h(C);var E=d(C,2),D=d(E,2);h(s);var ee=d(s,2),te=e=>{var r=ue();l(r,21,()=>P(n),e=>e.id,(e,r)=>{var a=le(),s=f(a),p=i(s),m=i(p),v=i(m,!0);h(m);var b=d(m,2),x=i(b,!0);h(b);var S=d(b,2),C=i(S,!0);h(S),h(p),h(s),l(d(s,2),17,()=>re(n,c(r).id),e=>e.assetId,(e,n)=>{let a=_(()=>A.assetById(c(n).assetId));var s=ce(),l=i(s),f=i(l),p=i(f,!0);h(f);var m=d(f,2),v=e=>{var n=se(),r=i(n,!0);h(n),u(()=>y(r,c(a).type)),t(e,n)};o(m,e=>{c(a)&&e(v)});var b=d(m,2),x=i(b);h(b);var S=d(b,2),C=i(S,!0);h(S),h(l),h(s),u((e,t)=>{g(l,`href`,e),y(p,c(n).assetId),y(x,`via ${c(r).id??``}`),y(C,t)},[()=>w(`/asset/[id]`,{id:c(n).assetId}),()=>c(a)?.proxy?j(c(a).proxy.fileSize):`—`]),t(e,s)}),u((e,t)=>{g(p,`href`,e),y(v,c(r).id),y(x,c(r).type),y(C,t)},[()=>w(`/asset/[id]`,{id:c(r).id}),()=>c(r).proxy?j(c(r).proxy.fileSize):`—`]),t(e,a)}),h(r),t(e,r)},O=_(()=>P(n).length>0),k=e=>{t(e,de())};o(ee,e=>{c(O)?e(te):e(k,-1)}),h(a),u((e,t,r,i)=>{p(a,`--manifest-color: ${e??``}`),y(b,n),y(S,t),y(T,`${r??``} asset(s)${i??``}`)},[()=>A.manifestAppearance(n).color??`var(--border-soft)`,()=>j(I(n)),()=>P(n).length,()=>F(n).length>0?` + ${F(n).length} passive`:``]),r(`click`,E,()=>ye(n)),r(`click`,D,()=>ve(n)),t(e,a)}),h(n),t(e,n)};o(De,e=>{c(N).length===0?e(Oe):e(ke,-1)}),h(Y);var $=d(Y,2),Ae=e=>{let n=_(()=>P(c(B)).length);{let r=_(()=>c(W)?`Deleting…`:`Delete`);ne(e,{title:`Delete manifest`,get confirmLabel(){return c(r)},danger:!0,get busy(){return c(W)},onConfirm:()=>void Se(),onCancel:q,children:(e,r)=>{var a=me(),s=f(a),l=d(i(s)),p=i(l,!0);h(l);var m=d(l);h(s);var g=d(s,2),_=e=>{var n=V(),r=i(n,!0);h(n),u(()=>y(r,c(G))),t(e,n)};o(g,e=>{c(G)&&e(_)}),u(()=>{y(p,c(B)),y(m,`? Its generated module is removed. Assets are
2
2
  not deleted${c(n)>0?`, but ${c(n)} asset(s) lose this membership and may become unreachable`:``}.`)}),t(e,a)},$$slots:{default:!0}})}};o($,e=>{c(B)!==null&&e(Ae)});var je=d($,2),Me=e=>{{let n=_(()=>c(W)?`Renaming…`:`Rename`),r=_(()=>!c(xe));ne(e,{title:`Rename manifest`,get confirmLabel(){return c(n)},get confirmDisabled(){return c(r)},get busy(){return c(W)},onConfirm:()=>void Ce(),onCancel:q,children:(e,n)=>{var r=ge(),a=f(r),l=d(i(a),2);S(l),h(a);var p=d(a,2),g=e=>{var n=V(),r=i(n,!0);h(n),u(()=>y(r,c(J))),t(e,n)},_=e=>{t(e,he())};o(p,e=>{c(J)?e(g):c(be)&&e(_,1)});var v=d(p,2),b=d(i(v)),C=i(b,!0);h(b),x(),h(v);var w=d(v,2),T=e=>{var n=V(),r=i(n,!0);h(n),u(()=>y(r,c(G))),t(e,n)};o(w,e=>{c(G)&&e(T)}),u(()=>{l.disabled=c(W),y(C,c(H))}),m(l,()=>c(U),e=>s(U,e)),t(e,r)},$$slots:{default:!0}})}};o(je,e=>{c(H)!==null&&e(Me)}),u(()=>Q.disabled=!c(R)),r(`keydown`,Z,e=>{e.key===`Enter`&&z()}),m(Z,()=>c(C),e=>s(C,e)),r(`click`,Q,()=>void z()),t(n,we),b()}n([`keydown`,`click`]);export{H as component};
@@ -1 +1 @@
1
- {"version":"1784787410312"}
1
+ {"version":"1784805669339"}
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-ChRrsqKi.js';
6
- import './server/chunks/index.js-1EfZPKuZ.js';
7
- import './server/chunks/manifest.js-DR0qLyIe.js';
5
+ export { h as handler } from './server/chunks/handler-6UmsR4HY.js';
6
+ import './server/chunks/index.js-CjHZ4kgG.js';
7
+ import './server/chunks/manifest.js-DFh4gv8f.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-BXL1A-vX.js';
16
- import './server/chunks/chunks/internal.js-DUquB_BJ.js';
17
- import './server/chunks/chunks/utils.js-xC62cOm2.js';
15
+ import './server/chunks/chunks/shared.js-ClQ0W6xa.js';
16
+ import './server/chunks/chunks/internal.js-xEkkCIRs.js';
17
+ import './server/chunks/chunks/utils.js-_DPNtm3G.js';
18
18
  import 'node:url';
19
19
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
20
- import './server/chunks/chunks/exports.js-CUFgHhPL.js';
20
+ import './server/chunks/chunks/exports.js-BTuzD8-J.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-ChRrsqKi.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-6UmsR4HY.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-BXL1A-vX.js';
15
- import './server/chunks/chunks/internal.js-DUquB_BJ.js';
16
- import './server/chunks/chunks/utils.js-xC62cOm2.js';
17
- import './server/chunks/index.js-1EfZPKuZ.js';
14
+ import './server/chunks/chunks/shared.js-ClQ0W6xa.js';
15
+ import './server/chunks/chunks/internal.js-xEkkCIRs.js';
16
+ import './server/chunks/chunks/utils.js-_DPNtm3G.js';
17
+ import './server/chunks/index.js-CjHZ4kgG.js';
18
18
  import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
19
- import './server/chunks/chunks/exports.js-CUFgHhPL.js';
19
+ import './server/chunks/chunks/exports.js-BTuzD8-J.js';
20
20
  import './server/chunks/chunks/routing.js-y-tryuip.js';
21
- import './server/chunks/manifest.js-DR0qLyIe.js';
21
+ import './server/chunks/manifest.js-DFh4gv8f.js';
22
22
  import 'node:url';
23
23
 
24
24
  const path = env('SOCKET_PATH', false);
@@ -1,7 +1,7 @@
1
- import { c as compareCodeUnits, g as folderOfRawPath, h as rawFileNameOfPath, j as canonicalizeParameters, n as normalizeFolderPath, H as typesForFileName, J as proposeAssetId, k as parentFolderPath, u as portableFolderPathKey } from './core.js-Cj7hjmtV.js';
2
- import { s as serverPluginsByType, i as isRecord, L as LibraryStore, d as descriptorsByType, m as manifestModuleFileName, l as locateGeneratedAssetDeclaration, a as serializeLibrary, b as serverPluginForType, S as SourceImportError, p as processAssets, g as generateManifestModules, r as readCurrentProxy, e as encodeRelativePathForUrl, c as invalidInput, f as parseLibrary } from './contract.js-DRcxzb4o.js';
3
- import { c as collectAllReferences, a as assetIdError, b as computeLibraryMembership, d as allDeliveredAssetIds } from './manifest-membership.js-vIb-KkQi.js';
4
- import { v as verifyStableRawFile, c as classifyRawDirectory } from './raw-reconciliation2.js-5mUCDiJk.js';
1
+ import { c as compareCodeUnits, h as folderOfRawPath, j as rawFileNameOfPath, g as canonicalizeParameters, n as normalizeFolderPath, H as typesForFileName, J as proposeAssetId, k as parentFolderPath, u as portableFolderPathKey } from './core.js-CABVXpby.js';
2
+ import { s as serverPluginsByType, i as isRecord, L as LibraryStore, d as descriptorsByType, m as manifestModuleFileName, l as locateGeneratedAssetDeclaration, a as serializeLibrary, b as serverPluginForType, S as SourceImportError, p as processAssets, g as generateManifestModules, r as readCurrentProxy, e as encodeRelativePathForUrl, c as invalidInput, f as parseLibrary } from './contract.js-BHQbpsFk.js';
3
+ import { c as collectAllReferences, a as assetIdError, b as computeLibraryMembership, d as allDeliveredAssetIds } from './manifest-membership.js-BnSECWpJ.js';
4
+ import { v as verifyStableRawFile, c as classifyRawDirectory } from './raw-reconciliation2.js-CscuoBC2.js';
5
5
  import { isAbsolute, resolve, join, extname, relative, sep } from 'node:path';
6
6
  import { existsSync } from 'node:fs';
7
7
  import { createJiti } from 'jiti';
@@ -1077,7 +1077,15 @@ function usageSnapshotRevision(parts) {
1077
1077
  }
1078
1078
  async function imageFingerprint(filePath, hashSize) {
1079
1079
  const width = hashSize + 1;
1080
- const pixels = await sharp(filePath).rotate().resize({
1080
+ const pixels = await sharp(filePath).rotate().trim({
1081
+ background: {
1082
+ r: 0,
1083
+ g: 0,
1084
+ b: 0,
1085
+ alpha: 0
1086
+ },
1087
+ threshold: 0
1088
+ }).resize({
1081
1089
  width,
1082
1090
  height: hashSize,
1083
1091
  fit: "fill"
@@ -1518,6 +1526,60 @@ var FundusOperations = class {
1518
1526
  return this.#afterMutation(library);
1519
1527
  });
1520
1528
  }
1529
+ /** Materialize a new source, then atomically replace an existing asset's raw file. */
1530
+ async replaceRawFromSource(id, options) {
1531
+ const preflight = await this.#enqueueOperation(async () => {
1532
+ if (typeof options.importer !== "string") throw new SourceImportError("invalid-input", "Source replacement requires an importer string.");
1533
+ const library = await this.#store.read();
1534
+ this.#requireAsset(library, id);
1535
+ const record = library.assets[id];
1536
+ try {
1537
+ await verifyStableRawFile(join(this.#config.rawDir, record.raw), record.rawHash);
1538
+ } catch {
1539
+ throw new SourceImportError("stale-import", "The local raw file changed. Apply or discard that edit before replacing it.");
1540
+ }
1541
+ const importer = this.#importers.require(options.importer);
1542
+ const expected = {
1543
+ raw: record.raw,
1544
+ rawHash: record.rawHash,
1545
+ type: record.type,
1546
+ canonicalSource: record.importSource ? canonicalizeParameters(record.importSource) : null
1547
+ };
1548
+ return {
1549
+ importer,
1550
+ input: importer.validateInput(options.input),
1551
+ expected
1552
+ };
1553
+ });
1554
+ const raw = await preflight.importer.importRaw(preflight.input, {
1555
+ config: this.#config,
1556
+ fetch: globalThis.fetch
1557
+ });
1558
+ if (!raw.importSource) throw new SourceImportError("invalid-response", "The source importer did not return provenance for the replacement.");
1559
+ const importSource = raw.importSource;
1560
+ return this.#enqueueOperation(async () => {
1561
+ this.#validateImportedRaw(raw, preflight.importer.kind);
1562
+ const plugin = serverPluginForType(preflight.expected.type, this.#registry);
1563
+ if (!plugin.descriptor.accepts.includes(raw.extension)) throw new SourceImportError("invalid-response", `The ${preflight.expected.type} type does not accept ".${raw.extension}" files.`);
1564
+ const previousName = rawFileNameOfPath(preflight.expected.raw);
1565
+ const dot = previousName.lastIndexOf(".");
1566
+ const stem = dot > 0 ? previousName.slice(0, dot) : previousName;
1567
+ const pixelRatio = figmaSlicePixelRatio(raw, preflight.expected.type);
1568
+ try {
1569
+ const library = await this.#store.replaceRawFileFromSource(id, {
1570
+ fileName: `${stem}.${raw.extension}`,
1571
+ bytes: raw.bytes,
1572
+ importSource,
1573
+ expected: preflight.expected,
1574
+ updateParameters: pixelRatio === void 0 ? void 0 : (parameters) => plugin.descriptor.validateParameters(mergeParameterPatch(parameters, { pixelRatio }))
1575
+ });
1576
+ return this.#afterMutation(library);
1577
+ } catch (cause) {
1578
+ if (cause instanceof Error && cause.message === "stale-import") throw new SourceImportError("stale-import", "The asset or local raw file changed while the source was exporting. Nothing was replaced.");
1579
+ throw cause;
1580
+ }
1581
+ });
1582
+ }
1521
1583
  async #createImportedAsset(raw, options) {
1522
1584
  this.#validateImportedRaw(raw);
1523
1585
  const fileName = raw.suggestedFileName ?? `${options.id}.${raw.extension}`;
@@ -2050,4 +2112,4 @@ async function createFundusContext() {
2050
2112
  }
2051
2113
 
2052
2114
  export { getFundusContext as g, initializeFundusContext as i };
2053
- //# sourceMappingURL=context.js-BNdRFspW.js.map
2115
+ //# sourceMappingURL=context.js-6YdbScn_.js.map