@higgsfield/video-editor-mcp 1.0.7 → 1.1.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/THIRD_PARTY_NOTICES.md +24 -24
  2. package/dist/cli.mjs +134 -125
  3. package/dist/index.html +136 -133
  4. package/dist/launcher.mjs +90 -90
  5. package/dist/server.mjs +1553 -1389
  6. package/node_modules/@higgsfield/higgsedit/README.md +181 -1
  7. package/node_modules/@higgsfield/higgsedit/dist/capture-page.js +902 -314
  8. package/node_modules/@higgsfield/higgsedit/dist/chunk-2JYLVSVV.mjs +1594 -0
  9. package/node_modules/@higgsfield/higgsedit/dist/chunk-2WKNH7OL.mjs +16 -0
  10. package/node_modules/@higgsfield/higgsedit/dist/{chunk-OMKZ5BXM.mjs → chunk-5LTTL3Q3.mjs} +1 -1
  11. package/node_modules/@higgsfield/higgsedit/dist/chunk-7PYXSJS7.mjs +717 -0
  12. package/node_modules/@higgsfield/higgsedit/dist/{chunk-MLJAIZGP.mjs → chunk-BH2QF635.mjs} +33 -326
  13. package/node_modules/@higgsfield/higgsedit/dist/{chunk-WZR5PZM7.mjs → chunk-BV5COOQZ.mjs} +250 -161
  14. package/node_modules/@higgsfield/higgsedit/dist/{chunk-HTCYVKFX.mjs → chunk-C3GSB3XZ.mjs} +8 -7
  15. package/node_modules/@higgsfield/higgsedit/dist/{chunk-CYH2EUQV.mjs → chunk-DVN4LUXV.mjs} +13 -4
  16. package/node_modules/@higgsfield/higgsedit/dist/chunk-F4CMIG5G.mjs +36 -0
  17. package/node_modules/@higgsfield/higgsedit/dist/chunk-IEPPEDEU.mjs +33 -0
  18. package/node_modules/@higgsfield/higgsedit/dist/{chunk-UVAZ6I6U.mjs → chunk-KIWGVAPJ.mjs} +16 -12
  19. package/node_modules/@higgsfield/higgsedit/dist/{chunk-L6QDNSL3.mjs → chunk-L5LWBA6A.mjs} +5 -5
  20. package/node_modules/@higgsfield/higgsedit/dist/chunk-LMQR3DHT.mjs +37 -0
  21. package/node_modules/@higgsfield/higgsedit/dist/chunk-LTKMGZ6T.mjs +58 -0
  22. package/node_modules/@higgsfield/higgsedit/dist/{chunk-VI6IV6JP.mjs → chunk-MV2JTTBQ.mjs} +65 -47
  23. package/node_modules/@higgsfield/higgsedit/dist/{chunk-4D6AXU4B.mjs → chunk-NARTAWRN.mjs} +50 -30
  24. package/node_modules/@higgsfield/higgsedit/dist/{chunk-27NBQ5FA.mjs → chunk-NUXTKQNM.mjs} +33 -21
  25. package/node_modules/@higgsfield/higgsedit/dist/chunk-OCIZ36XD.mjs +40 -0
  26. package/node_modules/@higgsfield/higgsedit/dist/{chunk-MK6PL7N4.mjs → chunk-OF6RMSM2.mjs} +19 -17
  27. package/node_modules/@higgsfield/higgsedit/dist/{chunk-6BETMESC.mjs → chunk-P2BGHTRR.mjs} +2 -2
  28. package/node_modules/@higgsfield/higgsedit/dist/{chunk-EKFC4S4M.mjs → chunk-PAHMD6SU.mjs} +5 -0
  29. package/node_modules/@higgsfield/higgsedit/dist/{chunk-QVLAEV3U.mjs → chunk-PFQYUJQL.mjs} +3 -4
  30. package/node_modules/@higgsfield/higgsedit/dist/chunk-QJTILFBS.mjs +335 -0
  31. package/node_modules/@higgsfield/higgsedit/dist/chunk-QQ3GGKDN.mjs +21 -0
  32. package/node_modules/@higgsfield/higgsedit/dist/chunk-TH7TK67K.mjs +23 -0
  33. package/node_modules/@higgsfield/higgsedit/dist/{chunk-SIMO6I3D.mjs → chunk-UDL5AHKO.mjs} +163 -158
  34. package/node_modules/@higgsfield/higgsedit/dist/chunk-UMWOUQN3.mjs +60 -0
  35. package/node_modules/@higgsfield/higgsedit/dist/{chunk-3AIM3THH.mjs → chunk-VLM5EOWJ.mjs} +4 -4
  36. package/node_modules/@higgsfield/higgsedit/dist/chunk-WENFTPXQ.mjs +403 -0
  37. package/node_modules/@higgsfield/higgsedit/dist/chunk-YLVXQIPX.mjs +464 -0
  38. package/node_modules/@higgsfield/higgsedit/dist/editor/.vite/manifest.json +559 -506
  39. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/agent-corner-bottom-q4hZltI-.svg +431 -0
  40. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/agent-corner-top-BJYI-I24.svg +431 -0
  41. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/confirmation-BTnwl3LS.css +1 -0
  42. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/drag-Bt_t4HZO.css +1 -0
  43. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/local-B3OTAV_A.css +1 -0
  44. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/menubar-2Y1Y2XJt.css +1 -0
  45. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/model-DdE4hCgf.css +1 -0
  46. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/{IconText1-CzbCrP7v.css → notifications-B08L1jSe.css} +1 -1
  47. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/{panel-g852pZf_.css → panel-BRN_AbBM.css} +1 -1
  48. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-CYELNqrv.css +1 -0
  49. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-DYLpT6oA.css +1 -0
  50. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-v84HaGTZ.css +1 -0
  51. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconChainLink1-Bxb1Or0F.js +1 -0
  52. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconCheckmark2Medium-daaES9uF.js → IconCheckmark2Medium-hegaz9mQ.js} +1 -1
  53. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconChevronDownSmall-BhTBJk26.js → IconChevronDownSmall-DaruzJwU.js} +1 -1
  54. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconClosedCaptioning-BPqcqKsD.js +1 -0
  55. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconCrossMedium-acfnCXOM.js → IconCrossMedium-BsPFJzc6.js} +1 -1
  56. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconOpenaiFilled-D1fzthmi.js +1 -0
  57. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconPause-pTeVSvUe.js → IconPause-ClNg8pao.js} +1 -1
  58. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconPlayFilled-CwdgIuDG.js → IconPlayFilled-CHb-7GSx.js} +1 -1
  59. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconSparklesSoftFilled-o7o33KRn.js +1 -0
  60. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ai-composer-B9h-eaki.js +567 -0
  61. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/auto-layout-BO20Tg4B.js +1 -0
  62. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{button-CjG6GcgF.js → button-Cg0U0zpV.js} +1 -1
  63. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/canvas-Bw4CVzfw.js +1 -0
  64. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/capabilities-BCd4-zPF.js +1 -0
  65. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/commands-QeSqAbCt.js +1 -0
  66. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/components-tXMtIZNL.js +51 -0
  67. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/confirmation-CO2PHR_z.js +1 -0
  68. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/dom-6aoQn29n.js +1 -0
  69. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/drag-Dw8b_vO2.js +1 -0
  70. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{editing-CjWbiCxv.js → editing-Cy-SaOyB.js} +1 -1
  71. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edits-CqLBqir0.js +1 -0
  72. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/export-dialog-BjBskOe3.js +2 -0
  73. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/factories-Bw_iQrUL.js +1 -0
  74. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/id3-CSR0NCRI.js +2 -0
  75. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-DP49i4ke.js +1 -0
  76. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-error-CMz9sLPe.js +1 -0
  77. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ingest-DsmIc415.js +1 -0
  78. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/jsx-runtime-B5yqYJvp.js +1 -0
  79. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{media-Bwjxu-0U.js → media-DQw6vU_T.js} +1 -1
  80. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/menubar-D31srALX.js +1 -0
  81. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/meters-D0nZVEJs.js +1 -0
  82. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/mode-DEG6doKF.js +1 -0
  83. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/model-Duf9fszJ.js +2 -0
  84. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/model-DyAkLA69.js +1 -0
  85. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/notifications-DqWZNIrK.js +9 -0
  86. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/palette-HT83gWgL.js +1 -0
  87. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-B5Mvm6dg.js +7 -0
  88. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-BC90wyvd.js +1 -0
  89. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Bw_ZJ2JI.js +3 -0
  90. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DNS060Nt.js +3 -0
  91. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DSgxIrEq.js +2 -0
  92. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DgBttE5O.js +1 -0
  93. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-assets-_T2bHsHW.js +771 -0
  94. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-inspector-DfHvAt5X.js +2 -0
  95. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-nBZvHlkA.js +1 -0
  96. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-timeline-DsCpJVSt.js +327 -0
  97. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-viewport-CEhZwZ67.js +280 -0
  98. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/projects-2_tW9Do7.js +1 -0
  99. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/react-dom-1uB7Vbbb.js +1 -0
  100. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/schemas-CddYAOcj.js +64 -0
  101. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/session-BpFeKAI2.js +1 -0
  102. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/src-BLG3tYBa.js +2 -0
  103. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/styles-e2n2A_JN.js +284 -0
  104. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/supercomputer-CuV0zYKd.js +24 -0
  105. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/tabs-XeAgs9cs.js +1 -0
  106. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/toggle-DbNEaSIl.js +1 -0
  107. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-C8Ll3qFl.js +69 -0
  108. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-bar-Dv1LPFbu.js +1 -0
  109. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useOpenInteractionType-HWSfSsp2.js +1 -0
  110. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useRenderElement-D4SOg3N_.js +1 -0
  111. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/value-EB7YmAdS.js +1 -0
  112. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/writeback-support-fj5rA9k3.js +1 -0
  113. package/node_modules/@higgsfield/higgsedit/dist/editor/editor-B-WAkLt7.js +372 -0
  114. package/node_modules/@higgsfield/higgsedit/dist/higgsedit.mjs +39 -24
  115. package/node_modules/@higgsfield/higgsedit/dist/jsx/hooks.d.ts +26 -0
  116. package/node_modules/@higgsfield/higgsedit/dist/jsx/index.d.ts +17 -0
  117. package/node_modules/@higgsfield/higgsedit/dist/jsx/inspect.d.ts +42 -0
  118. package/node_modules/@higgsfield/higgsedit/dist/jsx/jsx-runtime.d.ts +28 -0
  119. package/node_modules/@higgsfield/higgsedit/dist/jsx/svg.d.ts +9 -0
  120. package/node_modules/@higgsfield/higgsedit/dist/jsx/time.d.ts +6 -0
  121. package/node_modules/@higgsfield/higgsedit/dist/jsx/types.d.ts +420 -0
  122. package/node_modules/@higgsfield/higgsedit/package.json +28 -20
  123. package/package.json +4 -3
  124. package/plugin/.codex-plugin/plugin.json +1 -1
  125. package/plugin/plugin.json +1 -1
  126. package/plugin/skills/video-editing/references/caption-titling.md +1 -1
  127. package/plugin/skills/video-editing/references/local-setup.md +3 -3
  128. package/node_modules/@higgsfield/higgsedit/dist/chunk-C6SASQHE.mjs +0 -424
  129. package/node_modules/@higgsfield/higgsedit/dist/chunk-FZ5U36SQ.mjs +0 -83
  130. package/node_modules/@higgsfield/higgsedit/dist/chunk-QLPCYN6K.mjs +0 -292
  131. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/edit-drag-D2EV5ddd.css +0 -1
  132. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/editor-CuRHT75g.css +0 -1
  133. package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-DnuQD7ja.css +0 -1
  134. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/FieldControl-B0fenhBJ.js +0 -2
  135. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconChainLink1-Cwv1X7hi.js +0 -1
  136. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconEyeOpen-BqTT9_VV.js +0 -1
  137. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconEyeSlash-Whv58c1m.js +0 -1
  138. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPencil-Dr17k_7e.js +0 -1
  139. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPlay-BroH3ziH.js +0 -1
  140. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPlusSmall-43T9aE3d.js +0 -1
  141. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconText1-BaP_p9DW.js +0 -1
  142. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconTrashCan-DX2w2AIC.js +0 -1
  143. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ai-composer-C-l0eIdP.js +0 -560
  144. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/captions-Cd-bDG3G.js +0 -1
  145. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/clip-highlight-DpAvcA4x.js +0 -1
  146. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/components-e3ZbUVns.js +0 -1
  147. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/disposables-CwUPjcuA.js +0 -1
  148. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/drag-HLBkto5o.js +0 -1
  149. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/dropdown-BJ04G_X3.js +0 -1
  150. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edit-drag-Bg6LggKC.js +0 -1
  151. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edits-a2IixhrN.js +0 -1
  152. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/export-dialog-4I4gqI5V.js +0 -2
  153. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/face-tracker-DzVfjVOO.js +0 -1
  154. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/fit-imported-media-CaCB0x0b.js +0 -1
  155. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/generation-queue-DuL2F4-_.js +0 -1
  156. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-error-CMARA0Hy.js +0 -1
  157. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/jsx-runtime-B-hcVAMW.js +0 -1
  158. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/menubar-Bs26OdwP.js +0 -1
  159. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/meters-YEr9OQjq.js +0 -1
  160. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/paints-DS2Msf91.js +0 -67
  161. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/palette-CcS9IcAC.js +0 -1
  162. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-7M3uQokX.js +0 -1
  163. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-BBK1NyG-.js +0 -1
  164. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-CHZTs7By.js +0 -4
  165. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DaSOa3MP.js +0 -2
  166. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DlK3RYVo.js +0 -1
  167. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Dst5OKWu.js +0 -2
  168. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-H_ZoDiKK.js +0 -2
  169. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Rn9Z7Eek.js +0 -3
  170. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-assets-FAghGFG3.js +0 -678
  171. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-inspector-DEqULBNF.js +0 -260
  172. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-timeline-0GYNz1uc.js +0 -333
  173. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-viewport-DOWjJi5-.js +0 -317
  174. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/projects-BBJc7h5_.js +0 -2
  175. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/session-B9sZaFKC.js +0 -1
  176. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/supercomputer-CX-LCL6Y.js +0 -24
  177. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/tabs-CvKQ-eas.js +0 -1
  178. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/toggle-CrzrwiDZ.js +0 -1
  179. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-BgRfk-Qq.js +0 -69
  180. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-bar-C9nqAfE2.js +0 -1
  181. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/typography-C5-w9LOu-kD3uLKkf.js +0 -1
  182. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useOpenInteractionType-DbrQ6Ehu.js +0 -1
  183. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useRenderElement-bbxXdYq0.js +0 -1
  184. package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/writeback-support-BZfNpkmB.js +0 -1
  185. package/node_modules/@higgsfield/higgsedit/dist/editor/editor-Csn2_T_e.js +0 -293
  186. package/node_modules/@higgsfield/higgsedit/dist/export-settings.mjs +0 -75
  187. package/node_modules/@higgsfield/higgsedit/dist/history.mjs +0 -295
  188. package/node_modules/@higgsfield/higgsedit/dist/media-upload.mjs +0 -381
  189. package/node_modules/@higgsfield/higgsedit/dist/proxy.mjs +0 -170
