melies-video-editor 0.1.0 → 0.1.2

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.
package/dist/index.cjs CHANGED
@@ -1,14 +1,14 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react"),Bt=require("@xzdarcy/react-timeline-editor"),_t=require("howler"),Ft=require("antd"),ve=require("@dnd-kit/core");var gt={exports:{}},et={};var jt;function Ut(){if(jt)return et;jt=1;var u=R,a=Symbol.for("react.element"),m=Symbol.for("react.fragment"),d=Object.prototype.hasOwnProperty,g=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,S={key:!0,ref:!0,__self:!0,__source:!0};function E(T,x,A){var P,N={},q=null,z=null;A!==void 0&&(q=""+A),x.key!==void 0&&(q=""+x.key),x.ref!==void 0&&(z=x.ref);for(P in x)d.call(x,P)&&!S.hasOwnProperty(P)&&(N[P]=x[P]);if(T&&T.defaultProps)for(P in x=T.defaultProps,x)N[P]===void 0&&(N[P]=x[P]);return{$$typeof:a,type:T,key:q,ref:z,props:N,_owner:g.current}}return et.Fragment=m,et.jsx=E,et.jsxs=E,et}var tt={};var Ot;function Vt(){return Ot||(Ot=1,process.env.NODE_ENV!=="production"&&(function(){var u=R,a=Symbol.for("react.element"),m=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),S=Symbol.for("react.profiler"),E=Symbol.for("react.provider"),T=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),z=Symbol.for("react.offscreen"),ue=Symbol.iterator,X="@@iterator";function V(t){if(t===null||typeof t!="object")return null;var l=ue&&t[ue]||t[X];return typeof l=="function"?l:null}var K=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function M(t){{for(var l=arguments.length,e=new Array(l>1?l-1:0),n=1;n<l;n++)e[n-1]=arguments[n];de("error",t,e)}}function de(t,l,e){{var n=K.ReactDebugCurrentFrame,r=n.getStackAddendum();r!==""&&(l+="%s",e=e.concat([r]));var s=e.map(function(i){return String(i)});s.unshift("Warning: "+l),Function.prototype.apply.call(console[t],console,s)}}var be=!1,ie=!1,fe=!1,ot=!1,Ne=!1,ke;ke=Symbol.for("react.module.reference");function Ye(t){return!!(typeof t=="string"||typeof t=="function"||t===d||t===S||Ne||t===g||t===A||t===P||ot||t===z||be||ie||fe||typeof t=="object"&&t!==null&&(t.$$typeof===q||t.$$typeof===N||t.$$typeof===E||t.$$typeof===T||t.$$typeof===x||t.$$typeof===ke||t.getModuleId!==void 0))}function qe(t,l,e){var n=t.displayName;if(n)return n;var r=l.displayName||l.name||"";return r!==""?e+"("+r+")":e}function De(t){return t.displayName||"Context"}function oe(t){if(t==null)return null;if(typeof t.tag=="number"&&M("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case d:return"Fragment";case m:return"Portal";case S:return"Profiler";case g:return"StrictMode";case A:return"Suspense";case P:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case T:var l=t;return De(l)+".Consumer";case E:var e=t;return De(e._context)+".Provider";case x:return qe(t,t.render,"ForwardRef");case N:var n=t.displayName||null;return n!==null?n:oe(t.type)||"Memo";case q:{var r=t,s=r._payload,i=r._init;try{return oe(i(s))}catch{return null}}}return null}var se=Object.assign,ee=0,Me,ye,y,O,D,F,_;function L(){}L.__reactDisabledLog=!0;function H(){{if(ee===0){Me=console.log,ye=console.info,y=console.warn,O=console.error,D=console.group,F=console.groupCollapsed,_=console.groupEnd;var t={configurable:!0,enumerable:!0,value:L,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}ee++}}function Se(){{if(ee--,ee===0){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:se({},t,{value:Me}),info:se({},t,{value:ye}),warn:se({},t,{value:y}),error:se({},t,{value:O}),group:se({},t,{value:D}),groupCollapsed:se({},t,{value:F}),groupEnd:se({},t,{value:_})})}ee<0&&M("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var me=K.ReactCurrentDispatcher,ae;function Pe(t,l,e){{if(ae===void 0)try{throw Error()}catch(r){var n=r.stack.trim().match(/\n( *(at )?)/);ae=n&&n[1]||""}return`
2
- `+ae+t}}var Le=!1,ze;{var pe=typeof WeakMap=="function"?WeakMap:Map;ze=new pe}function J(t,l){if(!t||Le)return"";{var e=ze.get(t);if(e!==void 0)return e}var n;Le=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var s;s=me.current,me.current=null,H();try{if(l){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(i,[])}catch(w){n=w}Reflect.construct(t,[],i)}else{try{i.call()}catch(w){n=w}t.call(i.prototype)}}else{try{throw Error()}catch(w){n=w}t()}}catch(w){if(w&&n&&typeof w.stack=="string"){for(var o=w.stack.split(`
3
- `),c=n.stack.split(`
4
- `),f=o.length-1,p=c.length-1;f>=1&&p>=0&&o[f]!==c[p];)p--;for(;f>=1&&p>=0;f--,p--)if(o[f]!==c[p]){if(f!==1||p!==1)do if(f--,p--,p<0||o[f]!==c[p]){var h=`
5
- `+o[f].replace(" at new "," at ");return t.displayName&&h.includes("<anonymous>")&&(h=h.replace("<anonymous>",t.displayName)),typeof t=="function"&&ze.set(t,h),h}while(f>=1&&p>=0);break}}}finally{Le=!1,me.current=s,Se(),Error.prepareStackTrace=r}var b=t?t.displayName||t.name:"",k=b?Pe(b):"";return typeof t=="function"&&ze.set(t,k),k}function te(t,l,e){return J(t,!1)}function $e(t){var l=t.prototype;return!!(l&&l.isReactComponent)}function Be(t,l,e){if(t==null)return"";if(typeof t=="function")return J(t,$e(t));if(typeof t=="string")return Pe(t);switch(t){case A:return Pe("Suspense");case P:return Pe("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case x:return te(t.render);case N:return Be(t.type,l,e);case q:{var n=t,r=n._payload,s=n._init;try{return Be(s(r),l,e)}catch{}}}return""}var Ie=Object.prototype.hasOwnProperty,G={},W=K.ReactDebugCurrentFrame;function Ce(t){if(t){var l=t._owner,e=Be(t.type,t._source,l?l.type:null);W.setExtraStackFrame(e)}else W.setExtraStackFrame(null)}function Ue(t,l,e,n,r){{var s=Function.call.bind(Ie);for(var i in t)if(s(t,i)){var o=void 0;try{if(typeof t[i]!="function"){var c=Error((n||"React class")+": "+e+" type `"+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[i]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name="Invariant Violation",c}o=t[i](l,i,n,e,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(f){o=f}o&&!(o instanceof Error)&&(Ce(r),M("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",e,i,typeof o),Ce(null)),o instanceof Error&&!(o.message in G)&&(G[o.message]=!0,Ce(r),M("Failed %s type: %s",e,o.message),Ce(null))}}}var Fe=Array.isArray;function Ve(t){return Fe(t)}function ge(t){{var l=typeof Symbol=="function"&&Symbol.toStringTag,e=l&&t[Symbol.toStringTag]||t.constructor.name||"Object";return e}}function Xe(t){try{return Re(t),!1}catch{return!0}}function Re(t){return""+t}function st(t){if(Xe(t))return M("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ge(t)),Re(t)}var We=K.ReactCurrentOwner,Je={key:!0,ref:!0,__self:!0,__source:!0},Ge,Ze;function at(t){if(Ie.call(t,"ref")){var l=Object.getOwnPropertyDescriptor(t,"ref").get;if(l&&l.isReactWarning)return!1}return t.ref!==void 0}function bt(t){if(Ie.call(t,"key")){var l=Object.getOwnPropertyDescriptor(t,"key").get;if(l&&l.isReactWarning)return!1}return t.key!==void 0}function yt(t,l){typeof t.ref=="string"&&We.current}function St(t,l){{var e=function(){Ge||(Ge=!0,M("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",l))};e.isReactWarning=!0,Object.defineProperty(t,"key",{get:e,configurable:!0})}}function He(t,l){{var e=function(){Ze||(Ze=!0,M("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",l))};e.isReactWarning=!0,Object.defineProperty(t,"ref",{get:e,configurable:!0})}}var Rt=function(t,l,e,n,r,s,i){var o={$$typeof:a,type:t,key:l,ref:e,props:i,_owner:s};return o._store={},Object.defineProperty(o._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(o,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(o,"_source",{configurable:!1,enumerable:!1,writable:!1,value:r}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function wt(t,l,e,n,r){{var s,i={},o=null,c=null;e!==void 0&&(st(e),o=""+e),bt(l)&&(st(l.key),o=""+l.key),at(l)&&(c=l.ref,yt(l,r));for(s in l)Ie.call(l,s)&&!Je.hasOwnProperty(s)&&(i[s]=l[s]);if(t&&t.defaultProps){var f=t.defaultProps;for(s in f)i[s]===void 0&&(i[s]=f[s])}if(o||c){var p=typeof t=="function"?t.displayName||t.name||"Unknown":t;o&&St(i,p),c&&He(i,p)}return Rt(t,o,c,r,n,We.current,i)}}var _e=K.ReactCurrentOwner,ct=K.ReactDebugCurrentFrame;function ce(t){if(t){var l=t._owner,e=Be(t.type,t._source,l?l.type:null);ct.setExtraStackFrame(e)}else ct.setExtraStackFrame(null)}var Ke;Ke=!1;function Qe(t){return typeof t=="object"&&t!==null&&t.$$typeof===a}function lt(){{if(_e.current){var t=oe(_e.current.type);if(t)return`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("react"),lt=require("@xzdarcy/react-timeline-editor"),nt=require("howler"),et=require("antd"),jA=require("@dnd-kit/core");var We={exports:{}},He={};var rt;function dt(){if(rt)return He;rt=1;var B=F,s=Symbol.for("react.element"),d=Symbol.for("react.fragment"),c=Object.prototype.hasOwnProperty,f=B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Q={key:!0,ref:!0,__self:!0,__source:!0};function b(U,H,Y){var m,X={},G=null,DA=null;Y!==void 0&&(G=""+Y),H.key!==void 0&&(G=""+H.key),H.ref!==void 0&&(DA=H.ref);for(m in H)c.call(H,m)&&!Q.hasOwnProperty(m)&&(X[m]=H[m]);if(U&&U.defaultProps)for(m in H=U.defaultProps,H)X[m]===void 0&&(X[m]=H[m]);return{$$typeof:s,type:U,key:G,ref:DA,props:X,_owner:f.current}}return He.Fragment=d,He.jsx=b,He.jsxs=b,He}var Ne={};var it;function ft(){return it||(it=1,process.env.NODE_ENV!=="production"&&(function(){var B=F,s=Symbol.for("react.element"),d=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),Q=Symbol.for("react.profiler"),b=Symbol.for("react.provider"),U=Symbol.for("react.context"),H=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),G=Symbol.for("react.lazy"),DA=Symbol.for("react.offscreen"),z=Symbol.iterator,BA="@@iterator";function hA(e){if(e===null||typeof e!="object")return null;var g=z&&e[z]||e[BA];return typeof g=="function"?g:null}var yA=B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function rA(e){{for(var g=arguments.length,E=new Array(g>1?g-1:0),p=1;p<g;p++)E[p-1]=arguments[p];cA("error",e,E)}}function cA(e,g,E){{var p=yA.ReactDebugCurrentFrame,T=p.getStackAddendum();T!==""&&(g+="%s",E=E.concat([T]));var Z=E.map(function(L){return String(L)});Z.unshift("Warning: "+g),Function.prototype.apply.call(console[e],console,Z)}}var _A=!1,TA=!1,JA=!1,WA=!1,SA=!1,bA;bA=Symbol.for("react.module.reference");function Ue(e){return!!(typeof e=="string"||typeof e=="function"||e===c||e===Q||SA||e===f||e===Y||e===m||WA||e===DA||_A||TA||JA||typeof e=="object"&&e!==null&&(e.$$typeof===G||e.$$typeof===X||e.$$typeof===b||e.$$typeof===U||e.$$typeof===H||e.$$typeof===bA||e.getModuleId!==void 0))}function XA(e,g,E){var p=e.displayName;if(p)return p;var T=g.displayName||g.name||"";return T!==""?E+"("+T+")":E}function $A(e){return e.displayName||"Context"}function mA(e){if(e==null)return null;if(typeof e.tag=="number"&&rA("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case c:return"Fragment";case d:return"Portal";case Q:return"Profiler";case f:return"StrictMode";case Y:return"Suspense";case m:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case U:var g=e;return $A(g)+".Consumer";case b:var E=e;return $A(E._context)+".Provider";case H:return XA(e,e.render,"ForwardRef");case X:var p=e.displayName||null;return p!==null?p:mA(e.type)||"Memo";case G:{var T=e,Z=T._payload,L=T._init;try{return mA(L(Z))}catch{return null}}}return null}var HA=Object.assign,UA=0,de,se,GA,ae,zA,v,AA;function eA(){}eA.__reactDisabledLog=!0;function V(){{if(UA===0){de=console.log,se=console.info,GA=console.warn,ae=console.error,zA=console.group,v=console.groupCollapsed,AA=console.groupEnd;var e={configurable:!0,enumerable:!0,value:eA,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}UA++}}function q(){{if(UA--,UA===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:HA({},e,{value:de}),info:HA({},e,{value:se}),warn:HA({},e,{value:GA}),error:HA({},e,{value:ae}),group:HA({},e,{value:zA}),groupCollapsed:HA({},e,{value:v}),groupEnd:HA({},e,{value:AA})})}UA<0&&rA("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var tA=yA.ReactCurrentDispatcher,aA;function PA(e,g,E){{if(aA===void 0)try{throw Error()}catch(T){var p=T.stack.trim().match(/\n( *(at )?)/);aA=p&&p[1]||""}return`
2
+ `+aA+e}}var NA=!1,LA;{var fA=typeof WeakMap=="function"?WeakMap:Map;LA=new fA}function YA(e,g){if(!e||NA)return"";{var E=LA.get(e);if(E!==void 0)return E}var p;NA=!0;var T=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Z;Z=tA.current,tA.current=null,V();try{if(g){var L=function(){throw Error()};if(Object.defineProperty(L.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(L,[])}catch(EA){p=EA}Reflect.construct(e,[],L)}else{try{L.call()}catch(EA){p=EA}e.call(L.prototype)}}else{try{throw Error()}catch(EA){p=EA}e()}}catch(EA){if(EA&&p&&typeof EA.stack=="string"){for(var M=EA.stack.split(`
3
+ `),lA=p.stack.split(`
4
+ `),iA=M.length-1,sA=lA.length-1;iA>=1&&sA>=0&&M[iA]!==lA[sA];)sA--;for(;iA>=1&&sA>=0;iA--,sA--)if(M[iA]!==lA[sA]){if(iA!==1||sA!==1)do if(iA--,sA--,sA<0||M[iA]!==lA[sA]){var RA=`
5
+ `+M[iA].replace(" at new "," at ");return e.displayName&&RA.includes("<anonymous>")&&(RA=RA.replace("<anonymous>",e.displayName)),typeof e=="function"&&LA.set(e,RA),RA}while(iA>=1&&sA>=0);break}}}finally{NA=!1,tA.current=Z,q(),Error.prepareStackTrace=T}var ie=e?e.displayName||e.name:"",VA=ie?PA(ie):"";return typeof e=="function"&&LA.set(e,VA),VA}function Pe(e,g,E){return YA(e,!1)}function ce(e){var g=e.prototype;return!!(g&&g.isReactComponent)}function qA(e,g,E){if(e==null)return"";if(typeof e=="function")return YA(e,ce(e));if(typeof e=="string")return PA(e);switch(e){case Y:return PA("Suspense");case m:return PA("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case H:return Pe(e.render);case X:return qA(e.type,g,E);case G:{var p=e,T=p._payload,Z=p._init;try{return qA(Z(T),g,E)}catch{}}}return""}var QA=Object.prototype.hasOwnProperty,ge={},pA=yA.ReactDebugCurrentFrame;function Be(e){if(e){var g=e._owner,E=qA(e.type,e._source,g?g.type:null);pA.setExtraStackFrame(E)}else pA.setExtraStackFrame(null)}function De(e,g,E,p,T){{var Z=Function.call.bind(QA);for(var L in e)if(Z(e,L)){var M=void 0;try{if(typeof e[L]!="function"){var lA=Error((p||"React class")+": "+E+" type `"+L+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[L]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw lA.name="Invariant Violation",lA}M=e[L](g,L,p,E,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(iA){M=iA}M&&!(M instanceof Error)&&(Be(T),rA("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",p||"React class",E,L,typeof M),Be(null)),M instanceof Error&&!(M.message in ge)&&(ge[M.message]=!0,Be(T),rA("Failed %s type: %s",E,M.message),Be(null))}}}var ze=Array.isArray;function CA(e){return ze(e)}function wA(e){{var g=typeof Symbol=="function"&&Symbol.toStringTag,E=g&&e[Symbol.toStringTag]||e.constructor.name||"Object";return E}}function OA(e){try{return Ae(e),!1}catch{return!0}}function Ae(e){return""+e}function he(e){if(OA(e))return rA("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",wA(e)),Ae(e)}var me=yA.ReactCurrentOwner,FA={key:!0,ref:!0,__self:!0,__source:!0},nA,uA;function Fe(e){if(QA.call(e,"ref")){var g=Object.getOwnPropertyDescriptor(e,"ref").get;if(g&&g.isReactWarning)return!1}return e.ref!==void 0}function ue(e){if(QA.call(e,"key")){var g=Object.getOwnPropertyDescriptor(e,"key").get;if(g&&g.isReactWarning)return!1}return e.key!==void 0}function ee(e,g){typeof e.ref=="string"&&me.current}function fe(e,g){{var E=function(){nA||(nA=!0,rA("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};E.isReactWarning=!0,Object.defineProperty(e,"key",{get:E,configurable:!0})}}function KA(e,g){{var E=function(){uA||(uA=!0,rA("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};E.isReactWarning=!0,Object.defineProperty(e,"ref",{get:E,configurable:!0})}}var IA=function(e,g,E,p,T,Z,L){var M={$$typeof:s,type:e,key:g,ref:E,props:L,_owner:Z};return M._store={},Object.defineProperty(M._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(M,"_self",{configurable:!1,enumerable:!1,writable:!1,value:p}),Object.defineProperty(M,"_source",{configurable:!1,enumerable:!1,writable:!1,value:T}),Object.freeze&&(Object.freeze(M.props),Object.freeze(M)),M};function xA(e,g,E,p,T){{var Z,L={},M=null,lA=null;E!==void 0&&(he(E),M=""+E),ue(g)&&(he(g.key),M=""+g.key),Fe(g)&&(lA=g.ref,ee(g,T));for(Z in g)QA.call(g,Z)&&!FA.hasOwnProperty(Z)&&(L[Z]=g[Z]);if(e&&e.defaultProps){var iA=e.defaultProps;for(Z in iA)L[Z]===void 0&&(L[Z]=iA[Z])}if(M||lA){var sA=typeof e=="function"?e.displayName||e.name||"Unknown":e;M&&fe(L,sA),lA&&KA(L,sA)}return IA(e,M,lA,T,p,me.current,L)}}var Re=yA.ReactCurrentOwner,xe=yA.ReactDebugCurrentFrame;function MA(e){if(e){var g=e._owner,E=qA(e.type,e._source,g?g.type:null);xe.setExtraStackFrame(E)}else xe.setExtraStackFrame(null)}var te;te=!1;function Ce(e){return typeof e=="object"&&e!==null&&e.$$typeof===s}function pe(){{if(Re.current){var e=mA(Re.current.type);if(e)return`
6
6
 
7
- Check the render method of \``+t+"`."}return""}}function Et(t){return""}var ut={};function xt(t){{var l=lt();if(!l){var e=typeof t=="string"?t:t.displayName||t.name;e&&(l=`
7
+ Check the render method of \``+e+"`."}return""}}function Me(e){return""}var ke={};function qe(e){{var g=pe();if(!g){var E=typeof e=="string"?e:e.displayName||e.name;E&&(g=`
8
8
 
9
- Check the top-level render call using <`+e+">.")}return l}}function dt(t,l){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var e=xt(l);if(ut[e])return;ut[e]=!0;var n="";t&&t._owner&&t._owner!==_e.current&&(n=" It was passed a child from "+oe(t._owner.type)+"."),ce(t),M('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',e,n),ce(null)}}function ft(t,l){{if(typeof t!="object")return;if(Ve(t))for(var e=0;e<t.length;e++){var n=t[e];Qe(n)&&dt(n,l)}else if(Qe(t))t._store&&(t._store.validated=!0);else if(t){var r=V(t);if(typeof r=="function"&&r!==t.entries)for(var s=r.call(t),i;!(i=s.next()).done;)Qe(i.value)&&dt(i.value,l)}}}function Tt(t){{var l=t.type;if(l==null||typeof l=="string")return;var e;if(typeof l=="function")e=l.propTypes;else if(typeof l=="object"&&(l.$$typeof===x||l.$$typeof===N))e=l.propTypes;else return;if(e){var n=oe(l);Ue(e,t.props,"prop",n,t)}else if(l.PropTypes!==void 0&&!Ke){Ke=!0;var r=oe(l);M("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",r||"Unknown")}typeof l.getDefaultProps=="function"&&!l.getDefaultProps.isReactClassApproved&&M("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function At(t){{for(var l=Object.keys(t.props),e=0;e<l.length;e++){var n=l[e];if(n!=="children"&&n!=="key"){ce(t),M("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),ce(null);break}}t.ref!==null&&(ce(t),M("Invalid attribute `ref` supplied to `React.Fragment`."),ce(null))}}var mt={};function pt(t,l,e,n,r,s){{var i=Ye(t);if(!i){var o="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(o+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var c=Et();c?o+=c:o+=lt();var f;t===null?f="null":Ve(t)?f="array":t!==void 0&&t.$$typeof===a?(f="<"+(oe(t.type)||"Unknown")+" />",o=" Did you accidentally export a JSX literal instead of a component?"):f=typeof t,M("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",f,o)}var p=wt(t,l,e,r,s);if(p==null)return p;if(i){var h=l.children;if(h!==void 0)if(n)if(Ve(h)){for(var b=0;b<h.length;b++)ft(h[b],t);Object.freeze&&Object.freeze(h)}else M("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ft(h,t)}if(Ie.call(l,"key")){var k=oe(t),w=Object.keys(l).filter(function(C){return C!=="key"}),I=w.length>0?"{key: someKey, "+w.join(": ..., ")+": ...}":"{key: someKey}";if(!mt[k+I]){var j=w.length>0?"{"+w.join(": ..., ")+": ...}":"{}";M(`A props object containing a "key" prop is being spread into JSX:
9
+ Check the top-level render call using <`+E+">.")}return g}}function Je(e,g){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var E=qe(g);if(ke[E])return;ke[E]=!0;var p="";e&&e._owner&&e._owner!==Re.current&&(p=" It was passed a child from "+mA(e._owner.type)+"."),MA(e),rA('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',E,p),MA(null)}}function ne(e,g){{if(typeof e!="object")return;if(CA(e))for(var E=0;E<e.length;E++){var p=e[E];Ce(p)&&Je(p,g)}else if(Ce(e))e._store&&(e._store.validated=!0);else if(e){var T=hA(e);if(typeof T=="function"&&T!==e.entries)for(var Z=T.call(e),L;!(L=Z.next()).done;)Ce(L.value)&&Je(L.value,g)}}}function Ge(e){{var g=e.type;if(g==null||typeof g=="string")return;var E;if(typeof g=="function")E=g.propTypes;else if(typeof g=="object"&&(g.$$typeof===H||g.$$typeof===X))E=g.propTypes;else return;if(E){var p=mA(g);De(E,e.props,"prop",p,e)}else if(g.PropTypes!==void 0&&!te){te=!0;var T=mA(g);rA("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",T||"Unknown")}typeof g.getDefaultProps=="function"&&!g.getDefaultProps.isReactClassApproved&&rA("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ve(e){{for(var g=Object.keys(e.props),E=0;E<g.length;E++){var p=g[E];if(p!=="children"&&p!=="key"){MA(e),rA("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",p),MA(null);break}}e.ref!==null&&(MA(e),rA("Invalid attribute `ref` supplied to `React.Fragment`."),MA(null))}}var re={};function Le(e,g,E,p,T,Z){{var L=Ue(e);if(!L){var M="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(M+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var lA=Me();lA?M+=lA:M+=pe();var iA;e===null?iA="null":CA(e)?iA="array":e!==void 0&&e.$$typeof===s?(iA="<"+(mA(e.type)||"Unknown")+" />",M=" Did you accidentally export a JSX literal instead of a component?"):iA=typeof e,rA("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",iA,M)}var sA=xA(e,g,E,T,Z);if(sA==null)return sA;if(L){var RA=g.children;if(RA!==void 0)if(p)if(CA(RA)){for(var ie=0;ie<RA.length;ie++)ne(RA[ie],e);Object.freeze&&Object.freeze(RA)}else rA("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ne(RA,e)}if(QA.call(g,"key")){var VA=mA(e),EA=Object.keys(g).filter(function(_e){return _e!=="key"}),Se=EA.length>0?"{key: someKey, "+EA.join(": ..., ")+": ...}":"{key: someKey}";if(!re[VA+Se]){var Ze=EA.length>0?"{"+EA.join(": ..., ")+": ...}":"{}";rA(`A props object containing a "key" prop is being spread into JSX:
10
10
  let props = %s;
11
11
  <%s {...props} />
12
12
  React keys must be passed directly to JSX without using spread:
13
13
  let props = %s;
14
- <%s key={someKey} {...props} />`,I,k,j,k),mt[k+I]=!0}}return t===d?At(p):Tt(p),p}}function Nt(t,l,e){return pt(t,l,e,!0)}function kt(t,l,e){return pt(t,l,e,!1)}var we=kt,Pt=Nt;tt.Fragment=d,tt.jsx=we,tt.jsxs=Pt})()),tt}var Dt;function Wt(){return Dt||(Dt=1,process.env.NODE_ENV==="production"?gt.exports=Ut():gt.exports=Vt()),gt.exports}var v=Wt();const Ht=({action:u,row:a})=>v.jsx("div",{className:"effect0","data-action-id":u.id,"data-row-id":a.id,children:v.jsx("div",{className:"effect0-text",children:`Audio: ${u.data.name}`})}),Yt=({action:u,row:a})=>v.jsx("div",{className:"effect1","data-action-id":u.id,"data-row-id":a.id,children:v.jsx("div",{className:"effect1-text",children:`Video: ${u.data.name}`})}),qt=({action:u,row:a})=>v.jsx("div",{className:"effect2","data-action-id":u.id,"data-row-id":a.id,children:v.jsx("div",{className:"effect2-text",children:`Video audio: ${u.data.name}`})}),zt=u=>{const a=u.toLowerCase();return a.endsWith(".mp4")||a.endsWith(".webm")||a.endsWith(".mov")||a.endsWith(".m4v")?"video":a.endsWith(".mp3")||a.endsWith(".wav")||a.endsWith(".ogg")||a.endsWith(".m4a")||a.endsWith(".aac")?"audio":"other"};class Xt{blobUrlBySrc=new Map;pendingBySrc=new Map;async preloadToBlobUrl(a){if(!a)return a;const m=this.blobUrlBySrc.get(a);if(m)return m;const d=this.pendingBySrc.get(a);if(d)return d;const g=(async()=>{const S=await fetch(a,{cache:"force-cache"});if(!S.ok)throw new Error(`Failed to fetch ${a}: ${S.status}`);const E=await S.blob(),T=URL.createObjectURL(E);return this.blobUrlBySrc.set(a,T),T})().catch(S=>(console.warn("[mediaCache] preload failed:",a,S),a)).finally(()=>{this.pendingBySrc.delete(a)});return this.pendingBySrc.set(a,g),g}resolve(a){return this.blobUrlBySrc.get(a)??a}warm(a){this.preloadToBlobUrl(a)}warmFromEditorData(a){const m=new Set,d=Array.isArray(a)?a:[];for(const g of d){const S=g?.actions;if(Array.isArray(S))for(const E of S){const T=E?.data?.src;typeof T=="string"&&T&&m.add(T)}}for(const g of m){const S=zt(g);(S==="video"||S==="audio")&&this.warm(g)}}}const it=new Xt,Jt=u=>{if(!u)return;const m=u.split("#")[0].split("?")[0].toLowerCase(),d=m.lastIndexOf(".");if(d<0)return;const g=m.slice(d+1);if(g)return g==="m4a"||g==="m4v"?"mp4":g};class Kt{howlBySrc={};activeByActionId={};getHowl(a){const m=it.resolve(a),d=m.startsWith("blob:")?a:m,g=d;if(this.howlBySrc[g])return this.howlBySrc[g];const S=Jt(a),E=new _t.Howl({src:[d],format:S?[S]:void 0,loop:!0,autoplay:!1,preload:!0});return this.howlBySrc[g]=E,E}unlock(){try{const a=_t.Howler.ctx;a&&a.state==="suspended"&&a.resume()}catch{}}warm(a){a&&(it.warm(a),this.getHowl(a))}seekForEngineTime(a,m,d,g,S){const E=Number(S),T=Number.isFinite(E)?E:0,x=a.duration();if(!Number.isFinite(x)||x<=0){a.seek(Math.max(0,g-d+T),m);return}const A=(g-d+T)%x,P=A<0?A+x:A;a.seek(P,m)}start(a){const{actionId:m,src:d,startTime:g,time:S,engine:E}=a,T=Number(a.offset??0),x=Number.isFinite(T)?T:0,A=this.activeByActionId[m];if(A){const X=this.getHowl(A.src);X.rate(E.getPlayRate(),A.soundId);try{X.playing(A.soundId)||X.play(A.soundId)}catch{}E.isPlaying||this.seekForEngineTime(X,A.soundId,A.startTime,S,A.offset);return}const P=this.getHowl(d),N=P.play();P.rate(E.getPlayRate(),N),this.seekForEngineTime(P,N,g,S,x);let q=performance.now();const z=({time:X})=>{if(!E.isPlaying){this.seekForEngineTime(P,N,g,X,x);return}const V=performance.now();if(!(V-q<500)){q=V;try{const K=Math.max(0,X-g+x),M=Number(P.seek(N));Number.isFinite(M)&&Math.abs(M-K)>.25&&this.seekForEngineTime(P,N,g,X,x)}catch{}}},ue=({rate:X})=>{P.rate(X,N)};E.on("afterSetTime",z),E.on("afterSetPlayRate",ue),this.activeByActionId[m]={src:d,startTime:g,offset:x,soundId:N,engine:E,lastResyncAtMs:q,time:z,rate:ue}}stop(a){const{actionId:m}=a,d=this.activeByActionId[m];if(!d)return;const g=this.getHowl(d.src);try{g.stop(d.soundId)}catch{}d.time&&d.engine.off("afterSetTime",d.time),d.rate&&d.engine.off("afterSetPlayRate",d.rate),delete this.activeByActionId[m]}}const re=new Kt;class Gt{videoEl=null;currentSrc=null;lastSeekAtMs=0;lastRate=null;boundEngine=null;boundActionStart=0;vfcHandle=null;rafHandle=null;attach(a){this.videoEl=a,this.currentSrc=a?.currentSrc||a?.getAttribute("src")||null,this.lastSeekAtMs=0,this.lastRate=null,this.unbindEngine(),this.setActive(!1)}setActive(a){this.videoEl&&(this.videoEl.style.opacity=a?"1":"0")}bindEngine(a,m){this.unbindEngine(),this.boundEngine=a,this.boundActionStart=m,this.tickFromVideo()}unbindEngine(){const a=this.videoEl;if(this.vfcHandle!=null&&a?.cancelVideoFrameCallback)try{a.cancelVideoFrameCallback(this.vfcHandle)}catch{}this.rafHandle!=null&&cancelAnimationFrame(this.rafHandle),this.vfcHandle=null,this.rafHandle=null,this.boundEngine=null}tickFromVideo=()=>{if(!this.videoEl||!this.boundEngine||this.videoEl.paused)return;const a=this.boundActionStart+this.videoEl.currentTime;Math.abs(this.boundEngine.getTime()-a)>.03&&this.boundEngine.setTime(a,!0);const m=this.videoEl;m?.requestVideoFrameCallback?this.vfcHandle=m.requestVideoFrameCallback(()=>this.tickFromVideo()):this.rafHandle=requestAnimationFrame(()=>this.tickFromVideo())};setSource(a){if(!this.videoEl||!a)return;const m=it.resolve(a);if(!((this.videoEl.currentSrc||this.videoEl.getAttribute("src")||"")===m||this.currentSrc===m)){this.currentSrc=m,this.videoEl.preload="auto",this.videoEl.src=m;try{this.videoEl.load()}catch{}}}warm(a){a&&it.warm(a)}setRate(a){this.videoEl&&this.lastRate!==a&&(this.lastRate=a,this.videoEl.playbackRate=a)}seek(a,m){if(this.videoEl)try{const d=performance.now(),g=m?.force===!0,S=this.videoEl.currentTime;if(!g&&!this.videoEl.paused&&(Math.abs(S-a)<.12||d-this.lastSeekAtMs<150))return;const E=this.videoEl.duration;Number.isFinite(E)&&E>0?this.videoEl.currentTime=Math.min(a,Math.max(0,E-.05)):this.videoEl.currentTime=Math.max(0,a),this.lastSeekAtMs=d}catch{}}async play(){if(this.videoEl)try{await this.videoEl.play(),this.boundEngine&&this.tickFromVideo()}catch{}}pause(){this.videoEl&&this.videoEl.pause()}}const $=new Gt,nt=160,rt=5,vt=20,Zt={effect0:{id:"effect0",name:"Play audio",source:{start:({action:u,engine:a,isPlaying:m,time:d})=>{if(m){const{src:g,offset:S}=u.data;re.warm(g),re.start({actionId:u.id,src:g,startTime:u.start,engine:a,time:d,offset:S})}},enter:({action:u,engine:a,isPlaying:m,time:d})=>{if(m){const{src:g,offset:S}=u.data;re.warm(g),re.start({actionId:u.id,src:g,startTime:u.start,engine:a,time:d,offset:S})}},leave:({action:u})=>{re.stop({actionId:u.id})},stop:({action:u})=>{re.stop({actionId:u.id})}}},effect2:{id:"effect2",name:"Play video audio",source:{start:({action:u,engine:a,isPlaying:m,time:d})=>{if(m){const{src:g,offset:S}=u.data;re.warm(g),re.start({actionId:u.id,src:g,startTime:u.start,engine:a,time:d,offset:S})}},enter:({action:u,engine:a,isPlaying:m,time:d})=>{if(m){const{src:g,offset:S}=u.data;re.warm(g),re.start({actionId:u.id,src:g,startTime:u.start,engine:a,time:d,offset:S})}},leave:({action:u})=>{re.stop({actionId:u.id})},stop:({action:u})=>{re.stop({actionId:u.id})}}},effect1:{id:"effect1",name:"Play video",source:{start:({action:u,engine:a,isPlaying:m,time:d})=>{const{src:g,previewSrc:S,offset:E}=u.data??{},T=S||g;T&&($.warm(T),$.setSource(T)),$.setActive(!0),$.setRate(a.getPlayRate());const x=Number(E??0);$.seek(Math.max(0,d-u.start+(Number.isFinite(x)?x:0)),{force:!0}),m&&$.play()},enter:({action:u,engine:a,isPlaying:m,time:d})=>{const{src:g,previewSrc:S,offset:E}=u.data??{},T=S||g;T&&($.warm(T),$.setSource(T)),$.setActive(!0),$.setRate(a.getPlayRate());const x=Number(E??0);$.seek(Math.max(0,d-u.start+(Number.isFinite(x)?x:0)),{force:!0}),m&&$.play()},update:({action:u,engine:a,time:m,isPlaying:d})=>{const{src:g,previewSrc:S,offset:E}=u.data??{},T=S||g;if(T&&$.setSource(T),$.setActive(!0),$.setRate(a.getPlayRate()),!d){const x=Number(E??0);$.seek(Math.max(0,m-u.start+(Number.isFinite(x)?x:0)),{force:!0})}},leave:()=>{$.pause(),$.unbindEngine(),$.setActive(!1)},stop:()=>{$.pause(),$.unbindEngine(),$.setActive(!1)}}}},Qt=[{id:"0",actions:[{id:"action0",start:0,end:10,effectId:"effect1",data:{src:"/footage/Big_Buck_Bunny_720_10s_5MB.mp4",name:"Big Buck Bunny (10s)"}}]},{id:"1",actions:[]},{id:"2",actions:[{id:"action1",start:0,end:10,effectId:"effect0",data:{src:"/footage/file_example_MP3_700KB.mp3",name:"Example MP3 (looped)"}}]},{id:"3",actions:[]}],{Option:en}=Ft.Select,tn=[.2,.5,1,1.5,2],nn=({timelineState:u,autoScrollWhenPlay:a,editorData:m,selectedActionId:d,onDeleteSelectedClip:g,onSplitSelectedClip:S,canUndo:E,canRedo:T,onUndo:x,onRedo:A})=>{const[P,N]=R.useState(!1),[q,z]=R.useState(0),[ue,X]=R.useState(!1),V=R.useRef(0),K=R.useRef(0),M=R.useRef(0),de=R.useRef(0),be=R.useRef(0),ie=R.useRef(0),fe=!!d,Ne=(()=>{if(!d)return null;const y=Array.isArray(m)?m:[];for(const O of y){const D=O?.actions;if(Array.isArray(D))for(const F of D){if(String(F?.id)!==d)continue;const _=Number(F?.start),L=Number(F?.end);return!Number.isFinite(_)||!Number.isFinite(L)?null:{start:_,end:L}}}return null})(),ke=!!(Ne&&q>Ne.start&&q<Ne.end),Ye=y=>{const O=Array.isArray(m)?m:[];for(const D of O){const F=D?.actions;if(Array.isArray(F))for(const _ of F){if(_?.effectId!=="effect1")continue;const L=Number(_?.start),H=Number(_?.end);if(!(!Number.isFinite(L)||!Number.isFinite(H))&&y>=L&&y<H)return!0}}return!1},qe=y=>{Ye(y)||($.pause(),$.unbindEngine(),$.setActive(!1))};R.useEffect(()=>{if(!u.current)return;const y=u.current,O=()=>N(!0),D=()=>N(!1),F=({time:L})=>{z(L),qe(L)},_=({time:L})=>{const H=performance.now();if(!(H-V.current<33)&&(V.current=H,z(L),qe(L),a.current)){const me=L*(nt/rt)+vt-500,ae=u.current;ae&&ae.setScrollLeft(me)}};return y.listener.on("play",O),y.listener.on("paused",D),y.listener.on("afterSetTime",F),y.listener.on("setTimeByTick",_),()=>{y.listener.off("play",O),y.listener.off("paused",D),y.listener.off("afterSetTime",F),y.listener.off("setTimeByTick",_)}},[m]);const De=()=>{u.current&&(u.current.isPlaying?u.current.pause():(re.unlock(),u.current.play({autoEnd:!0})))},oe=y=>{u.current&&u.current.setPlayRate(y)},se=y=>{const O=(parseInt(y%1*100+"")+"").padStart(2,"0"),D=(parseInt(y/60+"")+"").padStart(2,"0"),F=(parseInt(y%60+"")+"").padStart(2,"0");return v.jsx(v.Fragment,{children:`${D}:${F}.${O.replace("0.","")}`})},ee=()=>{const y=[],O=new Set,D=Array.isArray(m)?m:[];for(const F of D){const _=F?.actions;if(Array.isArray(_))for(const L of _){const H=L?.data?.src;if(!H)continue;const Se=String(H);O.has(Se)||(O.add(Se),y.push(Se))}}return y},Me=(y,O)=>{const D=URL.createObjectURL(y),F=document.createElement("a");F.href=D,F.download=O,document.body.appendChild(F),F.click(),F.remove(),setTimeout(()=>URL.revokeObjectURL(D),3e3)},ye=async()=>{if(!ue){X(!0);try{const y=ee(),O=new FormData;O.append("timeline",JSON.stringify({editorData:m}));for(const _ of y){const L=await fetch(_);if(!L.ok)throw new Error(`Failed to fetch asset: ${_} (${L.status})`);const H=await L.blob();O.append("assets",H,encodeURIComponent(_))}const D=await fetch("/export",{method:"POST",body:O});if(!D.ok){const _=await D.text().catch(()=>"");throw new Error(_||`Export failed (${D.status})`)}const F=await D.blob();Me(F,"export.mp4")}finally{X(!1)}}};return v.jsxs("div",{className:"timeline-player",children:[v.jsx("div",{className:"play-control",role:"button",tabIndex:0,"aria-label":P?"Pause":"Play",onClick:()=>{Date.now()-K.current<450||De()},onPointerUp:y=>{y.pointerType!=="mouse"&&(K.current=Date.now(),De())},children:v.jsx("img",{src:P?"/pause-button.png":"/play-button.png",alt:"",draggable:!1})}),v.jsx("div",{className:"time",children:se(q)}),v.jsxs("div",{className:"history-tools",children:[v.jsx("button",{type:"button",className:"history-tool",disabled:!E,"aria-label":"Undo",onClick:()=>{Date.now()-be.current<450||E&&x()},onPointerUp:y=>{y.pointerType!=="mouse"&&(be.current=Date.now(),E&&x())},children:v.jsx("img",{src:"/undo.png",alt:"",draggable:!1})}),v.jsx("button",{type:"button",className:"history-tool",disabled:!T,"aria-label":"Redo",onClick:()=>{Date.now()-ie.current<450||T&&A()},onPointerUp:y=>{y.pointerType!=="mouse"&&(ie.current=Date.now(),T&&A())},children:v.jsx("img",{src:"/redo.png",alt:"",draggable:!1})})]}),v.jsx("div",{className:"rate-control",children:v.jsx(Ft.Select,{size:"small",defaultValue:1,style:{width:120},onChange:oe,children:tn.map(y=>v.jsx(en,{value:y,children:`${y.toFixed(1)}x`},y))})}),v.jsxs("div",{className:"clip-tools",children:[v.jsx("button",{type:"button",className:"clip-tool clip-tool-delete",disabled:!fe,"aria-label":"Delete selected clip",onClick:()=>{Date.now()-M.current<450||fe&&g()},onPointerUp:y=>{y.pointerType!=="mouse"&&(M.current=Date.now(),fe&&g())},children:v.jsx("img",{src:"/bin.png",alt:"",draggable:!1})}),v.jsx("button",{type:"button",className:"clip-tool clip-tool-split",disabled:!ke,"aria-label":"Split selected clip at cursor",onClick:()=>{Date.now()-de.current<450||ke&&S()},onPointerUp:y=>{y.pointerType!=="mouse"&&(de.current=Date.now(),ke&&S())},children:v.jsx("img",{src:"/split.png",alt:"",draggable:!1})})]}),v.jsx("div",{className:"export-control",children:v.jsx(Ft.Button,{size:"small",type:"primary",loading:ue,onClick:ye,children:"Export"})})]})};function rn(){const u=()=>typeof window>"u"?!1:typeof navigator<"u"&&(navigator.maxTouchPoints??0)>0,[a,m]=R.useState(u);return R.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const d=window.matchMedia("(pointer: coarse)"),g=()=>m(!!d.matches||u());return g(),typeof d.addEventListener=="function"?(d.addEventListener("change",g),()=>d.removeEventListener("change",g)):(d.addListener(g),()=>d.removeListener(g))},[]),a}const on=structuredClone(Qt),ht=5,Mt=({item:u,hint:a,isDragging:m})=>v.jsxs("div",{className:`footage-card${m?" is-dragging":""}`,children:[v.jsx("div",{className:"footage-name",children:u.name}),u.kind==="video"?v.jsx("video",{className:"footage-preview",src:u.src,muted:!0,preload:"metadata",draggable:!1,onDragStart:d=>d.preventDefault(),playsInline:!0}):v.jsx("audio",{className:"footage-audio",src:u.src,controls:!0,preload:"metadata",draggable:!1,onDragStart:d=>d.preventDefault()}),v.jsx("div",{className:"footage-kind",children:a})]}),sn=({item:u,hint:a})=>{const{attributes:m,listeners:d,setNodeRef:g,transform:S,isDragging:E}=ve.useDraggable({id:`footage-${u.id}`,data:{item:u}}),T=S?{transform:`translate3d(${S.x}px, ${S.y}px, 0)`}:void 0;return v.jsx("div",{ref:g,style:T,...d,...m,children:v.jsx(Mt,{item:u,hint:a,isDragging:E})})},an=u=>String(u??"").toLowerCase().match(/\.(mp3|wav|m4a|aac|ogg)(\?|#|$)/)?"audio":"video",cn=(u,a)=>{try{const m=String(u??"").split("/").pop()||"";return decodeURIComponent(m.split("?")[0].split("#")[0])||`Footage ${a+1}`}catch{return`Footage ${a+1}`}},ln=({footageUrls:u})=>{const[a,m]=R.useState(on),[d,g]=R.useState(null),[S,E]=R.useState([]),[T,x]=R.useState([]),A=R.useRef(a),P=rn(),N=R.useRef(null),q=R.useRef(null),z=R.useRef(null),ue=R.useRef(!0),X=R.useMemo(()=>{const e=Array.isArray(u)?u.filter(Boolean):[];return e.length?e.map((n,r)=>({id:`url-${r}`,kind:an(n),name:cn(n,r),src:n,defaultDuration:10})):[]},[u]),[V,K]=R.useState(null),[M,de]=R.useState(null),[be,ie]=R.useState(null),[fe,ot]=R.useState(0),[Ne,ke]=R.useState(0),[Ye,qe]=R.useState(0),[De,oe]=R.useState(0),[se,ee]=R.useState(!1),[Me,ye]=R.useState(null),y=R.useRef(null),O=R.useRef(null),D=R.useRef(null),F=R.useRef(null),_=P?48:32,L=[0,1],H=[2,3],Se=["V1","V2","A1","A2"],me=(e,n)=>{if(n.length===0)return null;if(e==null)return n[0];let r=n[0],s=Math.abs(e-r);for(const i of n){const o=Math.abs(e-i);o<s&&(r=i,s=o)}return r},ae=(e,n)=>e?e.kind==="video"?me(n,L):me(n,H):null,Pe=e=>e===L[1]?H[1]:H[0];R.useEffect(()=>{it.warmFromEditorData(a)},[a]),R.useEffect(()=>{A.current=a},[a]),R.useLayoutEffect(()=>{const e=z.current;if(!e)return;const n=()=>{const s=e.getBoundingClientRect(),i=e.querySelector(".timeline-editor-edit-area");if(!i)return;const o=i.getBoundingClientRect();qe(o.top-s.top),oe(o.left-s.left)},r=requestAnimationFrame(n);return window.addEventListener("resize",n),()=>{cancelAnimationFrame(r),window.removeEventListener("resize",n)}},[P,a.length]);const Le=e=>{const n=z.current;if(!n||!e)return!1;const r=n.getBoundingClientRect();return e.x>=r.left&&e.x<=r.right&&e.y>=r.top&&e.y<=r.bottom},ze=R.useRef(0),pe=()=>globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`uid-${++ze.current}`,J=R.useRef(null),te=R.useRef(null),$e=R.useRef(null),Be=.9,Ie=1.05,G=R.useRef({actionId:null,edge:null}),W=R.useRef({actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,initialStart:0,initialEnd:0,takeover:!1}),Ce=R.useRef(!1),Ue=e=>e.map(n=>{const r=(n.actions??[]).map(s=>`${String(s.id)}@${Number(s.start)}-${Number(s.end)}`).join("|");return`${String(n.id)}:${r}`}).join("||"),Fe=e=>{const n=structuredClone(e);E(r=>{const s=[...r,n];return s.length>ht&&s.splice(0,s.length-ht),s}),x([])},Ve=(e,n,r,s)=>e<s&&n>r,ge=(e,n,r,s)=>{const i=Array.isArray(e?.actions)?e.actions:[];for(const o of i)if(!(!o||o.id===n)&&Ve(r,s,Number(o.start),Number(o.end)))return!0;return!1},Xe=(e,n)=>{for(let r=0;r<e.length;r++){const s=e[r],i=Array.isArray(s?.actions)?s.actions:[];for(let o=0;o<i.length;o++){const c=i[o];if(String(c?.id)===n)return{rowIndex:r,actionIndex:o,action:c}}}return null},Re=(e,n)=>{const r=Xe(e,n),s=r?.action?.data?.linkId;if(!r||!s)return null;for(let i=0;i<e.length;i++){const o=e[i],c=Array.isArray(o?.actions)?o.actions:[];for(let f=0;f<c.length;f++){const p=c[f];if(p?.data?.linkId&&String(p.data.linkId)===String(s)&&String(p.id)!==String(n))return{rowIndex:i,actionIndex:f,action:p}}}return null},st=(e,n)=>{const r=Xe(e,n);if(!r)return e;const s=Re(e,n);if(!s)return e;const i=Number(r.action.start),o=Number(r.action.end);if(!Number.isFinite(i)||!Number.isFinite(o)||o<=i||Number(s.action.start)===i&&Number(s.action.end)===o)return e;const c=structuredClone(e),f=c[s.rowIndex],p=Array.isArray(f.actions)?[...f.actions]:[],h={...p[s.actionIndex],start:i,end:o};return p.splice(s.actionIndex,1,h),f.actions=p,c},We=(e,n,r,s)=>{if(!Number.isFinite(r)||!Number.isFinite(s)||s<=r)return e;const i=Xe(e,n);if(!i)return e;const o=Re(e,n);if(!o)return e;const c=structuredClone(e),f=c[i.rowIndex],p=Array.isArray(f.actions)?[...f.actions]:[],h={...p[i.actionIndex],start:r,end:s};p.splice(i.actionIndex,1,h),f.actions=p;const b=c[o.rowIndex],k=Array.isArray(b.actions)?[...b.actions]:[],w={...k[o.actionIndex],start:r,end:s};return k.splice(o.actionIndex,1,w),b.actions=k,c},Je=(e,n,r,s)=>{if(!Number.isFinite(r)||!Number.isFinite(s)||s<=r)return e;const i=Xe(e,n);if(!i)return e;const o=Number(i.action.start),c=Number(i.action.end);if(o===r&&c===s)return e;const f=structuredClone(e),p=f[i.rowIndex],h=Array.isArray(p.actions)?[...p.actions]:[],b={...h[i.actionIndex],start:r,end:s};return h.splice(i.actionIndex,1,b),p.actions=h,f},Ge=()=>{const e=N.current?.getTime?Number(N.current.getTime()):0;return Number.isFinite(e)?Math.max(0,e):0},Ze=(e,n,r)=>{const s=Ge(),i=r-n;if(!Number.isFinite(i)||i<=0)return{start:n,end:r,snapped:!1,edge:null};const o=Math.abs(n-s),c=Math.abs(r-s),f=o<=c?"start":"end",p=Math.min(o,c),h=G.current;if(h.actionId===e&&h.edge!=null){if((h.edge==="start"?o:c)>Ie)return G.current={actionId:e,edge:null},{start:n,end:r,snapped:!1,edge:null}}else{if(p>Be)return{start:n,end:r,snapped:!1,edge:null};G.current={actionId:e,edge:f}}const w=G.current.edge;if(w==="start"){const C=s,B=C+i;return{start:Math.max(0,C),end:Math.max(Math.max(0,C),B),snapped:!0,edge:w}}const I=s,j=I-i;return{start:Math.max(0,j),end:Math.max(0,I),snapped:!0,edge:w}},at=(e,n,r,s)=>{const i=Ge(),o=s==="left"?"start":"end",c=Math.abs(o==="start"?n-i:r-i),f=G.current;if(f.actionId===e&&f.edge===o){if(c>Ie)return G.current={actionId:e,edge:null},{start:n,end:r,snapped:!1}}else{if(c>Be)return{start:n,end:r,snapped:!1};G.current={actionId:e,edge:o}}if(o==="start"){const w=Math.max(0,i),I=Math.max(w+.01,r);return{start:w,end:I,snapped:!0}}const b=Math.max(0,i),k=Math.min(n,b-.01);return{start:Math.max(0,k),end:b,snapped:!0}},bt=(e,n,r)=>{const s=e.defaultDuration??10;let i=Math.max(0,n),o=i+s;const c=N.current;c?.isPlaying&&c.pause(),m(f=>{Fe(f);const p=structuredClone(f);for(;p.length<4;)p.push({id:`${p.length}`,actions:[]});const h=Number.isFinite(Number(r))?Number(r):null,b=me(h,L)??L[0],k=me(h,H)??H[0],w=I=>{const j=[];for(const C of I){const B=Array.isArray(p[C]?.actions)?p[C].actions:[];for(const Z of B){const he=Number(Z?.start),Ee=Number(Z?.end);!Number.isFinite(he)||!Number.isFinite(Ee)||j.push({start:he,end:Ee})}}j.sort((C,B)=>C.start-B.start);for(const C of j)Ve(i,o,C.start,C.end)&&(i=C.end,o=i+s)};if(e.kind==="video"){const I=b,j=Pe(I);w([I,j]);const C=`link-${pe()}`,B=`video-${pe()}`,Z=`video-audio-${pe()}`;p[I].actions=[...p[I].actions??[],{id:B,start:i,end:o,effectId:"effect1",data:{src:e.src,previewSrc:e.previewSrc,name:e.name,linkId:C}}],p[j].actions=[...p[j].actions??[],{id:Z,start:i,end:o,effectId:"effect2",data:{src:e.src,name:e.name,linkId:C}}]}else{const I=k;w([I]),p[I].actions=[...p[I].actions??[],{id:`audio-${pe()}`,start:i,end:o,effectId:"effect0",data:{src:e.src,name:e.name}}]}return p})},yt=()=>{const e=z.current;return e?e.querySelector(".timeline-editor-edit-area .ReactVirtualized__Grid")?.scrollLeft??0:0},St=()=>fe,He=e=>{const n=z.current;if(!n)return 0;const s=(n.querySelector(".timeline-editor-edit-area")??n).getBoundingClientRect(),c=(e-s.x+yt()-vt)*rt/nt;return Math.max(0,c)},Rt=e=>{const n=Number(e);return Number.isFinite(n)?vt+n*nt/rt:0},wt=(e,n,r,s)=>{const i=e.defaultDuration??10;let o=Math.max(0,n),c=o+i;const f=[];if(e.kind==="video"){const h=r,b=Pe(h);f.push(h,b)}else f.push(r);const p=[];for(const h of f){const b=Array.isArray(s[h]?.actions)?s[h].actions:[];for(const k of b){const w=Number(k?.start),I=Number(k?.end);!Number.isFinite(w)||!Number.isFinite(I)||p.push({start:w,end:I})}}p.sort((h,b)=>h.start-b.start);for(const h of p)Ve(o,c,h.start,h.end)&&(o=h.end,c=o+i);return Math.max(0,o)},_e=e=>{const n=z.current;if(!n)return null;const r=n.querySelector(".timeline-editor-edit-area");if(!r)return null;const s=r.getBoundingClientRect(),i=e-s.y;if(i<0||i>s.height)return null;const o=i+St(),c=Math.floor(o/_);if(!Number.isFinite(c))return null;const f=Math.max(0,A.current.length-1);return Math.min(Math.max(0,c),f)},ct=e=>{if(!e)return null;if("clientX"in e&&"clientY"in e){const i=Number(e.clientX),o=Number(e.clientY);if(Number.isFinite(i)&&Number.isFinite(o))return{x:i,y:o}}const n=e.touches,r=e.changedTouches,s=(n&&n.length?n[0]:null)||(r&&r.length?r[0]:null);if(s){const i=Number(s.clientX),o=Number(s.clientY);if(Number.isFinite(i)&&Number.isFinite(o))return{x:i,y:o}}return null},ce=()=>{if(Ce.current)return;Ce.current=!0;const e=r=>{const s=W.current;if(!s.actionId||!s.mode||r.isPrimary===!1)return;const i=He(r.clientX);s.basePointerTime==null&&(s.basePointerTime=i),s.lastPointerTime=i},n=()=>{W.current={actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,initialStart:0,initialEnd:0,takeover:!1},G.current={actionId:null,edge:null}};window.addEventListener("pointermove",e,{capture:!0}),window.addEventListener("pointerup",n,{capture:!0}),window.addEventListener("pointercancel",n,{capture:!0}),W.current._removePointerListeners=()=>{window.removeEventListener("pointermove",e,{capture:!0}),window.removeEventListener("pointerup",n,{capture:!0}),window.removeEventListener("pointercancel",n,{capture:!0}),Ce.current=!1}},Ke=()=>{const e=W.current?._removePointerListeners;e?.(),delete W.current._removePointerListeners},Qe=e=>e.map(n=>({...n,selected:void 0,actions:(n.actions??[]).map(r=>({...r,selected:void 0}))})),lt=R.useMemo(()=>a.map((e,n)=>{const r=d?(e.actions??[]).some(c=>String(c.id)===d):!1,s=V!=null&&be!=null&&n===be,i=Array.isArray(e.classNames)?e.classNames:[],o=s?[...i,"dnd-drop-hover"]:i;return{...e,classNames:o,selected:r,actions:(e.actions??[]).map(c=>({...c,selected:d?String(c.id)===d:!1}))}}),[a,d,V,be]),Et=()=>{if(!d)return;const e=N.current;e?.isPlaying&&e.pause(),m(n=>{Fe(n);let r=null;for(const i of n){const o=Array.isArray(i?.actions)?i.actions:[];for(const c of o){if(String(c?.id)!==d)continue;const f=c?.data?.linkId;f!=null&&(r=String(f));break}if(r!=null)break}return n.map(i=>({...i,actions:(i.actions??[]).filter(o=>!(String(o?.id)===d||r&&String(o?.data?.linkId??"")===r))}))}),g(null)},ut=()=>{if(!d)return;const e=N.current,n=e?.getTime?e.getTime():null;if(n==null)return;const r=Number(n);Number.isFinite(r)&&(e?.isPlaying&&e.pause(),J.current=null,te.current=null,m(s=>{let i=-1,o=-1,c=null;for(let U=0;U<s.length;U++){const Y=s[U],ne=Array.isArray(Y?.actions)?Y.actions:[];for(let Q=0;Q<ne.length;Q++){const Oe=ne[Q];if(String(Oe?.id)===d){i=U,o=Q,c=Oe;break}}if(c)break}if(!c)return s;const f=c?.data?.linkId?String(c.data.linkId):null;let p=-1,h=-1,b=null;if(f)for(let U=0;U<s.length;U++){const Y=s[U],ne=Array.isArray(Y?.actions)?Y.actions:[];for(let Q=0;Q<ne.length;Q++){const Oe=ne[Q];if(String(Oe?.id)!==d&&String(Oe?.data?.linkId??"")===f){p=U,h=Q,b=Oe;break}}if(b)break}const k=Number(c.start),w=Number(c.end);if(!Number.isFinite(k)||!Number.isFinite(w)||!(k<r&&r<w))return s;Fe(s);const I=f&&b?`link-${pe()}`:f,j=f&&b?`link-${pe()}`:f,C=`${String(c.id)}-r-${pe()}`,B=Number(c?.data?.offset??0),Z=Number.isFinite(B)?B:0,he=r-k,Ee=Z+(Number.isFinite(he)?he:0),je={...c,start:k,end:r,id:c.id,data:{...c.data,offset:Z,linkId:I??void 0}},xe={...c,start:r,end:w,id:C,data:{...c.data,offset:Ee,linkId:j??void 0}},Te=structuredClone(s),le=Te[i],Ae=Array.isArray(le.actions)?[...le.actions]:[];if(Ae.splice(o,1,je,xe),Ae.sort((U,Y)=>Number(U.start)-Number(Y.start)),le.actions=Ae,b&&p>=0&&h>=0){const U=Number(b.start),Y=Number(b.end);if(Number.isFinite(U)&&Number.isFinite(Y)&&U===k&&Y===w){const ne=`${String(b.id)}-r-${pe()}`,Q={...b,start:k,end:r,id:b.id,data:{...b.data,linkId:I??void 0}},Oe={...b,start:r,end:w,id:ne,data:{...b.data,linkId:j??void 0}},It=Te[p],Ct=Array.isArray(It.actions)?[...It.actions]:[];Ct.splice(h,1,Q,Oe),Ct.sort((Lt,$t)=>Number(Lt.start)-Number($t.start)),It.actions=Ct}}return Te}))},xt=()=>{const e=N.current,n=e?.getTime?e.getTime():null;e?.isPlaying&&e.pause(),J.current=null,te.current=null,g(null),E(r=>{if(r.length===0)return r;const s=r[r.length-1],i=structuredClone(A.current);return x(o=>[...o,i]),m(structuredClone(s)),r.slice(0,-1)}),n!=null&&requestAnimationFrame(()=>{const r=N.current;r?.setTime&&r.setTime(n)})},dt=()=>{const e=N.current,n=e?.getTime?e.getTime():null;e?.isPlaying&&e.pause(),J.current=null,te.current=null,g(null),x(r=>{if(r.length===0)return r;const s=r[r.length-1],i=structuredClone(A.current);return E(o=>{const c=[...o,i];return c.length>ht&&c.splice(0,c.length-ht),c}),m(structuredClone(s)),r.slice(0,-1)}),n!=null&&requestAnimationFrame(()=>{const r=N.current;r?.setTime&&r.setTime(n)})},ft=ve.useSensors(ve.useSensor(ve.PointerSensor,{activationConstraint:{distance:6}}),ve.useSensor(ve.TouchSensor,{activationConstraint:{delay:180,tolerance:6}})),{setNodeRef:Tt,isOver:At}=ve.useDroppable({id:"timeline-drop"}),mt=e=>{const n=e.active.data.current?.item;K(n??null);const r=ct(e.activatorEvent);if(y.current=r,O.current=r,ye(r),r){const i=Le(r);ee(i);const o=_e(r.y);ie(i?ae(n??null,o):null)}else ie(null),ee(!1);const s=e.active.rect.current.initial;de(s?{width:s.width,height:s.height}:null)},pt=e=>{const n=e.active.rect.current.initial;!M&&n&&de({width:n.width,height:n.height});const r=O.current;if(!r){ie(null);return}const s=Number(e?.delta?.x??0),i=Number(e?.delta?.y??0),o={x:r.x+(Number.isFinite(s)?s:0),y:r.y+(Number.isFinite(i)?i:0)};y.current=o,ye(o);const c=Le(o);ee(c);const f=_e(o.y);ie(c?ae(V,f):null)},Nt=e=>{const n=e.active.data.current?.item,r=O.current,s=Number(e?.delta?.x??0),i=Number(e?.delta?.y??0),o=r?{x:r.x+(Number.isFinite(s)?s:0),y:r.y+(Number.isFinite(i)?i:0)}:y.current;y.current=o;const f=String(e.over?.id??"")==="timeline-drop"||Le(o);if(n&&f&&o){const p=He(o.x),h=_e(o.y),b=ae(n,h);ie(b),bt(n,Math.max(0,p),b)}K(null),de(null),ie(null),ee(!1),ye(null),O.current=null},kt=()=>{K(null),de(null),ie(null),ee(!1),ye(null),O.current=null},we=R.useMemo(()=>{if(!V||!se)return null;const e=Me;if(!e)return null;const n=_e(e.y),r=ae(V,n);if(r==null)return null;const s=He(e.x),i=wt(V,s,r,A.current),o=V.defaultDuration??10;return{laneRow:r,desiredStart:s,start:i,end:i+o,duration:o,kind:V.kind}},[V,se,Me,Ne,fe,_]),Pt=e=>{if(!P||e.pointerType==="mouse"||V)return;if(!!e.target?.closest?.(".timeline-editor-cursor-area, .timeline-editor-cursor")){F.current={pointerId:e.pointerId},D.current=null;try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}e.preventDefault();return}D.current={x:e.clientX,y:e.clientY}},t=e=>{if(!P||e.pointerType==="mouse"||V||!F.current||F.current.pointerId!==e.pointerId)return;const n=He(e.clientX);N.current&&N.current.setTime(n),e.preventDefault()},l=e=>{if(!P||e.pointerType==="mouse"||V)return;if(F.current&&F.current.pointerId===e.pointerId){F.current=null;try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}e.preventDefault();return}const n=D.current;D.current=null;const r=n?Math.abs(e.clientX-n.x):0,s=n?Math.abs(e.clientY-n.y):0;if(r>10||s>10)return;const o=e.target?.closest?.("[data-action-id]"),c=o?.getAttribute("data-row-id"),f=o?.getAttribute("data-action-id");if(c&&f){g(f);return}const p=He(e.clientX);g(null),N.current&&N.current.setTime(p)};return v.jsx(ve.DndContext,{sensors:ft,collisionDetection:ve.rectIntersection,onDragStart:mt,onDragMove:pt,onDragEnd:Nt,onDragCancel:kt,children:v.jsxs("div",{className:"timeline-editor-engine",children:[v.jsx("div",{className:"player-config",children:v.jsx("div",{className:"footage-bin",children:X.map(e=>v.jsx(sn,{item:e,hint:P?"Press-hold, then drag into timeline":"Drag into timeline"},e.id))})}),v.jsx("div",{className:"player-panel",ref:q,children:v.jsx("video",{className:"player-video",preload:"auto",playsInline:!0,muted:!0,controls:!1,disablePictureInPicture:!0,disableRemotePlayback:!0,controlsList:"nodownload noplaybackrate noremoteplayback",tabIndex:-1,onContextMenu:e=>e.preventDefault(),ref:e=>$.attach(e)})}),v.jsx(nn,{timelineState:N,autoScrollWhenPlay:ue,editorData:a,selectedActionId:d,onDeleteSelectedClip:Et,onSplitSelectedClip:ut,canUndo:S.length>0,canRedo:T.length>0,onUndo:xt,onRedo:dt}),v.jsxs("div",{className:`timeline-drop${At?" is-over":""}`,ref:e=>{z.current=e,Tt(e)},onPointerDown:Pt,onPointerMove:t,onPointerUp:l,children:[v.jsx("div",{className:"timeline-lane-labels",style:{top:Ye,transform:`translateY(${-fe}px)`,height:_*Se.length},children:Se.map((e,n)=>v.jsx("div",{className:`timeline-lane-label${be===n?" is-hover":""}`,style:{height:_},children:e},e))}),we?v.jsx("div",{className:"timeline-ghost-layer",style:{top:Ye,left:De},children:(()=>{const e=nt/rt,n=we.duration*e,r=Rt(we.start)-Ne,s=[];return we.kind==="video"?(s.push({row:we.laneRow,kind:"video"}),s.push({row:Pe(we.laneRow),kind:"audio"})):s.push({row:we.laneRow,kind:"audio"}),s.map(i=>v.jsx("div",{className:`timeline-ghost-clip${i.kind==="video"?" is-video":" is-audio"}`,style:{left:r,top:i.row*_-fe,width:n,height:_}},`${i.kind}-${i.row}`))})()}):null,v.jsx(Bt.Timeline,{scale:rt,scaleWidth:nt,startLeft:vt,rowHeight:_,autoScroll:!0,ref:N,editorData:lt,effects:Zt,onScroll:e=>{const n=Number(e?.scrollTop??0),r=Number(e?.scrollLeft??0);Number.isFinite(n)&&ot(n),Number.isFinite(r)&&ke(r)},onClickTimeArea:(e,n)=>{g(null)},onClickRow:e=>{e.target?.closest?.(".timeline-editor-action")||g(null)},onClickActionOnly:(e,{action:n})=>{const r=n;r?.id&&g(String(r.id))},onActionMoveStart:({action:e})=>{$e.current=String(e?.id??""),G.current={actionId:String(e?.id??""),edge:null};const n=Number(e?.start),r=Number(e?.end);W.current={actionId:String(e?.id??""),mode:"move",dir:null,basePointerTime:null,lastPointerTime:null,initialStart:Number.isFinite(n)?n:0,initialEnd:Number.isFinite(r)?r:0,takeover:!1},ce(),!J.current&&(J.current=structuredClone(a),te.current=Ue(a))},onActionMoveEnd:()=>{const e=J.current,n=te.current;e&&n&&Ue(A.current)!==n&&Fe(e),J.current=null,te.current=null,$e.current=null,G.current={actionId:null,edge:null},W.current={actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,initialStart:0,initialEnd:0,takeover:!1},Ke()},onActionResizeStart:({action:e})=>{$e.current=String(e?.id??""),G.current={actionId:String(e?.id??""),edge:null};const n=Number(e?.start),r=Number(e?.end);W.current={actionId:String(e?.id??""),mode:"resize",dir:null,basePointerTime:null,lastPointerTime:null,initialStart:Number.isFinite(n)?n:0,initialEnd:Number.isFinite(r)?r:0,takeover:!1},ce(),!J.current&&(J.current=structuredClone(a),te.current=Ue(a))},onActionResizeEnd:()=>{const e=J.current,n=te.current;e&&n&&Ue(A.current)!==n&&Fe(e),J.current=null,te.current=null,$e.current=null,G.current={actionId:null,edge:null},W.current={actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,initialStart:0,initialEnd:0,takeover:!1},Ke()},onActionMoving:({action:e,row:n,start:r,end:s})=>{const i=String(e?.id??""),o=W.current;if(o.takeover&&o.mode==="move"&&o.actionId===i){const j=o.basePointerTime,C=o.lastPointerTime,B=j!=null&&C!=null?C-j:0,Z=o.initialStart+B,he=o.initialEnd+B,Ee=Ze(i,Z,he),je=Ee.start,xe=Ee.end;if(ge(n,String(e.id),je,xe))return!1;const le=A.current,Ae=Re(le,String(e.id));if(Ae){const U=le[Ae.rowIndex];if(U&&ge(U,String(Ae.action.id),je,xe))return!1}return m(U=>{const Y=Ae?We(U,String(e.id),je,xe):Je(U,String(e.id),je,xe);return A.current=Y,Y}),!1}const c=Number(r),f=Number(s);if(!Number.isFinite(c)||!Number.isFinite(f)||f<=c)return!1;const p=Ze(i,c,f),h=p.start,b=p.end;if(!Number.isFinite(h)||!Number.isFinite(b)||b<=h||ge(n,String(e.id),h,b))return!1;const w=A.current,I=Re(w,String(e.id));if(I){const j=w[I.rowIndex];if(j&&ge(j,String(I.action.id),h,b))return!1}if((I||p.snapped)&&m(j=>{const C=I?We(j,String(e.id),h,b):Je(j,String(e.id),h,b);return A.current=C,C}),p.snapped){const j=W.current.lastPointerTime;return W.current={actionId:i,mode:"move",dir:null,basePointerTime:j,lastPointerTime:W.current.lastPointerTime,initialStart:c,initialEnd:f,takeover:!0},ce(),!1}},onActionResizing:({action:e,row:n,start:r,end:s,dir:i})=>{const o=String(e?.id??""),c=W.current,f=i??"right";if(c.takeover&&c.mode==="resize"&&c.actionId===o){const B=c.basePointerTime,Z=c.lastPointerTime,he=B!=null&&Z!=null?Z-B:0,Ee=f==="left"?c.initialStart+he:c.initialStart,je=f==="right"?c.initialEnd+he:c.initialEnd,xe=at(o,Ee,je,f),Te=xe.start,le=xe.end;if(ge(n,String(e.id),Te,le))return!1;const U=A.current,Y=Re(U,String(e.id));if(Y){const ne=U[Y.rowIndex];if(ne&&ge(ne,String(Y.action.id),Te,le))return!1}return m(ne=>{const Q=Y?We(ne,String(e.id),Te,le):Je(ne,String(e.id),Te,le);return A.current=Q,Q}),!1}const p=Number(r),h=Number(s);if(!Number.isFinite(p)||!Number.isFinite(h)||h<=p)return!1;const b=at(o,p,h,f),k=b.start,w=b.end;if(!Number.isFinite(k)||!Number.isFinite(w)||w<=k||ge(n,String(e.id),k,w))return!1;const j=A.current,C=Re(j,String(e.id));if(C){const B=j[C.rowIndex];if(B&&ge(B,String(C.action.id),k,w))return!1}if((C||b.snapped)&&m(B=>{const Z=C?We(B,String(e.id),k,w):Je(B,String(e.id),k,w);return A.current=Z,Z}),b.snapped){const B=W.current.lastPointerTime;return W.current={actionId:o,mode:"resize",dir:f,basePointerTime:B,lastPointerTime:W.current.lastPointerTime,initialStart:p,initialEnd:h,takeover:!0},ce(),!1}},onChange:e=>{const n=Qe(e),r=$e.current,s=r?st(n,r):n;m(s);const i=J.current,o=te.current;i&&o&&(Ue(s)!==o&&Fe(i),J.current=null,te.current=null)},getActionRender:(e,n)=>{if(e.effectId==="effect0")return v.jsx(Ht,{action:e,row:n});if(e.effectId==="effect2")return v.jsx(qt,{action:e,row:n});if(e.effectId==="effect1")return v.jsx(Yt,{action:e,row:n})}})]}),v.jsx(ve.DragOverlay,{children:V?v.jsx("div",{className:"footage-overlay",style:M?{width:M.width,height:M.height}:void 0,children:v.jsx(Mt,{item:V,hint:"Drop on timeline",isDragging:!0})}):null})]})})};exports.MeliesVideoEditor=ln;
14
+ <%s key={someKey} {...props} />`,Se,VA,Ze,VA),re[VA+Se]=!0}}return e===c?Ve(sA):Ge(sA),sA}}function Ee(e,g,E){return Le(e,g,E,!0)}function Ye(e,g,E){return Le(e,g,E,!1)}var Oe=Ye,ve=Ee;Ne.Fragment=c,Ne.jsx=Oe,Ne.jsxs=ve})()),Ne}var ot;function Ct(){return ot||(ot=1,process.env.NODE_ENV==="production"?We.exports=dt():We.exports=ft()),We.exports}var D=Ct();const Et=({action:B,row:s})=>D.jsx("div",{className:"effect0","data-action-id":B.id,"data-row-id":s.id,children:D.jsx("div",{className:"effect0-text",children:`Audio: ${B.data.name}`})}),Qt=({action:B,row:s})=>D.jsx("div",{className:"effect1","data-action-id":B.id,"data-row-id":s.id,children:D.jsx("div",{className:"effect1-text",children:`Video: ${B.data.name}`})}),wt=({action:B,row:s})=>D.jsx("div",{className:"effect2","data-action-id":B.id,"data-row-id":s.id,children:D.jsx("div",{className:"effect2-text",children:`Video audio: ${B.data.name}`})}),st=B=>{const s=B.toLowerCase();return s.endsWith(".mp4")||s.endsWith(".webm")||s.endsWith(".mov")||s.endsWith(".m4v")?"video":s.endsWith(".mp3")||s.endsWith(".wav")||s.endsWith(".ogg")||s.endsWith(".m4a")||s.endsWith(".aac")?"audio":"other"};class It{blobUrlBySrc=new Map;pendingBySrc=new Map;async preloadToBlobUrl(s){if(!s)return s;const d=this.blobUrlBySrc.get(s);if(d)return d;const c=this.pendingBySrc.get(s);if(c)return c;const f=(async()=>{const Q=await fetch(s,{cache:"force-cache"});if(!Q.ok)throw new Error(`Failed to fetch ${s}: ${Q.status}`);const b=await Q.blob(),U=URL.createObjectURL(b);return this.blobUrlBySrc.set(s,U),U})().catch(Q=>(console.warn("[mediaCache] preload failed:",s,Q),s)).finally(()=>{this.pendingBySrc.delete(s)});return this.pendingBySrc.set(s,f),f}resolve(s){return this.blobUrlBySrc.get(s)??s}warm(s){this.preloadToBlobUrl(s)}async warmAll(s,d){const c=[],f=new Set;for(const Y of s){const m=String(Y??"");if(!m||f.has(m))continue;f.add(m);const X=st(m);X!=="video"&&X!=="audio"||c.push(m)}if(c.length===0)return;const Q=Math.max(1,Math.floor(d?.concurrency??3)),b=d?.yieldBetween!==!1;let U=0;const H=Array.from({length:Math.min(Q,c.length)},async()=>{for(;U<c.length;){const Y=c[U++];await this.preloadToBlobUrl(Y),b&&await new Promise(m=>setTimeout(m,0))}});await Promise.all(H)}warmFromEditorData(s){const d=new Set,c=Array.isArray(s)?s:[];for(const f of c){const Q=f?.actions;if(Array.isArray(Q))for(const b of Q){const U=b?.data?.src,H=b?.data?.previewSrc;typeof U=="string"&&U&&d.add(U),typeof H=="string"&&H&&d.add(H)}}for(const f of d){const Q=st(f);(Q==="video"||Q==="audio")&&this.warm(f)}}}const ye=new It,Dt=B=>{if(!B)return;const d=B.split("#")[0].split("?")[0].toLowerCase(),c=d.lastIndexOf(".");if(c<0)return;const f=d.slice(c+1);if(f)return f==="m4a"||f==="m4v"?"mp4":f};class ht{howlBySrc={};activeByActionId={};getHowl(s){const d=ye.resolve(s),c=d.startsWith("blob:")?s:d,f=c;if(this.howlBySrc[f])return this.howlBySrc[f];const Q=Dt(s),b=new nt.Howl({src:[c],format:Q?[Q]:void 0,loop:!0,autoplay:!1,preload:!0});return this.howlBySrc[f]=b,b}unlock(){try{const s=nt.Howler.ctx;s&&s.state==="suspended"&&s.resume()}catch{}}warm(s){s&&(ye.warm(s),this.getHowl(s))}seekForEngineTime(s,d,c,f,Q){const b=Number(Q),U=Number.isFinite(b)?b:0,H=s.duration();if(!Number.isFinite(H)||H<=0){s.seek(Math.max(0,f-c+U),d);return}const Y=(f-c+U)%H,m=Y<0?Y+H:Y;s.seek(m,d)}start(s){const{actionId:d,src:c,startTime:f,time:Q,engine:b}=s,U=Number(s.offset??0),H=Number.isFinite(U)?U:0,Y=this.activeByActionId[d];if(Y){const BA=this.getHowl(Y.src);BA.rate(b.getPlayRate(),Y.soundId);try{BA.playing(Y.soundId)||BA.play(Y.soundId)}catch{}b.isPlaying||this.seekForEngineTime(BA,Y.soundId,Y.startTime,Q,Y.offset);return}const m=this.getHowl(c),X=m.play();m.rate(b.getPlayRate(),X),this.seekForEngineTime(m,X,f,Q,H);let G=performance.now();const DA=({time:BA})=>{const hA=performance.now();if(!b.isPlaying){this.seekForEngineTime(m,X,f,BA,H);return}hA-G<120||(G=hA,this.seekForEngineTime(m,X,f,BA,H))},z=({rate:BA})=>{m.rate(BA,X)};b.on("afterSetTime",DA),b.on("afterSetPlayRate",z),this.activeByActionId[d]={src:c,startTime:f,offset:H,soundId:X,engine:b,lastResyncAtMs:G,time:DA,rate:z}}stop(s){const{actionId:d}=s,c=this.activeByActionId[d];if(!c)return;const f=this.getHowl(c.src);try{f.stop(c.soundId)}catch{}c.time&&c.engine.off("afterSetTime",c.time),c.rate&&c.engine.off("afterSetPlayRate",c.rate),delete this.activeByActionId[d]}}const vA=new ht;class mt{videoEl=null;currentSrc=null;lastSeekAtMs=0;lastRate=null;videoClaims={};activeVideoActionId=null;lastEngineTime=0;boundEngine=null;boundActionStart=0;vfcHandle=null;rafHandle=null;attach(s){this.videoEl=s,this.currentSrc=s?.currentSrc||s?.getAttribute("src")||null,this.lastSeekAtMs=0,this.lastRate=null,this.unbindEngine(),this.videoClaims={},this.activeVideoActionId=null,this.lastEngineTime=0,this.setActive(!1)}setActive(s){this.videoEl&&(this.videoEl.style.opacity=s?"1":"0")}claimVideo(s){const d=String(s.actionId),c=Number.isFinite(Number(s.layer))?Number(s.layer):0,f=String(s.src??""),Q=Number(s.actionStart),b=Number(s.time),U=s.engine,H=!!s.isPlaying,Y=Number(s.offset??0),m=Number.isFinite(Y)?Y:0;if(!f||!Number.isFinite(Q)||!Number.isFinite(b))return;const X=performance.now();this.lastEngineTime=b,this.videoClaims[d]={actionId:d,layer:c,src:f,actionStart:Q,offset:m,engine:U,isPlaying:H,time:b,claimedAtMs:X};let G=null;for(const z of Object.values(this.videoClaims)){if(!G){G=z;continue}if(z.layer>G.layer){G=z;continue}z.layer===G.layer&&z.claimedAtMs>G.claimedAtMs&&(G=z)}if(!G)return;this.activeVideoActionId=G.actionId,this.setActive(!0),this.setRate(G.engine.getPlayRate()),this.setSource(G.src);const DA=Math.max(0,G.time-G.actionStart+G.offset);this.seek(DA,{force:!G.isPlaying}),G.isPlaying?this.play():this.pause()}releaseVideo(s){const d=String(s);if(delete this.videoClaims[d],this.activeVideoActionId&&this.activeVideoActionId!==d)return;let c=null;for(const Q of Object.values(this.videoClaims)){if(!c){c=Q;continue}if(Q.layer>c.layer){c=Q;continue}Q.layer===c.layer&&Q.claimedAtMs>c.claimedAtMs&&(c=Q)}if(!c){this.activeVideoActionId=null,this.pause(),this.unbindEngine(),this.setActive(!1);return}this.activeVideoActionId=c.actionId,this.setActive(!0),this.setRate(c.engine.getPlayRate()),this.setSource(c.src);const f=Math.max(0,this.lastEngineTime-c.actionStart+c.offset);this.seek(f,{force:!c.isPlaying}),c.isPlaying?this.play():this.pause()}bindEngine(s,d){this.unbindEngine(),this.boundEngine=s,this.boundActionStart=d,this.tickFromVideo()}unbindEngine(){const s=this.videoEl;if(this.vfcHandle!=null&&s?.cancelVideoFrameCallback)try{s.cancelVideoFrameCallback(this.vfcHandle)}catch{}this.rafHandle!=null&&cancelAnimationFrame(this.rafHandle),this.vfcHandle=null,this.rafHandle=null,this.boundEngine=null}tickFromVideo=()=>{if(!this.videoEl||!this.boundEngine||this.videoEl.paused)return;const s=this.boundActionStart+this.videoEl.currentTime;Math.abs(this.boundEngine.getTime()-s)>.03&&this.boundEngine.setTime(s,!0);const d=this.videoEl;d?.requestVideoFrameCallback?this.vfcHandle=d.requestVideoFrameCallback(()=>this.tickFromVideo()):this.rafHandle=requestAnimationFrame(()=>this.tickFromVideo())};setSource(s){if(!this.videoEl||!s)return;const d=ye.resolve(s);if(!((this.videoEl.currentSrc||this.videoEl.getAttribute("src")||"")===d||this.currentSrc===d)){this.currentSrc=d,this.videoEl.preload="auto",this.videoEl.src=d;try{this.videoEl.load()}catch{}}}warm(s){s&&ye.warm(s)}setRate(s){this.videoEl&&this.lastRate!==s&&(this.lastRate=s,this.videoEl.playbackRate=s)}seek(s,d){if(this.videoEl)try{const c=performance.now(),f=d?.force===!0,Q=this.videoEl.currentTime;if(!f&&!this.videoEl.paused&&(Math.abs(Q-s)<.12||c-this.lastSeekAtMs<150))return;const b=this.videoEl.duration;Number.isFinite(b)&&b>0?this.videoEl.currentTime=Math.min(s,Math.max(0,b-.05)):this.videoEl.currentTime=Math.max(0,s),this.lastSeekAtMs=c}catch{}}async play(){if(this.videoEl)try{await this.videoEl.play(),this.boundEngine&&this.tickFromVideo()}catch{}}pause(){this.videoEl&&this.videoEl.pause()}}const kA=new mt,Ft=160,Rt=5,pt={effect0:{id:"effect0",name:"Play audio",source:{start:({action:B,engine:s,isPlaying:d,time:c})=>{if(d){const{src:f,offset:Q}=B.data;vA.warm(f),vA.start({actionId:B.id,src:f,startTime:B.start,engine:s,time:c,offset:Q})}},enter:({action:B,engine:s,isPlaying:d,time:c})=>{if(d){const{src:f,offset:Q}=B.data;vA.warm(f),vA.start({actionId:B.id,src:f,startTime:B.start,engine:s,time:c,offset:Q})}},leave:({action:B})=>{vA.stop({actionId:B.id})},stop:({action:B})=>{vA.stop({actionId:B.id})}}},effect2:{id:"effect2",name:"Play video audio",source:{start:({action:B,engine:s,isPlaying:d,time:c})=>{if(d){const{src:f,offset:Q}=B.data;vA.warm(f),vA.start({actionId:B.id,src:f,startTime:B.start,engine:s,time:c,offset:Q})}},enter:({action:B,engine:s,isPlaying:d,time:c})=>{if(d){const{src:f,offset:Q}=B.data;vA.warm(f),vA.start({actionId:B.id,src:f,startTime:B.start,engine:s,time:c,offset:Q})}},leave:({action:B})=>{vA.stop({actionId:B.id})},stop:({action:B})=>{vA.stop({actionId:B.id})}}},effect1:{id:"effect1",name:"Play video",source:{start:({action:B,engine:s,isPlaying:d,time:c})=>{const{src:f,previewSrc:Q,offset:b,videoLayer:U}=B.data??{},H=Q||f;H&&kA.warm(H),kA.claimVideo({actionId:String(B.id),layer:Number.isFinite(Number(U))?Number(U):0,src:H,engine:s,isPlaying:d,time:c,actionStart:Number(B.start),offset:b})},enter:({action:B,engine:s,isPlaying:d,time:c})=>{const{src:f,previewSrc:Q,offset:b,videoLayer:U}=B.data??{},H=Q||f;H&&kA.warm(H),kA.claimVideo({actionId:String(B.id),layer:Number.isFinite(Number(U))?Number(U):0,src:H,engine:s,isPlaying:d,time:c,actionStart:Number(B.start),offset:b})},update:({action:B,engine:s,time:d,isPlaying:c})=>{const{src:f,previewSrc:Q,offset:b,videoLayer:U}=B.data??{},H=Q||f;kA.claimVideo({actionId:String(B.id),layer:Number.isFinite(Number(U))?Number(U):0,src:H,engine:s,isPlaying:c,time:d,actionStart:Number(B.start),offset:b})},leave:({action:B})=>{kA.releaseVideo(String(B.id))},stop:({action:B})=>{kA.releaseVideo(String(B.id))}}}},Ot="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAtlQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANlVkNAAAAPN0Uk5TABYvRE1VWkg1HAcYU4Kt2vj/4ruTYikBCZnX7q9lGwVQ9P7KbhUfiej6Pi6jy1cCHqLUD435wqogGrj1C+vlZgMEj85AEror2REndyrp2OG9MBne/JsIx4Cc42jIOrMiBtCGNiUU/w5Fdaj3iHs8HW/E7CP2vpXTRsGOtl79+xfGNPNK39xM8DKYKLQN8dKSas0MPaxPp22ULKUK8p9Bv2uD1XI5EyaRkELPcOctOO9zO90/ECQ37eDA29ZLw7whQ7Uz5MzJ0VJgsOahTre56ough4FsjHSxVGFJf1h2ioRxhX5fxWl6plmXR2eWrlGeZFudikazJAAAFoFJREFUeJztnXt8FdW1x2fi60NauARuBNsomEbAABJALiDRAEEN70cVJFIlvK7FUIu89BYQFDE+uTxslZAHArkXKpILBBIVCVQpj/KMBotepQIV/VihvQiW6OGCiBxgzzlrnzNrZs6s3/eP/rFnnb1X5Us4mfnN3qYBRGO63QBwFwggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHG8IYH7HKSPu9P8ed7sZWbgtwI/O/tkHjZwd+My1joThpgANv0g0T6gvxZ924BNnuxGKawI0Mr+sfzRUQcJpBz5wqhu5uCRAE9IP+YaHkqr5e5GNKwI0N789TCxNMs3drL1IxwUB0sy/H9Eov76qhq0V4LwAbU3zQ82P3LDna5ZWgOG8AJfXOaX/oYREc7P9rYAzOCtAR3NvZB9M3dPqbXtbAWdxVIDG174b8WdbmmalfZ2AczgoQBdzZ1Sfb2O+aVMn4DzOCXC7uS3aKeJurrCjExCEYwI0Sd4S/SQpta9aG/0sIAinBOixOYJv/wri09bjcaGdOCRAL9O2L/G3rvnGrqmAUwKkNdpo42wZ5gobZxOOIwIMMN+ydb5Mc81Xtk4oGCcEGGi+bveUddtXUh8ngZA4IcDgcoZJux86iseENuCAAPeu4Zm3p7mIZ2JR8AvQ6whbqKO3uZBrajGwCzDULA1XEt88admgM0nQLXtGmeaS+vS0QLZZ83JU3QF2AcYsDn29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",vt="data:image/png;base64,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AAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiA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",St="data:image/png;base64,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",bt="data:image/png;base64,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AIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKgu8P8Ho19MJOV4IQAAAABJRU5ErkJggg==",Ht="data:image/png;base64,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",Nt="data:image/png;base64,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UEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIA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",{Option:yt}=et.Select,Ut=[.2,.5,1,1.5,2],Pt=({timelineState:B,autoScrollWhenPlay:s,scale:d,scaleWidth:c,startLeft:f,editorData:Q,selectedActionId:b,onDeleteSelectedClip:U,onSplitSelectedClip:H,canUndo:Y,canRedo:m,onUndo:X,onRedo:G})=>{const[DA,z]=F.useState(!1),[BA,hA]=F.useState(0),[yA,rA]=F.useState(!1),cA=F.useRef(0),_A=F.useRef(0),TA=F.useRef(0),JA=F.useRef(0),WA=F.useRef(0),SA=F.useRef(0),bA=!!b,XA=(()=>{if(!b)return null;const v=Array.isArray(Q)?Q:[];for(const AA of v){const eA=AA?.actions;if(Array.isArray(eA))for(const V of eA){if(String(V?.id)!==b)continue;const q=Number(V?.start),tA=Number(V?.end);return!Number.isFinite(q)||!Number.isFinite(tA)?null:{start:q,end:tA}}}return null})(),$A=!!(XA&&BA>XA.start&&BA<XA.end),mA=v=>{const AA=Array.isArray(Q)?Q:[];for(const eA of AA){const V=eA?.actions;if(Array.isArray(V))for(const q of V){if(q?.effectId!=="effect1")continue;const tA=Number(q?.start),aA=Number(q?.end);if(!(!Number.isFinite(tA)||!Number.isFinite(aA))&&v>=tA&&v<aA)return!0}}return!1},HA=v=>{mA(v)||(kA.pause(),kA.unbindEngine(),kA.setActive(!1))};F.useEffect(()=>{if(!B.current)return;const v=B.current,AA=()=>z(!0),eA=()=>z(!1),V=({time:tA})=>{hA(tA),HA(tA)},q=({time:tA})=>{const aA=performance.now();if(!(aA-cA.current<33)&&(cA.current=aA,hA(tA),HA(tA),s.current)){const NA=tA*(c/d)+f-500,LA=B.current;LA&&LA.setScrollLeft(NA)}};return v.listener.on("play",AA),v.listener.on("paused",eA),v.listener.on("afterSetTime",V),v.listener.on("setTimeByTick",q),()=>{v.listener.off("play",AA),v.listener.off("paused",eA),v.listener.off("afterSetTime",V),v.listener.off("setTimeByTick",q)}},[Q]);const UA=()=>{B.current&&(B.current.isPlaying?B.current.pause():(vA.unlock(),B.current.play({autoEnd:!0})))},de=v=>{B.current&&B.current.setPlayRate(v)},se=v=>{const AA=(parseInt(v%1*100+"")+"").padStart(2,"0"),eA=(parseInt(v/60+"")+"").padStart(2,"0"),V=(parseInt(v%60+"")+"").padStart(2,"0");return D.jsx(D.Fragment,{children:`${eA}:${V}.${AA.replace("0.","")}`})},GA=()=>{const v=[],AA=new Set,eA=Array.isArray(Q)?Q:[];for(const V of eA){const q=V?.actions;if(Array.isArray(q))for(const tA of q){const aA=tA?.data?.src;if(!aA)continue;const PA=String(aA);AA.has(PA)||(AA.add(PA),v.push(PA))}}return v},ae=(v,AA)=>{const eA=URL.createObjectURL(v),V=document.createElement("a");V.href=eA,V.download=AA,document.body.appendChild(V),V.click(),V.remove(),setTimeout(()=>URL.revokeObjectURL(eA),3e3)},zA=async()=>{if(!yA){rA(!0);try{const v=GA(),AA=new FormData;AA.append("timeline",JSON.stringify({editorData:Q}));for(const q of v){const tA=await fetch(q);if(!tA.ok)throw new Error(`Failed to fetch asset: ${q} (${tA.status})`);const aA=await tA.blob();AA.append("assets",aA,encodeURIComponent(q))}const eA=await fetch("/export",{method:"POST",body:AA});if(!eA.ok){const q=await eA.text().catch(()=>"");throw new Error(q||`Export failed (${eA.status})`)}const V=await eA.blob();ae(V,"export.mp4")}finally{rA(!1)}}};return D.jsxs("div",{className:"timeline-player",children:[D.jsx("div",{className:"play-control",role:"button",tabIndex:0,"aria-label":DA?"Pause":"Play",onClick:()=>{Date.now()-_A.current<450||UA()},onPointerUp:v=>{v.pointerType!=="mouse"&&(_A.current=Date.now(),UA())},children:D.jsx("img",{src:DA?vt:Ot,alt:"",draggable:!1})}),D.jsx("div",{className:"time",children:se(BA)}),D.jsxs("div",{className:"history-tools",children:[D.jsx("button",{type:"button",className:"history-tool",disabled:!Y,"aria-label":"Undo",onClick:()=>{Date.now()-WA.current<450||Y&&X()},onPointerUp:v=>{v.pointerType!=="mouse"&&(WA.current=Date.now(),Y&&X())},children:D.jsx("img",{src:St,alt:"",draggable:!1})}),D.jsx("button",{type:"button",className:"history-tool",disabled:!m,"aria-label":"Redo",onClick:()=>{Date.now()-SA.current<450||m&&G()},onPointerUp:v=>{v.pointerType!=="mouse"&&(SA.current=Date.now(),m&&G())},children:D.jsx("img",{src:bt,alt:"",draggable:!1})})]}),D.jsx("div",{className:"rate-control",children:D.jsx(et.Select,{size:"small",defaultValue:1,style:{width:120},onChange:de,children:Ut.map(v=>D.jsx(yt,{value:v,children:`${v.toFixed(1)}x`},v))})}),D.jsxs("div",{className:"clip-tools",children:[D.jsx("button",{type:"button",className:"clip-tool clip-tool-delete",disabled:!bA,"aria-label":"Delete selected clip",onClick:()=>{Date.now()-TA.current<450||bA&&U()},onPointerUp:v=>{v.pointerType!=="mouse"&&(TA.current=Date.now(),bA&&U())},children:D.jsx("img",{src:Ht,alt:"",draggable:!1})}),D.jsx("button",{type:"button",className:"clip-tool clip-tool-split",disabled:!$A,"aria-label":"Split selected clip at cursor",onClick:()=>{Date.now()-JA.current<450||$A&&H()},onPointerUp:v=>{v.pointerType!=="mouse"&&(JA.current=Date.now(),$A&&H())},children:D.jsx("img",{src:Nt,alt:"",draggable:!1})})]}),D.jsx("div",{className:"export-control",children:D.jsx(et.Button,{size:"small",type:"primary",loading:yA,onClick:zA,children:"Export"})})]})};function xt(){const B=()=>typeof window>"u"?!1:typeof navigator<"u"&&(navigator.maxTouchPoints??0)>0,[s,d]=F.useState(B);return F.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const c=window.matchMedia("(pointer: coarse)"),f=()=>d(!!c.matches||B());return f(),typeof c.addEventListener=="function"?(c.addEventListener("change",f),()=>c.removeEventListener("change",f)):(c.addListener(f),()=>c.removeListener(f))},[]),s}const Mt="data:image/png;base64,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",kt="data:image/png;base64,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",Jt="data:image/png;base64,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",at=()=>[{id:"0",actions:[]},{id:"1",actions:[]},{id:"2",actions:[]},{id:"3",actions:[]}],Xe=5,ct=({item:B,hint:s,isDragging:d})=>D.jsxs("div",{className:`footage-card${d?" is-dragging":""}`,children:[D.jsx("div",{className:"footage-name",children:B.name}),B.kind==="video"?D.jsx("video",{className:"footage-preview",src:B.src,muted:!0,preload:"metadata",draggable:!1,onDragStart:c=>c.preventDefault(),playsInline:!0}):D.jsx("audio",{className:"footage-audio",src:B.src,controls:!0,preload:"metadata",draggable:!1,onDragStart:c=>c.preventDefault()}),D.jsx("div",{className:"footage-kind",children:s})]}),Gt=({item:B,hint:s})=>{const{attributes:d,listeners:c,setNodeRef:f,transform:Q,isDragging:b}=jA.useDraggable({id:`footage-${B.id}`,data:{item:B}}),U=Q?{transform:`translate3d(${Q.x}px, ${Q.y}px, 0)`}:void 0;return D.jsx("div",{ref:f,style:U,...c,...d,children:D.jsx(ct,{item:B,hint:s,isDragging:b})})},Lt=B=>String(B??"").toLowerCase().match(/\.(mp3|wav|m4a|aac|ogg)(\?|#|$)/)?"audio":"video",Yt=(B,s)=>{try{const d=String(B??"").split("/").pop()||"";return decodeURIComponent(d.split("?")[0].split("#")[0])||`Footage ${s+1}`}catch{return`Footage ${s+1}`}},Kt=({footageUrls:B,autoPlaceFootage:s=!1})=>{const[d,c]=F.useState(()=>at()),[f,Q]=F.useState(null),[b,U]=F.useState([]),[H,Y]=F.useState([]),m=F.useRef(d),X=xt(),[G,DA]=F.useState(!1),z=F.useRef(null),BA=F.useRef(null),hA=F.useRef(null),yA=F.useRef(!0),rA=F.useMemo(()=>{const A=Array.isArray(B)?B.filter(Boolean):[];return A.length?A.map((n,t)=>({id:`url-${t}`,kind:Lt(n),name:Yt(n,t),src:n,defaultDuration:10})):[]},[B]),[cA,_A]=F.useState(null),[TA,JA]=F.useState(null),[WA,SA]=F.useState(null),[bA,Ue]=F.useState(0),[XA,$A]=F.useState(0),[mA,HA]=F.useState(0),[UA,de]=F.useState(0),[se,GA]=F.useState(!1),[ae,zA]=F.useState(null),v=F.useRef(null),AA=F.useRef(null),eA=F.useRef(null),V=F.useRef(null),q=X?48:32,tA=30,[aA,PA]=F.useState(()=>Ft),NA=Rt,LA=A=>{PA(n=>{const t=Math.round(n*A);return Math.min(600,Math.max(60,t))})},fA=[1,0],YA=[3,2],Pe=["V2","V1","A2","A1"],ce=(A,n)=>{if(n.length===0)return null;if(A==null)return n[0];let t=n[0],r=Math.abs(A-t);for(const o of n){const i=Math.abs(A-o);i<r&&(t=o,r=i)}return t},qA=(A,n)=>A?A.kind==="video"?ce(n,fA):ce(n,YA):null,QA=A=>A===fA[1]?YA[1]:YA[0],ge=A=>A===YA[1]?fA[1]:fA[0],pA=(A,n)=>{const t=n==="video"?fA:YA;return ce(A,t)??t[0]},Be=F.useRef(!1);F.useEffect(()=>{if(!s||Be.current||rA.length===0||m.current.some(a=>Array.isArray(a?.actions)&&a.actions.length>0))return;const t=fA[0],r=QA(t),o=at();let i=0;for(const a of rA){const u=Math.max(.01,Number(a.defaultDuration??10)),C=i,w=i+u;if(i=w,a.kind==="video"){const I=`link-${CA()}`,y=fA.findIndex(S=>S===t);o[t].actions.push({id:`video-${CA()}`,start:C,end:w,effectId:"effect1",data:{src:a.src,previewSrc:a.previewSrc,name:a.name,linkId:I,videoLayer:y}}),o[r].actions.push({id:`video-audio-${CA()}`,start:C,end:w,effectId:"effect2",data:{src:a.src,name:a.name,linkId:I}})}else o[r].actions.push({id:`audio-${CA()}`,start:C,end:w,effectId:"effect0",data:{src:a.src,name:a.name}})}Q(null),U([]),Y([]),c(()=>(m.current=o,o)),Be.current=!0},[s,rA]),F.useEffect(()=>{ye.warmFromEditorData(d)},[d]),F.useEffect(()=>{m.current=d},[d]),F.useLayoutEffect(()=>{const A=hA.current;if(!A)return;const n=()=>{const r=A.getBoundingClientRect(),o=A.querySelector(".timeline-editor-edit-area");if(!o)return;const i=o.getBoundingClientRect();HA(i.top-r.top),de(i.left-r.left)},t=requestAnimationFrame(n);return window.addEventListener("resize",n),()=>{cancelAnimationFrame(t),window.removeEventListener("resize",n)}},[X,d.length]);const De=A=>{const n=hA.current;if(!n||!A)return!1;const t=n.getBoundingClientRect();return A.x>=t.left&&A.x<=t.right&&A.y>=t.top&&A.y<=t.bottom},ze=F.useRef(0),CA=()=>globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`uid-${++ze.current}`,wA=F.useRef(null),OA=F.useRef(null),Ae=F.useRef(null),he=.9,me=1.05,FA=F.useRef({actionId:null,edge:null}),nA=F.useRef({actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,basePointerClientY:null,lastPointerClientY:null,initialRowIndex:0,committedRowIndex:0,laneCandidateRowIndex:null,laneCandidateSinceMs:0,laneIntentRowIndex:null,initialStart:0,initialEnd:0,takeover:!1}),uA=F.useRef({actionId:null,partnerId:null,dir:null,baseStart:0,baseOffset:0,partnerBaseOffset:0}),Fe=F.useRef(!1),ue=A=>A.map(n=>{const t=(n.actions??[]).map(r=>`${String(r.id)}@${Number(r.start)}-${Number(r.end)}`).join("|");return`${String(n.id)}:${t}`}).join("||"),ee=A=>{const n=structuredClone(A);U(t=>{const r=[...t,n];return r.length>Xe&&r.splice(0,r.length-Xe),r}),Y([])},fe=(A,n,t,r)=>A<r&&n>t,KA=(A,n,t,r)=>{const o=Array.isArray(A?.actions)?A.actions:[];for(const i of o)if(!(!i||i.id===n)&&fe(t,r,Number(i.start),Number(i.end)))return!0;return!1},IA=(A,n)=>{for(let t=0;t<A.length;t++){const r=A[t],o=Array.isArray(r?.actions)?r.actions:[];for(let i=0;i<o.length;i++){const a=o[i];if(String(a?.id)===n)return{rowIndex:t,actionIndex:i,action:a}}}return null},xA=(A,n)=>{const t=IA(A,n),r=t?.action?.data?.linkId;if(!t||!r)return null;for(let o=0;o<A.length;o++){const i=A[o],a=Array.isArray(i?.actions)?i.actions:[];for(let u=0;u<a.length;u++){const C=a[u];if(C?.data?.linkId&&String(C.data.linkId)===String(r)&&String(C.id)!==String(n))return{rowIndex:o,actionIndex:u,action:C}}}return null},Re=(A,n)=>{const t=IA(A,n);if(!t)return A;const r=xA(A,n);if(!r)return A;const o=Number(t.action.start),i=Number(t.action.end);if(!Number.isFinite(o)||!Number.isFinite(i)||i<=o||Number(r.action.start)===o&&Number(r.action.end)===i)return A;const a=structuredClone(A),u=a[r.rowIndex],C=Array.isArray(u.actions)?[...u.actions]:[],w={...C[r.actionIndex],start:o,end:i};return C.splice(r.actionIndex,1,w),u.actions=C,a},xe=(A,n)=>{const t=structuredClone(A);for(;t.length<4;)t.push({id:`${t.length}`,actions:[]});const r=l=>l&&typeof l=="object"?l:{},o=(l,O)=>{if(!(!l||typeof l!="object"))return l[O]},i=l=>String(o(l,"id")??""),a=l=>String(o(l,"effectId")??""),u=l=>Number(o(l,"start")),C=l=>Number(o(l,"end")),w=l=>o(l,"data"),I=l=>{if(!l||typeof l!="object")return 0;const O=Number(l.start);return Number.isFinite(O)?O:0},y=new Map,S=new Map;for(let l=0;l<t.length;l++){const O=t[l],N=Array.isArray(O?.actions)?O.actions:[];for(let h=0;h<N.length;h++){const P=N[h],J=i(P);if(!J)continue;y.set(J,{rowIndex:l,actionIndex:h,action:P});const W=w(P),_=o(W,"linkId"),oA=_!=null?String(_):"";if(!oA)continue;const k=S.get(oA)??{},j=a(P);j==="effect1"?k.video={rowIndex:l,actionIndex:h,action:P}:j==="effect2"&&(k.audio={rowIndex:l,actionIndex:h,action:P}),S.set(oA,k)}}const R=new Map;for(const l of S.values()){if(!l.video||!l.audio)continue;const O=i(l.video.action),N=i(l.audio.action),h=n&&String(n)===N?"audio":"video",P=h==="audio"?ge(pA(l.audio.rowIndex,"audio")):pA(l.video.rowIndex,"video"),J=QA(P),W=h==="audio"?l.audio.action:l.video.action,_=u(W),oA=C(W),k=Number.isFinite(_)&&Number.isFinite(oA)&&oA>_,j=Math.max(0,fA.findIndex($=>$===P));R.set(O,{targetRowIndex:P,patchStartEnd:k?{start:_,end:oA}:void 0,patchVideoLayer:j}),R.set(N,{targetRowIndex:J,patchStartEnd:k?{start:_,end:oA}:void 0})}for(const[l,O]of y.entries()){if(R.has(l))continue;const N=a(O.action);if(N==="effect1"){const h=pA(O.rowIndex,"video"),P=Math.max(0,fA.findIndex(J=>J===h));R.set(l,{targetRowIndex:h,patchVideoLayer:P})}else if(N==="effect0"||N==="effect2"){const h=pA(O.rowIndex,"audio");R.set(l,{targetRowIndex:h})}}const K=t.map(l=>({...l,actions:[]}));let x=!1;for(let l=0;l<t.length;l++){const O=t[l],N=Array.isArray(O?.actions)?O.actions:[];for(const h of N){const P=h,J=i(P);if(!J)continue;const W=R.get(J),_=W?W.targetRowIndex:l,oA=K[_]??K[l];let k=P;if(W?.patchStartEnd){const j=W.patchStartEnd.start,$=W.patchStartEnd.end;(u(k)!==j||C(k)!==$)&&(k={...r(k),start:j,end:$},x=!0)}if(W?.patchVideoLayer!=null&&a(k)==="effect1"){const j=Number(o(w(k),"videoLayer"));if(!Number.isFinite(j)||j!==W.patchVideoLayer){const $={...r(w(k)),videoLayer:W.patchVideoLayer};k={...r(k),data:$},x=!0}}_!==l&&(x=!0),oA.actions.push(k)}}for(const l of K){const O=Array.isArray(l.actions)?[...l.actions]:[];O.sort((N,h)=>I(N)-I(h)),l.actions=O}return x?K:A},MA=(A,n,t,r)=>{if(!Number.isFinite(t)||!Number.isFinite(r)||r<=t)return A;const o=IA(A,n);if(!o)return A;const i=xA(A,n);if(!i)return A;const a=structuredClone(A),u=a[o.rowIndex],C=Array.isArray(u.actions)?[...u.actions]:[],w={...C[o.actionIndex],start:t,end:r};C.splice(o.actionIndex,1,w),u.actions=C;const I=a[i.rowIndex],y=Array.isArray(I.actions)?[...I.actions]:[],S={...y[i.actionIndex],start:t,end:r};return y.splice(i.actionIndex,1,S),I.actions=y,a},te=(A,n,t,r)=>{if(!Number.isFinite(t)||!Number.isFinite(r)||r<=t)return A;const o=IA(A,n);if(!o)return A;const i=Number(o.action.start),a=Number(o.action.end);if(i===t&&a===r)return A;const u=structuredClone(A),C=u[o.rowIndex],w=Array.isArray(C.actions)?[...C.actions]:[],I={...w[o.actionIndex],start:t,end:r};return w.splice(o.actionIndex,1,I),C.actions=w,u},Ce=()=>{const A=z.current?.getTime?Number(z.current.getTime()):0;return Number.isFinite(A)?Math.max(0,A):0},pe=(A,n,t)=>{const r=Ce(),o=t-n;if(!Number.isFinite(o)||o<=0)return{start:n,end:t,snapped:!1,edge:null};const i=Math.abs(n-r),a=Math.abs(t-r),u=i<=a?"start":"end",C=Math.min(i,a),w=FA.current;if(w.actionId===A&&w.edge!=null){if((w.edge==="start"?i:a)>me)return FA.current={actionId:A,edge:null},{start:n,end:t,snapped:!1,edge:null}}else{if(C>he)return{start:n,end:t,snapped:!1,edge:null};FA.current={actionId:A,edge:u}}const S=FA.current.edge;if(S==="start"){const x=r,l=x+o;return{start:Math.max(0,x),end:Math.max(Math.max(0,x),l),snapped:!0,edge:S}}const R=r,K=R-o;return{start:Math.max(0,K),end:Math.max(0,R),snapped:!0,edge:S}},Me=(A,n,t,r)=>{const o=Ce(),i=r==="left"?"start":"end",a=Math.abs(i==="start"?n-o:t-o),u=FA.current;if(u.actionId===A&&u.edge===i){if(a>me)return FA.current={actionId:A,edge:null},{start:n,end:t,snapped:!1}}else{if(a>he)return{start:n,end:t,snapped:!1};FA.current={actionId:A,edge:i}}if(i==="start"){const S=Math.max(0,o),R=Math.max(S+.01,t);return{start:S,end:R,snapped:!0}}const I=Math.max(0,o),y=Math.min(n,I-.01);return{start:Math.max(0,y),end:I,snapped:!0}},ke=(A,n,t)=>{const r=A.defaultDuration??10;let o=Math.max(0,n),i=o+r;const a=z.current;a?.isPlaying&&a.pause(),c(u=>{ee(u);const C=structuredClone(u);for(;C.length<4;)C.push({id:`${C.length}`,actions:[]});const w=Number.isFinite(Number(t))?Number(t):null,I=ce(w,fA)??fA[0],y=ce(w,YA)??YA[0],S=R=>{const K=[];for(const x of R){const l=Array.isArray(C[x]?.actions)?C[x].actions:[];for(const O of l){const N=Number(O?.start),h=Number(O?.end);!Number.isFinite(N)||!Number.isFinite(h)||K.push({start:N,end:h})}}K.sort((x,l)=>x.start-l.start);for(const x of K)fe(o,i,x.start,x.end)&&(o=x.end,i=o+r)};if(A.kind==="video"){const R=I,K=QA(R);S([R,K]);const x=`link-${CA()}`,l=`video-${CA()}`,O=`video-audio-${CA()}`,N=fA.findIndex(h=>h===R);C[R].actions=[...C[R].actions??[],{id:l,start:o,end:i,effectId:"effect1",data:{src:A.src,previewSrc:A.previewSrc,name:A.name,linkId:x,videoLayer:N}}],C[K].actions=[...C[K].actions??[],{id:O,start:o,end:i,effectId:"effect2",data:{src:A.src,name:A.name,linkId:x}}]}else{const R=y;S([R]),C[R].actions=[...C[R].actions??[],{id:`audio-${CA()}`,start:o,end:i,effectId:"effect0",data:{src:A.src,name:A.name}}]}return C})},qe=()=>{const A=hA.current;return A?A.querySelector(".timeline-editor-edit-area .ReactVirtualized__Grid")?.scrollLeft??0:0},Je=()=>bA,ne=A=>{const n=hA.current;if(!n)return 0;const r=(n.querySelector(".timeline-editor-edit-area")??n).getBoundingClientRect(),a=(A-r.x+qe()-tA)*NA/aA;return Math.max(0,a)},Ge=A=>{const n=Number(A);return Number.isFinite(n)?tA+n*aA/NA:0},Ve=(A,n,t,r)=>{const o=A.defaultDuration??10;let i=Math.max(0,n),a=i+o;const u=[];if(A.kind==="video"){const w=t,I=QA(w);u.push(w,I)}else u.push(t);const C=[];for(const w of u){const I=Array.isArray(r[w]?.actions)?r[w].actions:[];for(const y of I){const S=Number(y?.start),R=Number(y?.end);!Number.isFinite(S)||!Number.isFinite(R)||C.push({start:S,end:R})}}C.sort((w,I)=>w.start-I.start);for(const w of C)fe(i,a,w.start,w.end)&&(i=w.end,a=i+o);return Math.max(0,i)},re=A=>{const n=hA.current;if(!n)return null;const t=n.querySelector(".timeline-editor-edit-area");if(!t)return null;const r=t.getBoundingClientRect(),o=A-r.y;if(o<0||o>r.height)return null;const i=o+Je(),a=Math.floor(i/q);if(!Number.isFinite(a))return null;const u=Math.max(0,m.current.length-1);return Math.min(Math.max(0,a),u)},Le=A=>{if(!A)return null;if("clientX"in A&&"clientY"in A){const o=Number(A.clientX),i=Number(A.clientY);if(Number.isFinite(o)&&Number.isFinite(i))return{x:o,y:i}}const n=A.touches,t=A.changedTouches,r=(n&&n.length?n[0]:null)||(t&&t.length?t[0]:null);if(r){const o=Number(r.clientX),i=Number(r.clientY);if(Number.isFinite(o)&&Number.isFinite(i))return{x:o,y:i}}return null},Ee=()=>{if(Fe.current)return;Fe.current=!0;const A=t=>{const r=nA.current;if(!r.actionId||!r.mode||t.isPrimary===!1)return;const o=ne(t.clientX);r.basePointerTime==null&&(r.basePointerTime=o),r.lastPointerTime=o,r.basePointerClientY==null&&(r.basePointerClientY=t.clientY),r.lastPointerClientY=t.clientY},n=()=>{const t={actionId:nA.current.actionId,mode:nA.current.mode};requestAnimationFrame(()=>{nA.current.actionId===t.actionId&&nA.current.mode===t.mode&&(nA.current={actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,basePointerClientY:null,lastPointerClientY:null,initialRowIndex:0,committedRowIndex:0,laneCandidateRowIndex:null,laneCandidateSinceMs:0,laneIntentRowIndex:null,initialStart:0,initialEnd:0,takeover:!1},FA.current={actionId:null,edge:null})})};window.addEventListener("pointermove",A,{capture:!0}),window.addEventListener("pointerup",n,{capture:!0}),window.addEventListener("pointercancel",n,{capture:!0}),nA.current._removePointerListeners=()=>{window.removeEventListener("pointermove",A,{capture:!0}),window.removeEventListener("pointerup",n,{capture:!0}),window.removeEventListener("pointercancel",n,{capture:!0}),Fe.current=!1}},Ye=()=>{const A=nA.current?._removePointerListeners;A?.(),delete nA.current._removePointerListeners},Oe=F.useRef(!1),ve=A=>{const n=Number(A?.data?.offset??0);return Number.isFinite(n)?n:0},e=(A,n,t)=>{const r=IA(A,n);if(!r)return A;const o=Math.max(0,Number.isFinite(t)?t:0);if(ve(r.action)===o)return A;const a=structuredClone(A),u=a[r.rowIndex],C=Array.isArray(u.actions)?[...u.actions]:[],w={...C[r.actionIndex],data:{...C[r.actionIndex]?.data??{},offset:o}};return C.splice(r.actionIndex,1,w),u.actions=C,a},g=(A,n,t,r)=>{const o=IA(A,n);if(!o)return A;const i=xA(A,n);if(!i)return e(A,n,t);const a=Math.max(0,Number.isFinite(t)?t:0),u=Math.max(0,Number.isFinite(Number(r))?Number(r):a),C=structuredClone(A),w=C[o.rowIndex],I=Array.isArray(w.actions)?[...w.actions]:[],y={...I[o.actionIndex],data:{...I[o.actionIndex]?.data??{},offset:a}};I.splice(o.actionIndex,1,y),w.actions=I;const S=C[i.rowIndex],R=Array.isArray(S.actions)?[...S.actions]:[],K={...R[i.actionIndex],data:{...R[i.actionIndex]?.data??{},offset:u}};return R.splice(i.actionIndex,1,K),S.actions=R,C},[E,p]=F.useState(null),T=(A,n,t)=>{const r=IA(A,n);if(!r)return A;const i=String(r.action?.effectId??"")==="effect1"?"video":"audio",a=pA(t,i),u=xA(A,n),C=!!u,w=new Set([String(n)]);u&&w.add(String(u.action.id));const I=Number(r.action?.start),y=Number(r.action?.end);if(!Number.isFinite(I)||!Number.isFinite(y)||y<=I)return A;const S=(h,P,J)=>{const W=Array.isArray(h?.actions)?h.actions:[];for(const _ of W){const oA=String(_?.id??"");if(!(oA&&w.has(oA))&&fe(P,J,Number(_?.start),Number(_?.end)))return!1}return!0};let R=null,K=null;if(C&&(i==="video"?(R=a,K=QA(R)):(K=a,R=ge(K))),i==="video"){if(!S(A[a],I,y))return A}else if(!S(A[a],I,y))return A;if(R!=null&&!S(A[R],I,y)||K!=null&&!S(A[K],I,y)||!C&&r.rowIndex===a)return A;if(C&&i==="video"&&r.rowIndex===R){const h=u?IA(A,String(u.action.id)):null;if(h&&h.rowIndex===K)return A}if(C&&i==="audio"&&r.rowIndex===K){const h=u?IA(A,String(u.action.id)):null;if(h&&h.rowIndex===R)return A}const x=structuredClone(A);for(;x.length<4;)x.push({id:`${x.length}`,actions:[]});const l=(h,P)=>{const J=Array.isArray(h.actions)?h.actions:[];h.actions=J.filter(W=>String(W?.id??"")!==P)},O=(h,P)=>{const J=x[h];J.actions=[...J.actions??[],P],J.actions.sort((W,_)=>Number(W.start)-Number(_.start))};l(x[r.rowIndex],String(n));let N=r.action;if(i==="video"){const h=Math.max(0,fA.findIndex(P=>P===a));N={...N,data:{...N.data??{},videoLayer:h}}}if(O(a,N),u&&R!=null&&K!=null){const h=IA(A,String(u.action.id));if(h){l(x[h.rowIndex],String(u.action.id));const P=i==="video"?K:R;let J=h.action;if(String(J?.effectId??"")==="effect1"){const _=Math.max(0,fA.findIndex(oA=>oA===P));J={...J,data:{...J.data??{},videoLayer:_}}}O(P,J)}}return x},Z=A=>A.map(n=>({...n,selected:void 0,actions:(n.actions??[]).map(t=>({...t,selected:void 0}))})),L=F.useMemo(()=>d.map((A,n)=>{const t=f?(A.actions??[]).some(a=>String(a.id)===f):!1,r=cA!=null&&WA!=null&&n===WA,o=Array.isArray(A.classNames)?A.classNames:[],i=r?[...o,"dnd-drop-hover"]:o;return{...A,classNames:i,selected:t,actions:(A.actions??[]).map(a=>({...a,selected:f?String(a.id)===f:!1}))}}),[d,f,cA,WA]),M=()=>{if(!f)return;const A=z.current;A?.isPlaying&&A.pause(),c(n=>{ee(n);let t=null;for(const o of n){const i=Array.isArray(o?.actions)?o.actions:[];for(const a of i){if(String(a?.id)!==f)continue;const u=a?.data?.linkId;u!=null&&(t=String(u));break}if(t!=null)break}return n.map(o=>({...o,actions:(o.actions??[]).filter(i=>!(String(i?.id)===f||t&&String(i?.data?.linkId??"")===t))}))}),Q(null)},lA=()=>{if(!f)return;const A=z.current,n=A?.getTime?A.getTime():null;if(n==null)return;const t=Number(n);Number.isFinite(t)&&(A?.isPlaying&&A.pause(),wA.current=null,OA.current=null,c(r=>{let o=-1,i=-1,a=null;for(let k=0;k<r.length;k++){const j=r[k],$=Array.isArray(j?.actions)?j.actions:[];for(let gA=0;gA<$.length;gA++){const dA=$[gA];if(String(dA?.id)===f){o=k,i=gA,a=dA;break}}if(a)break}if(!a)return r;const u=a?.data?.linkId?String(a.data.linkId):null;let C=-1,w=-1,I=null;if(u)for(let k=0;k<r.length;k++){const j=r[k],$=Array.isArray(j?.actions)?j.actions:[];for(let gA=0;gA<$.length;gA++){const dA=$[gA];if(String(dA?.id)!==f&&String(dA?.data?.linkId??"")===u){C=k,w=gA,I=dA;break}}if(I)break}const y=Number(a.start),S=Number(a.end);if(!Number.isFinite(y)||!Number.isFinite(S)||!(y<t&&t<S))return r;ee(r);const R=u&&I?`link-${CA()}`:u,K=u&&I?`link-${CA()}`:u,x=`${String(a.id)}-r-${CA()}`,l=Number(a?.data?.offset??0),O=Number.isFinite(l)?l:0,N=t-y,h=O+(Number.isFinite(N)?N:0),P={...a,start:y,end:t,id:a.id,data:{...a.data,offset:O,linkId:R??void 0}},J={...a,start:t,end:S,id:x,data:{...a.data,offset:h,linkId:K??void 0}},W=structuredClone(r),_=W[o],oA=Array.isArray(_.actions)?[..._.actions]:[];if(oA.splice(i,1,P,J),oA.sort((k,j)=>Number(k.start)-Number(j.start)),_.actions=oA,I&&C>=0&&w>=0){const k=Number(I.start),j=Number(I.end);if(Number.isFinite(k)&&Number.isFinite(j)&&k===y&&j===S){const $=Number(I?.data?.offset),gA=Number.isFinite($)?$:O,dA=gA+(Number.isFinite(N)?N:0),ZA=`${String(I.id)}-r-${CA()}`,Qe={...I,start:y,end:t,id:I.id,data:{...I.data,offset:gA,linkId:R??void 0}},oe={...I,start:t,end:S,id:ZA,data:{...I.data,offset:dA,linkId:K??void 0}},we=W[C],Ie=Array.isArray(we.actions)?[...we.actions]:[];Ie.splice(w,1,Qe,oe),Ie.sort((Ke,je)=>Number(Ke.start)-Number(je.start)),we.actions=Ie}}return W}))},iA=()=>{const A=z.current,n=A?.getTime?A.getTime():null;A?.isPlaying&&A.pause(),wA.current=null,OA.current=null,Q(null),U(t=>{if(t.length===0)return t;const r=t[t.length-1],o=structuredClone(m.current);return Y(i=>[...i,o]),c(structuredClone(r)),t.slice(0,-1)}),n!=null&&requestAnimationFrame(()=>{const t=z.current;t?.setTime&&t.setTime(n)})},sA=()=>{const A=z.current,n=A?.getTime?A.getTime():null;A?.isPlaying&&A.pause(),wA.current=null,OA.current=null,Q(null),Y(t=>{if(t.length===0)return t;const r=t[t.length-1],o=structuredClone(m.current);return U(i=>{const a=[...i,o];return a.length>Xe&&a.splice(0,a.length-Xe),a}),c(structuredClone(r)),t.slice(0,-1)}),n!=null&&requestAnimationFrame(()=>{const t=z.current;t?.setTime&&t.setTime(n)})},RA=jA.useSensors(jA.useSensor(jA.PointerSensor,{activationConstraint:{distance:6}}),jA.useSensor(jA.TouchSensor,{activationConstraint:{delay:180,tolerance:6}})),{setNodeRef:ie,isOver:VA}=jA.useDroppable({id:"timeline-drop"}),EA=A=>{const n=A.active.data.current?.item;_A(n??null);const t=Le(A.activatorEvent);if(v.current=t,AA.current=t,zA(t),t){const o=De(t);GA(o);const i=re(t.y);SA(o?qA(n??null,i):null)}else SA(null),GA(!1);const r=A.active.rect.current.initial;JA(r?{width:r.width,height:r.height}:null)},Se=A=>{const n=A.active.rect.current.initial;!TA&&n&&JA({width:n.width,height:n.height});const t=AA.current;if(!t){SA(null);return}const r=Number(A?.delta?.x??0),o=Number(A?.delta?.y??0),i={x:t.x+(Number.isFinite(r)?r:0),y:t.y+(Number.isFinite(o)?o:0)};v.current=i,zA(i);const a=De(i);GA(a);const u=re(i.y);SA(a?qA(cA,u):null)},Ze=A=>{const n=A.active.data.current?.item,t=AA.current,r=Number(A?.delta?.x??0),o=Number(A?.delta?.y??0),i=t?{x:t.x+(Number.isFinite(r)?r:0),y:t.y+(Number.isFinite(o)?o:0)}:v.current;v.current=i;const u=String(A.over?.id??"")==="timeline-drop"||De(i);if(n&&u&&i){const C=ne(i.x),w=re(i.y),I=qA(n,w);SA(I),ke(n,Math.max(0,C),I)}_A(null),JA(null),SA(null),GA(!1),zA(null),AA.current=null},_e=()=>{_A(null),JA(null),SA(null),GA(!1),zA(null),AA.current=null},le=F.useMemo(()=>{if(!cA||!se)return null;const A=ae;if(!A)return null;const n=re(A.y),t=qA(cA,n);if(t==null)return null;const r=ne(A.x),o=Ve(cA,r,t,m.current),i=cA.defaultDuration??10;return{laneRow:t,desiredStart:r,start:o,end:o+i,duration:i,kind:cA.kind}},[cA,se,ae,XA,bA,q]),gt=A=>{if(!X||A.pointerType==="mouse"||cA)return;if(!!A.target?.closest?.(".timeline-editor-cursor-area, .timeline-editor-cursor")){V.current={pointerId:A.pointerId},eA.current=null;try{A.currentTarget.setPointerCapture(A.pointerId)}catch{}A.preventDefault();return}eA.current={x:A.clientX,y:A.clientY}},Bt=A=>{if(!X||A.pointerType==="mouse"||cA||!V.current||V.current.pointerId!==A.pointerId)return;const n=ne(A.clientX);z.current&&z.current.setTime(n),A.preventDefault()},ut=A=>{if(!X||A.pointerType==="mouse"||cA)return;if(V.current&&V.current.pointerId===A.pointerId){V.current=null;try{A.currentTarget.releasePointerCapture(A.pointerId)}catch{}A.preventDefault();return}const n=eA.current;eA.current=null;const t=n?Math.abs(A.clientX-n.x):0,r=n?Math.abs(A.clientY-n.y):0;if(t>10||r>10)return;const i=A.target?.closest?.("[data-action-id]"),a=i?.getAttribute("data-row-id"),u=i?.getAttribute("data-action-id");if(a&&u){Q(u);return}const C=ne(A.clientX);Q(null),z.current&&z.current.setTime(C)};return D.jsx(jA.DndContext,{sensors:RA,collisionDetection:jA.rectIntersection,onDragStart:EA,onDragMove:Se,onDragEnd:Ze,onDragCancel:_e,children:D.jsxs("div",{className:"timeline-editor-engine",children:[D.jsxs("div",{className:"player-stack",children:[D.jsx("div",{className:"footage-ribbon",role:"toolbar","aria-label":"Footage",children:D.jsx("button",{type:"button",className:`footage-ribbon-toggle${G?" is-open":""}`,"aria-expanded":G,"aria-controls":"footage-bin-panel",onClick:()=>DA(A=>!A),children:D.jsx("img",{src:Mt,alt:"Footage",draggable:!1})})}),D.jsx("div",{id:"footage-bin-panel",className:`footage-bin-panel${G?" is-open":""}${cA?" is-dragging":""}`,"aria-hidden":!G,children:D.jsx("div",{className:"footage-bin",children:rA.map(A=>D.jsx(Gt,{item:A,hint:X?"Press-hold, then drag into timeline":"Drag into timeline"},A.id))})}),D.jsx("div",{className:"player-panel",ref:BA,children:D.jsx("video",{className:"player-video",preload:"auto",playsInline:!0,muted:!0,controls:!1,disablePictureInPicture:!0,disableRemotePlayback:!0,controlsList:"nodownload noplaybackrate noremoteplayback",tabIndex:-1,onContextMenu:A=>A.preventDefault(),ref:A=>kA.attach(A)})})]}),D.jsx(Pt,{timelineState:z,autoScrollWhenPlay:yA,scale:NA,scaleWidth:aA,startLeft:tA,editorData:d,selectedActionId:f,onDeleteSelectedClip:M,onSplitSelectedClip:lA,canUndo:b.length>0,canRedo:H.length>0,onUndo:iA,onRedo:sA}),D.jsxs("div",{className:`timeline-drop${VA?" is-over":""}`,ref:A=>{hA.current=A,ie(A)},onPointerDown:gt,onPointerMove:Bt,onPointerUp:ut,children:[D.jsxs("div",{className:"timeline-zoom-controls","aria-label":"Timeline zoom",children:[D.jsx("button",{type:"button",className:"timeline-zoom-control",onClick:()=>LA(1/1.25),"aria-label":"Zoom out",title:"Zoom out",children:D.jsx("img",{src:Jt,alt:"",draggable:!1})}),D.jsx("button",{type:"button",className:"timeline-zoom-control",onClick:()=>LA(1.25),"aria-label":"Zoom in",title:"Zoom in",children:D.jsx("img",{src:kt,alt:"",draggable:!1})})]}),D.jsx("div",{className:"timeline-lane-labels",style:{top:mA,transform:`translateY(${-bA}px)`,height:q*Pe.length},children:Pe.map((A,n)=>D.jsx("div",{className:`timeline-lane-label${WA===n?" is-hover":""}`,style:{height:q},children:A},A))}),le?D.jsx("div",{className:"timeline-ghost-layer",style:{top:mA,left:UA},children:(()=>{const A=aA/NA,n=le.duration*A,t=Ge(le.start)-XA,r=[];return le.kind==="video"?(r.push({row:le.laneRow,kind:"video"}),r.push({row:QA(le.laneRow),kind:"audio"})):r.push({row:le.laneRow,kind:"audio"}),r.map(o=>D.jsx("div",{className:`timeline-ghost-clip${o.kind==="video"?" is-video":" is-audio"}`,style:{left:t,top:o.row*q-bA,width:n,height:q}},`${o.kind}-${o.row}`))})()}):null,E?D.jsx("div",{className:"timeline-ghost-layer",style:{top:mA,left:UA},children:(()=>{const A=aA/NA,n=E.duration*A,t=Ge(E.start)-XA,r=[];return E.kind==="video"?(r.push({row:E.laneRow,kind:"video"}),r.push({row:QA(E.laneRow),kind:"audio"})):r.push({row:E.laneRow,kind:"audio"}),r.map(o=>D.jsx("div",{className:`timeline-ghost-clip${o.kind==="video"?" is-video":" is-audio"}`,style:{left:t,top:o.row*q-bA,width:n,height:q}},`${E.actionId}-${o.kind}-${o.row}`))})()}):null,D.jsx(lt.Timeline,{scale:NA,scaleWidth:aA,startLeft:tA,rowHeight:q,autoScroll:!0,ref:z,editorData:L,effects:pt,onScroll:A=>{const n=Number(A?.scrollTop??0),t=Number(A?.scrollLeft??0);Number.isFinite(n)&&Ue(n),Number.isFinite(t)&&$A(t)},onClickTimeArea:(A,n)=>{Q(null)},onClickRow:A=>{A.target?.closest?.(".timeline-editor-action")||Q(null)},onClickActionOnly:(A,{action:n})=>{const t=n;t?.id&&Q(String(t.id))},onActionMoveStart:({action:A})=>{Ae.current=String(A?.id??""),FA.current={actionId:String(A?.id??""),edge:null};const n=Number(A?.start),t=Number(A?.end),r=String(A?.id??""),o=r?IA(m.current,r):null,i=o?o.rowIndex:0;nA.current={actionId:r,mode:"move",dir:null,basePointerTime:null,lastPointerTime:null,basePointerClientY:null,lastPointerClientY:null,initialRowIndex:i,committedRowIndex:i,laneCandidateRowIndex:null,laneCandidateSinceMs:0,laneIntentRowIndex:null,initialStart:Number.isFinite(n)?n:0,initialEnd:Number.isFinite(t)?t:0,takeover:!0},Ee(),p(null),!wA.current&&(wA.current=structuredClone(d),OA.current=ue(d))},onActionMoveEnd:()=>{const A=nA.current,n=String(A.actionId??""),t=A.laneIntentRowIndex;n&&t!=null&&(Oe.current=!0,c(i=>{const a=T(i,n,t);return m.current=a,a})),p(null);const r=wA.current,o=OA.current;r&&o&&ue(m.current)!==o&&ee(r),wA.current=null,OA.current=null,Ae.current=null,FA.current={actionId:null,edge:null},nA.current={actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,basePointerClientY:null,lastPointerClientY:null,initialRowIndex:0,committedRowIndex:0,laneCandidateRowIndex:null,laneCandidateSinceMs:0,laneIntentRowIndex:null,initialStart:0,initialEnd:0,takeover:!1},Ye()},onActionResizeStart:({action:A})=>{Ae.current=String(A?.id??""),FA.current={actionId:String(A?.id??""),edge:null};const n=Number(A?.start),t=Number(A?.end),r=String(A?.id??""),o=r?IA(m.current,r):null,i=o?o.rowIndex:0,a=ve(o?.action??A),u=r?xA(m.current,r):null,C=u?String(u.action.id):null,w=u?ve(u.action):a;uA.current={actionId:r,partnerId:C,dir:null,baseStart:Number.isFinite(n)?n:0,baseOffset:a,partnerBaseOffset:w},nA.current={actionId:r,mode:"resize",dir:null,basePointerTime:null,lastPointerTime:null,basePointerClientY:null,lastPointerClientY:null,initialRowIndex:i,committedRowIndex:i,laneCandidateRowIndex:null,laneCandidateSinceMs:0,laneIntentRowIndex:null,initialStart:Number.isFinite(n)?n:0,initialEnd:Number.isFinite(t)?t:0,takeover:!1},Ee(),!wA.current&&(wA.current=structuredClone(d),OA.current=ue(d))},onActionResizeEnd:()=>{const A=wA.current,n=OA.current;A&&n&&ue(m.current)!==n&&ee(A),wA.current=null,OA.current=null,Ae.current=null,FA.current={actionId:null,edge:null},nA.current={actionId:null,mode:null,dir:null,basePointerTime:null,lastPointerTime:null,basePointerClientY:null,lastPointerClientY:null,initialRowIndex:0,committedRowIndex:0,laneCandidateRowIndex:null,laneCandidateSinceMs:0,laneIntentRowIndex:null,initialStart:0,initialEnd:0,takeover:!1},Ye(),uA.current={actionId:null,partnerId:null,dir:null,baseStart:0,baseOffset:0,partnerBaseOffset:0}},onActionMoving:({action:A,row:n,start:t,end:r})=>{const o=String(A?.id??""),i=nA.current,a=(O,N)=>{const h=Number(O),P=Number(N);if(!Number.isFinite(h)||!Number.isFinite(P))return{start:O,end:N,clamped:!1};if(P<=h)return{start:O,end:N,clamped:!1};if(h>=0)return{start:h,end:P,clamped:!1};const J=-h;return{start:0,end:P+J,clamped:!0}},u=O=>{const N=String(O?.id??"");return N?m.current.findIndex(h=>String(h?.id??"")===N):-1};if(i.takeover&&i.mode==="move"&&i.actionId===o){const N=Math.max(10,q*.45),h=i.basePointerTime,P=i.lastPointerTime,J=h!=null&&P!=null?P-h:0,W=i.initialStart+J,_=i.initialEnd+J,oA=pe(o,W,_),k=a(oA.start,oA.end),j=k.start,$=k.end,dA=String(A?.effectId??"")==="effect1"?"video":"audio",ZA=i.lastPointerClientY,Qe=ZA!=null?re(ZA):null,oe=pA(Qe??i.committedRowIndex,dA),we=i.basePointerClientY,Ie=we!=null&&ZA!=null?Math.abs(ZA-we):0,Ke=typeof performance<"u"&&performance.now?performance.now():Date.now();oe!==i.committedRowIndex&&Ie>=N?(i.laneCandidateRowIndex!==oe&&(i.laneCandidateRowIndex=oe,i.laneCandidateSinceMs=Ke),Ke-i.laneCandidateSinceMs>=160&&(i.laneIntentRowIndex=oe)):(i.laneCandidateRowIndex=null,i.laneCandidateSinceMs=0,i.laneIntentRowIndex=null);const je=oe!==i.committedRowIndex&&Ie>=N?oe:null;je!=null?p({actionId:o,laneRow:je,start:j,end:$,duration:Math.max(.01,$-j),kind:dA}):p(null);const $e=m.current,tt=$e[i.committedRowIndex];if(tt&&KA(tt,String(A.id),j,$))return!1;const At=xA($e,String(A.id));if(At){const Te=dA==="video"?QA(pA(i.committedRowIndex,"video")):ge(pA(i.committedRowIndex,"audio")),be=$e[Te];if(be&&KA(be,String(At.action.id),j,$))return!1}return c(Te=>{const be=At?MA(Te,String(A.id),j,$):te(Te,String(A.id),j,$);return m.current=be,be}),!1}const C=Number(t),w=Number(r);if(!Number.isFinite(C)||!Number.isFinite(w)||w<=C)return!1;const I=pe(o,C,w),y=a(I.start,I.end),S=y.start,R=y.end;if(!Number.isFinite(S)||!Number.isFinite(R)||R<=S)return!1;const K=n;if(KA(K,String(A.id),S,R))return!1;const x=m.current,l=xA(x,String(A.id));if(l){const O=String(A?.effectId??""),N=u(K);let h=l.rowIndex;if(N>=0)if(O==="effect1"){const J=pA(N,"video");h=QA(J)}else{const J=pA(N,"audio");h=ge(J)}const P=x[h];if(P&&KA(P,String(l.action.id),S,R))return!1}if((l||I.snapped||y.clamped)&&c(O=>{const N=l?MA(O,String(A.id),S,R):te(O,String(A.id),S,R);return m.current=N,N}),I.snapped||y.clamped){const O=nA.current.lastPointerTime;return nA.current={...nA.current,actionId:o,mode:"move",dir:null,basePointerTime:O,lastPointerTime:nA.current.lastPointerTime,initialStart:C,initialEnd:w,takeover:!0},Ee(),!1}},onActionResizing:({action:A,row:n,start:t,end:r,dir:o})=>{const i=String(A?.id??""),a=nA.current,u=o??"right";if(a.actionId===i&&a.mode==="resize"&&(a.dir=u),uA.current.actionId===i&&(uA.current.dir=u),a.takeover&&a.mode==="resize"&&a.actionId===i){const l=a.basePointerTime,O=a.lastPointerTime,N=l!=null&&O!=null?O-l:0,h=u==="left"?a.initialStart+N:a.initialStart,P=u==="right"?a.initialEnd+N:a.initialEnd,J=Me(i,h,P,u),W=J.start,_=J.end;if(KA(n,String(A.id),W,_))return!1;const k=m.current,j=xA(k,String(A.id));if(j){const $=k[j.rowIndex];if($&&KA($,String(j.action.id),W,_))return!1}return c($=>{let gA=j?MA($,String(A.id),W,_):te($,String(A.id),W,_);if(u==="left"&&uA.current.actionId===String(A.id)){const dA=W-uA.current.baseStart,ZA=uA.current.baseOffset+(Number.isFinite(dA)?dA:0),Qe=uA.current.partnerBaseOffset+(Number.isFinite(dA)?dA:0);gA=j?g(gA,String(A.id),ZA,Qe):e(gA,String(A.id),ZA)}return m.current=gA,gA}),!1}const C=Number(t),w=Number(r);if(!Number.isFinite(C)||!Number.isFinite(w)||w<=C)return!1;const I=Me(i,C,w,u),y=I.start,S=I.end;if(!Number.isFinite(y)||!Number.isFinite(S)||S<=y||KA(n,String(A.id),y,S))return!1;const K=m.current,x=xA(K,String(A.id));if(x){const l=K[x.rowIndex];if(l&&KA(l,String(x.action.id),y,S))return!1}if((x||I.snapped)&&c(l=>{const O=x?MA(l,String(A.id),y,S):te(l,String(A.id),y,S);return m.current=O,O}),I.snapped){const l=nA.current.lastPointerTime;return nA.current={...nA.current,actionId:i,mode:"resize",dir:u,basePointerTime:l,lastPointerTime:nA.current.lastPointerTime,initialStart:C,initialEnd:w,takeover:!0},Ee(),!1}},onChange:A=>{if(Oe.current){Oe.current=!1;return}const n=Z(A),t=Ae.current;let r=t?Re(n,t):n;if(t&&uA.current.actionId===t&&uA.current.dir==="left"){const u=IA(r,t);if(u){const w=Number(u.action?.start)-uA.current.baseStart,I=uA.current.baseOffset+(Number.isFinite(w)?w:0),y=uA.current.partnerBaseOffset+(Number.isFinite(w)?w:0);r=!!uA.current.partnerId?g(r,t,I,y):e(r,t,I)}}const o=xe(r,t);c(o);const i=wA.current,a=OA.current;i&&a&&(ue(o)!==a&&ee(i),wA.current=null,OA.current=null)},getActionRender:(A,n)=>{if(A.effectId==="effect0")return D.jsx(Et,{action:A,row:n});if(A.effectId==="effect2")return D.jsx(wt,{action:A,row:n});if(A.effectId==="effect1")return D.jsx(Qt,{action:A,row:n})}})]}),D.jsx(jA.DragOverlay,{children:cA?D.jsx("div",{className:"footage-overlay",style:TA?{width:TA.width,height:TA.height}:void 0,children:D.jsx(ct,{item:cA,hint:"Drop on timeline",isDragging:!0})}):null})]})})};exports.MeliesVideoEditor=Kt;