@devmotion/cli 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/README.md +10 -8
  2. package/dist/index.js +16 -10
  3. package/package.json +39 -3
  4. package/studio/client/_app/immutable/chunks/{zdIjnFuo.js → 50k2wcLI.js} +1 -1
  5. package/studio/client/_app/immutable/chunks/50k2wcLI.js.br +0 -0
  6. package/studio/client/_app/immutable/chunks/50k2wcLI.js.gz +0 -0
  7. package/studio/client/_app/immutable/chunks/{EsOjj2Re.js → B0InQEem.js} +1 -1
  8. package/studio/client/_app/immutable/chunks/B0InQEem.js.br +0 -0
  9. package/studio/client/_app/immutable/chunks/B0InQEem.js.gz +0 -0
  10. package/studio/client/_app/immutable/chunks/{BslV7gY7.js → B0K-yEeN.js} +1 -1
  11. package/studio/client/_app/immutable/chunks/B0K-yEeN.js.br +0 -0
  12. package/studio/client/_app/immutable/chunks/B0K-yEeN.js.gz +0 -0
  13. package/studio/client/_app/immutable/chunks/{CTpKZT5_.js → B0ihW1uA.js} +1 -1
  14. package/studio/client/_app/immutable/chunks/B0ihW1uA.js.br +0 -0
  15. package/studio/client/_app/immutable/chunks/B0ihW1uA.js.gz +0 -0
  16. package/studio/client/_app/immutable/chunks/{Dw0S4s6I.js → B7-B7Rye.js} +1 -1
  17. package/studio/client/_app/immutable/chunks/B7-B7Rye.js.br +0 -0
  18. package/studio/client/_app/immutable/chunks/B7-B7Rye.js.gz +0 -0
  19. package/studio/client/_app/immutable/chunks/{D1FB0IUT.js → B73W4ug1.js} +1 -1
  20. package/studio/client/_app/immutable/chunks/B73W4ug1.js.br +0 -0
  21. package/studio/client/_app/immutable/chunks/B73W4ug1.js.gz +0 -0
  22. package/studio/client/_app/immutable/chunks/{BwG2gtjF.js → B7YKAaTG.js} +1 -1
  23. package/studio/client/_app/immutable/chunks/B7YKAaTG.js.br +0 -0
  24. package/studio/client/_app/immutable/chunks/B7YKAaTG.js.gz +0 -0
  25. package/studio/client/_app/immutable/chunks/{Bs7NW1Se.js → BBfFsDlX.js} +1 -1
  26. package/studio/client/_app/immutable/chunks/BBfFsDlX.js.br +0 -0
  27. package/studio/client/_app/immutable/chunks/BBfFsDlX.js.gz +0 -0
  28. package/studio/client/_app/immutable/chunks/{DUvwbcGL.js → BD1Q_3Tu.js} +1 -1
  29. package/studio/client/_app/immutable/chunks/BD1Q_3Tu.js.br +0 -0
  30. package/studio/client/_app/immutable/chunks/BD1Q_3Tu.js.gz +0 -0
  31. package/studio/client/_app/immutable/chunks/{DXmIOUiy.js → BSkyxmk4.js} +1 -1
  32. package/studio/client/_app/immutable/chunks/BSkyxmk4.js.br +0 -0
  33. package/studio/client/_app/immutable/chunks/BSkyxmk4.js.gz +0 -0
  34. package/studio/client/_app/immutable/chunks/{C0WKYdwk.js → BWJBuCKd.js} +1 -1
  35. package/studio/client/_app/immutable/chunks/BWJBuCKd.js.br +0 -0
  36. package/studio/client/_app/immutable/chunks/BWJBuCKd.js.gz +0 -0
  37. package/studio/client/_app/immutable/chunks/{Cdg3o65X.js → BZ5m9NAb.js} +1 -1
  38. package/studio/client/_app/immutable/chunks/BZ5m9NAb.js.br +0 -0
  39. package/studio/client/_app/immutable/chunks/BZ5m9NAb.js.gz +0 -0
  40. package/studio/client/_app/immutable/chunks/{DkL6aOyN.js → BmyLmh6r.js} +1 -1
  41. package/studio/client/_app/immutable/chunks/BmyLmh6r.js.br +0 -0
  42. package/studio/client/_app/immutable/chunks/BmyLmh6r.js.gz +0 -0
  43. package/studio/client/_app/immutable/chunks/{D8o81YM9.js → Bxtw3VCv.js} +1 -1
  44. package/studio/client/_app/immutable/chunks/Bxtw3VCv.js.br +0 -0
  45. package/studio/client/_app/immutable/chunks/Bxtw3VCv.js.gz +0 -0
  46. package/studio/client/_app/immutable/chunks/{MA9VYZ9Y.js → C9sBKiYf.js} +1 -1
  47. package/studio/client/_app/immutable/chunks/C9sBKiYf.js.br +0 -0
  48. package/studio/client/_app/immutable/chunks/C9sBKiYf.js.gz +0 -0
  49. package/studio/client/_app/immutable/chunks/{vMKBQkkd.js → COl-CNj7.js} +1 -1
  50. package/studio/client/_app/immutable/chunks/COl-CNj7.js.br +0 -0
  51. package/studio/client/_app/immutable/chunks/COl-CNj7.js.gz +0 -0
  52. package/studio/client/_app/immutable/chunks/{BM9OfXL9.js → CT2a-dR9.js} +1 -1
  53. package/studio/client/_app/immutable/chunks/CT2a-dR9.js.br +0 -0
  54. package/studio/client/_app/immutable/chunks/CT2a-dR9.js.gz +0 -0
  55. package/studio/client/_app/immutable/chunks/{CTjBIV3u.js → CUCj7lD0.js} +1 -1
  56. package/studio/client/_app/immutable/chunks/CUCj7lD0.js.br +0 -0
  57. package/studio/client/_app/immutable/chunks/CUCj7lD0.js.gz +0 -0
  58. package/studio/client/_app/immutable/chunks/CXbT2p8d.js +1 -0
  59. package/studio/client/_app/immutable/chunks/CXbT2p8d.js.br +2 -0
  60. package/studio/client/_app/immutable/chunks/CXbT2p8d.js.gz +0 -0
  61. package/studio/client/_app/immutable/chunks/{AZ9rWnO0.js → Cdq6yEev.js} +1 -1
  62. package/studio/client/_app/immutable/chunks/Cdq6yEev.js.br +0 -0
  63. package/studio/client/_app/immutable/chunks/Cdq6yEev.js.gz +0 -0
  64. package/studio/client/_app/immutable/chunks/{D-QT1x8R.js → ChWA6krs.js} +1 -1
  65. package/studio/client/_app/immutable/chunks/ChWA6krs.js.br +0 -0
  66. package/studio/client/_app/immutable/chunks/ChWA6krs.js.gz +0 -0
  67. package/studio/client/_app/immutable/chunks/{DlG2SYaI.js → Cjo8pWm5.js} +1 -1
  68. package/studio/client/_app/immutable/chunks/Cjo8pWm5.js.br +0 -0
  69. package/studio/client/_app/immutable/chunks/Cjo8pWm5.js.gz +0 -0
  70. package/studio/client/_app/immutable/chunks/{BwnyT9Ny.js → Cms6Kv73.js} +1 -1
  71. package/studio/client/_app/immutable/chunks/Cms6Kv73.js.br +0 -0
  72. package/studio/client/_app/immutable/chunks/Cms6Kv73.js.gz +0 -0
  73. package/studio/client/_app/immutable/chunks/CpZPBLUC.js +4 -0
  74. package/studio/client/_app/immutable/chunks/CpZPBLUC.js.br +0 -0
  75. package/studio/client/_app/immutable/chunks/CpZPBLUC.js.gz +0 -0
  76. package/studio/client/_app/immutable/chunks/{BJKr5hge.js → Crbgd-F4.js} +1 -1
  77. package/studio/client/_app/immutable/chunks/Crbgd-F4.js.br +0 -0
  78. package/studio/client/_app/immutable/chunks/Crbgd-F4.js.gz +0 -0
  79. package/studio/client/_app/immutable/chunks/{CwPeYiWY.js → Cy-HgkQ4.js} +1 -1
  80. package/studio/client/_app/immutable/chunks/Cy-HgkQ4.js.br +0 -0
  81. package/studio/client/_app/immutable/chunks/Cy-HgkQ4.js.gz +0 -0
  82. package/studio/client/_app/immutable/chunks/{BM16VTgB.js → DTeYaQtG.js} +1 -1
  83. package/studio/client/_app/immutable/chunks/DTeYaQtG.js.br +0 -0
  84. package/studio/client/_app/immutable/chunks/DTeYaQtG.js.gz +0 -0
  85. package/studio/client/_app/immutable/chunks/{CVS8giU8.js → DlRdcK_L.js} +1 -1
  86. package/studio/client/_app/immutable/chunks/DlRdcK_L.js.br +0 -0
  87. package/studio/client/_app/immutable/chunks/DlRdcK_L.js.gz +0 -0
  88. package/studio/client/_app/immutable/chunks/{BgrSU1kg.js → DmhMUf0A.js} +1 -1
  89. package/studio/client/_app/immutable/chunks/DmhMUf0A.js.br +0 -0
  90. package/studio/client/_app/immutable/chunks/DmhMUf0A.js.gz +0 -0
  91. package/studio/client/_app/immutable/chunks/{Of4NhqMR.js → FOXaA4gY.js} +1 -1
  92. package/studio/client/_app/immutable/chunks/FOXaA4gY.js.br +0 -0
  93. package/studio/client/_app/immutable/chunks/FOXaA4gY.js.gz +0 -0
  94. package/studio/client/_app/immutable/chunks/{BW3LFrce.js → N203W5Pg.js} +1 -1
  95. package/studio/client/_app/immutable/chunks/N203W5Pg.js.br +0 -0
  96. package/studio/client/_app/immutable/chunks/N203W5Pg.js.gz +0 -0
  97. package/studio/client/_app/immutable/chunks/{BvSfBzuV.js → P0Tv_tIw.js} +1 -1
  98. package/studio/client/_app/immutable/chunks/P0Tv_tIw.js.br +0 -0
  99. package/studio/client/_app/immutable/chunks/P0Tv_tIw.js.gz +0 -0
  100. package/studio/client/_app/immutable/chunks/{CPRt510s.js → hBOeOFig.js} +1 -1
  101. package/studio/client/_app/immutable/chunks/hBOeOFig.js.br +0 -0
  102. package/studio/client/_app/immutable/chunks/hBOeOFig.js.gz +0 -0
  103. package/studio/client/_app/immutable/chunks/{CvEPOTmC.js → ovnFo7rR.js} +1 -1
  104. package/studio/client/_app/immutable/chunks/ovnFo7rR.js.br +0 -0
  105. package/studio/client/_app/immutable/chunks/ovnFo7rR.js.gz +0 -0
  106. package/studio/client/_app/immutable/chunks/{DhUtLNbU.js → uVN-AobW.js} +1 -1
  107. package/studio/client/_app/immutable/chunks/uVN-AobW.js.br +0 -0
  108. package/studio/client/_app/immutable/chunks/uVN-AobW.js.gz +0 -0
  109. package/studio/client/_app/immutable/chunks/{B6madqDo.js → zRQ7UKhy.js} +1 -1
  110. package/studio/client/_app/immutable/chunks/zRQ7UKhy.js.br +0 -0
  111. package/studio/client/_app/immutable/chunks/zRQ7UKhy.js.gz +0 -0
  112. package/studio/client/_app/immutable/entry/{app.DWvKq1JP.js → app.Bb1-Avnn.js} +2 -2
  113. package/studio/client/_app/immutable/entry/app.Bb1-Avnn.js.br +0 -0
  114. package/studio/client/_app/immutable/entry/app.Bb1-Avnn.js.gz +0 -0
  115. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js +1 -0
  116. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js.br +0 -0
  117. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js.gz +0 -0
  118. package/studio/client/_app/immutable/nodes/{0.WXKHH_tm.js → 0.DCVNvTmX.js} +1 -1
  119. package/studio/client/_app/immutable/nodes/0.DCVNvTmX.js.br +0 -0
  120. package/studio/client/_app/immutable/nodes/0.DCVNvTmX.js.gz +0 -0
  121. package/studio/client/_app/immutable/nodes/{1.BiD305mI.js → 1.CmRLDilw.js} +1 -1
  122. package/studio/client/_app/immutable/nodes/1.CmRLDilw.js.br +0 -0
  123. package/studio/client/_app/immutable/nodes/1.CmRLDilw.js.gz +0 -0
  124. package/studio/client/_app/immutable/nodes/{10.CU1-ee2m.js → 10.DvnkCrU8.js} +1 -1
  125. package/studio/client/_app/immutable/nodes/10.DvnkCrU8.js.br +0 -0
  126. package/studio/client/_app/immutable/nodes/10.DvnkCrU8.js.gz +0 -0
  127. package/studio/client/_app/immutable/nodes/{11.CXaXEirJ.js → 11.BAjtxHy1.js} +1 -1
  128. package/studio/client/_app/immutable/nodes/11.BAjtxHy1.js.br +0 -0
  129. package/studio/client/_app/immutable/nodes/11.BAjtxHy1.js.gz +0 -0
  130. package/studio/client/_app/immutable/nodes/{12.DJvy6gDY.js → 12.BvB64zm8.js} +1 -1
  131. package/studio/client/_app/immutable/nodes/12.BvB64zm8.js.br +0 -0
  132. package/studio/client/_app/immutable/nodes/12.BvB64zm8.js.gz +0 -0
  133. package/studio/client/_app/immutable/nodes/{13.nfg2db27.js → 13.CH78fVPf.js} +1 -1
  134. package/studio/client/_app/immutable/nodes/13.CH78fVPf.js.br +0 -0
  135. package/studio/client/_app/immutable/nodes/13.CH78fVPf.js.gz +0 -0
  136. package/studio/client/_app/immutable/nodes/{14.Bs2fSwa1.js → 14.8vuEBoqV.js} +1 -1
  137. package/studio/client/_app/immutable/nodes/14.8vuEBoqV.js.br +0 -0
  138. package/studio/client/_app/immutable/nodes/14.8vuEBoqV.js.gz +0 -0
  139. package/studio/client/_app/immutable/nodes/{15.a3Pos74G.js → 15.3i0moZ5H.js} +1 -1
  140. package/studio/client/_app/immutable/nodes/15.3i0moZ5H.js.br +0 -0
  141. package/studio/client/_app/immutable/nodes/15.3i0moZ5H.js.gz +0 -0
  142. package/studio/client/_app/immutable/nodes/{16.2YL4xuJ4.js → 16.ybGyftC8.js} +1 -1
  143. package/studio/client/_app/immutable/nodes/16.ybGyftC8.js.br +0 -0
  144. package/studio/client/_app/immutable/nodes/16.ybGyftC8.js.gz +0 -0
  145. package/studio/client/_app/immutable/nodes/{17.CqCSgqIN.js → 17.CYzrPCDa.js} +1 -1
  146. package/studio/client/_app/immutable/nodes/17.CYzrPCDa.js.br +0 -0
  147. package/studio/client/_app/immutable/nodes/17.CYzrPCDa.js.gz +0 -0
  148. package/studio/client/_app/immutable/nodes/{18.5G3YRxMR.js → 18.DirIc_Wy.js} +1 -1
  149. package/studio/client/_app/immutable/nodes/18.DirIc_Wy.js.br +0 -0
  150. package/studio/client/_app/immutable/nodes/18.DirIc_Wy.js.gz +0 -0
  151. package/studio/client/_app/immutable/nodes/{19.Bu8-dRJn.js → 19.DUsQT7pl.js} +1 -1
  152. package/studio/client/_app/immutable/nodes/19.DUsQT7pl.js.br +0 -0
  153. package/studio/client/_app/immutable/nodes/19.DUsQT7pl.js.gz +0 -0
  154. package/studio/client/_app/immutable/nodes/{20.CIMlHVKg.js → 20.DXvj9EYW.js} +3 -3
  155. package/studio/client/_app/immutable/nodes/20.DXvj9EYW.js.br +0 -0
  156. package/studio/client/_app/immutable/nodes/20.DXvj9EYW.js.gz +0 -0
  157. package/studio/client/_app/immutable/nodes/{21.CqSlHdIO.js → 21.BeF6Us05.js} +1 -1
  158. package/studio/client/_app/immutable/nodes/21.BeF6Us05.js.br +0 -0
  159. package/studio/client/_app/immutable/nodes/21.BeF6Us05.js.gz +0 -0
  160. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js +8 -0
  161. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js.br +0 -0
  162. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js.gz +0 -0
  163. package/studio/client/_app/immutable/nodes/{3.C68UMDpf.js → 3.67JEtVr_.js} +1 -1
  164. package/studio/client/_app/immutable/nodes/3.67JEtVr_.js.br +0 -0
  165. package/studio/client/_app/immutable/nodes/3.67JEtVr_.js.gz +0 -0
  166. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js +1 -0
  167. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js.br +0 -0
  168. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js.gz +0 -0
  169. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js +87 -0
  170. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js.br +0 -0
  171. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js.gz +0 -0
  172. package/studio/client/_app/immutable/nodes/{4.BXcrgjpJ.js → 4.eLOMf6Qo.js} +1 -1
  173. package/studio/client/_app/immutable/nodes/4.eLOMf6Qo.js.br +0 -0
  174. package/studio/client/_app/immutable/nodes/4.eLOMf6Qo.js.gz +0 -0
  175. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js +15 -0
  176. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js.br +0 -0
  177. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js.gz +0 -0
  178. package/studio/client/_app/immutable/nodes/{41.CnqWY7Jk.js → 41.Ch6s5Jij.js} +1 -1
  179. package/studio/client/_app/immutable/nodes/41.Ch6s5Jij.js.br +0 -0
  180. package/studio/client/_app/immutable/nodes/41.Ch6s5Jij.js.gz +0 -0
  181. package/studio/client/_app/immutable/nodes/{42.CReCUw0y.js → 42.BAbXjzhO.js} +1 -1
  182. package/studio/client/_app/immutable/nodes/42.BAbXjzhO.js.br +0 -0
  183. package/studio/client/_app/immutable/nodes/42.BAbXjzhO.js.gz +0 -0
  184. package/studio/client/_app/immutable/nodes/{43.1HRdsmVg.js → 43.Ne1IVEDF.js} +1 -1
  185. package/studio/client/_app/immutable/nodes/43.Ne1IVEDF.js.br +0 -0
  186. package/studio/client/_app/immutable/nodes/43.Ne1IVEDF.js.gz +0 -0
  187. package/studio/client/_app/immutable/nodes/{44.Cm4deKzT.js → 44.CKWbCt6x.js} +1 -1
  188. package/studio/client/_app/immutable/nodes/44.CKWbCt6x.js.br +0 -0
  189. package/studio/client/_app/immutable/nodes/44.CKWbCt6x.js.gz +0 -0
  190. package/studio/client/_app/immutable/nodes/{45.C7eW4xJw.js → 45.HDl54cUB.js} +1 -1
  191. package/studio/client/_app/immutable/nodes/45.HDl54cUB.js.br +0 -0
  192. package/studio/client/_app/immutable/nodes/45.HDl54cUB.js.gz +0 -0
  193. package/studio/client/_app/immutable/nodes/{46.DNoqu48d.js → 46.BWaTn38i.js} +1 -1
  194. package/studio/client/_app/immutable/nodes/46.BWaTn38i.js.br +0 -0
  195. package/studio/client/_app/immutable/nodes/46.BWaTn38i.js.gz +0 -0
  196. package/studio/client/_app/immutable/nodes/{47.Kd91VHB_.js → 47.DiBh5wV2.js} +1 -1
  197. package/studio/client/_app/immutable/nodes/47.DiBh5wV2.js.br +0 -0
  198. package/studio/client/_app/immutable/nodes/47.DiBh5wV2.js.gz +0 -0
  199. package/studio/client/_app/immutable/nodes/{48.kXm-0_dx.js → 48.DHcyKz51.js} +1 -1
  200. package/studio/client/_app/immutable/nodes/48.DHcyKz51.js.br +0 -0
  201. package/studio/client/_app/immutable/nodes/48.DHcyKz51.js.gz +0 -0
  202. package/studio/client/_app/immutable/nodes/{49.Baeo5x8O.js → 49.BTfgPgiN.js} +1 -1
  203. package/studio/client/_app/immutable/nodes/49.BTfgPgiN.js.br +0 -0
  204. package/studio/client/_app/immutable/nodes/49.BTfgPgiN.js.gz +0 -0
  205. package/studio/client/_app/immutable/nodes/{5.BXcrgjpJ.js → 5.eLOMf6Qo.js} +1 -1
  206. package/studio/client/_app/immutable/nodes/5.eLOMf6Qo.js.br +0 -0
  207. package/studio/client/_app/immutable/nodes/5.eLOMf6Qo.js.gz +0 -0
  208. package/studio/client/_app/immutable/nodes/{7.0ElBSij4.js → 7.CRQTtQRR.js} +1 -1
  209. package/studio/client/_app/immutable/nodes/7.CRQTtQRR.js.br +0 -0
  210. package/studio/client/_app/immutable/nodes/7.CRQTtQRR.js.gz +0 -0
  211. package/studio/client/_app/immutable/nodes/{8.Cf03UWeS.js → 8.024dj7aw.js} +1 -1
  212. package/studio/client/_app/immutable/nodes/8.024dj7aw.js.br +0 -0
  213. package/studio/client/_app/immutable/nodes/8.024dj7aw.js.gz +0 -0
  214. package/studio/client/_app/immutable/nodes/{9.BCt9tK8K.js → 9.DgfRy3qm.js} +1 -1
  215. package/studio/client/_app/immutable/nodes/9.DgfRy3qm.js.br +0 -0
  216. package/studio/client/_app/immutable/nodes/9.DgfRy3qm.js.gz +0 -0
  217. package/studio/client/_app/version.json +1 -1
  218. package/studio/client/_app/version.json.br +0 -0
  219. package/studio/client/_app/version.json.gz +0 -0
  220. package/studio/prerendered/docs/api/errors.html +37 -37
  221. package/studio/prerendered/docs/api/errors.html.br +0 -0
  222. package/studio/prerendered/docs/api/errors.html.gz +0 -0
  223. package/studio/prerendered/docs/api/projects.html +37 -37
  224. package/studio/prerendered/docs/api/projects.html.br +0 -0
  225. package/studio/prerendered/docs/api/projects.html.gz +0 -0
  226. package/studio/prerendered/docs/api/renders.html +37 -37
  227. package/studio/prerendered/docs/api/renders.html.br +0 -0
  228. package/studio/prerendered/docs/api/renders.html.gz +0 -0
  229. package/studio/prerendered/docs/api/templates.html +37 -37
  230. package/studio/prerendered/docs/api/templates.html.br +0 -0
  231. package/studio/prerendered/docs/api/templates.html.gz +0 -0
  232. package/studio/prerendered/docs/api/webhooks.html +37 -37
  233. package/studio/prerendered/docs/api/webhooks.html.br +0 -0
  234. package/studio/prerendered/docs/api/webhooks.html.gz +0 -0
  235. package/studio/prerendered/docs/api.html +37 -37
  236. package/studio/prerendered/docs/api.html.br +0 -0
  237. package/studio/prerendered/docs/api.html.gz +0 -0
  238. package/studio/prerendered/docs/mcp/integrations/autogen.html +37 -37
  239. package/studio/prerendered/docs/mcp/integrations/autogen.html.br +0 -0
  240. package/studio/prerendered/docs/mcp/integrations/autogen.html.gz +0 -0
  241. package/studio/prerendered/docs/mcp/integrations/crewai.html +37 -37
  242. package/studio/prerendered/docs/mcp/integrations/crewai.html.br +0 -0
  243. package/studio/prerendered/docs/mcp/integrations/crewai.html.gz +0 -0
  244. package/studio/prerendered/docs/mcp/integrations/dify.html +37 -37
  245. package/studio/prerendered/docs/mcp/integrations/dify.html.br +0 -0
  246. package/studio/prerendered/docs/mcp/integrations/dify.html.gz +0 -0
  247. package/studio/prerendered/docs/mcp/integrations/flowise.html +37 -37
  248. package/studio/prerendered/docs/mcp/integrations/flowise.html.br +0 -0
  249. package/studio/prerendered/docs/mcp/integrations/flowise.html.gz +0 -0
  250. package/studio/prerendered/docs/mcp/integrations/langchain.html +37 -37
  251. package/studio/prerendered/docs/mcp/integrations/langchain.html.br +0 -0
  252. package/studio/prerendered/docs/mcp/integrations/langchain.html.gz +0 -0
  253. package/studio/prerendered/docs/mcp/integrations/llamaindex.html +37 -37
  254. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.br +0 -0
  255. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.gz +0 -0
  256. package/studio/prerendered/docs/mcp/integrations/make.html +37 -37
  257. package/studio/prerendered/docs/mcp/integrations/make.html.br +0 -0
  258. package/studio/prerendered/docs/mcp/integrations/make.html.gz +0 -0
  259. package/studio/prerendered/docs/mcp/integrations/n8n.html +37 -37
  260. package/studio/prerendered/docs/mcp/integrations/n8n.html.br +0 -0
  261. package/studio/prerendered/docs/mcp/integrations/n8n.html.gz +0 -0
  262. package/studio/prerendered/docs/mcp/integrations.html +37 -37
  263. package/studio/prerendered/docs/mcp/integrations.html.br +0 -0
  264. package/studio/prerendered/docs/mcp/integrations.html.gz +0 -0
  265. package/studio/prerendered/docs/mcp/plans.html +39 -39
  266. package/studio/prerendered/docs/mcp/plans.html.br +0 -0
  267. package/studio/prerendered/docs/mcp/plans.html.gz +0 -0
  268. package/studio/prerendered/docs/mcp/reference.html +57 -49
  269. package/studio/prerendered/docs/mcp/reference.html.br +0 -0
  270. package/studio/prerendered/docs/mcp/reference.html.gz +0 -0
  271. package/studio/prerendered/docs/mcp/setup.html +41 -41
  272. package/studio/prerendered/docs/mcp/setup.html.br +0 -0
  273. package/studio/prerendered/docs/mcp/setup.html.gz +0 -0
  274. package/studio/prerendered/docs/mcp.html +41 -41
  275. package/studio/prerendered/docs/mcp.html.br +0 -0
  276. package/studio/prerendered/docs/mcp.html.gz +0 -0
  277. package/studio/prerendered/docs.html +36 -36
  278. package/studio/prerendered/docs.html.br +0 -0
  279. package/studio/prerendered/docs.html.gz +0 -0
  280. package/studio/prerendered/dub/arabic.html +35 -35
  281. package/studio/prerendered/dub/arabic.html.br +0 -0
  282. package/studio/prerendered/dub/arabic.html.gz +0 -0
  283. package/studio/prerendered/dub/chinese-simplified.html +35 -35
  284. package/studio/prerendered/dub/chinese-simplified.html.br +0 -0
  285. package/studio/prerendered/dub/chinese-simplified.html.gz +0 -0
  286. package/studio/prerendered/dub/dutch.html +35 -35
  287. package/studio/prerendered/dub/dutch.html.br +0 -0
  288. package/studio/prerendered/dub/dutch.html.gz +0 -0
  289. package/studio/prerendered/dub/french.html +35 -35
  290. package/studio/prerendered/dub/french.html.br +0 -0
  291. package/studio/prerendered/dub/french.html.gz +0 -0
  292. package/studio/prerendered/dub/german.html +35 -35
  293. package/studio/prerendered/dub/german.html.br +0 -0
  294. package/studio/prerendered/dub/german.html.gz +0 -0
  295. package/studio/prerendered/dub/hindi.html +35 -35
  296. package/studio/prerendered/dub/hindi.html.br +0 -0
  297. package/studio/prerendered/dub/hindi.html.gz +0 -0
  298. package/studio/prerendered/dub/italian.html +35 -35
  299. package/studio/prerendered/dub/italian.html.br +0 -0
  300. package/studio/prerendered/dub/italian.html.gz +0 -0
  301. package/studio/prerendered/dub/japanese.html +35 -35
  302. package/studio/prerendered/dub/japanese.html.br +0 -0
  303. package/studio/prerendered/dub/japanese.html.gz +0 -0
  304. package/studio/prerendered/dub/korean.html +35 -35
  305. package/studio/prerendered/dub/korean.html.br +0 -0
  306. package/studio/prerendered/dub/korean.html.gz +0 -0
  307. package/studio/prerendered/dub/polish.html +35 -35
  308. package/studio/prerendered/dub/polish.html.br +0 -0
  309. package/studio/prerendered/dub/polish.html.gz +0 -0
  310. package/studio/prerendered/dub/portuguese.html +35 -35
  311. package/studio/prerendered/dub/portuguese.html.br +0 -0
  312. package/studio/prerendered/dub/portuguese.html.gz +0 -0
  313. package/studio/prerendered/dub/spanish.html +35 -35
  314. package/studio/prerendered/dub/spanish.html.br +0 -0
  315. package/studio/prerendered/dub/spanish.html.gz +0 -0
  316. package/studio/prerendered/sitemap.xml +90 -90
  317. package/studio/prerendered/sitemap.xml.br +0 -0
  318. package/studio/prerendered/sitemap.xml.gz +0 -0
  319. package/studio/prerendered/tools/add-captions/instagram.html +35 -35
  320. package/studio/prerendered/tools/add-captions/instagram.html.br +0 -0
  321. package/studio/prerendered/tools/add-captions/instagram.html.gz +0 -0
  322. package/studio/prerendered/tools/add-captions/linkedin.html +35 -35
  323. package/studio/prerendered/tools/add-captions/linkedin.html.br +0 -0
  324. package/studio/prerendered/tools/add-captions/linkedin.html.gz +0 -0
  325. package/studio/prerendered/tools/add-captions/tiktok.html +35 -35
  326. package/studio/prerendered/tools/add-captions/tiktok.html.br +0 -0
  327. package/studio/prerendered/tools/add-captions/tiktok.html.gz +0 -0
  328. package/studio/prerendered/tools/add-captions/twitter-x.html +35 -35
  329. package/studio/prerendered/tools/add-captions/twitter-x.html.br +0 -0
  330. package/studio/prerendered/tools/add-captions/twitter-x.html.gz +0 -0
  331. package/studio/prerendered/tools/add-captions/youtube.html +35 -35
  332. package/studio/prerendered/tools/add-captions/youtube.html.br +0 -0
  333. package/studio/prerendered/tools/add-captions/youtube.html.gz +0 -0
  334. package/studio/prerendered/tools/add-captions.html +39 -39
  335. package/studio/prerendered/tools/add-captions.html.br +0 -0
  336. package/studio/prerendered/tools/add-captions.html.gz +0 -0
  337. package/studio/prerendered/tools/auto-cut/linkedin.html +35 -35
  338. package/studio/prerendered/tools/auto-cut/linkedin.html.br +0 -0
  339. package/studio/prerendered/tools/auto-cut/linkedin.html.gz +0 -0
  340. package/studio/prerendered/tools/auto-cut/podcast.html +35 -35
  341. package/studio/prerendered/tools/auto-cut/podcast.html.br +0 -0
  342. package/studio/prerendered/tools/auto-cut/podcast.html.gz +0 -0
  343. package/studio/prerendered/tools/auto-cut/tiktok.html +35 -35
  344. package/studio/prerendered/tools/auto-cut/tiktok.html.br +0 -0
  345. package/studio/prerendered/tools/auto-cut/tiktok.html.gz +0 -0
  346. package/studio/prerendered/tools/auto-cut/youtube.html +35 -35
  347. package/studio/prerendered/tools/auto-cut/youtube.html.br +0 -0
  348. package/studio/prerendered/tools/auto-cut/youtube.html.gz +0 -0
  349. package/studio/prerendered/tools/auto-cut.html +39 -39
  350. package/studio/prerendered/tools/auto-cut.html.br +0 -0
  351. package/studio/prerendered/tools/auto-cut.html.gz +0 -0
  352. package/studio/prerendered/tools/generate-video/instagram.html +35 -35
  353. package/studio/prerendered/tools/generate-video/instagram.html.br +0 -0
  354. package/studio/prerendered/tools/generate-video/instagram.html.gz +0 -0
  355. package/studio/prerendered/tools/generate-video/tiktok.html +35 -35
  356. package/studio/prerendered/tools/generate-video/tiktok.html.br +0 -0
  357. package/studio/prerendered/tools/generate-video/tiktok.html.gz +0 -0
  358. package/studio/prerendered/tools/generate-video/twitter-x.html +35 -35
  359. package/studio/prerendered/tools/generate-video/twitter-x.html.br +0 -0
  360. package/studio/prerendered/tools/generate-video/twitter-x.html.gz +0 -0
  361. package/studio/prerendered/tools/generate-video/youtube.html +35 -35
  362. package/studio/prerendered/tools/generate-video/youtube.html.br +0 -0
  363. package/studio/prerendered/tools/generate-video/youtube.html.gz +0 -0
  364. package/studio/prerendered/tools/generate-video.html +39 -39
  365. package/studio/prerendered/tools/generate-video.html.br +0 -0
  366. package/studio/prerendered/tools/generate-video.html.gz +0 -0
  367. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html +35 -35
  368. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.br +0 -0
  369. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.gz +0 -0
  370. package/studio/prerendered/tools/laptop-3d-intro/saas.html +35 -35
  371. package/studio/prerendered/tools/laptop-3d-intro/saas.html.br +0 -0
  372. package/studio/prerendered/tools/laptop-3d-intro/saas.html.gz +0 -0
  373. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html +35 -35
  374. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.br +0 -0
  375. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.gz +0 -0
  376. package/studio/prerendered/tools/laptop-3d-intro/youtube.html +35 -35
  377. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.br +0 -0
  378. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.gz +0 -0
  379. package/studio/prerendered/tools/laptop-3d-intro.html +39 -39
  380. package/studio/prerendered/tools/laptop-3d-intro.html.br +0 -0
  381. package/studio/prerendered/tools/laptop-3d-intro.html.gz +0 -0
  382. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html +35 -35
  383. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.br +0 -0
  384. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.gz +0 -0
  385. package/studio/prerendered/tools/screen-webcam-demo/saas.html +35 -35
  386. package/studio/prerendered/tools/screen-webcam-demo/saas.html.br +0 -0
  387. package/studio/prerendered/tools/screen-webcam-demo/saas.html.gz +0 -0
  388. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html +35 -35
  389. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.br +0 -0
  390. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.gz +0 -0
  391. package/studio/prerendered/tools/screen-webcam-demo/youtube.html +35 -35
  392. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.br +0 -0
  393. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.gz +0 -0
  394. package/studio/prerendered/tools/screen-webcam-demo.html +39 -39
  395. package/studio/prerendered/tools/screen-webcam-demo.html.br +0 -0
  396. package/studio/prerendered/tools/screen-webcam-demo.html.gz +0 -0
  397. package/studio/prerendered/tools/screenshot-to-social/facebook.html +35 -35
  398. package/studio/prerendered/tools/screenshot-to-social/facebook.html.br +0 -0
  399. package/studio/prerendered/tools/screenshot-to-social/facebook.html.gz +0 -0
  400. package/studio/prerendered/tools/screenshot-to-social/instagram.html +35 -35
  401. package/studio/prerendered/tools/screenshot-to-social/instagram.html.br +0 -0
  402. package/studio/prerendered/tools/screenshot-to-social/instagram.html.gz +0 -0
  403. package/studio/prerendered/tools/screenshot-to-social/linkedin.html +35 -35
  404. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.br +0 -0
  405. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.gz +0 -0
  406. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html +35 -35
  407. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.br +0 -0
  408. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.gz +0 -0
  409. package/studio/prerendered/tools/screenshot-to-social.html +39 -39
  410. package/studio/prerendered/tools/screenshot-to-social.html.br +0 -0
  411. package/studio/prerendered/tools/screenshot-to-social.html.gz +0 -0
  412. package/studio/prerendered/tools/translate-video/instagram.html +35 -35
  413. package/studio/prerendered/tools/translate-video/instagram.html.br +0 -0
  414. package/studio/prerendered/tools/translate-video/instagram.html.gz +0 -0
  415. package/studio/prerendered/tools/translate-video/linkedin.html +35 -35
  416. package/studio/prerendered/tools/translate-video/linkedin.html.br +0 -0
  417. package/studio/prerendered/tools/translate-video/linkedin.html.gz +0 -0
  418. package/studio/prerendered/tools/translate-video/tiktok.html +35 -35
  419. package/studio/prerendered/tools/translate-video/tiktok.html.br +0 -0
  420. package/studio/prerendered/tools/translate-video/tiktok.html.gz +0 -0
  421. package/studio/prerendered/tools/translate-video/youtube.html +35 -35
  422. package/studio/prerendered/tools/translate-video/youtube.html.br +0 -0
  423. package/studio/prerendered/tools/translate-video/youtube.html.gz +0 -0
  424. package/studio/prerendered/tools/translate-video.html +39 -39
  425. package/studio/prerendered/tools/translate-video.html.br +0 -0
  426. package/studio/prerendered/tools/translate-video.html.gz +0 -0
  427. package/studio/prerendered/tools/video-beautifier.html +39 -39
  428. package/studio/prerendered/tools/video-beautifier.html.br +0 -0
  429. package/studio/prerendered/tools/video-beautifier.html.gz +0 -0
  430. package/studio/prerendered/tools/video-to-browser/linkedin.html +35 -35
  431. package/studio/prerendered/tools/video-to-browser/linkedin.html.br +0 -0
  432. package/studio/prerendered/tools/video-to-browser/linkedin.html.gz +0 -0
  433. package/studio/prerendered/tools/video-to-browser/saas.html +35 -35
  434. package/studio/prerendered/tools/video-to-browser/saas.html.br +0 -0
  435. package/studio/prerendered/tools/video-to-browser/saas.html.gz +0 -0
  436. package/studio/prerendered/tools/video-to-browser/twitter-x.html +35 -35
  437. package/studio/prerendered/tools/video-to-browser/twitter-x.html.br +0 -0
  438. package/studio/prerendered/tools/video-to-browser/twitter-x.html.gz +0 -0
  439. package/studio/prerendered/tools/video-to-browser/youtube.html +35 -35
  440. package/studio/prerendered/tools/video-to-browser/youtube.html.br +0 -0
  441. package/studio/prerendered/tools/video-to-browser/youtube.html.gz +0 -0
  442. package/studio/prerendered/tools/video-to-browser.html +39 -39
  443. package/studio/prerendered/tools/video-to-browser.html.br +0 -0
  444. package/studio/prerendered/tools/video-to-browser.html.gz +0 -0
  445. package/studio/prerendered/tools/video-to-phone.html +39 -39
  446. package/studio/prerendered/tools/video-to-phone.html.br +0 -0
  447. package/studio/prerendered/tools/video-to-phone.html.gz +0 -0
  448. package/studio/prerendered/vs/canva.html +35 -35
  449. package/studio/prerendered/vs/canva.html.br +0 -0
  450. package/studio/prerendered/vs/canva.html.gz +0 -0
  451. package/studio/prerendered/vs/captions-ai.html +35 -35
  452. package/studio/prerendered/vs/captions-ai.html.br +0 -0
  453. package/studio/prerendered/vs/captions-ai.html.gz +0 -0
  454. package/studio/prerendered/vs/clipchamp.html +35 -35
  455. package/studio/prerendered/vs/clipchamp.html.br +0 -0
  456. package/studio/prerendered/vs/clipchamp.html.gz +0 -0
  457. package/studio/prerendered/vs/descript.html +35 -35
  458. package/studio/prerendered/vs/descript.html.br +0 -0
  459. package/studio/prerendered/vs/descript.html.gz +0 -0
  460. package/studio/prerendered/vs/kapwing.html +35 -35
  461. package/studio/prerendered/vs/kapwing.html.br +0 -0
  462. package/studio/prerendered/vs/kapwing.html.gz +0 -0
  463. package/studio/prerendered/vs/runway.html +35 -35
  464. package/studio/prerendered/vs/runway.html.br +0 -0
  465. package/studio/prerendered/vs/runway.html.gz +0 -0
  466. package/studio/prerendered/vs/submagic.html +35 -35
  467. package/studio/prerendered/vs/submagic.html.br +0 -0
  468. package/studio/prerendered/vs/submagic.html.gz +0 -0
  469. package/studio/prerendered/vs/veed.html +35 -35
  470. package/studio/prerendered/vs/veed.html.br +0 -0
  471. package/studio/prerendered/vs/veed.html.gz +0 -0
  472. package/studio/server/chunks/{0-DOWdCfPF.js → 0-Cc3gAS4p.js} +3 -3
  473. package/studio/server/chunks/{0-DOWdCfPF.js.map → 0-Cc3gAS4p.js.map} +1 -1
  474. package/studio/server/chunks/{1-D-sODN7x.js → 1-Dy_seaNI.js} +3 -3
  475. package/studio/server/chunks/{1-D-sODN7x.js.map → 1-Dy_seaNI.js.map} +1 -1
  476. package/studio/server/chunks/{11-Kh4ZWG_u.js → 11-C-PlF7Yv.js} +3 -3
  477. package/studio/server/chunks/{11-Kh4ZWG_u.js.map → 11-C-PlF7Yv.js.map} +1 -1
  478. package/studio/server/chunks/12-B7uLHwvO.js +9 -0
  479. package/studio/server/chunks/{12-uBBeSc-D.js.map → 12-B7uLHwvO.js.map} +1 -1
  480. package/studio/server/chunks/{13-Cpwv17_m.js → 13-FQtKQJ-7.js} +3 -3
  481. package/studio/server/chunks/{13-Cpwv17_m.js.map → 13-FQtKQJ-7.js.map} +1 -1
  482. package/studio/server/chunks/{14-DLhMIjy9.js → 14-jUAG5g6M.js} +6 -6
  483. package/studio/server/chunks/{14-DLhMIjy9.js.map → 14-jUAG5g6M.js.map} +1 -1
  484. package/studio/server/chunks/15-DUIb5U44.js +9 -0
  485. package/studio/server/chunks/{15-BP_ppf1w.js.map → 15-DUIb5U44.js.map} +1 -1
  486. package/studio/server/chunks/{16-CMimocs1.js → 16-BzVGx3U6.js} +3 -3
  487. package/studio/server/chunks/{16-CMimocs1.js.map → 16-BzVGx3U6.js.map} +1 -1
  488. package/studio/server/chunks/{17-CMQkb2J8.js → 17-D3oJTqf1.js} +3 -3
  489. package/studio/server/chunks/{17-CMQkb2J8.js.map → 17-D3oJTqf1.js.map} +1 -1
  490. package/studio/server/chunks/{18-DNvmtMLm.js → 18--CWW_sDL.js} +3 -3
  491. package/studio/server/chunks/{18-DNvmtMLm.js.map → 18--CWW_sDL.js.map} +1 -1
  492. package/studio/server/chunks/{19-D3jZiT6F.js → 19-DSQzx8mL.js} +3 -3
  493. package/studio/server/chunks/{19-D3jZiT6F.js.map → 19-DSQzx8mL.js.map} +1 -1
  494. package/studio/server/chunks/{20-C_7PzJ-k.js → 20-CbA0jAC4.js} +10 -10
  495. package/studio/server/chunks/{20-C_7PzJ-k.js.map → 20-CbA0jAC4.js.map} +1 -1
  496. package/studio/server/chunks/{3-H6DpF4Gm.js → 3-BnsefNYJ.js} +3 -3
  497. package/studio/server/chunks/{3-H6DpF4Gm.js.map → 3-BnsefNYJ.js.map} +1 -1
  498. package/studio/server/chunks/{4-CH3AFp_j.js → 4-BFZzAEZB.js} +3 -3
  499. package/studio/server/chunks/{4-CH3AFp_j.js.map → 4-BFZzAEZB.js.map} +1 -1
  500. package/studio/server/chunks/{42-BK4t4w08.js → 42-DHbIooHl.js} +5 -5
  501. package/studio/server/chunks/{42-BK4t4w08.js.map → 42-DHbIooHl.js.map} +1 -1
  502. package/studio/server/chunks/{43-GpQMIQ4V.js → 43-C20K_snF.js} +2 -2
  503. package/studio/server/chunks/{43-GpQMIQ4V.js.map → 43-C20K_snF.js.map} +1 -1
  504. package/studio/server/chunks/{44-DuFvG15Y.js → 44-DUpi4_LQ.js} +2 -2
  505. package/studio/server/chunks/{44-DuFvG15Y.js.map → 44-DUpi4_LQ.js.map} +1 -1
  506. package/studio/server/chunks/{45-DrdyRtqi.js → 45-CFKMCBYR.js} +9 -9
  507. package/studio/server/chunks/{45-DrdyRtqi.js.map → 45-CFKMCBYR.js.map} +1 -1
  508. package/studio/server/chunks/{49-DfMUPYpH.js → 49-BvE0PuF1.js} +3 -3
  509. package/studio/server/chunks/{49-DfMUPYpH.js.map → 49-BvE0PuF1.js.map} +1 -1
  510. package/studio/server/chunks/{5-_LlYrHzn.js → 5-DuItAkOP.js} +3 -3
  511. package/studio/server/chunks/{5-_LlYrHzn.js.map → 5-DuItAkOP.js.map} +1 -1
  512. package/studio/server/chunks/{7-SeoncTYc.js → 7-BeUSj9VF.js} +3 -3
  513. package/studio/server/chunks/{7-SeoncTYc.js.map → 7-BeUSj9VF.js.map} +1 -1
  514. package/studio/server/chunks/{_error.svelte-HivZOiX5.js → _error.svelte-BIkhG8Bl.js} +4 -4
  515. package/studio/server/chunks/{_error.svelte-HivZOiX5.js.map → _error.svelte-BIkhG8Bl.js.map} +1 -1
  516. package/studio/server/chunks/{_error.svelte-JH2-_uOf.js → _error.svelte-DQwSbmbb.js} +4 -4
  517. package/studio/server/chunks/{_error.svelte-JH2-_uOf.js.map → _error.svelte-DQwSbmbb.js.map} +1 -1
  518. package/studio/server/chunks/{_layout.svelte-C4r3six5.js → _layout.svelte-B29Y9n_L.js} +9 -9
  519. package/studio/server/chunks/{_layout.svelte-C4r3six5.js.map → _layout.svelte-B29Y9n_L.js.map} +1 -1
  520. package/studio/server/chunks/{_layout.svelte-dTuB307D.js → _layout.svelte-BKK87LsB.js} +4 -4
  521. package/studio/server/chunks/{_layout.svelte-dTuB307D.js.map → _layout.svelte-BKK87LsB.js.map} +1 -1
  522. package/studio/server/chunks/{_layout.svelte-CK5WGwFD.js → _layout.svelte-CZb-RhuT.js} +4 -4
  523. package/studio/server/chunks/{_layout.svelte-CK5WGwFD.js.map → _layout.svelte-CZb-RhuT.js.map} +1 -1
  524. package/studio/server/chunks/{_layout.svelte-P2elwndT.js → _layout.svelte-IxoznuZ0.js} +4 -4
  525. package/studio/server/chunks/{_layout.svelte-P2elwndT.js.map → _layout.svelte-IxoznuZ0.js.map} +1 -1
  526. package/studio/server/chunks/{_page.svelte-B7tkn2Ph.js → _page.svelte-BvoL-bXn.js} +8 -8
  527. package/studio/server/chunks/{_page.svelte-B7tkn2Ph.js.map → _page.svelte-BvoL-bXn.js.map} +1 -1
  528. package/studio/server/chunks/{_page.svelte-BRwARESy.js → _page.svelte-CGbWID4q.js} +3 -3
  529. package/studio/server/chunks/{_page.svelte-BRwARESy.js.map → _page.svelte-CGbWID4q.js.map} +1 -1
  530. package/studio/server/chunks/{_page.svelte-DzxSL0nM.js → _page.svelte-CMd632BW.js} +4 -4
  531. package/studio/server/chunks/{_page.svelte-DzxSL0nM.js.map → _page.svelte-CMd632BW.js.map} +1 -1
  532. package/studio/server/chunks/{_page.svelte-DL5VUL2M.js → _page.svelte-CPIUO0kA.js} +14 -14
  533. package/studio/server/chunks/_page.svelte-CPIUO0kA.js.map +1 -0
  534. package/studio/server/chunks/{_page.svelte-B-1o_hJa.js → _page.svelte-CrvloRjt.js} +5 -5
  535. package/studio/server/chunks/{_page.svelte-B-1o_hJa.js.map → _page.svelte-CrvloRjt.js.map} +1 -1
  536. package/studio/server/chunks/{_page.svelte-TEKTbLZa.js → _page.svelte-DMWYoqJ8.js} +11 -11
  537. package/studio/server/chunks/{_page.svelte-TEKTbLZa.js.map → _page.svelte-DMWYoqJ8.js.map} +1 -1
  538. package/studio/server/chunks/{_page.svelte-Crbq-RQR.js → _page.svelte-DTFNMwgk.js} +3 -3
  539. package/studio/server/chunks/{_page.svelte-Crbq-RQR.js.map → _page.svelte-DTFNMwgk.js.map} +1 -1
  540. package/studio/server/chunks/{_page.svelte-DlZ4-4_n.js → _page.svelte-Jhz3hTCU.js} +3 -3
  541. package/studio/server/chunks/{_page.svelte-DlZ4-4_n.js.map → _page.svelte-Jhz3hTCU.js.map} +1 -1
  542. package/studio/server/chunks/{_page.svelte-Cej1g10R.js → _page.svelte-LLHpU2-z.js} +4 -4
  543. package/studio/server/chunks/{_page.svelte-Cej1g10R.js.map → _page.svelte-LLHpU2-z.js.map} +1 -1
  544. package/studio/server/chunks/{_page.svelte-AWvEPqBz.js → _page.svelte-fr6sX58S.js} +3 -3
  545. package/studio/server/chunks/{_page.svelte-AWvEPqBz.js.map → _page.svelte-fr6sX58S.js.map} +1 -1
  546. package/studio/server/chunks/{_page.svelte-nkmZl411.js → _page.svelte-t-uIDVqj.js} +14 -14
  547. package/studio/server/chunks/{_page.svelte-nkmZl411.js.map → _page.svelte-t-uIDVqj.js.map} +1 -1
  548. package/studio/server/chunks/{_server.ts-mvjqGClb.js → _server.ts-BMsrWCvH.js} +4 -4
  549. package/studio/server/chunks/{_server.ts-mvjqGClb.js.map → _server.ts-BMsrWCvH.js.map} +1 -1
  550. package/studio/server/chunks/{_server.ts-lTHmffuh.js → _server.ts-Bfy5UxAZ.js} +8 -8
  551. package/studio/server/chunks/{_server.ts-lTHmffuh.js.map → _server.ts-Bfy5UxAZ.js.map} +1 -1
  552. package/studio/server/chunks/{_server.ts-DgV-51XA.js → _server.ts-C-Otl0N2.js} +4 -4
  553. package/studio/server/chunks/{_server.ts-DgV-51XA.js.map → _server.ts-C-Otl0N2.js.map} +1 -1
  554. package/studio/server/chunks/{_server.ts-Bh9NAMbD.js → _server.ts-C3MeWQr0.js} +8 -8
  555. package/studio/server/chunks/{_server.ts-Bh9NAMbD.js.map → _server.ts-C3MeWQr0.js.map} +1 -1
  556. package/studio/server/chunks/{_server.ts-BYg00n78.js → _server.ts-CQCxY40F.js} +4 -4
  557. package/studio/server/chunks/{_server.ts-BYg00n78.js.map → _server.ts-CQCxY40F.js.map} +1 -1
  558. package/studio/server/chunks/{_server.ts-BIAE6_O5.js → _server.ts-CQOxX_qB.js} +4 -4
  559. package/studio/server/chunks/{_server.ts-BIAE6_O5.js.map → _server.ts-CQOxX_qB.js.map} +1 -1
  560. package/studio/server/chunks/{_server.ts-D_6tL6BH.js → _server.ts-CiKcgEaL.js} +8 -8
  561. package/studio/server/chunks/{_server.ts-D_6tL6BH.js.map → _server.ts-CiKcgEaL.js.map} +1 -1
  562. package/studio/server/chunks/{_server.ts-CES6wlqB.js → _server.ts-DP7SAgei.js} +8 -8
  563. package/studio/server/chunks/{_server.ts-CES6wlqB.js.map → _server.ts-DP7SAgei.js.map} +1 -1
  564. package/studio/server/chunks/{_server.ts-OGjPqQGJ.js → _server.ts-yDmRIOn5.js} +4 -4
  565. package/studio/server/chunks/{_server.ts-OGjPqQGJ.js.map → _server.ts-yDmRIOn5.js.map} +1 -1
  566. package/studio/server/chunks/{admin.remote-Ck89cPry.js → admin.remote-D17hnijm.js} +2 -2
  567. package/studio/server/chunks/{admin.remote-Ck89cPry.js.map → admin.remote-D17hnijm.js.map} +1 -1
  568. package/studio/server/chunks/{alert-dialog-description-DhOIONCQ.js → alert-dialog-description-DMBX3SG1.js} +2 -2
  569. package/studio/server/chunks/{alert-dialog-description-DhOIONCQ.js.map → alert-dialog-description-DMBX3SG1.js.map} +1 -1
  570. package/studio/server/chunks/{app-header-B3sObtxm.js → app-header-BPMAiQDk.js} +2 -2
  571. package/studio/server/chunks/{app-header-B3sObtxm.js.map → app-header-BPMAiQDk.js.map} +1 -1
  572. package/studio/server/chunks/{auth-DnnZTcxQ.js → auth-ls2WXjAo.js} +9 -9
  573. package/studio/server/chunks/{auth-DnnZTcxQ.js.map → auth-ls2WXjAo.js.map} +1 -1
  574. package/studio/server/chunks/{auth.remote-wwIa4G1r.js → auth.remote-3OJFVn4Z.js} +2 -2
  575. package/studio/server/chunks/{auth.remote-wwIa4G1r.js.map → auth.remote-3OJFVn4Z.js.map} +1 -1
  576. package/studio/server/chunks/{bun-sqlite-dialect-C8OaCWSL-CzZPSzzi.js → bun-sqlite-dialect-C8OaCWSL-CarWKR8Y.js} +4 -4
  577. package/studio/server/chunks/{bun-sqlite-dialect-C8OaCWSL-CzZPSzzi.js.map → bun-sqlite-dialect-C8OaCWSL-CarWKR8Y.js.map} +1 -1
  578. package/studio/server/chunks/{client-BZjSn4EB.js → client-CR4cFjjD.js} +2 -2
  579. package/studio/server/chunks/{client-BZjSn4EB.js.map → client-CR4cFjjD.js.map} +1 -1
  580. package/studio/server/chunks/{d1-sqlite-dialect-sYHNqBte-BvLZmU_1.js → d1-sqlite-dialect-sYHNqBte-BXH49B9N.js} +4 -4
  581. package/studio/server/chunks/{d1-sqlite-dialect-sYHNqBte-BvLZmU_1.js.map → d1-sqlite-dialect-sYHNqBte-BXH49B9N.js.map} +1 -1
  582. package/studio/server/chunks/{desktop-bootstrap-1jXqwd-8.js → desktop-bootstrap-Cq_Cf_CC.js} +2 -2
  583. package/studio/server/chunks/{desktop-bootstrap-1jXqwd-8.js.map → desktop-bootstrap-Cq_Cf_CC.js.map} +1 -1
  584. package/studio/server/chunks/{editor.svelte-COCDMJMg.js → editor.svelte-BSuTDLkE.js} +2 -2
  585. package/studio/server/chunks/{editor.svelte-COCDMJMg.js.map → editor.svelte-BSuTDLkE.js.map} +1 -1
  586. package/studio/server/chunks/{hooks.server--Djv4p27.js → hooks.server-D_MLQB0H.js} +10 -10
  587. package/studio/server/chunks/{hooks.server--Djv4p27.js.map → hooks.server-D_MLQB0H.js.map} +1 -1
  588. package/studio/server/chunks/{index-CC0VmMfq.js → index-Dda1acrH.js} +3 -3
  589. package/studio/server/chunks/index-Dda1acrH.js.map +1 -0
  590. package/studio/server/chunks/{index-D_660nxW.js → index-WsxH4DMJ.js} +3 -3
  591. package/studio/server/chunks/index-WsxH4DMJ.js.map +1 -0
  592. package/studio/server/chunks/{index10-DRYKrT1x.js → index10-CgtHjrmv.js} +4 -4
  593. package/studio/server/chunks/{index10-DRYKrT1x.js.map → index10-CgtHjrmv.js.map} +1 -1
  594. package/studio/server/chunks/{index2-6MS8VnCO.js → index2-ChjmUsER.js} +2 -2
  595. package/studio/server/chunks/{index2-6MS8VnCO.js.map → index2-ChjmUsER.js.map} +1 -1
  596. package/studio/server/chunks/{index3-Ps7k-4f8.js → index3-ChXwYjat.js} +5 -5
  597. package/studio/server/chunks/index3-ChXwYjat.js.map +1 -0
  598. package/studio/server/chunks/{layout-template-D1Rliz3X.js → layout-template-DofrwsQ2.js} +3 -3
  599. package/studio/server/chunks/{layout-template-D1Rliz3X.js.map → layout-template-DofrwsQ2.js.map} +1 -1
  600. package/studio/server/chunks/{node-sqlite-dialect-Dy5JXX3C.js → node-sqlite-dialect-Dbh9DJmP.js} +4 -4
  601. package/studio/server/chunks/{node-sqlite-dialect-Dy5JXX3C.js.map → node-sqlite-dialect-Dbh9DJmP.js.map} +1 -1
  602. package/studio/server/chunks/{onboarding-email-BWY50y2U.js → onboarding-email-BT8AKqTu.js} +3 -3
  603. package/studio/server/chunks/{onboarding-email-BWY50y2U.js.map → onboarding-email-BT8AKqTu.js.map} +1 -1
  604. package/studio/server/chunks/{projects.remote-gxU7zuXx.js → projects.remote-D5XkWx2P.js} +2 -2
  605. package/studio/server/chunks/{projects.remote-gxU7zuXx.js.map → projects.remote-D5XkWx2P.js.map} +1 -1
  606. package/studio/server/chunks/{queue-init-D0Na4v9v.js → queue-init-CC31rTnG.js} +2 -2
  607. package/studio/server/chunks/{queue-init-D0Na4v9v.js.map → queue-init-CC31rTnG.js.map} +1 -1
  608. package/studio/server/chunks/{registry2-DGTWkZ8Z.js → registry2-CC-NhK3h.js} +6 -6
  609. package/studio/server/chunks/{registry2-DGTWkZ8Z.js.map → registry2-CC-NhK3h.js.map} +1 -1
  610. package/studio/server/chunks/{remote-sy19x7-BNzkjfet.js → remote-sy19x7-DGnE00Wd.js} +4 -4
  611. package/studio/server/chunks/remote-sy19x7-DGnE00Wd.js.map +1 -0
  612. package/studio/server/chunks/{remote-z7lvth-CqJVAmXS.js → remote-z7lvth-Cs1qXN81.js} +3 -3
  613. package/studio/server/chunks/remote-z7lvth-Cs1qXN81.js.map +1 -0
  614. package/studio/server/chunks/{remote-zjib3m-BauNFQg3.js → remote-zjib3m-CuPlgVpe.js} +4 -4
  615. package/studio/server/chunks/remote-zjib3m-CuPlgVpe.js.map +1 -0
  616. package/studio/server/chunks/{scrub-xyz.svelte_svelte_type_style_lang-CPl-9qn8.js → scrub-xyz.svelte_svelte_type_style_lang-CDjEyOz9.js} +8 -8
  617. package/studio/server/chunks/{scrub-xyz.svelte_svelte_type_style_lang-CPl-9qn8.js.map → scrub-xyz.svelte_svelte_type_style_lang-CDjEyOz9.js.map} +1 -1
  618. package/studio/server/chunks/{tooltip-provider-DfKy8UUP.js → tooltip-provider-Bzk4UDmX.js} +2 -2
  619. package/studio/server/chunks/{tooltip-provider-DfKy8UUP.js.map → tooltip-provider-Bzk4UDmX.js.map} +1 -1
  620. package/studio/server/chunks/{tooltip.svelte-DHfGG2LN.js → tooltip.svelte-Lb6_0rdB.js} +2 -2
  621. package/studio/server/chunks/{tooltip.svelte-DHfGG2LN.js.map → tooltip.svelte-Lb6_0rdB.js.map} +1 -1
  622. package/studio/server/chunks/{ui.svelte-C1G5iO5f.js → ui.svelte-DleU2XsO.js} +4 -4
  623. package/studio/server/chunks/{ui.svelte-C1G5iO5f.js.map → ui.svelte-DleU2XsO.js.map} +1 -1
  624. package/studio/server/chunks/{watermark-CvgEjhCN.js → watermark-PHdDaiH8.js} +2 -2
  625. package/studio/server/chunks/{watermark-CvgEjhCN.js.map → watermark-PHdDaiH8.js.map} +1 -1
  626. package/studio/server/index.js +1 -1
  627. package/studio/server/manifest.js +37 -37
  628. package/studio/server/manifest.js.map +1 -1
  629. package/studio/client/_app/immutable/chunks/AZ9rWnO0.js.br +0 -0
  630. package/studio/client/_app/immutable/chunks/AZ9rWnO0.js.gz +0 -0
  631. package/studio/client/_app/immutable/chunks/B6madqDo.js.br +0 -0
  632. package/studio/client/_app/immutable/chunks/B6madqDo.js.gz +0 -0
  633. package/studio/client/_app/immutable/chunks/BJKr5hge.js.br +0 -0
  634. package/studio/client/_app/immutable/chunks/BJKr5hge.js.gz +0 -0
  635. package/studio/client/_app/immutable/chunks/BM16VTgB.js.br +0 -0
  636. package/studio/client/_app/immutable/chunks/BM16VTgB.js.gz +0 -0
  637. package/studio/client/_app/immutable/chunks/BM9OfXL9.js.br +0 -0
  638. package/studio/client/_app/immutable/chunks/BM9OfXL9.js.gz +0 -0
  639. package/studio/client/_app/immutable/chunks/BW3LFrce.js.br +0 -0
  640. package/studio/client/_app/immutable/chunks/BW3LFrce.js.gz +0 -0
  641. package/studio/client/_app/immutable/chunks/BgrSU1kg.js.br +0 -0
  642. package/studio/client/_app/immutable/chunks/BgrSU1kg.js.gz +0 -0
  643. package/studio/client/_app/immutable/chunks/Bs7NW1Se.js.br +0 -0
  644. package/studio/client/_app/immutable/chunks/Bs7NW1Se.js.gz +0 -0
  645. package/studio/client/_app/immutable/chunks/BslV7gY7.js.br +0 -0
  646. package/studio/client/_app/immutable/chunks/BslV7gY7.js.gz +0 -0
  647. package/studio/client/_app/immutable/chunks/BvSfBzuV.js.br +0 -0
  648. package/studio/client/_app/immutable/chunks/BvSfBzuV.js.gz +0 -0
  649. package/studio/client/_app/immutable/chunks/BwG2gtjF.js.br +0 -0
  650. package/studio/client/_app/immutable/chunks/BwG2gtjF.js.gz +0 -0
  651. package/studio/client/_app/immutable/chunks/BwnyT9Ny.js.br +0 -0
  652. package/studio/client/_app/immutable/chunks/BwnyT9Ny.js.gz +0 -0
  653. package/studio/client/_app/immutable/chunks/C0WKYdwk.js.br +0 -0
  654. package/studio/client/_app/immutable/chunks/C0WKYdwk.js.gz +0 -0
  655. package/studio/client/_app/immutable/chunks/CPRt510s.js.br +0 -0
  656. package/studio/client/_app/immutable/chunks/CPRt510s.js.gz +0 -0
  657. package/studio/client/_app/immutable/chunks/CTjBIV3u.js.br +0 -0
  658. package/studio/client/_app/immutable/chunks/CTjBIV3u.js.gz +0 -0
  659. package/studio/client/_app/immutable/chunks/CTpKZT5_.js.br +0 -0
  660. package/studio/client/_app/immutable/chunks/CTpKZT5_.js.gz +0 -0
  661. package/studio/client/_app/immutable/chunks/CVS8giU8.js.br +0 -0
  662. package/studio/client/_app/immutable/chunks/CVS8giU8.js.gz +0 -0
  663. package/studio/client/_app/immutable/chunks/Cdg3o65X.js.br +0 -0
  664. package/studio/client/_app/immutable/chunks/Cdg3o65X.js.gz +0 -0
  665. package/studio/client/_app/immutable/chunks/CvEPOTmC.js.br +0 -0
  666. package/studio/client/_app/immutable/chunks/CvEPOTmC.js.gz +0 -0
  667. package/studio/client/_app/immutable/chunks/CwPeYiWY.js.br +0 -0
  668. package/studio/client/_app/immutable/chunks/CwPeYiWY.js.gz +0 -0
  669. package/studio/client/_app/immutable/chunks/D-QT1x8R.js.br +0 -0
  670. package/studio/client/_app/immutable/chunks/D-QT1x8R.js.gz +0 -0
  671. package/studio/client/_app/immutable/chunks/D1FB0IUT.js.br +0 -0
  672. package/studio/client/_app/immutable/chunks/D1FB0IUT.js.gz +0 -0
  673. package/studio/client/_app/immutable/chunks/D8o81YM9.js.br +0 -0
  674. package/studio/client/_app/immutable/chunks/D8o81YM9.js.gz +0 -0
  675. package/studio/client/_app/immutable/chunks/DUvwbcGL.js.br +0 -0
  676. package/studio/client/_app/immutable/chunks/DUvwbcGL.js.gz +0 -0
  677. package/studio/client/_app/immutable/chunks/DXmIOUiy.js.br +0 -0
  678. package/studio/client/_app/immutable/chunks/DXmIOUiy.js.gz +0 -0
  679. package/studio/client/_app/immutable/chunks/DhUtLNbU.js.br +0 -0
  680. package/studio/client/_app/immutable/chunks/DhUtLNbU.js.gz +0 -0
  681. package/studio/client/_app/immutable/chunks/DkL6aOyN.js.br +0 -0
  682. package/studio/client/_app/immutable/chunks/DkL6aOyN.js.gz +0 -0
  683. package/studio/client/_app/immutable/chunks/DlG2SYaI.js.br +0 -0
  684. package/studio/client/_app/immutable/chunks/DlG2SYaI.js.gz +0 -0
  685. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js +0 -4
  686. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js.br +0 -0
  687. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js.gz +0 -0
  688. package/studio/client/_app/immutable/chunks/Dw0S4s6I.js.br +0 -3
  689. package/studio/client/_app/immutable/chunks/Dw0S4s6I.js.gz +0 -0
  690. package/studio/client/_app/immutable/chunks/EsOjj2Re.js.br +0 -0
  691. package/studio/client/_app/immutable/chunks/EsOjj2Re.js.gz +0 -0
  692. package/studio/client/_app/immutable/chunks/I5GezlI2.js +0 -1
  693. package/studio/client/_app/immutable/chunks/I5GezlI2.js.br +0 -2
  694. package/studio/client/_app/immutable/chunks/I5GezlI2.js.gz +0 -0
  695. package/studio/client/_app/immutable/chunks/MA9VYZ9Y.js.br +0 -0
  696. package/studio/client/_app/immutable/chunks/MA9VYZ9Y.js.gz +0 -0
  697. package/studio/client/_app/immutable/chunks/Of4NhqMR.js.br +0 -0
  698. package/studio/client/_app/immutable/chunks/Of4NhqMR.js.gz +0 -0
  699. package/studio/client/_app/immutable/chunks/vMKBQkkd.js.br +0 -0
  700. package/studio/client/_app/immutable/chunks/vMKBQkkd.js.gz +0 -0
  701. package/studio/client/_app/immutable/chunks/zdIjnFuo.js.br +0 -0
  702. package/studio/client/_app/immutable/chunks/zdIjnFuo.js.gz +0 -0
  703. package/studio/client/_app/immutable/entry/app.DWvKq1JP.js.br +0 -0
  704. package/studio/client/_app/immutable/entry/app.DWvKq1JP.js.gz +0 -0
  705. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js +0 -1
  706. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js.br +0 -0
  707. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js.gz +0 -0
  708. package/studio/client/_app/immutable/nodes/0.WXKHH_tm.js.br +0 -0
  709. package/studio/client/_app/immutable/nodes/0.WXKHH_tm.js.gz +0 -0
  710. package/studio/client/_app/immutable/nodes/1.BiD305mI.js.br +0 -0
  711. package/studio/client/_app/immutable/nodes/1.BiD305mI.js.gz +0 -0
  712. package/studio/client/_app/immutable/nodes/10.CU1-ee2m.js.br +0 -0
  713. package/studio/client/_app/immutable/nodes/10.CU1-ee2m.js.gz +0 -0
  714. package/studio/client/_app/immutable/nodes/11.CXaXEirJ.js.br +0 -0
  715. package/studio/client/_app/immutable/nodes/11.CXaXEirJ.js.gz +0 -0
  716. package/studio/client/_app/immutable/nodes/12.DJvy6gDY.js.br +0 -0
  717. package/studio/client/_app/immutable/nodes/12.DJvy6gDY.js.gz +0 -0
  718. package/studio/client/_app/immutable/nodes/13.nfg2db27.js.br +0 -0
  719. package/studio/client/_app/immutable/nodes/13.nfg2db27.js.gz +0 -0
  720. package/studio/client/_app/immutable/nodes/14.Bs2fSwa1.js.br +0 -0
  721. package/studio/client/_app/immutable/nodes/14.Bs2fSwa1.js.gz +0 -0
  722. package/studio/client/_app/immutable/nodes/15.a3Pos74G.js.br +0 -0
  723. package/studio/client/_app/immutable/nodes/15.a3Pos74G.js.gz +0 -0
  724. package/studio/client/_app/immutable/nodes/16.2YL4xuJ4.js.br +0 -0
  725. package/studio/client/_app/immutable/nodes/16.2YL4xuJ4.js.gz +0 -0
  726. package/studio/client/_app/immutable/nodes/17.CqCSgqIN.js.br +0 -0
  727. package/studio/client/_app/immutable/nodes/17.CqCSgqIN.js.gz +0 -0
  728. package/studio/client/_app/immutable/nodes/18.5G3YRxMR.js.br +0 -0
  729. package/studio/client/_app/immutable/nodes/18.5G3YRxMR.js.gz +0 -0
  730. package/studio/client/_app/immutable/nodes/19.Bu8-dRJn.js.br +0 -0
  731. package/studio/client/_app/immutable/nodes/19.Bu8-dRJn.js.gz +0 -0
  732. package/studio/client/_app/immutable/nodes/20.CIMlHVKg.js.br +0 -0
  733. package/studio/client/_app/immutable/nodes/20.CIMlHVKg.js.gz +0 -0
  734. package/studio/client/_app/immutable/nodes/21.CqSlHdIO.js.br +0 -0
  735. package/studio/client/_app/immutable/nodes/21.CqSlHdIO.js.gz +0 -0
  736. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js +0 -8
  737. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js.br +0 -0
  738. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js.gz +0 -0
  739. package/studio/client/_app/immutable/nodes/3.C68UMDpf.js.br +0 -0
  740. package/studio/client/_app/immutable/nodes/3.C68UMDpf.js.gz +0 -0
  741. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js +0 -1
  742. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js.br +0 -0
  743. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js.gz +0 -0
  744. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js +0 -79
  745. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js.br +0 -0
  746. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js.gz +0 -0
  747. package/studio/client/_app/immutable/nodes/4.BXcrgjpJ.js.br +0 -0
  748. package/studio/client/_app/immutable/nodes/4.BXcrgjpJ.js.gz +0 -0
  749. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js +0 -15
  750. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js.br +0 -0
  751. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js.gz +0 -0
  752. package/studio/client/_app/immutable/nodes/41.CnqWY7Jk.js.br +0 -0
  753. package/studio/client/_app/immutable/nodes/41.CnqWY7Jk.js.gz +0 -0
  754. package/studio/client/_app/immutable/nodes/42.CReCUw0y.js.br +0 -0
  755. package/studio/client/_app/immutable/nodes/42.CReCUw0y.js.gz +0 -0
  756. package/studio/client/_app/immutable/nodes/43.1HRdsmVg.js.br +0 -0
  757. package/studio/client/_app/immutable/nodes/43.1HRdsmVg.js.gz +0 -0
  758. package/studio/client/_app/immutable/nodes/44.Cm4deKzT.js.br +0 -0
  759. package/studio/client/_app/immutable/nodes/44.Cm4deKzT.js.gz +0 -0
  760. package/studio/client/_app/immutable/nodes/45.C7eW4xJw.js.br +0 -0
  761. package/studio/client/_app/immutable/nodes/45.C7eW4xJw.js.gz +0 -0
  762. package/studio/client/_app/immutable/nodes/46.DNoqu48d.js.br +0 -0
  763. package/studio/client/_app/immutable/nodes/46.DNoqu48d.js.gz +0 -0
  764. package/studio/client/_app/immutable/nodes/47.Kd91VHB_.js.br +0 -0
  765. package/studio/client/_app/immutable/nodes/47.Kd91VHB_.js.gz +0 -0
  766. package/studio/client/_app/immutable/nodes/48.kXm-0_dx.js.br +0 -0
  767. package/studio/client/_app/immutable/nodes/48.kXm-0_dx.js.gz +0 -0
  768. package/studio/client/_app/immutable/nodes/49.Baeo5x8O.js.br +0 -0
  769. package/studio/client/_app/immutable/nodes/49.Baeo5x8O.js.gz +0 -0
  770. package/studio/client/_app/immutable/nodes/5.BXcrgjpJ.js.br +0 -0
  771. package/studio/client/_app/immutable/nodes/5.BXcrgjpJ.js.gz +0 -0
  772. package/studio/client/_app/immutable/nodes/7.0ElBSij4.js.br +0 -0
  773. package/studio/client/_app/immutable/nodes/7.0ElBSij4.js.gz +0 -0
  774. package/studio/client/_app/immutable/nodes/8.Cf03UWeS.js.br +0 -0
  775. package/studio/client/_app/immutable/nodes/8.Cf03UWeS.js.gz +0 -0
  776. package/studio/client/_app/immutable/nodes/9.BCt9tK8K.js.br +0 -0
  777. package/studio/client/_app/immutable/nodes/9.BCt9tK8K.js.gz +0 -0
  778. package/studio/server/chunks/12-uBBeSc-D.js +0 -9
  779. package/studio/server/chunks/15-BP_ppf1w.js +0 -9
  780. package/studio/server/chunks/_page.svelte-DL5VUL2M.js.map +0 -1
  781. package/studio/server/chunks/index-CC0VmMfq.js.map +0 -1
  782. package/studio/server/chunks/index-D_660nxW.js.map +0 -1
  783. package/studio/server/chunks/index3-Ps7k-4f8.js.map +0 -1
  784. package/studio/server/chunks/remote-sy19x7-BNzkjfet.js.map +0 -1
  785. package/studio/server/chunks/remote-z7lvth-CqJVAmXS.js.map +0 -1
  786. package/studio/server/chunks/remote-zjib3m-BauNFQg3.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"registry2-DGTWkZ8Z.js","sources":["../../../.svelte-kit/adapter-node/chunks/scissors.js","../../../.svelte-kit/adapter-node/chunks/monitor-play.js","../../../.svelte-kit/adapter-node/chunks/registry2.js"],"sourcesContent":["import \"./async.js\";\nimport { s as spread_props } from \"./index8.js\";\nimport { I as Icon } from \"./Icon.js\";\nfunction Monitor($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"rect\",\n { \"width\": \"20\", \"height\": \"14\", \"x\": \"2\", \"y\": \"3\", \"rx\": \"2\" }\n ],\n [\"line\", { \"x1\": \"8\", \"x2\": \"16\", \"y1\": \"21\", \"y2\": \"21\" }],\n [\"line\", { \"x1\": \"12\", \"x2\": \"12\", \"y1\": \"17\", \"y2\": \"21\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"monitor\" },\n /**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjMiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSI4IiB4Mj0iMTYiIHkxPSIyMSIgeTI9IjIxIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTciIHkyPSIyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Scissors($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"6\", \"cy\": \"6\", \"r\": \"3\" }],\n [\"path\", { \"d\": \"M8.12 8.12 12 12\" }],\n [\"path\", { \"d\": \"M20 4 8.12 15.88\" }],\n [\"circle\", { \"cx\": \"6\", \"cy\": \"18\", \"r\": \"3\" }],\n [\"path\", { \"d\": \"M14.8 14.8 20 20\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"scissors\" },\n /**\n * @component @name Scissors\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNOC4xMiA4LjEyIDEyIDEyIiAvPgogIDxwYXRoIGQ9Ik0yMCA0IDguMTIgMTUuODgiIC8+CiAgPGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xNC44IDE0LjggMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scissors\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nexport {\n Monitor as M,\n Scissors as S\n};\n","import \"./async.js\";\nimport { s as spread_props } from \"./index8.js\";\nimport { I as Icon } from \"./Icon.js\";\nfunction Monitor_play($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z\"\n }\n ],\n [\"path\", { \"d\": \"M12 17v4\" }],\n [\"path\", { \"d\": \"M8 21h8\" }],\n [\n \"rect\",\n { \"x\": \"2\", \"y\": \"3\", \"width\": \"20\", \"height\": \"14\", \"rx\": \"2\" }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"monitor-play\" },\n /**\n * @component @name MonitorPlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KICA8cmVjdCB4PSIyIiB5PSIzIiB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/monitor-play\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nexport {\n Monitor_play as M\n};\n","import { c as createLayer, f as round1, b as generateCaptionsAction, h as runAction, t as toPct, i as deviceSize, p as pxToPct, j as dubLanguages, d as dubAudioAction, G as GenerateVideoSchema, a as generateVideoAction } from \"./generate-speech.js\";\nimport \"./async.js\";\nimport { e as escape_html } from \"./escaping.js\";\nimport \"clsx\";\nimport { B as Button, L as Loader_circle } from \"./button.js\";\nimport { r as requestUpload, c as confirmUpload } from \"./upload.remote.js\";\nimport { e as extractMediaMetadataFromUrl, f as formatDuration$1, b as formatFileSize } from \"./media.js\";\nimport { M as Monitor, S as Scissors } from \"./scissors.js\";\nimport { aI as Camera, ac as Square, aJ as isFunction, aK as useId, aL as FloatingArrowState, aM as Previous, M as noop, ap as Floating_layer, ar as Popper_layer_force_mount, as as Popper_layer, at as getFloatingContentCSSVars, aN as Mic, g as getEditorState, aa as Video, a3 as Portal, d as Search, e as Select_1, aO as External_link, aP as Music, aQ as Image, D as Debounced, v as Popover, w as Popover_trigger, x as Popover_content, aR as defaultBackground, f as Sparkles, aS as Laptop, aT as meta, af as Captions, ag as Languages, ab as Smartphone } from \"./editor.svelte.js\";\nimport { c as createFromSchema, b as BackgroundValueSchema, f as fieldRegistry } from \"./registry-data.js\";\nimport { M as Monitor_play } from \"./monitor-play.js\";\nimport { z } from \"zod\";\nimport { s as spread_props, d as derived, j as attributes, c as attr, k as bind_props, p as props_id, l as attr_class, i as stringify, m as clsx, e as ensure_array_like } from \"./index8.js\";\nimport { u as uiStore } from \"./ui.svelte.js\";\nimport { R as RECORDER_STOP_THRESHOLD, M as MAX_FILE_SIZES } from \"./index5.js\";\nimport { I as Icon } from \"./Icon.js\";\nimport { X, G as Globe } from \"./x.js\";\nimport { C as Check } from \"./check.js\";\nimport { m as mergeProps, b as boxWith, s as simpleBox, h as executeCallbacks, a as attachRef, d as createBitsAttrs, f as createId, I as Input } from \"./input.js\";\nimport { c as cn } from \"./utils2.js\";\nimport { w as watch, C as Context, D as DOMContext } from \"./dom-context.svelte.js\";\nimport { o as on } from \"./root.js\";\nimport { a as TooltipRootState, b as TooltipContentState, c as TooltipTriggerState } from \"./tooltip.svelte.js\";\nimport { s as searchLummiImages } from \"./lummi.remote.js\";\nimport { g as getUserAssets } from \"./assets.remote.js\";\nimport { w as watch$1 } from \"./watch.svelte.js\";\nimport { C as Chevron_left } from \"./chevron-left.js\";\nimport { C as Chevron_right } from \"./chevron-right.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"./url.js\";\nimport \"./utils.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"./exports.js\";\nimport \"./client2.js\";\nimport \"./auth.remote.js\";\nimport \"./projects.remote.js\";\nimport \"./base.js\";\nimport { formatStorage } from \"./plans.js\";\nimport { R as Refresh_cw } from \"./refresh-cw.js\";\nimport { nanoid } from \"nanoid\";\nimport { a as analyzeMediaAsset } from \"./media-analysis.remote.js\";\nfunction File($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\n }\n ],\n [\"path\", { \"d\": \"M14 2v5a1 1 0 0 0 1 1h5\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"file\" },\n /**\n * @component @name File\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Folder_open($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"folder-open\" },\n /**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Image_play($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M15 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z\"\n }\n ],\n [\n \"path\",\n {\n \"d\": \"M21 12.17V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6\"\n }\n ],\n [\"path\", { \"d\": \"m6 21 5-5\" }],\n [\"circle\", { \"cx\": \"9\", \"cy\": \"9\", \"r\": \"2\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"image-play\" },\n /**\n * @component @name ImagePlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTUuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N2ExIDEgMCAwIDEtMS41MTctLjg2eiIgLz4KICA8cGF0aCBkPSJNMjEgMTIuMTdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYiIC8+CiAgPHBhdGggZD0ibTYgMjEgNS01IiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSI5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/image-play\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Info($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"10\" }],\n [\"path\", { \"d\": \"M12 16v-4\" }],\n [\"path\", { \"d\": \"M12 8h.01\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"info\" },\n /**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMTZ2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDhoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Rotate_cw($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n { \"d\": \"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8\" }\n ],\n [\"path\", { \"d\": \"M21 3v5h-5\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"rotate-cw\" },\n /**\n * @component @name RotateCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTktOWMyLjUyIDAgNC45MyAxIDYuNzQgMi43NEwyMSA4IiAvPgogIDxwYXRoIGQ9Ik0yMSAzdjVoLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rotate-cw\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nasync function uploadMediaBlob(blob, fileName, mediaType, _projectId, duration) {\n const reqResult = await requestUpload({\n fileName,\n mimeType: blob.type,\n size: blob.size,\n mediaTypeHint: mediaType,\n duration\n });\n if (!reqResult.success) {\n throw new Error(reqResult.error);\n }\n const {\n uploadUrl,\n key,\n fileUrl,\n assetId,\n originalName,\n mediaType: resolvedMediaType\n } = reqResult.data;\n const putRes = await fetch(uploadUrl, {\n method: \"PUT\",\n headers: { \"Content-Type\": blob.type },\n body: blob\n });\n if (!putRes.ok) {\n throw new Error(`Upload failed (${putRes.status})`);\n }\n const confirmResult = await confirmUpload({\n assetId,\n key,\n fileUrl,\n originalName,\n mimeType: blob.type,\n mediaType: resolvedMediaType,\n duration: duration && isFinite(duration) ? Math.floor(duration) : null\n });\n if (!confirmResult.success) {\n throw new Error(confirmResult.error);\n }\n return {\n url: fileUrl,\n key,\n fileName: originalName,\n duration\n };\n}\nfunction generateTimestampedFileName(prefix, extension) {\n const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, \"-\");\n return `${prefix}-${timestamp}.${extension}`;\n}\nfunction formatDuration(seconds) {\n const mins = Math.floor(seconds / 60);\n const secs = seconds % 60;\n return `${mins}:${secs.toString().padStart(2, \"0\")}`;\n}\nfunction handleMediaError(err) {\n if (err instanceof DOMException) {\n if (err.name === \"NotAllowedError\" || err.name === \"PermissionDeniedError\") {\n return {\n type: \"permission\",\n message: \"Permission denied. Please allow camera/microphone access in your browser settings.\"\n };\n }\n if (err.name === \"NotFoundError\") {\n return {\n type: \"unsupported\",\n message: \"No camera or microphone found on this device.\"\n };\n }\n if (err.name === \"NotSupportedError\") {\n return {\n type: \"unsupported\",\n message: \"Your browser does not support this feature. Please use Chrome, Firefox, or Safari.\"\n };\n }\n }\n if (err instanceof Error) {\n return {\n type: \"unknown\",\n message: err.message\n };\n }\n return {\n type: \"unknown\",\n message: \"An unknown error occurred\"\n };\n}\nfunction stopMediaStream(stream) {\n if (stream) {\n stream.getTracks().forEach((track) => track.stop());\n }\n}\nfunction Dual_recorder($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ctx, onComplete } = $$props;\n let recorderState = \"idle\";\n let error = \"\";\n let displayDuration = 0;\n let screenStream = null;\n let webcamStream = null;\n let screenRecorder = null;\n let webcamRecorder = null;\n let screenChunks = [];\n let webcamChunks = [];\n let recordingInterval = null;\n let recordingStartTime = 0;\n const MAX_DURATION = 300;\n async function startRecording() {\n try {\n error = \"\";\n screenStream = await navigator.mediaDevices.getDisplayMedia({\n video: { width: { ideal: 1920 }, height: { ideal: 1080 } },\n audio: true\n });\n webcamStream = await navigator.mediaDevices.getUserMedia({\n video: {\n width: { ideal: 640 },\n height: { ideal: 640 },\n facingMode: \"user\"\n },\n audio: true\n });\n const mimeType = \"video/mp4\";\n if (!MediaRecorder.isTypeSupported(mimeType)) {\n throw new Error(\"Your browser does not support MP4 recording. Please use Safari.\");\n }\n screenChunks = [];\n webcamChunks = [];\n screenRecorder = new MediaRecorder(screenStream, { mimeType, videoBitsPerSecond: 5e6 });\n webcamRecorder = new MediaRecorder(webcamStream, { mimeType, videoBitsPerSecond: 25e5 });\n screenRecorder.ondataavailable = (e) => {\n if (e.data.size > 0) screenChunks.push(e.data);\n };\n webcamRecorder.ondataavailable = (e) => {\n if (e.data.size > 0) webcamChunks.push(e.data);\n };\n screenStream.getVideoTracks()[0].onended = () => stopRecording();\n let stoppedCount = 0;\n const onRecorderStop = () => {\n stoppedCount++;\n if (stoppedCount === 2) uploadBoth();\n };\n screenRecorder.onstop = onRecorderStop;\n webcamRecorder.onstop = onRecorderStop;\n screenRecorder.start(1e3);\n webcamRecorder.start(1e3);\n recorderState = \"recording\";\n displayDuration = 0;\n recordingStartTime = Date.now();\n recordingInterval = setInterval(\n () => {\n displayDuration = (Date.now() - recordingStartTime) / 1e3;\n if (displayDuration >= MAX_DURATION) stopRecording();\n },\n 100\n );\n } catch (err) {\n error = handleMediaError(err).message;\n cleanup();\n }\n }\n function stopRecording() {\n if (recorderState !== \"recording\") return;\n if (recordingInterval) {\n clearInterval(recordingInterval);\n recordingInterval = null;\n }\n screenRecorder?.stop();\n webcamRecorder?.stop();\n stopMediaStream(screenStream);\n stopMediaStream(webcamStream);\n screenStream = null;\n webcamStream = null;\n recorderState = \"uploading\";\n }\n async function uploadBoth() {\n recorderState = \"uploading\";\n error = \"\";\n const projectId = ctx.project.id;\n try {\n const screenBlob = new Blob(screenChunks, { type: \"video/mp4\" });\n const webcamBlob = new Blob(webcamChunks, { type: \"video/mp4\" });\n const screenUrl = URL.createObjectURL(screenBlob);\n const webcamUrl = URL.createObjectURL(webcamBlob);\n const [screenMeta, webcamMeta] = await Promise.all([\n extractMediaMetadataFromUrl(screenUrl, \"video\"),\n extractMediaMetadataFromUrl(webcamUrl, \"video\")\n ]);\n URL.revokeObjectURL(screenUrl);\n URL.revokeObjectURL(webcamUrl);\n const screenDuration = screenMeta.duration && screenMeta.duration > 0 ? screenMeta.duration : 1;\n const webcamDuration = webcamMeta.duration && webcamMeta.duration > 0 ? webcamMeta.duration : 1;\n const [screenResult, webcamResult] = await Promise.all([\n uploadMediaBlob(screenBlob, generateTimestampedFileName(\"screen\", \"mp4\"), \"video\", projectId, screenDuration),\n uploadMediaBlob(webcamBlob, generateTimestampedFileName(\"webcam\", \"mp4\"), \"video\", projectId, webcamDuration)\n ]);\n onComplete({\n screenSrc: screenResult.url,\n screenKey: screenResult.key,\n screenDuration,\n webcamSrc: webcamResult.url,\n webcamKey: webcamResult.key,\n webcamDuration\n });\n } catch (err) {\n error = err instanceof Error ? err.message : \"Upload failed\";\n recorderState = \"idle\";\n }\n }\n function cleanup() {\n if (recordingInterval) clearInterval(recordingInterval);\n stopMediaStream(screenStream);\n stopMediaStream(webcamStream);\n screenStream = null;\n webcamStream = null;\n recorderState = \"idle\";\n }\n $$renderer2.push(`<div class=\"space-y-3\">`);\n if (\n // Wire up video preview elements\n // Cleanup on destroy\n recorderState === \"recording\"\n ) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-destructive bg-destructive/10 p-3\"><div class=\"relative mb-2 overflow-hidden rounded bg-black\"><video autoplay=\"\" muted=\"\" playsinline=\"\" class=\"h-auto w-full\" style=\"max-height: 150px; aspect-ratio: 16/9;\"></video> <div class=\"absolute top-2 left-2 flex items-center gap-2 rounded bg-black/50 px-2 py-1\"><div class=\"h-2 w-2 animate-pulse rounded-full bg-destructive\"></div> `);\n Monitor($$renderer2, { class: \"h-3 w-3 text-white\" });\n $$renderer2.push(`<!----> <span class=\"text-[10px] text-white\">Screen</span></div> <div class=\"absolute top-2 right-2 rounded bg-black/50 px-2 py-1\"><span class=\"font-mono text-xs text-white tabular-nums\">${escape_html(formatDuration$1(Math.floor(displayDuration)))}</span></div> <div class=\"absolute right-2 bottom-2 h-16 w-16 overflow-hidden rounded-full border-2 border-white/50 shadow-lg\"><video autoplay=\"\" muted=\"\" playsinline=\"\" class=\"h-full w-full object-cover\"></video></div></div> `);\n Button($$renderer2, {\n variant: \"destructive\",\n size: \"sm\",\n class: \"w-full\",\n onclick: stopRecording,\n children: ($$renderer3) => {\n Square($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Stop Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n if (displayDuration >= MAX_DURATION - 10) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">${escape_html(Math.round(MAX_DURATION - displayDuration))}s remaining</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else if (recorderState === \"uploading\") {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"rounded border bg-muted/30 p-6 text-center\">`);\n Loader_circle($$renderer2, { class: \"mx-auto mb-2 size-6 animate-spin text-primary\" });\n $$renderer2.push(`<!----> <span class=\"text-sm\">Uploading both recordings...</span></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"rounded border bg-muted/30 p-4 text-center\"><div class=\"mx-auto mb-3 flex items-center justify-center gap-3\"><div class=\"flex items-center gap-1.5 rounded bg-background px-3 py-2 shadow-sm\">`);\n Monitor($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(`<!----> <span class=\"text-xs\">Screen</span></div> <span class=\"text-xs text-muted-foreground\">+</span> <div class=\"flex items-center gap-1.5 rounded bg-background px-3 py-2 shadow-sm\">`);\n Camera($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(`<!----> <span class=\"text-xs\">Webcam</span></div></div> <p class=\"mb-3 text-[10px] text-muted-foreground\">Records your screen and webcam simultaneously. The webcam will appear as a circular overlay\n in the corner.</p> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full\",\n onclick: startRecording,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Start Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]--> `);\n if (error) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(error)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nconst template$9 = {\n id: \"screen-webcam-demo\",\n name: \"Screen + Webcam Recorder\",\n description: \"Record screen and webcam together for product demos, with auto-captions\",\n thumbnail: \"/templates/screen-webcam-demo.svg\",\n icon: Monitor_play,\n category: \"recording\",\n seoTitle: \"Free Screen and Webcam Recorder with Auto Captions\",\n seoDescription: \"Record your screen and webcam simultaneously, then get automatic captions generated in seconds. Free online tool — no install required.\",\n keywords: [\n \"screen recorder\",\n \"webcam recorder\",\n \"screen and webcam\",\n \"auto captions\",\n \"product demo recorder\",\n \"loom alternative\"\n ],\n steps: [\n {\n title: \"Record Screen & Webcam\",\n description: \"Record your screen and webcam at the same time\",\n component: Dual_recorder\n }\n ],\n async apply(values, ctx) {\n const { screenSrc, screenKey, screenDuration, webcamSrc, webcamKey, webcamDuration } = values;\n const { width, height } = ctx.project;\n const ar = height / width;\n const maxDuration = Math.max(screenDuration, webcamDuration);\n const enterTime = ctx.currentTime;\n const screenExitTime = enterTime + screenDuration;\n const webcamExitTime = enterTime + webcamDuration;\n const screenPadPct = 4 * Math.min(1, ar);\n const screenLayer = createLayer(\"video\", {\n props: {\n src: screenSrc,\n fileKey: screenKey,\n width: round1(100 - screenPadPct * 2),\n height: round1(toPct(ar) - screenPadPct * 2),\n borderRadius: 1.2,\n objectFit: \"cover\"\n },\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 8,\n dropShadowBlur: 32,\n dropShadowColor: \"rgba(0,0,0,0.4)\"\n },\n projectDimensions: { width, height },\n layer: {\n name: \"Screen Recording\",\n enterTime,\n exitTime: screenExitTime,\n contentDuration: screenDuration\n }\n });\n const minFrac = Math.min(1, ar);\n const webcamSizePct = round1(minFrac * 22);\n const webcamPaddingPct = round1(minFrac * 5);\n const webcamLayer = createLayer(\"video\", {\n props: {\n src: webcamSrc,\n fileKey: webcamKey,\n width: webcamSizePct,\n height: webcamSizePct,\n borderRadius: webcamSizePct,\n objectFit: \"cover\",\n frame: \"none\"\n },\n transform: {\n position: {\n x: round1(50 - webcamSizePct / 2 - webcamPaddingPct),\n y: round1(ar * 50 - webcamSizePct / 2 - webcamPaddingPct),\n z: 0\n },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 4,\n dropShadowBlur: 16,\n dropShadowColor: \"rgba(0,0,0,0.5)\"\n },\n projectDimensions: { width, height },\n layer: {\n name: \"Webcam\",\n enterTime,\n exitTime: webcamExitTime,\n contentDuration: webcamDuration\n }\n });\n const input = createFromSchema(generateCaptionsAction.inputSchema, {});\n const {\n layersToAdd: generatedLayersToAdd,\n layersToUpdate,\n projectUpdates\n } = await runAction({\n action: generateCaptionsAction,\n input,\n sourceLayer: webcamLayer,\n project: ctx.project\n });\n return {\n layersToAdd: [\n { layer: screenLayer, presets: [{ id: \"fade-in\", startTime: enterTime, duration: 0.3 }] },\n {\n layer: webcamLayer,\n presets: [{ id: \"scale-in\", startTime: enterTime + 0.2, duration: 0.4 }]\n },\n ...generatedLayersToAdd ?? []\n ],\n layersToUpdate: [...layersToUpdate ?? []],\n projectUpdates: {\n ...enterTime + maxDuration > ctx.project.duration ? { duration: enterTime + maxDuration } : {},\n ...projectUpdates\n }\n };\n }\n};\nconst __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$9\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction extract(value, defaultValue) {\n if (isFunction(value)) {\n const getter = value;\n const gotten = getter();\n if (gotten === void 0) return defaultValue;\n return gotten;\n }\n if (value === void 0) return defaultValue;\n return value;\n}\nfunction useDebounce(callback, wait) {\n let context = null;\n const wait$ = derived(() => extract(wait, 250));\n function debounced(...args) {\n if (context) {\n if (context.timeout) {\n clearTimeout(context.timeout);\n }\n } else {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n context = { timeout: null, runner: null, promise, resolve, reject };\n }\n context.runner = async () => {\n if (!context) return;\n const ctx = context;\n context = null;\n try {\n ctx.resolve(await callback.apply(this, args));\n } catch (error) {\n ctx.reject(error);\n }\n };\n context.timeout = setTimeout(context.runner, wait$());\n return context.promise;\n }\n debounced.cancel = async () => {\n if (!context || context.timeout === null) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (!context || context.timeout === null) return;\n }\n clearTimeout(context.timeout);\n context.reject(\"Cancelled\");\n context = null;\n };\n debounced.runScheduledNow = async () => {\n if (!context || !context.timeout) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (!context || !context.timeout) return;\n }\n clearTimeout(context.timeout);\n context.timeout = null;\n await context.runner?.();\n };\n Object.defineProperty(debounced, \"pending\", {\n enumerable: true,\n get() {\n return !!context?.timeout;\n }\n });\n return debounced;\n}\nclass IsMounted {\n #isMounted = false;\n constructor() {\n }\n get current() {\n return this.#isMounted;\n }\n}\nfunction Arrow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n id = useId(),\n children,\n child,\n width = 10,\n height = 5,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const mergedProps = derived(() => mergeProps(restProps, { id }));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<span${attributes({ ...mergedProps() })}>`);\n if (children) {\n $$renderer2.push(\"<!--[0-->\");\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<svg${attr(\"width\", width)}${attr(\"height\", height)} viewBox=\"0 0 30 10\" preserveAspectRatio=\"none\" data-arrow=\"\"><polygon points=\"0,0 30,0 15,10\" fill=\"currentColor\"></polygon></svg>`);\n }\n $$renderer2.push(`<!--]--></span>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Floating_layer_arrow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { id = useId(), ref = null, $$slots, $$events, ...restProps } = $$props;\n const arrowState = FloatingArrowState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, arrowState.props));\n Arrow($$renderer2, spread_props([mergedProps()]));\n bind_props($$props, { ref });\n });\n}\nclass SvelteResizeObserver {\n #node;\n #onResize;\n constructor(node, onResize) {\n this.#node = node;\n this.#onResize = onResize;\n this.handler = this.handler.bind(this);\n }\n handler() {\n let rAF = 0;\n const _node = this.#node();\n if (!_node) return;\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(this.#onResize);\n });\n resizeObserver.observe(_node);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(_node);\n };\n }\n}\nclass StateMachine {\n state;\n #machine;\n constructor(initialState, machine) {\n this.state = simpleBox(initialState);\n this.#machine = machine;\n this.dispatch = this.dispatch.bind(this);\n }\n #reducer(event) {\n const nextState = this.#machine[this.state.current][event];\n return nextState ?? this.state.current;\n }\n dispatch(event) {\n this.state.current = this.#reducer(event);\n }\n}\nconst animationNameCache = /* @__PURE__ */ new WeakMap();\nconst ANIMATION_NAME_CACHE_TTL_MS = 16;\nconst presenceMachine = {\n mounted: { UNMOUNT: \"unmounted\", ANIMATION_OUT: \"unmountSuspended\" },\n unmountSuspended: { MOUNT: \"mounted\", ANIMATION_END: \"unmounted\" },\n unmounted: { MOUNT: \"mounted\" }\n};\nclass Presence {\n opts;\n prevAnimationNameState = \"none\";\n styles = { display: \"\", animationName: \"none\" };\n initialStatus;\n previousPresent;\n machine;\n present;\n constructor(opts) {\n this.opts = opts;\n this.present = this.opts.open;\n this.initialStatus = opts.open.current ? \"mounted\" : \"unmounted\";\n this.previousPresent = new Previous(() => this.present.current);\n this.machine = new StateMachine(this.initialStatus, presenceMachine);\n this.handleAnimationEnd = this.handleAnimationEnd.bind(this);\n this.handleAnimationStart = this.handleAnimationStart.bind(this);\n watchPresenceChange(this);\n watchStatusChange(this);\n watchRefChange(this);\n }\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n handleAnimationEnd(event) {\n if (!this.opts.ref.current) return;\n const currAnimationName = this.styles.animationName || getAnimationName(this.opts.ref.current);\n const isCurrentAnimation = currAnimationName.includes(event.animationName) || currAnimationName === \"none\";\n if (event.target === this.opts.ref.current && isCurrentAnimation) {\n this.machine.dispatch(\"ANIMATION_END\");\n }\n }\n handleAnimationStart(event) {\n if (!this.opts.ref.current) return;\n if (event.target === this.opts.ref.current) {\n const animationName = getAnimationName(this.opts.ref.current, true);\n this.prevAnimationNameState = animationName;\n this.styles.animationName = animationName;\n }\n }\n #isPresent = derived(() => {\n return [\"mounted\", \"unmountSuspended\"].includes(this.machine.state.current);\n });\n get isPresent() {\n return this.#isPresent();\n }\n set isPresent($$value) {\n return this.#isPresent($$value);\n }\n}\nfunction watchPresenceChange(state) {\n watch(() => state.present.current, () => {\n if (!state.opts.ref.current) return;\n const hasPresentChanged = state.present.current !== state.previousPresent.current;\n if (!hasPresentChanged) return;\n const prevAnimationName = state.prevAnimationNameState;\n const currAnimationName = getAnimationName(state.opts.ref.current, true);\n state.styles.animationName = currAnimationName;\n if (state.present.current) {\n state.machine.dispatch(\"MOUNT\");\n } else if (currAnimationName === \"none\" || state.styles.display === \"none\") {\n state.machine.dispatch(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currAnimationName;\n if (state.previousPresent.current && isAnimating) {\n state.machine.dispatch(\"ANIMATION_OUT\");\n } else {\n state.machine.dispatch(\"UNMOUNT\");\n }\n }\n });\n}\nfunction watchStatusChange(state) {\n watch(() => state.machine.state.current, () => {\n if (!state.opts.ref.current) return;\n const currAnimationName = state.machine.state.current === \"mounted\" ? getAnimationName(state.opts.ref.current, true) : \"none\";\n state.prevAnimationNameState = currAnimationName;\n state.styles.animationName = currAnimationName;\n });\n}\nfunction watchRefChange(state) {\n watch(() => state.opts.ref.current, () => {\n if (!state.opts.ref.current) return;\n const computed = getComputedStyle(state.opts.ref.current);\n state.styles = {\n display: computed.display,\n animationName: computed.animationName || \"none\"\n };\n return executeCallbacks(on(state.opts.ref.current, \"animationstart\", state.handleAnimationStart), on(state.opts.ref.current, \"animationcancel\", state.handleAnimationEnd), on(state.opts.ref.current, \"animationend\", state.handleAnimationEnd));\n });\n}\nfunction getAnimationName(node, forceRefresh = false) {\n if (!node) return \"none\";\n const now = performance.now();\n const cached = animationNameCache.get(node);\n if (!forceRefresh && cached && now - cached.timestamp < ANIMATION_NAME_CACHE_TTL_MS) {\n return cached.value;\n }\n const value = getComputedStyle(node).animationName || \"none\";\n animationNameCache.set(node, { value, timestamp: now });\n return value;\n}\nfunction Presence_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open, forceMount, presence, ref } = $$props;\n const presenceState = new Presence({ open: boxWith(() => open), ref });\n if (forceMount || open || presenceState.isPresent) {\n $$renderer2.push(\"<!--[0-->\");\n presence?.($$renderer2, { present: presenceState.isPresent });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction clamp(n, min, max) {\n return Math.min(max, Math.max(min, n));\n}\nconst scrollAreaAttrs = createBitsAttrs({\n component: \"scroll-area\",\n parts: [\"root\", \"viewport\", \"corner\", \"thumb\", \"scrollbar\"]\n});\nconst ScrollAreaRootContext = new Context(\"ScrollArea.Root\");\nconst ScrollAreaScrollbarContext = new Context(\"ScrollArea.Scrollbar\");\nconst ScrollAreaScrollbarVisibleContext = new Context(\"ScrollArea.ScrollbarVisible\");\nconst ScrollAreaScrollbarAxisContext = new Context(\"ScrollArea.ScrollbarAxis\");\nconst ScrollAreaScrollbarSharedContext = new Context(\"ScrollArea.ScrollbarShared\");\nclass ScrollAreaRootState {\n static create(opts) {\n return ScrollAreaRootContext.set(new ScrollAreaRootState(opts));\n }\n opts;\n attachment;\n scrollAreaNode = null;\n viewportNode = null;\n contentNode = null;\n scrollbarXNode = null;\n scrollbarYNode = null;\n cornerWidth = 0;\n cornerHeight = 0;\n scrollbarXEnabled = false;\n scrollbarYEnabled = false;\n domContext;\n constructor(opts) {\n this.opts = opts;\n this.attachment = attachRef(opts.ref, (v) => this.scrollAreaNode = v);\n this.domContext = new DOMContext(opts.ref);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n dir: this.opts.dir.current,\n style: {\n position: \"relative\",\n \"--bits-scroll-area-corner-height\": `${this.cornerHeight}px`,\n \"--bits-scroll-area-corner-width\": `${this.cornerWidth}px`\n },\n [scrollAreaAttrs.root]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaViewportState {\n static create(opts) {\n return new ScrollAreaViewportState(opts, ScrollAreaRootContext.get());\n }\n opts;\n root;\n attachment;\n #contentId = simpleBox(useId());\n #contentRef = simpleBox(null);\n contentAttachment = attachRef(this.#contentRef, (v) => this.root.contentNode = v);\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(opts.ref, (v) => this.root.viewportNode = v);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n style: {\n overflowX: this.root.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: this.root.scrollbarYEnabled ? \"scroll\" : \"hidden\"\n },\n [scrollAreaAttrs.viewport]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n #contentProps = derived(() => ({\n id: this.#contentId.current,\n \"data-scroll-area-content\": \"\",\n style: {\n minWidth: this.root.scrollbarXEnabled ? \"fit-content\" : void 0\n },\n ...this.contentAttachment\n }));\n get contentProps() {\n return this.#contentProps();\n }\n set contentProps($$value) {\n return this.#contentProps($$value);\n }\n}\nclass ScrollAreaScrollbarState {\n static create(opts) {\n return ScrollAreaScrollbarContext.set(new ScrollAreaScrollbarState(opts, ScrollAreaRootContext.get()));\n }\n opts;\n root;\n #isHorizontal = derived(() => this.opts.orientation.current === \"horizontal\");\n get isHorizontal() {\n return this.#isHorizontal();\n }\n set isHorizontal($$value) {\n return this.#isHorizontal($$value);\n }\n hasThumb = false;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n watch(() => this.isHorizontal, (isHorizontal) => {\n if (isHorizontal) {\n this.root.scrollbarXEnabled = true;\n return () => {\n this.root.scrollbarXEnabled = false;\n };\n } else {\n this.root.scrollbarYEnabled = true;\n return () => {\n this.root.scrollbarYEnabled = false;\n };\n }\n });\n }\n}\nclass ScrollAreaScrollbarHoverState {\n static create() {\n return new ScrollAreaScrollbarHoverState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n isVisible = false;\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n }\n #props = derived(() => ({ \"data-state\": this.isVisible ? \"visible\" : \"hidden\" }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarScrollState {\n static create() {\n return new ScrollAreaScrollbarScrollState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n machine = new StateMachine(\"hidden\", {\n hidden: { SCROLL: \"scrolling\" },\n scrolling: { SCROLL_END: \"idle\", POINTER_ENTER: \"interacting\" },\n interacting: { SCROLL: \"interacting\", POINTER_LEAVE: \"idle\" },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n #isHidden = derived(() => this.machine.state.current === \"hidden\");\n get isHidden() {\n return this.#isHidden();\n }\n set isHidden($$value) {\n return this.#isHidden($$value);\n }\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n useDebounce(() => this.machine.dispatch(\"SCROLL_END\"), 100);\n this.onpointerenter = this.onpointerenter.bind(this);\n this.onpointerleave = this.onpointerleave.bind(this);\n }\n onpointerenter(_) {\n this.machine.dispatch(\"POINTER_ENTER\");\n }\n onpointerleave(_) {\n this.machine.dispatch(\"POINTER_LEAVE\");\n }\n #props = derived(() => ({\n \"data-state\": this.machine.state.current === \"hidden\" ? \"hidden\" : \"visible\",\n onpointerenter: this.onpointerenter,\n onpointerleave: this.onpointerleave\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarAutoState {\n static create() {\n return new ScrollAreaScrollbarAutoState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n isVisible = false;\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n const handleResize = useDebounce(\n () => {\n const viewportNode = this.root.viewportNode;\n if (!viewportNode) return;\n const isOverflowX = viewportNode.offsetWidth < viewportNode.scrollWidth;\n const isOverflowY = viewportNode.offsetHeight < viewportNode.scrollHeight;\n this.isVisible = this.scrollbar.isHorizontal ? isOverflowX : isOverflowY;\n },\n 10\n );\n new SvelteResizeObserver(() => this.root.viewportNode, handleResize);\n new SvelteResizeObserver(() => this.root.contentNode, handleResize);\n }\n #props = derived(() => ({ \"data-state\": this.isVisible ? \"visible\" : \"hidden\" }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarVisibleState {\n static create() {\n return ScrollAreaScrollbarVisibleContext.set(new ScrollAreaScrollbarVisibleState(ScrollAreaScrollbarContext.get()));\n }\n scrollbar;\n root;\n thumbNode = null;\n pointerOffset = 0;\n sizes = {\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n };\n #thumbRatio = derived(() => getThumbRatio(this.sizes.viewport, this.sizes.content));\n get thumbRatio() {\n return this.#thumbRatio();\n }\n set thumbRatio($$value) {\n return this.#thumbRatio($$value);\n }\n #hasThumb = derived(() => Boolean(this.thumbRatio > 0 && this.thumbRatio < 1));\n get hasThumb() {\n return this.#hasThumb();\n }\n set hasThumb($$value) {\n return this.#hasThumb($$value);\n }\n prevTransformStyle = \"\";\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n }\n setSizes(sizes) {\n this.sizes = sizes;\n }\n getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer({\n pointerPos,\n pointerOffset: this.pointerOffset,\n sizes: this.sizes,\n dir\n });\n }\n onThumbPointerUp() {\n this.pointerOffset = 0;\n }\n onThumbPointerDown(pointerPos) {\n this.pointerOffset = pointerPos;\n }\n xOnThumbPositionChange() {\n if (!(this.root.viewportNode && this.thumbNode)) return;\n const scrollPos = this.root.viewportNode.scrollLeft;\n const offset = getThumbOffsetFromScroll({\n scrollPos,\n sizes: this.sizes,\n dir: this.root.opts.dir.current\n });\n const transformStyle = `translate3d(${offset}px, 0, 0)`;\n this.thumbNode.style.transform = transformStyle;\n this.prevTransformStyle = transformStyle;\n }\n xOnWheelScroll(scrollPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollLeft = scrollPos;\n }\n xOnDragScroll(pointerPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollLeft = this.getScrollPosition(pointerPos, this.root.opts.dir.current);\n }\n yOnThumbPositionChange() {\n if (!(this.root.viewportNode && this.thumbNode)) return;\n const scrollPos = this.root.viewportNode.scrollTop;\n const offset = getThumbOffsetFromScroll({ scrollPos, sizes: this.sizes });\n const transformStyle = `translate3d(0, ${offset}px, 0)`;\n this.thumbNode.style.transform = transformStyle;\n this.prevTransformStyle = transformStyle;\n }\n yOnWheelScroll(scrollPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollTop = scrollPos;\n }\n yOnDragScroll(pointerPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollTop = this.getScrollPosition(pointerPos, this.root.opts.dir.current);\n }\n}\nclass ScrollAreaScrollbarXState {\n static create(opts) {\n return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarXState(opts, ScrollAreaScrollbarVisibleContext.get()));\n }\n opts;\n scrollbarVis;\n root;\n scrollbar;\n attachment;\n computedStyle;\n constructor(opts, scrollbarVis) {\n this.opts = opts;\n this.scrollbarVis = scrollbarVis;\n this.root = scrollbarVis.root;\n this.scrollbar = scrollbarVis.scrollbar;\n this.attachment = attachRef(this.scrollbar.opts.ref, (v) => this.root.scrollbarXNode = v);\n }\n onThumbPointerDown = (pointerPos) => {\n this.scrollbarVis.onThumbPointerDown(pointerPos.x);\n };\n onDragScroll = (pointerPos) => {\n this.scrollbarVis.xOnDragScroll(pointerPos.x);\n };\n onThumbPointerUp = () => {\n this.scrollbarVis.onThumbPointerUp();\n };\n onThumbPositionChange = () => {\n this.scrollbarVis.xOnThumbPositionChange();\n };\n onWheelScroll = (e, maxScrollPos) => {\n if (!this.root.viewportNode) return;\n const scrollPos = this.root.viewportNode.scrollLeft + e.deltaX;\n this.scrollbarVis.xOnWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n e.preventDefault();\n }\n };\n onResize = () => {\n if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return;\n this.scrollbarVis.setSizes({\n content: this.root.viewportNode.scrollWidth,\n viewport: this.root.viewportNode.offsetWidth,\n scrollbar: {\n size: this.scrollbar.opts.ref.current.clientWidth,\n paddingStart: toInt(this.computedStyle.paddingLeft),\n paddingEnd: toInt(this.computedStyle.paddingRight)\n }\n });\n };\n #thumbSize = derived(() => {\n return getThumbSize(this.scrollbarVis.sizes);\n });\n get thumbSize() {\n return this.#thumbSize();\n }\n set thumbSize($$value) {\n return this.#thumbSize($$value);\n }\n #props = derived(() => ({\n id: this.scrollbar.opts.id.current,\n \"data-orientation\": \"horizontal\",\n style: {\n bottom: 0,\n left: this.root.opts.dir.current === \"rtl\" ? \"var(--bits-scroll-area-corner-width)\" : 0,\n right: this.root.opts.dir.current === \"ltr\" ? \"var(--bits-scroll-area-corner-width)\" : 0,\n \"--bits-scroll-area-thumb-width\": `${this.thumbSize}px`\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarYState {\n static create(opts) {\n return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarYState(opts, ScrollAreaScrollbarVisibleContext.get()));\n }\n opts;\n scrollbarVis;\n root;\n scrollbar;\n attachment;\n computedStyle;\n constructor(opts, scrollbarVis) {\n this.opts = opts;\n this.scrollbarVis = scrollbarVis;\n this.root = scrollbarVis.root;\n this.scrollbar = scrollbarVis.scrollbar;\n this.attachment = attachRef(this.scrollbar.opts.ref, (v) => this.root.scrollbarYNode = v);\n this.onThumbPointerDown = this.onThumbPointerDown.bind(this);\n this.onDragScroll = this.onDragScroll.bind(this);\n this.onThumbPointerUp = this.onThumbPointerUp.bind(this);\n this.onThumbPositionChange = this.onThumbPositionChange.bind(this);\n this.onWheelScroll = this.onWheelScroll.bind(this);\n this.onResize = this.onResize.bind(this);\n }\n onThumbPointerDown(pointerPos) {\n this.scrollbarVis.onThumbPointerDown(pointerPos.y);\n }\n onDragScroll(pointerPos) {\n this.scrollbarVis.yOnDragScroll(pointerPos.y);\n }\n onThumbPointerUp() {\n this.scrollbarVis.onThumbPointerUp();\n }\n onThumbPositionChange() {\n this.scrollbarVis.yOnThumbPositionChange();\n }\n onWheelScroll(e, maxScrollPos) {\n if (!this.root.viewportNode) return;\n const scrollPos = this.root.viewportNode.scrollTop + e.deltaY;\n this.scrollbarVis.yOnWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n e.preventDefault();\n }\n }\n onResize() {\n if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return;\n this.scrollbarVis.setSizes({\n content: this.root.viewportNode.scrollHeight,\n viewport: this.root.viewportNode.offsetHeight,\n scrollbar: {\n size: this.scrollbar.opts.ref.current.clientHeight,\n paddingStart: toInt(this.computedStyle.paddingTop),\n paddingEnd: toInt(this.computedStyle.paddingBottom)\n }\n });\n }\n #thumbSize = derived(() => {\n return getThumbSize(this.scrollbarVis.sizes);\n });\n get thumbSize() {\n return this.#thumbSize();\n }\n set thumbSize($$value) {\n return this.#thumbSize($$value);\n }\n #props = derived(() => ({\n id: this.scrollbar.opts.id.current,\n \"data-orientation\": \"vertical\",\n style: {\n top: 0,\n right: this.root.opts.dir.current === \"ltr\" ? 0 : void 0,\n left: this.root.opts.dir.current === \"rtl\" ? 0 : void 0,\n bottom: \"var(--bits-scroll-area-corner-height)\",\n \"--bits-scroll-area-thumb-height\": `${this.thumbSize}px`\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarSharedState {\n static create() {\n return ScrollAreaScrollbarSharedContext.set(new ScrollAreaScrollbarSharedState(ScrollAreaScrollbarAxisContext.get()));\n }\n scrollbarState;\n root;\n scrollbarVis;\n scrollbar;\n rect = null;\n prevWebkitUserSelect = \"\";\n handleResize;\n handleThumbPositionChange;\n handleWheelScroll;\n handleThumbPointerDown;\n handleThumbPointerUp;\n #maxScrollPos = derived(() => this.scrollbarVis.sizes.content - this.scrollbarVis.sizes.viewport);\n get maxScrollPos() {\n return this.#maxScrollPos();\n }\n set maxScrollPos($$value) {\n return this.#maxScrollPos($$value);\n }\n constructor(scrollbarState) {\n this.scrollbarState = scrollbarState;\n this.root = scrollbarState.root;\n this.scrollbarVis = scrollbarState.scrollbarVis;\n this.scrollbar = scrollbarState.scrollbarVis.scrollbar;\n this.handleResize = useDebounce(() => this.scrollbarState.onResize(), 10);\n this.handleThumbPositionChange = this.scrollbarState.onThumbPositionChange;\n this.handleWheelScroll = this.scrollbarState.onWheelScroll;\n this.handleThumbPointerDown = this.scrollbarState.onThumbPointerDown;\n this.handleThumbPointerUp = this.scrollbarState.onThumbPointerUp;\n new SvelteResizeObserver(() => this.scrollbar.opts.ref.current, this.handleResize);\n new SvelteResizeObserver(() => this.root.contentNode, this.handleResize);\n this.onpointerdown = this.onpointerdown.bind(this);\n this.onpointermove = this.onpointermove.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n this.onlostpointercapture = this.onlostpointercapture.bind(this);\n }\n handleDragScroll(e) {\n if (!this.rect) return;\n const x = e.clientX - this.rect.left;\n const y = e.clientY - this.rect.top;\n this.scrollbarState.onDragScroll({ x, y });\n }\n #cleanupPointerState() {\n if (this.rect === null) return;\n this.root.domContext.getDocument().body.style.webkitUserSelect = this.prevWebkitUserSelect;\n if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = \"\";\n this.rect = null;\n }\n onpointerdown(e) {\n if (e.button !== 0) return;\n const target = e.target;\n target.setPointerCapture(e.pointerId);\n this.rect = this.scrollbar.opts.ref.current?.getBoundingClientRect() ?? null;\n this.prevWebkitUserSelect = this.root.domContext.getDocument().body.style.webkitUserSelect;\n this.root.domContext.getDocument().body.style.webkitUserSelect = \"none\";\n if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = \"auto\";\n this.handleDragScroll(e);\n }\n onpointermove(e) {\n this.handleDragScroll(e);\n }\n onpointerup(e) {\n const target = e.target;\n if (target.hasPointerCapture(e.pointerId)) {\n target.releasePointerCapture(e.pointerId);\n }\n this.#cleanupPointerState();\n }\n onlostpointercapture(_) {\n this.#cleanupPointerState();\n }\n #props = derived(() => mergeProps({\n ...this.scrollbarState.props,\n style: { position: \"absolute\", ...this.scrollbarState.props.style },\n [scrollAreaAttrs.scrollbar]: \"\",\n onpointerdown: this.onpointerdown,\n onpointermove: this.onpointermove,\n onpointerup: this.onpointerup,\n onlostpointercapture: this.onlostpointercapture\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaThumbImplState {\n static create(opts) {\n return new ScrollAreaThumbImplState(opts, ScrollAreaScrollbarSharedContext.get());\n }\n opts;\n scrollbarState;\n attachment;\n #root;\n #removeUnlinkedScrollListener;\n #debounceScrollEnd = useDebounce(\n () => {\n if (this.#removeUnlinkedScrollListener) {\n this.#removeUnlinkedScrollListener();\n this.#removeUnlinkedScrollListener = void 0;\n }\n },\n 100\n );\n constructor(opts, scrollbarState) {\n this.opts = opts;\n this.scrollbarState = scrollbarState;\n this.#root = scrollbarState.root;\n this.attachment = attachRef(this.opts.ref, (v) => this.scrollbarState.scrollbarVis.thumbNode = v);\n this.onpointerdowncapture = this.onpointerdowncapture.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n }\n onpointerdowncapture(e) {\n const thumb = e.target;\n if (!thumb) return;\n const thumbRect = thumb.getBoundingClientRect();\n const x = e.clientX - thumbRect.left;\n const y = e.clientY - thumbRect.top;\n this.scrollbarState.handleThumbPointerDown({ x, y });\n }\n onpointerup(_) {\n this.scrollbarState.handleThumbPointerUp();\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n \"data-state\": this.scrollbarState.scrollbarVis.hasThumb ? \"visible\" : \"hidden\",\n style: {\n width: \"var(--bits-scroll-area-thumb-width)\",\n height: \"var(--bits-scroll-area-thumb-height)\",\n transform: this.scrollbarState.scrollbarVis.prevTransformStyle\n },\n onpointerdowncapture: this.onpointerdowncapture,\n onpointerup: this.onpointerup,\n [scrollAreaAttrs.thumb]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaCornerImplState {\n static create(opts) {\n return new ScrollAreaCornerImplState(opts, ScrollAreaRootContext.get());\n }\n opts;\n root;\n attachment;\n #width = 0;\n #height = 0;\n #hasSize = derived(() => Boolean(this.#width && this.#height));\n get hasSize() {\n return this.#hasSize();\n }\n set hasSize($$value) {\n return this.#hasSize($$value);\n }\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n new SvelteResizeObserver(() => this.root.scrollbarXNode, () => {\n const height = this.root.scrollbarXNode?.offsetHeight || 0;\n this.root.cornerHeight = height;\n this.#height = height;\n });\n new SvelteResizeObserver(() => this.root.scrollbarYNode, () => {\n const width = this.root.scrollbarYNode?.offsetWidth || 0;\n this.root.cornerWidth = width;\n this.#width = width;\n });\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n style: {\n width: this.#width,\n height: this.#height,\n position: \"absolute\",\n right: this.root.opts.dir.current === \"ltr\" ? 0 : void 0,\n left: this.root.opts.dir.current === \"rtl\" ? 0 : void 0,\n bottom: 0\n },\n [scrollAreaAttrs.corner]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction toInt(value) {\n return value ? Number.parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return Number.isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer({ pointerPos, pointerOffset, sizes, dir = \"ltr\" }) {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll({ scrollPos, sizes, dir = \"ltr\" }) {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange[0], scrollClampRange[1]);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nfunction Scroll_area$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n type = \"hover\",\n dir = \"ltr\",\n scrollHideDelay = 600,\n children,\n child,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const rootState = ScrollAreaRootState.create({\n type: boxWith(() => type),\n dir: boxWith(() => dir),\n scrollHideDelay: boxWith(() => scrollHideDelay),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, rootState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_viewport($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const viewportState = ScrollAreaViewportState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, viewportState.props));\n const mergedContentProps = derived(() => mergeProps({}, viewportState.contentProps));\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}><div${attributes({ ...mergedContentProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_scrollbar_shared($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { child, children, $$slots, $$events, ...restProps } = $$props;\n const scrollbarSharedState = ScrollAreaScrollbarSharedState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarSharedState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Scroll_area_scrollbar_x($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const isMounted = new IsMounted();\n const scrollbarXState = ScrollAreaScrollbarXState.create({ mounted: boxWith(() => isMounted.current) });\n const mergedProps = derived(() => mergeProps(restProps, scrollbarXState.props));\n Scroll_area_scrollbar_shared($$renderer2, spread_props([mergedProps()]));\n });\n}\nfunction Scroll_area_scrollbar_y($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const isMounted = new IsMounted();\n const scrollbarYState = ScrollAreaScrollbarYState.create({ mounted: boxWith(() => isMounted.current) });\n const mergedProps = derived(() => mergeProps(restProps, scrollbarYState.props));\n Scroll_area_scrollbar_shared($$renderer2, spread_props([mergedProps()]));\n });\n}\nfunction Scroll_area_scrollbar_visible($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const scrollbarVisibleState = ScrollAreaScrollbarVisibleState.create();\n if (scrollbarVisibleState.scrollbar.opts.orientation.current === \"horizontal\") {\n $$renderer2.push(\"<!--[0-->\");\n Scroll_area_scrollbar_x($$renderer2, spread_props([restProps]));\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Scroll_area_scrollbar_y($$renderer2, spread_props([restProps]));\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Scroll_area_scrollbar_auto($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarAutoState = ScrollAreaScrollbarAutoState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarAutoState.props));\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, {\n open: forceMount || scrollbarAutoState.isVisible,\n ref: scrollbarAutoState.scrollbar.opts.ref,\n presence\n });\n }\n });\n}\nfunction Scroll_area_scrollbar_scroll($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarScrollState = ScrollAreaScrollbarScrollState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarScrollState.props));\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, spread_props([\n mergedProps(),\n {\n open: forceMount || !scrollbarScrollState.isHidden,\n ref: scrollbarScrollState.scrollbar.opts.ref,\n presence,\n $$slots: { presence: true }\n }\n ]));\n }\n });\n}\nfunction Scroll_area_scrollbar_hover($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarHoverState = ScrollAreaScrollbarHoverState.create();\n const scrollbarAutoState = ScrollAreaScrollbarAutoState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarHoverState.props, scrollbarAutoState.props, {\n \"data-state\": scrollbarHoverState.isVisible ? \"visible\" : \"hidden\"\n }));\n const open = derived(() => forceMount || scrollbarHoverState.isVisible && scrollbarAutoState.isVisible);\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, {\n open: open(),\n ref: scrollbarAutoState.scrollbar.opts.ref,\n presence\n });\n }\n });\n}\nfunction Scroll_area_scrollbar$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n orientation,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollbarState = ScrollAreaScrollbarState.create({\n orientation: boxWith(() => orientation),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const type = derived(() => scrollbarState.root.opts.type.current);\n if (type() === \"hover\") {\n $$renderer2.push(\"<!--[0-->\");\n Scroll_area_scrollbar_hover($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"scroll\") {\n $$renderer2.push(\"<!--[1-->\");\n Scroll_area_scrollbar_scroll($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"auto\") {\n $$renderer2.push(\"<!--[2-->\");\n Scroll_area_scrollbar_auto($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"always\") {\n $$renderer2.push(\"<!--[3-->\");\n Scroll_area_scrollbar_visible($$renderer2, spread_props([restProps, { id }]));\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_thumb_impl($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n id,\n child,\n children,\n present,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const isMounted = new IsMounted();\n const thumbState = ScrollAreaThumbImplState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n mounted: boxWith(() => isMounted.current)\n });\n const mergedProps = derived(() => mergeProps(restProps, thumbState.props, { style: { hidden: !present } }));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_thumb($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n ref = null,\n forceMount = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollbarState = ScrollAreaScrollbarVisibleContext.get();\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n {\n let presence = function($$renderer4, { present }) {\n Scroll_area_thumb_impl($$renderer4, spread_props([\n restProps,\n {\n id,\n present,\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n };\n Presence_layer($$renderer3, {\n open: forceMount || scrollbarState.hasThumb,\n ref: scrollbarState.scrollbar.opts.ref,\n presence\n });\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_corner_impl($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n id,\n children,\n child,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const cornerState = ScrollAreaCornerImplState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, cornerState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_corner($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollAreaState = ScrollAreaRootContext.get();\n const hasBothScrollbarsVisible = derived(() => Boolean(scrollAreaState.scrollbarXNode && scrollAreaState.scrollbarYNode));\n const hasCorner = derived(() => scrollAreaState.opts.type.current !== \"scroll\" && hasBothScrollbarsVisible());\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (hasCorner()) {\n $$renderer3.push(\"<!--[0-->\");\n Scroll_area_corner_impl($$renderer3, spread_props([\n restProps,\n {\n id,\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n open = false,\n triggerId = null,\n onOpenChange = noop,\n onOpenChangeComplete = noop,\n disabled,\n delayDuration,\n disableCloseOnTriggerClick,\n disableHoverableContent,\n ignoreNonKeyboardFocus,\n tether,\n children\n } = $$props;\n const rootState = TooltipRootState.create({\n open: boxWith(() => open, (v) => {\n open = v;\n onOpenChange(v);\n }),\n triggerId: boxWith(() => triggerId, (v) => {\n triggerId = v;\n }),\n delayDuration: boxWith(() => delayDuration),\n disableCloseOnTriggerClick: boxWith(() => disableCloseOnTriggerClick),\n disableHoverableContent: boxWith(() => disableHoverableContent),\n ignoreNonKeyboardFocus: boxWith(() => ignoreNonKeyboardFocus),\n disabled: boxWith(() => disabled),\n onOpenChangeComplete: boxWith(() => onOpenChangeComplete),\n tether: boxWith(() => tether)\n });\n Floating_layer($$renderer2, {\n tooltip: true,\n children: ($$renderer3) => {\n children?.($$renderer3, {\n open: rootState.opts.open.current,\n triggerId: rootState.activeTriggerId,\n payload: rootState.activePayload\n });\n $$renderer3.push(`<!---->`);\n }\n });\n bind_props($$props, { open, triggerId });\n });\n}\nfunction Tooltip_content$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n id = createId(uid),\n ref = null,\n side = \"top\",\n sideOffset = 0,\n align = \"center\",\n avoidCollisions = true,\n arrowPadding = 0,\n sticky = \"partial\",\n strategy,\n hideWhenDetached = false,\n customAnchor,\n collisionPadding = 0,\n onInteractOutside = noop,\n onEscapeKeydown = noop,\n forceMount = false,\n style,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const contentState = TooltipContentState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n onInteractOutside: boxWith(() => onInteractOutside),\n onEscapeKeydown: boxWith(() => onEscapeKeydown)\n });\n const floatingProps = derived(() => ({\n side,\n sideOffset,\n align,\n avoidCollisions,\n arrowPadding,\n sticky,\n hideWhenDetached,\n collisionPadding,\n strategy,\n customAnchor: customAnchor ?? contentState.root.triggerNode\n }));\n const mergedProps = derived(() => mergeProps(restProps, floatingProps(), contentState.props));\n if (forceMount) {\n $$renderer2.push(\"<!--[0-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"tooltip\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer_force_mount($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n enabled: contentState.root.opts.open.current,\n id,\n trapFocus: false,\n loop: false,\n preventScroll: false,\n forceMount: true,\n ref: contentState.opts.ref,\n tooltip: true,\n shouldRender: contentState.shouldRender,\n contentPointerEvents: contentState.root.disableHoverableContent ? \"none\" : \"auto\",\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else if (!forceMount) {\n $$renderer2.push(\"<!--[1-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"tooltip\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n open: contentState.root.opts.open.current,\n id,\n trapFocus: false,\n loop: false,\n preventScroll: false,\n forceMount: false,\n ref: contentState.opts.ref,\n tooltip: true,\n shouldRender: contentState.shouldRender,\n contentPointerEvents: contentState.root.disableHoverableContent ? \"none\" : \"auto\",\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip_trigger$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n id = createId(uid),\n disabled = false,\n payload,\n tether,\n type = \"button\",\n tabindex = 0,\n ref = null,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const triggerState = TooltipTriggerState.create({\n id: boxWith(() => id),\n disabled: boxWith(() => disabled ?? false),\n tabindex: boxWith(() => tabindex ?? 0),\n payload: boxWith(() => payload),\n tether: boxWith(() => tether),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, triggerState.props, { type }));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<button${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip_arrow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ref = null, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Floating_layer_arrow($$renderer3, spread_props([\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction AudioRecorder($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { onRecordingComplete, maxSizeBytes } = $$props;\n const editorState = derived(getEditorState);\n let isRecording = false;\n let recordingError = \"\";\n let mediaRecorder = null;\n let mediaStream = null;\n let audioChunks = [];\n let displayDuration = 0;\n let currentSizeBytes = 0;\n let recordingInterval = null;\n let recordingStartTime = 0;\n let sizeWarning = derived(() => {\n if (!maxSizeBytes || currentSizeBytes === 0) return false;\n return currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD * 0.75;\n });\n async function startRecording() {\n try {\n recordingError = \"\";\n mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true });\n const mimeType = \"audio/mp4\";\n if (!MediaRecorder.isTypeSupported(mimeType)) {\n throw new Error(\"Your browser does not support M4A recording. Please use Safari.\");\n }\n mediaRecorder = new MediaRecorder(mediaStream, { mimeType });\n audioChunks = [];\n displayDuration = 0;\n currentSizeBytes = 0;\n recordingStartTime = Date.now();\n mediaRecorder.ondataavailable = (event) => {\n if (event.data.size > 0) {\n audioChunks.push(event.data);\n currentSizeBytes += event.data.size;\n if (maxSizeBytes && currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD) {\n stopRecording();\n }\n }\n };\n mediaRecorder.onstop = async () => {\n stopMediaStream(mediaStream);\n mediaStream = null;\n finalizeRecording();\n };\n mediaRecorder.start(1e3);\n isRecording = true;\n recordingInterval = setInterval(\n () => {\n displayDuration = (Date.now() - recordingStartTime) / 1e3;\n },\n 100\n );\n } catch (err) {\n recordingError = handleMediaError(err).message;\n console.error(\"Recording error:\", err);\n stopMediaStream(mediaStream);\n mediaStream = null;\n }\n }\n function stopRecording() {\n if (mediaRecorder && isRecording) {\n mediaRecorder.stop();\n isRecording = false;\n if (recordingInterval) {\n clearInterval(recordingInterval);\n recordingInterval = null;\n }\n }\n }\n async function finalizeRecording() {\n const blob = new Blob(audioChunks, { type: \"audio/mp4\" });\n const fileName = generateTimestampedFileName(\"recording\", \"m4a\");\n let duration = displayDuration;\n try {\n duration = await getBlobDuration(blob);\n } catch {\n }\n onRecordingComplete({ blob, fileName, duration, mediaType: \"audio\" });\n }\n function getBlobDuration(blob) {\n return new Promise((resolve) => {\n const url = URL.createObjectURL(blob);\n const audio = document.createElement(\"audio\");\n audio.preload = \"metadata\";\n audio.onloadedmetadata = () => {\n URL.revokeObjectURL(url);\n resolve(isFinite(audio.duration) && audio.duration > 0 ? audio.duration : 1);\n };\n audio.onerror = () => {\n URL.revokeObjectURL(url);\n resolve(1);\n };\n audio.src = url;\n });\n }\n async function handleStartRecording() {\n await uiStore.requireLogin(\"save your project\", () => {\n uiStore.requireCreateProject(editorState(), startRecording);\n });\n }\n $$renderer2.push(`<div class=\"space-y-2\">`);\n if (isRecording) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-destructive bg-destructive/10 p-3 text-center\"><div class=\"mb-2 flex items-center justify-center gap-2\"><div class=\"h-2 w-2 animate-pulse rounded-full bg-destructive\"></div> <span class=\"text-sm font-medium\">Recording...</span></div> <div class=\"mb-2 font-mono text-2xl tabular-nums\">${escape_html(formatDuration(Math.floor(displayDuration)))}</div> `);\n Button($$renderer2, {\n variant: \"destructive\",\n size: \"sm\",\n onclick: stopRecording,\n children: ($$renderer3) => {\n Square($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Stop Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n if (sizeWarning()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">Approaching size limit — recording will stop automatically</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: handleStartRecording,\n children: ($$renderer3) => {\n Mic($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Record Audio`);\n },\n $$slots: { default: true }\n });\n }\n $$renderer2.push(`<!--]--> `);\n if (recordingError) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(recordingError)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction VideoRecorder($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { onRecordingComplete, audioEnabled = true, maxSizeBytes } = $$props;\n const editorState = derived(getEditorState);\n let isRecording = false;\n let recordingError = \"\";\n let mediaRecorder = null;\n let mediaStream = null;\n let videoChunks = [];\n let facingMode = \"user\";\n let recordingMode = \"camera\";\n const MAX_DURATION = 300;\n let displayDuration = 0;\n let currentSizeBytes = 0;\n let recordingInterval = null;\n let recordingStartTime = 0;\n let sizeWarning = derived(() => {\n if (!maxSizeBytes || currentSizeBytes === 0) return false;\n return currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD * 0.9;\n });\n async function handleStartRecording() {\n await uiStore.requireLogin(\"save your project\", () => {\n uiStore.requireCreateProject(editorState(), startRecording);\n });\n }\n async function startRecording() {\n try {\n recordingError = \"\";\n if (recordingMode === \"screen\") ;\n else {\n mediaStream = await navigator.mediaDevices.getUserMedia({\n video: { width: { ideal: 1280 }, height: { ideal: 720 }, facingMode },\n audio: audioEnabled\n });\n }\n const mimeType = \"video/mp4\";\n if (!MediaRecorder.isTypeSupported(mimeType)) {\n throw new Error(\"Your browser does not support MP4 recording. Please use Safari.\");\n }\n mediaRecorder = new MediaRecorder(mediaStream, {\n mimeType,\n videoBitsPerSecond: recordingMode === \"screen\" ? 5e6 : 25e5\n });\n videoChunks = [];\n displayDuration = 0;\n currentSizeBytes = 0;\n recordingStartTime = Date.now();\n mediaRecorder.ondataavailable = (event) => {\n if (event.data.size > 0) {\n videoChunks.push(event.data);\n currentSizeBytes += event.data.size;\n if (maxSizeBytes && currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD) {\n stopRecording();\n }\n }\n };\n mediaRecorder.onstop = async () => {\n stopMediaStream(mediaStream);\n mediaStream = null;\n finalizeRecording();\n };\n mediaRecorder.start(1e3);\n isRecording = true;\n recordingInterval = setInterval(\n () => {\n displayDuration = (Date.now() - recordingStartTime) / 1e3;\n if (displayDuration >= MAX_DURATION) {\n stopRecording();\n }\n },\n 100\n );\n } catch (err) {\n recordingError = handleMediaError(err).message;\n console.error(\"Recording error:\", err);\n stopMediaStream(mediaStream);\n mediaStream = null;\n }\n }\n function stopRecording() {\n if (mediaRecorder && isRecording) {\n mediaRecorder.stop();\n isRecording = false;\n if (recordingInterval) {\n clearInterval(recordingInterval);\n recordingInterval = null;\n }\n }\n }\n async function finalizeRecording() {\n const blob = new Blob(videoChunks, { type: \"video/mp4\" });\n const fileName = generateTimestampedFileName(\"video\", \"mp4\");\n let duration = displayDuration;\n try {\n duration = await getBlobDuration(blob);\n } catch {\n }\n onRecordingComplete({ blob, fileName, duration, mediaType: \"video\" });\n }\n function getBlobDuration(blob) {\n return new Promise((resolve) => {\n const url = URL.createObjectURL(blob);\n const video = document.createElement(\"video\");\n video.preload = \"metadata\";\n video.onloadedmetadata = () => {\n URL.revokeObjectURL(url);\n resolve(isFinite(video.duration) && video.duration > 0 ? video.duration : 1);\n };\n video.onerror = () => {\n URL.revokeObjectURL(url);\n resolve(1);\n };\n video.src = url;\n });\n }\n $$renderer2.push(`<div class=\"space-y-2\">`);\n if (isRecording) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-destructive bg-destructive/10 p-3\"><div class=\"relative mb-2 overflow-hidden rounded bg-black\"><video autoplay=\"\" muted=\"\" playsinline=\"\" class=\"h-auto w-full\" style=\"max-height: 180px; aspect-ratio: 16/9;\"></video> <div class=\"absolute top-2 left-2 flex items-center gap-2 rounded bg-black/50 px-2 py-1\"><div class=\"h-2 w-2 animate-pulse rounded-full bg-destructive\"></div> <span class=\"text-xs font-medium text-white\">Recording ${escape_html(\"Camera\")}</span></div> <div class=\"absolute top-2 right-2 rounded bg-black/50 px-2 py-1\"><span class=\"font-mono text-xs text-white tabular-nums\">${escape_html(formatDuration(Math.floor(displayDuration)))}</span></div> `);\n {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<button type=\"button\" class=\"absolute right-2 bottom-2 rounded-full bg-black/50 p-2 text-white hover:bg-black/70\" title=\"Switch camera\">`);\n Rotate_cw($$renderer2, { class: \"size-4\" });\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n Button($$renderer2, {\n variant: \"destructive\",\n size: \"sm\",\n class: \"w-full\",\n onclick: stopRecording,\n children: ($$renderer3) => {\n Square($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Stop Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n if (sizeWarning()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">Approaching size limit — recording will stop automatically</p>`);\n } else if (displayDuration >= MAX_DURATION - 10) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">${escape_html(Math.ceil(MAX_DURATION - displayDuration))}s remaining</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"flex gap-1 rounded border bg-muted/30 p-1\"><button type=\"button\"${attr_class(`flex flex-1 items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors ${stringify(\"bg-background shadow-sm\")}`)}>`);\n Camera($$renderer2, { class: \"size-3\" });\n $$renderer2.push(`<!----> Camera</button> <button type=\"button\"${attr_class(`flex flex-1 items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors ${stringify(\"hover:bg-background/50\")}`)}>`);\n Monitor($$renderer2, { class: \"size-3\" });\n $$renderer2.push(`<!----> Screen</button></div> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: handleStartRecording,\n children: ($$renderer3) => {\n {\n $$renderer3.push(\"<!--[-1-->\");\n Video($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Record Camera`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!---->`);\n }\n $$renderer2.push(`<!--]--> `);\n if (recordingError) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(recordingError)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction CameraCapture($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { onCaptureComplete, projectId } = $$props;\n const editorState = derived(getEditorState);\n let cameraState = \"idle\";\n let captureError = \"\";\n let mediaStream = null;\n let facingMode = \"user\";\n let capturedImageUrl = \"\";\n async function startPreview() {\n try {\n captureError = \"\";\n mediaStream = await navigator.mediaDevices.getUserMedia({\n video: { width: { ideal: 1920 }, height: { ideal: 1080 }, facingMode },\n audio: false\n });\n cameraState = \"preview\";\n } catch (err) {\n const error = handleMediaError(err);\n captureError = error.message;\n console.error(\"Camera error:\", err);\n cameraState = \"idle\";\n }\n }\n function capturePhoto() {\n return;\n }\n async function handleStartPreview() {\n await uiStore.requireLogin(\"save your project\", () => {\n uiStore.requireCreateProject(editorState(), startPreview);\n });\n }\n async function usePhoto() {\n return;\n }\n function retakePhoto() {\n capturedImageUrl = \"\";\n cameraState = \"idle\";\n startPreview();\n }\n function cancelPreview() {\n stopMediaStream(mediaStream);\n mediaStream = null;\n cameraState = \"idle\";\n }\n $$renderer2.push(`<div class=\"space-y-2\">`);\n if (\n // Cleanup on unmount\n cameraState === \"idle\"\n ) {\n $$renderer2.push(\"<!--[0-->\");\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: handleStartPreview,\n children: ($$renderer3) => {\n Camera($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Take Photo`);\n },\n $$slots: { default: true }\n });\n } else if (cameraState === \"preview\") {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-primary bg-black p-2\"><div class=\"relative mb-2 overflow-hidden rounded\"><video autoplay=\"\" playsinline=\"\" muted=\"\" class=\"h-auto w-full\" style=\"max-height: 240px;\"></video> <button type=\"button\" class=\"absolute top-2 right-2 rounded-full bg-black/50 p-2 text-white hover:bg-black/70\" title=\"Switch camera\">`);\n Rotate_cw($$renderer2, { class: \"size-4\" });\n $$renderer2.push(`<!----></button></div> <div class=\"flex gap-2\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: cancelPreview,\n children: ($$renderer3) => {\n X($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: capturePhoto,\n children: ($$renderer3) => {\n Camera($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Capture`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div></div>`);\n } else if (cameraState === \"review\") {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-primary bg-black p-2\"><div class=\"relative mb-2 overflow-hidden rounded\"><img${attr(\"src\", capturedImageUrl)} alt=\"Captured\" class=\"h-auto w-full\" style=\"max-height: 240px;\"/></div> <div class=\"flex gap-2\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: retakePhoto,\n children: ($$renderer3) => {\n Rotate_cw($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Retake`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: usePhoto,\n children: ($$renderer3) => {\n Check($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Use Photo`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div></div>`);\n } else if (cameraState === \"uploading\") {\n $$renderer2.push(\"<!--[3-->\");\n $$renderer2.push(`<div class=\"rounded border bg-muted/30 p-3 text-center\">`);\n Loader_circle($$renderer2, { class: \"mx-auto mb-2 size-6 animate-spin text-primary\" });\n $$renderer2.push(`<!----> <span class=\"text-sm\">Uploading photo...</span></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <canvas class=\"hidden\"></canvas> `);\n if (captureError) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(captureError)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction Scroll_area_scrollbar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n orientation = \"vertical\",\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Scroll_area_scrollbar$1) {\n $$renderer3.push(\"<!--[-->\");\n Scroll_area_scrollbar$1($$renderer3, spread_props([\n {\n \"data-slot\": \"scroll-area-scrollbar\",\n orientation,\n class: cn(\"flex touch-none p-px transition-colors select-none\", orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\", orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n children?.($$renderer4);\n $$renderer4.push(`<!----> `);\n if (Scroll_area_thumb) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_thumb($$renderer4, {\n \"data-slot\": \"scroll-area-thumb\",\n class: \"relative flex-1 rounded-full bg-border\"\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n orientation = \"vertical\",\n scrollbarXClasses = \"\",\n scrollbarYClasses = \"\",\n viewportClass = \"\",\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Scroll_area$1) {\n $$renderer3.push(\"<!--[-->\");\n Scroll_area$1($$renderer3, spread_props([\n {\n \"data-slot\": \"scroll-area\",\n class: cn(\"relative min-h-0\", className)\n },\n restProps,\n {\n children: ($$renderer4) => {\n if (Scroll_area_viewport) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_viewport($$renderer4, {\n \"data-slot\": \"scroll-area-viewport\",\n class: cn(\"size-full rounded-[inherit] ring-ring/10 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:ring-ring/20 dark:outline-ring/40\", viewportClass),\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer5) => {\n children?.($$renderer5);\n $$renderer5.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (orientation === \"vertical\" || orientation === \"both\") {\n $$renderer4.push(\"<!--[0-->\");\n Scroll_area_scrollbar($$renderer4, { orientation: \"vertical\", class: scrollbarYClasses });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (orientation === \"horizontal\" || orientation === \"both\") {\n $$renderer4.push(\"<!--[0-->\");\n Scroll_area_scrollbar($$renderer4, { orientation: \"horizontal\", class: scrollbarXClasses });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (Scroll_area_corner) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_corner($$renderer4, {});\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open = false, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Tooltip$1) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip$1($$renderer3, spread_props([\n restProps,\n {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { open });\n });\n}\nfunction Tooltip_trigger($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ref = null, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Tooltip_trigger$1) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip_trigger$1($$renderer3, spread_props([\n { \"data-slot\": \"tooltip-trigger\" },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip_portal($$renderer, $$props) {\n let { $$slots, $$events, ...restProps } = $$props;\n if (Portal) {\n $$renderer.push(\"<!--[-->\");\n Portal($$renderer, spread_props([restProps]));\n $$renderer.push(\"<!--]-->\");\n } else {\n $$renderer.push(\"<!--[!-->\");\n $$renderer.push(\"<!--]-->\");\n }\n}\nfunction Tooltip_content($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n sideOffset = 0,\n side = \"top\",\n children,\n arrowClasses,\n portalProps,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Tooltip_portal($$renderer3, spread_props([\n portalProps,\n {\n children: ($$renderer4) => {\n if (Tooltip_content$1) {\n $$renderer4.push(\"<!--[-->\");\n Tooltip_content$1($$renderer4, spread_props([\n {\n \"data-slot\": \"tooltip-content\",\n sideOffset,\n side,\n class: cn(\"z-50 w-fit origin-(--bits-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer5) => {\n children?.($$renderer5);\n $$renderer5.push(`<!----> `);\n {\n let child = function($$renderer6, { props }) {\n $$renderer6.push(`<div${attributes({\n class: clsx(cn(\"z-50 size-2.5 rotate-45 rounded-[2px] bg-foreground\", \"data-[side=top]:translate-x-1/2 data-[side=top]:translate-y-[calc(-50%_+_2px)]\", \"data-[side=bottom]:-translate-x-1/2 data-[side=bottom]:-translate-y-[calc(-50%_+_1px)]\", \"data-[side=right]:translate-x-[calc(50%_+_2px)] data-[side=right]:translate-y-1/2\", \"data-[side=left]:-translate-y-[calc(50%_-_3px)]\", arrowClasses)),\n ...props\n })}></div>`);\n };\n if (Tooltip_arrow) {\n $$renderer5.push(\"<!--[-->\");\n Tooltip_arrow($$renderer5, { child, $$slots: { child: true } });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction LummiImagePicker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let searchQuery = \"\";\n let isSearching = false;\n let searchError = \"\";\n let images = [];\n let currentPage = 1;\n let totalCount = 0;\n let imageType = void 0;\n let orientation = void 0;\n const hasMore = derived(() => images.length < totalCount);\n async function performSearch(page = 1) {\n if (!searchQuery.trim()) {\n searchError = \"Please enter a search term\";\n return;\n }\n isSearching = true;\n searchError = \"\";\n try {\n const params = { query: searchQuery, page, perPage: 20 };\n if (imageType) params.imageType = imageType;\n if (orientation) params.orientation = orientation;\n const result = await searchLummiImages(params);\n if (page === 1) {\n images = result.images;\n } else {\n images = [...images, ...result.images];\n }\n totalCount = result.totalCount;\n currentPage = page;\n } catch (err) {\n searchError = err instanceof Error ? err.message : \"Search failed\";\n } finally {\n isSearching = false;\n }\n }\n function handleSearch() {\n performSearch(1);\n }\n function loadMore() {\n if (!isSearching && hasMore()) {\n performSearch(currentPage + 1);\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-col gap-3\"><div class=\"flex gap-2\"><div class=\"flex-1\">`);\n Input($$renderer3, {\n placeholder: \"Search Lummi images...\",\n onkeydown: (e) => e.key === \"Enter\" && handleSearch(),\n get value() {\n return searchQuery;\n },\n set value($$value) {\n searchQuery = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div> `);\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n onclick: handleSearch,\n disabled: isSearching,\n loading: isSearching,\n icon: Search,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Search`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div> <div class=\"flex gap-2\">`);\n Select_1($$renderer3, {\n placeholder: \"Type\",\n options: [\n { value: \"\", label: \"All types\" },\n { value: \"photo\", label: \"Photo\" },\n { value: \"illustration\", label: \"Illustration\" },\n { value: \"3d\", label: \"3D\" }\n ],\n trigger: { class: \"w-[120px] text-xs\" },\n get value() {\n return imageType;\n },\n set value($$value) {\n imageType = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n Select_1($$renderer3, {\n placeholder: \"Orientation\",\n options: [\n { value: \"\", label: \"All\" },\n { value: \"horizontal\", label: \"Horizontal\" },\n { value: \"vertical\", label: \"Vertical\" },\n { value: \"square\", label: \"Square\" }\n ],\n trigger: { class: \"w-[120px] text-xs\" },\n get value() {\n return orientation;\n },\n set value($$value) {\n orientation = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div> <div class=\"flex items-start gap-2 rounded border border-blue-500/20 bg-blue-500/10 px-3 py-2\">`);\n Info($$renderer3, { class: \"mt-0.5 size-3 shrink-0 text-blue-400\" });\n $$renderer3.push(`<!----> <p class=\"text-[10px] leading-tight text-blue-200\">Images from Lummi require attribution. The author credit will be displayed automatically on\n your layer.</p></div> `);\n if (searchError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-xs text-destructive\">${escape_html(searchError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (images.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n Scroll_area($$renderer3, {\n viewportClass: \"max-h-[400px]\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"grid grid-cols-2 gap-2 pr-2\"><!--[-->`);\n const each_array = ensure_array_like(images);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let image = each_array[$$index];\n $$renderer4.push(`<button class=\"group relative overflow-hidden rounded border bg-black transition-all hover:border-primary hover:ring-1 hover:ring-primary\"><img${attr(\"src\", image.url)} alt=\"\" class=\"aspect-square w-full object-cover transition-transform group-hover:scale-105\"/> <div class=\"absolute inset-0 flex flex-col justify-end bg-gradient-to-t from-black/80 to-transparent p-2 opacity-0 transition-opacity group-hover:opacity-100\"><p class=\"truncate text-[10px] text-white\">by ${escape_html(image.author.name ?? image.author.username)}</p> <div class=\"mt-1 flex items-center gap-1 text-[9px] text-gray-300\"><span>${escape_html(image.width)}×${escape_html(image.height)}</span> <span>•</span> <span class=\"capitalize\">${escape_html(image.imageType)}</span> `);\n if (image.pro) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<span>•</span> <span class=\"text-yellow-400\">PRO</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div></div> `);\n if (Tooltip) {\n $$renderer4.push(\"<!--[-->\");\n Tooltip($$renderer4, {\n children: ($$renderer5) => {\n if (Tooltip_trigger) {\n $$renderer5.push(\"<!--[-->\");\n Tooltip_trigger($$renderer5, {\n class: \"absolute top-1 right-1\",\n children: ($$renderer6) => {\n $$renderer6.push(`<div class=\"rounded bg-black/60 p-1 opacity-0 transition-opacity group-hover:opacity-100\">`);\n External_link($$renderer6, { class: \"size-3 text-white\" });\n $$renderer6.push(`<!----></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Tooltip_content) {\n $$renderer5.push(\"<!--[-->\");\n Tooltip_content($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<p class=\"text-xs\">Click to use this image</p>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(`</button>`);\n }\n $$renderer4.push(`<!--]--></div> `);\n if (hasMore()) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"mt-3 flex justify-center\">`);\n Button($$renderer4, {\n variant: \"outline\",\n size: \"sm\",\n onclick: loadMore,\n disabled: isSearching,\n loading: isSearching,\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Load more`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n } else if (!isSearching && searchQuery) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"py-8 text-center text-sm text-muted-foreground\">No images found. Try a different search term.</div>`);\n } else if (!searchQuery) {\n $$renderer3.push(\"<!--[2-->\");\n $$renderer3.push(`<div class=\"py-8 text-center text-sm text-muted-foreground\">Search for free stock images from Lummi</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (isSearching && images.length === 0) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex items-center justify-center py-8\">`);\n Loader_circle($$renderer3, { class: \"size-6 animate-spin text-muted-foreground\" });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction AssetCard($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { asset, selected = false, actions } = $$props;\n function getMediaIcon(mediaType) {\n switch (mediaType) {\n case \"image\":\n return Image;\n case \"video\":\n return Video;\n case \"audio\":\n return Music;\n default:\n return File;\n }\n }\n const Icon2 = derived(() => getMediaIcon(asset.mediaType));\n const createdAt = derived(() => new Date(asset.createdAt).toLocaleDateString(void 0, { month: \"short\", day: \"numeric\", year: \"numeric\" }));\n $$renderer2.push(`<button type=\"button\"${attr_class(`group flex w-full items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-muted/50 ${stringify(selected ? \"bg-primary/10 ring-1 ring-primary/30\" : \"\")}`)}><div class=\"relative flex size-10 shrink-0 items-center justify-center overflow-hidden rounded bg-muted\" role=\"img\"${attr(\"aria-label\", asset.originalName)}>`);\n if (asset.mediaType === \"image\") {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<img${attr(\"src\", asset.url)}${attr(\"alt\", asset.originalName)} class=\"size-full object-cover\" loading=\"lazy\" onerror=\"this.__e=event\"/>`);\n } else if (asset.mediaType === \"video\") {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<video${attr(\"data-src\", asset.url)} class=\"size-full object-cover\" loop=\"\" preload=\"metadata\"></video>`);\n } else if (asset.mediaType === \"audio\") {\n $$renderer2.push(\"<!--[3-->\");\n $$renderer2.push(`<audio${attr(\"data-src\", asset.url)} preload=\"metadata\" loop=\"\"></audio> `);\n if (Icon2()) {\n $$renderer2.push(\"<!--[-->\");\n Icon2()($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n if (Icon2()) {\n $$renderer2.push(\"<!--[-->\");\n Icon2()($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]--> `);\n if (asset.duration) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"absolute right-0 bottom-0 left-0 bg-black/60 px-0.5 py-px text-center text-[8px] leading-tight text-white\">${escape_html(formatDuration$1(asset.duration))}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <div class=\"min-w-0 flex-1\"><p class=\"truncate text-xs font-medium\">${escape_html(asset.originalName)}</p> <div class=\"mt-0.5 flex flex-wrap items-center gap-x-1.5 gap-y-0 text-[10px] text-muted-foreground\"><span>${escape_html(formatFileSize(asset.size))}</span> <span class=\"text-muted-foreground/40\">·</span> <span class=\"capitalize\">${escape_html(asset.mediaType)}</span> <span class=\"text-muted-foreground/40\">·</span> <span>${escape_html(createdAt())}</span></div></div> `);\n if (actions) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"shrink-0 opacity-0 transition-opacity group-hover:opacity-100\">`);\n actions($$renderer2);\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></button>`);\n });\n}\nfunction AssetPicker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { mediaType, selectedUrl } = $$props;\n const PAGE_SIZE = 20;\n let searchQuery = \"\";\n let debouncedSearch = new Debounced(() => searchQuery, 300);\n let currentPage = 1;\n watch$1(() => [debouncedSearch.current], () => {\n currentPage = 1;\n });\n const assets = derived(() => getUserAssets({\n mediaType,\n search: debouncedSearch.current || void 0,\n page: currentPage,\n pageSize: PAGE_SIZE\n }));\n const assetList = derived(() => assets().current?.assets ?? []);\n const totalPages = derived(() => Math.ceil((assets().current?.total ?? 0) / PAGE_SIZE));\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-col\"><div class=\"border-b px-3 py-2\"><div class=\"relative\">`);\n Search($$renderer3, {\n class: \"absolute top-1/2 left-2 size-3 -translate-y-1/2 text-muted-foreground\"\n });\n $$renderer3.push(`<!----> `);\n Input($$renderer3, {\n type: \"text\",\n placeholder: \"Search assets...\",\n class: \"h-7 pl-6 text-xs\",\n get value() {\n return searchQuery;\n },\n set value($$value) {\n searchQuery = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div></div> `);\n Scroll_area($$renderer3, {\n viewportClass: \"max-h-[calc(50vh)]\",\n children: ($$renderer4) => {\n if (assets().loading && !assets().current) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex items-center justify-center py-6\">`);\n Loader_circle($$renderer4, { class: \"size-4 animate-spin text-muted-foreground\" });\n $$renderer4.push(`<!----></div>`);\n } else if (assetList().length === 0) {\n $$renderer4.push(\"<!--[1-->\");\n $$renderer4.push(`<div class=\"px-3 py-6 text-center text-xs text-muted-foreground\">`);\n if (debouncedSearch.current) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`No assets match \"${escape_html(debouncedSearch.current)}\".`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`${escape_html(mediaType ? `No ${mediaType} assets found` : \"No assets found\")}`);\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<div class=\"divide-y\"><!--[-->`);\n const each_array = ensure_array_like(assetList());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let asset = each_array[$$index];\n AssetCard($$renderer4, {\n asset,\n selected: asset.url === selectedUrl\n });\n }\n $$renderer4.push(`<!--]--></div>`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n if (totalPages() > 1) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex items-center justify-between border-t px-3 py-2 text-xs text-muted-foreground\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n disabled: currentPage === 1,\n onclick: () => currentPage--,\n icon: Chevron_left\n });\n $$renderer3.push(`<!----> <span>${escape_html(currentPage)} / ${escape_html(totalPages())}</span> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n disabled: currentPage >= totalPages(),\n onclick: () => currentPage++,\n icon: Chevron_right\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction FileUpload($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n value = \"\",\n currentFileName = \"\",\n mediaType,\n onUpload,\n projectId\n } = $$props;\n let uploadError = \"\";\n let displayNameOverride = \"\";\n let displayName = derived(() => displayNameOverride || currentFileName || \"\");\n let isUploading = false;\n let assetPickerOpen = false;\n let lummiPickerOpen = false;\n let recordOpen = false;\n let pendingRecording = null;\n async function handleRecordingComplete(result) {\n const localUrl = URL.createObjectURL(result.blob);\n value = localUrl;\n displayNameOverride = result.fileName;\n recordOpen = false;\n uploadError = \"\";\n isUploading = true;\n pendingRecording = result;\n try {\n const uploadResult = await uploadMediaBlob(result.blob, result.fileName, result.mediaType, projectId, result.duration);\n pendingRecording = null;\n onUpload({\n url: uploadResult.url,\n key: uploadResult.key,\n fileName: uploadResult.fileName,\n duration: result.duration,\n ...result.mediaType === \"video\" && mediaType === \"media\" ? { detectedType: \"video\" } : {}\n });\n URL.revokeObjectURL(localUrl);\n displayNameOverride = \"\";\n } catch (err) {\n uploadError = err instanceof Error ? err.message : \"Upload failed\";\n } finally {\n isUploading = false;\n }\n }\n const acceptPatterns = {\n image: \"image/jpeg,image/png,image/gif,image/webp,image/svg+xml\",\n video: \"video/mp4\",\n audio: \"audio/mp3\",\n media: \"image/jpeg,image/png,image/gif,image/webp,image/svg+xml,video/mp4\"\n };\n let maxSizeBytes = derived(() => MAX_FILE_SIZES[mediaType === \"media\" ? \"video\" : mediaType]);\n let maxSizeLabel = derived(() => formatStorage(maxSizeBytes()));\n const mediaTypeLabel = {\n image: \"image\",\n video: \"video\",\n audio: \"audio\",\n media: \"image or video\"\n };\n const mediaTypeFormats = {\n image: \"JPG, PNG, GIF, WEBP, SVG\",\n video: \"MP4\",\n audio: \"MP3\",\n media: \"JPG, PNG, MP4\"\n };\n const showCapture = derived(() => mediaType === \"image\" || mediaType === \"video\" || mediaType === \"audio\" || mediaType === \"media\");\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-col gap-2\"><div${attr_class(`group relative flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed px-4 py-5 transition-colors ${stringify(isUploading && pendingRecording ? \"cursor-default\" : \"cursor-pointer\")} ${stringify(\"border-border hover:border-primary/50 hover:bg-muted/40\")}`)} role=\"button\"${attr(\"tabindex\", isUploading && pendingRecording ? -1 : 0)}>`);\n if (isUploading && !value) {\n $$renderer3.push(\"<!--[0-->\");\n Loader_circle($$renderer3, { class: \"h-8 w-8 animate-spin text-primary\" });\n $$renderer3.push(`<!----> <p class=\"text-xs font-medium\">Uploading...</p>`);\n } else if (value && (mediaType === \"image\" || mediaType === \"video\" || mediaType === \"media\" || mediaType === \"audio\")) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"relative w-full overflow-hidden rounded\">`);\n if (mediaType === \"audio\") {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<audio${attr(\"src\", value)} controls=\"\" class=\"w-full\" preload=\"metadata\"></audio>`);\n } else if (mediaType === \"image\" || mediaType === \"media\" && !value.endsWith(\".mp4\")) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<img${attr(\"src\", value)}${attr(\"alt\", displayName())} class=\"h-auto w-full rounded\" style=\"max-height: 140px; object-fit: contain;\"/>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<video${attr(\"src\", value)} class=\"h-auto w-full rounded\" style=\"max-height: 140px; object-fit: contain;\" controls=\"\" preload=\"metadata\"></video>`);\n }\n $$renderer3.push(`<!--]--> `);\n if (isUploading && pendingRecording) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div${attr_class(`absolute inset-0 z-10 flex items-center justify-center rounded ${stringify(mediaType === \"audio\" ? \"bg-background/40\" : \"bg-black/40\")}`)}>`);\n Loader_circle($$renderer3, { class: \"h-6 w-6 animate-spin text-primary\" });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <p class=\"text-[10px] text-muted-foreground\">${escape_html(isUploading && pendingRecording ? \"Uploading... \" : \"Click or drop to replace \")}\n · ${escape_html(displayName())}</p> `);\n if (pendingRecording && uploadError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<button type=\"button\" class=\"mt-1 flex items-center gap-1 rounded border border-destructive/40 bg-destructive/10 px-2 py-1 text-[11px] text-destructive hover:bg-destructive/20\">`);\n Refresh_cw($$renderer3, { class: \"size-3\" });\n $$renderer3.push(`<!----> Retry upload</button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"flex h-10 w-10 items-center justify-center rounded-full bg-muted transition-colors group-hover:bg-muted/80\">`);\n if (mediaType === \"image\") {\n $$renderer3.push(\"<!--[0-->\");\n Image($$renderer3, { class: \"h-5 w-5 text-muted-foreground\" });\n } else if (mediaType === \"audio\") {\n $$renderer3.push(\"<!--[1-->\");\n Mic($$renderer3, { class: \"h-5 w-5 text-muted-foreground\" });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Video($$renderer3, { class: \"h-5 w-5 text-muted-foreground\" });\n }\n $$renderer3.push(`<!--]--></div> <div class=\"text-center\"><p class=\"text-xs font-medium\">${escape_html(`Drop ${mediaTypeLabel[mediaType]} here`)}</p> <p class=\"mt-0.5 text-[10px] text-muted-foreground\">${escape_html(mediaTypeFormats[mediaType])} · up to ${escape_html(maxSizeLabel())}</p></div> <span class=\"rounded border border-border bg-background px-2.5 py-1 text-[11px] text-muted-foreground transition-colors group-hover:border-primary/40 group-hover:text-foreground\">Browse file</span>`);\n }\n $$renderer3.push(`<!--]--></div> <div class=\"flex gap-1.5\">`);\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return assetPickerOpen;\n },\n set open($$value) {\n assetPickerOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n props,\n {\n variant: \"outline\",\n size: \"sm\",\n icon: Folder_open,\n class: \"flex-1 justify-start text-xs\",\n title: \"Pick from project assets\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Assets`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"w-72 p-0\",\n align: \"start\",\n children: ($$renderer5) => {\n AssetPicker($$renderer5, {\n mediaType: mediaType === \"media\" ? void 0 : mediaType,\n selectedUrl: value\n });\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (mediaType === \"image\" || mediaType === \"media\") {\n $$renderer3.push(\"<!--[0-->\");\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return lummiPickerOpen;\n },\n set open($$value) {\n lummiPickerOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n props,\n {\n variant: \"outline\",\n size: \"sm\",\n icon: Image,\n class: \"flex-1 justify-start text-xs\",\n title: \"Browse Lummi stock images\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Lummi`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"w-[400px] p-4\",\n align: \"start\",\n children: ($$renderer5) => {\n LummiImagePicker($$renderer5);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (showCapture()) {\n $$renderer3.push(\"<!--[0-->\");\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return recordOpen;\n },\n set open($$value) {\n recordOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n props,\n {\n variant: \"outline\",\n size: \"sm\",\n icon: mediaType === \"audio\" ? Mic : mediaType === \"image\" ? Camera : Video,\n class: \"flex-1 justify-start text-xs\",\n title: mediaType === \"audio\" ? \"Record audio\" : mediaType === \"image\" ? \"Capture photo\" : \"Record video\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(mediaType === \"audio\" ? \"Record\" : mediaType === \"image\" ? \"Capture\" : \"Record\")}`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"w-80 p-3\",\n align: \"end\",\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"flex flex-col gap-3\">`);\n if (mediaType === \"audio\") {\n $$renderer5.push(\"<!--[0-->\");\n AudioRecorder($$renderer5, {\n maxSizeBytes: maxSizeBytes(),\n onRecordingComplete: handleRecordingComplete\n });\n } else if (mediaType === \"video\") {\n $$renderer5.push(\"<!--[1-->\");\n VideoRecorder($$renderer5, {\n maxSizeBytes: maxSizeBytes(),\n onRecordingComplete: handleRecordingComplete\n });\n } else if (mediaType === \"image\") {\n $$renderer5.push(\"<!--[2-->\");\n CameraCapture($$renderer5, {\n projectId,\n onCaptureComplete: (result) => {\n onUpload(result);\n recordOpen = false;\n }\n });\n } else if (mediaType === \"media\") {\n $$renderer5.push(\"<!--[3-->\");\n $$renderer5.push(`<p class=\"text-xs font-medium text-muted-foreground\">Record video</p> `);\n VideoRecorder($$renderer5, {\n maxSizeBytes: maxSizeBytes(),\n onRecordingComplete: handleRecordingComplete\n });\n $$renderer5.push(`<!----> <p class=\"text-xs font-medium text-muted-foreground\">Capture photo</p> `);\n CameraCapture($$renderer5, {\n projectId,\n onCaptureComplete: (result) => {\n onUpload({ ...result, detectedType: \"image\" });\n recordOpen = false;\n }\n });\n $$renderer5.push(`<!---->`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <input type=\"file\" class=\"hidden\"${attr(\"accept\", acceptPatterns[mediaType])}/> `);\n if (uploadError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-xs text-destructive\">${escape_html(uploadError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction Media_upload_step($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const {\n values: _values,\n ctx: _ctx,\n onUpdate,\n onComplete,\n mediaType = \"video\"\n } = $$props;\n FileUpload($$renderer2, {\n mediaType,\n onUpload: (result) => {\n const stepValues = {\n src: result.url,\n fileKey: result.key,\n fileName: result.fileName,\n duration: result.duration,\n detectedType: result.detectedType\n };\n onUpdate(stepValues);\n onComplete(stepValues);\n }\n });\n });\n}\nconst configSchema$6 = z.object({\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n })\n});\nconst template$8 = {\n id: \"video-beautifier\",\n name: \"Video Beautifier\",\n description: \"Add a beautiful background and frame to any video in seconds\",\n thumbnail: \"/templates/video-beautifier.svg\",\n icon: Sparkles,\n category: \"media\",\n seoTitle: \"Free Video Beautifier — Add Background & Frame to Videos\",\n seoDescription: \"Instantly add a polished background and rounded frame to your video. Perfect for sharing on social media, presentations, and portfolios. Free tool.\",\n keywords: [\n \"video beautifier\",\n \"video background\",\n \"video frame\",\n \"video mockup\",\n \"video presenter\",\n \"social media video\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Select the video you want to beautify\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Style It\",\n description: \"Choose a background and corner radius for the frame\",\n schema: configSchema$6\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, duration: mediaDuration, background } = values;\n const { width, height } = ctx.project;\n const ar = height / width;\n const enterTime = ctx.currentTime;\n const duration = mediaDuration ?? 5;\n const exitTime = enterTime + duration;\n const paddingPct = Math.min(1, ar) * 7;\n const videoLayer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: round1(100 - paddingPct * 2),\n height: round1(toPct(ar) - paddingPct * 2),\n objectFit: \"cover\",\n frame: \"arc\",\n frameWidth: 8\n },\n projectDimensions: { width, height },\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: mediaDuration }\n });\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background, duration: exitTime },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: videoLayer,\n presets: [{ id: \"fade-in\", startTime: enterTime, duration: 0.4 }]\n }\n ]\n };\n }\n};\nconst __vite_glob_0_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$8\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst stepSchema = z.object({\n url: z.url().default(\"/demo/skeleton.html\").register(fieldRegistry, { label: \"Website URL\" }),\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n }),\n laptopColor: z.string().default(\"#2d2d2d\").register(fieldRegistry, { label: \"Laptop color\", widget: \"color\" })\n});\nconst template$7 = {\n id: \"laptop-3d-intro\",\n name: \"Laptop 3D Intro\",\n description: \"Animate any website inside a 3D laptop with a cinematic opening effect\",\n thumbnail: \"/templates/laptop-3d-intro.svg\",\n icon: Laptop,\n category: \"composite\",\n seoTitle: \"Free 3D Laptop Intro Maker — Animate Any Website\",\n seoDescription: \"Drop any URL into a cinematic 3D laptop animation. Perfect for product launches, app showcases, and SaaS demos. Free online tool.\",\n keywords: [\n \"laptop mockup\",\n \"3d laptop animation\",\n \"website mockup video\",\n \"product demo animation\",\n \"saas intro video\",\n \"app showcase\"\n ],\n steps: [\n {\n title: \"Configure Laptop\",\n description: \"Enter the URL to display and customize the look\",\n schema: stepSchema\n }\n ],\n apply(values, ctx) {\n const { url, laptopColor } = values;\n const { width, height } = ctx.project;\n const background = values.background;\n const enterTime = ctx.currentTime;\n const duration = 7;\n const exitTime = enterTime + duration;\n const ar = height / width;\n const lapZ0 = 448;\n const lapZ1 = -2e3;\n const lapZ2 = -840;\n const lapY0 = round1(ar * 60);\n const lapY1 = round1(ar * 50);\n const keyframes = [\n // t=0: Far away, fully open, flat perspective\n { time: enterTime, property: \"position.y\", value: lapY0 },\n { time: enterTime, property: \"position.z\", value: lapZ0 },\n { time: enterTime, property: \"props.openAngle\", value: 180 },\n { time: enterTime, property: \"rotation.x\", value: 0 },\n { time: enterTime, property: \"rotation.y\", value: 0 },\n // t=2.5s: Rotate into 3D view, close partially\n { time: enterTime + 2.5, property: \"rotation.y\", value: 0 },\n { time: enterTime + 2.5, property: \"rotation.x\", value: 1.45 },\n { time: enterTime + 2.5, property: \"props.openAngle\", value: 106 },\n { time: enterTime + 2.5, property: \"position.z\", value: lapZ1 },\n { time: enterTime + 2.5, property: \"position.y\", value: lapY1 },\n // t=4.5s: Continue closing\n { time: enterTime + 4.5, property: \"props.openAngle\", value: 64 },\n { time: enterTime + 4.5, property: \"rotation.x\", value: 1.1 },\n // t=5.5s: Final resting position — readable angle\n { time: enterTime + 5.5, property: \"position.z\", value: lapZ2 },\n { time: enterTime + 5.5, property: \"position.y\", value: lapY1 },\n { time: enterTime + 5.5, property: \"props.openAngle\", value: 73 }\n ];\n const keyframesWithEasing = keyframes.map(\n (kf) => ({\n ...kf,\n id: nanoid(),\n interpolation: {\n family: \"continuous\",\n strategy: \"ease-in-out\"\n }\n })\n );\n const dev = deviceSize({ width, height }, \"laptop\");\n const laptopLayer = createLayer(\"laptop\", {\n props: {\n url,\n ...dev,\n baseColor: laptopColor,\n screenColor: laptopColor,\n openAngle: 180,\n _aspectRatio: 1,\n _aspectRatioLocked: false\n },\n transform: {\n position: { x: 0, y: lapY0, z: lapZ0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n projectDimensions: { width, height },\n layer: {\n name: \"Laptop\",\n enterTime,\n exitTime\n },\n keyframes: keyframesWithEasing\n });\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: laptopLayer\n }\n ]\n };\n }\n};\nconst __vite_glob_0_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$7\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$5 = meta.schema.pick({\n fontFamily: true,\n fontWeight: true,\n fontSize: true,\n textColor: true,\n bgColor: true\n}).extend({\n position: z.enum([\"bottom\", \"top\", \"middle\"]).default(\"bottom\").register(fieldRegistry, { label: \"Position\" })\n});\nconst template$6 = {\n id: \"add-captions\",\n name: \"Auto Captions Generator\",\n description: \"Upload a video and get accurate auto-generated captions in seconds\",\n thumbnail: \"/templates/add-captions.svg\",\n icon: Captions,\n category: \"media\",\n seoTitle: \"Free Auto Captions Generator — Add Subtitles to Any Video\",\n seoDescription: \"Upload your video and generate accurate subtitles automatically with AI. Free online tool — no registration required to try.\",\n keywords: [\n \"auto captions\",\n \"subtitle generator\",\n \"add captions to video\",\n \"video transcription\",\n \"automatic subtitles\",\n \"free caption maker\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Select a video file to add captions to\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Caption Style\",\n description: \"Customize how your captions look\",\n schema: configSchema$5\n }\n ],\n async apply(values, ctx) {\n const { src, fileKey, duration, ...captionsProps } = values;\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const exitTime = enterTime + duration;\n const videoLayer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: 100,\n height: toPct(height / width),\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: duration }\n });\n const input = createFromSchema(generateCaptionsAction.inputSchema, captionsProps);\n const { layersToAdd, layersToUpdate } = await runAction({\n action: generateCaptionsAction,\n input,\n project: ctx.project,\n sourceLayer: videoLayer\n });\n return {\n layersToAdd: [{ layer: videoLayer }, ...layersToAdd ?? []],\n layersToUpdate: [...layersToUpdate ?? []],\n projectUpdates: { ...ctx.project.duration < exitTime && { duration: exitTime } }\n };\n }\n};\nconst __vite_glob_0_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$6\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$4 = z.object({\n browserUrl: z.string().default(\"https://yoursite.com\").register(fieldRegistry, { label: \"URL shown in browser bar\" }),\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n })\n});\nconst template$5 = {\n id: \"video-to-browser\",\n name: \"Browser Mockup Video\",\n description: \"Wrap a screen recording inside an animated browser window\",\n thumbnail: \"/templates/video-to-browser.svg\",\n icon: Globe,\n category: \"composite\",\n seoTitle: \"Free Browser Mockup Video Maker — Wrap Screen Recordings\",\n seoDescription: \"Instantly wrap your screen recording in a realistic browser window mockup. Perfect for SaaS demos, tutorials, and product videos. Free tool.\",\n keywords: [\n \"browser mockup\",\n \"screen recording mockup\",\n \"browser frame video\",\n \"saas demo video\",\n \"product walkthrough\",\n \"website mockup video\"\n ],\n steps: [\n {\n title: \"Upload Screen Recording\",\n description: \"Select a screen recording or screenshot to wrap in a browser\",\n component: Media_upload_step,\n componentProps: { mediaType: \"media\" }\n },\n {\n title: \"Browser Settings\",\n description: \"Customize the browser appearance and background\",\n schema: configSchema$4\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, detectedType, duration: mediaDuration, browserUrl, background } = values;\n const isVideo = detectedType === \"video\";\n const { width, height } = ctx.project;\n const ar = height / width;\n const enterTime = ctx.currentTime;\n const duration = isVideo ? mediaDuration ?? 5 : 5;\n const exitTime = enterTime + duration;\n const browserW = 88;\n const browserH = round1(ar * 82);\n const browserLayer = createLayer(\"browser\", {\n props: { url: browserUrl, width: browserW, height: browserH },\n projectDimensions: ctx.project,\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 16,\n dropShadowBlur: 48,\n dropShadowColor: \"rgba(0,0,0,0.4)\"\n },\n layer: { name: \"Browser\", enterTime, exitTime }\n });\n const contentH = round1(browserH - pxToPct({ width }, 40));\n const contentLayer = isVideo ? createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: browserW,\n height: contentH,\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Screen Recording\", enterTime, exitTime, contentDuration: mediaDuration }\n }) : createLayer(\"image\", {\n props: {\n src,\n fileKey,\n width: browserW,\n height: contentH,\n objectFit: \"cover\"\n },\n projectDimensions: { width, height },\n layer: { name: \"Screenshot\", enterTime, exitTime }\n });\n contentLayer.parentId = browserLayer.id;\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: browserLayer,\n presets: [{ id: \"zoom-in\", startTime: enterTime, duration: 0.5 }]\n },\n {\n layer: contentLayer,\n presets: [{ id: \"fade-in\", startTime: enterTime + 0.2, duration: 0.35 }]\n }\n ]\n };\n }\n};\nconst __vite_glob_0_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$5\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst dubLanguageOptions = dubLanguages.map((l) => ({ value: l.value, label: l.label }));\nconst dubLanguageCodes = dubLanguages.map((l) => l.value);\nconst configSchema$3 = z.object({\n targetLang: z.enum(dubLanguageCodes).default(\"en\").register(fieldRegistry, {\n label: \"Target language\",\n widget: \"select\",\n options: dubLanguageOptions\n })\n});\nconst template$4 = {\n id: \"translate-video\",\n name: \"Video Translator\",\n description: \"Dub your video into another language using AI voice cloning\",\n thumbnail: \"/templates/translate-video.svg\",\n icon: Languages,\n category: \"media\",\n isPro: true,\n seoTitle: \"Free AI Video Translator — Dub Video to Any Language\",\n seoDescription: \"Translate your video into 12+ languages with AI-powered voice dubbing. Keep original lip sync and tone. Free to try — no login required.\",\n keywords: [\n \"video translator\",\n \"ai dubbing\",\n \"video dubbing\",\n \"translate video\",\n \"voice cloning\",\n \"multilingual video\",\n \"video localization\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Upload the video you want to translate\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Choose Target Language\",\n description: \"Select the language you want to dub your video into\",\n schema: configSchema$3\n }\n ],\n async apply(values, ctx) {\n const { src, fileKey, duration } = values;\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const exitTime = enterTime + duration;\n const videoLayer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: 100,\n height: toPct(height / width),\n objectFit: \"cover\",\n // Mute original audio — dubbed audio layer will replace it\n volume: 0,\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Original Video\", enterTime, exitTime, contentDuration: duration }\n });\n const { layersToAdd, layersToUpdate } = await runAction({\n action: dubAudioAction,\n input: createFromSchema(dubAudioAction.inputSchema, {\n targetLang: values.targetLang\n }),\n sourceLayer: videoLayer,\n project: ctx.project\n });\n return {\n layersToAdd: [{ layer: videoLayer }, ...layersToAdd ?? []],\n layersToUpdate,\n projectUpdates: { ...exitTime > ctx.project.duration ? { duration: exitTime } : {} }\n };\n }\n};\nconst __vite_glob_0_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$4\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$2 = z.object({\n aggressiveness: z.enum([\"light\", \"balanced\", \"aggressive\"]).default(\"balanced\").register(fieldRegistry, { label: \"Cut aggressiveness\" })\n});\nconst template$3 = {\n id: \"auto-cut\",\n name: \"Silence Remover\",\n description: \"Automatically detect and remove silent/boring parts from your video\",\n thumbnail: \"/templates/auto-cut.svg\",\n icon: Scissors,\n category: \"media\",\n isPro: true,\n seoTitle: \"Free Silence Remover — Auto-Cut Dead Air from Videos\",\n seoDescription: \"Upload your video and let AI automatically detect and remove silences, pauses, and boring sections. Free online silence remover.\",\n keywords: [\n \"silence remover\",\n \"auto cut video\",\n \"remove silence from video\",\n \"jump cut editor\",\n \"video trimmer\",\n \"podcast editor\",\n \"youtube editor\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Upload the video you want to trim\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Cut Settings\",\n description: \"Choose how aggressively to remove silences\",\n schema: configSchema$2\n },\n {\n title: \"Analyzing Video\",\n description: \"AI is detecting silences and boring sections...\",\n async execute(values, _ctx, onProgress) {\n const fileKey = values.fileKey;\n const duration = values.duration;\n const aggressiveness = values.aggressiveness ?? \"balanced\";\n onProgress(0.1);\n const result = await analyzeMediaAsset({ fileKey });\n onProgress(0.8);\n let segments;\n const analysisData = result.success ? result.data : null;\n const annotation = analysisData?.success ? analysisData.annotation : null;\n if (annotation) {\n const typesToCut = aggressiveness === \"light\" ? [\"dead-space\"] : aggressiveness === \"balanced\" ? [\"dead-space\", \"tangent\"] : [\"dead-space\", \"tangent\", \"outro\"];\n segments = annotation.segments.filter((s) => !typesToCut.includes(s.type)).map((s) => ({ start: s.start, end: s.end }));\n } else {\n const segmentLength = aggressiveness === \"light\" ? 30 : aggressiveness === \"balanced\" ? 20 : 10;\n segments = [];\n for (let start = 0; start < duration; start += segmentLength + 1) {\n segments.push({ start, end: Math.min(start + segmentLength, duration) });\n }\n }\n if (segments.length === 0) {\n segments.push({ start: 0, end: duration });\n }\n onProgress(1);\n return { segments, fileKey, src: values.src };\n }\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, duration, segments } = values;\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const allSegments = segments ?? [{ start: 0, end: duration }];\n const layers = [];\n let cursor = enterTime;\n for (const seg of allSegments) {\n const segDuration = seg.end - seg.start;\n const layer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: 100,\n height: toPct(height / width),\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: {\n name: `Clip ${Math.round(seg.start)}s–${Math.round(seg.end)}s`,\n enterTime: cursor,\n exitTime: cursor + segDuration,\n contentDuration: duration,\n contentOffset: seg.start\n }\n });\n layers.push({ layer });\n cursor += segDuration;\n }\n return {\n layersToAdd: layers,\n projectUpdates: { ...cursor > ctx.project.duration ? { duration: cursor } : {} }\n };\n }\n};\nconst __vite_glob_0_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$3\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$1 = z.object({\n headline: z.string().default(\"\").register(fieldRegistry, { label: \"Headline text\" }),\n subtext: z.string().default(\"\").register(fieldRegistry, { label: \"Subtext (optional)\" }),\n background: BackgroundValueSchema.default({\n type: \"linear\",\n angle: 135,\n stops: [\n { color: \"#667eea\", position: 0 },\n { color: \"#764ba2\", position: 100 }\n ]\n }).register(fieldRegistry, { label: \"Background\", widget: \"background\" }),\n animateIn: z.boolean().default(true).register(fieldRegistry, { label: \"Animate screenshot in\" })\n});\nconst template$2 = {\n id: \"screenshot-to-social\",\n name: \"Screenshot to Social Card\",\n description: \"Turn any screenshot into an animated social media card with text and branding\",\n thumbnail: \"/templates/screenshot-to-social.svg\",\n icon: Image_play,\n category: \"composite\",\n seoTitle: \"Free Screenshot to Social Card Maker — Animated Video\",\n seoDescription: \"Drop a screenshot and turn it into a polished animated social card with gradient background, headline, and smooth reveal animation. Free.\",\n keywords: [\n \"screenshot to video\",\n \"social media card maker\",\n \"animated social post\",\n \"product screenshot\",\n \"marketing video maker\",\n \"twitter card video\"\n ],\n steps: [\n {\n title: \"Upload Media\",\n description: \"Upload a screenshot, image, or video to showcase\",\n component: Media_upload_step,\n componentProps: { mediaType: \"media\" }\n },\n {\n title: \"Card Content\",\n description: \"Add your headline, subtext, and choose a background color\",\n schema: configSchema$1\n }\n ],\n apply(values, ctx) {\n const {\n src,\n fileKey,\n detectedType,\n duration: mediaDuration,\n headline,\n subtext,\n background,\n animateIn\n } = values;\n const isVideo = detectedType === \"video\";\n const { width, height } = ctx.project;\n const ar = height / width;\n const enterTime = ctx.currentTime;\n const duration = mediaDuration ?? 5;\n const exitTime = enterTime + duration;\n const layers = [];\n const bgLayer = createLayer(\"shape\", {\n props: { shapeType: \"rectangle\", background, width: 100, height: toPct(ar), borderRadius: 0 },\n projectDimensions: { width, height },\n layer: { name: \"Background\", enterTime, exitTime }\n });\n layers.push({ layer: bgLayer });\n const mediaWidthPct = 75;\n const mediaHeightPct = round1(mediaWidthPct * 0.56);\n const hasText = headline || subtext;\n const sharedStyle = {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 12,\n dropShadowBlur: 40,\n dropShadowColor: \"rgba(0,0,0,0.35)\"\n };\n const sharedTransform = {\n position: { x: 0, y: hasText ? -round1(ar * 8) : 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n };\n const mediaLayer = isVideo ? createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: mediaWidthPct,\n height: mediaHeightPct,\n borderRadius: 12,\n objectFit: \"cover\"\n },\n transform: sharedTransform,\n style: sharedStyle,\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: mediaDuration }\n }) : createLayer(\"image\", {\n props: {\n src,\n fileKey,\n width: mediaWidthPct,\n height: mediaHeightPct,\n objectFit: \"cover\"\n },\n transform: sharedTransform,\n style: sharedStyle,\n layer: { name: \"Screenshot\", enterTime, exitTime }\n });\n layers.push({\n layer: mediaLayer,\n presets: animateIn ? [{ id: \"zoom-in\", startTime: enterTime, duration: 0.6 }] : void 0\n });\n if (headline) {\n const headlineLayer = createLayer(\"text\", {\n props: {\n content: headline,\n fontSize: 42,\n fontWeight: \"700\",\n color: \"#ffffff\",\n textAlign: \"center\",\n letterSpacing: -0.5\n },\n transform: {\n position: { x: 0, y: round1(ar * 50 - pxToPct({ width }, 72)), z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n layer: { name: \"Headline\", enterTime, exitTime }\n });\n layers.push({\n layer: headlineLayer,\n presets: [{ id: \"slide-in-bottom\", startTime: enterTime + 0.25, duration: 0.5 }]\n });\n }\n if (subtext) {\n const subtextLayer = createLayer(\"text\", {\n props: {\n content: subtext,\n fontSize: 22,\n fontWeight: \"400\",\n color: \"rgba(255,255,255,0.7)\",\n textAlign: \"center\",\n letterSpacing: 0.2\n },\n transform: {\n position: { x: 0, y: round1(ar * 50 - pxToPct({ width }, 30)), z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n layer: { name: \"Subtext\", enterTime, exitTime }\n });\n layers.push({\n layer: subtextLayer,\n presets: [{ id: \"slide-in-bottom\", startTime: enterTime + 0.4, duration: 0.5 }]\n });\n }\n return {\n layersToAdd: layers,\n projectUpdates: {\n ...exitTime > ctx.project.duration ? { duration: Math.ceil(exitTime) } : {}\n }\n };\n }\n};\nconst __vite_glob_0_7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$2\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst template$1 = {\n id: \"generate-video\",\n name: \"AI Video Generator\",\n description: \"Generate a video from a text prompt using Seedance 2.0 AI\",\n thumbnail: \"/templates/generate-video.svg\",\n icon: Sparkles,\n category: \"media\",\n isPro: true,\n seoTitle: \"Free AI Video Generator — Text to Video in Seconds\",\n seoDescription: \"Generate stunning AI videos from text prompts using state-of-the-art Seedance 2.0 model. Native audio, any aspect ratio. Free to try.\",\n keywords: [\n \"ai video generator\",\n \"text to video\",\n \"ai video creation\",\n \"seedance\",\n \"video generation\",\n \"generative ai video\"\n ],\n steps: [\n {\n title: \"Describe Your Video\",\n description: \"Write a prompt and choose generation settings\",\n schema: GenerateVideoSchema\n }\n ],\n async apply(values, ctx) {\n const { layersToAdd, layersToUpdate, projectUpdates } = await runAction({\n action: generateVideoAction,\n input: createFromSchema(generateVideoAction.inputSchema, values),\n project: ctx.project\n });\n return {\n layersToAdd,\n layersToUpdate,\n projectUpdates\n };\n }\n};\nconst __vite_glob_0_8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$1\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema = z.object({\n phoneColor: z.string().default(\"#1f2937\").register(fieldRegistry, { label: \"Phone Frame Color\", widget: \"color\" }),\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n })\n});\nconst template = {\n id: \"video-to-phone\",\n name: \"Phone Mockup Video\",\n description: \"Wrap your video or screenshot inside an animated phone frame\",\n thumbnail: \"/templates/video-to-phone.svg\",\n icon: Smartphone,\n category: \"composite\",\n seoTitle: \"Free Phone Mockup Video Maker — Wrap Videos in a Phone Frame\",\n seoDescription: \"Instantly wrap your video or screenshot in a realistic phone mockup. Perfect for app demos, social media content, and product showcases. Free tool.\",\n keywords: [\n \"phone mockup\",\n \"mobile mockup video\",\n \"app demo video\",\n \"smartphone frame\",\n \"iphone mockup\",\n \"social media mockup\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Select a video or screenshot to display inside the phone\",\n component: Media_upload_step,\n componentProps: { mediaType: \"media\" }\n },\n {\n title: \"Phone Settings\",\n description: \"Customize the phone frame color and background\",\n schema: configSchema\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, detectedType, duration: mediaDuration, phoneColor, background } = values;\n const isVideo = detectedType === \"video\";\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const duration = isVideo ? mediaDuration ?? 5 : 5;\n const exitTime = enterTime + duration;\n const phoneW = round1(Math.min(45, pxToPct({ width }, 375)));\n const phoneH = round1(phoneW * (667 / 375));\n const bezelWidth = pxToPct({ width }, 12);\n const notchHeight = pxToPct({ width }, 28);\n const phoneLayer = createLayer(\"phone\", {\n props: {\n width: phoneW,\n height: phoneH,\n phoneColor,\n borderRadius: pxToPct({ width }, 40),\n bezelWidth,\n notchHeight,\n showNotch: true\n },\n projectDimensions: ctx.project,\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 20,\n dropShadowBlur: 60,\n dropShadowColor: \"rgba(0,0,0,0.45)\"\n },\n layer: { name: \"Phone Frame\", enterTime, exitTime }\n });\n const contentW = phoneW - bezelWidth * 2;\n const contentH = phoneH - bezelWidth * 2 - notchHeight;\n const contentLayer = isVideo ? createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: contentW,\n height: contentH,\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: mediaDuration }\n }) : createLayer(\"image\", {\n props: {\n src,\n fileKey,\n width: contentW,\n height: contentH,\n objectFit: \"cover\"\n },\n projectDimensions: { width, height },\n layer: { name: \"Screenshot\", enterTime, exitTime }\n });\n contentLayer.parentId = phoneLayer.id;\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background, duration: exitTime },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: phoneLayer,\n presets: [{ id: \"zoom-in\", startTime: enterTime, duration: 0.5 }]\n },\n {\n layer: contentLayer,\n presets: [{ id: \"fade-in\", startTime: enterTime + 0.2, duration: 0.35 }]\n }\n ]\n };\n }\n};\nconst __vite_glob_0_9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst templateModules = /* @__PURE__ */ Object.assign({ \"./templates/1-screen-webcam-demo.ts\": __vite_glob_0_0, \"./templates/10-video-beautifier.ts\": __vite_glob_0_1, \"./templates/2-laptop-3d-intro.ts\": __vite_glob_0_2, \"./templates/3-add-captions.ts\": __vite_glob_0_3, \"./templates/4-video-to-browser.ts\": __vite_glob_0_4, \"./templates/5-translate-video.ts\": __vite_glob_0_5, \"./templates/6-auto-cut.ts\": __vite_glob_0_6, \"./templates/7-screenshot-to-social.ts\": __vite_glob_0_7, \"./templates/8-generate-video.ts\": __vite_glob_0_8, \"./templates/9-video-to-phone.ts\": __vite_glob_0_9 });\nconst templateRegistry = Object.values(templateModules).map(\n (m) => m.template\n);\nfunction getTemplateById(id) {\n return templateRegistry.find((t) => t.id === id);\n}\nexport {\n FileUpload as F,\n Rotate_cw as R,\n Scroll_area as S,\n Tooltip$1 as T,\n Tooltip_trigger$1 as a,\n Tooltip_content as b,\n Tooltip as c,\n Tooltip_trigger as d,\n getTemplateById as g,\n templateRegistry as t\n};\n"],"names":["isFunction","watch","noop","Portal","watch$1","meta"],"mappings":"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"}
1
+ {"version":3,"file":"registry2-CC-NhK3h.js","sources":["../../../.svelte-kit/adapter-node/chunks/scissors.js","../../../.svelte-kit/adapter-node/chunks/monitor-play.js","../../../.svelte-kit/adapter-node/chunks/registry2.js"],"sourcesContent":["import \"./async.js\";\nimport { s as spread_props } from \"./index8.js\";\nimport { I as Icon } from \"./Icon.js\";\nfunction Monitor($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"rect\",\n { \"width\": \"20\", \"height\": \"14\", \"x\": \"2\", \"y\": \"3\", \"rx\": \"2\" }\n ],\n [\"line\", { \"x1\": \"8\", \"x2\": \"16\", \"y1\": \"21\", \"y2\": \"21\" }],\n [\"line\", { \"x1\": \"12\", \"x2\": \"12\", \"y1\": \"17\", \"y2\": \"21\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"monitor\" },\n /**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjMiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSI4IiB4Mj0iMTYiIHkxPSIyMSIgeTI9IjIxIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTciIHkyPSIyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Scissors($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"6\", \"cy\": \"6\", \"r\": \"3\" }],\n [\"path\", { \"d\": \"M8.12 8.12 12 12\" }],\n [\"path\", { \"d\": \"M20 4 8.12 15.88\" }],\n [\"circle\", { \"cx\": \"6\", \"cy\": \"18\", \"r\": \"3\" }],\n [\"path\", { \"d\": \"M14.8 14.8 20 20\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"scissors\" },\n /**\n * @component @name Scissors\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNOC4xMiA4LjEyIDEyIDEyIiAvPgogIDxwYXRoIGQ9Ik0yMCA0IDguMTIgMTUuODgiIC8+CiAgPGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xNC44IDE0LjggMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scissors\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nexport {\n Monitor as M,\n Scissors as S\n};\n","import \"./async.js\";\nimport { s as spread_props } from \"./index8.js\";\nimport { I as Icon } from \"./Icon.js\";\nfunction Monitor_play($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z\"\n }\n ],\n [\"path\", { \"d\": \"M12 17v4\" }],\n [\"path\", { \"d\": \"M8 21h8\" }],\n [\n \"rect\",\n { \"x\": \"2\", \"y\": \"3\", \"width\": \"20\", \"height\": \"14\", \"rx\": \"2\" }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"monitor-play\" },\n /**\n * @component @name MonitorPlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KICA8cmVjdCB4PSIyIiB5PSIzIiB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/monitor-play\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nexport {\n Monitor_play as M\n};\n","import { c as createLayer, f as round1, b as generateCaptionsAction, h as runAction, t as toPct, i as deviceSize, p as pxToPct, j as dubLanguages, d as dubAudioAction, G as GenerateVideoSchema, a as generateVideoAction } from \"./generate-speech.js\";\nimport \"./async.js\";\nimport { e as escape_html } from \"./escaping.js\";\nimport \"clsx\";\nimport { B as Button, L as Loader_circle } from \"./button.js\";\nimport { r as requestUpload, c as confirmUpload } from \"./upload.remote.js\";\nimport { e as extractMediaMetadataFromUrl, f as formatDuration$1, b as formatFileSize } from \"./media.js\";\nimport { M as Monitor, S as Scissors } from \"./scissors.js\";\nimport { aI as Camera, ac as Square, aJ as isFunction, aK as useId, aL as FloatingArrowState, aM as Previous, M as noop, ap as Floating_layer, ar as Popper_layer_force_mount, as as Popper_layer, at as getFloatingContentCSSVars, aN as Mic, g as getEditorState, aa as Video, a3 as Portal, d as Search, e as Select_1, aO as External_link, aP as Music, aQ as Image, D as Debounced, v as Popover, w as Popover_trigger, x as Popover_content, aR as defaultBackground, f as Sparkles, aS as Laptop, aT as meta, af as Captions, ag as Languages, ab as Smartphone } from \"./editor.svelte.js\";\nimport { c as createFromSchema, b as BackgroundValueSchema, f as fieldRegistry } from \"./registry-data.js\";\nimport { M as Monitor_play } from \"./monitor-play.js\";\nimport { z } from \"zod\";\nimport { s as spread_props, d as derived, j as attributes, c as attr, k as bind_props, p as props_id, l as attr_class, i as stringify, m as clsx, e as ensure_array_like } from \"./index8.js\";\nimport { u as uiStore } from \"./ui.svelte.js\";\nimport { R as RECORDER_STOP_THRESHOLD, M as MAX_FILE_SIZES } from \"./index5.js\";\nimport { I as Icon } from \"./Icon.js\";\nimport { X, G as Globe } from \"./x.js\";\nimport { C as Check } from \"./check.js\";\nimport { m as mergeProps, b as boxWith, s as simpleBox, h as executeCallbacks, a as attachRef, d as createBitsAttrs, f as createId, I as Input } from \"./input.js\";\nimport { c as cn } from \"./utils2.js\";\nimport { w as watch, C as Context, D as DOMContext } from \"./dom-context.svelte.js\";\nimport { o as on } from \"./root.js\";\nimport { a as TooltipRootState, b as TooltipContentState, c as TooltipTriggerState } from \"./tooltip.svelte.js\";\nimport { s as searchLummiImages } from \"./lummi.remote.js\";\nimport { g as getUserAssets } from \"./assets.remote.js\";\nimport { w as watch$1 } from \"./watch.svelte.js\";\nimport { C as Chevron_left } from \"./chevron-left.js\";\nimport { C as Chevron_right } from \"./chevron-right.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"./url.js\";\nimport \"./utils.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"./exports.js\";\nimport \"./client2.js\";\nimport \"./auth.remote.js\";\nimport \"./projects.remote.js\";\nimport \"./base.js\";\nimport { formatStorage } from \"./plans.js\";\nimport { R as Refresh_cw } from \"./refresh-cw.js\";\nimport { nanoid } from \"nanoid\";\nimport { a as analyzeMediaAsset } from \"./media-analysis.remote.js\";\nfunction File($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\n }\n ],\n [\"path\", { \"d\": \"M14 2v5a1 1 0 0 0 1 1h5\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"file\" },\n /**\n * @component @name File\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Folder_open($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"folder-open\" },\n /**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Image_play($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M15 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z\"\n }\n ],\n [\n \"path\",\n {\n \"d\": \"M21 12.17V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6\"\n }\n ],\n [\"path\", { \"d\": \"m6 21 5-5\" }],\n [\"circle\", { \"cx\": \"9\", \"cy\": \"9\", \"r\": \"2\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"image-play\" },\n /**\n * @component @name ImagePlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTUuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N2ExIDEgMCAwIDEtMS41MTctLjg2eiIgLz4KICA8cGF0aCBkPSJNMjEgMTIuMTdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYiIC8+CiAgPHBhdGggZD0ibTYgMjEgNS01IiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSI5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/image-play\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Info($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"10\" }],\n [\"path\", { \"d\": \"M12 16v-4\" }],\n [\"path\", { \"d\": \"M12 8h.01\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"info\" },\n /**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMTZ2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDhoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Rotate_cw($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n { \"d\": \"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8\" }\n ],\n [\"path\", { \"d\": \"M21 3v5h-5\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"rotate-cw\" },\n /**\n * @component @name RotateCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTktOWMyLjUyIDAgNC45MyAxIDYuNzQgMi43NEwyMSA4IiAvPgogIDxwYXRoIGQ9Ik0yMSAzdjVoLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rotate-cw\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nasync function uploadMediaBlob(blob, fileName, mediaType, _projectId, duration) {\n const reqResult = await requestUpload({\n fileName,\n mimeType: blob.type,\n size: blob.size,\n mediaTypeHint: mediaType,\n duration\n });\n if (!reqResult.success) {\n throw new Error(reqResult.error);\n }\n const {\n uploadUrl,\n key,\n fileUrl,\n assetId,\n originalName,\n mediaType: resolvedMediaType\n } = reqResult.data;\n const putRes = await fetch(uploadUrl, {\n method: \"PUT\",\n headers: { \"Content-Type\": blob.type },\n body: blob\n });\n if (!putRes.ok) {\n throw new Error(`Upload failed (${putRes.status})`);\n }\n const confirmResult = await confirmUpload({\n assetId,\n key,\n fileUrl,\n originalName,\n mimeType: blob.type,\n mediaType: resolvedMediaType,\n duration: duration && isFinite(duration) ? Math.floor(duration) : null\n });\n if (!confirmResult.success) {\n throw new Error(confirmResult.error);\n }\n return {\n url: fileUrl,\n key,\n fileName: originalName,\n duration\n };\n}\nfunction generateTimestampedFileName(prefix, extension) {\n const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, \"-\");\n return `${prefix}-${timestamp}.${extension}`;\n}\nfunction formatDuration(seconds) {\n const mins = Math.floor(seconds / 60);\n const secs = seconds % 60;\n return `${mins}:${secs.toString().padStart(2, \"0\")}`;\n}\nfunction handleMediaError(err) {\n if (err instanceof DOMException) {\n if (err.name === \"NotAllowedError\" || err.name === \"PermissionDeniedError\") {\n return {\n type: \"permission\",\n message: \"Permission denied. Please allow camera/microphone access in your browser settings.\"\n };\n }\n if (err.name === \"NotFoundError\") {\n return {\n type: \"unsupported\",\n message: \"No camera or microphone found on this device.\"\n };\n }\n if (err.name === \"NotSupportedError\") {\n return {\n type: \"unsupported\",\n message: \"Your browser does not support this feature. Please use Chrome, Firefox, or Safari.\"\n };\n }\n }\n if (err instanceof Error) {\n return {\n type: \"unknown\",\n message: err.message\n };\n }\n return {\n type: \"unknown\",\n message: \"An unknown error occurred\"\n };\n}\nfunction stopMediaStream(stream) {\n if (stream) {\n stream.getTracks().forEach((track) => track.stop());\n }\n}\nfunction Dual_recorder($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ctx, onComplete } = $$props;\n let recorderState = \"idle\";\n let error = \"\";\n let displayDuration = 0;\n let screenStream = null;\n let webcamStream = null;\n let screenRecorder = null;\n let webcamRecorder = null;\n let screenChunks = [];\n let webcamChunks = [];\n let recordingInterval = null;\n let recordingStartTime = 0;\n const MAX_DURATION = 300;\n async function startRecording() {\n try {\n error = \"\";\n screenStream = await navigator.mediaDevices.getDisplayMedia({\n video: { width: { ideal: 1920 }, height: { ideal: 1080 } },\n audio: true\n });\n webcamStream = await navigator.mediaDevices.getUserMedia({\n video: {\n width: { ideal: 640 },\n height: { ideal: 640 },\n facingMode: \"user\"\n },\n audio: true\n });\n const mimeType = \"video/mp4\";\n if (!MediaRecorder.isTypeSupported(mimeType)) {\n throw new Error(\"Your browser does not support MP4 recording. Please use Safari.\");\n }\n screenChunks = [];\n webcamChunks = [];\n screenRecorder = new MediaRecorder(screenStream, { mimeType, videoBitsPerSecond: 5e6 });\n webcamRecorder = new MediaRecorder(webcamStream, { mimeType, videoBitsPerSecond: 25e5 });\n screenRecorder.ondataavailable = (e) => {\n if (e.data.size > 0) screenChunks.push(e.data);\n };\n webcamRecorder.ondataavailable = (e) => {\n if (e.data.size > 0) webcamChunks.push(e.data);\n };\n screenStream.getVideoTracks()[0].onended = () => stopRecording();\n let stoppedCount = 0;\n const onRecorderStop = () => {\n stoppedCount++;\n if (stoppedCount === 2) uploadBoth();\n };\n screenRecorder.onstop = onRecorderStop;\n webcamRecorder.onstop = onRecorderStop;\n screenRecorder.start(1e3);\n webcamRecorder.start(1e3);\n recorderState = \"recording\";\n displayDuration = 0;\n recordingStartTime = Date.now();\n recordingInterval = setInterval(\n () => {\n displayDuration = (Date.now() - recordingStartTime) / 1e3;\n if (displayDuration >= MAX_DURATION) stopRecording();\n },\n 100\n );\n } catch (err) {\n error = handleMediaError(err).message;\n cleanup();\n }\n }\n function stopRecording() {\n if (recorderState !== \"recording\") return;\n if (recordingInterval) {\n clearInterval(recordingInterval);\n recordingInterval = null;\n }\n screenRecorder?.stop();\n webcamRecorder?.stop();\n stopMediaStream(screenStream);\n stopMediaStream(webcamStream);\n screenStream = null;\n webcamStream = null;\n recorderState = \"uploading\";\n }\n async function uploadBoth() {\n recorderState = \"uploading\";\n error = \"\";\n const projectId = ctx.project.id;\n try {\n const screenBlob = new Blob(screenChunks, { type: \"video/mp4\" });\n const webcamBlob = new Blob(webcamChunks, { type: \"video/mp4\" });\n const screenUrl = URL.createObjectURL(screenBlob);\n const webcamUrl = URL.createObjectURL(webcamBlob);\n const [screenMeta, webcamMeta] = await Promise.all([\n extractMediaMetadataFromUrl(screenUrl, \"video\"),\n extractMediaMetadataFromUrl(webcamUrl, \"video\")\n ]);\n URL.revokeObjectURL(screenUrl);\n URL.revokeObjectURL(webcamUrl);\n const screenDuration = screenMeta.duration && screenMeta.duration > 0 ? screenMeta.duration : 1;\n const webcamDuration = webcamMeta.duration && webcamMeta.duration > 0 ? webcamMeta.duration : 1;\n const [screenResult, webcamResult] = await Promise.all([\n uploadMediaBlob(screenBlob, generateTimestampedFileName(\"screen\", \"mp4\"), \"video\", projectId, screenDuration),\n uploadMediaBlob(webcamBlob, generateTimestampedFileName(\"webcam\", \"mp4\"), \"video\", projectId, webcamDuration)\n ]);\n onComplete({\n screenSrc: screenResult.url,\n screenKey: screenResult.key,\n screenDuration,\n webcamSrc: webcamResult.url,\n webcamKey: webcamResult.key,\n webcamDuration\n });\n } catch (err) {\n error = err instanceof Error ? err.message : \"Upload failed\";\n recorderState = \"idle\";\n }\n }\n function cleanup() {\n if (recordingInterval) clearInterval(recordingInterval);\n stopMediaStream(screenStream);\n stopMediaStream(webcamStream);\n screenStream = null;\n webcamStream = null;\n recorderState = \"idle\";\n }\n $$renderer2.push(`<div class=\"space-y-3\">`);\n if (\n // Wire up video preview elements\n // Cleanup on destroy\n recorderState === \"recording\"\n ) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-destructive bg-destructive/10 p-3\"><div class=\"relative mb-2 overflow-hidden rounded bg-black\"><video autoplay=\"\" muted=\"\" playsinline=\"\" class=\"h-auto w-full\" style=\"max-height: 150px; aspect-ratio: 16/9;\"></video> <div class=\"absolute top-2 left-2 flex items-center gap-2 rounded bg-black/50 px-2 py-1\"><div class=\"h-2 w-2 animate-pulse rounded-full bg-destructive\"></div> `);\n Monitor($$renderer2, { class: \"h-3 w-3 text-white\" });\n $$renderer2.push(`<!----> <span class=\"text-[10px] text-white\">Screen</span></div> <div class=\"absolute top-2 right-2 rounded bg-black/50 px-2 py-1\"><span class=\"font-mono text-xs text-white tabular-nums\">${escape_html(formatDuration$1(Math.floor(displayDuration)))}</span></div> <div class=\"absolute right-2 bottom-2 h-16 w-16 overflow-hidden rounded-full border-2 border-white/50 shadow-lg\"><video autoplay=\"\" muted=\"\" playsinline=\"\" class=\"h-full w-full object-cover\"></video></div></div> `);\n Button($$renderer2, {\n variant: \"destructive\",\n size: \"sm\",\n class: \"w-full\",\n onclick: stopRecording,\n children: ($$renderer3) => {\n Square($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Stop Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n if (displayDuration >= MAX_DURATION - 10) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">${escape_html(Math.round(MAX_DURATION - displayDuration))}s remaining</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else if (recorderState === \"uploading\") {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"rounded border bg-muted/30 p-6 text-center\">`);\n Loader_circle($$renderer2, { class: \"mx-auto mb-2 size-6 animate-spin text-primary\" });\n $$renderer2.push(`<!----> <span class=\"text-sm\">Uploading both recordings...</span></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"rounded border bg-muted/30 p-4 text-center\"><div class=\"mx-auto mb-3 flex items-center justify-center gap-3\"><div class=\"flex items-center gap-1.5 rounded bg-background px-3 py-2 shadow-sm\">`);\n Monitor($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(`<!----> <span class=\"text-xs\">Screen</span></div> <span class=\"text-xs text-muted-foreground\">+</span> <div class=\"flex items-center gap-1.5 rounded bg-background px-3 py-2 shadow-sm\">`);\n Camera($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(`<!----> <span class=\"text-xs\">Webcam</span></div></div> <p class=\"mb-3 text-[10px] text-muted-foreground\">Records your screen and webcam simultaneously. The webcam will appear as a circular overlay\n in the corner.</p> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full\",\n onclick: startRecording,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Start Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]--> `);\n if (error) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(error)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nconst template$9 = {\n id: \"screen-webcam-demo\",\n name: \"Screen + Webcam Recorder\",\n description: \"Record screen and webcam together for product demos, with auto-captions\",\n thumbnail: \"/templates/screen-webcam-demo.svg\",\n icon: Monitor_play,\n category: \"recording\",\n seoTitle: \"Free Screen and Webcam Recorder with Auto Captions\",\n seoDescription: \"Record your screen and webcam simultaneously, then get automatic captions generated in seconds. Free online tool — no install required.\",\n keywords: [\n \"screen recorder\",\n \"webcam recorder\",\n \"screen and webcam\",\n \"auto captions\",\n \"product demo recorder\",\n \"loom alternative\"\n ],\n steps: [\n {\n title: \"Record Screen & Webcam\",\n description: \"Record your screen and webcam at the same time\",\n component: Dual_recorder\n }\n ],\n async apply(values, ctx) {\n const { screenSrc, screenKey, screenDuration, webcamSrc, webcamKey, webcamDuration } = values;\n const { width, height } = ctx.project;\n const ar = height / width;\n const maxDuration = Math.max(screenDuration, webcamDuration);\n const enterTime = ctx.currentTime;\n const screenExitTime = enterTime + screenDuration;\n const webcamExitTime = enterTime + webcamDuration;\n const screenPadPct = 4 * Math.min(1, ar);\n const screenLayer = createLayer(\"video\", {\n props: {\n src: screenSrc,\n fileKey: screenKey,\n width: round1(100 - screenPadPct * 2),\n height: round1(toPct(ar) - screenPadPct * 2),\n borderRadius: 1.2,\n objectFit: \"cover\"\n },\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 8,\n dropShadowBlur: 32,\n dropShadowColor: \"rgba(0,0,0,0.4)\"\n },\n projectDimensions: { width, height },\n layer: {\n name: \"Screen Recording\",\n enterTime,\n exitTime: screenExitTime,\n contentDuration: screenDuration\n }\n });\n const minFrac = Math.min(1, ar);\n const webcamSizePct = round1(minFrac * 22);\n const webcamPaddingPct = round1(minFrac * 5);\n const webcamLayer = createLayer(\"video\", {\n props: {\n src: webcamSrc,\n fileKey: webcamKey,\n width: webcamSizePct,\n height: webcamSizePct,\n borderRadius: webcamSizePct,\n objectFit: \"cover\",\n frame: \"none\"\n },\n transform: {\n position: {\n x: round1(50 - webcamSizePct / 2 - webcamPaddingPct),\n y: round1(ar * 50 - webcamSizePct / 2 - webcamPaddingPct),\n z: 0\n },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 4,\n dropShadowBlur: 16,\n dropShadowColor: \"rgba(0,0,0,0.5)\"\n },\n projectDimensions: { width, height },\n layer: {\n name: \"Webcam\",\n enterTime,\n exitTime: webcamExitTime,\n contentDuration: webcamDuration\n }\n });\n const input = createFromSchema(generateCaptionsAction.inputSchema, {});\n const {\n layersToAdd: generatedLayersToAdd,\n layersToUpdate,\n projectUpdates\n } = await runAction({\n action: generateCaptionsAction,\n input,\n sourceLayer: webcamLayer,\n project: ctx.project\n });\n return {\n layersToAdd: [\n { layer: screenLayer, presets: [{ id: \"fade-in\", startTime: enterTime, duration: 0.3 }] },\n {\n layer: webcamLayer,\n presets: [{ id: \"scale-in\", startTime: enterTime + 0.2, duration: 0.4 }]\n },\n ...generatedLayersToAdd ?? []\n ],\n layersToUpdate: [...layersToUpdate ?? []],\n projectUpdates: {\n ...enterTime + maxDuration > ctx.project.duration ? { duration: enterTime + maxDuration } : {},\n ...projectUpdates\n }\n };\n }\n};\nconst __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$9\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction extract(value, defaultValue) {\n if (isFunction(value)) {\n const getter = value;\n const gotten = getter();\n if (gotten === void 0) return defaultValue;\n return gotten;\n }\n if (value === void 0) return defaultValue;\n return value;\n}\nfunction useDebounce(callback, wait) {\n let context = null;\n const wait$ = derived(() => extract(wait, 250));\n function debounced(...args) {\n if (context) {\n if (context.timeout) {\n clearTimeout(context.timeout);\n }\n } else {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n context = { timeout: null, runner: null, promise, resolve, reject };\n }\n context.runner = async () => {\n if (!context) return;\n const ctx = context;\n context = null;\n try {\n ctx.resolve(await callback.apply(this, args));\n } catch (error) {\n ctx.reject(error);\n }\n };\n context.timeout = setTimeout(context.runner, wait$());\n return context.promise;\n }\n debounced.cancel = async () => {\n if (!context || context.timeout === null) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (!context || context.timeout === null) return;\n }\n clearTimeout(context.timeout);\n context.reject(\"Cancelled\");\n context = null;\n };\n debounced.runScheduledNow = async () => {\n if (!context || !context.timeout) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (!context || !context.timeout) return;\n }\n clearTimeout(context.timeout);\n context.timeout = null;\n await context.runner?.();\n };\n Object.defineProperty(debounced, \"pending\", {\n enumerable: true,\n get() {\n return !!context?.timeout;\n }\n });\n return debounced;\n}\nclass IsMounted {\n #isMounted = false;\n constructor() {\n }\n get current() {\n return this.#isMounted;\n }\n}\nfunction Arrow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n id = useId(),\n children,\n child,\n width = 10,\n height = 5,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const mergedProps = derived(() => mergeProps(restProps, { id }));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<span${attributes({ ...mergedProps() })}>`);\n if (children) {\n $$renderer2.push(\"<!--[0-->\");\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<svg${attr(\"width\", width)}${attr(\"height\", height)} viewBox=\"0 0 30 10\" preserveAspectRatio=\"none\" data-arrow=\"\"><polygon points=\"0,0 30,0 15,10\" fill=\"currentColor\"></polygon></svg>`);\n }\n $$renderer2.push(`<!--]--></span>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Floating_layer_arrow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { id = useId(), ref = null, $$slots, $$events, ...restProps } = $$props;\n const arrowState = FloatingArrowState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, arrowState.props));\n Arrow($$renderer2, spread_props([mergedProps()]));\n bind_props($$props, { ref });\n });\n}\nclass SvelteResizeObserver {\n #node;\n #onResize;\n constructor(node, onResize) {\n this.#node = node;\n this.#onResize = onResize;\n this.handler = this.handler.bind(this);\n }\n handler() {\n let rAF = 0;\n const _node = this.#node();\n if (!_node) return;\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(this.#onResize);\n });\n resizeObserver.observe(_node);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(_node);\n };\n }\n}\nclass StateMachine {\n state;\n #machine;\n constructor(initialState, machine) {\n this.state = simpleBox(initialState);\n this.#machine = machine;\n this.dispatch = this.dispatch.bind(this);\n }\n #reducer(event) {\n const nextState = this.#machine[this.state.current][event];\n return nextState ?? this.state.current;\n }\n dispatch(event) {\n this.state.current = this.#reducer(event);\n }\n}\nconst animationNameCache = /* @__PURE__ */ new WeakMap();\nconst ANIMATION_NAME_CACHE_TTL_MS = 16;\nconst presenceMachine = {\n mounted: { UNMOUNT: \"unmounted\", ANIMATION_OUT: \"unmountSuspended\" },\n unmountSuspended: { MOUNT: \"mounted\", ANIMATION_END: \"unmounted\" },\n unmounted: { MOUNT: \"mounted\" }\n};\nclass Presence {\n opts;\n prevAnimationNameState = \"none\";\n styles = { display: \"\", animationName: \"none\" };\n initialStatus;\n previousPresent;\n machine;\n present;\n constructor(opts) {\n this.opts = opts;\n this.present = this.opts.open;\n this.initialStatus = opts.open.current ? \"mounted\" : \"unmounted\";\n this.previousPresent = new Previous(() => this.present.current);\n this.machine = new StateMachine(this.initialStatus, presenceMachine);\n this.handleAnimationEnd = this.handleAnimationEnd.bind(this);\n this.handleAnimationStart = this.handleAnimationStart.bind(this);\n watchPresenceChange(this);\n watchStatusChange(this);\n watchRefChange(this);\n }\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n handleAnimationEnd(event) {\n if (!this.opts.ref.current) return;\n const currAnimationName = this.styles.animationName || getAnimationName(this.opts.ref.current);\n const isCurrentAnimation = currAnimationName.includes(event.animationName) || currAnimationName === \"none\";\n if (event.target === this.opts.ref.current && isCurrentAnimation) {\n this.machine.dispatch(\"ANIMATION_END\");\n }\n }\n handleAnimationStart(event) {\n if (!this.opts.ref.current) return;\n if (event.target === this.opts.ref.current) {\n const animationName = getAnimationName(this.opts.ref.current, true);\n this.prevAnimationNameState = animationName;\n this.styles.animationName = animationName;\n }\n }\n #isPresent = derived(() => {\n return [\"mounted\", \"unmountSuspended\"].includes(this.machine.state.current);\n });\n get isPresent() {\n return this.#isPresent();\n }\n set isPresent($$value) {\n return this.#isPresent($$value);\n }\n}\nfunction watchPresenceChange(state) {\n watch(() => state.present.current, () => {\n if (!state.opts.ref.current) return;\n const hasPresentChanged = state.present.current !== state.previousPresent.current;\n if (!hasPresentChanged) return;\n const prevAnimationName = state.prevAnimationNameState;\n const currAnimationName = getAnimationName(state.opts.ref.current, true);\n state.styles.animationName = currAnimationName;\n if (state.present.current) {\n state.machine.dispatch(\"MOUNT\");\n } else if (currAnimationName === \"none\" || state.styles.display === \"none\") {\n state.machine.dispatch(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currAnimationName;\n if (state.previousPresent.current && isAnimating) {\n state.machine.dispatch(\"ANIMATION_OUT\");\n } else {\n state.machine.dispatch(\"UNMOUNT\");\n }\n }\n });\n}\nfunction watchStatusChange(state) {\n watch(() => state.machine.state.current, () => {\n if (!state.opts.ref.current) return;\n const currAnimationName = state.machine.state.current === \"mounted\" ? getAnimationName(state.opts.ref.current, true) : \"none\";\n state.prevAnimationNameState = currAnimationName;\n state.styles.animationName = currAnimationName;\n });\n}\nfunction watchRefChange(state) {\n watch(() => state.opts.ref.current, () => {\n if (!state.opts.ref.current) return;\n const computed = getComputedStyle(state.opts.ref.current);\n state.styles = {\n display: computed.display,\n animationName: computed.animationName || \"none\"\n };\n return executeCallbacks(on(state.opts.ref.current, \"animationstart\", state.handleAnimationStart), on(state.opts.ref.current, \"animationcancel\", state.handleAnimationEnd), on(state.opts.ref.current, \"animationend\", state.handleAnimationEnd));\n });\n}\nfunction getAnimationName(node, forceRefresh = false) {\n if (!node) return \"none\";\n const now = performance.now();\n const cached = animationNameCache.get(node);\n if (!forceRefresh && cached && now - cached.timestamp < ANIMATION_NAME_CACHE_TTL_MS) {\n return cached.value;\n }\n const value = getComputedStyle(node).animationName || \"none\";\n animationNameCache.set(node, { value, timestamp: now });\n return value;\n}\nfunction Presence_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open, forceMount, presence, ref } = $$props;\n const presenceState = new Presence({ open: boxWith(() => open), ref });\n if (forceMount || open || presenceState.isPresent) {\n $$renderer2.push(\"<!--[0-->\");\n presence?.($$renderer2, { present: presenceState.isPresent });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction clamp(n, min, max) {\n return Math.min(max, Math.max(min, n));\n}\nconst scrollAreaAttrs = createBitsAttrs({\n component: \"scroll-area\",\n parts: [\"root\", \"viewport\", \"corner\", \"thumb\", \"scrollbar\"]\n});\nconst ScrollAreaRootContext = new Context(\"ScrollArea.Root\");\nconst ScrollAreaScrollbarContext = new Context(\"ScrollArea.Scrollbar\");\nconst ScrollAreaScrollbarVisibleContext = new Context(\"ScrollArea.ScrollbarVisible\");\nconst ScrollAreaScrollbarAxisContext = new Context(\"ScrollArea.ScrollbarAxis\");\nconst ScrollAreaScrollbarSharedContext = new Context(\"ScrollArea.ScrollbarShared\");\nclass ScrollAreaRootState {\n static create(opts) {\n return ScrollAreaRootContext.set(new ScrollAreaRootState(opts));\n }\n opts;\n attachment;\n scrollAreaNode = null;\n viewportNode = null;\n contentNode = null;\n scrollbarXNode = null;\n scrollbarYNode = null;\n cornerWidth = 0;\n cornerHeight = 0;\n scrollbarXEnabled = false;\n scrollbarYEnabled = false;\n domContext;\n constructor(opts) {\n this.opts = opts;\n this.attachment = attachRef(opts.ref, (v) => this.scrollAreaNode = v);\n this.domContext = new DOMContext(opts.ref);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n dir: this.opts.dir.current,\n style: {\n position: \"relative\",\n \"--bits-scroll-area-corner-height\": `${this.cornerHeight}px`,\n \"--bits-scroll-area-corner-width\": `${this.cornerWidth}px`\n },\n [scrollAreaAttrs.root]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaViewportState {\n static create(opts) {\n return new ScrollAreaViewportState(opts, ScrollAreaRootContext.get());\n }\n opts;\n root;\n attachment;\n #contentId = simpleBox(useId());\n #contentRef = simpleBox(null);\n contentAttachment = attachRef(this.#contentRef, (v) => this.root.contentNode = v);\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(opts.ref, (v) => this.root.viewportNode = v);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n style: {\n overflowX: this.root.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: this.root.scrollbarYEnabled ? \"scroll\" : \"hidden\"\n },\n [scrollAreaAttrs.viewport]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n #contentProps = derived(() => ({\n id: this.#contentId.current,\n \"data-scroll-area-content\": \"\",\n style: {\n minWidth: this.root.scrollbarXEnabled ? \"fit-content\" : void 0\n },\n ...this.contentAttachment\n }));\n get contentProps() {\n return this.#contentProps();\n }\n set contentProps($$value) {\n return this.#contentProps($$value);\n }\n}\nclass ScrollAreaScrollbarState {\n static create(opts) {\n return ScrollAreaScrollbarContext.set(new ScrollAreaScrollbarState(opts, ScrollAreaRootContext.get()));\n }\n opts;\n root;\n #isHorizontal = derived(() => this.opts.orientation.current === \"horizontal\");\n get isHorizontal() {\n return this.#isHorizontal();\n }\n set isHorizontal($$value) {\n return this.#isHorizontal($$value);\n }\n hasThumb = false;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n watch(() => this.isHorizontal, (isHorizontal) => {\n if (isHorizontal) {\n this.root.scrollbarXEnabled = true;\n return () => {\n this.root.scrollbarXEnabled = false;\n };\n } else {\n this.root.scrollbarYEnabled = true;\n return () => {\n this.root.scrollbarYEnabled = false;\n };\n }\n });\n }\n}\nclass ScrollAreaScrollbarHoverState {\n static create() {\n return new ScrollAreaScrollbarHoverState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n isVisible = false;\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n }\n #props = derived(() => ({ \"data-state\": this.isVisible ? \"visible\" : \"hidden\" }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarScrollState {\n static create() {\n return new ScrollAreaScrollbarScrollState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n machine = new StateMachine(\"hidden\", {\n hidden: { SCROLL: \"scrolling\" },\n scrolling: { SCROLL_END: \"idle\", POINTER_ENTER: \"interacting\" },\n interacting: { SCROLL: \"interacting\", POINTER_LEAVE: \"idle\" },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n #isHidden = derived(() => this.machine.state.current === \"hidden\");\n get isHidden() {\n return this.#isHidden();\n }\n set isHidden($$value) {\n return this.#isHidden($$value);\n }\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n useDebounce(() => this.machine.dispatch(\"SCROLL_END\"), 100);\n this.onpointerenter = this.onpointerenter.bind(this);\n this.onpointerleave = this.onpointerleave.bind(this);\n }\n onpointerenter(_) {\n this.machine.dispatch(\"POINTER_ENTER\");\n }\n onpointerleave(_) {\n this.machine.dispatch(\"POINTER_LEAVE\");\n }\n #props = derived(() => ({\n \"data-state\": this.machine.state.current === \"hidden\" ? \"hidden\" : \"visible\",\n onpointerenter: this.onpointerenter,\n onpointerleave: this.onpointerleave\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarAutoState {\n static create() {\n return new ScrollAreaScrollbarAutoState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n isVisible = false;\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n const handleResize = useDebounce(\n () => {\n const viewportNode = this.root.viewportNode;\n if (!viewportNode) return;\n const isOverflowX = viewportNode.offsetWidth < viewportNode.scrollWidth;\n const isOverflowY = viewportNode.offsetHeight < viewportNode.scrollHeight;\n this.isVisible = this.scrollbar.isHorizontal ? isOverflowX : isOverflowY;\n },\n 10\n );\n new SvelteResizeObserver(() => this.root.viewportNode, handleResize);\n new SvelteResizeObserver(() => this.root.contentNode, handleResize);\n }\n #props = derived(() => ({ \"data-state\": this.isVisible ? \"visible\" : \"hidden\" }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarVisibleState {\n static create() {\n return ScrollAreaScrollbarVisibleContext.set(new ScrollAreaScrollbarVisibleState(ScrollAreaScrollbarContext.get()));\n }\n scrollbar;\n root;\n thumbNode = null;\n pointerOffset = 0;\n sizes = {\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n };\n #thumbRatio = derived(() => getThumbRatio(this.sizes.viewport, this.sizes.content));\n get thumbRatio() {\n return this.#thumbRatio();\n }\n set thumbRatio($$value) {\n return this.#thumbRatio($$value);\n }\n #hasThumb = derived(() => Boolean(this.thumbRatio > 0 && this.thumbRatio < 1));\n get hasThumb() {\n return this.#hasThumb();\n }\n set hasThumb($$value) {\n return this.#hasThumb($$value);\n }\n prevTransformStyle = \"\";\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n }\n setSizes(sizes) {\n this.sizes = sizes;\n }\n getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer({\n pointerPos,\n pointerOffset: this.pointerOffset,\n sizes: this.sizes,\n dir\n });\n }\n onThumbPointerUp() {\n this.pointerOffset = 0;\n }\n onThumbPointerDown(pointerPos) {\n this.pointerOffset = pointerPos;\n }\n xOnThumbPositionChange() {\n if (!(this.root.viewportNode && this.thumbNode)) return;\n const scrollPos = this.root.viewportNode.scrollLeft;\n const offset = getThumbOffsetFromScroll({\n scrollPos,\n sizes: this.sizes,\n dir: this.root.opts.dir.current\n });\n const transformStyle = `translate3d(${offset}px, 0, 0)`;\n this.thumbNode.style.transform = transformStyle;\n this.prevTransformStyle = transformStyle;\n }\n xOnWheelScroll(scrollPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollLeft = scrollPos;\n }\n xOnDragScroll(pointerPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollLeft = this.getScrollPosition(pointerPos, this.root.opts.dir.current);\n }\n yOnThumbPositionChange() {\n if (!(this.root.viewportNode && this.thumbNode)) return;\n const scrollPos = this.root.viewportNode.scrollTop;\n const offset = getThumbOffsetFromScroll({ scrollPos, sizes: this.sizes });\n const transformStyle = `translate3d(0, ${offset}px, 0)`;\n this.thumbNode.style.transform = transformStyle;\n this.prevTransformStyle = transformStyle;\n }\n yOnWheelScroll(scrollPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollTop = scrollPos;\n }\n yOnDragScroll(pointerPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollTop = this.getScrollPosition(pointerPos, this.root.opts.dir.current);\n }\n}\nclass ScrollAreaScrollbarXState {\n static create(opts) {\n return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarXState(opts, ScrollAreaScrollbarVisibleContext.get()));\n }\n opts;\n scrollbarVis;\n root;\n scrollbar;\n attachment;\n computedStyle;\n constructor(opts, scrollbarVis) {\n this.opts = opts;\n this.scrollbarVis = scrollbarVis;\n this.root = scrollbarVis.root;\n this.scrollbar = scrollbarVis.scrollbar;\n this.attachment = attachRef(this.scrollbar.opts.ref, (v) => this.root.scrollbarXNode = v);\n }\n onThumbPointerDown = (pointerPos) => {\n this.scrollbarVis.onThumbPointerDown(pointerPos.x);\n };\n onDragScroll = (pointerPos) => {\n this.scrollbarVis.xOnDragScroll(pointerPos.x);\n };\n onThumbPointerUp = () => {\n this.scrollbarVis.onThumbPointerUp();\n };\n onThumbPositionChange = () => {\n this.scrollbarVis.xOnThumbPositionChange();\n };\n onWheelScroll = (e, maxScrollPos) => {\n if (!this.root.viewportNode) return;\n const scrollPos = this.root.viewportNode.scrollLeft + e.deltaX;\n this.scrollbarVis.xOnWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n e.preventDefault();\n }\n };\n onResize = () => {\n if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return;\n this.scrollbarVis.setSizes({\n content: this.root.viewportNode.scrollWidth,\n viewport: this.root.viewportNode.offsetWidth,\n scrollbar: {\n size: this.scrollbar.opts.ref.current.clientWidth,\n paddingStart: toInt(this.computedStyle.paddingLeft),\n paddingEnd: toInt(this.computedStyle.paddingRight)\n }\n });\n };\n #thumbSize = derived(() => {\n return getThumbSize(this.scrollbarVis.sizes);\n });\n get thumbSize() {\n return this.#thumbSize();\n }\n set thumbSize($$value) {\n return this.#thumbSize($$value);\n }\n #props = derived(() => ({\n id: this.scrollbar.opts.id.current,\n \"data-orientation\": \"horizontal\",\n style: {\n bottom: 0,\n left: this.root.opts.dir.current === \"rtl\" ? \"var(--bits-scroll-area-corner-width)\" : 0,\n right: this.root.opts.dir.current === \"ltr\" ? \"var(--bits-scroll-area-corner-width)\" : 0,\n \"--bits-scroll-area-thumb-width\": `${this.thumbSize}px`\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarYState {\n static create(opts) {\n return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarYState(opts, ScrollAreaScrollbarVisibleContext.get()));\n }\n opts;\n scrollbarVis;\n root;\n scrollbar;\n attachment;\n computedStyle;\n constructor(opts, scrollbarVis) {\n this.opts = opts;\n this.scrollbarVis = scrollbarVis;\n this.root = scrollbarVis.root;\n this.scrollbar = scrollbarVis.scrollbar;\n this.attachment = attachRef(this.scrollbar.opts.ref, (v) => this.root.scrollbarYNode = v);\n this.onThumbPointerDown = this.onThumbPointerDown.bind(this);\n this.onDragScroll = this.onDragScroll.bind(this);\n this.onThumbPointerUp = this.onThumbPointerUp.bind(this);\n this.onThumbPositionChange = this.onThumbPositionChange.bind(this);\n this.onWheelScroll = this.onWheelScroll.bind(this);\n this.onResize = this.onResize.bind(this);\n }\n onThumbPointerDown(pointerPos) {\n this.scrollbarVis.onThumbPointerDown(pointerPos.y);\n }\n onDragScroll(pointerPos) {\n this.scrollbarVis.yOnDragScroll(pointerPos.y);\n }\n onThumbPointerUp() {\n this.scrollbarVis.onThumbPointerUp();\n }\n onThumbPositionChange() {\n this.scrollbarVis.yOnThumbPositionChange();\n }\n onWheelScroll(e, maxScrollPos) {\n if (!this.root.viewportNode) return;\n const scrollPos = this.root.viewportNode.scrollTop + e.deltaY;\n this.scrollbarVis.yOnWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n e.preventDefault();\n }\n }\n onResize() {\n if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return;\n this.scrollbarVis.setSizes({\n content: this.root.viewportNode.scrollHeight,\n viewport: this.root.viewportNode.offsetHeight,\n scrollbar: {\n size: this.scrollbar.opts.ref.current.clientHeight,\n paddingStart: toInt(this.computedStyle.paddingTop),\n paddingEnd: toInt(this.computedStyle.paddingBottom)\n }\n });\n }\n #thumbSize = derived(() => {\n return getThumbSize(this.scrollbarVis.sizes);\n });\n get thumbSize() {\n return this.#thumbSize();\n }\n set thumbSize($$value) {\n return this.#thumbSize($$value);\n }\n #props = derived(() => ({\n id: this.scrollbar.opts.id.current,\n \"data-orientation\": \"vertical\",\n style: {\n top: 0,\n right: this.root.opts.dir.current === \"ltr\" ? 0 : void 0,\n left: this.root.opts.dir.current === \"rtl\" ? 0 : void 0,\n bottom: \"var(--bits-scroll-area-corner-height)\",\n \"--bits-scroll-area-thumb-height\": `${this.thumbSize}px`\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarSharedState {\n static create() {\n return ScrollAreaScrollbarSharedContext.set(new ScrollAreaScrollbarSharedState(ScrollAreaScrollbarAxisContext.get()));\n }\n scrollbarState;\n root;\n scrollbarVis;\n scrollbar;\n rect = null;\n prevWebkitUserSelect = \"\";\n handleResize;\n handleThumbPositionChange;\n handleWheelScroll;\n handleThumbPointerDown;\n handleThumbPointerUp;\n #maxScrollPos = derived(() => this.scrollbarVis.sizes.content - this.scrollbarVis.sizes.viewport);\n get maxScrollPos() {\n return this.#maxScrollPos();\n }\n set maxScrollPos($$value) {\n return this.#maxScrollPos($$value);\n }\n constructor(scrollbarState) {\n this.scrollbarState = scrollbarState;\n this.root = scrollbarState.root;\n this.scrollbarVis = scrollbarState.scrollbarVis;\n this.scrollbar = scrollbarState.scrollbarVis.scrollbar;\n this.handleResize = useDebounce(() => this.scrollbarState.onResize(), 10);\n this.handleThumbPositionChange = this.scrollbarState.onThumbPositionChange;\n this.handleWheelScroll = this.scrollbarState.onWheelScroll;\n this.handleThumbPointerDown = this.scrollbarState.onThumbPointerDown;\n this.handleThumbPointerUp = this.scrollbarState.onThumbPointerUp;\n new SvelteResizeObserver(() => this.scrollbar.opts.ref.current, this.handleResize);\n new SvelteResizeObserver(() => this.root.contentNode, this.handleResize);\n this.onpointerdown = this.onpointerdown.bind(this);\n this.onpointermove = this.onpointermove.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n this.onlostpointercapture = this.onlostpointercapture.bind(this);\n }\n handleDragScroll(e) {\n if (!this.rect) return;\n const x = e.clientX - this.rect.left;\n const y = e.clientY - this.rect.top;\n this.scrollbarState.onDragScroll({ x, y });\n }\n #cleanupPointerState() {\n if (this.rect === null) return;\n this.root.domContext.getDocument().body.style.webkitUserSelect = this.prevWebkitUserSelect;\n if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = \"\";\n this.rect = null;\n }\n onpointerdown(e) {\n if (e.button !== 0) return;\n const target = e.target;\n target.setPointerCapture(e.pointerId);\n this.rect = this.scrollbar.opts.ref.current?.getBoundingClientRect() ?? null;\n this.prevWebkitUserSelect = this.root.domContext.getDocument().body.style.webkitUserSelect;\n this.root.domContext.getDocument().body.style.webkitUserSelect = \"none\";\n if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = \"auto\";\n this.handleDragScroll(e);\n }\n onpointermove(e) {\n this.handleDragScroll(e);\n }\n onpointerup(e) {\n const target = e.target;\n if (target.hasPointerCapture(e.pointerId)) {\n target.releasePointerCapture(e.pointerId);\n }\n this.#cleanupPointerState();\n }\n onlostpointercapture(_) {\n this.#cleanupPointerState();\n }\n #props = derived(() => mergeProps({\n ...this.scrollbarState.props,\n style: { position: \"absolute\", ...this.scrollbarState.props.style },\n [scrollAreaAttrs.scrollbar]: \"\",\n onpointerdown: this.onpointerdown,\n onpointermove: this.onpointermove,\n onpointerup: this.onpointerup,\n onlostpointercapture: this.onlostpointercapture\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaThumbImplState {\n static create(opts) {\n return new ScrollAreaThumbImplState(opts, ScrollAreaScrollbarSharedContext.get());\n }\n opts;\n scrollbarState;\n attachment;\n #root;\n #removeUnlinkedScrollListener;\n #debounceScrollEnd = useDebounce(\n () => {\n if (this.#removeUnlinkedScrollListener) {\n this.#removeUnlinkedScrollListener();\n this.#removeUnlinkedScrollListener = void 0;\n }\n },\n 100\n );\n constructor(opts, scrollbarState) {\n this.opts = opts;\n this.scrollbarState = scrollbarState;\n this.#root = scrollbarState.root;\n this.attachment = attachRef(this.opts.ref, (v) => this.scrollbarState.scrollbarVis.thumbNode = v);\n this.onpointerdowncapture = this.onpointerdowncapture.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n }\n onpointerdowncapture(e) {\n const thumb = e.target;\n if (!thumb) return;\n const thumbRect = thumb.getBoundingClientRect();\n const x = e.clientX - thumbRect.left;\n const y = e.clientY - thumbRect.top;\n this.scrollbarState.handleThumbPointerDown({ x, y });\n }\n onpointerup(_) {\n this.scrollbarState.handleThumbPointerUp();\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n \"data-state\": this.scrollbarState.scrollbarVis.hasThumb ? \"visible\" : \"hidden\",\n style: {\n width: \"var(--bits-scroll-area-thumb-width)\",\n height: \"var(--bits-scroll-area-thumb-height)\",\n transform: this.scrollbarState.scrollbarVis.prevTransformStyle\n },\n onpointerdowncapture: this.onpointerdowncapture,\n onpointerup: this.onpointerup,\n [scrollAreaAttrs.thumb]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaCornerImplState {\n static create(opts) {\n return new ScrollAreaCornerImplState(opts, ScrollAreaRootContext.get());\n }\n opts;\n root;\n attachment;\n #width = 0;\n #height = 0;\n #hasSize = derived(() => Boolean(this.#width && this.#height));\n get hasSize() {\n return this.#hasSize();\n }\n set hasSize($$value) {\n return this.#hasSize($$value);\n }\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n new SvelteResizeObserver(() => this.root.scrollbarXNode, () => {\n const height = this.root.scrollbarXNode?.offsetHeight || 0;\n this.root.cornerHeight = height;\n this.#height = height;\n });\n new SvelteResizeObserver(() => this.root.scrollbarYNode, () => {\n const width = this.root.scrollbarYNode?.offsetWidth || 0;\n this.root.cornerWidth = width;\n this.#width = width;\n });\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n style: {\n width: this.#width,\n height: this.#height,\n position: \"absolute\",\n right: this.root.opts.dir.current === \"ltr\" ? 0 : void 0,\n left: this.root.opts.dir.current === \"rtl\" ? 0 : void 0,\n bottom: 0\n },\n [scrollAreaAttrs.corner]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction toInt(value) {\n return value ? Number.parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return Number.isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer({ pointerPos, pointerOffset, sizes, dir = \"ltr\" }) {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll({ scrollPos, sizes, dir = \"ltr\" }) {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange[0], scrollClampRange[1]);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nfunction Scroll_area$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n type = \"hover\",\n dir = \"ltr\",\n scrollHideDelay = 600,\n children,\n child,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const rootState = ScrollAreaRootState.create({\n type: boxWith(() => type),\n dir: boxWith(() => dir),\n scrollHideDelay: boxWith(() => scrollHideDelay),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, rootState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_viewport($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const viewportState = ScrollAreaViewportState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, viewportState.props));\n const mergedContentProps = derived(() => mergeProps({}, viewportState.contentProps));\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}><div${attributes({ ...mergedContentProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_scrollbar_shared($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { child, children, $$slots, $$events, ...restProps } = $$props;\n const scrollbarSharedState = ScrollAreaScrollbarSharedState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarSharedState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Scroll_area_scrollbar_x($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const isMounted = new IsMounted();\n const scrollbarXState = ScrollAreaScrollbarXState.create({ mounted: boxWith(() => isMounted.current) });\n const mergedProps = derived(() => mergeProps(restProps, scrollbarXState.props));\n Scroll_area_scrollbar_shared($$renderer2, spread_props([mergedProps()]));\n });\n}\nfunction Scroll_area_scrollbar_y($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const isMounted = new IsMounted();\n const scrollbarYState = ScrollAreaScrollbarYState.create({ mounted: boxWith(() => isMounted.current) });\n const mergedProps = derived(() => mergeProps(restProps, scrollbarYState.props));\n Scroll_area_scrollbar_shared($$renderer2, spread_props([mergedProps()]));\n });\n}\nfunction Scroll_area_scrollbar_visible($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const scrollbarVisibleState = ScrollAreaScrollbarVisibleState.create();\n if (scrollbarVisibleState.scrollbar.opts.orientation.current === \"horizontal\") {\n $$renderer2.push(\"<!--[0-->\");\n Scroll_area_scrollbar_x($$renderer2, spread_props([restProps]));\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Scroll_area_scrollbar_y($$renderer2, spread_props([restProps]));\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Scroll_area_scrollbar_auto($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarAutoState = ScrollAreaScrollbarAutoState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarAutoState.props));\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, {\n open: forceMount || scrollbarAutoState.isVisible,\n ref: scrollbarAutoState.scrollbar.opts.ref,\n presence\n });\n }\n });\n}\nfunction Scroll_area_scrollbar_scroll($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarScrollState = ScrollAreaScrollbarScrollState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarScrollState.props));\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, spread_props([\n mergedProps(),\n {\n open: forceMount || !scrollbarScrollState.isHidden,\n ref: scrollbarScrollState.scrollbar.opts.ref,\n presence,\n $$slots: { presence: true }\n }\n ]));\n }\n });\n}\nfunction Scroll_area_scrollbar_hover($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarHoverState = ScrollAreaScrollbarHoverState.create();\n const scrollbarAutoState = ScrollAreaScrollbarAutoState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarHoverState.props, scrollbarAutoState.props, {\n \"data-state\": scrollbarHoverState.isVisible ? \"visible\" : \"hidden\"\n }));\n const open = derived(() => forceMount || scrollbarHoverState.isVisible && scrollbarAutoState.isVisible);\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, {\n open: open(),\n ref: scrollbarAutoState.scrollbar.opts.ref,\n presence\n });\n }\n });\n}\nfunction Scroll_area_scrollbar$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n orientation,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollbarState = ScrollAreaScrollbarState.create({\n orientation: boxWith(() => orientation),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const type = derived(() => scrollbarState.root.opts.type.current);\n if (type() === \"hover\") {\n $$renderer2.push(\"<!--[0-->\");\n Scroll_area_scrollbar_hover($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"scroll\") {\n $$renderer2.push(\"<!--[1-->\");\n Scroll_area_scrollbar_scroll($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"auto\") {\n $$renderer2.push(\"<!--[2-->\");\n Scroll_area_scrollbar_auto($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"always\") {\n $$renderer2.push(\"<!--[3-->\");\n Scroll_area_scrollbar_visible($$renderer2, spread_props([restProps, { id }]));\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_thumb_impl($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n id,\n child,\n children,\n present,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const isMounted = new IsMounted();\n const thumbState = ScrollAreaThumbImplState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n mounted: boxWith(() => isMounted.current)\n });\n const mergedProps = derived(() => mergeProps(restProps, thumbState.props, { style: { hidden: !present } }));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_thumb($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n ref = null,\n forceMount = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollbarState = ScrollAreaScrollbarVisibleContext.get();\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n {\n let presence = function($$renderer4, { present }) {\n Scroll_area_thumb_impl($$renderer4, spread_props([\n restProps,\n {\n id,\n present,\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n };\n Presence_layer($$renderer3, {\n open: forceMount || scrollbarState.hasThumb,\n ref: scrollbarState.scrollbar.opts.ref,\n presence\n });\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_corner_impl($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n id,\n children,\n child,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const cornerState = ScrollAreaCornerImplState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, cornerState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_corner($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollAreaState = ScrollAreaRootContext.get();\n const hasBothScrollbarsVisible = derived(() => Boolean(scrollAreaState.scrollbarXNode && scrollAreaState.scrollbarYNode));\n const hasCorner = derived(() => scrollAreaState.opts.type.current !== \"scroll\" && hasBothScrollbarsVisible());\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (hasCorner()) {\n $$renderer3.push(\"<!--[0-->\");\n Scroll_area_corner_impl($$renderer3, spread_props([\n restProps,\n {\n id,\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n open = false,\n triggerId = null,\n onOpenChange = noop,\n onOpenChangeComplete = noop,\n disabled,\n delayDuration,\n disableCloseOnTriggerClick,\n disableHoverableContent,\n ignoreNonKeyboardFocus,\n tether,\n children\n } = $$props;\n const rootState = TooltipRootState.create({\n open: boxWith(() => open, (v) => {\n open = v;\n onOpenChange(v);\n }),\n triggerId: boxWith(() => triggerId, (v) => {\n triggerId = v;\n }),\n delayDuration: boxWith(() => delayDuration),\n disableCloseOnTriggerClick: boxWith(() => disableCloseOnTriggerClick),\n disableHoverableContent: boxWith(() => disableHoverableContent),\n ignoreNonKeyboardFocus: boxWith(() => ignoreNonKeyboardFocus),\n disabled: boxWith(() => disabled),\n onOpenChangeComplete: boxWith(() => onOpenChangeComplete),\n tether: boxWith(() => tether)\n });\n Floating_layer($$renderer2, {\n tooltip: true,\n children: ($$renderer3) => {\n children?.($$renderer3, {\n open: rootState.opts.open.current,\n triggerId: rootState.activeTriggerId,\n payload: rootState.activePayload\n });\n $$renderer3.push(`<!---->`);\n }\n });\n bind_props($$props, { open, triggerId });\n });\n}\nfunction Tooltip_content$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n id = createId(uid),\n ref = null,\n side = \"top\",\n sideOffset = 0,\n align = \"center\",\n avoidCollisions = true,\n arrowPadding = 0,\n sticky = \"partial\",\n strategy,\n hideWhenDetached = false,\n customAnchor,\n collisionPadding = 0,\n onInteractOutside = noop,\n onEscapeKeydown = noop,\n forceMount = false,\n style,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const contentState = TooltipContentState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n onInteractOutside: boxWith(() => onInteractOutside),\n onEscapeKeydown: boxWith(() => onEscapeKeydown)\n });\n const floatingProps = derived(() => ({\n side,\n sideOffset,\n align,\n avoidCollisions,\n arrowPadding,\n sticky,\n hideWhenDetached,\n collisionPadding,\n strategy,\n customAnchor: customAnchor ?? contentState.root.triggerNode\n }));\n const mergedProps = derived(() => mergeProps(restProps, floatingProps(), contentState.props));\n if (forceMount) {\n $$renderer2.push(\"<!--[0-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"tooltip\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer_force_mount($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n enabled: contentState.root.opts.open.current,\n id,\n trapFocus: false,\n loop: false,\n preventScroll: false,\n forceMount: true,\n ref: contentState.opts.ref,\n tooltip: true,\n shouldRender: contentState.shouldRender,\n contentPointerEvents: contentState.root.disableHoverableContent ? \"none\" : \"auto\",\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else if (!forceMount) {\n $$renderer2.push(\"<!--[1-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"tooltip\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n open: contentState.root.opts.open.current,\n id,\n trapFocus: false,\n loop: false,\n preventScroll: false,\n forceMount: false,\n ref: contentState.opts.ref,\n tooltip: true,\n shouldRender: contentState.shouldRender,\n contentPointerEvents: contentState.root.disableHoverableContent ? \"none\" : \"auto\",\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip_trigger$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n id = createId(uid),\n disabled = false,\n payload,\n tether,\n type = \"button\",\n tabindex = 0,\n ref = null,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const triggerState = TooltipTriggerState.create({\n id: boxWith(() => id),\n disabled: boxWith(() => disabled ?? false),\n tabindex: boxWith(() => tabindex ?? 0),\n payload: boxWith(() => payload),\n tether: boxWith(() => tether),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, triggerState.props, { type }));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<button${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip_arrow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ref = null, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Floating_layer_arrow($$renderer3, spread_props([\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction AudioRecorder($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { onRecordingComplete, maxSizeBytes } = $$props;\n const editorState = derived(getEditorState);\n let isRecording = false;\n let recordingError = \"\";\n let mediaRecorder = null;\n let mediaStream = null;\n let audioChunks = [];\n let displayDuration = 0;\n let currentSizeBytes = 0;\n let recordingInterval = null;\n let recordingStartTime = 0;\n let sizeWarning = derived(() => {\n if (!maxSizeBytes || currentSizeBytes === 0) return false;\n return currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD * 0.75;\n });\n async function startRecording() {\n try {\n recordingError = \"\";\n mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true });\n const mimeType = \"audio/mp4\";\n if (!MediaRecorder.isTypeSupported(mimeType)) {\n throw new Error(\"Your browser does not support M4A recording. Please use Safari.\");\n }\n mediaRecorder = new MediaRecorder(mediaStream, { mimeType });\n audioChunks = [];\n displayDuration = 0;\n currentSizeBytes = 0;\n recordingStartTime = Date.now();\n mediaRecorder.ondataavailable = (event) => {\n if (event.data.size > 0) {\n audioChunks.push(event.data);\n currentSizeBytes += event.data.size;\n if (maxSizeBytes && currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD) {\n stopRecording();\n }\n }\n };\n mediaRecorder.onstop = async () => {\n stopMediaStream(mediaStream);\n mediaStream = null;\n finalizeRecording();\n };\n mediaRecorder.start(1e3);\n isRecording = true;\n recordingInterval = setInterval(\n () => {\n displayDuration = (Date.now() - recordingStartTime) / 1e3;\n },\n 100\n );\n } catch (err) {\n recordingError = handleMediaError(err).message;\n console.error(\"Recording error:\", err);\n stopMediaStream(mediaStream);\n mediaStream = null;\n }\n }\n function stopRecording() {\n if (mediaRecorder && isRecording) {\n mediaRecorder.stop();\n isRecording = false;\n if (recordingInterval) {\n clearInterval(recordingInterval);\n recordingInterval = null;\n }\n }\n }\n async function finalizeRecording() {\n const blob = new Blob(audioChunks, { type: \"audio/mp4\" });\n const fileName = generateTimestampedFileName(\"recording\", \"m4a\");\n let duration = displayDuration;\n try {\n duration = await getBlobDuration(blob);\n } catch {\n }\n onRecordingComplete({ blob, fileName, duration, mediaType: \"audio\" });\n }\n function getBlobDuration(blob) {\n return new Promise((resolve) => {\n const url = URL.createObjectURL(blob);\n const audio = document.createElement(\"audio\");\n audio.preload = \"metadata\";\n audio.onloadedmetadata = () => {\n URL.revokeObjectURL(url);\n resolve(isFinite(audio.duration) && audio.duration > 0 ? audio.duration : 1);\n };\n audio.onerror = () => {\n URL.revokeObjectURL(url);\n resolve(1);\n };\n audio.src = url;\n });\n }\n async function handleStartRecording() {\n await uiStore.requireLogin(\"save your project\", () => {\n uiStore.requireCreateProject(editorState(), startRecording);\n });\n }\n $$renderer2.push(`<div class=\"space-y-2\">`);\n if (isRecording) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-destructive bg-destructive/10 p-3 text-center\"><div class=\"mb-2 flex items-center justify-center gap-2\"><div class=\"h-2 w-2 animate-pulse rounded-full bg-destructive\"></div> <span class=\"text-sm font-medium\">Recording...</span></div> <div class=\"mb-2 font-mono text-2xl tabular-nums\">${escape_html(formatDuration(Math.floor(displayDuration)))}</div> `);\n Button($$renderer2, {\n variant: \"destructive\",\n size: \"sm\",\n onclick: stopRecording,\n children: ($$renderer3) => {\n Square($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Stop Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n if (sizeWarning()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">Approaching size limit — recording will stop automatically</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: handleStartRecording,\n children: ($$renderer3) => {\n Mic($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Record Audio`);\n },\n $$slots: { default: true }\n });\n }\n $$renderer2.push(`<!--]--> `);\n if (recordingError) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(recordingError)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction VideoRecorder($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { onRecordingComplete, audioEnabled = true, maxSizeBytes } = $$props;\n const editorState = derived(getEditorState);\n let isRecording = false;\n let recordingError = \"\";\n let mediaRecorder = null;\n let mediaStream = null;\n let videoChunks = [];\n let facingMode = \"user\";\n let recordingMode = \"camera\";\n const MAX_DURATION = 300;\n let displayDuration = 0;\n let currentSizeBytes = 0;\n let recordingInterval = null;\n let recordingStartTime = 0;\n let sizeWarning = derived(() => {\n if (!maxSizeBytes || currentSizeBytes === 0) return false;\n return currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD * 0.9;\n });\n async function handleStartRecording() {\n await uiStore.requireLogin(\"save your project\", () => {\n uiStore.requireCreateProject(editorState(), startRecording);\n });\n }\n async function startRecording() {\n try {\n recordingError = \"\";\n if (recordingMode === \"screen\") ;\n else {\n mediaStream = await navigator.mediaDevices.getUserMedia({\n video: { width: { ideal: 1280 }, height: { ideal: 720 }, facingMode },\n audio: audioEnabled\n });\n }\n const mimeType = \"video/mp4\";\n if (!MediaRecorder.isTypeSupported(mimeType)) {\n throw new Error(\"Your browser does not support MP4 recording. Please use Safari.\");\n }\n mediaRecorder = new MediaRecorder(mediaStream, {\n mimeType,\n videoBitsPerSecond: recordingMode === \"screen\" ? 5e6 : 25e5\n });\n videoChunks = [];\n displayDuration = 0;\n currentSizeBytes = 0;\n recordingStartTime = Date.now();\n mediaRecorder.ondataavailable = (event) => {\n if (event.data.size > 0) {\n videoChunks.push(event.data);\n currentSizeBytes += event.data.size;\n if (maxSizeBytes && currentSizeBytes >= maxSizeBytes * RECORDER_STOP_THRESHOLD) {\n stopRecording();\n }\n }\n };\n mediaRecorder.onstop = async () => {\n stopMediaStream(mediaStream);\n mediaStream = null;\n finalizeRecording();\n };\n mediaRecorder.start(1e3);\n isRecording = true;\n recordingInterval = setInterval(\n () => {\n displayDuration = (Date.now() - recordingStartTime) / 1e3;\n if (displayDuration >= MAX_DURATION) {\n stopRecording();\n }\n },\n 100\n );\n } catch (err) {\n recordingError = handleMediaError(err).message;\n console.error(\"Recording error:\", err);\n stopMediaStream(mediaStream);\n mediaStream = null;\n }\n }\n function stopRecording() {\n if (mediaRecorder && isRecording) {\n mediaRecorder.stop();\n isRecording = false;\n if (recordingInterval) {\n clearInterval(recordingInterval);\n recordingInterval = null;\n }\n }\n }\n async function finalizeRecording() {\n const blob = new Blob(videoChunks, { type: \"video/mp4\" });\n const fileName = generateTimestampedFileName(\"video\", \"mp4\");\n let duration = displayDuration;\n try {\n duration = await getBlobDuration(blob);\n } catch {\n }\n onRecordingComplete({ blob, fileName, duration, mediaType: \"video\" });\n }\n function getBlobDuration(blob) {\n return new Promise((resolve) => {\n const url = URL.createObjectURL(blob);\n const video = document.createElement(\"video\");\n video.preload = \"metadata\";\n video.onloadedmetadata = () => {\n URL.revokeObjectURL(url);\n resolve(isFinite(video.duration) && video.duration > 0 ? video.duration : 1);\n };\n video.onerror = () => {\n URL.revokeObjectURL(url);\n resolve(1);\n };\n video.src = url;\n });\n }\n $$renderer2.push(`<div class=\"space-y-2\">`);\n if (isRecording) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-destructive bg-destructive/10 p-3\"><div class=\"relative mb-2 overflow-hidden rounded bg-black\"><video autoplay=\"\" muted=\"\" playsinline=\"\" class=\"h-auto w-full\" style=\"max-height: 180px; aspect-ratio: 16/9;\"></video> <div class=\"absolute top-2 left-2 flex items-center gap-2 rounded bg-black/50 px-2 py-1\"><div class=\"h-2 w-2 animate-pulse rounded-full bg-destructive\"></div> <span class=\"text-xs font-medium text-white\">Recording ${escape_html(\"Camera\")}</span></div> <div class=\"absolute top-2 right-2 rounded bg-black/50 px-2 py-1\"><span class=\"font-mono text-xs text-white tabular-nums\">${escape_html(formatDuration(Math.floor(displayDuration)))}</span></div> `);\n {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<button type=\"button\" class=\"absolute right-2 bottom-2 rounded-full bg-black/50 p-2 text-white hover:bg-black/70\" title=\"Switch camera\">`);\n Rotate_cw($$renderer2, { class: \"size-4\" });\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n Button($$renderer2, {\n variant: \"destructive\",\n size: \"sm\",\n class: \"w-full\",\n onclick: stopRecording,\n children: ($$renderer3) => {\n Square($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Stop Recording`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n if (sizeWarning()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">Approaching size limit — recording will stop automatically</p>`);\n } else if (displayDuration >= MAX_DURATION - 10) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<p class=\"mt-1 text-center text-xs text-destructive\">${escape_html(Math.ceil(MAX_DURATION - displayDuration))}s remaining</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"flex gap-1 rounded border bg-muted/30 p-1\"><button type=\"button\"${attr_class(`flex flex-1 items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors ${stringify(\"bg-background shadow-sm\")}`)}>`);\n Camera($$renderer2, { class: \"size-3\" });\n $$renderer2.push(`<!----> Camera</button> <button type=\"button\"${attr_class(`flex flex-1 items-center justify-center gap-1 rounded px-2 py-1.5 text-xs transition-colors ${stringify(\"hover:bg-background/50\")}`)}>`);\n Monitor($$renderer2, { class: \"size-3\" });\n $$renderer2.push(`<!----> Screen</button></div> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: handleStartRecording,\n children: ($$renderer3) => {\n {\n $$renderer3.push(\"<!--[-1-->\");\n Video($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Record Camera`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!---->`);\n }\n $$renderer2.push(`<!--]--> `);\n if (recordingError) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(recordingError)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction CameraCapture($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { onCaptureComplete, projectId } = $$props;\n const editorState = derived(getEditorState);\n let cameraState = \"idle\";\n let captureError = \"\";\n let mediaStream = null;\n let facingMode = \"user\";\n let capturedImageUrl = \"\";\n async function startPreview() {\n try {\n captureError = \"\";\n mediaStream = await navigator.mediaDevices.getUserMedia({\n video: { width: { ideal: 1920 }, height: { ideal: 1080 }, facingMode },\n audio: false\n });\n cameraState = \"preview\";\n } catch (err) {\n const error = handleMediaError(err);\n captureError = error.message;\n console.error(\"Camera error:\", err);\n cameraState = \"idle\";\n }\n }\n function capturePhoto() {\n return;\n }\n async function handleStartPreview() {\n await uiStore.requireLogin(\"save your project\", () => {\n uiStore.requireCreateProject(editorState(), startPreview);\n });\n }\n async function usePhoto() {\n return;\n }\n function retakePhoto() {\n capturedImageUrl = \"\";\n cameraState = \"idle\";\n startPreview();\n }\n function cancelPreview() {\n stopMediaStream(mediaStream);\n mediaStream = null;\n cameraState = \"idle\";\n }\n $$renderer2.push(`<div class=\"space-y-2\">`);\n if (\n // Cleanup on unmount\n cameraState === \"idle\"\n ) {\n $$renderer2.push(\"<!--[0-->\");\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"w-full text-xs\",\n onclick: handleStartPreview,\n children: ($$renderer3) => {\n Camera($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Take Photo`);\n },\n $$slots: { default: true }\n });\n } else if (cameraState === \"preview\") {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-primary bg-black p-2\"><div class=\"relative mb-2 overflow-hidden rounded\"><video autoplay=\"\" playsinline=\"\" muted=\"\" class=\"h-auto w-full\" style=\"max-height: 240px;\"></video> <button type=\"button\" class=\"absolute top-2 right-2 rounded-full bg-black/50 p-2 text-white hover:bg-black/70\" title=\"Switch camera\">`);\n Rotate_cw($$renderer2, { class: \"size-4\" });\n $$renderer2.push(`<!----></button></div> <div class=\"flex gap-2\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: cancelPreview,\n children: ($$renderer3) => {\n X($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: capturePhoto,\n children: ($$renderer3) => {\n Camera($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Capture`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div></div>`);\n } else if (cameraState === \"review\") {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<div class=\"rounded border-2 border-primary bg-black p-2\"><div class=\"relative mb-2 overflow-hidden rounded\"><img${attr(\"src\", capturedImageUrl)} alt=\"Captured\" class=\"h-auto w-full\" style=\"max-height: 240px;\"/></div> <div class=\"flex gap-2\">`);\n Button($$renderer2, {\n variant: \"outline\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: retakePhoto,\n children: ($$renderer3) => {\n Rotate_cw($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Retake`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"default\",\n size: \"sm\",\n class: \"flex-1 text-xs\",\n onclick: usePhoto,\n children: ($$renderer3) => {\n Check($$renderer3, { class: \"mr-1 size-3\" });\n $$renderer3.push(`<!----> Use Photo`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div></div>`);\n } else if (cameraState === \"uploading\") {\n $$renderer2.push(\"<!--[3-->\");\n $$renderer2.push(`<div class=\"rounded border bg-muted/30 p-3 text-center\">`);\n Loader_circle($$renderer2, { class: \"mx-auto mb-2 size-6 animate-spin text-primary\" });\n $$renderer2.push(`<!----> <span class=\"text-sm\">Uploading photo...</span></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <canvas class=\"hidden\"></canvas> `);\n if (captureError) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-xs text-destructive\">${escape_html(captureError)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction Scroll_area_scrollbar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n orientation = \"vertical\",\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Scroll_area_scrollbar$1) {\n $$renderer3.push(\"<!--[-->\");\n Scroll_area_scrollbar$1($$renderer3, spread_props([\n {\n \"data-slot\": \"scroll-area-scrollbar\",\n orientation,\n class: cn(\"flex touch-none p-px transition-colors select-none\", orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\", orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n children?.($$renderer4);\n $$renderer4.push(`<!----> `);\n if (Scroll_area_thumb) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_thumb($$renderer4, {\n \"data-slot\": \"scroll-area-thumb\",\n class: \"relative flex-1 rounded-full bg-border\"\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n orientation = \"vertical\",\n scrollbarXClasses = \"\",\n scrollbarYClasses = \"\",\n viewportClass = \"\",\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Scroll_area$1) {\n $$renderer3.push(\"<!--[-->\");\n Scroll_area$1($$renderer3, spread_props([\n {\n \"data-slot\": \"scroll-area\",\n class: cn(\"relative min-h-0\", className)\n },\n restProps,\n {\n children: ($$renderer4) => {\n if (Scroll_area_viewport) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_viewport($$renderer4, {\n \"data-slot\": \"scroll-area-viewport\",\n class: cn(\"size-full rounded-[inherit] ring-ring/10 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:ring-ring/20 dark:outline-ring/40\", viewportClass),\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer5) => {\n children?.($$renderer5);\n $$renderer5.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (orientation === \"vertical\" || orientation === \"both\") {\n $$renderer4.push(\"<!--[0-->\");\n Scroll_area_scrollbar($$renderer4, { orientation: \"vertical\", class: scrollbarYClasses });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (orientation === \"horizontal\" || orientation === \"both\") {\n $$renderer4.push(\"<!--[0-->\");\n Scroll_area_scrollbar($$renderer4, { orientation: \"horizontal\", class: scrollbarXClasses });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (Scroll_area_corner) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_corner($$renderer4, {});\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open = false, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Tooltip$1) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip$1($$renderer3, spread_props([\n restProps,\n {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { open });\n });\n}\nfunction Tooltip_trigger($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { ref = null, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Tooltip_trigger$1) {\n $$renderer3.push(\"<!--[-->\");\n Tooltip_trigger$1($$renderer3, spread_props([\n { \"data-slot\": \"tooltip-trigger\" },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Tooltip_portal($$renderer, $$props) {\n let { $$slots, $$events, ...restProps } = $$props;\n if (Portal) {\n $$renderer.push(\"<!--[-->\");\n Portal($$renderer, spread_props([restProps]));\n $$renderer.push(\"<!--]-->\");\n } else {\n $$renderer.push(\"<!--[!-->\");\n $$renderer.push(\"<!--]-->\");\n }\n}\nfunction Tooltip_content($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n sideOffset = 0,\n side = \"top\",\n children,\n arrowClasses,\n portalProps,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Tooltip_portal($$renderer3, spread_props([\n portalProps,\n {\n children: ($$renderer4) => {\n if (Tooltip_content$1) {\n $$renderer4.push(\"<!--[-->\");\n Tooltip_content$1($$renderer4, spread_props([\n {\n \"data-slot\": \"tooltip-content\",\n sideOffset,\n side,\n class: cn(\"z-50 w-fit origin-(--bits-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer5) => {\n children?.($$renderer5);\n $$renderer5.push(`<!----> `);\n {\n let child = function($$renderer6, { props }) {\n $$renderer6.push(`<div${attributes({\n class: clsx(cn(\"z-50 size-2.5 rotate-45 rounded-[2px] bg-foreground\", \"data-[side=top]:translate-x-1/2 data-[side=top]:translate-y-[calc(-50%_+_2px)]\", \"data-[side=bottom]:-translate-x-1/2 data-[side=bottom]:-translate-y-[calc(-50%_+_1px)]\", \"data-[side=right]:translate-x-[calc(50%_+_2px)] data-[side=right]:translate-y-1/2\", \"data-[side=left]:-translate-y-[calc(50%_-_3px)]\", arrowClasses)),\n ...props\n })}></div>`);\n };\n if (Tooltip_arrow) {\n $$renderer5.push(\"<!--[-->\");\n Tooltip_arrow($$renderer5, { child, $$slots: { child: true } });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction LummiImagePicker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let searchQuery = \"\";\n let isSearching = false;\n let searchError = \"\";\n let images = [];\n let currentPage = 1;\n let totalCount = 0;\n let imageType = void 0;\n let orientation = void 0;\n const hasMore = derived(() => images.length < totalCount);\n async function performSearch(page = 1) {\n if (!searchQuery.trim()) {\n searchError = \"Please enter a search term\";\n return;\n }\n isSearching = true;\n searchError = \"\";\n try {\n const params = { query: searchQuery, page, perPage: 20 };\n if (imageType) params.imageType = imageType;\n if (orientation) params.orientation = orientation;\n const result = await searchLummiImages(params);\n if (page === 1) {\n images = result.images;\n } else {\n images = [...images, ...result.images];\n }\n totalCount = result.totalCount;\n currentPage = page;\n } catch (err) {\n searchError = err instanceof Error ? err.message : \"Search failed\";\n } finally {\n isSearching = false;\n }\n }\n function handleSearch() {\n performSearch(1);\n }\n function loadMore() {\n if (!isSearching && hasMore()) {\n performSearch(currentPage + 1);\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-col gap-3\"><div class=\"flex gap-2\"><div class=\"flex-1\">`);\n Input($$renderer3, {\n placeholder: \"Search Lummi images...\",\n onkeydown: (e) => e.key === \"Enter\" && handleSearch(),\n get value() {\n return searchQuery;\n },\n set value($$value) {\n searchQuery = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div> `);\n Button($$renderer3, {\n variant: \"default\",\n size: \"sm\",\n onclick: handleSearch,\n disabled: isSearching,\n loading: isSearching,\n icon: Search,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Search`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div> <div class=\"flex gap-2\">`);\n Select_1($$renderer3, {\n placeholder: \"Type\",\n options: [\n { value: \"\", label: \"All types\" },\n { value: \"photo\", label: \"Photo\" },\n { value: \"illustration\", label: \"Illustration\" },\n { value: \"3d\", label: \"3D\" }\n ],\n trigger: { class: \"w-[120px] text-xs\" },\n get value() {\n return imageType;\n },\n set value($$value) {\n imageType = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n Select_1($$renderer3, {\n placeholder: \"Orientation\",\n options: [\n { value: \"\", label: \"All\" },\n { value: \"horizontal\", label: \"Horizontal\" },\n { value: \"vertical\", label: \"Vertical\" },\n { value: \"square\", label: \"Square\" }\n ],\n trigger: { class: \"w-[120px] text-xs\" },\n get value() {\n return orientation;\n },\n set value($$value) {\n orientation = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div> <div class=\"flex items-start gap-2 rounded border border-blue-500/20 bg-blue-500/10 px-3 py-2\">`);\n Info($$renderer3, { class: \"mt-0.5 size-3 shrink-0 text-blue-400\" });\n $$renderer3.push(`<!----> <p class=\"text-[10px] leading-tight text-blue-200\">Images from Lummi require attribution. The author credit will be displayed automatically on\n your layer.</p></div> `);\n if (searchError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-xs text-destructive\">${escape_html(searchError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (images.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n Scroll_area($$renderer3, {\n viewportClass: \"max-h-[400px]\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"grid grid-cols-2 gap-2 pr-2\"><!--[-->`);\n const each_array = ensure_array_like(images);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let image = each_array[$$index];\n $$renderer4.push(`<button class=\"group relative overflow-hidden rounded border bg-black transition-all hover:border-primary hover:ring-1 hover:ring-primary\"><img${attr(\"src\", image.url)} alt=\"\" class=\"aspect-square w-full object-cover transition-transform group-hover:scale-105\"/> <div class=\"absolute inset-0 flex flex-col justify-end bg-gradient-to-t from-black/80 to-transparent p-2 opacity-0 transition-opacity group-hover:opacity-100\"><p class=\"truncate text-[10px] text-white\">by ${escape_html(image.author.name ?? image.author.username)}</p> <div class=\"mt-1 flex items-center gap-1 text-[9px] text-gray-300\"><span>${escape_html(image.width)}×${escape_html(image.height)}</span> <span>•</span> <span class=\"capitalize\">${escape_html(image.imageType)}</span> `);\n if (image.pro) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<span>•</span> <span class=\"text-yellow-400\">PRO</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div></div> `);\n if (Tooltip) {\n $$renderer4.push(\"<!--[-->\");\n Tooltip($$renderer4, {\n children: ($$renderer5) => {\n if (Tooltip_trigger) {\n $$renderer5.push(\"<!--[-->\");\n Tooltip_trigger($$renderer5, {\n class: \"absolute top-1 right-1\",\n children: ($$renderer6) => {\n $$renderer6.push(`<div class=\"rounded bg-black/60 p-1 opacity-0 transition-opacity group-hover:opacity-100\">`);\n External_link($$renderer6, { class: \"size-3 text-white\" });\n $$renderer6.push(`<!----></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Tooltip_content) {\n $$renderer5.push(\"<!--[-->\");\n Tooltip_content($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<p class=\"text-xs\">Click to use this image</p>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(`</button>`);\n }\n $$renderer4.push(`<!--]--></div> `);\n if (hasMore()) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"mt-3 flex justify-center\">`);\n Button($$renderer4, {\n variant: \"outline\",\n size: \"sm\",\n onclick: loadMore,\n disabled: isSearching,\n loading: isSearching,\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Load more`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n } else if (!isSearching && searchQuery) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"py-8 text-center text-sm text-muted-foreground\">No images found. Try a different search term.</div>`);\n } else if (!searchQuery) {\n $$renderer3.push(\"<!--[2-->\");\n $$renderer3.push(`<div class=\"py-8 text-center text-sm text-muted-foreground\">Search for free stock images from Lummi</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (isSearching && images.length === 0) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex items-center justify-center py-8\">`);\n Loader_circle($$renderer3, { class: \"size-6 animate-spin text-muted-foreground\" });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction AssetCard($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { asset, selected = false, actions } = $$props;\n function getMediaIcon(mediaType) {\n switch (mediaType) {\n case \"image\":\n return Image;\n case \"video\":\n return Video;\n case \"audio\":\n return Music;\n default:\n return File;\n }\n }\n const Icon2 = derived(() => getMediaIcon(asset.mediaType));\n const createdAt = derived(() => new Date(asset.createdAt).toLocaleDateString(void 0, { month: \"short\", day: \"numeric\", year: \"numeric\" }));\n $$renderer2.push(`<button type=\"button\"${attr_class(`group flex w-full items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-muted/50 ${stringify(selected ? \"bg-primary/10 ring-1 ring-primary/30\" : \"\")}`)}><div class=\"relative flex size-10 shrink-0 items-center justify-center overflow-hidden rounded bg-muted\" role=\"img\"${attr(\"aria-label\", asset.originalName)}>`);\n if (asset.mediaType === \"image\") {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<img${attr(\"src\", asset.url)}${attr(\"alt\", asset.originalName)} class=\"size-full object-cover\" loading=\"lazy\" onerror=\"this.__e=event\"/>`);\n } else if (asset.mediaType === \"video\") {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<video${attr(\"data-src\", asset.url)} class=\"size-full object-cover\" loop=\"\" preload=\"metadata\"></video>`);\n } else if (asset.mediaType === \"audio\") {\n $$renderer2.push(\"<!--[3-->\");\n $$renderer2.push(`<audio${attr(\"data-src\", asset.url)} preload=\"metadata\" loop=\"\"></audio> `);\n if (Icon2()) {\n $$renderer2.push(\"<!--[-->\");\n Icon2()($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n if (Icon2()) {\n $$renderer2.push(\"<!--[-->\");\n Icon2()($$renderer2, { class: \"size-4 text-muted-foreground\" });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n }\n $$renderer2.push(`<!--]--> `);\n if (asset.duration) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"absolute right-0 bottom-0 left-0 bg-black/60 px-0.5 py-px text-center text-[8px] leading-tight text-white\">${escape_html(formatDuration$1(asset.duration))}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <div class=\"min-w-0 flex-1\"><p class=\"truncate text-xs font-medium\">${escape_html(asset.originalName)}</p> <div class=\"mt-0.5 flex flex-wrap items-center gap-x-1.5 gap-y-0 text-[10px] text-muted-foreground\"><span>${escape_html(formatFileSize(asset.size))}</span> <span class=\"text-muted-foreground/40\">·</span> <span class=\"capitalize\">${escape_html(asset.mediaType)}</span> <span class=\"text-muted-foreground/40\">·</span> <span>${escape_html(createdAt())}</span></div></div> `);\n if (actions) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"shrink-0 opacity-0 transition-opacity group-hover:opacity-100\">`);\n actions($$renderer2);\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></button>`);\n });\n}\nfunction AssetPicker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { mediaType, selectedUrl } = $$props;\n const PAGE_SIZE = 20;\n let searchQuery = \"\";\n let debouncedSearch = new Debounced(() => searchQuery, 300);\n let currentPage = 1;\n watch$1(() => [debouncedSearch.current], () => {\n currentPage = 1;\n });\n const assets = derived(() => getUserAssets({\n mediaType,\n search: debouncedSearch.current || void 0,\n page: currentPage,\n pageSize: PAGE_SIZE\n }));\n const assetList = derived(() => assets().current?.assets ?? []);\n const totalPages = derived(() => Math.ceil((assets().current?.total ?? 0) / PAGE_SIZE));\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-col\"><div class=\"border-b px-3 py-2\"><div class=\"relative\">`);\n Search($$renderer3, {\n class: \"absolute top-1/2 left-2 size-3 -translate-y-1/2 text-muted-foreground\"\n });\n $$renderer3.push(`<!----> `);\n Input($$renderer3, {\n type: \"text\",\n placeholder: \"Search assets...\",\n class: \"h-7 pl-6 text-xs\",\n get value() {\n return searchQuery;\n },\n set value($$value) {\n searchQuery = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div></div> `);\n Scroll_area($$renderer3, {\n viewportClass: \"max-h-[calc(50vh)]\",\n children: ($$renderer4) => {\n if (assets().loading && !assets().current) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"flex items-center justify-center py-6\">`);\n Loader_circle($$renderer4, { class: \"size-4 animate-spin text-muted-foreground\" });\n $$renderer4.push(`<!----></div>`);\n } else if (assetList().length === 0) {\n $$renderer4.push(\"<!--[1-->\");\n $$renderer4.push(`<div class=\"px-3 py-6 text-center text-xs text-muted-foreground\">`);\n if (debouncedSearch.current) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`No assets match \"${escape_html(debouncedSearch.current)}\".`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`${escape_html(mediaType ? `No ${mediaType} assets found` : \"No assets found\")}`);\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<div class=\"divide-y\"><!--[-->`);\n const each_array = ensure_array_like(assetList());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let asset = each_array[$$index];\n AssetCard($$renderer4, {\n asset,\n selected: asset.url === selectedUrl\n });\n }\n $$renderer4.push(`<!--]--></div>`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n if (totalPages() > 1) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex items-center justify-between border-t px-3 py-2 text-xs text-muted-foreground\">`);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n disabled: currentPage === 1,\n onclick: () => currentPage--,\n icon: Chevron_left\n });\n $$renderer3.push(`<!----> <span>${escape_html(currentPage)} / ${escape_html(totalPages())}</span> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-xs\",\n disabled: currentPage >= totalPages(),\n onclick: () => currentPage++,\n icon: Chevron_right\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction FileUpload($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n value = \"\",\n currentFileName = \"\",\n mediaType,\n onUpload,\n projectId\n } = $$props;\n let uploadError = \"\";\n let displayNameOverride = \"\";\n let displayName = derived(() => displayNameOverride || currentFileName || \"\");\n let isUploading = false;\n let assetPickerOpen = false;\n let lummiPickerOpen = false;\n let recordOpen = false;\n let pendingRecording = null;\n async function handleRecordingComplete(result) {\n const localUrl = URL.createObjectURL(result.blob);\n value = localUrl;\n displayNameOverride = result.fileName;\n recordOpen = false;\n uploadError = \"\";\n isUploading = true;\n pendingRecording = result;\n try {\n const uploadResult = await uploadMediaBlob(result.blob, result.fileName, result.mediaType, projectId, result.duration);\n pendingRecording = null;\n onUpload({\n url: uploadResult.url,\n key: uploadResult.key,\n fileName: uploadResult.fileName,\n duration: result.duration,\n ...result.mediaType === \"video\" && mediaType === \"media\" ? { detectedType: \"video\" } : {}\n });\n URL.revokeObjectURL(localUrl);\n displayNameOverride = \"\";\n } catch (err) {\n uploadError = err instanceof Error ? err.message : \"Upload failed\";\n } finally {\n isUploading = false;\n }\n }\n const acceptPatterns = {\n image: \"image/jpeg,image/png,image/gif,image/webp,image/svg+xml\",\n video: \"video/mp4\",\n audio: \"audio/mp3\",\n media: \"image/jpeg,image/png,image/gif,image/webp,image/svg+xml,video/mp4\"\n };\n let maxSizeBytes = derived(() => MAX_FILE_SIZES[mediaType === \"media\" ? \"video\" : mediaType]);\n let maxSizeLabel = derived(() => formatStorage(maxSizeBytes()));\n const mediaTypeLabel = {\n image: \"image\",\n video: \"video\",\n audio: \"audio\",\n media: \"image or video\"\n };\n const mediaTypeFormats = {\n image: \"JPG, PNG, GIF, WEBP, SVG\",\n video: \"MP4\",\n audio: \"MP3\",\n media: \"JPG, PNG, MP4\"\n };\n const showCapture = derived(() => mediaType === \"image\" || mediaType === \"video\" || mediaType === \"audio\" || mediaType === \"media\");\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex flex-col gap-2\"><div${attr_class(`group relative flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed px-4 py-5 transition-colors ${stringify(isUploading && pendingRecording ? \"cursor-default\" : \"cursor-pointer\")} ${stringify(\"border-border hover:border-primary/50 hover:bg-muted/40\")}`)} role=\"button\"${attr(\"tabindex\", isUploading && pendingRecording ? -1 : 0)}>`);\n if (isUploading && !value) {\n $$renderer3.push(\"<!--[0-->\");\n Loader_circle($$renderer3, { class: \"h-8 w-8 animate-spin text-primary\" });\n $$renderer3.push(`<!----> <p class=\"text-xs font-medium\">Uploading...</p>`);\n } else if (value && (mediaType === \"image\" || mediaType === \"video\" || mediaType === \"media\" || mediaType === \"audio\")) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"relative w-full overflow-hidden rounded\">`);\n if (mediaType === \"audio\") {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<audio${attr(\"src\", value)} controls=\"\" class=\"w-full\" preload=\"metadata\"></audio>`);\n } else if (mediaType === \"image\" || mediaType === \"media\" && !value.endsWith(\".mp4\")) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<img${attr(\"src\", value)}${attr(\"alt\", displayName())} class=\"h-auto w-full rounded\" style=\"max-height: 140px; object-fit: contain;\"/>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<video${attr(\"src\", value)} class=\"h-auto w-full rounded\" style=\"max-height: 140px; object-fit: contain;\" controls=\"\" preload=\"metadata\"></video>`);\n }\n $$renderer3.push(`<!--]--> `);\n if (isUploading && pendingRecording) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div${attr_class(`absolute inset-0 z-10 flex items-center justify-center rounded ${stringify(mediaType === \"audio\" ? \"bg-background/40\" : \"bg-black/40\")}`)}>`);\n Loader_circle($$renderer3, { class: \"h-6 w-6 animate-spin text-primary\" });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <p class=\"text-[10px] text-muted-foreground\">${escape_html(isUploading && pendingRecording ? \"Uploading... \" : \"Click or drop to replace \")}\n · ${escape_html(displayName())}</p> `);\n if (pendingRecording && uploadError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<button type=\"button\" class=\"mt-1 flex items-center gap-1 rounded border border-destructive/40 bg-destructive/10 px-2 py-1 text-[11px] text-destructive hover:bg-destructive/20\">`);\n Refresh_cw($$renderer3, { class: \"size-3\" });\n $$renderer3.push(`<!----> Retry upload</button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"flex h-10 w-10 items-center justify-center rounded-full bg-muted transition-colors group-hover:bg-muted/80\">`);\n if (mediaType === \"image\") {\n $$renderer3.push(\"<!--[0-->\");\n Image($$renderer3, { class: \"h-5 w-5 text-muted-foreground\" });\n } else if (mediaType === \"audio\") {\n $$renderer3.push(\"<!--[1-->\");\n Mic($$renderer3, { class: \"h-5 w-5 text-muted-foreground\" });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Video($$renderer3, { class: \"h-5 w-5 text-muted-foreground\" });\n }\n $$renderer3.push(`<!--]--></div> <div class=\"text-center\"><p class=\"text-xs font-medium\">${escape_html(`Drop ${mediaTypeLabel[mediaType]} here`)}</p> <p class=\"mt-0.5 text-[10px] text-muted-foreground\">${escape_html(mediaTypeFormats[mediaType])} · up to ${escape_html(maxSizeLabel())}</p></div> <span class=\"rounded border border-border bg-background px-2.5 py-1 text-[11px] text-muted-foreground transition-colors group-hover:border-primary/40 group-hover:text-foreground\">Browse file</span>`);\n }\n $$renderer3.push(`<!--]--></div> <div class=\"flex gap-1.5\">`);\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return assetPickerOpen;\n },\n set open($$value) {\n assetPickerOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n props,\n {\n variant: \"outline\",\n size: \"sm\",\n icon: Folder_open,\n class: \"flex-1 justify-start text-xs\",\n title: \"Pick from project assets\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Assets`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"w-72 p-0\",\n align: \"start\",\n children: ($$renderer5) => {\n AssetPicker($$renderer5, {\n mediaType: mediaType === \"media\" ? void 0 : mediaType,\n selectedUrl: value\n });\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (mediaType === \"image\" || mediaType === \"media\") {\n $$renderer3.push(\"<!--[0-->\");\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return lummiPickerOpen;\n },\n set open($$value) {\n lummiPickerOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n props,\n {\n variant: \"outline\",\n size: \"sm\",\n icon: Image,\n class: \"flex-1 justify-start text-xs\",\n title: \"Browse Lummi stock images\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Lummi`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"w-[400px] p-4\",\n align: \"start\",\n children: ($$renderer5) => {\n LummiImagePicker($$renderer5);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (showCapture()) {\n $$renderer3.push(\"<!--[0-->\");\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return recordOpen;\n },\n set open($$value) {\n recordOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n {\n let child = function($$renderer5, { props }) {\n Button($$renderer5, spread_props([\n props,\n {\n variant: \"outline\",\n size: \"sm\",\n icon: mediaType === \"audio\" ? Mic : mediaType === \"image\" ? Camera : Video,\n class: \"flex-1 justify-start text-xs\",\n title: mediaType === \"audio\" ? \"Record audio\" : mediaType === \"image\" ? \"Capture photo\" : \"Record video\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(mediaType === \"audio\" ? \"Record\" : mediaType === \"image\" ? \"Capture\" : \"Record\")}`);\n },\n $$slots: { default: true }\n }\n ]));\n };\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, { child, $$slots: { child: true } });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"w-80 p-3\",\n align: \"end\",\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"flex flex-col gap-3\">`);\n if (mediaType === \"audio\") {\n $$renderer5.push(\"<!--[0-->\");\n AudioRecorder($$renderer5, {\n maxSizeBytes: maxSizeBytes(),\n onRecordingComplete: handleRecordingComplete\n });\n } else if (mediaType === \"video\") {\n $$renderer5.push(\"<!--[1-->\");\n VideoRecorder($$renderer5, {\n maxSizeBytes: maxSizeBytes(),\n onRecordingComplete: handleRecordingComplete\n });\n } else if (mediaType === \"image\") {\n $$renderer5.push(\"<!--[2-->\");\n CameraCapture($$renderer5, {\n projectId,\n onCaptureComplete: (result) => {\n onUpload(result);\n recordOpen = false;\n }\n });\n } else if (mediaType === \"media\") {\n $$renderer5.push(\"<!--[3-->\");\n $$renderer5.push(`<p class=\"text-xs font-medium text-muted-foreground\">Record video</p> `);\n VideoRecorder($$renderer5, {\n maxSizeBytes: maxSizeBytes(),\n onRecordingComplete: handleRecordingComplete\n });\n $$renderer5.push(`<!----> <p class=\"text-xs font-medium text-muted-foreground\">Capture photo</p> `);\n CameraCapture($$renderer5, {\n projectId,\n onCaptureComplete: (result) => {\n onUpload({ ...result, detectedType: \"image\" });\n recordOpen = false;\n }\n });\n $$renderer5.push(`<!---->`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <input type=\"file\" class=\"hidden\"${attr(\"accept\", acceptPatterns[mediaType])}/> `);\n if (uploadError) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<p class=\"text-xs text-destructive\">${escape_html(uploadError)}</p>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction Media_upload_step($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const {\n values: _values,\n ctx: _ctx,\n onUpdate,\n onComplete,\n mediaType = \"video\"\n } = $$props;\n FileUpload($$renderer2, {\n mediaType,\n onUpload: (result) => {\n const stepValues = {\n src: result.url,\n fileKey: result.key,\n fileName: result.fileName,\n duration: result.duration,\n detectedType: result.detectedType\n };\n onUpdate(stepValues);\n onComplete(stepValues);\n }\n });\n });\n}\nconst configSchema$6 = z.object({\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n })\n});\nconst template$8 = {\n id: \"video-beautifier\",\n name: \"Video Beautifier\",\n description: \"Add a beautiful background and frame to any video in seconds\",\n thumbnail: \"/templates/video-beautifier.svg\",\n icon: Sparkles,\n category: \"media\",\n seoTitle: \"Free Video Beautifier — Add Background & Frame to Videos\",\n seoDescription: \"Instantly add a polished background and rounded frame to your video. Perfect for sharing on social media, presentations, and portfolios. Free tool.\",\n keywords: [\n \"video beautifier\",\n \"video background\",\n \"video frame\",\n \"video mockup\",\n \"video presenter\",\n \"social media video\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Select the video you want to beautify\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Style It\",\n description: \"Choose a background and corner radius for the frame\",\n schema: configSchema$6\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, duration: mediaDuration, background } = values;\n const { width, height } = ctx.project;\n const ar = height / width;\n const enterTime = ctx.currentTime;\n const duration = mediaDuration ?? 5;\n const exitTime = enterTime + duration;\n const paddingPct = Math.min(1, ar) * 7;\n const videoLayer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: round1(100 - paddingPct * 2),\n height: round1(toPct(ar) - paddingPct * 2),\n objectFit: \"cover\",\n frame: \"arc\",\n frameWidth: 8\n },\n projectDimensions: { width, height },\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: mediaDuration }\n });\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background, duration: exitTime },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: videoLayer,\n presets: [{ id: \"fade-in\", startTime: enterTime, duration: 0.4 }]\n }\n ]\n };\n }\n};\nconst __vite_glob_0_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$8\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst stepSchema = z.object({\n url: z.url().default(\"/demo/skeleton.html\").register(fieldRegistry, { label: \"Website URL\" }),\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n }),\n laptopColor: z.string().default(\"#2d2d2d\").register(fieldRegistry, { label: \"Laptop color\", widget: \"color\" })\n});\nconst template$7 = {\n id: \"laptop-3d-intro\",\n name: \"Laptop 3D Intro\",\n description: \"Animate any website inside a 3D laptop with a cinematic opening effect\",\n thumbnail: \"/templates/laptop-3d-intro.svg\",\n icon: Laptop,\n category: \"composite\",\n seoTitle: \"Free 3D Laptop Intro Maker — Animate Any Website\",\n seoDescription: \"Drop any URL into a cinematic 3D laptop animation. Perfect for product launches, app showcases, and SaaS demos. Free online tool.\",\n keywords: [\n \"laptop mockup\",\n \"3d laptop animation\",\n \"website mockup video\",\n \"product demo animation\",\n \"saas intro video\",\n \"app showcase\"\n ],\n steps: [\n {\n title: \"Configure Laptop\",\n description: \"Enter the URL to display and customize the look\",\n schema: stepSchema\n }\n ],\n apply(values, ctx) {\n const { url, laptopColor } = values;\n const { width, height } = ctx.project;\n const background = values.background;\n const enterTime = ctx.currentTime;\n const duration = 7;\n const exitTime = enterTime + duration;\n const ar = height / width;\n const lapZ0 = 448;\n const lapZ1 = -2e3;\n const lapZ2 = -840;\n const lapY0 = round1(ar * 60);\n const lapY1 = round1(ar * 50);\n const keyframes = [\n // t=0: Far away, fully open, flat perspective\n { time: enterTime, property: \"position.y\", value: lapY0 },\n { time: enterTime, property: \"position.z\", value: lapZ0 },\n { time: enterTime, property: \"props.openAngle\", value: 180 },\n { time: enterTime, property: \"rotation.x\", value: 0 },\n { time: enterTime, property: \"rotation.y\", value: 0 },\n // t=2.5s: Rotate into 3D view, close partially\n { time: enterTime + 2.5, property: \"rotation.y\", value: 0 },\n { time: enterTime + 2.5, property: \"rotation.x\", value: 1.45 },\n { time: enterTime + 2.5, property: \"props.openAngle\", value: 106 },\n { time: enterTime + 2.5, property: \"position.z\", value: lapZ1 },\n { time: enterTime + 2.5, property: \"position.y\", value: lapY1 },\n // t=4.5s: Continue closing\n { time: enterTime + 4.5, property: \"props.openAngle\", value: 64 },\n { time: enterTime + 4.5, property: \"rotation.x\", value: 1.1 },\n // t=5.5s: Final resting position — readable angle\n { time: enterTime + 5.5, property: \"position.z\", value: lapZ2 },\n { time: enterTime + 5.5, property: \"position.y\", value: lapY1 },\n { time: enterTime + 5.5, property: \"props.openAngle\", value: 73 }\n ];\n const keyframesWithEasing = keyframes.map(\n (kf) => ({\n ...kf,\n id: nanoid(),\n interpolation: {\n family: \"continuous\",\n strategy: \"ease-in-out\"\n }\n })\n );\n const dev = deviceSize({ width, height }, \"laptop\");\n const laptopLayer = createLayer(\"laptop\", {\n props: {\n url,\n ...dev,\n baseColor: laptopColor,\n screenColor: laptopColor,\n openAngle: 180,\n _aspectRatio: 1,\n _aspectRatioLocked: false\n },\n transform: {\n position: { x: 0, y: lapY0, z: lapZ0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n projectDimensions: { width, height },\n layer: {\n name: \"Laptop\",\n enterTime,\n exitTime\n },\n keyframes: keyframesWithEasing\n });\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: laptopLayer\n }\n ]\n };\n }\n};\nconst __vite_glob_0_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$7\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$5 = meta.schema.pick({\n fontFamily: true,\n fontWeight: true,\n fontSize: true,\n textColor: true,\n bgColor: true\n}).extend({\n position: z.enum([\"bottom\", \"top\", \"middle\"]).default(\"bottom\").register(fieldRegistry, { label: \"Position\" })\n});\nconst template$6 = {\n id: \"add-captions\",\n name: \"Auto Captions Generator\",\n description: \"Upload a video and get accurate auto-generated captions in seconds\",\n thumbnail: \"/templates/add-captions.svg\",\n icon: Captions,\n category: \"media\",\n seoTitle: \"Free Auto Captions Generator — Add Subtitles to Any Video\",\n seoDescription: \"Upload your video and generate accurate subtitles automatically with AI. Free online tool — no registration required to try.\",\n keywords: [\n \"auto captions\",\n \"subtitle generator\",\n \"add captions to video\",\n \"video transcription\",\n \"automatic subtitles\",\n \"free caption maker\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Select a video file to add captions to\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Caption Style\",\n description: \"Customize how your captions look\",\n schema: configSchema$5\n }\n ],\n async apply(values, ctx) {\n const { src, fileKey, duration, ...captionsProps } = values;\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const exitTime = enterTime + duration;\n const videoLayer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: 100,\n height: toPct(height / width),\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: duration }\n });\n const input = createFromSchema(generateCaptionsAction.inputSchema, captionsProps);\n const { layersToAdd, layersToUpdate } = await runAction({\n action: generateCaptionsAction,\n input,\n project: ctx.project,\n sourceLayer: videoLayer\n });\n return {\n layersToAdd: [{ layer: videoLayer }, ...layersToAdd ?? []],\n layersToUpdate: [...layersToUpdate ?? []],\n projectUpdates: { ...ctx.project.duration < exitTime && { duration: exitTime } }\n };\n }\n};\nconst __vite_glob_0_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$6\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$4 = z.object({\n browserUrl: z.string().default(\"https://yoursite.com\").register(fieldRegistry, { label: \"URL shown in browser bar\" }),\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n })\n});\nconst template$5 = {\n id: \"video-to-browser\",\n name: \"Browser Mockup Video\",\n description: \"Wrap a screen recording inside an animated browser window\",\n thumbnail: \"/templates/video-to-browser.svg\",\n icon: Globe,\n category: \"composite\",\n seoTitle: \"Free Browser Mockup Video Maker — Wrap Screen Recordings\",\n seoDescription: \"Instantly wrap your screen recording in a realistic browser window mockup. Perfect for SaaS demos, tutorials, and product videos. Free tool.\",\n keywords: [\n \"browser mockup\",\n \"screen recording mockup\",\n \"browser frame video\",\n \"saas demo video\",\n \"product walkthrough\",\n \"website mockup video\"\n ],\n steps: [\n {\n title: \"Upload Screen Recording\",\n description: \"Select a screen recording or screenshot to wrap in a browser\",\n component: Media_upload_step,\n componentProps: { mediaType: \"media\" }\n },\n {\n title: \"Browser Settings\",\n description: \"Customize the browser appearance and background\",\n schema: configSchema$4\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, detectedType, duration: mediaDuration, browserUrl, background } = values;\n const isVideo = detectedType === \"video\";\n const { width, height } = ctx.project;\n const ar = height / width;\n const enterTime = ctx.currentTime;\n const duration = isVideo ? mediaDuration ?? 5 : 5;\n const exitTime = enterTime + duration;\n const browserW = 88;\n const browserH = round1(ar * 82);\n const browserLayer = createLayer(\"browser\", {\n props: { url: browserUrl, width: browserW, height: browserH },\n projectDimensions: ctx.project,\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 16,\n dropShadowBlur: 48,\n dropShadowColor: \"rgba(0,0,0,0.4)\"\n },\n layer: { name: \"Browser\", enterTime, exitTime }\n });\n const contentH = round1(browserH - pxToPct({ width }, 40));\n const contentLayer = isVideo ? createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: browserW,\n height: contentH,\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Screen Recording\", enterTime, exitTime, contentDuration: mediaDuration }\n }) : createLayer(\"image\", {\n props: {\n src,\n fileKey,\n width: browserW,\n height: contentH,\n objectFit: \"cover\"\n },\n projectDimensions: { width, height },\n layer: { name: \"Screenshot\", enterTime, exitTime }\n });\n contentLayer.parentId = browserLayer.id;\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: browserLayer,\n presets: [{ id: \"zoom-in\", startTime: enterTime, duration: 0.5 }]\n },\n {\n layer: contentLayer,\n presets: [{ id: \"fade-in\", startTime: enterTime + 0.2, duration: 0.35 }]\n }\n ]\n };\n }\n};\nconst __vite_glob_0_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$5\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst dubLanguageOptions = dubLanguages.map((l) => ({ value: l.value, label: l.label }));\nconst dubLanguageCodes = dubLanguages.map((l) => l.value);\nconst configSchema$3 = z.object({\n targetLang: z.enum(dubLanguageCodes).default(\"en\").register(fieldRegistry, {\n label: \"Target language\",\n widget: \"select\",\n options: dubLanguageOptions\n })\n});\nconst template$4 = {\n id: \"translate-video\",\n name: \"Video Translator\",\n description: \"Dub your video into another language using AI voice cloning\",\n thumbnail: \"/templates/translate-video.svg\",\n icon: Languages,\n category: \"media\",\n isPro: true,\n seoTitle: \"Free AI Video Translator — Dub Video to Any Language\",\n seoDescription: \"Translate your video into 12+ languages with AI-powered voice dubbing. Keep original lip sync and tone. Free to try — no login required.\",\n keywords: [\n \"video translator\",\n \"ai dubbing\",\n \"video dubbing\",\n \"translate video\",\n \"voice cloning\",\n \"multilingual video\",\n \"video localization\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Upload the video you want to translate\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Choose Target Language\",\n description: \"Select the language you want to dub your video into\",\n schema: configSchema$3\n }\n ],\n async apply(values, ctx) {\n const { src, fileKey, duration } = values;\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const exitTime = enterTime + duration;\n const videoLayer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: 100,\n height: toPct(height / width),\n objectFit: \"cover\",\n // Mute original audio — dubbed audio layer will replace it\n volume: 0,\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Original Video\", enterTime, exitTime, contentDuration: duration }\n });\n const { layersToAdd, layersToUpdate } = await runAction({\n action: dubAudioAction,\n input: createFromSchema(dubAudioAction.inputSchema, {\n targetLang: values.targetLang\n }),\n sourceLayer: videoLayer,\n project: ctx.project\n });\n return {\n layersToAdd: [{ layer: videoLayer }, ...layersToAdd ?? []],\n layersToUpdate,\n projectUpdates: { ...exitTime > ctx.project.duration ? { duration: exitTime } : {} }\n };\n }\n};\nconst __vite_glob_0_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$4\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$2 = z.object({\n aggressiveness: z.enum([\"light\", \"balanced\", \"aggressive\"]).default(\"balanced\").register(fieldRegistry, { label: \"Cut aggressiveness\" })\n});\nconst template$3 = {\n id: \"auto-cut\",\n name: \"Silence Remover\",\n description: \"Automatically detect and remove silent/boring parts from your video\",\n thumbnail: \"/templates/auto-cut.svg\",\n icon: Scissors,\n category: \"media\",\n isPro: true,\n seoTitle: \"Free Silence Remover — Auto-Cut Dead Air from Videos\",\n seoDescription: \"Upload your video and let AI automatically detect and remove silences, pauses, and boring sections. Free online silence remover.\",\n keywords: [\n \"silence remover\",\n \"auto cut video\",\n \"remove silence from video\",\n \"jump cut editor\",\n \"video trimmer\",\n \"podcast editor\",\n \"youtube editor\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Upload the video you want to trim\",\n component: Media_upload_step,\n componentProps: { mediaType: \"video\" }\n },\n {\n title: \"Cut Settings\",\n description: \"Choose how aggressively to remove silences\",\n schema: configSchema$2\n },\n {\n title: \"Analyzing Video\",\n description: \"AI is detecting silences and boring sections...\",\n async execute(values, _ctx, onProgress) {\n const fileKey = values.fileKey;\n const duration = values.duration;\n const aggressiveness = values.aggressiveness ?? \"balanced\";\n onProgress(0.1);\n const result = await analyzeMediaAsset({ fileKey });\n onProgress(0.8);\n let segments;\n const analysisData = result.success ? result.data : null;\n const annotation = analysisData?.success ? analysisData.annotation : null;\n if (annotation) {\n const typesToCut = aggressiveness === \"light\" ? [\"dead-space\"] : aggressiveness === \"balanced\" ? [\"dead-space\", \"tangent\"] : [\"dead-space\", \"tangent\", \"outro\"];\n segments = annotation.segments.filter((s) => !typesToCut.includes(s.type)).map((s) => ({ start: s.start, end: s.end }));\n } else {\n const segmentLength = aggressiveness === \"light\" ? 30 : aggressiveness === \"balanced\" ? 20 : 10;\n segments = [];\n for (let start = 0; start < duration; start += segmentLength + 1) {\n segments.push({ start, end: Math.min(start + segmentLength, duration) });\n }\n }\n if (segments.length === 0) {\n segments.push({ start: 0, end: duration });\n }\n onProgress(1);\n return { segments, fileKey, src: values.src };\n }\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, duration, segments } = values;\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const allSegments = segments ?? [{ start: 0, end: duration }];\n const layers = [];\n let cursor = enterTime;\n for (const seg of allSegments) {\n const segDuration = seg.end - seg.start;\n const layer = createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: 100,\n height: toPct(height / width),\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: {\n name: `Clip ${Math.round(seg.start)}s–${Math.round(seg.end)}s`,\n enterTime: cursor,\n exitTime: cursor + segDuration,\n contentDuration: duration,\n contentOffset: seg.start\n }\n });\n layers.push({ layer });\n cursor += segDuration;\n }\n return {\n layersToAdd: layers,\n projectUpdates: { ...cursor > ctx.project.duration ? { duration: cursor } : {} }\n };\n }\n};\nconst __vite_glob_0_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$3\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema$1 = z.object({\n headline: z.string().default(\"\").register(fieldRegistry, { label: \"Headline text\" }),\n subtext: z.string().default(\"\").register(fieldRegistry, { label: \"Subtext (optional)\" }),\n background: BackgroundValueSchema.default({\n type: \"linear\",\n angle: 135,\n stops: [\n { color: \"#667eea\", position: 0 },\n { color: \"#764ba2\", position: 100 }\n ]\n }).register(fieldRegistry, { label: \"Background\", widget: \"background\" }),\n animateIn: z.boolean().default(true).register(fieldRegistry, { label: \"Animate screenshot in\" })\n});\nconst template$2 = {\n id: \"screenshot-to-social\",\n name: \"Screenshot to Social Card\",\n description: \"Turn any screenshot into an animated social media card with text and branding\",\n thumbnail: \"/templates/screenshot-to-social.svg\",\n icon: Image_play,\n category: \"composite\",\n seoTitle: \"Free Screenshot to Social Card Maker — Animated Video\",\n seoDescription: \"Drop a screenshot and turn it into a polished animated social card with gradient background, headline, and smooth reveal animation. Free.\",\n keywords: [\n \"screenshot to video\",\n \"social media card maker\",\n \"animated social post\",\n \"product screenshot\",\n \"marketing video maker\",\n \"twitter card video\"\n ],\n steps: [\n {\n title: \"Upload Media\",\n description: \"Upload a screenshot, image, or video to showcase\",\n component: Media_upload_step,\n componentProps: { mediaType: \"media\" }\n },\n {\n title: \"Card Content\",\n description: \"Add your headline, subtext, and choose a background color\",\n schema: configSchema$1\n }\n ],\n apply(values, ctx) {\n const {\n src,\n fileKey,\n detectedType,\n duration: mediaDuration,\n headline,\n subtext,\n background,\n animateIn\n } = values;\n const isVideo = detectedType === \"video\";\n const { width, height } = ctx.project;\n const ar = height / width;\n const enterTime = ctx.currentTime;\n const duration = mediaDuration ?? 5;\n const exitTime = enterTime + duration;\n const layers = [];\n const bgLayer = createLayer(\"shape\", {\n props: { shapeType: \"rectangle\", background, width: 100, height: toPct(ar), borderRadius: 0 },\n projectDimensions: { width, height },\n layer: { name: \"Background\", enterTime, exitTime }\n });\n layers.push({ layer: bgLayer });\n const mediaWidthPct = 75;\n const mediaHeightPct = round1(mediaWidthPct * 0.56);\n const hasText = headline || subtext;\n const sharedStyle = {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 12,\n dropShadowBlur: 40,\n dropShadowColor: \"rgba(0,0,0,0.35)\"\n };\n const sharedTransform = {\n position: { x: 0, y: hasText ? -round1(ar * 8) : 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n };\n const mediaLayer = isVideo ? createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: mediaWidthPct,\n height: mediaHeightPct,\n borderRadius: 12,\n objectFit: \"cover\"\n },\n transform: sharedTransform,\n style: sharedStyle,\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: mediaDuration }\n }) : createLayer(\"image\", {\n props: {\n src,\n fileKey,\n width: mediaWidthPct,\n height: mediaHeightPct,\n objectFit: \"cover\"\n },\n transform: sharedTransform,\n style: sharedStyle,\n layer: { name: \"Screenshot\", enterTime, exitTime }\n });\n layers.push({\n layer: mediaLayer,\n presets: animateIn ? [{ id: \"zoom-in\", startTime: enterTime, duration: 0.6 }] : void 0\n });\n if (headline) {\n const headlineLayer = createLayer(\"text\", {\n props: {\n content: headline,\n fontSize: 42,\n fontWeight: \"700\",\n color: \"#ffffff\",\n textAlign: \"center\",\n letterSpacing: -0.5\n },\n transform: {\n position: { x: 0, y: round1(ar * 50 - pxToPct({ width }, 72)), z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n layer: { name: \"Headline\", enterTime, exitTime }\n });\n layers.push({\n layer: headlineLayer,\n presets: [{ id: \"slide-in-bottom\", startTime: enterTime + 0.25, duration: 0.5 }]\n });\n }\n if (subtext) {\n const subtextLayer = createLayer(\"text\", {\n props: {\n content: subtext,\n fontSize: 22,\n fontWeight: \"400\",\n color: \"rgba(255,255,255,0.7)\",\n textAlign: \"center\",\n letterSpacing: 0.2\n },\n transform: {\n position: { x: 0, y: round1(ar * 50 - pxToPct({ width }, 30)), z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1 },\n anchor: \"center\"\n },\n layer: { name: \"Subtext\", enterTime, exitTime }\n });\n layers.push({\n layer: subtextLayer,\n presets: [{ id: \"slide-in-bottom\", startTime: enterTime + 0.4, duration: 0.5 }]\n });\n }\n return {\n layersToAdd: layers,\n projectUpdates: {\n ...exitTime > ctx.project.duration ? { duration: Math.ceil(exitTime) } : {}\n }\n };\n }\n};\nconst __vite_glob_0_7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$2\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst template$1 = {\n id: \"generate-video\",\n name: \"AI Video Generator\",\n description: \"Generate a video from a text prompt using Seedance 2.0 AI\",\n thumbnail: \"/templates/generate-video.svg\",\n icon: Sparkles,\n category: \"media\",\n isPro: true,\n seoTitle: \"Free AI Video Generator — Text to Video in Seconds\",\n seoDescription: \"Generate stunning AI videos from text prompts using state-of-the-art Seedance 2.0 model. Native audio, any aspect ratio. Free to try.\",\n keywords: [\n \"ai video generator\",\n \"text to video\",\n \"ai video creation\",\n \"seedance\",\n \"video generation\",\n \"generative ai video\"\n ],\n steps: [\n {\n title: \"Describe Your Video\",\n description: \"Write a prompt and choose generation settings\",\n schema: GenerateVideoSchema\n }\n ],\n async apply(values, ctx) {\n const { layersToAdd, layersToUpdate, projectUpdates } = await runAction({\n action: generateVideoAction,\n input: createFromSchema(generateVideoAction.inputSchema, values),\n project: ctx.project\n });\n return {\n layersToAdd,\n layersToUpdate,\n projectUpdates\n };\n }\n};\nconst __vite_glob_0_8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template: template$1\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst configSchema = z.object({\n phoneColor: z.string().default(\"#1f2937\").register(fieldRegistry, { label: \"Phone Frame Color\", widget: \"color\" }),\n background: BackgroundValueSchema.default(defaultBackground).register(fieldRegistry, {\n label: \"Background\",\n widget: \"background\"\n })\n});\nconst template = {\n id: \"video-to-phone\",\n name: \"Phone Mockup Video\",\n description: \"Wrap your video or screenshot inside an animated phone frame\",\n thumbnail: \"/templates/video-to-phone.svg\",\n icon: Smartphone,\n category: \"composite\",\n seoTitle: \"Free Phone Mockup Video Maker — Wrap Videos in a Phone Frame\",\n seoDescription: \"Instantly wrap your video or screenshot in a realistic phone mockup. Perfect for app demos, social media content, and product showcases. Free tool.\",\n keywords: [\n \"phone mockup\",\n \"mobile mockup video\",\n \"app demo video\",\n \"smartphone frame\",\n \"iphone mockup\",\n \"social media mockup\"\n ],\n steps: [\n {\n title: \"Upload Your Video\",\n description: \"Select a video or screenshot to display inside the phone\",\n component: Media_upload_step,\n componentProps: { mediaType: \"media\" }\n },\n {\n title: \"Phone Settings\",\n description: \"Customize the phone frame color and background\",\n schema: configSchema\n }\n ],\n apply(values, ctx) {\n const { src, fileKey, detectedType, duration: mediaDuration, phoneColor, background } = values;\n const isVideo = detectedType === \"video\";\n const { width, height } = ctx.project;\n const enterTime = ctx.currentTime;\n const duration = isVideo ? mediaDuration ?? 5 : 5;\n const exitTime = enterTime + duration;\n const phoneW = round1(Math.min(45, pxToPct({ width }, 375)));\n const phoneH = round1(phoneW * (667 / 375));\n const bezelWidth = pxToPct({ width }, 12);\n const notchHeight = pxToPct({ width }, 28);\n const phoneLayer = createLayer(\"phone\", {\n props: {\n width: phoneW,\n height: phoneH,\n phoneColor,\n borderRadius: pxToPct({ width }, 40),\n bezelWidth,\n notchHeight,\n showNotch: true\n },\n projectDimensions: ctx.project,\n style: {\n opacity: 1,\n blur: 0,\n brightness: 1,\n contrast: 1,\n saturate: 1,\n dropShadowX: 0,\n dropShadowY: 20,\n dropShadowBlur: 60,\n dropShadowColor: \"rgba(0,0,0,0.45)\"\n },\n layer: { name: \"Phone Frame\", enterTime, exitTime }\n });\n const contentW = phoneW - bezelWidth * 2;\n const contentH = phoneH - bezelWidth * 2 - notchHeight;\n const contentLayer = isVideo ? createLayer(\"video\", {\n props: {\n src,\n fileKey,\n width: contentW,\n height: contentH,\n objectFit: \"cover\",\n borderRadius: 0,\n frame: \"none\",\n frameWidth: 0\n },\n projectDimensions: { width, height },\n layer: { name: \"Video\", enterTime, exitTime, contentDuration: mediaDuration }\n }) : createLayer(\"image\", {\n props: {\n src,\n fileKey,\n width: contentW,\n height: contentH,\n objectFit: \"cover\"\n },\n projectDimensions: { width, height },\n layer: { name: \"Screenshot\", enterTime, exitTime }\n });\n contentLayer.parentId = phoneLayer.id;\n return {\n projectUpdates: {\n ...ctx.inProject ? {} : { background, duration: exitTime },\n ...exitTime > ctx.project.duration ? { duration: exitTime } : {}\n },\n layersToAdd: [\n {\n layer: phoneLayer,\n presets: [{ id: \"zoom-in\", startTime: enterTime, duration: 0.5 }]\n },\n {\n layer: contentLayer,\n presets: [{ id: \"fade-in\", startTime: enterTime + 0.2, duration: 0.35 }]\n }\n ]\n };\n }\n};\nconst __vite_glob_0_9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n template\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst templateModules = /* @__PURE__ */ Object.assign({ \"./templates/1-screen-webcam-demo.ts\": __vite_glob_0_0, \"./templates/10-video-beautifier.ts\": __vite_glob_0_1, \"./templates/2-laptop-3d-intro.ts\": __vite_glob_0_2, \"./templates/3-add-captions.ts\": __vite_glob_0_3, \"./templates/4-video-to-browser.ts\": __vite_glob_0_4, \"./templates/5-translate-video.ts\": __vite_glob_0_5, \"./templates/6-auto-cut.ts\": __vite_glob_0_6, \"./templates/7-screenshot-to-social.ts\": __vite_glob_0_7, \"./templates/8-generate-video.ts\": __vite_glob_0_8, \"./templates/9-video-to-phone.ts\": __vite_glob_0_9 });\nconst templateRegistry = Object.values(templateModules).map(\n (m) => m.template\n);\nfunction getTemplateById(id) {\n return templateRegistry.find((t) => t.id === id);\n}\nexport {\n FileUpload as F,\n Rotate_cw as R,\n Scroll_area as S,\n Tooltip$1 as T,\n Tooltip_trigger$1 as a,\n Tooltip_content as b,\n Tooltip as c,\n Tooltip_trigger as d,\n getTemplateById as g,\n templateRegistry as t\n};\n"],"names":["isFunction","watch","noop","Portal","watch$1","meta"],"mappings":"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"}