@@ -1,4 +0,0 @@
1
- import{a as e,n as t,t as n}from"./jsx-runtime-B-hcVAMW.js";import{A as r,At as i,Bn as a,C as o,D as s,Dn as c,E as l,Ft as u,Gt as d,H as f,Ht as p,L as m,M as h,N as g,O as _,Pt as v,Q as y,R as b,S as x,Sr as S,St as C,T as w,Tt as T,V as E,Wt as D,a as O,ar as ee,ct as te,fr as k,gt as ne,hr as re,ht as ie,k as ae,nt as oe,rr as A,ut as j,vt as M,w as N,wr as P,yt as F,z as I,zn as se,zt as L}from"./useOpenInteractionType-DbrQ6Ehu.js";import{n as R,r as ce,t as le}from"./IconEyeSlash-Whv58c1m.js";import{d as ue,p as de,u as fe}from"./session-B9sZaFKC.js";import{a as pe,d as me,l as he,t as ge}from"./useRenderElement-bbxXdYq0.js";import{_ as _e,g as ve,h as ye,i as be,l as xe,m as Se,o as Ce,s as we,t as z,v as Te,y as Ee}from"./dropdown-BJ04G_X3.js";import{E as De,_ as B,a as V,c as Oe,d as ke,f as Ae,g as je,o as H,p as U,s as Me,y as Ne}from"../editor-Csn2_T_e.js";import{n as Pe}from"./clip-highlight-DpAvcA4x.js";import{t as Fe}from"./fit-imported-media-CaCB0x0b.js";import{t as Ie}from"./button-CjG6GcgF.js";import{t as Le}from"./IconChevronDownSmall-BhTBJk26.js";import{g as Re,i as ze,r as Be}from"./components-e3ZbUVns.js";import{_ as Ve,b as He,c as Ue,d as We,f as Ge,h as Ke,i as qe,l as Je,m as Ye,p as Xe,r as Ze,s as Qe,t as $e,u as et,v as tt,x as nt,y as rt}from"./edit-drag-Bg6LggKC.js";import{k as it,o as at}from"./edits-a2IixhrN.js";import{C as ot,S as st,T as ct,b as lt,v as ut,x as dt,y as ft}from"./face-tracker-DzVfjVOO.js";import{n as pt,r as mt,t as ht}from"./IconText1-BaP_p9DW.js";import{t as gt}from"./writeback-support-BZfNpkmB.js";import{n as _t}from"./import-error-CMARA0Hy.js";import{a as vt,r as yt,s as bt,t as xt}from"./IconEyeOpen-BqTT9_VV.js";import{n as St,t as Ct}from"./palette-CcS9IcAC.js";import{A as wt,B as Tt,C as Et,D as Dt,E as Ot,F as kt,G as At,H as jt,I as Mt,J as Nt,K as Pt,L as Ft,M as It,N as Lt,O as Rt,P as zt,R as Bt,S as Vt,T as Ht,U as Ut,V as W,W as Wt,Y as Gt,_ as Kt,a as qt,b as Jt,c as Yt,d as Xt,f as Zt,g as Qt,h as $t,i as en,j as tn,k as nn,l as rn,m as an,n as on,o as sn,p as cn,q as ln,r as un,s as dn,u as fn,v as pn,w as mn,x as hn,y as gn,z as _n}from"./panel-timeline-0GYNz1uc.js";import{a as vn,i as yn,n as bn,r as xn}from"./drag-HLBkto5o.js";import{t as Sn}from"./IconPlay-BroH3ziH.js";import{_ as Cn}from"./editing-CjWbiCxv.js";var G=e(t()),K=n(),wn=G.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new D,currentIdRef:{current:null},currentContextRef:{current:null}});function Tn(e){let{children:t,delay:n,timeoutMs:r=0}=e,i=G.useRef(n),a=G.useRef(n),o=G.useRef(null),s=G.useRef(null),c=d();return(0,K.jsx)(wn.Provider,{value:G.useMemo(()=>({hasProvider:!0,delayRef:i,initialDelayRef:a,currentIdRef:o,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:t})}function En(e,t={open:!1}){let{open:n}=t,r=`rootStore`in e?e.rootStore:e,a=r.useState(`floatingId`),{currentIdRef:o,delayRef:s,timeoutMs:c,initialDelayRef:l,currentContextRef:u,hasProvider:d,timeout:f}=G.useContext(wn),[p,m]=G.useState(!1);return k(()=>{function e(){m(!1),u.current?.setIsInstantPhase(!1),o.current=null,u.current=null,s.current=l.current}if(o.current&&!n&&o.current===a){if(m(!1),c){let t=a;return f.start(c,()=>{r.select(`open`)||o.current&&o.current!==t||e()}),()=>{f.clear()}}e()}},[n,a,o,s,c,l,u,f,r]),k(()=>{if(!n)return;let e=u.current,t=o.current;f.clear(),u.current={onOpenChange:r.setOpen,setIsInstantPhase:m},o.current=a,s.current={open:0,close:Ee(l.current,`close`)},t!==null&&t!==a?(m(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,F(i))):(m(!1),e?.setIsInstantPhase(!1))},[n,a,r,o,s,l,u,f]),k(()=>()=>{u.current=null},[u]),G.useMemo(()=>({hasProvider:d,delayRef:s,isInstantPhase:p}),[d,s,p])}function Dn(e,t){let n=null,r=null,i=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},o=t.axis===`x`||t.axis===`both`,s=t.axis===`y`||t.axis===`both`,c=[`mouseenter`,`mousemove`].includes(t.dataRef.current.openEvent?.type||``)&&t.pointerType!==`touch`,l=a.width,u=a.height,d=a.x,f=a.y;return n==null&&t.x&&o&&(n=a.x-t.x),r==null&&t.y&&s&&(r=a.y-t.y),d-=n||0,f-=r||0,l=0,u=0,!i||c?(l=t.axis===`y`?a.width:0,u=t.axis===`x`?a.height:0,d=o&&t.x!=null?t.x:d,f=s&&t.y!=null?t.y:f):i&&!c&&(u=t.axis===`x`?a.height:u,l=t.axis===`y`?a.width:l),i=!0,{width:l,height:u,x:d,y:f,top:f,right:d+l,bottom:f+u,left:d}}}}function On(e){return e!=null&&e.clientX!=null}function kn(e,t={}){let{enabled:n=!0,axis:r=`both`}=t,i=`rootStore`in e?e.rootStore:e,o=i.useState(`open`),s=i.useState(`floatingElement`),l=i.useState(`domReferenceElement`),u=i.context.dataRef,d=G.useRef(!1),f=G.useRef(null),[p,m]=G.useState(),[h,g]=G.useState([]),_=S(e=>{i.set(`positionReference`,e)}),v=S((e,t,n)=>{d.current||(!u.current.openEvent||On(u.current.openEvent))&&i.set(`positionReference`,Dn(n??l,{x:e,y:t,axis:r,dataRef:u,pointerType:p}))}),y=S(e=>{o?f.current||(v(e.clientX,e.clientY,e.currentTarget),g([])):v(e.clientX,e.clientY,e.currentTarget)}),b=c(p)?s:o;G.useEffect(()=>{if(!n){_(l);return}if(!b)return;function e(){f.current?.(),f.current=null}let t=A(s);function r(t){let n=a(t);se(s,n)?e():v(t.clientX,t.clientY)}return!u.current.openEvent||On(u.current.openEvent)?f.current=j(t,`mousemove`,r):_(l),e},[b,n,s,u,l,i,v,_,h]),G.useEffect(()=>()=>{i.set(`positionReference`,null)},[i]),G.useEffect(()=>{n&&!s&&(d.current=!1)},[n,s]),G.useEffect(()=>{!n&&o&&(d.current=!0)},[n,o]);let x=G.useMemo(()=>{function e(e){m(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:y,onMouseEnter:y}},[y]);return G.useMemo(()=>n?{reference:x,trigger:x}:{},[n,x])}var An=e(P(),1),jn=({size:e=24,...t})=>(0,K.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t,children:(0,K.jsx)(K.Fragment,{children:(0,K.jsx)(`path`,{stroke:`currentColor`,strokeWidth:1.5,d:`M13.986 7.75h.028a.25.25 0 0 1 .233.16l1.344 3.494a1.75 1.75 0 0 0 1.005 1.005l3.494 1.344a.25.25 0 0 1 .16.233v.028a.25.25 0 0 1-.16.233l-3.494 1.344a1.75 1.75 0 0 0-.93.836l-.075.169-1.344 3.494a.25.25 0 0 1-.233.16h-.028a.25.25 0 0 1-.233-.16l-1.344-3.494a1.75 1.75 0 0 0-.836-.93l-.169-.075-3.494-1.344a.25.25 0 0 1-.16-.233v-.028a.25.25 0 0 1 .16-.233l3.494-1.344a1.75 1.75 0 0 0 1.005-1.005l1.344-3.494a.25.25 0 0 1 .233-.16ZM7.541 5.454A1.75 1.75 0 0 0 8.546 6.46L9.95 7l-1.405.541A1.75 1.75 0 0 0 7.54 8.546L7 9.95l-.541-1.405A1.75 1.75 0 0 0 5.454 7.54L4.048 7l1.406-.541A1.75 1.75 0 0 0 6.46 5.454L7 4.048z`})})}),Mn=({size:e=24,...t})=>(0,K.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t,children:(0,K.jsx)(K.Fragment,{children:(0,K.jsx)(`path`,{stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`m4.75 6.5.97 13.82a1 1 0 0 0 .998.93h10.564a1 1 0 0 0 .998-.93l.97-13.82m-16-.75h17.5M8.525 5.583a3.5 3.5 0 0 1 6.95 0M10 10.5v5.75m4-5.75v5.75`})})});function Nn({target:e,x:t,y:n,onPrompt:r,onClose:i}){let a=U(),o=V(ue),s=Oe(),c=Me(e=>e),l=He(c,e),[u,d]=(0,G.useState)(null),f=(0,G.useRef)(!1),[p,m]=(0,G.useState)(!1),h=(0,G.useCallback)(e=>{e&&d(Re(e))},[]);(0,G.useEffect)(()=>{c&&!l&&i()},[c,l,i]);let g=async t=>{let n=o?.snapshot();if(f.current||!n||!He(n,e))return;let r=t(n);if(r){f.current=!0,m(!0);try{await a.commands.execute(`document.apply`,r)}catch{mt({message:`Could not update effects. Please try again.`,variant:`error`})}finally{f.current=!1,m(!1)}}};return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{ref:h}),u&&l&&(0,An.createPortal)((0,K.jsxs)(z.Root,{open:!0,onOpenChange:e=>{e||i()},children:[(0,K.jsx)(z.Trigger,{"aria-label":`Clip effects menu`,tabIndex:-1,className:`ftl-transition-menu-anchor`,style:{left:t,top:n-21}}),(0,K.jsxs)(z.Content,{container:u,surface:`solid`,align:`start`,sideOffset:8,collisionPadding:8,positionerClassName:`ftl-transition-menu-positioner`,className:`ftl-effect-menu`,"data-theme":`default-dark`,children:[(0,K.jsxs)(z.Label,{className:`ftl-effect-menu-label`,children:[`Effects on `,l.clip.name]}),l.clip.effects.map(t=>(0,K.jsx)(z.Item,{title:Ve(t.kind),className:`ftl-effect-row`,start:(0,K.jsx)(et,{size:16}),closeOnClick:!1,onKeyDown:n=>{(n.key===`Delete`||n.key===`Backspace`)&&(n.preventDefault(),n.stopPropagation(),g(n=>rt(n,e,t.id)))},end:(0,K.jsx)(`button`,{type:`button`,className:`ftl-effect-remove`,"aria-label":`Remove ${Ve(t.kind)}`,disabled:p,onClick:n=>{n.stopPropagation(),g(n=>rt(n,e,t.id))},children:(0,K.jsx)(Mn,{size:16})})},t.id)),l.clip.effects.length>0&&(0,K.jsx)(z.Separator,{}),(0,K.jsx)(z.Item,{title:`Add effect`,start:(0,K.jsx)(jn,{size:16}),disabled:p,onSelect:()=>{let t=o?.snapshot();o&&t&&He(t,e)&&(s?.setSelection({clipIds:[e.clipId],sceneId:t.activeSceneId,enteredGroupId:null}),ct(o).set(null),nt(o).set({...e}),a.commands.execute(`shell.panel.open.fable.panel-assets.panel`).catch(()=>mt({message:`Could not open effects. Please try again.`,variant:`error`})))}}),(0,K.jsx)(z.Item,{title:`Edit effects with prompt…`,start:(0,K.jsx)(pt,{size:16}),disabled:p,onSelect:()=>{let t=o?.snapshot();t&&He(t,e)&&(s?.setSelection({clipIds:[e.clipId],sceneId:t.activeSceneId,enteredGroupId:null}),r())}}),(0,K.jsx)(z.Separator,{}),(0,K.jsx)(z.Item,{title:`Remove all effects`,danger:!0,start:(0,K.jsx)(Mn,{size:16}),disabled:p||!l.clip.effects.length,onSelect:()=>void g(t=>rt(t,e))})]})]}),u)]})}var Pn=({size:e=24,...t})=>(0,K.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t,children:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`path`,{stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M19.262 20.25v-4h-4M4.75 3.75v4h4`}),(0,K.jsx)(`path`,{stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M3.814 10.969A8.25 8.25 0 0 0 12 20.25 8.4 8.4 0 0 0 18.632 17M12 3.75A8.4 8.4 0 0 0 5.368 7`}),(0,K.jsx)(`path`,{fill:`currentColor`,d:`m19.24 6.185-.696-1.812a.582.582 0 0 0-1.088 0l-.697 1.812a1 1 0 0 1-.574.575l-1.812.696a.582.582 0 0 0 0 1.088l1.812.696a1 1 0 0 1 .575.575l.696 1.812a.582.582 0 0 0 1.088 0l.697-1.812a1 1 0 0 1 .574-.575l1.812-.696a.582.582 0 0 0 0-1.088l-1.812-.696a1 1 0 0 1-.575-.575`})]})}),Fn=({size:e=24,...t})=>(0,K.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t,children:(0,K.jsx)(K.Fragment,{children:(0,K.jsx)(`path`,{stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M12 7.75V12l3.5 3.5M2.75 4.75v4h4m-3.5 6.333a9.27 9.27 0 0 0 8.736 6.167c5.117 0 9.264-4.141 9.264-9.25s-4.147-9.25-9.264-9.25A9.27 9.27 0 0 0 3.45 8.403`})})}),In=({size:e=24,...t})=>(0,K.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t,children:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M12.089 4.589a.25.25 0 0 0-.18 0L3.683 7.767a.25.25 0 0 0 0 .466l8.226 3.178a.25.25 0 0 0 .18 0l8.225-3.178a.25.25 0 0 0 0-.466zm-.721-1.4a1.75 1.75 0 0 1 1.261 0l8.226 3.179c1.492.576 1.492 2.688 0 3.264l-8.226 3.178a1.75 1.75 0 0 1-1.261 0L3.143 9.632c-1.493-.576-1.493-2.688 0-3.264z`,clipRule:`evenodd`}),(0,K.jsx)(`path`,{fill:`currentColor`,d:`m20.855 13.632-8.226 3.178a1.75 1.75 0 0 1-1.261 0l-8.225-3.178c-.89-.343-1.249-1.232-1.078-2.016l9.801 3.787a.37.37 0 0 0 .268 0l9.799-3.786c.17.784-.19 1.672-1.078 2.015`}),(0,K.jsx)(`path`,{fill:`currentColor`,d:`M20.855 17.632 12.63 20.81a1.75 1.75 0 0 1-1.261 0l-8.226-3.178c-.889-.343-1.248-1.232-1.078-2.016l9.802 3.787a.37.37 0 0 0 .267 0l9.8-3.786c.17.784-.19 1.672-1.079 2.015`})]})}),Ln=({size:e=24,...t})=>(0,K.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t,children:(0,K.jsx)(K.Fragment,{children:(0,K.jsx)(`path`,{stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M5 13.875 9.2 18 19 7`})})}),Rn=e=>{let t=G.useId();return G.createElement(Hn,{...e,instanceId:t})},zn=0,Bn=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++zn}`})}render(){return G.createElement(Hn,{...this.props.iconProps,instanceId:this.state.instanceId})}},Vn=G.forwardRef((e,t)=>Bn?G.createElement(Bn,{iconProps:{...e,svgRef:t}}):G.createElement(Rn,{...e,svgRef:t}));Vn.displayName=`CentralIconBase`;var Hn=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},Un=G.memo(G.forwardRef((e,t)=>G.createElement(Vn,{...e,ref:t,ariaLabel:`boolean-group-intersect-3`,maskId:`round-outlined-radius-2-stroke-1.5-IconBooleanGroupIntersect3`},G.createElement(`path`,{d:`M8.75 4.75C8.75 3.64543 9.64543 2.75 10.75 2.75H19.25C20.3546 2.75 21.25 3.64543 21.25 4.75V13.25C21.25 14.3546 20.3546 15.25 19.25 15.25H10.75C9.64543 15.25 8.75 14.3546 8.75 13.25V4.75Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M12.25 8.75H13.25C14.3546 8.75 15.25 9.64543 15.25 10.75V11.75`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M8.75 8.75H4.75C3.64543 8.75 2.75 9.64543 2.75 10.75V19.25C2.75 20.3546 3.64543 21.25 4.75 21.25H13.25C14.3546 21.25 15.25 20.3546 15.25 19.25V15.25`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}))));function Wn({target:e,x:t,y:n,onSelect:r,onPrompt:i,onClose:a}){let o=U(),s=V(ue),c=Me(e=>e),l=lt(c,e),[u,d]=(0,G.useState)(null),f=(0,G.useCallback)(e=>{e&&d(Re(e))},[]);(0,G.useEffect)(()=>{c&&!l&&a()},[c,l,a]);let p=async e=>{let t=s?.snapshot();if(!t)return;let n=e(t);if(n)try{await o.commands.execute(`document.apply`,n)}catch{mt({message:`Could not update the transition. Please try again.`,variant:`error`})}},m=l?.transition;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{ref:f}),u&&l&&(0,An.createPortal)((0,K.jsxs)(z.Root,{open:!0,onOpenChange:e=>{e||a()},children:[(0,K.jsx)(z.Trigger,{"aria-label":`Transition menu`,tabIndex:-1,className:`ftl-transition-menu-anchor`,style:{left:t,top:n-21}}),(0,K.jsx)(z.Content,{container:u,surface:`solid`,align:`center`,sideOffset:8,collisionPadding:8,positionerClassName:`ftl-transition-menu-positioner`,className:`ftl-transition-menu`,"data-applied":!!m,"data-theme":`default-dark`,onKeyDown:t=>{if(!m||t.altKey)return;let n=(t.metaKey||t.ctrlKey)&&t.key.toLowerCase()===`j`,r=!t.metaKey&&!t.ctrlKey&&(t.key===`Delete`||t.key===`Backspace`);(n||r)&&(t.preventDefault(),t.stopPropagation(),n?i(e):p(t=>ot(t,e,null)),a())},children:m?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(z.Item,{title:`Replace transition`,start:(0,K.jsx)(Pn,{size:16}),onSelect:()=>r(e)}),(0,K.jsxs)(z.Sub,{children:[(0,K.jsx)(z.SubTrigger,{title:`Duration`,start:(0,K.jsx)(Fn,{size:16})}),(0,K.jsx)(z.SubContent,{container:u,sideOffset:4,alignOffset:-6,className:`ftl-transition-menu ftl-transition-duration-menu`,"data-theme":`default-dark`,children:[.25,.5,1,2].map(t=>(0,K.jsx)(z.Item,{title:`${t}s`,disabled:t>Math.min(l.left.timeRange.duration,l.right.timeRange.duration),end:Math.abs(m.duration-t)<1e-6?(0,K.jsx)(Ln,{size:16,className:`ftl-transition-duration-check`}):null,onSelect:()=>void p(n=>{let r=lt(n,e)?.transition;return r?ot(n,e,r.preset,t):null})},t))})]}),(0,K.jsx)(z.Item,{title:`Edit with prompt…`,start:(0,K.jsx)(pt,{size:16}),end:`⌘J`,onSelect:()=>i(e)}),(0,K.jsx)(z.Item,{title:`Apply to all cuts`,start:(0,K.jsx)(In,{size:16}),onSelect:()=>void p(t=>ut(t,e))}),(0,K.jsx)(z.Separator,{}),(0,K.jsx)(z.Item,{title:`Remove transition`,start:(0,K.jsx)(Mn,{size:16}),end:`⌫`,danger:!0,onSelect:()=>void p(t=>ot(t,e,null))})]}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(z.Item,{title:`Add seamless transition`,start:(0,K.jsx)(pt,{size:16}),onSelect:()=>i(e)}),(0,K.jsx)(z.Item,{title:`Select transition`,start:(0,K.jsx)(Un,{mode:`raw`,size:16}),onSelect:()=>r(e)})]})})]}),u)]})}async function Gn(e,t){let n=t===`edit`?`I want to edit the transition between the selected clips with Higgsfield. First ask me how I want the transition to look, and wait for my answer before making any changes or starting any generation.`:`I want to add a seamless transition between the selected clips with Higgsfield. First ask me what kind of transition I want, and wait for my answer before making any changes or starting any generation.`;if((await e.sendMessage({role:`user`,content:[{type:`text`,text:n}]})).isError)throw Error(`Could not send the request. Please try again.`)}async function Kn(e){if((await e.sendMessage({role:`user`,content:[{type:`text`,text:`I want to edit the effects on the selected clip with Higgsfield. First ask me how I want the effects to look, and wait for my answer before making any changes or starting any generation.`}]})).isError)throw Error(`Could not send the request. Please try again.`)}var qn=G.createContext(void 0);function Jn(e){let t=G.useContext(qn);if(t===void 0&&!e)throw Error(he(72));return t}var Yn={...N,disabled:E(e=>e.disabled),instantType:E(e=>e.instantType),isInstantPhase:E(e=>e.isInstantPhase),trackCursorAxis:E(e=>e.trackCursorAxis),disableHoverablePopup:E(e=>e.disableHoverablePopup),lastOpenChangeReason:E(e=>e.openChangeReason),closeOnClick:E(e=>e.closeOnClick),closeDelay:E(e=>e.closeDelay),hasViewport:E(e=>e.hasViewport)},Xn=class e extends m{constructor(e,t,n=!1){let r=new w,i={...Zn(),...e};i.floatingRootContext=o(r,t,n),super(i,{popupRef:G.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:r},Yn)}setOpen=(e,t)=>{let n=t.reason,r=n===v,i=e&&n===`trigger-focus`,a=!e&&(n===`trigger-press`||n===`escape-key`);if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let o=()=>{let r={open:e,openChangeReason:n};i?r.instantType=`focus`:a?r.instantType=`dismiss`:n===`trigger-hover`&&(r.instantType=void 0),s(r,e,t.trigger),this.update(r)};r?An.flushSync(o):o()};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,F(u,e))}static useStore(t,n){return h(t,(t,r)=>new e(n,t,r)).store}};function Zn(){return{...x(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1}}var Qn=b(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:a=`none`,actionsRef:o,onOpenChange:s,onOpenChangeComplete:c,handle:l,triggerId:u,defaultTriggerId:d=null,children:f}=e,p=Xn.useStore(l?.store,{open:n,openProp:r,activeTriggerId:d,triggerIdProp:u});O(()=>{r===void 0&&p.state.open===!1&&n===!0&&p.update({open:!0,activeTriggerId:d})}),p.useControlledProp(`openProp`,r),p.useControlledProp(`triggerIdProp`,u),p.useContextCallback(`onOpenChange`,s),p.useContextCallback(`onOpenChangeComplete`,c);let m=p.useState(`open`),h=!t&&m,g=p.useState(`activeTriggerId`),v=p.useState(`mounted`),y=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i}),p.useSyncedValue(`disabled`,t),_(p);let{forceUnmount:b,transitionStatus:x}=ae(h,p),S=p.useState(`isInstantPhase`),w=p.useState(`instantType`),E=p.useState(`lastOpenChangeReason`),D=G.useRef(null);k(()=>{m&&t&&p.setOpen(!1,F(C))},[m,t,p]),k(()=>{x===`ending`&&E===`none`||x!==`ending`&&S?(w!==`delay`&&(D.current=w),p.set(`instantType`,`delay`)):D.current!==null&&(p.set(`instantType`,D.current),D.current=null)},[x,S,E,w,p]),k(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]);let ee=G.useCallback(()=>{p.setOpen(!1,F(T))},[p]);G.useImperativeHandle(o,()=>({unmount:b,close:ee}),[b,ee]);let te=h||v||!t&&a!==`none`;return(0,K.jsxs)(qn.Provider,{value:p,children:[te&&(0,K.jsx)($n,{store:p,disabled:t,trackCursorAxis:a}),typeof f==`function`?f({payload:y}):f]})});function $n({store:e,disabled:t,trackCursorAxis:n}){let i=e.useState(`floatingRootContext`),a=f(i,{enabled:!t,referencePress:()=>e.select(`closeOnClick`)}),o=kn(i,{enabled:!t&&n!==`none`,axis:n===`none`?void 0:n}),s=G.useMemo(()=>pe(o.reference,a.reference),[o.reference,a.reference]),c=G.useMemo(()=>pe(o.trigger,a.trigger),[o.trigger,a.trigger]),u=G.useMemo(()=>pe(l,o.floating,a.floating),[o.floating,a.floating]);return r(e,{activeTriggerProps:s,inactiveTriggerProps:c,popupProps:u}),null}var er=G.createContext(void 0);function tr(){return G.useContext(er)}var nr=function(e){return e[e.popupOpen=ie.popupOpen]=`popupOpen`,e.triggerDisabled=`data-trigger-disabled`,e}({}),rr=`data-base-ui-tooltip-trigger`;function ir(e){if(`composedPath`in e){let t=e.composedPath();for(let e=0;e<t.length;e+=1){let n=t[e];if(ee(n))return n}}let t=e.target;return ee(t)?t:null}function ar(e){let t=e;for(;t;){if(t.hasAttribute(rr))return t;let e=t.parentElement;if(e){t=e;continue}let n=t.getRootNode();t=`host`in n&&ee(n.host)?n.host:null}return null}var or=I(function(e,t){let{render:n,className:r,style:i,handle:a,payload:o,disabled:s,delay:l,closeOnClick:u=!0,closeDelay:f,id:p,...m}=e,h=Jn(!0),_=a?.store??h;if(!_)throw Error(he(82));let y=re(p),b=_.useState(`isTriggerActive`,y),x=_.useState(`isOpenedByTrigger`,y),S=_.useState(`floatingRootContext`),C=G.useRef(null),w=l??600,T=f??0,{registerTrigger:E,isMountedByThisTrigger:D}=g(y,C,_,{payload:o,closeOnClick:u,closeDelay:T}),O=tr(),{delayRef:ee,isInstantPhase:k,hasProvider:ne}=En(S,{open:x}),ie=_e(S);_.useSyncedValue(`isInstantPhase`,k);let ae=_.useState(`disabled`),oe=s??ae,A=te(oe),j=_.useState(`trackCursorAxis`),N=_.useState(`disableHoverablePopup`),P=G.useRef(!1),I=d(),L=G.useRef(void 0);function R(){let e=O?.delay,t=typeof ee.current==`object`?ee.current.open:void 0,n=w;return ne&&(n=t===0?0:l??e??w),n}function ce(e){let t=C.current;if(!t||!e)return!1;let n=ar(e);return n!==null&&n!==t&&se(t,n)}function le(e){let t=ce(e);return P.current=t,t&&(ie.openChangeTimeout.clear(),ie.restTimeout.clear(),ie.restTimeoutPending=!1,I.clear()),t}let ue=ye(S,{enabled:!oe,mouseOnly:!0,move:!1,handleClose:!N&&j!==`both`?Se():null,restMs:R,delay(){let e=typeof ee.current==`object`?ee.current.close:void 0,t=T;return f==null&&ne&&(t=e),{close:t}},triggerElementRef:C,isActiveTrigger:b,isClosing:()=>_.select(`transitionStatus`)===`ending`,shouldOpen(){return!P.current}}),de=Te(S,{enabled:!oe}).reference,fe=e=>{let t=P.current,n=ir(e),r=le(n),i=C.current,a=i&&n&&se(i,n);if(r&&_.select(`open`)&&_.select(`lastOpenChangeReason`)===`trigger-hover`){_.setOpen(!1,F(v,e));return}if(t&&!r&&a&&!A.current&&!_.select(`open`)&&i&&c(L.current)){let t=()=>{!P.current&&!A.current&&!_.select(`open`)&&_.setOpen(!0,F(v,e,i))},n=R();n===0?(I.clear(),t()):I.start(n,t)}},pe=_.useState(`triggerProps`,D);return ge(`button`,e,{state:{open:x},ref:[t,E,C],props:[ue,de,D||j!==`none`?pe:void 0,{onMouseOver(e){fe(e.nativeEvent)},onFocus(e){ce(ir(e.nativeEvent))&&e.preventBaseUIHandler()},onMouseLeave(){P.current=!1,I.clear(),L.current=void 0},onPointerEnter(e){L.current=e.pointerType},onPointerDown(e){L.current=e.pointerType,_.set(`closeOnClick`,u),u&&!_.select(`open`)&&_.cancelPendingOpen(e.nativeEvent)},onClick(e){u&&!_.select(`open`)&&_.cancelPendingOpen(e.nativeEvent)},id:y,[nr.triggerDisabled]:oe?``:void 0,[rr]:oe?void 0:``},m],stateAttributesMapping:M})}),sr=G.createContext(void 0);function cr(){let e=G.useContext(sr);if(e===void 0)throw Error(he(70));return e}var lr=G.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,style:o,...s}=e,{portalNode:c,portalSubtree:l}=y({container:r,ref:t,componentProps:e,elementProps:s});return!l&&!c?null:(0,K.jsxs)(G.Fragment,{children:[l,c&&An.createPortal(n,c)]})}),ur=G.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return Jn().useState(`mounted`)||n?(0,K.jsx)(sr.Provider,{value:n,children:(0,K.jsx)(lr,{ref:t,...r})}):null}),dr=G.createContext(void 0);function fr(){let e=G.useContext(dr);if(e===void 0)throw Error(he(71));return e}var pr=G.forwardRef(function(e,t){let{render:n,className:r,anchor:i,positionMethod:a=`absolute`,side:o=`top`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=oe,style:g,..._}=e,v=Jn(),y=cr(),b=v.useState(`open`),x=v.useState(`mounted`),S=v.useState(`trackCursorAxis`),C=v.useState(`disableHoverablePopup`),w=v.useState(`floatingRootContext`),T=v.useState(`instantType`),E=v.useState(`transitionStatus`),D=v.useState(`hasViewport`),O=Ce({anchor:i,positionMethod:a,floatingRootContext:w,mounted:x,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:y,collisionAvoidance:h,adaptiveOrigin:D?we:void 0}),ee=G.useMemo(()=>({open:b,side:O.side,align:O.align,anchorHidden:O.anchorHidden,instant:S===`none`?T:`tracking-cursor`}),[b,O.side,O.align,O.anchorHidden,S,T]),te=be(e,ee,{styles:O.positionerStyles,transitionStatus:E,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!x,inert:!b||S===`both`||C});return(0,K.jsx)(dr.Provider,{value:O,children:te})}),mr={...ne,...p},hr=G.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=Jn(),{side:s,align:c}=fr(),l=o.useState(`open`),u=o.useState(`instantType`),d=o.useState(`transitionStatus`),f=o.useState(`popupProps`),p=o.useState(`floatingRootContext`),m=o.useState(`disabled`),h=o.useState(`closeDelay`);L({open:l,ref:o.context.popupRef,onComplete(){l&&o.context.onOpenChangeComplete?.(!0)}}),ve(p,{enabled:!m,closeDelay:h});let g=o.useStateSetter(`popupElement`);return ge(`div`,e,{state:{open:l,side:s,align:c,instant:u,transitionStatus:d},ref:[t,o.context.popupRef,g],props:[f,xe(d),a],stateAttributesMapping:mr})}),gr=G.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=Jn(),{arrowRef:s,side:c,align:l,arrowUncentered:u,arrowStyles:d}=fr(),f={open:o.useState(`open`),side:c,align:l,uncentered:u,instant:o.useState(`instantType`)};return ge(`div`,e,{state:f,ref:[t,s],props:[{style:d,"aria-hidden":!0},a],stateAttributesMapping:ne})}),_r=function(e){let{delay:t,closeDelay:n,timeout:r=400}=e,i=G.useMemo(()=>({delay:t,closeDelay:n}),[t,n]),a=G.useMemo(()=>({open:t,close:n}),[t,n]);return(0,K.jsx)(er.Provider,{value:i,children:(0,K.jsx)(Tn,{delay:a,timeoutMs:r,children:e.children})})};function vr(e){return(0,K.jsx)(_r,{...e})}var yr=(0,G.createContext)({});function br({delay:e,closeDelay:t,hoverable:n=!1,children:r,...i}){return(0,K.jsx)(Qn,{disableHoverablePopup:!n,...i,children:(0,K.jsx)(yr.Provider,{value:{delay:e,closeDelay:t},children:r})})}function xr({className:e,delay:t,closeDelay:n,...r}){let i=(0,G.useContext)(yr);return(0,K.jsx)(or,{className:e,delay:t??i.delay,closeDelay:n??i.closeDelay,...r})}function Sr({className:e,positionerClassName:t,side:n=`top`,align:r=`center`,sideOffset:i=6,alignOffset:a,collisionPadding:o=8,container:s,arrow:c=!1,keepMounted:l,children:u,...d}){return(0,K.jsx)(ur,{container:s,keepMounted:l,children:(0,K.jsx)(pr,{className:me(`q-tooltip-positioner`,t),side:n,align:r,sideOffset:i,alignOffset:a,collisionPadding:o,children:(0,K.jsxs)(hr,{role:`tooltip`,className:me(`q-tooltip`,e),...d,children:[u,c?(0,K.jsx)(gr,{className:`q-tooltip-arrow`}):null]})})})}var Cr={Provider:vr,Root:br,Trigger:xr,Content:Sr};function q(e,t,n){return 240+e*t-n}function J(e,t,n){return(e-240+n)/t}function wr(e,t,n,r,i){if(t<24||t>32)return null;let[a,o]=[q(n.start,r,i),q(n.end,r,i)];return Math.abs(e-a)<=5?`in`:Math.abs(e-o)<=5?`out`:e>a&&e<o?`move`:null}function Tr(e){let t=e.offset+e.clip.timeRange.start;return{start:t,end:Math.min(e.end,t+e.clip.timeRange.duration)}}var Y={top:e=>e+2,height:36};function Er(e){let t=0,n=0;for(let r of e.presetAnimations)r.preset===`volume`&&typeof r.params.transitionId!=`string`&&(r.direction===`in`?t=Math.max(t,r.duration):n=Math.max(n,r.duration));return{fadeIn:Math.max(0,t),fadeOut:Math.max(0,n)}}function Dr(e,t,n,r,i,a){let o=Er(e),s=a??(t===`in`?o.fadeIn:o.fadeOut),c=q(e.timeRange.start,r,i),l=q(e.timeRange.start+e.timeRange.duration,r,i);return{x:t===`in`?Math.min(c+s*r,l):Math.max(l-s*r,c),y:Y.top(n)+(e.kind===`audio`?(Y.height-36)/2:Y.height-14)+3}}var Or=8,X=e=>({kind:`row`,trackIndex:e});function kr(e,t){return e.kind===`row`?t.kind===`row`&&e.trackIndex===t.trackIndex:t.kind===`gap`&&e.slot.under===t.slot.under}function Ar(e){let t=e.clips.length===1?e.clips[0]:void 0;return!t||e.id!==`track:${t.id}`}function jr(e){if(Ar(e))return e.clips.length>0?{clips:e.clips,ownerId:null,offset:0,end:1/0}:null;let t=e.clips[0];return t?.kind===`group`&&t.children.length>0?{clips:t.children,ownerId:t.id,offset:t.timeRange.start,end:t.timeRange.start+t.timeRange.duration}:null}function Mr(e,t,n,r=new Set,i=!1,a=new Set){let o=t.length===1?t[0]:null,s=[],c=[],l=32+(i?38:0),u=l-n;for(let t=e.tracks.length-1;t>=0;t--){let n=e.tracks[t];if(!n||n.clips.length===0&&!r.has(t))continue;let i=[],l=[],d=u,f=jr(n),p=Ar(n);c.push({key:n.id,type:`track`,track:n,trackIndex:t,clip:p?null:n.clips[0]??null,ownerId:null,property:null,depth:0,y:d,height:40,expandable:f!==null,expanded:f!==null&&a.has(n.id)});let m=40;if(o){let e=n.clips.find(e=>e.id===o);if(e&&e.animations.length>0)for(let r of e.animations)i.push({propertyTrack:r,clip:e,y:u+m}),c.push({key:`${e.id}:${r.id}`,type:`lane`,track:n,trackIndex:t,clip:e,ownerId:null,property:r.property,depth:1,y:u+m,height:24,expandable:!1,expanded:!1}),m+=24}let h=(e,r,i,o,s)=>{let d=r===null?e:e.toReversed();for(let e of d){let d=e.kind===`group`&&e.children.length>0;if(l.push({clip:e,ownerId:r,offset:i,end:o,depth:s,y:u+m}),c.push({key:e.id,type:`nested`,track:n,trackIndex:t,clip:e,ownerId:r,property:null,depth:s,y:u+m,height:40,expandable:d,expanded:d&&a.has(e.id)}),m+=40,d&&a.has(e.id)){let t=i+e.timeRange.start;h(e.children,e.id,t,Math.min(o,t+e.timeRange.duration),s+1)}}};f&&a.has(n.id)&&h(f.clips,f.ownerId,f.offset,f.end,1),s.push({track:n,trackIndex:t,y:d,height:m,lanes:i,nested:l}),u+=m}let d=[];for(let e=0;e<=s.length;e++){let t=s[e-1],n=s[e];if(t&&n&&De(t.track,n.track))continue;let r=n?n.y:u;d.push({slot:{under:t?.track.id??null},lower:n?.track.id??null,y:r,top:t?r-Or:-1/0,bottom:n?r+Or:1/0})}return{rows:s,gaps:d,layers:c,contentH:u+n-l,tracksTop:l}}function Nr(e,t,n){let r=Math.max(t,e.tracksTop),i=e.gaps.find(e=>r>=e.top&&r<e.bottom),a=n&&!Ar(n)?e.rows.find(e=>e.track.id===n.id):void 0;return i&&a&&(i.slot.under===a.track.id||i.lower===a.track.id)?X(a.trackIndex):i?{kind:`gap`,slot:i.slot}:X(e.rows.find(e=>r>=e.y&&r<e.y+e.height).trackIndex)}function Pr(e,t){return e.gaps.find(e=>e.slot.under===t.under)??null}var Fr=[`hidden`,`mute`];function Ir(e){return e.clips.length>0&&e.clips.every(e=>e.kind===`audio`)}function Lr(e){let t=e.y+4;return Fr.map((e,n)=>({icon:e,x:46+n*36,y:t,w:32,h:32})).filter(t=>t.icon!==`hidden`||!Ir(e.track))}var Rr=1e-6;function zr(e,t){let n=0,r=1/0;for(let i of e.clips){let e=i.timeRange.start,a=e+i.timeRange.duration;if(t>e-Rr&&t<a+Rr)return null;a<=t?n=Math.max(n,a):r=Math.min(r,e)}return!Number.isFinite(r)||r-n<=Rr?null:{start:n,end:r}}function Br(e,t,n,r,i,a,o=[],s){if(t<32){if(e>=240){if(t<14&&Math.abs(e-q(a,r,i))>6){for(let t of o)if(Math.abs(e-q(t.time,r,i))<=6)return{type:`marker`,marker:t}}return{type:`ruler`}}return{type:`empty`}}if(t<n.tracksTop)return{type:`empty`};for(let o of n.rows){if(t<o.y||t>=o.y+o.height)continue;if(e<240){for(let n of Lr(o))if(e>=n.x&&e<=n.x+n.w&&t>=n.y-2&&t<=n.y+n.h+2)return{type:`header-icon`,track:o.track,icon:n.icon};return{type:`header`,track:o.track}}if(t<o.y+40){if(s){let n=Vr(o,e,t,r,i,s);if(n)return n}let n=Hr(o,e,r,i);if(n){let t=q(n.timeRange.start,r,i),a=q(n.timeRange.start+n.timeRange.duration,r,i),s=null;return a-t>18&&(Math.abs(e-t)<=6?s=`start`:Math.abs(e-a)<=6&&(s=`end`)),{type:`clip`,clip:n,track:o.track,trackIndex:o.trackIndex,edge:s}}}for(let n of o.lanes)if(!(t<n.y||t>=n.y+24)){for(let t of n.propertyTrack.keyframes){let a=q(n.clip.timeRange.start+t.time,r,i);if(Math.abs(e-a)<=6)return{type:`keyframe`,clip:n.clip,track:o.track,propertyTrack:n.propertyTrack,keyframe:t}}return{type:`lane`,clip:n.clip,propertyTrack:n.propertyTrack}}for(let n of o.nested){if(t<n.y||t>=n.y+40)continue;let a=J(e,r,i),s=Tr(n);return{type:`nested`,clip:a>=s.start&&a<=s.end?n.clip:null,ownerId:n.ownerId,track:o.track}}if(Math.abs(e-q(a,r,i))<=4)return{type:`playhead`};let n=t<o.y+40?zr(o.track,J(e,r,i)):null;return{type:`track-empty`,trackIndex:o.trackIndex,gap:n}}return{type:`empty`}}function Vr(e,t,n,r,i,a){for(let o of e.track.clips)if(a(o)&&!(o.timeRange.duration*r<48))for(let a of[`in`,`out`]){let s=Dr(o,a,e.y,r,i);if(Math.abs(t-s.x)<=7&&Math.abs(n-s.y)<=4)return{type:`fade`,clip:o,track:e.track,trackIndex:e.trackIndex,direction:a}}return null}function Hr(e,t,n,r){let i=e.track.clips;for(let e=i.length-1;e>=0;e--){let a=i[e];if(!a)continue;let o=q(a.timeRange.start,n,r),s=q(a.timeRange.start+a.timeRange.duration,n,r);if(t>o&&t<=s)return a}for(let e=i.length-1;e>=0;e--){let a=i[e];if(!a)continue;let o=q(a.timeRange.start,n,r),s=q(a.timeRange.start+a.timeRange.duration,n,r);if(t>=o-6&&t<=s+6)return a}return null}function Ur(e,t,n,r,i){let a=i===null?new Set:typeof i==`string`?new Set([i]):i,o=8/n,s=1/0,c=e,l=t=>{let n=Math.abs(t-e);n<=o&&n<s&&(s=n,c=t)};l(r),l(0),l(t.duration);for(let e of t.markers)l(e.time);for(let e of t.tracks)for(let t of e.clips)a.has(t.id)||(l(t.timeRange.start),l(t.timeRange.start+t.timeRange.duration));if(s<1/0)return{time:c,guide:c};let u=t.fps>0?t.fps:30;return{time:Math.round(e*u)/u,guide:null}}function Wr(e,t){let n=t.fps>0?t.fps:30;return Math.round(e*n)/n}function Gr(e,t,n,r){let i=[],a=t.y,o=t.y+t.h,s=t.x,c=t.x+t.w;for(let t of e.rows){let e=Y.top(t.y);if(!(e+Y.height<a||e>o))for(let e of t.track.clips){let t=q(e.timeRange.start,n,r);q(e.timeRange.start+e.timeRange.duration,n,r)<s||t>c||i.push(e.id)}}return i}function Kr({top:e=32,view:t,onSelect:n,onResize:r,onLeave:i,onContextMenu:a}){let o=(0,G.useRef)(null),[s,c]=(0,G.useState)(null),l=t.transition,u=s??l?.duration??0,d=s===null?t.width:Math.min(t.maxWidth,Math.max(24,s*t.zoom)),f=l?`${it(l.preset)} transition`:`Add transition`,p=t.fps>0?t.fps:30,m=e=>Math.min(t.maxDuration,Math.max(2/p,Math.round(e*p)/p));return(0,K.jsxs)(`div`,{className:`ftl-transition`,"data-applied":!!l,"data-selected":t.selected,"data-context-menu":t.contextMenu,"data-compact":d<20,style:{left:t.x-240,top:t.y-e,width:d},onContextMenu:e=>{e.preventDefault(),e.stopPropagation();let n=e.currentTarget.getBoundingClientRect();a(t.target,n.left+n.width/2,n.top+n.height/2)},onPointerLeave:()=>{o.current||i()},children:[(0,K.jsxs)(Cr.Root,{delay:100,children:[(0,K.jsx)(Cr.Trigger,{render:(0,K.jsx)(`button`,{type:`button`,className:`ftl-transition-button`,"aria-label":f,"aria-pressed":t.selected,onClick:()=>n(t.target),children:(0,K.jsx)(Un,{mode:`raw`,size:16})})}),(0,K.jsxs)(Cr.Content,{side:`top`,sideOffset:8,children:[f,l?` · ${u.toFixed(2)}s`:``]})]}),l&&t.selected&&[-1,1].map(e=>(0,K.jsx)(`button`,{type:`button`,className:`ftl-transition-handle`,"data-side":e===-1?`left`:`right`,role:`slider`,"aria-label":`Transition duration, ${e===-1?`left`:`right`} edge`,"aria-valuemin":Math.min(2/p,t.maxDuration),"aria-valuemax":t.maxDuration,"aria-valuenow":u,"aria-valuetext":`${u.toFixed(2)} seconds`,onPointerDown:t=>{t.button===0&&(t.preventDefault(),o.current={x:t.clientX,duration:u,side:e},t.currentTarget.setPointerCapture(t.pointerId))},onPointerMove:e=>{let n=o.current;n&&c(m(n.duration+2*n.side*(e.clientX-n.x)/t.zoom))},onPointerUp:e=>{o.current&&(o.current=null,s!==null&&s!==l.duration&&r(t.target,s),c(null),e.currentTarget.releasePointerCapture(e.pointerId))},onLostPointerCapture:()=>{o.current=null,c(null)},onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),o.current=null,c(null)),(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.preventDefault(),e.stopPropagation(),r(t.target,m(u+(e.key===`ArrowRight`?1:-1)*(e.shiftKey?10:1)/p)))}},e))]})}function qr({views:e,top:t=32,...n}){return(0,K.jsx)(`div`,{className:`ftl-transitions`,style:{left:240,top:t},children:e.map(e=>(0,K.jsx)(Kr,{view:e,top:t,...n},`${e.target.documentId}:${e.target.sceneId}:${e.target.leftId}:${e.target.rightId}`))})}var Jr=`data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Loader'%3e%3ccircle%20id='Ellipse%207399'%20cx='7'%20cy='7'%20r='5.8'%20stroke='white'%20stroke-opacity='0.1'%20stroke-width='2.4'/%3e%3cpath%20id='2'%20d='M8.28578%2013.8809C7.26981%2014.0707%206.2244%2014.0333%205.22464%2013.7711C4.22487%2013.509%203.29556%2013.0287%202.50344%2012.3648C1.71133%2011.7009%201.07606%2010.8698%200.643264%209.9312C0.210469%208.99262%20-0.00911196%207.96984%200.000289646%206.93633L2.1002%206.95543C2.09362%207.67889%202.24733%208.39483%202.55028%209.05184C2.85324%209.70884%203.29793%2010.2906%203.85241%2010.7554C4.40689%2011.2201%205.05741%2011.5563%205.75725%2011.7398C6.45708%2011.9233%207.18887%2011.9495%207.90005%2011.8166L8.28578%2013.8809Z'%20fill='%23D1FE17'/%3e%3c/g%3e%3c/svg%3e`;function Yr(){return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`ftl-generating-glow`,style:{left:240,height:70},"aria-hidden":`true`,children:(0,K.jsx)(`div`,{className:`hf-generation-pending-glow`})}),(0,K.jsxs)(`div`,{className:`ftl-generating`,style:{top:32,height:38,paddingLeft:240},role:`status`,children:[(0,K.jsx)(`img`,{className:`ftl-generating-loader`,src:Jr,alt:``}),(0,K.jsx)(`span`,{children:`Generating`})]})]})}var Xr=e=>{let t=G.useId();return G.createElement(ei,{...e,instanceId:t})},Zr=0,Qr=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++Zr}`})}render(){return G.createElement(ei,{...this.props.iconProps,instanceId:this.state.instanceId})}},$r=G.forwardRef((e,t)=>Qr?G.createElement(Qr,{iconProps:{...e,svgRef:t}}):G.createElement(Xr,{...e,svgRef:t}));$r.displayName=`CentralIconBase`;var ei=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},ti=G.memo(G.forwardRef((e,t)=>G.createElement($r,{...e,ref:t,ariaLabel:`adjust-photo, tuning, settings`,maskId:`round-outlined-radius-2-stroke-1.5-IconAdjustPhoto`},G.createElement(`path`,{d:`M19.25 12C19.25 16.0041 16.0041 19.25 12 19.25C7.99594 19.25 4.75 16.0041 4.75 12C4.75 7.99594 7.99594 4.75 12 4.75C16.0041 4.75 19.25 7.99594 19.25 12Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M7.5 16.5L12 12`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M12 1.1001V1.1101`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`}),G.createElement(`path`,{d:`M1.10156 12V12.01`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`}),G.createElement(`path`,{d:`M22.8984 12V12.01`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`}),G.createElement(`path`,{d:`M19.6992 4.30005V4.31005M19.6992 4.30005V4.31005`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`}),G.createElement(`path`,{d:`M4.30078 4.30005V4.31005`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`}),G.createElement(`path`,{d:`M19.6992 19.7V19.71M19.6992 19.7V19.71`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`}),G.createElement(`path`,{d:`M4.30078 19.7V19.71`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`})))),ni=e=>{let t=G.useId();return G.createElement(oi,{...e,instanceId:t})},ri=0,ii=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++ri}`})}render(){return G.createElement(oi,{...this.props.iconProps,instanceId:this.state.instanceId})}},ai=G.forwardRef((e,t)=>ii?G.createElement(ii,{iconProps:{...e,svgRef:t}}):G.createElement(ni,{...e,svgRef:t}));ai.displayName=`CentralIconBase`;var oi=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},si=G.memo(G.forwardRef((e,t)=>G.createElement(ai,{...e,ref:t,ariaLabel:`closed-captioning, cc`,maskId:`round-outlined-radius-2-stroke-1.5-IconClosedCaptioning`},G.createElement(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M10.2997 10.5993C9.61468 10.084 8.63619 10.1389 8.01256 10.7625C7.32915 11.4459 7.32915 12.554 8.01256 13.2374C8.63619 13.861 9.61468 13.9159 10.2997 13.4006C10.6307 13.1516 11.1009 13.2181 11.3499 13.5491C11.5989 13.8801 11.5324 14.3503 11.2014 14.5993C9.92761 15.5575 8.11135 15.4575 6.9519 14.2981C5.6827 13.0289 5.6827 10.9711 6.9519 9.70186C8.11135 8.54241 9.92761 8.44244 11.2014 9.4006C11.5324 9.6496 11.5989 10.1198 11.3499 10.4508C11.1009 10.7818 10.6307 10.8483 10.2997 10.5993ZM16.7997 10.5993C16.1147 10.084 15.1362 10.1389 14.5126 10.7625C13.8291 11.4459 13.8291 12.554 14.5126 13.2374C15.1362 13.861 16.1147 13.9159 16.7997 13.4006C17.1307 13.1516 17.6009 13.2181 17.8499 13.5491C18.0989 13.8801 18.0324 14.3503 17.7014 14.5993C16.4276 15.5575 14.6114 15.4575 13.4519 14.2981C12.1827 13.0289 12.1827 10.9711 13.4519 9.70186C14.6114 8.54241 16.4276 8.44244 17.7014 9.4006C18.0324 9.6496 18.0989 10.1198 17.8499 10.4508C17.6009 10.7818 17.1307 10.8483 16.7997 10.5993Z`,fill:`currentColor`}),G.createElement(`path`,{d:`M18.25 3.75H5.75C4.64543 3.75 3.75 4.64543 3.75 5.75V18.25C3.75 19.3546 4.64543 20.25 5.75 20.25H18.25C19.3546 20.25 20.25 19.3546 20.25 18.25V5.75C20.25 4.64543 19.3546 3.75 18.25 3.75Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`square`,strokeLinejoin:`round`})))),ci=e=>{let t=G.useId();return G.createElement(fi,{...e,instanceId:t})},li=0,ui=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++li}`})}render(){return G.createElement(fi,{...this.props.iconProps,instanceId:this.state.instanceId})}},di=G.forwardRef((e,t)=>ui?G.createElement(ui,{iconProps:{...e,svgRef:t}}):G.createElement(ci,{...e,svgRef:t}));di.displayName=`CentralIconBase`;var fi=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},pi=G.memo(G.forwardRef((e,t)=>G.createElement(di,{...e,ref:t,ariaLabel:`code`,maskId:`round-outlined-radius-2-stroke-1.5-IconCode`},G.createElement(`path`,{d:`M10.25 9L7.95711 11.2929C7.56658 11.6834 7.56658 12.3166 7.95711 12.7071L10.25 15M13.75 9L16.0429 11.2929C16.4334 11.6834 16.4334 12.3166 16.0429 12.7071L13.75 15M5.75 20.25H18.25C19.3546 20.25 20.25 19.3546 20.25 18.25V5.75C20.25 4.64543 19.3546 3.75 18.25 3.75H5.75C4.64543 3.75 3.75 4.64543 3.75 5.75V18.25C3.75 19.3546 4.64543 20.25 5.75 20.25Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),mi=e=>{let t=G.useId();return G.createElement(vi,{...e,instanceId:t})},hi=0,gi=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++hi}`})}render(){return G.createElement(vi,{...this.props.iconProps,instanceId:this.state.instanceId})}},_i=G.forwardRef((e,t)=>gi?G.createElement(gi,{iconProps:{...e,svgRef:t}}):G.createElement(mi,{...e,svgRef:t}));_i.displayName=`CentralIconBase`;var vi=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},yi=G.memo(G.forwardRef((e,t)=>G.createElement(_i,{...e,ref:t,ariaLabel:`group-1, users`,maskId:`round-outlined-radius-2-stroke-1.5-IconGroup1`},G.createElement(`path`,{d:`M9.25 9.75C7.317 9.75 5.75 8.183 5.75 6.25C5.75 4.317 7.317 2.75 9.25 2.75C11.183 2.75 12.75 4.317 12.75 6.25C12.75 8.183 11.183 9.75 9.25 9.75Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M15 2.75C16.933 2.75 18.5 4.317 18.5 6.25C18.5 8.183 16.933 9.75 15 9.75`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M9.24806 12.75C5.46395 12.75 2.27489 15.1517 1.30259 18.2496C0.971822 19.3035 1.89349 20.2187 2.99806 20.2188H15.4981C16.6026 20.2188 17.5243 19.3035 17.1935 18.2496C16.2212 15.1517 13.0322 12.75 9.24806 12.75Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M20.75 20.25H21.25C22.3546 20.25 23.2748 19.3347 22.9405 18.2819C22.2598 16.1389 20.512 14.31 18.25 13.5088`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),bi=e=>{let t=G.useId();return G.createElement(wi,{...e,instanceId:t})},xi=0,Si=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++xi}`})}render(){return G.createElement(wi,{...this.props.iconProps,instanceId:this.state.instanceId})}},Ci=G.forwardRef((e,t)=>Si?G.createElement(Si,{iconProps:{...e,svgRef:t}}):G.createElement(bi,{...e,svgRef:t}));Ci.displayName=`CentralIconBase`;var wi=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},Ti=G.memo(G.forwardRef((e,t)=>G.createElement(Ci,{...e,ref:t,ariaLabel:`lock, private`,maskId:`round-outlined-radius-2-stroke-1.5-IconLock`},G.createElement(`path`,{d:`M4.75 11.75C4.75 10.6454 5.64543 9.75 6.75 9.75H17.25C18.3546 9.75 19.25 10.6454 19.25 11.75V19.25C19.25 20.3546 18.3546 21.25 17.25 21.25H6.75C5.64543 21.25 4.75 20.3546 4.75 19.25V11.75Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M16.25 9.75V7.25C16.25 4.90279 14.3472 3 12 3C9.65279 3 7.75 4.90279 7.75 7.25V9.75`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M12 14V17`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),Ei=e=>{let t=G.useId();return G.createElement(Ai,{...e,instanceId:t})},Di=0,Oi=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++Di}`})}render(){return G.createElement(Ai,{...this.props.iconProps,instanceId:this.state.instanceId})}},ki=G.forwardRef((e,t)=>Oi?G.createElement(Oi,{iconProps:{...e,svgRef:t}}):G.createElement(Ei,{...e,svgRef:t}));ki.displayName=`CentralIconBase`;var Ai=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},ji=G.memo(G.forwardRef((e,t)=>G.createElement(ki,{...e,ref:t,ariaLabel:`repeat`,maskId:`round-outlined-radius-2-stroke-1.5-IconRepeat`},G.createElement(`path`,{d:`M7.25 18.25H4.75C3.64543 18.25 2.75 17.3546 2.75 16.25V5.75C2.75 4.64543 3.64543 3.75 4.75 3.75H19.25C20.3546 3.75 21.25 4.64543 21.25 5.75V16.25C21.25 17.3546 20.3546 18.25 19.25 18.25H12.25M15 15L11.75 18.25L15 21.25`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),Mi=e=>{let t=G.useId();return G.createElement(Ii,{...e,instanceId:t})},Ni=0,Pi=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++Ni}`})}render(){return G.createElement(Ii,{...this.props.iconProps,instanceId:this.state.instanceId})}},Fi=G.forwardRef((e,t)=>Pi?G.createElement(Pi,{iconProps:{...e,svgRef:t}}):G.createElement(Mi,{...e,svgRef:t}));Fi.displayName=`CentralIconBase`;var Ii=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},Li=G.memo(G.forwardRef((e,t)=>G.createElement(Fi,{...e,ref:t,ariaLabel:`split`,maskId:`round-outlined-radius-2-stroke-1.5-IconSplit`},G.createElement(`path`,{d:`M12 2.75V21.25M8.25 4.75H4.75C3.64543 4.75 2.75 5.64543 2.75 6.75V17.25C2.75 18.3546 3.64543 19.25 4.75 19.25H8.25M15.75 19.25H19.25C20.3546 19.25 21.25 18.3546 21.25 17.25V6.75C21.25 5.64543 20.3546 4.75 19.25 4.75H15.75`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),Ri=e=>{let t=G.useId();return G.createElement(Hi,{...e,instanceId:t})},zi=0,Bi=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++zi}`})}render(){return G.createElement(Hi,{...this.props.iconProps,instanceId:this.state.instanceId})}},Vi=G.forwardRef((e,t)=>Bi?G.createElement(Bi,{iconProps:{...e,svgRef:t}}):G.createElement(Ri,{...e,svgRef:t}));Vi.displayName=`CentralIconBase`;var Hi=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},Ui=G.memo(G.forwardRef((e,t)=>G.createElement(Vi,{...e,ref:t,ariaLabel:`unlocked, unlock, private`,maskId:`round-outlined-radius-2-stroke-1.5-IconUnlocked`},G.createElement(`path`,{d:`M4.75 11.75C4.75 10.6454 5.64543 9.75 6.75 9.75H17.25C18.3546 9.75 19.25 10.6454 19.25 11.75V19.25C19.25 20.3546 18.3546 21.25 17.25 21.25H6.75C5.64543 21.25 4.75 20.3546 4.75 19.25V11.75Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M12 14V17`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M7.75 9.75V7C7.75 4.65279 9.65279 2.75 12 2.75C14.0926 2.75 15.832 4.26237 16.1847 6.25371`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),Wi=e=>{let t=G.useId();return G.createElement(Ji,{...e,instanceId:t})},Gi=0,Ki=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++Gi}`})}render(){return G.createElement(Ji,{...this.props.iconProps,instanceId:this.state.instanceId})}},qi=G.forwardRef((e,t)=>Ki?G.createElement(Ki,{iconProps:{...e,svgRef:t}}):G.createElement(Wi,{...e,svgRef:t}));qi.displayName=`CentralIconBase`;var Ji=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},Yi=G.memo(G.forwardRef((e,t)=>G.createElement(qi,{...e,ref:t,ariaLabel:`video-timeline, edit-video`,maskId:`round-outlined-radius-2-stroke-1.5-IconVideoTimeline`},G.createElement(`path`,{d:`M19.25 4.75H4.75C3.64543 4.75 2.75 5.64543 2.75 6.75V13.75C2.75 14.8546 3.64543 15.75 4.75 15.75H19.25C20.3546 15.75 21.25 14.8546 21.25 13.75V6.75C21.25 5.64543 20.3546 4.75 19.25 4.75Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M2.75 19.25L21.25 19.25`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M3 11.75L6.27334 9.74963C7.00627 9.30173 7.94334 9.37183 8.60146 9.92381L15.25 15.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M17.75 9.25C17.75 10.0784 17.0784 10.75 16.25 10.75C15.4216 10.75 14.75 10.0784 14.75 9.25C14.75 8.42157 15.4216 7.75 16.25 7.75C17.0784 7.75 17.75 8.42157 17.75 9.25Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`circle`,{cx:`7`,cy:`19.25`,r:`1`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),Xi=e=>{let t=G.useId();return G.createElement(ea,{...e,instanceId:t})},Zi=0,Qi=typeof G.useId==`function`?void 0:class extends G.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++Zi}`})}render(){return G.createElement(ea,{...this.props.iconProps,instanceId:this.state.instanceId})}},$i=G.forwardRef((e,t)=>Qi?G.createElement(Qi,{iconProps:{...e,svgRef:t}}):G.createElement(Xi,{...e,svgRef:t}));$i.displayName=`CentralIconBase`;var ea=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,v=_===!0||_===`true`,y=o??n,b=l?l(h??p??`icon`):e;return G.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(v?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},y&&!v&&G.createElement(`title`,null,y),g?G.createElement(G.Fragment,null,G.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},G.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),G.createElement(`g`,{fill:`none`,style:{color:`#fff`}},b)),G.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):b)},ta=G.memo(G.forwardRef((e,t)=>G.createElement($i,{...e,ref:t,ariaLabel:`dot-grid-1x3-horizontal, menu, drag, grab`,maskId:`round-outlined-radius-2-stroke-1.5-IconDotGrid1x3Horizontal`},G.createElement(`path`,{d:`M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z`,fill:`currentColor`}),G.createElement(`path`,{d:`M20.25 13C20.8023 13 21.25 12.5523 21.25 12C21.25 11.4477 20.8023 11 20.25 11C19.6977 11 19.25 11.4477 19.25 12C19.25 12.5523 19.6977 13 20.25 13Z`,fill:`currentColor`}),G.createElement(`path`,{d:`M3.75 13C4.30228 13 4.75 12.5523 4.75 12C4.75 11.4477 4.30228 11 3.75 11C3.19772 11 2.75 11.4477 2.75 12C2.75 12.5523 3.19772 13 3.75 13Z`,fill:`currentColor`}),G.createElement(`path`,{d:`M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M20.25 13C20.8023 13 21.25 12.5523 21.25 12C21.25 11.4477 20.8023 11 20.25 11C19.6977 11 19.25 11.4477 19.25 12C19.25 12.5523 19.6977 13 20.25 13Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),G.createElement(`path`,{d:`M3.75 13C4.30228 13 4.75 12.5523 4.75 12C4.75 11.4477 4.30228 11 3.75 11C3.19772 11 2.75 11.4477 2.75 12C2.75 12.5523 3.19772 13 3.75 13Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),na={video:{background:`#123f86`,foreground:`#d0e2ff`,accent:`#74a9ff`},audio:{background:`#044a35`,foreground:`#cdf9ec`,accent:`#12c28d`},image:{background:`#a3591a`,foreground:`#fbf3ec`,accent:`#e09a5c`},text:{background:`#323f50`,foreground:`#e8eff8`,accent:`#8ea3bd`},captions:{background:`#7a2259`,foreground:`#f9dded`,accent:`#ab347c`},shape:{background:`#913628`,foreground:`#fbeeeb`,accent:`#d9705f`},group:{background:`#42474f`,foreground:`#edf0f3`,accent:`#575f69`},sequence:{background:`#0b6285`,foreground:`#dbeaf0`,accent:`#5cb9dc`},scene:{background:`#0b6285`,foreground:`#dbeaf0`,accent:`#5cb9dc`},adjustment:{background:`#4a2aae`,foreground:`#e8e0fb`,accent:`#8a6ef0`},html:{background:`#2d535f`,foreground:`#e8f4f8`,accent:`#5f9bae`}};function ra(e,t){switch(t.kind){case`media`:return e.assets.find(e=>e.id===t.assetId)?.kind===`image`?`image`:`video`;case`audio`:return`audio`;case`text`:return`captions`in t?`captions`:`text`;case`rect`:return t.drawnBy?`html`:`shape`;case`path`:return`shape`;case`group`:return`group`;case`scene`:return`scene`;case`adjustment`:return`adjustment`}}function ia(e){return!(e.name&&e.name!==e.id)&&e.kind===`text`&&!(`captions`in e)&&e.text.trim()?e.text.trim():e.name||e.id}var Z=14,aa={video:(0,K.jsx)(We,{size:Z}),audio:(0,K.jsx)(Xe,{size:Z}),image:(0,K.jsx)(Ge,{size:Z}),text:(0,K.jsx)(ht,{size:Z}),captions:(0,K.jsx)(si,{size:Z}),shape:(0,K.jsx)(vn,{size:Z}),group:(0,K.jsx)(yi,{size:Z}),sequence:(0,K.jsx)(Yi,{size:Z}),scene:(0,K.jsx)(Yi,{size:Z}),adjustment:(0,K.jsx)(ti,{size:Z}),html:(0,K.jsx)(pi,{size:Z})},oa={clipIds:[],sceneId:null,enteredGroupId:null};function sa(e,t){let n=Math.max(0,Math.round(e*t)),r=Math.max(1,Math.round(t)),i=n%r,a=Math.floor(n/r),o=e=>String(e).padStart(2,`0`);return`${o(Math.floor(a/60))}:${o(a%60)}:${o(i)}`}var ca=e=>e.clip?[e.clip]:e.track.clips;function la(e,t){return t.clip?ra(e,t.clip):`sequence`}function ua(e){if(e.type===`lane`){let t=e.property??``;return ce[t]?.label??t}return e.clip?ia(e.clip):e.track.name}function da({layout:e,controller:t,menu:n}){let r=Oe(),i=Me(e=>e),a=ke(r?.selection,oa),o=(0,G.useRef)(null),[s,c]=(0,G.useState)(null);(0,G.useEffect)(()=>{let e=o.current;if(!e)return;let n=n=>{let r=(e.parentElement?.querySelector(`.ftl-canvas`))?.getBoundingClientRect().left??0;t()?.wheel(n,n.clientX-r)};return e.addEventListener(`wheel`,n,{passive:!1}),()=>e.removeEventListener(`wheel`,n)},[t]);let l=(e,t)=>{if(!r)return;let n=ca(e).map(e=>e.id),i=t?[...new Set([...a.clipIds,...n])]:n;r.setSelection({clipIds:i,enteredGroupId:e.type===`nested`?e.ownerId:null})};return(0,K.jsxs)(`div`,{ref:o,className:`ftl-layers`,style:{width:240},children:[(0,K.jsx)(pa,{controller:t,menu:n}),(0,K.jsx)(`div`,{className:`ftl-layer-rows`,role:`tree`,"aria-label":`Layers`,style:{top:0},children:i&&e?.layers.map(e=>(0,K.jsx)(fa,{row:e,doc:i,top:e.y,selected:e.type!==`lane`&&ca(e).length>0&&ca(e).every(e=>a.clipIds.includes(e.id)),onSelect:t=>l(e,t),onToggleExpanded:()=>t()?.toggleExpanded(e.key),onFlag:(n,r)=>t()?.setLayerFlag(ca(e),n,r),onContextMenu:(n,r,i)=>{let a=ca(e),o=t();o&&c({x:n,y:r,items:[{label:i.hidden?`Show layer`:`Hide layer`,onSelect:()=>o.setLayerFlag(a,`hidden`,!i.hidden)},...i.audible?[{label:i.muted?`Unmute layer`:`Mute layer`,onSelect:()=>o.setLayerFlag(a,`muted`,!i.muted)}]:[],{label:i.locked?`Unlock layer`:`Lock layer`,onSelect:()=>o.setLayerFlag(a,`locked`,!i.locked)},{label:`Bring to front`,disabled:e.type!==`track`,onSelect:()=>o.arrangeLayer(e.track.id,`front`)},{label:`Send to back`,disabled:e.type!==`track`,onSelect:()=>o.arrangeLayer(e.track.id,`back`)},{label:`Remove`,onSelect:()=>o.removeClips(a.map(e=>e.id))}]})},onRename:n=>{e.clip&&t()?.renameLayer(e.clip.id,n)},onLock:n=>{t()?.setLayerFlag(ca(e),`locked`,n)}},`${e.type}:${e.key}`))}),s&&(0,K.jsx)(Be,{x:s.x,y:s.y,items:s.items,onClose:()=>c(null)})]})}function fa({row:e,doc:t,top:n,selected:r,onSelect:i,onToggleExpanded:a,onFlag:o,onLock:s,onRename:c,onContextMenu:l}){let u=ua(e),[d,f]=(0,G.useState)(!1);if(e.type===`lane`)return(0,K.jsxs)(`div`,{className:`ftl-layer ftl-layer-lane`,"data-layer-lane":e.key,style:{top:n,height:e.height,paddingLeft:8+(e.depth+1)*16},children:[(0,K.jsx)(`span`,{className:`ftl-layer-diamond`,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`ftl-layer-name`,children:u})]});let p=ca(e),m=la(t,e),h=e.track.hidden||p.length>0&&p.every(e=>e.hidden),g=p.length>0&&p.every(e=>e.locked),_=p.filter(e=>Mt(t,e)),v=_.length>0&&_.every(e=>(e.kind===`media`||e.kind===`audio`)&&e.muted),y=e.clip?.id??e.track.id.replace(/^track:/,``);return(0,K.jsxs)(`div`,{className:`ftl-layer${r?` selected`:``}${h?` is-hidden`:``}`,role:`treeitem`,"aria-level":e.depth+1,"aria-selected":r,"aria-expanded":e.expandable?e.expanded:void 0,"data-layer-row":``,"data-layer-id":y,"data-layer-kind":m,"data-layer-depth":e.depth,style:{top:n,height:e.height},onPointerDown:e=>{e.button!==0||e.target.closest(`button`)||i(e.shiftKey)},onContextMenu:e=>{e.preventDefault(),l(e.clientX,e.clientY,{hidden:h,muted:v,locked:g,audible:_.length>0})},children:[(0,K.jsxs)(`div`,{className:`ftl-layer-label`,style:{paddingLeft:4+e.depth*16},children:[e.expandable?(0,K.jsx)(`button`,{type:`button`,className:`ftl-layer-chevron`,"aria-label":e.expanded?`Collapse layer`:`Expand layer`,onClick:a,children:e.expanded?(0,K.jsx)(Le,{size:Z}):(0,K.jsx)(R,{size:Z})}):(0,K.jsx)(`span`,{className:`ftl-layer-chevron`,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`ftl-layer-icon`,"data-layer-icon":``,"aria-hidden":`true`,children:aa[m]}),d?(0,K.jsx)(`input`,{className:`ftl-layer-input`,"aria-label":`Layer name`,defaultValue:e.clip?.name??u,autoFocus:!0,onFocus:e=>e.currentTarget.select(),onPointerDown:e=>e.stopPropagation(),onBlur:t=>{if(!d)return;f(!1);let n=t.currentTarget.value.trim();n&&n!==e.clip?.name&&c(n)},onKeyDown:t=>{t.stopPropagation(),t.key===`Enter`?t.currentTarget.blur():t.key===`Escape`&&(t.currentTarget.value=e.clip?.name??u,f(!1))}}):(0,K.jsx)(`span`,{className:`ftl-layer-name`,"data-layer-name":``,title:e.clip?`Double-click to rename`:u,onDoubleClick:()=>e.clip&&f(!0),children:u})]}),(0,K.jsxs)(`div`,{className:`ftl-layer-controls`,children:[_.length>0&&(0,K.jsx)(`button`,{type:`button`,className:`ftl-layer-toggle${v?` on`:``}`,"aria-label":v?`Unmute layer`:`Mute layer`,title:v?`Unmute`:`Mute`,onClick:()=>o(`muted`,!v),children:v?(0,K.jsx)(Ye,{size:Z}):(0,K.jsx)(Ke,{size:Z})}),(0,K.jsx)(`button`,{type:`button`,className:`ftl-layer-toggle${g?` on`:``}`,"aria-label":g?`Unlock layer`:`Lock layer`,title:g?`Unlock`:`Lock`,onClick:()=>s(!g),children:g?(0,K.jsx)(Ti,{size:Z}):(0,K.jsx)(Ui,{size:Z})}),(0,K.jsx)(`button`,{type:`button`,className:`ftl-layer-toggle${h?` on`:``}`,"aria-label":h?`Show layer`:`Hide layer`,title:h?`Show`:`Hide`,onClick:()=>o(`hidden`,!h),children:h?(0,K.jsx)(le,{size:Z}):(0,K.jsx)(xt,{size:Z})})]})]})}function pa({controller:e,menu:t}){let n=Oe(),r=ke(n?.playing,!1),i=ke(n?.currentTime,0),a=ke(n?.loop,!1),o=Me(e=>e?.scenes.find(t=>t.id===e.activeSceneId)?.fps??30);return(0,K.jsxs)(`div`,{className:`ftl-transport`,"data-timeline-transport":``,style:{height:32},children:[(0,K.jsx)(`button`,{type:`button`,className:`ftl-transport-button`,"aria-label":r?`Pause`:`Play`,title:r?`Pause (Space)`:`Play (Space)`,onClick:()=>r?n?.pause():n?.play(),children:r?(0,K.jsx)(yn,{size:Z}):(0,K.jsx)(Sn,{size:Z})}),(0,K.jsx)(`button`,{type:`button`,className:a?`ftl-transport-button on`:`ftl-transport-button`,"aria-label":`Loop playback`,"aria-pressed":a,title:`Loop playback`,onClick:()=>n?.setLoop(!a),children:(0,K.jsx)(ji,{size:Z})}),(0,K.jsx)(`button`,{type:`button`,className:`ftl-transport-button`,"aria-label":`Split at playhead`,title:`Split at playhead (S)`,onClick:()=>e()?.splitAtPlayhead(),children:(0,K.jsx)(Li,{size:Z})}),(0,K.jsx)(ze,{label:(0,K.jsx)(ta,{size:Z}),ariaLabel:`More options`,title:`More options`,buttonClassName:`ftl-transport-button`,entries:t}),(0,K.jsx)(`span`,{className:`ftl-timecode`,"data-timecode":``,children:sa(i,o)})]})}function ma(e,t,n){let r=un(t);return r?{id:crypto.randomUUID(),name:e,coalesceKey:null,ops:[{op:`set`,path:[`scenes`,t.scenes.indexOf(r),`tracks`],value:n}]}:null}function ha(e,t){return{...e,id:crypto.randomUUID(),name:`${e.name} audio`,clips:t,locked:!1}}function ga(e,t){let n=_n(e,t);return!!n&&n.scene===un(e)&&!n.track.locked&&!n.clip.locked&&n.clip.kind===`media`&&Mt(e,n.clip)}function _a(e,t){let n=un(e);if(!n)return null;let r=new Set(t.filter(t=>ga(e,t)));if(!r.size)return null;let i=[],a=[],o=n.tracks.map(e=>{let t=[],n=e.clips.map(e=>{if(!r.has(e.id)||e.kind!==`media`)return e;let n=Cn({id:e.id,kind:`audio`,name:`${e.name} audio`,assetId:e.assetId,timeRange:{...e.timeRange},trim:{...e.trim},speed:e.speed,preservePitch:e.preservePitch,volume:e.volume,muted:e.muted,hidden:e.hidden,locked:!1,transform:{x:0,y:0,scaleX:1,scaleY:1,rotation:0,skewX:0,skewY:0,anchorX:.5,anchorY:.5,flipX:!1,flipY:!1},size:{width:0,height:0},opacity:1,blendMode:`normal`,effects:[],mask:null,animations:e.animations.filter(e=>e.property===`volume`),presetAnimations:e.presetAnimations.filter(e=>e.preset===`volume`)});return t.push(n),a.push(n.id),{...e,muted:!0,animations:e.animations.filter(e=>e.property!==`volume`),presetAnimations:e.presetAnimations.filter(e=>e.preset!==`volume`)}});return t.length&&i.push(ha(e,t)),{...e,clips:n}}),s=ma(`Detach audio`,e,[...i,...o]);return s?{envelope:s,clipIds:a}:null}function va(e,t){let n=un(e);if(!n)return[];let r=new Set(t);return n.tracks.flatMap(e=>e.clips.filter(e=>r.has(e.id)).map(t=>({clip:structuredClone(t),trackId:e.id,sceneId:n.id})))}function ya(e,t,n,r,i=`Paste clips`){let a=un(e);if(!a||!t.length||!Number.isFinite(n))return null;let o=Math.min(...t.map(e=>e.clip.timeRange.start)),s=a.tracks.slice(),c=new Map;for(let r of t){let t=r.clip;if(W(t)&&!e.assets.some(e=>e.id===t.assetId))return null;let i=Cn(r.clip);i.locked=!1,i.timeRange.start=Math.max(0,n)+r.clip.timeRange.start-o;let a=c.get(r.trackId)??[];a.push(i),c.set(r.trackId,a)}for(let[e,t]of c){let n=s.findIndex(t=>t.id===e),i=s[n];if(i&&!i.locked&&i.clips.every(e=>e.kind===`audio`==(t[0].kind===`audio`))&&t.every(e=>r.canPlace(i,e.timeRange)))s[n]={...i,clips:[...i.clips,...t].sort((e,t)=>e.timeRange.start-t.timeRange.start)};else{let e={...i??{hidden:!1,muted:!1,solo:!1,mode:`default`,volume:1},id:crypto.randomUUID(),name:i?.name??`Track ${s.length+1}`,clips:t,locked:!1};t[0].kind===`audio`?s.unshift(e):s.push(e)}}let l=ma(i,e,s);return l?{envelope:l,clipIds:[...c.values()].flatMap(e=>e.map(e=>e.id))}:null}function ba(e,t,n,r){let i=un(e);if(!i||!Number.isFinite(n)||n<=0)return null;let a=new Set(t),o=!1,s=!1,c=i.tracks.map(t=>{if(t.locked)return t;let c=0,l=t.clips.slice().sort((e,t)=>e.timeRange.start-t.timeRange.start).map(t=>{c&&t.locked&&(s=!0);let l=c?{...t,timeRange:{...t.timeRange,start:t.timeRange.start+c}}:t;if(!a.has(t.id)||t.locked||!W(t))return l;let u=e.assets.find(e=>e.id===t.assetId);if(!u||u.kind===`image`||t.speed===n)return l;let d=(t.trim.end-t.trim.start)/n;if(!Number.isFinite(d)||d<1/(i.fps>0?i.fps:30))return s=!0,l;let f=d/t.timeRange.duration;return l={...l,speed:n,timeRange:{...l.timeRange,duration:d},animations:t.animations.map(e=>({...e,keyframes:e.keyframes.map(e=>({...e,time:e.time*f}))})),presetAnimations:t.presetAnimations.map(e=>({...e,duration:e.duration*f}))},o=!0,r&&(c+=d-t.timeRange.duration),l});for(let e=1;e<l.length;e++){let t=l[e-1];t.timeRange.start+t.timeRange.duration>l[e].timeRange.start+1e-6&&(s=!0)}return{...t,clips:l}});return o&&!s?ma(r?`Ripple change speed`:`Change speed`,e,c):null}function xa(e,t){let n=un(e);if(!n)return null;let r=new Set(t),i=n.tracks.filter(e=>!e.locked).flatMap(t=>t.clips.filter(t=>r.has(t.id)&&!t.locked&&W(t)&&Mt(e,t)));if(!i.length)return null;let a=i.some(e=>W(e)&&!e.muted),o=new Set(i.map(e=>e.id));return ma(a?`Mute clips`:`Unmute clips`,e,n.tracks.map(e=>({...e,clips:e.clips.map(e=>o.has(e.id)&&W(e)?{...e,muted:a}:e)})))}var Sa=`capability:thumbs.source`,Ca=36,wa=16,Ta=24,Ea=3e3;function Da(e){return e.kind!==`video`||e.duration===null||e.duration<=0?1:Math.min(wa,Math.max(1,Math.ceil(e.duration*2)))}function Oa(e){let t=new Map,n=new Map,r=null,i=!1;function a(e){if(e.evicted=!0,r)for(let t of e.handles.splice(0))r.release(t);e.strip.natives.fill(null)}async function o(t,n){let[a,o]=await Promise.all([e.thumbs(),e.frames()]);if(r=o,n.evicted||i||a.probe(t)<=0)return;let s=t.kind===`video`?t.duration??0:0,c=await a.filmstrip(t,{start:0,end:s,count:n.strip.count,size:{width:n.strip.width,height:n.strip.height}});if(n.evicted||i){for(let e of c)o.release(e);return}let l=c.length;if(l!==0){n.handles=[...c],n.strip.natives=Array.from({length:l},()=>null),n.strip.count=l,n.strip.step=l>0?s/l:0;for(let e=0;e<l;e++){let t=c[e];n.strip.natives[e]=o.toNative(t)??null;let r=o.info(t);e===0&&r&&(n.strip.width=r.width,n.strip.height=r.height)}n.succeeded=!0,e.invalidate()}}return{peek(e){if(i||e.width===null||e.height===null||e.width<=0||e.height<=0)return null;let r=t.get(e.id);if(r)return t.delete(e.id),t.set(e.id,r),r.succeeded?r.strip:null;let s=n.get(e.id);if(s!==void 0&&performance.now()<s)return null;n.delete(e.id);let c=Da(e),l=Ca,u=Math.max(8,Math.min(160,Math.round(l*e.width/e.height))),d=e.kind===`video`?e.duration??0:0,f={strip:{natives:Array.from({length:c},()=>null),count:c,width:u,height:l,step:c>0?d/c:0},handles:[],evicted:!1,succeeded:!1};for(t.set(e.id,f);t.size>Ta;){let e=t.keys().next().value;if(e===void 0)break;let n=t.get(e);t.delete(e),n&&a(n)}return o(e,f).catch(()=>void 0).then(()=>{!f.evicted&&!f.succeeded&&(t.get(e.id)===f&&t.delete(e.id),n.set(e.id,performance.now()+Ea))}),null},dispose(){i=!0;for(let e of t.values())a(e);t.clear(),n.clear()}}}function ka(e,t){let n=e.count;if(n===0)return null;let r=e.step>0?Math.floor(t/e.step-.5):0;r=r<0?0:r>=n?n-1:r;let i=e.natives[r];if(i)return i;for(let t=r-1;t>=0;t--){let n=e.natives[t];if(n)return n}for(let t=r+1;t<n;t++){let n=e.natives[t];if(n)return n}return null}function Aa(e){return e===`queued`?`Queued`:e===`importing`?`Importing`:e===`completed`?`Ready`:`Generating`}function ja(e,t,n){if(e===`queued`)return{offset:0,width:t*.18};if(e===`completed`)return{offset:0,width:t};let r=Math.min(Math.max(12,t*.32),t);return{offset:n/8%(t+r)-r,width:r}}var Q={stripeA:`transparent`,stripeB:`transparent`,laneBg:`rgba(0, 0, 0, 0.2)`,border:`rgba(255, 255, 255, 0.06)`,cardBorder:`rgba(217, 217, 217, 0.04)`,accentFillSoft:`rgba(209, 254, 23, 0.07)`,accentFill:`rgba(209, 254, 23, 0.1)`,selectedFill:`rgba(209, 254, 23, 0.12)`,selectedBorder:`rgba(209, 254, 23, 0.6)`,accentGuide:`rgba(209, 254, 23, 0.7)`,accentMarquee:`rgba(209, 254, 23, 0.8)`,invalidFillSoft:`rgba(229, 72, 77, 0.1)`,tick:`rgba(255, 255, 255, 0.05)`,mute:`#e5484d`,marker:`#34d399`};function Ma(e,t){switch(t.kind){case`media`:return e.assets.find(e=>e.id===t.assetId)?.kind===`image`?`image`:`video`;case`audio`:return`audio`;case`text`:return`text`;case`rect`:return`rect`;case`path`:return`path`;case`group`:return`group`;case`scene`:return`scene`;case`adjustment`:return`adjustment`}}var Na=`#d1fe17`,Pa=e=>`10px ${e.fontUi}`;function Fa(e,t){t.effectBadges&&(t.effectBadges.length=0),e.fillStyle=t.palette.panel,e.fillRect(0,0,t.width,t.height),e.save(),e.beginPath(),e.rect(0,t.layout.tracksTop,t.width,Math.max(0,t.height-t.layout.tracksTop)),e.clip(),Ia(e,t),Do(e,t),Wa(e,t),Ka(e,t),qa(e,t),wo(e,t),ko(e,t),To(e,t),Eo(e,t),Oo(e,t),e.restore(),yo(e,t),e.fillStyle=Q.border,e.fillRect(239,0,1,t.layout.tracksTop),t.time!==null&&Ao(e,t.time,t,t.palette)}function Ia(e,t){let n=t.width-240,r=new Set(t.previews.map(e=>e.clip.id)),i=t.previews.find(e=>e.ghost)??null;for(let a=0;a<t.layout.rows.length;a++){let o=t.layout.rows[a];if(o&&!(o.y+o.height<32||o.y>t.height)){e.fillStyle=a%2==0?Q.stripeA:Q.stripeB,e.fillRect(0,o.y,t.width,40),o.lanes.length>0&&(e.fillStyle=Q.laneBg,e.fillRect(240,o.y+40,n,o.height-40)),i&&Ha(i.at,o)&&(e.fillStyle=i.invalid?Q.invalidFillSoft:Q.accentFillSoft,e.fillRect(240,o.y,n,40)),t.dropHint?.ghosts.length===0&&Ha(t.dropHint.target,o)&&(e.fillStyle=Q.accentFill,e.fillRect(240,o.y,n,40));for(let n of o.track.clips)r.has(n.id)||Ra(e,t,o,n,null);for(let n of t.previews)Ha(n.at,o)&&Ra(e,t,o,n.clip,n);mo(e,t,o),La(e,t,o),e.fillStyle=Q.border,e.fillRect(0,o.y+o.height-1,t.width,1)}}}function La(e,t,n){for(let r of n.nested){if(r.y+40<32||r.y>t.height)continue;e.fillStyle=Q.laneBg,e.fillRect(240,r.y,t.width-240,40);let i=Tr(r);if(i.end<=i.start)continue;let a={...r.clip,timeRange:{start:i.start,duration:i.end-i.start}};Ra(e,t,{...n,y:r.y,height:40,lanes:[],nested:[]},a,null),e.fillStyle=Q.border,e.fillRect(240,r.y+40-1,t.width-240,1)}}function Ra(e,t,n,r,i){let a=i?i.start:r.timeRange.start,o=i?i.duration:r.timeRange.duration,s=q(a,t.zoom,t.scroll),c=Math.max(o*t.zoom,2);if(s+c<240||s>t.width)return;let l=Ft(t.doc,r),u=Ma(t.doc,r),d=u===`video`||u===`image`,f=d&&!l||r.kind===`audio`?36:Y.height,p=Y.top(n.y)+(Y.height-f)/2,m=t.hoveredClipId===r.id,h=t.editDropClipId===r.id||!!t.applyingClipIds?.includes(r.id),g=t.selection.includes(r.id),_=r.hidden||n.track.hidden,v=i?.ghost??!1,y=i?.trimStart??(W(r)?r.trim.start:null),b=i?.trimEnd??(W(r)?r.trim.end:null),x=en(t.doc,r),S=u===`adjustment`,C=na[ra(t.doc,r)];e.save(),e.globalAlpha=v?.7:_?.35:1;let w=Math.min(4,c/2);if(e.beginPath(),e.roundRect(s,p,c,f,w),e.fillStyle=C.background,e.fill(),t.highlight?.documentId===t.doc.id&&t.highlight.clipId===r.id){let n=Math.max(0,Math.min(1,(t.pendingPhase-t.highlight.startedAt)/1400));n<1&&Va(e,s,p,c,f,t.width,2,28,Math.sin(n*Math.PI)*.65)}i?.invalid&&(e.fillStyle=`rgba(229, 72, 77, 0.35)`,e.fill());let T=!d&&r.kind!==`audio`&&c>=24?18:0,E=r.kind===`audio`?p:p+f-14,D=l?p+f-E:0;if(e.save(),e.clip(),d){let n=r.kind===`media`?t.doc.assets.find(e=>e.id===r.assetId):void 0;if(n){let i=s+0,a=p+0,o=Math.max(0,c-0),u=Math.max(0,f-0-(l?14:0));e.save(),e.beginPath(),e.roundRect(i,a,o,u+(l?14:0),Math.min(4,o/2)),e.clip(),Xa(e,t,n,i,a,o,u,y??0,ln(r)),e.restore()}}if(l&&D>0){d&&(e.fillStyle=C.background,e.fillRect(s,E,c,D));let n=r.kind===`media`||r.kind===`audio`?t.doc.assets.find(e=>e.id===r.assetId):void 0,i=n?t.peaks(n):null;i?po(e,t,i,s,E,c,D,y??0,ln(r),C.accent):(e.fillStyle=`rgba(255, 255, 255, 0.14)`,e.fillRect(s+2,E+D/2-1.5,Math.max(c-4,0),3)),Qa(e,t,r,s,c,E,D)}if(so(e,r,s,p,c,f,t.zoom,t.junctionTransitionIds),d||r.kind===`audio`){let n=Math.max(s,240)+5;io(e,n,p+f-5-(d&&l?14:0),Math.min(s+c,t.width)-5-n,u===`image`?null:ao(o),uo(r),t.palette,r.effects.map(e=>Ve(e.kind)),(e,n,a)=>{!i?.ghost&&n>=t.layout.tracksTop&&n+18<=t.height&&t.effectBadges?.push({documentId:t.doc.id,clipId:r.id,x:e,y:n,width:a,height:18})})}else if(T>0){e.font=Pa(t.palette),e.textBaseline=`middle`;let n=S?`Adjustment · ${uo(r)}`:uo(r),i=Math.max(s,240)+6,a=lo(e,n,Math.min(s+c,t.width)-i-6);if(a.length>0){e.fillStyle=C.foreground,e.fillText(a,i,p+T/2+1);let n=e.measureText(a).width,r=oo(o,t.scene.fps);i+n+e.measureText(r).width+16<=s+c&&(e.fillStyle=C.foreground,e.globalAlpha*=.6,e.fillText(r,i+n+10,p+T/2+1),e.globalAlpha/=.6)}}if(y!==null&&y>.005&&fo(e,s,p,f,`start`),b!==null&&x!==null&&b<x-.005&&fo(e,s+c,p,f,`end`),e.restore(),i?.invalid?za(e,s,p,c,f,1,Q.mute):h?(Va(e,s,p,c,f,t.width,1.5,28,.25),e.setLineDash([6,6]),za(e,s,p,c,f,1.5,`#d1fe17`),e.setLineDash([])):g?Ba(e,s,p,c,f,t.width):za(e,s,p,c,f,m?1:.5,m?`rgba(255, 255, 255, 0.4)`:`rgba(255, 255, 255, 0.05)`),l&&D>0&&!v&&!h&&c>=48&&$a(e,t,r,s,c,E),g&&!h&&c>24){let t=Math.min(17,f-8),n=p+(f-(d&&l?14:0)-t)/2+.5;e.fillStyle=Na,e.beginPath(),e.roundRect(s+4,n,2,t,1),e.roundRect(s+c-6,n,2,t,1),e.fill()}let O=r.locked||n.track.locked;if(O&&(e.font=Pa(t.palette),e.textBaseline=`middle`,e.fillStyle=`rgba(255, 255, 255, 0.6)`,e.fillText(`🔒`,s+c-16,p+f/2)),r.hidden&&c>=30){let t=e.globalAlpha;e.globalAlpha=Math.max(t,.85),co(e,s+c-(O?30:14),p+f/2),e.globalAlpha=t}e.restore()}function za(e,t,n,r,i,a,o){let s=a/2;e.beginPath(),e.roundRect(t+s,n+s,Math.max(0,r-a),i-a,Math.max(0,Math.min(8-s,(r-a)/2))),e.lineWidth=a,e.strokeStyle=o,e.stroke()}function Ba(e,t,n,r,i,a){za(e,t,n,r,i,2,Na)}function Va(e,t,n,r,i,a,o,s,c){if(r<=o*2)return;let l=s*2,u=Math.max(t+o,240-l),d=Math.min(t+r-o,a+l);e.save(),e.beginPath(),e.roundRect(u,n+o,d-u,i-o*2,Math.min(8,(d-u)/2)),e.clip(),e.shadowColor=`rgba(209, 254, 23, ${c})`,e.shadowBlur=s*e.getTransform().a,e.fillStyle=`black`,e.beginPath(),e.rect(u-l,n-l,d-u+l*2,i+l*2),e.roundRect(u,n+o,d-u,i-o*2,Math.min(8,(d-u)/2)),e.fill(`evenodd`),e.restore()}var Ha=(e,t)=>e.kind===`row`&&e.trackIndex===t.trackIndex;function Ua(e,t){let n=Pr(e.layout,t);if(!n)return null;let r=e.layout.tracksTop;return{lineY:Math.min(Math.max(n.y,r+1),e.height-1),rowY:Math.min(Math.max(n.y-20,r),e.height-40)}}function Wa(e,t){let n=t.previews.find(e=>e.ghost&&e.at.kind===`gap`),r=n?.at??t.dropHint?.target;if(r?.kind!==`gap`)return;let i=Ua(t,r.slot);if(!i)return;let a=t.width-240;e.save(),e.fillStyle=Q.accentFillSoft,e.fillRect(240,i.rowY,a,40),e.fillStyle=t.palette.accent,e.fillRect(240,i.lineY-1,a,2),e.restore(),n&&Ra(e,t,{track:{id:``,name:`New track`,clips:[],locked:!1,hidden:!1,muted:!1,solo:!1,mode:`default`,volume:1},trackIndex:-1,y:i.rowY,height:40,lanes:[],nested:[]},n.clip,n)}function Ga(e,t){return t.kind===`gap`?Ua(e,t.slot)?.rowY??null:e.layout.rows.find(e=>e.trackIndex===t.trackIndex)?.y??null}function Ka(e,t){if(t.pending.length!==0)for(let n of t.pending){let r=Ga(t,n.at);if(r===null)continue;n.at.kind===`gap`&&(e.fillStyle=`rgba(255, 255, 255, 0.03)`,e.fillRect(240,r,t.width-240,40));let i=q(n.start,t.zoom,t.scroll),a=Math.max(n.duration*t.zoom,2);if(i+a<240||i>t.width)continue;let o=Y.top(r),s=Y.height;if(o+s<32||o>t.height)continue;e.save(),e.globalAlpha=n.draft?.3:.45;let c=Math.min(12,a/2);if(e.beginPath(),e.roundRect(i,o,a,s,c),e.fillStyle=na[n.kind].background,e.fill(),e.save(),e.clip(),a>=36){e.font=Pa(t.palette),e.textBaseline=`middle`;let r=Aa(n.status),s=lo(e,n.draft?n.label:`${r} · ${n.label}`,a-16);s.length>0&&(e.fillStyle=n.draft?`rgba(255, 255, 255, 0.8)`:`rgba(255, 255, 255, 0.95)`,e.fillText(s,i+8,o+9+1))}if(!n.draft&&a>=12){let r=i+4,c=o+s-4,l=Math.max(0,a-8);e.fillStyle=`rgba(255, 255, 255, 0.18)`,e.fillRect(r,c,l,2),e.fillStyle=t.palette.accent;let u=ja(n.status,l,t.pendingPhase);e.fillRect(r+u.offset,c,u.width,2)}e.restore(),e.setLineDash([5,4]),n.draft||(e.lineDashOffset=-(t.pendingPhase/40%9)),e.lineWidth=1,e.strokeStyle=na[n.kind].accent,e.stroke(),e.restore()}}function qa(e,t){let n=t.dropHint;if(!n||n.ghosts.length===0)return;let r=Ga(t,n.target);if(r===null)return;let i=Y.top(r)+2;if(!(i+36<32||i>t.height))for(let r of n.ghosts){let n=q(r.start,t.zoom,t.scroll),a=Math.max(r.duration*t.zoom,2);if(n+a<240||n>t.width)continue;e.save();let o=Math.min(1.5,a/2),s=Math.min(8,(a-o)/2);e.beginPath(),e.roundRect(n+o/2,i+o/2,a-o,36-o,s),e.fillStyle=`rgba(255, 255, 255, 0.01)`,e.fill(),e.setLineDash([7,5]),e.lineDashOffset=-(t.pendingPhase/160%12),e.lineWidth=o,e.strokeStyle=t.palette.accent,e.stroke(),e.restore(),Va(e,n,i,a,36,t.width,o,32,.1)}}var Ja=12,Ya=32;function Xa(e,t,n,r,i,a,o,s,c){if(a<=0||o<Ja)return!1;let l=t.strips(n);if(!l)return!1;let u=a/Math.max(1,Math.ceil(a/Ya)),d=Math.max(u/l.width,o/l.height),f=u/d,p=o/d,m=Math.max(r,240),h=Math.min(r+a,t.width);if(h<=m)return!1;let g=Math.max(0,Math.floor((m-r)/u)),_=Math.ceil((h-r)/u),v=!1;for(let n=g;n<_;n++){let a=r+n*u,d=ka(l,s+n*u/t.zoom*c);d&&(e.drawImage(d,(l.width-f)/2,(l.height-p)/2,f,p,a,i,u,o),v=!0)}return v}function Za(e,t){let n=Er(t);return e.fadeDrag&&e.fadeDrag.clipId===t.id?e.fadeDrag.direction===`in`?{...n,fadeIn:e.fadeDrag.duration}:{...n,fadeOut:e.fadeDrag.duration}:n}function Qa(e,t,n,r,i,a,o){let{fadeIn:s,fadeOut:c}=Za(t,n),l=Math.min(Math.max(s,0)*t.zoom,i),u=Math.min(Math.max(c,0)*t.zoom,i),d=a+o;if(l>=1&&(e.beginPath(),e.moveTo(r,a),e.lineTo(r,d),e.quadraticCurveTo(r+l*.35,a,r+l,a),e.closePath(),e.fillStyle=`rgba(0, 0, 0, 0.5)`,e.fill(),e.beginPath(),e.moveTo(r,d),e.quadraticCurveTo(r+l*.35,a,r+l,a),e.lineWidth=1.5,e.strokeStyle=`rgba(255, 255, 255, 0.85)`,e.stroke()),u>=1){let t=r+i;e.beginPath(),e.moveTo(t,a),e.lineTo(t,d),e.quadraticCurveTo(t-u*.35,a,t-u,a),e.closePath(),e.fillStyle=`rgba(0, 0, 0, 0.5)`,e.fill(),e.beginPath(),e.moveTo(t,d),e.quadraticCurveTo(t-u*.35,a,t-u,a),e.lineWidth=1.5,e.strokeStyle=`rgba(255, 255, 255, 0.85)`,e.stroke()}}function $a(e,t,n,r,i,a){let{fadeIn:o,fadeOut:s}=Za(t,n),c=[{x:r+Math.min(Math.max(o,0)*t.zoom,i),direction:`in`},{x:r+i-Math.min(Math.max(s,0)*t.zoom,i),direction:`out`}];for(let r of c){if(r.x<235||r.x>t.width+5)continue;let i=t.fadeDrag!==null&&t.fadeDrag.clipId===n.id&&t.fadeDrag.direction===r.direction,c=t.hoveredFade?.clipId===n.id&&t.hoveredFade.direction===r.direction,l=r.direction===`in`?o:s;(i||c||l!==0)&&(e.beginPath(),e.arc(r.x,a+3,i?5:4,0,Math.PI*2),e.fillStyle=t.palette.white,e.fill(),e.lineWidth=1.5,e.strokeStyle=i?t.palette.accent:`rgba(0, 0, 0, 0.65)`,e.stroke())}}var eo=new WeakMap;function to(e,t,n,r){if(typeof OffscreenCanvas>`u`)return;let i=e.getTransform().a,a=Math.max(0,Math.floor((t-8)*i)),o=Math.max(0,Math.floor((n-8)*i)),s=Math.min(e.canvas.width,Math.ceil((t+r+8)*i))-a,c=Math.min(e.canvas.height,Math.ceil((n+18+8)*i))-o;if(s<=0||c<=0)return;let l=eo.get(e);if(!l){if(l=new OffscreenCanvas(s,c).getContext(`2d`)??void 0,!l)return;eo.set(e,l)}l.canvas.width<s&&(l.canvas.width=s),l.canvas.height<c&&(l.canvas.height=c),l.clearRect(0,0,s,c),l.drawImage(e.canvas,a,o,s,c,0,0,s,c),e.save(),e.clip(),e.filter=`blur(${4*i}px)`,e.drawImage(l.canvas,0,0,s,c,a/i,o/i,s/i,c/i),e.restore()}var no;function ro(e,t,n){no??=new Path2D(`M5 16c.099 0 .187.064.216.16l.202.657c.26.844.92 1.505 1.765 1.765l.658.202a.226.226 0 0 1 0 .432l-.658.202c-.844.26-1.505.92-1.765 1.765l-.202.658a.226.226 0 0 1-.432 0l-.202-.658a2.67 2.67 0 0 0-1.765-1.765l-.658-.202a.226.226 0 0 1 0-.432l.658-.202a2.67 2.67 0 0 0 1.765-1.765l.202-.658A.23.23 0 0 1 5 16m8-14c.297 0 .56.194.648.478l.607 1.974a8 8 0 0 0 5.293 5.293l1.975.607a.678.678 0 0 1 0 1.296l-1.975.607a8 8 0 0 0-5.293 5.293l-.607 1.975a.678.678 0 0 1-1.296 0l-.607-1.975a8 8 0 0 0-5.293-5.293l-1.974-.607a.678.678 0 0 1 0-1.296l1.974-.607a8 8 0 0 0 5.293-5.293l.607-1.974A.68.68 0 0 1 13 2`),e.save(),e.translate(t,n),e.scale(.5,.5),e.fill(no),e.restore()}function io(e,t,n,r,i,a,o,s,c){if(r<=0||!i&&!a&&!s.length)return;e.save(),e.font=`600 10px ${o.fontUi}`,e.textBaseline=`middle`;let l=(t,r)=>{let i=Math.ceil(e.measureText(t).width)+12;return e.fillStyle=`rgba(0, 0, 0, 0.4)`,e.beginPath(),e.roundRect(r,n-18,i,18,9),to(e,r,n-18,i),e.fill(),e.fillStyle=`white`,e.fillText(t,r+6,n-9),i},u=t;if(i){if(Math.ceil(e.measureText(i).width)+12>r){e.restore();return}u+=l(i,t)+4}let d=tt(s,r-(u-t),t=>e.measureText(t).width);for(let{label:t,width:r}of d)e.beginPath(),e.roundRect(u,n-18,r,18,9),to(e,u,n-18,r),e.fillStyle=`rgba(156,230,243,.6)`,e.fill(),e.fillStyle=`rgba(0,0,0,.6)`,e.fill(),e.fillStyle=`#9ce6f3`,ro(e,u+6,n-15),e.fillText(t,u+22,n-9),c(u,n-18,r),u+=r+4;if(a){let n=lo(e,a,Math.floor(r-(u-t)-12));n&&l(n,u)}e.restore()}function ao(e){let t=Math.max(0,Math.ceil(e));return`${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`}function oo(e,t){let n=Math.max(1,Math.round(t>0?t:30)),r=Math.max(0,Math.round(e*n)),i=r%n,a=Math.floor(r/n),o=e=>String(e).padStart(2,`0`);return`${o(Math.floor(a/3600))}:${o(Math.floor(a/60)%60)}:${o(a%60)}:${o(i)}`}function so(e,t,n,r,i,a,o,s){if(!(t.presetAnimations.length===0||i<6)){e.fillStyle=`rgba(255, 255, 255, 0.28)`;for(let c of t.presetAnimations){if(c.preset===`volume`||typeof c.params.transitionId==`string`&&s?.has(c.params.transitionId))continue;let t=Math.min(Math.max(c.duration,0)*o,i);t<2||(e.beginPath(),c.direction===`in`?(e.moveTo(n,r+a),e.lineTo(n+t,r),e.lineTo(n,r)):(e.moveTo(n+i,r+a),e.lineTo(n+i-t,r),e.lineTo(n+i,r)),e.closePath(),e.fill())}}}function co(e,t,n){e.save(),e.strokeStyle=`rgba(255, 255, 255, 0.75)`,e.lineWidth=1.2,e.beginPath(),e.ellipse(t,n,5,3.2,0,0,Math.PI*2),e.stroke(),e.beginPath(),e.arc(t,n,1.4,0,Math.PI*2),e.fillStyle=`rgba(255, 255, 255, 0.75)`,e.fill(),e.beginPath(),e.moveTo(t-6,n+5),e.lineTo(t+6,n-5),e.stroke(),e.restore()}function lo(e,t,n){if(n<=0)return``;if(e.measureText(t).width<=n)return t;let r=0,i=t.length;for(;r<i;){let a=Math.ceil((r+i)/2);e.measureText(t.slice(0,a)+`…`).width<=n?r=a:i=a-1}return r===0?``:t.slice(0,r).trimEnd()+`…`}function uo(e){if(e.kind!==`text`)return e.name;let t=e.text.indexOf(`
2
- `),n=(t===-1?e.text:e.text.slice(0,t)).trim();return n.length>0?n:e.name}function fo(e,t,n,r,i){let a=i===`start`?1:-1;e.beginPath(),e.moveTo(t,n),e.lineTo(t+8*a,n),e.lineTo(t,n+8),e.closePath(),e.moveTo(t,n+r),e.lineTo(t+8*a,n+r),e.lineTo(t,n+r-8),e.closePath(),e.fillStyle=`rgba(255, 255, 255, 0.45)`,e.fill()}function po(e,t,n,r,i,a,o,s,c,l){e.fillStyle=l;let u=i+o/2,d=6+Math.max(0,Math.ceil((240-r-6)/4))*4,f=Math.min(a-6,t.width-r);e.beginPath();for(let i=d;i<f;i+=4){let a=s+i/t.zoom*c,o=s+(i+4)/t.zoom*c,l=Math.floor(a*n.peaksPerSecond),d=Math.max(l+1,Math.ceil(o*n.peaksPerSecond)),f=0;for(let e=l;e<d&&e<n.peaks.length;e++){let t=n.peaks[e]??0;t>f&&(f=t)}let p=Math.min(f,1)*8+.75;e.roundRect(r+i,u-p,1.5,p*2,.75)}e.fill()}function mo(e,t,n){for(let r of n.lanes){e.fillStyle=`rgba(255, 255, 255, 0.04)`,e.fillRect(240,r.y+24-1,t.width-240,1);let n=t.previews.find(e=>e.clip.id===r.clip.id)??null,i=n?n.start:r.clip.timeRange.start,a=r.y+12;for(let n of r.propertyTrack.keyframes){let o=t.keyframeDrag!==null&&t.keyframeDrag.propertyTrackId===r.propertyTrack.id&&t.keyframeDrag.keyframeId===n.id,s=q(i+(o&&t.keyframeDrag?t.keyframeDrag.time:n.time),t.zoom,t.scroll);s<235||s>t.width+5||(t.keyframeSel!==null&&t.keyframeSel.propertyTrackId===r.propertyTrack.id&&t.keyframeSel.keyframeId===n.id||o?ho(e,s,a,5,t.palette.white,t.palette.accent):ho(e,s,a,4,t.palette.accent))}}}function ho(e,t,n,r,i,a){e.beginPath(),e.moveTo(t,n-r),e.lineTo(t+r,n),e.lineTo(t,n+r),e.lineTo(t-r,n),e.closePath(),e.fillStyle=i,e.fill(),a&&(e.lineWidth=1.5,e.strokeStyle=a,e.stroke())}var go=[.1,.2,.5,1,2,5,10,15,30,60,120,300,600];function _o(e){for(let t of go)if(t*e>=56)return t;return go[go.length-1]??600}function vo(e,t){if(t>=1){let t=Math.round(e),n=Math.floor(t/60),r=t%60;return n>0?`${n}:${String(r).padStart(2,`0`)}`:`${r}s`}return`${e.toFixed(1)}s`}function yo(e,t){e.fillStyle=t.palette.panel,e.fillRect(0,0,t.width,32),e.fillStyle=Q.border,e.fillRect(0,31,t.width,1);let n=_o(t.zoom),r=1;for(let e of[10,5,2])if(n*t.zoom/e>=7){r=e;break}let i=Math.max(0,J(240,t.zoom,t.scroll)),a=J(t.width,t.zoom,t.scroll);e.font=Pa(t.palette),e.textBaseline=`alphabetic`;for(let o=Math.floor(i/n);o*n<=a;o++){let i=o*n;if(i<0)continue;let a=q(i,t.zoom,t.scroll);if(a>=240&&(e.fillStyle=Q.tick,e.fillRect(a,23,1,8),e.fillStyle=`rgba(255, 255, 255, 0.4)`,e.fillText(vo(i,n),a+6,16)),r>1){let a=n/r;for(let n=1;n<r;n++){let r=q(i+n*a,t.zoom,t.scroll);r<240||r>t.width||(e.fillStyle=Q.tick,e.fillRect(r,27,1,4))}}}So(e,t),Co(e,t)}var bo=`rgba(209, 254, 23, 0.32)`,xo=`#d1fe17`;function So(e,t){if(!t.workArea)return;let n=Math.max(240,q(t.workArea.start,t.zoom,t.scroll)),r=Math.min(t.width,q(t.workArea.end,t.zoom,t.scroll));if(!(r<=n)){e.fillStyle=bo,e.fillRect(n,24,r-n,7),e.fillStyle=xo;for(let n of[t.workArea.start,t.workArea.end]){let r=q(n,t.zoom,t.scroll);r>=240&&r<=t.width&&e.fillRect(Math.round(r)-1,24,2,7)}}}function Co(e,t){for(let n of t.scene.markers){let r=t.markerDrag!==null&&t.markerDrag.markerId===n.id,i=q(r&&t.markerDrag?t.markerDrag.time:n.time,t.zoom,t.scroll);if(i<234||i>t.width+6)continue;let a=n.color??Q.marker;e.save(),r&&(e.strokeStyle=a,e.globalAlpha=.5,e.setLineDash([4,4]),e.beginPath(),e.moveTo(i+.5,32),e.lineTo(i+.5,t.height),e.stroke(),e.setLineDash([]),e.globalAlpha=1),e.fillStyle=a,e.beginPath(),e.moveTo(i-4,3),e.lineTo(i+4,3),e.lineTo(i+4,9),e.lineTo(i,13),e.lineTo(i-4,9),e.closePath(),e.fill(),r&&(e.lineWidth=1.5,e.strokeStyle=t.palette.white,e.stroke()),e.restore()}}function wo(e,t){e.fillStyle=t.palette.panel,e.fillRect(0,0,240,t.height),e.fillStyle=Q.border,e.fillRect(239,0,1,t.height)}function To(e,t){if(t.dropHint===null||t.dropHint.ghosts.length>0)return;let n=q(t.dropHint.time,t.zoom,t.scroll);n<240||n>t.width||(e.save(),e.strokeStyle=t.palette.accent,e.lineWidth=2,e.beginPath(),e.moveTo(n,32),e.lineTo(n,t.height),e.stroke(),e.fillStyle=t.palette.accent,e.beginPath(),e.moveTo(n-5,32),e.lineTo(n+5,32),e.lineTo(n,38),e.closePath(),e.fill(),e.restore())}function Eo(e,t){let n=t.bladeHint;if(n===null)return;let r=t.layout.rows.find(e=>e.trackIndex===n.trackIndex);if(!r)return;let i=Math.round(q(n.time,t.zoom,t.scroll))+.5;if(i<240||i>t.width)return;let a=Math.max(Y.top(r.y),32),o=Y.top(r.y)+Y.height;o<=a||(e.save(),e.beginPath(),e.moveTo(i,a),e.lineTo(i,o),e.lineWidth=3,e.strokeStyle=`rgba(0, 0, 0, 0.55)`,e.stroke(),e.lineWidth=1,e.strokeStyle=t.palette.white,e.stroke(),e.restore())}function Do(e,t){let n=t.gapSelection;if(n===null)return;let r=t.layout.rows.find(e=>e.trackIndex===n.trackIndex);if(!r)return;let i=Math.max(q(n.start,t.zoom,t.scroll),240),a=Math.min(q(n.end,t.zoom,t.scroll),t.width);if(a-i<1)return;let o=Math.max(Y.top(r.y),32),s=Y.top(r.y)+Y.height-o;s<=0||(e.save(),e.fillStyle=Q.selectedFill,e.fillRect(i,o,a-i,s),e.strokeStyle=Q.selectedBorder,e.lineWidth=1,e.strokeRect(i+.5,o+.5,a-i-1,s-1),e.restore())}function Oo(e,t){if(t.marquee===null)return;let{x:n,y:r,w:i,h:a}=t.marquee;e.save(),e.fillStyle=Q.selectedFill,e.fillRect(n,r,i,a),e.strokeStyle=Q.accentMarquee,e.lineWidth=1,e.strokeRect(n+.5,r+.5,i,a),e.restore()}function ko(e,t){if(t.snapGuide===null)return;let n=q(t.snapGuide,t.zoom,t.scroll);n<240||n>t.width||(e.save(),e.strokeStyle=Q.accentGuide,e.setLineDash([4,4]),e.beginPath(),e.moveTo(n+.5,32),e.lineTo(n+.5,t.height),e.stroke(),e.restore())}function Ao(e,t,n,r){let i=q(t,n.zoom,n.scroll);if(i<234||i>n.width+6)return;e.fillStyle=r.white,i>=240&&e.fillRect(i-.5,24,1.5,n.height-32+8);let a=`${String(Math.floor(t/60)).padStart(2,`0`)}:${String(Math.floor(t%60)).padStart(2,`0`)}`;e.save(),e.font=`500 10px ${r.fontUi}`;let o=e.measureText(a).width+14;e.beginPath(),e.roundRect(i-o/2,2,o,17,8),e.fill(),e.beginPath(),e.moveTo(i-4,18),e.lineTo(i+4,18),e.lineTo(i,23),e.closePath(),e.fill(),e.fillStyle=r.canvas,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(a,i,10.5),e.restore()}var jo=`application/x-fable-asset`,Mo=`application/x-fable-scene`;function No(e,t,n,r){let i=Math.max(0,e),a=i+Math.max(0,t),o=1e-6;return i<n-o||a>r+o}var Po=`capability:storage/local`,Fo=`capability:ai/pending-clips`,Io=33,Lo=5;function $(e,t,n){return Math.min(Math.max(e,t),n)}var Ro=60,zo=1.5,Bo=`M2.95696 5.54292L4.54267 3.9572C4.9332 3.56668 5.56636 3.56668 5.95689 3.9572L21.2498 19.2501C15.0831 20.8001 10.972 21.279 4.80534 15.0923L7.99978 11.999L2.95702 6.9572C2.56644 6.56669 2.56641 5.93347 2.95696 5.54292Z`,Vo=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="${Bo}" stroke="#000000" stroke-width="3.5" stroke-linecap="square" stroke-linejoin="round"/><path d="${Bo}" stroke="#ffffff" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/></svg>`)}") 3 4, crosshair`;function Ho(e){let{host:t,session:n,docs:r,placement:i,thumbs:a,peaks:o}=e,s=null,c=e=>s??=Ct(e.canvas),l=0,u=0,d=0,f=null,p=null,m=null,h=null,g=typeof window>`u`?null:window.matchMedia?.(`(prefers-reduced-motion: reduce)`),_=null,v=!1,y=!1,b=null,x=null,S=null,C=null,w=`select`,T=!0,E=!1,D=null,O=[],ee,te=[],k=null,ne=null,re=[],ie=0,ae=null,oe=null,A=()=>r.snapshot()??null,j=()=>{let e=A();return e?un(e):null},M=()=>n.selection.get().clipIds,N=e=>n.setSelection({clipIds:e}),P=()=>n.currentTime.get(),F=()=>n.timelineView.get().pxPerSecond,I=()=>n.timelineView.get().scrollX,se=()=>{let e=A()?.id;return!!e&&O.some(t=>(!t.projectId||t.projectId===e)&&(t.status===`queued`||t.status===`in_progress`))},L=ct(r),R=ft(()=>e.invalidateMain()),ce=null,le=[],ue=new Set,de=[],fe=null;function pe(){let e=A();if(ce!==e){ce=e;let t=j();le=e&&t?st(e,t):[],ue=new Set(le.flatMap(e=>e.transition?[e.transition.id]:[]))}return le}function me(t){t.length===de.length&&t.every((e,t)=>{let n=de[t];return dt(e.target,n.target)&&e.x===n.x&&e.y===n.y&&e.width===n.width&&e.zoom===n.zoom&&e.selected===n.selected&&e.contextMenu===n.contextMenu&&e.transition?.id===n.transition?.id&&e.transition?.preset===n.transition?.preset&&e.transition?.duration===n.transition?.duration&&e.maxDuration===n.maxDuration&&e.fps===n.fps})||(de=t,e.onTransitionsChange?.(t))}function he(e){let t=U(e),n=new Map(t.rows.map(e=>[e.track.id,e]));me(f||w!==`select`?[]:pe().flatMap(r=>{let i=dt(fe,r.target),a=i||dt(L.get(),r.target);if(!r.transition&&!a&&!dt(R.get(),r.target))return[];let o=n.get(r.target.trackId);if(!o)return[];let s=q(r.time,F(),I()),c=o.y+20,d=Math.min(r.left.timeRange.duration,r.right.timeRange.duration),f=d*F(),p=i?4:24;return r.transition&&(p=Math.min(f,Math.max(24,r.transition.duration*F()))),s+p/2<240||s-p/2>l||c+21<t.tracksTop||c-21>u?[]:[{target:r.target,x:s,y:c,width:p,maxWidth:f,zoom:F(),fps:e.fps,selected:a,contextMenu:i,transition:r.transition,maxDuration:d}]}))}function ge(e,t){let n=j();if(!n||w!==`select`||e<240||t<U(n).tracksTop)return null;let r=U(n).rows.find(e=>Math.abs(t-e.y-20)<=14),i=null,a=12;if(r)for(let t of pe()){if(t.target.trackId!==r.track.id)continue;let n=Math.abs(q(t.time,F(),I())-e);n<=a&&(i=t,a=n)}return i}function _e(e,t){R.set(ge(e,t)?.target??null)}function ve(t,n,r){e.showTransitionMenu&&lt(A(),t)&&(N([]),S=null,C=null,L.set(null),fe=t,e.invalidateMain(),e.showTransitionMenu(t,n,r))}function ye(){fe=null,e.invalidateMain()}function be(t){let n=lt(A(),t);n&&(N([t.leftId,t.rightId]),e.onTransitionPrompt?.(n.transition?`edit`:`add`))}function xe(e){lt(A(),e)&&(N([]),S=null,C=null,L.set({...e}),t.commands.execute(`shell.panel.open.fable.panel-assets.panel`).catch(e=>t.log.error(`timeline: open transitions failed`,String(e))))}function Se(e,t){let n=A(),r=lt(n,e);n&&r?.transition&&B(ot(n,e,r.transition.preset,t))}function Ce(){let t=!g?.matches&&(O.some(e=>e.status===`in_progress`)||re.length>0||(p?.ghosts.length??0)>0);t&&k===null?k=setInterval(()=>{(typeof document>`u`||document.visibilityState===`visible`)&&e.invalidateMain()},Io):!t&&k!==null&&(clearInterval(k),k=null)}function we(e,t){let n=new Set(e.map(e=>e.jobId)),r=t.filter(e=>!n.has(e.jobId));r.length!==0&&(te=[...te,...r],z())}function z(){if(te.length===0||l<=240)return;let e=te;te=[];let t=F(),n=Math.max(0,I()/t),r=Math.max(n,(I()+l-240)/t);e.some(e=>No(e.start,e.duration,n,r))&&We(Math.max(j()?.duration??0,...e.map(e=>Math.max(0,e.start)+Math.max(0,e.duration))))}t.require(Fo).then(t=>{if(v)return;let n=t.pending.get();we(O,n),O=n,ne=t.pending.subscribe(t=>{we(O,t),O=t,Ce(),e.invalidateMain()}),ae=t.draft.get(),oe=t.draft.subscribe(t=>{ae=t,e.invalidateMain()}),Ce(),e.invalidateMain()}).catch(()=>void 0);function Te(e,t){for(let n=e.tracks.length-1;n>=0;n--){let r=e.tracks[n];if(!(r.locked||r.mode===`sequential`)&&!r.clips.some(e=>e.kind===`audio`)&&i.canPlace(r,t))return X(n)}return{kind:`gap`,slot:{under:null}}}function Ee(e){let t=[];for(let n of O){let r=Math.max(0,n.start),i={start:r,duration:n.duration};t.push({label:n.label,kind:n.kind,start:r,duration:n.duration,status:n.status,at:Te(e,i)})}if(ae){let n=Math.max(0,P()),r={start:n,duration:ae.duration};t.push({label:ae.label,kind:ae.kind,start:n,duration:ae.duration,at:Te(e,r),status:`queued`,draft:!0})}for(let e of re)t.push({label:e.kind===`video`?`Generation video`:`Generation image`,kind:e.kind,start:Math.max(0,e.target.time),duration:Lo,at:e.target.target,status:`importing`});return t}function De(t){t===`select`&&n.setActiveTool(`move`),w!==t&&(w=t,R.set(null),L.set(null),_=null,e.onToolChange?.(t),D&&(D.style.cursor=`default`),V())}async function B(e){if(!e)return!1;try{return await t.commands.execute(`document.apply`,e),!0}catch(n){return t.log.error(`timeline: ${e.name} failed`,String(n)),!1}}function V(){e.invalidateMain(),e.invalidatePlayhead()}let Oe=new Set,ke=0,Ae=null,H=null;function U(e){let t=se(),n=M(),r=ae?P():null;if(H&&H.expandedVersion===ke&&H.generating===t&&H.scene===e&&H.sel===n&&H.scrollY===d&&H.pendingClips===O&&H.pendingGenerationImports===re&&H.draftClip===ae&&H.draftTime===r)return H.value;let i=new Set(Ee(e).flatMap(e=>e.at.kind===`row`?[e.at.trackIndex]:[])),a=Mr(e,n,d,i,t,Oe);return H={expandedVersion:ke,generating:t,scene:e,sel:n,scrollY:d,pendingClips:O,pendingGenerationImports:re,draftClip:ae,draftTime:r,value:a},a}function Me(e){let t=j();if(!t)return 0;let{contentH:n,tracksTop:r}=U(t);return $(e,0,Math.max(0,n-(u-r)))}function Ne(e,t,n,r,i={}){return{clip:e,start:t,duration:n,trimStart:i.trimStart===void 0?W(e)?e.trim.start:null:i.trimStart,trimEnd:i.trimEnd===void 0?W(e)?e.trim.end:null:i.trimEnd,at:r,ghost:i.ghost??!1,invalid:i.invalid??!1}}function Ie(e,t){let n=t.tracks[e.trackIndex];if(!n)return[];let r=e.clip.timeRange.start+e.clip.timeRange.duration,i=e.preview.start+e.preview.duration-r;if(i===0)return[];let a=[];for(let t of n.clips)t.id===e.clip.id||t.timeRange.start<r-1e-6||a.push(Ne(t,t.timeRange.start+i,t.timeRange.duration,X(e.trackIndex)));return a}function Le(){let e={previews:[],guide:null,marquee:null};if(!f)return e;if(f.kind===`move`&&f.moved){let e=[Ne(f.clip,f.previewStart,f.clip.timeRange.duration,f.target,{ghost:!0,invalid:f.invalid})];if(f.group){let t=f.previewStart-f.clip.timeRange.start;for(let n of f.group)e.push(Ne(n.clip,n.clip.timeRange.start+t,n.clip.timeRange.duration,X(n.trackIndex),{ghost:!0,invalid:f.invalid}))}return{previews:e,guide:f.snapGuide,marquee:null}}if(f.kind===`trim`){let e=[Ne(f.clip,f.preview.start,f.preview.duration,X(f.trackIndex),{trimStart:f.preview.trimStart,trimEnd:f.preview.trimEnd})];if(f.ripple&&f.changed){let t=j();t&&e.push(...Ie(f,t))}return{previews:e,guide:f.snapGuide,marquee:null}}if(f.kind===`roll`&&f.changed){let e=f.previewT,t=e-f.right.timeRange.start,n=W(f.left)?f.left.trim:null,r=W(f.right)?f.right.trim:null,i=ln(f.left),a=ln(f.right);return{previews:[Ne(f.left,f.left.timeRange.start,e-f.left.timeRange.start,X(f.trackIndex),{trimEnd:n?n.end+i*t:null}),Ne(f.right,e,f.right.timeRange.start+f.right.timeRange.duration-e,X(f.trackIndex),{trimStart:r?r.start+a*t:null})],guide:e,marquee:null}}if(f.kind===`slip`&&f.moved){let e=W(f.clip)?f.clip.trim:null;return{previews:[Ne(f.clip,f.clip.timeRange.start,f.clip.timeRange.duration,X(f.trackIndex),{trimStart:e?e.start+f.offset:null,trimEnd:e?e.end+f.offset:null})],guide:null,marquee:null}}if(f.kind===`slide`&&f.moved){let e=j()?.tracks[f.trackIndex],t=[Ne(f.clip,f.clip.timeRange.start+f.delta,f.clip.timeRange.duration,X(f.trackIndex))];if(e){let{left:n,right:r}=on(e,f.clip);if(n){let e=W(n)?n.trim:null,r=ln(n);t.push(Ne(n,n.timeRange.start,n.timeRange.duration+f.delta,X(f.trackIndex),{trimEnd:e?e.end+r*f.delta:null}))}if(r){let e=W(r)?r.trim:null,n=ln(r);t.push(Ne(r,r.timeRange.start+f.delta,r.timeRange.duration-f.delta,X(f.trackIndex),{trimStart:e?e.start+n*f.delta:null}))}}return{previews:t,guide:null,marquee:null}}return f.kind===`marquee`&&f.moved?{previews:[],guide:null,marquee:{x:Math.min(f.x0,f.x1),y:Math.min(f.y0,f.y1),w:Math.abs(f.x1-f.x0),h:Math.abs(f.y1-f.y0)}}:e}let Re=[];function ze(t,i){if(v)return;l=i.width,u=i.height,z(),t.setTransform(i.dpr,0,0,i.dpr,0,0);let s=c(t),h=A(),y=j(),w=!!y&&se();if(w!==ee&&(ee=w,e.onGeneratingChange?.(w)),!h||!y){Re.length=0,me([]),t.fillStyle=s.panel,t.fillRect(0,0,l,u);return}d=Me(d);let T=U(y);T!==Ae&&(Ae=T,e.onLayoutChange?.(T)),he(y);let{previews:E,guide:D,marquee:O}=Le();Fa(t,{effectBadges:Re,width:l,height:u,palette:s,doc:h,scene:y,layout:U(y),zoom:F(),scroll:I(),time:null,selection:M(),junctionTransitionIds:ue,gapSelection:C,previews:E,marquee:O,snapGuide:D,keyframeSel:S?{propertyTrackId:S.propertyTrackId,keyframeId:S.keyframeId}:null,keyframeDrag:f?.kind===`keyframe`&&f.moved?{propertyTrackId:f.propertyTrack.id,keyframeId:f.keyframe.id,time:f.previewTime}:null,workArea:n.workArea.get(),markerDrag:f?.kind===`marker`&&f.moved?{markerId:f.marker.id,time:f.previewTime}:null,fadeDrag:f?.kind===`fade`?{clipId:f.clip.id,direction:f.direction,duration:f.duration}:null,dropHint:p,editDropClipId:m,applyingClipIds:Ue(r).get().filter(e=>e.documentId===h.id).flatMap(e=>e.clipIds),highlight:Pe(r).get(),hoveredClipId:b,hoveredFade:x,bladeHint:_,pending:Ee(y),pendingPhase:g?.matches?0:performance.now(),strips:e=>a.peek(e),peaks:e=>o.peek(e)});let te=Pe(r).get();te?.documentId===h.id&&performance.now()-te.startedAt<1400&&e.invalidateMain()}function Be(e,t){v||(l=t.width,u=t.height,e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,Math.round(l*t.dpr),Math.round(u*t.dpr)),j()&&(e.setTransform(t.dpr,0,0,t.dpr,0,0),Ao(e,P(),{zoom:F(),scroll:I(),width:l,height:u},c(e))))}function Ve(){let e=Math.max(0,J(240,F(),I()));n.setTimelineView({pxPerSecond:Ro,scrollX:e*Ro})}function We(e){let t=Math.max(l-240-24,40),r=e>0?e:10;n.setTimelineView({pxPerSecond:$(t/r,4,800),scrollX:0})}function Ge(){let e=j();e&&We(e.duration)}function Ke(e){let t=F(),r=$(t*e,4,800);if(r===t)return;let i=Math.max((240+l)/2,240),a=J(i,t,I());n.setTimelineView({pxPerSecond:r,scrollX:a*r-(i-240)})}function Ye(){let e=j();if(!e)return;let t=new Set(M()),r=1/0,i=-1/0;for(let n of e.tracks)for(let e of n.clips)t.has(e.id)&&(r=Math.min(r,e.timeRange.start),i=Math.max(i,e.timeRange.start+e.timeRange.duration));if(!Number.isFinite(r)||!Number.isFinite(i)){Ge();return}let a=Math.max(i-r,.05),o=$(Math.max(l-240-32,40)/a,4,800);n.setTimelineView({pxPerSecond:o,scrollX:Math.max(0,r*o-16)})}function Xe(e){let t=A();if(!t)return;let n=tn(t,P(),M(),e);n&&(B(n.envelope),n.rightIds.length>0&&N(n.rightIds))}function et(e=M()){let t=A();if(!t)return;let r=va(t,e);r.length&&n.setClipboard(r)}async function tt(e=M()){let t=A();if(!t)return;let r=e.filter(e=>{let n=_n(t,e);return n&&!n.clip.locked&&!n.track.locked}),i=va(t,r);if(!i.length)return;let a=Zt(t,r);await B(a?{...a,name:`Cut clips`}:null)&&(n.setClipboard(i),N(M().filter(e=>!r.includes(e))))}async function nt(){let e=A();if(!e)return;let t=ya(e,n.clipboard.get(),P(),i);t&&await B(t.envelope)&&N(t.clipIds)}async function rt(e=M()){let t=A();if(!t)return;let n=va(t,e).filter(e=>{let n=_n(t,e.clip.id);return n&&!n.clip.locked&&!n.track.locked}),r=ya(t,n,Math.max(...n.map(e=>e.clip.timeRange.start+e.clip.timeRange.duration)),i,`Duplicate clips`);r&&await B(r.envelope)&&N(r.clipIds)}async function it(e=M()){let t=A();if(!t)return;let n=_a(t,e);n&&await B(n.envelope)&&N(n.clipIds)}function ut(){T=!T,e.onSnappingChange?.(T),V()}function pt(e,t,n){return T?Ur(e,t,F(),P(),n):{time:Wr(e,t),guide:null}}function mt(){let e=j();e&&N(e.tracks.flatMap(e=>e.clips.map(e=>e.id)))}function ht(){let e=A();if(!e)return;let t=qt(e,M());t&&(B(t.envelope),N([t.clipId]))}function vt(e){let t=A();t&&B(Zt(t,e)).then(e=>{e&&N(M().filter(e=>_n(A()??t,e)))})}function xt(){let e=A();e&&B(rn(e))}function St(e){let t=A();if(!t)return;B(an(t,e.id));let n=new Set(e.clips.map(e=>e.id)),r=M().filter(e=>!n.has(e));r.length!==M().length&&N(r)}function vn(e){let t=A();t&&(C=null,B(Xt(t,e.trackId,e)),V())}function yn(e){let t=A();if(t){if(e===void 0&&C&&M().length===0){vn(C);return}B(Et(t,e??M())).then(e=>{e&&N(M().filter(e=>_n(A()??t,e)))})}}function xn(){let e=A();if(!e)return;let t=Yt(e,P());t&&B(t.envelope)}function Sn(e,t,n){let r=A(),i=r?e=>Ft(r,e):void 0;return Br(e,t,U(n),F(),I(),P(),n.markers,i)}function Cn(e,t){if(t.type!==`track-empty`||t.gap===null)return null;let n=e.tracks[t.trackIndex];return!n||n.locked?null:{trackId:n.id,trackIndex:t.trackIndex,start:t.gap.start,end:t.gap.end}}function G(e){n.seek(Math.max(0,J(e,F(),I())))}function K(e){let t=j(),n=t&&t.fps>0?t.fps:30;return $(Math.round(e*n)/n,0,t?.duration??0)}function wn(e,t){let r=j();if(!r)return;let i=r.fps>0?r.fps:30,a=Math.round((t-e.startX)/F()*i)/i,{start:o,end:s}=e.origin;if(e.mode===`new`){let r=K(J(t,F(),I()));n.setWorkArea({start:e.anchor,end:r}),n.seek(r)}else if(e.mode===`move`){let e=$(o+a,0,Math.max(0,r.duration-(s-o)));n.setWorkArea({start:e,end:e+(s-o)})}else if(e.mode===`in`){let e=$(o+a,0,s-1/i);n.setWorkArea({start:e,end:s}),n.seek(e)}else{let e=$(s+a,o+1/i,r.duration);n.setWorkArea({start:o,end:e}),n.seek(e)}V()}function Tn(e,t){let n=A(),r=j();if(!n||!r||e.clip.locked||e.track.locked)return;_=null;let i=Wr(J(t,F(),I()),r),a=tn(n,i,[],[e.clip.id]);a&&(B(a.envelope),a.rightIds.length>0&&N(a.rightIds))}function En(t,n){let r=null;if(t?.type===`clip`&&!t.clip.locked&&!t.track.locked){let e=j();if(e){let i=Wr(J(n,F(),I()),e),{start:a,duration:o}=t.clip.timeRange;i>a+1e-6&&i<a+o-1e-6&&(r={time:i,trackIndex:t.trackIndex})}}(_?.time!==r?.time||_?.trackIndex!==r?.trackIndex)&&(_=r,e.invalidateMain())}function Dn(e,t){let{clip:n,track:r,trackIndex:i}=t;if(n.locked||r.locked)return;let a=A(),o=j();if(!a||!o)return;M().includes(n.id)||N([n.id]);let s=o.fps>0?o.fps:30,{left:c,right:l}=on(r,n);if(t.edge){let e=t.edge===`start`&&c&&!c.locked?{left:c,right:n}:t.edge===`end`&&l&&!l.locked?{left:n,right:l}:null;if(e){let{lo:t,hi:n}=Ut(a,e.left,e.right,s);f={kind:`roll`,left:e.left,right:e.right,trackIndex:i,lo:t,hi:n,previewT:e.right.timeRange.start,changed:!1};return}f={kind:`trim`,clip:n,trackIndex:i,edge:t.edge,assetDuration:en(a,n),preview:{start:n.timeRange.start,duration:n.timeRange.duration,trimStart:W(n)?n.trim.start:null,trimEnd:W(n)?n.trim.end:null},snapGuide:null,changed:!1,ripple:!0};return}if(e.altKey){let{lo:t,hi:o}=At(a,r,n,s);f={kind:`slide`,clip:n,trackIndex:i,lo:t,hi:o,startX:e.offsetX,delta:0,moved:!1};return}if(W(n)){let{lo:t,hi:r}=Pt(a,n);f={kind:`slip`,clip:n,trackIndex:i,lo:t,hi:r,startX:e.offsetX,offset:0,moved:!1}}}function On(e,t){let{clip:n,track:r,trackIndex:i}=t;if(n.locked||r.locked)return;let a=M().includes(n.id);if(e.shiftKey){N(a?M().filter(e=>e!==n.id):[...M(),n.id]);return}a||N([n.id]);let o=A(),s=e.offsetX;if(t.edge)f={kind:`trim`,clip:n,trackIndex:i,edge:t.edge,assetDuration:o?en(o,n):null,preview:{start:n.timeRange.start,duration:n.timeRange.duration,trimStart:W(n)?n.trim.start:null,trimEnd:W(n)?n.trim.end:null},snapGuide:null,changed:!1,ripple:!1};else{let e=j(),t=null;if(a&&e&&M().length>1){let r=new Set(M());t=[];for(let i=0;i<e.tracks.length;i++){let a=e.tracks[i];for(let e of a.clips)r.has(e.id)&&e.id!==n.id&&(e.locked||a.locked||t.push({clip:e,trackIndex:i}))}t.length===0&&(t=null)}f={kind:`move`,clip:n,sourceTrackIndex:i,grabOffset:J(s,F(),I())-n.timeRange.start,startX:s,wasSelected:a,moved:!1,previewStart:n.timeRange.start,target:X(i),snapGuide:null,invalid:!1,group:t}}}function kn(e,t,n,r){let i=pt(t,e,r),a=pt(t+n,e,r);return i.guide!==null&&(a.guide===null||Math.abs(i.time-t)<=Math.abs(a.time-(t+n)))?{start:i.time,guide:i.guide}:a.guide===null?{start:i.time,guide:null}:{start:a.time-n,guide:a.guide}}function An(e,t,n){let r=j();if(!r)return;let a=e.clip.timeRange.duration,o=J(n,F(),I())-e.grabOffset,s=new Set([e.clip.id,...t.map(e=>e.clip.id)]),{start:c,guide:l}=kn(r,o,a,s),u=Math.min(e.clip.timeRange.start,...t.map(e=>e.clip.timeRange.start)),d=Math.max(c-e.clip.timeRange.start,-u);c=e.clip.timeRange.start+d;let f=!1,p=[{clip:e.clip,trackIndex:e.sourceTrackIndex},...t];for(let e of p){let t=r.tracks[e.trackIndex];if(!t)continue;let n={start:e.clip.timeRange.start+d,duration:e.clip.timeRange.duration};if(!i.canPlace(t,n,[...s])){f=!0;break}}!e.moved&&Math.abs(n-e.startX)>3&&(e.moved=!0),e.previewStart=c,e.target=X(e.sourceTrackIndex),e.snapGuide=l,e.invalid=f,V()}function jn(e,t,n){if(e.group){An(e,e.group,t);return}let r=j();if(!r)return;let a=e.clip.timeRange.duration,{start:o,guide:s}=kn(r,J(t,F(),I())-e.grabOffset,a,e.clip.id);o=Math.max(0,o);let c=Nr(U(r),n,r.tracks[e.sourceTrackIndex]??null);c.kind===`row`&&r.tracks[c.trackIndex]?.locked&&(c=e.target);let l=!1,u=c.kind===`row`?r.tracks[c.trackIndex]:void 0;if(u&&(Tt(u,e.clip)||(l=!0),!i.canPlace(u,{start:o,duration:a},[e.clip.id]))){if(u===r.tracks[e.sourceTrackIndex]){let t=kt(u,e.clip.id,o,a);t!==o&&(s=t>o?t:t+a,o=t)}else l=!0}!e.moved&&(Math.abs(t-e.startX)>3||!kr(c,X(e.sourceTrackIndex)))&&(e.moved=!0),e.previewStart=o,e.target=c,e.snapGuide=s,e.invalid=l,V()}function Mn(e,t){let n=j();if(!n)return;let r=Wr(J(t,F(),I()),n),i=1/(n.fps>0?n.fps:30),{start:a,duration:o}=e.clip.timeRange,s=W(e.clip)?e.clip.trim:null,c=ln(e.clip);if(e.edge===`start`){let t=s?-s.start/c:-a,n=$(r-a,t,o-i);e.preview={start:a,duration:o-n,trimStart:s?s.start+c*n:null,trimEnd:s?s.end:null}}else{let t=a+i,n=1/0;s&&e.assetDuration!==null&&(n=a+(e.assetDuration-s.start)/c);let o=$(r,t,n);e.preview={start:a,duration:o-a,trimStart:s?s.start:null,trimEnd:s?s.start+c*(o-a):null}}e.snapGuide=null,e.changed=e.preview.duration!==o||e.preview.trimStart!==(s?s.start:null),V()}function Nn(e,t){if(e.ripple){Mn(e,t);return}let n=j();if(!n)return;let r=pt(J(t,F(),I()),n,e.clip.id),i=1/(n.fps>0?n.fps:30),{start:a,duration:o}=e.clip.timeRange,s=W(e.clip)?e.clip.trim:null,c=ln(e.clip),l=n.tracks[e.trackIndex],u=l?jt(l,e.clip):{prevEnd:0,nextStart:1/0};if(e.edge===`start`){let t=Math.max(u.prevEnd,s?a-s.start/c:0),n=a+o-i,l=$(r.time,t,n);e.preview={start:l,duration:a+o-l,trimStart:s?s.start+c*(l-a):null,trimEnd:s?s.end:null},e.snapGuide=r.guide!==null&&r.guide===l?r.guide:null}else{let t=a+i,n=u.nextStart;if(s){let t=e.assetDuration===null?Math.max(a+(s.end-s.start)/c,a+o):a+(e.assetDuration-s.start)/c;n=Math.min(n,t)}let l=$(r.time,t,n);e.preview={start:a,duration:l-a,trimStart:s?s.start:null,trimEnd:s?s.start+c*(l-a):null},e.snapGuide=r.guide!==null&&r.guide===l?r.guide:null}e.changed=e.preview.start!==a||e.preview.duration!==o,V()}function Pn(e,t){let n=j();if(!n)return;let r=$(Wr(J(t,F(),I()),n),e.lo,e.hi);e.previewT=r,e.changed=r!==e.right.timeRange.start,V()}function Fn(e,t){let n=j();if(!n)return;let r=ln(e.clip);e.offset=$(Wr((e.startX-t)/F()*r,n),e.lo,e.hi),!e.moved&&Math.abs(t-e.startX)>2&&(e.moved=!0),V()}function In(e,t){let n=j();n&&(e.delta=$(Wr((t-e.startX)/F(),n),e.lo,e.hi),!e.moved&&Math.abs(t-e.startX)>2&&(e.moved=!0),V())}function Ln(e,t,n){if(e.x1=t,e.y1=n,!e.moved&&(Math.abs(e.x1-e.x0)>3||Math.abs(e.y1-e.y0)>3)&&(e.moved=!0),!e.moved)return;let r=j();if(!r)return;let i={x:Math.min(e.x0,e.x1),y:Math.min(e.y0,e.y1),w:Math.abs(e.x1-e.x0),h:Math.abs(e.y1-e.y0)},a=Gr(U(r),i,F(),I()),o=e.additive?[...new Set([...e.base,...a])]:a,s=M();(o.length!==s.length||o.some((e,t)=>e!==s[t]))&&N(o),V()}function Rn(e,t){let n=j();if(!n)return;let r=pt(J(t,F(),I()),n,null);!e.moved&&Math.abs(t-e.startX)>2&&(e.moved=!0),e.previewTime=$(r.time,0,n.duration),V()}function zn(e,t){let n=j();if(!n)return;let{start:r,duration:i}=e.clip.timeRange,a=J(t,F(),I()),o=e.direction===`in`?a-r:r+i-a,s=Er(e.clip),c=e.direction===`in`?s.fadeOut:s.fadeIn;e.duration=$(Wr(o,n),0,Math.max(0,i-c)),!e.moved&&Math.abs(t-e.startX)>2&&(e.moved=!0),V()}function Bn(e,t){let n=j();if(!n)return;let r=e.clip.timeRange.duration,i=J(t,F(),I())-e.clip.timeRange.start,a=n.fps>0?n.fps:30,o=$(Math.round($(i,0,r)*a)/a,0,r);!e.moved&&Math.abs(t-e.startX)>2&&(e.moved=!0),e.previewTime=o,V()}function Vn(){let e=f;if(f=null,!e)return;e.kind===`scrub`&&e.resume&&n.play();let t=A();if(e.kind===`move`){if(e.moved&&t&&!e.invalid){if(e.group){let n=e.previewStart-e.clip.timeRange.start,r=[e.clip.id,...e.group.map(e=>e.clip.id)];B(pn(t,r,n))}else if(e.target.kind===`gap`)B(Jt(t,e.clip.id,e.previewStart,e.target.slot));else{let n=j()?.tracks[e.target.trackIndex],r=_n(t,e.clip.id);if(r&&!r.clip.locked&&!r.track.locked&&n&&!n.locked&&Tt(n,r.clip)){let a={start:e.previewStart,duration:r.clip.timeRange.duration};i.canPlace(n,a,[e.clip.id])&&B(Qt(t,e.clip.id,e.previewStart,n.id))}}}else!e.moved&&e.wasSelected&&M().length>1&&N([e.clip.id])}else e.kind===`trim`&&e.changed&&t?B(e.ripple?mn(t,e.clip.id,e.preview):zt(t,e.clip.id,e.preview)):e.kind===`roll`&&e.changed&&t?B(Ht(t,e.left.id,e.right.id,e.previewT)):e.kind===`slip`&&e.moved&&t?B(wt(t,e.clip.id,e.offset)):e.kind===`slide`&&e.moved&&t?B(nn(t,e.clip.id,e.delta)):e.kind===`marquee`?e.moved||(e.additive||n.clearSelection(),C=e.gap):e.kind===`keyframe`&&e.moved&&t?(B(Kt(t,e.clip.id,e.propertyTrack.id,e.keyframe.id,e.previewTime)),n.seek(e.clip.timeRange.start+e.previewTime)):e.kind===`marker`&&t?e.moved?B(gn(t,e.marker.id,e.previewTime)):n.seek(e.marker.time):e.kind===`fade`&&e.moved&&t&&B(Dt(t,e.clip.id,e.direction,e.duration));V()}function Hn(e){return e.type===`header-icon`?e.icon===`mute`?e.track.muted?`Unmute track`:`Mute track`:e.track.hidden?`Show track`:`Hide track`:``}let Un=``;function Wn(e,t){t!==Un&&(Un=t,e.title=t)}function Gn(e){switch(e.type){case`ruler`:case`playhead`:case`marker`:return`ew-resize`;case`header-icon`:return`pointer`;case`keyframe`:return`ew-resize`;case`fade`:return e.clip.locked||e.track.locked?`not-allowed`:`ew-resize`;case`clip`:return e.clip.locked||e.track.locked?`not-allowed`:w===`blade`?Vo:w===`trim`?e.edge?`col-resize`:`ew-resize`:e.edge?`ew-resize`:`grab`;default:return`default`}}function Kn(e,t){S={clipId:t.clip.id,propertyTrackId:t.propertyTrack.id,keyframeId:t.keyframe.id},n.seek(t.clip.timeRange.start+t.keyframe.time),!t.clip.locked&&!t.track.locked&&(f={kind:`keyframe`,clip:t.clip,propertyTrack:t.propertyTrack,keyframe:t.keyframe,previewTime:t.keyframe.time,startX:e.offsetX,moved:!1}),V()}function qn(e){if(e.button!==0)return;R.set(null),L.set(null);let t=j();if(!t)return;let r=e.target;D=r,r.setPointerCapture(e.pointerId);let i=e.offsetX,a=e.offsetY,o=Sn(i,a,t);switch(o.type!==`keyframe`&&S&&(S=null,V()),C&&(C=null,V()),o.type){case`ruler`:case`playhead`:{let t=n.workArea.get(),r=t?wr(i,a,t,F(),I()):null;if(e.shiftKey||r){n.playing.get()&&n.pause();let e=K(J(i,F(),I()));f={kind:`workarea`,mode:r??`new`,anchor:e,origin:t??{start:e,end:e},startX:i};break}let o=n.playing.get();o&&n.pause(),f={kind:`scrub`,resume:o},G(i);break}case`marker`:f={kind:`marker`,marker:o.marker,previewTime:o.marker.time,startX:i,moved:!1};break;case`header-icon`:{let e=A();if(e){let t=o.icon===`mute`?`muted`:`hidden`;B(Lt(e,o.track.id,t));let n=j(),s=n?Sn(i,a,n):null;Wn(r,s?Hn(s):``)}break}case`fade`:{if(o.clip.locked||o.track.locked)break;M().includes(o.clip.id)||N([o.clip.id]);let e=Er(o.clip);f={kind:`fade`,clip:o.clip,direction:o.direction,duration:o.direction===`in`?e.fadeIn:e.fadeOut,startX:i,moved:!1};break}case`clip`:w===`blade`?Tn(o,i):w===`trim`?Dn(e,o):On(e,o);break;case`keyframe`:Kn(e,o);break;case`nested`:o.clip&&(o.ownerId?n.setSelection({enteredGroupId:o.ownerId,clipIds:[o.clip.id]}):N([o.clip.id]));break;case`header`:case`lane`:break;default:w===`select`?f={kind:`marquee`,x0:i,y0:a,x1:i,y1:a,base:M(),additive:e.shiftKey,moved:!1,gap:e.shiftKey?null:Cn(t,o)}:e.shiftKey||n.clearSelection()}}function Jn(t){let n=t?.type===`clip`||t?.type===`fade`?t.clip.id:null,r=t?.type===`fade`?{clipId:t.clip.id,direction:t.direction}:null;(n!==b||r?.direction!==x?.direction)&&(b=n,x=r,e.invalidateMain())}function Yn(t){let n=t.target;D=n;let r=t.offsetX,i=t.offsetY;if(f){R.set(null),Jn(null),Wn(n,``),_&&(_=null,e.invalidateMain()),f.kind===`scrub`?G(r):f.kind===`workarea`?wn(f,r):f.kind===`move`?(jn(f,r,i),n.style.cursor=f.invalid?`not-allowed`:`grabbing`):f.kind===`keyframe`?Bn(f,r):f.kind===`fade`?zn(f,r):f.kind===`marker`?Rn(f,r):f.kind===`roll`?Pn(f,r):f.kind===`slip`?Fn(f,r):f.kind===`slide`?In(f,r):f.kind===`marquee`?Ln(f,r,i):Nn(f,r);return}let a=j(),o=a?Sn(r,i,a):null;_e(r,i),Jn(o),w===`blade`&&En(o,r),n.style.cursor=o?Gn(o):`default`,Wn(n,o?Hn(o):``)}function Xn(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),t.style.cursor=`default`,Vn()}function Zn(e){let r=j();if(!r)return;let i=n.workArea.get();if(i&&wr(e.offsetX,e.offsetY,i,F(),I())!==null){n.setWorkArea(null);return}let a=Sn(e.offsetX,e.offsetY,r);if(a.type!==`clip`)return;let o=a.clip;if(o.kind!==`scene`)return;let s=A();if(!s)return;let c=Ot(s,o.sceneId);if(!c)return;B(c);let l=s.scenes.find(e=>e.id===o.sceneId);n.setSelection({clipIds:[],enteredGroupId:null}),l&&n.seek(Math.min(P(),l.duration)),t.commands.execute(`fable.panel-viewport.zoomToFit`).catch(()=>void 0)}function Qn(){f?.kind===`scrub`&&f.resume&&n.play(),f=null,D&&(D.style.cursor=`default`),V()}function $n(e,t=e.offsetX){if(e.preventDefault(),R.set(null),Jn(null),e.ctrlKey||e.metaKey){let r=F(),i=$(r*Math.exp(-e.deltaY*.0022),4,800);if(i===r)return;let a=Math.max(t,240),o=J(a,r,I());n.setTimelineView({pxPerSecond:i,scrollX:o*i-(a-240)})}else e.shiftKey?n.setTimelineView({scrollX:Math.max(0,I()+e.deltaX+e.deltaY)}):(e.deltaX!==0&&n.setTimelineView({scrollX:I()+e.deltaX}),e.deltaY!==0&&(d=Me(d+e.deltaY),V()))}function er(e){let t=e.dataTransfer?.types;return!!t&&(t.includes(jo)||t.includes(Mo)||t.includes(`application/x-fable-generation`)||t.includes(`Files`))}function tr(e){if(!h)return[];let t=A();return t?h.assetIds?.length?Bt(t,h.assetIds,e):h.sceneIds?.length?Wt(t,h.sceneIds,e):[]:[]}function nr(e,{target:t}){return t.kind===`gap`?{kind:`new-track`,slot:t.slot}:{kind:`track`,trackId:Gt(e,t.trackIndex)}}function rr(e,t){let n=pt(J(e.offsetX,F(),I()),t,null),r=Math.max(0,n.time);return{time:r,target:Nr(U(t),e.offsetY,null),ghosts:tr(r)}}function ir(e,t){let n=A(),r=j();if(!n||!r||e.target?.nodeName!==`CANVAS`)return null;let i=Br(e.offsetX,e.offsetY,U(r),F(),I(),P());return i.type===`clip`?Je(n,[i.clip.id],t)[0]??null:null}function ar(t){if(t.dataTransfer?.types.includes(`application/x-fable-edit-item`)){let n=qe(r),i=n?ir(t,n):null;t.preventDefault(),t.dataTransfer.dropEffect=i?`copy`:`none`,i!==m&&(m=i,e.invalidateMain());return}if(!er(t))return;let n=j();if(!n)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`copy`);let i=rr(t,n);p&&p.time===i.time&&kr(p.target,i.target)||(p=i,Ce(),e.invalidateMain())}function or(){(p||m)&&(m=null,p=null,Ce(),e.invalidateMain())}let sr=typeof document>`u`?null:document;sr?.addEventListener(`dragend`,or),g?.addEventListener(`change`,Ce);async function cr(e,n){let r=A();if(!r)return;let a=await t.require(Po),o=[],s=[];for(let c of e){let e;try{e=await a.importFile(c)}catch(e){_t(t,c.name,e);continue}if(v)return;let l=A(),u=j();if(!l||!u||l.id!==r.id||u.id!==r.activeSceneId)return;let d=$t(l,e,n.time,nr(u,n),i);if(d){try{await t.commands.execute(`document.apply`,d.envelope)}catch(e){t.log.error(`timeline: ${d.envelope.name} failed`,String(e));continue}o.push(d.clipId),s.push(e)}}let c=A();o.length>0&&!v&&c?.id===r.id&&c.activeSceneId===r.activeSceneId&&(N(o),await Fe(t,r,s))}async function lr(n,r){let i=++ie;re=[...re,{id:i,kind:n.kind,target:r}],Ce(),e.invalidateMain();try{let{gateway:t}=e,i=await t.getJob(n.jobId);if(i.kind!==n.kind)throw Error(`result is not ${n.kind} media`);let a=await t.fetchResultFile(i);v||await cr([a],r)}catch(e){t.log.warn(`timeline: generation import failed for "${n.jobId}": ${e instanceof Error?e.message:String(e)}`)}finally{re=re.filter(e=>e.id!==i),Ce(),e.invalidateMain()}}function ur(a){if(m=null,a.dataTransfer?.types.includes(`application/x-fable-edit-item`)){a.preventDefault(),e.invalidateMain();let i=Ze(r,a.dataTransfer.getData($e)),o=i?ir(a,i):null;i&&o&&(e.onEditDropError?.(null),Qe(t,r,n,i,[o]).catch(n=>{t.log.error(`timeline: apply edit item failed`,String(n)),e.onEditDropError?.(`Could not apply this item. Drag it onto the clip to try again.`)}));return}p=null,Ce(),e.invalidateMain();let o=(a.dataTransfer?.getData(jo)??``).split(`
3
- `).filter(e=>e.length>0),s=(a.dataTransfer?.getData(Mo)??``).split(`
4
- `).filter(e=>e.length>0),c=bn(a.dataTransfer?.getData(`application/x-fable-generation`)??``),l=o.length===0&&s.length===0&&c===null&&a.dataTransfer?Array.from(a.dataTransfer.files):[];if(o.length===0&&s.length===0&&c===null&&l.length===0)return;let u=A(),d=j();if(!u||!d)return;a.preventDefault();let f=rr(a,d);if(s.length>0){let e=dn(u,s,f.time,nr(d,f),i);if(!e)return;B(e.envelope),N([...e.clipIds]);return}if(c){lr(c,f);return}if(o.length===0){cr(l,f);return}let h=sn(u,o,f.time,nr(d,f),i);h&&B(h.envelope).then(e=>{let n=A();if(e&&!v&&n?.id===u.id&&n.activeSceneId===u.activeSceneId)return N([...h.clipIds]),Fe(t,u,u.assets.filter(e=>o.includes(e.id)))})}async function dr(e,n){try{return(await t.menus.items(e,n)).map(e=>({label:e.title,onSelect:()=>{t.commands.execute(e.command).catch(n=>t.log.error(`menu "${e.id}" failed`,String(n)))}}))}catch(n){return t.log.error(`menu items for "${e}" failed`,String(n)),[]}}function fr(t){t.preventDefault();let r=j();if(!r)return;let i=t.clientX,a=t.clientY,o=t.offsetX,s=t.offsetY,c=Re.find(e=>o>=e.x&&o<=e.x+e.width&&s>=e.y&&s<=e.y+e.height);if(c&&e.showEffectMenu&&He(A(),c)){e.showEffectMenu(c,i,a);return}let l=ge(o,s);if(l&&e.showTransitionMenu){let e=U(r).rows.find(e=>e.track.id===l.target.trackId);e&&ve(l.target,i-o+q(l.time,F(),I()),a-s+e.y+20);return}let u=P(),d=Sn(o,s,r),f=t=>e.showMenu(i,a,t);if(d.type===`clip`){let{clip:t}=d,o=t.locked||d.track.locked,s=M(),c=s.includes(t.id)?s:[t.id];!o&&!s.includes(t.id)&&N(c);let l=yt({scenes:[r]},t.id),p=bt(A(),t.id),m=[...e.showEffectMenu&&t.effects.length>0&&!o?[{label:`Effects…`,onSelect:()=>{let n=A();n&&e.showEffectMenu?.({documentId:n.id,clipId:t.id},i,a)}}]:[],...c.length>1?[{label:`Add Auto Layout`,onSelect:()=>e.showAutoLayoutEditor(i,a,{selectionIds:c})}]:[],...gt(`auto-layout`)&&p?.canOwnLayout?[{label:p.layout?`Edit Auto Layout…`:`Add Auto Layout`,disabled:p.locked,onSelect:()=>e.showAutoLayoutEditor(i,a,{clipId:t.id,enableOnOpen:p.layout===null})}]:gt(`auto-layout`)&&p?.canEditSizing?[{label:`Edit layout sizing…`,disabled:p.locked,onSelect:()=>e.showAutoLayoutEditor(i,a,{clipId:t.id})}]:[]],h=[{label:`Cut`,disabled:o,onSelect:()=>void tt(c)},{label:`Copy`,onSelect:()=>et(c)},{label:`Paste at playhead`,disabled:n.clipboard.get().length===0,onSelect:()=>void nt()},{label:`Duplicate`,disabled:o,onSelect:()=>void rt(c)},{label:`Detach audio`,disabled:!A()||!c.some(e=>ga(A(),e)),onSelect:()=>void it(c)},...W(t)&&A()&&Mt(A(),t)?[{label:t.muted?`Unmute clips`:`Mute clips`,disabled:o,onSelect:()=>{let e=A();e&&B(xa(e,c))}},{label:`Ripple following clips: ${E?`On`:`Off`}`,onSelect:()=>{E=!E}},...[.25,.5,1,2,4].map(e=>({label:`Speed ${e}×${t.speed===e?` ✓`:``}`,disabled:o||!ba(A(),c,e,E),onSelect:()=>{let t=A();t&&B(ba(t,c,e,E))}}))]:[],...m,...l?[{label:`Edit component props…`,disabled:l.locked,onSelect:()=>{N([l.clip.id]),e.showComponentEditor(i,a,l.clip.id)}}]:[],{label:`Split at playhead`,disabled:Nt(r,u,M(),c).size===0,onSelect:()=>Xe(c)},{label:t.hidden?`Show clip`:`Hide clip`,disabled:o,onSelect:()=>{let e=A();e&&B(It(e,t.id))}},{label:`Delete`,disabled:o,onSelect:()=>vt(c)},{label:`Ripple delete`,disabled:o,onSelect:()=>yn(c)}];dr(`timeline/clip`,{clipId:t.id,clipKind:t.kind,clipLocked:o,clipHidden:t.hidden,trackId:d.track.id,selectionCount:M().length}).then(e=>f([...h,...e]))}else if(d.type===`header`||d.type===`header-icon`)pr(d.track,f);else if(d.type===`marker`){let{marker:e}=d;f([{label:`Go to marker`,onSelect:()=>n.seek(e.time)},{label:`Remove marker`,onSelect:()=>{let t=A();t&&B(hn(t,e.id))}}])}else{let e=d.type===`track-empty`?r.tracks[d.trackIndex]??null:null,t=Cn(r,d);t&&(n.clearSelection(),C=t,V());let i=[{label:`Paste at playhead`,disabled:n.clipboard.get().length===0,onSelect:()=>void nt()},{label:`Select all`,onSelect:mt},{label:`Zoom timeline to fit`,onSelect:Ge},{label:T?`Disable snapping`:`Enable snapping`,onSelect:ut},{label:`Selection mode (V)`,onSelect:()=>De(`select`)},{label:`Trim mode (N)`,onSelect:()=>De(`trim`)},{label:`Blade mode (B)`,onSelect:()=>De(`blade`)},...t?[{label:`Ripple delete`,onSelect:()=>vn(t)}]:[],{label:`Split at playhead`,disabled:Nt(r,u,M()).size===0,onSelect:()=>Xe()},...gt(`markers`)?[{label:`Add marker`,onSelect:xn}]:[],...gt(`adjustment-layer`)?[{label:`Add adjustment layer`,onSelect:ht}]:[],{label:`Add track`,onSelect:xt},...e?[{label:`Delete track`,disabled:e.locked,onSelect:()=>St(e)}]:[]];dr(`timeline/canvas`,{time:u,selectionCount:M().length}).then(e=>f([...i,...e]))}}function pr(e,t){let n=(t,n)=>({label:t,onSelect:()=>{let t=A();t&&B(Lt(t,e.id,n))}}),r=gt(`track-lock-solo`),i=[...r?[{label:`Add track`,onSelect:xt}]:[],{label:`Delete track`,disabled:e.locked,onSelect:()=>St(e)},n(e.hidden?`Show track`:`Hide track`,`hidden`),n(e.muted?`Unmute track`:`Mute track`,`muted`),...r?[n(e.solo?`Unsolo track`:`Solo track`,`solo`),n(e.locked?`Unlock track`:`Lock track`,`locked`)]:[]];dr(`timeline/track`,{trackId:e.id,trackLocked:e.locked,trackMuted:e.muted,trackSolo:e.solo,clipCount:e.clips.length}).then(e=>t([...i,...e]))}function mr(){let e=S;if(!e)return!1;S=null;let t=A(),n=t?_n(t,e.clipId):null,r=n?.clip.animations.find(t=>t.id===e.propertyTrackId);return!t||!n||!r||!r.keyframes.some(t=>t.id===e.keyframeId)?(V(),!1):n.clip.locked||n.track.locked?(V(),!0):(B(cn(t,e.clipId,e.propertyTrackId,e.keyframeId)),!0)}function hr(e){if(je(e.target))return;let t=e.key;if(t===`Escape`){if(L.get()){L.set(null),R.set(null),e.preventDefault();return}if(f){f=null,D&&(D.style.cursor=`default`),V();return}if(w!==`select`){e.preventDefault(),De(`select`);return}}let n=e.metaKey||e.ctrlKey;if(n&&!e.altKey){let n=L.get();if(t.toLowerCase()===`j`&&n&&lt(A(),n)?.transition){e.preventDefault(),be(n);return}if(t===`2`){e.preventDefault(),e.stopImmediatePropagation(),Ye();return}}if(!(n||e.altKey)){if(t===`Delete`||t===`Backspace`){let t=L.get(),n=A();if(t&&n){e.preventDefault(),B(ot(n,t,null));return}if(S){e.preventDefault(),mr();return}if(C&&M().length===0){if(e.shiftKey)return;e.preventDefault(),vn(C);return}if(M().length>0){if(e.shiftKey)return;e.preventDefault(),vt(M())}}else(t===`s`||t===`S`)&&(e.preventDefault(),Xe())}}function gr(e){if(!y||e.altKey||je(e.target))return;let t=()=>{e.preventDefault(),e.stopImmediatePropagation()};if(e.metaKey||e.ctrlKey){switch(e.key.toLowerCase()){case`x`:t(),tt();return;case`c`:t(),et();return;case`v`:t(),nt();return;case`d`:t(),rt();return;case`a`:if(!e.shiftKey){t(),mt();return}}if(e.key!==`0`&&e.key!==`1`)return;t(),e.key===`0`?Ve():Ge();return}switch(e.key){case`v`:case`V`:case`a`:case`A`:t(),De(`select`);return;case`b`:case`B`:case`c`:case`C`:t(),De(`blade`);return;case`t`:case`T`:case`n`:case`N`:t(),De(`trim`);return;case`g`:case`G`:t(),ut();return;case`ArrowLeft`:case`ArrowRight`:{t();let r=e.key===`ArrowLeft`?-1:1;if(e.shiftKey)n.seek(Math.max(0,P()+r));else{let e=(j()?.fps??30)>0?j()?.fps??30:30,t=P()*e;n.seek(Math.max(0,(r>0?Math.floor(t+1e-6)+1:Math.ceil(t-1e-6)-1)/e))}return}case`=`:case`+`:t(),Ke(zo);return;case`-`:case`_`:t(),Ke(1/zo)}}let _r=[L.subscribe(()=>e.invalidateMain()),Pe(r).subscribe(()=>e.invalidateMain()),Ue(r).subscribe(()=>e.invalidateMain()),n.currentTime.subscribe(()=>{e.invalidatePlayhead(),ae&&e.invalidateMain()}),n.timelineView.subscribe(()=>{R.set(null),V()}),n.workArea.subscribe(()=>V()),n.activeSceneId.subscribe(()=>{ce=null,R.set(null),L.set(null),Jn(null),C=null,V()}),n.selection.subscribe(()=>{R.set(null),M().length&&L.set(null),S&&=null,C&&M().length>0&&(C=null),V()}),r.onEvent(()=>{R.set(null),lt(A(),L.get())||L.set(null),Jn(null),C=null,V()})];return{selectTransition:xe,openTransitionMenu:ve,closeTransitionMenu:ye,promptTransition:be,resizeTransition:Se,drawMain:ze,drawPlayhead:Be,onPointerDown:qn,onPointerMove:Yn,onPointerUp:Xn,onPointerCancel:Qn,onDoubleClick:Zn,onWheel:$n,onContextMenu:fr,onKeyDown:hr,onKeyDownCapture:gr,onDragOver:ar,onDragLeave:or,onDrop:ur,setHovered(t){y=t,t||(Jn(null),R.set(null)),!t&&_&&(_=null,e.invalidateMain())},controller:{copyClips:et,cutClips:tt,pasteClips:nt,duplicateClips:rt,detachAudio:it,toggleSnapping:ut,splitAtPlayhead:Xe,addAdjustmentLayer:ht,rippleDelete:yn,addMarkerAtPlayhead:xn,setTool:De,zoomTo100:Ve,zoomToFitScene:Ge,zoomToSelection:Ye,zoomBy:Ke,toggleExpanded(e){Oe.delete(e)||Oe.add(e),ke++,V()},setLayerFlag(e,t,n){let r=A();r&&B(Rt(r,e,t,n))},arrangeLayer(e,t){let n=A();n&&B(fn(n,e,t))},removeClips(e){let t=A();t&&B(at(t,e))},renameLayer(e,t){let n=A();n&&B(Vt(n,e,t))},wheel(e,t){$n(e,t)},setAssetDragPreview(t){h=t,p&&(p={...p,ghosts:tr(p.time)},Ce(),e.invalidateMain())}},invalidate:V,dispose(){v=!0,R.dispose(),sr?.removeEventListener(`dragend`,or),g?.removeEventListener(`change`,Ce),k!==null&&clearInterval(k),k=null,ne?.dispose(),ne=null,oe?.dispose(),oe=null;for(let e of _r.splice(0))e.dispose()}}}var Uo=`capability:peaks.source`,Wo=48,Go=3e3;function Ko(e){let t=new Map,n=new Map,r=!1;async function i(n){let i=await e.peaks();if(r||i.probe(n)<=0)return;let a=await i.peaks(n);!r&&a&&(t.set(n.id,a),e.invalidate())}return{peek(e){if(r)return null;if(t.has(e.id)){let n=t.get(e.id)??null;return t.delete(e.id),t.set(e.id,n),n}let a=n.get(e.id);if(a!==void 0&&performance.now()<a)return null;for(n.delete(e.id),t.set(e.id,null);t.size>Wo;){let e=t.keys().next().value;if(e===void 0)break;t.delete(e)}return i(e).catch(()=>void 0).then(()=>{!r&&t.get(e.id)===null&&(t.delete(e.id),n.set(e.id,performance.now()+Go))}),null},dispose(){r=!0,t.clear(),n.clear()}}}var qo=1.5,Jo={clipIds:[],sceneId:null,enteredGroupId:null};function Yo(e){return Me(t=>{if(!t||e.length!==1)return!1;let n=_n(t,e[0]),r=n?.clip;return r?.kind!==`media`||n?.scene.id!==t.activeSceneId?!1:t.assets.find(e=>e.id===r.assetId)?.kind===`video`})}function Xo({tool:e,snapping:t,controller:n}){let r=U(),i=Oe(),a=Ae(),o=H(`document.undo`),s=H(`document.redo`),c=ke(i?.selection,Jo),l=c.clipIds.length,u=Yo(c.clipIds),d=Me(e=>!!e&&c.clipIds.some(t=>ga(e,t))),f=e=>{r.commands.execute(e).catch(t=>{r.log.error(`command "${e}" failed`,String(t)),mt({message:t instanceof Error?t.message:`Could not complete this action`,variant:`error`})})};return()=>[{kind:`item`,label:`Cut`,shortcut:`⌘X`,disabled:l===0,onSelect:()=>void n()?.cutClips()},{kind:`item`,label:`Copy`,shortcut:`⌘C`,disabled:l===0,onSelect:()=>n()?.copyClips()},{kind:`item`,label:`Paste at playhead`,shortcut:`⌘V`,disabled:!i?.clipboard.get().length,onSelect:()=>void n()?.pasteClips()},{kind:`item`,label:`Duplicate`,shortcut:`⌘D`,disabled:l===0,onSelect:()=>void n()?.duplicateClips()},{kind:`item`,label:`Detach audio`,disabled:!d,onSelect:()=>void n()?.detachAudio()},{kind:`item`,label:`Ripple delete`,shortcut:`⇧⌫`,disabled:l===0,onSelect:()=>n()?.rippleDelete()},{kind:`item`,label:`Remove`,shortcut:`⌫`,disabled:l===0,onSelect:()=>f(`fable.transport.delete`)},...gt(`markers`)?[{kind:`item`,label:`Add marker at playhead`,shortcut:`M`,onSelect:()=>n()?.addMarkerAtPlayhead()}]:[],{kind:`separator`},{kind:`item`,label:`Enable snapping`,shortcut:`G`,checked:t,onSelect:()=>n()?.toggleSnapping()},{kind:`item`,label:`Trim mode`,shortcut:`N`,checked:e===`trim`,onSelect:()=>n()?.setTool(e===`trim`?`select`:`trim`)},{kind:`item`,label:`Blade`,shortcut:`B`,checked:e===`blade`,onSelect:()=>n()?.setTool(e===`blade`?`select`:`blade`)},{kind:`separator`},{kind:`item`,label:`Zoom in`,shortcut:`+`,onSelect:()=>n()?.zoomBy(qo)},{kind:`item`,label:`Zoom out`,shortcut:`−`,onSelect:()=>n()?.zoomBy(1/qo)},{kind:`item`,label:`Zoom to fit scene`,shortcut:`⌘1`,onSelect:()=>n()?.zoomToFitScene()},{kind:`item`,label:`Zoom to selection`,shortcut:`⌘2`,disabled:l===0,onSelect:()=>n()?.zoomToSelection()},{kind:`separator`},{kind:`item`,label:`Reframe`,disabled:!u,onSelect:()=>f(`fable.ai-composer.reframe`)},{kind:`item`,label:`Remove background`,disabled:!u,onSelect:()=>f(`fable.ai-composer.remove-background`)},{kind:`item`,label:`Import captions…`,onSelect:()=>f(`fable.captions.importFile`)},{kind:`separator`},{kind:`item`,label:a.undoName?`Undo ${a.undoName}`:`Undo`,disabled:!a.canUndo,onSelect:()=>void o()},{kind:`item`,label:a.redoName?`Redo ${a.redoName}`:`Redo`,disabled:!a.canRedo,onSelect:()=>void s()}]}function Zo({bindView:e}){let t=U(),{app:n,gateway:r}=Ne(),i=Oe(),a=V(ue),o=V(fe),s=(0,G.useRef)(null),c=(0,G.useRef)(null),l=(0,G.useRef)(null),u=(0,G.useRef)(null),d=(0,G.useRef)(null),[f,p]=(0,G.useState)(null),[m,h]=(0,G.useState)(null),[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)([]),[b,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(null),[w,T]=(0,G.useState)(null),[E,D]=(0,G.useState)(null),[O,ee]=(0,G.useState)(null),[te,k]=(0,G.useState)(`select`),[ne,re]=(0,G.useState)(!0);(0,G.useEffect)(()=>{if(!i||!a||!o)return;let s=Oa({thumbs:()=>t.require(Sa),frames:()=>t.require(de),invalidate:()=>u.current?.()}),c=Ko({peaks:()=>t.require(Uo),invalidate:()=>u.current?.()}),f=Ho({host:t,gateway:r,session:i,docs:a,placement:o,thumbs:s,peaks:c,invalidateMain:()=>u.current?.(),invalidatePlayhead:()=>d.current?.(),showMenu:(e,t,n)=>{h(null),l.current?.closeTransitionMenu(),_(null),p({x:e,y:t,items:n})},showTransitionMenu:(e,t,n)=>{h(null),p(null),_({target:e,x:t,y:n})},showEffectMenu:(e,t,n)=>{l.current?.closeTransitionMenu(),_(null),p(null),h({target:e,x:t,y:n})},onTransitionPrompt:e=>{if(!n){mt({message:`Open the editor in ChatGPT to request a transition.`,variant:`error`});return}Gn(n,e).catch(e=>mt({message:e instanceof Error?e.message:`Could not send the request. Please try again.`,variant:`error`}))},showComponentEditor:(e,t,n)=>D({x:e,y:t,clipId:n}),showAutoLayoutEditor:(e,t,n)=>ee({x:e,y:t,...n}),onToolChange:k,onSnappingChange:re,onEditDropError:T,onTransitionsChange:y,onLayoutChange:C,onGeneratingChange:x});l.current=f;let m=e(f.controller);return f.invalidate(),()=>{m.dispose(),f.dispose(),s.dispose(),c.dispose(),l.current=null}},[n,r,t,i,a,o,e]),(0,G.useEffect)(()=>{let e=B(s.current),t=e=>{e.target instanceof Element&&e.target.closest(`.ftl-transition-menu`)||l.current?.onKeyDown(e)},n=e=>{e.target instanceof Element&&e.target.closest(`.ftl-transition, .ftl-transition-menu`)||l.current?.onKeyDownCapture(e)};return e.addEventListener(`keydown`,t),e.addEventListener(`keydown`,n,!0),()=>{e.removeEventListener(`keydown`,t),e.removeEventListener(`keydown`,n,!0)}},[]),(0,G.useEffect)(()=>{let e=c.current;if(!e)return;let t=e=>l.current?.onDoubleClick(e),n=e.parentElement,r=t=>{t.target instanceof Element&&t.target.closest(`.ftl-transition`)&&l.current?.onWheel(t,t.clientX-e.getBoundingClientRect().left)};return e.addEventListener(`dblclick`,t),n?.addEventListener(`wheel`,r,{passive:!1}),()=>{e.removeEventListener(`dblclick`,t),n?.removeEventListener(`wheel`,r)}},[]);let ie=(0,G.useCallback)(()=>l.current?.controller??null,[]),ae=Xo({tool:te,snapping:ne,controller:ie}),oe=(0,G.useCallback)((e,t)=>l.current?.drawMain(e,t),[]),A=(0,G.useCallback)((e,t)=>l.current?.drawPlayhead(e,t),[]);return(0,K.jsxs)(`div`,{ref:s,className:`ftl-timeline bg-q-background-secondary text-q-text-primary text-q-body-sm-regular`,onDragOver:e=>l.current?.onDragOver(e.nativeEvent),onDragLeave:()=>l.current?.onDragLeave(),onDrop:e=>l.current?.onDrop(e.nativeEvent),children:[w&&(0,K.jsxs)(`div`,{className:`ftl-edit-status`,children:[(0,K.jsx)(`span`,{role:`alert`,children:w}),(0,K.jsx)(Ie,{variant:`ghost`,size:`xs`,"aria-label":`Dismiss edit notification`,onClick:()=>T(null),children:`Dismiss`})]}),(0,K.jsxs)(`div`,{className:`ftl-body`,children:[(0,K.jsx)(St,{className:`ftl-canvas`,draw:oe,invalidate:u,canvasRef:c,onPointerDown:e=>l.current?.onPointerDown(e.nativeEvent),onPointerMove:e=>l.current?.onPointerMove(e.nativeEvent),onPointerUp:e=>l.current?.onPointerUp(e.nativeEvent),onPointerCancel:()=>l.current?.onPointerCancel(),onPointerEnter:()=>l.current?.setHovered(!0),onPointerLeave:e=>{e.relatedTarget instanceof Element&&e.relatedTarget.closest(`.ftl-transition`)||l.current?.setHovered(!1)},onWheel:e=>l.current?.onWheel(e),onContextMenu:e=>l.current?.onContextMenu(e.nativeEvent)}),(0,K.jsx)(St,{className:`ftl-playhead`,draw:A,invalidate:d}),(0,K.jsx)(qr,{top:32+(b?38:0),views:v,onContextMenu:(e,t,n)=>l.current?.openTransitionMenu(e,t,n),onSelect:e=>l.current?.selectTransition(e),onResize:(e,t)=>l.current?.resizeTransition(e,t),onLeave:()=>l.current?.setHovered(!1)}),b&&(0,K.jsx)(Yr,{}),(0,K.jsx)(da,{layout:S,controller:ie,menu:ae})]}),m&&(0,K.jsx)(Nn,{...m,onClose:()=>h(null),onPrompt:()=>{if(!n){mt({message:`Open the editor in ChatGPT to edit effects with a prompt.`,variant:`error`});return}Kn(n).catch(()=>mt({message:`Could not send the request. Please try again.`,variant:`error`}))}},`${m.x}:${m.y}`),g&&(0,K.jsx)(Wn,{...g,onSelect:e=>l.current?.selectTransition(e),onPrompt:e=>l.current?.promptTransition(e),onClose:()=>{l.current?.closeTransitionMenu(),_(null)}},`${g.x}:${g.y}`),f&&(0,K.jsx)(Be,{x:f.x,y:f.y,items:f.items,onClose:()=>p(null)}),E&&(0,K.jsx)(xn,{x:E.x,y:E.y,clipId:E.clipId,onClose:()=>D(null)}),O&&(0,K.jsx)(vt,{...O,onClose:()=>ee(null)})]})}export{Zo as default,Xo as useTimelineMenu};