@devmotion/cli 0.6.0 → 0.6.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 (786) hide show
  1. package/README.md +10 -8
  2. package/dist/index.js +16 -10
  3. package/package.json +39 -3
  4. package/studio/client/_app/immutable/chunks/{zdIjnFuo.js → 50k2wcLI.js} +1 -1
  5. package/studio/client/_app/immutable/chunks/50k2wcLI.js.br +0 -0
  6. package/studio/client/_app/immutable/chunks/50k2wcLI.js.gz +0 -0
  7. package/studio/client/_app/immutable/chunks/{EsOjj2Re.js → B0InQEem.js} +1 -1
  8. package/studio/client/_app/immutable/chunks/B0InQEem.js.br +0 -0
  9. package/studio/client/_app/immutable/chunks/B0InQEem.js.gz +0 -0
  10. package/studio/client/_app/immutable/chunks/{BslV7gY7.js → B0K-yEeN.js} +1 -1
  11. package/studio/client/_app/immutable/chunks/B0K-yEeN.js.br +0 -0
  12. package/studio/client/_app/immutable/chunks/B0K-yEeN.js.gz +0 -0
  13. package/studio/client/_app/immutable/chunks/{CTpKZT5_.js → B0ihW1uA.js} +1 -1
  14. package/studio/client/_app/immutable/chunks/B0ihW1uA.js.br +0 -0
  15. package/studio/client/_app/immutable/chunks/B0ihW1uA.js.gz +0 -0
  16. package/studio/client/_app/immutable/chunks/{Dw0S4s6I.js → B7-B7Rye.js} +1 -1
  17. package/studio/client/_app/immutable/chunks/B7-B7Rye.js.br +0 -0
  18. package/studio/client/_app/immutable/chunks/B7-B7Rye.js.gz +0 -0
  19. package/studio/client/_app/immutable/chunks/{D1FB0IUT.js → B73W4ug1.js} +1 -1
  20. package/studio/client/_app/immutable/chunks/B73W4ug1.js.br +0 -0
  21. package/studio/client/_app/immutable/chunks/B73W4ug1.js.gz +0 -0
  22. package/studio/client/_app/immutable/chunks/{BwG2gtjF.js → B7YKAaTG.js} +1 -1
  23. package/studio/client/_app/immutable/chunks/B7YKAaTG.js.br +0 -0
  24. package/studio/client/_app/immutable/chunks/B7YKAaTG.js.gz +0 -0
  25. package/studio/client/_app/immutable/chunks/{Bs7NW1Se.js → BBfFsDlX.js} +1 -1
  26. package/studio/client/_app/immutable/chunks/BBfFsDlX.js.br +0 -0
  27. package/studio/client/_app/immutable/chunks/BBfFsDlX.js.gz +0 -0
  28. package/studio/client/_app/immutable/chunks/{DUvwbcGL.js → BD1Q_3Tu.js} +1 -1
  29. package/studio/client/_app/immutable/chunks/BD1Q_3Tu.js.br +0 -0
  30. package/studio/client/_app/immutable/chunks/BD1Q_3Tu.js.gz +0 -0
  31. package/studio/client/_app/immutable/chunks/{DXmIOUiy.js → BSkyxmk4.js} +1 -1
  32. package/studio/client/_app/immutable/chunks/BSkyxmk4.js.br +0 -0
  33. package/studio/client/_app/immutable/chunks/BSkyxmk4.js.gz +0 -0
  34. package/studio/client/_app/immutable/chunks/{C0WKYdwk.js → BWJBuCKd.js} +1 -1
  35. package/studio/client/_app/immutable/chunks/BWJBuCKd.js.br +0 -0
  36. package/studio/client/_app/immutable/chunks/BWJBuCKd.js.gz +0 -0
  37. package/studio/client/_app/immutable/chunks/{Cdg3o65X.js → BZ5m9NAb.js} +1 -1
  38. package/studio/client/_app/immutable/chunks/BZ5m9NAb.js.br +0 -0
  39. package/studio/client/_app/immutable/chunks/BZ5m9NAb.js.gz +0 -0
  40. package/studio/client/_app/immutable/chunks/{DkL6aOyN.js → BmyLmh6r.js} +1 -1
  41. package/studio/client/_app/immutable/chunks/BmyLmh6r.js.br +0 -0
  42. package/studio/client/_app/immutable/chunks/BmyLmh6r.js.gz +0 -0
  43. package/studio/client/_app/immutable/chunks/{D8o81YM9.js → Bxtw3VCv.js} +1 -1
  44. package/studio/client/_app/immutable/chunks/Bxtw3VCv.js.br +0 -0
  45. package/studio/client/_app/immutable/chunks/Bxtw3VCv.js.gz +0 -0
  46. package/studio/client/_app/immutable/chunks/{MA9VYZ9Y.js → C9sBKiYf.js} +1 -1
  47. package/studio/client/_app/immutable/chunks/C9sBKiYf.js.br +0 -0
  48. package/studio/client/_app/immutable/chunks/C9sBKiYf.js.gz +0 -0
  49. package/studio/client/_app/immutable/chunks/{vMKBQkkd.js → COl-CNj7.js} +1 -1
  50. package/studio/client/_app/immutable/chunks/COl-CNj7.js.br +0 -0
  51. package/studio/client/_app/immutable/chunks/COl-CNj7.js.gz +0 -0
  52. package/studio/client/_app/immutable/chunks/{BM9OfXL9.js → CT2a-dR9.js} +1 -1
  53. package/studio/client/_app/immutable/chunks/CT2a-dR9.js.br +0 -0
  54. package/studio/client/_app/immutable/chunks/CT2a-dR9.js.gz +0 -0
  55. package/studio/client/_app/immutable/chunks/{CTjBIV3u.js → CUCj7lD0.js} +1 -1
  56. package/studio/client/_app/immutable/chunks/CUCj7lD0.js.br +0 -0
  57. package/studio/client/_app/immutable/chunks/CUCj7lD0.js.gz +0 -0
  58. package/studio/client/_app/immutable/chunks/CXbT2p8d.js +1 -0
  59. package/studio/client/_app/immutable/chunks/CXbT2p8d.js.br +2 -0
  60. package/studio/client/_app/immutable/chunks/CXbT2p8d.js.gz +0 -0
  61. package/studio/client/_app/immutable/chunks/{AZ9rWnO0.js → Cdq6yEev.js} +1 -1
  62. package/studio/client/_app/immutable/chunks/Cdq6yEev.js.br +0 -0
  63. package/studio/client/_app/immutable/chunks/Cdq6yEev.js.gz +0 -0
  64. package/studio/client/_app/immutable/chunks/{D-QT1x8R.js → ChWA6krs.js} +1 -1
  65. package/studio/client/_app/immutable/chunks/ChWA6krs.js.br +0 -0
  66. package/studio/client/_app/immutable/chunks/ChWA6krs.js.gz +0 -0
  67. package/studio/client/_app/immutable/chunks/{DlG2SYaI.js → Cjo8pWm5.js} +1 -1
  68. package/studio/client/_app/immutable/chunks/Cjo8pWm5.js.br +0 -0
  69. package/studio/client/_app/immutable/chunks/Cjo8pWm5.js.gz +0 -0
  70. package/studio/client/_app/immutable/chunks/{BwnyT9Ny.js → Cms6Kv73.js} +1 -1
  71. package/studio/client/_app/immutable/chunks/Cms6Kv73.js.br +0 -0
  72. package/studio/client/_app/immutable/chunks/Cms6Kv73.js.gz +0 -0
  73. package/studio/client/_app/immutable/chunks/CpZPBLUC.js +4 -0
  74. package/studio/client/_app/immutable/chunks/CpZPBLUC.js.br +0 -0
  75. package/studio/client/_app/immutable/chunks/CpZPBLUC.js.gz +0 -0
  76. package/studio/client/_app/immutable/chunks/{BJKr5hge.js → Crbgd-F4.js} +1 -1
  77. package/studio/client/_app/immutable/chunks/Crbgd-F4.js.br +0 -0
  78. package/studio/client/_app/immutable/chunks/Crbgd-F4.js.gz +0 -0
  79. package/studio/client/_app/immutable/chunks/{CwPeYiWY.js → Cy-HgkQ4.js} +1 -1
  80. package/studio/client/_app/immutable/chunks/Cy-HgkQ4.js.br +0 -0
  81. package/studio/client/_app/immutable/chunks/Cy-HgkQ4.js.gz +0 -0
  82. package/studio/client/_app/immutable/chunks/{BM16VTgB.js → DTeYaQtG.js} +1 -1
  83. package/studio/client/_app/immutable/chunks/DTeYaQtG.js.br +0 -0
  84. package/studio/client/_app/immutable/chunks/DTeYaQtG.js.gz +0 -0
  85. package/studio/client/_app/immutable/chunks/{CVS8giU8.js → DlRdcK_L.js} +1 -1
  86. package/studio/client/_app/immutable/chunks/DlRdcK_L.js.br +0 -0
  87. package/studio/client/_app/immutable/chunks/DlRdcK_L.js.gz +0 -0
  88. package/studio/client/_app/immutable/chunks/{BgrSU1kg.js → DmhMUf0A.js} +1 -1
  89. package/studio/client/_app/immutable/chunks/DmhMUf0A.js.br +0 -0
  90. package/studio/client/_app/immutable/chunks/DmhMUf0A.js.gz +0 -0
  91. package/studio/client/_app/immutable/chunks/{Of4NhqMR.js → FOXaA4gY.js} +1 -1
  92. package/studio/client/_app/immutable/chunks/FOXaA4gY.js.br +0 -0
  93. package/studio/client/_app/immutable/chunks/FOXaA4gY.js.gz +0 -0
  94. package/studio/client/_app/immutable/chunks/{BW3LFrce.js → N203W5Pg.js} +1 -1
  95. package/studio/client/_app/immutable/chunks/N203W5Pg.js.br +0 -0
  96. package/studio/client/_app/immutable/chunks/N203W5Pg.js.gz +0 -0
  97. package/studio/client/_app/immutable/chunks/{BvSfBzuV.js → P0Tv_tIw.js} +1 -1
  98. package/studio/client/_app/immutable/chunks/P0Tv_tIw.js.br +0 -0
  99. package/studio/client/_app/immutable/chunks/P0Tv_tIw.js.gz +0 -0
  100. package/studio/client/_app/immutable/chunks/{CPRt510s.js → hBOeOFig.js} +1 -1
  101. package/studio/client/_app/immutable/chunks/hBOeOFig.js.br +0 -0
  102. package/studio/client/_app/immutable/chunks/hBOeOFig.js.gz +0 -0
  103. package/studio/client/_app/immutable/chunks/{CvEPOTmC.js → ovnFo7rR.js} +1 -1
  104. package/studio/client/_app/immutable/chunks/ovnFo7rR.js.br +0 -0
  105. package/studio/client/_app/immutable/chunks/ovnFo7rR.js.gz +0 -0
  106. package/studio/client/_app/immutable/chunks/{DhUtLNbU.js → uVN-AobW.js} +1 -1
  107. package/studio/client/_app/immutable/chunks/uVN-AobW.js.br +0 -0
  108. package/studio/client/_app/immutable/chunks/uVN-AobW.js.gz +0 -0
  109. package/studio/client/_app/immutable/chunks/{B6madqDo.js → zRQ7UKhy.js} +1 -1
  110. package/studio/client/_app/immutable/chunks/zRQ7UKhy.js.br +0 -0
  111. package/studio/client/_app/immutable/chunks/zRQ7UKhy.js.gz +0 -0
  112. package/studio/client/_app/immutable/entry/{app.DWvKq1JP.js → app.Bb1-Avnn.js} +2 -2
  113. package/studio/client/_app/immutable/entry/app.Bb1-Avnn.js.br +0 -0
  114. package/studio/client/_app/immutable/entry/app.Bb1-Avnn.js.gz +0 -0
  115. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js +1 -0
  116. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js.br +0 -0
  117. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js.gz +0 -0
  118. package/studio/client/_app/immutable/nodes/{0.WXKHH_tm.js → 0.DCVNvTmX.js} +1 -1
  119. package/studio/client/_app/immutable/nodes/0.DCVNvTmX.js.br +0 -0
  120. package/studio/client/_app/immutable/nodes/0.DCVNvTmX.js.gz +0 -0
  121. package/studio/client/_app/immutable/nodes/{1.BiD305mI.js → 1.CmRLDilw.js} +1 -1
  122. package/studio/client/_app/immutable/nodes/1.CmRLDilw.js.br +0 -0
  123. package/studio/client/_app/immutable/nodes/1.CmRLDilw.js.gz +0 -0
  124. package/studio/client/_app/immutable/nodes/{10.CU1-ee2m.js → 10.DvnkCrU8.js} +1 -1
  125. package/studio/client/_app/immutable/nodes/10.DvnkCrU8.js.br +0 -0
  126. package/studio/client/_app/immutable/nodes/10.DvnkCrU8.js.gz +0 -0
  127. package/studio/client/_app/immutable/nodes/{11.CXaXEirJ.js → 11.BAjtxHy1.js} +1 -1
  128. package/studio/client/_app/immutable/nodes/11.BAjtxHy1.js.br +0 -0
  129. package/studio/client/_app/immutable/nodes/11.BAjtxHy1.js.gz +0 -0
  130. package/studio/client/_app/immutable/nodes/{12.DJvy6gDY.js → 12.BvB64zm8.js} +1 -1
  131. package/studio/client/_app/immutable/nodes/12.BvB64zm8.js.br +0 -0
  132. package/studio/client/_app/immutable/nodes/12.BvB64zm8.js.gz +0 -0
  133. package/studio/client/_app/immutable/nodes/{13.nfg2db27.js → 13.CH78fVPf.js} +1 -1
  134. package/studio/client/_app/immutable/nodes/13.CH78fVPf.js.br +0 -0
  135. package/studio/client/_app/immutable/nodes/13.CH78fVPf.js.gz +0 -0
  136. package/studio/client/_app/immutable/nodes/{14.Bs2fSwa1.js → 14.8vuEBoqV.js} +1 -1
  137. package/studio/client/_app/immutable/nodes/14.8vuEBoqV.js.br +0 -0
  138. package/studio/client/_app/immutable/nodes/14.8vuEBoqV.js.gz +0 -0
  139. package/studio/client/_app/immutable/nodes/{15.a3Pos74G.js → 15.3i0moZ5H.js} +1 -1
  140. package/studio/client/_app/immutable/nodes/15.3i0moZ5H.js.br +0 -0
  141. package/studio/client/_app/immutable/nodes/15.3i0moZ5H.js.gz +0 -0
  142. package/studio/client/_app/immutable/nodes/{16.2YL4xuJ4.js → 16.ybGyftC8.js} +1 -1
  143. package/studio/client/_app/immutable/nodes/16.ybGyftC8.js.br +0 -0
  144. package/studio/client/_app/immutable/nodes/16.ybGyftC8.js.gz +0 -0
  145. package/studio/client/_app/immutable/nodes/{17.CqCSgqIN.js → 17.CYzrPCDa.js} +1 -1
  146. package/studio/client/_app/immutable/nodes/17.CYzrPCDa.js.br +0 -0
  147. package/studio/client/_app/immutable/nodes/17.CYzrPCDa.js.gz +0 -0
  148. package/studio/client/_app/immutable/nodes/{18.5G3YRxMR.js → 18.DirIc_Wy.js} +1 -1
  149. package/studio/client/_app/immutable/nodes/18.DirIc_Wy.js.br +0 -0
  150. package/studio/client/_app/immutable/nodes/18.DirIc_Wy.js.gz +0 -0
  151. package/studio/client/_app/immutable/nodes/{19.Bu8-dRJn.js → 19.DUsQT7pl.js} +1 -1
  152. package/studio/client/_app/immutable/nodes/19.DUsQT7pl.js.br +0 -0
  153. package/studio/client/_app/immutable/nodes/19.DUsQT7pl.js.gz +0 -0
  154. package/studio/client/_app/immutable/nodes/{20.CIMlHVKg.js → 20.DXvj9EYW.js} +3 -3
  155. package/studio/client/_app/immutable/nodes/20.DXvj9EYW.js.br +0 -0
  156. package/studio/client/_app/immutable/nodes/20.DXvj9EYW.js.gz +0 -0
  157. package/studio/client/_app/immutable/nodes/{21.CqSlHdIO.js → 21.BeF6Us05.js} +1 -1
  158. package/studio/client/_app/immutable/nodes/21.BeF6Us05.js.br +0 -0
  159. package/studio/client/_app/immutable/nodes/21.BeF6Us05.js.gz +0 -0
  160. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js +8 -0
  161. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js.br +0 -0
  162. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js.gz +0 -0
  163. package/studio/client/_app/immutable/nodes/{3.C68UMDpf.js → 3.67JEtVr_.js} +1 -1
  164. package/studio/client/_app/immutable/nodes/3.67JEtVr_.js.br +0 -0
  165. package/studio/client/_app/immutable/nodes/3.67JEtVr_.js.gz +0 -0
  166. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js +1 -0
  167. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js.br +0 -0
  168. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js.gz +0 -0
  169. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js +87 -0
  170. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js.br +0 -0
  171. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js.gz +0 -0
  172. package/studio/client/_app/immutable/nodes/{4.BXcrgjpJ.js → 4.eLOMf6Qo.js} +1 -1
  173. package/studio/client/_app/immutable/nodes/4.eLOMf6Qo.js.br +0 -0
  174. package/studio/client/_app/immutable/nodes/4.eLOMf6Qo.js.gz +0 -0
  175. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js +15 -0
  176. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js.br +0 -0
  177. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js.gz +0 -0
  178. package/studio/client/_app/immutable/nodes/{41.CnqWY7Jk.js → 41.Ch6s5Jij.js} +1 -1
  179. package/studio/client/_app/immutable/nodes/41.Ch6s5Jij.js.br +0 -0
  180. package/studio/client/_app/immutable/nodes/41.Ch6s5Jij.js.gz +0 -0
  181. package/studio/client/_app/immutable/nodes/{42.CReCUw0y.js → 42.BAbXjzhO.js} +1 -1
  182. package/studio/client/_app/immutable/nodes/42.BAbXjzhO.js.br +0 -0
  183. package/studio/client/_app/immutable/nodes/42.BAbXjzhO.js.gz +0 -0
  184. package/studio/client/_app/immutable/nodes/{43.1HRdsmVg.js → 43.Ne1IVEDF.js} +1 -1
  185. package/studio/client/_app/immutable/nodes/43.Ne1IVEDF.js.br +0 -0
  186. package/studio/client/_app/immutable/nodes/43.Ne1IVEDF.js.gz +0 -0
  187. package/studio/client/_app/immutable/nodes/{44.Cm4deKzT.js → 44.CKWbCt6x.js} +1 -1
  188. package/studio/client/_app/immutable/nodes/44.CKWbCt6x.js.br +0 -0
  189. package/studio/client/_app/immutable/nodes/44.CKWbCt6x.js.gz +0 -0
  190. package/studio/client/_app/immutable/nodes/{45.C7eW4xJw.js → 45.HDl54cUB.js} +1 -1
  191. package/studio/client/_app/immutable/nodes/45.HDl54cUB.js.br +0 -0
  192. package/studio/client/_app/immutable/nodes/45.HDl54cUB.js.gz +0 -0
  193. package/studio/client/_app/immutable/nodes/{46.DNoqu48d.js → 46.BWaTn38i.js} +1 -1
  194. package/studio/client/_app/immutable/nodes/46.BWaTn38i.js.br +0 -0
  195. package/studio/client/_app/immutable/nodes/46.BWaTn38i.js.gz +0 -0
  196. package/studio/client/_app/immutable/nodes/{47.Kd91VHB_.js → 47.DiBh5wV2.js} +1 -1
  197. package/studio/client/_app/immutable/nodes/47.DiBh5wV2.js.br +0 -0
  198. package/studio/client/_app/immutable/nodes/47.DiBh5wV2.js.gz +0 -0
  199. package/studio/client/_app/immutable/nodes/{48.kXm-0_dx.js → 48.DHcyKz51.js} +1 -1
  200. package/studio/client/_app/immutable/nodes/48.DHcyKz51.js.br +0 -0
  201. package/studio/client/_app/immutable/nodes/48.DHcyKz51.js.gz +0 -0
  202. package/studio/client/_app/immutable/nodes/{49.Baeo5x8O.js → 49.BTfgPgiN.js} +1 -1
  203. package/studio/client/_app/immutable/nodes/49.BTfgPgiN.js.br +0 -0
  204. package/studio/client/_app/immutable/nodes/49.BTfgPgiN.js.gz +0 -0
  205. package/studio/client/_app/immutable/nodes/{5.BXcrgjpJ.js → 5.eLOMf6Qo.js} +1 -1
  206. package/studio/client/_app/immutable/nodes/5.eLOMf6Qo.js.br +0 -0
  207. package/studio/client/_app/immutable/nodes/5.eLOMf6Qo.js.gz +0 -0
  208. package/studio/client/_app/immutable/nodes/{7.0ElBSij4.js → 7.CRQTtQRR.js} +1 -1
  209. package/studio/client/_app/immutable/nodes/7.CRQTtQRR.js.br +0 -0
  210. package/studio/client/_app/immutable/nodes/7.CRQTtQRR.js.gz +0 -0
  211. package/studio/client/_app/immutable/nodes/{8.Cf03UWeS.js → 8.024dj7aw.js} +1 -1
  212. package/studio/client/_app/immutable/nodes/8.024dj7aw.js.br +0 -0
  213. package/studio/client/_app/immutable/nodes/8.024dj7aw.js.gz +0 -0
  214. package/studio/client/_app/immutable/nodes/{9.BCt9tK8K.js → 9.DgfRy3qm.js} +1 -1
  215. package/studio/client/_app/immutable/nodes/9.DgfRy3qm.js.br +0 -0
  216. package/studio/client/_app/immutable/nodes/9.DgfRy3qm.js.gz +0 -0
  217. package/studio/client/_app/version.json +1 -1
  218. package/studio/client/_app/version.json.br +0 -0
  219. package/studio/client/_app/version.json.gz +0 -0
  220. package/studio/prerendered/docs/api/errors.html +37 -37
  221. package/studio/prerendered/docs/api/errors.html.br +0 -0
  222. package/studio/prerendered/docs/api/errors.html.gz +0 -0
  223. package/studio/prerendered/docs/api/projects.html +37 -37
  224. package/studio/prerendered/docs/api/projects.html.br +0 -0
  225. package/studio/prerendered/docs/api/projects.html.gz +0 -0
  226. package/studio/prerendered/docs/api/renders.html +37 -37
  227. package/studio/prerendered/docs/api/renders.html.br +0 -0
  228. package/studio/prerendered/docs/api/renders.html.gz +0 -0
  229. package/studio/prerendered/docs/api/templates.html +37 -37
  230. package/studio/prerendered/docs/api/templates.html.br +0 -0
  231. package/studio/prerendered/docs/api/templates.html.gz +0 -0
  232. package/studio/prerendered/docs/api/webhooks.html +37 -37
  233. package/studio/prerendered/docs/api/webhooks.html.br +0 -0
  234. package/studio/prerendered/docs/api/webhooks.html.gz +0 -0
  235. package/studio/prerendered/docs/api.html +37 -37
  236. package/studio/prerendered/docs/api.html.br +0 -0
  237. package/studio/prerendered/docs/api.html.gz +0 -0
  238. package/studio/prerendered/docs/mcp/integrations/autogen.html +37 -37
  239. package/studio/prerendered/docs/mcp/integrations/autogen.html.br +0 -0
  240. package/studio/prerendered/docs/mcp/integrations/autogen.html.gz +0 -0
  241. package/studio/prerendered/docs/mcp/integrations/crewai.html +37 -37
  242. package/studio/prerendered/docs/mcp/integrations/crewai.html.br +0 -0
  243. package/studio/prerendered/docs/mcp/integrations/crewai.html.gz +0 -0
  244. package/studio/prerendered/docs/mcp/integrations/dify.html +37 -37
  245. package/studio/prerendered/docs/mcp/integrations/dify.html.br +0 -0
  246. package/studio/prerendered/docs/mcp/integrations/dify.html.gz +0 -0
  247. package/studio/prerendered/docs/mcp/integrations/flowise.html +37 -37
  248. package/studio/prerendered/docs/mcp/integrations/flowise.html.br +0 -0
  249. package/studio/prerendered/docs/mcp/integrations/flowise.html.gz +0 -0
  250. package/studio/prerendered/docs/mcp/integrations/langchain.html +37 -37
  251. package/studio/prerendered/docs/mcp/integrations/langchain.html.br +0 -0
  252. package/studio/prerendered/docs/mcp/integrations/langchain.html.gz +0 -0
  253. package/studio/prerendered/docs/mcp/integrations/llamaindex.html +37 -37
  254. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.br +0 -0
  255. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.gz +0 -0
  256. package/studio/prerendered/docs/mcp/integrations/make.html +37 -37
  257. package/studio/prerendered/docs/mcp/integrations/make.html.br +0 -0
  258. package/studio/prerendered/docs/mcp/integrations/make.html.gz +0 -0
  259. package/studio/prerendered/docs/mcp/integrations/n8n.html +37 -37
  260. package/studio/prerendered/docs/mcp/integrations/n8n.html.br +0 -0
  261. package/studio/prerendered/docs/mcp/integrations/n8n.html.gz +0 -0
  262. package/studio/prerendered/docs/mcp/integrations.html +37 -37
  263. package/studio/prerendered/docs/mcp/integrations.html.br +0 -0
  264. package/studio/prerendered/docs/mcp/integrations.html.gz +0 -0
  265. package/studio/prerendered/docs/mcp/plans.html +39 -39
  266. package/studio/prerendered/docs/mcp/plans.html.br +0 -0
  267. package/studio/prerendered/docs/mcp/plans.html.gz +0 -0
  268. package/studio/prerendered/docs/mcp/reference.html +57 -49
  269. package/studio/prerendered/docs/mcp/reference.html.br +0 -0
  270. package/studio/prerendered/docs/mcp/reference.html.gz +0 -0
  271. package/studio/prerendered/docs/mcp/setup.html +41 -41
  272. package/studio/prerendered/docs/mcp/setup.html.br +0 -0
  273. package/studio/prerendered/docs/mcp/setup.html.gz +0 -0
  274. package/studio/prerendered/docs/mcp.html +41 -41
  275. package/studio/prerendered/docs/mcp.html.br +0 -0
  276. package/studio/prerendered/docs/mcp.html.gz +0 -0
  277. package/studio/prerendered/docs.html +36 -36
  278. package/studio/prerendered/docs.html.br +0 -0
  279. package/studio/prerendered/docs.html.gz +0 -0
  280. package/studio/prerendered/dub/arabic.html +35 -35
  281. package/studio/prerendered/dub/arabic.html.br +0 -0
  282. package/studio/prerendered/dub/arabic.html.gz +0 -0
  283. package/studio/prerendered/dub/chinese-simplified.html +35 -35
  284. package/studio/prerendered/dub/chinese-simplified.html.br +0 -0
  285. package/studio/prerendered/dub/chinese-simplified.html.gz +0 -0
  286. package/studio/prerendered/dub/dutch.html +35 -35
  287. package/studio/prerendered/dub/dutch.html.br +0 -0
  288. package/studio/prerendered/dub/dutch.html.gz +0 -0
  289. package/studio/prerendered/dub/french.html +35 -35
  290. package/studio/prerendered/dub/french.html.br +0 -0
  291. package/studio/prerendered/dub/french.html.gz +0 -0
  292. package/studio/prerendered/dub/german.html +35 -35
  293. package/studio/prerendered/dub/german.html.br +0 -0
  294. package/studio/prerendered/dub/german.html.gz +0 -0
  295. package/studio/prerendered/dub/hindi.html +35 -35
  296. package/studio/prerendered/dub/hindi.html.br +0 -0
  297. package/studio/prerendered/dub/hindi.html.gz +0 -0
  298. package/studio/prerendered/dub/italian.html +35 -35
  299. package/studio/prerendered/dub/italian.html.br +0 -0
  300. package/studio/prerendered/dub/italian.html.gz +0 -0
  301. package/studio/prerendered/dub/japanese.html +35 -35
  302. package/studio/prerendered/dub/japanese.html.br +0 -0
  303. package/studio/prerendered/dub/japanese.html.gz +0 -0
  304. package/studio/prerendered/dub/korean.html +35 -35
  305. package/studio/prerendered/dub/korean.html.br +0 -0
  306. package/studio/prerendered/dub/korean.html.gz +0 -0
  307. package/studio/prerendered/dub/polish.html +35 -35
  308. package/studio/prerendered/dub/polish.html.br +0 -0
  309. package/studio/prerendered/dub/polish.html.gz +0 -0
  310. package/studio/prerendered/dub/portuguese.html +35 -35
  311. package/studio/prerendered/dub/portuguese.html.br +0 -0
  312. package/studio/prerendered/dub/portuguese.html.gz +0 -0
  313. package/studio/prerendered/dub/spanish.html +35 -35
  314. package/studio/prerendered/dub/spanish.html.br +0 -0
  315. package/studio/prerendered/dub/spanish.html.gz +0 -0
  316. package/studio/prerendered/sitemap.xml +90 -90
  317. package/studio/prerendered/sitemap.xml.br +0 -0
  318. package/studio/prerendered/sitemap.xml.gz +0 -0
  319. package/studio/prerendered/tools/add-captions/instagram.html +35 -35
  320. package/studio/prerendered/tools/add-captions/instagram.html.br +0 -0
  321. package/studio/prerendered/tools/add-captions/instagram.html.gz +0 -0
  322. package/studio/prerendered/tools/add-captions/linkedin.html +35 -35
  323. package/studio/prerendered/tools/add-captions/linkedin.html.br +0 -0
  324. package/studio/prerendered/tools/add-captions/linkedin.html.gz +0 -0
  325. package/studio/prerendered/tools/add-captions/tiktok.html +35 -35
  326. package/studio/prerendered/tools/add-captions/tiktok.html.br +0 -0
  327. package/studio/prerendered/tools/add-captions/tiktok.html.gz +0 -0
  328. package/studio/prerendered/tools/add-captions/twitter-x.html +35 -35
  329. package/studio/prerendered/tools/add-captions/twitter-x.html.br +0 -0
  330. package/studio/prerendered/tools/add-captions/twitter-x.html.gz +0 -0
  331. package/studio/prerendered/tools/add-captions/youtube.html +35 -35
  332. package/studio/prerendered/tools/add-captions/youtube.html.br +0 -0
  333. package/studio/prerendered/tools/add-captions/youtube.html.gz +0 -0
  334. package/studio/prerendered/tools/add-captions.html +39 -39
  335. package/studio/prerendered/tools/add-captions.html.br +0 -0
  336. package/studio/prerendered/tools/add-captions.html.gz +0 -0
  337. package/studio/prerendered/tools/auto-cut/linkedin.html +35 -35
  338. package/studio/prerendered/tools/auto-cut/linkedin.html.br +0 -0
  339. package/studio/prerendered/tools/auto-cut/linkedin.html.gz +0 -0
  340. package/studio/prerendered/tools/auto-cut/podcast.html +35 -35
  341. package/studio/prerendered/tools/auto-cut/podcast.html.br +0 -0
  342. package/studio/prerendered/tools/auto-cut/podcast.html.gz +0 -0
  343. package/studio/prerendered/tools/auto-cut/tiktok.html +35 -35
  344. package/studio/prerendered/tools/auto-cut/tiktok.html.br +0 -0
  345. package/studio/prerendered/tools/auto-cut/tiktok.html.gz +0 -0
  346. package/studio/prerendered/tools/auto-cut/youtube.html +35 -35
  347. package/studio/prerendered/tools/auto-cut/youtube.html.br +0 -0
  348. package/studio/prerendered/tools/auto-cut/youtube.html.gz +0 -0
  349. package/studio/prerendered/tools/auto-cut.html +39 -39
  350. package/studio/prerendered/tools/auto-cut.html.br +0 -0
  351. package/studio/prerendered/tools/auto-cut.html.gz +0 -0
  352. package/studio/prerendered/tools/generate-video/instagram.html +35 -35
  353. package/studio/prerendered/tools/generate-video/instagram.html.br +0 -0
  354. package/studio/prerendered/tools/generate-video/instagram.html.gz +0 -0
  355. package/studio/prerendered/tools/generate-video/tiktok.html +35 -35
  356. package/studio/prerendered/tools/generate-video/tiktok.html.br +0 -0
  357. package/studio/prerendered/tools/generate-video/tiktok.html.gz +0 -0
  358. package/studio/prerendered/tools/generate-video/twitter-x.html +35 -35
  359. package/studio/prerendered/tools/generate-video/twitter-x.html.br +0 -0
  360. package/studio/prerendered/tools/generate-video/twitter-x.html.gz +0 -0
  361. package/studio/prerendered/tools/generate-video/youtube.html +35 -35
  362. package/studio/prerendered/tools/generate-video/youtube.html.br +0 -0
  363. package/studio/prerendered/tools/generate-video/youtube.html.gz +0 -0
  364. package/studio/prerendered/tools/generate-video.html +39 -39
  365. package/studio/prerendered/tools/generate-video.html.br +0 -0
  366. package/studio/prerendered/tools/generate-video.html.gz +0 -0
  367. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html +35 -35
  368. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.br +0 -0
  369. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.gz +0 -0
  370. package/studio/prerendered/tools/laptop-3d-intro/saas.html +35 -35
  371. package/studio/prerendered/tools/laptop-3d-intro/saas.html.br +0 -0
  372. package/studio/prerendered/tools/laptop-3d-intro/saas.html.gz +0 -0
  373. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html +35 -35
  374. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.br +0 -0
  375. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.gz +0 -0
  376. package/studio/prerendered/tools/laptop-3d-intro/youtube.html +35 -35
  377. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.br +0 -0
  378. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.gz +0 -0
  379. package/studio/prerendered/tools/laptop-3d-intro.html +39 -39
  380. package/studio/prerendered/tools/laptop-3d-intro.html.br +0 -0
  381. package/studio/prerendered/tools/laptop-3d-intro.html.gz +0 -0
  382. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html +35 -35
  383. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.br +0 -0
  384. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.gz +0 -0
  385. package/studio/prerendered/tools/screen-webcam-demo/saas.html +35 -35
  386. package/studio/prerendered/tools/screen-webcam-demo/saas.html.br +0 -0
  387. package/studio/prerendered/tools/screen-webcam-demo/saas.html.gz +0 -0
  388. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html +35 -35
  389. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.br +0 -0
  390. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.gz +0 -0
  391. package/studio/prerendered/tools/screen-webcam-demo/youtube.html +35 -35
  392. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.br +0 -0
  393. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.gz +0 -0
  394. package/studio/prerendered/tools/screen-webcam-demo.html +39 -39
  395. package/studio/prerendered/tools/screen-webcam-demo.html.br +0 -0
  396. package/studio/prerendered/tools/screen-webcam-demo.html.gz +0 -0
  397. package/studio/prerendered/tools/screenshot-to-social/facebook.html +35 -35
  398. package/studio/prerendered/tools/screenshot-to-social/facebook.html.br +0 -0
  399. package/studio/prerendered/tools/screenshot-to-social/facebook.html.gz +0 -0
  400. package/studio/prerendered/tools/screenshot-to-social/instagram.html +35 -35
  401. package/studio/prerendered/tools/screenshot-to-social/instagram.html.br +0 -0
  402. package/studio/prerendered/tools/screenshot-to-social/instagram.html.gz +0 -0
  403. package/studio/prerendered/tools/screenshot-to-social/linkedin.html +35 -35
  404. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.br +0 -0
  405. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.gz +0 -0
  406. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html +35 -35
  407. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.br +0 -0
  408. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.gz +0 -0
  409. package/studio/prerendered/tools/screenshot-to-social.html +39 -39
  410. package/studio/prerendered/tools/screenshot-to-social.html.br +0 -0
  411. package/studio/prerendered/tools/screenshot-to-social.html.gz +0 -0
  412. package/studio/prerendered/tools/translate-video/instagram.html +35 -35
  413. package/studio/prerendered/tools/translate-video/instagram.html.br +0 -0
  414. package/studio/prerendered/tools/translate-video/instagram.html.gz +0 -0
  415. package/studio/prerendered/tools/translate-video/linkedin.html +35 -35
  416. package/studio/prerendered/tools/translate-video/linkedin.html.br +0 -0
  417. package/studio/prerendered/tools/translate-video/linkedin.html.gz +0 -0
  418. package/studio/prerendered/tools/translate-video/tiktok.html +35 -35
  419. package/studio/prerendered/tools/translate-video/tiktok.html.br +0 -0
  420. package/studio/prerendered/tools/translate-video/tiktok.html.gz +0 -0
  421. package/studio/prerendered/tools/translate-video/youtube.html +35 -35
  422. package/studio/prerendered/tools/translate-video/youtube.html.br +0 -0
  423. package/studio/prerendered/tools/translate-video/youtube.html.gz +0 -0
  424. package/studio/prerendered/tools/translate-video.html +39 -39
  425. package/studio/prerendered/tools/translate-video.html.br +0 -0
  426. package/studio/prerendered/tools/translate-video.html.gz +0 -0
  427. package/studio/prerendered/tools/video-beautifier.html +39 -39
  428. package/studio/prerendered/tools/video-beautifier.html.br +0 -0
  429. package/studio/prerendered/tools/video-beautifier.html.gz +0 -0
  430. package/studio/prerendered/tools/video-to-browser/linkedin.html +35 -35
  431. package/studio/prerendered/tools/video-to-browser/linkedin.html.br +0 -0
  432. package/studio/prerendered/tools/video-to-browser/linkedin.html.gz +0 -0
  433. package/studio/prerendered/tools/video-to-browser/saas.html +35 -35
  434. package/studio/prerendered/tools/video-to-browser/saas.html.br +0 -0
  435. package/studio/prerendered/tools/video-to-browser/saas.html.gz +0 -0
  436. package/studio/prerendered/tools/video-to-browser/twitter-x.html +35 -35
  437. package/studio/prerendered/tools/video-to-browser/twitter-x.html.br +0 -0
  438. package/studio/prerendered/tools/video-to-browser/twitter-x.html.gz +0 -0
  439. package/studio/prerendered/tools/video-to-browser/youtube.html +35 -35
  440. package/studio/prerendered/tools/video-to-browser/youtube.html.br +0 -0
  441. package/studio/prerendered/tools/video-to-browser/youtube.html.gz +0 -0
  442. package/studio/prerendered/tools/video-to-browser.html +39 -39
  443. package/studio/prerendered/tools/video-to-browser.html.br +0 -0
  444. package/studio/prerendered/tools/video-to-browser.html.gz +0 -0
  445. package/studio/prerendered/tools/video-to-phone.html +39 -39
  446. package/studio/prerendered/tools/video-to-phone.html.br +0 -0
  447. package/studio/prerendered/tools/video-to-phone.html.gz +0 -0
  448. package/studio/prerendered/vs/canva.html +35 -35
  449. package/studio/prerendered/vs/canva.html.br +0 -0
  450. package/studio/prerendered/vs/canva.html.gz +0 -0
  451. package/studio/prerendered/vs/captions-ai.html +35 -35
  452. package/studio/prerendered/vs/captions-ai.html.br +0 -0
  453. package/studio/prerendered/vs/captions-ai.html.gz +0 -0
  454. package/studio/prerendered/vs/clipchamp.html +35 -35
  455. package/studio/prerendered/vs/clipchamp.html.br +0 -0
  456. package/studio/prerendered/vs/clipchamp.html.gz +0 -0
  457. package/studio/prerendered/vs/descript.html +35 -35
  458. package/studio/prerendered/vs/descript.html.br +0 -0
  459. package/studio/prerendered/vs/descript.html.gz +0 -0
  460. package/studio/prerendered/vs/kapwing.html +35 -35
  461. package/studio/prerendered/vs/kapwing.html.br +0 -0
  462. package/studio/prerendered/vs/kapwing.html.gz +0 -0
  463. package/studio/prerendered/vs/runway.html +35 -35
  464. package/studio/prerendered/vs/runway.html.br +0 -0
  465. package/studio/prerendered/vs/runway.html.gz +0 -0
  466. package/studio/prerendered/vs/submagic.html +35 -35
  467. package/studio/prerendered/vs/submagic.html.br +0 -0
  468. package/studio/prerendered/vs/submagic.html.gz +0 -0
  469. package/studio/prerendered/vs/veed.html +35 -35
  470. package/studio/prerendered/vs/veed.html.br +0 -0
  471. package/studio/prerendered/vs/veed.html.gz +0 -0
  472. package/studio/server/chunks/{0-DOWdCfPF.js → 0-Cc3gAS4p.js} +3 -3
  473. package/studio/server/chunks/{0-DOWdCfPF.js.map → 0-Cc3gAS4p.js.map} +1 -1
  474. package/studio/server/chunks/{1-D-sODN7x.js → 1-Dy_seaNI.js} +3 -3
  475. package/studio/server/chunks/{1-D-sODN7x.js.map → 1-Dy_seaNI.js.map} +1 -1
  476. package/studio/server/chunks/{11-Kh4ZWG_u.js → 11-C-PlF7Yv.js} +3 -3
  477. package/studio/server/chunks/{11-Kh4ZWG_u.js.map → 11-C-PlF7Yv.js.map} +1 -1
  478. package/studio/server/chunks/12-B7uLHwvO.js +9 -0
  479. package/studio/server/chunks/{12-uBBeSc-D.js.map → 12-B7uLHwvO.js.map} +1 -1
  480. package/studio/server/chunks/{13-Cpwv17_m.js → 13-FQtKQJ-7.js} +3 -3
  481. package/studio/server/chunks/{13-Cpwv17_m.js.map → 13-FQtKQJ-7.js.map} +1 -1
  482. package/studio/server/chunks/{14-DLhMIjy9.js → 14-jUAG5g6M.js} +6 -6
  483. package/studio/server/chunks/{14-DLhMIjy9.js.map → 14-jUAG5g6M.js.map} +1 -1
  484. package/studio/server/chunks/15-DUIb5U44.js +9 -0
  485. package/studio/server/chunks/{15-BP_ppf1w.js.map → 15-DUIb5U44.js.map} +1 -1
  486. package/studio/server/chunks/{16-CMimocs1.js → 16-BzVGx3U6.js} +3 -3
  487. package/studio/server/chunks/{16-CMimocs1.js.map → 16-BzVGx3U6.js.map} +1 -1
  488. package/studio/server/chunks/{17-CMQkb2J8.js → 17-D3oJTqf1.js} +3 -3
  489. package/studio/server/chunks/{17-CMQkb2J8.js.map → 17-D3oJTqf1.js.map} +1 -1
  490. package/studio/server/chunks/{18-DNvmtMLm.js → 18--CWW_sDL.js} +3 -3
  491. package/studio/server/chunks/{18-DNvmtMLm.js.map → 18--CWW_sDL.js.map} +1 -1
  492. package/studio/server/chunks/{19-D3jZiT6F.js → 19-DSQzx8mL.js} +3 -3
  493. package/studio/server/chunks/{19-D3jZiT6F.js.map → 19-DSQzx8mL.js.map} +1 -1
  494. package/studio/server/chunks/{20-C_7PzJ-k.js → 20-CbA0jAC4.js} +10 -10
  495. package/studio/server/chunks/{20-C_7PzJ-k.js.map → 20-CbA0jAC4.js.map} +1 -1
  496. package/studio/server/chunks/{3-H6DpF4Gm.js → 3-BnsefNYJ.js} +3 -3
  497. package/studio/server/chunks/{3-H6DpF4Gm.js.map → 3-BnsefNYJ.js.map} +1 -1
  498. package/studio/server/chunks/{4-CH3AFp_j.js → 4-BFZzAEZB.js} +3 -3
  499. package/studio/server/chunks/{4-CH3AFp_j.js.map → 4-BFZzAEZB.js.map} +1 -1
  500. package/studio/server/chunks/{42-BK4t4w08.js → 42-DHbIooHl.js} +5 -5
  501. package/studio/server/chunks/{42-BK4t4w08.js.map → 42-DHbIooHl.js.map} +1 -1
  502. package/studio/server/chunks/{43-GpQMIQ4V.js → 43-C20K_snF.js} +2 -2
  503. package/studio/server/chunks/{43-GpQMIQ4V.js.map → 43-C20K_snF.js.map} +1 -1
  504. package/studio/server/chunks/{44-DuFvG15Y.js → 44-DUpi4_LQ.js} +2 -2
  505. package/studio/server/chunks/{44-DuFvG15Y.js.map → 44-DUpi4_LQ.js.map} +1 -1
  506. package/studio/server/chunks/{45-DrdyRtqi.js → 45-CFKMCBYR.js} +9 -9
  507. package/studio/server/chunks/{45-DrdyRtqi.js.map → 45-CFKMCBYR.js.map} +1 -1
  508. package/studio/server/chunks/{49-DfMUPYpH.js → 49-BvE0PuF1.js} +3 -3
  509. package/studio/server/chunks/{49-DfMUPYpH.js.map → 49-BvE0PuF1.js.map} +1 -1
  510. package/studio/server/chunks/{5-_LlYrHzn.js → 5-DuItAkOP.js} +3 -3
  511. package/studio/server/chunks/{5-_LlYrHzn.js.map → 5-DuItAkOP.js.map} +1 -1
  512. package/studio/server/chunks/{7-SeoncTYc.js → 7-BeUSj9VF.js} +3 -3
  513. package/studio/server/chunks/{7-SeoncTYc.js.map → 7-BeUSj9VF.js.map} +1 -1
  514. package/studio/server/chunks/{_error.svelte-HivZOiX5.js → _error.svelte-BIkhG8Bl.js} +4 -4
  515. package/studio/server/chunks/{_error.svelte-HivZOiX5.js.map → _error.svelte-BIkhG8Bl.js.map} +1 -1
  516. package/studio/server/chunks/{_error.svelte-JH2-_uOf.js → _error.svelte-DQwSbmbb.js} +4 -4
  517. package/studio/server/chunks/{_error.svelte-JH2-_uOf.js.map → _error.svelte-DQwSbmbb.js.map} +1 -1
  518. package/studio/server/chunks/{_layout.svelte-C4r3six5.js → _layout.svelte-B29Y9n_L.js} +9 -9
  519. package/studio/server/chunks/{_layout.svelte-C4r3six5.js.map → _layout.svelte-B29Y9n_L.js.map} +1 -1
  520. package/studio/server/chunks/{_layout.svelte-dTuB307D.js → _layout.svelte-BKK87LsB.js} +4 -4
  521. package/studio/server/chunks/{_layout.svelte-dTuB307D.js.map → _layout.svelte-BKK87LsB.js.map} +1 -1
  522. package/studio/server/chunks/{_layout.svelte-CK5WGwFD.js → _layout.svelte-CZb-RhuT.js} +4 -4
  523. package/studio/server/chunks/{_layout.svelte-CK5WGwFD.js.map → _layout.svelte-CZb-RhuT.js.map} +1 -1
  524. package/studio/server/chunks/{_layout.svelte-P2elwndT.js → _layout.svelte-IxoznuZ0.js} +4 -4
  525. package/studio/server/chunks/{_layout.svelte-P2elwndT.js.map → _layout.svelte-IxoznuZ0.js.map} +1 -1
  526. package/studio/server/chunks/{_page.svelte-B7tkn2Ph.js → _page.svelte-BvoL-bXn.js} +8 -8
  527. package/studio/server/chunks/{_page.svelte-B7tkn2Ph.js.map → _page.svelte-BvoL-bXn.js.map} +1 -1
  528. package/studio/server/chunks/{_page.svelte-BRwARESy.js → _page.svelte-CGbWID4q.js} +3 -3
  529. package/studio/server/chunks/{_page.svelte-BRwARESy.js.map → _page.svelte-CGbWID4q.js.map} +1 -1
  530. package/studio/server/chunks/{_page.svelte-DzxSL0nM.js → _page.svelte-CMd632BW.js} +4 -4
  531. package/studio/server/chunks/{_page.svelte-DzxSL0nM.js.map → _page.svelte-CMd632BW.js.map} +1 -1
  532. package/studio/server/chunks/{_page.svelte-DL5VUL2M.js → _page.svelte-CPIUO0kA.js} +14 -14
  533. package/studio/server/chunks/_page.svelte-CPIUO0kA.js.map +1 -0
  534. package/studio/server/chunks/{_page.svelte-B-1o_hJa.js → _page.svelte-CrvloRjt.js} +5 -5
  535. package/studio/server/chunks/{_page.svelte-B-1o_hJa.js.map → _page.svelte-CrvloRjt.js.map} +1 -1
  536. package/studio/server/chunks/{_page.svelte-TEKTbLZa.js → _page.svelte-DMWYoqJ8.js} +11 -11
  537. package/studio/server/chunks/{_page.svelte-TEKTbLZa.js.map → _page.svelte-DMWYoqJ8.js.map} +1 -1
  538. package/studio/server/chunks/{_page.svelte-Crbq-RQR.js → _page.svelte-DTFNMwgk.js} +3 -3
  539. package/studio/server/chunks/{_page.svelte-Crbq-RQR.js.map → _page.svelte-DTFNMwgk.js.map} +1 -1
  540. package/studio/server/chunks/{_page.svelte-DlZ4-4_n.js → _page.svelte-Jhz3hTCU.js} +3 -3
  541. package/studio/server/chunks/{_page.svelte-DlZ4-4_n.js.map → _page.svelte-Jhz3hTCU.js.map} +1 -1
  542. package/studio/server/chunks/{_page.svelte-Cej1g10R.js → _page.svelte-LLHpU2-z.js} +4 -4
  543. package/studio/server/chunks/{_page.svelte-Cej1g10R.js.map → _page.svelte-LLHpU2-z.js.map} +1 -1
  544. package/studio/server/chunks/{_page.svelte-AWvEPqBz.js → _page.svelte-fr6sX58S.js} +3 -3
  545. package/studio/server/chunks/{_page.svelte-AWvEPqBz.js.map → _page.svelte-fr6sX58S.js.map} +1 -1
  546. package/studio/server/chunks/{_page.svelte-nkmZl411.js → _page.svelte-t-uIDVqj.js} +14 -14
  547. package/studio/server/chunks/{_page.svelte-nkmZl411.js.map → _page.svelte-t-uIDVqj.js.map} +1 -1
  548. package/studio/server/chunks/{_server.ts-mvjqGClb.js → _server.ts-BMsrWCvH.js} +4 -4
  549. package/studio/server/chunks/{_server.ts-mvjqGClb.js.map → _server.ts-BMsrWCvH.js.map} +1 -1
  550. package/studio/server/chunks/{_server.ts-lTHmffuh.js → _server.ts-Bfy5UxAZ.js} +8 -8
  551. package/studio/server/chunks/{_server.ts-lTHmffuh.js.map → _server.ts-Bfy5UxAZ.js.map} +1 -1
  552. package/studio/server/chunks/{_server.ts-DgV-51XA.js → _server.ts-C-Otl0N2.js} +4 -4
  553. package/studio/server/chunks/{_server.ts-DgV-51XA.js.map → _server.ts-C-Otl0N2.js.map} +1 -1
  554. package/studio/server/chunks/{_server.ts-Bh9NAMbD.js → _server.ts-C3MeWQr0.js} +8 -8
  555. package/studio/server/chunks/{_server.ts-Bh9NAMbD.js.map → _server.ts-C3MeWQr0.js.map} +1 -1
  556. package/studio/server/chunks/{_server.ts-BYg00n78.js → _server.ts-CQCxY40F.js} +4 -4
  557. package/studio/server/chunks/{_server.ts-BYg00n78.js.map → _server.ts-CQCxY40F.js.map} +1 -1
  558. package/studio/server/chunks/{_server.ts-BIAE6_O5.js → _server.ts-CQOxX_qB.js} +4 -4
  559. package/studio/server/chunks/{_server.ts-BIAE6_O5.js.map → _server.ts-CQOxX_qB.js.map} +1 -1
  560. package/studio/server/chunks/{_server.ts-D_6tL6BH.js → _server.ts-CiKcgEaL.js} +8 -8
  561. package/studio/server/chunks/{_server.ts-D_6tL6BH.js.map → _server.ts-CiKcgEaL.js.map} +1 -1
  562. package/studio/server/chunks/{_server.ts-CES6wlqB.js → _server.ts-DP7SAgei.js} +8 -8
  563. package/studio/server/chunks/{_server.ts-CES6wlqB.js.map → _server.ts-DP7SAgei.js.map} +1 -1
  564. package/studio/server/chunks/{_server.ts-OGjPqQGJ.js → _server.ts-yDmRIOn5.js} +4 -4
  565. package/studio/server/chunks/{_server.ts-OGjPqQGJ.js.map → _server.ts-yDmRIOn5.js.map} +1 -1
  566. package/studio/server/chunks/{admin.remote-Ck89cPry.js → admin.remote-D17hnijm.js} +2 -2
  567. package/studio/server/chunks/{admin.remote-Ck89cPry.js.map → admin.remote-D17hnijm.js.map} +1 -1
  568. package/studio/server/chunks/{alert-dialog-description-DhOIONCQ.js → alert-dialog-description-DMBX3SG1.js} +2 -2
  569. package/studio/server/chunks/{alert-dialog-description-DhOIONCQ.js.map → alert-dialog-description-DMBX3SG1.js.map} +1 -1
  570. package/studio/server/chunks/{app-header-B3sObtxm.js → app-header-BPMAiQDk.js} +2 -2
  571. package/studio/server/chunks/{app-header-B3sObtxm.js.map → app-header-BPMAiQDk.js.map} +1 -1
  572. package/studio/server/chunks/{auth-DnnZTcxQ.js → auth-ls2WXjAo.js} +9 -9
  573. package/studio/server/chunks/{auth-DnnZTcxQ.js.map → auth-ls2WXjAo.js.map} +1 -1
  574. package/studio/server/chunks/{auth.remote-wwIa4G1r.js → auth.remote-3OJFVn4Z.js} +2 -2
  575. package/studio/server/chunks/{auth.remote-wwIa4G1r.js.map → auth.remote-3OJFVn4Z.js.map} +1 -1
  576. package/studio/server/chunks/{bun-sqlite-dialect-C8OaCWSL-CzZPSzzi.js → bun-sqlite-dialect-C8OaCWSL-CarWKR8Y.js} +4 -4
  577. package/studio/server/chunks/{bun-sqlite-dialect-C8OaCWSL-CzZPSzzi.js.map → bun-sqlite-dialect-C8OaCWSL-CarWKR8Y.js.map} +1 -1
  578. package/studio/server/chunks/{client-BZjSn4EB.js → client-CR4cFjjD.js} +2 -2
  579. package/studio/server/chunks/{client-BZjSn4EB.js.map → client-CR4cFjjD.js.map} +1 -1
  580. package/studio/server/chunks/{d1-sqlite-dialect-sYHNqBte-BvLZmU_1.js → d1-sqlite-dialect-sYHNqBte-BXH49B9N.js} +4 -4
  581. package/studio/server/chunks/{d1-sqlite-dialect-sYHNqBte-BvLZmU_1.js.map → d1-sqlite-dialect-sYHNqBte-BXH49B9N.js.map} +1 -1
  582. package/studio/server/chunks/{desktop-bootstrap-1jXqwd-8.js → desktop-bootstrap-Cq_Cf_CC.js} +2 -2
  583. package/studio/server/chunks/{desktop-bootstrap-1jXqwd-8.js.map → desktop-bootstrap-Cq_Cf_CC.js.map} +1 -1
  584. package/studio/server/chunks/{editor.svelte-COCDMJMg.js → editor.svelte-BSuTDLkE.js} +2 -2
  585. package/studio/server/chunks/{editor.svelte-COCDMJMg.js.map → editor.svelte-BSuTDLkE.js.map} +1 -1
  586. package/studio/server/chunks/{hooks.server--Djv4p27.js → hooks.server-D_MLQB0H.js} +10 -10
  587. package/studio/server/chunks/{hooks.server--Djv4p27.js.map → hooks.server-D_MLQB0H.js.map} +1 -1
  588. package/studio/server/chunks/{index-CC0VmMfq.js → index-Dda1acrH.js} +3 -3
  589. package/studio/server/chunks/index-Dda1acrH.js.map +1 -0
  590. package/studio/server/chunks/{index-D_660nxW.js → index-WsxH4DMJ.js} +3 -3
  591. package/studio/server/chunks/index-WsxH4DMJ.js.map +1 -0
  592. package/studio/server/chunks/{index10-DRYKrT1x.js → index10-CgtHjrmv.js} +4 -4
  593. package/studio/server/chunks/{index10-DRYKrT1x.js.map → index10-CgtHjrmv.js.map} +1 -1
  594. package/studio/server/chunks/{index2-6MS8VnCO.js → index2-ChjmUsER.js} +2 -2
  595. package/studio/server/chunks/{index2-6MS8VnCO.js.map → index2-ChjmUsER.js.map} +1 -1
  596. package/studio/server/chunks/{index3-Ps7k-4f8.js → index3-ChXwYjat.js} +5 -5
  597. package/studio/server/chunks/index3-ChXwYjat.js.map +1 -0
  598. package/studio/server/chunks/{layout-template-D1Rliz3X.js → layout-template-DofrwsQ2.js} +3 -3
  599. package/studio/server/chunks/{layout-template-D1Rliz3X.js.map → layout-template-DofrwsQ2.js.map} +1 -1
  600. package/studio/server/chunks/{node-sqlite-dialect-Dy5JXX3C.js → node-sqlite-dialect-Dbh9DJmP.js} +4 -4
  601. package/studio/server/chunks/{node-sqlite-dialect-Dy5JXX3C.js.map → node-sqlite-dialect-Dbh9DJmP.js.map} +1 -1
  602. package/studio/server/chunks/{onboarding-email-BWY50y2U.js → onboarding-email-BT8AKqTu.js} +3 -3
  603. package/studio/server/chunks/{onboarding-email-BWY50y2U.js.map → onboarding-email-BT8AKqTu.js.map} +1 -1
  604. package/studio/server/chunks/{projects.remote-gxU7zuXx.js → projects.remote-D5XkWx2P.js} +2 -2
  605. package/studio/server/chunks/{projects.remote-gxU7zuXx.js.map → projects.remote-D5XkWx2P.js.map} +1 -1
  606. package/studio/server/chunks/{queue-init-D0Na4v9v.js → queue-init-CC31rTnG.js} +2 -2
  607. package/studio/server/chunks/{queue-init-D0Na4v9v.js.map → queue-init-CC31rTnG.js.map} +1 -1
  608. package/studio/server/chunks/{registry2-DGTWkZ8Z.js → registry2-CC-NhK3h.js} +6 -6
  609. package/studio/server/chunks/{registry2-DGTWkZ8Z.js.map → registry2-CC-NhK3h.js.map} +1 -1
  610. package/studio/server/chunks/{remote-sy19x7-BNzkjfet.js → remote-sy19x7-DGnE00Wd.js} +4 -4
  611. package/studio/server/chunks/remote-sy19x7-DGnE00Wd.js.map +1 -0
  612. package/studio/server/chunks/{remote-z7lvth-CqJVAmXS.js → remote-z7lvth-Cs1qXN81.js} +3 -3
  613. package/studio/server/chunks/remote-z7lvth-Cs1qXN81.js.map +1 -0
  614. package/studio/server/chunks/{remote-zjib3m-BauNFQg3.js → remote-zjib3m-CuPlgVpe.js} +4 -4
  615. package/studio/server/chunks/remote-zjib3m-CuPlgVpe.js.map +1 -0
  616. package/studio/server/chunks/{scrub-xyz.svelte_svelte_type_style_lang-CPl-9qn8.js → scrub-xyz.svelte_svelte_type_style_lang-CDjEyOz9.js} +8 -8
  617. package/studio/server/chunks/{scrub-xyz.svelte_svelte_type_style_lang-CPl-9qn8.js.map → scrub-xyz.svelte_svelte_type_style_lang-CDjEyOz9.js.map} +1 -1
  618. package/studio/server/chunks/{tooltip-provider-DfKy8UUP.js → tooltip-provider-Bzk4UDmX.js} +2 -2
  619. package/studio/server/chunks/{tooltip-provider-DfKy8UUP.js.map → tooltip-provider-Bzk4UDmX.js.map} +1 -1
  620. package/studio/server/chunks/{tooltip.svelte-DHfGG2LN.js → tooltip.svelte-Lb6_0rdB.js} +2 -2
  621. package/studio/server/chunks/{tooltip.svelte-DHfGG2LN.js.map → tooltip.svelte-Lb6_0rdB.js.map} +1 -1
  622. package/studio/server/chunks/{ui.svelte-C1G5iO5f.js → ui.svelte-DleU2XsO.js} +4 -4
  623. package/studio/server/chunks/{ui.svelte-C1G5iO5f.js.map → ui.svelte-DleU2XsO.js.map} +1 -1
  624. package/studio/server/chunks/{watermark-CvgEjhCN.js → watermark-PHdDaiH8.js} +2 -2
  625. package/studio/server/chunks/{watermark-CvgEjhCN.js.map → watermark-PHdDaiH8.js.map} +1 -1
  626. package/studio/server/index.js +1 -1
  627. package/studio/server/manifest.js +37 -37
  628. package/studio/server/manifest.js.map +1 -1
  629. package/studio/client/_app/immutable/chunks/AZ9rWnO0.js.br +0 -0
  630. package/studio/client/_app/immutable/chunks/AZ9rWnO0.js.gz +0 -0
  631. package/studio/client/_app/immutable/chunks/B6madqDo.js.br +0 -0
  632. package/studio/client/_app/immutable/chunks/B6madqDo.js.gz +0 -0
  633. package/studio/client/_app/immutable/chunks/BJKr5hge.js.br +0 -0
  634. package/studio/client/_app/immutable/chunks/BJKr5hge.js.gz +0 -0
  635. package/studio/client/_app/immutable/chunks/BM16VTgB.js.br +0 -0
  636. package/studio/client/_app/immutable/chunks/BM16VTgB.js.gz +0 -0
  637. package/studio/client/_app/immutable/chunks/BM9OfXL9.js.br +0 -0
  638. package/studio/client/_app/immutable/chunks/BM9OfXL9.js.gz +0 -0
  639. package/studio/client/_app/immutable/chunks/BW3LFrce.js.br +0 -0
  640. package/studio/client/_app/immutable/chunks/BW3LFrce.js.gz +0 -0
  641. package/studio/client/_app/immutable/chunks/BgrSU1kg.js.br +0 -0
  642. package/studio/client/_app/immutable/chunks/BgrSU1kg.js.gz +0 -0
  643. package/studio/client/_app/immutable/chunks/Bs7NW1Se.js.br +0 -0
  644. package/studio/client/_app/immutable/chunks/Bs7NW1Se.js.gz +0 -0
  645. package/studio/client/_app/immutable/chunks/BslV7gY7.js.br +0 -0
  646. package/studio/client/_app/immutable/chunks/BslV7gY7.js.gz +0 -0
  647. package/studio/client/_app/immutable/chunks/BvSfBzuV.js.br +0 -0
  648. package/studio/client/_app/immutable/chunks/BvSfBzuV.js.gz +0 -0
  649. package/studio/client/_app/immutable/chunks/BwG2gtjF.js.br +0 -0
  650. package/studio/client/_app/immutable/chunks/BwG2gtjF.js.gz +0 -0
  651. package/studio/client/_app/immutable/chunks/BwnyT9Ny.js.br +0 -0
  652. package/studio/client/_app/immutable/chunks/BwnyT9Ny.js.gz +0 -0
  653. package/studio/client/_app/immutable/chunks/C0WKYdwk.js.br +0 -0
  654. package/studio/client/_app/immutable/chunks/C0WKYdwk.js.gz +0 -0
  655. package/studio/client/_app/immutable/chunks/CPRt510s.js.br +0 -0
  656. package/studio/client/_app/immutable/chunks/CPRt510s.js.gz +0 -0
  657. package/studio/client/_app/immutable/chunks/CTjBIV3u.js.br +0 -0
  658. package/studio/client/_app/immutable/chunks/CTjBIV3u.js.gz +0 -0
  659. package/studio/client/_app/immutable/chunks/CTpKZT5_.js.br +0 -0
  660. package/studio/client/_app/immutable/chunks/CTpKZT5_.js.gz +0 -0
  661. package/studio/client/_app/immutable/chunks/CVS8giU8.js.br +0 -0
  662. package/studio/client/_app/immutable/chunks/CVS8giU8.js.gz +0 -0
  663. package/studio/client/_app/immutable/chunks/Cdg3o65X.js.br +0 -0
  664. package/studio/client/_app/immutable/chunks/Cdg3o65X.js.gz +0 -0
  665. package/studio/client/_app/immutable/chunks/CvEPOTmC.js.br +0 -0
  666. package/studio/client/_app/immutable/chunks/CvEPOTmC.js.gz +0 -0
  667. package/studio/client/_app/immutable/chunks/CwPeYiWY.js.br +0 -0
  668. package/studio/client/_app/immutable/chunks/CwPeYiWY.js.gz +0 -0
  669. package/studio/client/_app/immutable/chunks/D-QT1x8R.js.br +0 -0
  670. package/studio/client/_app/immutable/chunks/D-QT1x8R.js.gz +0 -0
  671. package/studio/client/_app/immutable/chunks/D1FB0IUT.js.br +0 -0
  672. package/studio/client/_app/immutable/chunks/D1FB0IUT.js.gz +0 -0
  673. package/studio/client/_app/immutable/chunks/D8o81YM9.js.br +0 -0
  674. package/studio/client/_app/immutable/chunks/D8o81YM9.js.gz +0 -0
  675. package/studio/client/_app/immutable/chunks/DUvwbcGL.js.br +0 -0
  676. package/studio/client/_app/immutable/chunks/DUvwbcGL.js.gz +0 -0
  677. package/studio/client/_app/immutable/chunks/DXmIOUiy.js.br +0 -0
  678. package/studio/client/_app/immutable/chunks/DXmIOUiy.js.gz +0 -0
  679. package/studio/client/_app/immutable/chunks/DhUtLNbU.js.br +0 -0
  680. package/studio/client/_app/immutable/chunks/DhUtLNbU.js.gz +0 -0
  681. package/studio/client/_app/immutable/chunks/DkL6aOyN.js.br +0 -0
  682. package/studio/client/_app/immutable/chunks/DkL6aOyN.js.gz +0 -0
  683. package/studio/client/_app/immutable/chunks/DlG2SYaI.js.br +0 -0
  684. package/studio/client/_app/immutable/chunks/DlG2SYaI.js.gz +0 -0
  685. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js +0 -4
  686. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js.br +0 -0
  687. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js.gz +0 -0
  688. package/studio/client/_app/immutable/chunks/Dw0S4s6I.js.br +0 -3
  689. package/studio/client/_app/immutable/chunks/Dw0S4s6I.js.gz +0 -0
  690. package/studio/client/_app/immutable/chunks/EsOjj2Re.js.br +0 -0
  691. package/studio/client/_app/immutable/chunks/EsOjj2Re.js.gz +0 -0
  692. package/studio/client/_app/immutable/chunks/I5GezlI2.js +0 -1
  693. package/studio/client/_app/immutable/chunks/I5GezlI2.js.br +0 -2
  694. package/studio/client/_app/immutable/chunks/I5GezlI2.js.gz +0 -0
  695. package/studio/client/_app/immutable/chunks/MA9VYZ9Y.js.br +0 -0
  696. package/studio/client/_app/immutable/chunks/MA9VYZ9Y.js.gz +0 -0
  697. package/studio/client/_app/immutable/chunks/Of4NhqMR.js.br +0 -0
  698. package/studio/client/_app/immutable/chunks/Of4NhqMR.js.gz +0 -0
  699. package/studio/client/_app/immutable/chunks/vMKBQkkd.js.br +0 -0
  700. package/studio/client/_app/immutable/chunks/vMKBQkkd.js.gz +0 -0
  701. package/studio/client/_app/immutable/chunks/zdIjnFuo.js.br +0 -0
  702. package/studio/client/_app/immutable/chunks/zdIjnFuo.js.gz +0 -0
  703. package/studio/client/_app/immutable/entry/app.DWvKq1JP.js.br +0 -0
  704. package/studio/client/_app/immutable/entry/app.DWvKq1JP.js.gz +0 -0
  705. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js +0 -1
  706. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js.br +0 -0
  707. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js.gz +0 -0
  708. package/studio/client/_app/immutable/nodes/0.WXKHH_tm.js.br +0 -0
  709. package/studio/client/_app/immutable/nodes/0.WXKHH_tm.js.gz +0 -0
  710. package/studio/client/_app/immutable/nodes/1.BiD305mI.js.br +0 -0
  711. package/studio/client/_app/immutable/nodes/1.BiD305mI.js.gz +0 -0
  712. package/studio/client/_app/immutable/nodes/10.CU1-ee2m.js.br +0 -0
  713. package/studio/client/_app/immutable/nodes/10.CU1-ee2m.js.gz +0 -0
  714. package/studio/client/_app/immutable/nodes/11.CXaXEirJ.js.br +0 -0
  715. package/studio/client/_app/immutable/nodes/11.CXaXEirJ.js.gz +0 -0
  716. package/studio/client/_app/immutable/nodes/12.DJvy6gDY.js.br +0 -0
  717. package/studio/client/_app/immutable/nodes/12.DJvy6gDY.js.gz +0 -0
  718. package/studio/client/_app/immutable/nodes/13.nfg2db27.js.br +0 -0
  719. package/studio/client/_app/immutable/nodes/13.nfg2db27.js.gz +0 -0
  720. package/studio/client/_app/immutable/nodes/14.Bs2fSwa1.js.br +0 -0
  721. package/studio/client/_app/immutable/nodes/14.Bs2fSwa1.js.gz +0 -0
  722. package/studio/client/_app/immutable/nodes/15.a3Pos74G.js.br +0 -0
  723. package/studio/client/_app/immutable/nodes/15.a3Pos74G.js.gz +0 -0
  724. package/studio/client/_app/immutable/nodes/16.2YL4xuJ4.js.br +0 -0
  725. package/studio/client/_app/immutable/nodes/16.2YL4xuJ4.js.gz +0 -0
  726. package/studio/client/_app/immutable/nodes/17.CqCSgqIN.js.br +0 -0
  727. package/studio/client/_app/immutable/nodes/17.CqCSgqIN.js.gz +0 -0
  728. package/studio/client/_app/immutable/nodes/18.5G3YRxMR.js.br +0 -0
  729. package/studio/client/_app/immutable/nodes/18.5G3YRxMR.js.gz +0 -0
  730. package/studio/client/_app/immutable/nodes/19.Bu8-dRJn.js.br +0 -0
  731. package/studio/client/_app/immutable/nodes/19.Bu8-dRJn.js.gz +0 -0
  732. package/studio/client/_app/immutable/nodes/20.CIMlHVKg.js.br +0 -0
  733. package/studio/client/_app/immutable/nodes/20.CIMlHVKg.js.gz +0 -0
  734. package/studio/client/_app/immutable/nodes/21.CqSlHdIO.js.br +0 -0
  735. package/studio/client/_app/immutable/nodes/21.CqSlHdIO.js.gz +0 -0
  736. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js +0 -8
  737. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js.br +0 -0
  738. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js.gz +0 -0
  739. package/studio/client/_app/immutable/nodes/3.C68UMDpf.js.br +0 -0
  740. package/studio/client/_app/immutable/nodes/3.C68UMDpf.js.gz +0 -0
  741. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js +0 -1
  742. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js.br +0 -0
  743. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js.gz +0 -0
  744. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js +0 -79
  745. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js.br +0 -0
  746. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js.gz +0 -0
  747. package/studio/client/_app/immutable/nodes/4.BXcrgjpJ.js.br +0 -0
  748. package/studio/client/_app/immutable/nodes/4.BXcrgjpJ.js.gz +0 -0
  749. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js +0 -15
  750. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js.br +0 -0
  751. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js.gz +0 -0
  752. package/studio/client/_app/immutable/nodes/41.CnqWY7Jk.js.br +0 -0
  753. package/studio/client/_app/immutable/nodes/41.CnqWY7Jk.js.gz +0 -0
  754. package/studio/client/_app/immutable/nodes/42.CReCUw0y.js.br +0 -0
  755. package/studio/client/_app/immutable/nodes/42.CReCUw0y.js.gz +0 -0
  756. package/studio/client/_app/immutable/nodes/43.1HRdsmVg.js.br +0 -0
  757. package/studio/client/_app/immutable/nodes/43.1HRdsmVg.js.gz +0 -0
  758. package/studio/client/_app/immutable/nodes/44.Cm4deKzT.js.br +0 -0
  759. package/studio/client/_app/immutable/nodes/44.Cm4deKzT.js.gz +0 -0
  760. package/studio/client/_app/immutable/nodes/45.C7eW4xJw.js.br +0 -0
  761. package/studio/client/_app/immutable/nodes/45.C7eW4xJw.js.gz +0 -0
  762. package/studio/client/_app/immutable/nodes/46.DNoqu48d.js.br +0 -0
  763. package/studio/client/_app/immutable/nodes/46.DNoqu48d.js.gz +0 -0
  764. package/studio/client/_app/immutable/nodes/47.Kd91VHB_.js.br +0 -0
  765. package/studio/client/_app/immutable/nodes/47.Kd91VHB_.js.gz +0 -0
  766. package/studio/client/_app/immutable/nodes/48.kXm-0_dx.js.br +0 -0
  767. package/studio/client/_app/immutable/nodes/48.kXm-0_dx.js.gz +0 -0
  768. package/studio/client/_app/immutable/nodes/49.Baeo5x8O.js.br +0 -0
  769. package/studio/client/_app/immutable/nodes/49.Baeo5x8O.js.gz +0 -0
  770. package/studio/client/_app/immutable/nodes/5.BXcrgjpJ.js.br +0 -0
  771. package/studio/client/_app/immutable/nodes/5.BXcrgjpJ.js.gz +0 -0
  772. package/studio/client/_app/immutable/nodes/7.0ElBSij4.js.br +0 -0
  773. package/studio/client/_app/immutable/nodes/7.0ElBSij4.js.gz +0 -0
  774. package/studio/client/_app/immutable/nodes/8.Cf03UWeS.js.br +0 -0
  775. package/studio/client/_app/immutable/nodes/8.Cf03UWeS.js.gz +0 -0
  776. package/studio/client/_app/immutable/nodes/9.BCt9tK8K.js.br +0 -0
  777. package/studio/client/_app/immutable/nodes/9.BCt9tK8K.js.gz +0 -0
  778. package/studio/server/chunks/12-uBBeSc-D.js +0 -9
  779. package/studio/server/chunks/15-BP_ppf1w.js +0 -9
  780. package/studio/server/chunks/_page.svelte-DL5VUL2M.js.map +0 -1
  781. package/studio/server/chunks/index-CC0VmMfq.js.map +0 -1
  782. package/studio/server/chunks/index-D_660nxW.js.map +0 -1
  783. package/studio/server/chunks/index3-Ps7k-4f8.js.map +0 -1
  784. package/studio/server/chunks/remote-sy19x7-BNzkjfet.js.map +0 -1
  785. package/studio/server/chunks/remote-z7lvth-CqJVAmXS.js.map +0 -1
  786. package/studio/server/chunks/remote-zjib3m-BauNFQg3.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-nkmZl411.js","sources":["../../../.svelte-kit/adapter-node/chunks/template-wizard.js","../../../.svelte-kit/adapter-node/entries/pages/(app)/editor/local/_page.svelte.js"],"sourcesContent":["import \"./async.js\";\nimport { f as attr_style, i as stringify, e as ensure_array_like, d as derived, s as spread_props } from \"./index8.js\";\nimport { B as Button, L as Loader_circle } from \"./button.js\";\nimport { P as Progress } from \"./streaming-border.svelte_svelte_type_style_lang.js\";\nimport { e as extractPropertyMetadata, b as extractDefaultValues } from \"./base.js\";\nimport { T as Textarea, m as Background_picker, C as Color_picker, n as Scrub_input, o as Select_root, p as Select_trigger, q as Select_content, r as Select_group, s as Select_item, g as getEditorState, I as Input_wrapper, u as trackPlausibleEvent } from \"./editor.svelte.js\";\nimport { I as Input } from \"./input.js\";\nimport { F as FileUpload } from \"./registry2.js\";\nimport { p as processMediaUpload, a as applyMediaLayerData } from \"./media.js\";\nimport { c as cn } from \"./utils2.js\";\nimport { C as Check } from \"./check.js\";\nimport { X } from \"./x.js\";\nimport { e as escape_html } from \"./escaping.js\";\nimport posthog from \"posthog-js\";\nimport \"./generate-speech.js\";\nimport { b as applyActionResult } from \"./apply-result.js\";\nimport { A as Arrow_left } from \"./arrow-left.js\";\nfunction Streaming_border($$renderer, $$props) {\n let {\n width,\n height,\n left,\n top,\n active,\n inset = false\n /** If true, fills the parent (position: absolute; inset: 0) — no need to pass width/height/left/top */\n } = $$props;\n if (active) {\n $$renderer.push(\"<!--[0-->\");\n if (inset) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<div class=\"streaming-glow streaming-glow--inset pointer-events-none absolute z-4 svelte-31zg4z\"></div>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<div class=\"streaming-glow pointer-events-none absolute z-4 svelte-31zg4z\"${attr_style(\"\", {\n width: `${stringify(width)}px`,\n height: `${stringify(height)}px`,\n left,\n top\n })}></div>`);\n }\n $$renderer.push(`<!--]-->`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction Input_property($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n const {\n metadata,\n value,\n layer,\n onUpdateProp,\n targetPath = \"props\"\n /** The path prefix for the property (e.g., 'props' or 'style') */\n } = $$props;\n const id = derived(() => `${targetPath}.${metadata.name}`);\n if (metadata.meta?.widget === \"upload\") {\n $$renderer2.push(\"<!--[0-->\");\n FileUpload($$renderer2, {\n value: typeof value === \"string\" ? value : \"\",\n currentFileName: typeof layer.props.fileName === \"string\" ? layer.props.fileName : \"\",\n mediaType: metadata.meta.mediaType,\n projectId: editorState().dbProjectId ?? void 0,\n onUpload: async (result) => {\n if (metadata.meta?.widget !== \"upload\") return;\n const mediaType = metadata.meta.mediaType;\n onUpdateProp(metadata.name, result.url);\n onUpdateProp(\"fileKey\", result.key);\n const { propUpdates, mediaResult } = await processMediaUpload({\n url: result.url,\n key: result.key,\n fileName: result.fileName,\n duration: result.duration,\n attribution: \"attribution\" in result ? result.attribution : void 0,\n mediaType,\n projectWidth: projectStore().state.width,\n projectHeight: projectStore().state.height,\n projectDuration: projectStore().state.duration,\n enterTime: layer.enterTime ?? 0\n });\n for (const [prop, val] of Object.entries(propUpdates)) {\n onUpdateProp(prop, val);\n }\n applyMediaLayerData(projectStore(), layer.id, mediaResult);\n }\n });\n } else if (metadata.meta?.widget === \"textarea\") {\n $$renderer2.push(\"<!--[1-->\");\n Textarea($$renderer2, {\n id: id(),\n value: typeof value === \"string\" ? value : \"\",\n oninput: (e) => onUpdateProp(metadata.name, e.currentTarget.value),\n spellcheck: \"false\"\n });\n } else if (metadata.meta?.widget === \"background\") {\n $$renderer2.push(\"<!--[2-->\");\n Background_picker($$renderer2, {\n value,\n optional: true,\n onchange: (newValue) => onUpdateProp(metadata.name, newValue)\n });\n } else if (metadata.meta?.widget === \"color\") {\n $$renderer2.push(\"<!--[3-->\");\n Color_picker($$renderer2, {\n value: typeof value === \"string\" ? value : \"#000000\",\n onchange: (newValue) => onUpdateProp(metadata.name, newValue || \"transparent\"),\n optional: metadata.optional\n });\n } else if (metadata.meta?.widget === \"custom\") {\n $$renderer2.push(\"<!--[4-->\");\n const Component = metadata.meta.component;\n if (Component) {\n $$renderer2.push(\"<!--[-->\");\n Component($$renderer2, {\n value,\n onChange: (newValue) => onUpdateProp(metadata.name, newValue),\n layer,\n metadata\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (metadata.type === \"number\") {\n $$renderer2.push(\"<!--[5-->\");\n Scrub_input($$renderer2, {\n id: id(),\n value: typeof value === \"number\" ? value : 0,\n min: metadata.min,\n max: metadata.max,\n step: metadata.step || 1,\n onchange: (v) => onUpdateProp(metadata.name, v),\n postFix: metadata.postFix\n });\n } else if (metadata.type === \"boolean\") {\n $$renderer2.push(\"<!--[6-->\");\n const checked = typeof value === \"boolean\" ? value : false;\n Button($$renderer2, {\n variant: \"outline\",\n class: cn(\"w-full flex-1\", {\n \"border-green-500! bg-green-500/10! text-green-500! hover:bg-green-500/20! hover:text-green-500!\": checked,\n \"border-red-500! bg-red-500/10! text-red-500! hover:bg-red-500/20! hover:text-red-500!\": !checked\n }),\n onclick: () => onUpdateProp(metadata.name, !checked),\n children: ($$renderer3) => {\n if (checked) {\n $$renderer3.push(\"<!--[0-->\");\n Check($$renderer3, { class: \"h-4 w-4\" });\n $$renderer3.push(`<!----> <span class=\"text-xs\">On</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n X($$renderer3, { class: \"h-4 w-4\" });\n $$renderer3.push(`<!----> <span class=\"text-xs\">Off</span>`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n } else if (metadata.meta?.widget === \"multi-select\" && metadata.meta.options) {\n $$renderer2.push(\"<!--[7-->\");\n const selectedValues = Array.isArray(value) ? value : [];\n if (Select_root) {\n $$renderer2.push(\"<!--[-->\");\n Select_root($$renderer2, {\n type: \"multiple\",\n value: selectedValues,\n onValueChange: (newValue) => onUpdateProp(metadata.name, newValue),\n children: ($$renderer3) => {\n if (Select_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Select_trigger($$renderer3, {\n class: \"w-full flex-1\",\n children: ($$renderer4) => {\n if (selectedValues.length === 0) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<span class=\"text-muted-foreground\">Select effects...</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<span>${escape_html(selectedValues.length)} selected</span>`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Select_content) {\n $$renderer3.push(\"<!--[-->\");\n Select_content($$renderer3, {\n id: id(),\n children: ($$renderer4) => {\n if (Select_group) {\n $$renderer4.push(\"<!--[-->\");\n Select_group($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array = ensure_array_like(metadata.meta.options);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let option = each_array[$$index];\n const isSelected = selectedValues.includes(option.value);\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: option.value,\n label: option.label,\n children: ($$renderer6) => {\n $$renderer6.push(`<div class=\"flex items-center gap-2\"><div class=\"w-4\">`);\n if (isSelected) {\n $$renderer6.push(\"<!--[0-->\");\n Check($$renderer6, { class: \"h-4 w-4\" });\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n }\n $$renderer6.push(`<!--]--></div> <span>${escape_html(option.label)}</span></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (metadata.type === \"select\" && metadata.options) {\n $$renderer2.push(\"<!--[8-->\");\n const selectedValue = typeof value === \"string\" || typeof value === \"number\" ? value : \"\";\n const selectedLabel = metadata.options.find((opt) => opt.value === selectedValue)?.label ?? selectedValue;\n if (Select_root) {\n $$renderer2.push(\"<!--[-->\");\n Select_root($$renderer2, {\n type: \"single\",\n value: selectedValue.toString(),\n onValueChange: (newValue) => onUpdateProp(metadata.name, newValue),\n children: ($$renderer3) => {\n if (Select_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Select_trigger($$renderer3, {\n class: \"w-full flex-1\",\n id: id(),\n children: ($$renderer4) => {\n if (selectedValue) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<span>${escape_html(selectedLabel)}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<span class=\"text-muted-foreground\">Select an option</span>`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Select_content) {\n $$renderer3.push(\"<!--[-->\");\n Select_content($$renderer3, {\n id: id(),\n children: ($$renderer4) => {\n if (Select_group) {\n $$renderer4.push(\"<!--[-->\");\n Select_group($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(metadata.options);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let option = each_array_1[$$index_1];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: option.value,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(option.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Input($$renderer2, {\n id: id(),\n type: \"text\",\n value: typeof value === \"string\" ? value : \"\",\n oninput: (e) => onUpdateProp(metadata.name, e.currentTarget.value),\n disabled: metadata.meta?.readOnly\n });\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction isAsyncStep(step) {\n return \"execute\" in step;\n}\nfunction isFormStep(step) {\n return \"schema\" in step;\n}\nfunction isComponentStep(step) {\n return \"component\" in step;\n}\nfunction Template_step_form($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { step, initialValues = {}, onUpdate } = $$props;\n const metadata = derived(() => extractPropertyMetadata(step.schema));\n const defaults = derived(() => extractDefaultValues(step.schema));\n let values = derived(() => ({ ...defaults(), ...initialValues }));\n const stubLayer = {\n id: \"__template__\",\n name: \"Template\",\n type: \"text\",\n transform: {\n position: { x: 0, y: 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\",\n positionOrigin: \"center\"\n },\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 0,\n dropShadowBlur: 0,\n dropShadowColor: \"transparent\"\n },\n visible: true,\n locked: false,\n keyframes: [],\n props: {}\n };\n function handleUpdate(name, value) {\n values({ ...values(), [name]: value });\n onUpdate(values());\n }\n $$renderer2.push(`<div class=\"space-y-3\"><!--[-->`);\n const each_array = ensure_array_like(metadata());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let field = each_array[$$index];\n if (!field.meta?.hidden) {\n $$renderer2.push(\"<!--[0-->\");\n Input_wrapper($$renderer2, {\n for: `template.${field.name}`,\n label: field.meta?.label ?? field.description ?? field.name,\n children: ($$renderer3) => {\n Input_property($$renderer3, {\n metadata: field,\n value: values()[field.name],\n onUpdateProp: handleUpdate,\n layer: stubLayer,\n targetPath: \"props\"\n });\n }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction Template_wizard($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const {\n template,\n projectStore,\n onComplete,\n onCancel,\n onSetAiStreaming,\n inProject\n /** Optional: called by async steps to signal streaming state to the parent */\n } = $$props;\n let currentStepIndex = 0;\n let values = {};\n let isProcessing = false;\n let asyncProgress = 0;\n let error = null;\n const currentStep = derived(() => template?.steps?.[currentStepIndex]);\n const isLastStep = derived(() => currentStepIndex === (template?.steps?.length ?? 1) - 1);\n const totalSteps = derived(() => template?.steps?.length ?? 0);\n function buildContext() {\n return {\n project: projectStore.state,\n currentTime: projectStore.currentTime,\n inProject\n };\n }\n function handleFormUpdate(stepValues) {\n values = { ...values, ...stepValues };\n }\n async function handleComponentComplete(stepValues) {\n values = { ...values, ...stepValues };\n if (isLastStep()) {\n await applyTemplate();\n } else {\n currentStepIndex++;\n await maybeRunAsyncStep();\n }\n }\n async function handleNext() {\n if (isLastStep()) {\n await applyTemplate();\n } else {\n currentStepIndex++;\n await maybeRunAsyncStep();\n }\n }\n function handleCancel() {\n posthog.capture(\"template_cancelled\", {\n templateId: template.id,\n templateName: template.name,\n stepReached: currentStepIndex\n });\n trackPlausibleEvent(\"template_cancelled\", {\n templateId: template.id,\n templateName: template.name,\n stepReached: currentStepIndex\n });\n onCancel();\n }\n async function maybeRunAsyncStep() {\n const step = template.steps[currentStepIndex];\n if (isAsyncStep(step)) {\n await executeAsyncStep();\n }\n }\n async function executeAsyncStep() {\n const step = template.steps[currentStepIndex];\n if (!isAsyncStep(step)) return;\n isProcessing = true;\n onSetAiStreaming?.(true);\n asyncProgress = 0;\n error = null;\n try {\n const result = await step.execute(values, buildContext(), (p) => {\n asyncProgress = p;\n });\n values = { ...values, ...result };\n if (isLastStep()) {\n await applyTemplate();\n } else {\n currentStepIndex++;\n await maybeRunAsyncStep();\n }\n } catch (e) {\n error = e instanceof Error ? e.message : \"An error occurred\";\n } finally {\n isProcessing = false;\n onSetAiStreaming?.(false);\n }\n }\n async function applyTemplate() {\n const ctx = buildContext();\n isProcessing = true;\n onSetAiStreaming?.(true);\n try {\n const output = await template.apply(values, ctx);\n applyActionResult(projectStore, output);\n } catch (e) {\n error = e instanceof Error ? e.message : \"An error occurred\";\n } finally {\n isProcessing = false;\n onSetAiStreaming?.(false);\n }\n posthog.capture(\"template_completed\", { templateId: template.id, templateName: template.name });\n trackPlausibleEvent(\"template_completed\", { templateId: template.id, templateName: template.name });\n onComplete();\n }\n $$renderer2.push(`<div class=\"relative flex flex-1 flex-col\">`);\n if (\n // Auto-run async step on mount if first step is async\n // Track template start on mount\n !inProject\n ) {\n $$renderer2.push(\"<!--[0-->\");\n Streaming_border($$renderer2, { active: isProcessing, inset: true });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"flex items-center gap-2 border-b p-3\"><button class=\"rounded p-1 hover:bg-muted\" aria-label=\"Back\">`);\n Arrow_left($$renderer2, { class: \"h-4 w-4\" });\n $$renderer2.push(`<!----></button> <div class=\"flex-1\"><h3 class=\"text-sm font-medium\">${escape_html(template.name)}</h3> `);\n if (totalSteps() > 1) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-[10px] text-muted-foreground\">Step ${escape_html(currentStepIndex + 1)} of ${escape_html(totalSteps())}: ${escape_html(currentStep().title)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"flex-1 overflow-auto p-4\">`);\n if (currentStep().description) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mb-4 text-xs text-muted-foreground\">${escape_html(currentStep().description)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (isFormStep(currentStep())) {\n $$renderer2.push(\"<!--[0-->\");\n Template_step_form($$renderer2, {\n step: currentStep(),\n initialValues: values,\n onUpdate: handleFormUpdate\n });\n } else if (isComponentStep(currentStep())) {\n $$renderer2.push(\"<!--[1-->\");\n const StepComponent = currentStep().component;\n if (StepComponent) {\n $$renderer2.push(\"<!--[-->\");\n StepComponent($$renderer2, spread_props([\n {\n values,\n ctx: buildContext(),\n onUpdate: handleFormUpdate,\n onComplete: handleComponentComplete\n },\n currentStep().componentProps\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (isAsyncStep(currentStep())) {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<div class=\"flex flex-col items-center gap-4 py-8\">`);\n if (isProcessing) {\n $$renderer2.push(\"<!--[0-->\");\n Loader_circle($$renderer2, { class: \"h-8 w-8 animate-spin text-muted-foreground\" });\n $$renderer2.push(`<!----> `);\n Progress($$renderer2, { value: asyncProgress * 100, class: \"w-full\" });\n $$renderer2.push(`<!----> <p class=\"text-xs text-muted-foreground\">${escape_html(Math.round(asyncProgress * 100))}%</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (error) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(error)}</p> `);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n onclick: executeAsyncStep,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Retry`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n if (isFormStep(currentStep())) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex gap-2 border-t p-3\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1\",\n onclick: handleCancel,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"sm\",\n class: \"flex-1\",\n onclick: handleNext,\n children: ($$renderer3) => {\n if (isLastStep()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`Apply`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`Next`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n } else if (isComponentStep(currentStep()) || isAsyncStep(currentStep())) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"flex gap-2 border-t p-3\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1\",\n onclick: handleCancel,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n Input_property as I,\n Streaming_border as S,\n Template_wizard as T\n};\n","import \"../../../../../chunks/async.js\";\nimport { s as spread_props, p as props_id, j as attributes, k as bind_props, d as derived, l as attr_class, m as clsx, f as attr_style, i as stringify, aj as run, ak as hasContext, g as getContext$1, ai as setContext, e as ensure_array_like, c as attr } from \"../../../../../chunks/index8.js\";\nimport { S as Seo_head } from \"../../../../../chunks/seo-head.js\";\nimport { i as isClassValue, s as styleToString, a as EVENT_LIST_SET, b as isObject, c as box, w as watch, R as Root, D as Dropdown_menu_trigger, d as Dropdown_menu_content, e as Dropdown_menu_separator, E as Editor_shell } from \"../../../../../chunks/scrub-xyz.svelte_svelte_type_style_lang.js\";\nimport { M as noop$1, aU as MenuItemState, aV as MenuGroupState, aW as MenuGroupHeadingState, g as getEditorState, aX as tick, aY as snapshot, aZ as Grip_vertical, u as trackPlausibleEvent, t as toast, f as Sparkles, a_ as Lightbulb, ac as Square, a$ as Send, aA as Pricing_dialog, b0 as Folder, b1 as layerRegistry, b2 as Layout_grid, b3 as Code$1, b4 as Type, b5 as onDestroy, b6 as Circle, b7 as isContainerLayer, L as Lock, aB as Lock_open, b8 as getLayerDefinition, N as Pause, O as Play, o as Select_root, p as Select_trigger, q as Select_content, r as Select_group, b9 as Select_label, s as Select_item, ba as Inputs_wrapper, n as Scrub_input, I as Input_wrapper, bb as Button_group, bc as Arrow_up, bd as Arrow_down, be as Link$1, bf as Easing_curve_preview, bg as getSupportedInterpolationFamilies, bh as getStrategyOptionsForFamilies, bi as Clock, v as Popover, w as Popover_trigger, x as Popover_content, bj as Popover_close, e as Select_1, bk as getLayerSchema, C as Color_picker, bl as Layers, m as Background_picker, bm as getAnimatedTransform, bn as getAnimatedStyle, bo as getAnimatedProps, bp as getDefaultInterpolationForProperty, D as Debounced } from \"../../../../../chunks/editor.svelte.js\";\nimport { B as Button, L as Loader_circle } from \"../../../../../chunks/button.js\";\nimport { I as Icon } from \"../../../../../chunks/Icon.js\";\nimport { e as escape_html } from \"../../../../../chunks/escaping.js\";\nimport { P as Project_viewport, a as Player_controls, M as Maximize_2, S as Slider } from \"../../../../../chunks/project-viewport.js\";\nimport { c as cn, p as parseErrorMessage } from \"../../../../../chunks/utils2.js\";\nimport { S as Streaming_border, I as Input_property, T as Template_wizard } from \"../../../../../chunks/template-wizard.js\";\nimport \"../../../../../chunks/assets.remote.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../../../chunks/url.js\";\nimport \"../../../../../chunks/utils.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../../../chunks/root.js\";\nimport \"../../../../../chunks/exports.js\";\nimport \"../../../../../chunks/client2.js\";\nimport { g as getUser } from \"../../../../../chunks/auth.remote.js\";\nimport \"../../../../../chunks/projects.remote.js\";\nimport { c as createFromSchema, e as defaultTransform, L as LayerStyleSchema, s as stylePropertyGroups, o as BaseAnimatablePropertyLabels, d as defaultLayerStyle, p as scaleMiddleware } from \"../../../../../chunks/registry-data.js\";\nimport { e as extractPropertyMetadata } from \"../../../../../chunks/base.js\";\nimport \"../../../../../chunks/upload.remote.js\";\nimport { d as defaultWindow, c as createSubscriber, w as watch$1, a as SvelteMap, S as SvelteSet } from \"../../../../../chunks/watch.svelte.js\";\nimport { getPlan } from \"../../../../../chunks/plans.js\";\nimport { clsx as clsx$1 } from \"clsx\";\nimport { f as createId, b as boxWith, m as mergeProps$1, S as StyleToObject, j as createAttachmentKey, L as Label, I as Input } from \"../../../../../chunks/input.js\";\nimport { D as DEFAULT_MODEL_ID, A as AI_MODELS, b as getModel } from \"../../../../../chunks/ai-access.js\";\nimport { AbstractChat, lastAssistantMessageIsCompleteWithToolCalls, DefaultChatTransport, isToolUIPart } from \"ai\";\nimport { r as resolve } from \"../../../../../chunks/server2.js\";\nimport { f as mutateComposeFromMedia, m as mutateConfigureProject, a as mutateUngroupLayers, b as mutateGroupLayers, c as mutateRemoveLayer, d as mutateEditLayer, e as mutateCreateLayer } from \"../../../../../chunks/mutations.js\";\nimport { g as getMediaAnnotation } from \"../../../../../chunks/media-analysis.remote.js\";\nimport { g as getAction } from \"../../../../../chunks/registry.js\";\nimport { r as runRegisteredAction, c as createLayer, s as splitLeft, k as splitRight, i as deviceSize, f as round1, v as videoSize, l as size } from \"../../../../../chunks/generate-speech.js\";\nimport { b as applyActionResult } from \"../../../../../chunks/apply-result.js\";\nimport { g as getCredits } from \"../../../../../chunks/ai.remote.js\";\nimport { h as html } from \"../../../../../chunks/html.js\";\nimport { U as User, T as Trash_2, P as Plus } from \"../../../../../chunks/dom-context.svelte.js\";\nimport { X, C as Chevron_down } from \"../../../../../chunks/x.js\";\nimport { S as Scroll_area, c as Tooltip, d as Tooltip_trigger, b as Tooltip_content, R as Rotate_cw, t as templateRegistry, g as getTemplateById } from \"../../../../../chunks/registry2.js\";\nimport { P as PROJECT_LAYER_TYPE, i as isProjectLayer, c as createVirtualProjectLayer, m as mapProjectLayerPropsToProject } from \"../../../../../chunks/project-layer.js\";\nimport { F as Film } from \"../../../../../chunks/film.js\";\nimport { A as Alert_dialog, a as Alert_dialog_content, b as Alert_dialog_header, c as Alert_dialog_title, d as Alert_dialog_description, e as Alert_dialog_footer, f as Alert_dialog_cancel, g as Alert_dialog_action } from \"../../../../../chunks/alert-dialog-description.js\";\nimport { C as Chevron_right } from \"../../../../../chunks/chevron-right.js\";\nimport { C as Copy } from \"../../../../../chunks/copy.js\";\nimport { E as Eye } from \"../../../../../chunks/eye.js\";\nimport { a as Separator } from \"../../../../../chunks/social-auth-buttons.js\";\nimport { nanoid } from \"nanoid\";\nimport { b as animationPresets, c as getPresetById, g as getPresetKeyframes, k as kf } from \"../../../../../chunks/presets.js\";\nimport \"bezier-easing\";\n/* empty css */\nimport { A as Arrow_left } from \"../../../../../chunks/arrow-left.js\";\nimport { A as Arrow_right } from \"../../../../../chunks/arrow-right.js\";\nimport { C as Card, a as Card_header, b as Card_title, c as Card_content } from \"../../../../../chunks/card-title.js\";\nimport { colord } from \"colord\";\nimport { M as Monitor_play } from \"../../../../../chunks/monitor-play.js\";\nimport { C as Clapperboard } from \"../../../../../chunks/clapperboard.js\";\nimport { L as Layout_template } from \"../../../../../chunks/layout-template.js\";\nimport { P as ProjectSchema } from \"../../../../../chunks/animation.js\";\nfunction Arrow_down_left($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M17 7 7 17\" }],\n [\"path\", { \"d\": \"M17 17H7V7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-down-left\" },\n /**\n * @component @name ArrowDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgNyA3IDE3IiAvPgogIDxwYXRoIGQ9Ik0xNyAxN0g3VjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-left\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Arrow_down_right($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"m7 7 10 10\" }],\n [\"path\", { \"d\": \"M17 7v10H7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-down-right\" },\n /**\n * @component @name ArrowDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyA3IDEwIDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyA3djEwSDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-right\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Arrow_up_left($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M7 17V7h10\" }],\n [\"path\", { \"d\": \"M17 17 7 7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-up-left\" },\n /**\n * @component @name ArrowUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxN1Y3aDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNyA3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-left\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Arrow_up_right($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M7 7h10v10\" }],\n [\"path\", { \"d\": \"M7 17 17 7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-up-right\" },\n /**\n * @component @name ArrowUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyA3aDEwdjEwIiAvPgogIDxwYXRoIGQ9Ik03IDE3IDE3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-right\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Bitcoin($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"bitcoin\" },\n /**\n * @component @name Bitcoin\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNzY3IDE5LjA4OWM0LjkyNC44NjggNi4xNC02LjAyNSAxLjIxNi02Ljg5NG0tMS4yMTYgNi44OTRMNS44NiAxOC4wNDdtNS45MDggMS4wNDItLjM0NyAxLjk3bTEuNTYzLTguODY0YzQuOTI0Ljg2OSA2LjE0LTYuMDI1IDEuMjE1LTYuODkzbS0xLjIxNSA2Ljg5My0zLjk0LS42OTRtNS4xNTUtNi4yTDguMjkgNC4yNm01LjkwOCAxLjA0Mi4zNDgtMS45N003LjQ4IDIwLjM2NGwzLjEyNi0xNy43MjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bitcoin\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Boxes($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z\"\n }\n ],\n [\"path\", { \"d\": \"m7 16.5-4.74-2.85\" }],\n [\"path\", { \"d\": \"m7 16.5 5-3\" }],\n [\"path\", { \"d\": \"M7 16.5v5.17\" }],\n [\n \"path\",\n {\n \"d\": \"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z\"\n }\n ],\n [\"path\", { \"d\": \"m17 16.5-5-3\" }],\n [\"path\", { \"d\": \"m17 16.5 4.74-2.85\" }],\n [\"path\", { \"d\": \"M17 16.5v5.17\" }],\n [\n \"path\",\n {\n \"d\": \"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z\"\n }\n ],\n [\"path\", { \"d\": \"M12 8 7.26 5.15\" }],\n [\"path\", { \"d\": \"m12 8 4.74-2.85\" }],\n [\"path\", { \"d\": \"M12 13.5V8\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"boxes\" },\n /**\n * @component @name Boxes\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45NyAxMi45MkEyIDIgMCAwIDAgMiAxNC42M3YzLjI0YTIgMiAwIDAgMCAuOTcgMS43MWwzIDEuOGEyIDIgMCAwIDAgMi4wNiAwTDEyIDE5di01LjVsLTUtMy00LjAzIDIuNDJaIiAvPgogIDxwYXRoIGQ9Im03IDE2LjUtNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Im03IDE2LjUgNS0zIiAvPgogIDxwYXRoIGQ9Ik03IDE2LjV2NS4xNyIgLz4KICA8cGF0aCBkPSJNMTIgMTMuNVYxOWwzLjk3IDIuMzhhMiAyIDAgMCAwIDIuMDYgMGwzLTEuOGEyIDIgMCAwIDAgLjk3LTEuNzF2LTMuMjRhMiAyIDAgMCAwLS45Ny0xLjcxTDE3IDEwLjVsLTUgM1oiIC8+CiAgPHBhdGggZD0ibTE3IDE2LjUtNS0zIiAvPgogIDxwYXRoIGQ9Im0xNyAxNi41IDQuNzQtMi44NSIgLz4KICA8cGF0aCBkPSJNMTcgMTYuNXY1LjE3IiAvPgogIDxwYXRoIGQ9Ik03Ljk3IDQuNDJBMiAyIDAgMCAwIDcgNi4xM3Y0LjM3bDUgMyA1LTNWNi4xM2EyIDIgMCAwIDAtLjk3LTEuNzFsLTMtMS44YTIgMiAwIDAgMC0yLjA2IDBsLTMgMS44WiIgLz4KICA8cGF0aCBkPSJNMTIgOCA3LjI2IDUuMTUiIC8+CiAgPHBhdGggZD0ibTEyIDggNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMy41VjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/boxes\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Cloud_upload($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 13v8\" }],\n [\n \"path\",\n {\n \"d\": \"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"\n }\n ],\n [\"path\", { \"d\": \"m8 17 4-4 4 4\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"cloud-upload\" },\n /**\n * @component @name CloudUpload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2OCIgLz4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJtOCAxNyA0LTQgNCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cloud-upload\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Eye_off($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\"\n }\n ],\n [\"path\", { \"d\": \"M14.084 14.158a3 3 0 0 1-4.242-4.242\" }],\n [\n \"path\",\n {\n \"d\": \"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\"\n }\n ],\n [\"path\", { \"d\": \"m2 2 20 20\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"eye-off\" },\n /**\n * @component @name EyeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5IiAvPgogIDxwYXRoIGQ9Ik0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MiIgLz4KICA8cGF0aCBkPSJNMTcuNDc5IDE3LjQ5OWExMC43NSAxMC43NSAwIDAgMS0xNS40MTctNS4xNTEgMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSA0LjQ0Ni01LjE0MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye-off\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Image_plus($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M16 5h6\" }],\n [\"path\", { \"d\": \"M19 2v6\" }],\n [\n \"path\",\n {\n \"d\": \"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5\"\n }\n ],\n [\"path\", { \"d\": \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" }],\n [\"circle\", { \"cx\": \"9\", \"cy\": \"9\", \"r\": \"2\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"image-plus\" },\n /**\n * @component @name ImagePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNWg2IiAvPgogIDxwYXRoIGQ9Ik0xOSAydjYiIC8+CiAgPHBhdGggZD0iTTIxIDExLjVWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcuNSIgLz4KICA8cGF0aCBkPSJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image-plus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Layers_plus($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z\"\n }\n ],\n [\"path\", { \"d\": \"M16 17h6\" }],\n [\"path\", { \"d\": \"M19 14v6\" }],\n [\n \"path\",\n { \"d\": \"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178\" }\n ],\n [\n \"path\",\n {\n \"d\": \"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"layers-plus\" },\n /**\n * @component @name LayersPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuODMgMi4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA2LjA4YTEgMSAwIDAgMCAwIDEuODNsOC41OCAzLjkxYTIgMiAwIDAgMCAuODMuMTggMiAyIDAgMCAwIC44My0uMThsOC41OC0zLjlhMSAxIDAgMCAwIDAtMS44MzF6IiAvPgogIDxwYXRoIGQ9Ik0xNiAxN2g2IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNHY2IiAvPgogIDxwYXRoIGQ9Ik0yIDEyYTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIC44MjUuMTc4IiAvPgogIDxwYXRoIGQ9Ik0yIDE3YTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGwyLjExNi0uOTYyIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/layers-plus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Locate($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"line\", { \"x1\": \"2\", \"x2\": \"5\", \"y1\": \"12\", \"y2\": \"12\" }],\n [\"line\", { \"x1\": \"19\", \"x2\": \"22\", \"y1\": \"12\", \"y2\": \"12\" }],\n [\"line\", { \"x1\": \"12\", \"x2\": \"12\", \"y1\": \"2\", \"y2\": \"5\" }],\n [\"line\", { \"x1\": \"12\", \"x2\": \"12\", \"y1\": \"19\", \"y2\": \"22\" }],\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"locate\" },\n /**\n * @component @name Locate\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMiIgeDI9IjUiIHkxPSIxMiIgeTI9IjEyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjIiIHkyPSI1IiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTkiIHkyPSIyMiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/locate\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Maximize($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M8 3H5a2 2 0 0 0-2 2v3\" }],\n [\"path\", { \"d\": \"M21 8V5a2 2 0 0 0-2-2h-3\" }],\n [\"path\", { \"d\": \"M3 16v3a2 2 0 0 0 2 2h3\" }],\n [\"path\", { \"d\": \"M16 21h3a2 2 0 0 0 2-2v-3\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"maximize\" },\n /**\n * @component @name Maximize\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzSDVhMiAyIDAgMCAwLTIgMnYzIiAvPgogIDxwYXRoIGQ9Ik0yMSA4VjVhMiAyIDAgMCAwLTItMmgtMyIgLz4KICA8cGF0aCBkPSJNMyAxNnYzYTIgMiAwIDAgMCAyIDJoMyIgLz4KICA8cGF0aCBkPSJNMTYgMjFoM2EyIDIgMCAwIDAgMi0ydi0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/maximize\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Minimize_2($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"m14 10 7-7\" }],\n [\"path\", { \"d\": \"M20 10h-6V4\" }],\n [\"path\", { \"d\": \"m3 21 7-7\" }],\n [\"path\", { \"d\": \"M4 14h6v6\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"minimize-2\" },\n /**\n * @component @name Minimize2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTAgNy03IiAvPgogIDxwYXRoIGQ9Ik0yMCAxMGgtNlY0IiAvPgogIDxwYXRoIGQ9Im0zIDIxIDctNyIgLz4KICA8cGF0aCBkPSJNNCAxNGg2djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/minimize-2\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Move_3d($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M5 3v16h16\" }],\n [\"path\", { \"d\": \"m5 19 6-6\" }],\n [\"path\", { \"d\": \"m2 6 3-3 3 3\" }],\n [\"path\", { \"d\": \"m18 16 3 3-3 3\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"move-3d\" },\n /**\n * @component @name Move3d\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAzdjE2aDE2IiAvPgogIDxwYXRoIGQ9Im01IDE5IDYtNiIgLz4KICA8cGF0aCBkPSJtMiA2IDMtMyAzIDMiIC8+CiAgPHBhdGggZD0ibTE4IDE2IDMgMy0zIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/move-3d\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Move($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 2v20\" }],\n [\"path\", { \"d\": \"m15 19-3 3-3-3\" }],\n [\"path\", { \"d\": \"m19 9 3 3-3 3\" }],\n [\"path\", { \"d\": \"M2 12h20\" }],\n [\"path\", { \"d\": \"m5 9-3 3 3 3\" }],\n [\"path\", { \"d\": \"m9 5 3-3 3 3\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"move\" },\n /**\n * @component @name Move\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KICA8cGF0aCBkPSJtMTUgMTktMyAzLTMtMyIgLz4KICA8cGF0aCBkPSJtMTkgOSAzIDMtMyAzIiAvPgogIDxwYXRoIGQ9Ik0yIDEyaDIwIiAvPgogIDxwYXRoIGQ9Im01IDktMyAzIDMgMyIgLz4KICA8cGF0aCBkPSJtOSA1IDMtMyAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/move\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Palette($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\"\n }\n ],\n [\n \"circle\",\n { \"cx\": \"13.5\", \"cy\": \"6.5\", \"r\": \".5\", \"fill\": \"currentColor\" }\n ],\n [\n \"circle\",\n {\n \"cx\": \"17.5\",\n \"cy\": \"10.5\",\n \"r\": \".5\",\n \"fill\": \"currentColor\"\n }\n ],\n [\n \"circle\",\n { \"cx\": \"6.5\", \"cy\": \"12.5\", \"r\": \".5\", \"fill\": \"currentColor\" }\n ],\n [\n \"circle\",\n { \"cx\": \"8.5\", \"cy\": \"7.5\", \"r\": \".5\", \"fill\": \"currentColor\" }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"palette\" },\n /**\n * @component @name Palette\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJhMSAxIDAgMCAxIDAtMjAgMTAgOSAwIDAgMSAxMCA5IDUgNSAwIDAgMS01IDVoLTIuMjVhMS43NSAxLjc1IDAgMCAwLTEuNCAyLjhsLjMuNGExLjc1IDEuNzUgMCAwIDEtMS40IDIuOHoiIC8+CiAgPGNpcmNsZSBjeD0iMTMuNSIgY3k9IjYuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTAuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSI2LjUiIGN5PSIxMi41IiByPSIuNSIgZmlsbD0iY3VycmVudENvbG9yIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjcuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/palette\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Scale($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 3v18\" }],\n [\"path\", { \"d\": \"m19 8 3 8a5 5 0 0 1-6 0zV7\" }],\n [\"path\", { \"d\": \"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1\" }],\n [\"path\", { \"d\": \"m5 8 3 8a5 5 0 0 1-6 0zV7\" }],\n [\"path\", { \"d\": \"M7 21h10\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"scale\" },\n /**\n * @component @name Scale\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJtMTkgOCAzIDhhNSA1IDAgMCAxLTYgMHpWNyIgLz4KICA8cGF0aCBkPSJNMyA3aDFhMTcgMTcgMCAwIDAgOC0yIDE3IDE3IDAgMCAwIDggMmgxIiAvPgogIDxwYXRoIGQ9Im01IDggMyA4YTUgNSAwIDAgMS02IDB6VjciIC8+CiAgPHBhdGggZD0iTTcgMjFoMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scale\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Scan_search($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M3 7V5a2 2 0 0 1 2-2h2\" }],\n [\"path\", { \"d\": \"M17 3h2a2 2 0 0 1 2 2v2\" }],\n [\"path\", { \"d\": \"M21 17v2a2 2 0 0 1-2 2h-2\" }],\n [\"path\", { \"d\": \"M7 21H5a2 2 0 0 1-2-2v-2\" }],\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"3\" }],\n [\"path\", { \"d\": \"m16 16-1.9-1.9\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"scan-search\" },\n /**\n * @component @name ScanSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTE2IDE2LTEuOS0xLjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scan-search\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Shapes($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z\"\n }\n ],\n [\n \"rect\",\n { \"x\": \"3\", \"y\": \"14\", \"width\": \"7\", \"height\": \"7\", \"rx\": \"1\" }\n ],\n [\"circle\", { \"cx\": \"17.5\", \"cy\": \"17.5\", \"r\": \"3.5\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"shapes\" },\n /**\n * @component @name Shapes\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOC4zIDEwYS43LjcgMCAwIDEtLjYyNi0xLjA3OUwxMS40IDNhLjcuNyAwIDAgMSAxLjE5OC0uMDQzTDE2LjMgOC45YS43LjcgMCAwIDEtLjU3MiAxLjFaIiAvPgogIDxyZWN0IHg9IjMiIHk9IjE0IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMSIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTcuNSIgcj0iMy41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shapes\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Skip_back($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z\"\n }\n ],\n [\"path\", { \"d\": \"M3 20V4\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"skip-back\" },\n /**\n * @component @name SkipBack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuOTcxIDQuMjg1QTIgMiAwIDAgMSAyMSA2djEyYTIgMiAwIDAgMS0zLjAyOSAxLjcxNWwtOS45OTctNS45OThhMiAyIDAgMCAxLS4wMDMtMy40MzJ6IiAvPgogIDxwYXRoIGQ9Ik0zIDIwVjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/skip-back\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Skip_forward($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M21 4v16\" }],\n [\n \"path\",\n {\n \"d\": \"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"skip-forward\" },\n /**\n * @component @name SkipForward\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNHYxNiIgLz4KICA8cGF0aCBkPSJNNi4wMjkgNC4yODVBMiAyIDAgMCAwIDMgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/skip-forward\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Unlink($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\"\n }\n ],\n [\n \"path\",\n {\n \"d\": \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\"\n }\n ],\n [\"line\", { \"x1\": \"8\", \"x2\": \"8\", \"y1\": \"2\", \"y2\": \"5\" }],\n [\"line\", { \"x1\": \"2\", \"x2\": \"5\", \"y1\": \"8\", \"y2\": \"8\" }],\n [\"line\", { \"x1\": \"16\", \"x2\": \"16\", \"y1\": \"19\", \"y2\": \"22\" }],\n [\"line\", { \"x1\": \"19\", \"x2\": \"22\", \"y1\": \"16\", \"y2\": \"16\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"unlink\" },\n /**\n * @component @name Unlink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTguODQgMTIuMjUgMS43Mi0xLjcxaC0uMDJhNS4wMDQgNS4wMDQgMCAwIDAtLjEyLTcuMDcgNS4wMDYgNS4wMDYgMCAwIDAtNi45NSAwbC0xLjcyIDEuNzEiIC8+CiAgPHBhdGggZD0ibTUuMTcgMTEuNzUtMS43MSAxLjcxYTUuMDA0IDUuMDA0IDAgMCAwIC4xMiA3LjA3IDUuMDA2IDUuMDA2IDAgMCAwIDYuOTUgMGwxLjcxLTEuNzEiIC8+CiAgPGxpbmUgeDE9IjgiIHgyPSI4IiB5MT0iMiIgeTI9IjUiIC8+CiAgPGxpbmUgeDE9IjIiIHgyPSI1IiB5MT0iOCIgeTI9IjgiIC8+CiAgPGxpbmUgeDE9IjE2IiB4Mj0iMTYiIHkxPSIxOSIgeTI9IjIyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTYiIHkyPSIxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/unlink\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Wallpaper($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 17v4\" }],\n [\"path\", { \"d\": \"M8 21h8\" }],\n [\"path\", { \"d\": \"m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15\" }],\n [\"circle\", { \"cx\": \"8\", \"cy\": \"9\", \"r\": \"2\" }],\n [\n \"rect\",\n { \"x\": \"2\", \"y\": \"3\", \"width\": \"20\", \"height\": \"14\", \"rx\": \"2\" }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"wallpaper\" },\n /**\n * @component @name Wallpaper\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNOCAyMWg4IiAvPgogIDxwYXRoIGQ9Im05IDE3IDYuMS02LjFhMiAyIDAgMCAxIDIuODEuMDFMMjIgMTUiIC8+CiAgPGNpcmNsZSBjeD0iOCIgY3k9IjkiIHI9IjIiIC8+CiAgPHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wallpaper\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Wand_sparkles($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\"\n }\n ],\n [\"path\", { \"d\": \"m14 7 3 3\" }],\n [\"path\", { \"d\": \"M5 6v4\" }],\n [\"path\", { \"d\": \"M19 14v4\" }],\n [\"path\", { \"d\": \"M10 2v2\" }],\n [\"path\", { \"d\": \"M7 8H3\" }],\n [\"path\", { \"d\": \"M21 16h-4\" }],\n [\"path\", { \"d\": \"M11 3H9\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"wand-sparkles\" },\n /**\n * @component @name WandSparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNjQgMy42NC0xLjI4LTEuMjhhMS4yMSAxLjIxIDAgMCAwLTEuNzIgMEwyLjM2IDE4LjY0YTEuMjEgMS4yMSAwIDAgMCAwIDEuNzJsMS4yOCAxLjI4YTEuMiAxLjIgMCAwIDAgMS43MiAwTDIxLjY0IDUuMzZhMS4yIDEuMiAwIDAgMCAwLTEuNzIiIC8+CiAgPHBhdGggZD0ibTE0IDcgMyAzIiAvPgogIDxwYXRoIGQ9Ik01IDZ2NCIgLz4KICA8cGF0aCBkPSJNMTkgMTR2NCIgLz4KICA8cGF0aCBkPSJNMTAgMnYyIiAvPgogIDxwYXRoIGQ9Ik03IDhIMyIgLz4KICA8cGF0aCBkPSJNMjEgMTZoLTQiIC8+CiAgPHBhdGggZD0iTTExIDNIOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wand-sparkles\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Zoom_in($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"11\", \"cy\": \"11\", \"r\": \"8\" }],\n [\n \"line\",\n { \"x1\": \"21\", \"x2\": \"16.65\", \"y1\": \"21\", \"y2\": \"16.65\" }\n ],\n [\"line\", { \"x1\": \"11\", \"x2\": \"11\", \"y1\": \"8\", \"y2\": \"14\" }],\n [\"line\", { \"x1\": \"8\", \"x2\": \"14\", \"y1\": \"11\", \"y2\": \"11\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"zoom-in\" },\n /**\n * @component @name ZoomIn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iMTEiIHgyPSIxMSIgeTE9IjgiIHkyPSIxNCIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-in\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Zoom_out($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"11\", \"cy\": \"11\", \"r\": \"8\" }],\n [\n \"line\",\n { \"x1\": \"21\", \"x2\": \"16.65\", \"y1\": \"21\", \"y2\": \"16.65\" }\n ],\n [\"line\", { \"x1\": \"8\", \"x2\": \"14\", \"y1\": \"11\", \"y2\": \"11\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"zoom-out\" },\n /**\n * @component @name ZoomOut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-out\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Menu_item($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n child,\n children,\n ref = null,\n id = createId(uid),\n disabled = false,\n onSelect = noop$1,\n closeOnSelect = true,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const itemState = MenuItemState.create({\n id: boxWith(() => id),\n disabled: boxWith(() => disabled),\n onSelect: boxWith(() => onSelect),\n ref: boxWith(() => ref, (v) => ref = v),\n closeOnSelect: boxWith(() => closeOnSelect)\n });\n const mergedProps = derived(() => mergeProps$1(restProps, itemState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Menu_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n ref = null,\n id = createId(uid),\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const groupState = MenuGroupState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps$1(restProps, groupState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Menu_group_heading($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n ref = null,\n id = createId(uid),\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const groupHeadingState = MenuGroupHeadingState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps$1(restProps, groupHeadingState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction getStorage(storageType, window2) {\n switch (storageType) {\n case \"local\":\n return window2.localStorage;\n case \"session\":\n return window2.sessionStorage;\n }\n}\nfunction proxy(value, root, proxies, subscribe, update, serialize) {\n if (value === null || typeof value !== \"object\") {\n return value;\n }\n const proto = Object.getPrototypeOf(value);\n if (proto !== null && proto !== Object.prototype && !Array.isArray(value)) {\n return value;\n }\n let p = proxies.get(value);\n if (!p) {\n p = new Proxy(value, {\n get: (target, property) => {\n subscribe?.();\n return proxy(Reflect.get(target, property), root, proxies, subscribe, update, serialize);\n },\n set: (target, property, value2) => {\n update?.();\n Reflect.set(target, property, value2);\n serialize(root);\n return true;\n }\n });\n proxies.set(value, p);\n }\n return p;\n}\nclass PersistedState {\n #current;\n #key;\n #serializer;\n #storage;\n #subscribe;\n #update;\n #proxies = /* @__PURE__ */ new WeakMap();\n #connected;\n #storageCleanup;\n #window;\n #syncTabs;\n #storageType;\n constructor(key2, initialValue, options = {}) {\n const {\n storage: storageType = \"local\",\n serializer = { serialize: JSON.stringify, deserialize: JSON.parse },\n syncTabs = true,\n connected = true\n } = options;\n const window2 = \"window\" in options ? options.window : defaultWindow;\n this.#current = initialValue;\n this.#key = key2;\n this.#serializer = serializer;\n this.#connected = connected;\n this.#window = window2;\n this.#syncTabs = syncTabs;\n this.#storageType = storageType;\n if (window2 === void 0) return;\n const storage = getStorage(storageType, window2);\n this.#storage = storage;\n const existingValue = storage.getItem(key2);\n if (existingValue !== null) {\n this.#current = this.#deserialize(existingValue);\n } else if (connected) {\n this.#serialize(initialValue);\n }\n this.#setupStorageListener();\n }\n get current() {\n this.#subscribe?.();\n let root;\n if (this.#connected) {\n const storageItem = this.#storage?.getItem(this.#key);\n root = storageItem ? this.#deserialize(storageItem) : this.#current;\n } else {\n root = this.#current;\n }\n return proxy(root, root, this.#proxies, this.#subscribe?.bind(this), this.#update?.bind(this), this.#serialize.bind(this));\n }\n set current(newValue) {\n this.#serialize(newValue);\n this.#update?.();\n }\n #handleStorageEvent = (event) => {\n if (event.key !== this.#key || event.newValue === null) return;\n this.#current = this.#deserialize(event.newValue);\n this.#update?.();\n };\n #deserialize(value) {\n try {\n return this.#serializer.deserialize(value);\n } catch (error) {\n console.error(`Error when parsing \"${value}\" from persisted store \"${this.#key}\"`, error);\n return;\n }\n }\n #serialize(value) {\n if (!this.#connected) {\n this.#current = value;\n return;\n }\n try {\n if (value !== void 0) {\n this.#storage?.setItem(this.#key, this.#serializer.serialize(value));\n }\n } catch (error) {\n console.error(`Error when writing value from persisted store \"${this.#key}\" to ${this.#storage}`, error);\n }\n }\n #setupStorageListener() {\n if (!this.#window || !this.#connected) return;\n this.#subscribe = createSubscriber();\n }\n #teardownStorageListener() {\n this.#storageCleanup?.();\n this.#storageCleanup = void 0;\n this.#subscribe = void 0;\n }\n /**\n * Returns whether the state is currently connected to storage.\n *\n * When `connected` is `false`, the state is not connected to storage and any\n * changes to the state will not be persisted to storage and any changes to storage\n * will not be reflected in the state.\n */\n get connected() {\n return this.#connected;\n }\n /**\n * Disconnects the state from storage, preventing updates to storage and stopping\n * cross-tab synchronization. The current value in storage is removed.\n *\n * Call `.connect()` to re-enable storage persistence.\n */\n disconnect() {\n if (!this.#connected) return;\n const storageItem = this.#storage?.getItem(this.#key);\n if (storageItem) {\n this.#current = this.#deserialize(storageItem);\n }\n this.#connected = false;\n this.#storage?.removeItem(this.#key);\n this.#teardownStorageListener();\n }\n /**\n * Reconnects the state to storage, enabling storage persistence and cross-tab\n * synchronization. The current value is immediately persisted to storage.\n *\n * **NOTE**: By default, the state is already connected to storage and this method is\n * only useful to re-enable storage persistence after calling `disconnect()`\n * or starting with `connected: false` as an option.\n */\n connect() {\n if (this.#connected) return;\n this.#connected = true;\n this.#serialize(this.#current);\n this.#setupStorageListener();\n }\n}\nfunction Dropdown_menu_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ref = null, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Menu_group) {\n $$renderer3.push(\"<!--[-->\");\n Menu_group($$renderer3, spread_props([\n { \"data-slot\": \"dropdown-menu-group\" },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Dropdown_menu_item($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n inset,\n variant = \"default\",\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Menu_item) {\n $$renderer3.push(\"<!--[-->\");\n Menu_item($$renderer3, spread_props([\n {\n \"data-slot\": \"dropdown-menu-item\",\n \"data-inset\": inset,\n \"data-variant\": variant,\n class: cn(\"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Dropdown_menu_group_heading($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n inset,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Menu_group_heading) {\n $$renderer3.push(\"<!--[-->\");\n Menu_group_heading($$renderer3, spread_props([\n {\n \"data-slot\": \"dropdown-menu-group-heading\",\n \"data-inset\": inset,\n class: cn(\"px-2 py-1.5 text-sm font-semibold data-[inset]:pl-8\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Canvas_controls($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function zoomIn() {\n projectStore().setZoom(projectStore().viewport.zoom * 1.25);\n }\n function zoomOut() {\n projectStore().setZoom(projectStore().viewport.zoom * 0.8);\n }\n function resetView() {\n projectStore().setZoom(1);\n projectStore().setPan(0, 0);\n }\n const zoomPercentage = derived(() => Math.round(projectStore().viewport.zoom * 100));\n $$renderer2.push(`<div class=\"absolute right-4 bottom-4 flex items-center rounded-2xl border border-foreground/10 bg-background/95 p-2 shadow-lg\">`);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: zoomOut,\n disabled: projectStore().isRecording,\n children: ($$renderer3) => {\n Zoom_out($$renderer3, {});\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> <span class=\"min-w-12 text-center font-mono text-sm\">${escape_html(zoomPercentage())}%</span> `);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: zoomIn,\n disabled: projectStore().isRecording,\n children: ($$renderer3) => {\n Zoom_in($$renderer3, {});\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: resetView,\n disabled: projectStore().isRecording,\n children: ($$renderer3) => {\n Maximize($$renderer3, {});\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n });\n}\nfunction Canvas($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n const projectState = derived(() => projectStore().state);\n const user = derived(getUser);\n const userTier = derived(() => user().current?.tier || \"free\");\n const canRemoveWatermark = derived(() => getPlan(userTier()).limits.watermarkFree);\n const showWatermark = derived(() => !canRemoveWatermark() || !(projectState().hideWatermark ?? false));\n let canvasContainer = void 0;\n let { isRecording = false } = $$props;\n let containerWidth = 1;\n let containerHeight = 1;\n const VIEWPORT_PADDING = 0.8;\n const projectAspectRatio = derived(() => projectState().width / projectState().height);\n const containerAspectRatio = derived(() => containerWidth / containerHeight);\n const fitScale = derived(() => containerAspectRatio() > projectAspectRatio() ? containerHeight * VIEWPORT_PADDING / projectState().height : containerWidth * VIEWPORT_PADDING / projectState().width);\n const viewportTransform = derived(() => `translate(${projectStore().viewport.pan.x}px, ${projectStore().viewport.pan.y}px) scale(${fitScale() * projectStore().viewport.zoom})`);\n const recordingScale = derived(() => {\n if (typeof window === \"undefined\") return 1;\n const scaleX = window.innerWidth / projectState().width;\n const scaleY = window.innerHeight / projectState().height;\n return Math.min(1, scaleX, scaleY);\n });\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div${attr_class(clsx(cn(\"group/canvas relative h-full w-full overflow-hidden bg-background\", {\n \"fixed! inset-0! z-9999! flex! items-center! justify-center! bg-foreground!\": isRecording\n })))}><div${attr_class(clsx(cn(\"absolute inset-0\", { \"relative flex items-center justify-center\": isRecording })))} role=\"presentation\"${attr_style(\"\", {\n cursor: \"default\",\n \"transform-style\": \"preserve-3d\"\n })}><div${attr_class(clsx(cn(\"viewport-content absolute top-1/2 left-1/2 origin-center\", { \"relative top-auto left-auto\": isRecording })))}${attr_style(\"\", {\n transform: isRecording ? \"none\" : viewportTransform(),\n \"transform-style\": \"preserve-3d\"\n })}>`);\n if (!isRecording) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"pointer-events-none absolute z-3 bg-background/60\"${attr_style(\"\", {\n width: \"20000px\",\n height: \"20000px\",\n left: \"-10000px\",\n top: \"-10000px\",\n \"clip-path\": `polygon(evenodd, 0 0, 0 20000px, 20000px 20000px, 20000px 0, 0 0, ${1e4 - projectState().width / 2}px ${1e4 - projectState().height / 2}px, ${1e4 - projectState().width / 2}px ${1e4 + projectState().height / 2}px, ${1e4 + projectState().width / 2}px ${1e4 + projectState().height / 2}px, ${1e4 + projectState().width / 2}px ${1e4 - projectState().height / 2}px, ${1e4 - projectState().width / 2}px ${1e4 - projectState().height / 2}px)`\n })}></div> <div class=\"pointer-events-none absolute z-4 rounded-2xl border border-foreground/10 shadow-lg\"${attr_style(\"\", {\n width: `${stringify(projectState().width)}px`,\n height: `${stringify(projectState().height)}px`,\n left: isRecording ? \"auto\" : `-${projectState().width / 2}px`,\n top: isRecording ? \"auto\" : `-${projectState().height / 2}px`\n })}></div> `);\n Streaming_border($$renderer3, {\n width: projectState().width,\n height: projectState().height,\n left: `-${stringify(projectState().width / 2)}px`,\n top: `-${stringify(projectState().height / 2)}px`,\n active: editorState().isAiStreaming\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n Project_viewport($$renderer3, {\n project: projectState(),\n currentTime: projectStore().currentTime,\n isPlaying: projectStore().isPlaying,\n globalVolume: projectStore().globalVolume,\n selectedLayerId: projectStore().selectedLayerId,\n disableSelection: projectStore().isRecording,\n getCachedFrame: projectStore().isRecording ? projectStore().getCachedFrame : void 0,\n isRecording: projectStore().isRecording,\n showWatermark: showWatermark(),\n class: cn(\"absolute z-2\", { \"relative! shadow-none!\": isRecording }),\n style: `${stringify(isRecording ? \"auto\" : `left: -${projectState().width / 2}px; top: -${projectState().height / 2}px;`)} ${stringify(isRecording ? `transform: scale(${recordingScale()})` : \"\")}`,\n children: ($$renderer4) => {\n {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (!isRecording) {\n $$renderer4.push(\"<!--[0-->\");\n Player_controls($$renderer4, {\n duration: projectState().duration,\n canvasContainer,\n get isPlaying() {\n return projectStore().isPlaying;\n },\n set isPlaying($$value) {\n projectStore().isPlaying = $$value;\n $$settled = false;\n },\n get currentTime() {\n return projectStore().currentTime;\n },\n set currentTime($$value) {\n projectStore().currentTime = $$value;\n $$settled = false;\n },\n get globalVolume() {\n return projectStore().globalVolume;\n },\n set globalVolume($$value) {\n projectStore().globalVolume = $$value;\n $$settled = false;\n }\n });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n }\n });\n $$renderer3.push(`<!----></div></div> `);\n if (!isRecording) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"opacity-100 transition-opacity duration-200 group-has-[.group\\\\/viewport:hover]/canvas:opacity-0\">`);\n Canvas_controls($$renderer3);\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction Keyboard_handler($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n });\n}\nfunction composeHandlers(...handlers) {\n return function(e) {\n for (const handler of handlers) {\n if (!handler)\n continue;\n if (e.defaultPrevented)\n return;\n if (typeof handler === \"function\") {\n handler.call(this, e);\n } else {\n handler.current?.call(this, e);\n }\n }\n };\n}\nconst NUMBER_CHAR_RE = /\\d/;\nconst STR_SPLITTERS = [\"-\", \"_\", \"/\", \".\"];\nfunction isUppercase(char = \"\") {\n if (NUMBER_CHAR_RE.test(char))\n return void 0;\n return char !== char.toLowerCase();\n}\nfunction splitByCase(str) {\n const parts = [];\n let buff = \"\";\n let previousUpper;\n let previousSplitter;\n for (const char of str) {\n const isSplitter = STR_SPLITTERS.includes(char);\n if (isSplitter === true) {\n parts.push(buff);\n buff = \"\";\n previousUpper = void 0;\n continue;\n }\n const isUpper = isUppercase(char);\n if (previousSplitter === false) {\n if (previousUpper === false && isUpper === true) {\n parts.push(buff);\n buff = char;\n previousUpper = isUpper;\n continue;\n }\n if (previousUpper === true && isUpper === false && buff.length > 1) {\n const lastChar = buff.at(-1);\n parts.push(buff.slice(0, Math.max(0, buff.length - 1)));\n buff = lastChar + char;\n previousUpper = isUpper;\n continue;\n }\n }\n buff += char;\n previousUpper = isUpper;\n previousSplitter = isSplitter;\n }\n parts.push(buff);\n return parts;\n}\nfunction pascalCase(str) {\n if (!str)\n return \"\";\n return splitByCase(str).map((p) => upperFirst(p)).join(\"\");\n}\nfunction camelCase(str) {\n return lowerFirst(pascalCase(str || \"\"));\n}\nfunction upperFirst(str) {\n return str ? str[0].toUpperCase() + str.slice(1) : \"\";\n}\nfunction lowerFirst(str) {\n return str ? str[0].toLowerCase() + str.slice(1) : \"\";\n}\nfunction cssToStyleObj(css) {\n if (!css)\n return {};\n const styleObj = {};\n function iterator(name, value) {\n if (name.startsWith(\"-moz-\") || name.startsWith(\"-webkit-\") || name.startsWith(\"-ms-\") || name.startsWith(\"-o-\")) {\n styleObj[pascalCase(name)] = value;\n return;\n }\n if (name.startsWith(\"--\")) {\n styleObj[name] = value;\n return;\n }\n styleObj[camelCase(name)] = value;\n }\n StyleToObject(css, iterator);\n return styleObj;\n}\nfunction executeCallbacks(...callbacks) {\n return (...args) => {\n for (const callback of callbacks) {\n if (typeof callback === \"function\") {\n callback(...args);\n }\n }\n };\n}\nfunction addEventListener(target, event, handler, options) {\n const events = Array.isArray(event) ? event : [event];\n events.forEach((_event) => target.addEventListener(_event, handler, options));\n return () => {\n events.forEach((_event) => target.removeEventListener(_event, handler, options));\n };\n}\nfunction isEventHandler(key2) {\n return EVENT_LIST_SET.has(key2);\n}\nfunction mergeProps(...args) {\n const result = { ...args[0] };\n for (let i = 1; i < args.length; i++) {\n const props = args[i];\n if (!props)\n continue;\n for (const key2 of Object.keys(props)) {\n const a = result[key2];\n const b = props[key2];\n const aIsFunction = typeof a === \"function\";\n const bIsFunction = typeof b === \"function\";\n if (aIsFunction && typeof bIsFunction && isEventHandler(key2)) {\n const aHandler = a;\n const bHandler = b;\n result[key2] = composeHandlers(aHandler, bHandler);\n } else if (aIsFunction && bIsFunction) {\n result[key2] = executeCallbacks(a, b);\n } else if (key2 === \"class\") {\n const aIsClassValue = isClassValue(a);\n const bIsClassValue = isClassValue(b);\n if (aIsClassValue && bIsClassValue) {\n result[key2] = clsx$1(a, b);\n } else if (aIsClassValue) {\n result[key2] = clsx$1(a);\n } else if (bIsClassValue) {\n result[key2] = clsx$1(b);\n }\n } else if (key2 === \"style\") {\n const aIsObject = typeof a === \"object\";\n const bIsObject = typeof b === \"object\";\n const aIsString = typeof a === \"string\";\n const bIsString = typeof b === \"string\";\n if (aIsObject && bIsObject) {\n result[key2] = { ...a, ...b };\n } else if (aIsObject && bIsString) {\n const parsedStyle = cssToStyleObj(b);\n result[key2] = { ...a, ...parsedStyle };\n } else if (aIsString && bIsObject) {\n const parsedStyle = cssToStyleObj(a);\n result[key2] = { ...parsedStyle, ...b };\n } else if (aIsString && bIsString) {\n const parsedStyleA = cssToStyleObj(a);\n const parsedStyleB = cssToStyleObj(b);\n result[key2] = { ...parsedStyleA, ...parsedStyleB };\n } else if (aIsObject) {\n result[key2] = a;\n } else if (bIsObject) {\n result[key2] = b;\n } else if (aIsString) {\n result[key2] = a;\n } else if (bIsString) {\n result[key2] = b;\n }\n } else {\n result[key2] = b !== void 0 ? b : a;\n }\n }\n for (const key2 of Object.getOwnPropertySymbols(props)) {\n const a = result[key2];\n const b = props[key2];\n result[key2] = b !== void 0 ? b : a;\n }\n }\n if (typeof result.style === \"object\") {\n result.style = styleToString(result.style).replaceAll(\"\\n\", \" \");\n }\n if (result.hidden !== true) {\n result.hidden = void 0;\n delete result.hidden;\n }\n if (result.disabled !== true) {\n result.disabled = void 0;\n delete result.disabled;\n }\n return result;\n}\nfunction afterTick(fn) {\n tick().then(fn);\n}\nconst DOCUMENT_NODE = 9;\nfunction isDocument(node) {\n return isObject(node) && node.nodeType === DOCUMENT_NODE;\n}\nfunction isWindow(node) {\n return isObject(node) && node.constructor?.name === \"VisualViewport\";\n}\nfunction getDocument(node) {\n if (isDocument(node))\n return node;\n if (isWindow(node))\n return node.document;\n return node?.ownerDocument ?? document;\n}\nfunction getActiveElement(rootNode) {\n let activeElement = rootNode.activeElement;\n while (activeElement?.shadowRoot) {\n const el = activeElement.shadowRoot.activeElement;\n if (el === activeElement)\n break;\n else\n activeElement = el;\n }\n return activeElement;\n}\nclass DOMContext {\n element;\n #root = derived(() => {\n if (!this.element.current) return document;\n const rootNode = this.element.current.getRootNode() ?? document;\n return rootNode;\n });\n get root() {\n return this.#root();\n }\n set root($$value) {\n return this.#root($$value);\n }\n constructor(element2) {\n if (typeof element2 === \"function\") {\n this.element = box.with(element2);\n } else {\n this.element = element2;\n }\n }\n getDocument = () => {\n return getDocument(this.root);\n };\n getWindow = () => {\n return this.getDocument().defaultView ?? window;\n };\n getActiveElement = () => {\n return getActiveElement(this.root);\n };\n isActiveElement = (node) => {\n return node === this.getActiveElement();\n };\n getElementById(id) {\n return this.root.getElementById(id);\n }\n querySelector = (selector) => {\n if (!this.root) return null;\n return this.root.querySelector(selector);\n };\n querySelectorAll = (selector) => {\n if (!this.root) return [];\n return this.root.querySelectorAll(selector);\n };\n setTimeout = (callback, delay) => {\n return this.getWindow().setTimeout(callback, delay);\n };\n clearTimeout = (timeoutId) => {\n return this.getWindow().clearTimeout(timeoutId);\n };\n}\nfunction attachRef(ref, onChange) {\n return {\n [createAttachmentKey()]: (node) => {\n if (box.isBox(ref)) {\n ref.current = node;\n run(() => onChange?.(node));\n return () => {\n if (\"isConnected\" in node && node.isConnected)\n return;\n ref.current = null;\n };\n }\n ref(node);\n run(() => onChange?.(node));\n return () => {\n if (\"isConnected\" in node && node.isConnected)\n return;\n ref(null);\n };\n }\n };\n}\nfunction calculateAriaValues({ layout, panesArray, pivotIndices }) {\n let currentMinSize = 0;\n let currentMaxSize = 100;\n let totalMinSize = 0;\n let totalMaxSize = 0;\n const firstIndex = pivotIndices[0];\n for (let i = 0; i < panesArray.length; i++) {\n const constraints = panesArray[i].constraints;\n const { maxSize = 100, minSize = 0 } = constraints;\n if (i === firstIndex) {\n currentMinSize = minSize;\n currentMaxSize = maxSize;\n } else {\n totalMinSize += minSize;\n totalMaxSize += maxSize;\n }\n }\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize);\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize);\n const valueNow = layout[firstIndex];\n return {\n valueMax,\n valueMin,\n valueNow\n };\n}\nfunction assert(expectedCondition, message = \"Assertion failed!\") {\n if (!expectedCondition) {\n console.error(message);\n throw new Error(message);\n }\n}\nconst LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100;\nconst PRECISION = 10;\nfunction areNumbersAlmostEqual(actual, expected, fractionDigits = PRECISION) {\n return compareNumbersWithTolerance(actual, expected, fractionDigits) === 0;\n}\nfunction compareNumbersWithTolerance(actual, expected, fractionDigits = PRECISION) {\n const roundedActual = roundTo(actual, fractionDigits);\n const roundedExpected = roundTo(expected, fractionDigits);\n return Math.sign(roundedActual - roundedExpected);\n}\nfunction areArraysEqual(arrA, arrB) {\n if (arrA.length !== arrB.length)\n return false;\n for (let index = 0; index < arrA.length; index++) {\n if (arrA[index] !== arrB[index])\n return false;\n }\n return true;\n}\nfunction roundTo(value, decimals) {\n return Number.parseFloat(value.toFixed(decimals));\n}\nconst isBrowser = typeof document !== \"undefined\";\nfunction isHTMLElement(element2) {\n return element2 instanceof HTMLElement;\n}\nfunction isKeyDown(event) {\n return event.type === \"keydown\";\n}\nfunction isMouseEvent(event) {\n return event.type.startsWith(\"mouse\");\n}\nfunction isTouchEvent(event) {\n return event.type.startsWith(\"touch\");\n}\nfunction resizePane({ paneConstraints: paneConstraintsArray, paneIndex, initialSize }) {\n const paneConstraints = paneConstraintsArray[paneIndex];\n assert(paneConstraints != null, \"Pane constraints should not be null.\");\n const { collapsedSize = 0, collapsible, maxSize = 100, minSize = 0 } = paneConstraints;\n let newSize = initialSize;\n if (compareNumbersWithTolerance(newSize, minSize) < 0) {\n newSize = getAdjustedSizeForCollapsible(newSize, collapsible, collapsedSize, minSize);\n }\n newSize = Math.min(maxSize, newSize);\n return Number.parseFloat(newSize.toFixed(PRECISION));\n}\nfunction getAdjustedSizeForCollapsible(size2, collapsible, collapsedSize, minSize) {\n if (!collapsible)\n return minSize;\n const halfwayPoint = (collapsedSize + minSize) / 2;\n return compareNumbersWithTolerance(size2, halfwayPoint) < 0 ? collapsedSize : minSize;\n}\nfunction noop() {\n}\nfunction updateResizeHandleAriaValues({ groupId, layout, panesArray, domContext }) {\n const resizeHandleElements = getResizeHandleElementsForGroup(groupId, domContext);\n for (let index = 0; index < panesArray.length - 1; index++) {\n const { valueMax, valueMin, valueNow } = calculateAriaValues({\n layout,\n panesArray,\n pivotIndices: [index, index + 1]\n });\n const resizeHandleEl = resizeHandleElements[index];\n if (isHTMLElement(resizeHandleEl)) {\n const paneData = panesArray[index];\n resizeHandleEl.setAttribute(\"aria-controls\", paneData.opts.id.current);\n resizeHandleEl.setAttribute(\"aria-valuemax\", `${Math.round(valueMax)}`);\n resizeHandleEl.setAttribute(\"aria-valuemin\", `${Math.round(valueMin)}`);\n resizeHandleEl.setAttribute(\"aria-valuenow\", valueNow != null ? `${Math.round(valueNow)}` : \"\");\n }\n }\n return () => {\n for (const el of resizeHandleElements) {\n el.removeAttribute(\"aria-controls\");\n el.removeAttribute(\"aria-valuemax\");\n el.removeAttribute(\"aria-valuemin\");\n el.removeAttribute(\"aria-valuenow\");\n }\n };\n}\nfunction getResizeHandleElementsForGroup(groupId, domContext) {\n if (!isBrowser)\n return [];\n return Array.from(domContext.querySelectorAll(`[data-pane-resizer-id][data-pane-group-id=\"${groupId}\"]`));\n}\nfunction getResizeHandleElementIndex({ groupId, id, domContext }) {\n if (!isBrowser)\n return null;\n const handles = getResizeHandleElementsForGroup(groupId, domContext);\n const index = handles.findIndex((handle) => handle.getAttribute(\"data-pane-resizer-id\") === id);\n return index ?? null;\n}\nfunction getPivotIndices({ groupId, dragHandleId, domContext }) {\n const index = getResizeHandleElementIndex({\n groupId,\n id: dragHandleId,\n domContext\n });\n return index != null ? [index, index + 1] : [-1, -1];\n}\nfunction paneDataHelper(panesArray, pane, layout) {\n const paneConstraintsArray = panesArray.map((paneData) => paneData.constraints);\n const paneIndex = findPaneDataIndex(panesArray, pane);\n const paneConstraints = paneConstraintsArray[paneIndex];\n const isLastPane = paneIndex === panesArray.length - 1;\n const pivotIndices = isLastPane ? [paneIndex - 1, paneIndex] : [paneIndex, paneIndex + 1];\n const paneSize = layout[paneIndex];\n return {\n ...paneConstraints,\n paneSize,\n pivotIndices\n };\n}\nfunction findPaneDataIndex(panesArray, pane) {\n return panesArray.findIndex((prevPaneData) => prevPaneData.opts.id.current === pane.opts.id.current);\n}\nfunction callPaneCallbacks(panesArray, layout, paneIdToLastNotifiedSizeMap) {\n for (let index = 0; index < layout.length; index++) {\n const size2 = layout[index];\n const paneData = panesArray[index];\n assert(paneData);\n const { collapsedSize = 0, collapsible } = paneData.constraints;\n const lastNotifiedSize = paneIdToLastNotifiedSizeMap[paneData.opts.id.current];\n if (!(lastNotifiedSize == null || size2 !== lastNotifiedSize))\n continue;\n paneIdToLastNotifiedSizeMap[paneData.opts.id.current] = size2;\n const { onCollapse, onExpand, onResize } = paneData.callbacks;\n onResize?.(size2, lastNotifiedSize);\n if (collapsible && (onCollapse || onExpand)) {\n if (onExpand && (lastNotifiedSize == null || lastNotifiedSize === collapsedSize) && size2 !== collapsedSize) {\n onExpand();\n }\n if (onCollapse && (lastNotifiedSize == null || lastNotifiedSize !== collapsedSize) && size2 === collapsedSize) {\n onCollapse();\n }\n }\n }\n}\nfunction getUnsafeDefaultLayout({ panesArray }) {\n const layout = Array(panesArray.length);\n const paneConstraintsArray = panesArray.map((paneData) => paneData.constraints);\n let numPanesWithSizes = 0;\n let remainingSize = 100;\n for (let index = 0; index < panesArray.length; index++) {\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n const { defaultSize } = paneConstraints;\n if (defaultSize != null) {\n numPanesWithSizes++;\n layout[index] = defaultSize;\n remainingSize -= defaultSize;\n }\n }\n for (let index = 0; index < panesArray.length; index++) {\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n const { defaultSize } = paneConstraints;\n if (defaultSize != null) {\n continue;\n }\n const numRemainingPanes = panesArray.length - numPanesWithSizes;\n const size2 = remainingSize / numRemainingPanes;\n numPanesWithSizes++;\n layout[index] = size2;\n remainingSize -= size2;\n }\n return layout;\n}\nfunction validatePaneGroupLayout({ layout: prevLayout, paneConstraints }) {\n const nextLayout = [...prevLayout];\n const nextLayoutTotalSize = nextLayout.reduce((accumulated, current) => accumulated + current, 0);\n if (nextLayout.length !== paneConstraints.length) {\n throw new Error(`Invalid ${paneConstraints.length} pane layout: ${nextLayout.map((size2) => `${size2}%`).join(\", \")}`);\n } else if (!areNumbersAlmostEqual(nextLayoutTotalSize, 100)) {\n for (let index = 0; index < paneConstraints.length; index++) {\n const unsafeSize = nextLayout[index];\n assert(unsafeSize != null);\n const safeSize = 100 / nextLayoutTotalSize * unsafeSize;\n nextLayout[index] = safeSize;\n }\n }\n let remainingSize = 0;\n for (let index = 0; index < paneConstraints.length; index++) {\n const unsafeSize = nextLayout[index];\n assert(unsafeSize != null);\n const safeSize = resizePane({\n paneConstraints,\n paneIndex: index,\n initialSize: unsafeSize\n });\n if (unsafeSize !== safeSize) {\n remainingSize += unsafeSize - safeSize;\n nextLayout[index] = safeSize;\n }\n }\n if (!areNumbersAlmostEqual(remainingSize, 0)) {\n for (let index = 0; index < paneConstraints.length; index++) {\n const prevSize = nextLayout[index];\n assert(prevSize != null);\n const unsafeSize = prevSize + remainingSize;\n const safeSize = resizePane({\n paneConstraints,\n paneIndex: index,\n initialSize: unsafeSize\n });\n if (prevSize !== safeSize) {\n remainingSize -= safeSize - prevSize;\n nextLayout[index] = safeSize;\n if (areNumbersAlmostEqual(remainingSize, 0)) {\n break;\n }\n }\n }\n }\n return nextLayout;\n}\nfunction getPaneGroupElement(id, domContext) {\n if (!isBrowser)\n return null;\n const element2 = domContext.querySelector(`[data-pane-group][data-pane-group-id=\"${id}\"]`);\n if (element2)\n return element2;\n return null;\n}\nfunction getResizeHandleElement(id, domContext) {\n if (!isBrowser)\n return null;\n const element2 = domContext.querySelector(`[data-pane-resizer-id=\"${id}\"]`);\n if (element2)\n return element2;\n return null;\n}\nfunction getDragOffsetPercentage({ event, dragHandleId, dir, initialDragState, domContext }) {\n const isHorizontal = dir === \"horizontal\";\n const handleElement = getResizeHandleElement(dragHandleId, domContext);\n assert(handleElement);\n const groupId = handleElement.getAttribute(\"data-pane-group-id\");\n assert(groupId);\n const { initialCursorPosition } = initialDragState;\n const cursorPosition = getResizeEventCursorPosition(dir, event);\n const groupElement = getPaneGroupElement(groupId, domContext);\n assert(groupElement);\n const groupRect = groupElement.getBoundingClientRect();\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height;\n const offsetPixels = cursorPosition - initialCursorPosition;\n const offsetPercentage = offsetPixels / groupSizeInPixels * 100;\n return offsetPercentage;\n}\nfunction getDeltaPercentage({ event, dragHandleId, dir, initialDragState, keyboardResizeBy, domContext }) {\n if (isKeyDown(event)) {\n const isHorizontal = dir === \"horizontal\";\n let delta = 0;\n if (event.shiftKey) {\n delta = 100;\n } else if (keyboardResizeBy != null) {\n delta = keyboardResizeBy;\n } else {\n delta = 10;\n }\n let movement = 0;\n switch (event.key) {\n case \"ArrowDown\":\n movement = isHorizontal ? 0 : delta;\n break;\n case \"ArrowLeft\":\n movement = isHorizontal ? -delta : 0;\n break;\n case \"ArrowRight\":\n movement = isHorizontal ? delta : 0;\n break;\n case \"ArrowUp\":\n movement = isHorizontal ? 0 : -delta;\n break;\n case \"End\":\n movement = 100;\n break;\n case \"Home\":\n movement = -100;\n break;\n }\n return movement;\n } else {\n if (initialDragState == null)\n return 0;\n return getDragOffsetPercentage({\n event,\n dragHandleId,\n dir,\n initialDragState,\n domContext\n });\n }\n}\nfunction getResizeEventCursorPosition(dir, e) {\n const isHorizontal = dir === \"horizontal\";\n if (isMouseEvent(e)) {\n return isHorizontal ? e.clientX : e.clientY;\n } else if (isTouchEvent(e)) {\n const firstTouch = e.touches[0];\n assert(firstTouch);\n return isHorizontal ? firstTouch.screenX : firstTouch.screenY;\n } else {\n throw new Error(`Unsupported event type \"${e.type}\"`);\n }\n}\nfunction getResizeHandlePaneIds({ groupId, handleId, panesArray, domContext }) {\n const handle = getResizeHandleElement(handleId, domContext);\n const handles = getResizeHandleElementsForGroup(groupId, domContext);\n const index = handle ? handles.indexOf(handle) : -1;\n const idBefore = panesArray[index]?.opts.id.current ?? null;\n const idAfter = panesArray[index + 1]?.opts.id.current ?? null;\n return [idBefore, idAfter];\n}\nclass Context {\n #name;\n #key;\n /**\n * @param name The name of the context.\n * This is used for generating the context key and error messages.\n */\n constructor(name) {\n this.#name = name;\n this.#key = Symbol(name);\n }\n /**\n * The key used to get and set the context.\n *\n * It is not recommended to use this value directly.\n * Instead, use the methods provided by this class.\n */\n get key() {\n return this.#key;\n }\n /**\n * Checks whether this has been set in the context of a parent component.\n *\n * Must be called during component initialisation.\n */\n exists() {\n return hasContext(this.#key);\n }\n /**\n * Retrieves the context that belongs to the closest parent component.\n *\n * Must be called during component initialisation.\n *\n * @throws An error if the context does not exist.\n */\n get() {\n const context = getContext$1(this.#key);\n if (context === void 0) {\n throw new Error(`Context \"${this.#name}\" not found`);\n }\n return context;\n }\n /**\n * Retrieves the context that belongs to the closest parent component,\n * or the given fallback value if the context does not exist.\n *\n * Must be called during component initialisation.\n */\n getOr(fallback) {\n const context = getContext$1(this.#key);\n if (context === void 0) {\n return fallback;\n }\n return context;\n }\n /**\n * Associates the given value with the current component and returns it.\n *\n * Must be called during component initialisation.\n */\n set(context) {\n return setContext(this.#key, context);\n }\n}\nfunction adjustLayoutByDelta({ delta, layout: prevLayout, paneConstraints: paneConstraintsArray, pivotIndices, trigger }) {\n if (areNumbersAlmostEqual(delta, 0))\n return prevLayout;\n const nextLayout = [...prevLayout];\n const [firstPivotIndex, secondPivotIndex] = pivotIndices;\n let deltaApplied = 0;\n {\n if (trigger === \"keyboard\") {\n {\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex;\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n if (paneConstraints.collapsible) {\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const paneConstraints2 = paneConstraintsArray[index];\n assert(paneConstraints2);\n const { collapsedSize = 0, minSize = 0 } = paneConstraints2;\n if (areNumbersAlmostEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize;\n if (compareNumbersWithTolerance(localDelta, Math.abs(delta)) > 0) {\n delta = delta < 0 ? 0 - localDelta : localDelta;\n }\n }\n }\n }\n {\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex;\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n const { collapsible } = paneConstraints;\n if (collapsible) {\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const paneConstraints2 = paneConstraintsArray[index];\n assert(paneConstraints2);\n const { collapsedSize = 0, minSize = 0 } = paneConstraints2;\n if (areNumbersAlmostEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize;\n if (compareNumbersWithTolerance(localDelta, Math.abs(delta)) > 0) {\n delta = delta < 0 ? 0 - localDelta : localDelta;\n }\n }\n }\n }\n }\n }\n {\n const increment = delta < 0 ? 1 : -1;\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex;\n let maxAvailableDelta = 0;\n while (true) {\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const maxSafeSize = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: index,\n initialSize: 100\n });\n const delta2 = maxSafeSize - prevSize;\n maxAvailableDelta += delta2;\n index += increment;\n if (index < 0 || index >= paneConstraintsArray.length) {\n break;\n }\n }\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta));\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta;\n }\n {\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex;\n let index = pivotIndex;\n while (index >= 0 && index < paneConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied);\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const unsafeSize = prevSize - deltaRemaining;\n const safeSize = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: index,\n initialSize: unsafeSize\n });\n if (!areNumbersAlmostEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize;\n nextLayout[index] = safeSize;\n if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), void 0, {\n numeric: true\n }) >= 0) {\n break;\n }\n }\n if (delta < 0) {\n index--;\n } else {\n index++;\n }\n }\n }\n if (areNumbersAlmostEqual(deltaApplied, 0)) {\n return prevLayout;\n }\n {\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex;\n const prevSize = prevLayout[pivotIndex];\n assert(prevSize != null);\n const unsafeSize = prevSize + deltaApplied;\n const safeSize = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: pivotIndex,\n initialSize: unsafeSize\n });\n nextLayout[pivotIndex] = safeSize;\n if (!areNumbersAlmostEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize;\n const pivotIndex2 = delta < 0 ? secondPivotIndex : firstPivotIndex;\n let index = pivotIndex2;\n while (index >= 0 && index < paneConstraintsArray.length) {\n const prevSize2 = nextLayout[index];\n assert(prevSize2 != null);\n const unsafeSize2 = prevSize2 + deltaRemaining;\n const safeSize2 = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: index,\n initialSize: unsafeSize2\n });\n if (!areNumbersAlmostEqual(prevSize2, safeSize2)) {\n deltaRemaining -= safeSize2 - prevSize2;\n nextLayout[index] = safeSize2;\n }\n if (areNumbersAlmostEqual(deltaRemaining, 0))\n break;\n delta > 0 ? index-- : index++;\n }\n }\n }\n const totalSize = nextLayout.reduce((total, size2) => size2 + total, 0);\n if (!areNumbersAlmostEqual(totalSize, 100))\n return prevLayout;\n return nextLayout;\n}\nlet currentState = null;\nlet element = null;\nfunction getCursorStyle(state) {\n switch (state) {\n case \"horizontal\":\n return \"ew-resize\";\n case \"horizontal-max\":\n return \"w-resize\";\n case \"horizontal-min\":\n return \"e-resize\";\n case \"vertical\":\n return \"ns-resize\";\n case \"vertical-max\":\n return \"n-resize\";\n case \"vertical-min\":\n return \"s-resize\";\n }\n}\nfunction resetGlobalCursorStyle() {\n if (element === null)\n return;\n document.head.removeChild(element);\n currentState = null;\n element = null;\n}\nfunction setGlobalCursorStyle(state, doc) {\n if (currentState === state)\n return;\n currentState = state;\n const style = getCursorStyle(state);\n if (element === null) {\n element = doc.createElement(\"style\");\n doc.head.appendChild(element);\n }\n element.innerHTML = `*{cursor: ${style}!important;}`;\n}\nfunction computePaneFlexBoxStyle({ defaultSize, dragState, layout, panesArray, paneIndex, precision = 3 }) {\n const size2 = layout[paneIndex];\n let flexGrow;\n if (size2 == null) {\n flexGrow = defaultSize ?? \"1\";\n } else if (panesArray.length === 1) {\n flexGrow = \"1\";\n } else {\n flexGrow = size2.toPrecision(precision);\n }\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n // Without this, pane sizes may be unintentionally overridden by their content\n overflow: \"hidden\",\n // Disable pointer events inside of a pane during resize\n // This avoid edge cases like nested iframes\n pointerEvents: dragState !== null ? \"none\" : void 0\n };\n}\nfunction initializeStorage(storageObject) {\n try {\n if (typeof localStorage === \"undefined\") {\n throw new TypeError(\"localStorage is not supported in this environment\");\n }\n storageObject.getItem = (name) => localStorage.getItem(name);\n storageObject.setItem = (name, value) => localStorage.setItem(name, value);\n } catch (err) {\n console.error(err);\n storageObject.getItem = () => null;\n storageObject.setItem = () => {\n };\n }\n}\nfunction getPaneGroupKey(autoSaveId) {\n return `paneforge:${autoSaveId}`;\n}\nfunction getPaneKey(panes) {\n const sortedPaneIds = panes.map((pane) => {\n return pane.opts.order.current ? `${pane.opts.order.current}:${JSON.stringify(pane.constraints)}` : JSON.stringify(pane.constraints);\n }).sort().join(\",\");\n return sortedPaneIds;\n}\nfunction loadSerializedPaneGroupState(autoSaveId, storage) {\n try {\n const paneGroupKey = getPaneGroupKey(autoSaveId);\n const serialized = storage.getItem(paneGroupKey);\n const parsed = JSON.parse(serialized || \"\");\n if (typeof parsed === \"object\" && parsed !== null) {\n return parsed;\n }\n } catch {\n }\n return null;\n}\nfunction loadPaneGroupState(autoSaveId, panesArray, storage) {\n const state = loadSerializedPaneGroupState(autoSaveId, storage) || {};\n const paneKey = getPaneKey(panesArray);\n return state[paneKey] || null;\n}\nfunction savePaneGroupState(autoSaveId, panesArray, paneSizesBeforeCollapse, sizes, storage) {\n const paneGroupKey = getPaneGroupKey(autoSaveId);\n const paneKey = getPaneKey(panesArray);\n const state = loadSerializedPaneGroupState(autoSaveId, storage) || {};\n state[paneKey] = {\n expandToSizes: Object.fromEntries(paneSizesBeforeCollapse.entries()),\n layout: sizes\n };\n try {\n storage.setItem(paneGroupKey, JSON.stringify(state));\n } catch (error) {\n console.error(error);\n }\n}\nconst debounceMap = {};\nfunction debounce(callback, durationMs = 10) {\n let timeoutId = null;\n const callable = (...args) => {\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n callback(...args);\n }, durationMs);\n };\n return callable;\n}\nfunction updateStorageValues({ autoSaveId, layout, storage, panesArray, paneSizeBeforeCollapse }) {\n if (layout.length === 0 || layout.length !== panesArray.length)\n return;\n let debouncedSave = debounceMap[autoSaveId];\n if (debouncedSave == null) {\n debouncedSave = debounce(savePaneGroupState, LOCAL_STORAGE_DEBOUNCE_INTERVAL);\n debounceMap[autoSaveId] = debouncedSave;\n }\n const clonedPanesArray = [...panesArray];\n const clonedPaneSizesBeforeCollapse = new Map(paneSizeBeforeCollapse);\n debouncedSave(autoSaveId, clonedPanesArray, clonedPaneSizesBeforeCollapse, layout, storage);\n}\nconst defaultStorage = {\n getItem: (name) => {\n initializeStorage(defaultStorage);\n return defaultStorage.getItem(name);\n },\n setItem: (name, value) => {\n initializeStorage(defaultStorage);\n defaultStorage.setItem(name, value);\n }\n};\nconst PaneGroupContext = new Context(\"PaneGroup\");\nclass PaneGroupState {\n static create(opts) {\n return PaneGroupContext.set(new PaneGroupState(opts));\n }\n opts;\n attachment;\n domContext;\n dragState = null;\n layout = [];\n panesArray = [];\n panesArrayChanged = false;\n paneIdToLastNotifiedSizeMap = {};\n paneSizeBeforeCollapseMap = /* @__PURE__ */ new Map();\n prevDelta = 0;\n constructor(opts) {\n this.opts = opts;\n this.attachment = attachRef(this.opts.ref);\n this.domContext = new DOMContext(this.opts.ref);\n watch(\n [\n () => this.opts.id.current,\n () => this.layout,\n () => this.panesArray\n ],\n () => {\n return updateResizeHandleAriaValues({\n groupId: this.opts.id.current,\n layout: this.layout,\n panesArray: this.panesArray,\n domContext: this.domContext\n });\n }\n );\n watch(\n [\n () => this.opts.autoSaveId.current,\n () => this.layout,\n () => this.opts.storage.current\n ],\n () => {\n if (!this.opts.autoSaveId.current) return;\n updateStorageValues({\n autoSaveId: this.opts.autoSaveId.current,\n layout: this.layout,\n storage: this.opts.storage.current,\n panesArray: this.panesArray,\n paneSizeBeforeCollapse: this.paneSizeBeforeCollapseMap\n });\n }\n );\n watch(() => this.panesArrayChanged, () => {\n if (!this.panesArrayChanged) return;\n this.panesArrayChanged = false;\n const prevLayout = this.layout;\n let unsafeLayout = null;\n if (this.opts.autoSaveId.current) {\n const state = loadPaneGroupState(this.opts.autoSaveId.current, this.panesArray, this.opts.storage.current);\n if (state) {\n this.paneSizeBeforeCollapseMap = new Map(Object.entries(state.expandToSizes));\n unsafeLayout = state.layout;\n }\n }\n if (unsafeLayout == null) {\n unsafeLayout = getUnsafeDefaultLayout({ panesArray: this.panesArray });\n }\n const nextLayout = validatePaneGroupLayout({\n layout: unsafeLayout,\n paneConstraints: this.panesArray.map((paneData) => paneData.constraints)\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.layout = nextLayout;\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(this.panesArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n });\n }\n setLayout = (newLayout) => {\n this.layout = newLayout;\n };\n registerResizeHandle = (dragHandleId) => {\n return (event) => {\n event.preventDefault();\n const direction = this.opts.direction.current;\n const dragState = this.dragState;\n const groupId = this.opts.id.current;\n const keyboardResizeBy = this.opts.keyboardResizeBy.current;\n const prevLayout = this.layout;\n const paneDataArray = this.panesArray;\n const { initialLayout } = dragState ?? {};\n const doc = this.domContext.getDocument();\n const pivotIndices = getPivotIndices({ groupId, dragHandleId, domContext: this.domContext });\n let delta = getDeltaPercentage({\n event,\n dragHandleId,\n dir: direction,\n initialDragState: dragState,\n keyboardResizeBy,\n domContext: this.domContext\n });\n if (delta === 0) return;\n const isHorizontal = direction === \"horizontal\";\n if (doc.dir === \"rtl\" && isHorizontal) {\n delta = -delta;\n }\n const paneConstraints = paneDataArray.map((paneData) => paneData.constraints);\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: initialLayout ?? prevLayout,\n paneConstraints,\n pivotIndices,\n trigger: isKeyDown(event) ? \"keyboard\" : \"mouse-or-touch\"\n });\n const layoutChanged = !areArraysEqual(prevLayout, nextLayout);\n if (isMouseEvent(event) || isTouchEvent(event)) {\n const prevDelta = this.prevDelta;\n if (prevDelta !== delta) {\n this.prevDelta = delta;\n if (!layoutChanged) {\n if (isHorizontal) {\n setGlobalCursorStyle(delta < 0 ? \"horizontal-min\" : \"horizontal-max\", doc);\n } else {\n setGlobalCursorStyle(delta < 0 ? \"vertical-min\" : \"vertical-max\", doc);\n }\n } else {\n setGlobalCursorStyle(isHorizontal ? \"horizontal\" : \"vertical\", doc);\n }\n }\n }\n if (layoutChanged) {\n this.setLayout(nextLayout);\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(paneDataArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n }\n };\n };\n resizePane = (paneState, unsafePaneSize) => {\n const prevLayout = this.layout;\n const panesArray = this.panesArray;\n const paneConstraintsArr = panesArray.map((paneData) => paneData.constraints);\n const { paneSize, pivotIndices } = paneDataHelper(panesArray, paneState, prevLayout);\n assert(paneSize != null);\n const isLastPane = findPaneDataIndex(panesArray, paneState) === panesArray.length - 1;\n const delta = isLastPane ? paneSize - unsafePaneSize : unsafePaneSize - paneSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n paneConstraints: paneConstraintsArr,\n pivotIndices,\n trigger: \"imperative-api\"\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.setLayout(nextLayout);\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(panesArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n };\n startDragging = (dragHandleId, e) => {\n const direction = this.opts.direction.current;\n const layout = this.layout;\n const handleElement = getResizeHandleElement(dragHandleId, this.domContext);\n assert(handleElement);\n const initialCursorPosition = getResizeEventCursorPosition(direction, e);\n this.dragState = {\n dragHandleId,\n dragHandleRect: handleElement.getBoundingClientRect(),\n initialCursorPosition,\n initialLayout: layout\n };\n };\n stopDragging = () => {\n resetGlobalCursorStyle();\n this.dragState = null;\n };\n isPaneCollapsed = (pane) => {\n const paneDataArray = this.panesArray;\n const layout = this.layout;\n const { collapsedSize = 0, collapsible, paneSize } = paneDataHelper(paneDataArray, pane, layout);\n if (typeof paneSize !== \"number\" || typeof collapsedSize !== \"number\") return false;\n return collapsible === true && areNumbersAlmostEqual(paneSize, collapsedSize);\n };\n expandPane = (pane) => {\n const prevLayout = this.layout;\n const paneDataArray = this.panesArray;\n if (!pane.constraints.collapsible) return;\n const paneConstraintsArray = paneDataArray.map((paneData) => paneData.constraints);\n const { collapsedSize = 0, paneSize, minSize = 0, pivotIndices } = paneDataHelper(paneDataArray, pane, prevLayout);\n if (paneSize !== collapsedSize) return;\n const prevPaneSize = this.paneSizeBeforeCollapseMap.get(pane.opts.id.current);\n const baseSize = prevPaneSize != null && prevPaneSize >= minSize ? prevPaneSize : minSize;\n const isLastPane = findPaneDataIndex(paneDataArray, pane) === paneDataArray.length - 1;\n const delta = isLastPane ? paneSize - baseSize : baseSize - paneSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n paneConstraints: paneConstraintsArray,\n pivotIndices,\n trigger: \"imperative-api\"\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.setLayout(nextLayout);\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(paneDataArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n };\n collapsePane = (pane) => {\n const prevLayout = this.layout;\n const paneDataArray = this.panesArray;\n if (!pane.constraints.collapsible) return;\n const paneConstraintsArray = paneDataArray.map((paneData) => paneData.constraints);\n const { collapsedSize = 0, paneSize, pivotIndices } = paneDataHelper(paneDataArray, pane, prevLayout);\n assert(paneSize != null);\n if (paneSize === collapsedSize) return;\n this.paneSizeBeforeCollapseMap.set(pane.opts.id.current, paneSize);\n const isLastPane = findPaneDataIndex(paneDataArray, pane) === paneDataArray.length - 1;\n const delta = isLastPane ? paneSize - collapsedSize : collapsedSize - paneSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n paneConstraints: paneConstraintsArray,\n pivotIndices,\n trigger: \"imperative-api\"\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.layout = nextLayout;\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(paneDataArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n };\n getPaneSize = (pane) => {\n return paneDataHelper(this.panesArray, pane, this.layout).paneSize;\n };\n getPaneStyle = (pane, defaultSize) => {\n const paneDataArray = this.panesArray;\n const layout = this.layout;\n const dragState = this.dragState;\n const paneIndex = findPaneDataIndex(paneDataArray, pane);\n return computePaneFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panesArray: paneDataArray,\n paneIndex\n });\n };\n isPaneExpanded = (pane) => {\n const { collapsedSize = 0, collapsible, paneSize } = paneDataHelper(this.panesArray, pane, this.layout);\n return !collapsible || paneSize > collapsedSize;\n };\n registerPane = (pane) => {\n const newPaneDataArray = [...this.panesArray, pane];\n newPaneDataArray.sort((paneA, paneB) => {\n const orderA = paneA.opts.order.current;\n const orderB = paneB.opts.order.current;\n if (orderA == null && orderB == null) {\n return 0;\n } else if (orderA == null) {\n return -1;\n } else if (orderB == null) {\n return 1;\n } else {\n return orderA - orderB;\n }\n });\n this.panesArray = newPaneDataArray;\n this.panesArrayChanged = true;\n return () => {\n const paneDataArray = [...this.panesArray];\n const index = findPaneDataIndex(this.panesArray, pane);\n if (index < 0) return;\n paneDataArray.splice(index, 1);\n this.panesArray = paneDataArray;\n delete this.paneIdToLastNotifiedSizeMap[pane.opts.id.current];\n this.panesArrayChanged = true;\n };\n };\n #setResizeHandlerEventListeners = () => {\n const groupId = this.opts.id.current;\n const handles = getResizeHandleElementsForGroup(groupId, this.domContext);\n const paneDataArray = this.panesArray;\n const unsubHandlers = handles.map((handle) => {\n const handleId = handle.getAttribute(\"data-pane-resizer-id\");\n if (!handleId) return noop;\n const [idBefore, idAfter] = getResizeHandlePaneIds({\n groupId,\n handleId,\n panesArray: paneDataArray,\n domContext: this.domContext\n });\n if (idBefore == null || idAfter == null) return noop;\n const onKeydown = (e) => {\n if (e.defaultPrevented || e.key !== \"Enter\") return;\n e.preventDefault();\n const paneDataArray2 = this.panesArray;\n const index = paneDataArray2.findIndex((paneData2) => paneData2.opts.id.current === idBefore);\n if (index < 0) return;\n const paneData = paneDataArray2[index];\n assert(paneData);\n const layout = this.layout;\n const size2 = layout[index];\n const { collapsedSize = 0, collapsible, minSize = 0 } = paneData.constraints;\n if (!(size2 != null && collapsible)) return;\n const nextLayout = adjustLayoutByDelta({\n delta: areNumbersAlmostEqual(size2, collapsedSize) ? minSize - size2 : collapsedSize - size2,\n layout,\n paneConstraints: paneDataArray2.map((paneData2) => paneData2.constraints),\n pivotIndices: getPivotIndices({ groupId, dragHandleId: handleId, domContext: this.domContext }),\n trigger: \"keyboard\"\n });\n if (layout !== nextLayout) {\n this.layout = nextLayout;\n }\n };\n const unsubListener = addEventListener(handle, \"keydown\", onKeydown);\n return () => {\n unsubListener();\n };\n });\n return () => {\n for (const unsub of unsubHandlers) {\n unsub();\n }\n };\n };\n #props = derived(() => ({\n id: this.opts.id.current,\n \"data-pane-group\": \"\",\n \"data-direction\": this.opts.direction.current,\n \"data-pane-group-id\": this.opts.id.current,\n style: {\n display: \"flex\",\n flexDirection: this.opts.direction.current === \"horizontal\" ? \"row\" : \"column\",\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\"\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nconst resizeKeys = [\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"End\",\n \"Home\"\n];\nclass PaneResizerState {\n static create(opts) {\n return new PaneResizerState(opts, PaneGroupContext.get());\n }\n opts;\n #group;\n attachment;\n domContext;\n #isDragging = derived(() => this.#group.dragState?.dragHandleId === this.opts.id.current);\n #isFocused = false;\n resizeHandler = null;\n constructor(opts, group) {\n this.opts = opts;\n this.#group = group;\n this.attachment = attachRef(this.opts.ref);\n this.domContext = new DOMContext(this.opts.ref);\n }\n #startDragging = (e) => {\n e.preventDefault();\n if (this.opts.disabled.current) return;\n this.#group.startDragging(this.opts.id.current, e);\n this.opts.onDraggingChange.current(true);\n };\n #stopDraggingAndBlur = () => {\n const node = this.opts.ref.current;\n if (!node) return;\n node.blur();\n this.#group.stopDragging();\n this.opts.onDraggingChange.current(false);\n };\n #onkeydown = (e) => {\n if (this.opts.disabled.current || !this.resizeHandler || e.defaultPrevented) return;\n if (resizeKeys.includes(e.key)) {\n e.preventDefault();\n this.resizeHandler(e);\n return;\n }\n if (e.key !== \"F6\") return;\n e.preventDefault();\n const handles = getResizeHandleElementsForGroup(this.#group.opts.id.current, this.domContext);\n const index = getResizeHandleElementIndex({\n groupId: this.#group.opts.id.current,\n id: this.opts.id.current,\n domContext: this.domContext\n });\n if (index === null) return;\n let nextIndex = 0;\n if (e.shiftKey) {\n if (index > 0) {\n nextIndex = index - 1;\n } else {\n nextIndex = handles.length - 1;\n }\n } else {\n if (index + 1 < handles.length) {\n nextIndex = index + 1;\n } else {\n nextIndex = 0;\n }\n }\n const nextHandle = handles[nextIndex];\n nextHandle.focus();\n };\n #onblur = () => {\n this.#isFocused = false;\n };\n #onfocus = () => {\n this.#isFocused = true;\n };\n #onmousedown = (e) => {\n this.#startDragging(e);\n };\n #onmouseup = () => {\n this.#stopDraggingAndBlur();\n };\n #ontouchcancel = () => {\n this.#stopDraggingAndBlur();\n };\n #ontouchend = () => {\n this.#stopDraggingAndBlur();\n };\n #ontouchstart = (e) => {\n this.#startDragging(e);\n };\n #props = derived(() => ({\n id: this.opts.id.current,\n role: \"separator\",\n \"data-direction\": this.#group.opts.direction.current,\n \"data-pane-group-id\": this.#group.opts.id.current,\n \"data-active\": this.#isDragging() ? \"pointer\" : this.#isFocused ? \"keyboard\" : void 0,\n \"data-enabled\": !this.opts.disabled.current,\n \"data-pane-resizer-id\": this.opts.id.current,\n \"data-pane-resizer\": \"\",\n tabIndex: this.opts.tabIndex.current,\n style: {\n cursor: getCursorStyle(this.#group.opts.direction.current),\n touchAction: \"none\",\n userSelect: \"none\",\n \"-webkit-user-select\": \"none\",\n \"-webkit-touch-callout\": \"none\"\n },\n onkeydown: this.#onkeydown,\n onblur: this.#onblur,\n onfocus: this.#onfocus,\n onmousedown: this.#onmousedown,\n onmouseup: this.#onmouseup,\n ontouchcancel: this.#ontouchcancel,\n ontouchend: this.#ontouchend,\n ontouchstart: this.#ontouchstart,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass PaneState {\n static create(opts) {\n return new PaneState(opts, PaneGroupContext.get());\n }\n opts;\n group;\n attachment;\n domContext;\n #paneTransitionState = \"\";\n #callbacks = derived(() => ({\n onCollapse: this.opts.onCollapse.current,\n onExpand: this.opts.onExpand.current,\n onResize: this.opts.onResize.current\n }));\n get callbacks() {\n return this.#callbacks();\n }\n set callbacks($$value) {\n return this.#callbacks($$value);\n }\n #constraints = derived(() => ({\n collapsedSize: this.opts.collapsedSize.current,\n collapsible: this.opts.collapsible.current,\n defaultSize: this.opts.defaultSize.current,\n maxSize: this.opts.maxSize.current,\n minSize: this.opts.minSize.current\n }));\n get constraints() {\n return this.#constraints();\n }\n set constraints($$value) {\n return this.#constraints($$value);\n }\n #handleTransition = (state) => {\n this.#paneTransitionState = state;\n afterTick(() => {\n if (this.opts.ref.current) {\n const element2 = this.opts.ref.current;\n const computedStyle = getComputedStyle(element2);\n const hasTransition = computedStyle.transitionDuration !== \"0s\";\n if (!hasTransition) {\n this.#paneTransitionState = \"\";\n return;\n }\n const handleTransitionEnd = (event) => {\n if (event.propertyName === \"flex-grow\") {\n this.#paneTransitionState = \"\";\n element2.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n element2.addEventListener(\"transitionend\", handleTransitionEnd);\n } else {\n this.#paneTransitionState = \"\";\n }\n });\n };\n pane = {\n collapse: () => {\n this.#handleTransition(\"collapsing\");\n this.group.collapsePane(this);\n },\n expand: () => {\n this.#handleTransition(\"expanding\");\n this.group.expandPane(this);\n },\n getSize: () => this.group.getPaneSize(this),\n isCollapsed: () => this.group.isPaneCollapsed(this),\n isExpanded: () => this.group.isPaneExpanded(this),\n resize: (size2) => this.group.resizePane(this, size2),\n getId: () => this.opts.id.current\n };\n constructor(opts, group) {\n this.opts = opts;\n this.group = group;\n this.attachment = attachRef(this.opts.ref);\n this.domContext = new DOMContext(this.opts.ref);\n watch(() => snapshot(this.constraints), () => {\n this.group.panesArrayChanged = true;\n });\n }\n #isCollapsed = derived(() => this.group.isPaneCollapsed(this));\n #paneState = derived(() => this.#paneTransitionState !== \"\" ? this.#paneTransitionState : this.#isCollapsed() ? \"collapsed\" : \"expanded\");\n #props = derived(() => ({\n id: this.opts.id.current,\n style: this.group.getPaneStyle(this, this.opts.defaultSize.current),\n \"data-pane\": \"\",\n \"data-pane-id\": this.opts.id.current,\n \"data-pane-group-id\": this.group.opts.id.current,\n \"data-collapsed\": this.#isCollapsed() ? \"\" : void 0,\n \"data-expanded\": this.#isCollapsed() ? void 0 : \"\",\n \"data-pane-state\": this.#paneState(),\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction Pane_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n autoSaveId = null,\n direction,\n id = uid,\n keyboardResizeBy = null,\n onLayoutChange = noop,\n storage = defaultStorage,\n ref = null,\n child,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const paneGroupState = PaneGroupState.create({\n id: box.with(() => id ?? uid),\n ref: box.with(() => ref, (v) => ref = v),\n autoSaveId: box.with(() => autoSaveId),\n direction: box.with(() => direction),\n keyboardResizeBy: box.with(() => keyboardResizeBy),\n onLayout: box.with(() => onLayoutChange),\n storage: box.with(() => storage)\n });\n const getLayout = () => paneGroupState.layout;\n const setLayout = paneGroupState.setLayout;\n const getId = () => paneGroupState.opts.id.current;\n const mergedProps = derived(() => mergeProps(restProps, paneGroupState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref, getLayout, setLayout, getId });\n });\n}\nfunction Pane($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = uid,\n ref = null,\n collapsedSize,\n collapsible,\n defaultSize,\n maxSize,\n minSize,\n onCollapse = noop,\n onExpand = noop,\n onResize = noop,\n order,\n child,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const paneState = PaneState.create({\n id: box.with(() => id),\n ref: box.with(() => ref, (v) => ref = v),\n collapsedSize: box.with(() => collapsedSize),\n collapsible: box.with(() => collapsible),\n defaultSize: box.with(() => defaultSize),\n maxSize: box.with(() => maxSize),\n minSize: box.with(() => minSize),\n onCollapse: box.with(() => onCollapse),\n onExpand: box.with(() => onExpand),\n onResize: box.with(() => onResize),\n order: box.with(() => order)\n });\n const collapse = paneState.pane.collapse;\n const expand = paneState.pane.expand;\n const getSize = paneState.pane.getSize;\n const isCollapsed = paneState.pane.isCollapsed;\n const isExpanded = paneState.pane.isExpanded;\n const resize = paneState.pane.resize;\n const getId = paneState.pane.getId;\n const mergedProps = derived(() => mergeProps(restProps, paneState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, {\n ref,\n collapse,\n expand,\n getSize,\n isCollapsed,\n isExpanded,\n resize,\n getId\n });\n });\n}\nfunction Pane_resizer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = uid,\n ref = null,\n disabled = false,\n onDraggingChange = noop,\n tabindex = 0,\n child,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const resizerState = PaneResizerState.create({\n id: box.with(() => id),\n ref: box.with(() => ref, (v) => ref = v),\n disabled: box.with(() => disabled),\n onDraggingChange: box.with(() => onDraggingChange),\n tabIndex: box.with(() => tabindex)\n });\n const mergedProps = derived(() => mergeProps(restProps, resizerState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Resizable_handle($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n withHandle = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Pane_resizer) {\n $$renderer3.push(\"<!--[-->\");\n Pane_resizer($$renderer3, spread_props([\n {\n \"data-slot\": \"resizable-handle\",\n class: cn(\"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-hidden data-[direction=vertical]:h-px data-[direction=vertical]:w-full data-[direction=vertical]:after:left-0 data-[direction=vertical]:after:h-1 data-[direction=vertical]:after:w-full data-[direction=vertical]:after:translate-x-0 data-[direction=vertical]:after:-translate-y-1/2 [&[data-direction=vertical]>div]:rotate-90\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (withHandle) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-border\">`);\n Grip_vertical($$renderer4, { class: \"size-2.5\" });\n $$renderer4.push(`<!----></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Resizable_pane_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n this: paneGroup = void 0,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n if (Pane_group) {\n $$renderer2.push(\"<!--[-->\");\n Pane_group($$renderer2, spread_props([\n {\n \"data-slot\": \"resizable-pane-group\",\n class: cn(\"flex h-full w-full data-[direction=vertical]:flex-col\", className)\n },\n restProps\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n bind_props($$props, { ref, this: paneGroup });\n });\n}\nclass Chat extends AbstractChat {\n constructor(init) {\n super({ ...init, state: new SvelteChatState(init.messages) });\n }\n}\nclass SvelteChatState {\n messages;\n status = \"ready\";\n error = void 0;\n constructor(messages = []) {\n this.messages = messages;\n }\n setMessages = (messages) => {\n this.messages = messages;\n };\n pushMessage = (message) => {\n this.messages.push(message);\n };\n popMessage = () => {\n this.messages.pop();\n };\n replaceMessage = (index, message) => {\n this.messages[index] = message;\n };\n snapshot = (thing) => snapshot(thing);\n}\nfunction getContext(projectStore) {\n return { project: projectStore.state };\n}\nfunction executeCreateLayer(projectStore, input) {\n const ctx = getContext(projectStore);\n const result = mutateCreateLayer(ctx, input);\n if (result.output.success && result.output.layerId) {\n projectStore.selectLayer(result.output.layerId);\n }\n return result.output;\n}\nfunction executeEditLayer(projectStore, input) {\n return mutateEditLayer(getContext(projectStore), input);\n}\nfunction executeRemoveLayer(projectStore, input) {\n const ctx = getContext(projectStore);\n const result = mutateRemoveLayer(ctx, input);\n if (result.success) {\n if (projectStore.selectedLayerId && ctx.project.layers.find((l) => l.id === projectStore.selectedLayerId) === void 0) {\n projectStore.unselectLayer();\n }\n }\n return result;\n}\nfunction executeConfigureProject(projectStore, input) {\n return mutateConfigureProject(getContext(projectStore), input);\n}\nfunction executeGroupLayers(projectStore, input) {\n const result = mutateGroupLayers(getContext(projectStore), input);\n if (result.success && result.groupId) {\n projectStore.selectLayer(result.groupId);\n }\n return result;\n}\nfunction executeUngroupLayers(projectStore, input) {\n const result = mutateUngroupLayers(getContext(projectStore), input);\n if (result.success) {\n projectStore.unselectLayer();\n }\n return result;\n}\nasync function executeComposeFromMedia(projectStore, input) {\n const ctx = getContext(projectStore);\n const layer = ctx.project.layers.find((l) => l.id === input.layerId || l.name.toLowerCase() === input.layerId.toLowerCase());\n if (!layer) {\n return {\n success: false,\n message: `Layer \"${input.layerId}\" not found`,\n error: \"Layer not found\"\n };\n }\n const fileKey = layer.props.fileKey;\n if (!fileKey) {\n return {\n success: false,\n message: `Layer \"${layer.name}\" has no media file associated`,\n error: \"No fileKey on layer\"\n };\n }\n const annotationResult = await getMediaAnnotation({ storageKey: fileKey });\n if (!annotationResult.success) {\n return {\n success: false,\n message: \"Failed to fetch media annotation\",\n error: annotationResult.error\n };\n }\n const annotation = annotationResult.data.annotation;\n if (!annotation) {\n return {\n success: false,\n message: `Media has not been analyzed yet. Use analyze_media first on layer \"${layer.name}\".`,\n error: \"No annotation available\"\n };\n }\n const result = mutateComposeFromMedia(ctx, input, annotation);\n if (result.success && result.layerIds && result.layerIds.length > 0) {\n projectStore.selectLayer(result.layerIds[0]);\n }\n return result;\n}\nasync function executeRunAction(projectStore, input) {\n const action = getAction(input.actionId);\n if (!action) {\n return {\n success: false,\n message: `Unknown action: ${input.actionId}`,\n error: \"Unknown action\"\n };\n }\n const ctx = getContext(projectStore);\n const needsSourceLayer = action.sourceLayerTypes.length > 0;\n let layer;\n if (needsSourceLayer) {\n if (!input.layerId) {\n return {\n success: false,\n message: `Action \"${input.actionId}\" requires a source layer (layerId)`,\n error: \"layerId required\"\n };\n }\n layer = ctx.project.layers.find((l) => l.id === input.layerId || l.name.toLowerCase() === input.layerId.toLowerCase());\n if (!layer) {\n return {\n success: false,\n message: `Layer \"${input.layerId}\" not found`,\n error: \"Layer not found\"\n };\n }\n }\n try {\n const actionResult = await runRegisteredAction({\n action,\n input: createFromSchema(action.inputSchema, input.params ?? {}),\n sourceLayer: layer,\n project: ctx.project\n });\n applyActionResult(projectStore, actionResult);\n return {\n success: true,\n message: `Action \"${action.label}\" completed. Added ${actionResult.layersToAdd?.length ?? 0} layer(s), updated ${actionResult.layersToUpdate?.length ?? 0} layer(s).`,\n layersAdded: (actionResult.layersToAdd ?? []).map((l) => ({ id: l.layer.id, name: l.layer.name, type: l.layer.type })),\n layersUpdated: (actionResult.layersToUpdate ?? []).map((u) => u.id)\n };\n } catch (e) {\n const message = e instanceof Error ? e.message : String(e);\n return {\n success: false,\n message: `Action failed: ${message}`,\n error: message\n };\n }\n}\nfunction formatBytes(bytes) {\n if (bytes === 0) return \"0 B\";\n const k = 1024;\n const sizes = [\"B\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(1))} ${sizes[i]}`;\n}\nfunction Tool_part($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n function isOutputError(t) {\n return typeof t === \"object\" && t !== null && t.state === \"output-error\";\n }\n const { tool } = $$props;\n const output = derived(() => tool.output);\n const hasOutput = derived(() => output() && typeof output() === \"object\");\n const success = derived(() => hasOutput() && output().success === true);\n const message = derived(() => hasOutput() && typeof output().message === \"string\" ? output().message : void 0);\n const isError = derived(() => tool.state === \"output-error\");\n const errorText = derived(() => isOutputError(tool) ? tool.errorText : void 0);\n $$renderer2.push(`<details class=\"rounded border bg-muted/30 px-2 py-0.5 text-[10px]\"><summary class=\"flex cursor-pointer items-center gap-1.5 font-mono text-muted-foreground hover:text-foreground\"><span>`);\n if (success()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`✅`);\n } else if (isError() || hasOutput() && output().success === false) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`❌`);\n } else if (tool.state === \"input-streaming\") {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`⏳`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`🔧`);\n }\n $$renderer2.push(`<!--]--></span> <span>${escape_html(tool.type.replace(\"tool-\", \"\"))}</span> `);\n if (message()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"ml-1 truncate text-foreground/60\">${escape_html(message())}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></summary> <div class=\"mt-1.5 mb-1 space-y-1 font-mono\">`);\n if (errorText()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded bg-destructive/10 p-1.5 text-destructive\"><div class=\"mb-0.5 font-semibold\">Error:</div> <pre class=\"text-[9px] leading-tight whitespace-pre-wrap\">${escape_html(errorText())}</pre></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (tool.input) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded bg-muted/50 p-1.5\"><div class=\"mb-0.5 font-semibold text-foreground/70\">Input:</div> <pre class=\"text-[9px] leading-tight whitespace-pre-wrap\">${escape_html(JSON.stringify(tool.input, null, 2))}</pre></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (hasOutput()) {\n $$renderer2.push(\"<!--[0-->\");\n const otherFields = Object.fromEntries(Object.entries(output()).filter(([key2]) => key2 !== \"success\" && key2 !== \"message\"));\n if (Object.keys(otherFields).length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded bg-muted/50 p-1.5\"><div class=\"mb-0.5 font-semibold text-foreground/70\">Details:</div> <pre class=\"text-[9px] leading-tight whitespace-pre-wrap\">${escape_html(JSON.stringify(otherFields, null, 2))}</pre></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></details>`);\n });\n}\nfunction Reasoning_part($$renderer, $$props) {\n const { reasoning } = $$props;\n $$renderer.push(`<details class=\"rounded border bg-muted/30 text-xs\"><summary class=\"cursor-pointer px-2 py-1 font-mono text-muted-foreground hover:text-foreground\">💭 Reasoning <span class=\"ml-1 text-[10px]\">(click to expand)</span></summary> <div class=\"px-2 pb-2\"><pre class=\"font-mono text-[10px] leading-tight whitespace-pre-wrap\">${escape_html(reasoning)}</pre></div></details>`);\n}\nconst regex = /[\\0-\\x1F!-,\\.\\/:-@\\[-\\^`\\{-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u060F\\u061B-\\u061F\\u066A-\\u066D\\u06D4\\u06DD\\u06DE\\u06E9\\u06FD\\u06FE\\u0700-\\u070F\\u074B\\u074C\\u07B2-\\u07BF\\u07F6-\\u07F9\\u07FB\\u07FC\\u07FE\\u07FF\\u082E-\\u083F\\u085C-\\u085F\\u086B-\\u089F\\u08B5\\u08C8-\\u08D2\\u08E2\\u0964\\u0965\\u0970\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09F2-\\u09FB\\u09FD\\u09FF\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF0-\\u0AF8\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B54\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B70\\u0B72-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BF0-\\u0BFF\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C7F\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0CFF\\u0D0D\\u0D11\\u0D45\\u0D49\\u0D4F-\\u0D53\\u0D58-\\u0D5E\\u0D64\\u0D65\\u0D70-\\u0D79\\u0D80\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0\\u0DF1\\u0DF4-\\u0E00\\u0E3B-\\u0E3F\\u0E4F\\u0E5A-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F17\\u0F1A-\\u0F1F\\u0F2A-\\u0F34\\u0F36\\u0F38\\u0F3A-\\u0F3D\\u0F48\\u0F6D-\\u0F70\\u0F85\\u0F98\\u0FBD-\\u0FC5\\u0FC7-\\u0FFF\\u104A-\\u104F\\u109E\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u1360-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16ED\\u16F9-\\u16FF\\u170D\\u1715-\\u171F\\u1735-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17D4-\\u17D6\\u17D8-\\u17DB\\u17DE\\u17DF\\u17EA-\\u180A\\u180E\\u180F\\u181A-\\u181F\\u1879-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u1945\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DA-\\u19FF\\u1A1C-\\u1A1F\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1AA6\\u1AA8-\\u1AAF\\u1AC1-\\u1AFF\\u1B4C-\\u1B4F\\u1B5A-\\u1B6A\\u1B74-\\u1B7F\\u1BF4-\\u1BFF\\u1C38-\\u1C3F\\u1C4A-\\u1C4C\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CCF\\u1CD3\\u1CFB-\\u1CFF\\u1DFA\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u203E\\u2041-\\u2053\\u2055-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u20CF\\u20F1-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u215F\\u2189-\\u24B5\\u24EA-\\u2BFF\\u2C2F\\u2C5F\\u2CE5-\\u2CEA\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E00-\\u2E2E\\u2E30-\\u3004\\u3008-\\u3020\\u3030\\u3036\\u3037\\u303D-\\u3040\\u3097\\u3098\\u309B\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\u9FFD-\\u9FFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA62C-\\uA63F\\uA673\\uA67E\\uA6F2-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7C0\\uA7C1\\uA7CB-\\uA7F4\\uA828-\\uA82B\\uA82D-\\uA83F\\uA874-\\uA87F\\uA8C6-\\uA8CF\\uA8DA-\\uA8DF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA954-\\uA95F\\uA97D-\\uA97F\\uA9C1-\\uA9CE\\uA9DA-\\uA9DF\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A-\\uAA5F\\uAA77-\\uAA79\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAF0\\uAAF1\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABEB\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFDFF\\uFE10-\\uFE1F\\uFE30-\\uFE32\\uFE35-\\uFE4C\\uFE50-\\uFE6F\\uFE75\\uFEFD-\\uFF0F\\uFF1A-\\uFF20\\uFF3B-\\uFF3E\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDD3F\\uDD75-\\uDDFC\\uDDFE-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEDF\\uDEE1-\\uDEFF\\uDF20-\\uDF2C\\uDF4B-\\uDF4F\\uDF7B-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0\\uDFD6-\\uDFFF]|\\uD801[\\uDC9E\\uDC9F\\uDCAA-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDDFF\\uDF37-\\uDF3F\\uDF56-\\uDF5F\\uDF68-\\uDFFF]|\\uD802[\\uDC06\\uDC07\\uDC09\\uDC36\\uDC39-\\uDC3B\\uDC3D\\uDC3E\\uDC56-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE04\\uDE07-\\uDE0B\\uDE14\\uDE18\\uDE36\\uDE37\\uDE3B-\\uDE3E\\uDE40-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE7-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD28-\\uDD2F\\uDD3A-\\uDE7F\\uDEAA\\uDEAD-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF51-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC47-\\uDC65\\uDC70-\\uDC7E\\uDCBB-\\uDCCF\\uDCE9-\\uDCEF\\uDCFA-\\uDCFF\\uDD35\\uDD40-\\uDD43\\uDD48-\\uDD4F\\uDD74\\uDD75\\uDD77-\\uDD7F\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE38-\\uDE3D\\uDE3F-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEEB-\\uDEEF\\uDEFA-\\uDEFF\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A\\uDF45\\uDF46\\uDF49\\uDF4A\\uDF4E\\uDF4F\\uDF51-\\uDF56\\uDF58-\\uDF5C\\uDF64\\uDF65\\uDF6D-\\uDF6F\\uDF75-\\uDFFF]|\\uD805[\\uDC4B-\\uDC4F\\uDC5A-\\uDC5D\\uDC62-\\uDC7F\\uDCC6\\uDCC8-\\uDCCF\\uDCDA-\\uDD7F\\uDDB6\\uDDB7\\uDDC1-\\uDDD7\\uDDDE-\\uDDFF\\uDE41-\\uDE43\\uDE45-\\uDE4F\\uDE5A-\\uDE7F\\uDEB9-\\uDEBF\\uDECA-\\uDEFF\\uDF1B\\uDF1C\\uDF2C-\\uDF2F\\uDF3A-\\uDFFF]|\\uD806[\\uDC3B-\\uDC9F\\uDCEA-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD36\\uDD39\\uDD3A\\uDD44-\\uDD4F\\uDD5A-\\uDD9F\\uDDA8\\uDDA9\\uDDD8\\uDDD9\\uDDE2\\uDDE5-\\uDDFF\\uDE3F-\\uDE46\\uDE48-\\uDE4F\\uDE9A-\\uDE9C\\uDE9E-\\uDEBF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC37\\uDC41-\\uDC4F\\uDC5A-\\uDC71\\uDC90\\uDC91\\uDCA8\\uDCB7-\\uDCFF\\uDD07\\uDD0A\\uDD37-\\uDD39\\uDD3B\\uDD3E\\uDD48-\\uDD4F\\uDD5A-\\uDD5F\\uDD66\\uDD69\\uDD8F\\uDD92\\uDD99-\\uDD9F\\uDDAA-\\uDEDF\\uDEF7-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC6F-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80B\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82B\\uD82D\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83D\\uD83F\\uD87B-\\uD87D\\uD87F\\uD885-\\uDB3F\\uDB41-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80D[\\uDC2F-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F\\uDE6A-\\uDECF\\uDEEE\\uDEEF\\uDEF5-\\uDEFF\\uDF37-\\uDF3F\\uDF44-\\uDF4F\\uDF5A-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4E\\uDF88-\\uDF8E\\uDFA0-\\uDFDF\\uDFE2\\uDFE5-\\uDFEF\\uDFF2-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82C[\\uDD1F-\\uDD4F\\uDD53-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\uDC9C\\uDC9F-\\uDFFF]|\\uD834[\\uDC00-\\uDD64\\uDD6A-\\uDD6C\\uDD73-\\uDD7A\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDE41\\uDE45-\\uDFFF]|\\uD835[\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC\\uDFCD]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85-\\uDE9A\\uDEA0\\uDEB0-\\uDFFF]|\\uD838[\\uDC07\\uDC19\\uDC1A\\uDC22\\uDC25\\uDC2B-\\uDCFF\\uDD2D-\\uDD2F\\uDD3E\\uDD3F\\uDD4A-\\uDD4D\\uDD4F-\\uDEBF\\uDEFA-\\uDFFF]|\\uD83A[\\uDCC5-\\uDCCF\\uDCD7-\\uDCFF\\uDD4C-\\uDD4F\\uDD5A-\\uDFFF]|\\uD83B[\\uDC00-\\uDDFF\\uDE04\\uDE20\\uDE23\\uDE25\\uDE26\\uDE28\\uDE33\\uDE38\\uDE3A\\uDE3C-\\uDE41\\uDE43-\\uDE46\\uDE48\\uDE4A\\uDE4C\\uDE50\\uDE53\\uDE55\\uDE56\\uDE58\\uDE5A\\uDE5C\\uDE5E\\uDE60\\uDE63\\uDE65\\uDE66\\uDE6B\\uDE73\\uDE78\\uDE7D\\uDE7F\\uDE8A\\uDE9C-\\uDEA0\\uDEA4\\uDEAA\\uDEBC-\\uDFFF]|\\uD83C[\\uDC00-\\uDD2F\\uDD4A-\\uDD4F\\uDD6A-\\uDD6F\\uDD8A-\\uDFFF]|\\uD83E[\\uDC00-\\uDFEF\\uDFFA-\\uDFFF]|\\uD869[\\uDEDE-\\uDEFF]|\\uD86D[\\uDF35-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDFFF]|\\uDB40[\\uDC00-\\uDCFF\\uDDF0-\\uDFFF]/g;\nconst own = Object.hasOwnProperty;\nclass BananaSlug {\n /**\n * Create a new slug class.\n */\n constructor() {\n this.occurrences;\n this.reset();\n }\n /**\n * Generate a unique slug.\n *\n * Tracks previously generated slugs: repeated calls with the same value\n * will result in different slugs.\n * Use the `slug` function to get same slugs.\n *\n * @param {string} value\n * String of text to slugify\n * @param {boolean} [maintainCase=false]\n * Keep the current case, otherwise make all lowercase\n * @return {string}\n * A unique slug string\n */\n slug(value, maintainCase) {\n const self = this;\n let result = slug(value, maintainCase === true);\n const originalSlug = result;\n while (own.call(self.occurrences, result)) {\n self.occurrences[originalSlug]++;\n result = originalSlug + \"-\" + self.occurrences[originalSlug];\n }\n self.occurrences[result] = 0;\n return result;\n }\n /**\n * Reset - Forget all previous slugs\n *\n * @return void\n */\n reset() {\n this.occurrences = /* @__PURE__ */ Object.create(null);\n }\n}\nfunction slug(value, maintainCase) {\n if (typeof value !== \"string\") return \"\";\n if (!maintainCase) value = value.toLowerCase();\n return value.replace(regex, \"\").replace(/ /g, \"-\");\n}\nfunction supressWarnings() {\n const origWarn = console.warn;\n console.warn = (message) => {\n if (message.includes(\"unknown prop\")) return;\n if (message.includes(\"unexpected slot\")) return;\n origWarn(message);\n };\n}\nfunction Parser_1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n type = void 0,\n tokens = void 0,\n header = void 0,\n rows = void 0,\n ordered = false,\n renderers,\n $$slots,\n $$events,\n ...rest\n } = $$props;\n supressWarnings();\n if (!type) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(tokens);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let token = each_array[$$index];\n Parser_1($$renderer2, spread_props([token, { renderers }]));\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n if (renderers[type]) {\n $$renderer2.push(\"<!--[0-->\");\n if (type === \"table\") {\n $$renderer2.push(\"<!--[0-->\");\n if (renderers.table) {\n $$renderer2.push(\"<!--[-->\");\n renderers.table($$renderer2, {\n children: ($$renderer3) => {\n if (renderers.tablehead) {\n $$renderer3.push(\"<!--[-->\");\n renderers.tablehead($$renderer3, {\n children: ($$renderer4) => {\n if (renderers.tablerow) {\n $$renderer4.push(\"<!--[-->\");\n renderers.tablerow($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(header);\n for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n let headerItem = each_array_1[i];\n if (renderers.tablecell) {\n $$renderer5.push(\"<!--[-->\");\n renderers.tablecell($$renderer5, {\n header: true,\n align: rest.align[i] || \"center\",\n children: ($$renderer6) => {\n Parser_1($$renderer6, { tokens: headerItem.tokens, renderers });\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (renderers.tablebody) {\n $$renderer3.push(\"<!--[-->\");\n renderers.tablebody($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array_2 = ensure_array_like(rows);\n for (let $$index_3 = 0, $$length = each_array_2.length; $$index_3 < $$length; $$index_3++) {\n let row = each_array_2[$$index_3];\n if (renderers.tablerow) {\n $$renderer4.push(\"<!--[-->\");\n renderers.tablerow($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array_3 = ensure_array_like(row);\n for (let i = 0, $$length2 = each_array_3.length; i < $$length2; i++) {\n let cells = each_array_3[i];\n if (renderers.tablecell) {\n $$renderer5.push(\"<!--[-->\");\n renderers.tablecell($$renderer5, {\n header: false,\n align: rest.align[i] || \"center\",\n children: ($$renderer6) => {\n Parser_1($$renderer6, { tokens: cells.tokens, renderers });\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (type === \"list\") {\n $$renderer2.push(\"<!--[1-->\");\n if (ordered) {\n $$renderer2.push(\"<!--[0-->\");\n if (renderers.list) {\n $$renderer2.push(\"<!--[-->\");\n renderers.list($$renderer2, spread_props([\n { ordered },\n rest,\n {\n children: ($$renderer3) => {\n $$renderer3.push(`<!--[-->`);\n const each_array_4 = ensure_array_like(rest.items);\n for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n let item = each_array_4[$$index_4];\n const SvelteComponent = renderers.orderedlistitem || renderers.listitem;\n if (SvelteComponent) {\n $$renderer3.push(\"<!--[-->\");\n SvelteComponent($$renderer3, spread_props([\n item,\n {\n children: ($$renderer4) => {\n Parser_1($$renderer4, { tokens: item.tokens, renderers });\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n if (renderers.list) {\n $$renderer2.push(\"<!--[-->\");\n renderers.list($$renderer2, spread_props([\n { ordered },\n rest,\n {\n children: ($$renderer3) => {\n $$renderer3.push(`<!--[-->`);\n const each_array_5 = ensure_array_like(rest.items);\n for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n let item = each_array_5[$$index_5];\n const SvelteComponent_1 = renderers.unorderedlistitem || renderers.listitem;\n if (SvelteComponent_1) {\n $$renderer3.push(\"<!--[-->\");\n SvelteComponent_1($$renderer3, spread_props([\n item,\n {\n children: ($$renderer4) => {\n Parser_1($$renderer4, { tokens: item.tokens, renderers });\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n const SvelteComponent_2 = renderers[type];\n if (SvelteComponent_2) {\n $$renderer2.push(\"<!--[-->\");\n SvelteComponent_2($$renderer2, spread_props([\n rest,\n {\n children: ($$renderer3) => {\n if (tokens) {\n $$renderer3.push(\"<!--[0-->\");\n Parser_1($$renderer3, { tokens, renderers });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`${escape_html(rest.raw)}`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Blockquote($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<blockquote>`);\n children?.($$renderer);\n $$renderer.push(`<!----></blockquote>`);\n}\nfunction Br($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<br/>`);\n children?.($$renderer);\n $$renderer.push(`<!---->`);\n}\nfunction Code($$renderer, $$props) {\n let { lang, text } = $$props;\n $$renderer.push(`<pre${attr_class(clsx(lang))}><code>${escape_html(text)}</code></pre>`);\n}\nfunction Codespan($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { raw } = $$props;\n $$renderer2.push(`<code>${escape_html(raw.replace(/`/g, \"\"))}</code>`);\n });\n}\nfunction Del($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<del>`);\n children?.($$renderer);\n $$renderer.push(`<!----></del>`);\n}\nfunction Em($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<em>`);\n children?.($$renderer);\n $$renderer.push(`<!----></em>`);\n}\nconst key = {};\nfunction Heading($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { depth, raw, text, children } = $$props;\n const { slug: slug2, getOptions } = getContext$1(key);\n const options = getOptions();\n let id = derived(() => options.headerIds ? options.headerPrefix + slug2(text) : void 0);\n if (depth === 1) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<h1${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h1>`);\n } else if (depth === 2) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<h2${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h2>`);\n } else if (depth === 3) {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<h3${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h3>`);\n } else if (depth === 4) {\n $$renderer2.push(\"<!--[3-->\");\n $$renderer2.push(`<h4${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h4>`);\n } else if (depth === 5) {\n $$renderer2.push(\"<!--[4-->\");\n $$renderer2.push(`<h5${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h5>`);\n } else if (depth === 6) {\n $$renderer2.push(\"<!--[5-->\");\n $$renderer2.push(`<h6${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h6>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`${escape_html(raw)}`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Hr($$renderer) {\n $$renderer.push(`<hr/>`);\n}\nfunction Html($$renderer, $$props) {\n let { text } = $$props;\n $$renderer.push(`${html(text)}`);\n}\nfunction Image$1($$renderer, $$props) {\n let { href = \"\", title = void 0, text = \"\" } = $$props;\n $$renderer.push(`<img${attr(\"src\", href)}${attr(\"title\", title)}${attr(\"alt\", text)}/>`);\n}\nfunction Link($$renderer, $$props) {\n let { href = \"\", title = void 0, children } = $$props;\n $$renderer.push(`<a${attr(\"href\", href)}${attr(\"title\", title)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></a>`);\n}\nfunction List($$renderer, $$props) {\n let { ordered, start, children } = $$props;\n if (ordered) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<ol${attr(\"start\", start)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></ol>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<ul>`);\n children?.($$renderer);\n $$renderer.push(`<!----></ul>`);\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction ListItem($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<li>`);\n children?.($$renderer);\n $$renderer.push(`<!----></li>`);\n}\nfunction Paragraph($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<p>`);\n children?.($$renderer);\n $$renderer.push(`<!----></p>`);\n}\nfunction Strong($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<strong>`);\n children?.($$renderer);\n $$renderer.push(`<!----></strong>`);\n}\nfunction Table($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<table>`);\n children?.($$renderer);\n $$renderer.push(`<!----></table>`);\n}\nfunction TableBody($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<tbody>`);\n children?.($$renderer);\n $$renderer.push(`<!----></tbody>`);\n}\nfunction TableCell($$renderer, $$props) {\n let { header, align, children } = $$props;\n if (header) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<th${attr(\"align\", align)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></th>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<td${attr(\"align\", align)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></td>`);\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction TableHead($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<thead>`);\n children?.($$renderer);\n $$renderer.push(`<!----></thead>`);\n}\nfunction TableRow($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<tr>`);\n children?.($$renderer);\n $$renderer.push(`<!----></tr>`);\n}\nfunction Text($$renderer, $$props) {\n let { children } = $$props;\n children?.($$renderer);\n $$renderer.push(`<!---->`);\n}\nconst defaultRenderers = {\n heading: Heading,\n paragraph: Paragraph,\n text: Text,\n image: Image$1,\n link: Link,\n em: Em,\n strong: Strong,\n codespan: Codespan,\n del: Del,\n table: Table,\n tablehead: TableHead,\n tablebody: TableBody,\n tablerow: TableRow,\n tablecell: TableCell,\n list: List,\n orderedlistitem: null,\n unorderedlistitem: null,\n listitem: ListItem,\n hr: Hr,\n html: Html,\n blockquote: Blockquote,\n code: Code,\n br: Br\n};\nconst defaultOptions = {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: \"\",\n highlight: null,\n langPrefix: \"language-\",\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n xhtml: false\n};\nfunction SvelteMarkdown($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { source = [], renderers = {}, options = {} } = $$props;\n let tokens = void 0;\n let slugger = derived(() => source ? new BananaSlug() : void 0);\n let combinedOptions = derived(() => ({ ...defaultOptions, ...options }));\n let combinedRenderers = derived(() => ({ ...defaultRenderers, ...renderers }));\n setContext(key, {\n slug: (val) => slugger() ? slugger().slug(val) : \"\",\n getOptions: () => combinedOptions()\n });\n Parser_1($$renderer2, { tokens, renderers: combinedRenderers() });\n });\n}\nfunction Ai_chat($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let { selectedModelId = DEFAULT_MODEL_ID, scrollRef } = $$props;\n let prompt = new PersistedState(\"prompt\", \"\");\n let attachedImage = null;\n let fileInput = null;\n let showPricingDialog = false;\n const suggestions = [\n {\n label: \"Product Teaser\",\n prompt: 'Create a 5-second product teaser: a bold title \"Launch Week\" fading in from below, a gradient background, and a call-to-action button saying \"Sign Up\" that pulses. Add smooth transitions between elements.'\n },\n {\n label: \"Text Animation\",\n prompt: 'Animate three lines of text appearing one after another: \"Build\" slides in from left, \"Ship\" scales up from the center, \"Repeat\" fades in with a blur effect. Use a dark background with accent color.'\n },\n {\n label: \"Logo Reveal\",\n prompt: 'Create a logo reveal animation: a circle shape expands from the center, then the text \"Devmotion\" appears with a typewriter effect. Add a subtle glow drop shadow to the text.'\n },\n {\n label: \"Social Clip\",\n prompt: \"Add captions to the video, style them as bold white text with a dark semi-transparent background, centered at the bottom. Make them appear word by word synced to speech.\"\n },\n {\n label: \"Tutorial Intro\",\n prompt: 'Create a tutorial intro: a mouse cursor layer moving from left to right, followed by text \"How To\" appearing with a slide-in animation. Use a clean gradient background.'\n },\n {\n label: \"Video to Phone\",\n prompt: \"Resize the project to 9:16 portrait aspect ratio (1080x1920) and add a blurred background fill behind the main video. Center the video and add a title overlay at the top.\"\n }\n ];\n function trySuggestion(promptText) {\n if (chat.status === \"streaming\" || chat.status === \"submitted\") return;\n trackPlausibleEvent(\"ai_suggestion_used\", { prompt: promptText.slice(0, 100) });\n prompt.current = promptText;\n }\n let credits = derived(getCredits);\n const persistedMessages = new PersistedState(`ai-chat-messages-${projectStore().state.id}`, []);\n function scrollToBottom(force = false) {\n let isAtBottom = false;\n if (scrollRef) {\n const top = scrollRef.scrollTop;\n const scrollHeight = scrollRef.scrollHeight;\n const clientHeight = scrollRef.clientHeight;\n const diff = scrollHeight - clientHeight;\n isAtBottom = top >= diff - 100;\n }\n if (force || isAtBottom) {\n scrollRef?.scrollTo({ top: scrollRef.scrollHeight, behavior: \"instant\" });\n }\n }\n const chat = new Chat({\n transport: new DefaultChatTransport({\n api: resolve(\"/(app)/chat\"),\n body: () => {\n return { project: projectStore().state, modelId: selectedModelId };\n }\n }),\n messages: persistedMessages.current,\n sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,\n onError(error) {\n trackPlausibleEvent(\"ai_error\", { error: parseErrorMessage(error).slice(0, 200) });\n toast.error(parseErrorMessage(error));\n },\n async onToolCall({ toolCall }) {\n if (toolCall.dynamic) {\n return;\n }\n const toolName = toolCall.toolName;\n let result;\n trackPlausibleEvent(\"ai_tool_started\", { toolName });\n try {\n switch (toolName) {\n case \"create_layer\": {\n const input = toolCall.input;\n result = executeCreateLayer(projectStore(), input);\n break;\n }\n case \"edit_layer\":\n result = executeEditLayer(projectStore(), toolCall.input);\n break;\n case \"remove_layer\":\n result = executeRemoveLayer(projectStore(), toolCall.input);\n break;\n case \"group_layers\":\n result = executeGroupLayers(projectStore(), toolCall.input);\n break;\n case \"ungroup_layers\":\n result = executeUngroupLayers(projectStore(), toolCall.input);\n break;\n case \"configure_project\":\n result = executeConfigureProject(projectStore(), toolCall.input);\n break;\n case \"compose_from_media\":\n result = await executeComposeFromMedia(projectStore(), toolCall.input);\n break;\n case \"run_action\":\n result = await executeRunAction(projectStore(), toolCall.input);\n break;\n default:\n result = { success: false, error: `Unknown tool: ${toolName}` };\n }\n chat.addToolOutput({\n tool: toolName,\n toolCallId: toolCall.toolCallId,\n output: result\n });\n trackPlausibleEvent(\"ai_tool_completed\", { toolName });\n } catch (err) {\n const errorMsg = err instanceof Error ? err.message : \"Unknown error\";\n trackPlausibleEvent(\"ai_tool_error\", { toolName, error: errorMsg });\n chat.addToolOutput({\n tool: toolName,\n toolCallId: toolCall.toolCallId,\n output: { success: false, error: errorMsg }\n });\n }\n },\n onFinish() {\n persistedMessages.current = chat.messages;\n credits().refresh();\n }\n });\n function removeImage() {\n attachedImage = null;\n }\n function resetMessages() {\n chat.messages = [];\n persistedMessages.current = [];\n attachedImage = null;\n toast.success(\"Chat history cleared\");\n }\n watch$1(() => snapshot(chat.messages), () => {\n scrollToBottom();\n });\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full flex-col\"><div class=\"flex w-full flex-col border-b bg-background\">`);\n if (credits().current) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex items-center justify-between gap-3 px-4 py-2\"><span class=\"font-mono text-xs text-muted-foreground\">${escape_html(Math.round(credits().current.remainingCredits * 100))}/${escape_html(Math.round(credits().current.maxCredits * 100))}</span> `);\n Bitcoin($$renderer3, { class: \"size-3 text-muted-foreground\" });\n $$renderer3.push(`<!----> <div class=\"h-1.5 w-24 flex-1 overflow-hidden rounded-full bg-muted\"><div${attr_class(`h-full transition-all ${stringify(credits().current.remainingCredits / credits().current.maxCredits < 0.2 ? \"bg-destructive\" : \"bg-primary\")}`)}${attr_style(`width: ${stringify(credits().current.remainingCredits / credits().current.maxCredits * 100)}%`)}></div></div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <div class=\"flex-1 p-4\">`);\n if (chat.messages.length === 0) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex h-full flex-col items-center justify-center text-center\">`);\n Wand_sparkles($$renderer3, { class: \"mb-4 size-8 text-muted-foreground\" });\n $$renderer3.push(`<!----> <p class=\"text-sm text-muted-foreground\">Describe your vision, and I'll animate it</p></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"space-y-4\"><!--[-->`);\n const each_array = ensure_array_like(chat.messages);\n for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n let message = each_array[$$index_1];\n $$renderer3.push(`<div class=\"flex flex-col gap-2\"><div class=\"flex items-center gap-2\"><div${attr_class(`flex size-7 shrink-0 items-center justify-center rounded-full ${stringify(message.role === \"user\" ? \"bg-primary text-primary-foreground\" : \"bg-muted\")}`)}>`);\n if (message.role === \"user\") {\n $$renderer3.push(\"<!--[0-->\");\n User($$renderer3, { class: \"size-3.5\" });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Sparkles($$renderer3, { class: \"size-3.5\" });\n }\n $$renderer3.push(`<!--]--></div> <p class=\"text-xs font-medium text-muted-foreground\">${escape_html(message.role === \"user\" ? \"You\" : \"AI\")}</p></div> <div class=\"space-y-2 pl-0\"><!--[-->`);\n const each_array_1 = ensure_array_like(message.parts);\n for (let partIndex = 0, $$length2 = each_array_1.length; partIndex < $$length2; partIndex++) {\n let part = each_array_1[partIndex];\n if (part.type === \"reasoning\" && part.text.trim()) {\n $$renderer3.push(\"<!--[0-->\");\n Reasoning_part($$renderer3, { reasoning: part.text });\n } else if (part.type === \"text\" && part.text.trim()) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"text-sm\">`);\n SvelteMarkdown($$renderer3, { source: part.text });\n $$renderer3.push(`<!----></div>`);\n } else if (part.type === \"file\" && part.mediaType.startsWith(\"image/\")) {\n $$renderer3.push(\"<!--[2-->\");\n $$renderer3.push(`<img${attr(\"src\", part.url)} alt=\"User uploaded\" class=\"max-w-xs rounded-lg border\"/>`);\n } else if (isToolUIPart(part)) {\n $$renderer3.push(\"<!--[3-->\");\n Tool_part($$renderer3, { tool: part });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]--></div></div>`);\n }\n $$renderer3.push(`<!--]--> `);\n if ((chat.status === \"streaming\" || chat.status === \"submitted\") && chat.messages[chat.messages.length - 1].role !== \"assistant\") {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex flex-col gap-2\"><div class=\"flex items-center gap-2\"><div class=\"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted\">`);\n Sparkles($$renderer3, { class: \"size-3.5\" });\n $$renderer3.push(`<!----></div> <p class=\"text-xs font-medium text-muted-foreground\">AI</p></div> <div class=\"flex items-center gap-2 pl-0 text-sm text-muted-foreground\">`);\n Loader_circle($$renderer3, { class: \"size-4 animate-spin\" });\n $$renderer3.push(`<!----> Thinking...</div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div> <form class=\"sticky bottom-0 border-t bg-background p-4\"><div class=\"mb-3 flex items-start gap-2\">`);\n Lightbulb($$renderer3, { class: \"mt-0.5 size-3.5 shrink-0 text-muted-foreground\" });\n $$renderer3.push(`<!----> <div class=\"flex flex-wrap gap-1.5\"><!--[-->`);\n const each_array_2 = ensure_array_like(suggestions);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let suggestion = each_array_2[$$index_2];\n Button($$renderer3, {\n variant: \"outline\",\n size: \"xs\",\n onclick: () => trySuggestion(suggestion.prompt),\n disabled: chat.status === \"streaming\" || chat.status === \"submitted\" || projectStore().isRecording,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(suggestion.label)}`);\n },\n $$slots: { default: true }\n });\n }\n $$renderer3.push(`<!--]--></div></div> <div class=\"relative\"><textarea placeholder=\"Describe your animation... e.g., 'Create a title that fades in with a subtitle below'\"${attr(\"disabled\", chat.status === \"streaming\" || chat.status === \"submitted\" || projectStore().isRecording, true)}${attr_class(`mb-3 flex min-h-20 w-full resize-none rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 ${stringify(attachedImage ? \"pb-24\" : \"\")}`)}>`);\n const $$body = escape_html(prompt.current);\n if ($$body) {\n $$renderer3.push(`${$$body}`);\n }\n $$renderer3.push(`</textarea> `);\n if (attachedImage) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"absolute right-3 bottom-4 flex items-start gap-2 rounded-lg border bg-background p-2 shadow-sm\"><img${attr(\"src\", attachedImage.dataUrl)} alt=\"Attached\" class=\"size-16 rounded object-cover\"/> <div class=\"flex flex-col gap-1\"><span class=\"text-xs text-muted-foreground\">${escape_html(formatBytes(attachedImage.size))}</span> `);\n Button($$renderer3, {\n type: \"button\",\n variant: \"ghost\",\n size: \"icon\",\n class: \"size-5\",\n onclick: removeImage,\n title: \"Remove image\",\n children: ($$renderer4) => {\n X($$renderer4, { class: \"size-3\" });\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <input type=\"file\" accept=\"image/*\" class=\"hidden\"/> <div class=\"flex gap-2\">`);\n if (chat.status === \"streaming\" || chat.status === \"submitted\") {\n $$renderer3.push(\"<!--[0-->\");\n Button($$renderer3, {\n class: \"flex-1\",\n type: \"button\",\n variant: \"destructive\",\n onclick: () => chat.stop(),\n children: ($$renderer4) => {\n Square($$renderer4, { class: \"size-4\" });\n $$renderer4.push(`<!----> Stop`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Button($$renderer3, {\n type: \"button\",\n variant: \"outline\",\n size: \"icon\",\n onclick: () => fileInput?.click(),\n disabled: projectStore().isRecording || !!attachedImage,\n title: \"Attach image\",\n icon: Image_plus\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n class: \"flex-1\",\n type: \"submit\",\n disabled: !prompt.current.trim() && !attachedImage || projectStore().isRecording,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Send `);\n Send($$renderer4, { class: \"size-4\" });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!---->`);\n }\n $$renderer3.push(`<!--]--> `);\n if (chat.messages.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n Button($$renderer3, {\n type: \"button\",\n variant: \"outline\",\n size: \"icon\",\n onclick: resetMessages,\n disabled: chat.status === \"streaming\",\n title: \"Clear chat history\",\n children: ($$renderer4) => {\n Trash_2($$renderer4, { class: \"size-4\" });\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div></form></div> `);\n Pricing_dialog($$renderer3, {\n get open() {\n return showPricingDialog;\n },\n set open($$value) {\n showPricingDialog = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!---->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { selectedModelId });\n });\n}\nfunction Model_selector($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { selectedModelId, onModelChange } = $$props;\n const models = Object.values(AI_MODELS);\n const selectedModel = derived(() => getModel(selectedModelId));\n if (models.length > 1) {\n $$renderer2.push(\"<!--[0-->\");\n if (Root) {\n $$renderer2.push(\"<!--[-->\");\n Root($$renderer2, {\n children: ($$renderer3) => {\n if (Dropdown_menu_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_trigger($$renderer3, {\n class: \"flex items-center gap-1 text-xs\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(selectedModel().name)} `);\n Chevron_down($$renderer4, { class: \"h-3 w-3\" });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Dropdown_menu_content) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_content($$renderer3, {\n align: \"start\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array = ensure_array_like(models);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let model = each_array[$$index];\n if (Dropdown_menu_item) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer4, {\n onclick: () => onModelChange(model.id),\n children: ($$renderer5) => {\n $$renderer5.push(`<span class=\"flex items-center gap-1.5\">${escape_html(model.name)}</span> `);\n if (model.recommended) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<span class=\"text-[10px] text-primary\">Recommended</span>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (\"proOnly\" in model && model.proOnly) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<span class=\"text-[10px] text-muted-foreground\">Pro</span>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Add_layer_dropdown($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function addLayer(type) {\n const layer = createLayer(type, {\n transform: defaultTransform(),\n projectDimensions: {\n width: projectStore().state.width,\n height: projectStore().state.height\n }\n });\n projectStore().addLayer(layer);\n projectStore().selectLayer(layer.id);\n editorState().setActiveSidebarPanel(\"layer\");\n }\n const hiddenTypes = /* @__PURE__ */ new Set([\"captions\", \"group\", PROJECT_LAYER_TYPE]);\n const categoryOrder = [\"media\", \"text\", \"shape\", \"code\", \"ui\"];\n const categoryConfig = {\n media: { icon: Film, label: \"Media\" },\n text: { icon: Type, label: \"Text\" },\n shape: { icon: Shapes, label: \"Shapes\" },\n code: { icon: Code$1, label: \"Code\" },\n ui: { icon: Layout_grid, label: \"UI Elements\" }\n };\n const groupedLayers = derived(() => {\n const groups = new SvelteMap();\n for (const layer of Object.values(layerRegistry)) {\n if (hiddenTypes.has(layer.type)) continue;\n const cat = layer.category;\n if (!groups.has(cat)) groups.set(cat, []);\n groups.get(cat).push(layer);\n }\n return categoryOrder.filter((c) => groups.has(c)).map((c) => ({ category: c, ...categoryConfig[c], layers: groups.get(c) }));\n });\n const { child } = $$props;\n if (Root) {\n $$renderer2.push(\"<!--[-->\");\n Root($$renderer2, {\n children: ($$renderer3) => {\n if (Dropdown_menu_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_trigger($$renderer3, { disabled: projectStore().isRecording, child });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Dropdown_menu_content) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_content($$renderer3, {\n align: \"start\",\n class: \"w-56\",\n children: ($$renderer4) => {\n if (Dropdown_menu_item) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer4, {\n onclick: () => addLayer(\"group\"),\n children: ($$renderer5) => {\n Folder($$renderer5, { class: \"mr-2 h-4 w-4\" });\n $$renderer5.push(`<!----> Folder`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Dropdown_menu_separator) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_separator($$renderer4, {});\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n Scroll_area($$renderer4, {\n viewportClass: \"max-h-[calc(50vh)]\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array = ensure_array_like(groupedLayers());\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let group = each_array[i];\n if (Dropdown_menu_group) {\n $$renderer5.push(\"<!--[-->\");\n Dropdown_menu_group($$renderer5, {\n children: ($$renderer6) => {\n if (Dropdown_menu_group_heading) {\n $$renderer6.push(\"<!--[-->\");\n Dropdown_menu_group_heading($$renderer6, {\n class: \"flex items-center\",\n children: ($$renderer7) => {\n const CatIcon = group.icon;\n if (CatIcon) {\n $$renderer7.push(\"<!--[-->\");\n CatIcon($$renderer7, { class: \"mr-2 h-3.5 w-3.5\" });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n $$renderer7.push(` ${escape_html(group.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n $$renderer6.push(` <!--[-->`);\n const each_array_1 = ensure_array_like(group.layers);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let layer = each_array_1[$$index];\n if (Dropdown_menu_item) {\n $$renderer6.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer6, {\n onclick: () => addLayer(layer.type),\n children: ($$renderer7) => {\n if (layer.icon) {\n $$renderer7.push(\"<!--[0-->\");\n const Icon2 = layer.icon;\n if (Icon2) {\n $$renderer7.push(\"<!--[-->\");\n Icon2($$renderer7, { class: \"mr-2 h-4 w-4\" });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]--> ${escape_html(layer.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n }\n $$renderer6.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (i < groupedLayers().length - 1) {\n $$renderer5.push(\"<!--[0-->\");\n if (Dropdown_menu_separator) {\n $$renderer5.push(\"<!--[-->\");\n Dropdown_menu_separator($$renderer5, {});\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Timeline_ruler($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { pixelsPerSecond, duration, allExpanded, onToggleAll } = $$props;\n const timeScale = derived(() => {\n const pps = pixelsPerSecond;\n if (pps >= 400) {\n return {\n major: 0.5,\n minor: 0.1,\n sub: 0.02,\n format: (t) => `${t.toFixed(1)}s`\n };\n } else if (pps >= 200) {\n return {\n major: 1,\n minor: 0.2,\n sub: 0.1,\n format: (t) => `${t.toFixed(1)}s`\n };\n } else if (pps >= 70) {\n return { major: 1, minor: 0.5, sub: 0.1, format: (t) => `${t}s` };\n } else if (pps >= 20) {\n return { major: 5, minor: 5, sub: 1, format: (t) => `${t}s` };\n } else if (pps >= 10) {\n return { major: 10, minor: 5, sub: 1, format: (t) => `${t}s` };\n } else {\n return {\n major: 30,\n minor: 10,\n sub: 5,\n format: (t) => `${Math.floor(t / 60)}:${(t % 60).toString().padStart(2, \"0\")}`\n };\n }\n });\n const majorMarks = derived(() => {\n const marks = [];\n const step = timeScale().major;\n for (let i = 0; i <= duration; i += step) {\n marks.push(i);\n }\n return marks;\n });\n const minorMarks = derived(() => {\n const marks = [];\n const step = timeScale().minor;\n for (let i = 0; i <= duration; i += step) {\n if (i % timeScale().major === 0) continue;\n marks.push(i);\n }\n return marks;\n });\n const subMarks = derived(() => {\n const marks = [];\n const step = timeScale().sub;\n for (let i = 0; i <= duration; i += step) {\n if (i % timeScale().minor === 0) continue;\n marks.push(i);\n }\n return marks;\n });\n $$renderer2.push(`<div class=\"timeline-ruler relative flex h-10 bg-muted/20\"><div class=\"sticky left-0 z-10 flex w-60 shrink-0 items-center justify-between border-r bg-background px-2\"><span class=\"text-xs font-medium text-muted-foreground\">LAYERS</span> <div class=\"flex items-center gap-0.5\">`);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"icon-xs\",\n icon: allExpanded ? Minimize_2 : Maximize_2,\n onclick: onToggleAll,\n title: allExpanded ? \"Collapse all layers and properties\" : \"Expand all layers and properties\"\n });\n $$renderer2.push(`<!----> <div data-onboarding=\"timeline-add-layer\" class=\"contents\">`);\n {\n let child = function($$renderer3, { props }) {\n Button($$renderer3, spread_props([\n {\n variant: \"default\",\n size: \"sm\",\n class: \"h-7 w-7 p-0\",\n icon: Plus\n },\n props\n ]));\n };\n Add_layer_dropdown($$renderer2, { child });\n }\n $$renderer2.push(`<!----></div></div></div> <div class=\"relative flex-1 bg-muted/10\"><!--[-->`);\n const each_array = ensure_array_like(subMarks());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let time = each_array[$$index];\n $$renderer2.push(`<div class=\"absolute bottom-0 h-2 border-l border-muted-foreground/10\"${attr_style(`left: ${stringify(time * pixelsPerSecond)}px`)}></div>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(minorMarks());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let time = each_array_1[$$index_1];\n $$renderer2.push(`<div class=\"absolute bottom-0 h-3 border-l border-muted-foreground/20\"${attr_style(`left: ${stringify(time * pixelsPerSecond)}px`)}></div>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_2 = ensure_array_like(majorMarks());\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let time = each_array_2[$$index_2];\n const position = time * pixelsPerSecond;\n const labelWidth = 30;\n const isNearEnd = position > duration * pixelsPerSecond - labelWidth;\n $$renderer2.push(`<div class=\"absolute h-full border-l border-muted-foreground/30\"${attr_style(`left: ${stringify(position)}px`)}><span class=\"absolute top-1 font-mono text-[11px] font-medium text-muted-foreground\"${attr_style(isNearEnd ? \"right: 1px\" : \"left: 1px\")}>${escape_html(timeScale().format(time))}</span></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction getTransformInputId(property) {\n return `transform.${property}`;\n}\nfunction getStyleInputId(property) {\n return `style.${property}`;\n}\nfunction getPropertyCategory(property) {\n if (property.startsWith(\"position.\") || property.startsWith(\"rotation.\") || property.startsWith(\"scale.\")) {\n return \"transform\";\n }\n if (property.startsWith(\"props.\")) {\n return \"props\";\n }\n return \"style\";\n}\nfunction isTransformProperty(property) {\n return property.startsWith(\"position.\") || property.startsWith(\"rotation.\") || property.startsWith(\"scale.\");\n}\nfunction isStyleProperty(property) {\n return property === \"opacity\" || property === \"color\";\n}\nfunction getSidebarPanelForProperty(property) {\n const category = getPropertyCategory(property);\n if (category === \"transform\") return \"transform\";\n if (category === \"style\") return \"style\";\n if (property.startsWith(\"props.\")) return \"layer\";\n return \"transform\";\n}\nfunction navigateToProperty(property, editorState) {\n const panelId = getSidebarPanelForProperty(property);\n editorState?.setActiveSidebarPanel(panelId);\n requestAnimationFrame(() => {\n const inputId = getInputIdFromProperty(property);\n const input = document.getElementById(inputId);\n if (input) {\n input.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n setTimeout(() => {\n input?.focus?.();\n input?.select?.();\n }, 200);\n }\n });\n}\nfunction getInputIdFromProperty(property) {\n const category = getPropertyCategory(property);\n if (category === \"transform\") {\n return getTransformInputId(property);\n }\n if (category === \"style\") {\n return getStyleInputId(property);\n }\n if (property.startsWith(\"props.\")) {\n return property;\n }\n return property;\n}\nfunction Timeline_property_track($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let { layer, property, pixelsPerSecond, indent = 0, index } = $$props;\n const keyframes = derived(() => layer.keyframes.filter((kf2) => kf2.property === property).sort((a, b) => a.time - b.time));\n const propertyLabel = derived(() => {\n const parts = property.split(\".\");\n if (parts.length === 2) {\n const [parent, child] = parts;\n return `${parent.charAt(0).toUpperCase() + parent.slice(1)} ${child.toUpperCase()}`;\n }\n return property.charAt(0).toUpperCase() + property.slice(1);\n });\n let draggedKeyframeId = null;\n let dragStartX = 0;\n let dragStartTime = 0;\n let hasDragged = false;\n function handleKeyframeDrag(e) {\n if (!draggedKeyframeId) return;\n const deltaX = e.clientX - dragStartX;\n const deltaTime = deltaX / pixelsPerSecond;\n if (Math.abs(deltaX) > 2) {\n hasDragged = true;\n }\n if (projectStore().selectedKeyframeIds.size > 1) {\n projectStore().shiftSelectedKeyframes(deltaTime);\n dragStartX = e.clientX;\n const updatedKeyframe = keyframes().find((kf2) => kf2.id === draggedKeyframeId);\n if (updatedKeyframe) {\n dragStartTime = updatedKeyframe.time;\n }\n } else {\n const newTime = Math.max(0, Math.min(projectStore().state.duration, dragStartTime + deltaTime));\n projectStore().updateKeyframe(layer.id, draggedKeyframeId, { time: newTime });\n dragStartX = e.clientX;\n dragStartTime = newTime;\n }\n }\n function handleKeyframeMouseUp() {\n if (!hasDragged && draggedKeyframeId) {\n const keyframe = keyframes().find((kf2) => kf2.id === draggedKeyframeId);\n if (keyframe) {\n projectStore().setCurrentTime(keyframe.time);\n navigateToProperty(property, editorState());\n }\n }\n draggedKeyframeId = null;\n hasDragged = false;\n window.removeEventListener(\"mousemove\", handleKeyframeDrag);\n window.removeEventListener(\"mouseup\", handleKeyframeMouseUp);\n }\n onDestroy(() => {\n window.removeEventListener(\"mousemove\", handleKeyframeDrag);\n window.removeEventListener(\"mouseup\", handleKeyframeMouseUp);\n });\n const hasSelectedKeyframe = derived(() => keyframes().some((kf2) => projectStore().selectedKeyframeIds.has(kf2.id)));\n $$renderer2.push(`<div${attr_class(clsx(cn(\"flex items-stretch transition-colors hover:bg-muted/10\", { \"border-t\": index === 0 })))}><div data-property-header=\"\" class=\"sticky left-0 z-10 flex w-60 shrink-0 items-center gap-1.5 border-r bg-background px-2 py-1\"${attr_style(\"\", { \"padding-left\": `${stringify(8 + indent * 16)}px` })}><div class=\"flex h-4 w-4 shrink-0 items-center justify-center\">`);\n Circle($$renderer2, {\n class: cn(\"h-2.5 w-2.5\", {\n \"fill-primary text-primary\": hasSelectedKeyframe(),\n \"text-muted-foreground\": !hasSelectedKeyframe()\n })\n });\n $$renderer2.push(`<!----></div> <span class=\"flex-1 truncate text-xs text-muted-foreground\">${escape_html(propertyLabel())}</span> <span class=\"text-[10px] text-muted-foreground/60\">${escape_html(keyframes().length)}</span></div> <div class=\"relative h-6 flex-1\"><!--[-->`);\n const each_array = ensure_array_like(keyframes());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let keyframe = each_array[$$index];\n const position = keyframe.time * pixelsPerSecond;\n const isActive = Math.abs(keyframe.time - projectStore().currentTime) < 0.01;\n const isSelected = projectStore().selectedKeyframeIds.has(keyframe.id);\n if (Tooltip) {\n $$renderer2.push(\"<!--[-->\");\n Tooltip($$renderer2, {\n delayDuration: 0,\n children: ($$renderer3) => {\n {\n let child = function($$renderer4, { props }) {\n $$renderer4.push(`<button${attributes(\n {\n ...props,\n \"data-keyframe\": true,\n \"data-keyframe-id\": keyframe.id,\n class: clsx(cn(\"absolute top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-[3px] transition-transform hover:scale-125 active:scale-110\", {\n \"bg-primary/50\": isActive,\n \"bg-primary\": isSelected,\n \"outline-1\": isSelected || isActive,\n \"outline-primary/80\": isSelected || isActive,\n \"outline-offset-2\": isSelected || isActive,\n \"bg-muted-foreground\": !isSelected && !isActive,\n \"shadow-sm\": isSelected || isActive\n })),\n \"aria-label\": `Keyframe at ${stringify(keyframe.time.toFixed(2))}s`\n },\n void 0,\n void 0,\n { left: `${stringify(position)}px` }\n )}></button>`);\n };\n if (Tooltip_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip_trigger($$renderer3, { child, $$slots: { child: true } });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(` `);\n if (Tooltip_content) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip_content($$renderer3, {\n side: \"top\",\n align: \"center\",\n class: \"text-[10px]\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(keyframe.time.toFixed(2))}s `);\n if (typeof keyframe.value === \"number\") {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<br/> <span class=\"text-muted-foreground\">${escape_html(keyframe.value.toFixed(2))}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]--> `);\n if (keyframes().length > 1) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(keyframes().slice(0, -1));\n for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n let keyframe = each_array_1[i];\n const nextKeyframe = keyframes()[i + 1];\n const startPos = keyframe.time * pixelsPerSecond;\n const endPos = nextKeyframe.time * pixelsPerSecond;\n const width = endPos - startPos;\n $$renderer2.push(`<div class=\"absolute top-1/2 h-px bg-muted-foreground/20\"${attr_style(\"\", {\n left: `${stringify(startPos)}px`,\n width: `${stringify(width)}px`\n })}></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction Timeline_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let {\n layer,\n pixelsPerSecond,\n indent = 0,\n isExpanded,\n onToggleExpanded,\n isDropTarget = false,\n dropPosition = null,\n isDragging = false,\n isChild = false\n } = $$props;\n const isSelected = derived(() => projectStore().selectedLayerId === layer.id);\n let deleteDialogOpen = false;\n function toggleVisibility(e) {\n e.stopPropagation();\n projectStore().updateLayer(layer.id, { visible: !layer.visible });\n }\n function toggleLock(e) {\n e.stopPropagation();\n projectStore().updateLayer(layer.id, { locked: !layer.locked });\n }\n function deleteLayer() {\n projectStore().removeLayer(layer.id);\n deleteDialogOpen = false;\n }\n function unparentLayer() {\n projectStore().removeLayerFromGroup(layer.id);\n deleteDialogOpen = false;\n }\n const enterTime = derived(() => layer.enterTime ?? 0);\n const exitTime = derived(() => layer.exitTime ?? projectStore().state.duration);\n const barLeft = derived(() => enterTime() * pixelsPerSecond);\n const barWidth = derived(() => (exitTime() - enterTime()) * pixelsPerSecond);\n const animatedProperties = derived(() => {\n const props = new SvelteSet();\n for (const kf2 of layer.keyframes) {\n props.add(kf2.property);\n }\n return Array.from(props).sort();\n });\n let isDraggingEnter = false;\n let isDraggingExit = false;\n let isDraggingBar = false;\n let dragStartX = 0;\n let dragStartEnter = 0;\n let dragStartExit = 0;\n function handleDragMove(e) {\n const deltaX = e.clientX - dragStartX;\n const deltaTime = deltaX / pixelsPerSecond;\n if (isDraggingEnter) {\n const newEnter = Math.max(0, Math.min(dragStartEnter + deltaTime, exitTime() - 0.1));\n projectStore().setLayerEnterTime(layer.id, newEnter);\n } else if (isDraggingExit) {\n const newExit = Math.max(enterTime() + 0.1, Math.min(dragStartExit + deltaTime, projectStore().state.duration));\n projectStore().setLayerExitTime(layer.id, newExit);\n } else if (isDraggingBar) {\n const duration = dragStartExit - dragStartEnter;\n let newEnter = dragStartEnter + deltaTime;\n let newExit = dragStartExit + deltaTime;\n if (newEnter < 0) {\n newEnter = 0;\n newExit = duration;\n }\n if (newExit > projectStore().state.duration) {\n newExit = projectStore().state.duration;\n newEnter = newExit - duration;\n }\n projectStore().setLayerTimeRange(layer.id, newEnter, newExit, true);\n }\n }\n function handleDragEnd() {\n isDraggingEnter = false;\n isDraggingExit = false;\n isDraggingBar = false;\n window.removeEventListener(\"mousemove\", handleDragMove);\n window.removeEventListener(\"mouseup\", handleDragEnd);\n }\n onDestroy(() => {\n window.removeEventListener(\"mousemove\", handleDragMove);\n window.removeEventListener(\"mouseup\", handleDragEnd);\n });\n const barColor = derived(() => {\n switch (layer.type) {\n case \"video\":\n return \"bg-purple-500/20 border-purple-500/40\";\n case \"audio\":\n return \"bg-blue-500/20 border-blue-500/40\";\n case \"group\":\n return \"bg-emerald-500/15 border-emerald-500/30\";\n default:\n return \"bg-primary/10 border-primary/20\";\n }\n });\n const hasAnimatedProperties = derived(() => animatedProperties().length > 0);\n const Icon2 = derived(() => getLayerDefinition(layer.type).icon);\n $$renderer2.push(`<div${attr_class(clsx(cn(\"relative border-b transition-opacity\", {\n \"bg-muted/30\": isSelected(),\n \"bg-muted/10\": isChild && !isSelected(),\n \"opacity-40\": isDragging\n })))}${attr(\"data-layer-id\", layer.id)} role=\"listitem\">`);\n if (\n // Only fire leave if we're actually leaving this element, not entering a child\n isDropTarget && dropPosition === \"above\"\n ) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute -top-px right-0 left-0 h-0.5 bg-primary shadow-lg shadow-primary/50\"></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (isDropTarget && dropPosition === \"below\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute right-0 -bottom-px left-0 h-0.5 bg-primary shadow-lg shadow-primary/50\"></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (isDropTarget && dropPosition === \"inside\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute inset-0 rounded bg-primary/10 ring-2 ring-primary/40 ring-inset\"></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"group/layer flex items-stretch transition-colors hover:bg-muted/20\"><div data-layer-header=\"\"${attr_class(clsx(cn(\"sticky left-0 z-10 flex w-60 shrink-0 items-center gap-1 border-r px-1 py-1.5\", isChild ? \"bg-muted/15\" : \"bg-background\")))} draggable=\"true\" role=\"button\" tabindex=\"-1\"${attr_style(\"\", { \"padding-left\": `${stringify(4 + indent * 16)}px` })}><div class=\"flex shrink-0 cursor-grab text-muted-foreground/40 active:cursor-grabbing\">`);\n Grip_vertical($$renderer2, { class: \"size-3.5\" });\n $$renderer2.push(`<!----></div> `);\n if (hasAnimatedProperties()) {\n $$renderer2.push(\"<!--[0-->\");\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"shrink-0\",\n icon: isExpanded ? Chevron_down : Chevron_right,\n onclick: (e) => {\n e.stopPropagation();\n onToggleExpanded();\n },\n \"aria-label\": isExpanded ? \"Collapse layer\" : \"Expand layer\"\n });\n } else if (isContainerLayer(layer.type)) {\n $$renderer2.push(\"<!--[1-->\");\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"shrink-0\",\n icon: isExpanded ? Chevron_down : Chevron_right,\n onclick: (e) => {\n e.stopPropagation();\n onToggleExpanded();\n }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"w-4\"></div>`);\n }\n $$renderer2.push(`<!--]--> `);\n if (Icon2()) {\n $$renderer2.push(\"<!--[-->\");\n Icon2()($$renderer2, { class: \"h-3.5 w-3.5 shrink-0 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` <button class=\"min-w-0 flex-1 cursor-pointer text-left\" tabindex=\"-1\"><div${attr_class(clsx(cn(\"truncate text-xs font-normal\", { \"opacity-30\": !layer.visible, \"font-bold\": isSelected() })))}>${escape_html(layer.name)}</div></button> <div class=\"flex w-0 shrink-0 items-center gap-0.5 overflow-hidden opacity-0 transition-all group-hover/layer:w-[calc-size(auto,size)] group-hover/layer:opacity-100\">`);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-foreground\",\n icon: Copy,\n onclick: (e) => {\n e.stopPropagation();\n projectStore().duplicateLayer(layer.id);\n },\n \"aria-label\": \"Duplicate layer\"\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-foreground\",\n icon: layer.visible ? Eye : Eye_off,\n onclick: toggleVisibility,\n \"aria-label\": layer.visible ? \"Hide layer\" : \"Show layer\"\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-foreground\",\n icon: layer.locked ? Lock : Lock_open,\n onclick: toggleLock,\n \"aria-label\": layer.locked ? \"Unlock layer\" : \"Lock layer\"\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-destructive\",\n icon: Trash_2,\n onclick: (e) => {\n e.stopPropagation();\n deleteDialogOpen = true;\n },\n \"aria-label\": \"Delete layer\"\n });\n $$renderer2.push(`<!----></div></div> <div class=\"relative h-10 flex-1\"><div${attr_class(`absolute top-1.5 bottom-1.5 rounded border ${stringify(barColor())} transition-colors`)} role=\"button\" tabindex=\"-1\"${attr_style(\"\", {\n left: `${stringify(barLeft())}px`,\n width: `${stringify(barWidth())}px`,\n cursor: isDraggingBar ? \"grabbing\" : \"grab\"\n })}><div class=\"absolute inset-y-0 left-0 w-1 cursor-col-resize rounded-l bg-white/20 transition-colors hover:bg-white/40\" role=\"button\" tabindex=\"-1\"></div> <div class=\"absolute inset-y-0 right-0 w-1 cursor-col-resize rounded-r bg-white/20 transition-colors hover:bg-white/40\" role=\"button\" tabindex=\"-1\"></div></div></div></div> `);\n if (isExpanded && hasAnimatedProperties()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(animatedProperties());\n for (let index = 0, $$length = each_array.length; index < $$length; index++) {\n let property = each_array[index];\n Timeline_property_track($$renderer2, { layer, property, pixelsPerSecond, indent: indent + 1, index });\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n if (Alert_dialog) {\n $$renderer2.push(\"<!--[-->\");\n Alert_dialog($$renderer2, {\n open: deleteDialogOpen,\n onOpenChange: (open) => {\n deleteDialogOpen = open;\n },\n children: ($$renderer3) => {\n if (Alert_dialog_content) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog_content($$renderer3, {\n children: ($$renderer4) => {\n if (Alert_dialog_header) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_header($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_title) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_title($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Delete ${escape_html(isContainerLayer(layer.type) ? \"Container\" : \"Layer\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_description) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_description($$renderer5, {\n children: ($$renderer6) => {\n if (isChild) {\n $$renderer6.push(\"<!--[0-->\");\n $$renderer6.push(`Remove \"${escape_html(layer.name)}\" from group, or delete it entirely?`);\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n $$renderer6.push(`Delete \"${escape_html(layer.name)}\"${escape_html(isContainerLayer(layer.type) ? \" and all its children\" : \"\")}? This\n action cannot be undone.`);\n }\n $$renderer6.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Alert_dialog_footer) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_footer($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_cancel) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_cancel($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (isChild) {\n $$renderer5.push(\"<!--[0-->\");\n Button($$renderer5, {\n variant: \"secondary\",\n onclick: unparentLayer,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Unparent`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (Alert_dialog_action) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_action($$renderer5, {\n onclick: deleteLayer,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Delete`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Timeline_layer_tree($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let {\n layer,\n layerIndex,\n pixelsPerSecond,\n depth = 0,\n expandedLayers,\n onToggleExpanded,\n dropTargetId,\n dropPosition,\n draggedLayerId,\n onDragStart,\n onDragOver,\n onDragLeave,\n onDrop,\n onDragEnd\n } = $$props;\n const isExpanded = derived(() => expandedLayers.has(layer.id));\n const children = derived(() => projectStore().state.layers.filter((l) => l.parentId === layer.id));\n const hasChildren = derived(() => isContainerLayer(layer.type) && isExpanded() && children().length > 0);\n Timeline_layer($$renderer2, {\n layer,\n pixelsPerSecond,\n indent: depth,\n isExpanded: isExpanded(),\n onToggleExpanded: () => onToggleExpanded(layer.id),\n isDropTarget: dropTargetId === layer.id,\n dropPosition,\n isDragging: draggedLayerId === layer.id,\n isChild: depth > 0\n });\n $$renderer2.push(`<!----> `);\n if (hasChildren()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"border-l-2 border-emerald-500/30\"${attr_style(\"\", { \"margin-left\": `${stringify(depth * 8)}px` })}><!--[-->`);\n const each_array = ensure_array_like(children());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let child = each_array[$$index];\n const childIndex = projectStore().state.layers.indexOf(child);\n Timeline_layer_tree($$renderer2, {\n layer: child,\n layerIndex: childIndex,\n pixelsPerSecond,\n depth: depth + 1,\n expandedLayers,\n onToggleExpanded,\n dropTargetId,\n dropPosition,\n draggedLayerId,\n onDragStart,\n onDragOver,\n onDragLeave,\n onDrop,\n onDragEnd\n });\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Timeline_playhead($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { currentTime, pixelsPerSecond } = $$props;\n const position = derived(() => currentTime * pixelsPerSecond + 240);\n $$renderer2.push(`<div class=\"pointer-events-none absolute top-11 bottom-0 w-0.5\"${attr_style(`left: ${stringify(position())}px; background: linear-gradient(180deg, rgb(200 60 60) 0%, rgb(200 60 60 / 0.8) 100%); box-shadow: 0 0 4px rgb(200 60 60 / 0.5)`)}><div class=\"pointer-events-auto absolute -top-1 left-1/2 h-4 w-4 -translate-x-1/2 cursor-grab transition-transform hover:scale-110 active:scale-95 active:cursor-grabbing\" role=\"button\" tabindex=\"-1\"><svg viewBox=\"0 0 16 16\" class=\"h-full w-full\"><defs><filter id=\"playhead-shadow\"><feDropShadow dx=\"0\" dy=\"1\" stdDeviation=\"1\" flood-color=\"rgb(127 29 29)\" flood-opacity=\"0.3\"></feDropShadow></filter></defs><path d=\"M 1 1 L 15 1 L 8 9 Z\" fill=\"rgb(200 60 60)\" filter=\"url(#playhead-shadow)\"></path></svg></div></div>`);\n });\n}\nconst MIN_PIXELS_PER_SECOND = 5;\nconst MAX_PIXELS_PER_SECOND = 500;\nfunction Timeline($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let scrollContainer = null;\n let { pixelsPerSecond = 100 } = $$props;\n const expandedLayers = new SvelteSet();\n const expandableLayers = derived(() => projectStore().state.layers.filter((l) => isContainerLayer(l.type) || l.keyframes.length > 0));\n const allExpanded = derived(() => expandableLayers().length > 0 && expandableLayers().every((layer) => expandedLayers.has(layer.id)));\n let dropTargetId = null;\n let dropPosition = null;\n let draggedLayerId = null;\n function handleLayerDragStart(e, layerId, index) {\n e.dataTransfer.effectAllowed = \"move\";\n e.dataTransfer.setData(\"text/plain\", index.toString());\n e.dataTransfer.setData(\"application/layer-id\", layerId);\n draggedLayerId = layerId;\n }\n function handleLayerDragOver(e, targetId, targetElement) {\n e.preventDefault();\n if (!e.dataTransfer?.types.includes(\"application/layer-id\")) return;\n if (targetId === draggedLayerId) {\n dropTargetId = null;\n dropPosition = null;\n return;\n }\n e.dataTransfer.dropEffect = \"move\";\n dropTargetId = targetId;\n const rect = targetElement.getBoundingClientRect();\n const y = e.clientY - rect.top;\n const height = rect.height;\n const targetLayer = projectStore().state.layers.find((l) => l.id === targetId);\n if (targetLayer && isContainerLayer(targetLayer.type)) {\n const dragId = draggedLayerId ?? e.dataTransfer?.getData(\"application/layer-id\");\n const descendants = dragId ? projectStore().getDescendantIds(dragId) : [];\n const canNest = !descendants.includes(targetId);\n if (y < height * 0.2) {\n dropPosition = \"above\";\n } else if (y > height * 0.8) {\n dropPosition = canNest ? \"inside\" : \"below\";\n } else {\n dropPosition = canNest ? \"inside\" : \"above\";\n }\n } else {\n dropPosition = y < height / 2 ? \"above\" : \"below\";\n }\n }\n function handleLayerDragLeave() {\n dropTargetId = null;\n dropPosition = null;\n }\n function handleLayerDrop(e, dropIndex, targetLayerId) {\n e.preventDefault();\n const targetDropPosition = dropPosition;\n dropTargetId = null;\n dropPosition = null;\n draggedLayerId = null;\n const dragLayerId = e.dataTransfer.getData(\"application/layer-id\");\n if (!dragLayerId || dragLayerId === targetLayerId) return;\n const dragLayer = projectStore().state.layers.find((l) => l.id === dragLayerId);\n const targetLayer = projectStore().state.layers.find((l) => l.id === targetLayerId);\n if (!dragLayer || !targetLayer) return;\n if (isContainerLayer(targetLayer.type) && targetDropPosition === \"inside\") {\n projectStore().addLayerToGroup(dragLayerId, targetLayerId);\n expandedLayers.add(targetLayerId);\n return;\n }\n const targetParentId = targetLayer.parentId;\n const dragParentId = dragLayer.parentId;\n if (dragParentId !== targetParentId) {\n if (targetParentId) {\n projectStore().addLayerToGroup(dragLayerId, targetParentId);\n } else {\n projectStore().removeLayerFromGroup(dragLayerId, { preserveGroup: true });\n }\n }\n const layers = projectStore().state.layers;\n const newDragIndex = layers.findIndex((l) => l.id === dragLayerId);\n const newDropIndex = layers.findIndex((l) => l.id === targetLayerId);\n if (newDragIndex === -1 || newDropIndex === -1) return;\n let finalDropIndex = newDropIndex;\n if (targetDropPosition === \"below\") {\n if (isContainerLayer(targetLayer.type)) {\n const descendants = new Set(projectStore().getDescendantIds(targetLayerId));\n let i = newDropIndex + 1;\n while (i < layers.length && descendants.has(layers[i].id)) {\n i++;\n }\n finalDropIndex = i;\n } else {\n finalDropIndex = newDropIndex + 1;\n }\n }\n if (newDragIndex !== finalDropIndex && newDragIndex !== finalDropIndex - 1) {\n projectStore().reorderLayers(newDragIndex, finalDropIndex > newDragIndex ? finalDropIndex - 1 : finalDropIndex);\n }\n }\n function handleDragEnd() {\n dropTargetId = null;\n dropPosition = null;\n draggedLayerId = null;\n }\n function toggleLayerExpanded(layerId) {\n if (expandedLayers.has(layerId)) {\n expandedLayers.delete(layerId);\n } else {\n expandedLayers.add(layerId);\n }\n }\n function toggleAllLayers() {\n if (allExpanded()) {\n expandedLayers.clear();\n } else {\n for (const layer of projectStore().state.layers) {\n expandedLayers.add(layer.id);\n }\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full flex-col overflow-hidden\">`);\n Scroll_area($$renderer3, {\n class: \"h-full\",\n orientation: \"both\",\n get ref() {\n return scrollContainer;\n },\n set ref($$value) {\n scrollContainer = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"relative min-h-full select-none\"${attr_style(`min-width: ${stringify(projectStore().state.duration * pixelsPerSecond + 240)}px`)} role=\"button\" tabindex=\"0\"><div class=\"sticky top-0 z-20 border-b bg-background\">`);\n Timeline_ruler($$renderer4, {\n pixelsPerSecond,\n duration: projectStore().state.duration,\n allExpanded: allExpanded(),\n onToggleAll: toggleAllLayers\n });\n $$renderer4.push(`<!----></div> <div class=\"relative\"><!--[-->`);\n const each_array = ensure_array_like(projectStore().state.layers.filter((l) => !l.parentId));\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let layer = each_array[$$index];\n const layerIndex = projectStore().state.layers.indexOf(layer);\n Timeline_layer_tree($$renderer4, {\n layer,\n layerIndex,\n pixelsPerSecond,\n depth: 0,\n expandedLayers,\n onToggleExpanded: toggleLayerExpanded,\n dropTargetId,\n dropPosition,\n draggedLayerId,\n onDragStart: handleLayerDragStart,\n onDragOver: handleLayerDragOver,\n onDragLeave: handleLayerDragLeave,\n onDrop: handleLayerDrop,\n onDragEnd: handleDragEnd\n });\n }\n $$renderer4.push(`<!--]--> `);\n if (projectStore().state.layers.length === 0) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex h-32 items-center justify-center text-sm text-muted-foreground\">No layers yet. Add a layer to start animating.</div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div> `);\n Timeline_playhead($$renderer4, {\n currentTime: projectStore().currentTime,\n pixelsPerSecond\n });\n $$renderer4.push(`<!----> `);\n {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { pixelsPerSecond });\n });\n}\nfunction Timeline_toolbar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n pixelsPerSecond = void 0,\n minPixelsPerSecond,\n maxPixelsPerSecond\n } = $$props;\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function formatTimeCompact(seconds) {\n const mins = Math.floor(seconds / 60);\n const secs = Math.floor(seconds % 60);\n return `${mins}:${secs.toString().padStart(2, \"0\")}`;\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-1 items-center gap-2\"><div class=\"flex-1\"></div> <div class=\"flex items-center gap-0.5\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n icon: Skip_back,\n onclick: () => projectStore().setCurrentTime(0),\n title: \"Go to start\"\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n onclick: () => {\n if (projectStore().isPlaying) {\n projectStore().pause();\n } else {\n projectStore().play();\n }\n },\n title: projectStore().isPlaying ? \"Pause\" : \"Play\",\n children: ($$renderer4) => {\n if (projectStore().isPlaying) {\n $$renderer4.push(\"<!--[0-->\");\n Pause($$renderer4, { class: \"size-4\" });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Play($$renderer4, { class: \"size-4\" });\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n icon: Skip_forward,\n onclick: () => projectStore().setCurrentTime(projectStore().state.duration),\n title: \"Go to end\"\n });\n $$renderer3.push(`<!----></div> <div class=\"flex-1\"></div> `);\n Slider($$renderer3, {\n type: \"single\",\n min: minPixelsPerSecond,\n max: maxPixelsPerSecond,\n step: 1,\n class: \"w-20\",\n get value() {\n return pixelsPerSecond;\n },\n set value($$value) {\n pixelsPerSecond = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n Separator($$renderer3, { orientation: \"vertical\", class: \"h-4\" });\n $$renderer3.push(`<!----> <span class=\"font-mono text-[11px] text-muted-foreground tabular-nums\">${escape_html(formatTimeCompact(projectStore().currentTime))} / ${escape_html(formatTimeCompact(projectStore().state.duration))}</span></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { pixelsPerSecond });\n });\n}\nfunction Panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n title,\n icon,\n actionsComponent,\n actionsSnippet,\n content,\n headerExtra,\n disableScroll = false,\n collapsible = false,\n isOpen = false,\n onToggle,\n topOffset = \"0\",\n zIndex = 0,\n scrollRef = null,\n class: className = \"\",\n scrollAreaClass = \"\"\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (collapsible) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div${attr_class(clsx(cn(\"sticky bg-background\", className)))}${attr_style(`top: ${stringify(topOffset)}; z-index: ${stringify(zIndex)};`)}><button class=\"flex w-full items-center justify-between border-t border-b bg-muted/80 p-4 font-medium backdrop-blur-sm transition-colors hover:bg-muted\"><div class=\"flex items-center gap-2\">`);\n if (icon) {\n $$renderer3.push(\"<!--[0-->\");\n const Icon2 = icon;\n if (Icon2) {\n $$renderer3.push(\"<!--[-->\");\n Icon2($$renderer3, { class: \"size-4\" });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> ${escape_html(title)} `);\n if (actionsComponent) {\n $$renderer3.push(\"<!--[0-->\");\n const Actions = actionsComponent;\n if (Actions) {\n $$renderer3.push(\"<!--[-->\");\n Actions($$renderer3, {});\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else if (actionsSnippet) {\n $$renderer3.push(\"<!--[1-->\");\n actionsSnippet($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n Chevron_down($$renderer3, {\n class: cn(\"size-4 transition-transform duration-200\", { \"rotate-180\": isOpen })\n });\n $$renderer3.push(`<!----></button> `);\n if (isOpen) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"overflow-y-auto border-b bg-background\" style=\"max-height: calc(60vh - 60px - 52px);\">`);\n content($$renderer3);\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div${attr_class(clsx(cn(\"flex h-full flex-col bg-background\", className)))}><div class=\"flex items-center justify-between border-b bg-muted/50 px-4 py-3\"><div class=\"flex items-center gap-2\">`);\n if (icon) {\n $$renderer3.push(\"<!--[0-->\");\n const Icon2 = icon;\n if (Icon2) {\n $$renderer3.push(\"<!--[-->\");\n Icon2($$renderer3, { class: \"size-4 text-muted-foreground\" });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <h2 class=\"text-sm font-semibold\">${escape_html(title)}</h2> `);\n if (headerExtra) {\n $$renderer3.push(\"<!--[0-->\");\n headerExtra($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n if (actionsComponent) {\n $$renderer3.push(\"<!--[0-->\");\n const Actions = actionsComponent;\n if (Actions) {\n $$renderer3.push(\"<!--[-->\");\n Actions($$renderer3, {});\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else if (actionsSnippet) {\n $$renderer3.push(\"<!--[1-->\");\n actionsSnippet($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n if (disableScroll) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex-1 overflow-hidden\">`);\n content($$renderer3);\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Scroll_area($$renderer3, {\n class: cn(\"flex-1\"),\n viewportClass: scrollAreaClass,\n get ref() {\n return scrollRef;\n },\n set ref($$value) {\n scrollRef = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n content($$renderer4);\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { isOpen, scrollRef });\n });\n}\nfunction Editor_sidebar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { panels, activePanel, onPanelChange, scrollRef = null } = $$props;\n const currentPanel = derived(() => panels.find((p) => p.id === activePanel));\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full\"><div class=\"flex w-20 shrink-0 flex-col items-center gap-1 border-l bg-muted/30 px-2 py-2\"><!--[-->`);\n const each_array = ensure_array_like(panels);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let panel = each_array[$$index];\n const isActive = activePanel === panel.id;\n const Icon2 = panel.icon;\n $$renderer3.push(`<button${attr_class(`relative flex w-full flex-col items-center gap-1 rounded-md px-1 py-1.5 transition-colors ${stringify(isActive ? \"bg-primary text-primary-foreground\" : \"text-muted-foreground hover:bg-accent hover:text-accent-foreground\")}`)}${attr(\"data-onboarding\", panel.id)}><div class=\"relative\">`);\n if (Icon2) {\n $$renderer3.push(\"<!--[-->\");\n Icon2($$renderer3, { class: \"size-4\" });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (panel.badge) {\n $$renderer3.push(\"<!--[0-->\");\n panel.badge($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <span class=\"text-[10px] leading-none\">${escape_html(panel.label)}</span></button>`);\n }\n $$renderer3.push(`<!--]--></div> `);\n if (currentPanel()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex min-w-0 flex-1 flex-col border-l\"><div class=\"flex h-10 shrink-0 items-center justify-between border-b px-3\"><span class=\"text-sm font-medium\">${escape_html(currentPanel().label)}</span> `);\n if (currentPanel().actions) {\n $$renderer3.push(\"<!--[0-->\");\n currentPanel().actions($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n Scroll_area($$renderer3, {\n class: \"flex-1\",\n get ref() {\n return scrollRef;\n },\n set ref($$value) {\n scrollRef = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(panels.filter((p) => p.keepMounted));\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let panel = each_array_1[$$index_1];\n $$renderer4.push(`<div${attr_class(\"contents\", void 0, { \"hidden\": panel.id !== activePanel })}>`);\n panel.content($$renderer4);\n $$renderer4.push(`<!----></div>`);\n }\n $$renderer4.push(`<!--]--> `);\n if (currentPanel() && !currentPanel().keepMounted) {\n $$renderer4.push(\"<!--[0-->\");\n currentPanel().content($$renderer4);\n $$renderer4.push(`<!---->`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { scrollRef });\n });\n}\nfunction Animation_preset_select($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { value, onChange } = $$props;\n const options = animationPresets;\n let originalValue = \"\";\n let isOpen = false;\n let wasSelected = false;\n const selectedPreset = derived(() => options.find((opt) => opt.id === value));\n const categoryLabels = { enter: \"Enter\", exit: \"Exit\", generic: \"Generic\" };\n const groupedPresets = derived(() => {\n const groups = new SvelteMap();\n for (const preset of options) {\n const category = preset.category;\n if (!groups.has(category)) groups.set(category, []);\n groups.get(category).push(preset);\n }\n return groups;\n });\n function handleOpenChange(open) {\n isOpen = open;\n if (open) {\n originalValue = value;\n wasSelected = false;\n } else {\n if (!wasSelected) {\n onChange(originalValue);\n }\n wasSelected = false;\n }\n }\n function handleHover(presetId) {\n if (!isOpen) return;\n onChange(presetId);\n }\n function handleLeave() {\n if (!isOpen) return;\n onChange(originalValue);\n }\n function handleClick(presetId) {\n wasSelected = true;\n originalValue = presetId;\n onChange(presetId);\n }\n if (Select_root) {\n $$renderer2.push(\"<!--[-->\");\n Select_root($$renderer2, {\n type: \"single\",\n value,\n onOpenChange: handleOpenChange,\n children: ($$renderer3) => {\n if (Select_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Select_trigger($$renderer3, {\n class: \"w-full flex-1\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(selectedPreset()?.name ?? \"Select animation\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Select_content) {\n $$renderer3.push(\"<!--[-->\");\n Select_content($$renderer3, {\n class: \"max-h-[calc(50vh)] w-64 p-0\",\n onmouseleave: handleLeave,\n side: \"left\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array = ensure_array_like([...groupedPresets().entries()]);\n for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n let [category, presets] = each_array[$$index_1];\n if (presets.length > 0) {\n $$renderer4.push(\"<!--[0-->\");\n if (Select_group) {\n $$renderer4.push(\"<!--[-->\");\n Select_group($$renderer4, {\n children: ($$renderer5) => {\n if (Select_label) {\n $$renderer5.push(\"<!--[-->\");\n Select_label($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(categoryLabels[category])}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` <!--[-->`);\n const each_array_1 = ensure_array_like(presets);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let preset = each_array_1[$$index];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: preset.id,\n onmouseenter: () => handleHover(preset.id),\n onclick: () => handleClick(preset.id),\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(preset.name)}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Scaled_canvas($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n layers,\n currentTime,\n projectDuration,\n viewportSize,\n project,\n isPlaying = false,\n overlay\n /** Optional snippet rendered on top of the canvas (progress bar, hints, etc.) */\n } = $$props;\n const containerHeight = derived(() => 0);\n $$renderer2.push(`<div class=\"relative w-full overflow-hidden bg-black\"${attr_style(\"\", { height: `${stringify(containerHeight())}px` })}>`);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (overlay) {\n $$renderer2.push(\"<!--[0-->\");\n overlay($$renderer2);\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction Time_range_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { layer } = $$props;\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let selectedPresetId = derived(() => \"\");\n let presetDuration = derived(() => 1);\n let presetParams = {};\n let previewTime = 0;\n const activePreset = derived(() => selectedPresetId() ? getPresetById(selectedPresetId()) : void 0);\n const previewViewport = derived(() => ({\n width: projectStore().state.width,\n height: projectStore().state.height\n }));\n const previewLayer = derived(() => {\n const base = {\n ...layer,\n enterTime: 0,\n exitTime: presetDuration() * 2,\n keyframes: []\n };\n if (!activePreset()) return base;\n return {\n ...base,\n keyframes: activePreset().build({ ...activePreset().defaults, ...presetParams }).map((kf2) => ({\n id: crypto.randomUUID(),\n time: kf2.time * presetDuration(),\n // seconds\n property: kf2.property,\n value: kf2.value,\n interpolation: kf2.interpolation\n }))\n };\n });\n const previewTimeSec = derived(() => previewTime * presetDuration());\n const selectedPreset = derived(() => selectedPresetId() ? getPresetById(selectedPresetId()) : void 0);\n function applyTimePreset(position = \"current\") {\n if (!selectedPresetId()) return;\n let startTime;\n switch (position) {\n case \"start\":\n startTime = layer.enterTime ?? 0;\n break;\n case \"end\":\n startTime = (layer.exitTime ?? projectStore().state.duration) - presetDuration();\n break;\n default:\n startTime = projectStore().currentTime;\n }\n projectStore().applyPreset(layer.id, selectedPresetId(), startTime, presetDuration(), presetParams);\n selectedPresetId(\"\");\n presetDuration(1);\n presetParams = {};\n }\n Inputs_wrapper($$renderer2, {\n fields: [\n { for: `enter-time-${layer.id}`, labels: \"Enter (s)\" },\n { for: `exit-time-${layer.id}`, labels: \"Exit (s)\" }\n ],\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: `enter-time-${layer.id}`,\n value: layer.enterTime ?? 0,\n min: Math.max(0, (layer.exitTime ?? projectStore().state.duration) - (layer.contentDuration ?? 0)),\n max: layer.contentDuration !== void 0 ? Math.min(projectStore().state.duration, projectStore().state.duration - (layer.contentDuration - (layer.contentOffset ?? 0))) : projectStore().state.duration,\n step: 0.1,\n onchange: (v) => projectStore().setLayerEnterTime(layer.id, v),\n postFix: \"s\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: `exit-time-${layer.id}`,\n value: layer.exitTime ?? projectStore().state.duration,\n min: 0,\n max: Math.min(projectStore().state.duration, (layer.enterTime ?? 0) + (layer.contentDuration ?? 0)),\n step: 0.1,\n onchange: (v) => projectStore().setLayerExitTime(layer.id, v),\n postFix: \"s\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n $$renderer2.push(`<!----> `);\n if (layer.type === \"video\" || layer.type === \"audio\") {\n $$renderer2.push(\"<!--[0-->\");\n const contentDuration = layer.contentDuration ?? 0;\n const contentOffset = layer.contentOffset ?? 0;\n const hasDuration = contentDuration > 0;\n {\n let labelExtra = function($$renderer3) {\n if (hasDuration) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span class=\"text-[10px] text-muted-foreground/60\">Duration: ${escape_html(contentDuration.toFixed(1))}s</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Input_wrapper($$renderer2, {\n for: \"content-offset\",\n label: \"Start offset (s)\",\n labelExtra,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"content-offset\",\n value: contentOffset,\n min: 0,\n max: hasDuration ? contentDuration - 0.1 : void 0,\n step: 0.1,\n onchange: (v) => {\n const clamped = hasDuration ? Math.min(v, contentDuration - 0.1) : Math.max(0, v);\n projectStore().updateLayer(layer.id, { contentOffset: clamped });\n if (hasDuration && layer.exitTime !== void 0) {\n const enterTime = layer.enterTime ?? 0;\n const maxVisibleDuration = contentDuration - clamped;\n const maxExitTime = enterTime + maxVisibleDuration;\n if (layer.exitTime > maxExitTime) {\n projectStore().setLayerExitTime(layer.id, maxExitTime);\n }\n }\n },\n postFix: \"s\"\n });\n $$renderer3.push(`<!----> <p class=\"text-[10px] text-muted-foreground/70\">Where to start playing in the source media</p> `);\n if (!hasDuration && layer.props.src) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-[10px] text-muted-foreground/70\">Upload a new file to detect duration</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: () => projectStore().splitLayer(layer.id),\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Split at Playhead`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n let overlay = function($$renderer3) {\n if (activePreset()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"absolute bottom-0 left-0 h-0.5 w-full bg-white/10\"><div class=\"h-full bg-primary\"${attr_style(\"\", { width: `${stringify(previewTime * 100)}%` })}></div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"absolute inset-0 flex items-center justify-center bg-black/60 backdrop-blur-sm\"><p class=\"text-[10px] text-muted-foreground/70\">Select an animation to preview</p></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Scaled_canvas($$renderer2, {\n layers: [previewLayer()],\n currentTime: previewTimeSec(),\n projectDuration: presetDuration(),\n viewportSize: previewViewport(),\n isPlaying: !!activePreset(),\n project: projectStore().state,\n overlay\n });\n }\n $$renderer2.push(`<!----> `);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Apply Animation`);\n },\n $$slots: { default: true }\n });\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { for: \"animation-preset\", labels: \"Animation\" },\n { for: \"preset-duration\", labels: \"Duration\" }\n ],\n prefix,\n children: ($$renderer3) => {\n Animation_preset_select($$renderer3, {\n value: selectedPresetId(),\n onChange: (v) => {\n selectedPresetId(v);\n presetParams = { ...getPresetById(v)?.defaults };\n }\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"preset-duration\",\n value: presetDuration(),\n min: 0.1,\n step: 0.1,\n onchange: (v) => presetDuration(v),\n postFix: \"s\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n Inputs_wrapper($$renderer2, {\n fields: [\n ...selectedPreset()?.params?.includes(\"distance\") ? [{ for: \"preset-distance\", labels: \"Distance\" }] : [],\n ...selectedPreset()?.params?.includes(\"intensity\") ? [{ for: \"preset-intensity\", labels: \"Intensity\" }] : [],\n ...selectedPreset()?.params?.includes(\"fromScale\") ? [{ for: \"preset-from-scale\", labels: \"From Scale\" }] : []\n ],\n children: ($$renderer3) => {\n if (selectedPreset()?.params?.includes(\"distance\")) {\n $$renderer3.push(\"<!--[0-->\");\n Scrub_input($$renderer3, {\n id: \"preset-distance\",\n value: presetParams.distance ?? selectedPreset().defaults?.distance ?? 0,\n min: 1,\n step: 1,\n onchange: (v) => presetParams = { ...presetParams, distance: v },\n postFix: \"px\"\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (selectedPreset()?.params?.includes(\"intensity\")) {\n $$renderer3.push(\"<!--[0-->\");\n Scrub_input($$renderer3, {\n id: \"preset-intensity\",\n value: presetParams.intensity ?? selectedPreset().defaults?.intensity ?? 1,\n min: 0.1,\n max: 5,\n step: 0.1,\n onchange: (v) => presetParams = { ...presetParams, intensity: v }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (selectedPreset()?.params?.includes(\"fromScale\")) {\n $$renderer3.push(\"<!--[0-->\");\n Scrub_input($$renderer3, {\n id: \"preset-from-scale\",\n value: presetParams.fromScale ?? selectedPreset().defaults?.fromScale ?? 0,\n min: 0,\n max: 5,\n step: 0.1,\n onchange: (v) => presetParams = { ...presetParams, fromScale: v }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n $$renderer2.push(`<!----> `);\n if (Button_group) {\n $$renderer2.push(\"<!--[-->\");\n Button_group($$renderer2, {\n class: \"w-full\",\n children: ($$renderer3) => {\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: () => applyTimePreset(\"current\"),\n disabled: !selectedPresetId(),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->At Playhead`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: () => applyTimePreset(\"start\"),\n disabled: !selectedPresetId(),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->At Start`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: () => applyTimePreset(\"end\"),\n disabled: !selectedPresetId(),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->At End`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Scrub_xyz($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n valueX,\n valueY,\n valueZ,\n stepXY = 1,\n stepZ = 1,\n invertY = false,\n onchangeX,\n onchangeY,\n onchangeZ\n } = $$props;\n let isDragging = false;\n $$renderer2.push(`<button type=\"button\"${attr_class(\n clsx(cn(\"scrub-xyz flex items-center justify-center rounded p-1 transition-colors select-none\", {\n \"bg-primary/20 text-primary\": isDragging,\n \"hover:bg-muted/50\": !isDragging\n })),\n \"svelte-1ygae4v\"\n )} title=\"Drag: X/Y, Cmd/Ctrl+drag: Z, Shift: fine, Alt: coarse\">`);\n Move_3d($$renderer2, {\n class: cn(\"size-3.5 opacity-50 transition-opacity hover:opacity-80\", { \"opacity-100\": isDragging })\n });\n $$renderer2.push(`<!----></button>`);\n });\n}\nfunction Anchor_point_picker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { id, label, value, onchange } = $$props;\n const options = [\n { value: \"top-left\", label: \"Top Left\", icon: Arrow_up_left },\n { value: \"top-center\", label: \"Top Center\", icon: Arrow_up },\n { value: \"top-right\", label: \"Top Right\", icon: Arrow_up_right },\n { value: \"center-left\", label: \"Center Left\", icon: Arrow_left },\n { value: \"center\", label: \"Center\", icon: Locate },\n {\n value: \"center-right\",\n label: \"Center Right\",\n icon: Arrow_right\n },\n {\n value: \"bottom-left\",\n label: \"Bottom Left\",\n icon: Arrow_down_left\n },\n {\n value: \"bottom-center\",\n label: \"Bottom Center\",\n icon: Arrow_down\n },\n {\n value: \"bottom-right\",\n label: \"Bottom Right\",\n icon: Arrow_down_right\n }\n ];\n const currentLabel = derived(() => options.find((o) => o.value === value)?.label ?? \"Center\");\n Input_wrapper($$renderer2, {\n for: id,\n label,\n children: ($$renderer3) => {\n if (Root) {\n $$renderer3.push(\"<!--[-->\");\n Root($$renderer3, {\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n { variant: \"outline\", class: \"w-full justify-between\" },\n props,\n {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(currentLabel())} `);\n Chevron_down($$renderer6, { class: \"ml-2 h-4 w-4 opacity-50\" });\n $$renderer6.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Dropdown_menu_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Dropdown_menu_content) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_content($$renderer4, {\n class: \"w-56\",\n align: \"end\",\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"grid grid-cols-3 gap-0\"><!--[-->`);\n const each_array = ensure_array_like(options);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let option = each_array[$$index];\n const isSelected = value === option.value;\n const Icon2 = option.icon;\n {\n let child = function($$renderer6, { props }) {\n Button($$renderer6, spread_props([\n { variant: isSelected ? \"outline\" : \"ghost\", icon: Icon2 },\n props\n ]));\n };\n if (Dropdown_menu_item) {\n $$renderer5.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer5, {\n onclick: () => onchange(option.value),\n child,\n $$slots: { child: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n }\n $$renderer5.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n });\n });\n}\nfunction Transform_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { layer, currentValues, updateProperty, addKeyframe } = $$props;\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function updateTransformField(field, value) {\n projectStore().updateLayer(layer.id, { transform: { ...layer.transform, [field]: value } });\n }\n const scaleLocked = derived(() => layer.props._scaleLocked ?? false);\n const currentScaleX = derived(() => currentValues?.transform.scale.x ?? 1);\n const currentScaleY = derived(() => currentValues?.transform.scale.y ?? 1);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Position`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Scrub_xyz($$renderer3, {\n valueX: currentValues?.transform.position.x ?? 0,\n valueY: currentValues?.transform.position.y ?? 0,\n valueZ: currentValues?.transform.position.z ?? 0,\n stepXY: 1,\n stepZ: 1,\n onchangeX: (v) => updateProperty(\"position.x\", v, \"transform\"),\n onchangeY: (v) => updateProperty(\"position.y\", v, \"transform\"),\n onchangeZ: (v) => updateProperty(\"position.z\", v, \"transform\")\n });\n $$renderer3.push(`<!---->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { prop: \"position.x\", label: \"X\", id: \"transform.position.x\" },\n { prop: \"position.y\", label: \"Y\", id: \"transform.position.y\" },\n { prop: \"position.z\", label: \"Z\", id: \"transform.position.z\" }\n ].map((f) => ({\n for: f.id,\n labels: f.label,\n property: f.prop,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === f.prop)\n })),\n prefix,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"transform.position.x\",\n value: currentValues?.transform.position.x ?? 0,\n onchange: (v) => updateProperty(\"position.x\", v, \"transform\"),\n postFix: \"%\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.position.y\",\n value: currentValues?.transform.position.y ?? 0,\n onchange: (v) => updateProperty(\"position.y\", v, \"transform\"),\n postFix: \"%\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.position.z\",\n value: currentValues?.transform.position.z ?? 0,\n onchange: (v) => updateProperty(\"position.z\", v, \"transform\"),\n postFix: \"%\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Rotation`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Scrub_xyz($$renderer3, {\n valueX: currentValues?.transform.rotation.y ?? 0,\n valueY: currentValues?.transform.rotation.x ?? 0,\n valueZ: currentValues?.transform.rotation.z ?? 0,\n stepXY: 0.1,\n stepZ: 0.1,\n invertY: true,\n onchangeX: (v) => updateProperty(\"rotation.y\", v, \"transform\"),\n onchangeY: (v) => updateProperty(\"rotation.x\", v, \"transform\"),\n onchangeZ: (v) => updateProperty(\"rotation.z\", v, \"transform\")\n });\n $$renderer3.push(`<!---->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { prop: \"rotation.x\", label: \"X\", id: \"transform.rotation.x\" },\n { prop: \"rotation.y\", label: \"Y\", id: \"transform.rotation.y\" },\n { prop: \"rotation.z\", label: \"Z\", id: \"transform.rotation.z\" }\n ].map((f) => ({\n for: f.id,\n labels: f.label,\n property: f.prop,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === f.prop)\n })),\n prefix,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"transform.rotation.x\",\n value: currentValues?.transform.rotation.x ?? 0,\n step: 0.05,\n onchange: (v) => updateProperty(\"rotation.x\", v, \"transform\"),\n postFix: \"deg\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.rotation.y\",\n value: currentValues?.transform.rotation.y ?? 0,\n step: 0.05,\n onchange: (v) => updateProperty(\"rotation.y\", v, \"transform\"),\n postFix: \"deg\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.rotation.z\",\n value: currentValues?.transform.rotation.z ?? 0,\n step: 0.05,\n onchange: (v) => updateProperty(\"rotation.z\", v, \"transform\"),\n postFix: \"deg\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Scale`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Scrub_xyz($$renderer3, {\n valueX: currentScaleX(),\n valueY: currentScaleY(),\n valueZ: 0,\n stepXY: 0.05,\n stepZ: 0.05,\n onchangeX: (v) => updateProperty(\"scale.x\", v || 1, \"transform\"),\n onchangeY: (v) => updateProperty(\"scale.y\", v || 1, \"transform\"),\n onchangeZ: () => {\n }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"sm\",\n class: \"ml-auto h-6 px-2 text-xs\",\n title: scaleLocked() ? \"Unlock proportions\" : \"Lock proportions\",\n onclick: () => {\n const newLocked = !scaleLocked();\n const ratio = currentScaleX() / currentScaleY();\n projectStore().updateLayer(layer.id, {\n props: { ...layer.props, _scaleLocked: newLocked, _scaleRatio: ratio }\n });\n },\n children: ($$renderer4) => {\n if (scaleLocked()) {\n $$renderer4.push(\"<!--[0-->\");\n Link$1($$renderer4, { class: \"size-3\" });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Unlink($$renderer4, { class: \"size-3\" });\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!---->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { prop: \"scale.x\", label: \"X\", id: \"transform.scale.x\" },\n { prop: \"scale.y\", label: \"Y\", id: \"transform.scale.y\" }\n ].map((f) => ({\n for: f.id,\n labels: f.label,\n property: f.prop,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === f.prop)\n })),\n prefix,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"transform.scale.x\",\n value: currentScaleX(),\n step: 0.05,\n onchange: (v) => updateProperty(\"scale.x\", v || 1, \"transform\")\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.scale.y\",\n value: currentScaleY(),\n step: 0.05,\n onchange: (v) => updateProperty(\"scale.y\", v || 1, \"transform\")\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n Anchor_point_picker($$renderer2, {\n id: \"position-origin\",\n label: \"Canvas Origin\",\n value: layer.transform.positionOrigin ?? \"center\",\n onchange: (v) => updateTransformField(\"positionOrigin\", v)\n });\n $$renderer2.push(`<!----> `);\n Anchor_point_picker($$renderer2, {\n id: \"pivot-point\",\n label: \"Pivot Point\",\n value: layer.transform.anchor,\n onchange: (v) => updateTransformField(\"anchor\", v)\n });\n $$renderer2.push(`<!---->`);\n });\n}\nfunction AspectRatioToggle($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { layer, currentValues, onUpdate } = $$props;\n let aspectRatioLocked = derived(() => !!layer.props._aspectRatioLocked);\n function toggleAspectRatio() {\n const newLocked = !aspectRatioLocked();\n aspectRatioLocked(newLocked);\n onUpdate(\"_aspectRatioLocked\", newLocked);\n if (newLocked && currentValues.height !== 0) {\n const ratio = currentValues.width / currentValues.height;\n onUpdate(\"_aspectRatio\", ratio);\n }\n }\n $$renderer2.push(`<div class=\"ml-auto\">`);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: toggleAspectRatio,\n class: \"h-6 px-2 text-xs\",\n title: aspectRatioLocked() ? \"Unlock aspect ratio\" : \"Lock aspect ratio\",\n children: ($$renderer3) => {\n if (aspectRatioLocked()) {\n $$renderer3.push(\"<!--[0-->\");\n Link$1($$renderer3, { class: \"size-3\" });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Unlink($$renderer3, { class: \"size-3\" });\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n });\n}\nconst groupWidgets = {\n size: AspectRatioToggle\n};\nfunction getGroupWidget(groupId) {\n return groupWidgets[groupId];\n}\nfunction Property_group_renderer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const {\n layer,\n currentValues,\n updateProperty,\n addKeyframe,\n propertyMetadata,\n propertyGroups = [],\n targetPath,\n showKeyframes = true,\n customPropertyComponents = {}\n } = $$props;\n const propertyLayout = derived(() => {\n if (!propertyMetadata.length) return { items: [] };\n const renderedGroupIds = new SvelteSet();\n const items = [];\n for (const meta of propertyMetadata) {\n if (meta.meta?.hidden) continue;\n if (meta.meta?.widget === \"background\") continue;\n const groupId = meta.meta?.group;\n if (groupId) {\n if (renderedGroupIds.has(groupId)) continue;\n renderedGroupIds.add(groupId);\n const group = propertyGroups.find((g) => g.id === groupId);\n if (group) {\n const groupFields = propertyMetadata.filter((m) => m.meta?.group === groupId);\n items.push({ kind: \"group\", group, fields: groupFields });\n continue;\n }\n }\n items.push({ kind: \"field\", field: meta });\n }\n return { items };\n });\n const getCurrentValue = (fieldName) => {\n const target = currentValues?.[targetPath];\n return target?.[fieldName];\n };\n const customComponents = derived(() => {\n if (!customPropertyComponents) return [];\n return Object.entries(customPropertyComponents);\n });\n const getAnimatablePropertyName = (fieldName) => {\n if (targetPath === \"props\") {\n return `props.${fieldName}`;\n }\n return fieldName;\n };\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(propertyLayout().items);\n for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n let item = each_array[$$index_1];\n if (item.kind === \"group\") {\n $$renderer2.push(\"<!--[0-->\");\n {\n let prefix = function($$renderer3) {\n const GroupWidget = item.group.widget ?? getGroupWidget(item.group.id);\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(item.group.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n if (GroupWidget && currentValues) {\n $$renderer3.push(\"<!--[0-->\");\n const groupValues = Object.fromEntries(item.fields.map((f) => [f.name, getCurrentValue(f.name)]));\n const Widget = GroupWidget;\n if (Widget) {\n $$renderer3.push(\"<!--[-->\");\n Widget($$renderer3, {\n layer,\n groupId: item.group.id,\n currentValues: groupValues,\n onUpdate: (prop, val) => updateProperty(prop, val, targetPath)\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: item.fields.map((field) => {\n const animProp = getAnimatablePropertyName(field.name);\n return {\n for: `${targetPath}.${field.name}`,\n labels: field.description || field.name,\n ...showKeyframes ? {\n property: animProp,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === animProp)\n } : {\n property: void 0,\n addKeyframe: void 0,\n hasKeyframes: false\n }\n };\n }),\n prefix,\n children: ($$renderer3) => {\n $$renderer3.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(item.fields);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let field = each_array_1[$$index];\n Input_property($$renderer3, {\n metadata: field,\n value: getCurrentValue(field.name),\n onUpdateProp: (name, v) => updateProperty(name, v, targetPath),\n layer,\n targetPath\n });\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Input_wrapper($$renderer2, spread_props([\n {\n for: `${targetPath}.${item.field.name}`,\n label: item.field.description || item.field.name\n },\n showKeyframes ? {\n property: getAnimatablePropertyName(item.field.name),\n addKeyframe\n } : { property: void 0, addKeyframe: void 0 },\n {\n children: ($$renderer3) => {\n Input_property($$renderer3, {\n metadata: item.field,\n value: getCurrentValue(item.field.name),\n onUpdateProp: (name, v) => updateProperty(name, v, targetPath),\n layer,\n targetPath\n });\n },\n $$slots: { default: true }\n }\n ]));\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_2 = ensure_array_like(customComponents());\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let [name, { component: CustomPropertyComponent }] = each_array_2[$$index_2];\n if (CustomPropertyComponent) {\n $$renderer2.push(\"<!--[-->\");\n CustomPropertyComponent($$renderer2, {\n layer,\n onUpdateProp: (name2, v) => updateProperty(name2, v, targetPath),\n addKeyframe\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Style_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { currentValues, updateProperty, addKeyframe, layer } = $$props;\n const stylePropertyMetadata = derived(() => {\n return extractPropertyMetadata(LayerStyleSchema);\n });\n Property_group_renderer($$renderer2, {\n layer,\n currentValues,\n updateProperty,\n addKeyframe,\n propertyMetadata: stylePropertyMetadata(),\n propertyGroups: stylePropertyGroups,\n targetPath: \"style\"\n });\n });\n}\nfunction Interpolation_select($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const id = props_id($$renderer2);\n const { layerType, property, value, onChange: onchange } = $$props;\n let hoveredStrategy = null;\n let previewTime = 0;\n let animationFrameId = null;\n const supportedFamilies = derived(() => getSupportedInterpolationFamilies(layerType, property));\n const activeFamily = derived(() => {\n if (!value) {\n return supportedFamilies()[0];\n }\n return value.family;\n });\n const hasMultipleFamilies = derived(() => supportedFamilies().length > 1);\n const currentFamilyOptions = derived(() => getStrategyOptionsForFamilies([activeFamily()]));\n const familyLabels = {\n continuous: \"Continuous\",\n discrete: \"Discrete\",\n quantized: \"Quantized\",\n text: \"Text\"\n };\n const currentStrategy = derived(() => value?.strategy);\n const hoveredOption = derived(() => currentFamilyOptions().find((opt) => opt.strategy === hoveredStrategy));\n function handleFamilyChange(family) {\n let newInterpolation;\n switch (family) {\n case \"continuous\":\n newInterpolation = { family: \"continuous\", strategy: \"ease-in-out\" };\n break;\n case \"discrete\":\n newInterpolation = { family: \"discrete\", strategy: \"step-end\" };\n break;\n case \"quantized\":\n newInterpolation = { family: \"quantized\", strategy: \"integer\" };\n break;\n case \"text\":\n newInterpolation = { family: \"text\", strategy: \"char-reveal\" };\n break;\n }\n onchange(newInterpolation);\n }\n function handleStrategyChange(strategy) {\n const family = activeFamily();\n let newInterpolation;\n switch (family) {\n case \"continuous\":\n newInterpolation = { family: \"continuous\", strategy };\n break;\n case \"discrete\":\n newInterpolation = { family: \"discrete\", strategy };\n break;\n case \"quantized\":\n if (strategy === \"integer\") {\n newInterpolation = { family: \"quantized\", strategy: \"integer\" };\n } else {\n const increment = value && \"increment\" in value ? value.increment : 10;\n newInterpolation = { family: \"quantized\", strategy: \"snap-grid\", increment };\n }\n break;\n case \"text\":\n if (strategy === \"char-reveal\") {\n newInterpolation = { family: \"text\", strategy: \"char-reveal\" };\n } else {\n const separator = value && \"separator\" in value ? value.separator : \" \";\n newInterpolation = { family: \"text\", strategy: \"word-reveal\", separator };\n }\n break;\n }\n onchange(newInterpolation);\n }\n function startPreview(strategy) {\n hoveredStrategy = strategy;\n previewTime = 0;\n const startTime = performance.now();\n const duration = 1e3;\n function animate(currentTime) {\n const elapsed = currentTime - startTime;\n previewTime = elapsed % duration / duration;\n animationFrameId = requestAnimationFrame(animate);\n }\n animationFrameId = requestAnimationFrame(animate);\n }\n function stopPreview() {\n hoveredStrategy = null;\n previewTime = 0;\n if (animationFrameId !== null) {\n cancelAnimationFrame(animationFrameId);\n animationFrameId = null;\n }\n }\n function handleValueChange(newValue) {\n if (newValue) {\n handleStrategyChange(newValue);\n stopPreview();\n }\n }\n if (hasMultipleFamilies()) {\n $$renderer2.push(\"<!--[0-->\");\n Input_wrapper($$renderer2, {\n label: \"Family\",\n for: \"family\",\n children: ($$renderer3) => {\n if (Select_root) {\n $$renderer3.push(\"<!--[-->\");\n Select_root($$renderer3, {\n type: \"single\",\n value: activeFamily(),\n onValueChange: (v) => v && handleFamilyChange(v),\n children: ($$renderer4) => {\n if (Select_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Select_trigger($$renderer4, {\n id: \"family\",\n class: \"w-full\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->${escape_html(familyLabels[activeFamily()])}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Select_content) {\n $$renderer4.push(\"<!--[-->\");\n Select_content($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array = ensure_array_like(supportedFamilies());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let family = each_array[$$index];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: family,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(familyLabels[family])}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n Input_wrapper($$renderer2, {\n label: activeFamily() === \"continuous\" ? \"Easing:\" : \"Strategy:\",\n for: id,\n children: ($$renderer3) => {\n if (currentFamilyOptions().length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n if (Select_root) {\n $$renderer3.push(\"<!--[-->\");\n Select_root($$renderer3, {\n type: \"single\",\n value: currentStrategy(),\n onValueChange: handleValueChange,\n children: ($$renderer4) => {\n if (Select_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Select_trigger($$renderer4, {\n id,\n class: \"w-full\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->${escape_html(currentFamilyOptions().find((opt) => opt.strategy === currentStrategy())?.label ?? \"Select strategy\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Select_content) {\n $$renderer4.push(\"<!--[-->\");\n Select_content($$renderer4, {\n class: \"max-h-[calc(100vh-20rem)] p-0\",\n onmouseleave: stopPreview,\n align: \"start\",\n children: ($$renderer5) => {\n if (hoveredOption() && activeFamily() === \"continuous\") {\n $$renderer5.push(\"<!--[0-->\");\n Easing_curve_preview($$renderer5, { strategy: hoveredOption().strategy, progress: previewTime });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(currentFamilyOptions());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let option = each_array_1[$$index_1];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: option.strategy,\n onmouseenter: () => startPreview(option.strategy),\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(option.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n $$renderer2.push(`<!---->`);\n });\n}\nfunction Card_action($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n $$renderer2.push(`<div${attributes({\n \"data-slot\": \"card-action\",\n class: clsx(cn(\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\", className)),\n ...restProps\n })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Keyframe_segment($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let {\n segment,\n layerId,\n layerType,\n compact = false,\n onGoToPropertyClick\n } = $$props;\n const startKeyframe = derived(() => segment.startKeyframe), endKeyframe = derived(() => segment.endKeyframe), isFinal = derived(() => segment.isFinal);\n function getPropertyLabel(property) {\n if (property in BaseAnimatablePropertyLabels) {\n return BaseAnimatablePropertyLabels[property];\n }\n if (property.startsWith(\"props.\")) {\n const propName = property.slice(6);\n return propName.charAt(0).toUpperCase() + propName.slice(1);\n }\n return property;\n }\n function getPropertyIcon(property) {\n if (property.startsWith(\"rotation.\")) return Rotate_cw;\n if (property.startsWith(\"scale.\")) return Scale;\n if (isTransformProperty(property)) return Move;\n if (isStyleProperty(property)) return Eye;\n if (property === \"color\") return Palette;\n return Move;\n }\n function formatValue(value) {\n if (typeof value === \"number\") {\n return value.toFixed(2);\n }\n if (typeof value === \"boolean\") {\n return value ? \"true\" : \"false\";\n }\n return value;\n }\n function handleDeleteKeyframe(keyframeId) {\n projectStore().removeKeyframe(layerId, keyframeId);\n }\n function handleGoToTime() {\n projectStore().setCurrentTime(startKeyframe().time);\n }\n function handleTimeChange(newTime) {\n const clampedTime = Math.max(0, Math.min(newTime, projectStore().state.duration));\n projectStore().updateKeyframe(layerId, startKeyframe().id, { time: clampedTime });\n }\n function handleEndTimeChange(newTime) {\n if (!endKeyframe()) return;\n const clampedTime = Math.max(0, Math.min(newTime, projectStore().state.duration));\n projectStore().updateKeyframe(layerId, endKeyframe().id, { time: clampedTime });\n }\n function handleInterpolationChange(interpolation) {\n projectStore().updateKeyframe(layerId, startKeyframe().id, { interpolation });\n }\n const Icon2 = derived(() => getPropertyIcon(startKeyframe().property));\n function handleGoToProperty() {\n onGoToPropertyClick?.();\n navigateToProperty(startKeyframe().property, editorState());\n }\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n size: \"compact\",\n class: \"group bg-muted/20 transition-colors hover:bg-muted/40\",\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n size: \"compact\",\n class: \"flex items-center gap-2\",\n children: ($$renderer4) => {\n if (Icon2()) {\n $$renderer4.push(\"<!--[-->\");\n Icon2()($$renderer4, { class: \"h-4 w-4 text-muted-foreground\" });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"flex-1 text-sm\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->${escape_html(getPropertyLabel(startKeyframe().property))}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_action) {\n $$renderer4.push(\"<!--[-->\");\n Card_action($$renderer4, {\n class: \"flex gap-0.5\",\n children: ($$renderer5) => {\n Button($$renderer5, {\n variant: \"ghost\",\n size: \"icon-sm\",\n class: \"opacity-0 transition-opacity group-hover:opacity-100\",\n onclick: handleGoToTime,\n title: `Go to ${stringify(startKeyframe().time.toFixed(2))}s`,\n icon: Clock\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n variant: \"ghost\",\n size: \"icon-sm\",\n class: \"opacity-0 transition-opacity group-hover:opacity-100\",\n onclick: handleGoToProperty,\n title: \"Jump to property\",\n icon: Scan_search\n });\n $$renderer5.push(`<!----> `);\n if (Popover) {\n $$renderer5.push(\"<!--[-->\");\n Popover($$renderer5, {\n children: ($$renderer6) => {\n {\n let child = function($$renderer7, { props }) {\n Button($$renderer7, spread_props([\n {\n variant: \"ghost\",\n size: \"icon-sm\",\n class: \"opacity-0 transition-opacity group-hover:opacity-100\",\n icon: Trash_2,\n title: \"Delete keyframe\"\n },\n props\n ]));\n };\n if (Popover_trigger) {\n $$renderer6.push(\"<!--[-->\");\n Popover_trigger($$renderer6, { child, $$slots: { child: true } });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n }\n $$renderer6.push(` `);\n if (Popover_content) {\n $$renderer6.push(\"<!--[-->\");\n Popover_content($$renderer6, {\n class: \"w-64\",\n align: \"end\",\n side: \"left\",\n children: ($$renderer7) => {\n $$renderer7.push(`<div class=\"space-y-2\"><h4 class=\"leading-none font-medium\">Delete Keyframe</h4> <p class=\"text-sm text-muted-foreground\">`);\n if (compact) {\n $$renderer7.push(\"<!--[0-->\");\n $$renderer7.push(`Delete keyframe at ${escape_html(startKeyframe().time.toFixed(2))}s?`);\n } else if (isFinal()) {\n $$renderer7.push(\"<!--[1-->\");\n $$renderer7.push(`Delete keyframe at ${escape_html(startKeyframe().time.toFixed(2))}s?`);\n } else if (endKeyframe()) {\n $$renderer7.push(\"<!--[2-->\");\n $$renderer7.push(`Delete keyframes at ${escape_html(startKeyframe().time.toFixed(2))}s and ${escape_html(endKeyframe().time.toFixed(2))}s?`);\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]--> This cannot be undone.</p> <div class=\"flex justify-end gap-2 pt-2\">`);\n {\n let child = function($$renderer8, { props }) {\n Button($$renderer8, spread_props([\n { variant: \"outline\", size: \"sm\" },\n props,\n {\n children: ($$renderer9) => {\n $$renderer9.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_close) {\n $$renderer7.push(\"<!--[-->\");\n Popover_close($$renderer7, { child, $$slots: { child: true } });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n }\n $$renderer7.push(` `);\n {\n let child = function($$renderer8, { props }) {\n Button($$renderer8, spread_props([\n { variant: \"destructive\", size: \"sm\" },\n props,\n {\n onclick: () => {\n handleDeleteKeyframe(startKeyframe().id);\n if (!compact && endKeyframe()) {\n handleDeleteKeyframe(endKeyframe().id);\n }\n },\n children: ($$renderer9) => {\n $$renderer9.push(`<!---->Delete`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_close) {\n $$renderer7.push(\"<!--[-->\");\n Popover_close($$renderer7, { child, $$slots: { child: true } });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n }\n $$renderer7.push(`</div></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n size: \"compact\",\n class: \"space-y-2\",\n children: ($$renderer4) => {\n if (isFinal()) {\n $$renderer4.push(\"<!--[0-->\");\n if (compact) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex items-center gap-2 text-xs text-muted-foreground\"><span class=\"font-mono font-medium\">${escape_html(startKeyframe().time.toFixed(2))}s</span> <span>=</span> <span class=\"font-mono font-medium\">${escape_html(formatValue(startKeyframe().value))}</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Inputs_wrapper($$renderer4, {\n fields: [{ for: `final-time-${startKeyframe().id}`, labels: \"Time\" }],\n children: ($$renderer5) => {\n Scrub_input($$renderer5, {\n id: `final-time-${startKeyframe().id}`,\n value: startKeyframe().time,\n step: 0.01,\n min: 0,\n max: projectStore().state.duration,\n onchange: handleTimeChange,\n postFix: \"s\"\n });\n $$renderer5.push(`<!----> <div class=\"flex h-7 items-center rounded-md border border-input bg-muted px-2 font-mono text-sm tabular-nums\">${escape_html(formatValue(startKeyframe().value))}</div>`);\n }\n });\n }\n $$renderer4.push(`<!--]--> <div class=\"flex items-center gap-1 text-[10px] text-muted-foreground\"><span>⏹ Final value (holds)</span></div>`);\n } else if (endKeyframe()) {\n $$renderer4.push(\"<!--[1-->\");\n if (compact) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex items-center gap-2 text-xs text-muted-foreground\"><span class=\"font-mono font-medium\">${escape_html(startKeyframe().time.toFixed(2))}s</span> <span class=\"font-mono\">${escape_html(formatValue(startKeyframe().value))}</span> <span>→</span> <span class=\"font-mono font-medium\">${escape_html(endKeyframe().time.toFixed(2))}s</span> <span class=\"font-mono\">${escape_html(formatValue(endKeyframe().value))}</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Inputs_wrapper($$renderer4, {\n fields: [\n {\n for: `start-time-${startKeyframe().id}`,\n labels: \"From\",\n postFix: `= ${formatValue(startKeyframe().value)}`\n },\n {\n for: `end-time-${endKeyframe().id}`,\n labels: \"To\",\n postFix: `= ${formatValue(endKeyframe().value)}`\n }\n ],\n children: ($$renderer5) => {\n Scrub_input($$renderer5, {\n id: `start-time-${startKeyframe().id}`,\n value: startKeyframe().time,\n step: 0.01,\n min: 0,\n max: projectStore().state.duration,\n onchange: handleTimeChange,\n postFix: \"s\"\n });\n $$renderer5.push(`<!----> `);\n Scrub_input($$renderer5, {\n id: `end-time-${endKeyframe().id}`,\n value: endKeyframe().time,\n step: 0.01,\n min: 0,\n max: projectStore().state.duration,\n onchange: handleEndTimeChange,\n postFix: \"s\"\n });\n $$renderer5.push(`<!---->`);\n }\n });\n $$renderer4.push(`<!----> `);\n Interpolation_select($$renderer4, {\n layerType,\n property: startKeyframe().property,\n value: startKeyframe().interpolation,\n onChange: handleInterpolationChange\n });\n $$renderer4.push(`<!---->`);\n }\n $$renderer4.push(`<!--]-->`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction groupKeyframesIntoSegments(keyframes, property) {\n const propertyKeyframes = keyframes.filter((kf2) => kf2.property === property).sort((a, b) => a.time - b.time);\n if (propertyKeyframes.length === 0) return [];\n return propertyKeyframes.map((kf2, i) => {\n const endKeyframe = propertyKeyframes[i + 1];\n const isFinal = !endKeyframe;\n const isHold = !isFinal && kf2.value === endKeyframe.value;\n return {\n startKeyframe: kf2,\n endKeyframe,\n property,\n interpolation: kf2.interpolation,\n isFinal,\n isHold\n };\n });\n}\nfunction getUniqueProperties(keyframes) {\n const properties = /* @__PURE__ */ new Set();\n for (const kf2 of keyframes) {\n properties.add(kf2.property);\n }\n return Array.from(properties).sort();\n}\nfunction Layer_keyframes($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { layer } = $$props;\n let selectedProperty = \"all\";\n const availableProperties = derived(() => {\n const properties = getUniqueProperties(layer.keyframes);\n return [\"all\", ...properties];\n });\n const segments = derived(() => {\n if (selectedProperty === \"all\") {\n const properties = getUniqueProperties(layer.keyframes);\n return properties.flatMap((prop) => groupKeyframesIntoSegments(layer.keyframes, prop)).filter((seg) => !seg.isFinal && !seg.isHold);\n } else {\n return groupKeyframesIntoSegments(layer.keyframes, selectedProperty).filter((seg) => !seg.isFinal && !seg.isHold);\n }\n });\n function formatPropertyLabel(property) {\n if (property === \"all\") return \"All Properties\";\n if (property.startsWith(\"props.\")) {\n const propName = property.slice(6);\n return propName.charAt(0).toUpperCase() + propName.slice(1);\n }\n const parts = property.split(\".\");\n if (parts.length === 2) {\n const [category, axis] = parts;\n return `${category.charAt(0).toUpperCase() + category.slice(1)} ${axis.toUpperCase()}`;\n }\n return property.charAt(0).toUpperCase() + property.slice(1);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (availableProperties().length > 2) {\n $$renderer3.push(\"<!--[0-->\");\n Input_wrapper($$renderer3, {\n label: \"Filter\",\n for: \"property-filter\",\n children: ($$renderer4) => {\n Select_1($$renderer4, {\n trigger: { id: \"property-filter\" },\n options: availableProperties().map((property) => ({ value: property, label: formatPropertyLabel(property) })),\n get value() {\n return selectedProperty;\n },\n set value($$value) {\n selectedProperty = $$value;\n $$settled = false;\n }\n });\n }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"space-y-2\">`);\n if (segments().length === 0) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"py-4 text-center text-sm text-muted-foreground\">No keyframes found</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<!--[-->`);\n const each_array = ensure_array_like(segments());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let segment = each_array[$$index];\n Keyframe_segment($$renderer3, { segment, layerId: layer.id, layerType: layer.type });\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction Keyframes_group($$renderer, $$props) {\n const { layer } = $$props;\n Layer_keyframes($$renderer, { layer });\n}\nfunction Layer_properties_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { layer, currentValues, updateProperty, addKeyframe } = $$props;\n const isProjectSettings = derived(() => isProjectLayer(layer.id));\n const layerPropertyMetadata = derived(() => {\n const schema = getLayerSchema(layer.type);\n return extractPropertyMetadata(schema);\n });\n const layerDefinition = derived(() => {\n return getLayerDefinition(layer.type);\n });\n Property_group_renderer($$renderer2, {\n layer,\n currentValues,\n updateProperty,\n addKeyframe,\n propertyMetadata: layerPropertyMetadata(),\n propertyGroups: layerDefinition()?.propertyGroups,\n targetPath: \"props\",\n showKeyframes: !isProjectSettings(),\n customPropertyComponents: layerDefinition().customPropertyComponents\n });\n });\n}\nfunction Templates_panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let activeTemplateId = null;\n const activeTemplate = derived(() => activeTemplateId ? getTemplateById(activeTemplateId) : null);\n function handleComplete() {\n activeTemplateId = null;\n }\n function handleCancel() {\n activeTemplateId = null;\n }\n if (activeTemplate()) {\n $$renderer2.push(\"<!--[0-->\");\n Template_wizard($$renderer2, {\n template: activeTemplate(),\n projectStore: projectStore(),\n onComplete: handleComplete,\n onCancel: handleCancel,\n onSetAiStreaming: (v) => editorState().isAiStreaming = v,\n inProject: true\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"p-4\">`);\n if (templateRegistry.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center py-8\"><p class=\"text-sm text-muted-foreground\">No templates available</p></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"grid gap-3\" style=\"grid-template-columns: repeat(auto-fill, minmax(180px, 1fr))\"><!--[-->`);\n const each_array = ensure_array_like(templateRegistry);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let template = each_array[$$index];\n $$renderer2.push(`<button class=\"group flex flex-col overflow-hidden rounded-lg border bg-card text-left transition-colors hover:border-primary/50 hover:bg-accent/50\"><div class=\"aspect-video w-full overflow-hidden bg-muted\"><img${attr(\"src\", template.thumbnail)}${attr(\"alt\", template.name)} class=\"h-full w-full object-cover transition-transform group-hover:scale-105\" loading=\"lazy\"/></div> <div class=\"p-2\"><div class=\"flex items-center gap-1.5\">`);\n if (template.icon) {\n $$renderer2.push(\"<!--[0-->\");\n const Icon2 = template.icon;\n if (Icon2) {\n $$renderer2.push(\"<!--[-->\");\n Icon2($$renderer2, { class: \"h-3.5 w-3.5 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <h3 class=\"text-xs font-medium\">${escape_html(template.name)}</h3> `);\n if (template.isPro) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"ml-auto rounded bg-amber-500/15 px-1 py-0.5 text-[9px] font-semibold tracking-wide text-amber-600 uppercase dark:text-amber-400\">Pro</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <p class=\"mt-0.5 text-[10px] leading-tight text-muted-foreground\">${escape_html(template.description)}</p></div></button>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nconst PLACEHOLDER_ASSETS = {\n VIDEO_LANDSCAPE: \"\"\n};\nfunction typeScale(d) {\n const base = Math.min(d.width, d.height) / d.width * 100;\n const r = (v) => Math.round(v * 10) / 10;\n return {\n hero: r(base * 0.11),\n h1: r(base * 0.065),\n h2: r(base * 0.045),\n h3: r(base * 0.03),\n body: r(base * 0.022),\n caption: r(base * 0.016),\n eyebrow: r(base * 0.014)\n };\n}\nfunction lineHeight(scale) {\n switch (scale) {\n case \"tight\":\n return 1.1;\n case \"normal\":\n return 1.4;\n case \"relaxed\":\n return 1.7;\n }\n}\nfunction palette(primary) {\n const c = colord(primary);\n return {\n primary,\n primaryLight: c.lighten(0.15).toHex(),\n primaryDark: c.darken(0.2).toHex(),\n onPrimary: c.isLight() ? \"#000000\" : \"#ffffff\"\n };\n}\nconst themes = {\n dark: {\n bg: \"#0a0a0b\",\n text: \"#f1f5f9\",\n muted: \"#94a3b8\",\n border: \"#27272a\"\n },\n light: {\n text: \"#1e293b\",\n muted: \"#64748b\"\n }\n};\nfunction spacing(d) {\n const unit = Math.min(d.width, d.height) / d.width * 2;\n const r = (v) => Math.round(v * 10) / 10;\n return {\n xs: r(unit * 0.5),\n sm: r(unit),\n md: r(unit * 2),\n lg: r(unit * 3),\n xl: r(unit * 5)\n };\n}\nfunction kfReveal(time, value) {\n return {\n id: nanoid(),\n time,\n property: \"props.content\",\n value,\n interpolation: { family: \"text\", strategy: \"word-reveal\" }\n };\n}\nfunction kfCharReveal(time, value) {\n return {\n id: nanoid(),\n time,\n property: \"props.content\",\n value,\n interpolation: { family: \"text\", strategy: \"char-reveal\" }\n };\n}\nconst textTransition = {\n soft: {\n transitionEffects: [\"fade\", \"blur\", \"slide-up\"],\n transitionDuration: 450,\n transitionEasing: \"ease-out-quad\",\n slideDistance: 2.5,\n blurAmount: 0.8\n },\n punchy: {\n transitionEffects: [\"scale\", \"fade\", \"slide-up\"],\n transitionDuration: 280,\n transitionEasing: \"ease-out-back\",\n slideDistance: 1.5,\n scaleFrom: 0.6,\n blurAmount: 0.5\n }\n};\nconst fadeIn = (start, dur) => getPresetKeyframes(\"fade-in\", start, dur);\nconst revealUp = (start, dur, y, distance = 25) => getPresetKeyframes(\"reveal-up\", start, dur, { y }, { distance });\nfunction textLeft(leftEdgeX, w) {\n return round1(leftEdgeX + w / 2);\n}\nfunction textCenter(centerX) {\n return round1(centerX);\n}\nconst scenePresets = [\n // ════════════════════════════════════════════════════════════════════════════\n // MEDIA & TEXT\n // ════════════════════════════════════════════════════════════════════════════\n // 1. Hero Left, Laptop Right\n {\n id: \"hero-laptop\",\n name: \"Hero + Laptop\",\n description: \"Bold headline and subtitle on the left, 3D laptop reveal on the right\",\n categories: [\"media & text\"],\n duration: 8,\n previewTime: 2.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const left = splitLeft(d, 0.45);\n const right = splitRight(d, 0.7);\n const dev = deviceSize(d, \"laptop\");\n const textStartX = -45;\n const textW = round1(left.width * 0.8);\n const group = createLayer(\"group\", {\n props: { background: { type: \"dynamic\", variant: \"silk\", speed: 0.5, intensity: 0.5 } },\n layer: { id: groupId, name: \"Hero + Laptop\", enterTime: 0, exitTime: dur }\n });\n const glow = createLayer(\"shape\", {\n props: {\n width: round1(ar * 90),\n height: round1(ar * 90),\n shapeType: \"circle\",\n background: pal.primaryDark,\n strokeWidth: 0\n },\n transform: { position: { x: right.x, y: 0, z: -20 } },\n style: { opacity: 0.2, blur: round1(ar * 15) },\n layer: { name: \"Glow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const eyebrowW = round1(textW * 0.5);\n const eyebrowY = -(ar * 35);\n const eyebrow = createLayer(\"text\", {\n props: {\n content: \"INTRODUCING\",\n fontSize: t.eyebrow,\n fontWeight: \"600\",\n color: pal.primary,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: eyebrowW\n },\n transform: { position: { x: textLeft(textStartX, eyebrowW), y: eyebrowY, z: 0 } },\n keyframes: revealUp(0, 0.5, eyebrowY, sp.sm),\n layer: { name: \"Eyebrow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const headY = -(ar * 12);\n const headline = createLayer(\"text\", {\n props: {\n content: \"The Simplest Way\\nto Present Your Work\",\n fontSize: t.h1,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: textW\n },\n transform: { position: { x: textLeft(textStartX, textW), y: headY, z: 0 } },\n keyframes: revealUp(0.2, 0.7, headY, sp.md),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.2, exitTime: dur }\n });\n const descY = ar * 10;\n const desc = createLayer(\"text\", {\n props: {\n content: \"Create stunning demos and feature\\nvideos — in minutes, not hours.\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"left\",\n lineHeight: lineHeight(\"relaxed\"),\n autoWidth: false,\n width: textW\n },\n transform: { position: { x: textLeft(textStartX, textW), y: descY, z: 0 } },\n keyframes: revealUp(0.5, 0.7, descY, sp.sm),\n layer: { name: \"Description\", parentId: groupId, enterTime: 0.5, exitTime: dur }\n });\n const ctaW = 16;\n const ctaH = round1(ar * 6.5);\n const ctaY = ar * 28;\n const ctaX = textLeft(textStartX, ctaW);\n const ctaBg = createLayer(\"shape\", {\n props: {\n width: ctaW,\n height: ctaH,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0,\n borderRadius: round1(ctaH / 2)\n },\n transform: { position: { x: ctaX, y: ctaY, z: 0 } },\n keyframes: getPresetKeyframes(\"scale-in\", 1.2, 0.6, void 0, { fromScale: 0.7 }),\n layer: { name: \"CTA Bg\", parentId: groupId, enterTime: 1.2, exitTime: dur }\n });\n const ctaText = createLayer(\"text\", {\n props: {\n content: \"Get started →\",\n fontSize: t.caption,\n fontWeight: \"600\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: ctaW\n },\n transform: { position: { x: ctaX, y: ctaY, z: 1 } },\n keyframes: fadeIn(1.3, 0.5),\n layer: { name: \"CTA\", parentId: groupId, enterTime: 1.3, exitTime: dur }\n });\n const lapZ0 = 448;\n const lapZ1 = -2e3;\n const lapZ2 = -840;\n const lapY0 = round1(ar * 60);\n const lapY1 = round1(ar * 50);\n const lapX = -14;\n const laptop = createLayer(\"laptop\", {\n props: { url: \"/demo/skeleton.html\", ...dev, openAngle: 180 },\n transform: {\n position: { x: lapX, y: lapY0, z: lapZ0 },\n rotation: { x: 0, y: 0, z: 0 },\n anchor: \"center-left\"\n },\n keyframes: [\n // t=0: far away, flat perspective (fully open lid, top-down view)\n kf(0, \"position.y\", lapY0),\n kf(0, \"position.z\", lapZ0),\n kf(0, \"rotation.x\", 0),\n kf(0, \"props.openAngle\", 180),\n // t=1.3s: tilt into 3D view, partially close\n kf(1.3, \"rotation.x\", 1.45, \"ease-in-out\"),\n kf(1.3, \"props.openAngle\", 106, \"ease-in-out\"),\n kf(1.3, \"position.z\", lapZ1, \"ease-in-out\"),\n kf(1.3, \"position.y\", lapY1, \"ease-in-out\"),\n // t=2.0s: continue closing toward readable angle\n kf(2, \"props.openAngle\", 64, \"ease-in-out\"),\n kf(2, \"rotation.x\", 1.1, \"ease-in-out\"),\n // t=2.5s: settle at final presentation angle\n kf(2.5, \"position.z\", lapZ2, \"ease-in-out\"),\n kf(2.5, \"position.y\", lapY1, \"ease-in-out\"),\n kf(2.5, \"props.openAngle\", 73, \"ease-in-out\")\n ],\n layer: { name: \"Laptop\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n return [group, glow, eyebrow, headline, desc, ctaBg, ctaText, laptop];\n }\n },\n // 2. Media Left, Text Right\n {\n id: \"media-text-split\",\n name: \"Media + Text Split\",\n description: \"Video tilts in on the left while headline and copy reveal on the right\",\n categories: [\"media & text\"],\n duration: 8,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const vid = videoSize(d, { scale: 0.42 });\n const rightTextStartX = 6;\n const rightTextW = 40;\n const group = createLayer(\"group\", {\n props: { background: th.bg },\n layer: { id: groupId, name: \"Media + Text\", enterTime: 0, exitTime: dur }\n });\n const video = createLayer(\"video\", {\n props: {\n src: PLACEHOLDER_ASSETS.VIDEO_LANDSCAPE,\n ...vid,\n borderRadius: round1(ar * 2),\n frame: \"shadow\"\n },\n transform: { position: { x: -26, y: 0, z: 0 } },\n keyframes: [\n ...getPresetKeyframes(\"slide-in-left\", 0, 1.1, { x: -26 }, { distance: 40 }),\n kf(0, \"rotation.y\", 0.35),\n kf(1.1, \"rotation.y\", 0, \"ease-out\")\n ],\n layer: { name: \"Video\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const separator = createLayer(\"shape\", {\n props: {\n width: 0.3,\n height: round1(ar * 45),\n shapeType: \"rectangle\",\n background: th.border,\n strokeWidth: 0\n },\n transform: { position: { x: 1, y: 0, z: 0 } },\n keyframes: getPresetKeyframes(\"wipe-down\", 0.4, 0.6),\n layer: { name: \"Separator\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const catW = round1(rightTextW * 0.6);\n const catY = -(ar * 33);\n const category = createLayer(\"text\", {\n props: {\n content: \"NEW RELEASE\",\n fontSize: t.eyebrow,\n fontWeight: \"600\",\n color: pal.primary,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: catW\n },\n transform: { position: { x: textLeft(rightTextStartX, catW), y: catY, z: 0 } },\n keyframes: fadeIn(0.5, 0.6),\n layer: { name: \"Category\", parentId: groupId, enterTime: 0.5, exitTime: dur }\n });\n const headY = -(ar * 10);\n const headline = createLayer(\"text\", {\n props: {\n content: \"Built Different.\\nBuilt to Last.\",\n fontSize: t.h1,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: rightTextW\n },\n transform: { position: { x: textLeft(rightTextStartX, rightTextW), y: headY, z: 0 } },\n keyframes: revealUp(0.7, 0.7, headY, sp.md),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.7, exitTime: dur }\n });\n const bodyY = ar * 12;\n const body = createLayer(\"text\", {\n props: {\n content: \"Engineered from the ground up for teams\\nwho ship fast and demand quality.\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"left\",\n lineHeight: lineHeight(\"relaxed\"),\n autoWidth: false,\n width: rightTextW\n },\n transform: { position: { x: textLeft(rightTextStartX, rightTextW), y: bodyY, z: 0 } },\n keyframes: revealUp(1, 0.7, bodyY, sp.sm),\n layer: { name: \"Body\", parentId: groupId, enterTime: 1, exitTime: dur }\n });\n const ctaY = ar * 28;\n const ctaW = round1(rightTextW * 0.5);\n const cta = createLayer(\"text\", {\n props: {\n content: \"Learn more →\",\n fontSize: t.body,\n fontWeight: \"600\",\n color: pal.primary,\n textAlign: \"left\",\n autoWidth: false,\n width: ctaW\n },\n transform: { position: { x: textLeft(rightTextStartX, ctaW), y: ctaY, z: 0 } },\n keyframes: getPresetKeyframes(\n \"reveal-right\",\n 1.3,\n 0.7,\n { x: textLeft(rightTextStartX, ctaW) },\n { distance: sp.lg }\n ),\n layer: { name: \"CTA\", parentId: groupId, enterTime: 1.3, exitTime: dur }\n });\n return [group, video, separator, category, headline, body, cta];\n }\n },\n // 3. Phone Showcase\n {\n id: \"phone-showcase\",\n name: \"Phone Showcase\",\n description: \"Phone mockup pops in with headline above and subtitle below\",\n categories: [\"media & text\"],\n duration: 7,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 7;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const phone = deviceSize(d, \"phone\");\n const centerTextW = 70;\n const group = createLayer(\"group\", {\n props: { background: th.bg },\n layer: { id: groupId, name: \"Phone Showcase\", enterTime: 0, exitTime: dur }\n });\n const glow = createLayer(\"shape\", {\n props: {\n ...size(d, 0.5, 0.7),\n shapeType: \"circle\",\n background: pal.primaryDark,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: ar * 5, z: -20 } },\n style: { opacity: 0.15, blur: round1(ar * 12) },\n layer: { name: \"Glow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const headY = -(ar * 38);\n const headline = createLayer(\"text\", {\n props: {\n content: \"Designed for Mobile\",\n fontSize: t.h2,\n fontWeight: \"700\",\n color: th.text,\n textAlign: \"center\",\n autoWidth: false,\n width: centerTextW\n },\n transform: { position: { x: textCenter(0), y: headY, z: 0 } },\n keyframes: revealUp(0, 0.6, headY, sp.md),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const subY = -(ar * 30);\n const subtitle = createLayer(\"text\", {\n props: {\n content: \"A seamless experience on every screen\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"center\",\n autoWidth: false,\n width: centerTextW\n },\n transform: { position: { x: textCenter(0), y: subY, z: 0 } },\n keyframes: fadeIn(0.3, 0.6),\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 0.3, exitTime: dur }\n });\n const phoneMockup = createLayer(\"phone\", {\n props: { url: \"/demo/skeleton.html\", ...phone, zoom: 0.3 },\n transform: { position: { x: 0, y: ar * 6, z: 0 } },\n keyframes: getPresetKeyframes(\"pop\", 0.4, 0.8, void 0, { fromScale: 0.3 }),\n layer: { name: \"Phone\", parentId: groupId, enterTime: 0.4, exitTime: dur }\n });\n const badgeW = 50;\n const badge = createLayer(\"text\", {\n props: {\n content: \"Available on iOS & Android\",\n fontSize: t.caption,\n fontWeight: \"500\",\n color: pal.primary,\n textAlign: \"center\",\n autoWidth: false,\n width: badgeW\n },\n transform: { position: { x: textCenter(0), y: ar * 40, z: 0 } },\n keyframes: fadeIn(1.2, 0.6),\n layer: { name: \"Badge\", parentId: groupId, enterTime: 1.2, exitTime: dur }\n });\n return [group, glow, headline, subtitle, phoneMockup, badge];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // MEDIA ONLY\n // ════════════════════════════════════════════════════════════════════════════\n // 4. Video with Frame\n {\n id: \"video-frame\",\n name: \"Video Frame\",\n description: \"Centered video with elegant frame and subtle glow background\",\n categories: [\"media\"],\n duration: 6,\n previewTime: 1.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const pal = palette(primaryColor);\n const vid = videoSize(d, { scale: 0.75 });\n const group = createLayer(\"group\", {\n props: { background: themes.dark.bg },\n layer: { id: groupId, name: \"Video Frame\", enterTime: 0, exitTime: dur }\n });\n const glow = createLayer(\"shape\", {\n props: {\n ...size(d, 0.6, 0.6),\n shapeType: \"circle\",\n background: pal.primaryDark,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: 0, z: -20 } },\n style: { opacity: 0.12, blur: round1(ar * 15) },\n layer: { name: \"Glow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const video = createLayer(\"video\", {\n props: {\n src: PLACEHOLDER_ASSETS.VIDEO_LANDSCAPE,\n ...vid,\n borderRadius: round1(ar * 2),\n frame: \"mac-subtle\"\n },\n transform: { position: { x: 0, y: 0, z: 0 } },\n keyframes: [\n ...getPresetKeyframes(\"scale-in\", 0, 0.8, void 0, { fromScale: 0.85 }),\n kf(0, \"rotation.y\", 0.15),\n kf(0.8, \"rotation.y\", 0, \"ease-out\")\n ],\n layer: { name: \"Video\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n return [group, glow, video];\n }\n },\n // 5. Phone Mockup\n {\n id: \"phone-mockup\",\n name: \"Phone Mockup\",\n description: \"Clean phone device mockup on a gradient background\",\n categories: [\"media\"],\n duration: 6,\n previewTime: 1.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const pal = palette(primaryColor);\n const phone = deviceSize(d, \"phone\");\n const group = createLayer(\"group\", {\n props: {\n background: {\n type: \"linear\",\n angle: 145,\n stops: [\n { color: themes.dark.bg, position: 0 },\n { color: pal.primaryDark, position: 100 }\n ]\n }\n },\n layer: { id: groupId, name: \"Phone Mockup\", enterTime: 0, exitTime: dur }\n });\n const phoneMockup = createLayer(\"phone\", {\n props: { url: \"/demo/skeleton.html\", ...phone, zoom: 0.3 },\n transform: { position: { x: 0, y: 0, z: 0 } },\n keyframes: [\n ...getPresetKeyframes(\"slide-in-bottom\", 0, 0.9, { y: 0 }, { distance: ar * 40 }),\n kf(0, \"rotation.y\", -0.15),\n kf(0.9, \"rotation.y\", 0, \"ease-out\")\n ],\n layer: { name: \"Phone\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n return [group, phoneMockup];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // TEXT ONLY\n // ════════════════════════════════════════════════════════════════════════════\n // 6. Hero Headline\n {\n id: \"hero-headline\",\n name: \"Hero Headline\",\n description: \"Large centered headline with subtitle — clean fade and scale reveal\",\n categories: [\"text\"],\n duration: 6,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const centerW = 75;\n const group = createLayer(\"group\", {\n props: { background: th.bg },\n layer: { id: groupId, name: \"Hero Headline\", enterTime: 0, exitTime: dur }\n });\n const accentLine = createLayer(\"shape\", {\n props: {\n width: 5,\n height: 0.3,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: -(ar * 22), z: 0 } },\n keyframes: getPresetKeyframes(\"wipe-right\", 0, 0.4),\n layer: { name: \"Accent\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const headline = createLayer(\"text\", {\n props: {\n content: \"Your Bold Statement\\nGoes Right Here\",\n fontSize: t.hero,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"center\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 5), z: 0 } },\n keyframes: getPresetKeyframes(\"scale-in\", 0.15, 0.7, void 0, { fromScale: 0.9 }),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.15, exitTime: dur }\n });\n const subY = ar * 18;\n const subtitle = createLayer(\"text\", {\n props: {\n content: \"A supporting line that adds context and makes it compelling.\",\n fontSize: t.h3,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"center\",\n lineHeight: lineHeight(\"normal\"),\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: subY, z: 0 } },\n keyframes: revealUp(0.6, 0.7, subY, sp.md),\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 0.6, exitTime: dur }\n });\n return [group, accentLine, headline, subtitle];\n }\n },\n // 7. Word Reveal\n {\n id: \"word-reveal\",\n name: \"Word Reveal\",\n description: \"Kinetic word-by-word headline reveal with accent color\",\n categories: [\"text\"],\n duration: 6,\n previewTime: 2.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const bigFont = round1(t.hero * 1.15);\n const textW = 70;\n const leftX = -35;\n const group = createLayer(\"group\", {\n props: { background: \"#000000\" },\n layer: { id: groupId, name: \"Word Reveal\", enterTime: 0, exitTime: dur }\n });\n const rule = createLayer(\"shape\", {\n props: {\n width: 5,\n height: 0.3,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: {\n position: { x: textLeft(leftX, 5), y: -(ar * 26), z: 0 }\n },\n keyframes: getPresetKeyframes(\"wipe-right\", 0, 0.4),\n layer: { name: \"Rule\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const line1Y = -(ar * 10);\n const line1 = createLayer(\"text\", {\n props: {\n content: \"Make It\",\n fontSize: bigFont,\n fontWeight: \"900\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: 0.9,\n autoWidth: false,\n width: textW,\n ...textTransition.punchy\n },\n transform: { position: { x: textLeft(leftX, textW), y: line1Y, z: 0 } },\n keyframes: [kfReveal(0.1, \"\"), kfReveal(1.4, \"Make It\"), ...fadeIn(0.1, 0.2)],\n layer: { name: \"Line 1\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const line2Y = ar * 15;\n const line2 = createLayer(\"text\", {\n props: {\n content: \"Memorable.\",\n fontSize: bigFont,\n fontWeight: \"900\",\n color: pal.primary,\n textAlign: \"left\",\n lineHeight: 0.9,\n autoWidth: false,\n width: textW,\n ...textTransition.punchy\n },\n transform: { position: { x: textLeft(leftX, textW), y: line2Y, z: 0 } },\n keyframes: [kfReveal(0.9, \"\"), kfReveal(2.4, \"Memorable.\"), ...fadeIn(0.9, 0.2)],\n layer: { name: \"Line 2\", parentId: groupId, enterTime: 0.9, exitTime: dur }\n });\n const subY = ar * 36;\n const subW = 50;\n const subline = createLayer(\"text\", {\n props: {\n content: \"Create animations that stop the scroll.\",\n fontSize: t.h3,\n fontWeight: \"300\",\n color: th.muted,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: subW\n },\n transform: { position: { x: textLeft(leftX, subW), y: subY, z: 0 } },\n keyframes: revealUp(2, 0.7, subY, sp.sm),\n layer: { name: \"Subline\", parentId: groupId, enterTime: 2, exitTime: dur }\n });\n return [group, rule, line1, line2, subline];\n }\n },\n // 8. Feature Cards\n // {\n // id: 'feature-cards',\n // name: 'Feature Cards',\n // description: 'Section header with three feature cards that pop in with staggered animations',\n // categories: ['text'],\n // duration: 8,\n // previewTime: 2.5,\n // theme: 'light',\n // createLayers: (d: Dims, primaryColor: string) => {\n // const groupId = nanoid();\n // const dur = 8;\n // const t = typeScale(d);\n // const sp = spacing(d);\n // const pal = palette(primaryColor);\n // const th = themes.light;\n // const cols = columns(d, 3, 0.025);\n // const cardH = round1(d.height * 0.38);\n // const centerW = round1(d.width * 0.7);\n // const group = createLayer('group', {\n // props: { background: th.bg },\n // layer: { id: groupId, name: 'Feature Cards', enterTime: 0, exitTime: dur }\n // });\n // const labelW = round1(d.width * 0.3);\n // const label = createLayer('text', {\n // props: {\n // content: 'WHY CHOOSE US',\n // fontSize: t.eyebrow,\n // fontWeight: '600',\n // color: pal.primary,\n // textAlign: 'center',\n // letterSpacing: 0.5,\n // autoWidth: false,\n // width: labelW\n // },\n // transform: { position: { x: textCenter(0), y: -d.height * 0.44, z: 0 } },\n // keyframes: fadeIn(0, 0.5),\n // layer: { name: 'Label', parentId: groupId, enterTime: 0, exitTime: dur }\n // });\n // const headline = createLayer('text', {\n // props: {\n // content: \"Everything you need,\\nnothing you don't.\",\n // fontSize: t.h2,\n // fontWeight: '800',\n // color: th.text,\n // textAlign: 'center',\n // lineHeight: lineHeight('tight'),\n // autoWidth: false,\n // width: centerW\n // },\n // transform: { position: { x: textCenter(0), y: -d.height * 0.28, z: 0 } },\n // keyframes: revealUp(0.2, 0.6, -d.height * 0.28, sp.md),\n // layer: { name: 'Headline', parentId: groupId, enterTime: 0.2, exitTime: dur }\n // });\n // const cardTitles = ['Lightning Fast', 'Beautifully Simple', 'Always Reliable'];\n // const cardDescs = [\n // 'Renders in real time.\\nNo waiting, no lag.',\n // 'Intuitive by design.\\nLearn in minutes.',\n // 'Built with 99.9%\\nuptime guarantee.'\n // ];\n // const cardEmojis = ['⚡', '✦', '🛡'];\n // const cardColors = [pal.primary, '#ec4899', '#10b981'];\n // const layers: TypedLayer[] = [group, label, headline];\n // const times = stagger(0.8, 3, 0.18);\n // cols.forEach((col, i) => {\n // const delay = times[i];\n // // Badge size: small, proportional to card — ~5% of height\n // const iconSize = round1(d.height * 0.052);\n // const cardY = d.height * 0.12;\n // const cardW = round1(col.width * 0.95);\n // // Card inner layout (vertical stack, centered)\n // const cardTop = cardY - cardH * 0.5;\n // const padTop = cardH * 0.14;\n // const iconY = round1(cardTop + padTop + iconSize * 0.5);\n // const titleY = round1(iconY + iconSize * 0.5 + cardH * 0.1);\n // const descY = round1(titleY + cardH * 0.18);\n // const cardBg = createLayer('shape', {\n // props: {\n // width: cardW,\n // height: cardH,\n // shapeType: 'rectangle',\n // background: '#ffffff',\n // strokeWidth: 1,\n // stroke: th.border,\n // borderRadius: round1(d.height * 0.02)\n // },\n // transform: { position: { x: col.x, y: cardY, z: 0 } },\n // style: {\n // dropShadowY: round1(d.height * 0.008),\n // dropShadowBlur: round1(d.height * 0.03),\n // dropShadowColor: '#00000010'\n // },\n // keyframes: revealUp(delay, 0.5, cardY, sp.lg),\n // layer: { name: `Card ${i + 1}`, parentId: groupId, enterTime: delay, exitTime: dur }\n // });\n // // Small colored badge circle centered at top of card\n // const iconCircle = createLayer('shape', {\n // props: {\n // width: iconSize,\n // height: iconSize,\n // shapeType: 'circle',\n // background: cardColors[i],\n // strokeWidth: 0\n // },\n // transform: { position: { x: col.x, y: iconY, z: 1 } },\n // keyframes: getPresetKeyframes('scale-in', delay + 0.1, 0.4),\n // layer: {\n // name: `Icon Bg ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.1,\n // exitTime: dur\n // }\n // });\n // // Emoji centered inside badge\n // const emojiW = round1(iconSize * 1.1);\n // const icon = createLayer('text', {\n // props: {\n // content: cardEmojis[i],\n // fontSize: round1(iconSize * 0.48),\n // fontWeight: '400',\n // color: '#ffffff',\n // textAlign: 'center',\n // autoWidth: false,\n // width: emojiW\n // },\n // transform: { position: { x: textCenter(col.x), y: iconY, z: 2 } },\n // keyframes: fadeIn(delay + 0.2, 0.35),\n // layer: {\n // name: `Icon ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.2,\n // exitTime: dur\n // }\n // });\n // // Title centered below badge\n // const titleW = round1(cardW * 0.82);\n // const title = createLayer('text', {\n // props: {\n // content: cardTitles[i],\n // fontSize: t.body,\n // fontWeight: '700',\n // color: th.text,\n // textAlign: 'center',\n // autoWidth: false,\n // width: titleW\n // },\n // transform: { position: { x: textCenter(col.x), y: titleY, z: 1 } },\n // keyframes: fadeIn(delay + 0.25, 0.45),\n // layer: {\n // name: `Title ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.25,\n // exitTime: dur\n // }\n // });\n // // Description centered below title\n // const descW = round1(cardW * 0.78);\n // const desc = createLayer('text', {\n // props: {\n // content: cardDescs[i],\n // fontSize: t.caption,\n // fontWeight: '400',\n // color: th.muted,\n // textAlign: 'center',\n // lineHeight: lineHeight('relaxed'),\n // autoWidth: false,\n // width: descW\n // },\n // transform: { position: { x: textCenter(col.x), y: descY, z: 1 } },\n // keyframes: fadeIn(delay + 0.35, 0.45),\n // layer: {\n // name: `Desc ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.35,\n // exitTime: dur\n // }\n // });\n // layers.push(cardBg, iconCircle, icon, title, desc);\n // });\n // return layers;\n // }\n // },\n // 9. Quote\n {\n id: \"big-quote\",\n name: \"Quote\",\n description: \"Cinematic quote with word reveal, decorative mark, and author attribution\",\n categories: [\"text\"],\n duration: 8,\n previewTime: 3,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const quoteW = 65;\n const group = createLayer(\"group\", {\n props: { background: \"#050814\" },\n layer: { id: groupId, name: \"Quote\", enterTime: 0, exitTime: dur }\n });\n const quoteMarkSize = round1(t.hero * 3);\n const quoteMarkW = round1(quoteMarkSize * 0.8);\n const quoteMark = createLayer(\"text\", {\n props: {\n content: \"“\",\n fontSize: quoteMarkSize,\n fontWeight: \"800\",\n color: pal.primaryDark,\n textAlign: \"left\",\n autoWidth: false,\n width: quoteMarkW\n },\n transform: {\n position: { x: textLeft(-45, quoteMarkW), y: -(ar * 28), z: 0 }\n },\n style: { opacity: 0.3 },\n keyframes: fadeIn(0, 0.4),\n layer: { name: \"Quote Mark\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const accentBar = createLayer(\"shape\", {\n props: {\n width: 0.5,\n height: round1(ar * 42),\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: { position: { x: -35, y: -(ar * 4), z: 1 } },\n keyframes: getPresetKeyframes(\"wipe-down\", 0.2, 0.6),\n layer: { name: \"Accent Bar\", parentId: groupId, enterTime: 0.2, exitTime: dur }\n });\n const quoteText = \"Design is not just what it looks like. Design is how it works.\";\n const quoteStartX = -30;\n const quote = createLayer(\"text\", {\n props: {\n content: quoteText,\n fontSize: t.h2,\n fontWeight: \"700\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: lineHeight(\"normal\"),\n autoWidth: false,\n width: quoteW,\n ...textTransition.soft\n },\n transform: {\n position: { x: textLeft(quoteStartX, quoteW), y: -(ar * 6), z: 1 }\n },\n keyframes: [kfReveal(0.3, \"\"), kfReveal(3.5, quoteText), ...fadeIn(0.3, 0.3)],\n layer: { name: \"Quote\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const divider = createLayer(\"shape\", {\n props: {\n width: 4,\n height: 0.2,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: {\n position: {\n x: textLeft(quoteStartX, 4),\n y: ar * 20,\n z: 1\n }\n },\n keyframes: getPresetKeyframes(\"wipe-right\", 2, 0.5),\n layer: { name: \"Divider\", parentId: groupId, enterTime: 2, exitTime: dur }\n });\n const authorW = 30;\n const author = createLayer(\"text\", {\n props: {\n content: \"— Steve Jobs\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: authorW\n },\n transform: {\n position: { x: textLeft(quoteStartX, authorW), y: ar * 28, z: 1 }\n },\n keyframes: fadeIn(2.2, 0.7),\n layer: { name: \"Author\", parentId: groupId, enterTime: 2.2, exitTime: dur }\n });\n return [group, quoteMark, accentBar, quote, divider, author];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // LOGOS\n // ════════════════════════════════════════════════════════════════════════════\n // 10. Brand Reveal (Light)\n {\n id: \"brand-reveal\",\n name: \"Brand Reveal\",\n description: \"Clean logo reveal with brand name and tagline on a white background\",\n categories: [\"logos\"],\n duration: 6,\n previewTime: 1.5,\n theme: \"light\",\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.light;\n const markSize = round1(Math.min(1, ar) * 20);\n const centerW = 60;\n const group = createLayer(\"group\", {\n props: { background: \"#ffffff\" },\n layer: { id: groupId, name: \"Brand Reveal\", enterTime: 0, exitTime: dur }\n });\n const blob1 = createLayer(\"shape\", {\n props: {\n ...size(d, 0.45, 0.8),\n shapeType: \"circle\",\n background: pal.primaryLight,\n strokeWidth: 0\n },\n transform: { position: { x: -40, y: -(ar * 35), z: -10 } },\n style: { opacity: 0.3, blur: round1(ar * 10) },\n layer: { name: \"Blob 1\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const blob2 = createLayer(\"shape\", {\n props: {\n ...size(d, 0.4, 0.7),\n shapeType: \"circle\",\n background: \"#dbeafe\",\n strokeWidth: 0\n },\n transform: { position: { x: 40, y: ar * 35, z: -10 } },\n style: { opacity: 0.25, blur: round1(ar * 10) },\n layer: { name: \"Blob 2\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const logoMark = createLayer(\"shape\", {\n props: {\n width: markSize,\n height: markSize,\n shapeType: \"rectangle\",\n background: {\n type: \"linear\",\n angle: 135,\n stops: [\n { color: pal.primary, position: 0 },\n { color: pal.primaryLight, position: 100 }\n ]\n },\n strokeWidth: 0,\n borderRadius: round1(markSize * 0.22)\n },\n transform: { position: { x: 0, y: -(ar * 17), z: 0 } },\n keyframes: getPresetKeyframes(\"pop\", 0, 0.9),\n layer: { name: \"Logo Mark\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const letterW = round1(markSize * 1.2);\n const logoLetter = createLayer(\"text\", {\n props: {\n content: \"M\",\n fontSize: round1(markSize * 0.48),\n fontWeight: \"800\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: letterW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 17), z: 1 } },\n keyframes: fadeIn(0.4, 0.5),\n layer: { name: \"Logo Letter\", parentId: groupId, enterTime: 0.4, exitTime: dur }\n });\n const brandY = ar * 6;\n const brandName = createLayer(\"text\", {\n props: {\n content: \"Momentum\",\n fontSize: t.h1,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"center\",\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: brandY, z: 0 } },\n keyframes: revealUp(0.6, 0.6, brandY, sp.md),\n layer: { name: \"Brand Name\", parentId: groupId, enterTime: 0.6, exitTime: dur }\n });\n const tagline = createLayer(\"text\", {\n props: {\n content: \"Move at the speed of your ideas.\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"center\",\n letterSpacing: 0.3,\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: ar * 17, z: 0 } },\n keyframes: fadeIn(1.1, 0.7),\n layer: { name: \"Tagline\", parentId: groupId, enterTime: 1.1, exitTime: dur }\n });\n return [group, blob1, blob2, logoMark, logoLetter, brandName, tagline];\n }\n },\n // 11. Dark Logo Reveal\n {\n id: \"dark-logo-reveal\",\n name: \"Dark Logo Reveal\",\n description: \"Dramatic logo reveal with glowing ring pulse on dark background\",\n categories: [\"logos\"],\n duration: 6,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const ringSize = round1(Math.min(100, ar * 100) * 0.35);\n const logoSize = round1(Math.min(100, ar * 100) * 0.2);\n const centerW = 60;\n const group = createLayer(\"group\", {\n props: { background: \"#030712\" },\n layer: { id: groupId, name: \"Dark Logo Reveal\", enterTime: 0, exitTime: dur }\n });\n const halo = createLayer(\"shape\", {\n props: {\n width: round1(ringSize * 1.6),\n height: round1(ringSize * 1.6),\n shapeType: \"circle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: -(ar * 10), z: -5 } },\n style: { opacity: 0.18, blur: round1(ar * 10) },\n keyframes: [\n kf(0, \"opacity\", 0),\n kf(0.6, \"opacity\", 0.18),\n kf(0.6, \"scale.x\", 0.4),\n kf(0.6, \"scale.y\", 0.4),\n kf(1.5, \"scale.x\", 1, \"ease-out\"),\n kf(1.5, \"scale.y\", 1, \"ease-out\")\n ],\n layer: { name: \"Halo\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const ring = createLayer(\"shape\", {\n props: {\n width: ringSize,\n height: ringSize,\n shapeType: \"circle\",\n background: \"transparent\",\n strokeWidth: 1,\n stroke: pal.primary\n },\n transform: { position: { x: 0, y: -(ar * 10), z: 0 } },\n style: { opacity: 0.5 },\n keyframes: [\n kf(0.3, \"scale.x\", 0.2),\n kf(0.3, \"scale.y\", 0.2),\n kf(0.3, \"opacity\", 0),\n kf(1, \"scale.x\", 1, \"ease-out\"),\n kf(1, \"scale.y\", 1, \"ease-out\"),\n kf(0.8, \"opacity\", 0.5)\n ],\n layer: { name: \"Ring\", parentId: groupId, enterTime: 0.3, exitTime: dur }\n });\n const logoBg = createLayer(\"shape\", {\n props: {\n width: logoSize,\n height: logoSize,\n shapeType: \"circle\",\n background: {\n type: \"linear\",\n angle: 135,\n stops: [\n { color: pal.primary, position: 0 },\n { color: pal.primaryDark, position: 100 }\n ]\n },\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: -(ar * 10), z: 1 } },\n keyframes: getPresetKeyframes(\"pop\", 0.5, 0.8, void 0, { fromScale: 0.2 }),\n layer: { name: \"Logo Circle\", parentId: groupId, enterTime: 0.5, exitTime: dur }\n });\n const symbolW = round1(logoSize * 1.2);\n const logoSymbol = createLayer(\"text\", {\n props: {\n content: \"◈\",\n fontSize: round1(logoSize * 0.36),\n fontWeight: \"400\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: symbolW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 10), z: 2 } },\n keyframes: fadeIn(0.8, 0.5),\n layer: { name: \"Symbol\", parentId: groupId, enterTime: 0.8, exitTime: dur }\n });\n const brandY = ar * 10;\n const brandName = createLayer(\"text\", {\n props: {\n content: \"VERTEX\",\n fontSize: t.h1,\n fontWeight: \"900\",\n color: \"#f8fafc\",\n textAlign: \"center\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: brandY, z: 0 } },\n keyframes: revealUp(1, 0.6, brandY, sp.md),\n layer: { name: \"Brand Name\", parentId: groupId, enterTime: 1, exitTime: dur }\n });\n const tagline = createLayer(\"text\", {\n props: {\n content: \"Designed for the future.\",\n fontSize: t.body,\n fontWeight: \"300\",\n color: themes.dark.muted,\n textAlign: \"center\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: ar * 22, z: 0 } },\n keyframes: fadeIn(1.6, 0.7),\n layer: { name: \"Tagline\", parentId: groupId, enterTime: 1.6, exitTime: dur }\n });\n return [group, halo, ring, logoBg, logoSymbol, brandName, tagline];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // FLASHY\n // ════════════════════════════════════════════════════════════════════════════\n // 12. Kinetic Text Intro\n {\n id: \"kinetic-text-intro\",\n name: \"Kinetic Text Intro\",\n description: \"Three-beat kinetic title: slow char build, brand pop, word reveal subtitle\",\n categories: [\"text\"],\n duration: 8,\n previewTime: 3.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const t = typeScale(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const centerW = 80;\n const subContent = \"a prompt away from being a producer\";\n const group = createLayer(\"group\", {\n props: {\n background: { type: \"dynamic\", variant: \"silk\", speed: 1, intensity: 0.7 }\n },\n layer: { id: groupId, name: \"Kinetic Text Intro\", enterTime: 0, exitTime: dur }\n });\n const word = createLayer(\"text\", {\n props: {\n content: \"Meet\",\n fontSize: 30,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: 1,\n letterSpacing: -0.2,\n autoWidth: false,\n width: centerW,\n transitionEffects: [\"fade\", \"blur\", \"slide-up\"],\n transitionDuration: 500,\n transitionEasing: \"ease-out-quad\",\n slideDistance: 6.67,\n blurAmount: 0.93,\n transitionColorFrom: pal.primaryLight\n },\n style: {\n dropShadowY: 0.74,\n dropShadowBlur: 2.2,\n dropShadowColor: \"rgba(0,0,0,0.15)\"\n },\n keyframes: [\n kfCharReveal(0, \"\"),\n kfCharReveal(1.72, \"Meet\"),\n kf(0, \"scale.x\", 2, \"ease-in-out\"),\n kf(0, \"scale.y\", 2, \"ease-in-out\"),\n kf(0.77, \"scale.x\", 1, \"ease-in-out\"),\n kf(0.77, \"scale.y\", 1, \"ease-in-out\"),\n kf(1.34, \"position.x\", 0, \"ease-in-out\"),\n kf(1.77, \"position.x\", 0, \"ease-in\"),\n kf(2.68, \"position.x\", -40, \"linear\"),\n kf(1.99, \"opacity\", 1, \"ease-in\"),\n kf(2.63, \"opacity\", 0, \"linear\")\n ],\n layer: { name: \"Meet\", parentId: groupId, enterTime: 0, exitTime: 2.87 }\n });\n const brand = createLayer(\"text\", {\n props: {\n content: \"Your Brand\",\n fontSize: round1(t.hero * 1.27),\n fontWeight: \"900\",\n color: pal.primary,\n textAlign: \"center\",\n lineHeight: 1,\n autoWidth: false,\n width: centerW,\n transitionEffects: [\"scale\", \"fade\", \"slide-left\"],\n transitionDuration: 50,\n transitionEasing: \"ease-out\",\n slideDistance: 1.875,\n scaleFrom: 0.5,\n blurAmount: 0.78\n },\n keyframes: [\n kf(2.69, \"opacity\", 0, \"ease-out\"),\n kf(2.69, \"position.x\", 20, \"ease-out\"),\n kf(2.69, \"scale.x\", 0.85, \"ease-out\"),\n kf(2.69, \"scale.y\", 0.85, \"ease-out\"),\n kf(3.48, \"opacity\", 1, \"ease-in\"),\n kf(3.48, \"position.x\", 0, \"ease-out\"),\n kf(3.48, \"scale.x\", 1, \"ease-in\"),\n kf(3.48, \"scale.y\", 1, \"ease-in\"),\n kf(3.54, \"position.x\", 0, \"linear\"),\n kf(4.55, \"opacity\", 1, \"linear\"),\n kf(4.65, \"position.y\", 0, \"ease-in\"),\n kf(5.13, \"opacity\", 0, \"linear\"),\n kf(5.27, \"position.y\", -4, \"ease-in-out\"),\n kf(5.48, \"scale.x\", 0.8, \"linear\"),\n kf(5.48, \"scale.y\", 0.8, \"linear\")\n ],\n layer: { name: \"Brand\", parentId: groupId, enterTime: 2.69, exitTime: 5.8 }\n });\n const sub = createLayer(\"text\", {\n props: {\n content: subContent,\n fontSize: 2.6,\n fontFamily: \"Raleway\",\n fontWeight: \"200\",\n color: th.text,\n textAlign: \"left\",\n letterSpacing: 0.3,\n lineHeight: lineHeight(\"normal\"),\n autoWidth: false,\n width: 55,\n transitionEffects: [\"fade\", \"slide-up\", \"blur\"],\n transitionDuration: 350,\n transitionEasing: \"ease-in-quad\",\n slideDistance: 2.7,\n blurAmount: 0.78\n },\n transform: { position: { x: 0, y: 10, z: 0 } },\n keyframes: [\n kfReveal(2.77, \"\"),\n kfCharReveal(4.06, subContent),\n kf(4.92, \"opacity\", 1, \"ease-in\"),\n kf(5.92, \"opacity\", 0, \"linear\")\n ],\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 2.63, exitTime: 5.92 }\n });\n return [group, word, brand, sub];\n }\n },\n // 13. Gradient Hero\n {\n id: \"gradient-hero\",\n name: \"Gradient Hero\",\n description: \"Bold headline on a vibrant primary-color gradient background\",\n categories: [\"text\"],\n duration: 6,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const centerW = 75;\n const group = createLayer(\"group\", {\n props: {\n background: {\n type: \"linear\",\n angle: 135,\n stops: [\n { color: pal.primaryDark, position: 0 },\n { color: pal.primary, position: 50 },\n { color: pal.primaryLight, position: 100 }\n ]\n }\n },\n layer: { id: groupId, name: \"Gradient Hero\", enterTime: 0, exitTime: dur }\n });\n const headline = createLayer(\"text\", {\n props: {\n content: \"The Future\\nis Here.\",\n fontSize: round1(t.hero * 1.3),\n fontWeight: \"900\",\n color: pal.onPrimary,\n textAlign: \"center\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 8), z: 0 } },\n keyframes: getPresetKeyframes(\"scale-in\", 0.1, 0.8, void 0, { fromScale: 0.85 }),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.1, exitTime: dur }\n });\n const subY = ar * 20;\n const subtitle = createLayer(\"text\", {\n props: {\n content: \"And it starts with you.\",\n fontSize: t.h3,\n fontWeight: \"400\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: subY, z: 0 } },\n style: { opacity: 0.85 },\n keyframes: revealUp(0.6, 0.7, subY, sp.md),\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 0.6, exitTime: dur }\n });\n const decorLine = createLayer(\"shape\", {\n props: {\n width: 8,\n height: round1(ar * 0.4),\n shapeType: \"rectangle\",\n background: pal.onPrimary,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: ar * 35, z: 0 } },\n style: { opacity: 0.5 },\n keyframes: getPresetKeyframes(\"wipe-right\", 1, 0.5),\n layer: { name: \"Line\", parentId: groupId, enterTime: 1, exitTime: dur }\n });\n return [group, headline, subtitle, decorLine];\n }\n }\n];\nconst SCENE_CATEGORIES = [\n \"media & text\",\n \"media\",\n \"text\",\n \"numbers\",\n \"logos\"\n];\nfunction Scene_preview($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n preset,\n dimensions = { width: 1920, height: 1080 },\n primaryColor = \"#6366f1\"\n } = $$props;\n const editorState = getEditorState();\n const project = derived(() => editorState.project.state);\n const layers = derived(() => preset.createLayers(dimensions, primaryColor));\n const defaultTime = derived(() => preset.previewTime ?? 0);\n let currentTime = derived(defaultTime);\n let isHovering = false;\n $$renderer2.push(`<button class=\"group flex w-full flex-col overflow-hidden rounded-lg border bg-card text-left transition-all hover:border-primary/60 hover:shadow-md hover:shadow-primary/10\">`);\n {\n let overlay = function($$renderer3) {\n {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"absolute inset-0 flex items-center justify-center bg-black/20 opacity-0 transition-opacity group-hover:opacity-100\"><div class=\"rounded-full bg-black/50 p-2 backdrop-blur-sm\">`);\n Play($$renderer3, { class: \"h-4 w-4 fill-white text-white\" });\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]--> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Scaled_canvas($$renderer2, {\n layers: layers(),\n currentTime: currentTime(),\n projectDuration: preset.duration,\n viewportSize: dimensions,\n isPlaying: isHovering,\n project: project(),\n overlay\n });\n }\n $$renderer2.push(`<!----> <div class=\"flex items-start gap-1.5 p-2\"><div class=\"min-w-0 flex-1\"><p class=\"truncate text-xs font-medium\">${escape_html(preset.name)}</p> <p class=\"mt-0.5 line-clamp-2 text-[10px] leading-snug text-muted-foreground\">${escape_html(preset.description)}</p></div> <span class=\"mt-0.5 shrink-0 text-[9px] text-muted-foreground/60\">${escape_html(preset.duration)}s</span></div></button>`);\n });\n}\nfunction Scenes_panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let activeCategory = null;\n let primaryColor = derived(() => projectStore().state.primaryColor);\n const filteredPresets = derived(\n () => scenePresets\n );\n const projectDimensions = derived(() => ({\n width: projectStore().state.width,\n height: projectStore().state.height\n }));\n $$renderer2.push(`<div class=\"flex h-full flex-col p-3\">`);\n Input_wrapper($$renderer2, {\n for: \"scenes-accent-color\",\n label: \"Accent color\",\n children: ($$renderer3) => {\n Color_picker($$renderer3, {\n value: primaryColor(),\n onchange: (color) => primaryColor(color)\n });\n }\n });\n $$renderer2.push(`<!----> <div class=\"border-b py-2\"><div class=\"flex flex-wrap gap-1.5\"><button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium transition-colors ${stringify(\n \"bg-primary text-primary-foreground\"\n )}`)}>All</button> <!--[-->`);\n const each_array = ensure_array_like(SCENE_CATEGORIES);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let category = each_array[$$index];\n $$renderer2.push(`<button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium capitalize transition-colors ${stringify(activeCategory === category ? \"bg-primary text-primary-foreground\" : \"bg-muted text-muted-foreground hover:bg-muted/80\")}`)}>${escape_html(category)}</button>`);\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"flex-1 overflow-y-auto\">`);\n if (filteredPresets().length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center py-12\"><p class=\"text-sm text-muted-foreground\">No scenes in this category</p></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"grid gap-3\" style=\"grid-template-columns: repeat(auto-fill, minmax(180px, 1fr))\"><!--[-->`);\n const each_array_1 = ensure_array_like(filteredPresets());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let preset = each_array_1[$$index_1];\n Scene_preview($$renderer2, {\n preset,\n dimensions: projectDimensions(),\n primaryColor: primaryColor()\n });\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction Layer_preview($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { meta, dimensions = { width: 1280, height: 720 } } = $$props;\n const editorState = getEditorState();\n const project = derived(() => editorState.project.state);\n const previewLayer = derived(() => createLayer(meta.type, { projectDimensions: dimensions }));\n $$renderer2.push(`<button class=\"group flex w-full flex-col overflow-hidden rounded-lg border bg-card text-left transition-all hover:border-primary/60 hover:shadow-md hover:shadow-primary/10\"><div class=\"relative w-full overflow-hidden bg-black/80\">`);\n {\n let overlay = function($$renderer3) {\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Scaled_canvas($$renderer2, {\n layers: [previewLayer()],\n currentTime: 0,\n projectDuration: 5,\n viewportSize: dimensions,\n project: project(),\n overlay\n });\n }\n $$renderer2.push(`<!----></div> <div class=\"flex items-start gap-1.5 p-2\"><div class=\"min-w-0 flex-1\"><p class=\"truncate text-xs font-medium\">${escape_html(meta.label)}</p> <p class=\"mt-0.5 line-clamp-2 text-[10px] leading-snug text-muted-foreground\">${escape_html(meta.description)}</p></div></div></button>`);\n });\n}\nfunction Add_layer_panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let activeCategory = null;\n const hiddenTypes = /* @__PURE__ */ new Set([\"captions\", \"group\", PROJECT_LAYER_TYPE]);\n const categoryOrder = [\"media\", \"text\", \"shape\", \"code\", \"ui\"];\n const categoryConfig = {\n media: { icon: Film, label: \"Media\" },\n text: { icon: Type, label: \"Text\" },\n shape: { icon: Shapes, label: \"Shapes\" },\n code: { icon: Code$1, label: \"Code\" },\n ui: { icon: Layout_grid, label: \"UI Elements\" }\n };\n const groupedLayers = derived(() => {\n const groups = new SvelteMap();\n for (const layer of Object.values(layerRegistry)) {\n if (hiddenTypes.has(layer.type)) continue;\n const cat = layer.category;\n if (!groups.has(cat)) groups.set(cat, []);\n groups.get(cat).push(layer);\n }\n return categoryOrder.filter((c) => groups.has(c)).map((c) => ({ category: c, ...categoryConfig[c], layers: groups.get(c) }));\n });\n const filteredGroups = derived(\n () => groupedLayers()\n );\n const projectDimensions = derived(() => ({\n width: projectStore().state.width,\n height: projectStore().state.height\n }));\n $$renderer2.push(`<div class=\"flex h-full flex-col\"><div class=\"border-b px-3 py-2\"><div class=\"flex flex-wrap gap-1.5\"><button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium transition-colors ${stringify(\n \"bg-primary text-primary-foreground\"\n )}`)}>All</button> <!--[-->`);\n const each_array = ensure_array_like(categoryOrder);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let category = each_array[$$index];\n if (groupedLayers().some((g) => g.category === category)) {\n $$renderer2.push(\"<!--[0-->\");\n const config = categoryConfig[category];\n $$renderer2.push(`<button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium transition-colors ${stringify(activeCategory === category ? \"bg-primary text-primary-foreground\" : \"bg-muted text-muted-foreground hover:bg-muted/80\")}`)}>${escape_html(config.label)}</button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"flex-1 overflow-y-auto p-3\">`);\n if (filteredGroups().length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center py-12\"><p class=\"text-sm text-muted-foreground\">No layers in this category</p></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"space-y-4\"><!--[-->`);\n const each_array_1 = ensure_array_like(filteredGroups());\n for (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n let group = each_array_1[$$index_2];\n const CatIcon = group.icon;\n $$renderer2.push(`<div><div class=\"mb-2 flex items-center gap-1.5\">`);\n if (CatIcon) {\n $$renderer2.push(\"<!--[-->\");\n CatIcon($$renderer2, { class: \"h-3.5 w-3.5 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` <span class=\"text-[11px] font-medium text-muted-foreground\">${escape_html(group.label)}</span></div> <div class=\"grid gap-3\" style=\"grid-template-columns: repeat(auto-fill, minmax(180px, 1fr))\"><!--[-->`);\n const each_array_2 = ensure_array_like(group.layers);\n for (let $$index_1 = 0, $$length2 = each_array_2.length; $$index_1 < $$length2; $$index_1++) {\n let layer = each_array_2[$$index_1];\n Layer_preview($$renderer2, {\n meta: layer,\n dimensions: projectDimensions()\n });\n }\n $$renderer2.push(`<!--]--></div></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction Onboarding_wizard($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const spotStyle = derived(() => \"\");\n {\n $$renderer2.push(\"<!--[0-->\");\n if (spotStyle()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"pointer-events-none fixed z-50 rounded-lg transition-all duration-300\"${attr_style(`box-shadow: 0 0 0 9999px rgba(0,0,0,0.5); ${stringify(spotStyle())}`)}></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"pointer-events-none fixed inset-0 z-50 bg-black/50\"></div>`);\n }\n $$renderer2.push(`<!--]--> <div class=\"fixed inset-0 z-50\"></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction addLayerContent($$renderer) {\n Add_layer_panel($$renderer);\n}\nfunction scenesContent($$renderer) {\n Scenes_panel($$renderer);\n}\nfunction templatesContent($$renderer) {\n Scroll_area($$renderer, {\n class: \"h-full\",\n children: ($$renderer2) => {\n Templates_panel($$renderer2);\n },\n $$slots: { default: true }\n });\n}\nfunction assetsContent($$renderer) {\n $$renderer.push(`<!--[!-->`);\n $$renderer.push(`<!--]-->`);\n}\nfunction Editor($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n const isRecording = derived(() => projectStore().isRecording);\n const selectedLayer = derived(() => projectStore().selectedLayer);\n const projectLayer = derived(() => createVirtualProjectLayer(projectStore().state));\n let pixelsPerSecond = 100;\n let aiChatModelId = DEFAULT_MODEL_ID;\n let aiChatScrollRef = null;\n let activePanel = derived(() => editorState().activeSidebarPanel);\n const projectCurrentValues = derived(() => ({\n transform: defaultTransform(),\n style: defaultLayerStyle(),\n props: { ...projectLayer().props }\n }));\n const layerPropertyMetadata = derived(() => {\n if (!selectedLayer()) return [];\n const schema = getLayerSchema(selectedLayer().type);\n return extractPropertyMetadata(schema);\n });\n const currentValues = derived(() => {\n if (!selectedLayer()) return null;\n const animatedTransform = getAnimatedTransform(selectedLayer().keyframes, projectStore().currentTime);\n const animatedStyle = getAnimatedStyle(selectedLayer().keyframes, projectStore().currentTime);\n return {\n transform: {\n ...selectedLayer().transform,\n position: {\n x: animatedTransform.position.x ?? selectedLayer().transform.position.x,\n y: animatedTransform.position.y ?? selectedLayer().transform.position.y,\n z: animatedTransform.position.z ?? selectedLayer().transform.position.z\n },\n rotation: {\n x: animatedTransform.rotation.x ?? selectedLayer().transform.rotation.x,\n y: animatedTransform.rotation.y ?? selectedLayer().transform.rotation.y,\n z: animatedTransform.rotation.z ?? selectedLayer().transform.rotation.z\n },\n scale: {\n x: animatedTransform.scale.x ?? selectedLayer().transform.scale.x,\n y: animatedTransform.scale.y ?? selectedLayer().transform.scale.y\n }\n },\n style: {\n opacity: animatedStyle.opacity ?? selectedLayer().style.opacity,\n blur: animatedStyle.blur ?? selectedLayer().style.blur ?? 0,\n brightness: animatedStyle.brightness ?? selectedLayer().style.brightness ?? 1,\n contrast: animatedStyle.contrast ?? selectedLayer().style.contrast ?? 1,\n saturate: animatedStyle.saturate ?? selectedLayer().style.saturate ?? 1,\n dropShadowX: animatedStyle.dropShadowX ?? selectedLayer().style.dropShadowX ?? 0,\n dropShadowY: animatedStyle.dropShadowY ?? selectedLayer().style.dropShadowY ?? 0,\n dropShadowBlur: animatedStyle.dropShadowBlur ?? selectedLayer().style.dropShadowBlur ?? 0,\n dropShadowColor: animatedStyle.dropShadowColor ?? selectedLayer().style.dropShadowColor ?? \"transparent\"\n },\n props: getAnimatedProps(selectedLayer().keyframes, selectedLayer().props, layerPropertyMetadata(), projectStore().currentTime)\n };\n });\n function updateLayerProperty(property, value) {\n if (!selectedLayer()) return;\n projectStore().updateLayer(selectedLayer().id, { [property]: value });\n }\n function mapToAnimatable(target, propertyName) {\n if (target === \"transform\") return propertyName;\n if (target === \"props\") return `props.${propertyName}`;\n return propertyName;\n }\n function updateAnimatableValue(layer, animatableProperty, value, updateBase) {\n const currentTime = projectStore().currentTime;\n const hasKeyframes = layer.keyframes.some((k) => k.property === animatableProperty);\n if (hasKeyframes || !updateBase) {\n const keyframeAtTime = layer.keyframes.find((k) => k.property === animatableProperty && k.time === currentTime);\n if (keyframeAtTime) {\n projectStore().updateKeyframe(layer.id, keyframeAtTime.id, { value });\n } else {\n const interpolation = getDefaultInterpolationForProperty(layer.type, animatableProperty);\n projectStore().addKeyframe(layer.id, {\n id: nanoid(),\n time: currentTime,\n property: animatableProperty,\n value,\n interpolation\n });\n }\n } else {\n updateBase();\n }\n }\n function setDeep(obj, path, value) {\n const keys = path.split(\".\");\n const result = { ...obj };\n let current = result;\n for (let i = 0; i < keys.length - 1; i++) {\n const key2 = keys[i];\n current[key2] = { ...current[key2] };\n current = current[key2];\n }\n current[keys[keys.length - 1]] = value;\n return result;\n }\n function updateProperty(propertyName, value, target) {\n if (!selectedLayer()) return;\n const animatable = mapToAnimatable(target, propertyName);\n if (target === \"transform\" && currentValues()) {\n const updates = scaleMiddleware(propertyName, value, {\n transform: { ...selectedLayer().transform, ...currentValues()?.transform },\n style: { ...selectedLayer().style, ...currentValues().style },\n props: currentValues().props\n });\n for (const [prop, val] of Object.entries(updates)) {\n const propAnimatable = mapToAnimatable(\"transform\", prop);\n updateAnimatableValue(selectedLayer(), propAnimatable, val, () => {\n const newTransform = setDeep(selectedLayer().transform, prop, val);\n projectStore().updateLayer(selectedLayer().id, { transform: newTransform });\n });\n }\n } else if (target === \"style\") {\n updateAnimatableValue(selectedLayer(), animatable, value, () => {\n const newStyle = { ...selectedLayer().style, [propertyName]: value };\n projectStore().updateLayer(selectedLayer().id, { style: newStyle });\n });\n } else {\n const definition = getLayerDefinition(selectedLayer().type);\n const middleware = definition.middleware;\n if (middleware && currentValues()) {\n const updates = middleware(propertyName, value, {\n transform: { ...selectedLayer().transform, ...currentValues().transform },\n style: { ...selectedLayer().style, ...currentValues().style },\n props: currentValues().props\n });\n for (const [prop, val] of Object.entries(updates)) {\n const propAnimatable = mapToAnimatable(\"props\", prop);\n updateAnimatableValue(selectedLayer(), propAnimatable, val, () => {\n const newProps = { ...selectedLayer().props, [prop]: val };\n projectStore().updateLayer(selectedLayer().id, { props: newProps });\n });\n }\n } else {\n updateAnimatableValue(selectedLayer(), animatable, value, () => {\n const newProps = { ...selectedLayer().props, [propertyName]: value };\n projectStore().updateLayer(selectedLayer().id, { props: newProps });\n });\n }\n }\n }\n function addKeyframe(property) {\n if (!selectedLayer() || !currentValues()) return;\n const propertyValueMap = {\n \"position.x\": currentValues().transform.position.x,\n \"position.y\": currentValues().transform.position.y,\n \"position.z\": currentValues().transform.position.z,\n \"rotation.x\": currentValues().transform.rotation.x,\n \"rotation.y\": currentValues().transform.rotation.y,\n \"rotation.z\": currentValues().transform.rotation.z,\n \"scale.x\": currentValues().transform.scale.x,\n \"scale.y\": currentValues().transform.scale.y,\n opacity: currentValues().style.opacity,\n blur: currentValues().style.blur,\n brightness: currentValues().style.brightness,\n contrast: currentValues().style.contrast,\n saturate: currentValues().style.saturate,\n dropShadowX: currentValues().style.dropShadowX,\n dropShadowY: currentValues().style.dropShadowY,\n dropShadowBlur: currentValues().style.dropShadowBlur,\n dropShadowColor: currentValues().style.dropShadowColor\n };\n let currentValue;\n if (property in propertyValueMap) {\n currentValue = propertyValueMap[property];\n } else if (property.startsWith(\"props.\")) {\n const propName = property.slice(6);\n currentValue = currentValues().props[propName] ?? 0;\n } else {\n currentValue = 0;\n }\n updateAnimatableValue(selectedLayer(), property, currentValue);\n }\n const hasLayerProperties = derived(() => layerPropertyMetadata().length > 0);\n const layerBackgroundField = derived(() => layerPropertyMetadata().find((m) => m.meta?.widget === \"background\"));\n const activeBackgroundValue = derived(() => {\n if (selectedLayer() && layerBackgroundField() && currentValues()) {\n return currentValues().props[layerBackgroundField().name];\n }\n return projectCurrentValues().props.background;\n });\n function updateActiveBackground(newValue) {\n if (selectedLayer() && layerBackgroundField()) {\n updateProperty(layerBackgroundField().name, newValue, \"props\");\n } else {\n updateProjectProperty(\"background\", newValue);\n }\n }\n function updateProjectProperty(propertyName, value, _target) {\n const projectUpdates = mapProjectLayerPropsToProject({ [propertyName]: value });\n projectStore().updateProject(projectUpdates);\n }\n function updateProjectName(value) {\n projectStore().updateProject({ name: value });\n }\n const sidebarPanels = derived(() => {\n const panels = [\n {\n id: \"chat\",\n label: \"AI Chat\",\n icon: Wand_sparkles,\n content: chatContent,\n actions: chatActions,\n keepMounted: true\n }\n ];\n if (!isRecording()) {\n panels.push({\n id: \"settings\",\n label: \"Project\",\n icon: Monitor_play,\n content: settingsContent\n });\n panels.push({\n id: \"add-layer\",\n label: \"Add Layer\",\n icon: Layers_plus,\n content: addLayerContent\n });\n if (!selectedLayer() || layerBackgroundField()) {\n panels.push({\n id: \"background\",\n label: \"Background\",\n icon: Wallpaper,\n content: backgroundContent\n });\n }\n if (selectedLayer()) {\n if (hasLayerProperties()) {\n panels.push({\n id: \"layer\",\n label: \"Layer\",\n icon: Layers,\n content: layerContent\n });\n }\n panels.push(\n {\n id: \"transform\",\n label: \"Transform\",\n icon: Move,\n content: transformContent\n },\n {\n id: \"style\",\n label: \"Style\",\n icon: Palette,\n content: styleContent\n },\n {\n id: \"timing\",\n label: \"Time & Animations\",\n icon: Clock,\n content: timingContent\n },\n {\n id: \"keyframes\",\n label: `Keyframes (${selectedLayer().keyframes.length})`,\n icon: Boxes,\n content: keyframesContent\n }\n );\n }\n panels.push(\n {\n id: \"scenes\",\n label: \"Scenes\",\n icon: Clapperboard,\n content: scenesContent\n },\n {\n id: \"templates\",\n label: \"Templates\",\n icon: Layout_template,\n content: templatesContent\n },\n {\n id: \"assets\",\n label: \"Assets\",\n icon: Cloud_upload,\n content: assetsContent\n }\n );\n }\n return panels;\n });\n function chatContent($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full flex-col\">`);\n Ai_chat($$renderer3, {\n scrollRef: aiChatScrollRef,\n get selectedModelId() {\n return aiChatModelId;\n },\n set selectedModelId($$value) {\n aiChatModelId = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div>`);\n }\n function chatActions($$renderer3) {\n Model_selector($$renderer3, {\n selectedModelId: aiChatModelId,\n onModelChange: (id) => aiChatModelId = id\n });\n }\n function settingsContent($$renderer3) {\n $$renderer3.push(`<div class=\"space-y-4 p-4\"><div class=\"space-y-2\">`);\n Label($$renderer3, {\n for: \"project-name\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Project Name`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Input($$renderer3, {\n id: \"project-name\",\n value: projectLayer().name,\n oninput: (e) => updateProjectName(e.currentTarget.value)\n });\n $$renderer3.push(`<!----></div> `);\n Layer_properties_group($$renderer3, {\n layer: projectLayer(),\n currentValues: projectCurrentValues(),\n updateProperty: updateProjectProperty,\n addKeyframe: () => {\n }\n });\n $$renderer3.push(`<!----></div>`);\n }\n function layerContent($$renderer3) {\n if (selectedLayer() && currentValues()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\"><div class=\"space-y-2\">`);\n Label($$renderer3, {\n for: \"layer-name\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Name`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Input($$renderer3, {\n id: \"layer-name\",\n value: selectedLayer().name,\n oninput: (e) => updateLayerProperty(\"name\", e.currentTarget.value)\n });\n $$renderer3.push(`<!----></div> `);\n Layer_properties_group($$renderer3, {\n layer: selectedLayer(),\n currentValues: currentValues(),\n updateProperty,\n addKeyframe\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function transformContent($$renderer3) {\n if (selectedLayer() && currentValues()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Transform_group($$renderer3, {\n layer: selectedLayer(),\n currentValues: currentValues(),\n updateProperty,\n addKeyframe\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function styleContent($$renderer3) {\n if (selectedLayer() && currentValues()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Style_group($$renderer3, {\n currentValues: currentValues(),\n layer: selectedLayer(),\n updateProperty,\n addKeyframe\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function timingContent($$renderer3) {\n if (selectedLayer()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Time_range_group($$renderer3, { layer: selectedLayer() });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function keyframesContent($$renderer3) {\n if (selectedLayer()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Keyframes_group($$renderer3, { layer: selectedLayer() });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function backgroundContent($$renderer3) {\n const optional = !!selectedLayer() && layerBackgroundField()?.optional;\n $$renderer3.push(`<div class=\"p-4\">`);\n if (optional) {\n $$renderer3.push(\"<!--[0-->\");\n Background_picker($$renderer3, {\n value: activeBackgroundValue(),\n optional: true,\n onchange: updateActiveBackground\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Background_picker($$renderer3, {\n value: activeBackgroundValue() ?? \"#000000\",\n onchange: updateActiveBackground\n });\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Keyboard_handler($$renderer3);\n $$renderer3.push(`<!----> `);\n Onboarding_wizard($$renderer3);\n $$renderer3.push(`<!----> <div class=\"flex-1 overflow-hidden\">`);\n Resizable_pane_group($$renderer3, {\n direction: \"horizontal\",\n class: \"h-full\",\n children: ($$renderer4) => {\n Pane($$renderer4, {\n children: ($$renderer5) => {\n Resizable_pane_group($$renderer5, {\n direction: \"vertical\",\n children: ($$renderer6) => {\n Pane($$renderer6, {\n defaultSize: 70,\n minSize: 30,\n \"data-onboarding\": \"canvas\",\n children: ($$renderer7) => {\n Canvas($$renderer7, { isRecording: isRecording() });\n },\n $$slots: { default: true }\n });\n $$renderer6.push(`<!----> `);\n Resizable_handle($$renderer6, {});\n $$renderer6.push(`<!----> `);\n Pane($$renderer6, {\n defaultSize: 30,\n minSize: 20,\n \"data-onboarding\": \"timeline\",\n children: ($$renderer7) => {\n if (!isRecording()) {\n $$renderer7.push(\"<!--[0-->\");\n {\n let content = function($$renderer8) {\n Timeline($$renderer8, {\n get pixelsPerSecond() {\n return pixelsPerSecond;\n },\n set pixelsPerSecond($$value) {\n pixelsPerSecond = $$value;\n $$settled = false;\n }\n });\n }, actionsSnippet = function($$renderer8) {\n Timeline_toolbar($$renderer8, {\n minPixelsPerSecond: MIN_PIXELS_PER_SECOND,\n maxPixelsPerSecond: MAX_PIXELS_PER_SECOND,\n get pixelsPerSecond() {\n return pixelsPerSecond;\n },\n set pixelsPerSecond($$value) {\n pixelsPerSecond = $$value;\n $$settled = false;\n }\n });\n };\n Panel($$renderer7, {\n title: \"Timeline\",\n disableScroll: true,\n content,\n actionsSnippet,\n $$slots: { content: true, actionsSnippet: true }\n });\n }\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n Resizable_handle($$renderer4, {});\n $$renderer4.push(`<!----> `);\n Pane($$renderer4, {\n defaultSize: 35,\n minSize: 10,\n maxSize: 50,\n children: ($$renderer5) => {\n Editor_sidebar($$renderer5, {\n panels: sidebarPanels(),\n activePanel: activePanel(),\n onPanelChange: (id) => editorState().setActiveSidebarPanel(id),\n get scrollRef() {\n return aiChatScrollRef;\n },\n set scrollRef($$value) {\n aiChatScrollRef = $$value;\n $$settled = false;\n }\n });\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const project = derived(() => data.project);\n const editorState = derived(getEditorState);\n const projectName = derived(() => editorState().project.state.name || \"Untitled Project\");\n const title = derived(() => `${projectName()} - DevMotion Studio (Local)`);\n watch$1(() => data, () => {\n try {\n const projectData = ProjectSchema.omit({ id: true }).parse(project().data);\n editorState().project.loadProject({ id: data.project.id, ...projectData });\n editorState().markAsSaved();\n editorState().setDbContext(data.project.id, data.isOwner, data.canEdit, data.project.isPublic);\n editorState().isMcp = data.project.isMcp;\n } catch (error) {\n console.error(\"Failed to load local project data:\", error);\n toast.error(\"Failed to load project data\");\n }\n });\n let saving = false;\n let suppressReloadUntil = 0;\n async function autoSaveToFs() {\n if (saving || !editorState().hasUnsavedChanges) return;\n saving = true;\n try {\n const res = await fetch(\"/api/local/project\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(editorState().project.state)\n });\n if (!res.ok) throw new Error(await res.text());\n suppressReloadUntil = Date.now() + 1500;\n editorState().markAsSaved();\n } catch (err) {\n console.error(\"Auto-save failed:\", err);\n } finally {\n saving = false;\n }\n }\n const debouncedProject = new Debounced(() => snapshot(editorState().project.state), 700);\n watch$1(() => debouncedProject.current, () => {\n if (editorState().hasUnsavedChanges) autoSaveToFs();\n });\n Seo_head($$renderer2, { title: title() });\n $$renderer2.push(`<!----> `);\n Editor_shell($$renderer2, {\n children: ($$renderer3) => {\n Editor($$renderer3);\n }\n });\n $$renderer2.push(`<!---->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":["clsx","clsx$1","watch","watch$1"],"mappings":"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;AAC1B,UAAU,KAAK,EAAE;AACjB,SAAS;AACT,QAAQ,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5E,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAChD,QAAQ,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG;AAChF,OAAO,CAAC;AACR,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;AACjD,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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"}
1
+ {"version":3,"file":"_page.svelte-t-uIDVqj.js","sources":["../../../.svelte-kit/adapter-node/chunks/template-wizard.js","../../../.svelte-kit/adapter-node/entries/pages/(app)/editor/local/_page.svelte.js"],"sourcesContent":["import \"./async.js\";\nimport { f as attr_style, i as stringify, e as ensure_array_like, d as derived, s as spread_props } from \"./index8.js\";\nimport { B as Button, L as Loader_circle } from \"./button.js\";\nimport { P as Progress } from \"./streaming-border.svelte_svelte_type_style_lang.js\";\nimport { e as extractPropertyMetadata, b as extractDefaultValues } from \"./base.js\";\nimport { T as Textarea, m as Background_picker, C as Color_picker, n as Scrub_input, o as Select_root, p as Select_trigger, q as Select_content, r as Select_group, s as Select_item, g as getEditorState, I as Input_wrapper, u as trackPlausibleEvent } from \"./editor.svelte.js\";\nimport { I as Input } from \"./input.js\";\nimport { F as FileUpload } from \"./registry2.js\";\nimport { p as processMediaUpload, a as applyMediaLayerData } from \"./media.js\";\nimport { c as cn } from \"./utils2.js\";\nimport { C as Check } from \"./check.js\";\nimport { X } from \"./x.js\";\nimport { e as escape_html } from \"./escaping.js\";\nimport posthog from \"posthog-js\";\nimport \"./generate-speech.js\";\nimport { b as applyActionResult } from \"./apply-result.js\";\nimport { A as Arrow_left } from \"./arrow-left.js\";\nfunction Streaming_border($$renderer, $$props) {\n let {\n width,\n height,\n left,\n top,\n active,\n inset = false\n /** If true, fills the parent (position: absolute; inset: 0) — no need to pass width/height/left/top */\n } = $$props;\n if (active) {\n $$renderer.push(\"<!--[0-->\");\n if (inset) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<div class=\"streaming-glow streaming-glow--inset pointer-events-none absolute z-4 svelte-31zg4z\"></div>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<div class=\"streaming-glow pointer-events-none absolute z-4 svelte-31zg4z\"${attr_style(\"\", {\n width: `${stringify(width)}px`,\n height: `${stringify(height)}px`,\n left,\n top\n })}></div>`);\n }\n $$renderer.push(`<!--]-->`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction Input_property($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n const {\n metadata,\n value,\n layer,\n onUpdateProp,\n targetPath = \"props\"\n /** The path prefix for the property (e.g., 'props' or 'style') */\n } = $$props;\n const id = derived(() => `${targetPath}.${metadata.name}`);\n if (metadata.meta?.widget === \"upload\") {\n $$renderer2.push(\"<!--[0-->\");\n FileUpload($$renderer2, {\n value: typeof value === \"string\" ? value : \"\",\n currentFileName: typeof layer.props.fileName === \"string\" ? layer.props.fileName : \"\",\n mediaType: metadata.meta.mediaType,\n projectId: editorState().dbProjectId ?? void 0,\n onUpload: async (result) => {\n if (metadata.meta?.widget !== \"upload\") return;\n const mediaType = metadata.meta.mediaType;\n onUpdateProp(metadata.name, result.url);\n onUpdateProp(\"fileKey\", result.key);\n const { propUpdates, mediaResult } = await processMediaUpload({\n url: result.url,\n key: result.key,\n fileName: result.fileName,\n duration: result.duration,\n attribution: \"attribution\" in result ? result.attribution : void 0,\n mediaType,\n projectWidth: projectStore().state.width,\n projectHeight: projectStore().state.height,\n projectDuration: projectStore().state.duration,\n enterTime: layer.enterTime ?? 0\n });\n for (const [prop, val] of Object.entries(propUpdates)) {\n onUpdateProp(prop, val);\n }\n applyMediaLayerData(projectStore(), layer.id, mediaResult);\n }\n });\n } else if (metadata.meta?.widget === \"textarea\") {\n $$renderer2.push(\"<!--[1-->\");\n Textarea($$renderer2, {\n id: id(),\n value: typeof value === \"string\" ? value : \"\",\n oninput: (e) => onUpdateProp(metadata.name, e.currentTarget.value),\n spellcheck: \"false\"\n });\n } else if (metadata.meta?.widget === \"background\") {\n $$renderer2.push(\"<!--[2-->\");\n Background_picker($$renderer2, {\n value,\n optional: true,\n onchange: (newValue) => onUpdateProp(metadata.name, newValue)\n });\n } else if (metadata.meta?.widget === \"color\") {\n $$renderer2.push(\"<!--[3-->\");\n Color_picker($$renderer2, {\n value: typeof value === \"string\" ? value : \"#000000\",\n onchange: (newValue) => onUpdateProp(metadata.name, newValue || \"transparent\"),\n optional: metadata.optional\n });\n } else if (metadata.meta?.widget === \"custom\") {\n $$renderer2.push(\"<!--[4-->\");\n const Component = metadata.meta.component;\n if (Component) {\n $$renderer2.push(\"<!--[-->\");\n Component($$renderer2, {\n value,\n onChange: (newValue) => onUpdateProp(metadata.name, newValue),\n layer,\n metadata\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (metadata.type === \"number\") {\n $$renderer2.push(\"<!--[5-->\");\n Scrub_input($$renderer2, {\n id: id(),\n value: typeof value === \"number\" ? value : 0,\n min: metadata.min,\n max: metadata.max,\n step: metadata.step || 1,\n onchange: (v) => onUpdateProp(metadata.name, v),\n postFix: metadata.postFix\n });\n } else if (metadata.type === \"boolean\") {\n $$renderer2.push(\"<!--[6-->\");\n const checked = typeof value === \"boolean\" ? value : false;\n Button($$renderer2, {\n variant: \"outline\",\n class: cn(\"w-full flex-1\", {\n \"border-green-500! bg-green-500/10! text-green-500! hover:bg-green-500/20! hover:text-green-500!\": checked,\n \"border-red-500! bg-red-500/10! text-red-500! hover:bg-red-500/20! hover:text-red-500!\": !checked\n }),\n onclick: () => onUpdateProp(metadata.name, !checked),\n children: ($$renderer3) => {\n if (checked) {\n $$renderer3.push(\"<!--[0-->\");\n Check($$renderer3, { class: \"h-4 w-4\" });\n $$renderer3.push(`<!----> <span class=\"text-xs\">On</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n X($$renderer3, { class: \"h-4 w-4\" });\n $$renderer3.push(`<!----> <span class=\"text-xs\">Off</span>`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n } else if (metadata.meta?.widget === \"multi-select\" && metadata.meta.options) {\n $$renderer2.push(\"<!--[7-->\");\n const selectedValues = Array.isArray(value) ? value : [];\n if (Select_root) {\n $$renderer2.push(\"<!--[-->\");\n Select_root($$renderer2, {\n type: \"multiple\",\n value: selectedValues,\n onValueChange: (newValue) => onUpdateProp(metadata.name, newValue),\n children: ($$renderer3) => {\n if (Select_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Select_trigger($$renderer3, {\n class: \"w-full flex-1\",\n children: ($$renderer4) => {\n if (selectedValues.length === 0) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<span class=\"text-muted-foreground\">Select effects...</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<span>${escape_html(selectedValues.length)} selected</span>`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Select_content) {\n $$renderer3.push(\"<!--[-->\");\n Select_content($$renderer3, {\n id: id(),\n children: ($$renderer4) => {\n if (Select_group) {\n $$renderer4.push(\"<!--[-->\");\n Select_group($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array = ensure_array_like(metadata.meta.options);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let option = each_array[$$index];\n const isSelected = selectedValues.includes(option.value);\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: option.value,\n label: option.label,\n children: ($$renderer6) => {\n $$renderer6.push(`<div class=\"flex items-center gap-2\"><div class=\"w-4\">`);\n if (isSelected) {\n $$renderer6.push(\"<!--[0-->\");\n Check($$renderer6, { class: \"h-4 w-4\" });\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n }\n $$renderer6.push(`<!--]--></div> <span>${escape_html(option.label)}</span></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (metadata.type === \"select\" && metadata.options) {\n $$renderer2.push(\"<!--[8-->\");\n const selectedValue = typeof value === \"string\" || typeof value === \"number\" ? value : \"\";\n const selectedLabel = metadata.options.find((opt) => opt.value === selectedValue)?.label ?? selectedValue;\n if (Select_root) {\n $$renderer2.push(\"<!--[-->\");\n Select_root($$renderer2, {\n type: \"single\",\n value: selectedValue.toString(),\n onValueChange: (newValue) => onUpdateProp(metadata.name, newValue),\n children: ($$renderer3) => {\n if (Select_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Select_trigger($$renderer3, {\n class: \"w-full flex-1\",\n id: id(),\n children: ($$renderer4) => {\n if (selectedValue) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<span>${escape_html(selectedLabel)}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<span class=\"text-muted-foreground\">Select an option</span>`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Select_content) {\n $$renderer3.push(\"<!--[-->\");\n Select_content($$renderer3, {\n id: id(),\n children: ($$renderer4) => {\n if (Select_group) {\n $$renderer4.push(\"<!--[-->\");\n Select_group($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(metadata.options);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let option = each_array_1[$$index_1];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: option.value,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(option.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Input($$renderer2, {\n id: id(),\n type: \"text\",\n value: typeof value === \"string\" ? value : \"\",\n oninput: (e) => onUpdateProp(metadata.name, e.currentTarget.value),\n disabled: metadata.meta?.readOnly\n });\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction isAsyncStep(step) {\n return \"execute\" in step;\n}\nfunction isFormStep(step) {\n return \"schema\" in step;\n}\nfunction isComponentStep(step) {\n return \"component\" in step;\n}\nfunction Template_step_form($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { step, initialValues = {}, onUpdate } = $$props;\n const metadata = derived(() => extractPropertyMetadata(step.schema));\n const defaults = derived(() => extractDefaultValues(step.schema));\n let values = derived(() => ({ ...defaults(), ...initialValues }));\n const stubLayer = {\n id: \"__template__\",\n name: \"Template\",\n type: \"text\",\n transform: {\n position: { x: 0, y: 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\",\n positionOrigin: \"center\"\n },\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 0,\n dropShadowBlur: 0,\n dropShadowColor: \"transparent\"\n },\n visible: true,\n locked: false,\n keyframes: [],\n props: {}\n };\n function handleUpdate(name, value) {\n values({ ...values(), [name]: value });\n onUpdate(values());\n }\n $$renderer2.push(`<div class=\"space-y-3\"><!--[-->`);\n const each_array = ensure_array_like(metadata());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let field = each_array[$$index];\n if (!field.meta?.hidden) {\n $$renderer2.push(\"<!--[0-->\");\n Input_wrapper($$renderer2, {\n for: `template.${field.name}`,\n label: field.meta?.label ?? field.description ?? field.name,\n children: ($$renderer3) => {\n Input_property($$renderer3, {\n metadata: field,\n value: values()[field.name],\n onUpdateProp: handleUpdate,\n layer: stubLayer,\n targetPath: \"props\"\n });\n }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction Template_wizard($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const {\n template,\n projectStore,\n onComplete,\n onCancel,\n onSetAiStreaming,\n inProject\n /** Optional: called by async steps to signal streaming state to the parent */\n } = $$props;\n let currentStepIndex = 0;\n let values = {};\n let isProcessing = false;\n let asyncProgress = 0;\n let error = null;\n const currentStep = derived(() => template?.steps?.[currentStepIndex]);\n const isLastStep = derived(() => currentStepIndex === (template?.steps?.length ?? 1) - 1);\n const totalSteps = derived(() => template?.steps?.length ?? 0);\n function buildContext() {\n return {\n project: projectStore.state,\n currentTime: projectStore.currentTime,\n inProject\n };\n }\n function handleFormUpdate(stepValues) {\n values = { ...values, ...stepValues };\n }\n async function handleComponentComplete(stepValues) {\n values = { ...values, ...stepValues };\n if (isLastStep()) {\n await applyTemplate();\n } else {\n currentStepIndex++;\n await maybeRunAsyncStep();\n }\n }\n async function handleNext() {\n if (isLastStep()) {\n await applyTemplate();\n } else {\n currentStepIndex++;\n await maybeRunAsyncStep();\n }\n }\n function handleCancel() {\n posthog.capture(\"template_cancelled\", {\n templateId: template.id,\n templateName: template.name,\n stepReached: currentStepIndex\n });\n trackPlausibleEvent(\"template_cancelled\", {\n templateId: template.id,\n templateName: template.name,\n stepReached: currentStepIndex\n });\n onCancel();\n }\n async function maybeRunAsyncStep() {\n const step = template.steps[currentStepIndex];\n if (isAsyncStep(step)) {\n await executeAsyncStep();\n }\n }\n async function executeAsyncStep() {\n const step = template.steps[currentStepIndex];\n if (!isAsyncStep(step)) return;\n isProcessing = true;\n onSetAiStreaming?.(true);\n asyncProgress = 0;\n error = null;\n try {\n const result = await step.execute(values, buildContext(), (p) => {\n asyncProgress = p;\n });\n values = { ...values, ...result };\n if (isLastStep()) {\n await applyTemplate();\n } else {\n currentStepIndex++;\n await maybeRunAsyncStep();\n }\n } catch (e) {\n error = e instanceof Error ? e.message : \"An error occurred\";\n } finally {\n isProcessing = false;\n onSetAiStreaming?.(false);\n }\n }\n async function applyTemplate() {\n const ctx = buildContext();\n isProcessing = true;\n onSetAiStreaming?.(true);\n try {\n const output = await template.apply(values, ctx);\n applyActionResult(projectStore, output);\n } catch (e) {\n error = e instanceof Error ? e.message : \"An error occurred\";\n } finally {\n isProcessing = false;\n onSetAiStreaming?.(false);\n }\n posthog.capture(\"template_completed\", { templateId: template.id, templateName: template.name });\n trackPlausibleEvent(\"template_completed\", { templateId: template.id, templateName: template.name });\n onComplete();\n }\n $$renderer2.push(`<div class=\"relative flex flex-1 flex-col\">`);\n if (\n // Auto-run async step on mount if first step is async\n // Track template start on mount\n !inProject\n ) {\n $$renderer2.push(\"<!--[0-->\");\n Streaming_border($$renderer2, { active: isProcessing, inset: true });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"flex items-center gap-2 border-b p-3\"><button class=\"rounded p-1 hover:bg-muted\" aria-label=\"Back\">`);\n Arrow_left($$renderer2, { class: \"h-4 w-4\" });\n $$renderer2.push(`<!----></button> <div class=\"flex-1\"><h3 class=\"text-sm font-medium\">${escape_html(template.name)}</h3> `);\n if (totalSteps() > 1) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-[10px] text-muted-foreground\">Step ${escape_html(currentStepIndex + 1)} of ${escape_html(totalSteps())}: ${escape_html(currentStep().title)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"flex-1 overflow-auto p-4\">`);\n if (currentStep().description) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mb-4 text-xs text-muted-foreground\">${escape_html(currentStep().description)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (isFormStep(currentStep())) {\n $$renderer2.push(\"<!--[0-->\");\n Template_step_form($$renderer2, {\n step: currentStep(),\n initialValues: values,\n onUpdate: handleFormUpdate\n });\n } else if (isComponentStep(currentStep())) {\n $$renderer2.push(\"<!--[1-->\");\n const StepComponent = currentStep().component;\n if (StepComponent) {\n $$renderer2.push(\"<!--[-->\");\n StepComponent($$renderer2, spread_props([\n {\n values,\n ctx: buildContext(),\n onUpdate: handleFormUpdate,\n onComplete: handleComponentComplete\n },\n currentStep().componentProps\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (isAsyncStep(currentStep())) {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<div class=\"flex flex-col items-center gap-4 py-8\">`);\n if (isProcessing) {\n $$renderer2.push(\"<!--[0-->\");\n Loader_circle($$renderer2, { class: \"h-8 w-8 animate-spin text-muted-foreground\" });\n $$renderer2.push(`<!----> `);\n Progress($$renderer2, { value: asyncProgress * 100, class: \"w-full\" });\n $$renderer2.push(`<!----> <p class=\"text-xs text-muted-foreground\">${escape_html(Math.round(asyncProgress * 100))}%</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (error) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(error)}</p> `);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n onclick: executeAsyncStep,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Retry`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n if (isFormStep(currentStep())) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex gap-2 border-t p-3\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1\",\n onclick: handleCancel,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"sm\",\n class: \"flex-1\",\n onclick: handleNext,\n children: ($$renderer3) => {\n if (isLastStep()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`Apply`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`Next`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n } else if (isComponentStep(currentStep()) || isAsyncStep(currentStep())) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"flex gap-2 border-t p-3\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1\",\n onclick: handleCancel,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n Input_property as I,\n Streaming_border as S,\n Template_wizard as T\n};\n","import \"../../../../../chunks/async.js\";\nimport { s as spread_props, p as props_id, j as attributes, k as bind_props, d as derived, l as attr_class, m as clsx, f as attr_style, i as stringify, aj as run, ak as hasContext, g as getContext$1, ai as setContext, e as ensure_array_like, c as attr } from \"../../../../../chunks/index8.js\";\nimport { S as Seo_head } from \"../../../../../chunks/seo-head.js\";\nimport { i as isClassValue, s as styleToString, a as EVENT_LIST_SET, b as isObject, c as box, w as watch, R as Root, D as Dropdown_menu_trigger, d as Dropdown_menu_content, e as Dropdown_menu_separator, E as Editor_shell } from \"../../../../../chunks/scrub-xyz.svelte_svelte_type_style_lang.js\";\nimport { M as noop$1, aU as MenuItemState, aV as MenuGroupState, aW as MenuGroupHeadingState, g as getEditorState, aX as tick, aY as snapshot, aZ as Grip_vertical, u as trackPlausibleEvent, t as toast, f as Sparkles, a_ as Lightbulb, ac as Square, a$ as Send, aA as Pricing_dialog, b0 as Folder, b1 as layerRegistry, b2 as Layout_grid, b3 as Code$1, b4 as Type, b5 as onDestroy, b6 as Circle, b7 as isContainerLayer, L as Lock, aB as Lock_open, b8 as getLayerDefinition, N as Pause, O as Play, o as Select_root, p as Select_trigger, q as Select_content, r as Select_group, b9 as Select_label, s as Select_item, ba as Inputs_wrapper, n as Scrub_input, I as Input_wrapper, bb as Button_group, bc as Arrow_up, bd as Arrow_down, be as Link$1, bf as Easing_curve_preview, bg as getSupportedInterpolationFamilies, bh as getStrategyOptionsForFamilies, bi as Clock, v as Popover, w as Popover_trigger, x as Popover_content, bj as Popover_close, e as Select_1, bk as getLayerSchema, C as Color_picker, bl as Layers, m as Background_picker, bm as getAnimatedTransform, bn as getAnimatedStyle, bo as getAnimatedProps, bp as getDefaultInterpolationForProperty, D as Debounced } from \"../../../../../chunks/editor.svelte.js\";\nimport { B as Button, L as Loader_circle } from \"../../../../../chunks/button.js\";\nimport { I as Icon } from \"../../../../../chunks/Icon.js\";\nimport { e as escape_html } from \"../../../../../chunks/escaping.js\";\nimport { P as Project_viewport, a as Player_controls, M as Maximize_2, S as Slider } from \"../../../../../chunks/project-viewport.js\";\nimport { c as cn, p as parseErrorMessage } from \"../../../../../chunks/utils2.js\";\nimport { S as Streaming_border, I as Input_property, T as Template_wizard } from \"../../../../../chunks/template-wizard.js\";\nimport \"../../../../../chunks/assets.remote.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../../../chunks/url.js\";\nimport \"../../../../../chunks/utils.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../../../chunks/root.js\";\nimport \"../../../../../chunks/exports.js\";\nimport \"../../../../../chunks/client2.js\";\nimport { g as getUser } from \"../../../../../chunks/auth.remote.js\";\nimport \"../../../../../chunks/projects.remote.js\";\nimport { c as createFromSchema, e as defaultTransform, L as LayerStyleSchema, s as stylePropertyGroups, o as BaseAnimatablePropertyLabels, d as defaultLayerStyle, p as scaleMiddleware } from \"../../../../../chunks/registry-data.js\";\nimport { e as extractPropertyMetadata } from \"../../../../../chunks/base.js\";\nimport \"../../../../../chunks/upload.remote.js\";\nimport { d as defaultWindow, c as createSubscriber, w as watch$1, a as SvelteMap, S as SvelteSet } from \"../../../../../chunks/watch.svelte.js\";\nimport { getPlan } from \"../../../../../chunks/plans.js\";\nimport { clsx as clsx$1 } from \"clsx\";\nimport { f as createId, b as boxWith, m as mergeProps$1, S as StyleToObject, j as createAttachmentKey, L as Label, I as Input } from \"../../../../../chunks/input.js\";\nimport { D as DEFAULT_MODEL_ID, A as AI_MODELS, b as getModel } from \"../../../../../chunks/ai-access.js\";\nimport { AbstractChat, lastAssistantMessageIsCompleteWithToolCalls, DefaultChatTransport, isToolUIPart } from \"ai\";\nimport { r as resolve } from \"../../../../../chunks/server2.js\";\nimport { f as mutateComposeFromMedia, m as mutateConfigureProject, a as mutateUngroupLayers, b as mutateGroupLayers, c as mutateRemoveLayer, d as mutateEditLayer, e as mutateCreateLayer } from \"../../../../../chunks/mutations.js\";\nimport { g as getMediaAnnotation } from \"../../../../../chunks/media-analysis.remote.js\";\nimport { g as getAction } from \"../../../../../chunks/registry.js\";\nimport { r as runRegisteredAction, c as createLayer, s as splitLeft, k as splitRight, i as deviceSize, f as round1, v as videoSize, l as size } from \"../../../../../chunks/generate-speech.js\";\nimport { b as applyActionResult } from \"../../../../../chunks/apply-result.js\";\nimport { g as getCredits } from \"../../../../../chunks/ai.remote.js\";\nimport { h as html } from \"../../../../../chunks/html.js\";\nimport { U as User, T as Trash_2, P as Plus } from \"../../../../../chunks/dom-context.svelte.js\";\nimport { X, C as Chevron_down } from \"../../../../../chunks/x.js\";\nimport { S as Scroll_area, c as Tooltip, d as Tooltip_trigger, b as Tooltip_content, R as Rotate_cw, t as templateRegistry, g as getTemplateById } from \"../../../../../chunks/registry2.js\";\nimport { P as PROJECT_LAYER_TYPE, i as isProjectLayer, c as createVirtualProjectLayer, m as mapProjectLayerPropsToProject } from \"../../../../../chunks/project-layer.js\";\nimport { F as Film } from \"../../../../../chunks/film.js\";\nimport { A as Alert_dialog, a as Alert_dialog_content, b as Alert_dialog_header, c as Alert_dialog_title, d as Alert_dialog_description, e as Alert_dialog_footer, f as Alert_dialog_cancel, g as Alert_dialog_action } from \"../../../../../chunks/alert-dialog-description.js\";\nimport { C as Chevron_right } from \"../../../../../chunks/chevron-right.js\";\nimport { C as Copy } from \"../../../../../chunks/copy.js\";\nimport { E as Eye } from \"../../../../../chunks/eye.js\";\nimport { a as Separator } from \"../../../../../chunks/social-auth-buttons.js\";\nimport { nanoid } from \"nanoid\";\nimport { b as animationPresets, c as getPresetById, g as getPresetKeyframes, k as kf } from \"../../../../../chunks/presets.js\";\nimport \"bezier-easing\";\n/* empty css */\nimport { A as Arrow_left } from \"../../../../../chunks/arrow-left.js\";\nimport { A as Arrow_right } from \"../../../../../chunks/arrow-right.js\";\nimport { C as Card, a as Card_header, b as Card_title, c as Card_content } from \"../../../../../chunks/card-title.js\";\nimport { colord } from \"colord\";\nimport { M as Monitor_play } from \"../../../../../chunks/monitor-play.js\";\nimport { C as Clapperboard } from \"../../../../../chunks/clapperboard.js\";\nimport { L as Layout_template } from \"../../../../../chunks/layout-template.js\";\nimport { P as ProjectSchema } from \"../../../../../chunks/animation.js\";\nfunction Arrow_down_left($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M17 7 7 17\" }],\n [\"path\", { \"d\": \"M17 17H7V7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-down-left\" },\n /**\n * @component @name ArrowDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgNyA3IDE3IiAvPgogIDxwYXRoIGQ9Ik0xNyAxN0g3VjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-left\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Arrow_down_right($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"m7 7 10 10\" }],\n [\"path\", { \"d\": \"M17 7v10H7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-down-right\" },\n /**\n * @component @name ArrowDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyA3IDEwIDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyA3djEwSDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-right\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Arrow_up_left($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M7 17V7h10\" }],\n [\"path\", { \"d\": \"M17 17 7 7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-up-left\" },\n /**\n * @component @name ArrowUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxN1Y3aDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNyA3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-left\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Arrow_up_right($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M7 7h10v10\" }],\n [\"path\", { \"d\": \"M7 17 17 7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"arrow-up-right\" },\n /**\n * @component @name ArrowUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyA3aDEwdjEwIiAvPgogIDxwYXRoIGQ9Ik03IDE3IDE3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-right\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Bitcoin($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"bitcoin\" },\n /**\n * @component @name Bitcoin\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNzY3IDE5LjA4OWM0LjkyNC44NjggNi4xNC02LjAyNSAxLjIxNi02Ljg5NG0tMS4yMTYgNi44OTRMNS44NiAxOC4wNDdtNS45MDggMS4wNDItLjM0NyAxLjk3bTEuNTYzLTguODY0YzQuOTI0Ljg2OSA2LjE0LTYuMDI1IDEuMjE1LTYuODkzbS0xLjIxNSA2Ljg5My0zLjk0LS42OTRtNS4xNTUtNi4yTDguMjkgNC4yNm01LjkwOCAxLjA0Mi4zNDgtMS45N003LjQ4IDIwLjM2NGwzLjEyNi0xNy43MjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bitcoin\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Boxes($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z\"\n }\n ],\n [\"path\", { \"d\": \"m7 16.5-4.74-2.85\" }],\n [\"path\", { \"d\": \"m7 16.5 5-3\" }],\n [\"path\", { \"d\": \"M7 16.5v5.17\" }],\n [\n \"path\",\n {\n \"d\": \"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z\"\n }\n ],\n [\"path\", { \"d\": \"m17 16.5-5-3\" }],\n [\"path\", { \"d\": \"m17 16.5 4.74-2.85\" }],\n [\"path\", { \"d\": \"M17 16.5v5.17\" }],\n [\n \"path\",\n {\n \"d\": \"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z\"\n }\n ],\n [\"path\", { \"d\": \"M12 8 7.26 5.15\" }],\n [\"path\", { \"d\": \"m12 8 4.74-2.85\" }],\n [\"path\", { \"d\": \"M12 13.5V8\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"boxes\" },\n /**\n * @component @name Boxes\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45NyAxMi45MkEyIDIgMCAwIDAgMiAxNC42M3YzLjI0YTIgMiAwIDAgMCAuOTcgMS43MWwzIDEuOGEyIDIgMCAwIDAgMi4wNiAwTDEyIDE5di01LjVsLTUtMy00LjAzIDIuNDJaIiAvPgogIDxwYXRoIGQ9Im03IDE2LjUtNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Im03IDE2LjUgNS0zIiAvPgogIDxwYXRoIGQ9Ik03IDE2LjV2NS4xNyIgLz4KICA8cGF0aCBkPSJNMTIgMTMuNVYxOWwzLjk3IDIuMzhhMiAyIDAgMCAwIDIuMDYgMGwzLTEuOGEyIDIgMCAwIDAgLjk3LTEuNzF2LTMuMjRhMiAyIDAgMCAwLS45Ny0xLjcxTDE3IDEwLjVsLTUgM1oiIC8+CiAgPHBhdGggZD0ibTE3IDE2LjUtNS0zIiAvPgogIDxwYXRoIGQ9Im0xNyAxNi41IDQuNzQtMi44NSIgLz4KICA8cGF0aCBkPSJNMTcgMTYuNXY1LjE3IiAvPgogIDxwYXRoIGQ9Ik03Ljk3IDQuNDJBMiAyIDAgMCAwIDcgNi4xM3Y0LjM3bDUgMyA1LTNWNi4xM2EyIDIgMCAwIDAtLjk3LTEuNzFsLTMtMS44YTIgMiAwIDAgMC0yLjA2IDBsLTMgMS44WiIgLz4KICA8cGF0aCBkPSJNMTIgOCA3LjI2IDUuMTUiIC8+CiAgPHBhdGggZD0ibTEyIDggNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMy41VjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/boxes\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Cloud_upload($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 13v8\" }],\n [\n \"path\",\n {\n \"d\": \"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"\n }\n ],\n [\"path\", { \"d\": \"m8 17 4-4 4 4\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"cloud-upload\" },\n /**\n * @component @name CloudUpload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2OCIgLz4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJtOCAxNyA0LTQgNCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cloud-upload\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Eye_off($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\"\n }\n ],\n [\"path\", { \"d\": \"M14.084 14.158a3 3 0 0 1-4.242-4.242\" }],\n [\n \"path\",\n {\n \"d\": \"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\"\n }\n ],\n [\"path\", { \"d\": \"m2 2 20 20\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"eye-off\" },\n /**\n * @component @name EyeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5IiAvPgogIDxwYXRoIGQ9Ik0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MiIgLz4KICA8cGF0aCBkPSJNMTcuNDc5IDE3LjQ5OWExMC43NSAxMC43NSAwIDAgMS0xNS40MTctNS4xNTEgMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSA0LjQ0Ni01LjE0MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye-off\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Image_plus($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M16 5h6\" }],\n [\"path\", { \"d\": \"M19 2v6\" }],\n [\n \"path\",\n {\n \"d\": \"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5\"\n }\n ],\n [\"path\", { \"d\": \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" }],\n [\"circle\", { \"cx\": \"9\", \"cy\": \"9\", \"r\": \"2\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"image-plus\" },\n /**\n * @component @name ImagePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNWg2IiAvPgogIDxwYXRoIGQ9Ik0xOSAydjYiIC8+CiAgPHBhdGggZD0iTTIxIDExLjVWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcuNSIgLz4KICA8cGF0aCBkPSJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image-plus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Layers_plus($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z\"\n }\n ],\n [\"path\", { \"d\": \"M16 17h6\" }],\n [\"path\", { \"d\": \"M19 14v6\" }],\n [\n \"path\",\n { \"d\": \"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178\" }\n ],\n [\n \"path\",\n {\n \"d\": \"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"layers-plus\" },\n /**\n * @component @name LayersPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuODMgMi4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA2LjA4YTEgMSAwIDAgMCAwIDEuODNsOC41OCAzLjkxYTIgMiAwIDAgMCAuODMuMTggMiAyIDAgMCAwIC44My0uMThsOC41OC0zLjlhMSAxIDAgMCAwIDAtMS44MzF6IiAvPgogIDxwYXRoIGQ9Ik0xNiAxN2g2IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNHY2IiAvPgogIDxwYXRoIGQ9Ik0yIDEyYTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIC44MjUuMTc4IiAvPgogIDxwYXRoIGQ9Ik0yIDE3YTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGwyLjExNi0uOTYyIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/layers-plus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Locate($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"line\", { \"x1\": \"2\", \"x2\": \"5\", \"y1\": \"12\", \"y2\": \"12\" }],\n [\"line\", { \"x1\": \"19\", \"x2\": \"22\", \"y1\": \"12\", \"y2\": \"12\" }],\n [\"line\", { \"x1\": \"12\", \"x2\": \"12\", \"y1\": \"2\", \"y2\": \"5\" }],\n [\"line\", { \"x1\": \"12\", \"x2\": \"12\", \"y1\": \"19\", \"y2\": \"22\" }],\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"7\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"locate\" },\n /**\n * @component @name Locate\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMiIgeDI9IjUiIHkxPSIxMiIgeTI9IjEyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjIiIHkyPSI1IiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTkiIHkyPSIyMiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/locate\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Maximize($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M8 3H5a2 2 0 0 0-2 2v3\" }],\n [\"path\", { \"d\": \"M21 8V5a2 2 0 0 0-2-2h-3\" }],\n [\"path\", { \"d\": \"M3 16v3a2 2 0 0 0 2 2h3\" }],\n [\"path\", { \"d\": \"M16 21h3a2 2 0 0 0 2-2v-3\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"maximize\" },\n /**\n * @component @name Maximize\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzSDVhMiAyIDAgMCAwLTIgMnYzIiAvPgogIDxwYXRoIGQ9Ik0yMSA4VjVhMiAyIDAgMCAwLTItMmgtMyIgLz4KICA8cGF0aCBkPSJNMyAxNnYzYTIgMiAwIDAgMCAyIDJoMyIgLz4KICA8cGF0aCBkPSJNMTYgMjFoM2EyIDIgMCAwIDAgMi0ydi0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/maximize\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Minimize_2($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"m14 10 7-7\" }],\n [\"path\", { \"d\": \"M20 10h-6V4\" }],\n [\"path\", { \"d\": \"m3 21 7-7\" }],\n [\"path\", { \"d\": \"M4 14h6v6\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"minimize-2\" },\n /**\n * @component @name Minimize2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTAgNy03IiAvPgogIDxwYXRoIGQ9Ik0yMCAxMGgtNlY0IiAvPgogIDxwYXRoIGQ9Im0zIDIxIDctNyIgLz4KICA8cGF0aCBkPSJNNCAxNGg2djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/minimize-2\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Move_3d($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M5 3v16h16\" }],\n [\"path\", { \"d\": \"m5 19 6-6\" }],\n [\"path\", { \"d\": \"m2 6 3-3 3 3\" }],\n [\"path\", { \"d\": \"m18 16 3 3-3 3\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"move-3d\" },\n /**\n * @component @name Move3d\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAzdjE2aDE2IiAvPgogIDxwYXRoIGQ9Im01IDE5IDYtNiIgLz4KICA8cGF0aCBkPSJtMiA2IDMtMyAzIDMiIC8+CiAgPHBhdGggZD0ibTE4IDE2IDMgMy0zIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/move-3d\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Move($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 2v20\" }],\n [\"path\", { \"d\": \"m15 19-3 3-3-3\" }],\n [\"path\", { \"d\": \"m19 9 3 3-3 3\" }],\n [\"path\", { \"d\": \"M2 12h20\" }],\n [\"path\", { \"d\": \"m5 9-3 3 3 3\" }],\n [\"path\", { \"d\": \"m9 5 3-3 3 3\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"move\" },\n /**\n * @component @name Move\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KICA8cGF0aCBkPSJtMTUgMTktMyAzLTMtMyIgLz4KICA8cGF0aCBkPSJtMTkgOSAzIDMtMyAzIiAvPgogIDxwYXRoIGQ9Ik0yIDEyaDIwIiAvPgogIDxwYXRoIGQ9Im01IDktMyAzIDMgMyIgLz4KICA8cGF0aCBkPSJtOSA1IDMtMyAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/move\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Palette($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\"\n }\n ],\n [\n \"circle\",\n { \"cx\": \"13.5\", \"cy\": \"6.5\", \"r\": \".5\", \"fill\": \"currentColor\" }\n ],\n [\n \"circle\",\n {\n \"cx\": \"17.5\",\n \"cy\": \"10.5\",\n \"r\": \".5\",\n \"fill\": \"currentColor\"\n }\n ],\n [\n \"circle\",\n { \"cx\": \"6.5\", \"cy\": \"12.5\", \"r\": \".5\", \"fill\": \"currentColor\" }\n ],\n [\n \"circle\",\n { \"cx\": \"8.5\", \"cy\": \"7.5\", \"r\": \".5\", \"fill\": \"currentColor\" }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"palette\" },\n /**\n * @component @name Palette\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJhMSAxIDAgMCAxIDAtMjAgMTAgOSAwIDAgMSAxMCA5IDUgNSAwIDAgMS01IDVoLTIuMjVhMS43NSAxLjc1IDAgMCAwLTEuNCAyLjhsLjMuNGExLjc1IDEuNzUgMCAwIDEtMS40IDIuOHoiIC8+CiAgPGNpcmNsZSBjeD0iMTMuNSIgY3k9IjYuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTAuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSI2LjUiIGN5PSIxMi41IiByPSIuNSIgZmlsbD0iY3VycmVudENvbG9yIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjcuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/palette\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Scale($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 3v18\" }],\n [\"path\", { \"d\": \"m19 8 3 8a5 5 0 0 1-6 0zV7\" }],\n [\"path\", { \"d\": \"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1\" }],\n [\"path\", { \"d\": \"m5 8 3 8a5 5 0 0 1-6 0zV7\" }],\n [\"path\", { \"d\": \"M7 21h10\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"scale\" },\n /**\n * @component @name Scale\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJtMTkgOCAzIDhhNSA1IDAgMCAxLTYgMHpWNyIgLz4KICA8cGF0aCBkPSJNMyA3aDFhMTcgMTcgMCAwIDAgOC0yIDE3IDE3IDAgMCAwIDggMmgxIiAvPgogIDxwYXRoIGQ9Im01IDggMyA4YTUgNSAwIDAgMS02IDB6VjciIC8+CiAgPHBhdGggZD0iTTcgMjFoMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scale\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Scan_search($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M3 7V5a2 2 0 0 1 2-2h2\" }],\n [\"path\", { \"d\": \"M17 3h2a2 2 0 0 1 2 2v2\" }],\n [\"path\", { \"d\": \"M21 17v2a2 2 0 0 1-2 2h-2\" }],\n [\"path\", { \"d\": \"M7 21H5a2 2 0 0 1-2-2v-2\" }],\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"3\" }],\n [\"path\", { \"d\": \"m16 16-1.9-1.9\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"scan-search\" },\n /**\n * @component @name ScanSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTE2IDE2LTEuOS0xLjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scan-search\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Shapes($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z\"\n }\n ],\n [\n \"rect\",\n { \"x\": \"3\", \"y\": \"14\", \"width\": \"7\", \"height\": \"7\", \"rx\": \"1\" }\n ],\n [\"circle\", { \"cx\": \"17.5\", \"cy\": \"17.5\", \"r\": \"3.5\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"shapes\" },\n /**\n * @component @name Shapes\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOC4zIDEwYS43LjcgMCAwIDEtLjYyNi0xLjA3OUwxMS40IDNhLjcuNyAwIDAgMSAxLjE5OC0uMDQzTDE2LjMgOC45YS43LjcgMCAwIDEtLjU3MiAxLjFaIiAvPgogIDxyZWN0IHg9IjMiIHk9IjE0IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMSIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTcuNSIgcj0iMy41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shapes\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Skip_back($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z\"\n }\n ],\n [\"path\", { \"d\": \"M3 20V4\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"skip-back\" },\n /**\n * @component @name SkipBack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuOTcxIDQuMjg1QTIgMiAwIDAgMSAyMSA2djEyYTIgMiAwIDAgMS0zLjAyOSAxLjcxNWwtOS45OTctNS45OThhMiAyIDAgMCAxLS4wMDMtMy40MzJ6IiAvPgogIDxwYXRoIGQ9Ik0zIDIwVjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/skip-back\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Skip_forward($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M21 4v16\" }],\n [\n \"path\",\n {\n \"d\": \"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"skip-forward\" },\n /**\n * @component @name SkipForward\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNHYxNiIgLz4KICA8cGF0aCBkPSJNNi4wMjkgNC4yODVBMiAyIDAgMCAwIDMgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/skip-forward\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Unlink($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\"\n }\n ],\n [\n \"path\",\n {\n \"d\": \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\"\n }\n ],\n [\"line\", { \"x1\": \"8\", \"x2\": \"8\", \"y1\": \"2\", \"y2\": \"5\" }],\n [\"line\", { \"x1\": \"2\", \"x2\": \"5\", \"y1\": \"8\", \"y2\": \"8\" }],\n [\"line\", { \"x1\": \"16\", \"x2\": \"16\", \"y1\": \"19\", \"y2\": \"22\" }],\n [\"line\", { \"x1\": \"19\", \"x2\": \"22\", \"y1\": \"16\", \"y2\": \"16\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"unlink\" },\n /**\n * @component @name Unlink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTguODQgMTIuMjUgMS43Mi0xLjcxaC0uMDJhNS4wMDQgNS4wMDQgMCAwIDAtLjEyLTcuMDcgNS4wMDYgNS4wMDYgMCAwIDAtNi45NSAwbC0xLjcyIDEuNzEiIC8+CiAgPHBhdGggZD0ibTUuMTcgMTEuNzUtMS43MSAxLjcxYTUuMDA0IDUuMDA0IDAgMCAwIC4xMiA3LjA3IDUuMDA2IDUuMDA2IDAgMCAwIDYuOTUgMGwxLjcxLTEuNzEiIC8+CiAgPGxpbmUgeDE9IjgiIHgyPSI4IiB5MT0iMiIgeTI9IjUiIC8+CiAgPGxpbmUgeDE9IjIiIHgyPSI1IiB5MT0iOCIgeTI9IjgiIC8+CiAgPGxpbmUgeDE9IjE2IiB4Mj0iMTYiIHkxPSIxOSIgeTI9IjIyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTYiIHkyPSIxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/unlink\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Wallpaper($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 17v4\" }],\n [\"path\", { \"d\": \"M8 21h8\" }],\n [\"path\", { \"d\": \"m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15\" }],\n [\"circle\", { \"cx\": \"8\", \"cy\": \"9\", \"r\": \"2\" }],\n [\n \"rect\",\n { \"x\": \"2\", \"y\": \"3\", \"width\": \"20\", \"height\": \"14\", \"rx\": \"2\" }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"wallpaper\" },\n /**\n * @component @name Wallpaper\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNOCAyMWg4IiAvPgogIDxwYXRoIGQ9Im05IDE3IDYuMS02LjFhMiAyIDAgMCAxIDIuODEuMDFMMjIgMTUiIC8+CiAgPGNpcmNsZSBjeD0iOCIgY3k9IjkiIHI9IjIiIC8+CiAgPHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wallpaper\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Wand_sparkles($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\"\n }\n ],\n [\"path\", { \"d\": \"m14 7 3 3\" }],\n [\"path\", { \"d\": \"M5 6v4\" }],\n [\"path\", { \"d\": \"M19 14v4\" }],\n [\"path\", { \"d\": \"M10 2v2\" }],\n [\"path\", { \"d\": \"M7 8H3\" }],\n [\"path\", { \"d\": \"M21 16h-4\" }],\n [\"path\", { \"d\": \"M11 3H9\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"wand-sparkles\" },\n /**\n * @component @name WandSparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNjQgMy42NC0xLjI4LTEuMjhhMS4yMSAxLjIxIDAgMCAwLTEuNzIgMEwyLjM2IDE4LjY0YTEuMjEgMS4yMSAwIDAgMCAwIDEuNzJsMS4yOCAxLjI4YTEuMiAxLjIgMCAwIDAgMS43MiAwTDIxLjY0IDUuMzZhMS4yIDEuMiAwIDAgMCAwLTEuNzIiIC8+CiAgPHBhdGggZD0ibTE0IDcgMyAzIiAvPgogIDxwYXRoIGQ9Ik01IDZ2NCIgLz4KICA8cGF0aCBkPSJNMTkgMTR2NCIgLz4KICA8cGF0aCBkPSJNMTAgMnYyIiAvPgogIDxwYXRoIGQ9Ik03IDhIMyIgLz4KICA8cGF0aCBkPSJNMjEgMTZoLTQiIC8+CiAgPHBhdGggZD0iTTExIDNIOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wand-sparkles\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Zoom_in($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"11\", \"cy\": \"11\", \"r\": \"8\" }],\n [\n \"line\",\n { \"x1\": \"21\", \"x2\": \"16.65\", \"y1\": \"21\", \"y2\": \"16.65\" }\n ],\n [\"line\", { \"x1\": \"11\", \"x2\": \"11\", \"y1\": \"8\", \"y2\": \"14\" }],\n [\"line\", { \"x1\": \"8\", \"x2\": \"14\", \"y1\": \"11\", \"y2\": \"11\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"zoom-in\" },\n /**\n * @component @name ZoomIn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iMTEiIHgyPSIxMSIgeTE9IjgiIHkyPSIxNCIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-in\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Zoom_out($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"11\", \"cy\": \"11\", \"r\": \"8\" }],\n [\n \"line\",\n { \"x1\": \"21\", \"x2\": \"16.65\", \"y1\": \"21\", \"y2\": \"16.65\" }\n ],\n [\"line\", { \"x1\": \"8\", \"x2\": \"14\", \"y1\": \"11\", \"y2\": \"11\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"zoom-out\" },\n /**\n * @component @name ZoomOut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-out\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Menu_item($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n child,\n children,\n ref = null,\n id = createId(uid),\n disabled = false,\n onSelect = noop$1,\n closeOnSelect = true,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const itemState = MenuItemState.create({\n id: boxWith(() => id),\n disabled: boxWith(() => disabled),\n onSelect: boxWith(() => onSelect),\n ref: boxWith(() => ref, (v) => ref = v),\n closeOnSelect: boxWith(() => closeOnSelect)\n });\n const mergedProps = derived(() => mergeProps$1(restProps, itemState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Menu_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n ref = null,\n id = createId(uid),\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const groupState = MenuGroupState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps$1(restProps, groupState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Menu_group_heading($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n ref = null,\n id = createId(uid),\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const groupHeadingState = MenuGroupHeadingState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps$1(restProps, groupHeadingState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction getStorage(storageType, window2) {\n switch (storageType) {\n case \"local\":\n return window2.localStorage;\n case \"session\":\n return window2.sessionStorage;\n }\n}\nfunction proxy(value, root, proxies, subscribe, update, serialize) {\n if (value === null || typeof value !== \"object\") {\n return value;\n }\n const proto = Object.getPrototypeOf(value);\n if (proto !== null && proto !== Object.prototype && !Array.isArray(value)) {\n return value;\n }\n let p = proxies.get(value);\n if (!p) {\n p = new Proxy(value, {\n get: (target, property) => {\n subscribe?.();\n return proxy(Reflect.get(target, property), root, proxies, subscribe, update, serialize);\n },\n set: (target, property, value2) => {\n update?.();\n Reflect.set(target, property, value2);\n serialize(root);\n return true;\n }\n });\n proxies.set(value, p);\n }\n return p;\n}\nclass PersistedState {\n #current;\n #key;\n #serializer;\n #storage;\n #subscribe;\n #update;\n #proxies = /* @__PURE__ */ new WeakMap();\n #connected;\n #storageCleanup;\n #window;\n #syncTabs;\n #storageType;\n constructor(key2, initialValue, options = {}) {\n const {\n storage: storageType = \"local\",\n serializer = { serialize: JSON.stringify, deserialize: JSON.parse },\n syncTabs = true,\n connected = true\n } = options;\n const window2 = \"window\" in options ? options.window : defaultWindow;\n this.#current = initialValue;\n this.#key = key2;\n this.#serializer = serializer;\n this.#connected = connected;\n this.#window = window2;\n this.#syncTabs = syncTabs;\n this.#storageType = storageType;\n if (window2 === void 0) return;\n const storage = getStorage(storageType, window2);\n this.#storage = storage;\n const existingValue = storage.getItem(key2);\n if (existingValue !== null) {\n this.#current = this.#deserialize(existingValue);\n } else if (connected) {\n this.#serialize(initialValue);\n }\n this.#setupStorageListener();\n }\n get current() {\n this.#subscribe?.();\n let root;\n if (this.#connected) {\n const storageItem = this.#storage?.getItem(this.#key);\n root = storageItem ? this.#deserialize(storageItem) : this.#current;\n } else {\n root = this.#current;\n }\n return proxy(root, root, this.#proxies, this.#subscribe?.bind(this), this.#update?.bind(this), this.#serialize.bind(this));\n }\n set current(newValue) {\n this.#serialize(newValue);\n this.#update?.();\n }\n #handleStorageEvent = (event) => {\n if (event.key !== this.#key || event.newValue === null) return;\n this.#current = this.#deserialize(event.newValue);\n this.#update?.();\n };\n #deserialize(value) {\n try {\n return this.#serializer.deserialize(value);\n } catch (error) {\n console.error(`Error when parsing \"${value}\" from persisted store \"${this.#key}\"`, error);\n return;\n }\n }\n #serialize(value) {\n if (!this.#connected) {\n this.#current = value;\n return;\n }\n try {\n if (value !== void 0) {\n this.#storage?.setItem(this.#key, this.#serializer.serialize(value));\n }\n } catch (error) {\n console.error(`Error when writing value from persisted store \"${this.#key}\" to ${this.#storage}`, error);\n }\n }\n #setupStorageListener() {\n if (!this.#window || !this.#connected) return;\n this.#subscribe = createSubscriber();\n }\n #teardownStorageListener() {\n this.#storageCleanup?.();\n this.#storageCleanup = void 0;\n this.#subscribe = void 0;\n }\n /**\n * Returns whether the state is currently connected to storage.\n *\n * When `connected` is `false`, the state is not connected to storage and any\n * changes to the state will not be persisted to storage and any changes to storage\n * will not be reflected in the state.\n */\n get connected() {\n return this.#connected;\n }\n /**\n * Disconnects the state from storage, preventing updates to storage and stopping\n * cross-tab synchronization. The current value in storage is removed.\n *\n * Call `.connect()` to re-enable storage persistence.\n */\n disconnect() {\n if (!this.#connected) return;\n const storageItem = this.#storage?.getItem(this.#key);\n if (storageItem) {\n this.#current = this.#deserialize(storageItem);\n }\n this.#connected = false;\n this.#storage?.removeItem(this.#key);\n this.#teardownStorageListener();\n }\n /**\n * Reconnects the state to storage, enabling storage persistence and cross-tab\n * synchronization. The current value is immediately persisted to storage.\n *\n * **NOTE**: By default, the state is already connected to storage and this method is\n * only useful to re-enable storage persistence after calling `disconnect()`\n * or starting with `connected: false` as an option.\n */\n connect() {\n if (this.#connected) return;\n this.#connected = true;\n this.#serialize(this.#current);\n this.#setupStorageListener();\n }\n}\nfunction Dropdown_menu_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ref = null, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Menu_group) {\n $$renderer3.push(\"<!--[-->\");\n Menu_group($$renderer3, spread_props([\n { \"data-slot\": \"dropdown-menu-group\" },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Dropdown_menu_item($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n inset,\n variant = \"default\",\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Menu_item) {\n $$renderer3.push(\"<!--[-->\");\n Menu_item($$renderer3, spread_props([\n {\n \"data-slot\": \"dropdown-menu-item\",\n \"data-inset\": inset,\n \"data-variant\": variant,\n class: cn(\"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Dropdown_menu_group_heading($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n inset,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Menu_group_heading) {\n $$renderer3.push(\"<!--[-->\");\n Menu_group_heading($$renderer3, spread_props([\n {\n \"data-slot\": \"dropdown-menu-group-heading\",\n \"data-inset\": inset,\n class: cn(\"px-2 py-1.5 text-sm font-semibold data-[inset]:pl-8\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Canvas_controls($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function zoomIn() {\n projectStore().setZoom(projectStore().viewport.zoom * 1.25);\n }\n function zoomOut() {\n projectStore().setZoom(projectStore().viewport.zoom * 0.8);\n }\n function resetView() {\n projectStore().setZoom(1);\n projectStore().setPan(0, 0);\n }\n const zoomPercentage = derived(() => Math.round(projectStore().viewport.zoom * 100));\n $$renderer2.push(`<div class=\"absolute right-4 bottom-4 flex items-center rounded-2xl border border-foreground/10 bg-background/95 p-2 shadow-lg\">`);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: zoomOut,\n disabled: projectStore().isRecording,\n children: ($$renderer3) => {\n Zoom_out($$renderer3, {});\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> <span class=\"min-w-12 text-center font-mono text-sm\">${escape_html(zoomPercentage())}%</span> `);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: zoomIn,\n disabled: projectStore().isRecording,\n children: ($$renderer3) => {\n Zoom_in($$renderer3, {});\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: resetView,\n disabled: projectStore().isRecording,\n children: ($$renderer3) => {\n Maximize($$renderer3, {});\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n });\n}\nfunction Canvas($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n const projectState = derived(() => projectStore().state);\n const user = derived(getUser);\n const userTier = derived(() => user().current?.tier || \"free\");\n const canRemoveWatermark = derived(() => getPlan(userTier()).limits.watermarkFree);\n const showWatermark = derived(() => !canRemoveWatermark() || !(projectState().hideWatermark ?? false));\n let canvasContainer = void 0;\n let { isRecording = false } = $$props;\n let containerWidth = 1;\n let containerHeight = 1;\n const VIEWPORT_PADDING = 0.8;\n const projectAspectRatio = derived(() => projectState().width / projectState().height);\n const containerAspectRatio = derived(() => containerWidth / containerHeight);\n const fitScale = derived(() => containerAspectRatio() > projectAspectRatio() ? containerHeight * VIEWPORT_PADDING / projectState().height : containerWidth * VIEWPORT_PADDING / projectState().width);\n const viewportTransform = derived(() => `translate(${projectStore().viewport.pan.x}px, ${projectStore().viewport.pan.y}px) scale(${fitScale() * projectStore().viewport.zoom})`);\n const recordingScale = derived(() => {\n if (typeof window === \"undefined\") return 1;\n const scaleX = window.innerWidth / projectState().width;\n const scaleY = window.innerHeight / projectState().height;\n return Math.min(1, scaleX, scaleY);\n });\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div${attr_class(clsx(cn(\"group/canvas relative h-full w-full overflow-hidden bg-background\", {\n \"fixed! inset-0! z-9999! flex! items-center! justify-center! bg-foreground!\": isRecording\n })))}><div${attr_class(clsx(cn(\"absolute inset-0\", { \"relative flex items-center justify-center\": isRecording })))} role=\"presentation\"${attr_style(\"\", {\n cursor: \"default\",\n \"transform-style\": \"preserve-3d\"\n })}><div${attr_class(clsx(cn(\"viewport-content absolute top-1/2 left-1/2 origin-center\", { \"relative top-auto left-auto\": isRecording })))}${attr_style(\"\", {\n transform: isRecording ? \"none\" : viewportTransform(),\n \"transform-style\": \"preserve-3d\"\n })}>`);\n if (!isRecording) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"pointer-events-none absolute z-3 bg-background/60\"${attr_style(\"\", {\n width: \"20000px\",\n height: \"20000px\",\n left: \"-10000px\",\n top: \"-10000px\",\n \"clip-path\": `polygon(evenodd, 0 0, 0 20000px, 20000px 20000px, 20000px 0, 0 0, ${1e4 - projectState().width / 2}px ${1e4 - projectState().height / 2}px, ${1e4 - projectState().width / 2}px ${1e4 + projectState().height / 2}px, ${1e4 + projectState().width / 2}px ${1e4 + projectState().height / 2}px, ${1e4 + projectState().width / 2}px ${1e4 - projectState().height / 2}px, ${1e4 - projectState().width / 2}px ${1e4 - projectState().height / 2}px)`\n })}></div> <div class=\"pointer-events-none absolute z-4 rounded-2xl border border-foreground/10 shadow-lg\"${attr_style(\"\", {\n width: `${stringify(projectState().width)}px`,\n height: `${stringify(projectState().height)}px`,\n left: isRecording ? \"auto\" : `-${projectState().width / 2}px`,\n top: isRecording ? \"auto\" : `-${projectState().height / 2}px`\n })}></div> `);\n Streaming_border($$renderer3, {\n width: projectState().width,\n height: projectState().height,\n left: `-${stringify(projectState().width / 2)}px`,\n top: `-${stringify(projectState().height / 2)}px`,\n active: editorState().isAiStreaming\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n Project_viewport($$renderer3, {\n project: projectState(),\n currentTime: projectStore().currentTime,\n isPlaying: projectStore().isPlaying,\n globalVolume: projectStore().globalVolume,\n selectedLayerId: projectStore().selectedLayerId,\n disableSelection: projectStore().isRecording,\n getCachedFrame: projectStore().isRecording ? projectStore().getCachedFrame : void 0,\n isRecording: projectStore().isRecording,\n showWatermark: showWatermark(),\n class: cn(\"absolute z-2\", { \"relative! shadow-none!\": isRecording }),\n style: `${stringify(isRecording ? \"auto\" : `left: -${projectState().width / 2}px; top: -${projectState().height / 2}px;`)} ${stringify(isRecording ? `transform: scale(${recordingScale()})` : \"\")}`,\n children: ($$renderer4) => {\n {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (!isRecording) {\n $$renderer4.push(\"<!--[0-->\");\n Player_controls($$renderer4, {\n duration: projectState().duration,\n canvasContainer,\n get isPlaying() {\n return projectStore().isPlaying;\n },\n set isPlaying($$value) {\n projectStore().isPlaying = $$value;\n $$settled = false;\n },\n get currentTime() {\n return projectStore().currentTime;\n },\n set currentTime($$value) {\n projectStore().currentTime = $$value;\n $$settled = false;\n },\n get globalVolume() {\n return projectStore().globalVolume;\n },\n set globalVolume($$value) {\n projectStore().globalVolume = $$value;\n $$settled = false;\n }\n });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n }\n });\n $$renderer3.push(`<!----></div></div> `);\n if (!isRecording) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"opacity-100 transition-opacity duration-200 group-has-[.group\\\\/viewport:hover]/canvas:opacity-0\">`);\n Canvas_controls($$renderer3);\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction Keyboard_handler($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n });\n}\nfunction composeHandlers(...handlers) {\n return function(e) {\n for (const handler of handlers) {\n if (!handler)\n continue;\n if (e.defaultPrevented)\n return;\n if (typeof handler === \"function\") {\n handler.call(this, e);\n } else {\n handler.current?.call(this, e);\n }\n }\n };\n}\nconst NUMBER_CHAR_RE = /\\d/;\nconst STR_SPLITTERS = [\"-\", \"_\", \"/\", \".\"];\nfunction isUppercase(char = \"\") {\n if (NUMBER_CHAR_RE.test(char))\n return void 0;\n return char !== char.toLowerCase();\n}\nfunction splitByCase(str) {\n const parts = [];\n let buff = \"\";\n let previousUpper;\n let previousSplitter;\n for (const char of str) {\n const isSplitter = STR_SPLITTERS.includes(char);\n if (isSplitter === true) {\n parts.push(buff);\n buff = \"\";\n previousUpper = void 0;\n continue;\n }\n const isUpper = isUppercase(char);\n if (previousSplitter === false) {\n if (previousUpper === false && isUpper === true) {\n parts.push(buff);\n buff = char;\n previousUpper = isUpper;\n continue;\n }\n if (previousUpper === true && isUpper === false && buff.length > 1) {\n const lastChar = buff.at(-1);\n parts.push(buff.slice(0, Math.max(0, buff.length - 1)));\n buff = lastChar + char;\n previousUpper = isUpper;\n continue;\n }\n }\n buff += char;\n previousUpper = isUpper;\n previousSplitter = isSplitter;\n }\n parts.push(buff);\n return parts;\n}\nfunction pascalCase(str) {\n if (!str)\n return \"\";\n return splitByCase(str).map((p) => upperFirst(p)).join(\"\");\n}\nfunction camelCase(str) {\n return lowerFirst(pascalCase(str || \"\"));\n}\nfunction upperFirst(str) {\n return str ? str[0].toUpperCase() + str.slice(1) : \"\";\n}\nfunction lowerFirst(str) {\n return str ? str[0].toLowerCase() + str.slice(1) : \"\";\n}\nfunction cssToStyleObj(css) {\n if (!css)\n return {};\n const styleObj = {};\n function iterator(name, value) {\n if (name.startsWith(\"-moz-\") || name.startsWith(\"-webkit-\") || name.startsWith(\"-ms-\") || name.startsWith(\"-o-\")) {\n styleObj[pascalCase(name)] = value;\n return;\n }\n if (name.startsWith(\"--\")) {\n styleObj[name] = value;\n return;\n }\n styleObj[camelCase(name)] = value;\n }\n StyleToObject(css, iterator);\n return styleObj;\n}\nfunction executeCallbacks(...callbacks) {\n return (...args) => {\n for (const callback of callbacks) {\n if (typeof callback === \"function\") {\n callback(...args);\n }\n }\n };\n}\nfunction addEventListener(target, event, handler, options) {\n const events = Array.isArray(event) ? event : [event];\n events.forEach((_event) => target.addEventListener(_event, handler, options));\n return () => {\n events.forEach((_event) => target.removeEventListener(_event, handler, options));\n };\n}\nfunction isEventHandler(key2) {\n return EVENT_LIST_SET.has(key2);\n}\nfunction mergeProps(...args) {\n const result = { ...args[0] };\n for (let i = 1; i < args.length; i++) {\n const props = args[i];\n if (!props)\n continue;\n for (const key2 of Object.keys(props)) {\n const a = result[key2];\n const b = props[key2];\n const aIsFunction = typeof a === \"function\";\n const bIsFunction = typeof b === \"function\";\n if (aIsFunction && typeof bIsFunction && isEventHandler(key2)) {\n const aHandler = a;\n const bHandler = b;\n result[key2] = composeHandlers(aHandler, bHandler);\n } else if (aIsFunction && bIsFunction) {\n result[key2] = executeCallbacks(a, b);\n } else if (key2 === \"class\") {\n const aIsClassValue = isClassValue(a);\n const bIsClassValue = isClassValue(b);\n if (aIsClassValue && bIsClassValue) {\n result[key2] = clsx$1(a, b);\n } else if (aIsClassValue) {\n result[key2] = clsx$1(a);\n } else if (bIsClassValue) {\n result[key2] = clsx$1(b);\n }\n } else if (key2 === \"style\") {\n const aIsObject = typeof a === \"object\";\n const bIsObject = typeof b === \"object\";\n const aIsString = typeof a === \"string\";\n const bIsString = typeof b === \"string\";\n if (aIsObject && bIsObject) {\n result[key2] = { ...a, ...b };\n } else if (aIsObject && bIsString) {\n const parsedStyle = cssToStyleObj(b);\n result[key2] = { ...a, ...parsedStyle };\n } else if (aIsString && bIsObject) {\n const parsedStyle = cssToStyleObj(a);\n result[key2] = { ...parsedStyle, ...b };\n } else if (aIsString && bIsString) {\n const parsedStyleA = cssToStyleObj(a);\n const parsedStyleB = cssToStyleObj(b);\n result[key2] = { ...parsedStyleA, ...parsedStyleB };\n } else if (aIsObject) {\n result[key2] = a;\n } else if (bIsObject) {\n result[key2] = b;\n } else if (aIsString) {\n result[key2] = a;\n } else if (bIsString) {\n result[key2] = b;\n }\n } else {\n result[key2] = b !== void 0 ? b : a;\n }\n }\n for (const key2 of Object.getOwnPropertySymbols(props)) {\n const a = result[key2];\n const b = props[key2];\n result[key2] = b !== void 0 ? b : a;\n }\n }\n if (typeof result.style === \"object\") {\n result.style = styleToString(result.style).replaceAll(\"\\n\", \" \");\n }\n if (result.hidden !== true) {\n result.hidden = void 0;\n delete result.hidden;\n }\n if (result.disabled !== true) {\n result.disabled = void 0;\n delete result.disabled;\n }\n return result;\n}\nfunction afterTick(fn) {\n tick().then(fn);\n}\nconst DOCUMENT_NODE = 9;\nfunction isDocument(node) {\n return isObject(node) && node.nodeType === DOCUMENT_NODE;\n}\nfunction isWindow(node) {\n return isObject(node) && node.constructor?.name === \"VisualViewport\";\n}\nfunction getDocument(node) {\n if (isDocument(node))\n return node;\n if (isWindow(node))\n return node.document;\n return node?.ownerDocument ?? document;\n}\nfunction getActiveElement(rootNode) {\n let activeElement = rootNode.activeElement;\n while (activeElement?.shadowRoot) {\n const el = activeElement.shadowRoot.activeElement;\n if (el === activeElement)\n break;\n else\n activeElement = el;\n }\n return activeElement;\n}\nclass DOMContext {\n element;\n #root = derived(() => {\n if (!this.element.current) return document;\n const rootNode = this.element.current.getRootNode() ?? document;\n return rootNode;\n });\n get root() {\n return this.#root();\n }\n set root($$value) {\n return this.#root($$value);\n }\n constructor(element2) {\n if (typeof element2 === \"function\") {\n this.element = box.with(element2);\n } else {\n this.element = element2;\n }\n }\n getDocument = () => {\n return getDocument(this.root);\n };\n getWindow = () => {\n return this.getDocument().defaultView ?? window;\n };\n getActiveElement = () => {\n return getActiveElement(this.root);\n };\n isActiveElement = (node) => {\n return node === this.getActiveElement();\n };\n getElementById(id) {\n return this.root.getElementById(id);\n }\n querySelector = (selector) => {\n if (!this.root) return null;\n return this.root.querySelector(selector);\n };\n querySelectorAll = (selector) => {\n if (!this.root) return [];\n return this.root.querySelectorAll(selector);\n };\n setTimeout = (callback, delay) => {\n return this.getWindow().setTimeout(callback, delay);\n };\n clearTimeout = (timeoutId) => {\n return this.getWindow().clearTimeout(timeoutId);\n };\n}\nfunction attachRef(ref, onChange) {\n return {\n [createAttachmentKey()]: (node) => {\n if (box.isBox(ref)) {\n ref.current = node;\n run(() => onChange?.(node));\n return () => {\n if (\"isConnected\" in node && node.isConnected)\n return;\n ref.current = null;\n };\n }\n ref(node);\n run(() => onChange?.(node));\n return () => {\n if (\"isConnected\" in node && node.isConnected)\n return;\n ref(null);\n };\n }\n };\n}\nfunction calculateAriaValues({ layout, panesArray, pivotIndices }) {\n let currentMinSize = 0;\n let currentMaxSize = 100;\n let totalMinSize = 0;\n let totalMaxSize = 0;\n const firstIndex = pivotIndices[0];\n for (let i = 0; i < panesArray.length; i++) {\n const constraints = panesArray[i].constraints;\n const { maxSize = 100, minSize = 0 } = constraints;\n if (i === firstIndex) {\n currentMinSize = minSize;\n currentMaxSize = maxSize;\n } else {\n totalMinSize += minSize;\n totalMaxSize += maxSize;\n }\n }\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize);\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize);\n const valueNow = layout[firstIndex];\n return {\n valueMax,\n valueMin,\n valueNow\n };\n}\nfunction assert(expectedCondition, message = \"Assertion failed!\") {\n if (!expectedCondition) {\n console.error(message);\n throw new Error(message);\n }\n}\nconst LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100;\nconst PRECISION = 10;\nfunction areNumbersAlmostEqual(actual, expected, fractionDigits = PRECISION) {\n return compareNumbersWithTolerance(actual, expected, fractionDigits) === 0;\n}\nfunction compareNumbersWithTolerance(actual, expected, fractionDigits = PRECISION) {\n const roundedActual = roundTo(actual, fractionDigits);\n const roundedExpected = roundTo(expected, fractionDigits);\n return Math.sign(roundedActual - roundedExpected);\n}\nfunction areArraysEqual(arrA, arrB) {\n if (arrA.length !== arrB.length)\n return false;\n for (let index = 0; index < arrA.length; index++) {\n if (arrA[index] !== arrB[index])\n return false;\n }\n return true;\n}\nfunction roundTo(value, decimals) {\n return Number.parseFloat(value.toFixed(decimals));\n}\nconst isBrowser = typeof document !== \"undefined\";\nfunction isHTMLElement(element2) {\n return element2 instanceof HTMLElement;\n}\nfunction isKeyDown(event) {\n return event.type === \"keydown\";\n}\nfunction isMouseEvent(event) {\n return event.type.startsWith(\"mouse\");\n}\nfunction isTouchEvent(event) {\n return event.type.startsWith(\"touch\");\n}\nfunction resizePane({ paneConstraints: paneConstraintsArray, paneIndex, initialSize }) {\n const paneConstraints = paneConstraintsArray[paneIndex];\n assert(paneConstraints != null, \"Pane constraints should not be null.\");\n const { collapsedSize = 0, collapsible, maxSize = 100, minSize = 0 } = paneConstraints;\n let newSize = initialSize;\n if (compareNumbersWithTolerance(newSize, minSize) < 0) {\n newSize = getAdjustedSizeForCollapsible(newSize, collapsible, collapsedSize, minSize);\n }\n newSize = Math.min(maxSize, newSize);\n return Number.parseFloat(newSize.toFixed(PRECISION));\n}\nfunction getAdjustedSizeForCollapsible(size2, collapsible, collapsedSize, minSize) {\n if (!collapsible)\n return minSize;\n const halfwayPoint = (collapsedSize + minSize) / 2;\n return compareNumbersWithTolerance(size2, halfwayPoint) < 0 ? collapsedSize : minSize;\n}\nfunction noop() {\n}\nfunction updateResizeHandleAriaValues({ groupId, layout, panesArray, domContext }) {\n const resizeHandleElements = getResizeHandleElementsForGroup(groupId, domContext);\n for (let index = 0; index < panesArray.length - 1; index++) {\n const { valueMax, valueMin, valueNow } = calculateAriaValues({\n layout,\n panesArray,\n pivotIndices: [index, index + 1]\n });\n const resizeHandleEl = resizeHandleElements[index];\n if (isHTMLElement(resizeHandleEl)) {\n const paneData = panesArray[index];\n resizeHandleEl.setAttribute(\"aria-controls\", paneData.opts.id.current);\n resizeHandleEl.setAttribute(\"aria-valuemax\", `${Math.round(valueMax)}`);\n resizeHandleEl.setAttribute(\"aria-valuemin\", `${Math.round(valueMin)}`);\n resizeHandleEl.setAttribute(\"aria-valuenow\", valueNow != null ? `${Math.round(valueNow)}` : \"\");\n }\n }\n return () => {\n for (const el of resizeHandleElements) {\n el.removeAttribute(\"aria-controls\");\n el.removeAttribute(\"aria-valuemax\");\n el.removeAttribute(\"aria-valuemin\");\n el.removeAttribute(\"aria-valuenow\");\n }\n };\n}\nfunction getResizeHandleElementsForGroup(groupId, domContext) {\n if (!isBrowser)\n return [];\n return Array.from(domContext.querySelectorAll(`[data-pane-resizer-id][data-pane-group-id=\"${groupId}\"]`));\n}\nfunction getResizeHandleElementIndex({ groupId, id, domContext }) {\n if (!isBrowser)\n return null;\n const handles = getResizeHandleElementsForGroup(groupId, domContext);\n const index = handles.findIndex((handle) => handle.getAttribute(\"data-pane-resizer-id\") === id);\n return index ?? null;\n}\nfunction getPivotIndices({ groupId, dragHandleId, domContext }) {\n const index = getResizeHandleElementIndex({\n groupId,\n id: dragHandleId,\n domContext\n });\n return index != null ? [index, index + 1] : [-1, -1];\n}\nfunction paneDataHelper(panesArray, pane, layout) {\n const paneConstraintsArray = panesArray.map((paneData) => paneData.constraints);\n const paneIndex = findPaneDataIndex(panesArray, pane);\n const paneConstraints = paneConstraintsArray[paneIndex];\n const isLastPane = paneIndex === panesArray.length - 1;\n const pivotIndices = isLastPane ? [paneIndex - 1, paneIndex] : [paneIndex, paneIndex + 1];\n const paneSize = layout[paneIndex];\n return {\n ...paneConstraints,\n paneSize,\n pivotIndices\n };\n}\nfunction findPaneDataIndex(panesArray, pane) {\n return panesArray.findIndex((prevPaneData) => prevPaneData.opts.id.current === pane.opts.id.current);\n}\nfunction callPaneCallbacks(panesArray, layout, paneIdToLastNotifiedSizeMap) {\n for (let index = 0; index < layout.length; index++) {\n const size2 = layout[index];\n const paneData = panesArray[index];\n assert(paneData);\n const { collapsedSize = 0, collapsible } = paneData.constraints;\n const lastNotifiedSize = paneIdToLastNotifiedSizeMap[paneData.opts.id.current];\n if (!(lastNotifiedSize == null || size2 !== lastNotifiedSize))\n continue;\n paneIdToLastNotifiedSizeMap[paneData.opts.id.current] = size2;\n const { onCollapse, onExpand, onResize } = paneData.callbacks;\n onResize?.(size2, lastNotifiedSize);\n if (collapsible && (onCollapse || onExpand)) {\n if (onExpand && (lastNotifiedSize == null || lastNotifiedSize === collapsedSize) && size2 !== collapsedSize) {\n onExpand();\n }\n if (onCollapse && (lastNotifiedSize == null || lastNotifiedSize !== collapsedSize) && size2 === collapsedSize) {\n onCollapse();\n }\n }\n }\n}\nfunction getUnsafeDefaultLayout({ panesArray }) {\n const layout = Array(panesArray.length);\n const paneConstraintsArray = panesArray.map((paneData) => paneData.constraints);\n let numPanesWithSizes = 0;\n let remainingSize = 100;\n for (let index = 0; index < panesArray.length; index++) {\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n const { defaultSize } = paneConstraints;\n if (defaultSize != null) {\n numPanesWithSizes++;\n layout[index] = defaultSize;\n remainingSize -= defaultSize;\n }\n }\n for (let index = 0; index < panesArray.length; index++) {\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n const { defaultSize } = paneConstraints;\n if (defaultSize != null) {\n continue;\n }\n const numRemainingPanes = panesArray.length - numPanesWithSizes;\n const size2 = remainingSize / numRemainingPanes;\n numPanesWithSizes++;\n layout[index] = size2;\n remainingSize -= size2;\n }\n return layout;\n}\nfunction validatePaneGroupLayout({ layout: prevLayout, paneConstraints }) {\n const nextLayout = [...prevLayout];\n const nextLayoutTotalSize = nextLayout.reduce((accumulated, current) => accumulated + current, 0);\n if (nextLayout.length !== paneConstraints.length) {\n throw new Error(`Invalid ${paneConstraints.length} pane layout: ${nextLayout.map((size2) => `${size2}%`).join(\", \")}`);\n } else if (!areNumbersAlmostEqual(nextLayoutTotalSize, 100)) {\n for (let index = 0; index < paneConstraints.length; index++) {\n const unsafeSize = nextLayout[index];\n assert(unsafeSize != null);\n const safeSize = 100 / nextLayoutTotalSize * unsafeSize;\n nextLayout[index] = safeSize;\n }\n }\n let remainingSize = 0;\n for (let index = 0; index < paneConstraints.length; index++) {\n const unsafeSize = nextLayout[index];\n assert(unsafeSize != null);\n const safeSize = resizePane({\n paneConstraints,\n paneIndex: index,\n initialSize: unsafeSize\n });\n if (unsafeSize !== safeSize) {\n remainingSize += unsafeSize - safeSize;\n nextLayout[index] = safeSize;\n }\n }\n if (!areNumbersAlmostEqual(remainingSize, 0)) {\n for (let index = 0; index < paneConstraints.length; index++) {\n const prevSize = nextLayout[index];\n assert(prevSize != null);\n const unsafeSize = prevSize + remainingSize;\n const safeSize = resizePane({\n paneConstraints,\n paneIndex: index,\n initialSize: unsafeSize\n });\n if (prevSize !== safeSize) {\n remainingSize -= safeSize - prevSize;\n nextLayout[index] = safeSize;\n if (areNumbersAlmostEqual(remainingSize, 0)) {\n break;\n }\n }\n }\n }\n return nextLayout;\n}\nfunction getPaneGroupElement(id, domContext) {\n if (!isBrowser)\n return null;\n const element2 = domContext.querySelector(`[data-pane-group][data-pane-group-id=\"${id}\"]`);\n if (element2)\n return element2;\n return null;\n}\nfunction getResizeHandleElement(id, domContext) {\n if (!isBrowser)\n return null;\n const element2 = domContext.querySelector(`[data-pane-resizer-id=\"${id}\"]`);\n if (element2)\n return element2;\n return null;\n}\nfunction getDragOffsetPercentage({ event, dragHandleId, dir, initialDragState, domContext }) {\n const isHorizontal = dir === \"horizontal\";\n const handleElement = getResizeHandleElement(dragHandleId, domContext);\n assert(handleElement);\n const groupId = handleElement.getAttribute(\"data-pane-group-id\");\n assert(groupId);\n const { initialCursorPosition } = initialDragState;\n const cursorPosition = getResizeEventCursorPosition(dir, event);\n const groupElement = getPaneGroupElement(groupId, domContext);\n assert(groupElement);\n const groupRect = groupElement.getBoundingClientRect();\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height;\n const offsetPixels = cursorPosition - initialCursorPosition;\n const offsetPercentage = offsetPixels / groupSizeInPixels * 100;\n return offsetPercentage;\n}\nfunction getDeltaPercentage({ event, dragHandleId, dir, initialDragState, keyboardResizeBy, domContext }) {\n if (isKeyDown(event)) {\n const isHorizontal = dir === \"horizontal\";\n let delta = 0;\n if (event.shiftKey) {\n delta = 100;\n } else if (keyboardResizeBy != null) {\n delta = keyboardResizeBy;\n } else {\n delta = 10;\n }\n let movement = 0;\n switch (event.key) {\n case \"ArrowDown\":\n movement = isHorizontal ? 0 : delta;\n break;\n case \"ArrowLeft\":\n movement = isHorizontal ? -delta : 0;\n break;\n case \"ArrowRight\":\n movement = isHorizontal ? delta : 0;\n break;\n case \"ArrowUp\":\n movement = isHorizontal ? 0 : -delta;\n break;\n case \"End\":\n movement = 100;\n break;\n case \"Home\":\n movement = -100;\n break;\n }\n return movement;\n } else {\n if (initialDragState == null)\n return 0;\n return getDragOffsetPercentage({\n event,\n dragHandleId,\n dir,\n initialDragState,\n domContext\n });\n }\n}\nfunction getResizeEventCursorPosition(dir, e) {\n const isHorizontal = dir === \"horizontal\";\n if (isMouseEvent(e)) {\n return isHorizontal ? e.clientX : e.clientY;\n } else if (isTouchEvent(e)) {\n const firstTouch = e.touches[0];\n assert(firstTouch);\n return isHorizontal ? firstTouch.screenX : firstTouch.screenY;\n } else {\n throw new Error(`Unsupported event type \"${e.type}\"`);\n }\n}\nfunction getResizeHandlePaneIds({ groupId, handleId, panesArray, domContext }) {\n const handle = getResizeHandleElement(handleId, domContext);\n const handles = getResizeHandleElementsForGroup(groupId, domContext);\n const index = handle ? handles.indexOf(handle) : -1;\n const idBefore = panesArray[index]?.opts.id.current ?? null;\n const idAfter = panesArray[index + 1]?.opts.id.current ?? null;\n return [idBefore, idAfter];\n}\nclass Context {\n #name;\n #key;\n /**\n * @param name The name of the context.\n * This is used for generating the context key and error messages.\n */\n constructor(name) {\n this.#name = name;\n this.#key = Symbol(name);\n }\n /**\n * The key used to get and set the context.\n *\n * It is not recommended to use this value directly.\n * Instead, use the methods provided by this class.\n */\n get key() {\n return this.#key;\n }\n /**\n * Checks whether this has been set in the context of a parent component.\n *\n * Must be called during component initialisation.\n */\n exists() {\n return hasContext(this.#key);\n }\n /**\n * Retrieves the context that belongs to the closest parent component.\n *\n * Must be called during component initialisation.\n *\n * @throws An error if the context does not exist.\n */\n get() {\n const context = getContext$1(this.#key);\n if (context === void 0) {\n throw new Error(`Context \"${this.#name}\" not found`);\n }\n return context;\n }\n /**\n * Retrieves the context that belongs to the closest parent component,\n * or the given fallback value if the context does not exist.\n *\n * Must be called during component initialisation.\n */\n getOr(fallback) {\n const context = getContext$1(this.#key);\n if (context === void 0) {\n return fallback;\n }\n return context;\n }\n /**\n * Associates the given value with the current component and returns it.\n *\n * Must be called during component initialisation.\n */\n set(context) {\n return setContext(this.#key, context);\n }\n}\nfunction adjustLayoutByDelta({ delta, layout: prevLayout, paneConstraints: paneConstraintsArray, pivotIndices, trigger }) {\n if (areNumbersAlmostEqual(delta, 0))\n return prevLayout;\n const nextLayout = [...prevLayout];\n const [firstPivotIndex, secondPivotIndex] = pivotIndices;\n let deltaApplied = 0;\n {\n if (trigger === \"keyboard\") {\n {\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex;\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n if (paneConstraints.collapsible) {\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const paneConstraints2 = paneConstraintsArray[index];\n assert(paneConstraints2);\n const { collapsedSize = 0, minSize = 0 } = paneConstraints2;\n if (areNumbersAlmostEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize;\n if (compareNumbersWithTolerance(localDelta, Math.abs(delta)) > 0) {\n delta = delta < 0 ? 0 - localDelta : localDelta;\n }\n }\n }\n }\n {\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex;\n const paneConstraints = paneConstraintsArray[index];\n assert(paneConstraints);\n const { collapsible } = paneConstraints;\n if (collapsible) {\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const paneConstraints2 = paneConstraintsArray[index];\n assert(paneConstraints2);\n const { collapsedSize = 0, minSize = 0 } = paneConstraints2;\n if (areNumbersAlmostEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize;\n if (compareNumbersWithTolerance(localDelta, Math.abs(delta)) > 0) {\n delta = delta < 0 ? 0 - localDelta : localDelta;\n }\n }\n }\n }\n }\n }\n {\n const increment = delta < 0 ? 1 : -1;\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex;\n let maxAvailableDelta = 0;\n while (true) {\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const maxSafeSize = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: index,\n initialSize: 100\n });\n const delta2 = maxSafeSize - prevSize;\n maxAvailableDelta += delta2;\n index += increment;\n if (index < 0 || index >= paneConstraintsArray.length) {\n break;\n }\n }\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta));\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta;\n }\n {\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex;\n let index = pivotIndex;\n while (index >= 0 && index < paneConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied);\n const prevSize = prevLayout[index];\n assert(prevSize != null);\n const unsafeSize = prevSize - deltaRemaining;\n const safeSize = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: index,\n initialSize: unsafeSize\n });\n if (!areNumbersAlmostEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize;\n nextLayout[index] = safeSize;\n if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), void 0, {\n numeric: true\n }) >= 0) {\n break;\n }\n }\n if (delta < 0) {\n index--;\n } else {\n index++;\n }\n }\n }\n if (areNumbersAlmostEqual(deltaApplied, 0)) {\n return prevLayout;\n }\n {\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex;\n const prevSize = prevLayout[pivotIndex];\n assert(prevSize != null);\n const unsafeSize = prevSize + deltaApplied;\n const safeSize = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: pivotIndex,\n initialSize: unsafeSize\n });\n nextLayout[pivotIndex] = safeSize;\n if (!areNumbersAlmostEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize;\n const pivotIndex2 = delta < 0 ? secondPivotIndex : firstPivotIndex;\n let index = pivotIndex2;\n while (index >= 0 && index < paneConstraintsArray.length) {\n const prevSize2 = nextLayout[index];\n assert(prevSize2 != null);\n const unsafeSize2 = prevSize2 + deltaRemaining;\n const safeSize2 = resizePane({\n paneConstraints: paneConstraintsArray,\n paneIndex: index,\n initialSize: unsafeSize2\n });\n if (!areNumbersAlmostEqual(prevSize2, safeSize2)) {\n deltaRemaining -= safeSize2 - prevSize2;\n nextLayout[index] = safeSize2;\n }\n if (areNumbersAlmostEqual(deltaRemaining, 0))\n break;\n delta > 0 ? index-- : index++;\n }\n }\n }\n const totalSize = nextLayout.reduce((total, size2) => size2 + total, 0);\n if (!areNumbersAlmostEqual(totalSize, 100))\n return prevLayout;\n return nextLayout;\n}\nlet currentState = null;\nlet element = null;\nfunction getCursorStyle(state) {\n switch (state) {\n case \"horizontal\":\n return \"ew-resize\";\n case \"horizontal-max\":\n return \"w-resize\";\n case \"horizontal-min\":\n return \"e-resize\";\n case \"vertical\":\n return \"ns-resize\";\n case \"vertical-max\":\n return \"n-resize\";\n case \"vertical-min\":\n return \"s-resize\";\n }\n}\nfunction resetGlobalCursorStyle() {\n if (element === null)\n return;\n document.head.removeChild(element);\n currentState = null;\n element = null;\n}\nfunction setGlobalCursorStyle(state, doc) {\n if (currentState === state)\n return;\n currentState = state;\n const style = getCursorStyle(state);\n if (element === null) {\n element = doc.createElement(\"style\");\n doc.head.appendChild(element);\n }\n element.innerHTML = `*{cursor: ${style}!important;}`;\n}\nfunction computePaneFlexBoxStyle({ defaultSize, dragState, layout, panesArray, paneIndex, precision = 3 }) {\n const size2 = layout[paneIndex];\n let flexGrow;\n if (size2 == null) {\n flexGrow = defaultSize ?? \"1\";\n } else if (panesArray.length === 1) {\n flexGrow = \"1\";\n } else {\n flexGrow = size2.toPrecision(precision);\n }\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n // Without this, pane sizes may be unintentionally overridden by their content\n overflow: \"hidden\",\n // Disable pointer events inside of a pane during resize\n // This avoid edge cases like nested iframes\n pointerEvents: dragState !== null ? \"none\" : void 0\n };\n}\nfunction initializeStorage(storageObject) {\n try {\n if (typeof localStorage === \"undefined\") {\n throw new TypeError(\"localStorage is not supported in this environment\");\n }\n storageObject.getItem = (name) => localStorage.getItem(name);\n storageObject.setItem = (name, value) => localStorage.setItem(name, value);\n } catch (err) {\n console.error(err);\n storageObject.getItem = () => null;\n storageObject.setItem = () => {\n };\n }\n}\nfunction getPaneGroupKey(autoSaveId) {\n return `paneforge:${autoSaveId}`;\n}\nfunction getPaneKey(panes) {\n const sortedPaneIds = panes.map((pane) => {\n return pane.opts.order.current ? `${pane.opts.order.current}:${JSON.stringify(pane.constraints)}` : JSON.stringify(pane.constraints);\n }).sort().join(\",\");\n return sortedPaneIds;\n}\nfunction loadSerializedPaneGroupState(autoSaveId, storage) {\n try {\n const paneGroupKey = getPaneGroupKey(autoSaveId);\n const serialized = storage.getItem(paneGroupKey);\n const parsed = JSON.parse(serialized || \"\");\n if (typeof parsed === \"object\" && parsed !== null) {\n return parsed;\n }\n } catch {\n }\n return null;\n}\nfunction loadPaneGroupState(autoSaveId, panesArray, storage) {\n const state = loadSerializedPaneGroupState(autoSaveId, storage) || {};\n const paneKey = getPaneKey(panesArray);\n return state[paneKey] || null;\n}\nfunction savePaneGroupState(autoSaveId, panesArray, paneSizesBeforeCollapse, sizes, storage) {\n const paneGroupKey = getPaneGroupKey(autoSaveId);\n const paneKey = getPaneKey(panesArray);\n const state = loadSerializedPaneGroupState(autoSaveId, storage) || {};\n state[paneKey] = {\n expandToSizes: Object.fromEntries(paneSizesBeforeCollapse.entries()),\n layout: sizes\n };\n try {\n storage.setItem(paneGroupKey, JSON.stringify(state));\n } catch (error) {\n console.error(error);\n }\n}\nconst debounceMap = {};\nfunction debounce(callback, durationMs = 10) {\n let timeoutId = null;\n const callable = (...args) => {\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n callback(...args);\n }, durationMs);\n };\n return callable;\n}\nfunction updateStorageValues({ autoSaveId, layout, storage, panesArray, paneSizeBeforeCollapse }) {\n if (layout.length === 0 || layout.length !== panesArray.length)\n return;\n let debouncedSave = debounceMap[autoSaveId];\n if (debouncedSave == null) {\n debouncedSave = debounce(savePaneGroupState, LOCAL_STORAGE_DEBOUNCE_INTERVAL);\n debounceMap[autoSaveId] = debouncedSave;\n }\n const clonedPanesArray = [...panesArray];\n const clonedPaneSizesBeforeCollapse = new Map(paneSizeBeforeCollapse);\n debouncedSave(autoSaveId, clonedPanesArray, clonedPaneSizesBeforeCollapse, layout, storage);\n}\nconst defaultStorage = {\n getItem: (name) => {\n initializeStorage(defaultStorage);\n return defaultStorage.getItem(name);\n },\n setItem: (name, value) => {\n initializeStorage(defaultStorage);\n defaultStorage.setItem(name, value);\n }\n};\nconst PaneGroupContext = new Context(\"PaneGroup\");\nclass PaneGroupState {\n static create(opts) {\n return PaneGroupContext.set(new PaneGroupState(opts));\n }\n opts;\n attachment;\n domContext;\n dragState = null;\n layout = [];\n panesArray = [];\n panesArrayChanged = false;\n paneIdToLastNotifiedSizeMap = {};\n paneSizeBeforeCollapseMap = /* @__PURE__ */ new Map();\n prevDelta = 0;\n constructor(opts) {\n this.opts = opts;\n this.attachment = attachRef(this.opts.ref);\n this.domContext = new DOMContext(this.opts.ref);\n watch(\n [\n () => this.opts.id.current,\n () => this.layout,\n () => this.panesArray\n ],\n () => {\n return updateResizeHandleAriaValues({\n groupId: this.opts.id.current,\n layout: this.layout,\n panesArray: this.panesArray,\n domContext: this.domContext\n });\n }\n );\n watch(\n [\n () => this.opts.autoSaveId.current,\n () => this.layout,\n () => this.opts.storage.current\n ],\n () => {\n if (!this.opts.autoSaveId.current) return;\n updateStorageValues({\n autoSaveId: this.opts.autoSaveId.current,\n layout: this.layout,\n storage: this.opts.storage.current,\n panesArray: this.panesArray,\n paneSizeBeforeCollapse: this.paneSizeBeforeCollapseMap\n });\n }\n );\n watch(() => this.panesArrayChanged, () => {\n if (!this.panesArrayChanged) return;\n this.panesArrayChanged = false;\n const prevLayout = this.layout;\n let unsafeLayout = null;\n if (this.opts.autoSaveId.current) {\n const state = loadPaneGroupState(this.opts.autoSaveId.current, this.panesArray, this.opts.storage.current);\n if (state) {\n this.paneSizeBeforeCollapseMap = new Map(Object.entries(state.expandToSizes));\n unsafeLayout = state.layout;\n }\n }\n if (unsafeLayout == null) {\n unsafeLayout = getUnsafeDefaultLayout({ panesArray: this.panesArray });\n }\n const nextLayout = validatePaneGroupLayout({\n layout: unsafeLayout,\n paneConstraints: this.panesArray.map((paneData) => paneData.constraints)\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.layout = nextLayout;\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(this.panesArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n });\n }\n setLayout = (newLayout) => {\n this.layout = newLayout;\n };\n registerResizeHandle = (dragHandleId) => {\n return (event) => {\n event.preventDefault();\n const direction = this.opts.direction.current;\n const dragState = this.dragState;\n const groupId = this.opts.id.current;\n const keyboardResizeBy = this.opts.keyboardResizeBy.current;\n const prevLayout = this.layout;\n const paneDataArray = this.panesArray;\n const { initialLayout } = dragState ?? {};\n const doc = this.domContext.getDocument();\n const pivotIndices = getPivotIndices({ groupId, dragHandleId, domContext: this.domContext });\n let delta = getDeltaPercentage({\n event,\n dragHandleId,\n dir: direction,\n initialDragState: dragState,\n keyboardResizeBy,\n domContext: this.domContext\n });\n if (delta === 0) return;\n const isHorizontal = direction === \"horizontal\";\n if (doc.dir === \"rtl\" && isHorizontal) {\n delta = -delta;\n }\n const paneConstraints = paneDataArray.map((paneData) => paneData.constraints);\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: initialLayout ?? prevLayout,\n paneConstraints,\n pivotIndices,\n trigger: isKeyDown(event) ? \"keyboard\" : \"mouse-or-touch\"\n });\n const layoutChanged = !areArraysEqual(prevLayout, nextLayout);\n if (isMouseEvent(event) || isTouchEvent(event)) {\n const prevDelta = this.prevDelta;\n if (prevDelta !== delta) {\n this.prevDelta = delta;\n if (!layoutChanged) {\n if (isHorizontal) {\n setGlobalCursorStyle(delta < 0 ? \"horizontal-min\" : \"horizontal-max\", doc);\n } else {\n setGlobalCursorStyle(delta < 0 ? \"vertical-min\" : \"vertical-max\", doc);\n }\n } else {\n setGlobalCursorStyle(isHorizontal ? \"horizontal\" : \"vertical\", doc);\n }\n }\n }\n if (layoutChanged) {\n this.setLayout(nextLayout);\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(paneDataArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n }\n };\n };\n resizePane = (paneState, unsafePaneSize) => {\n const prevLayout = this.layout;\n const panesArray = this.panesArray;\n const paneConstraintsArr = panesArray.map((paneData) => paneData.constraints);\n const { paneSize, pivotIndices } = paneDataHelper(panesArray, paneState, prevLayout);\n assert(paneSize != null);\n const isLastPane = findPaneDataIndex(panesArray, paneState) === panesArray.length - 1;\n const delta = isLastPane ? paneSize - unsafePaneSize : unsafePaneSize - paneSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n paneConstraints: paneConstraintsArr,\n pivotIndices,\n trigger: \"imperative-api\"\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.setLayout(nextLayout);\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(panesArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n };\n startDragging = (dragHandleId, e) => {\n const direction = this.opts.direction.current;\n const layout = this.layout;\n const handleElement = getResizeHandleElement(dragHandleId, this.domContext);\n assert(handleElement);\n const initialCursorPosition = getResizeEventCursorPosition(direction, e);\n this.dragState = {\n dragHandleId,\n dragHandleRect: handleElement.getBoundingClientRect(),\n initialCursorPosition,\n initialLayout: layout\n };\n };\n stopDragging = () => {\n resetGlobalCursorStyle();\n this.dragState = null;\n };\n isPaneCollapsed = (pane) => {\n const paneDataArray = this.panesArray;\n const layout = this.layout;\n const { collapsedSize = 0, collapsible, paneSize } = paneDataHelper(paneDataArray, pane, layout);\n if (typeof paneSize !== \"number\" || typeof collapsedSize !== \"number\") return false;\n return collapsible === true && areNumbersAlmostEqual(paneSize, collapsedSize);\n };\n expandPane = (pane) => {\n const prevLayout = this.layout;\n const paneDataArray = this.panesArray;\n if (!pane.constraints.collapsible) return;\n const paneConstraintsArray = paneDataArray.map((paneData) => paneData.constraints);\n const { collapsedSize = 0, paneSize, minSize = 0, pivotIndices } = paneDataHelper(paneDataArray, pane, prevLayout);\n if (paneSize !== collapsedSize) return;\n const prevPaneSize = this.paneSizeBeforeCollapseMap.get(pane.opts.id.current);\n const baseSize = prevPaneSize != null && prevPaneSize >= minSize ? prevPaneSize : minSize;\n const isLastPane = findPaneDataIndex(paneDataArray, pane) === paneDataArray.length - 1;\n const delta = isLastPane ? paneSize - baseSize : baseSize - paneSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n paneConstraints: paneConstraintsArray,\n pivotIndices,\n trigger: \"imperative-api\"\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.setLayout(nextLayout);\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(paneDataArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n };\n collapsePane = (pane) => {\n const prevLayout = this.layout;\n const paneDataArray = this.panesArray;\n if (!pane.constraints.collapsible) return;\n const paneConstraintsArray = paneDataArray.map((paneData) => paneData.constraints);\n const { collapsedSize = 0, paneSize, pivotIndices } = paneDataHelper(paneDataArray, pane, prevLayout);\n assert(paneSize != null);\n if (paneSize === collapsedSize) return;\n this.paneSizeBeforeCollapseMap.set(pane.opts.id.current, paneSize);\n const isLastPane = findPaneDataIndex(paneDataArray, pane) === paneDataArray.length - 1;\n const delta = isLastPane ? paneSize - collapsedSize : collapsedSize - paneSize;\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n paneConstraints: paneConstraintsArray,\n pivotIndices,\n trigger: \"imperative-api\"\n });\n if (areArraysEqual(prevLayout, nextLayout)) return;\n this.layout = nextLayout;\n this.opts.onLayout.current?.(nextLayout);\n callPaneCallbacks(paneDataArray, nextLayout, this.paneIdToLastNotifiedSizeMap);\n };\n getPaneSize = (pane) => {\n return paneDataHelper(this.panesArray, pane, this.layout).paneSize;\n };\n getPaneStyle = (pane, defaultSize) => {\n const paneDataArray = this.panesArray;\n const layout = this.layout;\n const dragState = this.dragState;\n const paneIndex = findPaneDataIndex(paneDataArray, pane);\n return computePaneFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panesArray: paneDataArray,\n paneIndex\n });\n };\n isPaneExpanded = (pane) => {\n const { collapsedSize = 0, collapsible, paneSize } = paneDataHelper(this.panesArray, pane, this.layout);\n return !collapsible || paneSize > collapsedSize;\n };\n registerPane = (pane) => {\n const newPaneDataArray = [...this.panesArray, pane];\n newPaneDataArray.sort((paneA, paneB) => {\n const orderA = paneA.opts.order.current;\n const orderB = paneB.opts.order.current;\n if (orderA == null && orderB == null) {\n return 0;\n } else if (orderA == null) {\n return -1;\n } else if (orderB == null) {\n return 1;\n } else {\n return orderA - orderB;\n }\n });\n this.panesArray = newPaneDataArray;\n this.panesArrayChanged = true;\n return () => {\n const paneDataArray = [...this.panesArray];\n const index = findPaneDataIndex(this.panesArray, pane);\n if (index < 0) return;\n paneDataArray.splice(index, 1);\n this.panesArray = paneDataArray;\n delete this.paneIdToLastNotifiedSizeMap[pane.opts.id.current];\n this.panesArrayChanged = true;\n };\n };\n #setResizeHandlerEventListeners = () => {\n const groupId = this.opts.id.current;\n const handles = getResizeHandleElementsForGroup(groupId, this.domContext);\n const paneDataArray = this.panesArray;\n const unsubHandlers = handles.map((handle) => {\n const handleId = handle.getAttribute(\"data-pane-resizer-id\");\n if (!handleId) return noop;\n const [idBefore, idAfter] = getResizeHandlePaneIds({\n groupId,\n handleId,\n panesArray: paneDataArray,\n domContext: this.domContext\n });\n if (idBefore == null || idAfter == null) return noop;\n const onKeydown = (e) => {\n if (e.defaultPrevented || e.key !== \"Enter\") return;\n e.preventDefault();\n const paneDataArray2 = this.panesArray;\n const index = paneDataArray2.findIndex((paneData2) => paneData2.opts.id.current === idBefore);\n if (index < 0) return;\n const paneData = paneDataArray2[index];\n assert(paneData);\n const layout = this.layout;\n const size2 = layout[index];\n const { collapsedSize = 0, collapsible, minSize = 0 } = paneData.constraints;\n if (!(size2 != null && collapsible)) return;\n const nextLayout = adjustLayoutByDelta({\n delta: areNumbersAlmostEqual(size2, collapsedSize) ? minSize - size2 : collapsedSize - size2,\n layout,\n paneConstraints: paneDataArray2.map((paneData2) => paneData2.constraints),\n pivotIndices: getPivotIndices({ groupId, dragHandleId: handleId, domContext: this.domContext }),\n trigger: \"keyboard\"\n });\n if (layout !== nextLayout) {\n this.layout = nextLayout;\n }\n };\n const unsubListener = addEventListener(handle, \"keydown\", onKeydown);\n return () => {\n unsubListener();\n };\n });\n return () => {\n for (const unsub of unsubHandlers) {\n unsub();\n }\n };\n };\n #props = derived(() => ({\n id: this.opts.id.current,\n \"data-pane-group\": \"\",\n \"data-direction\": this.opts.direction.current,\n \"data-pane-group-id\": this.opts.id.current,\n style: {\n display: \"flex\",\n flexDirection: this.opts.direction.current === \"horizontal\" ? \"row\" : \"column\",\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\"\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nconst resizeKeys = [\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"End\",\n \"Home\"\n];\nclass PaneResizerState {\n static create(opts) {\n return new PaneResizerState(opts, PaneGroupContext.get());\n }\n opts;\n #group;\n attachment;\n domContext;\n #isDragging = derived(() => this.#group.dragState?.dragHandleId === this.opts.id.current);\n #isFocused = false;\n resizeHandler = null;\n constructor(opts, group) {\n this.opts = opts;\n this.#group = group;\n this.attachment = attachRef(this.opts.ref);\n this.domContext = new DOMContext(this.opts.ref);\n }\n #startDragging = (e) => {\n e.preventDefault();\n if (this.opts.disabled.current) return;\n this.#group.startDragging(this.opts.id.current, e);\n this.opts.onDraggingChange.current(true);\n };\n #stopDraggingAndBlur = () => {\n const node = this.opts.ref.current;\n if (!node) return;\n node.blur();\n this.#group.stopDragging();\n this.opts.onDraggingChange.current(false);\n };\n #onkeydown = (e) => {\n if (this.opts.disabled.current || !this.resizeHandler || e.defaultPrevented) return;\n if (resizeKeys.includes(e.key)) {\n e.preventDefault();\n this.resizeHandler(e);\n return;\n }\n if (e.key !== \"F6\") return;\n e.preventDefault();\n const handles = getResizeHandleElementsForGroup(this.#group.opts.id.current, this.domContext);\n const index = getResizeHandleElementIndex({\n groupId: this.#group.opts.id.current,\n id: this.opts.id.current,\n domContext: this.domContext\n });\n if (index === null) return;\n let nextIndex = 0;\n if (e.shiftKey) {\n if (index > 0) {\n nextIndex = index - 1;\n } else {\n nextIndex = handles.length - 1;\n }\n } else {\n if (index + 1 < handles.length) {\n nextIndex = index + 1;\n } else {\n nextIndex = 0;\n }\n }\n const nextHandle = handles[nextIndex];\n nextHandle.focus();\n };\n #onblur = () => {\n this.#isFocused = false;\n };\n #onfocus = () => {\n this.#isFocused = true;\n };\n #onmousedown = (e) => {\n this.#startDragging(e);\n };\n #onmouseup = () => {\n this.#stopDraggingAndBlur();\n };\n #ontouchcancel = () => {\n this.#stopDraggingAndBlur();\n };\n #ontouchend = () => {\n this.#stopDraggingAndBlur();\n };\n #ontouchstart = (e) => {\n this.#startDragging(e);\n };\n #props = derived(() => ({\n id: this.opts.id.current,\n role: \"separator\",\n \"data-direction\": this.#group.opts.direction.current,\n \"data-pane-group-id\": this.#group.opts.id.current,\n \"data-active\": this.#isDragging() ? \"pointer\" : this.#isFocused ? \"keyboard\" : void 0,\n \"data-enabled\": !this.opts.disabled.current,\n \"data-pane-resizer-id\": this.opts.id.current,\n \"data-pane-resizer\": \"\",\n tabIndex: this.opts.tabIndex.current,\n style: {\n cursor: getCursorStyle(this.#group.opts.direction.current),\n touchAction: \"none\",\n userSelect: \"none\",\n \"-webkit-user-select\": \"none\",\n \"-webkit-touch-callout\": \"none\"\n },\n onkeydown: this.#onkeydown,\n onblur: this.#onblur,\n onfocus: this.#onfocus,\n onmousedown: this.#onmousedown,\n onmouseup: this.#onmouseup,\n ontouchcancel: this.#ontouchcancel,\n ontouchend: this.#ontouchend,\n ontouchstart: this.#ontouchstart,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass PaneState {\n static create(opts) {\n return new PaneState(opts, PaneGroupContext.get());\n }\n opts;\n group;\n attachment;\n domContext;\n #paneTransitionState = \"\";\n #callbacks = derived(() => ({\n onCollapse: this.opts.onCollapse.current,\n onExpand: this.opts.onExpand.current,\n onResize: this.opts.onResize.current\n }));\n get callbacks() {\n return this.#callbacks();\n }\n set callbacks($$value) {\n return this.#callbacks($$value);\n }\n #constraints = derived(() => ({\n collapsedSize: this.opts.collapsedSize.current,\n collapsible: this.opts.collapsible.current,\n defaultSize: this.opts.defaultSize.current,\n maxSize: this.opts.maxSize.current,\n minSize: this.opts.minSize.current\n }));\n get constraints() {\n return this.#constraints();\n }\n set constraints($$value) {\n return this.#constraints($$value);\n }\n #handleTransition = (state) => {\n this.#paneTransitionState = state;\n afterTick(() => {\n if (this.opts.ref.current) {\n const element2 = this.opts.ref.current;\n const computedStyle = getComputedStyle(element2);\n const hasTransition = computedStyle.transitionDuration !== \"0s\";\n if (!hasTransition) {\n this.#paneTransitionState = \"\";\n return;\n }\n const handleTransitionEnd = (event) => {\n if (event.propertyName === \"flex-grow\") {\n this.#paneTransitionState = \"\";\n element2.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n element2.addEventListener(\"transitionend\", handleTransitionEnd);\n } else {\n this.#paneTransitionState = \"\";\n }\n });\n };\n pane = {\n collapse: () => {\n this.#handleTransition(\"collapsing\");\n this.group.collapsePane(this);\n },\n expand: () => {\n this.#handleTransition(\"expanding\");\n this.group.expandPane(this);\n },\n getSize: () => this.group.getPaneSize(this),\n isCollapsed: () => this.group.isPaneCollapsed(this),\n isExpanded: () => this.group.isPaneExpanded(this),\n resize: (size2) => this.group.resizePane(this, size2),\n getId: () => this.opts.id.current\n };\n constructor(opts, group) {\n this.opts = opts;\n this.group = group;\n this.attachment = attachRef(this.opts.ref);\n this.domContext = new DOMContext(this.opts.ref);\n watch(() => snapshot(this.constraints), () => {\n this.group.panesArrayChanged = true;\n });\n }\n #isCollapsed = derived(() => this.group.isPaneCollapsed(this));\n #paneState = derived(() => this.#paneTransitionState !== \"\" ? this.#paneTransitionState : this.#isCollapsed() ? \"collapsed\" : \"expanded\");\n #props = derived(() => ({\n id: this.opts.id.current,\n style: this.group.getPaneStyle(this, this.opts.defaultSize.current),\n \"data-pane\": \"\",\n \"data-pane-id\": this.opts.id.current,\n \"data-pane-group-id\": this.group.opts.id.current,\n \"data-collapsed\": this.#isCollapsed() ? \"\" : void 0,\n \"data-expanded\": this.#isCollapsed() ? void 0 : \"\",\n \"data-pane-state\": this.#paneState(),\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction Pane_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n autoSaveId = null,\n direction,\n id = uid,\n keyboardResizeBy = null,\n onLayoutChange = noop,\n storage = defaultStorage,\n ref = null,\n child,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const paneGroupState = PaneGroupState.create({\n id: box.with(() => id ?? uid),\n ref: box.with(() => ref, (v) => ref = v),\n autoSaveId: box.with(() => autoSaveId),\n direction: box.with(() => direction),\n keyboardResizeBy: box.with(() => keyboardResizeBy),\n onLayout: box.with(() => onLayoutChange),\n storage: box.with(() => storage)\n });\n const getLayout = () => paneGroupState.layout;\n const setLayout = paneGroupState.setLayout;\n const getId = () => paneGroupState.opts.id.current;\n const mergedProps = derived(() => mergeProps(restProps, paneGroupState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref, getLayout, setLayout, getId });\n });\n}\nfunction Pane($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = uid,\n ref = null,\n collapsedSize,\n collapsible,\n defaultSize,\n maxSize,\n minSize,\n onCollapse = noop,\n onExpand = noop,\n onResize = noop,\n order,\n child,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const paneState = PaneState.create({\n id: box.with(() => id),\n ref: box.with(() => ref, (v) => ref = v),\n collapsedSize: box.with(() => collapsedSize),\n collapsible: box.with(() => collapsible),\n defaultSize: box.with(() => defaultSize),\n maxSize: box.with(() => maxSize),\n minSize: box.with(() => minSize),\n onCollapse: box.with(() => onCollapse),\n onExpand: box.with(() => onExpand),\n onResize: box.with(() => onResize),\n order: box.with(() => order)\n });\n const collapse = paneState.pane.collapse;\n const expand = paneState.pane.expand;\n const getSize = paneState.pane.getSize;\n const isCollapsed = paneState.pane.isCollapsed;\n const isExpanded = paneState.pane.isExpanded;\n const resize = paneState.pane.resize;\n const getId = paneState.pane.getId;\n const mergedProps = derived(() => mergeProps(restProps, paneState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, {\n ref,\n collapse,\n expand,\n getSize,\n isCollapsed,\n isExpanded,\n resize,\n getId\n });\n });\n}\nfunction Pane_resizer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = uid,\n ref = null,\n disabled = false,\n onDraggingChange = noop,\n tabindex = 0,\n child,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const resizerState = PaneResizerState.create({\n id: box.with(() => id),\n ref: box.with(() => ref, (v) => ref = v),\n disabled: box.with(() => disabled),\n onDraggingChange: box.with(() => onDraggingChange),\n tabIndex: box.with(() => tabindex)\n });\n const mergedProps = derived(() => mergeProps(restProps, resizerState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Resizable_handle($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n withHandle = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Pane_resizer) {\n $$renderer3.push(\"<!--[-->\");\n Pane_resizer($$renderer3, spread_props([\n {\n \"data-slot\": \"resizable-handle\",\n class: cn(\"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-hidden data-[direction=vertical]:h-px data-[direction=vertical]:w-full data-[direction=vertical]:after:left-0 data-[direction=vertical]:after:h-1 data-[direction=vertical]:after:w-full data-[direction=vertical]:after:translate-x-0 data-[direction=vertical]:after:-translate-y-1/2 [&[data-direction=vertical]>div]:rotate-90\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (withHandle) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-border\">`);\n Grip_vertical($$renderer4, { class: \"size-2.5\" });\n $$renderer4.push(`<!----></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Resizable_pane_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n this: paneGroup = void 0,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n if (Pane_group) {\n $$renderer2.push(\"<!--[-->\");\n Pane_group($$renderer2, spread_props([\n {\n \"data-slot\": \"resizable-pane-group\",\n class: cn(\"flex h-full w-full data-[direction=vertical]:flex-col\", className)\n },\n restProps\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n bind_props($$props, { ref, this: paneGroup });\n });\n}\nclass Chat extends AbstractChat {\n constructor(init) {\n super({ ...init, state: new SvelteChatState(init.messages) });\n }\n}\nclass SvelteChatState {\n messages;\n status = \"ready\";\n error = void 0;\n constructor(messages = []) {\n this.messages = messages;\n }\n setMessages = (messages) => {\n this.messages = messages;\n };\n pushMessage = (message) => {\n this.messages.push(message);\n };\n popMessage = () => {\n this.messages.pop();\n };\n replaceMessage = (index, message) => {\n this.messages[index] = message;\n };\n snapshot = (thing) => snapshot(thing);\n}\nfunction getContext(projectStore) {\n return { project: projectStore.state };\n}\nfunction executeCreateLayer(projectStore, input) {\n const ctx = getContext(projectStore);\n const result = mutateCreateLayer(ctx, input);\n if (result.output.success && result.output.layerId) {\n projectStore.selectLayer(result.output.layerId);\n }\n return result.output;\n}\nfunction executeEditLayer(projectStore, input) {\n return mutateEditLayer(getContext(projectStore), input);\n}\nfunction executeRemoveLayer(projectStore, input) {\n const ctx = getContext(projectStore);\n const result = mutateRemoveLayer(ctx, input);\n if (result.success) {\n if (projectStore.selectedLayerId && ctx.project.layers.find((l) => l.id === projectStore.selectedLayerId) === void 0) {\n projectStore.unselectLayer();\n }\n }\n return result;\n}\nfunction executeConfigureProject(projectStore, input) {\n return mutateConfigureProject(getContext(projectStore), input);\n}\nfunction executeGroupLayers(projectStore, input) {\n const result = mutateGroupLayers(getContext(projectStore), input);\n if (result.success && result.groupId) {\n projectStore.selectLayer(result.groupId);\n }\n return result;\n}\nfunction executeUngroupLayers(projectStore, input) {\n const result = mutateUngroupLayers(getContext(projectStore), input);\n if (result.success) {\n projectStore.unselectLayer();\n }\n return result;\n}\nasync function executeComposeFromMedia(projectStore, input) {\n const ctx = getContext(projectStore);\n const layer = ctx.project.layers.find((l) => l.id === input.layerId || l.name.toLowerCase() === input.layerId.toLowerCase());\n if (!layer) {\n return {\n success: false,\n message: `Layer \"${input.layerId}\" not found`,\n error: \"Layer not found\"\n };\n }\n const fileKey = layer.props.fileKey;\n if (!fileKey) {\n return {\n success: false,\n message: `Layer \"${layer.name}\" has no media file associated`,\n error: \"No fileKey on layer\"\n };\n }\n const annotationResult = await getMediaAnnotation({ storageKey: fileKey });\n if (!annotationResult.success) {\n return {\n success: false,\n message: \"Failed to fetch media annotation\",\n error: annotationResult.error\n };\n }\n const annotation = annotationResult.data.annotation;\n if (!annotation) {\n return {\n success: false,\n message: `Media has not been analyzed yet. Use analyze_media first on layer \"${layer.name}\".`,\n error: \"No annotation available\"\n };\n }\n const result = mutateComposeFromMedia(ctx, input, annotation);\n if (result.success && result.layerIds && result.layerIds.length > 0) {\n projectStore.selectLayer(result.layerIds[0]);\n }\n return result;\n}\nasync function executeRunAction(projectStore, input) {\n const action = getAction(input.actionId);\n if (!action) {\n return {\n success: false,\n message: `Unknown action: ${input.actionId}`,\n error: \"Unknown action\"\n };\n }\n const ctx = getContext(projectStore);\n const needsSourceLayer = action.sourceLayerTypes.length > 0;\n let layer;\n if (needsSourceLayer) {\n if (!input.layerId) {\n return {\n success: false,\n message: `Action \"${input.actionId}\" requires a source layer (layerId)`,\n error: \"layerId required\"\n };\n }\n layer = ctx.project.layers.find((l) => l.id === input.layerId || l.name.toLowerCase() === input.layerId.toLowerCase());\n if (!layer) {\n return {\n success: false,\n message: `Layer \"${input.layerId}\" not found`,\n error: \"Layer not found\"\n };\n }\n }\n try {\n const actionResult = await runRegisteredAction({\n action,\n input: createFromSchema(action.inputSchema, input.params ?? {}),\n sourceLayer: layer,\n project: ctx.project\n });\n applyActionResult(projectStore, actionResult);\n return {\n success: true,\n message: `Action \"${action.label}\" completed. Added ${actionResult.layersToAdd?.length ?? 0} layer(s), updated ${actionResult.layersToUpdate?.length ?? 0} layer(s).`,\n layersAdded: (actionResult.layersToAdd ?? []).map((l) => ({ id: l.layer.id, name: l.layer.name, type: l.layer.type })),\n layersUpdated: (actionResult.layersToUpdate ?? []).map((u) => u.id)\n };\n } catch (e) {\n const message = e instanceof Error ? e.message : String(e);\n return {\n success: false,\n message: `Action failed: ${message}`,\n error: message\n };\n }\n}\nfunction formatBytes(bytes) {\n if (bytes === 0) return \"0 B\";\n const k = 1024;\n const sizes = [\"B\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(1))} ${sizes[i]}`;\n}\nfunction Tool_part($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n function isOutputError(t) {\n return typeof t === \"object\" && t !== null && t.state === \"output-error\";\n }\n const { tool } = $$props;\n const output = derived(() => tool.output);\n const hasOutput = derived(() => output() && typeof output() === \"object\");\n const success = derived(() => hasOutput() && output().success === true);\n const message = derived(() => hasOutput() && typeof output().message === \"string\" ? output().message : void 0);\n const isError = derived(() => tool.state === \"output-error\");\n const errorText = derived(() => isOutputError(tool) ? tool.errorText : void 0);\n $$renderer2.push(`<details class=\"rounded border bg-muted/30 px-2 py-0.5 text-[10px]\"><summary class=\"flex cursor-pointer items-center gap-1.5 font-mono text-muted-foreground hover:text-foreground\"><span>`);\n if (success()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`✅`);\n } else if (isError() || hasOutput() && output().success === false) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`❌`);\n } else if (tool.state === \"input-streaming\") {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`⏳`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`🔧`);\n }\n $$renderer2.push(`<!--]--></span> <span>${escape_html(tool.type.replace(\"tool-\", \"\"))}</span> `);\n if (message()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"ml-1 truncate text-foreground/60\">${escape_html(message())}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></summary> <div class=\"mt-1.5 mb-1 space-y-1 font-mono\">`);\n if (errorText()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded bg-destructive/10 p-1.5 text-destructive\"><div class=\"mb-0.5 font-semibold\">Error:</div> <pre class=\"text-[9px] leading-tight whitespace-pre-wrap\">${escape_html(errorText())}</pre></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (tool.input) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded bg-muted/50 p-1.5\"><div class=\"mb-0.5 font-semibold text-foreground/70\">Input:</div> <pre class=\"text-[9px] leading-tight whitespace-pre-wrap\">${escape_html(JSON.stringify(tool.input, null, 2))}</pre></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (hasOutput()) {\n $$renderer2.push(\"<!--[0-->\");\n const otherFields = Object.fromEntries(Object.entries(output()).filter(([key2]) => key2 !== \"success\" && key2 !== \"message\"));\n if (Object.keys(otherFields).length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded bg-muted/50 p-1.5\"><div class=\"mb-0.5 font-semibold text-foreground/70\">Details:</div> <pre class=\"text-[9px] leading-tight whitespace-pre-wrap\">${escape_html(JSON.stringify(otherFields, null, 2))}</pre></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></details>`);\n });\n}\nfunction Reasoning_part($$renderer, $$props) {\n const { reasoning } = $$props;\n $$renderer.push(`<details class=\"rounded border bg-muted/30 text-xs\"><summary class=\"cursor-pointer px-2 py-1 font-mono text-muted-foreground hover:text-foreground\">💭 Reasoning <span class=\"ml-1 text-[10px]\">(click to expand)</span></summary> <div class=\"px-2 pb-2\"><pre class=\"font-mono text-[10px] leading-tight whitespace-pre-wrap\">${escape_html(reasoning)}</pre></div></details>`);\n}\nconst regex = /[\\0-\\x1F!-,\\.\\/:-@\\[-\\^`\\{-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u060F\\u061B-\\u061F\\u066A-\\u066D\\u06D4\\u06DD\\u06DE\\u06E9\\u06FD\\u06FE\\u0700-\\u070F\\u074B\\u074C\\u07B2-\\u07BF\\u07F6-\\u07F9\\u07FB\\u07FC\\u07FE\\u07FF\\u082E-\\u083F\\u085C-\\u085F\\u086B-\\u089F\\u08B5\\u08C8-\\u08D2\\u08E2\\u0964\\u0965\\u0970\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09F2-\\u09FB\\u09FD\\u09FF\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF0-\\u0AF8\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B54\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B70\\u0B72-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BF0-\\u0BFF\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C7F\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0CFF\\u0D0D\\u0D11\\u0D45\\u0D49\\u0D4F-\\u0D53\\u0D58-\\u0D5E\\u0D64\\u0D65\\u0D70-\\u0D79\\u0D80\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0\\u0DF1\\u0DF4-\\u0E00\\u0E3B-\\u0E3F\\u0E4F\\u0E5A-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F17\\u0F1A-\\u0F1F\\u0F2A-\\u0F34\\u0F36\\u0F38\\u0F3A-\\u0F3D\\u0F48\\u0F6D-\\u0F70\\u0F85\\u0F98\\u0FBD-\\u0FC5\\u0FC7-\\u0FFF\\u104A-\\u104F\\u109E\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u1360-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16ED\\u16F9-\\u16FF\\u170D\\u1715-\\u171F\\u1735-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17D4-\\u17D6\\u17D8-\\u17DB\\u17DE\\u17DF\\u17EA-\\u180A\\u180E\\u180F\\u181A-\\u181F\\u1879-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u1945\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DA-\\u19FF\\u1A1C-\\u1A1F\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1AA6\\u1AA8-\\u1AAF\\u1AC1-\\u1AFF\\u1B4C-\\u1B4F\\u1B5A-\\u1B6A\\u1B74-\\u1B7F\\u1BF4-\\u1BFF\\u1C38-\\u1C3F\\u1C4A-\\u1C4C\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CCF\\u1CD3\\u1CFB-\\u1CFF\\u1DFA\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u203E\\u2041-\\u2053\\u2055-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u20CF\\u20F1-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u215F\\u2189-\\u24B5\\u24EA-\\u2BFF\\u2C2F\\u2C5F\\u2CE5-\\u2CEA\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E00-\\u2E2E\\u2E30-\\u3004\\u3008-\\u3020\\u3030\\u3036\\u3037\\u303D-\\u3040\\u3097\\u3098\\u309B\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\u9FFD-\\u9FFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA62C-\\uA63F\\uA673\\uA67E\\uA6F2-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7C0\\uA7C1\\uA7CB-\\uA7F4\\uA828-\\uA82B\\uA82D-\\uA83F\\uA874-\\uA87F\\uA8C6-\\uA8CF\\uA8DA-\\uA8DF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA954-\\uA95F\\uA97D-\\uA97F\\uA9C1-\\uA9CE\\uA9DA-\\uA9DF\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A-\\uAA5F\\uAA77-\\uAA79\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAF0\\uAAF1\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABEB\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFDFF\\uFE10-\\uFE1F\\uFE30-\\uFE32\\uFE35-\\uFE4C\\uFE50-\\uFE6F\\uFE75\\uFEFD-\\uFF0F\\uFF1A-\\uFF20\\uFF3B-\\uFF3E\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDD3F\\uDD75-\\uDDFC\\uDDFE-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEDF\\uDEE1-\\uDEFF\\uDF20-\\uDF2C\\uDF4B-\\uDF4F\\uDF7B-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0\\uDFD6-\\uDFFF]|\\uD801[\\uDC9E\\uDC9F\\uDCAA-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDDFF\\uDF37-\\uDF3F\\uDF56-\\uDF5F\\uDF68-\\uDFFF]|\\uD802[\\uDC06\\uDC07\\uDC09\\uDC36\\uDC39-\\uDC3B\\uDC3D\\uDC3E\\uDC56-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE04\\uDE07-\\uDE0B\\uDE14\\uDE18\\uDE36\\uDE37\\uDE3B-\\uDE3E\\uDE40-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE7-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD28-\\uDD2F\\uDD3A-\\uDE7F\\uDEAA\\uDEAD-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF51-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC47-\\uDC65\\uDC70-\\uDC7E\\uDCBB-\\uDCCF\\uDCE9-\\uDCEF\\uDCFA-\\uDCFF\\uDD35\\uDD40-\\uDD43\\uDD48-\\uDD4F\\uDD74\\uDD75\\uDD77-\\uDD7F\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE38-\\uDE3D\\uDE3F-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEEB-\\uDEEF\\uDEFA-\\uDEFF\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A\\uDF45\\uDF46\\uDF49\\uDF4A\\uDF4E\\uDF4F\\uDF51-\\uDF56\\uDF58-\\uDF5C\\uDF64\\uDF65\\uDF6D-\\uDF6F\\uDF75-\\uDFFF]|\\uD805[\\uDC4B-\\uDC4F\\uDC5A-\\uDC5D\\uDC62-\\uDC7F\\uDCC6\\uDCC8-\\uDCCF\\uDCDA-\\uDD7F\\uDDB6\\uDDB7\\uDDC1-\\uDDD7\\uDDDE-\\uDDFF\\uDE41-\\uDE43\\uDE45-\\uDE4F\\uDE5A-\\uDE7F\\uDEB9-\\uDEBF\\uDECA-\\uDEFF\\uDF1B\\uDF1C\\uDF2C-\\uDF2F\\uDF3A-\\uDFFF]|\\uD806[\\uDC3B-\\uDC9F\\uDCEA-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD36\\uDD39\\uDD3A\\uDD44-\\uDD4F\\uDD5A-\\uDD9F\\uDDA8\\uDDA9\\uDDD8\\uDDD9\\uDDE2\\uDDE5-\\uDDFF\\uDE3F-\\uDE46\\uDE48-\\uDE4F\\uDE9A-\\uDE9C\\uDE9E-\\uDEBF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC37\\uDC41-\\uDC4F\\uDC5A-\\uDC71\\uDC90\\uDC91\\uDCA8\\uDCB7-\\uDCFF\\uDD07\\uDD0A\\uDD37-\\uDD39\\uDD3B\\uDD3E\\uDD48-\\uDD4F\\uDD5A-\\uDD5F\\uDD66\\uDD69\\uDD8F\\uDD92\\uDD99-\\uDD9F\\uDDAA-\\uDEDF\\uDEF7-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC6F-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80B\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82B\\uD82D\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83D\\uD83F\\uD87B-\\uD87D\\uD87F\\uD885-\\uDB3F\\uDB41-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80D[\\uDC2F-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F\\uDE6A-\\uDECF\\uDEEE\\uDEEF\\uDEF5-\\uDEFF\\uDF37-\\uDF3F\\uDF44-\\uDF4F\\uDF5A-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4E\\uDF88-\\uDF8E\\uDFA0-\\uDFDF\\uDFE2\\uDFE5-\\uDFEF\\uDFF2-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82C[\\uDD1F-\\uDD4F\\uDD53-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\uDC9C\\uDC9F-\\uDFFF]|\\uD834[\\uDC00-\\uDD64\\uDD6A-\\uDD6C\\uDD73-\\uDD7A\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDE41\\uDE45-\\uDFFF]|\\uD835[\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC\\uDFCD]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85-\\uDE9A\\uDEA0\\uDEB0-\\uDFFF]|\\uD838[\\uDC07\\uDC19\\uDC1A\\uDC22\\uDC25\\uDC2B-\\uDCFF\\uDD2D-\\uDD2F\\uDD3E\\uDD3F\\uDD4A-\\uDD4D\\uDD4F-\\uDEBF\\uDEFA-\\uDFFF]|\\uD83A[\\uDCC5-\\uDCCF\\uDCD7-\\uDCFF\\uDD4C-\\uDD4F\\uDD5A-\\uDFFF]|\\uD83B[\\uDC00-\\uDDFF\\uDE04\\uDE20\\uDE23\\uDE25\\uDE26\\uDE28\\uDE33\\uDE38\\uDE3A\\uDE3C-\\uDE41\\uDE43-\\uDE46\\uDE48\\uDE4A\\uDE4C\\uDE50\\uDE53\\uDE55\\uDE56\\uDE58\\uDE5A\\uDE5C\\uDE5E\\uDE60\\uDE63\\uDE65\\uDE66\\uDE6B\\uDE73\\uDE78\\uDE7D\\uDE7F\\uDE8A\\uDE9C-\\uDEA0\\uDEA4\\uDEAA\\uDEBC-\\uDFFF]|\\uD83C[\\uDC00-\\uDD2F\\uDD4A-\\uDD4F\\uDD6A-\\uDD6F\\uDD8A-\\uDFFF]|\\uD83E[\\uDC00-\\uDFEF\\uDFFA-\\uDFFF]|\\uD869[\\uDEDE-\\uDEFF]|\\uD86D[\\uDF35-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDFFF]|\\uDB40[\\uDC00-\\uDCFF\\uDDF0-\\uDFFF]/g;\nconst own = Object.hasOwnProperty;\nclass BananaSlug {\n /**\n * Create a new slug class.\n */\n constructor() {\n this.occurrences;\n this.reset();\n }\n /**\n * Generate a unique slug.\n *\n * Tracks previously generated slugs: repeated calls with the same value\n * will result in different slugs.\n * Use the `slug` function to get same slugs.\n *\n * @param {string} value\n * String of text to slugify\n * @param {boolean} [maintainCase=false]\n * Keep the current case, otherwise make all lowercase\n * @return {string}\n * A unique slug string\n */\n slug(value, maintainCase) {\n const self = this;\n let result = slug(value, maintainCase === true);\n const originalSlug = result;\n while (own.call(self.occurrences, result)) {\n self.occurrences[originalSlug]++;\n result = originalSlug + \"-\" + self.occurrences[originalSlug];\n }\n self.occurrences[result] = 0;\n return result;\n }\n /**\n * Reset - Forget all previous slugs\n *\n * @return void\n */\n reset() {\n this.occurrences = /* @__PURE__ */ Object.create(null);\n }\n}\nfunction slug(value, maintainCase) {\n if (typeof value !== \"string\") return \"\";\n if (!maintainCase) value = value.toLowerCase();\n return value.replace(regex, \"\").replace(/ /g, \"-\");\n}\nfunction supressWarnings() {\n const origWarn = console.warn;\n console.warn = (message) => {\n if (message.includes(\"unknown prop\")) return;\n if (message.includes(\"unexpected slot\")) return;\n origWarn(message);\n };\n}\nfunction Parser_1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n type = void 0,\n tokens = void 0,\n header = void 0,\n rows = void 0,\n ordered = false,\n renderers,\n $$slots,\n $$events,\n ...rest\n } = $$props;\n supressWarnings();\n if (!type) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(tokens);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let token = each_array[$$index];\n Parser_1($$renderer2, spread_props([token, { renderers }]));\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n if (renderers[type]) {\n $$renderer2.push(\"<!--[0-->\");\n if (type === \"table\") {\n $$renderer2.push(\"<!--[0-->\");\n if (renderers.table) {\n $$renderer2.push(\"<!--[-->\");\n renderers.table($$renderer2, {\n children: ($$renderer3) => {\n if (renderers.tablehead) {\n $$renderer3.push(\"<!--[-->\");\n renderers.tablehead($$renderer3, {\n children: ($$renderer4) => {\n if (renderers.tablerow) {\n $$renderer4.push(\"<!--[-->\");\n renderers.tablerow($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(header);\n for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n let headerItem = each_array_1[i];\n if (renderers.tablecell) {\n $$renderer5.push(\"<!--[-->\");\n renderers.tablecell($$renderer5, {\n header: true,\n align: rest.align[i] || \"center\",\n children: ($$renderer6) => {\n Parser_1($$renderer6, { tokens: headerItem.tokens, renderers });\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (renderers.tablebody) {\n $$renderer3.push(\"<!--[-->\");\n renderers.tablebody($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array_2 = ensure_array_like(rows);\n for (let $$index_3 = 0, $$length = each_array_2.length; $$index_3 < $$length; $$index_3++) {\n let row = each_array_2[$$index_3];\n if (renderers.tablerow) {\n $$renderer4.push(\"<!--[-->\");\n renderers.tablerow($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array_3 = ensure_array_like(row);\n for (let i = 0, $$length2 = each_array_3.length; i < $$length2; i++) {\n let cells = each_array_3[i];\n if (renderers.tablecell) {\n $$renderer5.push(\"<!--[-->\");\n renderers.tablecell($$renderer5, {\n header: false,\n align: rest.align[i] || \"center\",\n children: ($$renderer6) => {\n Parser_1($$renderer6, { tokens: cells.tokens, renderers });\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (type === \"list\") {\n $$renderer2.push(\"<!--[1-->\");\n if (ordered) {\n $$renderer2.push(\"<!--[0-->\");\n if (renderers.list) {\n $$renderer2.push(\"<!--[-->\");\n renderers.list($$renderer2, spread_props([\n { ordered },\n rest,\n {\n children: ($$renderer3) => {\n $$renderer3.push(`<!--[-->`);\n const each_array_4 = ensure_array_like(rest.items);\n for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n let item = each_array_4[$$index_4];\n const SvelteComponent = renderers.orderedlistitem || renderers.listitem;\n if (SvelteComponent) {\n $$renderer3.push(\"<!--[-->\");\n SvelteComponent($$renderer3, spread_props([\n item,\n {\n children: ($$renderer4) => {\n Parser_1($$renderer4, { tokens: item.tokens, renderers });\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n if (renderers.list) {\n $$renderer2.push(\"<!--[-->\");\n renderers.list($$renderer2, spread_props([\n { ordered },\n rest,\n {\n children: ($$renderer3) => {\n $$renderer3.push(`<!--[-->`);\n const each_array_5 = ensure_array_like(rest.items);\n for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n let item = each_array_5[$$index_5];\n const SvelteComponent_1 = renderers.unorderedlistitem || renderers.listitem;\n if (SvelteComponent_1) {\n $$renderer3.push(\"<!--[-->\");\n SvelteComponent_1($$renderer3, spread_props([\n item,\n {\n children: ($$renderer4) => {\n Parser_1($$renderer4, { tokens: item.tokens, renderers });\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n const SvelteComponent_2 = renderers[type];\n if (SvelteComponent_2) {\n $$renderer2.push(\"<!--[-->\");\n SvelteComponent_2($$renderer2, spread_props([\n rest,\n {\n children: ($$renderer3) => {\n if (tokens) {\n $$renderer3.push(\"<!--[0-->\");\n Parser_1($$renderer3, { tokens, renderers });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`${escape_html(rest.raw)}`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Blockquote($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<blockquote>`);\n children?.($$renderer);\n $$renderer.push(`<!----></blockquote>`);\n}\nfunction Br($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<br/>`);\n children?.($$renderer);\n $$renderer.push(`<!---->`);\n}\nfunction Code($$renderer, $$props) {\n let { lang, text } = $$props;\n $$renderer.push(`<pre${attr_class(clsx(lang))}><code>${escape_html(text)}</code></pre>`);\n}\nfunction Codespan($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { raw } = $$props;\n $$renderer2.push(`<code>${escape_html(raw.replace(/`/g, \"\"))}</code>`);\n });\n}\nfunction Del($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<del>`);\n children?.($$renderer);\n $$renderer.push(`<!----></del>`);\n}\nfunction Em($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<em>`);\n children?.($$renderer);\n $$renderer.push(`<!----></em>`);\n}\nconst key = {};\nfunction Heading($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { depth, raw, text, children } = $$props;\n const { slug: slug2, getOptions } = getContext$1(key);\n const options = getOptions();\n let id = derived(() => options.headerIds ? options.headerPrefix + slug2(text) : void 0);\n if (depth === 1) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<h1${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h1>`);\n } else if (depth === 2) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<h2${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h2>`);\n } else if (depth === 3) {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<h3${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h3>`);\n } else if (depth === 4) {\n $$renderer2.push(\"<!--[3-->\");\n $$renderer2.push(`<h4${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h4>`);\n } else if (depth === 5) {\n $$renderer2.push(\"<!--[4-->\");\n $$renderer2.push(`<h5${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h5>`);\n } else if (depth === 6) {\n $$renderer2.push(\"<!--[5-->\");\n $$renderer2.push(`<h6${attr(\"id\", id())}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></h6>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`${escape_html(raw)}`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Hr($$renderer) {\n $$renderer.push(`<hr/>`);\n}\nfunction Html($$renderer, $$props) {\n let { text } = $$props;\n $$renderer.push(`${html(text)}`);\n}\nfunction Image$1($$renderer, $$props) {\n let { href = \"\", title = void 0, text = \"\" } = $$props;\n $$renderer.push(`<img${attr(\"src\", href)}${attr(\"title\", title)}${attr(\"alt\", text)}/>`);\n}\nfunction Link($$renderer, $$props) {\n let { href = \"\", title = void 0, children } = $$props;\n $$renderer.push(`<a${attr(\"href\", href)}${attr(\"title\", title)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></a>`);\n}\nfunction List($$renderer, $$props) {\n let { ordered, start, children } = $$props;\n if (ordered) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<ol${attr(\"start\", start)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></ol>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<ul>`);\n children?.($$renderer);\n $$renderer.push(`<!----></ul>`);\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction ListItem($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<li>`);\n children?.($$renderer);\n $$renderer.push(`<!----></li>`);\n}\nfunction Paragraph($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<p>`);\n children?.($$renderer);\n $$renderer.push(`<!----></p>`);\n}\nfunction Strong($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<strong>`);\n children?.($$renderer);\n $$renderer.push(`<!----></strong>`);\n}\nfunction Table($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<table>`);\n children?.($$renderer);\n $$renderer.push(`<!----></table>`);\n}\nfunction TableBody($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<tbody>`);\n children?.($$renderer);\n $$renderer.push(`<!----></tbody>`);\n}\nfunction TableCell($$renderer, $$props) {\n let { header, align, children } = $$props;\n if (header) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<th${attr(\"align\", align)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></th>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<td${attr(\"align\", align)}>`);\n children?.($$renderer);\n $$renderer.push(`<!----></td>`);\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction TableHead($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<thead>`);\n children?.($$renderer);\n $$renderer.push(`<!----></thead>`);\n}\nfunction TableRow($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<tr>`);\n children?.($$renderer);\n $$renderer.push(`<!----></tr>`);\n}\nfunction Text($$renderer, $$props) {\n let { children } = $$props;\n children?.($$renderer);\n $$renderer.push(`<!---->`);\n}\nconst defaultRenderers = {\n heading: Heading,\n paragraph: Paragraph,\n text: Text,\n image: Image$1,\n link: Link,\n em: Em,\n strong: Strong,\n codespan: Codespan,\n del: Del,\n table: Table,\n tablehead: TableHead,\n tablebody: TableBody,\n tablerow: TableRow,\n tablecell: TableCell,\n list: List,\n orderedlistitem: null,\n unorderedlistitem: null,\n listitem: ListItem,\n hr: Hr,\n html: Html,\n blockquote: Blockquote,\n code: Code,\n br: Br\n};\nconst defaultOptions = {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: \"\",\n highlight: null,\n langPrefix: \"language-\",\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n xhtml: false\n};\nfunction SvelteMarkdown($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { source = [], renderers = {}, options = {} } = $$props;\n let tokens = void 0;\n let slugger = derived(() => source ? new BananaSlug() : void 0);\n let combinedOptions = derived(() => ({ ...defaultOptions, ...options }));\n let combinedRenderers = derived(() => ({ ...defaultRenderers, ...renderers }));\n setContext(key, {\n slug: (val) => slugger() ? slugger().slug(val) : \"\",\n getOptions: () => combinedOptions()\n });\n Parser_1($$renderer2, { tokens, renderers: combinedRenderers() });\n });\n}\nfunction Ai_chat($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let { selectedModelId = DEFAULT_MODEL_ID, scrollRef } = $$props;\n let prompt = new PersistedState(\"prompt\", \"\");\n let attachedImage = null;\n let fileInput = null;\n let showPricingDialog = false;\n const suggestions = [\n {\n label: \"Product Teaser\",\n prompt: 'Create a 5-second product teaser: a bold title \"Launch Week\" fading in from below, a gradient background, and a call-to-action button saying \"Sign Up\" that pulses. Add smooth transitions between elements.'\n },\n {\n label: \"Text Animation\",\n prompt: 'Animate three lines of text appearing one after another: \"Build\" slides in from left, \"Ship\" scales up from the center, \"Repeat\" fades in with a blur effect. Use a dark background with accent color.'\n },\n {\n label: \"Logo Reveal\",\n prompt: 'Create a logo reveal animation: a circle shape expands from the center, then the text \"Devmotion\" appears with a typewriter effect. Add a subtle glow drop shadow to the text.'\n },\n {\n label: \"Social Clip\",\n prompt: \"Add captions to the video, style them as bold white text with a dark semi-transparent background, centered at the bottom. Make them appear word by word synced to speech.\"\n },\n {\n label: \"Tutorial Intro\",\n prompt: 'Create a tutorial intro: a mouse cursor layer moving from left to right, followed by text \"How To\" appearing with a slide-in animation. Use a clean gradient background.'\n },\n {\n label: \"Video to Phone\",\n prompt: \"Resize the project to 9:16 portrait aspect ratio (1080x1920) and add a blurred background fill behind the main video. Center the video and add a title overlay at the top.\"\n }\n ];\n function trySuggestion(promptText) {\n if (chat.status === \"streaming\" || chat.status === \"submitted\") return;\n trackPlausibleEvent(\"ai_suggestion_used\", { prompt: promptText.slice(0, 100) });\n prompt.current = promptText;\n }\n let credits = derived(getCredits);\n const persistedMessages = new PersistedState(`ai-chat-messages-${projectStore().state.id}`, []);\n function scrollToBottom(force = false) {\n let isAtBottom = false;\n if (scrollRef) {\n const top = scrollRef.scrollTop;\n const scrollHeight = scrollRef.scrollHeight;\n const clientHeight = scrollRef.clientHeight;\n const diff = scrollHeight - clientHeight;\n isAtBottom = top >= diff - 100;\n }\n if (force || isAtBottom) {\n scrollRef?.scrollTo({ top: scrollRef.scrollHeight, behavior: \"instant\" });\n }\n }\n const chat = new Chat({\n transport: new DefaultChatTransport({\n api: resolve(\"/(app)/chat\"),\n body: () => {\n return { project: projectStore().state, modelId: selectedModelId };\n }\n }),\n messages: persistedMessages.current,\n sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,\n onError(error) {\n trackPlausibleEvent(\"ai_error\", { error: parseErrorMessage(error).slice(0, 200) });\n toast.error(parseErrorMessage(error));\n },\n async onToolCall({ toolCall }) {\n if (toolCall.dynamic) {\n return;\n }\n const toolName = toolCall.toolName;\n let result;\n trackPlausibleEvent(\"ai_tool_started\", { toolName });\n try {\n switch (toolName) {\n case \"create_layer\": {\n const input = toolCall.input;\n result = executeCreateLayer(projectStore(), input);\n break;\n }\n case \"edit_layer\":\n result = executeEditLayer(projectStore(), toolCall.input);\n break;\n case \"remove_layer\":\n result = executeRemoveLayer(projectStore(), toolCall.input);\n break;\n case \"group_layers\":\n result = executeGroupLayers(projectStore(), toolCall.input);\n break;\n case \"ungroup_layers\":\n result = executeUngroupLayers(projectStore(), toolCall.input);\n break;\n case \"configure_project\":\n result = executeConfigureProject(projectStore(), toolCall.input);\n break;\n case \"compose_from_media\":\n result = await executeComposeFromMedia(projectStore(), toolCall.input);\n break;\n case \"run_action\":\n result = await executeRunAction(projectStore(), toolCall.input);\n break;\n default:\n result = { success: false, error: `Unknown tool: ${toolName}` };\n }\n chat.addToolOutput({\n tool: toolName,\n toolCallId: toolCall.toolCallId,\n output: result\n });\n trackPlausibleEvent(\"ai_tool_completed\", { toolName });\n } catch (err) {\n const errorMsg = err instanceof Error ? err.message : \"Unknown error\";\n trackPlausibleEvent(\"ai_tool_error\", { toolName, error: errorMsg });\n chat.addToolOutput({\n tool: toolName,\n toolCallId: toolCall.toolCallId,\n output: { success: false, error: errorMsg }\n });\n }\n },\n onFinish() {\n persistedMessages.current = chat.messages;\n credits().refresh();\n }\n });\n function removeImage() {\n attachedImage = null;\n }\n function resetMessages() {\n chat.messages = [];\n persistedMessages.current = [];\n attachedImage = null;\n toast.success(\"Chat history cleared\");\n }\n watch$1(() => snapshot(chat.messages), () => {\n scrollToBottom();\n });\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full flex-col\"><div class=\"flex w-full flex-col border-b bg-background\">`);\n if (credits().current) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex items-center justify-between gap-3 px-4 py-2\"><span class=\"font-mono text-xs text-muted-foreground\">${escape_html(Math.round(credits().current.remainingCredits * 100))}/${escape_html(Math.round(credits().current.maxCredits * 100))}</span> `);\n Bitcoin($$renderer3, { class: \"size-3 text-muted-foreground\" });\n $$renderer3.push(`<!----> <div class=\"h-1.5 w-24 flex-1 overflow-hidden rounded-full bg-muted\"><div${attr_class(`h-full transition-all ${stringify(credits().current.remainingCredits / credits().current.maxCredits < 0.2 ? \"bg-destructive\" : \"bg-primary\")}`)}${attr_style(`width: ${stringify(credits().current.remainingCredits / credits().current.maxCredits * 100)}%`)}></div></div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <div class=\"flex-1 p-4\">`);\n if (chat.messages.length === 0) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex h-full flex-col items-center justify-center text-center\">`);\n Wand_sparkles($$renderer3, { class: \"mb-4 size-8 text-muted-foreground\" });\n $$renderer3.push(`<!----> <p class=\"text-sm text-muted-foreground\">Describe your vision, and I'll animate it</p></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"space-y-4\"><!--[-->`);\n const each_array = ensure_array_like(chat.messages);\n for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n let message = each_array[$$index_1];\n $$renderer3.push(`<div class=\"flex flex-col gap-2\"><div class=\"flex items-center gap-2\"><div${attr_class(`flex size-7 shrink-0 items-center justify-center rounded-full ${stringify(message.role === \"user\" ? \"bg-primary text-primary-foreground\" : \"bg-muted\")}`)}>`);\n if (message.role === \"user\") {\n $$renderer3.push(\"<!--[0-->\");\n User($$renderer3, { class: \"size-3.5\" });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Sparkles($$renderer3, { class: \"size-3.5\" });\n }\n $$renderer3.push(`<!--]--></div> <p class=\"text-xs font-medium text-muted-foreground\">${escape_html(message.role === \"user\" ? \"You\" : \"AI\")}</p></div> <div class=\"space-y-2 pl-0\"><!--[-->`);\n const each_array_1 = ensure_array_like(message.parts);\n for (let partIndex = 0, $$length2 = each_array_1.length; partIndex < $$length2; partIndex++) {\n let part = each_array_1[partIndex];\n if (part.type === \"reasoning\" && part.text.trim()) {\n $$renderer3.push(\"<!--[0-->\");\n Reasoning_part($$renderer3, { reasoning: part.text });\n } else if (part.type === \"text\" && part.text.trim()) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"text-sm\">`);\n SvelteMarkdown($$renderer3, { source: part.text });\n $$renderer3.push(`<!----></div>`);\n } else if (part.type === \"file\" && part.mediaType.startsWith(\"image/\")) {\n $$renderer3.push(\"<!--[2-->\");\n $$renderer3.push(`<img${attr(\"src\", part.url)} alt=\"User uploaded\" class=\"max-w-xs rounded-lg border\"/>`);\n } else if (isToolUIPart(part)) {\n $$renderer3.push(\"<!--[3-->\");\n Tool_part($$renderer3, { tool: part });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]--></div></div>`);\n }\n $$renderer3.push(`<!--]--> `);\n if ((chat.status === \"streaming\" || chat.status === \"submitted\") && chat.messages[chat.messages.length - 1].role !== \"assistant\") {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex flex-col gap-2\"><div class=\"flex items-center gap-2\"><div class=\"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted\">`);\n Sparkles($$renderer3, { class: \"size-3.5\" });\n $$renderer3.push(`<!----></div> <p class=\"text-xs font-medium text-muted-foreground\">AI</p></div> <div class=\"flex items-center gap-2 pl-0 text-sm text-muted-foreground\">`);\n Loader_circle($$renderer3, { class: \"size-4 animate-spin\" });\n $$renderer3.push(`<!----> Thinking...</div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div> <form class=\"sticky bottom-0 border-t bg-background p-4\"><div class=\"mb-3 flex items-start gap-2\">`);\n Lightbulb($$renderer3, { class: \"mt-0.5 size-3.5 shrink-0 text-muted-foreground\" });\n $$renderer3.push(`<!----> <div class=\"flex flex-wrap gap-1.5\"><!--[-->`);\n const each_array_2 = ensure_array_like(suggestions);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let suggestion = each_array_2[$$index_2];\n Button($$renderer3, {\n variant: \"outline\",\n size: \"xs\",\n onclick: () => trySuggestion(suggestion.prompt),\n disabled: chat.status === \"streaming\" || chat.status === \"submitted\" || projectStore().isRecording,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(suggestion.label)}`);\n },\n $$slots: { default: true }\n });\n }\n $$renderer3.push(`<!--]--></div></div> <div class=\"relative\"><textarea placeholder=\"Describe your animation... e.g., 'Create a title that fades in with a subtitle below'\"${attr(\"disabled\", chat.status === \"streaming\" || chat.status === \"submitted\" || projectStore().isRecording, true)}${attr_class(`mb-3 flex min-h-20 w-full resize-none rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 ${stringify(attachedImage ? \"pb-24\" : \"\")}`)}>`);\n const $$body = escape_html(prompt.current);\n if ($$body) {\n $$renderer3.push(`${$$body}`);\n }\n $$renderer3.push(`</textarea> `);\n if (attachedImage) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"absolute right-3 bottom-4 flex items-start gap-2 rounded-lg border bg-background p-2 shadow-sm\"><img${attr(\"src\", attachedImage.dataUrl)} alt=\"Attached\" class=\"size-16 rounded object-cover\"/> <div class=\"flex flex-col gap-1\"><span class=\"text-xs text-muted-foreground\">${escape_html(formatBytes(attachedImage.size))}</span> `);\n Button($$renderer3, {\n type: \"button\",\n variant: \"ghost\",\n size: \"icon\",\n class: \"size-5\",\n onclick: removeImage,\n title: \"Remove image\",\n children: ($$renderer4) => {\n X($$renderer4, { class: \"size-3\" });\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <input type=\"file\" accept=\"image/*\" class=\"hidden\"/> <div class=\"flex gap-2\">`);\n if (chat.status === \"streaming\" || chat.status === \"submitted\") {\n $$renderer3.push(\"<!--[0-->\");\n Button($$renderer3, {\n class: \"flex-1\",\n type: \"button\",\n variant: \"destructive\",\n onclick: () => chat.stop(),\n children: ($$renderer4) => {\n Square($$renderer4, { class: \"size-4\" });\n $$renderer4.push(`<!----> Stop`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Button($$renderer3, {\n type: \"button\",\n variant: \"outline\",\n size: \"icon\",\n onclick: () => fileInput?.click(),\n disabled: projectStore().isRecording || !!attachedImage,\n title: \"Attach image\",\n icon: Image_plus\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n class: \"flex-1\",\n type: \"submit\",\n disabled: !prompt.current.trim() && !attachedImage || projectStore().isRecording,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Send `);\n Send($$renderer4, { class: \"size-4\" });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!---->`);\n }\n $$renderer3.push(`<!--]--> `);\n if (chat.messages.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n Button($$renderer3, {\n type: \"button\",\n variant: \"outline\",\n size: \"icon\",\n onclick: resetMessages,\n disabled: chat.status === \"streaming\",\n title: \"Clear chat history\",\n children: ($$renderer4) => {\n Trash_2($$renderer4, { class: \"size-4\" });\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div></form></div> `);\n Pricing_dialog($$renderer3, {\n get open() {\n return showPricingDialog;\n },\n set open($$value) {\n showPricingDialog = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!---->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { selectedModelId });\n });\n}\nfunction Model_selector($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { selectedModelId, onModelChange } = $$props;\n const models = Object.values(AI_MODELS);\n const selectedModel = derived(() => getModel(selectedModelId));\n if (models.length > 1) {\n $$renderer2.push(\"<!--[0-->\");\n if (Root) {\n $$renderer2.push(\"<!--[-->\");\n Root($$renderer2, {\n children: ($$renderer3) => {\n if (Dropdown_menu_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_trigger($$renderer3, {\n class: \"flex items-center gap-1 text-xs\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(selectedModel().name)} `);\n Chevron_down($$renderer4, { class: \"h-3 w-3\" });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Dropdown_menu_content) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_content($$renderer3, {\n align: \"start\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array = ensure_array_like(models);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let model = each_array[$$index];\n if (Dropdown_menu_item) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer4, {\n onclick: () => onModelChange(model.id),\n children: ($$renderer5) => {\n $$renderer5.push(`<span class=\"flex items-center gap-1.5\">${escape_html(model.name)}</span> `);\n if (model.recommended) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<span class=\"text-[10px] text-primary\">Recommended</span>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (\"proOnly\" in model && model.proOnly) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<span class=\"text-[10px] text-muted-foreground\">Pro</span>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Add_layer_dropdown($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function addLayer(type) {\n const layer = createLayer(type, {\n transform: defaultTransform(),\n projectDimensions: {\n width: projectStore().state.width,\n height: projectStore().state.height\n }\n });\n projectStore().addLayer(layer);\n projectStore().selectLayer(layer.id);\n editorState().setActiveSidebarPanel(\"layer\");\n }\n const hiddenTypes = /* @__PURE__ */ new Set([\"captions\", \"group\", PROJECT_LAYER_TYPE]);\n const categoryOrder = [\"media\", \"text\", \"shape\", \"code\", \"ui\"];\n const categoryConfig = {\n media: { icon: Film, label: \"Media\" },\n text: { icon: Type, label: \"Text\" },\n shape: { icon: Shapes, label: \"Shapes\" },\n code: { icon: Code$1, label: \"Code\" },\n ui: { icon: Layout_grid, label: \"UI Elements\" }\n };\n const groupedLayers = derived(() => {\n const groups = new SvelteMap();\n for (const layer of Object.values(layerRegistry)) {\n if (hiddenTypes.has(layer.type)) continue;\n const cat = layer.category;\n if (!groups.has(cat)) groups.set(cat, []);\n groups.get(cat).push(layer);\n }\n return categoryOrder.filter((c) => groups.has(c)).map((c) => ({ category: c, ...categoryConfig[c], layers: groups.get(c) }));\n });\n const { child } = $$props;\n if (Root) {\n $$renderer2.push(\"<!--[-->\");\n Root($$renderer2, {\n children: ($$renderer3) => {\n if (Dropdown_menu_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_trigger($$renderer3, { disabled: projectStore().isRecording, child });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Dropdown_menu_content) {\n $$renderer3.push(\"<!--[-->\");\n Dropdown_menu_content($$renderer3, {\n align: \"start\",\n class: \"w-56\",\n children: ($$renderer4) => {\n if (Dropdown_menu_item) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer4, {\n onclick: () => addLayer(\"group\"),\n children: ($$renderer5) => {\n Folder($$renderer5, { class: \"mr-2 h-4 w-4\" });\n $$renderer5.push(`<!----> Folder`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Dropdown_menu_separator) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_separator($$renderer4, {});\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n Scroll_area($$renderer4, {\n viewportClass: \"max-h-[calc(50vh)]\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array = ensure_array_like(groupedLayers());\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let group = each_array[i];\n if (Dropdown_menu_group) {\n $$renderer5.push(\"<!--[-->\");\n Dropdown_menu_group($$renderer5, {\n children: ($$renderer6) => {\n if (Dropdown_menu_group_heading) {\n $$renderer6.push(\"<!--[-->\");\n Dropdown_menu_group_heading($$renderer6, {\n class: \"flex items-center\",\n children: ($$renderer7) => {\n const CatIcon = group.icon;\n if (CatIcon) {\n $$renderer7.push(\"<!--[-->\");\n CatIcon($$renderer7, { class: \"mr-2 h-3.5 w-3.5\" });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n $$renderer7.push(` ${escape_html(group.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n $$renderer6.push(` <!--[-->`);\n const each_array_1 = ensure_array_like(group.layers);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let layer = each_array_1[$$index];\n if (Dropdown_menu_item) {\n $$renderer6.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer6, {\n onclick: () => addLayer(layer.type),\n children: ($$renderer7) => {\n if (layer.icon) {\n $$renderer7.push(\"<!--[0-->\");\n const Icon2 = layer.icon;\n if (Icon2) {\n $$renderer7.push(\"<!--[-->\");\n Icon2($$renderer7, { class: \"mr-2 h-4 w-4\" });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]--> ${escape_html(layer.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n }\n $$renderer6.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (i < groupedLayers().length - 1) {\n $$renderer5.push(\"<!--[0-->\");\n if (Dropdown_menu_separator) {\n $$renderer5.push(\"<!--[-->\");\n Dropdown_menu_separator($$renderer5, {});\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Timeline_ruler($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { pixelsPerSecond, duration, allExpanded, onToggleAll } = $$props;\n const timeScale = derived(() => {\n const pps = pixelsPerSecond;\n if (pps >= 400) {\n return {\n major: 0.5,\n minor: 0.1,\n sub: 0.02,\n format: (t) => `${t.toFixed(1)}s`\n };\n } else if (pps >= 200) {\n return {\n major: 1,\n minor: 0.2,\n sub: 0.1,\n format: (t) => `${t.toFixed(1)}s`\n };\n } else if (pps >= 70) {\n return { major: 1, minor: 0.5, sub: 0.1, format: (t) => `${t}s` };\n } else if (pps >= 20) {\n return { major: 5, minor: 5, sub: 1, format: (t) => `${t}s` };\n } else if (pps >= 10) {\n return { major: 10, minor: 5, sub: 1, format: (t) => `${t}s` };\n } else {\n return {\n major: 30,\n minor: 10,\n sub: 5,\n format: (t) => `${Math.floor(t / 60)}:${(t % 60).toString().padStart(2, \"0\")}`\n };\n }\n });\n const majorMarks = derived(() => {\n const marks = [];\n const step = timeScale().major;\n for (let i = 0; i <= duration; i += step) {\n marks.push(i);\n }\n return marks;\n });\n const minorMarks = derived(() => {\n const marks = [];\n const step = timeScale().minor;\n for (let i = 0; i <= duration; i += step) {\n if (i % timeScale().major === 0) continue;\n marks.push(i);\n }\n return marks;\n });\n const subMarks = derived(() => {\n const marks = [];\n const step = timeScale().sub;\n for (let i = 0; i <= duration; i += step) {\n if (i % timeScale().minor === 0) continue;\n marks.push(i);\n }\n return marks;\n });\n $$renderer2.push(`<div class=\"timeline-ruler relative flex h-10 bg-muted/20\"><div class=\"sticky left-0 z-10 flex w-60 shrink-0 items-center justify-between border-r bg-background px-2\"><span class=\"text-xs font-medium text-muted-foreground\">LAYERS</span> <div class=\"flex items-center gap-0.5\">`);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"icon-xs\",\n icon: allExpanded ? Minimize_2 : Maximize_2,\n onclick: onToggleAll,\n title: allExpanded ? \"Collapse all layers and properties\" : \"Expand all layers and properties\"\n });\n $$renderer2.push(`<!----> <div data-onboarding=\"timeline-add-layer\" class=\"contents\">`);\n {\n let child = function($$renderer3, { props }) {\n Button($$renderer3, spread_props([\n {\n variant: \"default\",\n size: \"sm\",\n class: \"h-7 w-7 p-0\",\n icon: Plus\n },\n props\n ]));\n };\n Add_layer_dropdown($$renderer2, { child });\n }\n $$renderer2.push(`<!----></div></div></div> <div class=\"relative flex-1 bg-muted/10\"><!--[-->`);\n const each_array = ensure_array_like(subMarks());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let time = each_array[$$index];\n $$renderer2.push(`<div class=\"absolute bottom-0 h-2 border-l border-muted-foreground/10\"${attr_style(`left: ${stringify(time * pixelsPerSecond)}px`)}></div>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(minorMarks());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let time = each_array_1[$$index_1];\n $$renderer2.push(`<div class=\"absolute bottom-0 h-3 border-l border-muted-foreground/20\"${attr_style(`left: ${stringify(time * pixelsPerSecond)}px`)}></div>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_2 = ensure_array_like(majorMarks());\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let time = each_array_2[$$index_2];\n const position = time * pixelsPerSecond;\n const labelWidth = 30;\n const isNearEnd = position > duration * pixelsPerSecond - labelWidth;\n $$renderer2.push(`<div class=\"absolute h-full border-l border-muted-foreground/30\"${attr_style(`left: ${stringify(position)}px`)}><span class=\"absolute top-1 font-mono text-[11px] font-medium text-muted-foreground\"${attr_style(isNearEnd ? \"right: 1px\" : \"left: 1px\")}>${escape_html(timeScale().format(time))}</span></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction getTransformInputId(property) {\n return `transform.${property}`;\n}\nfunction getStyleInputId(property) {\n return `style.${property}`;\n}\nfunction getPropertyCategory(property) {\n if (property.startsWith(\"position.\") || property.startsWith(\"rotation.\") || property.startsWith(\"scale.\")) {\n return \"transform\";\n }\n if (property.startsWith(\"props.\")) {\n return \"props\";\n }\n return \"style\";\n}\nfunction isTransformProperty(property) {\n return property.startsWith(\"position.\") || property.startsWith(\"rotation.\") || property.startsWith(\"scale.\");\n}\nfunction isStyleProperty(property) {\n return property === \"opacity\" || property === \"color\";\n}\nfunction getSidebarPanelForProperty(property) {\n const category = getPropertyCategory(property);\n if (category === \"transform\") return \"transform\";\n if (category === \"style\") return \"style\";\n if (property.startsWith(\"props.\")) return \"layer\";\n return \"transform\";\n}\nfunction navigateToProperty(property, editorState) {\n const panelId = getSidebarPanelForProperty(property);\n editorState?.setActiveSidebarPanel(panelId);\n requestAnimationFrame(() => {\n const inputId = getInputIdFromProperty(property);\n const input = document.getElementById(inputId);\n if (input) {\n input.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n setTimeout(() => {\n input?.focus?.();\n input?.select?.();\n }, 200);\n }\n });\n}\nfunction getInputIdFromProperty(property) {\n const category = getPropertyCategory(property);\n if (category === \"transform\") {\n return getTransformInputId(property);\n }\n if (category === \"style\") {\n return getStyleInputId(property);\n }\n if (property.startsWith(\"props.\")) {\n return property;\n }\n return property;\n}\nfunction Timeline_property_track($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let { layer, property, pixelsPerSecond, indent = 0, index } = $$props;\n const keyframes = derived(() => layer.keyframes.filter((kf2) => kf2.property === property).sort((a, b) => a.time - b.time));\n const propertyLabel = derived(() => {\n const parts = property.split(\".\");\n if (parts.length === 2) {\n const [parent, child] = parts;\n return `${parent.charAt(0).toUpperCase() + parent.slice(1)} ${child.toUpperCase()}`;\n }\n return property.charAt(0).toUpperCase() + property.slice(1);\n });\n let draggedKeyframeId = null;\n let dragStartX = 0;\n let dragStartTime = 0;\n let hasDragged = false;\n function handleKeyframeDrag(e) {\n if (!draggedKeyframeId) return;\n const deltaX = e.clientX - dragStartX;\n const deltaTime = deltaX / pixelsPerSecond;\n if (Math.abs(deltaX) > 2) {\n hasDragged = true;\n }\n if (projectStore().selectedKeyframeIds.size > 1) {\n projectStore().shiftSelectedKeyframes(deltaTime);\n dragStartX = e.clientX;\n const updatedKeyframe = keyframes().find((kf2) => kf2.id === draggedKeyframeId);\n if (updatedKeyframe) {\n dragStartTime = updatedKeyframe.time;\n }\n } else {\n const newTime = Math.max(0, Math.min(projectStore().state.duration, dragStartTime + deltaTime));\n projectStore().updateKeyframe(layer.id, draggedKeyframeId, { time: newTime });\n dragStartX = e.clientX;\n dragStartTime = newTime;\n }\n }\n function handleKeyframeMouseUp() {\n if (!hasDragged && draggedKeyframeId) {\n const keyframe = keyframes().find((kf2) => kf2.id === draggedKeyframeId);\n if (keyframe) {\n projectStore().setCurrentTime(keyframe.time);\n navigateToProperty(property, editorState());\n }\n }\n draggedKeyframeId = null;\n hasDragged = false;\n window.removeEventListener(\"mousemove\", handleKeyframeDrag);\n window.removeEventListener(\"mouseup\", handleKeyframeMouseUp);\n }\n onDestroy(() => {\n window.removeEventListener(\"mousemove\", handleKeyframeDrag);\n window.removeEventListener(\"mouseup\", handleKeyframeMouseUp);\n });\n const hasSelectedKeyframe = derived(() => keyframes().some((kf2) => projectStore().selectedKeyframeIds.has(kf2.id)));\n $$renderer2.push(`<div${attr_class(clsx(cn(\"flex items-stretch transition-colors hover:bg-muted/10\", { \"border-t\": index === 0 })))}><div data-property-header=\"\" class=\"sticky left-0 z-10 flex w-60 shrink-0 items-center gap-1.5 border-r bg-background px-2 py-1\"${attr_style(\"\", { \"padding-left\": `${stringify(8 + indent * 16)}px` })}><div class=\"flex h-4 w-4 shrink-0 items-center justify-center\">`);\n Circle($$renderer2, {\n class: cn(\"h-2.5 w-2.5\", {\n \"fill-primary text-primary\": hasSelectedKeyframe(),\n \"text-muted-foreground\": !hasSelectedKeyframe()\n })\n });\n $$renderer2.push(`<!----></div> <span class=\"flex-1 truncate text-xs text-muted-foreground\">${escape_html(propertyLabel())}</span> <span class=\"text-[10px] text-muted-foreground/60\">${escape_html(keyframes().length)}</span></div> <div class=\"relative h-6 flex-1\"><!--[-->`);\n const each_array = ensure_array_like(keyframes());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let keyframe = each_array[$$index];\n const position = keyframe.time * pixelsPerSecond;\n const isActive = Math.abs(keyframe.time - projectStore().currentTime) < 0.01;\n const isSelected = projectStore().selectedKeyframeIds.has(keyframe.id);\n if (Tooltip) {\n $$renderer2.push(\"<!--[-->\");\n Tooltip($$renderer2, {\n delayDuration: 0,\n children: ($$renderer3) => {\n {\n let child = function($$renderer4, { props }) {\n $$renderer4.push(`<button${attributes(\n {\n ...props,\n \"data-keyframe\": true,\n \"data-keyframe-id\": keyframe.id,\n class: clsx(cn(\"absolute top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-[3px] transition-transform hover:scale-125 active:scale-110\", {\n \"bg-primary/50\": isActive,\n \"bg-primary\": isSelected,\n \"outline-1\": isSelected || isActive,\n \"outline-primary/80\": isSelected || isActive,\n \"outline-offset-2\": isSelected || isActive,\n \"bg-muted-foreground\": !isSelected && !isActive,\n \"shadow-sm\": isSelected || isActive\n })),\n \"aria-label\": `Keyframe at ${stringify(keyframe.time.toFixed(2))}s`\n },\n void 0,\n void 0,\n { left: `${stringify(position)}px` }\n )}></button>`);\n };\n if (Tooltip_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip_trigger($$renderer3, { child, $$slots: { child: true } });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(` `);\n if (Tooltip_content) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip_content($$renderer3, {\n side: \"top\",\n align: \"center\",\n class: \"text-[10px]\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(keyframe.time.toFixed(2))}s `);\n if (typeof keyframe.value === \"number\") {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<br/> <span class=\"text-muted-foreground\">${escape_html(keyframe.value.toFixed(2))}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]--> `);\n if (keyframes().length > 1) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(keyframes().slice(0, -1));\n for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n let keyframe = each_array_1[i];\n const nextKeyframe = keyframes()[i + 1];\n const startPos = keyframe.time * pixelsPerSecond;\n const endPos = nextKeyframe.time * pixelsPerSecond;\n const width = endPos - startPos;\n $$renderer2.push(`<div class=\"absolute top-1/2 h-px bg-muted-foreground/20\"${attr_style(\"\", {\n left: `${stringify(startPos)}px`,\n width: `${stringify(width)}px`\n })}></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction Timeline_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let {\n layer,\n pixelsPerSecond,\n indent = 0,\n isExpanded,\n onToggleExpanded,\n isDropTarget = false,\n dropPosition = null,\n isDragging = false,\n isChild = false\n } = $$props;\n const isSelected = derived(() => projectStore().selectedLayerId === layer.id);\n let deleteDialogOpen = false;\n function toggleVisibility(e) {\n e.stopPropagation();\n projectStore().updateLayer(layer.id, { visible: !layer.visible });\n }\n function toggleLock(e) {\n e.stopPropagation();\n projectStore().updateLayer(layer.id, { locked: !layer.locked });\n }\n function deleteLayer() {\n projectStore().removeLayer(layer.id);\n deleteDialogOpen = false;\n }\n function unparentLayer() {\n projectStore().removeLayerFromGroup(layer.id);\n deleteDialogOpen = false;\n }\n const enterTime = derived(() => layer.enterTime ?? 0);\n const exitTime = derived(() => layer.exitTime ?? projectStore().state.duration);\n const barLeft = derived(() => enterTime() * pixelsPerSecond);\n const barWidth = derived(() => (exitTime() - enterTime()) * pixelsPerSecond);\n const animatedProperties = derived(() => {\n const props = new SvelteSet();\n for (const kf2 of layer.keyframes) {\n props.add(kf2.property);\n }\n return Array.from(props).sort();\n });\n let isDraggingEnter = false;\n let isDraggingExit = false;\n let isDraggingBar = false;\n let dragStartX = 0;\n let dragStartEnter = 0;\n let dragStartExit = 0;\n function handleDragMove(e) {\n const deltaX = e.clientX - dragStartX;\n const deltaTime = deltaX / pixelsPerSecond;\n if (isDraggingEnter) {\n const newEnter = Math.max(0, Math.min(dragStartEnter + deltaTime, exitTime() - 0.1));\n projectStore().setLayerEnterTime(layer.id, newEnter);\n } else if (isDraggingExit) {\n const newExit = Math.max(enterTime() + 0.1, Math.min(dragStartExit + deltaTime, projectStore().state.duration));\n projectStore().setLayerExitTime(layer.id, newExit);\n } else if (isDraggingBar) {\n const duration = dragStartExit - dragStartEnter;\n let newEnter = dragStartEnter + deltaTime;\n let newExit = dragStartExit + deltaTime;\n if (newEnter < 0) {\n newEnter = 0;\n newExit = duration;\n }\n if (newExit > projectStore().state.duration) {\n newExit = projectStore().state.duration;\n newEnter = newExit - duration;\n }\n projectStore().setLayerTimeRange(layer.id, newEnter, newExit, true);\n }\n }\n function handleDragEnd() {\n isDraggingEnter = false;\n isDraggingExit = false;\n isDraggingBar = false;\n window.removeEventListener(\"mousemove\", handleDragMove);\n window.removeEventListener(\"mouseup\", handleDragEnd);\n }\n onDestroy(() => {\n window.removeEventListener(\"mousemove\", handleDragMove);\n window.removeEventListener(\"mouseup\", handleDragEnd);\n });\n const barColor = derived(() => {\n switch (layer.type) {\n case \"video\":\n return \"bg-purple-500/20 border-purple-500/40\";\n case \"audio\":\n return \"bg-blue-500/20 border-blue-500/40\";\n case \"group\":\n return \"bg-emerald-500/15 border-emerald-500/30\";\n default:\n return \"bg-primary/10 border-primary/20\";\n }\n });\n const hasAnimatedProperties = derived(() => animatedProperties().length > 0);\n const Icon2 = derived(() => getLayerDefinition(layer.type).icon);\n $$renderer2.push(`<div${attr_class(clsx(cn(\"relative border-b transition-opacity\", {\n \"bg-muted/30\": isSelected(),\n \"bg-muted/10\": isChild && !isSelected(),\n \"opacity-40\": isDragging\n })))}${attr(\"data-layer-id\", layer.id)} role=\"listitem\">`);\n if (\n // Only fire leave if we're actually leaving this element, not entering a child\n isDropTarget && dropPosition === \"above\"\n ) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute -top-px right-0 left-0 h-0.5 bg-primary shadow-lg shadow-primary/50\"></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (isDropTarget && dropPosition === \"below\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute right-0 -bottom-px left-0 h-0.5 bg-primary shadow-lg shadow-primary/50\"></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (isDropTarget && dropPosition === \"inside\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute inset-0 rounded bg-primary/10 ring-2 ring-primary/40 ring-inset\"></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"group/layer flex items-stretch transition-colors hover:bg-muted/20\"><div data-layer-header=\"\"${attr_class(clsx(cn(\"sticky left-0 z-10 flex w-60 shrink-0 items-center gap-1 border-r px-1 py-1.5\", isChild ? \"bg-muted/15\" : \"bg-background\")))} draggable=\"true\" role=\"button\" tabindex=\"-1\"${attr_style(\"\", { \"padding-left\": `${stringify(4 + indent * 16)}px` })}><div class=\"flex shrink-0 cursor-grab text-muted-foreground/40 active:cursor-grabbing\">`);\n Grip_vertical($$renderer2, { class: \"size-3.5\" });\n $$renderer2.push(`<!----></div> `);\n if (hasAnimatedProperties()) {\n $$renderer2.push(\"<!--[0-->\");\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"shrink-0\",\n icon: isExpanded ? Chevron_down : Chevron_right,\n onclick: (e) => {\n e.stopPropagation();\n onToggleExpanded();\n },\n \"aria-label\": isExpanded ? \"Collapse layer\" : \"Expand layer\"\n });\n } else if (isContainerLayer(layer.type)) {\n $$renderer2.push(\"<!--[1-->\");\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"shrink-0\",\n icon: isExpanded ? Chevron_down : Chevron_right,\n onclick: (e) => {\n e.stopPropagation();\n onToggleExpanded();\n }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"w-4\"></div>`);\n }\n $$renderer2.push(`<!--]--> `);\n if (Icon2()) {\n $$renderer2.push(\"<!--[-->\");\n Icon2()($$renderer2, { class: \"h-3.5 w-3.5 shrink-0 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` <button class=\"min-w-0 flex-1 cursor-pointer text-left\" tabindex=\"-1\"><div${attr_class(clsx(cn(\"truncate text-xs font-normal\", { \"opacity-30\": !layer.visible, \"font-bold\": isSelected() })))}>${escape_html(layer.name)}</div></button> <div class=\"flex w-0 shrink-0 items-center gap-0.5 overflow-hidden opacity-0 transition-all group-hover/layer:w-[calc-size(auto,size)] group-hover/layer:opacity-100\">`);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-foreground\",\n icon: Copy,\n onclick: (e) => {\n e.stopPropagation();\n projectStore().duplicateLayer(layer.id);\n },\n \"aria-label\": \"Duplicate layer\"\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-foreground\",\n icon: layer.visible ? Eye : Eye_off,\n onclick: toggleVisibility,\n \"aria-label\": layer.visible ? \"Hide layer\" : \"Show layer\"\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-foreground\",\n icon: layer.locked ? Lock : Lock_open,\n onclick: toggleLock,\n \"aria-label\": layer.locked ? \"Unlock layer\" : \"Lock layer\"\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n size: \"icon-xs\",\n variant: \"ghost\",\n class: \"text-muted-foreground hover:text-destructive\",\n icon: Trash_2,\n onclick: (e) => {\n e.stopPropagation();\n deleteDialogOpen = true;\n },\n \"aria-label\": \"Delete layer\"\n });\n $$renderer2.push(`<!----></div></div> <div class=\"relative h-10 flex-1\"><div${attr_class(`absolute top-1.5 bottom-1.5 rounded border ${stringify(barColor())} transition-colors`)} role=\"button\" tabindex=\"-1\"${attr_style(\"\", {\n left: `${stringify(barLeft())}px`,\n width: `${stringify(barWidth())}px`,\n cursor: isDraggingBar ? \"grabbing\" : \"grab\"\n })}><div class=\"absolute inset-y-0 left-0 w-1 cursor-col-resize rounded-l bg-white/20 transition-colors hover:bg-white/40\" role=\"button\" tabindex=\"-1\"></div> <div class=\"absolute inset-y-0 right-0 w-1 cursor-col-resize rounded-r bg-white/20 transition-colors hover:bg-white/40\" role=\"button\" tabindex=\"-1\"></div></div></div></div> `);\n if (isExpanded && hasAnimatedProperties()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(animatedProperties());\n for (let index = 0, $$length = each_array.length; index < $$length; index++) {\n let property = each_array[index];\n Timeline_property_track($$renderer2, { layer, property, pixelsPerSecond, indent: indent + 1, index });\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n if (Alert_dialog) {\n $$renderer2.push(\"<!--[-->\");\n Alert_dialog($$renderer2, {\n open: deleteDialogOpen,\n onOpenChange: (open) => {\n deleteDialogOpen = open;\n },\n children: ($$renderer3) => {\n if (Alert_dialog_content) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog_content($$renderer3, {\n children: ($$renderer4) => {\n if (Alert_dialog_header) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_header($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_title) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_title($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Delete ${escape_html(isContainerLayer(layer.type) ? \"Container\" : \"Layer\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_description) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_description($$renderer5, {\n children: ($$renderer6) => {\n if (isChild) {\n $$renderer6.push(\"<!--[0-->\");\n $$renderer6.push(`Remove \"${escape_html(layer.name)}\" from group, or delete it entirely?`);\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n $$renderer6.push(`Delete \"${escape_html(layer.name)}\"${escape_html(isContainerLayer(layer.type) ? \" and all its children\" : \"\")}? This\n action cannot be undone.`);\n }\n $$renderer6.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Alert_dialog_footer) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_footer($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_cancel) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_cancel($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (isChild) {\n $$renderer5.push(\"<!--[0-->\");\n Button($$renderer5, {\n variant: \"secondary\",\n onclick: unparentLayer,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Unparent`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (Alert_dialog_action) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_action($$renderer5, {\n onclick: deleteLayer,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Delete`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Timeline_layer_tree($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let {\n layer,\n layerIndex,\n pixelsPerSecond,\n depth = 0,\n expandedLayers,\n onToggleExpanded,\n dropTargetId,\n dropPosition,\n draggedLayerId,\n onDragStart,\n onDragOver,\n onDragLeave,\n onDrop,\n onDragEnd\n } = $$props;\n const isExpanded = derived(() => expandedLayers.has(layer.id));\n const children = derived(() => projectStore().state.layers.filter((l) => l.parentId === layer.id));\n const hasChildren = derived(() => isContainerLayer(layer.type) && isExpanded() && children().length > 0);\n Timeline_layer($$renderer2, {\n layer,\n pixelsPerSecond,\n indent: depth,\n isExpanded: isExpanded(),\n onToggleExpanded: () => onToggleExpanded(layer.id),\n isDropTarget: dropTargetId === layer.id,\n dropPosition,\n isDragging: draggedLayerId === layer.id,\n isChild: depth > 0\n });\n $$renderer2.push(`<!----> `);\n if (hasChildren()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"border-l-2 border-emerald-500/30\"${attr_style(\"\", { \"margin-left\": `${stringify(depth * 8)}px` })}><!--[-->`);\n const each_array = ensure_array_like(children());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let child = each_array[$$index];\n const childIndex = projectStore().state.layers.indexOf(child);\n Timeline_layer_tree($$renderer2, {\n layer: child,\n layerIndex: childIndex,\n pixelsPerSecond,\n depth: depth + 1,\n expandedLayers,\n onToggleExpanded,\n dropTargetId,\n dropPosition,\n draggedLayerId,\n onDragStart,\n onDragOver,\n onDragLeave,\n onDrop,\n onDragEnd\n });\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Timeline_playhead($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { currentTime, pixelsPerSecond } = $$props;\n const position = derived(() => currentTime * pixelsPerSecond + 240);\n $$renderer2.push(`<div class=\"pointer-events-none absolute top-11 bottom-0 w-0.5\"${attr_style(`left: ${stringify(position())}px; background: linear-gradient(180deg, rgb(200 60 60) 0%, rgb(200 60 60 / 0.8) 100%); box-shadow: 0 0 4px rgb(200 60 60 / 0.5)`)}><div class=\"pointer-events-auto absolute -top-1 left-1/2 h-4 w-4 -translate-x-1/2 cursor-grab transition-transform hover:scale-110 active:scale-95 active:cursor-grabbing\" role=\"button\" tabindex=\"-1\"><svg viewBox=\"0 0 16 16\" class=\"h-full w-full\"><defs><filter id=\"playhead-shadow\"><feDropShadow dx=\"0\" dy=\"1\" stdDeviation=\"1\" flood-color=\"rgb(127 29 29)\" flood-opacity=\"0.3\"></feDropShadow></filter></defs><path d=\"M 1 1 L 15 1 L 8 9 Z\" fill=\"rgb(200 60 60)\" filter=\"url(#playhead-shadow)\"></path></svg></div></div>`);\n });\n}\nconst MIN_PIXELS_PER_SECOND = 5;\nconst MAX_PIXELS_PER_SECOND = 500;\nfunction Timeline($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let scrollContainer = null;\n let { pixelsPerSecond = 100 } = $$props;\n const expandedLayers = new SvelteSet();\n const expandableLayers = derived(() => projectStore().state.layers.filter((l) => isContainerLayer(l.type) || l.keyframes.length > 0));\n const allExpanded = derived(() => expandableLayers().length > 0 && expandableLayers().every((layer) => expandedLayers.has(layer.id)));\n let dropTargetId = null;\n let dropPosition = null;\n let draggedLayerId = null;\n function handleLayerDragStart(e, layerId, index) {\n e.dataTransfer.effectAllowed = \"move\";\n e.dataTransfer.setData(\"text/plain\", index.toString());\n e.dataTransfer.setData(\"application/layer-id\", layerId);\n draggedLayerId = layerId;\n }\n function handleLayerDragOver(e, targetId, targetElement) {\n e.preventDefault();\n if (!e.dataTransfer?.types.includes(\"application/layer-id\")) return;\n if (targetId === draggedLayerId) {\n dropTargetId = null;\n dropPosition = null;\n return;\n }\n e.dataTransfer.dropEffect = \"move\";\n dropTargetId = targetId;\n const rect = targetElement.getBoundingClientRect();\n const y = e.clientY - rect.top;\n const height = rect.height;\n const targetLayer = projectStore().state.layers.find((l) => l.id === targetId);\n if (targetLayer && isContainerLayer(targetLayer.type)) {\n const dragId = draggedLayerId ?? e.dataTransfer?.getData(\"application/layer-id\");\n const descendants = dragId ? projectStore().getDescendantIds(dragId) : [];\n const canNest = !descendants.includes(targetId);\n if (y < height * 0.2) {\n dropPosition = \"above\";\n } else if (y > height * 0.8) {\n dropPosition = canNest ? \"inside\" : \"below\";\n } else {\n dropPosition = canNest ? \"inside\" : \"above\";\n }\n } else {\n dropPosition = y < height / 2 ? \"above\" : \"below\";\n }\n }\n function handleLayerDragLeave() {\n dropTargetId = null;\n dropPosition = null;\n }\n function handleLayerDrop(e, dropIndex, targetLayerId) {\n e.preventDefault();\n const targetDropPosition = dropPosition;\n dropTargetId = null;\n dropPosition = null;\n draggedLayerId = null;\n const dragLayerId = e.dataTransfer.getData(\"application/layer-id\");\n if (!dragLayerId || dragLayerId === targetLayerId) return;\n const dragLayer = projectStore().state.layers.find((l) => l.id === dragLayerId);\n const targetLayer = projectStore().state.layers.find((l) => l.id === targetLayerId);\n if (!dragLayer || !targetLayer) return;\n if (isContainerLayer(targetLayer.type) && targetDropPosition === \"inside\") {\n projectStore().addLayerToGroup(dragLayerId, targetLayerId);\n expandedLayers.add(targetLayerId);\n return;\n }\n const targetParentId = targetLayer.parentId;\n const dragParentId = dragLayer.parentId;\n if (dragParentId !== targetParentId) {\n if (targetParentId) {\n projectStore().addLayerToGroup(dragLayerId, targetParentId);\n } else {\n projectStore().removeLayerFromGroup(dragLayerId, { preserveGroup: true });\n }\n }\n const layers = projectStore().state.layers;\n const newDragIndex = layers.findIndex((l) => l.id === dragLayerId);\n const newDropIndex = layers.findIndex((l) => l.id === targetLayerId);\n if (newDragIndex === -1 || newDropIndex === -1) return;\n let finalDropIndex = newDropIndex;\n if (targetDropPosition === \"below\") {\n if (isContainerLayer(targetLayer.type)) {\n const descendants = new Set(projectStore().getDescendantIds(targetLayerId));\n let i = newDropIndex + 1;\n while (i < layers.length && descendants.has(layers[i].id)) {\n i++;\n }\n finalDropIndex = i;\n } else {\n finalDropIndex = newDropIndex + 1;\n }\n }\n if (newDragIndex !== finalDropIndex && newDragIndex !== finalDropIndex - 1) {\n projectStore().reorderLayers(newDragIndex, finalDropIndex > newDragIndex ? finalDropIndex - 1 : finalDropIndex);\n }\n }\n function handleDragEnd() {\n dropTargetId = null;\n dropPosition = null;\n draggedLayerId = null;\n }\n function toggleLayerExpanded(layerId) {\n if (expandedLayers.has(layerId)) {\n expandedLayers.delete(layerId);\n } else {\n expandedLayers.add(layerId);\n }\n }\n function toggleAllLayers() {\n if (allExpanded()) {\n expandedLayers.clear();\n } else {\n for (const layer of projectStore().state.layers) {\n expandedLayers.add(layer.id);\n }\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full flex-col overflow-hidden\">`);\n Scroll_area($$renderer3, {\n class: \"h-full\",\n orientation: \"both\",\n get ref() {\n return scrollContainer;\n },\n set ref($$value) {\n scrollContainer = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"relative min-h-full select-none\"${attr_style(`min-width: ${stringify(projectStore().state.duration * pixelsPerSecond + 240)}px`)} role=\"button\" tabindex=\"0\"><div class=\"sticky top-0 z-20 border-b bg-background\">`);\n Timeline_ruler($$renderer4, {\n pixelsPerSecond,\n duration: projectStore().state.duration,\n allExpanded: allExpanded(),\n onToggleAll: toggleAllLayers\n });\n $$renderer4.push(`<!----></div> <div class=\"relative\"><!--[-->`);\n const each_array = ensure_array_like(projectStore().state.layers.filter((l) => !l.parentId));\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let layer = each_array[$$index];\n const layerIndex = projectStore().state.layers.indexOf(layer);\n Timeline_layer_tree($$renderer4, {\n layer,\n layerIndex,\n pixelsPerSecond,\n depth: 0,\n expandedLayers,\n onToggleExpanded: toggleLayerExpanded,\n dropTargetId,\n dropPosition,\n draggedLayerId,\n onDragStart: handleLayerDragStart,\n onDragOver: handleLayerDragOver,\n onDragLeave: handleLayerDragLeave,\n onDrop: handleLayerDrop,\n onDragEnd: handleDragEnd\n });\n }\n $$renderer4.push(`<!--]--> `);\n if (projectStore().state.layers.length === 0) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex h-32 items-center justify-center text-sm text-muted-foreground\">No layers yet. Add a layer to start animating.</div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div> `);\n Timeline_playhead($$renderer4, {\n currentTime: projectStore().currentTime,\n pixelsPerSecond\n });\n $$renderer4.push(`<!----> `);\n {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { pixelsPerSecond });\n });\n}\nfunction Timeline_toolbar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n pixelsPerSecond = void 0,\n minPixelsPerSecond,\n maxPixelsPerSecond\n } = $$props;\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function formatTimeCompact(seconds) {\n const mins = Math.floor(seconds / 60);\n const secs = Math.floor(seconds % 60);\n return `${mins}:${secs.toString().padStart(2, \"0\")}`;\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-1 items-center gap-2\"><div class=\"flex-1\"></div> <div class=\"flex items-center gap-0.5\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n icon: Skip_back,\n onclick: () => projectStore().setCurrentTime(0),\n title: \"Go to start\"\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n onclick: () => {\n if (projectStore().isPlaying) {\n projectStore().pause();\n } else {\n projectStore().play();\n }\n },\n title: projectStore().isPlaying ? \"Pause\" : \"Play\",\n children: ($$renderer4) => {\n if (projectStore().isPlaying) {\n $$renderer4.push(\"<!--[0-->\");\n Pause($$renderer4, { class: \"size-4\" });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Play($$renderer4, { class: \"size-4\" });\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n icon: Skip_forward,\n onclick: () => projectStore().setCurrentTime(projectStore().state.duration),\n title: \"Go to end\"\n });\n $$renderer3.push(`<!----></div> <div class=\"flex-1\"></div> `);\n Slider($$renderer3, {\n type: \"single\",\n min: minPixelsPerSecond,\n max: maxPixelsPerSecond,\n step: 1,\n class: \"w-20\",\n get value() {\n return pixelsPerSecond;\n },\n set value($$value) {\n pixelsPerSecond = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n Separator($$renderer3, { orientation: \"vertical\", class: \"h-4\" });\n $$renderer3.push(`<!----> <span class=\"font-mono text-[11px] text-muted-foreground tabular-nums\">${escape_html(formatTimeCompact(projectStore().currentTime))} / ${escape_html(formatTimeCompact(projectStore().state.duration))}</span></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { pixelsPerSecond });\n });\n}\nfunction Panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n title,\n icon,\n actionsComponent,\n actionsSnippet,\n content,\n headerExtra,\n disableScroll = false,\n collapsible = false,\n isOpen = false,\n onToggle,\n topOffset = \"0\",\n zIndex = 0,\n scrollRef = null,\n class: className = \"\",\n scrollAreaClass = \"\"\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (collapsible) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div${attr_class(clsx(cn(\"sticky bg-background\", className)))}${attr_style(`top: ${stringify(topOffset)}; z-index: ${stringify(zIndex)};`)}><button class=\"flex w-full items-center justify-between border-t border-b bg-muted/80 p-4 font-medium backdrop-blur-sm transition-colors hover:bg-muted\"><div class=\"flex items-center gap-2\">`);\n if (icon) {\n $$renderer3.push(\"<!--[0-->\");\n const Icon2 = icon;\n if (Icon2) {\n $$renderer3.push(\"<!--[-->\");\n Icon2($$renderer3, { class: \"size-4\" });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> ${escape_html(title)} `);\n if (actionsComponent) {\n $$renderer3.push(\"<!--[0-->\");\n const Actions = actionsComponent;\n if (Actions) {\n $$renderer3.push(\"<!--[-->\");\n Actions($$renderer3, {});\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else if (actionsSnippet) {\n $$renderer3.push(\"<!--[1-->\");\n actionsSnippet($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n Chevron_down($$renderer3, {\n class: cn(\"size-4 transition-transform duration-200\", { \"rotate-180\": isOpen })\n });\n $$renderer3.push(`<!----></button> `);\n if (isOpen) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"overflow-y-auto border-b bg-background\" style=\"max-height: calc(60vh - 60px - 52px);\">`);\n content($$renderer3);\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div${attr_class(clsx(cn(\"flex h-full flex-col bg-background\", className)))}><div class=\"flex items-center justify-between border-b bg-muted/50 px-4 py-3\"><div class=\"flex items-center gap-2\">`);\n if (icon) {\n $$renderer3.push(\"<!--[0-->\");\n const Icon2 = icon;\n if (Icon2) {\n $$renderer3.push(\"<!--[-->\");\n Icon2($$renderer3, { class: \"size-4 text-muted-foreground\" });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <h2 class=\"text-sm font-semibold\">${escape_html(title)}</h2> `);\n if (headerExtra) {\n $$renderer3.push(\"<!--[0-->\");\n headerExtra($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n if (actionsComponent) {\n $$renderer3.push(\"<!--[0-->\");\n const Actions = actionsComponent;\n if (Actions) {\n $$renderer3.push(\"<!--[-->\");\n Actions($$renderer3, {});\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else if (actionsSnippet) {\n $$renderer3.push(\"<!--[1-->\");\n actionsSnippet($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n if (disableScroll) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex-1 overflow-hidden\">`);\n content($$renderer3);\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Scroll_area($$renderer3, {\n class: cn(\"flex-1\"),\n viewportClass: scrollAreaClass,\n get ref() {\n return scrollRef;\n },\n set ref($$value) {\n scrollRef = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n content($$renderer4);\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { isOpen, scrollRef });\n });\n}\nfunction Editor_sidebar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { panels, activePanel, onPanelChange, scrollRef = null } = $$props;\n const currentPanel = derived(() => panels.find((p) => p.id === activePanel));\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full\"><div class=\"flex w-20 shrink-0 flex-col items-center gap-1 border-l bg-muted/30 px-2 py-2\"><!--[-->`);\n const each_array = ensure_array_like(panels);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let panel = each_array[$$index];\n const isActive = activePanel === panel.id;\n const Icon2 = panel.icon;\n $$renderer3.push(`<button${attr_class(`relative flex w-full flex-col items-center gap-1 rounded-md px-1 py-1.5 transition-colors ${stringify(isActive ? \"bg-primary text-primary-foreground\" : \"text-muted-foreground hover:bg-accent hover:text-accent-foreground\")}`)}${attr(\"data-onboarding\", panel.id)}><div class=\"relative\">`);\n if (Icon2) {\n $$renderer3.push(\"<!--[-->\");\n Icon2($$renderer3, { class: \"size-4\" });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (panel.badge) {\n $$renderer3.push(\"<!--[0-->\");\n panel.badge($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <span class=\"text-[10px] leading-none\">${escape_html(panel.label)}</span></button>`);\n }\n $$renderer3.push(`<!--]--></div> `);\n if (currentPanel()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex min-w-0 flex-1 flex-col border-l\"><div class=\"flex h-10 shrink-0 items-center justify-between border-b px-3\"><span class=\"text-sm font-medium\">${escape_html(currentPanel().label)}</span> `);\n if (currentPanel().actions) {\n $$renderer3.push(\"<!--[0-->\");\n currentPanel().actions($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n Scroll_area($$renderer3, {\n class: \"flex-1\",\n get ref() {\n return scrollRef;\n },\n set ref($$value) {\n scrollRef = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(panels.filter((p) => p.keepMounted));\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let panel = each_array_1[$$index_1];\n $$renderer4.push(`<div${attr_class(\"contents\", void 0, { \"hidden\": panel.id !== activePanel })}>`);\n panel.content($$renderer4);\n $$renderer4.push(`<!----></div>`);\n }\n $$renderer4.push(`<!--]--> `);\n if (currentPanel() && !currentPanel().keepMounted) {\n $$renderer4.push(\"<!--[0-->\");\n currentPanel().content($$renderer4);\n $$renderer4.push(`<!---->`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { scrollRef });\n });\n}\nfunction Animation_preset_select($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { value, onChange } = $$props;\n const options = animationPresets;\n let originalValue = \"\";\n let isOpen = false;\n let wasSelected = false;\n const selectedPreset = derived(() => options.find((opt) => opt.id === value));\n const categoryLabels = { enter: \"Enter\", exit: \"Exit\", generic: \"Generic\" };\n const groupedPresets = derived(() => {\n const groups = new SvelteMap();\n for (const preset of options) {\n const category = preset.category;\n if (!groups.has(category)) groups.set(category, []);\n groups.get(category).push(preset);\n }\n return groups;\n });\n function handleOpenChange(open) {\n isOpen = open;\n if (open) {\n originalValue = value;\n wasSelected = false;\n } else {\n if (!wasSelected) {\n onChange(originalValue);\n }\n wasSelected = false;\n }\n }\n function handleHover(presetId) {\n if (!isOpen) return;\n onChange(presetId);\n }\n function handleLeave() {\n if (!isOpen) return;\n onChange(originalValue);\n }\n function handleClick(presetId) {\n wasSelected = true;\n originalValue = presetId;\n onChange(presetId);\n }\n if (Select_root) {\n $$renderer2.push(\"<!--[-->\");\n Select_root($$renderer2, {\n type: \"single\",\n value,\n onOpenChange: handleOpenChange,\n children: ($$renderer3) => {\n if (Select_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Select_trigger($$renderer3, {\n class: \"w-full flex-1\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(selectedPreset()?.name ?? \"Select animation\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Select_content) {\n $$renderer3.push(\"<!--[-->\");\n Select_content($$renderer3, {\n class: \"max-h-[calc(50vh)] w-64 p-0\",\n onmouseleave: handleLeave,\n side: \"left\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array = ensure_array_like([...groupedPresets().entries()]);\n for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n let [category, presets] = each_array[$$index_1];\n if (presets.length > 0) {\n $$renderer4.push(\"<!--[0-->\");\n if (Select_group) {\n $$renderer4.push(\"<!--[-->\");\n Select_group($$renderer4, {\n children: ($$renderer5) => {\n if (Select_label) {\n $$renderer5.push(\"<!--[-->\");\n Select_label($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(categoryLabels[category])}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` <!--[-->`);\n const each_array_1 = ensure_array_like(presets);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let preset = each_array_1[$$index];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: preset.id,\n onmouseenter: () => handleHover(preset.id),\n onclick: () => handleClick(preset.id),\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(preset.name)}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Scaled_canvas($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n layers,\n currentTime,\n projectDuration,\n viewportSize,\n project,\n isPlaying = false,\n overlay\n /** Optional snippet rendered on top of the canvas (progress bar, hints, etc.) */\n } = $$props;\n const containerHeight = derived(() => 0);\n $$renderer2.push(`<div class=\"relative w-full overflow-hidden bg-black\"${attr_style(\"\", { height: `${stringify(containerHeight())}px` })}>`);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (overlay) {\n $$renderer2.push(\"<!--[0-->\");\n overlay($$renderer2);\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction Time_range_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { layer } = $$props;\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let selectedPresetId = derived(() => \"\");\n let presetDuration = derived(() => 1);\n let presetParams = {};\n let previewTime = 0;\n const activePreset = derived(() => selectedPresetId() ? getPresetById(selectedPresetId()) : void 0);\n const previewViewport = derived(() => ({\n width: projectStore().state.width,\n height: projectStore().state.height\n }));\n const previewLayer = derived(() => {\n const base = {\n ...layer,\n enterTime: 0,\n exitTime: presetDuration() * 2,\n keyframes: []\n };\n if (!activePreset()) return base;\n return {\n ...base,\n keyframes: activePreset().build({ ...activePreset().defaults, ...presetParams }).map((kf2) => ({\n id: crypto.randomUUID(),\n time: kf2.time * presetDuration(),\n // seconds\n property: kf2.property,\n value: kf2.value,\n interpolation: kf2.interpolation\n }))\n };\n });\n const previewTimeSec = derived(() => previewTime * presetDuration());\n const selectedPreset = derived(() => selectedPresetId() ? getPresetById(selectedPresetId()) : void 0);\n function applyTimePreset(position = \"current\") {\n if (!selectedPresetId()) return;\n let startTime;\n switch (position) {\n case \"start\":\n startTime = layer.enterTime ?? 0;\n break;\n case \"end\":\n startTime = (layer.exitTime ?? projectStore().state.duration) - presetDuration();\n break;\n default:\n startTime = projectStore().currentTime;\n }\n projectStore().applyPreset(layer.id, selectedPresetId(), startTime, presetDuration(), presetParams);\n selectedPresetId(\"\");\n presetDuration(1);\n presetParams = {};\n }\n Inputs_wrapper($$renderer2, {\n fields: [\n { for: `enter-time-${layer.id}`, labels: \"Enter (s)\" },\n { for: `exit-time-${layer.id}`, labels: \"Exit (s)\" }\n ],\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: `enter-time-${layer.id}`,\n value: layer.enterTime ?? 0,\n min: Math.max(0, (layer.exitTime ?? projectStore().state.duration) - (layer.contentDuration ?? 0)),\n max: layer.contentDuration !== void 0 ? Math.min(projectStore().state.duration, projectStore().state.duration - (layer.contentDuration - (layer.contentOffset ?? 0))) : projectStore().state.duration,\n step: 0.1,\n onchange: (v) => projectStore().setLayerEnterTime(layer.id, v),\n postFix: \"s\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: `exit-time-${layer.id}`,\n value: layer.exitTime ?? projectStore().state.duration,\n min: 0,\n max: Math.min(projectStore().state.duration, (layer.enterTime ?? 0) + (layer.contentDuration ?? 0)),\n step: 0.1,\n onchange: (v) => projectStore().setLayerExitTime(layer.id, v),\n postFix: \"s\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n $$renderer2.push(`<!----> `);\n if (layer.type === \"video\" || layer.type === \"audio\") {\n $$renderer2.push(\"<!--[0-->\");\n const contentDuration = layer.contentDuration ?? 0;\n const contentOffset = layer.contentOffset ?? 0;\n const hasDuration = contentDuration > 0;\n {\n let labelExtra = function($$renderer3) {\n if (hasDuration) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span class=\"text-[10px] text-muted-foreground/60\">Duration: ${escape_html(contentDuration.toFixed(1))}s</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Input_wrapper($$renderer2, {\n for: \"content-offset\",\n label: \"Start offset (s)\",\n labelExtra,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"content-offset\",\n value: contentOffset,\n min: 0,\n max: hasDuration ? contentDuration - 0.1 : void 0,\n step: 0.1,\n onchange: (v) => {\n const clamped = hasDuration ? Math.min(v, contentDuration - 0.1) : Math.max(0, v);\n projectStore().updateLayer(layer.id, { contentOffset: clamped });\n if (hasDuration && layer.exitTime !== void 0) {\n const enterTime = layer.enterTime ?? 0;\n const maxVisibleDuration = contentDuration - clamped;\n const maxExitTime = enterTime + maxVisibleDuration;\n if (layer.exitTime > maxExitTime) {\n projectStore().setLayerExitTime(layer.id, maxExitTime);\n }\n }\n },\n postFix: \"s\"\n });\n $$renderer3.push(`<!----> <p class=\"text-[10px] text-muted-foreground/70\">Where to start playing in the source media</p> `);\n if (!hasDuration && layer.props.src) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-[10px] text-muted-foreground/70\">Upload a new file to detect duration</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: () => projectStore().splitLayer(layer.id),\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Split at Playhead`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n let overlay = function($$renderer3) {\n if (activePreset()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"absolute bottom-0 left-0 h-0.5 w-full bg-white/10\"><div class=\"h-full bg-primary\"${attr_style(\"\", { width: `${stringify(previewTime * 100)}%` })}></div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"absolute inset-0 flex items-center justify-center bg-black/60 backdrop-blur-sm\"><p class=\"text-[10px] text-muted-foreground/70\">Select an animation to preview</p></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Scaled_canvas($$renderer2, {\n layers: [previewLayer()],\n currentTime: previewTimeSec(),\n projectDuration: presetDuration(),\n viewportSize: previewViewport(),\n isPlaying: !!activePreset(),\n project: projectStore().state,\n overlay\n });\n }\n $$renderer2.push(`<!----> `);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Apply Animation`);\n },\n $$slots: { default: true }\n });\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { for: \"animation-preset\", labels: \"Animation\" },\n { for: \"preset-duration\", labels: \"Duration\" }\n ],\n prefix,\n children: ($$renderer3) => {\n Animation_preset_select($$renderer3, {\n value: selectedPresetId(),\n onChange: (v) => {\n selectedPresetId(v);\n presetParams = { ...getPresetById(v)?.defaults };\n }\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"preset-duration\",\n value: presetDuration(),\n min: 0.1,\n step: 0.1,\n onchange: (v) => presetDuration(v),\n postFix: \"s\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n Inputs_wrapper($$renderer2, {\n fields: [\n ...selectedPreset()?.params?.includes(\"distance\") ? [{ for: \"preset-distance\", labels: \"Distance\" }] : [],\n ...selectedPreset()?.params?.includes(\"intensity\") ? [{ for: \"preset-intensity\", labels: \"Intensity\" }] : [],\n ...selectedPreset()?.params?.includes(\"fromScale\") ? [{ for: \"preset-from-scale\", labels: \"From Scale\" }] : []\n ],\n children: ($$renderer3) => {\n if (selectedPreset()?.params?.includes(\"distance\")) {\n $$renderer3.push(\"<!--[0-->\");\n Scrub_input($$renderer3, {\n id: \"preset-distance\",\n value: presetParams.distance ?? selectedPreset().defaults?.distance ?? 0,\n min: 1,\n step: 1,\n onchange: (v) => presetParams = { ...presetParams, distance: v },\n postFix: \"px\"\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (selectedPreset()?.params?.includes(\"intensity\")) {\n $$renderer3.push(\"<!--[0-->\");\n Scrub_input($$renderer3, {\n id: \"preset-intensity\",\n value: presetParams.intensity ?? selectedPreset().defaults?.intensity ?? 1,\n min: 0.1,\n max: 5,\n step: 0.1,\n onchange: (v) => presetParams = { ...presetParams, intensity: v }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (selectedPreset()?.params?.includes(\"fromScale\")) {\n $$renderer3.push(\"<!--[0-->\");\n Scrub_input($$renderer3, {\n id: \"preset-from-scale\",\n value: presetParams.fromScale ?? selectedPreset().defaults?.fromScale ?? 0,\n min: 0,\n max: 5,\n step: 0.1,\n onchange: (v) => presetParams = { ...presetParams, fromScale: v }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n $$renderer2.push(`<!----> `);\n if (Button_group) {\n $$renderer2.push(\"<!--[-->\");\n Button_group($$renderer2, {\n class: \"w-full\",\n children: ($$renderer3) => {\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: () => applyTimePreset(\"current\"),\n disabled: !selectedPresetId(),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->At Playhead`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: () => applyTimePreset(\"start\"),\n disabled: !selectedPresetId(),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->At Start`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: () => applyTimePreset(\"end\"),\n disabled: !selectedPresetId(),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->At End`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction Scrub_xyz($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n valueX,\n valueY,\n valueZ,\n stepXY = 1,\n stepZ = 1,\n invertY = false,\n onchangeX,\n onchangeY,\n onchangeZ\n } = $$props;\n let isDragging = false;\n $$renderer2.push(`<button type=\"button\"${attr_class(\n clsx(cn(\"scrub-xyz flex items-center justify-center rounded p-1 transition-colors select-none\", {\n \"bg-primary/20 text-primary\": isDragging,\n \"hover:bg-muted/50\": !isDragging\n })),\n \"svelte-1ygae4v\"\n )} title=\"Drag: X/Y, Cmd/Ctrl+drag: Z, Shift: fine, Alt: coarse\">`);\n Move_3d($$renderer2, {\n class: cn(\"size-3.5 opacity-50 transition-opacity hover:opacity-80\", { \"opacity-100\": isDragging })\n });\n $$renderer2.push(`<!----></button>`);\n });\n}\nfunction Anchor_point_picker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { id, label, value, onchange } = $$props;\n const options = [\n { value: \"top-left\", label: \"Top Left\", icon: Arrow_up_left },\n { value: \"top-center\", label: \"Top Center\", icon: Arrow_up },\n { value: \"top-right\", label: \"Top Right\", icon: Arrow_up_right },\n { value: \"center-left\", label: \"Center Left\", icon: Arrow_left },\n { value: \"center\", label: \"Center\", icon: Locate },\n {\n value: \"center-right\",\n label: \"Center Right\",\n icon: Arrow_right\n },\n {\n value: \"bottom-left\",\n label: \"Bottom Left\",\n icon: Arrow_down_left\n },\n {\n value: \"bottom-center\",\n label: \"Bottom Center\",\n icon: Arrow_down\n },\n {\n value: \"bottom-right\",\n label: \"Bottom Right\",\n icon: Arrow_down_right\n }\n ];\n const currentLabel = derived(() => options.find((o) => o.value === value)?.label ?? \"Center\");\n Input_wrapper($$renderer2, {\n for: id,\n label,\n children: ($$renderer3) => {\n if (Root) {\n $$renderer3.push(\"<!--[-->\");\n Root($$renderer3, {\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n { variant: \"outline\", class: \"w-full justify-between\" },\n props,\n {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(currentLabel())} `);\n Chevron_down($$renderer6, { class: \"ml-2 h-4 w-4 opacity-50\" });\n $$renderer6.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Dropdown_menu_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Dropdown_menu_content) {\n $$renderer4.push(\"<!--[-->\");\n Dropdown_menu_content($$renderer4, {\n class: \"w-56\",\n align: \"end\",\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"grid grid-cols-3 gap-0\"><!--[-->`);\n const each_array = ensure_array_like(options);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let option = each_array[$$index];\n const isSelected = value === option.value;\n const Icon2 = option.icon;\n {\n let child = function($$renderer6, { props }) {\n Button($$renderer6, spread_props([\n { variant: isSelected ? \"outline\" : \"ghost\", icon: Icon2 },\n props\n ]));\n };\n if (Dropdown_menu_item) {\n $$renderer5.push(\"<!--[-->\");\n Dropdown_menu_item($$renderer5, {\n onclick: () => onchange(option.value),\n child,\n $$slots: { child: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n }\n $$renderer5.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n });\n });\n}\nfunction Transform_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { layer, currentValues, updateProperty, addKeyframe } = $$props;\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n function updateTransformField(field, value) {\n projectStore().updateLayer(layer.id, { transform: { ...layer.transform, [field]: value } });\n }\n const scaleLocked = derived(() => layer.props._scaleLocked ?? false);\n const currentScaleX = derived(() => currentValues?.transform.scale.x ?? 1);\n const currentScaleY = derived(() => currentValues?.transform.scale.y ?? 1);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Position`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Scrub_xyz($$renderer3, {\n valueX: currentValues?.transform.position.x ?? 0,\n valueY: currentValues?.transform.position.y ?? 0,\n valueZ: currentValues?.transform.position.z ?? 0,\n stepXY: 1,\n stepZ: 1,\n onchangeX: (v) => updateProperty(\"position.x\", v, \"transform\"),\n onchangeY: (v) => updateProperty(\"position.y\", v, \"transform\"),\n onchangeZ: (v) => updateProperty(\"position.z\", v, \"transform\")\n });\n $$renderer3.push(`<!---->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { prop: \"position.x\", label: \"X\", id: \"transform.position.x\" },\n { prop: \"position.y\", label: \"Y\", id: \"transform.position.y\" },\n { prop: \"position.z\", label: \"Z\", id: \"transform.position.z\" }\n ].map((f) => ({\n for: f.id,\n labels: f.label,\n property: f.prop,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === f.prop)\n })),\n prefix,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"transform.position.x\",\n value: currentValues?.transform.position.x ?? 0,\n onchange: (v) => updateProperty(\"position.x\", v, \"transform\"),\n postFix: \"%\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.position.y\",\n value: currentValues?.transform.position.y ?? 0,\n onchange: (v) => updateProperty(\"position.y\", v, \"transform\"),\n postFix: \"%\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.position.z\",\n value: currentValues?.transform.position.z ?? 0,\n onchange: (v) => updateProperty(\"position.z\", v, \"transform\"),\n postFix: \"%\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Rotation`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Scrub_xyz($$renderer3, {\n valueX: currentValues?.transform.rotation.y ?? 0,\n valueY: currentValues?.transform.rotation.x ?? 0,\n valueZ: currentValues?.transform.rotation.z ?? 0,\n stepXY: 0.1,\n stepZ: 0.1,\n invertY: true,\n onchangeX: (v) => updateProperty(\"rotation.y\", v, \"transform\"),\n onchangeY: (v) => updateProperty(\"rotation.x\", v, \"transform\"),\n onchangeZ: (v) => updateProperty(\"rotation.z\", v, \"transform\")\n });\n $$renderer3.push(`<!---->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { prop: \"rotation.x\", label: \"X\", id: \"transform.rotation.x\" },\n { prop: \"rotation.y\", label: \"Y\", id: \"transform.rotation.y\" },\n { prop: \"rotation.z\", label: \"Z\", id: \"transform.rotation.z\" }\n ].map((f) => ({\n for: f.id,\n labels: f.label,\n property: f.prop,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === f.prop)\n })),\n prefix,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"transform.rotation.x\",\n value: currentValues?.transform.rotation.x ?? 0,\n step: 0.05,\n onchange: (v) => updateProperty(\"rotation.x\", v, \"transform\"),\n postFix: \"deg\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.rotation.y\",\n value: currentValues?.transform.rotation.y ?? 0,\n step: 0.05,\n onchange: (v) => updateProperty(\"rotation.y\", v, \"transform\"),\n postFix: \"deg\"\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.rotation.z\",\n value: currentValues?.transform.rotation.z ?? 0,\n step: 0.05,\n onchange: (v) => updateProperty(\"rotation.z\", v, \"transform\"),\n postFix: \"deg\"\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n {\n let prefix = function($$renderer3) {\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Scale`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Scrub_xyz($$renderer3, {\n valueX: currentScaleX(),\n valueY: currentScaleY(),\n valueZ: 0,\n stepXY: 0.05,\n stepZ: 0.05,\n onchangeX: (v) => updateProperty(\"scale.x\", v || 1, \"transform\"),\n onchangeY: (v) => updateProperty(\"scale.y\", v || 1, \"transform\"),\n onchangeZ: () => {\n }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"sm\",\n class: \"ml-auto h-6 px-2 text-xs\",\n title: scaleLocked() ? \"Unlock proportions\" : \"Lock proportions\",\n onclick: () => {\n const newLocked = !scaleLocked();\n const ratio = currentScaleX() / currentScaleY();\n projectStore().updateLayer(layer.id, {\n props: { ...layer.props, _scaleLocked: newLocked, _scaleRatio: ratio }\n });\n },\n children: ($$renderer4) => {\n if (scaleLocked()) {\n $$renderer4.push(\"<!--[0-->\");\n Link$1($$renderer4, { class: \"size-3\" });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Unlink($$renderer4, { class: \"size-3\" });\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!---->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: [\n { prop: \"scale.x\", label: \"X\", id: \"transform.scale.x\" },\n { prop: \"scale.y\", label: \"Y\", id: \"transform.scale.y\" }\n ].map((f) => ({\n for: f.id,\n labels: f.label,\n property: f.prop,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === f.prop)\n })),\n prefix,\n children: ($$renderer3) => {\n Scrub_input($$renderer3, {\n id: \"transform.scale.x\",\n value: currentScaleX(),\n step: 0.05,\n onchange: (v) => updateProperty(\"scale.x\", v || 1, \"transform\")\n });\n $$renderer3.push(`<!----> `);\n Scrub_input($$renderer3, {\n id: \"transform.scale.y\",\n value: currentScaleY(),\n step: 0.05,\n onchange: (v) => updateProperty(\"scale.y\", v || 1, \"transform\")\n });\n $$renderer3.push(`<!---->`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n Anchor_point_picker($$renderer2, {\n id: \"position-origin\",\n label: \"Canvas Origin\",\n value: layer.transform.positionOrigin ?? \"center\",\n onchange: (v) => updateTransformField(\"positionOrigin\", v)\n });\n $$renderer2.push(`<!----> `);\n Anchor_point_picker($$renderer2, {\n id: \"pivot-point\",\n label: \"Pivot Point\",\n value: layer.transform.anchor,\n onchange: (v) => updateTransformField(\"anchor\", v)\n });\n $$renderer2.push(`<!---->`);\n });\n}\nfunction AspectRatioToggle($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { layer, currentValues, onUpdate } = $$props;\n let aspectRatioLocked = derived(() => !!layer.props._aspectRatioLocked);\n function toggleAspectRatio() {\n const newLocked = !aspectRatioLocked();\n aspectRatioLocked(newLocked);\n onUpdate(\"_aspectRatioLocked\", newLocked);\n if (newLocked && currentValues.height !== 0) {\n const ratio = currentValues.width / currentValues.height;\n onUpdate(\"_aspectRatio\", ratio);\n }\n }\n $$renderer2.push(`<div class=\"ml-auto\">`);\n Button($$renderer2, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: toggleAspectRatio,\n class: \"h-6 px-2 text-xs\",\n title: aspectRatioLocked() ? \"Unlock aspect ratio\" : \"Lock aspect ratio\",\n children: ($$renderer3) => {\n if (aspectRatioLocked()) {\n $$renderer3.push(\"<!--[0-->\");\n Link$1($$renderer3, { class: \"size-3\" });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Unlink($$renderer3, { class: \"size-3\" });\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n });\n}\nconst groupWidgets = {\n size: AspectRatioToggle\n};\nfunction getGroupWidget(groupId) {\n return groupWidgets[groupId];\n}\nfunction Property_group_renderer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const {\n layer,\n currentValues,\n updateProperty,\n addKeyframe,\n propertyMetadata,\n propertyGroups = [],\n targetPath,\n showKeyframes = true,\n customPropertyComponents = {}\n } = $$props;\n const propertyLayout = derived(() => {\n if (!propertyMetadata.length) return { items: [] };\n const renderedGroupIds = new SvelteSet();\n const items = [];\n for (const meta of propertyMetadata) {\n if (meta.meta?.hidden) continue;\n if (meta.meta?.widget === \"background\") continue;\n const groupId = meta.meta?.group;\n if (groupId) {\n if (renderedGroupIds.has(groupId)) continue;\n renderedGroupIds.add(groupId);\n const group = propertyGroups.find((g) => g.id === groupId);\n if (group) {\n const groupFields = propertyMetadata.filter((m) => m.meta?.group === groupId);\n items.push({ kind: \"group\", group, fields: groupFields });\n continue;\n }\n }\n items.push({ kind: \"field\", field: meta });\n }\n return { items };\n });\n const getCurrentValue = (fieldName) => {\n const target = currentValues?.[targetPath];\n return target?.[fieldName];\n };\n const customComponents = derived(() => {\n if (!customPropertyComponents) return [];\n return Object.entries(customPropertyComponents);\n });\n const getAnimatablePropertyName = (fieldName) => {\n if (targetPath === \"props\") {\n return `props.${fieldName}`;\n }\n return fieldName;\n };\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(propertyLayout().items);\n for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n let item = each_array[$$index_1];\n if (item.kind === \"group\") {\n $$renderer2.push(\"<!--[0-->\");\n {\n let prefix = function($$renderer3) {\n const GroupWidget = item.group.widget ?? getGroupWidget(item.group.id);\n Label($$renderer3, {\n class: \"text-xs text-muted-foreground\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(item.group.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n if (GroupWidget && currentValues) {\n $$renderer3.push(\"<!--[0-->\");\n const groupValues = Object.fromEntries(item.fields.map((f) => [f.name, getCurrentValue(f.name)]));\n const Widget = GroupWidget;\n if (Widget) {\n $$renderer3.push(\"<!--[-->\");\n Widget($$renderer3, {\n layer,\n groupId: item.group.id,\n currentValues: groupValues,\n onUpdate: (prop, val) => updateProperty(prop, val, targetPath)\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Inputs_wrapper($$renderer2, {\n fields: item.fields.map((field) => {\n const animProp = getAnimatablePropertyName(field.name);\n return {\n for: `${targetPath}.${field.name}`,\n labels: field.description || field.name,\n ...showKeyframes ? {\n property: animProp,\n addKeyframe,\n hasKeyframes: layer.keyframes.some((k) => k.property === animProp)\n } : {\n property: void 0,\n addKeyframe: void 0,\n hasKeyframes: false\n }\n };\n }),\n prefix,\n children: ($$renderer3) => {\n $$renderer3.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(item.fields);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let field = each_array_1[$$index];\n Input_property($$renderer3, {\n metadata: field,\n value: getCurrentValue(field.name),\n onUpdateProp: (name, v) => updateProperty(name, v, targetPath),\n layer,\n targetPath\n });\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Input_wrapper($$renderer2, spread_props([\n {\n for: `${targetPath}.${item.field.name}`,\n label: item.field.description || item.field.name\n },\n showKeyframes ? {\n property: getAnimatablePropertyName(item.field.name),\n addKeyframe\n } : { property: void 0, addKeyframe: void 0 },\n {\n children: ($$renderer3) => {\n Input_property($$renderer3, {\n metadata: item.field,\n value: getCurrentValue(item.field.name),\n onUpdateProp: (name, v) => updateProperty(name, v, targetPath),\n layer,\n targetPath\n });\n },\n $$slots: { default: true }\n }\n ]));\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_2 = ensure_array_like(customComponents());\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let [name, { component: CustomPropertyComponent }] = each_array_2[$$index_2];\n if (CustomPropertyComponent) {\n $$renderer2.push(\"<!--[-->\");\n CustomPropertyComponent($$renderer2, {\n layer,\n onUpdateProp: (name2, v) => updateProperty(name2, v, targetPath),\n addKeyframe\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Style_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { currentValues, updateProperty, addKeyframe, layer } = $$props;\n const stylePropertyMetadata = derived(() => {\n return extractPropertyMetadata(LayerStyleSchema);\n });\n Property_group_renderer($$renderer2, {\n layer,\n currentValues,\n updateProperty,\n addKeyframe,\n propertyMetadata: stylePropertyMetadata(),\n propertyGroups: stylePropertyGroups,\n targetPath: \"style\"\n });\n });\n}\nfunction Interpolation_select($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const id = props_id($$renderer2);\n const { layerType, property, value, onChange: onchange } = $$props;\n let hoveredStrategy = null;\n let previewTime = 0;\n let animationFrameId = null;\n const supportedFamilies = derived(() => getSupportedInterpolationFamilies(layerType, property));\n const activeFamily = derived(() => {\n if (!value) {\n return supportedFamilies()[0];\n }\n return value.family;\n });\n const hasMultipleFamilies = derived(() => supportedFamilies().length > 1);\n const currentFamilyOptions = derived(() => getStrategyOptionsForFamilies([activeFamily()]));\n const familyLabels = {\n continuous: \"Continuous\",\n discrete: \"Discrete\",\n quantized: \"Quantized\",\n text: \"Text\"\n };\n const currentStrategy = derived(() => value?.strategy);\n const hoveredOption = derived(() => currentFamilyOptions().find((opt) => opt.strategy === hoveredStrategy));\n function handleFamilyChange(family) {\n let newInterpolation;\n switch (family) {\n case \"continuous\":\n newInterpolation = { family: \"continuous\", strategy: \"ease-in-out\" };\n break;\n case \"discrete\":\n newInterpolation = { family: \"discrete\", strategy: \"step-end\" };\n break;\n case \"quantized\":\n newInterpolation = { family: \"quantized\", strategy: \"integer\" };\n break;\n case \"text\":\n newInterpolation = { family: \"text\", strategy: \"char-reveal\" };\n break;\n }\n onchange(newInterpolation);\n }\n function handleStrategyChange(strategy) {\n const family = activeFamily();\n let newInterpolation;\n switch (family) {\n case \"continuous\":\n newInterpolation = { family: \"continuous\", strategy };\n break;\n case \"discrete\":\n newInterpolation = { family: \"discrete\", strategy };\n break;\n case \"quantized\":\n if (strategy === \"integer\") {\n newInterpolation = { family: \"quantized\", strategy: \"integer\" };\n } else {\n const increment = value && \"increment\" in value ? value.increment : 10;\n newInterpolation = { family: \"quantized\", strategy: \"snap-grid\", increment };\n }\n break;\n case \"text\":\n if (strategy === \"char-reveal\") {\n newInterpolation = { family: \"text\", strategy: \"char-reveal\" };\n } else {\n const separator = value && \"separator\" in value ? value.separator : \" \";\n newInterpolation = { family: \"text\", strategy: \"word-reveal\", separator };\n }\n break;\n }\n onchange(newInterpolation);\n }\n function startPreview(strategy) {\n hoveredStrategy = strategy;\n previewTime = 0;\n const startTime = performance.now();\n const duration = 1e3;\n function animate(currentTime) {\n const elapsed = currentTime - startTime;\n previewTime = elapsed % duration / duration;\n animationFrameId = requestAnimationFrame(animate);\n }\n animationFrameId = requestAnimationFrame(animate);\n }\n function stopPreview() {\n hoveredStrategy = null;\n previewTime = 0;\n if (animationFrameId !== null) {\n cancelAnimationFrame(animationFrameId);\n animationFrameId = null;\n }\n }\n function handleValueChange(newValue) {\n if (newValue) {\n handleStrategyChange(newValue);\n stopPreview();\n }\n }\n if (hasMultipleFamilies()) {\n $$renderer2.push(\"<!--[0-->\");\n Input_wrapper($$renderer2, {\n label: \"Family\",\n for: \"family\",\n children: ($$renderer3) => {\n if (Select_root) {\n $$renderer3.push(\"<!--[-->\");\n Select_root($$renderer3, {\n type: \"single\",\n value: activeFamily(),\n onValueChange: (v) => v && handleFamilyChange(v),\n children: ($$renderer4) => {\n if (Select_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Select_trigger($$renderer4, {\n id: \"family\",\n class: \"w-full\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->${escape_html(familyLabels[activeFamily()])}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Select_content) {\n $$renderer4.push(\"<!--[-->\");\n Select_content($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array = ensure_array_like(supportedFamilies());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let family = each_array[$$index];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: family,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(familyLabels[family])}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n Input_wrapper($$renderer2, {\n label: activeFamily() === \"continuous\" ? \"Easing:\" : \"Strategy:\",\n for: id,\n children: ($$renderer3) => {\n if (currentFamilyOptions().length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n if (Select_root) {\n $$renderer3.push(\"<!--[-->\");\n Select_root($$renderer3, {\n type: \"single\",\n value: currentStrategy(),\n onValueChange: handleValueChange,\n children: ($$renderer4) => {\n if (Select_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Select_trigger($$renderer4, {\n id,\n class: \"w-full\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->${escape_html(currentFamilyOptions().find((opt) => opt.strategy === currentStrategy())?.label ?? \"Select strategy\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Select_content) {\n $$renderer4.push(\"<!--[-->\");\n Select_content($$renderer4, {\n class: \"max-h-[calc(100vh-20rem)] p-0\",\n onmouseleave: stopPreview,\n align: \"start\",\n children: ($$renderer5) => {\n if (hoveredOption() && activeFamily() === \"continuous\") {\n $$renderer5.push(\"<!--[0-->\");\n Easing_curve_preview($$renderer5, { strategy: hoveredOption().strategy, progress: previewTime });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(currentFamilyOptions());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let option = each_array_1[$$index_1];\n if (Select_item) {\n $$renderer5.push(\"<!--[-->\");\n Select_item($$renderer5, {\n value: option.strategy,\n onmouseenter: () => startPreview(option.strategy),\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(option.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n $$renderer2.push(`<!---->`);\n });\n}\nfunction Card_action($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n $$renderer2.push(`<div${attributes({\n \"data-slot\": \"card-action\",\n class: clsx(cn(\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\", className)),\n ...restProps\n })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Keyframe_segment($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let {\n segment,\n layerId,\n layerType,\n compact = false,\n onGoToPropertyClick\n } = $$props;\n const startKeyframe = derived(() => segment.startKeyframe), endKeyframe = derived(() => segment.endKeyframe), isFinal = derived(() => segment.isFinal);\n function getPropertyLabel(property) {\n if (property in BaseAnimatablePropertyLabels) {\n return BaseAnimatablePropertyLabels[property];\n }\n if (property.startsWith(\"props.\")) {\n const propName = property.slice(6);\n return propName.charAt(0).toUpperCase() + propName.slice(1);\n }\n return property;\n }\n function getPropertyIcon(property) {\n if (property.startsWith(\"rotation.\")) return Rotate_cw;\n if (property.startsWith(\"scale.\")) return Scale;\n if (isTransformProperty(property)) return Move;\n if (isStyleProperty(property)) return Eye;\n if (property === \"color\") return Palette;\n return Move;\n }\n function formatValue(value) {\n if (typeof value === \"number\") {\n return value.toFixed(2);\n }\n if (typeof value === \"boolean\") {\n return value ? \"true\" : \"false\";\n }\n return value;\n }\n function handleDeleteKeyframe(keyframeId) {\n projectStore().removeKeyframe(layerId, keyframeId);\n }\n function handleGoToTime() {\n projectStore().setCurrentTime(startKeyframe().time);\n }\n function handleTimeChange(newTime) {\n const clampedTime = Math.max(0, Math.min(newTime, projectStore().state.duration));\n projectStore().updateKeyframe(layerId, startKeyframe().id, { time: clampedTime });\n }\n function handleEndTimeChange(newTime) {\n if (!endKeyframe()) return;\n const clampedTime = Math.max(0, Math.min(newTime, projectStore().state.duration));\n projectStore().updateKeyframe(layerId, endKeyframe().id, { time: clampedTime });\n }\n function handleInterpolationChange(interpolation) {\n projectStore().updateKeyframe(layerId, startKeyframe().id, { interpolation });\n }\n const Icon2 = derived(() => getPropertyIcon(startKeyframe().property));\n function handleGoToProperty() {\n onGoToPropertyClick?.();\n navigateToProperty(startKeyframe().property, editorState());\n }\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n size: \"compact\",\n class: \"group bg-muted/20 transition-colors hover:bg-muted/40\",\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n size: \"compact\",\n class: \"flex items-center gap-2\",\n children: ($$renderer4) => {\n if (Icon2()) {\n $$renderer4.push(\"<!--[-->\");\n Icon2()($$renderer4, { class: \"h-4 w-4 text-muted-foreground\" });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"flex-1 text-sm\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->${escape_html(getPropertyLabel(startKeyframe().property))}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_action) {\n $$renderer4.push(\"<!--[-->\");\n Card_action($$renderer4, {\n class: \"flex gap-0.5\",\n children: ($$renderer5) => {\n Button($$renderer5, {\n variant: \"ghost\",\n size: \"icon-sm\",\n class: \"opacity-0 transition-opacity group-hover:opacity-100\",\n onclick: handleGoToTime,\n title: `Go to ${stringify(startKeyframe().time.toFixed(2))}s`,\n icon: Clock\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n variant: \"ghost\",\n size: \"icon-sm\",\n class: \"opacity-0 transition-opacity group-hover:opacity-100\",\n onclick: handleGoToProperty,\n title: \"Jump to property\",\n icon: Scan_search\n });\n $$renderer5.push(`<!----> `);\n if (Popover) {\n $$renderer5.push(\"<!--[-->\");\n Popover($$renderer5, {\n children: ($$renderer6) => {\n {\n let child = function($$renderer7, { props }) {\n Button($$renderer7, spread_props([\n {\n variant: \"ghost\",\n size: \"icon-sm\",\n class: \"opacity-0 transition-opacity group-hover:opacity-100\",\n icon: Trash_2,\n title: \"Delete keyframe\"\n },\n props\n ]));\n };\n if (Popover_trigger) {\n $$renderer6.push(\"<!--[-->\");\n Popover_trigger($$renderer6, { child, $$slots: { child: true } });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n }\n $$renderer6.push(` `);\n if (Popover_content) {\n $$renderer6.push(\"<!--[-->\");\n Popover_content($$renderer6, {\n class: \"w-64\",\n align: \"end\",\n side: \"left\",\n children: ($$renderer7) => {\n $$renderer7.push(`<div class=\"space-y-2\"><h4 class=\"leading-none font-medium\">Delete Keyframe</h4> <p class=\"text-sm text-muted-foreground\">`);\n if (compact) {\n $$renderer7.push(\"<!--[0-->\");\n $$renderer7.push(`Delete keyframe at ${escape_html(startKeyframe().time.toFixed(2))}s?`);\n } else if (isFinal()) {\n $$renderer7.push(\"<!--[1-->\");\n $$renderer7.push(`Delete keyframe at ${escape_html(startKeyframe().time.toFixed(2))}s?`);\n } else if (endKeyframe()) {\n $$renderer7.push(\"<!--[2-->\");\n $$renderer7.push(`Delete keyframes at ${escape_html(startKeyframe().time.toFixed(2))}s and ${escape_html(endKeyframe().time.toFixed(2))}s?`);\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]--> This cannot be undone.</p> <div class=\"flex justify-end gap-2 pt-2\">`);\n {\n let child = function($$renderer8, { props }) {\n Button($$renderer8, spread_props([\n { variant: \"outline\", size: \"sm\" },\n props,\n {\n children: ($$renderer9) => {\n $$renderer9.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_close) {\n $$renderer7.push(\"<!--[-->\");\n Popover_close($$renderer7, { child, $$slots: { child: true } });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n }\n $$renderer7.push(` `);\n {\n let child = function($$renderer8, { props }) {\n Button($$renderer8, spread_props([\n { variant: \"destructive\", size: \"sm\" },\n props,\n {\n onclick: () => {\n handleDeleteKeyframe(startKeyframe().id);\n if (!compact && endKeyframe()) {\n handleDeleteKeyframe(endKeyframe().id);\n }\n },\n children: ($$renderer9) => {\n $$renderer9.push(`<!---->Delete`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_close) {\n $$renderer7.push(\"<!--[-->\");\n Popover_close($$renderer7, { child, $$slots: { child: true } });\n $$renderer7.push(\"<!--]-->\");\n } else {\n $$renderer7.push(\"<!--[!-->\");\n $$renderer7.push(\"<!--]-->\");\n }\n }\n $$renderer7.push(`</div></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n size: \"compact\",\n class: \"space-y-2\",\n children: ($$renderer4) => {\n if (isFinal()) {\n $$renderer4.push(\"<!--[0-->\");\n if (compact) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex items-center gap-2 text-xs text-muted-foreground\"><span class=\"font-mono font-medium\">${escape_html(startKeyframe().time.toFixed(2))}s</span> <span>=</span> <span class=\"font-mono font-medium\">${escape_html(formatValue(startKeyframe().value))}</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Inputs_wrapper($$renderer4, {\n fields: [{ for: `final-time-${startKeyframe().id}`, labels: \"Time\" }],\n children: ($$renderer5) => {\n Scrub_input($$renderer5, {\n id: `final-time-${startKeyframe().id}`,\n value: startKeyframe().time,\n step: 0.01,\n min: 0,\n max: projectStore().state.duration,\n onchange: handleTimeChange,\n postFix: \"s\"\n });\n $$renderer5.push(`<!----> <div class=\"flex h-7 items-center rounded-md border border-input bg-muted px-2 font-mono text-sm tabular-nums\">${escape_html(formatValue(startKeyframe().value))}</div>`);\n }\n });\n }\n $$renderer4.push(`<!--]--> <div class=\"flex items-center gap-1 text-[10px] text-muted-foreground\"><span>⏹ Final value (holds)</span></div>`);\n } else if (endKeyframe()) {\n $$renderer4.push(\"<!--[1-->\");\n if (compact) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex items-center gap-2 text-xs text-muted-foreground\"><span class=\"font-mono font-medium\">${escape_html(startKeyframe().time.toFixed(2))}s</span> <span class=\"font-mono\">${escape_html(formatValue(startKeyframe().value))}</span> <span>→</span> <span class=\"font-mono font-medium\">${escape_html(endKeyframe().time.toFixed(2))}s</span> <span class=\"font-mono\">${escape_html(formatValue(endKeyframe().value))}</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Inputs_wrapper($$renderer4, {\n fields: [\n {\n for: `start-time-${startKeyframe().id}`,\n labels: \"From\",\n postFix: `= ${formatValue(startKeyframe().value)}`\n },\n {\n for: `end-time-${endKeyframe().id}`,\n labels: \"To\",\n postFix: `= ${formatValue(endKeyframe().value)}`\n }\n ],\n children: ($$renderer5) => {\n Scrub_input($$renderer5, {\n id: `start-time-${startKeyframe().id}`,\n value: startKeyframe().time,\n step: 0.01,\n min: 0,\n max: projectStore().state.duration,\n onchange: handleTimeChange,\n postFix: \"s\"\n });\n $$renderer5.push(`<!----> `);\n Scrub_input($$renderer5, {\n id: `end-time-${endKeyframe().id}`,\n value: endKeyframe().time,\n step: 0.01,\n min: 0,\n max: projectStore().state.duration,\n onchange: handleEndTimeChange,\n postFix: \"s\"\n });\n $$renderer5.push(`<!---->`);\n }\n });\n $$renderer4.push(`<!----> `);\n Interpolation_select($$renderer4, {\n layerType,\n property: startKeyframe().property,\n value: startKeyframe().interpolation,\n onChange: handleInterpolationChange\n });\n $$renderer4.push(`<!---->`);\n }\n $$renderer4.push(`<!--]-->`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction groupKeyframesIntoSegments(keyframes, property) {\n const propertyKeyframes = keyframes.filter((kf2) => kf2.property === property).sort((a, b) => a.time - b.time);\n if (propertyKeyframes.length === 0) return [];\n return propertyKeyframes.map((kf2, i) => {\n const endKeyframe = propertyKeyframes[i + 1];\n const isFinal = !endKeyframe;\n const isHold = !isFinal && kf2.value === endKeyframe.value;\n return {\n startKeyframe: kf2,\n endKeyframe,\n property,\n interpolation: kf2.interpolation,\n isFinal,\n isHold\n };\n });\n}\nfunction getUniqueProperties(keyframes) {\n const properties = /* @__PURE__ */ new Set();\n for (const kf2 of keyframes) {\n properties.add(kf2.property);\n }\n return Array.from(properties).sort();\n}\nfunction Layer_keyframes($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { layer } = $$props;\n let selectedProperty = \"all\";\n const availableProperties = derived(() => {\n const properties = getUniqueProperties(layer.keyframes);\n return [\"all\", ...properties];\n });\n const segments = derived(() => {\n if (selectedProperty === \"all\") {\n const properties = getUniqueProperties(layer.keyframes);\n return properties.flatMap((prop) => groupKeyframesIntoSegments(layer.keyframes, prop)).filter((seg) => !seg.isFinal && !seg.isHold);\n } else {\n return groupKeyframesIntoSegments(layer.keyframes, selectedProperty).filter((seg) => !seg.isFinal && !seg.isHold);\n }\n });\n function formatPropertyLabel(property) {\n if (property === \"all\") return \"All Properties\";\n if (property.startsWith(\"props.\")) {\n const propName = property.slice(6);\n return propName.charAt(0).toUpperCase() + propName.slice(1);\n }\n const parts = property.split(\".\");\n if (parts.length === 2) {\n const [category, axis] = parts;\n return `${category.charAt(0).toUpperCase() + category.slice(1)} ${axis.toUpperCase()}`;\n }\n return property.charAt(0).toUpperCase() + property.slice(1);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (availableProperties().length > 2) {\n $$renderer3.push(\"<!--[0-->\");\n Input_wrapper($$renderer3, {\n label: \"Filter\",\n for: \"property-filter\",\n children: ($$renderer4) => {\n Select_1($$renderer4, {\n trigger: { id: \"property-filter\" },\n options: availableProperties().map((property) => ({ value: property, label: formatPropertyLabel(property) })),\n get value() {\n return selectedProperty;\n },\n set value($$value) {\n selectedProperty = $$value;\n $$settled = false;\n }\n });\n }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"space-y-2\">`);\n if (segments().length === 0) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"py-4 text-center text-sm text-muted-foreground\">No keyframes found</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<!--[-->`);\n const each_array = ensure_array_like(segments());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let segment = each_array[$$index];\n Keyframe_segment($$renderer3, { segment, layerId: layer.id, layerType: layer.type });\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction Keyframes_group($$renderer, $$props) {\n const { layer } = $$props;\n Layer_keyframes($$renderer, { layer });\n}\nfunction Layer_properties_group($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { layer, currentValues, updateProperty, addKeyframe } = $$props;\n const isProjectSettings = derived(() => isProjectLayer(layer.id));\n const layerPropertyMetadata = derived(() => {\n const schema = getLayerSchema(layer.type);\n return extractPropertyMetadata(schema);\n });\n const layerDefinition = derived(() => {\n return getLayerDefinition(layer.type);\n });\n Property_group_renderer($$renderer2, {\n layer,\n currentValues,\n updateProperty,\n addKeyframe,\n propertyMetadata: layerPropertyMetadata(),\n propertyGroups: layerDefinition()?.propertyGroups,\n targetPath: \"props\",\n showKeyframes: !isProjectSettings(),\n customPropertyComponents: layerDefinition().customPropertyComponents\n });\n });\n}\nfunction Templates_panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let activeTemplateId = null;\n const activeTemplate = derived(() => activeTemplateId ? getTemplateById(activeTemplateId) : null);\n function handleComplete() {\n activeTemplateId = null;\n }\n function handleCancel() {\n activeTemplateId = null;\n }\n if (activeTemplate()) {\n $$renderer2.push(\"<!--[0-->\");\n Template_wizard($$renderer2, {\n template: activeTemplate(),\n projectStore: projectStore(),\n onComplete: handleComplete,\n onCancel: handleCancel,\n onSetAiStreaming: (v) => editorState().isAiStreaming = v,\n inProject: true\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"p-4\">`);\n if (templateRegistry.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center py-8\"><p class=\"text-sm text-muted-foreground\">No templates available</p></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"grid gap-3\" style=\"grid-template-columns: repeat(auto-fill, minmax(180px, 1fr))\"><!--[-->`);\n const each_array = ensure_array_like(templateRegistry);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let template = each_array[$$index];\n $$renderer2.push(`<button class=\"group flex flex-col overflow-hidden rounded-lg border bg-card text-left transition-colors hover:border-primary/50 hover:bg-accent/50\"><div class=\"aspect-video w-full overflow-hidden bg-muted\"><img${attr(\"src\", template.thumbnail)}${attr(\"alt\", template.name)} class=\"h-full w-full object-cover transition-transform group-hover:scale-105\" loading=\"lazy\"/></div> <div class=\"p-2\"><div class=\"flex items-center gap-1.5\">`);\n if (template.icon) {\n $$renderer2.push(\"<!--[0-->\");\n const Icon2 = template.icon;\n if (Icon2) {\n $$renderer2.push(\"<!--[-->\");\n Icon2($$renderer2, { class: \"h-3.5 w-3.5 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <h3 class=\"text-xs font-medium\">${escape_html(template.name)}</h3> `);\n if (template.isPro) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"ml-auto rounded bg-amber-500/15 px-1 py-0.5 text-[9px] font-semibold tracking-wide text-amber-600 uppercase dark:text-amber-400\">Pro</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <p class=\"mt-0.5 text-[10px] leading-tight text-muted-foreground\">${escape_html(template.description)}</p></div></button>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nconst PLACEHOLDER_ASSETS = {\n VIDEO_LANDSCAPE: \"\"\n};\nfunction typeScale(d) {\n const base = Math.min(d.width, d.height) / d.width * 100;\n const r = (v) => Math.round(v * 10) / 10;\n return {\n hero: r(base * 0.11),\n h1: r(base * 0.065),\n h2: r(base * 0.045),\n h3: r(base * 0.03),\n body: r(base * 0.022),\n caption: r(base * 0.016),\n eyebrow: r(base * 0.014)\n };\n}\nfunction lineHeight(scale) {\n switch (scale) {\n case \"tight\":\n return 1.1;\n case \"normal\":\n return 1.4;\n case \"relaxed\":\n return 1.7;\n }\n}\nfunction palette(primary) {\n const c = colord(primary);\n return {\n primary,\n primaryLight: c.lighten(0.15).toHex(),\n primaryDark: c.darken(0.2).toHex(),\n onPrimary: c.isLight() ? \"#000000\" : \"#ffffff\"\n };\n}\nconst themes = {\n dark: {\n bg: \"#0a0a0b\",\n text: \"#f1f5f9\",\n muted: \"#94a3b8\",\n border: \"#27272a\"\n },\n light: {\n text: \"#1e293b\",\n muted: \"#64748b\"\n }\n};\nfunction spacing(d) {\n const unit = Math.min(d.width, d.height) / d.width * 2;\n const r = (v) => Math.round(v * 10) / 10;\n return {\n xs: r(unit * 0.5),\n sm: r(unit),\n md: r(unit * 2),\n lg: r(unit * 3),\n xl: r(unit * 5)\n };\n}\nfunction kfReveal(time, value) {\n return {\n id: nanoid(),\n time,\n property: \"props.content\",\n value,\n interpolation: { family: \"text\", strategy: \"word-reveal\" }\n };\n}\nfunction kfCharReveal(time, value) {\n return {\n id: nanoid(),\n time,\n property: \"props.content\",\n value,\n interpolation: { family: \"text\", strategy: \"char-reveal\" }\n };\n}\nconst textTransition = {\n soft: {\n transitionEffects: [\"fade\", \"blur\", \"slide-up\"],\n transitionDuration: 450,\n transitionEasing: \"ease-out-quad\",\n slideDistance: 2.5,\n blurAmount: 0.8\n },\n punchy: {\n transitionEffects: [\"scale\", \"fade\", \"slide-up\"],\n transitionDuration: 280,\n transitionEasing: \"ease-out-back\",\n slideDistance: 1.5,\n scaleFrom: 0.6,\n blurAmount: 0.5\n }\n};\nconst fadeIn = (start, dur) => getPresetKeyframes(\"fade-in\", start, dur);\nconst revealUp = (start, dur, y, distance = 25) => getPresetKeyframes(\"reveal-up\", start, dur, { y }, { distance });\nfunction textLeft(leftEdgeX, w) {\n return round1(leftEdgeX + w / 2);\n}\nfunction textCenter(centerX) {\n return round1(centerX);\n}\nconst scenePresets = [\n // ════════════════════════════════════════════════════════════════════════════\n // MEDIA & TEXT\n // ════════════════════════════════════════════════════════════════════════════\n // 1. Hero Left, Laptop Right\n {\n id: \"hero-laptop\",\n name: \"Hero + Laptop\",\n description: \"Bold headline and subtitle on the left, 3D laptop reveal on the right\",\n categories: [\"media & text\"],\n duration: 8,\n previewTime: 2.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const left = splitLeft(d, 0.45);\n const right = splitRight(d, 0.7);\n const dev = deviceSize(d, \"laptop\");\n const textStartX = -45;\n const textW = round1(left.width * 0.8);\n const group = createLayer(\"group\", {\n props: { background: { type: \"dynamic\", variant: \"silk\", speed: 0.5, intensity: 0.5 } },\n layer: { id: groupId, name: \"Hero + Laptop\", enterTime: 0, exitTime: dur }\n });\n const glow = createLayer(\"shape\", {\n props: {\n width: round1(ar * 90),\n height: round1(ar * 90),\n shapeType: \"circle\",\n background: pal.primaryDark,\n strokeWidth: 0\n },\n transform: { position: { x: right.x, y: 0, z: -20 } },\n style: { opacity: 0.2, blur: round1(ar * 15) },\n layer: { name: \"Glow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const eyebrowW = round1(textW * 0.5);\n const eyebrowY = -(ar * 35);\n const eyebrow = createLayer(\"text\", {\n props: {\n content: \"INTRODUCING\",\n fontSize: t.eyebrow,\n fontWeight: \"600\",\n color: pal.primary,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: eyebrowW\n },\n transform: { position: { x: textLeft(textStartX, eyebrowW), y: eyebrowY, z: 0 } },\n keyframes: revealUp(0, 0.5, eyebrowY, sp.sm),\n layer: { name: \"Eyebrow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const headY = -(ar * 12);\n const headline = createLayer(\"text\", {\n props: {\n content: \"The Simplest Way\\nto Present Your Work\",\n fontSize: t.h1,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: textW\n },\n transform: { position: { x: textLeft(textStartX, textW), y: headY, z: 0 } },\n keyframes: revealUp(0.2, 0.7, headY, sp.md),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.2, exitTime: dur }\n });\n const descY = ar * 10;\n const desc = createLayer(\"text\", {\n props: {\n content: \"Create stunning demos and feature\\nvideos — in minutes, not hours.\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"left\",\n lineHeight: lineHeight(\"relaxed\"),\n autoWidth: false,\n width: textW\n },\n transform: { position: { x: textLeft(textStartX, textW), y: descY, z: 0 } },\n keyframes: revealUp(0.5, 0.7, descY, sp.sm),\n layer: { name: \"Description\", parentId: groupId, enterTime: 0.5, exitTime: dur }\n });\n const ctaW = 16;\n const ctaH = round1(ar * 6.5);\n const ctaY = ar * 28;\n const ctaX = textLeft(textStartX, ctaW);\n const ctaBg = createLayer(\"shape\", {\n props: {\n width: ctaW,\n height: ctaH,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0,\n borderRadius: round1(ctaH / 2)\n },\n transform: { position: { x: ctaX, y: ctaY, z: 0 } },\n keyframes: getPresetKeyframes(\"scale-in\", 1.2, 0.6, void 0, { fromScale: 0.7 }),\n layer: { name: \"CTA Bg\", parentId: groupId, enterTime: 1.2, exitTime: dur }\n });\n const ctaText = createLayer(\"text\", {\n props: {\n content: \"Get started →\",\n fontSize: t.caption,\n fontWeight: \"600\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: ctaW\n },\n transform: { position: { x: ctaX, y: ctaY, z: 1 } },\n keyframes: fadeIn(1.3, 0.5),\n layer: { name: \"CTA\", parentId: groupId, enterTime: 1.3, exitTime: dur }\n });\n const lapZ0 = 448;\n const lapZ1 = -2e3;\n const lapZ2 = -840;\n const lapY0 = round1(ar * 60);\n const lapY1 = round1(ar * 50);\n const lapX = -14;\n const laptop = createLayer(\"laptop\", {\n props: { url: \"/demo/skeleton.html\", ...dev, openAngle: 180 },\n transform: {\n position: { x: lapX, y: lapY0, z: lapZ0 },\n rotation: { x: 0, y: 0, z: 0 },\n anchor: \"center-left\"\n },\n keyframes: [\n // t=0: far away, flat perspective (fully open lid, top-down view)\n kf(0, \"position.y\", lapY0),\n kf(0, \"position.z\", lapZ0),\n kf(0, \"rotation.x\", 0),\n kf(0, \"props.openAngle\", 180),\n // t=1.3s: tilt into 3D view, partially close\n kf(1.3, \"rotation.x\", 1.45, \"ease-in-out\"),\n kf(1.3, \"props.openAngle\", 106, \"ease-in-out\"),\n kf(1.3, \"position.z\", lapZ1, \"ease-in-out\"),\n kf(1.3, \"position.y\", lapY1, \"ease-in-out\"),\n // t=2.0s: continue closing toward readable angle\n kf(2, \"props.openAngle\", 64, \"ease-in-out\"),\n kf(2, \"rotation.x\", 1.1, \"ease-in-out\"),\n // t=2.5s: settle at final presentation angle\n kf(2.5, \"position.z\", lapZ2, \"ease-in-out\"),\n kf(2.5, \"position.y\", lapY1, \"ease-in-out\"),\n kf(2.5, \"props.openAngle\", 73, \"ease-in-out\")\n ],\n layer: { name: \"Laptop\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n return [group, glow, eyebrow, headline, desc, ctaBg, ctaText, laptop];\n }\n },\n // 2. Media Left, Text Right\n {\n id: \"media-text-split\",\n name: \"Media + Text Split\",\n description: \"Video tilts in on the left while headline and copy reveal on the right\",\n categories: [\"media & text\"],\n duration: 8,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const vid = videoSize(d, { scale: 0.42 });\n const rightTextStartX = 6;\n const rightTextW = 40;\n const group = createLayer(\"group\", {\n props: { background: th.bg },\n layer: { id: groupId, name: \"Media + Text\", enterTime: 0, exitTime: dur }\n });\n const video = createLayer(\"video\", {\n props: {\n src: PLACEHOLDER_ASSETS.VIDEO_LANDSCAPE,\n ...vid,\n borderRadius: round1(ar * 2),\n frame: \"shadow\"\n },\n transform: { position: { x: -26, y: 0, z: 0 } },\n keyframes: [\n ...getPresetKeyframes(\"slide-in-left\", 0, 1.1, { x: -26 }, { distance: 40 }),\n kf(0, \"rotation.y\", 0.35),\n kf(1.1, \"rotation.y\", 0, \"ease-out\")\n ],\n layer: { name: \"Video\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const separator = createLayer(\"shape\", {\n props: {\n width: 0.3,\n height: round1(ar * 45),\n shapeType: \"rectangle\",\n background: th.border,\n strokeWidth: 0\n },\n transform: { position: { x: 1, y: 0, z: 0 } },\n keyframes: getPresetKeyframes(\"wipe-down\", 0.4, 0.6),\n layer: { name: \"Separator\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const catW = round1(rightTextW * 0.6);\n const catY = -(ar * 33);\n const category = createLayer(\"text\", {\n props: {\n content: \"NEW RELEASE\",\n fontSize: t.eyebrow,\n fontWeight: \"600\",\n color: pal.primary,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: catW\n },\n transform: { position: { x: textLeft(rightTextStartX, catW), y: catY, z: 0 } },\n keyframes: fadeIn(0.5, 0.6),\n layer: { name: \"Category\", parentId: groupId, enterTime: 0.5, exitTime: dur }\n });\n const headY = -(ar * 10);\n const headline = createLayer(\"text\", {\n props: {\n content: \"Built Different.\\nBuilt to Last.\",\n fontSize: t.h1,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: rightTextW\n },\n transform: { position: { x: textLeft(rightTextStartX, rightTextW), y: headY, z: 0 } },\n keyframes: revealUp(0.7, 0.7, headY, sp.md),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.7, exitTime: dur }\n });\n const bodyY = ar * 12;\n const body = createLayer(\"text\", {\n props: {\n content: \"Engineered from the ground up for teams\\nwho ship fast and demand quality.\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"left\",\n lineHeight: lineHeight(\"relaxed\"),\n autoWidth: false,\n width: rightTextW\n },\n transform: { position: { x: textLeft(rightTextStartX, rightTextW), y: bodyY, z: 0 } },\n keyframes: revealUp(1, 0.7, bodyY, sp.sm),\n layer: { name: \"Body\", parentId: groupId, enterTime: 1, exitTime: dur }\n });\n const ctaY = ar * 28;\n const ctaW = round1(rightTextW * 0.5);\n const cta = createLayer(\"text\", {\n props: {\n content: \"Learn more →\",\n fontSize: t.body,\n fontWeight: \"600\",\n color: pal.primary,\n textAlign: \"left\",\n autoWidth: false,\n width: ctaW\n },\n transform: { position: { x: textLeft(rightTextStartX, ctaW), y: ctaY, z: 0 } },\n keyframes: getPresetKeyframes(\n \"reveal-right\",\n 1.3,\n 0.7,\n { x: textLeft(rightTextStartX, ctaW) },\n { distance: sp.lg }\n ),\n layer: { name: \"CTA\", parentId: groupId, enterTime: 1.3, exitTime: dur }\n });\n return [group, video, separator, category, headline, body, cta];\n }\n },\n // 3. Phone Showcase\n {\n id: \"phone-showcase\",\n name: \"Phone Showcase\",\n description: \"Phone mockup pops in with headline above and subtitle below\",\n categories: [\"media & text\"],\n duration: 7,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 7;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const phone = deviceSize(d, \"phone\");\n const centerTextW = 70;\n const group = createLayer(\"group\", {\n props: { background: th.bg },\n layer: { id: groupId, name: \"Phone Showcase\", enterTime: 0, exitTime: dur }\n });\n const glow = createLayer(\"shape\", {\n props: {\n ...size(d, 0.5, 0.7),\n shapeType: \"circle\",\n background: pal.primaryDark,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: ar * 5, z: -20 } },\n style: { opacity: 0.15, blur: round1(ar * 12) },\n layer: { name: \"Glow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const headY = -(ar * 38);\n const headline = createLayer(\"text\", {\n props: {\n content: \"Designed for Mobile\",\n fontSize: t.h2,\n fontWeight: \"700\",\n color: th.text,\n textAlign: \"center\",\n autoWidth: false,\n width: centerTextW\n },\n transform: { position: { x: textCenter(0), y: headY, z: 0 } },\n keyframes: revealUp(0, 0.6, headY, sp.md),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const subY = -(ar * 30);\n const subtitle = createLayer(\"text\", {\n props: {\n content: \"A seamless experience on every screen\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"center\",\n autoWidth: false,\n width: centerTextW\n },\n transform: { position: { x: textCenter(0), y: subY, z: 0 } },\n keyframes: fadeIn(0.3, 0.6),\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 0.3, exitTime: dur }\n });\n const phoneMockup = createLayer(\"phone\", {\n props: { url: \"/demo/skeleton.html\", ...phone, zoom: 0.3 },\n transform: { position: { x: 0, y: ar * 6, z: 0 } },\n keyframes: getPresetKeyframes(\"pop\", 0.4, 0.8, void 0, { fromScale: 0.3 }),\n layer: { name: \"Phone\", parentId: groupId, enterTime: 0.4, exitTime: dur }\n });\n const badgeW = 50;\n const badge = createLayer(\"text\", {\n props: {\n content: \"Available on iOS & Android\",\n fontSize: t.caption,\n fontWeight: \"500\",\n color: pal.primary,\n textAlign: \"center\",\n autoWidth: false,\n width: badgeW\n },\n transform: { position: { x: textCenter(0), y: ar * 40, z: 0 } },\n keyframes: fadeIn(1.2, 0.6),\n layer: { name: \"Badge\", parentId: groupId, enterTime: 1.2, exitTime: dur }\n });\n return [group, glow, headline, subtitle, phoneMockup, badge];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // MEDIA ONLY\n // ════════════════════════════════════════════════════════════════════════════\n // 4. Video with Frame\n {\n id: \"video-frame\",\n name: \"Video Frame\",\n description: \"Centered video with elegant frame and subtle glow background\",\n categories: [\"media\"],\n duration: 6,\n previewTime: 1.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const pal = palette(primaryColor);\n const vid = videoSize(d, { scale: 0.75 });\n const group = createLayer(\"group\", {\n props: { background: themes.dark.bg },\n layer: { id: groupId, name: \"Video Frame\", enterTime: 0, exitTime: dur }\n });\n const glow = createLayer(\"shape\", {\n props: {\n ...size(d, 0.6, 0.6),\n shapeType: \"circle\",\n background: pal.primaryDark,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: 0, z: -20 } },\n style: { opacity: 0.12, blur: round1(ar * 15) },\n layer: { name: \"Glow\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const video = createLayer(\"video\", {\n props: {\n src: PLACEHOLDER_ASSETS.VIDEO_LANDSCAPE,\n ...vid,\n borderRadius: round1(ar * 2),\n frame: \"mac-subtle\"\n },\n transform: { position: { x: 0, y: 0, z: 0 } },\n keyframes: [\n ...getPresetKeyframes(\"scale-in\", 0, 0.8, void 0, { fromScale: 0.85 }),\n kf(0, \"rotation.y\", 0.15),\n kf(0.8, \"rotation.y\", 0, \"ease-out\")\n ],\n layer: { name: \"Video\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n return [group, glow, video];\n }\n },\n // 5. Phone Mockup\n {\n id: \"phone-mockup\",\n name: \"Phone Mockup\",\n description: \"Clean phone device mockup on a gradient background\",\n categories: [\"media\"],\n duration: 6,\n previewTime: 1.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const pal = palette(primaryColor);\n const phone = deviceSize(d, \"phone\");\n const group = createLayer(\"group\", {\n props: {\n background: {\n type: \"linear\",\n angle: 145,\n stops: [\n { color: themes.dark.bg, position: 0 },\n { color: pal.primaryDark, position: 100 }\n ]\n }\n },\n layer: { id: groupId, name: \"Phone Mockup\", enterTime: 0, exitTime: dur }\n });\n const phoneMockup = createLayer(\"phone\", {\n props: { url: \"/demo/skeleton.html\", ...phone, zoom: 0.3 },\n transform: { position: { x: 0, y: 0, z: 0 } },\n keyframes: [\n ...getPresetKeyframes(\"slide-in-bottom\", 0, 0.9, { y: 0 }, { distance: ar * 40 }),\n kf(0, \"rotation.y\", -0.15),\n kf(0.9, \"rotation.y\", 0, \"ease-out\")\n ],\n layer: { name: \"Phone\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n return [group, phoneMockup];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // TEXT ONLY\n // ════════════════════════════════════════════════════════════════════════════\n // 6. Hero Headline\n {\n id: \"hero-headline\",\n name: \"Hero Headline\",\n description: \"Large centered headline with subtitle — clean fade and scale reveal\",\n categories: [\"text\"],\n duration: 6,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const centerW = 75;\n const group = createLayer(\"group\", {\n props: { background: th.bg },\n layer: { id: groupId, name: \"Hero Headline\", enterTime: 0, exitTime: dur }\n });\n const accentLine = createLayer(\"shape\", {\n props: {\n width: 5,\n height: 0.3,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: -(ar * 22), z: 0 } },\n keyframes: getPresetKeyframes(\"wipe-right\", 0, 0.4),\n layer: { name: \"Accent\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const headline = createLayer(\"text\", {\n props: {\n content: \"Your Bold Statement\\nGoes Right Here\",\n fontSize: t.hero,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"center\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 5), z: 0 } },\n keyframes: getPresetKeyframes(\"scale-in\", 0.15, 0.7, void 0, { fromScale: 0.9 }),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.15, exitTime: dur }\n });\n const subY = ar * 18;\n const subtitle = createLayer(\"text\", {\n props: {\n content: \"A supporting line that adds context and makes it compelling.\",\n fontSize: t.h3,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"center\",\n lineHeight: lineHeight(\"normal\"),\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: subY, z: 0 } },\n keyframes: revealUp(0.6, 0.7, subY, sp.md),\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 0.6, exitTime: dur }\n });\n return [group, accentLine, headline, subtitle];\n }\n },\n // 7. Word Reveal\n {\n id: \"word-reveal\",\n name: \"Word Reveal\",\n description: \"Kinetic word-by-word headline reveal with accent color\",\n categories: [\"text\"],\n duration: 6,\n previewTime: 2.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const bigFont = round1(t.hero * 1.15);\n const textW = 70;\n const leftX = -35;\n const group = createLayer(\"group\", {\n props: { background: \"#000000\" },\n layer: { id: groupId, name: \"Word Reveal\", enterTime: 0, exitTime: dur }\n });\n const rule = createLayer(\"shape\", {\n props: {\n width: 5,\n height: 0.3,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: {\n position: { x: textLeft(leftX, 5), y: -(ar * 26), z: 0 }\n },\n keyframes: getPresetKeyframes(\"wipe-right\", 0, 0.4),\n layer: { name: \"Rule\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const line1Y = -(ar * 10);\n const line1 = createLayer(\"text\", {\n props: {\n content: \"Make It\",\n fontSize: bigFont,\n fontWeight: \"900\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: 0.9,\n autoWidth: false,\n width: textW,\n ...textTransition.punchy\n },\n transform: { position: { x: textLeft(leftX, textW), y: line1Y, z: 0 } },\n keyframes: [kfReveal(0.1, \"\"), kfReveal(1.4, \"Make It\"), ...fadeIn(0.1, 0.2)],\n layer: { name: \"Line 1\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const line2Y = ar * 15;\n const line2 = createLayer(\"text\", {\n props: {\n content: \"Memorable.\",\n fontSize: bigFont,\n fontWeight: \"900\",\n color: pal.primary,\n textAlign: \"left\",\n lineHeight: 0.9,\n autoWidth: false,\n width: textW,\n ...textTransition.punchy\n },\n transform: { position: { x: textLeft(leftX, textW), y: line2Y, z: 0 } },\n keyframes: [kfReveal(0.9, \"\"), kfReveal(2.4, \"Memorable.\"), ...fadeIn(0.9, 0.2)],\n layer: { name: \"Line 2\", parentId: groupId, enterTime: 0.9, exitTime: dur }\n });\n const subY = ar * 36;\n const subW = 50;\n const subline = createLayer(\"text\", {\n props: {\n content: \"Create animations that stop the scroll.\",\n fontSize: t.h3,\n fontWeight: \"300\",\n color: th.muted,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: subW\n },\n transform: { position: { x: textLeft(leftX, subW), y: subY, z: 0 } },\n keyframes: revealUp(2, 0.7, subY, sp.sm),\n layer: { name: \"Subline\", parentId: groupId, enterTime: 2, exitTime: dur }\n });\n return [group, rule, line1, line2, subline];\n }\n },\n // 8. Feature Cards\n // {\n // id: 'feature-cards',\n // name: 'Feature Cards',\n // description: 'Section header with three feature cards that pop in with staggered animations',\n // categories: ['text'],\n // duration: 8,\n // previewTime: 2.5,\n // theme: 'light',\n // createLayers: (d: Dims, primaryColor: string) => {\n // const groupId = nanoid();\n // const dur = 8;\n // const t = typeScale(d);\n // const sp = spacing(d);\n // const pal = palette(primaryColor);\n // const th = themes.light;\n // const cols = columns(d, 3, 0.025);\n // const cardH = round1(d.height * 0.38);\n // const centerW = round1(d.width * 0.7);\n // const group = createLayer('group', {\n // props: { background: th.bg },\n // layer: { id: groupId, name: 'Feature Cards', enterTime: 0, exitTime: dur }\n // });\n // const labelW = round1(d.width * 0.3);\n // const label = createLayer('text', {\n // props: {\n // content: 'WHY CHOOSE US',\n // fontSize: t.eyebrow,\n // fontWeight: '600',\n // color: pal.primary,\n // textAlign: 'center',\n // letterSpacing: 0.5,\n // autoWidth: false,\n // width: labelW\n // },\n // transform: { position: { x: textCenter(0), y: -d.height * 0.44, z: 0 } },\n // keyframes: fadeIn(0, 0.5),\n // layer: { name: 'Label', parentId: groupId, enterTime: 0, exitTime: dur }\n // });\n // const headline = createLayer('text', {\n // props: {\n // content: \"Everything you need,\\nnothing you don't.\",\n // fontSize: t.h2,\n // fontWeight: '800',\n // color: th.text,\n // textAlign: 'center',\n // lineHeight: lineHeight('tight'),\n // autoWidth: false,\n // width: centerW\n // },\n // transform: { position: { x: textCenter(0), y: -d.height * 0.28, z: 0 } },\n // keyframes: revealUp(0.2, 0.6, -d.height * 0.28, sp.md),\n // layer: { name: 'Headline', parentId: groupId, enterTime: 0.2, exitTime: dur }\n // });\n // const cardTitles = ['Lightning Fast', 'Beautifully Simple', 'Always Reliable'];\n // const cardDescs = [\n // 'Renders in real time.\\nNo waiting, no lag.',\n // 'Intuitive by design.\\nLearn in minutes.',\n // 'Built with 99.9%\\nuptime guarantee.'\n // ];\n // const cardEmojis = ['⚡', '✦', '🛡'];\n // const cardColors = [pal.primary, '#ec4899', '#10b981'];\n // const layers: TypedLayer[] = [group, label, headline];\n // const times = stagger(0.8, 3, 0.18);\n // cols.forEach((col, i) => {\n // const delay = times[i];\n // // Badge size: small, proportional to card — ~5% of height\n // const iconSize = round1(d.height * 0.052);\n // const cardY = d.height * 0.12;\n // const cardW = round1(col.width * 0.95);\n // // Card inner layout (vertical stack, centered)\n // const cardTop = cardY - cardH * 0.5;\n // const padTop = cardH * 0.14;\n // const iconY = round1(cardTop + padTop + iconSize * 0.5);\n // const titleY = round1(iconY + iconSize * 0.5 + cardH * 0.1);\n // const descY = round1(titleY + cardH * 0.18);\n // const cardBg = createLayer('shape', {\n // props: {\n // width: cardW,\n // height: cardH,\n // shapeType: 'rectangle',\n // background: '#ffffff',\n // strokeWidth: 1,\n // stroke: th.border,\n // borderRadius: round1(d.height * 0.02)\n // },\n // transform: { position: { x: col.x, y: cardY, z: 0 } },\n // style: {\n // dropShadowY: round1(d.height * 0.008),\n // dropShadowBlur: round1(d.height * 0.03),\n // dropShadowColor: '#00000010'\n // },\n // keyframes: revealUp(delay, 0.5, cardY, sp.lg),\n // layer: { name: `Card ${i + 1}`, parentId: groupId, enterTime: delay, exitTime: dur }\n // });\n // // Small colored badge circle centered at top of card\n // const iconCircle = createLayer('shape', {\n // props: {\n // width: iconSize,\n // height: iconSize,\n // shapeType: 'circle',\n // background: cardColors[i],\n // strokeWidth: 0\n // },\n // transform: { position: { x: col.x, y: iconY, z: 1 } },\n // keyframes: getPresetKeyframes('scale-in', delay + 0.1, 0.4),\n // layer: {\n // name: `Icon Bg ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.1,\n // exitTime: dur\n // }\n // });\n // // Emoji centered inside badge\n // const emojiW = round1(iconSize * 1.1);\n // const icon = createLayer('text', {\n // props: {\n // content: cardEmojis[i],\n // fontSize: round1(iconSize * 0.48),\n // fontWeight: '400',\n // color: '#ffffff',\n // textAlign: 'center',\n // autoWidth: false,\n // width: emojiW\n // },\n // transform: { position: { x: textCenter(col.x), y: iconY, z: 2 } },\n // keyframes: fadeIn(delay + 0.2, 0.35),\n // layer: {\n // name: `Icon ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.2,\n // exitTime: dur\n // }\n // });\n // // Title centered below badge\n // const titleW = round1(cardW * 0.82);\n // const title = createLayer('text', {\n // props: {\n // content: cardTitles[i],\n // fontSize: t.body,\n // fontWeight: '700',\n // color: th.text,\n // textAlign: 'center',\n // autoWidth: false,\n // width: titleW\n // },\n // transform: { position: { x: textCenter(col.x), y: titleY, z: 1 } },\n // keyframes: fadeIn(delay + 0.25, 0.45),\n // layer: {\n // name: `Title ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.25,\n // exitTime: dur\n // }\n // });\n // // Description centered below title\n // const descW = round1(cardW * 0.78);\n // const desc = createLayer('text', {\n // props: {\n // content: cardDescs[i],\n // fontSize: t.caption,\n // fontWeight: '400',\n // color: th.muted,\n // textAlign: 'center',\n // lineHeight: lineHeight('relaxed'),\n // autoWidth: false,\n // width: descW\n // },\n // transform: { position: { x: textCenter(col.x), y: descY, z: 1 } },\n // keyframes: fadeIn(delay + 0.35, 0.45),\n // layer: {\n // name: `Desc ${i + 1}`,\n // parentId: groupId,\n // enterTime: delay + 0.35,\n // exitTime: dur\n // }\n // });\n // layers.push(cardBg, iconCircle, icon, title, desc);\n // });\n // return layers;\n // }\n // },\n // 9. Quote\n {\n id: \"big-quote\",\n name: \"Quote\",\n description: \"Cinematic quote with word reveal, decorative mark, and author attribution\",\n categories: [\"text\"],\n duration: 8,\n previewTime: 3,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const quoteW = 65;\n const group = createLayer(\"group\", {\n props: { background: \"#050814\" },\n layer: { id: groupId, name: \"Quote\", enterTime: 0, exitTime: dur }\n });\n const quoteMarkSize = round1(t.hero * 3);\n const quoteMarkW = round1(quoteMarkSize * 0.8);\n const quoteMark = createLayer(\"text\", {\n props: {\n content: \"“\",\n fontSize: quoteMarkSize,\n fontWeight: \"800\",\n color: pal.primaryDark,\n textAlign: \"left\",\n autoWidth: false,\n width: quoteMarkW\n },\n transform: {\n position: { x: textLeft(-45, quoteMarkW), y: -(ar * 28), z: 0 }\n },\n style: { opacity: 0.3 },\n keyframes: fadeIn(0, 0.4),\n layer: { name: \"Quote Mark\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const accentBar = createLayer(\"shape\", {\n props: {\n width: 0.5,\n height: round1(ar * 42),\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: { position: { x: -35, y: -(ar * 4), z: 1 } },\n keyframes: getPresetKeyframes(\"wipe-down\", 0.2, 0.6),\n layer: { name: \"Accent Bar\", parentId: groupId, enterTime: 0.2, exitTime: dur }\n });\n const quoteText = \"Design is not just what it looks like. Design is how it works.\";\n const quoteStartX = -30;\n const quote = createLayer(\"text\", {\n props: {\n content: quoteText,\n fontSize: t.h2,\n fontWeight: \"700\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: lineHeight(\"normal\"),\n autoWidth: false,\n width: quoteW,\n ...textTransition.soft\n },\n transform: {\n position: { x: textLeft(quoteStartX, quoteW), y: -(ar * 6), z: 1 }\n },\n keyframes: [kfReveal(0.3, \"\"), kfReveal(3.5, quoteText), ...fadeIn(0.3, 0.3)],\n layer: { name: \"Quote\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const divider = createLayer(\"shape\", {\n props: {\n width: 4,\n height: 0.2,\n shapeType: \"rectangle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: {\n position: {\n x: textLeft(quoteStartX, 4),\n y: ar * 20,\n z: 1\n }\n },\n keyframes: getPresetKeyframes(\"wipe-right\", 2, 0.5),\n layer: { name: \"Divider\", parentId: groupId, enterTime: 2, exitTime: dur }\n });\n const authorW = 30;\n const author = createLayer(\"text\", {\n props: {\n content: \"— Steve Jobs\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"left\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: authorW\n },\n transform: {\n position: { x: textLeft(quoteStartX, authorW), y: ar * 28, z: 1 }\n },\n keyframes: fadeIn(2.2, 0.7),\n layer: { name: \"Author\", parentId: groupId, enterTime: 2.2, exitTime: dur }\n });\n return [group, quoteMark, accentBar, quote, divider, author];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // LOGOS\n // ════════════════════════════════════════════════════════════════════════════\n // 10. Brand Reveal (Light)\n {\n id: \"brand-reveal\",\n name: \"Brand Reveal\",\n description: \"Clean logo reveal with brand name and tagline on a white background\",\n categories: [\"logos\"],\n duration: 6,\n previewTime: 1.5,\n theme: \"light\",\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const th = themes.light;\n const markSize = round1(Math.min(1, ar) * 20);\n const centerW = 60;\n const group = createLayer(\"group\", {\n props: { background: \"#ffffff\" },\n layer: { id: groupId, name: \"Brand Reveal\", enterTime: 0, exitTime: dur }\n });\n const blob1 = createLayer(\"shape\", {\n props: {\n ...size(d, 0.45, 0.8),\n shapeType: \"circle\",\n background: pal.primaryLight,\n strokeWidth: 0\n },\n transform: { position: { x: -40, y: -(ar * 35), z: -10 } },\n style: { opacity: 0.3, blur: round1(ar * 10) },\n layer: { name: \"Blob 1\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const blob2 = createLayer(\"shape\", {\n props: {\n ...size(d, 0.4, 0.7),\n shapeType: \"circle\",\n background: \"#dbeafe\",\n strokeWidth: 0\n },\n transform: { position: { x: 40, y: ar * 35, z: -10 } },\n style: { opacity: 0.25, blur: round1(ar * 10) },\n layer: { name: \"Blob 2\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const logoMark = createLayer(\"shape\", {\n props: {\n width: markSize,\n height: markSize,\n shapeType: \"rectangle\",\n background: {\n type: \"linear\",\n angle: 135,\n stops: [\n { color: pal.primary, position: 0 },\n { color: pal.primaryLight, position: 100 }\n ]\n },\n strokeWidth: 0,\n borderRadius: round1(markSize * 0.22)\n },\n transform: { position: { x: 0, y: -(ar * 17), z: 0 } },\n keyframes: getPresetKeyframes(\"pop\", 0, 0.9),\n layer: { name: \"Logo Mark\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const letterW = round1(markSize * 1.2);\n const logoLetter = createLayer(\"text\", {\n props: {\n content: \"M\",\n fontSize: round1(markSize * 0.48),\n fontWeight: \"800\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: letterW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 17), z: 1 } },\n keyframes: fadeIn(0.4, 0.5),\n layer: { name: \"Logo Letter\", parentId: groupId, enterTime: 0.4, exitTime: dur }\n });\n const brandY = ar * 6;\n const brandName = createLayer(\"text\", {\n props: {\n content: \"Momentum\",\n fontSize: t.h1,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"center\",\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: brandY, z: 0 } },\n keyframes: revealUp(0.6, 0.6, brandY, sp.md),\n layer: { name: \"Brand Name\", parentId: groupId, enterTime: 0.6, exitTime: dur }\n });\n const tagline = createLayer(\"text\", {\n props: {\n content: \"Move at the speed of your ideas.\",\n fontSize: t.body,\n fontWeight: \"400\",\n color: th.muted,\n textAlign: \"center\",\n letterSpacing: 0.3,\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: ar * 17, z: 0 } },\n keyframes: fadeIn(1.1, 0.7),\n layer: { name: \"Tagline\", parentId: groupId, enterTime: 1.1, exitTime: dur }\n });\n return [group, blob1, blob2, logoMark, logoLetter, brandName, tagline];\n }\n },\n // 11. Dark Logo Reveal\n {\n id: \"dark-logo-reveal\",\n name: \"Dark Logo Reveal\",\n description: \"Dramatic logo reveal with glowing ring pulse on dark background\",\n categories: [\"logos\"],\n duration: 6,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const ringSize = round1(Math.min(100, ar * 100) * 0.35);\n const logoSize = round1(Math.min(100, ar * 100) * 0.2);\n const centerW = 60;\n const group = createLayer(\"group\", {\n props: { background: \"#030712\" },\n layer: { id: groupId, name: \"Dark Logo Reveal\", enterTime: 0, exitTime: dur }\n });\n const halo = createLayer(\"shape\", {\n props: {\n width: round1(ringSize * 1.6),\n height: round1(ringSize * 1.6),\n shapeType: \"circle\",\n background: pal.primary,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: -(ar * 10), z: -5 } },\n style: { opacity: 0.18, blur: round1(ar * 10) },\n keyframes: [\n kf(0, \"opacity\", 0),\n kf(0.6, \"opacity\", 0.18),\n kf(0.6, \"scale.x\", 0.4),\n kf(0.6, \"scale.y\", 0.4),\n kf(1.5, \"scale.x\", 1, \"ease-out\"),\n kf(1.5, \"scale.y\", 1, \"ease-out\")\n ],\n layer: { name: \"Halo\", parentId: groupId, enterTime: 0, exitTime: dur }\n });\n const ring = createLayer(\"shape\", {\n props: {\n width: ringSize,\n height: ringSize,\n shapeType: \"circle\",\n background: \"transparent\",\n strokeWidth: 1,\n stroke: pal.primary\n },\n transform: { position: { x: 0, y: -(ar * 10), z: 0 } },\n style: { opacity: 0.5 },\n keyframes: [\n kf(0.3, \"scale.x\", 0.2),\n kf(0.3, \"scale.y\", 0.2),\n kf(0.3, \"opacity\", 0),\n kf(1, \"scale.x\", 1, \"ease-out\"),\n kf(1, \"scale.y\", 1, \"ease-out\"),\n kf(0.8, \"opacity\", 0.5)\n ],\n layer: { name: \"Ring\", parentId: groupId, enterTime: 0.3, exitTime: dur }\n });\n const logoBg = createLayer(\"shape\", {\n props: {\n width: logoSize,\n height: logoSize,\n shapeType: \"circle\",\n background: {\n type: \"linear\",\n angle: 135,\n stops: [\n { color: pal.primary, position: 0 },\n { color: pal.primaryDark, position: 100 }\n ]\n },\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: -(ar * 10), z: 1 } },\n keyframes: getPresetKeyframes(\"pop\", 0.5, 0.8, void 0, { fromScale: 0.2 }),\n layer: { name: \"Logo Circle\", parentId: groupId, enterTime: 0.5, exitTime: dur }\n });\n const symbolW = round1(logoSize * 1.2);\n const logoSymbol = createLayer(\"text\", {\n props: {\n content: \"◈\",\n fontSize: round1(logoSize * 0.36),\n fontWeight: \"400\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: symbolW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 10), z: 2 } },\n keyframes: fadeIn(0.8, 0.5),\n layer: { name: \"Symbol\", parentId: groupId, enterTime: 0.8, exitTime: dur }\n });\n const brandY = ar * 10;\n const brandName = createLayer(\"text\", {\n props: {\n content: \"VERTEX\",\n fontSize: t.h1,\n fontWeight: \"900\",\n color: \"#f8fafc\",\n textAlign: \"center\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: brandY, z: 0 } },\n keyframes: revealUp(1, 0.6, brandY, sp.md),\n layer: { name: \"Brand Name\", parentId: groupId, enterTime: 1, exitTime: dur }\n });\n const tagline = createLayer(\"text\", {\n props: {\n content: \"Designed for the future.\",\n fontSize: t.body,\n fontWeight: \"300\",\n color: themes.dark.muted,\n textAlign: \"center\",\n letterSpacing: 0.5,\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: ar * 22, z: 0 } },\n keyframes: fadeIn(1.6, 0.7),\n layer: { name: \"Tagline\", parentId: groupId, enterTime: 1.6, exitTime: dur }\n });\n return [group, halo, ring, logoBg, logoSymbol, brandName, tagline];\n }\n },\n // ════════════════════════════════════════════════════════════════════════════\n // FLASHY\n // ════════════════════════════════════════════════════════════════════════════\n // 12. Kinetic Text Intro\n {\n id: \"kinetic-text-intro\",\n name: \"Kinetic Text Intro\",\n description: \"Three-beat kinetic title: slow char build, brand pop, word reveal subtitle\",\n categories: [\"text\"],\n duration: 8,\n previewTime: 3.5,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 8;\n const t = typeScale(d);\n const pal = palette(primaryColor);\n const th = themes.dark;\n const centerW = 80;\n const subContent = \"a prompt away from being a producer\";\n const group = createLayer(\"group\", {\n props: {\n background: { type: \"dynamic\", variant: \"silk\", speed: 1, intensity: 0.7 }\n },\n layer: { id: groupId, name: \"Kinetic Text Intro\", enterTime: 0, exitTime: dur }\n });\n const word = createLayer(\"text\", {\n props: {\n content: \"Meet\",\n fontSize: 30,\n fontWeight: \"800\",\n color: th.text,\n textAlign: \"left\",\n lineHeight: 1,\n letterSpacing: -0.2,\n autoWidth: false,\n width: centerW,\n transitionEffects: [\"fade\", \"blur\", \"slide-up\"],\n transitionDuration: 500,\n transitionEasing: \"ease-out-quad\",\n slideDistance: 6.67,\n blurAmount: 0.93,\n transitionColorFrom: pal.primaryLight\n },\n style: {\n dropShadowY: 0.74,\n dropShadowBlur: 2.2,\n dropShadowColor: \"rgba(0,0,0,0.15)\"\n },\n keyframes: [\n kfCharReveal(0, \"\"),\n kfCharReveal(1.72, \"Meet\"),\n kf(0, \"scale.x\", 2, \"ease-in-out\"),\n kf(0, \"scale.y\", 2, \"ease-in-out\"),\n kf(0.77, \"scale.x\", 1, \"ease-in-out\"),\n kf(0.77, \"scale.y\", 1, \"ease-in-out\"),\n kf(1.34, \"position.x\", 0, \"ease-in-out\"),\n kf(1.77, \"position.x\", 0, \"ease-in\"),\n kf(2.68, \"position.x\", -40, \"linear\"),\n kf(1.99, \"opacity\", 1, \"ease-in\"),\n kf(2.63, \"opacity\", 0, \"linear\")\n ],\n layer: { name: \"Meet\", parentId: groupId, enterTime: 0, exitTime: 2.87 }\n });\n const brand = createLayer(\"text\", {\n props: {\n content: \"Your Brand\",\n fontSize: round1(t.hero * 1.27),\n fontWeight: \"900\",\n color: pal.primary,\n textAlign: \"center\",\n lineHeight: 1,\n autoWidth: false,\n width: centerW,\n transitionEffects: [\"scale\", \"fade\", \"slide-left\"],\n transitionDuration: 50,\n transitionEasing: \"ease-out\",\n slideDistance: 1.875,\n scaleFrom: 0.5,\n blurAmount: 0.78\n },\n keyframes: [\n kf(2.69, \"opacity\", 0, \"ease-out\"),\n kf(2.69, \"position.x\", 20, \"ease-out\"),\n kf(2.69, \"scale.x\", 0.85, \"ease-out\"),\n kf(2.69, \"scale.y\", 0.85, \"ease-out\"),\n kf(3.48, \"opacity\", 1, \"ease-in\"),\n kf(3.48, \"position.x\", 0, \"ease-out\"),\n kf(3.48, \"scale.x\", 1, \"ease-in\"),\n kf(3.48, \"scale.y\", 1, \"ease-in\"),\n kf(3.54, \"position.x\", 0, \"linear\"),\n kf(4.55, \"opacity\", 1, \"linear\"),\n kf(4.65, \"position.y\", 0, \"ease-in\"),\n kf(5.13, \"opacity\", 0, \"linear\"),\n kf(5.27, \"position.y\", -4, \"ease-in-out\"),\n kf(5.48, \"scale.x\", 0.8, \"linear\"),\n kf(5.48, \"scale.y\", 0.8, \"linear\")\n ],\n layer: { name: \"Brand\", parentId: groupId, enterTime: 2.69, exitTime: 5.8 }\n });\n const sub = createLayer(\"text\", {\n props: {\n content: subContent,\n fontSize: 2.6,\n fontFamily: \"Raleway\",\n fontWeight: \"200\",\n color: th.text,\n textAlign: \"left\",\n letterSpacing: 0.3,\n lineHeight: lineHeight(\"normal\"),\n autoWidth: false,\n width: 55,\n transitionEffects: [\"fade\", \"slide-up\", \"blur\"],\n transitionDuration: 350,\n transitionEasing: \"ease-in-quad\",\n slideDistance: 2.7,\n blurAmount: 0.78\n },\n transform: { position: { x: 0, y: 10, z: 0 } },\n keyframes: [\n kfReveal(2.77, \"\"),\n kfCharReveal(4.06, subContent),\n kf(4.92, \"opacity\", 1, \"ease-in\"),\n kf(5.92, \"opacity\", 0, \"linear\")\n ],\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 2.63, exitTime: 5.92 }\n });\n return [group, word, brand, sub];\n }\n },\n // 13. Gradient Hero\n {\n id: \"gradient-hero\",\n name: \"Gradient Hero\",\n description: \"Bold headline on a vibrant primary-color gradient background\",\n categories: [\"text\"],\n duration: 6,\n previewTime: 2,\n createLayers: (d, primaryColor) => {\n const groupId = nanoid();\n const dur = 6;\n const ar = d.height / d.width;\n const t = typeScale(d);\n const sp = spacing(d);\n const pal = palette(primaryColor);\n const centerW = 75;\n const group = createLayer(\"group\", {\n props: {\n background: {\n type: \"linear\",\n angle: 135,\n stops: [\n { color: pal.primaryDark, position: 0 },\n { color: pal.primary, position: 50 },\n { color: pal.primaryLight, position: 100 }\n ]\n }\n },\n layer: { id: groupId, name: \"Gradient Hero\", enterTime: 0, exitTime: dur }\n });\n const headline = createLayer(\"text\", {\n props: {\n content: \"The Future\\nis Here.\",\n fontSize: round1(t.hero * 1.3),\n fontWeight: \"900\",\n color: pal.onPrimary,\n textAlign: \"center\",\n lineHeight: lineHeight(\"tight\"),\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: -(ar * 8), z: 0 } },\n keyframes: getPresetKeyframes(\"scale-in\", 0.1, 0.8, void 0, { fromScale: 0.85 }),\n layer: { name: \"Headline\", parentId: groupId, enterTime: 0.1, exitTime: dur }\n });\n const subY = ar * 20;\n const subtitle = createLayer(\"text\", {\n props: {\n content: \"And it starts with you.\",\n fontSize: t.h3,\n fontWeight: \"400\",\n color: pal.onPrimary,\n textAlign: \"center\",\n autoWidth: false,\n width: centerW\n },\n transform: { position: { x: textCenter(0), y: subY, z: 0 } },\n style: { opacity: 0.85 },\n keyframes: revealUp(0.6, 0.7, subY, sp.md),\n layer: { name: \"Subtitle\", parentId: groupId, enterTime: 0.6, exitTime: dur }\n });\n const decorLine = createLayer(\"shape\", {\n props: {\n width: 8,\n height: round1(ar * 0.4),\n shapeType: \"rectangle\",\n background: pal.onPrimary,\n strokeWidth: 0\n },\n transform: { position: { x: 0, y: ar * 35, z: 0 } },\n style: { opacity: 0.5 },\n keyframes: getPresetKeyframes(\"wipe-right\", 1, 0.5),\n layer: { name: \"Line\", parentId: groupId, enterTime: 1, exitTime: dur }\n });\n return [group, headline, subtitle, decorLine];\n }\n }\n];\nconst SCENE_CATEGORIES = [\n \"media & text\",\n \"media\",\n \"text\",\n \"numbers\",\n \"logos\"\n];\nfunction Scene_preview($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n preset,\n dimensions = { width: 1920, height: 1080 },\n primaryColor = \"#6366f1\"\n } = $$props;\n const editorState = getEditorState();\n const project = derived(() => editorState.project.state);\n const layers = derived(() => preset.createLayers(dimensions, primaryColor));\n const defaultTime = derived(() => preset.previewTime ?? 0);\n let currentTime = derived(defaultTime);\n let isHovering = false;\n $$renderer2.push(`<button class=\"group flex w-full flex-col overflow-hidden rounded-lg border bg-card text-left transition-all hover:border-primary/60 hover:shadow-md hover:shadow-primary/10\">`);\n {\n let overlay = function($$renderer3) {\n {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"absolute inset-0 flex items-center justify-center bg-black/20 opacity-0 transition-opacity group-hover:opacity-100\"><div class=\"rounded-full bg-black/50 p-2 backdrop-blur-sm\">`);\n Play($$renderer3, { class: \"h-4 w-4 fill-white text-white\" });\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]--> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Scaled_canvas($$renderer2, {\n layers: layers(),\n currentTime: currentTime(),\n projectDuration: preset.duration,\n viewportSize: dimensions,\n isPlaying: isHovering,\n project: project(),\n overlay\n });\n }\n $$renderer2.push(`<!----> <div class=\"flex items-start gap-1.5 p-2\"><div class=\"min-w-0 flex-1\"><p class=\"truncate text-xs font-medium\">${escape_html(preset.name)}</p> <p class=\"mt-0.5 line-clamp-2 text-[10px] leading-snug text-muted-foreground\">${escape_html(preset.description)}</p></div> <span class=\"mt-0.5 shrink-0 text-[9px] text-muted-foreground/60\">${escape_html(preset.duration)}s</span></div></button>`);\n });\n}\nfunction Scenes_panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let activeCategory = null;\n let primaryColor = derived(() => projectStore().state.primaryColor);\n const filteredPresets = derived(\n () => scenePresets\n );\n const projectDimensions = derived(() => ({\n width: projectStore().state.width,\n height: projectStore().state.height\n }));\n $$renderer2.push(`<div class=\"flex h-full flex-col p-3\">`);\n Input_wrapper($$renderer2, {\n for: \"scenes-accent-color\",\n label: \"Accent color\",\n children: ($$renderer3) => {\n Color_picker($$renderer3, {\n value: primaryColor(),\n onchange: (color) => primaryColor(color)\n });\n }\n });\n $$renderer2.push(`<!----> <div class=\"border-b py-2\"><div class=\"flex flex-wrap gap-1.5\"><button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium transition-colors ${stringify(\n \"bg-primary text-primary-foreground\"\n )}`)}>All</button> <!--[-->`);\n const each_array = ensure_array_like(SCENE_CATEGORIES);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let category = each_array[$$index];\n $$renderer2.push(`<button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium capitalize transition-colors ${stringify(activeCategory === category ? \"bg-primary text-primary-foreground\" : \"bg-muted text-muted-foreground hover:bg-muted/80\")}`)}>${escape_html(category)}</button>`);\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"flex-1 overflow-y-auto\">`);\n if (filteredPresets().length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center py-12\"><p class=\"text-sm text-muted-foreground\">No scenes in this category</p></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"grid gap-3\" style=\"grid-template-columns: repeat(auto-fill, minmax(180px, 1fr))\"><!--[-->`);\n const each_array_1 = ensure_array_like(filteredPresets());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let preset = each_array_1[$$index_1];\n Scene_preview($$renderer2, {\n preset,\n dimensions: projectDimensions(),\n primaryColor: primaryColor()\n });\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction Layer_preview($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { meta, dimensions = { width: 1280, height: 720 } } = $$props;\n const editorState = getEditorState();\n const project = derived(() => editorState.project.state);\n const previewLayer = derived(() => createLayer(meta.type, { projectDimensions: dimensions }));\n $$renderer2.push(`<button class=\"group flex w-full flex-col overflow-hidden rounded-lg border bg-card text-left transition-all hover:border-primary/60 hover:shadow-md hover:shadow-primary/10\"><div class=\"relative w-full overflow-hidden bg-black/80\">`);\n {\n let overlay = function($$renderer3) {\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Scaled_canvas($$renderer2, {\n layers: [previewLayer()],\n currentTime: 0,\n projectDuration: 5,\n viewportSize: dimensions,\n project: project(),\n overlay\n });\n }\n $$renderer2.push(`<!----></div> <div class=\"flex items-start gap-1.5 p-2\"><div class=\"min-w-0 flex-1\"><p class=\"truncate text-xs font-medium\">${escape_html(meta.label)}</p> <p class=\"mt-0.5 line-clamp-2 text-[10px] leading-snug text-muted-foreground\">${escape_html(meta.description)}</p></div></div></button>`);\n });\n}\nfunction Add_layer_panel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n let activeCategory = null;\n const hiddenTypes = /* @__PURE__ */ new Set([\"captions\", \"group\", PROJECT_LAYER_TYPE]);\n const categoryOrder = [\"media\", \"text\", \"shape\", \"code\", \"ui\"];\n const categoryConfig = {\n media: { icon: Film, label: \"Media\" },\n text: { icon: Type, label: \"Text\" },\n shape: { icon: Shapes, label: \"Shapes\" },\n code: { icon: Code$1, label: \"Code\" },\n ui: { icon: Layout_grid, label: \"UI Elements\" }\n };\n const groupedLayers = derived(() => {\n const groups = new SvelteMap();\n for (const layer of Object.values(layerRegistry)) {\n if (hiddenTypes.has(layer.type)) continue;\n const cat = layer.category;\n if (!groups.has(cat)) groups.set(cat, []);\n groups.get(cat).push(layer);\n }\n return categoryOrder.filter((c) => groups.has(c)).map((c) => ({ category: c, ...categoryConfig[c], layers: groups.get(c) }));\n });\n const filteredGroups = derived(\n () => groupedLayers()\n );\n const projectDimensions = derived(() => ({\n width: projectStore().state.width,\n height: projectStore().state.height\n }));\n $$renderer2.push(`<div class=\"flex h-full flex-col\"><div class=\"border-b px-3 py-2\"><div class=\"flex flex-wrap gap-1.5\"><button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium transition-colors ${stringify(\n \"bg-primary text-primary-foreground\"\n )}`)}>All</button> <!--[-->`);\n const each_array = ensure_array_like(categoryOrder);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let category = each_array[$$index];\n if (groupedLayers().some((g) => g.category === category)) {\n $$renderer2.push(\"<!--[0-->\");\n const config = categoryConfig[category];\n $$renderer2.push(`<button${attr_class(`rounded-full px-2.5 py-1 text-[11px] font-medium transition-colors ${stringify(activeCategory === category ? \"bg-primary text-primary-foreground\" : \"bg-muted text-muted-foreground hover:bg-muted/80\")}`)}>${escape_html(config.label)}</button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"flex-1 overflow-y-auto p-3\">`);\n if (filteredGroups().length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center py-12\"><p class=\"text-sm text-muted-foreground\">No layers in this category</p></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"space-y-4\"><!--[-->`);\n const each_array_1 = ensure_array_like(filteredGroups());\n for (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n let group = each_array_1[$$index_2];\n const CatIcon = group.icon;\n $$renderer2.push(`<div><div class=\"mb-2 flex items-center gap-1.5\">`);\n if (CatIcon) {\n $$renderer2.push(\"<!--[-->\");\n CatIcon($$renderer2, { class: \"h-3.5 w-3.5 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` <span class=\"text-[11px] font-medium text-muted-foreground\">${escape_html(group.label)}</span></div> <div class=\"grid gap-3\" style=\"grid-template-columns: repeat(auto-fill, minmax(180px, 1fr))\"><!--[-->`);\n const each_array_2 = ensure_array_like(group.layers);\n for (let $$index_1 = 0, $$length2 = each_array_2.length; $$index_1 < $$length2; $$index_1++) {\n let layer = each_array_2[$$index_1];\n Layer_preview($$renderer2, {\n meta: layer,\n dimensions: projectDimensions()\n });\n }\n $$renderer2.push(`<!--]--></div></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction Onboarding_wizard($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const spotStyle = derived(() => \"\");\n {\n $$renderer2.push(\"<!--[0-->\");\n if (spotStyle()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"pointer-events-none fixed z-50 rounded-lg transition-all duration-300\"${attr_style(`box-shadow: 0 0 0 9999px rgba(0,0,0,0.5); ${stringify(spotStyle())}`)}></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"pointer-events-none fixed inset-0 z-50 bg-black/50\"></div>`);\n }\n $$renderer2.push(`<!--]--> <div class=\"fixed inset-0 z-50\"></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction addLayerContent($$renderer) {\n Add_layer_panel($$renderer);\n}\nfunction scenesContent($$renderer) {\n Scenes_panel($$renderer);\n}\nfunction templatesContent($$renderer) {\n Scroll_area($$renderer, {\n class: \"h-full\",\n children: ($$renderer2) => {\n Templates_panel($$renderer2);\n },\n $$slots: { default: true }\n });\n}\nfunction assetsContent($$renderer) {\n $$renderer.push(`<!--[!-->`);\n $$renderer.push(`<!--]-->`);\n}\nfunction Editor($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const editorState = derived(getEditorState);\n const projectStore = derived(() => editorState().project);\n const isRecording = derived(() => projectStore().isRecording);\n const selectedLayer = derived(() => projectStore().selectedLayer);\n const projectLayer = derived(() => createVirtualProjectLayer(projectStore().state));\n let pixelsPerSecond = 100;\n let aiChatModelId = DEFAULT_MODEL_ID;\n let aiChatScrollRef = null;\n let activePanel = derived(() => editorState().activeSidebarPanel);\n const projectCurrentValues = derived(() => ({\n transform: defaultTransform(),\n style: defaultLayerStyle(),\n props: { ...projectLayer().props }\n }));\n const layerPropertyMetadata = derived(() => {\n if (!selectedLayer()) return [];\n const schema = getLayerSchema(selectedLayer().type);\n return extractPropertyMetadata(schema);\n });\n const currentValues = derived(() => {\n if (!selectedLayer()) return null;\n const animatedTransform = getAnimatedTransform(selectedLayer().keyframes, projectStore().currentTime);\n const animatedStyle = getAnimatedStyle(selectedLayer().keyframes, projectStore().currentTime);\n return {\n transform: {\n ...selectedLayer().transform,\n position: {\n x: animatedTransform.position.x ?? selectedLayer().transform.position.x,\n y: animatedTransform.position.y ?? selectedLayer().transform.position.y,\n z: animatedTransform.position.z ?? selectedLayer().transform.position.z\n },\n rotation: {\n x: animatedTransform.rotation.x ?? selectedLayer().transform.rotation.x,\n y: animatedTransform.rotation.y ?? selectedLayer().transform.rotation.y,\n z: animatedTransform.rotation.z ?? selectedLayer().transform.rotation.z\n },\n scale: {\n x: animatedTransform.scale.x ?? selectedLayer().transform.scale.x,\n y: animatedTransform.scale.y ?? selectedLayer().transform.scale.y\n }\n },\n style: {\n opacity: animatedStyle.opacity ?? selectedLayer().style.opacity,\n blur: animatedStyle.blur ?? selectedLayer().style.blur ?? 0,\n brightness: animatedStyle.brightness ?? selectedLayer().style.brightness ?? 1,\n contrast: animatedStyle.contrast ?? selectedLayer().style.contrast ?? 1,\n saturate: animatedStyle.saturate ?? selectedLayer().style.saturate ?? 1,\n dropShadowX: animatedStyle.dropShadowX ?? selectedLayer().style.dropShadowX ?? 0,\n dropShadowY: animatedStyle.dropShadowY ?? selectedLayer().style.dropShadowY ?? 0,\n dropShadowBlur: animatedStyle.dropShadowBlur ?? selectedLayer().style.dropShadowBlur ?? 0,\n dropShadowColor: animatedStyle.dropShadowColor ?? selectedLayer().style.dropShadowColor ?? \"transparent\"\n },\n props: getAnimatedProps(selectedLayer().keyframes, selectedLayer().props, layerPropertyMetadata(), projectStore().currentTime)\n };\n });\n function updateLayerProperty(property, value) {\n if (!selectedLayer()) return;\n projectStore().updateLayer(selectedLayer().id, { [property]: value });\n }\n function mapToAnimatable(target, propertyName) {\n if (target === \"transform\") return propertyName;\n if (target === \"props\") return `props.${propertyName}`;\n return propertyName;\n }\n function updateAnimatableValue(layer, animatableProperty, value, updateBase) {\n const currentTime = projectStore().currentTime;\n const hasKeyframes = layer.keyframes.some((k) => k.property === animatableProperty);\n if (hasKeyframes || !updateBase) {\n const keyframeAtTime = layer.keyframes.find((k) => k.property === animatableProperty && k.time === currentTime);\n if (keyframeAtTime) {\n projectStore().updateKeyframe(layer.id, keyframeAtTime.id, { value });\n } else {\n const interpolation = getDefaultInterpolationForProperty(layer.type, animatableProperty);\n projectStore().addKeyframe(layer.id, {\n id: nanoid(),\n time: currentTime,\n property: animatableProperty,\n value,\n interpolation\n });\n }\n } else {\n updateBase();\n }\n }\n function setDeep(obj, path, value) {\n const keys = path.split(\".\");\n const result = { ...obj };\n let current = result;\n for (let i = 0; i < keys.length - 1; i++) {\n const key2 = keys[i];\n current[key2] = { ...current[key2] };\n current = current[key2];\n }\n current[keys[keys.length - 1]] = value;\n return result;\n }\n function updateProperty(propertyName, value, target) {\n if (!selectedLayer()) return;\n const animatable = mapToAnimatable(target, propertyName);\n if (target === \"transform\" && currentValues()) {\n const updates = scaleMiddleware(propertyName, value, {\n transform: { ...selectedLayer().transform, ...currentValues()?.transform },\n style: { ...selectedLayer().style, ...currentValues().style },\n props: currentValues().props\n });\n for (const [prop, val] of Object.entries(updates)) {\n const propAnimatable = mapToAnimatable(\"transform\", prop);\n updateAnimatableValue(selectedLayer(), propAnimatable, val, () => {\n const newTransform = setDeep(selectedLayer().transform, prop, val);\n projectStore().updateLayer(selectedLayer().id, { transform: newTransform });\n });\n }\n } else if (target === \"style\") {\n updateAnimatableValue(selectedLayer(), animatable, value, () => {\n const newStyle = { ...selectedLayer().style, [propertyName]: value };\n projectStore().updateLayer(selectedLayer().id, { style: newStyle });\n });\n } else {\n const definition = getLayerDefinition(selectedLayer().type);\n const middleware = definition.middleware;\n if (middleware && currentValues()) {\n const updates = middleware(propertyName, value, {\n transform: { ...selectedLayer().transform, ...currentValues().transform },\n style: { ...selectedLayer().style, ...currentValues().style },\n props: currentValues().props\n });\n for (const [prop, val] of Object.entries(updates)) {\n const propAnimatable = mapToAnimatable(\"props\", prop);\n updateAnimatableValue(selectedLayer(), propAnimatable, val, () => {\n const newProps = { ...selectedLayer().props, [prop]: val };\n projectStore().updateLayer(selectedLayer().id, { props: newProps });\n });\n }\n } else {\n updateAnimatableValue(selectedLayer(), animatable, value, () => {\n const newProps = { ...selectedLayer().props, [propertyName]: value };\n projectStore().updateLayer(selectedLayer().id, { props: newProps });\n });\n }\n }\n }\n function addKeyframe(property) {\n if (!selectedLayer() || !currentValues()) return;\n const propertyValueMap = {\n \"position.x\": currentValues().transform.position.x,\n \"position.y\": currentValues().transform.position.y,\n \"position.z\": currentValues().transform.position.z,\n \"rotation.x\": currentValues().transform.rotation.x,\n \"rotation.y\": currentValues().transform.rotation.y,\n \"rotation.z\": currentValues().transform.rotation.z,\n \"scale.x\": currentValues().transform.scale.x,\n \"scale.y\": currentValues().transform.scale.y,\n opacity: currentValues().style.opacity,\n blur: currentValues().style.blur,\n brightness: currentValues().style.brightness,\n contrast: currentValues().style.contrast,\n saturate: currentValues().style.saturate,\n dropShadowX: currentValues().style.dropShadowX,\n dropShadowY: currentValues().style.dropShadowY,\n dropShadowBlur: currentValues().style.dropShadowBlur,\n dropShadowColor: currentValues().style.dropShadowColor\n };\n let currentValue;\n if (property in propertyValueMap) {\n currentValue = propertyValueMap[property];\n } else if (property.startsWith(\"props.\")) {\n const propName = property.slice(6);\n currentValue = currentValues().props[propName] ?? 0;\n } else {\n currentValue = 0;\n }\n updateAnimatableValue(selectedLayer(), property, currentValue);\n }\n const hasLayerProperties = derived(() => layerPropertyMetadata().length > 0);\n const layerBackgroundField = derived(() => layerPropertyMetadata().find((m) => m.meta?.widget === \"background\"));\n const activeBackgroundValue = derived(() => {\n if (selectedLayer() && layerBackgroundField() && currentValues()) {\n return currentValues().props[layerBackgroundField().name];\n }\n return projectCurrentValues().props.background;\n });\n function updateActiveBackground(newValue) {\n if (selectedLayer() && layerBackgroundField()) {\n updateProperty(layerBackgroundField().name, newValue, \"props\");\n } else {\n updateProjectProperty(\"background\", newValue);\n }\n }\n function updateProjectProperty(propertyName, value, _target) {\n const projectUpdates = mapProjectLayerPropsToProject({ [propertyName]: value });\n projectStore().updateProject(projectUpdates);\n }\n function updateProjectName(value) {\n projectStore().updateProject({ name: value });\n }\n const sidebarPanels = derived(() => {\n const panels = [\n {\n id: \"chat\",\n label: \"AI Chat\",\n icon: Wand_sparkles,\n content: chatContent,\n actions: chatActions,\n keepMounted: true\n }\n ];\n if (!isRecording()) {\n panels.push({\n id: \"settings\",\n label: \"Project\",\n icon: Monitor_play,\n content: settingsContent\n });\n panels.push({\n id: \"add-layer\",\n label: \"Add Layer\",\n icon: Layers_plus,\n content: addLayerContent\n });\n if (!selectedLayer() || layerBackgroundField()) {\n panels.push({\n id: \"background\",\n label: \"Background\",\n icon: Wallpaper,\n content: backgroundContent\n });\n }\n if (selectedLayer()) {\n if (hasLayerProperties()) {\n panels.push({\n id: \"layer\",\n label: \"Layer\",\n icon: Layers,\n content: layerContent\n });\n }\n panels.push(\n {\n id: \"transform\",\n label: \"Transform\",\n icon: Move,\n content: transformContent\n },\n {\n id: \"style\",\n label: \"Style\",\n icon: Palette,\n content: styleContent\n },\n {\n id: \"timing\",\n label: \"Time & Animations\",\n icon: Clock,\n content: timingContent\n },\n {\n id: \"keyframes\",\n label: `Keyframes (${selectedLayer().keyframes.length})`,\n icon: Boxes,\n content: keyframesContent\n }\n );\n }\n panels.push(\n {\n id: \"scenes\",\n label: \"Scenes\",\n icon: Clapperboard,\n content: scenesContent\n },\n {\n id: \"templates\",\n label: \"Templates\",\n icon: Layout_template,\n content: templatesContent\n },\n {\n id: \"assets\",\n label: \"Assets\",\n icon: Cloud_upload,\n content: assetsContent\n }\n );\n }\n return panels;\n });\n function chatContent($$renderer3) {\n $$renderer3.push(`<div class=\"flex h-full flex-col\">`);\n Ai_chat($$renderer3, {\n scrollRef: aiChatScrollRef,\n get selectedModelId() {\n return aiChatModelId;\n },\n set selectedModelId($$value) {\n aiChatModelId = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div>`);\n }\n function chatActions($$renderer3) {\n Model_selector($$renderer3, {\n selectedModelId: aiChatModelId,\n onModelChange: (id) => aiChatModelId = id\n });\n }\n function settingsContent($$renderer3) {\n $$renderer3.push(`<div class=\"space-y-4 p-4\"><div class=\"space-y-2\">`);\n Label($$renderer3, {\n for: \"project-name\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Project Name`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Input($$renderer3, {\n id: \"project-name\",\n value: projectLayer().name,\n oninput: (e) => updateProjectName(e.currentTarget.value)\n });\n $$renderer3.push(`<!----></div> `);\n Layer_properties_group($$renderer3, {\n layer: projectLayer(),\n currentValues: projectCurrentValues(),\n updateProperty: updateProjectProperty,\n addKeyframe: () => {\n }\n });\n $$renderer3.push(`<!----></div>`);\n }\n function layerContent($$renderer3) {\n if (selectedLayer() && currentValues()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\"><div class=\"space-y-2\">`);\n Label($$renderer3, {\n for: \"layer-name\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Name`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Input($$renderer3, {\n id: \"layer-name\",\n value: selectedLayer().name,\n oninput: (e) => updateLayerProperty(\"name\", e.currentTarget.value)\n });\n $$renderer3.push(`<!----></div> `);\n Layer_properties_group($$renderer3, {\n layer: selectedLayer(),\n currentValues: currentValues(),\n updateProperty,\n addKeyframe\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function transformContent($$renderer3) {\n if (selectedLayer() && currentValues()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Transform_group($$renderer3, {\n layer: selectedLayer(),\n currentValues: currentValues(),\n updateProperty,\n addKeyframe\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function styleContent($$renderer3) {\n if (selectedLayer() && currentValues()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Style_group($$renderer3, {\n currentValues: currentValues(),\n layer: selectedLayer(),\n updateProperty,\n addKeyframe\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function timingContent($$renderer3) {\n if (selectedLayer()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Time_range_group($$renderer3, { layer: selectedLayer() });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function keyframesContent($$renderer3) {\n if (selectedLayer()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"space-y-4 p-4\">`);\n Keyframes_group($$renderer3, { layer: selectedLayer() });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function backgroundContent($$renderer3) {\n const optional = !!selectedLayer() && layerBackgroundField()?.optional;\n $$renderer3.push(`<div class=\"p-4\">`);\n if (optional) {\n $$renderer3.push(\"<!--[0-->\");\n Background_picker($$renderer3, {\n value: activeBackgroundValue(),\n optional: true,\n onchange: updateActiveBackground\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Background_picker($$renderer3, {\n value: activeBackgroundValue() ?? \"#000000\",\n onchange: updateActiveBackground\n });\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Keyboard_handler($$renderer3);\n $$renderer3.push(`<!----> `);\n Onboarding_wizard($$renderer3);\n $$renderer3.push(`<!----> <div class=\"flex-1 overflow-hidden\">`);\n Resizable_pane_group($$renderer3, {\n direction: \"horizontal\",\n class: \"h-full\",\n children: ($$renderer4) => {\n Pane($$renderer4, {\n children: ($$renderer5) => {\n Resizable_pane_group($$renderer5, {\n direction: \"vertical\",\n children: ($$renderer6) => {\n Pane($$renderer6, {\n defaultSize: 70,\n minSize: 30,\n \"data-onboarding\": \"canvas\",\n children: ($$renderer7) => {\n Canvas($$renderer7, { isRecording: isRecording() });\n },\n $$slots: { default: true }\n });\n $$renderer6.push(`<!----> `);\n Resizable_handle($$renderer6, {});\n $$renderer6.push(`<!----> `);\n Pane($$renderer6, {\n defaultSize: 30,\n minSize: 20,\n \"data-onboarding\": \"timeline\",\n children: ($$renderer7) => {\n if (!isRecording()) {\n $$renderer7.push(\"<!--[0-->\");\n {\n let content = function($$renderer8) {\n Timeline($$renderer8, {\n get pixelsPerSecond() {\n return pixelsPerSecond;\n },\n set pixelsPerSecond($$value) {\n pixelsPerSecond = $$value;\n $$settled = false;\n }\n });\n }, actionsSnippet = function($$renderer8) {\n Timeline_toolbar($$renderer8, {\n minPixelsPerSecond: MIN_PIXELS_PER_SECOND,\n maxPixelsPerSecond: MAX_PIXELS_PER_SECOND,\n get pixelsPerSecond() {\n return pixelsPerSecond;\n },\n set pixelsPerSecond($$value) {\n pixelsPerSecond = $$value;\n $$settled = false;\n }\n });\n };\n Panel($$renderer7, {\n title: \"Timeline\",\n disableScroll: true,\n content,\n actionsSnippet,\n $$slots: { content: true, actionsSnippet: true }\n });\n }\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n Resizable_handle($$renderer4, {});\n $$renderer4.push(`<!----> `);\n Pane($$renderer4, {\n defaultSize: 35,\n minSize: 10,\n maxSize: 50,\n children: ($$renderer5) => {\n Editor_sidebar($$renderer5, {\n panels: sidebarPanels(),\n activePanel: activePanel(),\n onPanelChange: (id) => editorState().setActiveSidebarPanel(id),\n get scrollRef() {\n return aiChatScrollRef;\n },\n set scrollRef($$value) {\n aiChatScrollRef = $$value;\n $$settled = false;\n }\n });\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const project = derived(() => data.project);\n const editorState = derived(getEditorState);\n const projectName = derived(() => editorState().project.state.name || \"Untitled Project\");\n const title = derived(() => `${projectName()} - DevMotion Studio (Local)`);\n watch$1(() => data, () => {\n try {\n const projectData = ProjectSchema.omit({ id: true }).parse(project().data);\n editorState().project.loadProject({ id: data.project.id, ...projectData });\n editorState().markAsSaved();\n editorState().setDbContext(data.project.id, data.isOwner, data.canEdit, data.project.isPublic);\n editorState().isMcp = data.project.isMcp;\n } catch (error) {\n console.error(\"Failed to load local project data:\", error);\n toast.error(\"Failed to load project data\");\n }\n });\n let saving = false;\n let suppressReloadUntil = 0;\n async function autoSaveToFs() {\n if (saving || !editorState().hasUnsavedChanges) return;\n saving = true;\n try {\n const res = await fetch(\"/api/local/project\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(editorState().project.state)\n });\n if (!res.ok) throw new Error(await res.text());\n suppressReloadUntil = Date.now() + 1500;\n editorState().markAsSaved();\n } catch (err) {\n console.error(\"Auto-save failed:\", err);\n } finally {\n saving = false;\n }\n }\n const debouncedProject = new Debounced(() => snapshot(editorState().project.state), 700);\n watch$1(() => debouncedProject.current, () => {\n if (editorState().hasUnsavedChanges) autoSaveToFs();\n });\n Seo_head($$renderer2, { title: title() });\n $$renderer2.push(`<!----> `);\n Editor_shell($$renderer2, {\n children: ($$renderer3) => {\n Editor($$renderer3);\n }\n });\n $$renderer2.push(`<!---->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":["clsx","clsx$1","watch","watch$1"],"mappings":"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;AAC1B,UAAU,KAAK,EAAE;AACjB,SAAS;AACT,QAAQ,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5E,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAChD,QAAQ,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG;AAChF,OAAO,CAAC;AACR,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;AACjD,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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"}