@devmotion/cli 0.6.3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1372) hide show
  1. package/README.md +13 -0
  2. package/dist/index.js +135 -349
  3. package/mcp/mcp-stdio.mjs +377 -156
  4. package/package.json +1 -1
  5. package/studio/client/_app/immutable/assets/0.Lv_sH-a4.css +1 -0
  6. package/studio/client/_app/immutable/assets/0.Lv_sH-a4.css.br +0 -0
  7. package/studio/client/_app/immutable/assets/0.Lv_sH-a4.css.gz +0 -0
  8. package/studio/client/_app/immutable/assets/editor.BN5lBQZg.css +1 -0
  9. package/studio/client/_app/immutable/assets/editor.BN5lBQZg.css.br +0 -0
  10. package/studio/client/_app/immutable/assets/editor.BN5lBQZg.css.gz +0 -0
  11. package/studio/client/_app/immutable/chunks/4QfhfUmj.js +1 -0
  12. package/studio/client/_app/immutable/chunks/4QfhfUmj.js.br +0 -0
  13. package/studio/client/_app/immutable/chunks/4QfhfUmj.js.gz +0 -0
  14. package/studio/client/_app/immutable/chunks/B4vsfLqj.js +1 -0
  15. package/studio/client/_app/immutable/chunks/B4vsfLqj.js.br +0 -0
  16. package/studio/client/_app/immutable/chunks/B4vsfLqj.js.gz +0 -0
  17. package/studio/client/_app/immutable/chunks/B7SJbUFX.js +1 -0
  18. package/studio/client/_app/immutable/chunks/B7SJbUFX.js.br +0 -0
  19. package/studio/client/_app/immutable/chunks/B7SJbUFX.js.gz +0 -0
  20. package/studio/client/_app/immutable/chunks/B9f32Zzc.js +1 -0
  21. package/studio/client/_app/immutable/chunks/B9f32Zzc.js.br +1 -0
  22. package/studio/client/_app/immutable/chunks/B9f32Zzc.js.gz +0 -0
  23. package/studio/client/_app/immutable/chunks/BHu0iPy_.js +1 -0
  24. package/studio/client/_app/immutable/chunks/BHu0iPy_.js.br +0 -0
  25. package/studio/client/_app/immutable/chunks/BHu0iPy_.js.gz +0 -0
  26. package/studio/client/_app/immutable/chunks/BVqaYHsk.js +1 -0
  27. package/studio/client/_app/immutable/chunks/BVqaYHsk.js.br +0 -0
  28. package/studio/client/_app/immutable/chunks/BVqaYHsk.js.gz +0 -0
  29. package/studio/client/_app/immutable/chunks/BcZVIP5f.js +1 -0
  30. package/studio/client/_app/immutable/chunks/BcZVIP5f.js.br +0 -0
  31. package/studio/client/_app/immutable/chunks/BcZVIP5f.js.gz +0 -0
  32. package/studio/client/_app/immutable/chunks/BcqGu5mG.js +1 -0
  33. package/studio/client/_app/immutable/chunks/BcqGu5mG.js.br +0 -0
  34. package/studio/client/_app/immutable/chunks/BcqGu5mG.js.gz +0 -0
  35. package/studio/client/_app/immutable/chunks/BfikHP7B.js +512 -0
  36. package/studio/client/_app/immutable/chunks/BfikHP7B.js.br +0 -0
  37. package/studio/client/_app/immutable/chunks/BfikHP7B.js.gz +0 -0
  38. package/studio/client/_app/immutable/chunks/BpSxDpO2.js +1 -0
  39. package/studio/client/_app/immutable/chunks/BpSxDpO2.js.br +0 -0
  40. package/studio/client/_app/immutable/chunks/BpSxDpO2.js.gz +0 -0
  41. package/studio/client/_app/immutable/chunks/BpuHE4_g.js +1 -0
  42. package/studio/client/_app/immutable/chunks/BpuHE4_g.js.br +0 -0
  43. package/studio/client/_app/immutable/chunks/BpuHE4_g.js.gz +0 -0
  44. package/studio/client/_app/immutable/chunks/Bs1PixFT.js +1 -0
  45. package/studio/client/_app/immutable/chunks/Bs1PixFT.js.br +0 -0
  46. package/studio/client/_app/immutable/chunks/Bs1PixFT.js.gz +0 -0
  47. package/studio/client/_app/immutable/chunks/Bu_5E1Sl.js +1 -0
  48. package/studio/client/_app/immutable/chunks/Bu_5E1Sl.js.br +0 -0
  49. package/studio/client/_app/immutable/chunks/Bu_5E1Sl.js.gz +0 -0
  50. package/studio/client/_app/immutable/chunks/C2XXotQj.js +1 -0
  51. package/studio/client/_app/immutable/chunks/C2XXotQj.js.br +0 -0
  52. package/studio/client/_app/immutable/chunks/C2XXotQj.js.gz +0 -0
  53. package/studio/client/_app/immutable/chunks/CAACQLfs.js +1 -0
  54. package/studio/client/_app/immutable/chunks/CAACQLfs.js.br +0 -0
  55. package/studio/client/_app/immutable/chunks/CAACQLfs.js.gz +0 -0
  56. package/studio/client/_app/immutable/chunks/CClcTVCL.js +1 -0
  57. package/studio/client/_app/immutable/chunks/CClcTVCL.js.br +2 -0
  58. package/studio/client/_app/immutable/chunks/CClcTVCL.js.gz +0 -0
  59. package/studio/client/_app/immutable/chunks/CDjRusee.js +1 -0
  60. package/studio/client/_app/immutable/chunks/CDjRusee.js.br +0 -0
  61. package/studio/client/_app/immutable/chunks/CDjRusee.js.gz +0 -0
  62. package/studio/client/_app/immutable/chunks/CU5enDwt.js +1 -0
  63. package/studio/client/_app/immutable/chunks/CU5enDwt.js.br +0 -0
  64. package/studio/client/_app/immutable/chunks/CU5enDwt.js.gz +0 -0
  65. package/studio/client/_app/immutable/chunks/CaaG7K_x.js +1 -0
  66. package/studio/client/_app/immutable/chunks/CaaG7K_x.js.br +0 -0
  67. package/studio/client/_app/immutable/chunks/CaaG7K_x.js.gz +0 -0
  68. package/studio/client/_app/immutable/chunks/Cd2UbfQ6.js +2 -0
  69. package/studio/client/_app/immutable/chunks/Cd2UbfQ6.js.br +0 -0
  70. package/studio/client/_app/immutable/chunks/Cd2UbfQ6.js.gz +0 -0
  71. package/studio/client/_app/immutable/chunks/Cf4-5HnP.js +1 -0
  72. package/studio/client/_app/immutable/chunks/Cf4-5HnP.js.br +0 -0
  73. package/studio/client/_app/immutable/chunks/Cf4-5HnP.js.gz +0 -0
  74. package/studio/client/_app/immutable/chunks/CqE47GI1.js +1 -0
  75. package/studio/client/_app/immutable/chunks/CqE47GI1.js.br +0 -0
  76. package/studio/client/_app/immutable/chunks/CqE47GI1.js.gz +0 -0
  77. package/studio/client/_app/immutable/chunks/CqaLkm1l.js +4 -0
  78. package/studio/client/_app/immutable/chunks/CqaLkm1l.js.br +0 -0
  79. package/studio/client/_app/immutable/chunks/CqaLkm1l.js.gz +0 -0
  80. package/studio/client/_app/immutable/chunks/CrnqEuwa.js +1 -0
  81. package/studio/client/_app/immutable/chunks/CrnqEuwa.js.br +0 -0
  82. package/studio/client/_app/immutable/chunks/CrnqEuwa.js.gz +0 -0
  83. package/studio/client/_app/immutable/chunks/Cv2_oVuk.js +1 -0
  84. package/studio/client/_app/immutable/chunks/Cv2_oVuk.js.br +0 -0
  85. package/studio/client/_app/immutable/chunks/Cv2_oVuk.js.gz +0 -0
  86. package/studio/client/_app/immutable/chunks/D0nqj3Uj.js +1 -0
  87. package/studio/client/_app/immutable/chunks/D0nqj3Uj.js.br +0 -0
  88. package/studio/client/_app/immutable/chunks/D0nqj3Uj.js.gz +0 -0
  89. package/studio/client/_app/immutable/chunks/D260PcBB.js +1 -0
  90. package/studio/client/_app/immutable/chunks/D260PcBB.js.br +0 -0
  91. package/studio/client/_app/immutable/chunks/D260PcBB.js.gz +0 -0
  92. package/studio/client/_app/immutable/chunks/DB8_8dee.js +2 -0
  93. package/studio/client/_app/immutable/chunks/DB8_8dee.js.br +0 -0
  94. package/studio/client/_app/immutable/chunks/DB8_8dee.js.gz +0 -0
  95. package/studio/client/_app/immutable/chunks/DBZQgiHq.js +4 -0
  96. package/studio/client/_app/immutable/chunks/DBZQgiHq.js.br +0 -0
  97. package/studio/client/_app/immutable/chunks/DBZQgiHq.js.gz +0 -0
  98. package/studio/client/_app/immutable/chunks/DMxd0pKL.js +96 -0
  99. package/studio/client/_app/immutable/chunks/DMxd0pKL.js.br +0 -0
  100. package/studio/client/_app/immutable/chunks/DMxd0pKL.js.gz +0 -0
  101. package/studio/client/_app/immutable/chunks/DXX6oqEY.js +1 -0
  102. package/studio/client/_app/immutable/chunks/DXX6oqEY.js.br +0 -0
  103. package/studio/client/_app/immutable/chunks/DXX6oqEY.js.gz +0 -0
  104. package/studio/client/_app/immutable/chunks/DYsdFO9i.js +1 -0
  105. package/studio/client/_app/immutable/chunks/DYsdFO9i.js.br +0 -0
  106. package/studio/client/_app/immutable/chunks/DYsdFO9i.js.gz +0 -0
  107. package/studio/client/_app/immutable/chunks/DgTYfJMu.js +5 -0
  108. package/studio/client/_app/immutable/chunks/DgTYfJMu.js.br +0 -0
  109. package/studio/client/_app/immutable/chunks/DgTYfJMu.js.gz +0 -0
  110. package/studio/client/_app/immutable/chunks/DjvvdYFY.js +1 -0
  111. package/studio/client/_app/immutable/chunks/DjvvdYFY.js.br +0 -0
  112. package/studio/client/_app/immutable/chunks/DjvvdYFY.js.gz +0 -0
  113. package/studio/client/_app/immutable/chunks/Dn_cJtKS.js +1 -0
  114. package/studio/client/_app/immutable/chunks/Dn_cJtKS.js.br +0 -0
  115. package/studio/client/_app/immutable/chunks/Dn_cJtKS.js.gz +0 -0
  116. package/studio/client/_app/immutable/chunks/Dx_nuQP5.js +1 -0
  117. package/studio/client/_app/immutable/chunks/Dx_nuQP5.js.br +0 -0
  118. package/studio/client/_app/immutable/chunks/Dx_nuQP5.js.gz +0 -0
  119. package/studio/client/_app/immutable/chunks/G4iiuHEo.js +1 -0
  120. package/studio/client/_app/immutable/chunks/G4iiuHEo.js.br +0 -0
  121. package/studio/client/_app/immutable/chunks/G4iiuHEo.js.gz +0 -0
  122. package/studio/client/_app/immutable/chunks/GODyLR7Y.js +1 -0
  123. package/studio/client/_app/immutable/chunks/GODyLR7Y.js.br +0 -0
  124. package/studio/client/_app/immutable/chunks/GODyLR7Y.js.gz +0 -0
  125. package/studio/client/_app/immutable/chunks/H5GgA2Hg.js +1 -0
  126. package/studio/client/_app/immutable/chunks/H5GgA2Hg.js.br +3 -0
  127. package/studio/client/_app/immutable/chunks/H5GgA2Hg.js.gz +0 -0
  128. package/studio/client/_app/immutable/chunks/KindPqpA.js +1 -0
  129. package/studio/client/_app/immutable/chunks/KindPqpA.js.br +0 -0
  130. package/studio/client/_app/immutable/chunks/KindPqpA.js.gz +0 -0
  131. package/studio/client/_app/immutable/chunks/MR-UHLyi.js +99 -0
  132. package/studio/client/_app/immutable/chunks/MR-UHLyi.js.br +0 -0
  133. package/studio/client/_app/immutable/chunks/MR-UHLyi.js.gz +0 -0
  134. package/studio/client/_app/immutable/chunks/PZ9NXo-7.js +1 -0
  135. package/studio/client/_app/immutable/chunks/PZ9NXo-7.js.br +0 -0
  136. package/studio/client/_app/immutable/chunks/PZ9NXo-7.js.gz +0 -0
  137. package/studio/client/_app/immutable/chunks/YwFQw-CS.js +730 -0
  138. package/studio/client/_app/immutable/chunks/YwFQw-CS.js.br +0 -0
  139. package/studio/client/_app/immutable/chunks/YwFQw-CS.js.gz +0 -0
  140. package/studio/client/_app/immutable/chunks/iTzoDmCj.js +1 -0
  141. package/studio/client/_app/immutable/chunks/iTzoDmCj.js.br +0 -0
  142. package/studio/client/_app/immutable/chunks/iTzoDmCj.js.gz +0 -0
  143. package/studio/client/_app/immutable/chunks/pT1u3Hqy.js +1 -0
  144. package/studio/client/_app/immutable/chunks/pT1u3Hqy.js.br +0 -0
  145. package/studio/client/_app/immutable/chunks/pT1u3Hqy.js.gz +0 -0
  146. package/studio/client/_app/immutable/chunks/wHWYACQ6.js +16 -0
  147. package/studio/client/_app/immutable/chunks/wHWYACQ6.js.br +0 -0
  148. package/studio/client/_app/immutable/chunks/wHWYACQ6.js.gz +0 -0
  149. package/studio/client/_app/immutable/entry/app.D0e6CgLl.js +2 -0
  150. package/studio/client/_app/immutable/entry/app.D0e6CgLl.js.br +0 -0
  151. package/studio/client/_app/immutable/entry/app.D0e6CgLl.js.gz +0 -0
  152. package/studio/client/_app/immutable/entry/start.CXzKoAgP.js +1 -0
  153. package/studio/client/_app/immutable/entry/start.CXzKoAgP.js.br +0 -0
  154. package/studio/client/_app/immutable/entry/start.CXzKoAgP.js.gz +0 -0
  155. package/studio/client/_app/immutable/nodes/0.BfZbVR14.js +2 -0
  156. package/studio/client/_app/immutable/nodes/0.BfZbVR14.js.br +0 -0
  157. package/studio/client/_app/immutable/nodes/0.BfZbVR14.js.gz +0 -0
  158. package/studio/client/_app/immutable/nodes/1.BGxVZc_Z.js +1 -0
  159. package/studio/client/_app/immutable/nodes/1.BGxVZc_Z.js.br +0 -0
  160. package/studio/client/_app/immutable/nodes/1.BGxVZc_Z.js.gz +0 -0
  161. package/studio/client/_app/immutable/nodes/10.BmsU7Niv.js +1 -0
  162. package/studio/client/_app/immutable/nodes/10.BmsU7Niv.js.br +0 -0
  163. package/studio/client/_app/immutable/nodes/10.BmsU7Niv.js.gz +0 -0
  164. package/studio/client/_app/immutable/nodes/11.Bl10BIeh.js +1 -0
  165. package/studio/client/_app/immutable/nodes/11.Bl10BIeh.js.br +0 -0
  166. package/studio/client/_app/immutable/nodes/11.Bl10BIeh.js.gz +0 -0
  167. package/studio/client/_app/immutable/nodes/12.Di52Em2U.js +2 -0
  168. package/studio/client/_app/immutable/nodes/12.Di52Em2U.js.br +0 -0
  169. package/studio/client/_app/immutable/nodes/12.Di52Em2U.js.gz +0 -0
  170. package/studio/client/_app/immutable/nodes/13.D1KxkAvV.js +1 -0
  171. package/studio/client/_app/immutable/nodes/13.D1KxkAvV.js.br +0 -0
  172. package/studio/client/_app/immutable/nodes/13.D1KxkAvV.js.gz +0 -0
  173. package/studio/client/_app/immutable/nodes/14.Ba-ayQpO.js +1 -0
  174. package/studio/client/_app/immutable/nodes/14.Ba-ayQpO.js.br +0 -0
  175. package/studio/client/_app/immutable/nodes/14.Ba-ayQpO.js.gz +0 -0
  176. package/studio/client/_app/immutable/nodes/15.Bjs1ENL4.js +1 -0
  177. package/studio/client/_app/immutable/nodes/15.Bjs1ENL4.js.br +0 -0
  178. package/studio/client/_app/immutable/nodes/15.Bjs1ENL4.js.gz +0 -0
  179. package/studio/client/_app/immutable/nodes/16.Ca8aIyjV.js +8 -0
  180. package/studio/client/_app/immutable/nodes/16.Ca8aIyjV.js.br +0 -0
  181. package/studio/client/_app/immutable/nodes/16.Ca8aIyjV.js.gz +0 -0
  182. package/studio/client/_app/immutable/nodes/17.DR-c7BuD.js +1 -0
  183. package/studio/client/_app/immutable/nodes/17.DR-c7BuD.js.br +0 -0
  184. package/studio/client/_app/immutable/nodes/17.DR-c7BuD.js.gz +0 -0
  185. package/studio/client/_app/immutable/nodes/18.D3yl0Qok.js +1 -0
  186. package/studio/client/_app/immutable/nodes/18.D3yl0Qok.js.br +0 -0
  187. package/studio/client/_app/immutable/nodes/18.D3yl0Qok.js.gz +0 -0
  188. package/studio/client/_app/immutable/nodes/19.r0zsNF0J.js +1 -0
  189. package/studio/client/_app/immutable/nodes/19.r0zsNF0J.js.br +0 -0
  190. package/studio/client/_app/immutable/nodes/19.r0zsNF0J.js.gz +0 -0
  191. package/studio/client/_app/immutable/nodes/20.wKchvAGW.js +45 -0
  192. package/studio/client/_app/immutable/nodes/20.wKchvAGW.js.br +0 -0
  193. package/studio/client/_app/immutable/nodes/20.wKchvAGW.js.gz +0 -0
  194. package/studio/client/_app/immutable/nodes/21.CX28-f1P.js +16 -0
  195. package/studio/client/_app/immutable/nodes/21.CX28-f1P.js.br +0 -0
  196. package/studio/client/_app/immutable/nodes/21.CX28-f1P.js.gz +0 -0
  197. package/studio/client/_app/immutable/nodes/28.BwKSpFi_.js +8 -0
  198. package/studio/client/_app/immutable/nodes/28.BwKSpFi_.js.br +0 -0
  199. package/studio/client/_app/immutable/nodes/28.BwKSpFi_.js.gz +0 -0
  200. package/studio/client/_app/immutable/nodes/3.D1ljfi_V.js +1 -0
  201. package/studio/client/_app/immutable/nodes/3.D1ljfi_V.js.br +0 -0
  202. package/studio/client/_app/immutable/nodes/3.D1ljfi_V.js.gz +0 -0
  203. package/studio/client/_app/immutable/nodes/30.DA7Me2YV.js +26 -0
  204. package/studio/client/_app/immutable/nodes/30.DA7Me2YV.js.br +0 -0
  205. package/studio/client/_app/immutable/nodes/30.DA7Me2YV.js.gz +0 -0
  206. package/studio/client/_app/immutable/nodes/38.its7uZHe.js +1 -0
  207. package/studio/client/_app/immutable/nodes/38.its7uZHe.js.br +0 -0
  208. package/studio/client/_app/immutable/nodes/38.its7uZHe.js.gz +0 -0
  209. package/studio/client/_app/immutable/nodes/39.DrGfz0RO.js +88 -0
  210. package/studio/client/_app/immutable/nodes/39.DrGfz0RO.js.br +0 -0
  211. package/studio/client/_app/immutable/nodes/39.DrGfz0RO.js.gz +0 -0
  212. package/studio/client/_app/immutable/nodes/4.C-XTv_8D.js +1 -0
  213. package/studio/client/_app/immutable/nodes/4.C-XTv_8D.js.br +0 -0
  214. package/studio/client/_app/immutable/nodes/4.C-XTv_8D.js.gz +0 -0
  215. package/studio/client/_app/immutable/nodes/40.B0WM2OHu.js +17 -0
  216. package/studio/client/_app/immutable/nodes/40.B0WM2OHu.js.br +0 -0
  217. package/studio/client/_app/immutable/nodes/40.B0WM2OHu.js.gz +0 -0
  218. package/studio/client/_app/immutable/nodes/41.BZzYfCVE.js +1 -0
  219. package/studio/client/_app/immutable/nodes/41.BZzYfCVE.js.br +0 -0
  220. package/studio/client/_app/immutable/nodes/41.BZzYfCVE.js.gz +0 -0
  221. package/studio/client/_app/immutable/nodes/42.BP7aBc8V.js +1 -0
  222. package/studio/client/_app/immutable/nodes/42.BP7aBc8V.js.br +0 -0
  223. package/studio/client/_app/immutable/nodes/42.BP7aBc8V.js.gz +0 -0
  224. package/studio/client/_app/immutable/nodes/43.DYWNhvqm.js +1 -0
  225. package/studio/client/_app/immutable/nodes/43.DYWNhvqm.js.br +0 -0
  226. package/studio/client/_app/immutable/nodes/43.DYWNhvqm.js.gz +0 -0
  227. package/studio/client/_app/immutable/nodes/44.CsVF9aXe.js +1 -0
  228. package/studio/client/_app/immutable/nodes/44.CsVF9aXe.js.br +0 -0
  229. package/studio/client/_app/immutable/nodes/44.CsVF9aXe.js.gz +0 -0
  230. package/studio/client/_app/immutable/nodes/45.CeMReWED.js +2 -0
  231. package/studio/client/_app/immutable/nodes/45.CeMReWED.js.br +0 -0
  232. package/studio/client/_app/immutable/nodes/45.CeMReWED.js.gz +0 -0
  233. package/studio/client/_app/immutable/nodes/46.tPqAAZZF.js +1 -0
  234. package/studio/client/_app/immutable/nodes/46.tPqAAZZF.js.br +0 -0
  235. package/studio/client/_app/immutable/nodes/46.tPqAAZZF.js.gz +0 -0
  236. package/studio/client/_app/immutable/nodes/47.1pFnCvbM.js +1 -0
  237. package/studio/client/_app/immutable/nodes/47.1pFnCvbM.js.br +0 -0
  238. package/studio/client/_app/immutable/nodes/47.1pFnCvbM.js.gz +0 -0
  239. package/studio/client/_app/immutable/nodes/48.Cy1KgYAH.js +1 -0
  240. package/studio/client/_app/immutable/nodes/48.Cy1KgYAH.js.br +0 -0
  241. package/studio/client/_app/immutable/nodes/48.Cy1KgYAH.js.gz +0 -0
  242. package/studio/client/_app/immutable/nodes/49.Bh6bDdsT.js +7 -0
  243. package/studio/client/_app/immutable/nodes/49.Bh6bDdsT.js.br +0 -0
  244. package/studio/client/_app/immutable/nodes/49.Bh6bDdsT.js.gz +0 -0
  245. package/studio/client/_app/immutable/nodes/5.C-XTv_8D.js +1 -0
  246. package/studio/client/_app/immutable/nodes/5.C-XTv_8D.js.br +0 -0
  247. package/studio/client/_app/immutable/nodes/5.C-XTv_8D.js.gz +0 -0
  248. package/studio/client/_app/immutable/nodes/7.CS9X1kOu.js +1 -0
  249. package/studio/client/_app/immutable/nodes/7.CS9X1kOu.js.br +0 -0
  250. package/studio/client/_app/immutable/nodes/7.CS9X1kOu.js.gz +0 -0
  251. package/studio/client/_app/immutable/nodes/8.Cux2oyT5.js +1 -0
  252. package/studio/client/_app/immutable/nodes/8.Cux2oyT5.js.br +0 -0
  253. package/studio/client/_app/immutable/nodes/8.Cux2oyT5.js.gz +0 -0
  254. package/studio/client/_app/immutable/nodes/9.Dl65IEFD.js +1 -0
  255. package/studio/client/_app/immutable/nodes/9.Dl65IEFD.js.br +0 -0
  256. package/studio/client/_app/immutable/nodes/9.Dl65IEFD.js.gz +0 -0
  257. package/studio/client/_app/version.json +1 -1
  258. package/studio/client/_app/version.json.br +0 -0
  259. package/studio/client/_app/version.json.gz +0 -0
  260. package/studio/prerendered/docs/api/errors.html +38 -38
  261. package/studio/prerendered/docs/api/errors.html.br +0 -0
  262. package/studio/prerendered/docs/api/errors.html.gz +0 -0
  263. package/studio/prerendered/docs/api/projects.html +38 -38
  264. package/studio/prerendered/docs/api/projects.html.br +0 -0
  265. package/studio/prerendered/docs/api/projects.html.gz +0 -0
  266. package/studio/prerendered/docs/api/renders.html +38 -38
  267. package/studio/prerendered/docs/api/renders.html.br +0 -0
  268. package/studio/prerendered/docs/api/renders.html.gz +0 -0
  269. package/studio/prerendered/docs/api/templates.html +38 -38
  270. package/studio/prerendered/docs/api/templates.html.br +0 -0
  271. package/studio/prerendered/docs/api/templates.html.gz +0 -0
  272. package/studio/prerendered/docs/api/webhooks.html +38 -38
  273. package/studio/prerendered/docs/api/webhooks.html.br +0 -0
  274. package/studio/prerendered/docs/api/webhooks.html.gz +0 -0
  275. package/studio/prerendered/docs/api.html +38 -38
  276. package/studio/prerendered/docs/api.html.br +0 -0
  277. package/studio/prerendered/docs/api.html.gz +0 -0
  278. package/studio/prerendered/docs/mcp/integrations/autogen.html +40 -40
  279. package/studio/prerendered/docs/mcp/integrations/autogen.html.br +0 -0
  280. package/studio/prerendered/docs/mcp/integrations/autogen.html.gz +0 -0
  281. package/studio/prerendered/docs/mcp/integrations/crewai.html +38 -38
  282. package/studio/prerendered/docs/mcp/integrations/crewai.html.br +0 -0
  283. package/studio/prerendered/docs/mcp/integrations/crewai.html.gz +0 -0
  284. package/studio/prerendered/docs/mcp/integrations/dify.html +38 -38
  285. package/studio/prerendered/docs/mcp/integrations/dify.html.br +0 -0
  286. package/studio/prerendered/docs/mcp/integrations/dify.html.gz +0 -0
  287. package/studio/prerendered/docs/mcp/integrations/flowise.html +38 -38
  288. package/studio/prerendered/docs/mcp/integrations/flowise.html.br +0 -0
  289. package/studio/prerendered/docs/mcp/integrations/flowise.html.gz +0 -0
  290. package/studio/prerendered/docs/mcp/integrations/langchain.html +38 -38
  291. package/studio/prerendered/docs/mcp/integrations/langchain.html.br +0 -0
  292. package/studio/prerendered/docs/mcp/integrations/langchain.html.gz +0 -0
  293. package/studio/prerendered/docs/mcp/integrations/llamaindex.html +38 -38
  294. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.br +0 -0
  295. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.gz +0 -0
  296. package/studio/prerendered/docs/mcp/integrations/make.html +38 -38
  297. package/studio/prerendered/docs/mcp/integrations/make.html.br +0 -0
  298. package/studio/prerendered/docs/mcp/integrations/make.html.gz +0 -0
  299. package/studio/prerendered/docs/mcp/integrations/n8n.html +38 -38
  300. package/studio/prerendered/docs/mcp/integrations/n8n.html.br +0 -0
  301. package/studio/prerendered/docs/mcp/integrations/n8n.html.gz +0 -0
  302. package/studio/prerendered/docs/mcp/integrations.html +38 -38
  303. package/studio/prerendered/docs/mcp/integrations.html.br +0 -0
  304. package/studio/prerendered/docs/mcp/integrations.html.gz +0 -0
  305. package/studio/prerendered/docs/mcp/plans.html +40 -40
  306. package/studio/prerendered/docs/mcp/plans.html.br +0 -0
  307. package/studio/prerendered/docs/mcp/plans.html.gz +0 -0
  308. package/studio/prerendered/docs/mcp/reference.html +48 -47
  309. package/studio/prerendered/docs/mcp/reference.html.br +0 -0
  310. package/studio/prerendered/docs/mcp/reference.html.gz +0 -0
  311. package/studio/prerendered/docs/mcp/setup.html +44 -42
  312. package/studio/prerendered/docs/mcp/setup.html.br +0 -0
  313. package/studio/prerendered/docs/mcp/setup.html.gz +0 -0
  314. package/studio/prerendered/docs/mcp.html +40 -40
  315. package/studio/prerendered/docs/mcp.html.br +0 -0
  316. package/studio/prerendered/docs/mcp.html.gz +0 -0
  317. package/studio/prerendered/docs.html +37 -37
  318. package/studio/prerendered/docs.html.br +0 -0
  319. package/studio/prerendered/docs.html.gz +0 -0
  320. package/studio/prerendered/dub/arabic.html +36 -36
  321. package/studio/prerendered/dub/arabic.html.br +0 -0
  322. package/studio/prerendered/dub/arabic.html.gz +0 -0
  323. package/studio/prerendered/dub/chinese-simplified.html +36 -36
  324. package/studio/prerendered/dub/chinese-simplified.html.br +0 -0
  325. package/studio/prerendered/dub/chinese-simplified.html.gz +0 -0
  326. package/studio/prerendered/dub/dutch.html +36 -36
  327. package/studio/prerendered/dub/dutch.html.br +0 -0
  328. package/studio/prerendered/dub/dutch.html.gz +0 -0
  329. package/studio/prerendered/dub/french.html +36 -36
  330. package/studio/prerendered/dub/french.html.br +0 -0
  331. package/studio/prerendered/dub/french.html.gz +0 -0
  332. package/studio/prerendered/dub/german.html +36 -36
  333. package/studio/prerendered/dub/german.html.br +0 -0
  334. package/studio/prerendered/dub/german.html.gz +0 -0
  335. package/studio/prerendered/dub/hindi.html +36 -36
  336. package/studio/prerendered/dub/hindi.html.br +0 -0
  337. package/studio/prerendered/dub/hindi.html.gz +0 -0
  338. package/studio/prerendered/dub/italian.html +36 -36
  339. package/studio/prerendered/dub/italian.html.br +0 -0
  340. package/studio/prerendered/dub/italian.html.gz +0 -0
  341. package/studio/prerendered/dub/japanese.html +36 -36
  342. package/studio/prerendered/dub/japanese.html.br +0 -0
  343. package/studio/prerendered/dub/japanese.html.gz +0 -0
  344. package/studio/prerendered/dub/korean.html +36 -36
  345. package/studio/prerendered/dub/korean.html.br +0 -0
  346. package/studio/prerendered/dub/korean.html.gz +0 -0
  347. package/studio/prerendered/dub/polish.html +36 -36
  348. package/studio/prerendered/dub/polish.html.br +0 -0
  349. package/studio/prerendered/dub/polish.html.gz +0 -0
  350. package/studio/prerendered/dub/portuguese.html +36 -36
  351. package/studio/prerendered/dub/portuguese.html.br +0 -0
  352. package/studio/prerendered/dub/portuguese.html.gz +0 -0
  353. package/studio/prerendered/dub/spanish.html +36 -36
  354. package/studio/prerendered/dub/spanish.html.br +0 -0
  355. package/studio/prerendered/dub/spanish.html.gz +0 -0
  356. package/studio/prerendered/sitemap.xml +90 -90
  357. package/studio/prerendered/sitemap.xml.br +0 -0
  358. package/studio/prerendered/sitemap.xml.gz +0 -0
  359. package/studio/prerendered/tools/add-captions/instagram.html +36 -36
  360. package/studio/prerendered/tools/add-captions/instagram.html.br +0 -0
  361. package/studio/prerendered/tools/add-captions/instagram.html.gz +0 -0
  362. package/studio/prerendered/tools/add-captions/linkedin.html +36 -36
  363. package/studio/prerendered/tools/add-captions/linkedin.html.br +0 -0
  364. package/studio/prerendered/tools/add-captions/linkedin.html.gz +0 -0
  365. package/studio/prerendered/tools/add-captions/tiktok.html +36 -36
  366. package/studio/prerendered/tools/add-captions/tiktok.html.br +0 -0
  367. package/studio/prerendered/tools/add-captions/tiktok.html.gz +0 -0
  368. package/studio/prerendered/tools/add-captions/twitter-x.html +36 -36
  369. package/studio/prerendered/tools/add-captions/twitter-x.html.br +0 -0
  370. package/studio/prerendered/tools/add-captions/twitter-x.html.gz +0 -0
  371. package/studio/prerendered/tools/add-captions/youtube.html +36 -36
  372. package/studio/prerendered/tools/add-captions/youtube.html.br +0 -0
  373. package/studio/prerendered/tools/add-captions/youtube.html.gz +0 -0
  374. package/studio/prerendered/tools/add-captions.html +40 -40
  375. package/studio/prerendered/tools/add-captions.html.br +0 -0
  376. package/studio/prerendered/tools/add-captions.html.gz +0 -0
  377. package/studio/prerendered/tools/auto-cut/linkedin.html +36 -36
  378. package/studio/prerendered/tools/auto-cut/linkedin.html.br +0 -0
  379. package/studio/prerendered/tools/auto-cut/linkedin.html.gz +0 -0
  380. package/studio/prerendered/tools/auto-cut/podcast.html +36 -36
  381. package/studio/prerendered/tools/auto-cut/podcast.html.br +0 -0
  382. package/studio/prerendered/tools/auto-cut/podcast.html.gz +0 -0
  383. package/studio/prerendered/tools/auto-cut/tiktok.html +36 -36
  384. package/studio/prerendered/tools/auto-cut/tiktok.html.br +0 -0
  385. package/studio/prerendered/tools/auto-cut/tiktok.html.gz +0 -0
  386. package/studio/prerendered/tools/auto-cut/youtube.html +36 -36
  387. package/studio/prerendered/tools/auto-cut/youtube.html.br +0 -0
  388. package/studio/prerendered/tools/auto-cut/youtube.html.gz +0 -0
  389. package/studio/prerendered/tools/auto-cut.html +40 -40
  390. package/studio/prerendered/tools/auto-cut.html.br +0 -0
  391. package/studio/prerendered/tools/auto-cut.html.gz +0 -0
  392. package/studio/prerendered/tools/generate-video/instagram.html +36 -36
  393. package/studio/prerendered/tools/generate-video/instagram.html.br +0 -0
  394. package/studio/prerendered/tools/generate-video/instagram.html.gz +0 -0
  395. package/studio/prerendered/tools/generate-video/tiktok.html +36 -36
  396. package/studio/prerendered/tools/generate-video/tiktok.html.br +0 -0
  397. package/studio/prerendered/tools/generate-video/tiktok.html.gz +0 -0
  398. package/studio/prerendered/tools/generate-video/twitter-x.html +36 -36
  399. package/studio/prerendered/tools/generate-video/twitter-x.html.br +0 -0
  400. package/studio/prerendered/tools/generate-video/twitter-x.html.gz +0 -0
  401. package/studio/prerendered/tools/generate-video/youtube.html +36 -36
  402. package/studio/prerendered/tools/generate-video/youtube.html.br +0 -0
  403. package/studio/prerendered/tools/generate-video/youtube.html.gz +0 -0
  404. package/studio/prerendered/tools/generate-video.html +40 -40
  405. package/studio/prerendered/tools/generate-video.html.br +0 -0
  406. package/studio/prerendered/tools/generate-video.html.gz +0 -0
  407. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html +36 -36
  408. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.br +0 -0
  409. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.gz +0 -0
  410. package/studio/prerendered/tools/laptop-3d-intro/saas.html +36 -36
  411. package/studio/prerendered/tools/laptop-3d-intro/saas.html.br +0 -0
  412. package/studio/prerendered/tools/laptop-3d-intro/saas.html.gz +0 -0
  413. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html +36 -36
  414. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.br +0 -0
  415. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.gz +0 -0
  416. package/studio/prerendered/tools/laptop-3d-intro/youtube.html +36 -36
  417. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.br +0 -0
  418. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.gz +0 -0
  419. package/studio/prerendered/tools/laptop-3d-intro.html +40 -40
  420. package/studio/prerendered/tools/laptop-3d-intro.html.br +0 -0
  421. package/studio/prerendered/tools/laptop-3d-intro.html.gz +0 -0
  422. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html +36 -36
  423. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.br +0 -0
  424. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.gz +0 -0
  425. package/studio/prerendered/tools/screen-webcam-demo/saas.html +36 -36
  426. package/studio/prerendered/tools/screen-webcam-demo/saas.html.br +0 -0
  427. package/studio/prerendered/tools/screen-webcam-demo/saas.html.gz +0 -0
  428. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html +36 -36
  429. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.br +0 -0
  430. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.gz +0 -0
  431. package/studio/prerendered/tools/screen-webcam-demo/youtube.html +36 -36
  432. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.br +0 -0
  433. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.gz +0 -0
  434. package/studio/prerendered/tools/screen-webcam-demo.html +40 -40
  435. package/studio/prerendered/tools/screen-webcam-demo.html.br +0 -0
  436. package/studio/prerendered/tools/screen-webcam-demo.html.gz +0 -0
  437. package/studio/prerendered/tools/screenshot-to-social/facebook.html +36 -36
  438. package/studio/prerendered/tools/screenshot-to-social/facebook.html.br +0 -0
  439. package/studio/prerendered/tools/screenshot-to-social/facebook.html.gz +0 -0
  440. package/studio/prerendered/tools/screenshot-to-social/instagram.html +36 -36
  441. package/studio/prerendered/tools/screenshot-to-social/instagram.html.br +0 -0
  442. package/studio/prerendered/tools/screenshot-to-social/instagram.html.gz +0 -0
  443. package/studio/prerendered/tools/screenshot-to-social/linkedin.html +36 -36
  444. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.br +0 -0
  445. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.gz +0 -0
  446. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html +36 -36
  447. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.br +0 -0
  448. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.gz +0 -0
  449. package/studio/prerendered/tools/screenshot-to-social.html +40 -40
  450. package/studio/prerendered/tools/screenshot-to-social.html.br +0 -0
  451. package/studio/prerendered/tools/screenshot-to-social.html.gz +0 -0
  452. package/studio/prerendered/tools/translate-video/instagram.html +36 -36
  453. package/studio/prerendered/tools/translate-video/instagram.html.br +0 -0
  454. package/studio/prerendered/tools/translate-video/instagram.html.gz +0 -0
  455. package/studio/prerendered/tools/translate-video/linkedin.html +36 -36
  456. package/studio/prerendered/tools/translate-video/linkedin.html.br +0 -0
  457. package/studio/prerendered/tools/translate-video/linkedin.html.gz +0 -0
  458. package/studio/prerendered/tools/translate-video/tiktok.html +36 -36
  459. package/studio/prerendered/tools/translate-video/tiktok.html.br +0 -0
  460. package/studio/prerendered/tools/translate-video/tiktok.html.gz +0 -0
  461. package/studio/prerendered/tools/translate-video/youtube.html +36 -36
  462. package/studio/prerendered/tools/translate-video/youtube.html.br +0 -0
  463. package/studio/prerendered/tools/translate-video/youtube.html.gz +0 -0
  464. package/studio/prerendered/tools/translate-video.html +40 -40
  465. package/studio/prerendered/tools/translate-video.html.br +0 -0
  466. package/studio/prerendered/tools/translate-video.html.gz +0 -0
  467. package/studio/prerendered/tools/video-beautifier.html +40 -40
  468. package/studio/prerendered/tools/video-beautifier.html.br +0 -0
  469. package/studio/prerendered/tools/video-beautifier.html.gz +0 -0
  470. package/studio/prerendered/tools/video-to-browser/linkedin.html +36 -36
  471. package/studio/prerendered/tools/video-to-browser/linkedin.html.br +0 -0
  472. package/studio/prerendered/tools/video-to-browser/linkedin.html.gz +0 -0
  473. package/studio/prerendered/tools/video-to-browser/saas.html +36 -36
  474. package/studio/prerendered/tools/video-to-browser/saas.html.br +0 -0
  475. package/studio/prerendered/tools/video-to-browser/saas.html.gz +0 -0
  476. package/studio/prerendered/tools/video-to-browser/twitter-x.html +36 -36
  477. package/studio/prerendered/tools/video-to-browser/twitter-x.html.br +0 -0
  478. package/studio/prerendered/tools/video-to-browser/twitter-x.html.gz +0 -0
  479. package/studio/prerendered/tools/video-to-browser/youtube.html +36 -36
  480. package/studio/prerendered/tools/video-to-browser/youtube.html.br +0 -0
  481. package/studio/prerendered/tools/video-to-browser/youtube.html.gz +0 -0
  482. package/studio/prerendered/tools/video-to-browser.html +40 -40
  483. package/studio/prerendered/tools/video-to-browser.html.br +0 -0
  484. package/studio/prerendered/tools/video-to-browser.html.gz +0 -0
  485. package/studio/prerendered/tools/video-to-phone.html +40 -40
  486. package/studio/prerendered/tools/video-to-phone.html.br +0 -0
  487. package/studio/prerendered/tools/video-to-phone.html.gz +0 -0
  488. package/studio/prerendered/vs/canva.html +36 -36
  489. package/studio/prerendered/vs/canva.html.br +0 -0
  490. package/studio/prerendered/vs/canva.html.gz +0 -0
  491. package/studio/prerendered/vs/captions-ai.html +36 -36
  492. package/studio/prerendered/vs/captions-ai.html.br +0 -0
  493. package/studio/prerendered/vs/captions-ai.html.gz +0 -0
  494. package/studio/prerendered/vs/clipchamp.html +36 -36
  495. package/studio/prerendered/vs/clipchamp.html.br +0 -0
  496. package/studio/prerendered/vs/clipchamp.html.gz +0 -0
  497. package/studio/prerendered/vs/descript.html +36 -36
  498. package/studio/prerendered/vs/descript.html.br +0 -0
  499. package/studio/prerendered/vs/descript.html.gz +0 -0
  500. package/studio/prerendered/vs/kapwing.html +36 -36
  501. package/studio/prerendered/vs/kapwing.html.br +0 -0
  502. package/studio/prerendered/vs/kapwing.html.gz +0 -0
  503. package/studio/prerendered/vs/runway.html +36 -36
  504. package/studio/prerendered/vs/runway.html.br +0 -0
  505. package/studio/prerendered/vs/runway.html.gz +0 -0
  506. package/studio/prerendered/vs/submagic.html +36 -36
  507. package/studio/prerendered/vs/submagic.html.br +0 -0
  508. package/studio/prerendered/vs/submagic.html.gz +0 -0
  509. package/studio/prerendered/vs/veed.html +36 -36
  510. package/studio/prerendered/vs/veed.html.br +0 -0
  511. package/studio/prerendered/vs/veed.html.gz +0 -0
  512. package/studio/server/chunks/0-CwPSUJ3w.js +32 -0
  513. package/studio/server/chunks/0-CwPSUJ3w.js.map +1 -0
  514. package/studio/server/chunks/1-CbeNzLl-.js +9 -0
  515. package/studio/server/chunks/1-CbeNzLl-.js.map +1 -0
  516. package/studio/server/chunks/11-C0QAn-bF.js +9 -0
  517. package/studio/server/chunks/11-C0QAn-bF.js.map +1 -0
  518. package/studio/server/chunks/12-DCnPHABd.js +9 -0
  519. package/studio/server/chunks/12-DCnPHABd.js.map +1 -0
  520. package/studio/server/chunks/13-Cyy-P3vn.js +59 -0
  521. package/studio/server/chunks/13-Cyy-P3vn.js.map +1 -0
  522. package/studio/server/chunks/14-Dbdob-lm.js +60 -0
  523. package/studio/server/chunks/14-Dbdob-lm.js.map +1 -0
  524. package/studio/server/chunks/15-DyZbzGI-.js +9 -0
  525. package/studio/server/chunks/15-DyZbzGI-.js.map +1 -0
  526. package/studio/server/chunks/16-Qb7izz2W.js +72 -0
  527. package/studio/server/chunks/16-Qb7izz2W.js.map +1 -0
  528. package/studio/server/chunks/17-B5pMxn3Z.js +9 -0
  529. package/studio/server/chunks/17-B5pMxn3Z.js.map +1 -0
  530. package/studio/server/chunks/18-Dui1aDnz.js +9 -0
  531. package/studio/server/chunks/18-Dui1aDnz.js.map +1 -0
  532. package/studio/server/chunks/19-DgrfAbAy.js +9 -0
  533. package/studio/server/chunks/19-DgrfAbAy.js.map +1 -0
  534. package/studio/server/chunks/20-pRv7XuMf.js +139 -0
  535. package/studio/server/chunks/20-pRv7XuMf.js.map +1 -0
  536. package/studio/server/chunks/3-9IZCenAI.js +9 -0
  537. package/studio/server/chunks/3-9IZCenAI.js.map +1 -0
  538. package/studio/server/chunks/4-CsffFQv4.js +9 -0
  539. package/studio/server/chunks/4-CsffFQv4.js.map +1 -0
  540. package/studio/server/chunks/42-NP9_BFi5.js +56 -0
  541. package/studio/server/chunks/42-NP9_BFi5.js.map +1 -0
  542. package/studio/server/chunks/43-B0_JG7rx.js +9 -0
  543. package/studio/server/chunks/43-B0_JG7rx.js.map +1 -0
  544. package/studio/server/chunks/44-DRZom9oK.js +9 -0
  545. package/studio/server/chunks/44-DRZom9oK.js.map +1 -0
  546. package/studio/server/chunks/45-llvANtsn.js +115 -0
  547. package/studio/server/chunks/45-llvANtsn.js.map +1 -0
  548. package/studio/server/chunks/49-Bm394lLC.js +14 -0
  549. package/studio/server/chunks/49-Bm394lLC.js.map +1 -0
  550. package/studio/server/chunks/5-oazbOi9H.js +9 -0
  551. package/studio/server/chunks/5-oazbOi9H.js.map +1 -0
  552. package/studio/server/chunks/7-DHJzqCHK.js +215 -0
  553. package/studio/server/chunks/7-DHJzqCHK.js.map +1 -0
  554. package/studio/server/chunks/_error.svelte-BkTnhnxP.js +98 -0
  555. package/studio/server/chunks/_error.svelte-BkTnhnxP.js.map +1 -0
  556. package/studio/server/chunks/_error.svelte-CQzFToj8.js +98 -0
  557. package/studio/server/chunks/_error.svelte-CQzFToj8.js.map +1 -0
  558. package/studio/server/chunks/_layout.svelte-BY0hGh-H.js +64 -0
  559. package/studio/server/chunks/_layout.svelte-BY0hGh-H.js.map +1 -0
  560. package/studio/server/chunks/_layout.svelte-CMzss-C2.js +400 -0
  561. package/studio/server/chunks/_layout.svelte-CMzss-C2.js.map +1 -0
  562. package/studio/server/chunks/_layout.svelte-Cn4p7o4q.js +64 -0
  563. package/studio/server/chunks/_layout.svelte-Cn4p7o4q.js.map +1 -0
  564. package/studio/server/chunks/_layout.svelte-DL1DYuzO.js +1054 -0
  565. package/studio/server/chunks/_layout.svelte-DL1DYuzO.js.map +1 -0
  566. package/studio/server/chunks/_page.svelte-B8XqicVW.js +79 -0
  567. package/studio/server/chunks/_page.svelte-B8XqicVW.js.map +1 -0
  568. package/studio/server/chunks/_page.svelte-BF0kq_DA.js +418 -0
  569. package/studio/server/chunks/_page.svelte-BF0kq_DA.js.map +1 -0
  570. package/studio/server/chunks/_page.svelte-BFwMGeqy.js +111 -0
  571. package/studio/server/chunks/_page.svelte-BFwMGeqy.js.map +1 -0
  572. package/studio/server/chunks/_page.svelte-BGPhyNuC.js +192 -0
  573. package/studio/server/chunks/_page.svelte-BGPhyNuC.js.map +1 -0
  574. package/studio/server/chunks/_page.svelte-BdmhHvtc.js +113 -0
  575. package/studio/server/chunks/_page.svelte-BdmhHvtc.js.map +1 -0
  576. package/studio/server/chunks/_page.svelte-CU4XjUEe.js +11350 -0
  577. package/studio/server/chunks/_page.svelte-CU4XjUEe.js.map +1 -0
  578. package/studio/server/chunks/_page.svelte-D74PqaNq.js +256 -0
  579. package/studio/server/chunks/_page.svelte-D74PqaNq.js.map +1 -0
  580. package/studio/server/chunks/_page.svelte-DC9-8nEf.js +1021 -0
  581. package/studio/server/chunks/_page.svelte-DC9-8nEf.js.map +1 -0
  582. package/studio/server/chunks/_page.svelte-DgqoNyxe.js +1732 -0
  583. package/studio/server/chunks/_page.svelte-DgqoNyxe.js.map +1 -0
  584. package/studio/server/chunks/_page.svelte-DhLeBJD_.js +319 -0
  585. package/studio/server/chunks/_page.svelte-DhLeBJD_.js.map +1 -0
  586. package/studio/server/chunks/_page.svelte-czU-SjNZ.js +160 -0
  587. package/studio/server/chunks/_page.svelte-czU-SjNZ.js.map +1 -0
  588. package/studio/server/chunks/_page.svelte-uvKsK6Vw.js +506 -0
  589. package/studio/server/chunks/_page.svelte-uvKsK6Vw.js.map +1 -0
  590. package/studio/server/chunks/_server.ts-BHRR6T63.js +48 -0
  591. package/studio/server/chunks/_server.ts-BHRR6T63.js.map +1 -0
  592. package/studio/server/chunks/_server.ts-BHnpcEVo.js +52 -0
  593. package/studio/server/chunks/_server.ts-BHnpcEVo.js.map +1 -0
  594. package/studio/server/chunks/_server.ts-BMJ-08P_.js +34 -0
  595. package/studio/server/chunks/_server.ts-BMJ-08P_.js.map +1 -0
  596. package/studio/server/chunks/_server.ts-Bj0V1FXs.js +722 -0
  597. package/studio/server/chunks/_server.ts-Bj0V1FXs.js.map +1 -0
  598. package/studio/server/chunks/_server.ts-ByVY8xND.js +41 -0
  599. package/studio/server/chunks/_server.ts-ByVY8xND.js.map +1 -0
  600. package/studio/server/chunks/_server.ts-CA1HxfdZ.js +58 -0
  601. package/studio/server/chunks/_server.ts-CA1HxfdZ.js.map +1 -0
  602. package/studio/server/chunks/_server.ts-CGi39j79.js +232 -0
  603. package/studio/server/chunks/_server.ts-CGi39j79.js.map +1 -0
  604. package/studio/server/chunks/_server.ts-CGs8hOo6.js +760 -0
  605. package/studio/server/chunks/_server.ts-CGs8hOo6.js.map +1 -0
  606. package/studio/server/chunks/_server.ts-CNJZSPm5.js +60 -0
  607. package/studio/server/chunks/_server.ts-CNJZSPm5.js.map +1 -0
  608. package/studio/server/chunks/_server.ts-CXuYytLK.js +118 -0
  609. package/studio/server/chunks/_server.ts-CXuYytLK.js.map +1 -0
  610. package/studio/server/chunks/_server.ts-C_njIfbT.js +122 -0
  611. package/studio/server/chunks/_server.ts-C_njIfbT.js.map +1 -0
  612. package/studio/server/chunks/_server.ts-Ckj93zLL.js +49 -0
  613. package/studio/server/chunks/_server.ts-Ckj93zLL.js.map +1 -0
  614. package/studio/server/chunks/_server.ts-CriU7HwI.js +22 -0
  615. package/studio/server/chunks/_server.ts-CriU7HwI.js.map +1 -0
  616. package/studio/server/chunks/_server.ts-D1inEYb_.js +87 -0
  617. package/studio/server/chunks/_server.ts-D1inEYb_.js.map +1 -0
  618. package/studio/server/chunks/_server.ts-D_YUIRqi.js +87 -0
  619. package/studio/server/chunks/_server.ts-D_YUIRqi.js.map +1 -0
  620. package/studio/server/chunks/_server.ts-D_fEYx6c.js +158 -0
  621. package/studio/server/chunks/_server.ts-D_fEYx6c.js.map +1 -0
  622. package/studio/server/chunks/_server.ts-Dg9C9Iih.js +70 -0
  623. package/studio/server/chunks/_server.ts-Dg9C9Iih.js.map +1 -0
  624. package/studio/server/chunks/_server.ts-Dji1nGrU.js +91 -0
  625. package/studio/server/chunks/_server.ts-Dji1nGrU.js.map +1 -0
  626. package/studio/server/chunks/_server.ts-DnGq-qro.js +68 -0
  627. package/studio/server/chunks/_server.ts-DnGq-qro.js.map +1 -0
  628. package/studio/server/chunks/_server.ts-Do6qk473.js +56 -0
  629. package/studio/server/chunks/_server.ts-Do6qk473.js.map +1 -0
  630. package/studio/server/chunks/_server.ts-DsTz4hAe.js +96 -0
  631. package/studio/server/chunks/_server.ts-DsTz4hAe.js.map +1 -0
  632. package/studio/server/chunks/_server.ts-f6EVRY82.js +79 -0
  633. package/studio/server/chunks/_server.ts-f6EVRY82.js.map +1 -0
  634. package/studio/server/chunks/_server.ts-p_1efpqn.js +109 -0
  635. package/studio/server/chunks/_server.ts-p_1efpqn.js.map +1 -0
  636. package/studio/server/chunks/_server.ts-xAAnOaCl.js +303 -0
  637. package/studio/server/chunks/_server.ts-xAAnOaCl.js.map +1 -0
  638. package/studio/server/chunks/adapter-XtQVoo_l.js +91 -0
  639. package/studio/server/chunks/adapter-XtQVoo_l.js.map +1 -0
  640. package/studio/server/chunks/admin.remote-Dc0snX5Q.js +105 -0
  641. package/studio/server/chunks/admin.remote-Dc0snX5Q.js.map +1 -0
  642. package/studio/server/chunks/ai-access-bDlOKhrS.js +299 -0
  643. package/studio/server/chunks/ai-access-bDlOKhrS.js.map +1 -0
  644. package/studio/server/chunks/ai.remote-6DyE05J7.js +37 -0
  645. package/studio/server/chunks/ai.remote-6DyE05J7.js.map +1 -0
  646. package/studio/server/chunks/alert-dialog-description-BhZkDj31.js +578 -0
  647. package/studio/server/chunks/alert-dialog-description-BhZkDj31.js.map +1 -0
  648. package/studio/server/chunks/animation-sOd5R1cE.js +2912 -0
  649. package/studio/server/chunks/animation-sOd5R1cE.js.map +1 -0
  650. package/studio/server/chunks/api-Do--xZ9M.js +434 -0
  651. package/studio/server/chunks/api-Do--xZ9M.js.map +1 -0
  652. package/studio/server/chunks/api-keys-CcmgUWTH.js +117 -0
  653. package/studio/server/chunks/api-keys-CcmgUWTH.js.map +1 -0
  654. package/studio/server/chunks/api-keys.remote-JFKHDaD1.js +88 -0
  655. package/studio/server/chunks/api-keys.remote-JFKHDaD1.js.map +1 -0
  656. package/studio/server/chunks/app-header-BZw6FnXs.js +96 -0
  657. package/studio/server/chunks/app-header-BZw6FnXs.js.map +1 -0
  658. package/studio/server/chunks/assets.remote-CX2FvnlZ.js +113 -0
  659. package/studio/server/chunks/assets.remote-CX2FvnlZ.js.map +1 -0
  660. package/studio/server/chunks/attribute-protocol-DQ-1julf.js +151 -0
  661. package/studio/server/chunks/attribute-protocol-DQ-1julf.js.map +1 -0
  662. package/studio/server/chunks/auth-CdmLkVO-.js +22472 -0
  663. package/studio/server/chunks/auth-CdmLkVO-.js.map +1 -0
  664. package/studio/server/chunks/auth.remote-DgcD7hjY.js +351 -0
  665. package/studio/server/chunks/auth.remote-DgcD7hjY.js.map +1 -0
  666. package/studio/server/chunks/base-qepI6vHK.js +210 -0
  667. package/studio/server/chunks/base-qepI6vHK.js.map +1 -0
  668. package/studio/server/chunks/bun-sqlite-dialect-C8OaCWSL-CfYOKJsa.js +197 -0
  669. package/studio/server/chunks/bun-sqlite-dialect-C8OaCWSL-CfYOKJsa.js.map +1 -0
  670. package/studio/server/chunks/captions.remote-B5ErNQXV.js +184 -0
  671. package/studio/server/chunks/captions.remote-B5ErNQXV.js.map +1 -0
  672. package/studio/server/chunks/client2-vVBd4CsE.js +66 -0
  673. package/studio/server/chunks/client2-vVBd4CsE.js.map +1 -0
  674. package/studio/server/chunks/d1-sqlite-dialect-sYHNqBte-D3F4ZSZP.js +160 -0
  675. package/studio/server/chunks/d1-sqlite-dialect-sYHNqBte-D3F4ZSZP.js.map +1 -0
  676. package/studio/server/chunks/design-knowledge-D2NUeAAo.js +334 -0
  677. package/studio/server/chunks/design-knowledge-D2NUeAAo.js.map +1 -0
  678. package/studio/server/chunks/desktop-bootstrap-Z0_g_8r3.js +67 -0
  679. package/studio/server/chunks/desktop-bootstrap-Z0_g_8r3.js.map +1 -0
  680. package/studio/server/chunks/dubbing.remote-tYalz3IA.js +153 -0
  681. package/studio/server/chunks/dubbing.remote-tYalz3IA.js.map +1 -0
  682. package/studio/server/chunks/editor.svelte-Bdv5LaOt.js +21026 -0
  683. package/studio/server/chunks/editor.svelte-Bdv5LaOt.js.map +1 -0
  684. package/studio/server/chunks/env-AoZ3P0fg.js +92 -0
  685. package/studio/server/chunks/env-AoZ3P0fg.js.map +1 -0
  686. package/studio/server/chunks/extract-audio.remote-BKBT80-g.js +95 -0
  687. package/studio/server/chunks/extract-audio.remote-BKBT80-g.js.map +1 -0
  688. package/studio/server/chunks/feedback.remote-DveIB_5_.js +49 -0
  689. package/studio/server/chunks/feedback.remote-DveIB_5_.js.map +1 -0
  690. package/studio/server/chunks/find-stock-image-Cwkwf5gV.js +709 -0
  691. package/studio/server/chunks/find-stock-image-Cwkwf5gV.js.map +1 -0
  692. package/studio/server/chunks/fs-project-BxA38YDy.js +134 -0
  693. package/studio/server/chunks/fs-project-BxA38YDy.js.map +1 -0
  694. package/studio/server/chunks/hooks.server-DNzGN0kv.js +309 -0
  695. package/studio/server/chunks/hooks.server-DNzGN0kv.js.map +1 -0
  696. package/studio/server/chunks/html-parser-t3Ydy25K.js +8516 -0
  697. package/studio/server/chunks/html-parser-t3Ydy25K.js.map +1 -0
  698. package/studio/server/chunks/html-writer-D8dOWi0D.js +242 -0
  699. package/studio/server/chunks/html-writer-D8dOWi0D.js.map +1 -0
  700. package/studio/server/chunks/image-generation.remote-omBcspXi.js +140 -0
  701. package/studio/server/chunks/image-generation.remote-omBcspXi.js.map +1 -0
  702. package/studio/server/chunks/index-D-agccNM.js +4578 -0
  703. package/studio/server/chunks/index-D-agccNM.js.map +1 -0
  704. package/studio/server/chunks/index12-B6IiEYAz.js +265 -0
  705. package/studio/server/chunks/index12-B6IiEYAz.js.map +1 -0
  706. package/studio/server/chunks/index2-By5vPQD_.js +23 -0
  707. package/studio/server/chunks/index2-By5vPQD_.js.map +1 -0
  708. package/studio/server/chunks/index3-DS_3EH31.js +8 -0
  709. package/studio/server/chunks/index3-DS_3EH31.js.map +1 -0
  710. package/studio/server/chunks/index4-CgVJCMu8.js +48 -0
  711. package/studio/server/chunks/index4-CgVJCMu8.js.map +1 -0
  712. package/studio/server/chunks/index6-BwFC1GDh.js +239 -0
  713. package/studio/server/chunks/index6-BwFC1GDh.js.map +1 -0
  714. package/studio/server/chunks/index8-Dt6GB1aJ.js +44 -0
  715. package/studio/server/chunks/index8-Dt6GB1aJ.js.map +1 -0
  716. package/studio/server/chunks/layout-template-BhL4-5tM.js +1371 -0
  717. package/studio/server/chunks/layout-template-BhL4-5tM.js.map +1 -0
  718. package/studio/server/chunks/lummi-Cu3Js7rz.js +189 -0
  719. package/studio/server/chunks/lummi-Cu3Js7rz.js.map +1 -0
  720. package/studio/server/chunks/lummi.remote-BMN4XopC.js +44 -0
  721. package/studio/server/chunks/lummi.remote-BMN4XopC.js.map +1 -0
  722. package/studio/server/chunks/media-analysis-DXUN3NUM.js +229 -0
  723. package/studio/server/chunks/media-analysis-DXUN3NUM.js.map +1 -0
  724. package/studio/server/chunks/media-analysis.remote-BVdRHeP8.js +63 -0
  725. package/studio/server/chunks/media-analysis.remote-BVdRHeP8.js.map +1 -0
  726. package/studio/server/chunks/media-v9Bq2kuR.js +157 -0
  727. package/studio/server/chunks/media-v9Bq2kuR.js.map +1 -0
  728. package/studio/server/chunks/middleware-D0o6fOUG.js +72 -0
  729. package/studio/server/chunks/middleware-D0o6fOUG.js.map +1 -0
  730. package/studio/server/chunks/mutations-BlgZViQj.js +551 -0
  731. package/studio/server/chunks/mutations-BlgZViQj.js.map +1 -0
  732. package/studio/server/chunks/node-sqlite-dialect-BYaBkSm1.js +197 -0
  733. package/studio/server/chunks/node-sqlite-dialect-BYaBkSm1.js.map +1 -0
  734. package/studio/server/chunks/onboarding-email-CCv_cZ-_.js +311 -0
  735. package/studio/server/chunks/onboarding-email-CCv_cZ-_.js.map +1 -0
  736. package/studio/server/chunks/optional-services-BGRY7tmz.js +45 -0
  737. package/studio/server/chunks/optional-services-BGRY7tmz.js.map +1 -0
  738. package/studio/server/chunks/pagination-Q7FOr3rO.js +159 -0
  739. package/studio/server/chunks/pagination-Q7FOr3rO.js.map +1 -0
  740. package/studio/server/chunks/posthog-kZp2zKvY.js +11 -0
  741. package/studio/server/chunks/posthog-kZp2zKvY.js.map +1 -0
  742. package/studio/server/chunks/presets-CU-ej2J9.js +369 -0
  743. package/studio/server/chunks/presets-CU-ej2J9.js.map +1 -0
  744. package/studio/server/chunks/project-layer-yZ50OnjM.js +28 -0
  745. package/studio/server/chunks/project-layer-yZ50OnjM.js.map +1 -0
  746. package/studio/server/chunks/projects.remote-BevbcBv4.js +297 -0
  747. package/studio/server/chunks/projects.remote-BevbcBv4.js.map +1 -0
  748. package/studio/server/chunks/queue-init-CcgYZbeV.js +38 -0
  749. package/studio/server/chunks/queue-init-CcgYZbeV.js.map +1 -0
  750. package/studio/server/chunks/registry-DcyeMfNZ.js +18 -0
  751. package/studio/server/chunks/registry-DcyeMfNZ.js.map +1 -0
  752. package/studio/server/chunks/registry2-DJC1cBxe.js +4851 -0
  753. package/studio/server/chunks/registry2-DJC1cBxe.js.map +1 -0
  754. package/studio/server/chunks/remote-148gj0t-CLfgEUwr.js +15 -0
  755. package/studio/server/chunks/remote-148gj0t-CLfgEUwr.js.map +1 -0
  756. package/studio/server/chunks/remote-1afl6ud-BYqN02Le.js +18 -0
  757. package/studio/server/chunks/remote-1afl6ud-BYqN02Le.js.map +1 -0
  758. package/studio/server/chunks/remote-1cihryv-BxHbFmSt.js +34 -0
  759. package/studio/server/chunks/remote-1cihryv-BxHbFmSt.js.map +1 -0
  760. package/studio/server/chunks/remote-1ez0sx-BWvDnL9q.js +34 -0
  761. package/studio/server/chunks/remote-1ez0sx-BWvDnL9q.js.map +1 -0
  762. package/studio/server/chunks/remote-1mi3j6d-Cg0pK35v.js +21 -0
  763. package/studio/server/chunks/remote-1mi3j6d-Cg0pK35v.js.map +1 -0
  764. package/studio/server/chunks/remote-1rjk8jv-CF94t93Y.js +22 -0
  765. package/studio/server/chunks/remote-1rjk8jv-CF94t93Y.js.map +1 -0
  766. package/studio/server/chunks/remote-1web5fy-BcJGUGtw.js +35 -0
  767. package/studio/server/chunks/remote-1web5fy-BcJGUGtw.js.map +1 -0
  768. package/studio/server/chunks/remote-5mu9ty-CGtbs6nv.js +31 -0
  769. package/studio/server/chunks/remote-5mu9ty-CGtbs6nv.js.map +1 -0
  770. package/studio/server/chunks/remote-aelvq6-C3B2AyF6.js +26 -0
  771. package/studio/server/chunks/remote-aelvq6-C3B2AyF6.js.map +1 -0
  772. package/studio/server/chunks/remote-em2k3w-Z00J8-Q9.js +25 -0
  773. package/studio/server/chunks/remote-em2k3w-Z00J8-Q9.js.map +1 -0
  774. package/studio/server/chunks/remote-gezfls-DWj4X0qA.js +21 -0
  775. package/studio/server/chunks/remote-gezfls-DWj4X0qA.js.map +1 -0
  776. package/studio/server/chunks/remote-lv3p1w-BcKTNydX.js +15 -0
  777. package/studio/server/chunks/remote-lv3p1w-BcKTNydX.js.map +1 -0
  778. package/studio/server/chunks/remote-ssr7vi-rhkV3R21.js +33 -0
  779. package/studio/server/chunks/remote-ssr7vi-rhkV3R21.js.map +1 -0
  780. package/studio/server/chunks/remote-sy19x7-SCvG1tDD.js +29 -0
  781. package/studio/server/chunks/remote-sy19x7-SCvG1tDD.js.map +1 -0
  782. package/studio/server/chunks/remote-tisyb0-Ct_sfSGt.js +31 -0
  783. package/studio/server/chunks/remote-tisyb0-Ct_sfSGt.js.map +1 -0
  784. package/studio/server/chunks/remote-xj8myv-tYWgOBub.js +31 -0
  785. package/studio/server/chunks/remote-xj8myv-tYWgOBub.js.map +1 -0
  786. package/studio/server/chunks/remote-z7lvth-BxO_zBV5.js +23 -0
  787. package/studio/server/chunks/remote-z7lvth-BxO_zBV5.js.map +1 -0
  788. package/studio/server/chunks/remote-zjib3m-Dcyw4Y6L.js +24 -0
  789. package/studio/server/chunks/remote-zjib3m-Dcyw4Y6L.js.map +1 -0
  790. package/studio/server/chunks/render-api-DtG3ftN1.js +240 -0
  791. package/studio/server/chunks/render-api-DtG3ftN1.js.map +1 -0
  792. package/studio/server/chunks/scrub-xyz.svelte_svelte_type_style_lang-BuQqzLLy.js +4752 -0
  793. package/studio/server/chunks/scrub-xyz.svelte_svelte_type_style_lang-BuQqzLLy.js.map +1 -0
  794. package/studio/server/chunks/stock-image.remote-Cn_Dh7Ok.js +87 -0
  795. package/studio/server/chunks/stock-image.remote-Cn_Dh7Ok.js.map +1 -0
  796. package/studio/server/chunks/subscription-BC4gCTG6.js +138 -0
  797. package/studio/server/chunks/subscription-BC4gCTG6.js.map +1 -0
  798. package/studio/server/chunks/subscription-limits-kr9leRdz.js +114 -0
  799. package/studio/server/chunks/subscription-limits-kr9leRdz.js.map +1 -0
  800. package/studio/server/chunks/template-usage.remote-DL-DKmuu.js +53 -0
  801. package/studio/server/chunks/template-usage.remote-DL-DKmuu.js.map +1 -0
  802. package/studio/server/chunks/thumbnail-queue-D4GYcvrD.js +148 -0
  803. package/studio/server/chunks/thumbnail-queue-D4GYcvrD.js.map +1 -0
  804. package/studio/server/chunks/tooltip-provider-D6ZF3H34.js +30 -0
  805. package/studio/server/chunks/tooltip-provider-D6ZF3H34.js.map +1 -0
  806. package/studio/server/chunks/tooltip.svelte-DRe72lD-.js +658 -0
  807. package/studio/server/chunks/tooltip.svelte-DRe72lD-.js.map +1 -0
  808. package/studio/server/chunks/tts-voices-B9J2ZzGy.js +32 -0
  809. package/studio/server/chunks/tts-voices-B9J2ZzGy.js.map +1 -0
  810. package/studio/server/chunks/tts.remote-Btrg7DBL.js +194 -0
  811. package/studio/server/chunks/tts.remote-Btrg7DBL.js.map +1 -0
  812. package/studio/server/chunks/ui.svelte-FJio-gZM.js +88 -0
  813. package/studio/server/chunks/ui.svelte-FJio-gZM.js.map +1 -0
  814. package/studio/server/chunks/upload-service-Boi3a_IC.js +220 -0
  815. package/studio/server/chunks/upload-service-Boi3a_IC.js.map +1 -0
  816. package/studio/server/chunks/upload.remote-Bhhj6ZvH.js +131 -0
  817. package/studio/server/chunks/upload.remote-Bhhj6ZvH.js.map +1 -0
  818. package/studio/server/chunks/video-generation.remote-CBblzjAk.js +197 -0
  819. package/studio/server/chunks/video-generation.remote-CBblzjAk.js.map +1 -0
  820. package/studio/server/chunks/video-renderer-DJUVOoRL.js +412 -0
  821. package/studio/server/chunks/video-renderer-DJUVOoRL.js.map +1 -0
  822. package/studio/server/chunks/watermark-DJiyRHwX.js +164 -0
  823. package/studio/server/chunks/watermark-DJiyRHwX.js.map +1 -0
  824. package/studio/server/index.js +1 -1
  825. package/studio/server/manifest.js +64 -62
  826. package/studio/server/manifest.js.map +1 -1
  827. package/studio/client/_app/immutable/assets/0.BKuIH3jk.css +0 -1
  828. package/studio/client/_app/immutable/assets/0.BKuIH3jk.css.br +0 -0
  829. package/studio/client/_app/immutable/assets/0.BKuIH3jk.css.gz +0 -0
  830. package/studio/client/_app/immutable/assets/editor._QrWwLKb.css +0 -1
  831. package/studio/client/_app/immutable/assets/editor._QrWwLKb.css.br +0 -2
  832. package/studio/client/_app/immutable/assets/editor._QrWwLKb.css.gz +0 -0
  833. package/studio/client/_app/immutable/chunks/-w8AgfGk.js +0 -1
  834. package/studio/client/_app/immutable/chunks/-w8AgfGk.js.br +0 -0
  835. package/studio/client/_app/immutable/chunks/-w8AgfGk.js.gz +0 -0
  836. package/studio/client/_app/immutable/chunks/0LXoSuAq.js +0 -1
  837. package/studio/client/_app/immutable/chunks/0LXoSuAq.js.br +0 -0
  838. package/studio/client/_app/immutable/chunks/0LXoSuAq.js.gz +0 -0
  839. package/studio/client/_app/immutable/chunks/0hf0C23S.js +0 -1
  840. package/studio/client/_app/immutable/chunks/0hf0C23S.js.br +0 -0
  841. package/studio/client/_app/immutable/chunks/0hf0C23S.js.gz +0 -0
  842. package/studio/client/_app/immutable/chunks/52GXB-Lx.js +0 -1
  843. package/studio/client/_app/immutable/chunks/52GXB-Lx.js.br +0 -0
  844. package/studio/client/_app/immutable/chunks/52GXB-Lx.js.gz +0 -0
  845. package/studio/client/_app/immutable/chunks/B6hmyilk.js +0 -1
  846. package/studio/client/_app/immutable/chunks/B6hmyilk.js.br +0 -0
  847. package/studio/client/_app/immutable/chunks/B6hmyilk.js.gz +0 -0
  848. package/studio/client/_app/immutable/chunks/BAhypDJI.js +0 -1
  849. package/studio/client/_app/immutable/chunks/BAhypDJI.js.br +0 -0
  850. package/studio/client/_app/immutable/chunks/BAhypDJI.js.gz +0 -0
  851. package/studio/client/_app/immutable/chunks/BSBe_oem.js +0 -16
  852. package/studio/client/_app/immutable/chunks/BSBe_oem.js.br +0 -0
  853. package/studio/client/_app/immutable/chunks/BSBe_oem.js.gz +0 -0
  854. package/studio/client/_app/immutable/chunks/BSPxtRj6.js +0 -1
  855. package/studio/client/_app/immutable/chunks/BSPxtRj6.js.br +0 -0
  856. package/studio/client/_app/immutable/chunks/BSPxtRj6.js.gz +0 -0
  857. package/studio/client/_app/immutable/chunks/BTkRM4Uk.js +0 -1
  858. package/studio/client/_app/immutable/chunks/BTkRM4Uk.js.br +0 -0
  859. package/studio/client/_app/immutable/chunks/BTkRM4Uk.js.gz +0 -0
  860. package/studio/client/_app/immutable/chunks/BY7NfAld.js +0 -4
  861. package/studio/client/_app/immutable/chunks/BY7NfAld.js.br +0 -0
  862. package/studio/client/_app/immutable/chunks/BY7NfAld.js.gz +0 -0
  863. package/studio/client/_app/immutable/chunks/BcFepoRa.js +0 -730
  864. package/studio/client/_app/immutable/chunks/BcFepoRa.js.br +0 -0
  865. package/studio/client/_app/immutable/chunks/BcFepoRa.js.gz +0 -0
  866. package/studio/client/_app/immutable/chunks/BvzaEl32.js +0 -1
  867. package/studio/client/_app/immutable/chunks/BvzaEl32.js.br +0 -0
  868. package/studio/client/_app/immutable/chunks/BvzaEl32.js.gz +0 -0
  869. package/studio/client/_app/immutable/chunks/Bxcr6TQy.js +0 -99
  870. package/studio/client/_app/immutable/chunks/Bxcr6TQy.js.br +0 -0
  871. package/studio/client/_app/immutable/chunks/Bxcr6TQy.js.gz +0 -0
  872. package/studio/client/_app/immutable/chunks/C0K_KauH.js +0 -1
  873. package/studio/client/_app/immutable/chunks/C0K_KauH.js.br +0 -0
  874. package/studio/client/_app/immutable/chunks/C0K_KauH.js.gz +0 -0
  875. package/studio/client/_app/immutable/chunks/C3zSaQMD.js +0 -1
  876. package/studio/client/_app/immutable/chunks/C3zSaQMD.js.br +0 -2
  877. package/studio/client/_app/immutable/chunks/C3zSaQMD.js.gz +0 -0
  878. package/studio/client/_app/immutable/chunks/C6BSxyDb.js +0 -1
  879. package/studio/client/_app/immutable/chunks/C6BSxyDb.js.br +0 -0
  880. package/studio/client/_app/immutable/chunks/C6BSxyDb.js.gz +0 -0
  881. package/studio/client/_app/immutable/chunks/C8FzHBqQ.js +0 -1
  882. package/studio/client/_app/immutable/chunks/C8FzHBqQ.js.br +0 -0
  883. package/studio/client/_app/immutable/chunks/C8FzHBqQ.js.gz +0 -0
  884. package/studio/client/_app/immutable/chunks/CC8c0epL.js +0 -4
  885. package/studio/client/_app/immutable/chunks/CC8c0epL.js.br +0 -0
  886. package/studio/client/_app/immutable/chunks/CC8c0epL.js.gz +0 -0
  887. package/studio/client/_app/immutable/chunks/CQdOmqus.js +0 -1
  888. package/studio/client/_app/immutable/chunks/CQdOmqus.js.br +0 -0
  889. package/studio/client/_app/immutable/chunks/CQdOmqus.js.gz +0 -0
  890. package/studio/client/_app/immutable/chunks/C_JEyoc9.js +0 -1
  891. package/studio/client/_app/immutable/chunks/C_JEyoc9.js.br +0 -0
  892. package/studio/client/_app/immutable/chunks/C_JEyoc9.js.gz +0 -0
  893. package/studio/client/_app/immutable/chunks/C_glBBzR.js +0 -2
  894. package/studio/client/_app/immutable/chunks/C_glBBzR.js.br +0 -0
  895. package/studio/client/_app/immutable/chunks/C_glBBzR.js.gz +0 -0
  896. package/studio/client/_app/immutable/chunks/CazEfIaP.js +0 -1
  897. package/studio/client/_app/immutable/chunks/CazEfIaP.js.br +0 -0
  898. package/studio/client/_app/immutable/chunks/CazEfIaP.js.gz +0 -0
  899. package/studio/client/_app/immutable/chunks/CiDOuEjR.js +0 -1
  900. package/studio/client/_app/immutable/chunks/CiDOuEjR.js.br +0 -0
  901. package/studio/client/_app/immutable/chunks/CiDOuEjR.js.gz +0 -0
  902. package/studio/client/_app/immutable/chunks/Cnoy1Nsk.js +0 -1
  903. package/studio/client/_app/immutable/chunks/Cnoy1Nsk.js.br +0 -0
  904. package/studio/client/_app/immutable/chunks/Cnoy1Nsk.js.gz +0 -0
  905. package/studio/client/_app/immutable/chunks/CrHjC-CS.js +0 -1
  906. package/studio/client/_app/immutable/chunks/CrHjC-CS.js.br +0 -0
  907. package/studio/client/_app/immutable/chunks/CrHjC-CS.js.gz +0 -0
  908. package/studio/client/_app/immutable/chunks/D-G_aVDe.js +0 -1
  909. package/studio/client/_app/immutable/chunks/D-G_aVDe.js.br +0 -0
  910. package/studio/client/_app/immutable/chunks/D-G_aVDe.js.gz +0 -0
  911. package/studio/client/_app/immutable/chunks/DK-xvsKr.js +0 -1
  912. package/studio/client/_app/immutable/chunks/DK-xvsKr.js.br +0 -0
  913. package/studio/client/_app/immutable/chunks/DK-xvsKr.js.gz +0 -0
  914. package/studio/client/_app/immutable/chunks/DKwvwQkU.js +0 -1
  915. package/studio/client/_app/immutable/chunks/DKwvwQkU.js.br +0 -0
  916. package/studio/client/_app/immutable/chunks/DKwvwQkU.js.gz +0 -0
  917. package/studio/client/_app/immutable/chunks/DRDQO7lT.js +0 -1
  918. package/studio/client/_app/immutable/chunks/DRDQO7lT.js.br +0 -0
  919. package/studio/client/_app/immutable/chunks/DRDQO7lT.js.gz +0 -0
  920. package/studio/client/_app/immutable/chunks/DTcslyJn.js +0 -1
  921. package/studio/client/_app/immutable/chunks/DTcslyJn.js.br +0 -0
  922. package/studio/client/_app/immutable/chunks/DTcslyJn.js.gz +0 -0
  923. package/studio/client/_app/immutable/chunks/DbaIpQMW.js +0 -512
  924. package/studio/client/_app/immutable/chunks/DbaIpQMW.js.br +0 -0
  925. package/studio/client/_app/immutable/chunks/DbaIpQMW.js.gz +0 -0
  926. package/studio/client/_app/immutable/chunks/Dhskw98X.js +0 -1
  927. package/studio/client/_app/immutable/chunks/Dhskw98X.js.br +0 -0
  928. package/studio/client/_app/immutable/chunks/Dhskw98X.js.gz +0 -0
  929. package/studio/client/_app/immutable/chunks/Dl3gtmRH.js +0 -1
  930. package/studio/client/_app/immutable/chunks/Dl3gtmRH.js.br +0 -0
  931. package/studio/client/_app/immutable/chunks/Dl3gtmRH.js.gz +0 -0
  932. package/studio/client/_app/immutable/chunks/Du09UsT_.js +0 -1
  933. package/studio/client/_app/immutable/chunks/Du09UsT_.js.br +0 -0
  934. package/studio/client/_app/immutable/chunks/Du09UsT_.js.gz +0 -0
  935. package/studio/client/_app/immutable/chunks/Duawn2EX.js +0 -1
  936. package/studio/client/_app/immutable/chunks/Duawn2EX.js.br +0 -0
  937. package/studio/client/_app/immutable/chunks/Duawn2EX.js.gz +0 -0
  938. package/studio/client/_app/immutable/chunks/DxbwWMuJ.js +0 -1
  939. package/studio/client/_app/immutable/chunks/DxbwWMuJ.js.br +0 -0
  940. package/studio/client/_app/immutable/chunks/DxbwWMuJ.js.gz +0 -0
  941. package/studio/client/_app/immutable/chunks/DzMyNXK1.js +0 -5
  942. package/studio/client/_app/immutable/chunks/DzMyNXK1.js.br +0 -0
  943. package/studio/client/_app/immutable/chunks/DzMyNXK1.js.gz +0 -0
  944. package/studio/client/_app/immutable/chunks/K82XSOze.js +0 -1
  945. package/studio/client/_app/immutable/chunks/K82XSOze.js.br +0 -0
  946. package/studio/client/_app/immutable/chunks/K82XSOze.js.gz +0 -0
  947. package/studio/client/_app/immutable/chunks/LegOngm6.js +0 -92
  948. package/studio/client/_app/immutable/chunks/LegOngm6.js.br +0 -0
  949. package/studio/client/_app/immutable/chunks/LegOngm6.js.gz +0 -0
  950. package/studio/client/_app/immutable/chunks/QUVFwVNg.js +0 -1
  951. package/studio/client/_app/immutable/chunks/QUVFwVNg.js.br +0 -0
  952. package/studio/client/_app/immutable/chunks/QUVFwVNg.js.gz +0 -0
  953. package/studio/client/_app/immutable/chunks/UzmbP4fJ.js +0 -1
  954. package/studio/client/_app/immutable/chunks/UzmbP4fJ.js.br +0 -0
  955. package/studio/client/_app/immutable/chunks/UzmbP4fJ.js.gz +0 -0
  956. package/studio/client/_app/immutable/chunks/WVZkyfqK.js +0 -1
  957. package/studio/client/_app/immutable/chunks/WVZkyfqK.js.br +0 -0
  958. package/studio/client/_app/immutable/chunks/WVZkyfqK.js.gz +0 -0
  959. package/studio/client/_app/immutable/chunks/lmiZGmp5.js +0 -1
  960. package/studio/client/_app/immutable/chunks/lmiZGmp5.js.br +0 -0
  961. package/studio/client/_app/immutable/chunks/lmiZGmp5.js.gz +0 -0
  962. package/studio/client/_app/immutable/chunks/t2OI8QCJ.js +0 -2
  963. package/studio/client/_app/immutable/chunks/t2OI8QCJ.js.br +0 -0
  964. package/studio/client/_app/immutable/chunks/t2OI8QCJ.js.gz +0 -0
  965. package/studio/client/_app/immutable/entry/app.ZJxo7olm.js +0 -2
  966. package/studio/client/_app/immutable/entry/app.ZJxo7olm.js.br +0 -0
  967. package/studio/client/_app/immutable/entry/app.ZJxo7olm.js.gz +0 -0
  968. package/studio/client/_app/immutable/entry/start.8QDn_ECL.js +0 -1
  969. package/studio/client/_app/immutable/entry/start.8QDn_ECL.js.br +0 -0
  970. package/studio/client/_app/immutable/entry/start.8QDn_ECL.js.gz +0 -0
  971. package/studio/client/_app/immutable/nodes/0.adNFkwFE.js +0 -2
  972. package/studio/client/_app/immutable/nodes/0.adNFkwFE.js.br +0 -0
  973. package/studio/client/_app/immutable/nodes/0.adNFkwFE.js.gz +0 -0
  974. package/studio/client/_app/immutable/nodes/1.BWNv6Cb_.js +0 -1
  975. package/studio/client/_app/immutable/nodes/1.BWNv6Cb_.js.br +0 -0
  976. package/studio/client/_app/immutable/nodes/1.BWNv6Cb_.js.gz +0 -0
  977. package/studio/client/_app/immutable/nodes/10.CczwW3Jo.js +0 -1
  978. package/studio/client/_app/immutable/nodes/10.CczwW3Jo.js.br +0 -0
  979. package/studio/client/_app/immutable/nodes/10.CczwW3Jo.js.gz +0 -0
  980. package/studio/client/_app/immutable/nodes/11.DLp4Fbp3.js +0 -1
  981. package/studio/client/_app/immutable/nodes/11.DLp4Fbp3.js.br +0 -0
  982. package/studio/client/_app/immutable/nodes/11.DLp4Fbp3.js.gz +0 -0
  983. package/studio/client/_app/immutable/nodes/12.4rh6TzEf.js +0 -2
  984. package/studio/client/_app/immutable/nodes/12.4rh6TzEf.js.br +0 -0
  985. package/studio/client/_app/immutable/nodes/12.4rh6TzEf.js.gz +0 -0
  986. package/studio/client/_app/immutable/nodes/13.Dz4al1DL.js +0 -1
  987. package/studio/client/_app/immutable/nodes/13.Dz4al1DL.js.br +0 -0
  988. package/studio/client/_app/immutable/nodes/13.Dz4al1DL.js.gz +0 -0
  989. package/studio/client/_app/immutable/nodes/14.Bl81Dygj.js +0 -1
  990. package/studio/client/_app/immutable/nodes/14.Bl81Dygj.js.br +0 -0
  991. package/studio/client/_app/immutable/nodes/14.Bl81Dygj.js.gz +0 -0
  992. package/studio/client/_app/immutable/nodes/15.gG909oU9.js +0 -1
  993. package/studio/client/_app/immutable/nodes/15.gG909oU9.js.br +0 -0
  994. package/studio/client/_app/immutable/nodes/15.gG909oU9.js.gz +0 -0
  995. package/studio/client/_app/immutable/nodes/16.7V_UKKuG.js +0 -8
  996. package/studio/client/_app/immutable/nodes/16.7V_UKKuG.js.br +0 -0
  997. package/studio/client/_app/immutable/nodes/16.7V_UKKuG.js.gz +0 -0
  998. package/studio/client/_app/immutable/nodes/17.Cz647w46.js +0 -1
  999. package/studio/client/_app/immutable/nodes/17.Cz647w46.js.br +0 -0
  1000. package/studio/client/_app/immutable/nodes/17.Cz647w46.js.gz +0 -0
  1001. package/studio/client/_app/immutable/nodes/18.BCZi6A5-.js +0 -1
  1002. package/studio/client/_app/immutable/nodes/18.BCZi6A5-.js.br +0 -0
  1003. package/studio/client/_app/immutable/nodes/18.BCZi6A5-.js.gz +0 -0
  1004. package/studio/client/_app/immutable/nodes/19.DoglPV3k.js +0 -1
  1005. package/studio/client/_app/immutable/nodes/19.DoglPV3k.js.br +0 -0
  1006. package/studio/client/_app/immutable/nodes/19.DoglPV3k.js.gz +0 -0
  1007. package/studio/client/_app/immutable/nodes/20.DGbcSpHq.js +0 -45
  1008. package/studio/client/_app/immutable/nodes/20.DGbcSpHq.js.br +0 -0
  1009. package/studio/client/_app/immutable/nodes/20.DGbcSpHq.js.gz +0 -0
  1010. package/studio/client/_app/immutable/nodes/21.CdVcKzDq.js +0 -16
  1011. package/studio/client/_app/immutable/nodes/21.CdVcKzDq.js.br +0 -0
  1012. package/studio/client/_app/immutable/nodes/21.CdVcKzDq.js.gz +0 -0
  1013. package/studio/client/_app/immutable/nodes/28.lF0IrCqU.js +0 -8
  1014. package/studio/client/_app/immutable/nodes/28.lF0IrCqU.js.br +0 -0
  1015. package/studio/client/_app/immutable/nodes/28.lF0IrCqU.js.gz +0 -0
  1016. package/studio/client/_app/immutable/nodes/3.C1mJzj4n.js +0 -1
  1017. package/studio/client/_app/immutable/nodes/3.C1mJzj4n.js.br +0 -0
  1018. package/studio/client/_app/immutable/nodes/3.C1mJzj4n.js.gz +0 -0
  1019. package/studio/client/_app/immutable/nodes/30.BvTn5fYt.js +0 -26
  1020. package/studio/client/_app/immutable/nodes/30.BvTn5fYt.js.br +0 -0
  1021. package/studio/client/_app/immutable/nodes/30.BvTn5fYt.js.gz +0 -0
  1022. package/studio/client/_app/immutable/nodes/38.CX0Z5dJm.js +0 -1
  1023. package/studio/client/_app/immutable/nodes/38.CX0Z5dJm.js.br +0 -0
  1024. package/studio/client/_app/immutable/nodes/38.CX0Z5dJm.js.gz +0 -0
  1025. package/studio/client/_app/immutable/nodes/39.CRxr2YQ6.js +0 -87
  1026. package/studio/client/_app/immutable/nodes/39.CRxr2YQ6.js.br +0 -0
  1027. package/studio/client/_app/immutable/nodes/39.CRxr2YQ6.js.gz +0 -0
  1028. package/studio/client/_app/immutable/nodes/4.YfreNTfv.js +0 -1
  1029. package/studio/client/_app/immutable/nodes/4.YfreNTfv.js.br +0 -1
  1030. package/studio/client/_app/immutable/nodes/4.YfreNTfv.js.gz +0 -0
  1031. package/studio/client/_app/immutable/nodes/40.BVTwXIYj.js +0 -15
  1032. package/studio/client/_app/immutable/nodes/40.BVTwXIYj.js.br +0 -0
  1033. package/studio/client/_app/immutable/nodes/40.BVTwXIYj.js.gz +0 -0
  1034. package/studio/client/_app/immutable/nodes/41.JtyATqrM.js +0 -1
  1035. package/studio/client/_app/immutable/nodes/41.JtyATqrM.js.br +0 -0
  1036. package/studio/client/_app/immutable/nodes/41.JtyATqrM.js.gz +0 -0
  1037. package/studio/client/_app/immutable/nodes/42.XO5VZAmI.js +0 -1
  1038. package/studio/client/_app/immutable/nodes/42.XO5VZAmI.js.br +0 -0
  1039. package/studio/client/_app/immutable/nodes/42.XO5VZAmI.js.gz +0 -0
  1040. package/studio/client/_app/immutable/nodes/43.CWpVKGhz.js +0 -1
  1041. package/studio/client/_app/immutable/nodes/43.CWpVKGhz.js.br +0 -0
  1042. package/studio/client/_app/immutable/nodes/43.CWpVKGhz.js.gz +0 -0
  1043. package/studio/client/_app/immutable/nodes/44.DX64rKI7.js +0 -1
  1044. package/studio/client/_app/immutable/nodes/44.DX64rKI7.js.br +0 -0
  1045. package/studio/client/_app/immutable/nodes/44.DX64rKI7.js.gz +0 -0
  1046. package/studio/client/_app/immutable/nodes/45.mLQWUOa5.js +0 -2
  1047. package/studio/client/_app/immutable/nodes/45.mLQWUOa5.js.br +0 -0
  1048. package/studio/client/_app/immutable/nodes/45.mLQWUOa5.js.gz +0 -0
  1049. package/studio/client/_app/immutable/nodes/46.KA353oiQ.js +0 -1
  1050. package/studio/client/_app/immutable/nodes/46.KA353oiQ.js.br +0 -0
  1051. package/studio/client/_app/immutable/nodes/46.KA353oiQ.js.gz +0 -0
  1052. package/studio/client/_app/immutable/nodes/47.D3mABDjY.js +0 -1
  1053. package/studio/client/_app/immutable/nodes/47.D3mABDjY.js.br +0 -0
  1054. package/studio/client/_app/immutable/nodes/47.D3mABDjY.js.gz +0 -0
  1055. package/studio/client/_app/immutable/nodes/48.BwjQpQnt.js +0 -1
  1056. package/studio/client/_app/immutable/nodes/48.BwjQpQnt.js.br +0 -0
  1057. package/studio/client/_app/immutable/nodes/48.BwjQpQnt.js.gz +0 -0
  1058. package/studio/client/_app/immutable/nodes/49.EaoBcCzE.js +0 -7
  1059. package/studio/client/_app/immutable/nodes/49.EaoBcCzE.js.br +0 -0
  1060. package/studio/client/_app/immutable/nodes/49.EaoBcCzE.js.gz +0 -0
  1061. package/studio/client/_app/immutable/nodes/5.YfreNTfv.js +0 -1
  1062. package/studio/client/_app/immutable/nodes/5.YfreNTfv.js.br +0 -1
  1063. package/studio/client/_app/immutable/nodes/5.YfreNTfv.js.gz +0 -0
  1064. package/studio/client/_app/immutable/nodes/7.pzlwJNWY.js +0 -1
  1065. package/studio/client/_app/immutable/nodes/7.pzlwJNWY.js.br +0 -0
  1066. package/studio/client/_app/immutable/nodes/7.pzlwJNWY.js.gz +0 -0
  1067. package/studio/client/_app/immutable/nodes/8.COxVG2uL.js +0 -1
  1068. package/studio/client/_app/immutable/nodes/8.COxVG2uL.js.br +0 -0
  1069. package/studio/client/_app/immutable/nodes/8.COxVG2uL.js.gz +0 -0
  1070. package/studio/client/_app/immutable/nodes/9.DEUtbL1G.js +0 -1
  1071. package/studio/client/_app/immutable/nodes/9.DEUtbL1G.js.br +0 -0
  1072. package/studio/client/_app/immutable/nodes/9.DEUtbL1G.js.gz +0 -0
  1073. package/studio/server/chunks/0-oFoj6xob.js +0 -32
  1074. package/studio/server/chunks/0-oFoj6xob.js.map +0 -1
  1075. package/studio/server/chunks/1-BZOYuQnd.js +0 -9
  1076. package/studio/server/chunks/1-BZOYuQnd.js.map +0 -1
  1077. package/studio/server/chunks/11-BDyz7OWy.js +0 -9
  1078. package/studio/server/chunks/11-BDyz7OWy.js.map +0 -1
  1079. package/studio/server/chunks/12-DCVWOw1E.js +0 -9
  1080. package/studio/server/chunks/12-DCVWOw1E.js.map +0 -1
  1081. package/studio/server/chunks/13-D5eVPcWI.js +0 -59
  1082. package/studio/server/chunks/13-D5eVPcWI.js.map +0 -1
  1083. package/studio/server/chunks/14-DLN4rZiK.js +0 -60
  1084. package/studio/server/chunks/14-DLN4rZiK.js.map +0 -1
  1085. package/studio/server/chunks/15-D3vqObtU.js +0 -9
  1086. package/studio/server/chunks/15-D3vqObtU.js.map +0 -1
  1087. package/studio/server/chunks/16-B80xfxth.js +0 -72
  1088. package/studio/server/chunks/16-B80xfxth.js.map +0 -1
  1089. package/studio/server/chunks/17-BHuReO4a.js +0 -9
  1090. package/studio/server/chunks/17-BHuReO4a.js.map +0 -1
  1091. package/studio/server/chunks/18-wt-l6gKd.js +0 -9
  1092. package/studio/server/chunks/18-wt-l6gKd.js.map +0 -1
  1093. package/studio/server/chunks/19-CM1TK59H.js +0 -9
  1094. package/studio/server/chunks/19-CM1TK59H.js.map +0 -1
  1095. package/studio/server/chunks/20-l1HA1gZm.js +0 -138
  1096. package/studio/server/chunks/20-l1HA1gZm.js.map +0 -1
  1097. package/studio/server/chunks/3-CzCasqaG.js +0 -9
  1098. package/studio/server/chunks/3-CzCasqaG.js.map +0 -1
  1099. package/studio/server/chunks/4-CI_t25RD.js +0 -9
  1100. package/studio/server/chunks/4-CI_t25RD.js.map +0 -1
  1101. package/studio/server/chunks/42-P_ROr-Kz.js +0 -56
  1102. package/studio/server/chunks/42-P_ROr-Kz.js.map +0 -1
  1103. package/studio/server/chunks/43-DjsPMRbC.js +0 -9
  1104. package/studio/server/chunks/43-DjsPMRbC.js.map +0 -1
  1105. package/studio/server/chunks/44-Bja0V2qT.js +0 -9
  1106. package/studio/server/chunks/44-Bja0V2qT.js.map +0 -1
  1107. package/studio/server/chunks/45-ClLo6O3h.js +0 -114
  1108. package/studio/server/chunks/45-ClLo6O3h.js.map +0 -1
  1109. package/studio/server/chunks/49-1-oQCIAS.js +0 -14
  1110. package/studio/server/chunks/49-1-oQCIAS.js.map +0 -1
  1111. package/studio/server/chunks/5-rt2C_t_3.js +0 -9
  1112. package/studio/server/chunks/5-rt2C_t_3.js.map +0 -1
  1113. package/studio/server/chunks/7-bEHSOvc4.js +0 -215
  1114. package/studio/server/chunks/7-bEHSOvc4.js.map +0 -1
  1115. package/studio/server/chunks/_error.svelte-DVRBaDbx.js +0 -98
  1116. package/studio/server/chunks/_error.svelte-DVRBaDbx.js.map +0 -1
  1117. package/studio/server/chunks/_error.svelte-Dt8wv2eu.js +0 -98
  1118. package/studio/server/chunks/_error.svelte-Dt8wv2eu.js.map +0 -1
  1119. package/studio/server/chunks/_layout.svelte-55nnwb0N.js +0 -400
  1120. package/studio/server/chunks/_layout.svelte-55nnwb0N.js.map +0 -1
  1121. package/studio/server/chunks/_layout.svelte-BL7PMde9.js +0 -64
  1122. package/studio/server/chunks/_layout.svelte-BL7PMde9.js.map +0 -1
  1123. package/studio/server/chunks/_layout.svelte-BtEadWQB.js +0 -64
  1124. package/studio/server/chunks/_layout.svelte-BtEadWQB.js.map +0 -1
  1125. package/studio/server/chunks/_layout.svelte-CfDTUogU.js +0 -1054
  1126. package/studio/server/chunks/_layout.svelte-CfDTUogU.js.map +0 -1
  1127. package/studio/server/chunks/_page.svelte-B-1o9Tva.js +0 -506
  1128. package/studio/server/chunks/_page.svelte-B-1o9Tva.js.map +0 -1
  1129. package/studio/server/chunks/_page.svelte-B93-TmZo.js +0 -160
  1130. package/studio/server/chunks/_page.svelte-B93-TmZo.js.map +0 -1
  1131. package/studio/server/chunks/_page.svelte-BqwbRDzJ.js +0 -1731
  1132. package/studio/server/chunks/_page.svelte-BqwbRDzJ.js.map +0 -1
  1133. package/studio/server/chunks/_page.svelte-CWrqBxDM.js +0 -1021
  1134. package/studio/server/chunks/_page.svelte-CWrqBxDM.js.map +0 -1
  1135. package/studio/server/chunks/_page.svelte-Cg5sXfnK.js +0 -111
  1136. package/studio/server/chunks/_page.svelte-Cg5sXfnK.js.map +0 -1
  1137. package/studio/server/chunks/_page.svelte-CvEkB4SR.js +0 -319
  1138. package/studio/server/chunks/_page.svelte-CvEkB4SR.js.map +0 -1
  1139. package/studio/server/chunks/_page.svelte-D5uSaQ_6.js +0 -256
  1140. package/studio/server/chunks/_page.svelte-D5uSaQ_6.js.map +0 -1
  1141. package/studio/server/chunks/_page.svelte-D6XGPiAL.js +0 -79
  1142. package/studio/server/chunks/_page.svelte-D6XGPiAL.js.map +0 -1
  1143. package/studio/server/chunks/_page.svelte-DAyju3rn.js +0 -113
  1144. package/studio/server/chunks/_page.svelte-DAyju3rn.js.map +0 -1
  1145. package/studio/server/chunks/_page.svelte-Dxd9_9zA.js +0 -418
  1146. package/studio/server/chunks/_page.svelte-Dxd9_9zA.js.map +0 -1
  1147. package/studio/server/chunks/_page.svelte-GHdQM1UB.js +0 -191
  1148. package/studio/server/chunks/_page.svelte-GHdQM1UB.js.map +0 -1
  1149. package/studio/server/chunks/_page.svelte-axu5NW2S.js +0 -11053
  1150. package/studio/server/chunks/_page.svelte-axu5NW2S.js.map +0 -1
  1151. package/studio/server/chunks/_server.ts-5MqnJlEk.js +0 -87
  1152. package/studio/server/chunks/_server.ts-5MqnJlEk.js.map +0 -1
  1153. package/studio/server/chunks/_server.ts-6KoXdftM.js +0 -70
  1154. package/studio/server/chunks/_server.ts-6KoXdftM.js.map +0 -1
  1155. package/studio/server/chunks/_server.ts-BPbGZeLb.js +0 -718
  1156. package/studio/server/chunks/_server.ts-BPbGZeLb.js.map +0 -1
  1157. package/studio/server/chunks/_server.ts-BQiH-pDg.js +0 -79
  1158. package/studio/server/chunks/_server.ts-BQiH-pDg.js.map +0 -1
  1159. package/studio/server/chunks/_server.ts-BYd-I1tc.js +0 -41
  1160. package/studio/server/chunks/_server.ts-BYd-I1tc.js.map +0 -1
  1161. package/studio/server/chunks/_server.ts-BryF-BNZ.js +0 -96
  1162. package/studio/server/chunks/_server.ts-BryF-BNZ.js.map +0 -1
  1163. package/studio/server/chunks/_server.ts-C5J0RS2-.js +0 -117
  1164. package/studio/server/chunks/_server.ts-C5J0RS2-.js.map +0 -1
  1165. package/studio/server/chunks/_server.ts-CTCmDBMr.js +0 -49
  1166. package/studio/server/chunks/_server.ts-CTCmDBMr.js.map +0 -1
  1167. package/studio/server/chunks/_server.ts-CXM9soU9.js +0 -34
  1168. package/studio/server/chunks/_server.ts-CXM9soU9.js.map +0 -1
  1169. package/studio/server/chunks/_server.ts-CbZYXLYW.js +0 -56
  1170. package/studio/server/chunks/_server.ts-CbZYXLYW.js.map +0 -1
  1171. package/studio/server/chunks/_server.ts-CtiogpOk.js +0 -302
  1172. package/studio/server/chunks/_server.ts-CtiogpOk.js.map +0 -1
  1173. package/studio/server/chunks/_server.ts-D75v2LAN.js +0 -52
  1174. package/studio/server/chunks/_server.ts-D75v2LAN.js.map +0 -1
  1175. package/studio/server/chunks/_server.ts-DANOf9Kg.js +0 -158
  1176. package/studio/server/chunks/_server.ts-DANOf9Kg.js.map +0 -1
  1177. package/studio/server/chunks/_server.ts-DF0SCYmL.js +0 -48
  1178. package/studio/server/chunks/_server.ts-DF0SCYmL.js.map +0 -1
  1179. package/studio/server/chunks/_server.ts-DrkT4gOl.js +0 -121
  1180. package/studio/server/chunks/_server.ts-DrkT4gOl.js.map +0 -1
  1181. package/studio/server/chunks/_server.ts-DscCNgaG.js +0 -87
  1182. package/studio/server/chunks/_server.ts-DscCNgaG.js.map +0 -1
  1183. package/studio/server/chunks/_server.ts-Duz2jodQ.js +0 -22
  1184. package/studio/server/chunks/_server.ts-Duz2jodQ.js.map +0 -1
  1185. package/studio/server/chunks/_server.ts-K-RN8Vah.js +0 -684
  1186. package/studio/server/chunks/_server.ts-K-RN8Vah.js.map +0 -1
  1187. package/studio/server/chunks/_server.ts-OkHzpWAg.js +0 -68
  1188. package/studio/server/chunks/_server.ts-OkHzpWAg.js.map +0 -1
  1189. package/studio/server/chunks/_server.ts-T7wyJ0On.js +0 -58
  1190. package/studio/server/chunks/_server.ts-T7wyJ0On.js.map +0 -1
  1191. package/studio/server/chunks/_server.ts-XWBoVSBG.js +0 -232
  1192. package/studio/server/chunks/_server.ts-XWBoVSBG.js.map +0 -1
  1193. package/studio/server/chunks/_server.ts-liWNn8pd.js +0 -91
  1194. package/studio/server/chunks/_server.ts-liWNn8pd.js.map +0 -1
  1195. package/studio/server/chunks/_server.ts-wjU8lnxc.js +0 -108
  1196. package/studio/server/chunks/_server.ts-wjU8lnxc.js.map +0 -1
  1197. package/studio/server/chunks/_server.ts-xBWWvyW7.js +0 -60
  1198. package/studio/server/chunks/_server.ts-xBWWvyW7.js.map +0 -1
  1199. package/studio/server/chunks/adapter-B-i_4tnk.js +0 -91
  1200. package/studio/server/chunks/adapter-B-i_4tnk.js.map +0 -1
  1201. package/studio/server/chunks/admin.remote-5orFS4k1.js +0 -105
  1202. package/studio/server/chunks/admin.remote-5orFS4k1.js.map +0 -1
  1203. package/studio/server/chunks/ai-access-C-qFWKe-.js +0 -282
  1204. package/studio/server/chunks/ai-access-C-qFWKe-.js.map +0 -1
  1205. package/studio/server/chunks/ai.remote-Da4JRO59.js +0 -37
  1206. package/studio/server/chunks/ai.remote-Da4JRO59.js.map +0 -1
  1207. package/studio/server/chunks/alert-dialog-description-DOMGfPke.js +0 -578
  1208. package/studio/server/chunks/alert-dialog-description-DOMGfPke.js.map +0 -1
  1209. package/studio/server/chunks/animation-DPwINa4I.js +0 -2892
  1210. package/studio/server/chunks/animation-DPwINa4I.js.map +0 -1
  1211. package/studio/server/chunks/api-DkajkFtS.js +0 -434
  1212. package/studio/server/chunks/api-DkajkFtS.js.map +0 -1
  1213. package/studio/server/chunks/api-keys-D9bbxRhK.js +0 -117
  1214. package/studio/server/chunks/api-keys-D9bbxRhK.js.map +0 -1
  1215. package/studio/server/chunks/api-keys.remote-CN4CRiIA.js +0 -88
  1216. package/studio/server/chunks/api-keys.remote-CN4CRiIA.js.map +0 -1
  1217. package/studio/server/chunks/app-header-BfPEtjyC.js +0 -96
  1218. package/studio/server/chunks/app-header-BfPEtjyC.js.map +0 -1
  1219. package/studio/server/chunks/assets.remote-B8_mtYX6.js +0 -113
  1220. package/studio/server/chunks/assets.remote-B8_mtYX6.js.map +0 -1
  1221. package/studio/server/chunks/attribute-protocol-C_pjkekX.js +0 -151
  1222. package/studio/server/chunks/attribute-protocol-C_pjkekX.js.map +0 -1
  1223. package/studio/server/chunks/auth-CiWMo-Qu.js +0 -22472
  1224. package/studio/server/chunks/auth-CiWMo-Qu.js.map +0 -1
  1225. package/studio/server/chunks/auth.remote-C6edHyaa.js +0 -351
  1226. package/studio/server/chunks/auth.remote-C6edHyaa.js.map +0 -1
  1227. package/studio/server/chunks/base-Bq5n_4Fz.js +0 -210
  1228. package/studio/server/chunks/base-Bq5n_4Fz.js.map +0 -1
  1229. package/studio/server/chunks/bun-sqlite-dialect-C8OaCWSL-CsGahR4n.js +0 -197
  1230. package/studio/server/chunks/bun-sqlite-dialect-C8OaCWSL-CsGahR4n.js.map +0 -1
  1231. package/studio/server/chunks/captions.remote-BtVr9SZd.js +0 -184
  1232. package/studio/server/chunks/captions.remote-BtVr9SZd.js.map +0 -1
  1233. package/studio/server/chunks/client2-D2vZ7-eF.js +0 -66
  1234. package/studio/server/chunks/client2-D2vZ7-eF.js.map +0 -1
  1235. package/studio/server/chunks/d1-sqlite-dialect-sYHNqBte-ClSngqDL.js +0 -160
  1236. package/studio/server/chunks/d1-sqlite-dialect-sYHNqBte-ClSngqDL.js.map +0 -1
  1237. package/studio/server/chunks/desktop-bootstrap-C46aoZ6Z.js +0 -67
  1238. package/studio/server/chunks/desktop-bootstrap-C46aoZ6Z.js.map +0 -1
  1239. package/studio/server/chunks/dubbing.remote-DHGIYU_A.js +0 -153
  1240. package/studio/server/chunks/dubbing.remote-DHGIYU_A.js.map +0 -1
  1241. package/studio/server/chunks/editor.svelte-CiJvwHAm.js +0 -21024
  1242. package/studio/server/chunks/editor.svelte-CiJvwHAm.js.map +0 -1
  1243. package/studio/server/chunks/env-CsH9rG40.js +0 -91
  1244. package/studio/server/chunks/env-CsH9rG40.js.map +0 -1
  1245. package/studio/server/chunks/extract-audio.remote-D4Autpid.js +0 -95
  1246. package/studio/server/chunks/extract-audio.remote-D4Autpid.js.map +0 -1
  1247. package/studio/server/chunks/feedback.remote-CfdjHpdW.js +0 -49
  1248. package/studio/server/chunks/feedback.remote-CfdjHpdW.js.map +0 -1
  1249. package/studio/server/chunks/fs-project-BLLGFRv1.js +0 -134
  1250. package/studio/server/chunks/fs-project-BLLGFRv1.js.map +0 -1
  1251. package/studio/server/chunks/generate-speech-BERLu-Vk.js +0 -536
  1252. package/studio/server/chunks/generate-speech-BERLu-Vk.js.map +0 -1
  1253. package/studio/server/chunks/hooks.server-MEVEsSA9.js +0 -309
  1254. package/studio/server/chunks/hooks.server-MEVEsSA9.js.map +0 -1
  1255. package/studio/server/chunks/html-parser-LopZIqoS.js +0 -8516
  1256. package/studio/server/chunks/html-parser-LopZIqoS.js.map +0 -1
  1257. package/studio/server/chunks/html-writer-Ea_4f8hT.js +0 -242
  1258. package/studio/server/chunks/html-writer-Ea_4f8hT.js.map +0 -1
  1259. package/studio/server/chunks/index-CBGGzszt.js +0 -4578
  1260. package/studio/server/chunks/index-CBGGzszt.js.map +0 -1
  1261. package/studio/server/chunks/index12-C5zKPozR.js +0 -265
  1262. package/studio/server/chunks/index12-C5zKPozR.js.map +0 -1
  1263. package/studio/server/chunks/index2-e2qJOUJ5.js +0 -23
  1264. package/studio/server/chunks/index2-e2qJOUJ5.js.map +0 -1
  1265. package/studio/server/chunks/index3-akRvPp-y.js +0 -8
  1266. package/studio/server/chunks/index3-akRvPp-y.js.map +0 -1
  1267. package/studio/server/chunks/index4-CowumPcw.js +0 -48
  1268. package/studio/server/chunks/index4-CowumPcw.js.map +0 -1
  1269. package/studio/server/chunks/index6-92MPHdlt.js +0 -239
  1270. package/studio/server/chunks/index6-92MPHdlt.js.map +0 -1
  1271. package/studio/server/chunks/index8-zuJK-jFa.js +0 -44
  1272. package/studio/server/chunks/index8-zuJK-jFa.js.map +0 -1
  1273. package/studio/server/chunks/layout-template-BoNv9dF2.js +0 -1371
  1274. package/studio/server/chunks/layout-template-BoNv9dF2.js.map +0 -1
  1275. package/studio/server/chunks/lummi.remote-Bx8Vg0et.js +0 -215
  1276. package/studio/server/chunks/lummi.remote-Bx8Vg0et.js.map +0 -1
  1277. package/studio/server/chunks/media-ARIn6Aw1.js +0 -157
  1278. package/studio/server/chunks/media-ARIn6Aw1.js.map +0 -1
  1279. package/studio/server/chunks/media-analysis-GisyEkHY.js +0 -171
  1280. package/studio/server/chunks/media-analysis-GisyEkHY.js.map +0 -1
  1281. package/studio/server/chunks/media-analysis.remote-BzGY_HjI.js +0 -63
  1282. package/studio/server/chunks/media-analysis.remote-BzGY_HjI.js.map +0 -1
  1283. package/studio/server/chunks/middleware-CazuI_Wf.js +0 -72
  1284. package/studio/server/chunks/middleware-CazuI_Wf.js.map +0 -1
  1285. package/studio/server/chunks/mutation-schemas-DOtU1skD.js +0 -137
  1286. package/studio/server/chunks/mutation-schemas-DOtU1skD.js.map +0 -1
  1287. package/studio/server/chunks/mutations-6JWuU3s9.js +0 -503
  1288. package/studio/server/chunks/mutations-6JWuU3s9.js.map +0 -1
  1289. package/studio/server/chunks/node-sqlite-dialect-Q2OvDp9q.js +0 -197
  1290. package/studio/server/chunks/node-sqlite-dialect-Q2OvDp9q.js.map +0 -1
  1291. package/studio/server/chunks/onboarding-email-CHXOtnYq.js +0 -311
  1292. package/studio/server/chunks/onboarding-email-CHXOtnYq.js.map +0 -1
  1293. package/studio/server/chunks/optional-services-rI0rdA4P.js +0 -45
  1294. package/studio/server/chunks/optional-services-rI0rdA4P.js.map +0 -1
  1295. package/studio/server/chunks/pagination-JOJpLeOm.js +0 -159
  1296. package/studio/server/chunks/pagination-JOJpLeOm.js.map +0 -1
  1297. package/studio/server/chunks/posthog-DXw1m97H.js +0 -11
  1298. package/studio/server/chunks/posthog-DXw1m97H.js.map +0 -1
  1299. package/studio/server/chunks/presets-BKeKVq-L.js +0 -369
  1300. package/studio/server/chunks/presets-BKeKVq-L.js.map +0 -1
  1301. package/studio/server/chunks/project-layer-Bbz6zgRN.js +0 -28
  1302. package/studio/server/chunks/project-layer-Bbz6zgRN.js.map +0 -1
  1303. package/studio/server/chunks/projects.remote-Bzca0wLB.js +0 -297
  1304. package/studio/server/chunks/projects.remote-Bzca0wLB.js.map +0 -1
  1305. package/studio/server/chunks/queue-init-DUao6hhx.js +0 -38
  1306. package/studio/server/chunks/queue-init-DUao6hhx.js.map +0 -1
  1307. package/studio/server/chunks/registry-Cq-PY3D3.js +0 -16
  1308. package/studio/server/chunks/registry-Cq-PY3D3.js.map +0 -1
  1309. package/studio/server/chunks/registry2-BSIleFMP.js +0 -4851
  1310. package/studio/server/chunks/registry2-BSIleFMP.js.map +0 -1
  1311. package/studio/server/chunks/remote-148gj0t-CBE9iOwY.js +0 -14
  1312. package/studio/server/chunks/remote-148gj0t-CBE9iOwY.js.map +0 -1
  1313. package/studio/server/chunks/remote-1afl6ud-yFS1W6RH.js +0 -18
  1314. package/studio/server/chunks/remote-1afl6ud-yFS1W6RH.js.map +0 -1
  1315. package/studio/server/chunks/remote-1mi3j6d-COSwmla7.js +0 -21
  1316. package/studio/server/chunks/remote-1mi3j6d-COSwmla7.js.map +0 -1
  1317. package/studio/server/chunks/remote-1rjk8jv-C-ZOeAZr.js +0 -22
  1318. package/studio/server/chunks/remote-1rjk8jv-C-ZOeAZr.js.map +0 -1
  1319. package/studio/server/chunks/remote-1web5fy-Crw8BQuf.js +0 -30
  1320. package/studio/server/chunks/remote-1web5fy-Crw8BQuf.js.map +0 -1
  1321. package/studio/server/chunks/remote-5mu9ty-CiUcViXD.js +0 -31
  1322. package/studio/server/chunks/remote-5mu9ty-CiUcViXD.js.map +0 -1
  1323. package/studio/server/chunks/remote-aelvq6-BHLpqBRM.js +0 -26
  1324. package/studio/server/chunks/remote-aelvq6-BHLpqBRM.js.map +0 -1
  1325. package/studio/server/chunks/remote-em2k3w-BXLmObYN.js +0 -25
  1326. package/studio/server/chunks/remote-em2k3w-BXLmObYN.js.map +0 -1
  1327. package/studio/server/chunks/remote-gezfls-Cmzz6fWa.js +0 -21
  1328. package/studio/server/chunks/remote-gezfls-Cmzz6fWa.js.map +0 -1
  1329. package/studio/server/chunks/remote-lv3p1w-fkE1PB7N.js +0 -15
  1330. package/studio/server/chunks/remote-lv3p1w-fkE1PB7N.js.map +0 -1
  1331. package/studio/server/chunks/remote-ssr7vi-Cbv95MBE.js +0 -33
  1332. package/studio/server/chunks/remote-ssr7vi-Cbv95MBE.js.map +0 -1
  1333. package/studio/server/chunks/remote-sy19x7-BA_A5ekM.js +0 -29
  1334. package/studio/server/chunks/remote-sy19x7-BA_A5ekM.js.map +0 -1
  1335. package/studio/server/chunks/remote-tisyb0-CCv0922s.js +0 -31
  1336. package/studio/server/chunks/remote-tisyb0-CCv0922s.js.map +0 -1
  1337. package/studio/server/chunks/remote-xj8myv-CNAPSYMd.js +0 -31
  1338. package/studio/server/chunks/remote-xj8myv-CNAPSYMd.js.map +0 -1
  1339. package/studio/server/chunks/remote-z7lvth-Dddp33_7.js +0 -23
  1340. package/studio/server/chunks/remote-z7lvth-Dddp33_7.js.map +0 -1
  1341. package/studio/server/chunks/remote-zjib3m-CgmI2LZY.js +0 -24
  1342. package/studio/server/chunks/remote-zjib3m-CgmI2LZY.js.map +0 -1
  1343. package/studio/server/chunks/render-api-su0kZhxA.js +0 -240
  1344. package/studio/server/chunks/render-api-su0kZhxA.js.map +0 -1
  1345. package/studio/server/chunks/scrub-xyz.svelte_svelte_type_style_lang-DU6E-ve4.js +0 -4752
  1346. package/studio/server/chunks/scrub-xyz.svelte_svelte_type_style_lang-DU6E-ve4.js.map +0 -1
  1347. package/studio/server/chunks/subscription-CjEjoIFS.js +0 -138
  1348. package/studio/server/chunks/subscription-CjEjoIFS.js.map +0 -1
  1349. package/studio/server/chunks/subscription-limits-B7Q2pts9.js +0 -114
  1350. package/studio/server/chunks/subscription-limits-B7Q2pts9.js.map +0 -1
  1351. package/studio/server/chunks/template-usage.remote-DOFxtTHM.js +0 -53
  1352. package/studio/server/chunks/template-usage.remote-DOFxtTHM.js.map +0 -1
  1353. package/studio/server/chunks/thumbnail-queue-BrPRb6F7.js +0 -148
  1354. package/studio/server/chunks/thumbnail-queue-BrPRb6F7.js.map +0 -1
  1355. package/studio/server/chunks/tooltip-provider-BFZoIP02.js +0 -30
  1356. package/studio/server/chunks/tooltip-provider-BFZoIP02.js.map +0 -1
  1357. package/studio/server/chunks/tooltip.svelte-Bjv4TH3V.js +0 -658
  1358. package/studio/server/chunks/tooltip.svelte-Bjv4TH3V.js.map +0 -1
  1359. package/studio/server/chunks/tts.remote-yMAINgCv.js +0 -187
  1360. package/studio/server/chunks/tts.remote-yMAINgCv.js.map +0 -1
  1361. package/studio/server/chunks/ui.svelte-CpA5kqfc.js +0 -88
  1362. package/studio/server/chunks/ui.svelte-CpA5kqfc.js.map +0 -1
  1363. package/studio/server/chunks/upload-service-CC8E9Slo.js +0 -212
  1364. package/studio/server/chunks/upload-service-CC8E9Slo.js.map +0 -1
  1365. package/studio/server/chunks/upload.remote-RYslr_Ul.js +0 -131
  1366. package/studio/server/chunks/upload.remote-RYslr_Ul.js.map +0 -1
  1367. package/studio/server/chunks/video-generation.remote-CrPX-27G.js +0 -197
  1368. package/studio/server/chunks/video-generation.remote-CrPX-27G.js.map +0 -1
  1369. package/studio/server/chunks/video-renderer-CSVxoynk.js +0 -412
  1370. package/studio/server/chunks/video-renderer-CSVxoynk.js.map +0 -1
  1371. package/studio/server/chunks/watermark-R6qX4KkH.js +0 -164
  1372. package/studio/server/chunks/watermark-R6qX4KkH.js.map +0 -1
@@ -0,0 +1,2912 @@
1
+ import z__default, { z } from 'zod';
2
+ import { B as BRAND_COLORS } from './branding-5rLT-BvK.js';
3
+
4
+ const DYNAMIC_BACKGROUND_VARIANTS = [
5
+ "mesh-gradient",
6
+ "aurora",
7
+ "aurora-borealis",
8
+ "plasma",
9
+ "silk",
10
+ "waves",
11
+ "halo",
12
+ "topographic",
13
+ "rain-window",
14
+ "data-stream",
15
+ "mountain-mist"
16
+ ];
17
+ const DYNAMIC_VARIANTS = [
18
+ {
19
+ id: "mesh-gradient",
20
+ label: "Mesh Gradient",
21
+ description: "Soft organic color blobs — the kite.video look"
22
+ },
23
+ {
24
+ id: "aurora",
25
+ label: "Aurora",
26
+ description: "Flowing northern-lights bands across the sky"
27
+ },
28
+ {
29
+ id: "plasma",
30
+ label: "Plasma",
31
+ description: "Smooth hypnotic color plasma with radial vignette"
32
+ },
33
+ {
34
+ id: "silk",
35
+ label: "Silk",
36
+ description: "Domain-warped silky fbm clouds"
37
+ },
38
+ {
39
+ id: "waves",
40
+ label: "Waves",
41
+ description: "Horizontal color ribbons undulating over time"
42
+ },
43
+ {
44
+ id: "halo",
45
+ label: "Halo",
46
+ description: "Concentric glowing rings pulsing outward from the center"
47
+ },
48
+ {
49
+ id: "topographic",
50
+ label: "Topographic",
51
+ description: "Animated contour-map isolines flowing across a color field"
52
+ },
53
+ {
54
+ id: "aurora-borealis",
55
+ label: "Aurora Borealis",
56
+ description: "Soft vertical curtains of light drifting over a starry night"
57
+ },
58
+ {
59
+ id: "rain-window",
60
+ label: "Rain on Window",
61
+ description: "Blurred lights behind gently trickling streaks and droplets"
62
+ },
63
+ {
64
+ id: "data-stream",
65
+ label: "Data Stream",
66
+ description: "Falling columns of subtle matrix-style data trails"
67
+ },
68
+ {
69
+ id: "mountain-mist",
70
+ label: "Mountain Mist",
71
+ description: "Parallax ridges veiled by slow rising fog at dawn"
72
+ }
73
+ ];
74
+ const ColorStopSchema = z.object({
75
+ color: z.string().describe("Color value (hex, rgb, or rgba)"),
76
+ position: z.number().min(0).max(100).describe("Position in percentage (0-100)")
77
+ });
78
+ const PatternOverlaySchema = z.enum([
79
+ "none",
80
+ "waves",
81
+ "dots",
82
+ "squares",
83
+ "grid",
84
+ "zigzag",
85
+ "hexagons"
86
+ ]);
87
+ const BackgroundFiltersSchema = z.object({
88
+ blur: z.number().min(0).max(50).optional().describe("Blur amount in pixels (0-50)"),
89
+ brightness: z.number().min(0).max(2).optional().describe("Brightness multiplier (0-2, 1 = normal)"),
90
+ contrast: z.number().min(0).max(2).optional().describe("Contrast multiplier (0-2, 1 = normal)"),
91
+ saturate: z.number().min(0).max(2).optional().describe("Saturation multiplier (0-2, 1 = normal)"),
92
+ hueRotate: z.number().min(0).max(360).optional().describe("Hue rotation in degrees (0-360)"),
93
+ opacity: z.number().min(0).max(1).optional().describe("Opacity level (0-1)"),
94
+ grain: z.number().min(0).max(1).optional().describe("Noise/grain intensity (0-1)"),
95
+ pattern: PatternOverlaySchema.optional().describe("SVG pattern overlay"),
96
+ patternScale: z.number().min(0.1).max(5).optional().describe("Pattern scale multiplier (0.1-5)"),
97
+ patternRotation: z.number().min(-360).max(360).optional().describe("Pattern rotation in degrees (0-360)"),
98
+ patternOpacity: z.number().min(0).max(1).optional().describe("Pattern overlay opacity (0-1)"),
99
+ patternBlur: z.number().min(0).max(20).optional().describe("Pattern blur in pixels (0-20)")
100
+ }).optional();
101
+ const SolidBackgroundSchema = z.string().describe("Solid color value (hex format recommended)");
102
+ const LinearGradientSchema = z.object({
103
+ type: z.literal("linear"),
104
+ angle: z.number().min(0).max(360).default(180).describe("Angle in degrees (0 = top to bottom, 90 = left to right)"),
105
+ stops: z.array(ColorStopSchema).min(2).describe("Color stops (minimum 2)"),
106
+ filters: BackgroundFiltersSchema
107
+ });
108
+ const RadialGradientSchema = z.object({
109
+ type: z.literal("radial"),
110
+ shape: z.enum(["circle", "ellipse"]).default("circle").describe("Shape of the gradient"),
111
+ size: z.enum(["closest-side", "closest-corner", "farthest-side", "farthest-corner"]).default("farthest-corner").describe("Size of the gradient"),
112
+ position: z.object({
113
+ x: z.number().min(0).max(100).default(50).describe("Center X position (%)"),
114
+ y: z.number().min(0).max(100).default(50).describe("Center Y position (%)")
115
+ }).default({ x: 50, y: 50 }).describe("Center position of the gradient"),
116
+ stops: z.array(ColorStopSchema).min(2).describe("Color stops (minimum 2)"),
117
+ filters: BackgroundFiltersSchema
118
+ });
119
+ const ConicGradientSchema = z.object({
120
+ type: z.literal("conic"),
121
+ angle: z.number().min(0).max(360).default(0).describe("Starting angle in degrees"),
122
+ position: z.object({
123
+ x: z.number().min(0).max(100).default(50).describe("Center X position (%)"),
124
+ y: z.number().min(0).max(100).default(50).describe("Center Y position (%)")
125
+ }).default({ x: 50, y: 50 }).describe("Center position of the gradient"),
126
+ stops: z.array(ColorStopSchema).min(2).describe("Color stops (minimum 2)"),
127
+ filters: BackgroundFiltersSchema
128
+ });
129
+ const DynamicBackgroundSchema = z.object({
130
+ type: z.literal("dynamic"),
131
+ variant: z.enum(DYNAMIC_BACKGROUND_VARIANTS),
132
+ /** Override the project's primary color for this background */
133
+ primaryColor: z.string().optional(),
134
+ /** Animation speed multiplier (0 = frozen, 1 = normal, 2 = double speed) */
135
+ speed: z.number().min(0).max(5).default(1),
136
+ /** Effect intensity: blob size for mesh, light brightness for grid-rays */
137
+ intensity: z.number().min(0).max(1).default(0.7)
138
+ });
139
+ const BackgroundValueSchema = z.union([
140
+ SolidBackgroundSchema,
141
+ LinearGradientSchema,
142
+ RadialGradientSchema,
143
+ ConicGradientSchema,
144
+ DynamicBackgroundSchema
145
+ ]);
146
+ function isGradient(value) {
147
+ return typeof value === "object" && (value.type === "linear" || value.type === "radial" || value.type === "conic");
148
+ }
149
+ function isSolid(value) {
150
+ return typeof value === "string" || typeof value === "undefined";
151
+ }
152
+ function isDynamic(value) {
153
+ return typeof value === "object" && value.type === "dynamic";
154
+ }
155
+ function generateGrainSVG(intensity) {
156
+ const size2 = 300;
157
+ const baseOpacity = intensity * 0.6;
158
+ const frequency = 0.8 + intensity * 0.4;
159
+ return `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${size2}' height='${size2}'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${frequency}' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='${baseOpacity}'/%3E%3C/svg%3E`;
160
+ }
161
+ function generatePatternSVG(pattern) {
162
+ const encode = (svg) => {
163
+ return "data:image/svg+xml," + encodeURIComponent(svg);
164
+ };
165
+ switch (pattern) {
166
+ case "waves":
167
+ return encode(`<svg width="100px" height="20px" viewBox="0 0 100 20" xmlns="http://www.w3.org/2000/svg">
168
+ <g stroke="none" stroke-width="0.2" fill="none" fill-rule="evenodd">
169
+ <path d="M21.1841339,20 C21.5411448,19.869748 21.9037256,19.7358773 22.272392,19.5983261 C22.6346445,19.4631679 23.8705367,18.9999982 24.0399055,18.9366758 C33.6397477,15.3475548 39.6469349,14 50,14 C60.2711361,14 65.3618399,15.2217689 74.6286093,18.9284767 C75.584355,19.310775 76.4978747,19.6675274 77.3787841,20 L83.604005,20 C81.0931362,19.2694473 78.4649665,18.3089537 75.3713907,17.0715233 C65.8881601,13.2782311 60.5621972,12 50,12 C39.3741437,12 33.144814,13.3973866 23.3395101,17.0633242 C23.1688625,17.1271247 21.9338538,17.5899633 21.5732596,17.7245028 C19.0984715,18.6478581 16.912678,19.3994574 14.8494171,20 L21.1841339,20 L21.1841339,20 Z M21.1841339,0 C13.2575214,2.89194861 8.07672845,4 7.87150385e-14,4 L7.81597009e-14,4 L0,2 C5.74391753,2 9.9514017,1.4256397 14.8494171,1.40165657e-15 L21.1841339,6.9388939e-17 L21.1841339,0 Z M77.3787841,2.21705987e-12 C85.238555,2.9664329 90.5022896,4 100,4 L100,2 C93.1577329,2 88.6144135,1.4578092 83.604005,1.04805054e-13 L77.3787841,0 L77.3787841,2.21705987e-12 Z M7.87150385e-14,14 C8.44050043,14 13.7183277,12.7898887 22.272392,9.59832609 C22.6346445,9.46316794 23.8705367,8.99999822 24.0399055,8.9366758 C33.6397477,5.34755477 39.6469349,4 50,4 C60.2711361,4 65.3618399,5.2217689 74.6286093,8.92847669 C84.1118399,12.7217689 89.4378028,14 100,14 L100,12 C89.7288639,12 84.6381601,10.7782311 75.3713907,7.07152331 C65.8881601,3.2782311 60.5621972,2 50,2 C39.3741437,2 33.144814,3.39738661 23.3395101,7.0633242 C23.1688625,7.12712472 21.9338538,7.58996334 21.5732596,7.72450279 C13.2235239,10.8398294 8.16350991,12 0,12 L7.81597009e-14,14 L7.87150385e-14,14 L7.87150385e-14,14 Z" fill="currentColor"/>
170
+ </g>
171
+ </svg>`);
172
+ case "dots":
173
+ return encode(`<svg width="80" height="80" viewBox="0 0 80 80" xmlns="http://www.w3.org/2000/svg">
174
+ <g fill="currentColor">
175
+ <circle cx="10" cy="10" r="4"/>
176
+ <circle cx="50" cy="16" r="3"/>
177
+ <circle cx="70" cy="24" r="2"/>
178
+ <circle cx="24" cy="36" r="3.6"/>
179
+ <circle cx="60" cy="50" r="4.4"/>
180
+ <circle cx="16" cy="64" r="2.6"/>
181
+ <circle cx="44" cy="70" r="3.2"/>
182
+ <circle cx="76" cy="60" r="2.4"/>
183
+ </g>
184
+ </svg>`);
185
+ case "squares":
186
+ return encode(`<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
187
+ <g fill="currentColor">
188
+ <rect x="4" y="6" width="8" height="8" transform="rotate(12 8 10)"/>
189
+ <rect x="30" y="16" width="6" height="6" transform="rotate(-8 33 19)"/>
190
+ <rect x="56" y="10" width="10" height="10" transform="rotate(22 61 15)"/>
191
+ <rect x="84" y="24" width="5" height="5" transform="rotate(-15 86.5 26.5)"/>
192
+ <rect x="16" y="40" width="7" height="7" transform="rotate(18 19.5 43.5)"/>
193
+ <rect x="50" y="44" width="9" height="9" transform="rotate(-12 54.5 48.5)"/>
194
+ <rect x="80" y="56" width="6" height="6" transform="rotate(25 83 59)"/>
195
+ <rect x="10" y="70" width="8" height="8" transform="rotate(-20 14 74)"/>
196
+ <rect x="40" y="76" width="7" height="7" transform="rotate(10 43.5 79.5)"/>
197
+ <rect x="70" y="84" width="10" height="10" transform="rotate(-18 75 89)"/>
198
+ </g>
199
+ </svg>`);
200
+ case "grid":
201
+ return encode(`<svg width="80" height="80" viewBox="0 0 80 80" xmlns="http://www.w3.org/2000/svg">
202
+ <g>
203
+ <path d="M0 0h80v2H0zM0 0v80h2V0z" fill="currentColor"/>
204
+ </g>
205
+ </svg>`);
206
+ case "zigzag":
207
+ return encode(`<svg width="80" height="20" viewBox="0 0 80 20" xmlns="http://www.w3.org/2000/svg">
208
+ <g>
209
+ <path d="M0 20L20 0L40 20L60 0L80 20V16L60 4L40 16L20 4L0 16z" fill="currentColor"/>
210
+ </g>
211
+ </svg>`);
212
+ case "hexagons":
213
+ return encode(`<svg width="56" height="98" viewBox="0 0 56 98" xmlns="http://www.w3.org/2000/svg">
214
+ <g>
215
+ <path d="M27.98 18.5l26 15v30l-26 15L2 63.5v-30l25.98-15zM6 35.8v25.4l21.98 12.68 22-12.7V35.8l-22-12.68L6 35.8zM0 30l25.96-15V0h-4v12.7L0 25.38v4.6zm0 37L25.96 82v16h-4v-13.7L0 71.62v-4.6zM30 0v15L55.98 30H56v-4.62h-.02L34 12.7V0h-4zm0 98v-16l25.98-15H56v4.62h-.02L34 84.3V98h-4z" fill="currentColor"/>
216
+ </g>
217
+ </svg>`);
218
+ default:
219
+ return "";
220
+ }
221
+ }
222
+ function buildFilterCSS(filters) {
223
+ if (!filters) return "";
224
+ const parts = [];
225
+ if (filters.blur !== void 0 && filters.blur > 0) {
226
+ parts.push(`blur(${filters.blur}px)`);
227
+ }
228
+ if (filters.brightness !== void 0 && filters.brightness !== 1) {
229
+ parts.push(`brightness(${filters.brightness})`);
230
+ }
231
+ if (filters.contrast !== void 0 && filters.contrast !== 1) {
232
+ parts.push(`contrast(${filters.contrast})`);
233
+ }
234
+ if (filters.saturate !== void 0 && filters.saturate !== 1) {
235
+ parts.push(`saturate(${filters.saturate})`);
236
+ }
237
+ if (filters.hueRotate !== void 0 && filters.hueRotate > 0) {
238
+ parts.push(`hue-rotate(${filters.hueRotate}deg)`);
239
+ }
240
+ if (filters.opacity !== void 0 && filters.opacity !== 1) {
241
+ parts.push(`opacity(${filters.opacity})`);
242
+ }
243
+ return parts.length > 0 ? parts.join(" ") : "";
244
+ }
245
+ function backgroundValueToCSS(value, options) {
246
+ if (!value) return "#000000";
247
+ if (isSolid(value)) {
248
+ return value;
249
+ }
250
+ if (isDynamic(value)) {
251
+ return "#000000";
252
+ }
253
+ let gradientCSS = "";
254
+ if (value.type === "linear") {
255
+ const stops = value.stops.map((s) => `${s.color} ${s.position}%`).join(", ");
256
+ gradientCSS = `linear-gradient(${value.angle}deg, ${stops})`;
257
+ } else if (value.type === "radial") {
258
+ const stops = value.stops.map((s) => `${s.color} ${s.position}%`).join(", ");
259
+ const pos = `${value.position.x}% ${value.position.y}%`;
260
+ const size2 = options?.radialSize ?? value.size;
261
+ gradientCSS = `radial-gradient(${value.shape} ${size2} at ${pos}, ${stops})`;
262
+ } else if (value.type === "conic") {
263
+ const stops = value.stops.map((s) => `${s.color} ${s.position}%`).join(", ");
264
+ const pos = `${value.position.x}% ${value.position.y}%`;
265
+ gradientCSS = `conic-gradient(from ${value.angle}deg at ${pos}, ${stops})`;
266
+ } else {
267
+ return "#000000";
268
+ }
269
+ if (value.filters?.grain && value.filters.grain > 0) {
270
+ const grainURL = generateGrainSVG(value.filters.grain);
271
+ return `url("${grainURL}"), ${gradientCSS}`;
272
+ }
273
+ return gradientCSS;
274
+ }
275
+ function getPatternLayerStyle(filters) {
276
+ if (!filters?.pattern || filters.pattern === "none") {
277
+ return null;
278
+ }
279
+ const patternOpacity = filters.patternOpacity ?? 0.2;
280
+ const patternScale = filters.patternScale ?? 1;
281
+ const patternRotation = filters.patternRotation ?? 0;
282
+ const patternBlur = filters.patternBlur ?? 0;
283
+ const patternURL = generatePatternSVG(filters.pattern);
284
+ const backgroundSizePercent = `${5 * patternScale}%`;
285
+ return {
286
+ backgroundImage: `url("${patternURL}")`,
287
+ backgroundRepeat: "repeat",
288
+ backgroundSize: backgroundSizePercent,
289
+ backgroundPosition: "center",
290
+ width: "200%",
291
+ height: "200%",
292
+ top: "-50%",
293
+ left: "-50%",
294
+ transform: patternRotation !== 0 ? `rotate(${patternRotation}deg)` : void 0,
295
+ opacity: patternOpacity,
296
+ filter: patternBlur > 0 ? `blur(${patternBlur}px)` : void 0
297
+ };
298
+ }
299
+ function getStyleProperties(value, options) {
300
+ const filters = value && isGradient(value) ? value.filters : void 0;
301
+ const filterCSS = buildFilterCSS(filters);
302
+ return {
303
+ backgroundImage: getBackgroundImage(value, options),
304
+ backgroundColor: getBackgroundColor(value),
305
+ filter: filterCSS || void 0
306
+ };
307
+ }
308
+ function getBackgroundColor(value) {
309
+ if (!value) {
310
+ return void 0;
311
+ }
312
+ if (isSolid(value)) {
313
+ return value;
314
+ }
315
+ if (isDynamic(value)) {
316
+ return "transparent";
317
+ }
318
+ return "transparent";
319
+ }
320
+ function getBackgroundImage(value, options) {
321
+ if (!value) {
322
+ return void 0;
323
+ }
324
+ if (isSolid(value)) {
325
+ return "none";
326
+ }
327
+ if (isDynamic(value)) {
328
+ return "none";
329
+ }
330
+ return backgroundValueToCSS(value, options);
331
+ }
332
+ function solidBackground(color) {
333
+ return color;
334
+ }
335
+ const fieldRegistry = z__default.registry();
336
+ function createSizeWithAspectRatioSchema(opts = {}) {
337
+ const w = { min: 0.01, max: 300, default: 15, label: "Width", describe: "Width", ...opts.width };
338
+ const h = {
339
+ min: 0.1,
340
+ max: 300,
341
+ default: 15,
342
+ label: "Height",
343
+ describe: "Height",
344
+ ...opts.height
345
+ };
346
+ return z.object({
347
+ width: z.number().min(w.min).max(w.max).default(w.default).describe(w.describe).register(fieldRegistry, {
348
+ group: "size",
349
+ interpolationFamily: "continuous",
350
+ label: w.label,
351
+ postFix: "%",
352
+ step: 1
353
+ }),
354
+ height: z.number().min(h.min).max(h.max).default(h.default).describe(h.describe).register(fieldRegistry, {
355
+ group: "size",
356
+ interpolationFamily: "continuous",
357
+ label: h.label,
358
+ postFix: "%",
359
+ step: 1
360
+ }),
361
+ _aspectRatioLocked: z.boolean().default(false).describe("Aspect ratio locked").register(fieldRegistry, { hidden: true }),
362
+ _aspectRatio: z.number().default(1).describe("Aspect ratio value").register(fieldRegistry, { hidden: true })
363
+ });
364
+ }
365
+ const sizeMiddleware = (propName, value, currentValues) => {
366
+ const updates = { [propName]: value };
367
+ const props = currentValues.props;
368
+ if (props._aspectRatioLocked && (propName === "width" || propName === "height")) {
369
+ const ratio = props._aspectRatio || 1;
370
+ if (propName === "width") {
371
+ updates.height = value / ratio;
372
+ } else {
373
+ updates.width = value * ratio;
374
+ }
375
+ }
376
+ return updates;
377
+ };
378
+ const sizePropertyGroup = {
379
+ id: "size",
380
+ label: "Size"
381
+ };
382
+ function createSizeConfig(opts = {}) {
383
+ return {
384
+ schema: createSizeWithAspectRatioSchema(opts),
385
+ propertyGroup: sizePropertyGroup,
386
+ middleware: sizeMiddleware
387
+ };
388
+ }
389
+ const scaleMiddleware = (propName, value, currentValues) => {
390
+ const updates = {};
391
+ const props = currentValues.props;
392
+ if (props._scaleLocked && (propName === "scale.x" || propName === "scale.y")) {
393
+ const ratio = props._scaleRatio || 1;
394
+ if (propName === "scale.x") {
395
+ updates["scale.x"] = value;
396
+ updates["scale.y"] = parseFloat((value / ratio).toFixed(2));
397
+ } else {
398
+ updates["scale.x"] = parseFloat((value * ratio).toFixed(2));
399
+ updates["scale.y"] = value;
400
+ }
401
+ } else {
402
+ updates[propName] = value;
403
+ }
404
+ return updates;
405
+ };
406
+ const gradientPresets = [
407
+ // ============================================
408
+ // Pastel gradients - soft and dreamy
409
+ // ============================================
410
+ {
411
+ id: "unicorn-dream",
412
+ name: "Unicorn Dream",
413
+ category: "pastel",
414
+ value: {
415
+ type: "linear",
416
+ angle: 135,
417
+ stops: [
418
+ { color: "#faf5ff", position: 0 },
419
+ { color: "#ff9a9e", position: 25 },
420
+ { color: "#fecfef", position: 50 },
421
+ { color: "#a18cd1", position: 75 },
422
+ { color: "#667eea", position: 100 }
423
+ ]
424
+ }
425
+ },
426
+ {
427
+ id: "candy-shop",
428
+ name: "Candy Shop",
429
+ category: "pastel",
430
+ value: {
431
+ type: "linear",
432
+ angle: 135,
433
+ stops: [
434
+ { color: "#f5f3ff", position: 0 },
435
+ { color: "#667eea", position: 25 },
436
+ { color: "#764ba2", position: 50 },
437
+ { color: "#f093fb", position: 75 },
438
+ { color: "#ff6b9d", position: 100 }
439
+ ]
440
+ }
441
+ },
442
+ {
443
+ id: "ocean-sky",
444
+ name: "Ocean Sky",
445
+ category: "pastel",
446
+ value: {
447
+ type: "linear",
448
+ angle: 135,
449
+ stops: [
450
+ { color: "#f0f9ff", position: 0 },
451
+ { color: "#f093fb", position: 25 },
452
+ { color: "#f5576c", position: 50 },
453
+ { color: "#4facfe", position: 75 },
454
+ { color: "#00f2fe", position: 100 }
455
+ ]
456
+ }
457
+ },
458
+ {
459
+ id: "mint-lime",
460
+ name: "Mint Lime",
461
+ category: "pastel",
462
+ value: {
463
+ type: "linear",
464
+ angle: 135,
465
+ stops: [
466
+ { color: "#f0fff4", position: 0 },
467
+ { color: "#4facfe", position: 25 },
468
+ { color: "#00f2fe", position: 50 },
469
+ { color: "#43e97b", position: 75 },
470
+ { color: "#fee140", position: 100 }
471
+ ]
472
+ }
473
+ },
474
+ {
475
+ id: "spring-green",
476
+ name: "Spring Green",
477
+ category: "pastel",
478
+ value: {
479
+ type: "linear",
480
+ angle: 135,
481
+ stops: [
482
+ { color: "#f6ffed", position: 0 },
483
+ { color: "#43e97b", position: 25 },
484
+ { color: "#38f9d7", position: 50 },
485
+ { color: "#667eea", position: 75 },
486
+ { color: "#a18cd1", position: 100 }
487
+ ]
488
+ }
489
+ },
490
+ {
491
+ id: "peach-sunset",
492
+ name: "Peach Sunset",
493
+ category: "pastel",
494
+ value: {
495
+ type: "linear",
496
+ angle: 135,
497
+ stops: [
498
+ { color: "#fff7ed", position: 0 },
499
+ { color: "#fa709a", position: 25 },
500
+ { color: "#fee140", position: 50 },
501
+ { color: "#ff9a9e", position: 75 },
502
+ { color: "#ffd1ff", position: 100 }
503
+ ]
504
+ }
505
+ },
506
+ {
507
+ id: "blush-pink",
508
+ name: "Blush Pink",
509
+ category: "pastel",
510
+ value: {
511
+ type: "linear",
512
+ angle: 135,
513
+ stops: [
514
+ { color: "#fef7ff", position: 0 },
515
+ { color: "#a8edea", position: 25 },
516
+ { color: "#fed6e3", position: 50 },
517
+ { color: "#ffecd2", position: 75 },
518
+ { color: "#fcb69f", position: 100 }
519
+ ]
520
+ }
521
+ },
522
+ {
523
+ id: "coral-reef",
524
+ name: "Coral Reef",
525
+ category: "pastel",
526
+ value: {
527
+ type: "linear",
528
+ angle: 135,
529
+ stops: [
530
+ { color: "#fff8f1", position: 0 },
531
+ { color: "#ffecd2", position: 25 },
532
+ { color: "#fcb69f", position: 50 },
533
+ { color: "#fad0c4", position: 75 },
534
+ { color: "#f093fb", position: 100 }
535
+ ]
536
+ }
537
+ },
538
+ {
539
+ id: "lemon-sky",
540
+ name: "Lemon Sky",
541
+ category: "pastel",
542
+ value: {
543
+ type: "linear",
544
+ angle: 135,
545
+ stops: [
546
+ { color: "#fefce8", position: 0 },
547
+ { color: "#4facfe", position: 25 },
548
+ { color: "#f5576c", position: 50 },
549
+ { color: "#fcb69f", position: 75 },
550
+ { color: "#ffd1ff", position: 100 }
551
+ ]
552
+ }
553
+ },
554
+ {
555
+ id: "lavender-mist",
556
+ name: "Lavender Mist",
557
+ category: "pastel",
558
+ value: {
559
+ type: "linear",
560
+ angle: 135,
561
+ stops: [
562
+ { color: "#fefce8", position: 0 },
563
+ { color: "#f6d6ff", position: 25 },
564
+ { color: "#d0f4de", position: 50 },
565
+ { color: "#fff1c1", position: 75 },
566
+ { color: "#ffd6e0", position: 100 }
567
+ ]
568
+ }
569
+ },
570
+ {
571
+ id: "baby-blue",
572
+ name: "Baby Blue",
573
+ category: "pastel",
574
+ value: {
575
+ type: "linear",
576
+ angle: 135,
577
+ stops: [
578
+ { color: "#f0f9ff", position: 0 },
579
+ { color: "#a0c4ff", position: 25 },
580
+ { color: "#bdb2ff", position: 50 },
581
+ { color: "#ffc6ff", position: 75 },
582
+ { color: "#caffbf", position: 100 }
583
+ ]
584
+ }
585
+ },
586
+ {
587
+ id: "lilac-dream",
588
+ name: "Lilac Dream",
589
+ category: "pastel",
590
+ value: {
591
+ type: "linear",
592
+ angle: 135,
593
+ stops: [
594
+ { color: "#f0fdfa", position: 0 },
595
+ { color: "#e0c3fc", position: 25 },
596
+ { color: "#8ecae6", position: 50 },
597
+ { color: "#bde0fe", position: 75 },
598
+ { color: "#ffe6e6", position: 100 }
599
+ ]
600
+ }
601
+ },
602
+ {
603
+ id: "peachy-cream",
604
+ name: "Peachy Cream",
605
+ category: "pastel",
606
+ value: {
607
+ type: "linear",
608
+ angle: 135,
609
+ stops: [
610
+ { color: "#fef7f0", position: 0 },
611
+ { color: "#f9f9c5", position: 25 },
612
+ { color: "#f7c8e0", position: 50 },
613
+ { color: "#c1f7d3", position: 75 },
614
+ { color: "#c1c8e4", position: 100 }
615
+ ]
616
+ }
617
+ },
618
+ {
619
+ id: "soft-rainbow",
620
+ name: "Soft Rainbow",
621
+ category: "pastel",
622
+ value: {
623
+ type: "linear",
624
+ angle: 135,
625
+ stops: [
626
+ { color: "#fef2f2", position: 0 },
627
+ { color: "#e2f0cb", position: 25 },
628
+ { color: "#b5ead7", position: 50 },
629
+ { color: "#ffb7b2", position: 75 },
630
+ { color: "#ffdac1", position: 100 }
631
+ ]
632
+ }
633
+ },
634
+ {
635
+ id: "mint-fresh",
636
+ name: "Mint Fresh",
637
+ category: "pastel",
638
+ value: {
639
+ type: "linear",
640
+ angle: 90,
641
+ stops: [
642
+ { color: "#d4fc79", position: 0 },
643
+ { color: "#96e6a1", position: 100 }
644
+ ]
645
+ }
646
+ },
647
+ // ============================================
648
+ // Vibrant gradients - bold and energetic
649
+ // ============================================
650
+ {
651
+ id: "fire-passion",
652
+ name: "Fire Passion",
653
+ category: "vibrant",
654
+ value: {
655
+ type: "linear",
656
+ angle: 135,
657
+ stops: [
658
+ { color: "#fef2f2", position: 0 },
659
+ { color: "#ff6b6b", position: 25 },
660
+ { color: "#ff8e53", position: 50 },
661
+ { color: "#ff6b9d", position: 75 },
662
+ { color: "#c44569", position: 100 }
663
+ ]
664
+ }
665
+ },
666
+ {
667
+ id: "ocean-wave",
668
+ name: "Ocean Wave",
669
+ category: "vibrant",
670
+ value: {
671
+ type: "linear",
672
+ angle: 135,
673
+ stops: [
674
+ { color: "#ecfeff", position: 0 },
675
+ { color: "#4ecdc4", position: 25 },
676
+ { color: "#44a08d", position: 50 },
677
+ { color: "#96ceb4", position: 75 },
678
+ { color: "#55a3ff", position: 100 }
679
+ ]
680
+ }
681
+ },
682
+ {
683
+ id: "purple-power",
684
+ name: "Purple Power",
685
+ category: "vibrant",
686
+ value: {
687
+ type: "linear",
688
+ angle: 135,
689
+ stops: [
690
+ { color: "#faf5ff", position: 0 },
691
+ { color: "#a29bfe", position: 25 },
692
+ { color: "#6c5ce7", position: 50 },
693
+ { color: "#fd79a8", position: 75 },
694
+ { color: "#e84393", position: 100 }
695
+ ]
696
+ }
697
+ },
698
+ {
699
+ id: "teal-blast",
700
+ name: "Teal Blast",
701
+ category: "vibrant",
702
+ value: {
703
+ type: "linear",
704
+ angle: 135,
705
+ stops: [
706
+ { color: "#f0fdfa", position: 0 },
707
+ { color: "#00d2d3", position: 25 },
708
+ { color: "#01a3a4", position: 50 },
709
+ { color: "#00b894", position: 75 },
710
+ { color: "#55efc4", position: 100 }
711
+ ]
712
+ }
713
+ },
714
+ {
715
+ id: "hot-sunset",
716
+ name: "Hot Sunset",
717
+ category: "vibrant",
718
+ value: {
719
+ type: "linear",
720
+ angle: 135,
721
+ stops: [
722
+ { color: "#fef2f2", position: 0 },
723
+ { color: "#fd79a8", position: 25 },
724
+ { color: "#fdcb6e", position: 50 },
725
+ { color: "#e17055", position: 75 },
726
+ { color: "#d63031", position: 100 }
727
+ ]
728
+ }
729
+ },
730
+ {
731
+ id: "electric-blue",
732
+ name: "Electric Blue",
733
+ category: "vibrant",
734
+ value: {
735
+ type: "linear",
736
+ angle: 135,
737
+ stops: [
738
+ { color: "#eff6ff", position: 0 },
739
+ { color: "#74b9ff", position: 25 },
740
+ { color: "#0984e3", position: 50 },
741
+ { color: "#6c5ce7", position: 75 },
742
+ { color: "#a29bfe", position: 100 }
743
+ ]
744
+ }
745
+ },
746
+ {
747
+ id: "mint-ocean",
748
+ name: "Mint Ocean",
749
+ category: "vibrant",
750
+ value: {
751
+ type: "linear",
752
+ angle: 135,
753
+ stops: [
754
+ { color: "#f0fdfa", position: 0 },
755
+ { color: "#00b894", position: 25 },
756
+ { color: "#00cec9", position: 50 },
757
+ { color: "#74b9ff", position: 75 },
758
+ { color: "#0984e3", position: 100 }
759
+ ]
760
+ }
761
+ },
762
+ {
763
+ id: "sunset-fire",
764
+ name: "Sunset Fire",
765
+ category: "vibrant",
766
+ value: {
767
+ type: "linear",
768
+ angle: 135,
769
+ stops: [
770
+ { color: "#fff7ed", position: 0 },
771
+ { color: "#e17055", position: 25 },
772
+ { color: "#d63031", position: 50 },
773
+ { color: "#fd79a8", position: 75 },
774
+ { color: "#e84393", position: 100 }
775
+ ]
776
+ }
777
+ },
778
+ {
779
+ id: "violet-burst",
780
+ name: "Violet Burst",
781
+ category: "vibrant",
782
+ value: {
783
+ type: "linear",
784
+ angle: 135,
785
+ stops: [
786
+ { color: "#faf5ff", position: 0 },
787
+ { color: "#6c5ce7", position: 25 },
788
+ { color: "#a29bfe", position: 50 },
789
+ { color: "#fd79a8", position: 75 },
790
+ { color: "#ff7675", position: 100 }
791
+ ]
792
+ }
793
+ },
794
+ {
795
+ id: "tropical-heat",
796
+ name: "Tropical Heat",
797
+ category: "vibrant",
798
+ value: {
799
+ type: "linear",
800
+ angle: 135,
801
+ stops: [
802
+ { color: "#fffbeb", position: 0 },
803
+ { color: "#ff7675", position: 25 },
804
+ { color: "#fd79a8", position: 50 },
805
+ { color: "#fdcb6e", position: 75 },
806
+ { color: "#ffeaa7", position: 100 }
807
+ ]
808
+ }
809
+ },
810
+ {
811
+ id: "neon-violet",
812
+ name: "Neon Violet",
813
+ category: "vibrant",
814
+ value: {
815
+ type: "linear",
816
+ angle: 135,
817
+ stops: [
818
+ { color: "#f0f9ff", position: 0 },
819
+ { color: "#55a3ff", position: 25 },
820
+ { color: "#74b9ff", position: 50 },
821
+ { color: "#a29bfe", position: 75 },
822
+ { color: "#dda8dd", position: 100 }
823
+ ]
824
+ }
825
+ },
826
+ // ============================================
827
+ // Dark gradients - moody and sophisticated
828
+ // ============================================
829
+ {
830
+ id: "dark-ember",
831
+ name: "Dark Ember",
832
+ category: "dark",
833
+ value: {
834
+ type: "linear",
835
+ angle: 135,
836
+ stops: [
837
+ { color: "#1a2026", position: 0 },
838
+ { color: "#872816", position: 50 },
839
+ { color: "#c4710b", position: 100 }
840
+ ]
841
+ }
842
+ },
843
+ {
844
+ id: "deep-teal",
845
+ name: "Deep Teal",
846
+ category: "dark",
847
+ value: {
848
+ type: "linear",
849
+ angle: 135,
850
+ stops: [
851
+ { color: "#011f26", position: 0 },
852
+ { color: "#4a8c8c", position: 50 },
853
+ { color: "#fab062", position: 100 }
854
+ ]
855
+ }
856
+ },
857
+ {
858
+ id: "midnight-blue",
859
+ name: "Midnight Blue",
860
+ category: "dark",
861
+ value: {
862
+ type: "linear",
863
+ angle: 135,
864
+ stops: [
865
+ { color: "#141421", position: 0 },
866
+ { color: "#547c8c", position: 50 },
867
+ { color: "#d6907c", position: 100 }
868
+ ]
869
+ }
870
+ },
871
+ {
872
+ id: "dark-navy",
873
+ name: "Dark Navy",
874
+ category: "dark",
875
+ value: {
876
+ type: "linear",
877
+ angle: 135,
878
+ stops: [
879
+ { color: "#11192d", position: 0 },
880
+ { color: "#283b8c", position: 50 },
881
+ { color: "#58d8db", position: 100 }
882
+ ]
883
+ }
884
+ },
885
+ {
886
+ id: "midnight-indigo",
887
+ name: "Midnight Indigo",
888
+ category: "dark",
889
+ value: {
890
+ type: "linear",
891
+ angle: 135,
892
+ stops: [
893
+ { color: "#120a2d", position: 0 },
894
+ { color: "#164782", position: 50 },
895
+ { color: "#e2a359", position: 100 }
896
+ ]
897
+ }
898
+ },
899
+ // ============================================
900
+ // Warm gradients - cozy and inviting
901
+ // ============================================
902
+ {
903
+ id: "autumn-warmth",
904
+ name: "Autumn Warmth",
905
+ category: "warm",
906
+ value: {
907
+ type: "linear",
908
+ angle: 135,
909
+ stops: [
910
+ { color: "#dac7be", position: 0 },
911
+ { color: "#f7e7ce", position: 25 },
912
+ { color: "#e9c46a", position: 50 },
913
+ { color: "#f4a261", position: 75 },
914
+ { color: "#e76f51", position: 100 }
915
+ ]
916
+ }
917
+ },
918
+ {
919
+ id: "sunrise-glow",
920
+ name: "Sunrise Glow",
921
+ category: "warm",
922
+ value: {
923
+ type: "linear",
924
+ angle: 135,
925
+ stops: [
926
+ { color: "#4f5d75", position: 0 },
927
+ { color: "#bfc0c0", position: 33 },
928
+ { color: "#ffffff", position: 67 },
929
+ { color: "#ffd166", position: 100 }
930
+ ]
931
+ }
932
+ },
933
+ {
934
+ id: "terracotta",
935
+ name: "Terracotta",
936
+ category: "warm",
937
+ value: {
938
+ type: "linear",
939
+ angle: 135,
940
+ stops: [
941
+ { color: "#a0756c", position: 0 },
942
+ { color: "#f4f3ee", position: 25 },
943
+ { color: "#e9c46a", position: 50 },
944
+ { color: "#f4a261", position: 75 },
945
+ { color: "#e76f51", position: 100 }
946
+ ]
947
+ }
948
+ },
949
+ {
950
+ id: "coastal-blue",
951
+ name: "Coastal Blue",
952
+ category: "warm",
953
+ value: {
954
+ type: "linear",
955
+ angle: 135,
956
+ stops: [
957
+ { color: "#6b8e8e", position: 0 },
958
+ { color: "#f7f9fc", position: 25 },
959
+ { color: "#a8dadc", position: 50 },
960
+ { color: "#457b9d", position: 75 },
961
+ { color: "#1d3557", position: 100 }
962
+ ]
963
+ }
964
+ },
965
+ {
966
+ id: "plum-wine",
967
+ name: "Plum Wine",
968
+ category: "warm",
969
+ value: {
970
+ type: "linear",
971
+ angle: 135,
972
+ stops: [
973
+ { color: "#8d7b8b", position: 0 },
974
+ { color: "#f8f4f9", position: 25 },
975
+ { color: "#dda0dd", position: 50 },
976
+ { color: "#ba68c8", position: 75 },
977
+ { color: "#8e24aa", position: 100 }
978
+ ]
979
+ }
980
+ },
981
+ // ============================================
982
+ // Cool gradients - fresh and calming
983
+ // ============================================
984
+ {
985
+ id: "ocean-mist",
986
+ name: "Ocean Mist",
987
+ category: "cool",
988
+ value: {
989
+ type: "linear",
990
+ angle: 135,
991
+ stops: [
992
+ { color: "#fff2ef", position: 0 },
993
+ { color: "#ffdbba", position: 33 },
994
+ { color: "#f7a5a5", position: 67 },
995
+ { color: "#5d688a", position: 100 }
996
+ ]
997
+ }
998
+ },
999
+ {
1000
+ id: "arctic-sky",
1001
+ name: "Arctic Sky",
1002
+ category: "cool",
1003
+ value: {
1004
+ type: "linear",
1005
+ angle: 135,
1006
+ stops: [
1007
+ { color: "#b8cced", position: 0 },
1008
+ { color: "#f6e7e4", position: 33 },
1009
+ { color: "#fbf4f9", position: 67 },
1010
+ { color: "#f6e4f2", position: 100 }
1011
+ ]
1012
+ }
1013
+ },
1014
+ {
1015
+ id: "rose-blush",
1016
+ name: "Rose Blush",
1017
+ category: "cool",
1018
+ value: {
1019
+ type: "linear",
1020
+ angle: 135,
1021
+ stops: [
1022
+ { color: "#ffecc0", position: 0 },
1023
+ { color: "#ffc29b", position: 33 },
1024
+ { color: "#f39f9f", position: 67 },
1025
+ { color: "#b95e82", position: 100 }
1026
+ ]
1027
+ }
1028
+ },
1029
+ {
1030
+ id: "violet-pink",
1031
+ name: "Violet Pink",
1032
+ category: "cool",
1033
+ value: {
1034
+ type: "linear",
1035
+ angle: 135,
1036
+ stops: [
1037
+ { color: "#fed2e2", position: 0 },
1038
+ { color: "#c68efd", position: 33 },
1039
+ { color: "#e9a5f1", position: 67 },
1040
+ { color: "#8f87f1", position: 100 }
1041
+ ]
1042
+ }
1043
+ },
1044
+ // ============================================
1045
+ // Neutral gradients - elegant and balanced
1046
+ // ============================================
1047
+ {
1048
+ id: "silver-mist",
1049
+ name: "Silver Mist",
1050
+ category: "neutral",
1051
+ value: {
1052
+ type: "linear",
1053
+ angle: 135,
1054
+ stops: [
1055
+ { color: "#bcb6ff", position: 0 },
1056
+ { color: "#b8e1ff", position: 33 },
1057
+ { color: "#a9fff7", position: 67 },
1058
+ { color: "#94fbab", position: 100 }
1059
+ ]
1060
+ }
1061
+ },
1062
+ {
1063
+ id: "glacier-blue",
1064
+ name: "Glacier Blue",
1065
+ category: "neutral",
1066
+ value: {
1067
+ type: "linear",
1068
+ angle: 135,
1069
+ stops: [
1070
+ { color: "#cae5ff", position: 0 },
1071
+ { color: "#acedff", position: 25 },
1072
+ { color: "#89bbfe", position: 50 },
1073
+ { color: "#6f8ab7", position: 75 },
1074
+ { color: "#615d6c", position: 100 }
1075
+ ]
1076
+ }
1077
+ },
1078
+ {
1079
+ id: "lavender-sky",
1080
+ name: "Lavender Sky",
1081
+ category: "neutral",
1082
+ value: {
1083
+ type: "linear",
1084
+ angle: 135,
1085
+ stops: [
1086
+ { color: "#9381ff", position: 0 },
1087
+ { color: "#b8b8ff", position: 25 },
1088
+ { color: "#f8f7ff", position: 50 },
1089
+ { color: "#ffeedd", position: 75 },
1090
+ { color: "#ffd8be", position: 100 }
1091
+ ]
1092
+ }
1093
+ },
1094
+ {
1095
+ id: "rustic-autumn",
1096
+ name: "Rustic Autumn",
1097
+ category: "neutral",
1098
+ value: {
1099
+ type: "linear",
1100
+ angle: 135,
1101
+ stops: [
1102
+ { color: "#780116", position: 0 },
1103
+ { color: "#f7b538", position: 25 },
1104
+ { color: "#db7c26", position: 50 },
1105
+ { color: "#d8572a", position: 75 },
1106
+ { color: "#c32f27", position: 100 }
1107
+ ]
1108
+ }
1109
+ },
1110
+ {
1111
+ id: "steel-blue",
1112
+ name: "Steel Blue",
1113
+ category: "neutral",
1114
+ value: {
1115
+ type: "linear",
1116
+ angle: 135,
1117
+ stops: [
1118
+ { color: "#0d1321", position: 0 },
1119
+ { color: "#1d2d44", position: 33 },
1120
+ { color: "#3e5c76", position: 67 },
1121
+ { color: "#748cab", position: 100 }
1122
+ ]
1123
+ }
1124
+ },
1125
+ {
1126
+ id: "sunset-coral",
1127
+ name: "Sunset Coral",
1128
+ category: "neutral",
1129
+ value: {
1130
+ type: "linear",
1131
+ angle: 135,
1132
+ stops: [
1133
+ { color: "#fefeff", position: 0 },
1134
+ { color: "#d6efff", position: 25 },
1135
+ { color: "#fed18c", position: 50 },
1136
+ { color: "#fed99b", position: 75 },
1137
+ { color: "#fe654f", position: 100 }
1138
+ ]
1139
+ }
1140
+ },
1141
+ {
1142
+ id: "sage-garden",
1143
+ name: "Sage Garden",
1144
+ category: "neutral",
1145
+ value: {
1146
+ type: "linear",
1147
+ angle: 135,
1148
+ stops: [
1149
+ { color: "#b8d8ba", position: 0 },
1150
+ { color: "#d9dbbc", position: 33 },
1151
+ { color: "#fcddbc", position: 67 },
1152
+ { color: "#ef959d", position: 100 }
1153
+ ]
1154
+ }
1155
+ },
1156
+ {
1157
+ id: "moody-night",
1158
+ name: "Moody Night",
1159
+ category: "neutral",
1160
+ value: {
1161
+ type: "linear",
1162
+ angle: 135,
1163
+ stops: [
1164
+ { color: "#151e3f", position: 0 },
1165
+ { color: "#030027", position: 25 },
1166
+ { color: "#f2f3d9", position: 50 },
1167
+ { color: "#dc9e82", position: 75 },
1168
+ { color: "#c16e70", position: 100 }
1169
+ ]
1170
+ }
1171
+ },
1172
+ {
1173
+ id: "graphite-stone",
1174
+ name: "Graphite Stone",
1175
+ category: "neutral",
1176
+ value: {
1177
+ type: "linear",
1178
+ angle: 135,
1179
+ stops: [
1180
+ { color: "#14110f", position: 0 },
1181
+ { color: "#34312d", position: 25 },
1182
+ { color: "#7e7f83", position: 50 },
1183
+ { color: "#d9c5b2", position: 75 },
1184
+ { color: "#f3f3f4", position: 100 }
1185
+ ]
1186
+ }
1187
+ },
1188
+ {
1189
+ id: "pink-teal",
1190
+ name: "Pink Teal",
1191
+ category: "neutral",
1192
+ value: {
1193
+ type: "linear",
1194
+ angle: 135,
1195
+ stops: [
1196
+ { color: "#d12383", position: 0 },
1197
+ { color: "#de4d86", position: 25 },
1198
+ { color: "#f29ca3", position: 50 },
1199
+ { color: "#f7cacd", position: 75 },
1200
+ { color: "#84e6f8", position: 100 }
1201
+ ]
1202
+ }
1203
+ },
1204
+ {
1205
+ id: "teal-beige",
1206
+ name: "Teal Beige",
1207
+ category: "neutral",
1208
+ value: {
1209
+ type: "linear",
1210
+ angle: 135,
1211
+ stops: [
1212
+ { color: "#0892a5", position: 0 },
1213
+ { color: "#06908f", position: 25 },
1214
+ { color: "#0ca4a5", position: 50 },
1215
+ { color: "#dbb68f", position: 75 },
1216
+ { color: "#dbbaa9", position: 100 }
1217
+ ]
1218
+ }
1219
+ },
1220
+ {
1221
+ id: "forest-mint",
1222
+ name: "Forest Mint",
1223
+ category: "neutral",
1224
+ value: {
1225
+ type: "linear",
1226
+ angle: 135,
1227
+ stops: [
1228
+ { color: "#d7fff1", position: 0 },
1229
+ { color: "#aafcb8", position: 25 },
1230
+ { color: "#8cd790", position: 50 },
1231
+ { color: "#77af9c", position: 75 },
1232
+ { color: "#285943", position: 100 }
1233
+ ]
1234
+ }
1235
+ }
1236
+ ];
1237
+ function getGradientPresetById(id) {
1238
+ return gradientPresets.find((p) => p.id === id);
1239
+ }
1240
+ function getGradientCategories() {
1241
+ return ["warm", "cool", "vibrant", "pastel", "dark", "neutral"];
1242
+ }
1243
+ const defaultSolidColors = [
1244
+ "#4a90e2",
1245
+ // Blue
1246
+ "#e24a4a",
1247
+ // Red
1248
+ "#4ae24a",
1249
+ // Green
1250
+ "#e2e24a",
1251
+ // Yellow
1252
+ "#e24ae2",
1253
+ // Magenta
1254
+ "#4ae2e2",
1255
+ // Cyan
1256
+ "#ffffff",
1257
+ // White
1258
+ "#000000",
1259
+ // Black
1260
+ "#888888",
1261
+ // Gray
1262
+ "#ff6b6b",
1263
+ // Coral
1264
+ "#4ecdc4",
1265
+ // Teal
1266
+ "#95e1d3",
1267
+ // Mint
1268
+ "#f38181",
1269
+ // Salmon
1270
+ "#aa96da",
1271
+ // Lavender
1272
+ "#fcbad3",
1273
+ // Pink
1274
+ "#ffffd2"
1275
+ // Cream
1276
+ ];
1277
+ const size$9 = createSizeConfig();
1278
+ const schema$f = size$9.schema.extend({
1279
+ shapeType: z.enum(["rectangle", "ellipse", "circle", "triangle", "polygon"]).default("rectangle").describe(
1280
+ "Shape: rectangle (w×h), ellipse (w×h, rounded), circle (radius), triangle, polygon (sides)."
1281
+ ).register(fieldRegistry, { interpolationFamily: "discrete", label: "Shape" }),
1282
+ background: BackgroundValueSchema.optional().default(getGradientPresetById("baby-blue").value).describe("Fill: solid hex color (e.g., #4a90e2) or gradient object (linear, radial, conic).").register(fieldRegistry, {
1283
+ widget: "background",
1284
+ interpolationFamily: "discrete",
1285
+ label: "Fill"
1286
+ }),
1287
+ stroke: z.string().default("#000000").describe("Outline color in hex.").register(fieldRegistry, {
1288
+ group: "stroke",
1289
+ interpolationFamily: "continuous",
1290
+ widget: "color",
1291
+ label: "Stroke"
1292
+ }),
1293
+ strokeWidth: z.number().default(0).describe("Outline thickness as % of project width. 0 = no stroke.").register(fieldRegistry, {
1294
+ group: "stroke",
1295
+ interpolationFamily: "continuous",
1296
+ label: "Width",
1297
+ postFix: "%",
1298
+ step: 0.1,
1299
+ min: 0,
1300
+ max: 5
1301
+ }),
1302
+ borderRadius: z.number().default(0).optional().describe("Corner radius for rectangles as % of project width.").register(fieldRegistry, {
1303
+ interpolationFamily: "continuous",
1304
+ label: "Corner Radius",
1305
+ postFix: "%",
1306
+ step: 0.1,
1307
+ min: 0,
1308
+ max: 60
1309
+ }),
1310
+ radius: z.number().default(7.8).optional().describe("Radius for circle/polygon as % of project width (center to edge).").register(fieldRegistry, {
1311
+ interpolationFamily: "continuous",
1312
+ label: "Radius",
1313
+ postFix: "%",
1314
+ step: 0.1,
1315
+ min: 0.1,
1316
+ max: 80
1317
+ }),
1318
+ sides: z.number().min(3).max(12).default(6).optional().describe(
1319
+ "Number of sides for polygon: 3=triangle, 4=diamond, 6=hexagon... Quantized or continuous interpolation."
1320
+ ).register(fieldRegistry, {
1321
+ interpolationFamily: ["quantized", "continuous"],
1322
+ label: "Sides"
1323
+ })
1324
+ });
1325
+ const meta$f = {
1326
+ category: "shape",
1327
+ schema: schema$f,
1328
+ type: "shape",
1329
+ label: "Shape",
1330
+ description: "Geometric shapes (rectangle, ellipse, circle, triangle, polygon) with background and stroke",
1331
+ propertyGroups: [size$9.propertyGroup, { id: "stroke", label: "Stroke" }],
1332
+ middleware: size$9.middleware
1333
+ };
1334
+ const schema$e = z.object({
1335
+ pointerType: z.enum(["arrow", "pointer", "hand", "crosshair", "text"]).default("arrow").describe(
1336
+ "Cursor type: arrow (default), pointer (click), hand (grab), crosshair (precision), text (I-beam)."
1337
+ ).register(fieldRegistry, { interpolationFamily: "discrete", label: "Cursor" }),
1338
+ size: z.number().default(1.875).describe("Cursor size as % of project width.").register(fieldRegistry, {
1339
+ interpolationFamily: "continuous",
1340
+ label: "Size",
1341
+ postFix: "%",
1342
+ step: 0.1,
1343
+ min: 0.1,
1344
+ max: 5
1345
+ }),
1346
+ color: z.string().default("#ffffff").describe("Cursor icon color in hex. Contrast with background.").register(fieldRegistry, {
1347
+ group: "appearance",
1348
+ interpolationFamily: "continuous",
1349
+ widget: "color",
1350
+ label: "Cursor Color"
1351
+ }),
1352
+ backgroundColor: z.string().default("#000000").describe("Background circle color in hex.").register(fieldRegistry, {
1353
+ group: "appearance",
1354
+ interpolationFamily: "continuous",
1355
+ widget: "color",
1356
+ label: "Background"
1357
+ })
1358
+ });
1359
+ const meta$e = {
1360
+ category: "ui",
1361
+ schema: schema$e,
1362
+ type: "mouse",
1363
+ label: "Mouse Cursor",
1364
+ description: "Mouse cursor pointer (arrow, hand, crosshair, text) for UI demonstrations",
1365
+ propertyGroups: [{ id: "appearance", label: "Appearance" }]
1366
+ };
1367
+ const CommonIcons = {
1368
+ // Arrows & Navigation
1369
+ ArrowRight: "arrow-right",
1370
+ ArrowLeft: "arrow-left",
1371
+ ArrowUp: "arrow-up",
1372
+ ArrowDown: "arrow-down",
1373
+ ChevronRight: "chevron-right",
1374
+ ChevronLeft: "chevron-left",
1375
+ ChevronUp: "chevron-up",
1376
+ ChevronDown: "chevron-down",
1377
+ // Actions
1378
+ Check: "check",
1379
+ X: "x",
1380
+ Plus: "plus",
1381
+ Minus: "minus",
1382
+ Play: "play",
1383
+ Pause: "pause",
1384
+ Download: "download",
1385
+ Upload: "upload",
1386
+ Share: "share",
1387
+ Send: "send",
1388
+ Copy: "copy",
1389
+ Trash: "trash",
1390
+ Edit: "edit",
1391
+ Search: "search",
1392
+ // Objects
1393
+ Star: "star",
1394
+ Heart: "heart",
1395
+ Bell: "bell",
1396
+ Home: "home",
1397
+ Settings: "settings",
1398
+ User: "user",
1399
+ Users: "users",
1400
+ Mail: "mail",
1401
+ Phone: "phone",
1402
+ Calendar: "calendar",
1403
+ Clock: "clock",
1404
+ Lock: "lock",
1405
+ Unlock: "unlock",
1406
+ Key: "key",
1407
+ Shield: "shield",
1408
+ Zap: "zap",
1409
+ Sparkles: "sparkles",
1410
+ Rocket: "rocket",
1411
+ Target: "target",
1412
+ Award: "award",
1413
+ Trophy: "trophy",
1414
+ Gift: "gift",
1415
+ Camera: "camera",
1416
+ Image: "image",
1417
+ Video: "video",
1418
+ Music: "music",
1419
+ Mic: "mic",
1420
+ Volume2: "volume-2",
1421
+ Wifi: "wifi",
1422
+ Cloud: "cloud",
1423
+ Database: "database",
1424
+ Server: "server",
1425
+ Code: "code",
1426
+ Terminal: "terminal",
1427
+ Globe: "globe",
1428
+ MapPin: "map-pin",
1429
+ Compass: "compass",
1430
+ Sun: "sun",
1431
+ Moon: "moon",
1432
+ Lightbulb: "lightbulb",
1433
+ Flame: "flame",
1434
+ Bookmark: "bookmark",
1435
+ Tag: "tag",
1436
+ Hash: "hash",
1437
+ AtSign: "at-sign",
1438
+ Link: "link",
1439
+ ExternalLink: "external-link",
1440
+ Paperclip: "paperclip",
1441
+ // Shapes & UI
1442
+ Circle: "circle",
1443
+ Square: "square",
1444
+ Triangle: "triangle",
1445
+ Hexagon: "hexagon",
1446
+ Menu: "menu",
1447
+ MoreHorizontal: "more-horizontal",
1448
+ MoreVertical: "more-vertical",
1449
+ Grid: "grid",
1450
+ Layout: "layout",
1451
+ Layers: "layers",
1452
+ Box: "box",
1453
+ Package: "package",
1454
+ Fullscreen: "fullscreen",
1455
+ // Brands & Social (generic names)
1456
+ Github: "github",
1457
+ Twitter: "twitter",
1458
+ Facebook: "facebook",
1459
+ Instagram: "instagram",
1460
+ Linkedin: "linkedin",
1461
+ Youtube: "youtube"
1462
+ };
1463
+ const commonIconValues = Object.values(CommonIcons);
1464
+ const schema$d = z.object({
1465
+ icon: z.enum(commonIconValues).default("star").describe("Lucide icon name (e.g., star, heart, rocket, arrow-right, github).").register(fieldRegistry, { interpolationFamily: "discrete", label: "Icon" }),
1466
+ size: z.number().default(5).describe("Icon size (width & height) as % of project width.").register(fieldRegistry, {
1467
+ interpolationFamily: "continuous",
1468
+ label: "Size",
1469
+ postFix: "%",
1470
+ step: 0.1,
1471
+ min: 0.1,
1472
+ max: 40
1473
+ }),
1474
+ color: z.string().default("#ffffff").describe("Stroke/outline color in hex.").register(fieldRegistry, {
1475
+ interpolationFamily: "continuous",
1476
+ widget: "color",
1477
+ label: "Stroke"
1478
+ }),
1479
+ strokeWidth: z.number().default(0.156).describe("Stroke thickness as % of project width.").register(fieldRegistry, {
1480
+ interpolationFamily: "continuous",
1481
+ label: "Stroke Width",
1482
+ postFix: "%",
1483
+ step: 0.05,
1484
+ min: 0,
1485
+ max: 1
1486
+ }),
1487
+ fill: z.string().default("none").describe('Fill color in hex. "none" = outline only.').register(fieldRegistry, {
1488
+ interpolationFamily: "continuous",
1489
+ widget: "color",
1490
+ label: "Fill"
1491
+ }),
1492
+ backgroundColor: z.string().default("transparent").describe('Background color in hex. "transparent" = none.').register(fieldRegistry, {
1493
+ interpolationFamily: "continuous",
1494
+ widget: "color",
1495
+ label: "Background"
1496
+ }),
1497
+ backgroundRadius: z.number().default(0).describe("Background corner radius as % of project width. ~size/2 for circle.").register(fieldRegistry, {
1498
+ interpolationFamily: "continuous",
1499
+ label: "Background Radius",
1500
+ postFix: "%",
1501
+ step: 0.1,
1502
+ min: 0,
1503
+ max: 30
1504
+ }),
1505
+ backgroundPadding: z.number().default(0).describe("Padding between icon and background edge as % of project width.").register(fieldRegistry, {
1506
+ interpolationFamily: "continuous",
1507
+ label: "Background Padding",
1508
+ postFix: "%",
1509
+ step: 0.1,
1510
+ min: 0,
1511
+ max: 10
1512
+ })
1513
+ });
1514
+ const meta$d = {
1515
+ category: "shape",
1516
+ schema: schema$d,
1517
+ type: "icon",
1518
+ label: "Icon",
1519
+ description: "Lucide icons with customizable size, color, stroke, and optional background"
1520
+ };
1521
+ const size$8 = createSizeConfig({
1522
+ width: { min: 23, max: 156, default: 80 },
1523
+ height: { min: 23, max: 94, default: 47 }
1524
+ });
1525
+ const schema$c = size$8.schema.extend({
1526
+ url: z.string().optional().describe("URL to load in the browser iframe. Some sites block embedding (X-Frame-Options).").register(fieldRegistry, { group: "iframe", label: "URL" }),
1527
+ zoom: z.number().default(1).describe("Iframe zoom: 1 = normal, 0.5 = half, 2 = double.").register(fieldRegistry, {
1528
+ group: "iframe",
1529
+ interpolationFamily: "continuous",
1530
+ label: "Zoom",
1531
+ min: 0.1,
1532
+ max: 5,
1533
+ step: 0.1,
1534
+ postFix: "x"
1535
+ })
1536
+ });
1537
+ const meta$c = {
1538
+ category: "code",
1539
+ schema: schema$c,
1540
+ type: "browser",
1541
+ label: "Browser",
1542
+ description: "Realistic dark-themed browser window with minimal chrome",
1543
+ isContainer: true,
1544
+ propertyGroups: [size$8.propertyGroup, { id: "iframe", label: "Iframe" }],
1545
+ middleware: size$8.middleware
1546
+ };
1547
+ const schema$b = z.object({
1548
+ code: z.string().default('const hello = "world";').describe("Source code with syntax highlighting. Multi-line via newlines."),
1549
+ language: z.enum(["javascript", "typescript", "python", "html", "css", "json", "bash", "text"]).default("javascript").describe('Programming language for syntax coloring. Use "text" for no highlighting.'),
1550
+ fontSize: z.number().default(1.25).describe("Font size as % of project width. Monospace font.").register(fieldRegistry, {
1551
+ interpolationFamily: "continuous",
1552
+ label: "Font Size",
1553
+ postFix: "%",
1554
+ step: 0.1,
1555
+ min: 0.1,
1556
+ max: 3
1557
+ }),
1558
+ lineHeight: z.number().default(1.5).describe("Line spacing multiplier. 1.0 = compact, 1.5 = comfortable, 2.0 = spacious.").register(fieldRegistry, {
1559
+ interpolationFamily: "continuous",
1560
+ label: "Line Height",
1561
+ step: 0.1,
1562
+ min: 1,
1563
+ max: 3
1564
+ }),
1565
+ width: z.number().default(39).describe("Editor window width as % of project width.").register(fieldRegistry, {
1566
+ interpolationFamily: "continuous",
1567
+ label: "Width",
1568
+ postFix: "%",
1569
+ min: 8,
1570
+ max: 94
1571
+ }),
1572
+ maxHeight: z.number().default(31).describe(
1573
+ "Max height of code area as % of project width. Content beyond scrolls (not rendered)."
1574
+ ).register(fieldRegistry, {
1575
+ interpolationFamily: "continuous",
1576
+ label: "Max Height",
1577
+ postFix: "%",
1578
+ min: 4,
1579
+ max: 62
1580
+ }),
1581
+ backgroundColor: z.string().default("#1e1e1e").describe("Editor body background color in hex (VS Code dark: #1e1e1e)."),
1582
+ textColor: z.string().default("#d4d4d4").describe("Default text color in hex. Contrast with background."),
1583
+ keywordColor: z.string().default("#569cd6").describe("Keyword color in hex (const, let, function, if, class...)."),
1584
+ stringColor: z.string().default("#ce9178").describe("String literal color in hex."),
1585
+ commentColor: z.string().default("#6a9955").describe("Comment color in hex (//, /* */, #)."),
1586
+ numberColor: z.string().default("#b5cea8").describe("Numeric literal color in hex."),
1587
+ showLineNumbers: z.boolean().default(true).describe("Show line number gutter on the left."),
1588
+ lineNumberColor: z.string().default("#858585").describe("Line number text color in hex. Subtle relative to code."),
1589
+ padding: z.number().default(1.5).describe("Inner padding as % of project width.").register(fieldRegistry, {
1590
+ interpolationFamily: "continuous",
1591
+ label: "Padding",
1592
+ postFix: "%",
1593
+ step: 0.1,
1594
+ min: 0.1,
1595
+ max: 4
1596
+ }),
1597
+ borderRadius: z.number().default(0.625).describe("Corner radius as % of project width. 0 = sharp.").register(fieldRegistry, {
1598
+ interpolationFamily: "continuous",
1599
+ label: "Border Radius",
1600
+ postFix: "%",
1601
+ step: 0.1,
1602
+ min: 0,
1603
+ max: 3
1604
+ }),
1605
+ showHeader: z.boolean().default(true).describe("Show editor header bar with traffic lights and filename."),
1606
+ fileName: z.string().default("index.js").describe("Filename in header bar. Match extension to language."),
1607
+ headerColor: z.string().default("#2d2d2d").describe("Header bar background in hex. Slightly different from body.")
1608
+ });
1609
+ const meta$b = {
1610
+ category: "code",
1611
+ schema: schema$b,
1612
+ type: "code",
1613
+ label: "Code Block",
1614
+ description: "Code editor window with syntax highlighting for multiple languages and line numbers"
1615
+ };
1616
+ const schema$a = z.object({
1617
+ collapsed: z.boolean().default(false).describe("Internal: UI collapsed state.").register(fieldRegistry, { hidden: true }),
1618
+ background: BackgroundValueSchema.optional().describe("Background fill for the group area (solid hex or gradient object).").register(fieldRegistry, { widget: "background", interpolationFamily: "discrete" }),
1619
+ filterType: z.enum(["none", "glitch", "pixelate", "chromatic"]).default("none").describe(
1620
+ "Visual filter on all children: glitch (tear+RGB split), pixelate (block posterize), chromatic (color fringe)."
1621
+ ).register(fieldRegistry, { interpolationFamily: "discrete", label: "Filter" })
1622
+ });
1623
+ const meta$a = {
1624
+ category: "ui",
1625
+ schema: schema$a,
1626
+ type: "group",
1627
+ label: "Folder",
1628
+ description: "A folder container that holds multiple child layers with linked transforms",
1629
+ isContainer: true
1630
+ };
1631
+ const size$7 = createSizeConfig({
1632
+ width: { min: 1, max: 400, default: 31 },
1633
+ height: { min: 1, max: 400, default: 16 }
1634
+ });
1635
+ const schema$9 = size$7.schema.extend({
1636
+ html: z.string().default('<div class="container">Hello World</div>').describe(
1637
+ 'HTML markup. Use {{var1}}–{{var5}} (text), {{num1}}–{{num3}} (numbers), {{color1}}/{{color2}} (hex colors), {{show1}}/{{show2}} ("block"/"none"). Supports data-dm-keyframe-props-* for dynamic CSS.'
1638
+ ).register(fieldRegistry, {
1639
+ widget: "textarea",
1640
+ interpolationFamily: "discrete",
1641
+ label: "HTML"
1642
+ }),
1643
+ css: z.string().default(
1644
+ `.container {
1645
+ padding: 20px;
1646
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1647
+ border-radius: 12px;
1648
+ color: white;
1649
+ font-family: 'Inter', sans-serif;
1650
+ }`
1651
+ ).describe(
1652
+ "Scoped CSS. Selectors auto-namespaced to this layer. Use {{varName}} for variable interpolation."
1653
+ ).register(fieldRegistry, {
1654
+ widget: "textarea",
1655
+ interpolationFamily: "discrete",
1656
+ label: "CSS"
1657
+ }),
1658
+ scripts: z.array(z.object({ src: z.string().optional(), code: z.string().optional() })).optional().register(fieldRegistry, { hidden: true }),
1659
+ var1: z.string().default("").describe("Text variable → {{var1}}. Animatable (text interpolation).").register(fieldRegistry, { interpolationFamily: "text", label: "var1" }),
1660
+ var2: z.string().default("").describe("Text variable → {{var2}}. Animatable.").register(fieldRegistry, { interpolationFamily: "text", label: "var2" }),
1661
+ var3: z.string().default("").describe("Text variable → {{var3}}. Animatable.").register(fieldRegistry, { interpolationFamily: "text", label: "var3" }),
1662
+ var4: z.string().default("").describe("Text variable → {{var4}}. Animatable.").register(fieldRegistry, { interpolationFamily: "text", label: "var4" }),
1663
+ var5: z.string().default("").describe("Text variable → {{var5}}. Animatable.").register(fieldRegistry, { interpolationFamily: "text", label: "var5" }),
1664
+ num1: z.number().default(0).describe("Number variable → {{num1}}. Animatable (continuous).").register(fieldRegistry, { interpolationFamily: "continuous", label: "num1" }),
1665
+ num2: z.number().default(0).describe("Number variable → {{num2}}. Animatable.").register(fieldRegistry, { interpolationFamily: "continuous", label: "num2" }),
1666
+ num3: z.number().default(0).describe("Number variable → {{num3}}. Animatable.").register(fieldRegistry, { interpolationFamily: "continuous", label: "num3" }),
1667
+ color1: z.string().default("#ffffff").describe("Color variable → {{color1}} as hex. Animatable between colors.").register(fieldRegistry, { interpolationFamily: "continuous", label: "color1" }),
1668
+ color2: z.string().default("#000000").describe("Color variable → {{color2}} as hex. Animatable between colors.").register(fieldRegistry, { interpolationFamily: "continuous", label: "color2" }),
1669
+ show1: z.boolean().default(true).describe('Show/hide → {{show1}}: "block" (true) or "none" (false).').register(fieldRegistry, { interpolationFamily: "discrete", label: "show1" }),
1670
+ show2: z.boolean().default(true).describe('Show/hide → {{show2}}: "block" (true) or "none" (false).').register(fieldRegistry, { interpolationFamily: "discrete", label: "show2" })
1671
+ });
1672
+ const meta$9 = {
1673
+ category: "code",
1674
+ schema: schema$9,
1675
+ type: "html",
1676
+ label: "HTML/CSS",
1677
+ description: "Custom HTML/CSS with interpolation. Supports data-dm-keyframe-props-* for dynamic CSS animation.",
1678
+ propertyGroups: [size$7.propertyGroup, { id: "variables", label: "Variables" }],
1679
+ middleware: size$7.middleware
1680
+ };
1681
+ const size$6 = createSizeConfig({
1682
+ width: { max: 400, default: 56 },
1683
+ height: { max: 400, default: 100 }
1684
+ });
1685
+ const schema$8 = size$6.schema.extend({
1686
+ src: z.string().default("").describe("Image URL (external or uploaded). Empty = placeholder.").register(fieldRegistry, { widget: "upload", mediaType: "image", label: "Image" }),
1687
+ objectFit: z.enum(["contain", "cover", "fill", "none", "scale-down"]).default("cover").describe(
1688
+ "Fit mode: cover (crop to fill), contain (fit, may letterbox), fill (stretch), none (original size), scale-down."
1689
+ ).register(fieldRegistry, { interpolationFamily: "discrete", label: "Fit" }),
1690
+ borderRadius: z.number().default(0).describe("Corner radius as % of project width. ~50% for circle crop.").register(fieldRegistry, {
1691
+ interpolationFamily: "continuous",
1692
+ label: "Radius",
1693
+ postFix: "%",
1694
+ step: 0.1,
1695
+ min: 0,
1696
+ max: 60
1697
+ }),
1698
+ fileKey: z.string().default("").describe("Internal: S3 storage key for cleanup.").register(fieldRegistry, { hidden: true }),
1699
+ fileName: z.string().default("").describe("Internal: original filename for alt text.").register(fieldRegistry, { hidden: true }),
1700
+ attribution: z.object({
1701
+ imageUrl: z.string(),
1702
+ authorUrl: z.string(),
1703
+ authorName: z.string()
1704
+ }).optional().describe("Internal: Lummi stock image attribution.").register(fieldRegistry, { hidden: true })
1705
+ });
1706
+ const meta$8 = {
1707
+ category: "media",
1708
+ schema: schema$8,
1709
+ type: "image",
1710
+ label: "Image",
1711
+ description: "Display images from URL or uploaded files with configurable size and object-fit modes",
1712
+ propertyGroups: [size$6.propertyGroup],
1713
+ middleware: size$6.middleware
1714
+ };
1715
+ const size$5 = createSizeConfig({
1716
+ width: { min: 16, max: 156, default: 62 },
1717
+ height: { min: 12, max: 117, default: 39 }
1718
+ });
1719
+ const schema$7 = size$5.schema.extend({
1720
+ url: z.string().optional().describe("URL to display on screen. Empty = show child layers.").register(fieldRegistry, { group: "iframe", label: "URL" }),
1721
+ zoom: z.number().default(1).describe("Iframe zoom: 1 = normal, 0.5 = half, 2 = double.").register(fieldRegistry, {
1722
+ group: "iframe",
1723
+ interpolationFamily: "continuous",
1724
+ label: "Zoom",
1725
+ postFix: "x",
1726
+ step: 0.1,
1727
+ min: 0.1,
1728
+ max: 5
1729
+ }),
1730
+ openAngle: z.number().default(110).describe("Screen lid angle in degrees: 0 = closed, 90 = perpendicular, 180 = flat.").register(fieldRegistry, {
1731
+ interpolationFamily: "continuous",
1732
+ label: "Open Angle",
1733
+ postFix: "°",
1734
+ step: 1,
1735
+ min: 0,
1736
+ max: 180
1737
+ }),
1738
+ baseColor: z.string().default("#c0c0c0").describe("Laptop base/body color in hex.").register(fieldRegistry, { label: "Base Color", widget: "color" }),
1739
+ screenColor: z.string().default("#2d2d2d").describe("Screen bezel/lid color in hex.").register(fieldRegistry, { label: "Screen Color", widget: "color" })
1740
+ });
1741
+ const meta$7 = {
1742
+ category: "code",
1743
+ schema: schema$7,
1744
+ type: "laptop",
1745
+ label: "Laptop",
1746
+ description: "A 3D laptop with adjustable screen angle and URL display",
1747
+ isContainer: true,
1748
+ propertyGroups: [size$5.propertyGroup, { id: "iframe", label: "Iframe" }],
1749
+ middleware: size$5.middleware
1750
+ };
1751
+ const size$4 = createSizeConfig({
1752
+ width: { min: 16, max: 47, default: 29 },
1753
+ height: { min: 31, max: 94, default: 52 }
1754
+ });
1755
+ const schema$6 = size$4.schema.extend({
1756
+ url: z.string().optional().describe("URL to load in sandboxed iframe at mobile viewport. Some sites block embedding.").register(fieldRegistry, { group: "iframe", label: "URL" }),
1757
+ zoom: z.number().default(1).describe("Iframe zoom: 1 = normal, 0.5 = half, 2 = double.").register(fieldRegistry, {
1758
+ group: "iframe",
1759
+ interpolationFamily: "continuous",
1760
+ label: "Zoom",
1761
+ postFix: "x",
1762
+ step: 0.1,
1763
+ min: 0.1,
1764
+ max: 5
1765
+ }),
1766
+ phoneColor: z.string().default("#1f2937").describe("Phone body/bezel color in hex.").register(fieldRegistry, {
1767
+ group: "appearance",
1768
+ interpolationFamily: "continuous",
1769
+ widget: "color",
1770
+ label: "Frame Color"
1771
+ }),
1772
+ notchHeight: z.number().default(2.2).describe("Notch/dynamic island height as % of project width.").register(fieldRegistry, {
1773
+ group: "appearance",
1774
+ interpolationFamily: "continuous",
1775
+ label: "Notch Height",
1776
+ postFix: "%",
1777
+ step: 0.1,
1778
+ min: 0.5,
1779
+ max: 4
1780
+ }),
1781
+ showNotch: z.boolean().default(true).describe("Show camera notch at top of screen.").register(fieldRegistry, { interpolationFamily: "discrete", label: "Show Notch" }),
1782
+ borderRadius: z.number().default(3.1).describe("Phone corner radius as % of project width.").register(fieldRegistry, {
1783
+ interpolationFamily: "continuous",
1784
+ label: "Corner Radius",
1785
+ postFix: "%",
1786
+ step: 0.1,
1787
+ min: 0.5,
1788
+ max: 6
1789
+ }),
1790
+ bezelWidth: z.number().max(3).default(0.94).describe("Bezel border width as % of project width.").register(fieldRegistry, {
1791
+ group: "appearance",
1792
+ interpolationFamily: "continuous",
1793
+ label: "Bezel",
1794
+ postFix: "%",
1795
+ step: 0.1
1796
+ })
1797
+ });
1798
+ const meta$6 = {
1799
+ category: "ui",
1800
+ schema: schema$6,
1801
+ type: "phone",
1802
+ label: "Phone",
1803
+ description: "Mobile phone mockup with notch, bezel, and iframe for app/website previews",
1804
+ isContainer: true,
1805
+ propertyGroups: [
1806
+ size$4.propertyGroup,
1807
+ { id: "appearance", label: "Appearance" },
1808
+ { id: "iframe", label: "Iframe" }
1809
+ ],
1810
+ middleware: size$4.middleware
1811
+ };
1812
+ const size$3 = createSizeConfig({
1813
+ width: { min: 16, max: 156, default: 47 },
1814
+ height: { min: 12, max: 156, default: 31 }
1815
+ });
1816
+ const schema$5 = size$3.schema.extend({
1817
+ title: z.string().default("Terminal").describe('Header title (e.g., "bash", "~/projects"). Animatable (text interpolation).').register(fieldRegistry, { interpolationFamily: "text", label: "Title" }),
1818
+ content: z.string().default("$ Welcome to terminal").describe("Terminal body text. Multi-line via newlines. Animatable (text interpolation).").register(fieldRegistry, {
1819
+ widget: "textarea",
1820
+ interpolationFamily: "text",
1821
+ label: "Content"
1822
+ }),
1823
+ fontSize: z.number().default(1.1).describe("Font size as % of project width. Monospace.").register(fieldRegistry, {
1824
+ interpolationFamily: "continuous",
1825
+ label: "Font Size",
1826
+ postFix: "%",
1827
+ step: 0.1,
1828
+ min: 0.1,
1829
+ max: 2.5
1830
+ }),
1831
+ backgroundColor: z.string().default("#1e1e1e").describe("Terminal body background in hex.").register(fieldRegistry, {
1832
+ group: "appearance",
1833
+ interpolationFamily: "continuous",
1834
+ widget: "color",
1835
+ label: "Background"
1836
+ }),
1837
+ textColor: z.string().default("#00ff00").describe("Text color in hex (classic: #00ff00 green, #ffffff white).").register(fieldRegistry, {
1838
+ group: "appearance",
1839
+ interpolationFamily: "continuous",
1840
+ widget: "color",
1841
+ label: "Text Color"
1842
+ }),
1843
+ borderColor: z.string().default("#404040").describe("Border color in hex. Visible when showBorder is true.").register(fieldRegistry, {
1844
+ group: "appearance",
1845
+ interpolationFamily: "continuous",
1846
+ widget: "color",
1847
+ label: "Border Color"
1848
+ }),
1849
+ showBorder: z.boolean().default(true).describe("Draw 1px border around terminal window.").register(fieldRegistry, { interpolationFamily: "discrete", label: "Show Border" })
1850
+ });
1851
+ const meta$5 = {
1852
+ category: "code",
1853
+ schema: schema$5,
1854
+ type: "terminal",
1855
+ label: "Terminal",
1856
+ description: "Terminal window with customizable content, colors, and monospace font display",
1857
+ propertyGroups: [size$3.propertyGroup, { id: "appearance", label: "Appearance" }],
1858
+ middleware: size$3.middleware
1859
+ };
1860
+ const GOOGLE_FONTS_BY_CATEGORY = {
1861
+ "Sans-Serif": {
1862
+ Inter: "Inter",
1863
+ Roboto: "Roboto",
1864
+ Poppins: "Poppins",
1865
+ Manrope: "Manrope",
1866
+ OpenSans: "Open Sans",
1867
+ Montserrat: "Montserrat",
1868
+ Lato: "Lato",
1869
+ DMSans: "DM Sans",
1870
+ Nunito: "Nunito",
1871
+ Raleway: "Raleway",
1872
+ SourceSans3: "Source Sans 3",
1873
+ Oswald: "Oswald",
1874
+ Ubuntu: "Ubuntu",
1875
+ WorkSans: "Work Sans",
1876
+ Quicksand: "Quicksand",
1877
+ Mulish: "Mulish",
1878
+ Barlow: "Barlow",
1879
+ Outfit: "Outfit"
1880
+ },
1881
+ Serif: {
1882
+ PlayfairDisplay: "Playfair Display",
1883
+ Merriweather: "Merriweather",
1884
+ LoraFont: "Lora",
1885
+ EBGaramond: "EB Garamond",
1886
+ Crimson: "Crimson Text"
1887
+ },
1888
+ "Handwriting & Script": {
1889
+ Pacifico: "Pacifico",
1890
+ DancingScript: "Dancing Script",
1891
+ Caveat: "Caveat",
1892
+ IndieFlower: "Indie Flower",
1893
+ ShadowsIntoLight: "Shadows Into Light",
1894
+ PermanentMarker: "Permanent Marker",
1895
+ KaushanScript: "Kaushan Script",
1896
+ Satisfy: "Satisfy",
1897
+ GreatVibes: "Great Vibes",
1898
+ Parisienne: "Parisienne"
1899
+ },
1900
+ "Display & Decorative": {
1901
+ Bangers: "Bangers",
1902
+ Righteous: "Righteous",
1903
+ Bebas: "Bebas Neue",
1904
+ Anton: "Anton",
1905
+ Audiowide: "Audiowide",
1906
+ FredokaOne: "Fredoka One",
1907
+ RussoOne: "Russo One",
1908
+ Wallpoet: "Wallpoet",
1909
+ Bungee: "Bungee",
1910
+ PressStart2P: "Press Start 2P"
1911
+ },
1912
+ Monospace: {
1913
+ RobotoMono: "Roboto Mono",
1914
+ SourceCodePro: "Source Code Pro",
1915
+ JetBrainsMono: "JetBrains Mono",
1916
+ FiraCode: "Fira Code",
1917
+ Courier: "Courier Prime"
1918
+ },
1919
+ Rounded: {
1920
+ Comfortaa: "Comfortaa",
1921
+ VarelaRound: "Varela Round",
1922
+ Fredoka: "Fredoka",
1923
+ Chewy: "Chewy"
1924
+ },
1925
+ Condensed: {
1926
+ OswaldCondensed: "Oswald",
1927
+ FjallaOne: "Fjalla One",
1928
+ PathwayGothicOne: "Pathway Gothic One"
1929
+ }
1930
+ };
1931
+ Object.values(GOOGLE_FONTS_BY_CATEGORY).reduce(
1932
+ (acc, category) => ({ ...acc, ...category }),
1933
+ {}
1934
+ );
1935
+ const FONT_CATEGORIES = {
1936
+ "Sans-Serif": Object.values(GOOGLE_FONTS_BY_CATEGORY["Sans-Serif"]),
1937
+ Serif: Object.values(GOOGLE_FONTS_BY_CATEGORY.Serif),
1938
+ "Handwriting & Script": Object.values(GOOGLE_FONTS_BY_CATEGORY["Handwriting & Script"]),
1939
+ "Display & Decorative": Object.values(GOOGLE_FONTS_BY_CATEGORY["Display & Decorative"]),
1940
+ Monospace: Object.values(GOOGLE_FONTS_BY_CATEGORY.Monospace),
1941
+ Rounded: Object.values(GOOGLE_FONTS_BY_CATEGORY.Rounded),
1942
+ Condensed: Object.values(GOOGLE_FONTS_BY_CATEGORY.Condensed)
1943
+ };
1944
+ const CATEGORY_LABELS = {
1945
+ "Sans-Serif": "Sans-Serif",
1946
+ Serif: "Serif",
1947
+ "Handwriting & Script": "Handwriting & Script",
1948
+ "Display & Decorative": "Display & Decorative",
1949
+ Monospace: "Monospace",
1950
+ Rounded: "Rounded",
1951
+ Condensed: "Condensed"
1952
+ };
1953
+ const googleFontValues = Object.values(FONT_CATEGORIES).flat();
1954
+ const fontCategoriesArray = Object.entries(FONT_CATEGORIES).map(([category, fonts]) => ({
1955
+ label: CATEGORY_LABELS[category],
1956
+ category,
1957
+ fonts
1958
+ }));
1959
+ const SINGLE_WEIGHT_FONTS = /* @__PURE__ */ new Set([
1960
+ "Pacifico",
1961
+ "Permanent Marker",
1962
+ "Press Start 2P",
1963
+ "Fredoka One",
1964
+ "Russo One",
1965
+ "Wallpoet",
1966
+ "Bebas Neue",
1967
+ "Anton",
1968
+ "Audiowide",
1969
+ "Righteous",
1970
+ "Bangers",
1971
+ "Bungee",
1972
+ "Great Vibes",
1973
+ "Parisienne",
1974
+ "Satisfy",
1975
+ "Kaushan Script",
1976
+ "Chewy",
1977
+ "Fjalla One",
1978
+ "Pathway Gothic One"
1979
+ ]);
1980
+ function getGoogleFontUrl(fontFamily) {
1981
+ const encodedFamily = fontFamily.replace(/ /g, "+");
1982
+ if (SINGLE_WEIGHT_FONTS.has(fontFamily)) {
1983
+ return `https://fonts.googleapis.com/css2?family=${encodedFamily}&display=swap`;
1984
+ }
1985
+ return `https://fonts.googleapis.com/css2?family=${encodedFamily}:wght@100;200;300;400;500;600;700;800;900&display=swap`;
1986
+ }
1987
+ const size$2 = createSizeConfig({
1988
+ width: { min: 4, max: 39, default: 9 },
1989
+ height: { min: 2, max: 12, default: 4 }
1990
+ });
1991
+ const schema$4 = size$2.schema.extend({
1992
+ text: z.string().default("Click me").describe("Button label text. Animatable with text interpolation (typewriter reveal).").register(fieldRegistry, { interpolationFamily: "text", label: "Text" }),
1993
+ fontSize: z.number().default(1.25).describe("Font size as % of project width.").register(fieldRegistry, {
1994
+ group: "typography",
1995
+ interpolationFamily: "continuous",
1996
+ label: "Font Size",
1997
+ postFix: "%",
1998
+ step: 0.1,
1999
+ min: 0.1,
2000
+ max: 2.5
2001
+ }),
2002
+ fontFamily: z.enum(googleFontValues).optional().describe("Google Fonts font family.").register(fieldRegistry, {
2003
+ group: "typography",
2004
+ interpolationFamily: "discrete",
2005
+ label: "Font"
2006
+ }),
2007
+ fontWeight: z.enum(["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900"]).default("bold").describe('Font weight: 100 (thin) to 900 (black), or "normal"/"bold".').register(fieldRegistry, {
2008
+ group: "typography",
2009
+ interpolationFamily: "discrete",
2010
+ label: "Weight"
2011
+ }),
2012
+ backgroundColor: z.string().default(BRAND_COLORS.blue).describe("Background fill color in hex (e.g., #4a90e2).").register(fieldRegistry, {
2013
+ group: "appearance",
2014
+ interpolationFamily: "continuous",
2015
+ widget: "color",
2016
+ label: "Background"
2017
+ }),
2018
+ textColor: z.string().default("#ffffff").describe("Text color in hex. Should contrast with background.").register(fieldRegistry, {
2019
+ group: "appearance",
2020
+ interpolationFamily: "continuous",
2021
+ widget: "color",
2022
+ label: "Text Color"
2023
+ }),
2024
+ borderColor: z.string().default(BRAND_COLORS.blue).describe("Border color in hex. Used in outline/ghost styles.").register(fieldRegistry, {
2025
+ group: "appearance",
2026
+ interpolationFamily: "continuous",
2027
+ widget: "color",
2028
+ label: "Border"
2029
+ }),
2030
+ borderRadius: z.number().default(0.625).describe("Corner radius as % of project width. ~50% = pill shape.").register(fieldRegistry, {
2031
+ group: "style",
2032
+ interpolationFamily: "continuous",
2033
+ label: "Radius",
2034
+ postFix: "%",
2035
+ step: 0.1,
2036
+ min: 0,
2037
+ max: 50
2038
+ }),
2039
+ style: z.enum(["solid", "outline", "ghost"]).default("solid").describe("Visual variant: solid (filled), outline (transparent+border), ghost (transparent).").register(fieldRegistry, { group: "style", interpolationFamily: "discrete", label: "Style" }),
2040
+ shadow: z.boolean().default(true).describe("Show drop shadow for depth.").register(fieldRegistry, { interpolationFamily: "discrete", label: "Shadow" })
2041
+ });
2042
+ const meta$4 = {
2043
+ category: "shape",
2044
+ schema: schema$4,
2045
+ type: "button",
2046
+ label: "Button",
2047
+ description: "Interactive button with solid, outline, or ghost styles and customizable appearance",
2048
+ propertyGroups: [
2049
+ size$2.propertyGroup,
2050
+ { id: "typography", label: "Typography" },
2051
+ { id: "appearance", label: "Appearance" },
2052
+ { id: "style", label: "Style" }
2053
+ ],
2054
+ middleware: size$2.middleware
2055
+ };
2056
+ const EASING_VALUES = [
2057
+ "linear",
2058
+ "ease-in",
2059
+ "ease-out",
2060
+ "ease-in-out",
2061
+ // Quad
2062
+ "ease-in-quad",
2063
+ "ease-out-quad",
2064
+ "ease-in-out-quad",
2065
+ // Cubic
2066
+ "ease-in-cubic",
2067
+ "ease-out-cubic",
2068
+ "ease-in-out-cubic",
2069
+ // Quart
2070
+ "ease-in-quart",
2071
+ "ease-out-quart",
2072
+ "ease-in-out-quart",
2073
+ // Quint
2074
+ "ease-in-quint",
2075
+ "ease-out-quint",
2076
+ "ease-in-out-quint",
2077
+ // Sine
2078
+ "ease-in-sine",
2079
+ "ease-out-sine",
2080
+ "ease-in-out-sine",
2081
+ // Expo
2082
+ "ease-in-expo",
2083
+ "ease-out-expo",
2084
+ "ease-in-out-expo",
2085
+ // Circ
2086
+ "ease-in-circ",
2087
+ "ease-out-circ",
2088
+ "ease-in-out-circ",
2089
+ // Back (overshoots)
2090
+ "ease-in-back",
2091
+ "ease-out-back",
2092
+ "ease-in-out-back",
2093
+ // Bounce
2094
+ "ease-in-bounce",
2095
+ "ease-out-bounce",
2096
+ "ease-in-out-bounce",
2097
+ // Elastic
2098
+ "ease-in-elastic",
2099
+ "ease-out-elastic",
2100
+ "ease-in-out-elastic"
2101
+ ];
2102
+ function easeOutBounce(t) {
2103
+ const n1 = 7.5625;
2104
+ const d1 = 2.75;
2105
+ if (t < 1 / d1) return n1 * t * t;
2106
+ if (t < 2 / d1) return n1 * (t -= 1.5 / d1) * t + 0.75;
2107
+ if (t < 2.5 / d1) return n1 * (t -= 2.25 / d1) * t + 0.9375;
2108
+ return n1 * (t -= 2.625 / d1) * t + 0.984375;
2109
+ }
2110
+ function easeInBounce(t) {
2111
+ return 1 - easeOutBounce(1 - t);
2112
+ }
2113
+ function easeInOutBounce(t) {
2114
+ return t < 0.5 ? (1 - easeOutBounce(1 - 2 * t)) / 2 : (1 + easeOutBounce(2 * t - 1)) / 2;
2115
+ }
2116
+ function easeInElastic(t) {
2117
+ if (t === 0 || t === 1) return t;
2118
+ return -Math.pow(2, 10 * t - 10) * Math.sin((t * 10 - 10.75) * (2 * Math.PI / 3));
2119
+ }
2120
+ function easeOutElastic(t) {
2121
+ if (t === 0 || t === 1) return t;
2122
+ return Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * (2 * Math.PI / 3)) + 1;
2123
+ }
2124
+ function easeInOutElastic(t) {
2125
+ if (t === 0 || t === 1) return t;
2126
+ return t < 0.5 ? -(Math.pow(2, 20 * t - 10) * Math.sin((20 * t - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * t + 10) * Math.sin((20 * t - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;
2127
+ }
2128
+ const DISCRETE_STRATEGIES = ["step-end", "step-start", "step-mid"];
2129
+ const QUANTIZED_STRATEGIES = ["integer", "snap-grid"];
2130
+ const TEXT_STRATEGIES = ["char-reveal", "word-reveal"];
2131
+ const KEYFRAME_STRATEGIES = [
2132
+ ...EASING_VALUES,
2133
+ ...DISCRETE_STRATEGIES,
2134
+ ...QUANTIZED_STRATEGIES,
2135
+ ...TEXT_STRATEGIES
2136
+ ];
2137
+ function strategyToFamily(strategy) {
2138
+ if (TEXT_STRATEGIES.includes(strategy)) return "text";
2139
+ if (DISCRETE_STRATEGIES.includes(strategy)) return "discrete";
2140
+ if (QUANTIZED_STRATEGIES.includes(strategy)) return "quantized";
2141
+ return "continuous";
2142
+ }
2143
+ function buildInterpolation(strategy, extras) {
2144
+ if (!strategy) return void 0;
2145
+ const family = strategyToFamily(strategy);
2146
+ if (family === "quantized" && strategy === "snap-grid") {
2147
+ return { family, strategy, increment: extras?.increment ?? 1 };
2148
+ }
2149
+ if (family === "text" && strategy === "word-reveal" && extras?.separator !== void 0) {
2150
+ return { family, strategy, separator: extras.separator };
2151
+ }
2152
+ return { family, strategy };
2153
+ }
2154
+ const AnchorPointSchema = z.enum([
2155
+ "top-left",
2156
+ "top-center",
2157
+ "top-right",
2158
+ "center-left",
2159
+ "center",
2160
+ "center-right",
2161
+ "bottom-left",
2162
+ "bottom-center",
2163
+ "bottom-right"
2164
+ ]);
2165
+ const PositionSchema = z.object({
2166
+ x: z.number().describe("X position as % of project width"),
2167
+ y: z.number().describe("Y position as % of project width"),
2168
+ z: z.number().describe("Z depth (px)")
2169
+ });
2170
+ const RotationSchema = z.object({
2171
+ x: z.number().describe("X rotation (radians)"),
2172
+ y: z.number().describe("Y rotation (radians)"),
2173
+ z: z.number().describe("Z rotation (radians)")
2174
+ });
2175
+ const ScaleSchema = z.object({
2176
+ x: z.number().min(0).describe("X scale (1 = normal)"),
2177
+ y: z.number().min(0).describe("Y scale (1 = normal)")
2178
+ });
2179
+ const TransformSchema = z.object({
2180
+ // New nested format
2181
+ position: PositionSchema.optional().default({ x: 0, y: 0, z: 0 }),
2182
+ rotation: RotationSchema.optional().default({ x: 0, y: 0, z: 0 }),
2183
+ scale: ScaleSchema.optional().default({ x: 1, y: 1 }),
2184
+ anchor: AnchorPointSchema.describe("Transform pivot point on the layer").optional().default("center"),
2185
+ positionOrigin: AnchorPointSchema.describe(
2186
+ 'Canvas reference for (0,0). Default "center" = (0,0) at canvas center. "top-left" = (0,0) at top-left corner.'
2187
+ ).optional().default("center")
2188
+ });
2189
+ const TransformPatchSchema = z.object({
2190
+ position: PositionSchema.partial().optional(),
2191
+ rotation: RotationSchema.partial().optional(),
2192
+ scale: ScaleSchema.partial().optional(),
2193
+ anchor: AnchorPointSchema.optional().describe("Transform pivot point on the layer"),
2194
+ positionOrigin: AnchorPointSchema.optional().describe(
2195
+ 'Canvas reference for (0,0). Default "center" = (0,0) at canvas center. "top-left" = (0,0) at top-left corner.'
2196
+ )
2197
+ });
2198
+ function defaultTransform() {
2199
+ return {
2200
+ position: { x: 0, y: 0, z: 0 },
2201
+ rotation: { x: 0, y: 0, z: 0 },
2202
+ scale: { x: 1, y: 1 },
2203
+ anchor: "center",
2204
+ positionOrigin: "center"
2205
+ };
2206
+ }
2207
+ const LayerStyleSchema = z.object({
2208
+ opacity: z.number().max(1).default(1).describe("Opacity 0–1").register(fieldRegistry, { interpolationFamily: "continuous", step: 0.05 }),
2209
+ // CSS filter properties
2210
+ blur: z.number().min(0).default(0).describe("Blur amount as % of project width").register(fieldRegistry, {
2211
+ group: "filters-1",
2212
+ interpolationFamily: "continuous",
2213
+ postFix: "%",
2214
+ step: 0.1,
2215
+ min: 0,
2216
+ max: 10
2217
+ }),
2218
+ brightness: z.number().min(0).default(1).describe("Brightness multiplier (1 = normal)").register(fieldRegistry, {
2219
+ group: "filters-1",
2220
+ interpolationFamily: "continuous",
2221
+ step: 0.1,
2222
+ min: 0,
2223
+ max: 10
2224
+ }),
2225
+ contrast: z.number().min(0).max(10).default(1).describe("Contrast multiplier (1 = normal)").register(fieldRegistry, {
2226
+ group: "filters-2",
2227
+ interpolationFamily: "continuous",
2228
+ step: 0.1
2229
+ }),
2230
+ saturate: z.number().min(0).max(10).default(1).describe("Saturation multiplier (1 = normal)").register(fieldRegistry, {
2231
+ group: "filters-2",
2232
+ interpolationFamily: "continuous",
2233
+ step: 0.1
2234
+ }),
2235
+ // CSS drop-shadow filter
2236
+ dropShadowX: z.number().default(0).describe("Shadow horizontal offset as % of project width").register(fieldRegistry, {
2237
+ group: "shadow-offset",
2238
+ interpolationFamily: "continuous",
2239
+ postFix: "%",
2240
+ step: 0.1
2241
+ }),
2242
+ dropShadowY: z.number().default(0).describe("Shadow vertical offset as % of project width").register(fieldRegistry, {
2243
+ group: "shadow-offset",
2244
+ interpolationFamily: "continuous",
2245
+ postFix: "%",
2246
+ step: 0.1
2247
+ }),
2248
+ dropShadowBlur: z.number().min(0).default(0).describe("Shadow blur radius as % of project width").register(fieldRegistry, {
2249
+ group: "shadow-style",
2250
+ interpolationFamily: "continuous",
2251
+ postFix: "%",
2252
+ step: 0.1
2253
+ }),
2254
+ dropShadowColor: z.string().default("transparent").describe("Shadow color (hex or rgba)").register(fieldRegistry, {
2255
+ group: "shadow-style",
2256
+ interpolationFamily: "discrete",
2257
+ widget: "color"
2258
+ })
2259
+ });
2260
+ const stylePropertyGroups = [
2261
+ {
2262
+ id: "filters-1",
2263
+ label: "Filters"
2264
+ },
2265
+ {
2266
+ id: "filters-2",
2267
+ label: "Filters"
2268
+ },
2269
+ {
2270
+ id: "shadow-offset",
2271
+ label: "Shadow Offset"
2272
+ },
2273
+ {
2274
+ id: "shadow-style",
2275
+ label: "Shadow Style"
2276
+ }
2277
+ ];
2278
+ function defaultLayerStyle() {
2279
+ return {
2280
+ opacity: 1,
2281
+ blur: 0,
2282
+ brightness: 1,
2283
+ contrast: 1,
2284
+ saturate: 1,
2285
+ dropShadowX: 0,
2286
+ dropShadowY: 0,
2287
+ dropShadowBlur: 0,
2288
+ dropShadowColor: "transparent"
2289
+ };
2290
+ }
2291
+ const BaseLayerFieldsSchema = z.object({
2292
+ id: z.string().describe("Unique layer identifier"),
2293
+ name: z.string().describe("Layer name for identification"),
2294
+ visible: z.boolean().describe("Layer visibility state"),
2295
+ locked: z.boolean().describe("Layer locked state (prevents editing)"),
2296
+ parentId: z.string().optional().describe("Parent group layer ID")
2297
+ });
2298
+ const BaseAnimatablePropertyLabels = {
2299
+ "position.x": "Position X",
2300
+ "position.y": "Position Y",
2301
+ "position.z": "Position Z",
2302
+ "rotation.x": "Rotation X",
2303
+ "rotation.y": "Rotation Y",
2304
+ "rotation.z": "Rotation Z",
2305
+ "scale.x": "Scale X",
2306
+ "scale.y": "Scale Y",
2307
+ opacity: "Opacity",
2308
+ blur: "Blur",
2309
+ brightness: "Brightness",
2310
+ contrast: "Contrast",
2311
+ saturate: "Saturate",
2312
+ dropShadowBlur: "Drop Shadow Blur",
2313
+ dropShadowColor: "Drop Shadow Color",
2314
+ dropShadowX: "Drop Shadow X",
2315
+ dropShadowY: "Drop Shadow Y"
2316
+ };
2317
+ const ContinuousInterpolationStrategies = EASING_VALUES;
2318
+ const createFromSchema = (schema2, data) => {
2319
+ return schema2.parse(data);
2320
+ };
2321
+ const TransitionEffectEnum = z.enum([
2322
+ "fade",
2323
+ "scale",
2324
+ "slide-up",
2325
+ "slide-down",
2326
+ "slide-left",
2327
+ "slide-right",
2328
+ "blur"
2329
+ ]);
2330
+ const transitionEffectOptions = [
2331
+ { value: "fade", label: "Fade" },
2332
+ { value: "scale", label: "Scale" },
2333
+ { value: "slide-up", label: "Slide ↑" },
2334
+ { value: "slide-down", label: "Slide ↓" },
2335
+ { value: "slide-left", label: "Slide ←" },
2336
+ { value: "slide-right", label: "Slide →" },
2337
+ { value: "blur", label: "Blur" }
2338
+ ];
2339
+ function createTransitionSchema(group, defaults = {}) {
2340
+ return z.object({
2341
+ transitionEffects: z.array(TransitionEffectEnum).default(defaults.effects ?? []).describe(
2342
+ "Enter transition effects. Select multiple to combine: fade = opacity, scale = pop-in, slide = motion, blur = focus."
2343
+ ).register(fieldRegistry, {
2344
+ group,
2345
+ interpolationFamily: "discrete",
2346
+ label: "Effects",
2347
+ widget: "multi-select",
2348
+ options: transitionEffectOptions
2349
+ }),
2350
+ transitionDuration: z.number().min(0).max(5e3).default(defaults.duration ?? 0).describe("Duration in milliseconds for the enter transition.").register(fieldRegistry, {
2351
+ group,
2352
+ interpolationFamily: "continuous",
2353
+ label: "Duration",
2354
+ step: 5,
2355
+ postFix: "ms"
2356
+ })
2357
+ });
2358
+ }
2359
+ const schema$3 = z.object({
2360
+ content: z.string().default("New Text").describe("Text content. Animatable with text interpolation (char-reveal / word-reveal).").register(fieldRegistry, { interpolationFamily: "text", label: "Content" }),
2361
+ fontSize: z.number().default(3.75).describe("Font size as % of project width.").register(fieldRegistry, {
2362
+ group: "typography",
2363
+ interpolationFamily: "continuous",
2364
+ label: "Size",
2365
+ postFix: "%",
2366
+ step: 0.1,
2367
+ min: 0.1,
2368
+ max: 50
2369
+ }),
2370
+ fontFamily: z.enum(googleFontValues).optional().describe("Google Fonts font family.").register(fieldRegistry, {
2371
+ interpolationFamily: "discrete",
2372
+ label: "Font"
2373
+ }),
2374
+ fontWeight: z.enum(["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900"]).default("normal").describe('Font weight: 100 (thin) to 900 (black), or "normal"/"bold".').register(fieldRegistry, {
2375
+ group: "typography",
2376
+ interpolationFamily: "discrete",
2377
+ label: "Weight"
2378
+ }),
2379
+ color: BackgroundValueSchema.default("#ffffff").describe("Text color: solid hex or gradient object (linear, radial, conic).").register(fieldRegistry, {
2380
+ interpolationFamily: "continuous",
2381
+ label: "Color"
2382
+ }),
2383
+ letterSpacing: z.number().default(0).describe("Letter spacing as % of project width. Negative = tighter.").register(fieldRegistry, {
2384
+ group: "spacing",
2385
+ interpolationFamily: "continuous",
2386
+ label: "Letter Spacing",
2387
+ postFix: "%",
2388
+ step: 0.1,
2389
+ min: -1,
2390
+ max: 8
2391
+ }),
2392
+ lineHeight: z.number().default(1.4).describe("Line spacing multiplier: 1.0 = single, 1.5 = one-and-half.").register(fieldRegistry, {
2393
+ group: "spacing",
2394
+ interpolationFamily: "continuous",
2395
+ label: "Line Height",
2396
+ step: 0.1,
2397
+ min: 0.5,
2398
+ max: 5
2399
+ }),
2400
+ autoWidth: z.boolean().default(true).describe("Auto-fit container width to content. When false, uses width for wrapping.").register(fieldRegistry, {
2401
+ group: "layout",
2402
+ interpolationFamily: "discrete",
2403
+ label: "Auto width"
2404
+ }),
2405
+ width: z.number().default(31).describe("Container width as % of project width (when autoWidth is false).").register(fieldRegistry, {
2406
+ group: "layout",
2407
+ interpolationFamily: "continuous",
2408
+ label: "Width",
2409
+ postFix: "%",
2410
+ min: 1,
2411
+ max: 400
2412
+ }),
2413
+ textAlign: z.enum(["left", "center", "right"]).default("center").describe("Horizontal text alignment: left, center, right.").register(fieldRegistry, { interpolationFamily: "discrete", label: "Align" }),
2414
+ ...createTransitionSchema("transition-basic").shape,
2415
+ slideDistance: z.number().default(1.875).describe("Slide effect distance as % of project width.").register(fieldRegistry, {
2416
+ group: "transition-motion",
2417
+ interpolationFamily: "continuous",
2418
+ label: "Slide distance",
2419
+ postFix: "%",
2420
+ step: 0.1,
2421
+ min: 0,
2422
+ max: 50
2423
+ }),
2424
+ transitionEasing: z.enum(ContinuousInterpolationStrategies).default("ease-out").describe("Easing curve for enter transition (ease-out, ease-in, bounce, elastic...).").register(fieldRegistry, {
2425
+ group: "transition-motion",
2426
+ interpolationFamily: "discrete",
2427
+ label: "Easing"
2428
+ }),
2429
+ scaleFrom: z.number().default(0.5).describe("Initial scale: 0 = invisible, 0.5 = half, 1 = no scaling.").register(fieldRegistry, {
2430
+ group: "transition-appearance",
2431
+ interpolationFamily: "continuous",
2432
+ label: "Scale From",
2433
+ step: 0.1,
2434
+ min: 0
2435
+ }),
2436
+ blurAmount: z.number().default(0.78).describe("Max blur as % of project width (animates to 0).").register(fieldRegistry, {
2437
+ group: "transition-appearance",
2438
+ interpolationFamily: "continuous",
2439
+ label: "Blur Amount",
2440
+ postFix: "%",
2441
+ step: 0.1,
2442
+ min: 0,
2443
+ max: 5
2444
+ }),
2445
+ transitionColorFrom: z.string().optional().describe(
2446
+ "Starting color for color transition (animates to final color). Empty = no color animation."
2447
+ ).register(fieldRegistry, {
2448
+ group: "transition-appearance-2",
2449
+ interpolationFamily: "continuous",
2450
+ widget: "color",
2451
+ label: "Color From"
2452
+ }),
2453
+ expandOnReveal: z.boolean().default(false).describe("Each text fragment expands from zero width as it appears (typewriter expand).").register(fieldRegistry, {
2454
+ group: "transition-appearance-2",
2455
+ interpolationFamily: "discrete",
2456
+ label: "Expand on reveal"
2457
+ })
2458
+ });
2459
+ const meta$3 = {
2460
+ category: "text",
2461
+ schema: schema$3,
2462
+ type: "text",
2463
+ label: "Text",
2464
+ description: "Styled text with Google Fonts, customizable size, weight, color, and alignment",
2465
+ propertyGroups: [
2466
+ { id: "typography", label: "Typography" },
2467
+ { id: "spacing", label: "Spacing" },
2468
+ { id: "layout", label: "Layout" },
2469
+ { id: "transition-basic", label: "Effects & Duration" },
2470
+ { id: "transition-motion", label: "Slide & Easing" },
2471
+ { id: "transition-appearance", label: "Scale & Blur" },
2472
+ { id: "transition-appearance-2", label: "Color & Expand" }
2473
+ ]
2474
+ };
2475
+ const size$1 = createSizeConfig({
2476
+ width: { max: 400, default: 90 },
2477
+ height: { max: 400, default: 95 }
2478
+ });
2479
+ const schema$2 = size$1.schema.extend({
2480
+ src: z.string().default("").describe("Video source URL (external or uploaded). Synced to project timeline.").register(fieldRegistry, { widget: "upload", mediaType: "video", label: "Video" }),
2481
+ borderRadius: z.number().default(3.1).describe("Corner radius as % of project width. ~50% for circle crop.").register(fieldRegistry, {
2482
+ group: "appearance",
2483
+ interpolationFamily: "continuous",
2484
+ label: "Radius",
2485
+ postFix: "%",
2486
+ step: 0.1,
2487
+ min: 0,
2488
+ max: 60
2489
+ }),
2490
+ frame: z.enum([
2491
+ "none",
2492
+ "arc",
2493
+ "stack-light",
2494
+ "stack-dark",
2495
+ "mac-light",
2496
+ "mac-dark",
2497
+ "mac-subtle",
2498
+ "windows-light",
2499
+ "windows-dark",
2500
+ "glow",
2501
+ "shadow"
2502
+ ]).default("arc").describe(
2503
+ "Decorative frame: arc, stack-light/dark, mac-light/dark/subtle, windows-light/dark, glow, shadow, none."
2504
+ ).register(fieldRegistry, {
2505
+ group: "appearance",
2506
+ interpolationFamily: "discrete",
2507
+ label: "Frame"
2508
+ }),
2509
+ frameWidth: z.number().default(0.625).describe('Frame padding as % of project width (only when frame != "none").').register(fieldRegistry, {
2510
+ group: "appearance",
2511
+ interpolationFamily: "continuous",
2512
+ label: "Frame Width",
2513
+ postFix: "%",
2514
+ step: 0.1,
2515
+ min: 0,
2516
+ max: 3
2517
+ }),
2518
+ zoom: z.number().default(1).describe("Video zoom: 1 = original, higher = zoom in. Use with offsetX/Y for pan.").register(fieldRegistry, {
2519
+ group: "zoom",
2520
+ interpolationFamily: "continuous",
2521
+ label: "Zoom",
2522
+ step: 0.01,
2523
+ postFix: "x",
2524
+ min: 1,
2525
+ max: 5
2526
+ }),
2527
+ offsetX: z.number().default(0).describe("Horizontal pan offset as % of viewport width. Positive = right.").register(fieldRegistry, {
2528
+ group: "zoom",
2529
+ interpolationFamily: "continuous",
2530
+ label: "Offset X",
2531
+ postFix: "%",
2532
+ min: -100,
2533
+ max: 100
2534
+ }),
2535
+ offsetY: z.number().default(0).describe("Vertical pan offset as % of viewport height. Positive = down.").register(fieldRegistry, {
2536
+ group: "zoom",
2537
+ interpolationFamily: "continuous",
2538
+ label: "Offset Y",
2539
+ postFix: "%",
2540
+ min: -100,
2541
+ max: 100
2542
+ }),
2543
+ objectFit: z.enum(["contain", "cover", "none"]).default("cover").describe("Fit: cover (crop fill), contain (fit, may letterbox), none (original size).").register(fieldRegistry, { interpolationFamily: "discrete", label: "Fit" }),
2544
+ volume: z.number().min(0).max(1).default(1).describe("Audio volume: 0.0 = silent, 1.0 = full. Animatable for fades.").register(fieldRegistry, {
2545
+ group: "playback",
2546
+ interpolationFamily: "continuous",
2547
+ label: "Volume",
2548
+ step: 0.1,
2549
+ postFix: "%"
2550
+ }),
2551
+ muted: z.boolean().default(false).describe("Mute audio regardless of volume.").register(fieldRegistry, { interpolationFamily: "discrete", label: "Muted" }),
2552
+ playbackRate: z.number().min(0.1).max(4).default(1).describe("Playback speed: 1.0 = normal, 0.5 = slow-mo, 2.0 = 2×.").register(fieldRegistry, {
2553
+ group: "playback",
2554
+ interpolationFamily: "continuous",
2555
+ label: "Speed",
2556
+ step: 0.1,
2557
+ postFix: "x"
2558
+ }),
2559
+ fileKey: z.string().default("").describe("Internal: S3 storage key for cleanup.").register(fieldRegistry, { hidden: true })
2560
+ });
2561
+ const meta$2 = {
2562
+ category: "media",
2563
+ schema: schema$2,
2564
+ type: "video",
2565
+ label: "Video",
2566
+ description: "Embed video files with trimming, volume control, and playback options",
2567
+ propertyGroups: [
2568
+ { id: "appearance", label: "Appearance" },
2569
+ size$1.propertyGroup,
2570
+ { id: "zoom", label: "Zoom & Pan" },
2571
+ { id: "playback", label: "Playback" }
2572
+ ],
2573
+ middleware: size$1.middleware
2574
+ };
2575
+ const schema$1 = z.object({
2576
+ src: z.string().default("").describe("Audio source URL (external or uploaded). Synced to project timeline.").register(fieldRegistry, { widget: "upload", mediaType: "audio", label: "Audio" }),
2577
+ volume: z.number().default(1).describe("Playback volume: 0.0 = silent, 1.0 = full. Animatable for fades.").register(fieldRegistry, {
2578
+ group: "playback",
2579
+ interpolationFamily: "continuous",
2580
+ label: "Volume",
2581
+ step: 0.1,
2582
+ min: 0,
2583
+ max: 1,
2584
+ postFix: "%"
2585
+ }),
2586
+ muted: z.boolean().default(false).describe("Mute audio regardless of volume.").register(fieldRegistry, { interpolationFamily: "discrete", label: "Muted" }),
2587
+ playbackRate: z.number().default(1).describe("Playback speed: 1.0 = normal, 0.5 = half, 2.0 = double. Affects pitch and tempo.").register(fieldRegistry, {
2588
+ group: "playback",
2589
+ interpolationFamily: "continuous",
2590
+ label: "Speed",
2591
+ step: 0.1,
2592
+ min: 0.1,
2593
+ max: 4,
2594
+ postFix: "x"
2595
+ }),
2596
+ fileKey: z.string().default("").describe("Internal: S3 storage key for cleanup.").register(fieldRegistry, { hidden: true }),
2597
+ generatedFromText: z.string().default("").describe("Internal: original TTS script, used as prompt for caption generation.").register(fieldRegistry, { hidden: true })
2598
+ });
2599
+ const meta$1 = {
2600
+ category: "media",
2601
+ schema: schema$1,
2602
+ type: "audio",
2603
+ label: "Audio",
2604
+ description: "Audio tracks with captions",
2605
+ propertyGroups: [{ id: "playback", label: "Playback" }]
2606
+ };
2607
+ const size = createSizeConfig({
2608
+ width: { default: 70 },
2609
+ height: { default: 16 }
2610
+ });
2611
+ const CaptionWordSchema = z.object({
2612
+ word: z.string(),
2613
+ start: z.number(),
2614
+ end: z.number()
2615
+ });
2616
+ const displayModes = ["highlight", "single-word", "typewriter", "block"];
2617
+ const schema = size.schema.extend({
2618
+ sourceLayerId: z.string().optional().describe("ID of source audio/video layer. Captions sync to word timestamps from that layer.").register(fieldRegistry, {
2619
+ interpolationFamily: "discrete",
2620
+ label: "Source"
2621
+ }),
2622
+ mode: z.enum(displayModes).optional().default("highlight").describe("Display mode: highlight (karaoke), single-word, typewriter, block (subtitles).").register(fieldRegistry, { interpolationFamily: "discrete", label: "Mode" }),
2623
+ blockGap: z.number().optional().default(1).describe("Minimum silence gap (seconds) between words to split into a new block.").register(fieldRegistry, {
2624
+ group: "captions",
2625
+ interpolationFamily: "continuous",
2626
+ label: "Block Gap",
2627
+ postFix: "s",
2628
+ min: 0.5,
2629
+ max: 4,
2630
+ step: 0.1
2631
+ }),
2632
+ maxWordsPerBlock: z.number().optional().default(10).describe("Max words per caption block before splitting.").register(fieldRegistry, {
2633
+ group: "captions",
2634
+ interpolationFamily: "discrete",
2635
+ label: "Max Words",
2636
+ min: 1,
2637
+ max: 50
2638
+ }),
2639
+ words: z.array(CaptionWordSchema).optional().default([]).describe("Timed word array: [{word, start, end}, ...]. Generated from transcription.").register(fieldRegistry, { label: "Words" }),
2640
+ originalScript: z.string().optional().default("").describe("Internal: original TTS script, used as Whisper prompt for re-alignment.").register(fieldRegistry, { hidden: true }),
2641
+ fontSize: z.number().optional().default(3.75).describe("Font size as % of project width.").register(fieldRegistry, {
2642
+ group: "font",
2643
+ interpolationFamily: "continuous",
2644
+ label: "Size",
2645
+ postFix: "%",
2646
+ step: 0.1,
2647
+ min: 0.1,
2648
+ max: 10
2649
+ }),
2650
+ fontFamily: z.enum(googleFontValues).optional().describe("Google Fonts font family.").register(fieldRegistry, {
2651
+ group: "font",
2652
+ interpolationFamily: "discrete",
2653
+ label: "Font"
2654
+ }),
2655
+ fontWeight: z.enum(["400", "500", "600", "700", "800", "900"]).optional().default("700").describe("Font weight: 400 = regular, 700 = bold, 900 = black. Active words auto-bold.").register(fieldRegistry, {
2656
+ group: "font",
2657
+ interpolationFamily: "discrete",
2658
+ label: "Weight"
2659
+ }),
2660
+ textColor: z.string().optional().default("#ffffff").describe("Text color in hex (e.g., #ffffff).").register(fieldRegistry, {
2661
+ group: "style",
2662
+ interpolationFamily: "continuous",
2663
+ widget: "color",
2664
+ label: "Text Color"
2665
+ }),
2666
+ bgColor: z.string().optional().default("#7b39ed").describe("Highlight/pill color behind active word in hex or rgba.").register(fieldRegistry, {
2667
+ group: "style",
2668
+ interpolationFamily: "continuous",
2669
+ widget: "color",
2670
+ label: "Highlight"
2671
+ }),
2672
+ ...createTransitionSchema("transition", { effects: ["fade"], duration: 100 }).shape,
2673
+ textEffect: z.enum(["none", "shadow", "outline"]).optional().default("outline").describe("Text contrast effect: shadow (blurred drop shadow), outline (crisp stroke).").register(fieldRegistry, {
2674
+ group: "shadow",
2675
+ interpolationFamily: "discrete",
2676
+ label: "Effect"
2677
+ }),
2678
+ textEffectColor: z.string().optional().default("#7c3aed").describe("Color of text effect in hex or rgba.").register(fieldRegistry, {
2679
+ group: "shadow",
2680
+ interpolationFamily: "continuous",
2681
+ widget: "color",
2682
+ label: "Color"
2683
+ }),
2684
+ textEffectSize: z.number().optional().default(0.16).describe("Effect size as % of project width (shadow blur radius / outline stroke width).").register(fieldRegistry, {
2685
+ group: "shadow",
2686
+ interpolationFamily: "continuous",
2687
+ label: "Size",
2688
+ step: 0.05,
2689
+ postFix: "%",
2690
+ min: 0,
2691
+ max: 2
2692
+ })
2693
+ });
2694
+ const meta = {
2695
+ category: "text",
2696
+ schema,
2697
+ type: "captions",
2698
+ label: "Captions",
2699
+ description: "Synchronized captions/subtitles with highlight, single-word, typewriter, and block modes",
2700
+ propertyGroups: [
2701
+ size.propertyGroup,
2702
+ { id: "captions", label: "Captions" },
2703
+ { id: "style", label: "Style" },
2704
+ { id: "shadow", label: "Shadow" },
2705
+ { id: "font", label: "Font" },
2706
+ { id: "transition", label: "Transition" }
2707
+ ],
2708
+ middleware: size.middleware
2709
+ };
2710
+ const metas = [
2711
+ meta$4,
2712
+ meta$3,
2713
+ meta$2,
2714
+ meta$1,
2715
+ meta,
2716
+ meta$f,
2717
+ meta$e,
2718
+ meta$d,
2719
+ meta$c,
2720
+ meta$b,
2721
+ meta$a,
2722
+ meta$9,
2723
+ meta$8,
2724
+ meta$7,
2725
+ meta$6,
2726
+ meta$5
2727
+ ];
2728
+ const layerDataRegistry = Object.fromEntries(
2729
+ metas.map((m) => [m.type, m])
2730
+ );
2731
+ function getLayerDataDefinition(type) {
2732
+ const def = layerDataRegistry[type];
2733
+ if (!def) throw new Error(`Unknown layer type: ${type}`);
2734
+ return def;
2735
+ }
2736
+ function getLayerSchemaData(type) {
2737
+ return getLayerDataDefinition(type).schema;
2738
+ }
2739
+ function getAvailableLayerTypesData() {
2740
+ return Object.keys(layerDataRegistry);
2741
+ }
2742
+ function isContainerLayerData(type) {
2743
+ return layerDataRegistry[type]?.isContainer === true;
2744
+ }
2745
+
2746
+ const ContinuousInterpolationSchema = z.object({
2747
+ family: z.literal("continuous").describe(
2748
+ "Smooth numeric/color transitions. Use for position, scale, opacity, rotation, fontSize, colors. Colors interpolate in RGB space."
2749
+ ),
2750
+ strategy: z.enum(ContinuousInterpolationStrategies).describe(
2751
+ "Easing: ease-out (entrances), ease-in (exits), ease-in-out (middle). Back = overshoot, bounce, elastic for playful effects."
2752
+ )
2753
+ });
2754
+ const DiscreteInterpolationSchema = z.object({
2755
+ family: z.literal("discrete").describe("Instant jump between values, no transition. Use for booleans, enums, visibility."),
2756
+ strategy: z.enum(["step-end", "step-start", "step-mid"]).describe(
2757
+ "When the jump occurs: step-end (hold old value until keyframe), step-start (jump immediately), step-mid (jump at midpoint)"
2758
+ )
2759
+ });
2760
+ const QuantizedIntegerSchema = z.object({
2761
+ family: z.literal("quantized").describe("Smooth animation snapped to discrete steps."),
2762
+ strategy: z.literal("integer").describe("Snap to nearest integer (for counters, indices)")
2763
+ });
2764
+ const QuantizedSnapGridSchema = z.object({
2765
+ family: z.literal("quantized").describe("Smooth animation snapped to discrete steps."),
2766
+ strategy: z.literal("snap-grid").describe("Snap to a custom grid increment"),
2767
+ increment: z.number().positive().describe("Grid step size (e.g., 5 → 0, 5, 10, 15...)")
2768
+ });
2769
+ const TextCharRevealSchema = z.object({
2770
+ family: z.literal("text").describe("Text reveal. ONLY for props.content on text/terminal layers."),
2771
+ strategy: z.literal("char-reveal").describe('Character-by-character typewriter. Animate text from "" to full content.')
2772
+ });
2773
+ const TextWordRevealSchema = z.object({
2774
+ family: z.literal("text").describe("Text reveal. ONLY for props.content on text/terminal layers."),
2775
+ strategy: z.literal("word-reveal").describe("Word-by-word reveal. Shows whole words one at a time."),
2776
+ separator: z.string().optional().describe('Word delimiter (default: space " ")')
2777
+ });
2778
+ const InterpolationSchema = z.union([
2779
+ ContinuousInterpolationSchema,
2780
+ DiscreteInterpolationSchema,
2781
+ QuantizedIntegerSchema,
2782
+ QuantizedSnapGridSchema,
2783
+ TextCharRevealSchema,
2784
+ TextWordRevealSchema
2785
+ ]);
2786
+ const BuiltInAnimatablePropertySchema = z.enum([
2787
+ "position.x",
2788
+ "position.y",
2789
+ "position.z",
2790
+ "scale.x",
2791
+ "scale.y",
2792
+ "rotation.x",
2793
+ "rotation.y",
2794
+ "rotation.z",
2795
+ ...LayerStyleSchema.keyof().options
2796
+ ]);
2797
+ const PropsAnimatablePropertySchema = z.string().regex(/^props\./).describe("Layer-specific property (e.g., props.fontSize, props.content).");
2798
+ const AnimatablePropertySchema = z.union([
2799
+ BuiltInAnimatablePropertySchema,
2800
+ PropsAnimatablePropertySchema
2801
+ ]);
2802
+ const KeyframeSchema = z.object({
2803
+ id: z.string().describe("Unique keyframe ID"),
2804
+ time: z.number().min(0).describe("Time in seconds"),
2805
+ property: AnimatablePropertySchema.describe(
2806
+ "Property to animate: position.x/y/z, scale.x/y, rotation.x/y/z, opacity, blur, brightness, etc., or props.* for layer-specific (e.g., props.fontSize, props.content)."
2807
+ ),
2808
+ value: z.union([z.number(), z.string(), z.boolean()]).describe(
2809
+ "Target value: number for numeric props, hex string for colors, string for text content, boolean for flags."
2810
+ ),
2811
+ interpolation: InterpolationSchema.optional().describe(
2812
+ "How to reach this value from the previous keyframe. Omit for default continuous/ease-in-out."
2813
+ )
2814
+ });
2815
+ const LayerTypeSchema = z.string().refine((t) => getAvailableLayerTypesData().includes(t), {
2816
+ message: "Unknown layer type"
2817
+ });
2818
+ const LayerSchema = BaseLayerFieldsSchema.extend({
2819
+ type: LayerTypeSchema,
2820
+ transform: TransformSchema,
2821
+ style: LayerStyleSchema,
2822
+ keyframes: z.array(KeyframeSchema),
2823
+ /**
2824
+ * Layer-specific properties validated by the component's Zod schema.
2825
+ * Kept flexible to allow each layer type to define its own props.
2826
+ */
2827
+ props: z.record(z.string(), z.unknown()),
2828
+ /**
2829
+ * Enter time - when this layer becomes visible in the timeline (seconds).
2830
+ * If undefined, the layer is visible from the start.
2831
+ */
2832
+ enterTime: z.number().min(0).optional(),
2833
+ /**
2834
+ * Exit time - when this layer stops being visible in the timeline (seconds).
2835
+ * If undefined, the layer is visible until the project ends.
2836
+ */
2837
+ exitTime: z.number().min(0).optional(),
2838
+ /**
2839
+ * Content duration - the total duration of the layer's content in seconds.
2840
+ * For video/audio layers, this is the media file duration.
2841
+ * For other layers, this may be undefined (infinite duration).
2842
+ * Used to constrain enter/exit times and content offset.
2843
+ */
2844
+ contentDuration: z.number().min(0).optional(),
2845
+ /**
2846
+ * Content offset - how much to trim/skip from the start of the content (seconds).
2847
+ * For video/audio layers, this is where playback starts in the source media.
2848
+ * Combined with enter/exit times, this determines what portion of content is shown.
2849
+ * Only applicable when contentDuration is defined.
2850
+ */
2851
+ contentOffset: z.number().min(0).optional()
2852
+ }).refine(
2853
+ (data) => {
2854
+ if (data.contentDuration !== void 0 && data.contentOffset !== void 0 && data.contentOffset > data.contentDuration) {
2855
+ return false;
2856
+ }
2857
+ if (data.contentDuration !== void 0 && data.enterTime !== void 0 && data.exitTime !== void 0) {
2858
+ const visibleDuration = data.exitTime - data.enterTime;
2859
+ const contentOffset = data.contentOffset ?? 0;
2860
+ const availableContent = data.contentDuration - contentOffset;
2861
+ if (visibleDuration > availableContent) {
2862
+ return false;
2863
+ }
2864
+ }
2865
+ return true;
2866
+ },
2867
+ {
2868
+ message: "Content duration and offset constraints violated: offset must be < duration, and visible duration must fit within available content"
2869
+ }
2870
+ );
2871
+ const ProjectSchema = z.object({
2872
+ id: z.string(),
2873
+ name: z.string(),
2874
+ width: z.number().positive(),
2875
+ height: z.number().positive(),
2876
+ duration: z.number().positive(),
2877
+ fps: z.number().positive(),
2878
+ background: BackgroundValueSchema.optional(),
2879
+ /** Primary brand color used as the base for dynamic animated backgrounds */
2880
+ primaryColor: z.string().optional().default("#6366f1"),
2881
+ fontFamily: z.enum(googleFontValues).optional().default("Inter"),
2882
+ hideWatermark: z.boolean().optional().default(false),
2883
+ watermarkPosition: z.enum(["top-left", "top-center", "top-right", "bottom-left", "bottom-center", "bottom-right"]).optional().default("top-center"),
2884
+ /** Schema version: 2 = positions/sizes in % of project width (v1 = pixels) */
2885
+ schemaVersion: z.number().int().optional(),
2886
+ layers: z.array(LayerSchema)
2887
+ });
2888
+ z.object({
2889
+ zoom: z.number(),
2890
+ pan: z.object({
2891
+ x: z.number(),
2892
+ y: z.number()
2893
+ }),
2894
+ showGuides: z.boolean(),
2895
+ snapToGrid: z.boolean()
2896
+ });
2897
+ z.object({
2898
+ id: z.string(),
2899
+ name: z.string(),
2900
+ keyframes: z.array(KeyframeSchema.omit({ id: true }))
2901
+ });
2902
+ z.object({
2903
+ format: z.enum(["mp4", "webm", "json"]),
2904
+ quality: z.enum(["low", "medium", "high"]),
2905
+ fps: z.number().positive(),
2906
+ width: z.number().positive(),
2907
+ height: z.number().positive()
2908
+ });
2909
+ const projectDataSchema = ProjectSchema.omit({ id: true });
2910
+
2911
+ export { easeInOutBounce as $, meta$3 as A, BaseLayerFieldsSchema as B, meta$5 as C, meta$f as D, EASING_VALUES as E, meta$6 as F, meta$e as G, meta$7 as H, meta$8 as I, meta$d as J, KeyframeSchema as K, LayerSchema as L, meta$9 as M, meta$a as N, meta$b as O, ProjectSchema as P, CaptionWordSchema as Q, meta$4 as R, meta$c as S, TransformSchema as T, meta$1 as U, googleFontValues as V, isSolid as W, displayModes as X, easeInOutElastic as Y, easeOutElastic as Z, easeInElastic as _, defaultTransform as a, easeInBounce as a0, easeOutBounce as a1, backgroundValueToCSS as a2, fontCategoriesArray as a3, schema$4 as a4, schema as a5, schema$3 as a6, DYNAMIC_VARIANTS as a7, defaultSolidColors as a8, getGradientCategories as a9, gradientPresets as aa, solidBackground as ab, buildInterpolation as b, KEYFRAME_STRATEGIES as c, defaultLayerStyle as d, LayerStyleSchema as e, fieldRegistry as f, getLayerSchemaData as g, getLayerDataDefinition as h, createFromSchema as i, BackgroundValueSchema as j, TransformPatchSchema as k, getAvailableLayerTypesData as l, meta as m, layerDataRegistry as n, isContainerLayerData as o, projectDataSchema as p, BaseAnimatablePropertyLabels as q, stylePropertyGroups as r, scaleMiddleware as s, isDynamic as t, getStyleProperties as u, isGradient as v, getPatternLayerStyle as w, getGoogleFontUrl as x, getGradientPresetById as y, meta$2 as z };
2912
+ //# sourceMappingURL=animation-sOd5R1cE.js.map