@cliquify.me/timeline 3.1.18 → 3.1.20

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.es.js CHANGED
@@ -12114,14 +12114,7 @@ class nb extends pn {
12114
12114
  return { x: c, y: u };
12115
12115
  }
12116
12116
  setScale(e) {
12117
- this.pauseEventListeners(), this.tScale = e.zoom, this.scale = e, this.getObjects(
12118
- "Video",
12119
- "Image",
12120
- "Text",
12121
- "Audio",
12122
- "Caption",
12123
- "Template"
12124
- ).forEach((r) => {
12117
+ this.pauseEventListeners(), this.tScale = e.zoom, this.scale = e, this.getTrackItems().forEach((r) => {
12125
12118
  const n = this.transitionGroups.find((o) => o.find((a) => a.id === r.id)) || [];
12126
12119
  if ((n == null ? void 0 : n.length) === 1) {
12127
12120
  const o = I(r.display.from, this.tScale), a = I(
package/dist/index.umd.js CHANGED
@@ -495,4 +495,4 @@ void main() {
495
495
  color.b += max != color.b ? (max - color.b) * amt : 0.00;
496
496
  gl_FragColor = color;
497
497
  }
498
- `}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let r=0;r<e.length;r+=4){const n=Math.max(e[r],e[r+1],e[r+2]),o=(e[r]+e[r+1]+e[r+2])/3,a=2*Math.abs(n-o)/255*s;e[r]+=n!==e[r]?(n-e[r])*a:0,e[r+1]+=n!==e[r+1]?(n-e[r+1])*a:0,e[r+2]+=n!==e[r+2]?(n-e[r+2])*a:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}}v(yi,"type","Vibrance"),v(yi,"defaults",{vibrance:0}),v(yi,"uniformLocations",["uVibrance"]),C.setClass(yi);function Rt(i,t,e,s,r){const c=r.canvas.viewportTransform;i.save(),this.controlOrientation==="left"?i.translate(r.left+c[4],r.top+c[5]+r.height/2):i.translate(r.left+r.width+c[4],r.top+c[5]+r.height/2),i.rotate(hc.degreesToRadians(90+r.angle)),i.lineWidth=6,i.lineCap="round",i.strokeStyle="white",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.lineWidth=4,i.strokeStyle="black",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.restore()}const Mt=1,bt="rgba(255, 255, 255,1.0)",Fc=["Image","Text","Video","Audio","Caption","Template","Composition","Illustration","Shape"],uf=["image","text","video","audio","caption","template","composition","illustration","shape"],df={left:-.5,top:-.5,center:0,bottom:.5,right:.5},A=i=>typeof i=="string"?df[i]:i-.5,Ce="center",ms="left",ff="top",gf="bottom",vs="right",pf="none";function ys(i){return A(i.originX)===A(Ce)&&A(i.originY)===A(Ce)}function ar(i){return(t,e,s,r)=>{const{target:n,originX:o,originY:a}=e,c=n.getRelativeCenterPoint(),h=n.translateToOriginPoint(c,o,a),l=i(t,e,s,r);return n.setPositionByOrigin(h,e.originX,e.originY),l}}const Rc=3,mf=4,Bc=188,vf=1e3/60;function j(i,t=1,e=1){const s=Bc*t;return i*(60/1e3)*s/e}function V(i,t=1,e=1){const s=Bc*t;return i/s*vf*e}function yf(i,t=1){return j(i,t)}const Ln=i=>Object.keys(i).reduce((t,e)=>{const{display:s,playbackRate:r}=i[e];return Math.max(t,s.to/(r||1))},0),{wrapWithFireEvent:bf,getLocalPoint:_f}=He,Fn=bf("resizing",ar((i,t,e,s)=>{const r=_f(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=V(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=j(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const x=V(b-T,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const f=h-c,g=n.trim.from,p=V(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),{wrapWithFireEvent:Tf,getLocalPoint:Sf,wrapWithFixedAnchor:wf}=He,bi=Tf("resizing",wf((i,t,e,s)=>{const r=Sf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=t.corner==="ml";if(n.left<0)return!1;if(l){const u=c-h;if(n.left+u<0)return n.set("width",n.width+n.left),!0}return n.set("width",Math.max(h,0)),c!==n.width}return!1})),{wrapWithFireEvent:xf,getLocalPoint:Cf}=He,Rn=xf("resizing",ar((i,t,e,s)=>{const r=Cf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=V(h,n.tScale,n.playbackRate);return l>=1500||l<500?!1:(n.set("width",Math.max(h,0)),n.set("duration",l),c!==n.width)}return!1})),{wrapWithFireEvent:Of,getLocalPoint:kf}=He,Wc=Of("resizing",ar((i,t,e,s)=>{const r=kf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=V(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0)return!1;const f=h-c,g=n.trim.from,p=V(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Kt}=He,Ve=()=>({mr:new $({x:.5,y:0,actionHandler:bi,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:bi,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})}),Xc=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Wc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Wc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),zc=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Fn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Fn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),Hc=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Wn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Wn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),Bn=()=>({mr:new $({x:.5,y:0,actionHandler:Rn,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:Rn,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})}),Mf="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let cr=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=Mf[e[i]&63];return t};function bs(i=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=cr(i-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,i-1),e+s}const{wrapWithFireEvent:Df,getLocalPoint:If}=He,Wn=Df("resizing",ar((i,t,e,s)=>{const r=If(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=V(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=j(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const x=V(b-T,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const f=h-c,g=n.trim.from,p=V(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),Is=class Is extends X{constructor(e){super(e);S(this,"itemType","image");S(this,"src");S(this,"isSelected",!1);Object.assign(this,Is.ownDefaults),this.id=e.id,this.src=e.src,this.display=e.display,this.tScale=e.tScale}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Is.ownDefaults}}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e}};S(Is,"type","Image"),S(Is,"ownDefaults",{rx:8,ry:8,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",fill:"#27272a"});let _s=Is;C.setClass(_s,"Image");class _t extends X{constructor(e){super(e);S(this,"id");S(this,"resourceId","");S(this,"tScale");S(this,"isSelected",!1);S(this,"display");S(this,"trim");S(this,"duration");S(this,"src");this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8,this.display=e.display,this.trim=e.trim,this.duration=e.duration,this.fill="#27272a"}static createControls(){return{controls:Hc()}}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}}S(_t,"type","Video"),C.setClass(_t,"Video");const js=class js extends X{constructor(e){super(e);S(this,"itemType","audio");S(this,"isSelected",!1);S(this,"trim");S(this,"src");S(this,"duration");Object.assign(this,js.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.trim=e.trim,this.src=e.src,this.duration=e.duration}static getDefaults(){return{...super.getDefaults(),...js.ownDefaults}}static createControls(){return{controls:zc()}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e}};S(js,"type","Audio"),S(js,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let pt=js;C.setClass(pt,"Audio");const Es=class Es extends X{constructor(e){super(e);S(this,"isSelected",!1);S(this,"text");Object.assign(this,Es.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.text=e.text}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Es.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Es,"type","Text"),S(Es,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Ts=Es;C.setClass(Ts,"Text");const jf={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},Ps=class Ps extends X{constructor(e){super(e);S(this,"id");S(this,"accepts",["audio","video","image","text","caption","template"]);S(this,"metadata");S(this,"items",[]);S(this,"magnetic");S(this,"static");Object.assign(this,Ps.ownDefaults),this.id=e.id,this.accepts=e.accepts||[],this.items=e.items||[],this.magnetic=e.magnetic,this.static=e.static,this.metadata=e.metadata,this.fill="rgba(34, 34, 37, 0.8)"}static getDefaults(){return{...super.getDefaults(),...Ps.ownDefaults}}updateCoords(e){this.width=e}};S(Ps,"ownDefaults",jf),S(Ps,"type","Track");let Zt=Ps;C.setClass(Zt,"Track");const Ef={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},Pf=(i,t)=>{const e=Ef[i];return i==="top"?{top:t-(e.guide+e.bottom),guide:e.guide,bottom:e.bottom}:i==="center"?{top:e.top,guide:e.guide,bottom:e.bottom}:{top:e==null?void 0:e.top,guide:e==null?void 0:e.guide,bottom:t-((e==null?void 0:e.guide)+(e==null?void 0:e.top))}},As=class As extends $t{constructor(e){const s=Pf(e.kind,e.height),r=new X({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new X({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new X({top:s.top+s.guide,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.bottom,width:e.width});super([r,n,o],e);S(this,"guide");S(this,"topGuide");S(this,"bottomGuide");S(this,"metadata");S(this,"accepts",[]);S(this,"kind");S(this,"activeGuideFill");Object.assign(this,As.ownDefaults),this.guide=n,this.topGuide=r,this.bottomGuide=o,this.id=e.id,this.metadata=e.metadata,this.tScale=e.tScale,this.kind=e.kind,this.activeGuideFill=e.activeGuideFill||bt}static getDefaults(){return{...super.getDefaults(),...As.ownDefaults}}updateCoords(e){this.scaleToWidth(e),this.set("scaleY",1)}setSelected(e){e?this.guide.set("fill",this.activeGuideFill):this.guide.set("fill","transparent")}};S(As,"type","Helper"),S(As,"ownDefaults",{selectable:!1,evented:!1});let Ge=As;C.setClass(Ge,"Helper");const Ls=class Ls extends X{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,Ls.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...Ls.ownDefaults}}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.setLineDash(this.strokeDashArray),e.strokeStyle=bt,e.stroke(),e.restore()}};S(Ls,"type","Placeholder"),S(Ls,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",strokeWidth:0,fill:"rgba(255, 211, 42,0.1)",stroke:"rgba(255, 211, 42,1.0)",selectable:!1,borderOpacityWhenMoving:1,hoverCursor:"default",strokeDashArray:[5,1],evented:!1});let Ss=Ls;C.setClass(Ss,"Placeholder");const Fs=class Fs extends X{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"kind","none");S(this,"isSelected",!1);Object.assign(this,Fs.ownDefaults),this.id=e.id,this.centeredScaling=!0,this.strokeWidth=0,this.tScale=e.tScale,this.duration=e.duration,this.fromId=e.fromId,this.toId=e.toId,this.kind=e.kind,this.strokeDashArray=e.strokeDashArray||[]}static createControls(){return{controls:Bn()}}static getDefaults(){return{...super.getDefaults(),...Fs.ownDefaults}}updateCoords(){}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.isSelected?bt:"rgba(255, 255, 255,0.15)";e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(Fs,"type","Transition"),S(Fs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.5)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let Bt=Fs;C.setClass(Bt,"Transition");const Rs=class Rs extends X{constructor(e){super(e);S(this,"isSelected",!1);S(this,"text");Object.assign(this,Rs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.text=e.text}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Rs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Rs,"type","Caption"),S(Rs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let ws=Rs;C.setClass(ws,"Caption");const Bs=class Bs extends X{constructor(e){super(e);S(this,"itemType","template");S(this,"isSelected",!1);S(this,"trim");Object.assign(this,Bs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.trim=e.trim}static getDefaults(){return{...super.getDefaults(),...Bs.ownDefaults}}static createControls(){return{controls:Xc()}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Bs,"type","Template"),S(Bs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Wt=Bs;C.setClass(Wt,"Template");const Ws=class Ws extends X{constructor(e){super(e);S(this,"itemType","illustration");S(this,"src");S(this,"isSelected",!1);S(this,"svgString","");Object.assign(this,Ws.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.src=e.src,this.svgString=e.svgString}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Ws.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e,this.set({dirty:!0})}};S(Ws,"type","Illustration"),S(Ws,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default",svgString:""});let Ne=Ws;C.setClass(Ne,"Illustration");const Xs=class Xs extends X{constructor(e){super(e);S(this,"itemType","shape");S(this,"src");S(this,"isSelected",!1);S(this,"backgroundColorDiv","#808080");Object.assign(this,Xs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.src=e.src,this.backgroundColorDiv=e.backgroundColorDiv||"#808080"}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Xs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e,this.set({dirty:!0})}};S(Xs,"type","Shape"),S(Xs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default",backgroundColordDiv:"#808080"});let Ue=Xs;C.setClass(Ue,"Shape");const zs=class zs extends X{constructor(e){super(e);S(this,"itemType","composition");S(this,"isSelected",!1);Object.assign(this,zs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display}static getDefaults(){return{...super.getDefaults(),...zs.ownDefaults}}static createControls(){return{controls:Ve()}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(zs,"type","Composition"),S(zs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let hr=zs;C.setClass(hr,"Composition");function Af(i){const t=Math.floor(i/1e3),e=Math.floor(t/60),s=t%60,r=String(e).padStart(2,"0"),n=String(s).padStart(2,"0");return`${r}:${n}`}const Hs=class Hs extends X{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"isSelected",!1);S(this,"name");S(this,"durationString");S(this,"itemType");Object.assign(this,Hs.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=Af(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...Hs.ownDefaults}}_render(e){e.save(),super._render(e),e.beginPath(),e.rect(-this.width/2,-this.height/2,this.width,this.height),e.clip(),this.drawTextIdentity(e),e.restore()}drawTextIdentity(e){e.font="600 12px 'Geist variable'",e.textAlign="left";const s=e.measureText(this.name).width,r=e.measureText(this.durationString).width,n=8,o=4,a=4-this.height/2,c=20,h=4,l=4-this.width/2,u=s+n*2;this.drawRoundedRect(e,l,a,u,c,h),e.fillStyle="#f4f4f5",e.fillText(this.name,l+n,a+14);const d=l+u+o,f=r+n*2;this.drawRoundedRect(e,d,a,f,c,h),e.fillStyle="#f4f4f5",e.fillText(this.durationString,d+n,a+14)}drawRoundedRect(e,s,r,n,o,a){e.fillStyle="rgba(0, 0, 0, 0.5)",e.roundRect?(e.beginPath(),e.roundRect(s,r,n,o,a),e.fill()):e.fillRect(s,r,n,o)}};S(Hs,"type","PreviewTrackItem"),S(Hs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let le=Hs;C.setClass(le,"PreviewTrackItem");class Lf{constructor(){S(this,"___eventListeners",{});S(this,"___activeObjects",[])}resize(t,{force:e}={force:!1}){var s;this.lowerCanvasEl&&(this.setDimensions(t),e&&this.renderTracks(),(s=this.onResizeCanvas)==null||s.call(this,{width:this.width,height:this.height}))}pauseEventListeners(){this.___eventListeners=this.__eventListeners,this.__eventListeners={};const t=this.getActiveObjects();this.discardActiveObject(),this.___activeObjects=t}resumeEventListeners(){this.__eventListeners=this.___eventListeners,this.___eventListeners={};const t=this.___activeObjects;if(!t.length)return this.requestRenderAll(),!1;if(t.length===1)this.setActiveObject(t[0]);else{const e=new Ot(t);this.setActiveObject(e)}this.requestRenderAll()}updateCachingActiveObjects(t){const e=this.___activeObjects;this.___activeObjects=e.map(s=>{const r=t.find(n=>n.id===s.id);return r||s})}}function lr(i,t){return i.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const Ff=(i,t)=>{var a;const e=j(i.display.from,t.tScale),s=j(i.duration,t.tScale,i.playbackRate),r=t.sizesMap.video,n=C.getClass("Video")||_t;return new n({width:s,height:r,id:i.id,tScale:t.tScale,fill:"#333333",resourceId:(a=i.metadata)==null?void 0:a.resourceId,duration:i.duration,top:10,left:e,display:i.display,trim:i.trim,src:i.details.src,metadata:i.metadata})},Rf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=t.sizesMap.text,o=C.getClass("Text")||Ts;return new o({width:r,height:n,id:i.id,display:e,top:10,left:s,text:i.details.text,tScale:t.tScale})},Bf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=t.sizesMap.caption,o=C.getClass("Caption")||ws;return new o({width:r,height:n,id:i.id,display:e,top:10,left:s,text:i.details.text,tScale:t.tScale})},Wf=(i,t)=>{const e=j(i.display.from,t.tScale),s=j(i.display.to-(i.display.from||5e3),t.tScale),r=t.sizesMap.image,n=C.getClass("Image")||_s;return new n({width:s,height:r,id:i.id,src:i.details.src,tScale:t.tScale,top:10,left:e,display:i.display})},Xf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale,i.playbackRate),n=t.sizesMap.audio,o=C.getClass("Audio")||pt;return new o({width:r,height:n,top:10,left:s,id:i.id,display:e,trim:i.trim||{from:0,to:i.duration},duration:i.duration,src:i.details.src,tScale:t.tScale})},zf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=42,o=C.getClass("Template")||Wt;return new o({width:r,height:n,top:10,left:s,id:i.id,display:e,duration:e.to-e.from,tScale:t.tScale,trim:i.trim||i.display})},Hf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=32,o=C.getClass("Composition")||hr;return new o({width:r,height:n,id:i.id,display:e,top:10,left:s,duration:e.to-e.from,tScale:t.tScale})},Yf=(i,t)=>{const e=j(i.display.from,t.tScale),s=j(i.display.to-(i.display.from||5e3),t.tScale),r=t.sizesMap.illustration,n=C.getClass("Illustration")||Ne;return new n({width:s,height:r,id:i.id,src:i.details.src,tScale:t.tScale,top:10,left:e,display:i.display,svgString:i.details.svgString})},Vf=(i,t)=>{const e=j(i.display.from,t.tScale),s=j(i.display.to-(i.display.from||5e3),t.tScale),r=t.sizesMap.shape,n=C.getClass("Shape")||Ue;return new n({width:s,height:r,id:i.id,src:i.details.src,tScale:t.tScale,top:10,left:e,display:i.display,backgroundColorDiv:i.details.backgroundColor})},Gf=(i,t)=>{if(i.type==="caption")return Bf(i,t);if(i.type==="text")return Rf(i,t);if(i.type==="image")return Wf(i,t);if(i.type==="video")return Ff(i,t);if(i.type==="audio")return Xf(i,t);if(i.type==="template")return zf(i,t);if(i.type==="shape")return Vf(i,t);if(i.type==="illustration")return Yf(i,t);if(i.type==="composition")return Hf(i,t)};var Yc=typeof global=="object"&&global&&global.Object===Object&&global,Nf=typeof self=="object"&&self&&self.Object===Object&&self,Xt=Yc||Nf||Function("return this")(),Dt=Xt.Symbol,Vc=Object.prototype,Uf=Vc.hasOwnProperty,$f=Vc.toString,ur=Dt?Dt.toStringTag:void 0;function qf(i){var t=Uf.call(i,ur),e=i[ur];try{i[ur]=void 0;var s=!0}catch{}var r=$f.call(i);return s&&(t?i[ur]=e:delete i[ur]),r}var Kf=Object.prototype,Zf=Kf.toString;function Jf(i){return Zf.call(i)}var Qf="[object Null]",tg="[object Undefined]",Gc=Dt?Dt.toStringTag:void 0;function xs(i){return i==null?i===void 0?tg:Qf:Gc&&Gc in Object(i)?qf(i):Jf(i)}function Oe(i){return i!=null&&typeof i=="object"}var eg="[object Symbol]";function _i(i){return typeof i=="symbol"||Oe(i)&&xs(i)==eg}function sg(i,t){for(var e=-1,s=i==null?0:i.length,r=Array(s);++e<s;)r[e]=t(i[e],e,i);return r}var Jt=Array.isArray,Nc=Dt?Dt.prototype:void 0,Uc=Nc?Nc.toString:void 0;function $c(i){if(typeof i=="string")return i;if(Jt(i))return sg(i,$c)+"";if(_i(i))return Uc?Uc.call(i):"";var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}var rg=/\s/;function ig(i){for(var t=i.length;t--&&rg.test(i.charAt(t)););return t}var ng=/^\s+/;function og(i){return i&&i.slice(0,ig(i)+1).replace(ng,"")}function Qt(i){var t=typeof i;return i!=null&&(t=="object"||t=="function")}var qc=NaN,ag=/^[-+]0x[0-9a-f]+$/i,cg=/^0b[01]+$/i,hg=/^0o[0-7]+$/i,lg=parseInt;function Kc(i){if(typeof i=="number")return i;if(_i(i))return qc;if(Qt(i)){var t=typeof i.valueOf=="function"?i.valueOf():i;i=Qt(t)?t+"":t}if(typeof i!="string")return i===0?i:+i;i=og(i);var e=cg.test(i);return e||hg.test(i)?lg(i.slice(2),e?2:8):ag.test(i)?qc:+i}function ug(i){return i}var dg="[object AsyncFunction]",fg="[object Function]",gg="[object GeneratorFunction]",pg="[object Proxy]";function Zc(i){if(!Qt(i))return!1;var t=xs(i);return t==fg||t==gg||t==dg||t==pg}var Xn=Xt["__core-js_shared__"],Jc=function(){var i=/[^.]+$/.exec(Xn&&Xn.keys&&Xn.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function mg(i){return!!Jc&&Jc in i}var vg=Function.prototype,yg=vg.toString;function $e(i){if(i!=null){try{return yg.call(i)}catch{}try{return i+""}catch{}}return""}var bg=/[\\^$.*+?()[\]{}|]/g,_g=/^\[object .+?Constructor\]$/,Tg=Function.prototype,Sg=Object.prototype,wg=Tg.toString,xg=Sg.hasOwnProperty,Cg=RegExp("^"+wg.call(xg).replace(bg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Og(i){if(!Qt(i)||mg(i))return!1;var t=Zc(i)?Cg:_g;return t.test($e(i))}function kg(i,t){return i==null?void 0:i[t]}function qe(i,t){var e=kg(i,t);return Og(e)?e:void 0}var zn=qe(Xt,"WeakMap"),Qc=Object.create,Mg=function(){function i(){}return function(t){if(!Qt(t))return{};if(Qc)return Qc(t);i.prototype=t;var e=new i;return i.prototype=void 0,e}}();function Dg(i,t,e){switch(e.length){case 0:return i.call(t);case 1:return i.call(t,e[0]);case 2:return i.call(t,e[0],e[1]);case 3:return i.call(t,e[0],e[1],e[2])}return i.apply(t,e)}var Ig=800,jg=16,Eg=Date.now;function Pg(i){var t=0,e=0;return function(){var s=Eg(),r=jg-(s-e);if(e=s,r>0){if(++t>=Ig)return arguments[0]}else t=0;return i.apply(void 0,arguments)}}function Ag(i){return function(){return i}}var Ti=function(){try{var i=qe(Object,"defineProperty");return i({},"",{}),i}catch{}}(),Lg=Ti?function(i,t){return Ti(i,"toString",{configurable:!0,enumerable:!1,value:Ag(t),writable:!0})}:ug,Fg=Pg(Lg);function Rg(i,t){for(var e=-1,s=i==null?0:i.length;++e<s&&t(i[e],e,i)!==!1;);return i}var Bg=9007199254740991,Wg=/^(?:0|[1-9]\d*)$/;function Hn(i,t){var e=typeof i;return t=t??Bg,!!t&&(e=="number"||e!="symbol"&&Wg.test(i))&&i>-1&&i%1==0&&i<t}function Xg(i,t,e){t=="__proto__"&&Ti?Ti(i,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):i[t]=e}function Yn(i,t){return i===t||i!==i&&t!==t}var zg=Object.prototype,Hg=zg.hasOwnProperty;function th(i,t,e){var s=i[t];(!(Hg.call(i,t)&&Yn(s,e))||e===void 0&&!(t in i))&&Xg(i,t,e)}var eh=Math.max;function Yg(i,t,e){return t=eh(t===void 0?i.length-1:t,0),function(){for(var s=arguments,r=-1,n=eh(s.length-t,0),o=Array(n);++r<n;)o[r]=s[t+r];r=-1;for(var a=Array(t+1);++r<t;)a[r]=s[r];return a[t]=e(o),Dg(i,this,a)}}var Vg=9007199254740991;function Vn(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=Vg}function Gg(i){return i!=null&&Vn(i.length)&&!Zc(i)}var Ng=Object.prototype;function sh(i){var t=i&&i.constructor,e=typeof t=="function"&&t.prototype||Ng;return i===e}function Ug(i,t){for(var e=-1,s=Array(i);++e<i;)s[e]=t(e);return s}var $g="[object Arguments]";function rh(i){return Oe(i)&&xs(i)==$g}var ih=Object.prototype,qg=ih.hasOwnProperty,Kg=ih.propertyIsEnumerable,Gn=rh(function(){return arguments}())?rh:function(i){return Oe(i)&&qg.call(i,"callee")&&!Kg.call(i,"callee")};function Zg(){return!1}var nh=typeof M=="object"&&M&&!M.nodeType&&M,oh=nh&&typeof module=="object"&&module&&!module.nodeType&&module,Jg=oh&&oh.exports===nh,ah=Jg?Xt.Buffer:void 0,Qg=ah?ah.isBuffer:void 0,Si=Qg||Zg,tp="[object Arguments]",ep="[object Array]",sp="[object Boolean]",rp="[object Date]",ip="[object Error]",np="[object Function]",op="[object Map]",ap="[object Number]",cp="[object Object]",hp="[object RegExp]",lp="[object Set]",up="[object String]",dp="[object WeakMap]",fp="[object ArrayBuffer]",gp="[object DataView]",pp="[object Float32Array]",mp="[object Float64Array]",vp="[object Int8Array]",yp="[object Int16Array]",bp="[object Int32Array]",_p="[object Uint8Array]",Tp="[object Uint8ClampedArray]",Sp="[object Uint16Array]",wp="[object Uint32Array]",N={};N[pp]=N[mp]=N[vp]=N[yp]=N[bp]=N[_p]=N[Tp]=N[Sp]=N[wp]=!0,N[tp]=N[ep]=N[fp]=N[sp]=N[gp]=N[rp]=N[ip]=N[np]=N[op]=N[ap]=N[cp]=N[hp]=N[lp]=N[up]=N[dp]=!1;function xp(i){return Oe(i)&&Vn(i.length)&&!!N[xs(i)]}function Nn(i){return function(t){return i(t)}}var ch=typeof M=="object"&&M&&!M.nodeType&&M,dr=ch&&typeof module=="object"&&module&&!module.nodeType&&module,Cp=dr&&dr.exports===ch,Un=Cp&&Yc.process,Cs=function(){try{var i=dr&&dr.require&&dr.require("util").types;return i||Un&&Un.binding&&Un.binding("util")}catch{}}(),hh=Cs&&Cs.isTypedArray,lh=hh?Nn(hh):xp,Op=Object.prototype,kp=Op.hasOwnProperty;function Mp(i,t){var e=Jt(i),s=!e&&Gn(i),r=!e&&!s&&Si(i),n=!e&&!s&&!r&&lh(i),o=e||s||r||n,a=o?Ug(i.length,String):[],c=a.length;for(var h in i)kp.call(i,h)&&!(o&&(h=="length"||r&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Hn(h,c)))&&a.push(h);return a}function uh(i,t){return function(e){return i(t(e))}}var Dp=uh(Object.keys,Object),Ip=Object.prototype,jp=Ip.hasOwnProperty;function Ep(i){if(!sh(i))return Dp(i);var t=[];for(var e in Object(i))jp.call(i,e)&&e!="constructor"&&t.push(e);return t}function Pp(i){return Gg(i)?Mp(i):Ep(i)}var Ap=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lp=/^\w*$/;function Fp(i,t){if(Jt(i))return!1;var e=typeof i;return e=="number"||e=="symbol"||e=="boolean"||i==null||_i(i)?!0:Lp.test(i)||!Ap.test(i)||t!=null&&i in Object(t)}var fr=qe(Object,"create");function Rp(){this.__data__=fr?fr(null):{},this.size=0}function Bp(i){var t=this.has(i)&&delete this.__data__[i];return this.size-=t?1:0,t}var Wp="__lodash_hash_undefined__",Xp=Object.prototype,zp=Xp.hasOwnProperty;function Hp(i){var t=this.__data__;if(fr){var e=t[i];return e===Wp?void 0:e}return zp.call(t,i)?t[i]:void 0}var Yp=Object.prototype,Vp=Yp.hasOwnProperty;function Gp(i){var t=this.__data__;return fr?t[i]!==void 0:Vp.call(t,i)}var Np="__lodash_hash_undefined__";function Up(i,t){var e=this.__data__;return this.size+=this.has(i)?0:1,e[i]=fr&&t===void 0?Np:t,this}function Ke(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}Ke.prototype.clear=Rp,Ke.prototype.delete=Bp,Ke.prototype.get=Hp,Ke.prototype.has=Gp,Ke.prototype.set=Up;function $p(){this.__data__=[],this.size=0}function wi(i,t){for(var e=i.length;e--;)if(Yn(i[e][0],t))return e;return-1}var qp=Array.prototype,Kp=qp.splice;function Zp(i){var t=this.__data__,e=wi(t,i);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():Kp.call(t,e,1),--this.size,!0}function Jp(i){var t=this.__data__,e=wi(t,i);return e<0?void 0:t[e][1]}function Qp(i){return wi(this.__data__,i)>-1}function tm(i,t){var e=this.__data__,s=wi(e,i);return s<0?(++this.size,e.push([i,t])):e[s][1]=t,this}function ue(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}ue.prototype.clear=$p,ue.prototype.delete=Zp,ue.prototype.get=Jp,ue.prototype.has=Qp,ue.prototype.set=tm;var gr=qe(Xt,"Map");function em(){this.size=0,this.__data__={hash:new Ke,map:new(gr||ue),string:new Ke}}function sm(i){var t=typeof i;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?i!=="__proto__":i===null}function xi(i,t){var e=i.__data__;return sm(t)?e[typeof t=="string"?"string":"hash"]:e.map}function rm(i){var t=xi(this,i).delete(i);return this.size-=t?1:0,t}function im(i){return xi(this,i).get(i)}function nm(i){return xi(this,i).has(i)}function om(i,t){var e=xi(this,i),s=e.size;return e.set(i,t),this.size+=e.size==s?0:1,this}function de(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}de.prototype.clear=em,de.prototype.delete=rm,de.prototype.get=im,de.prototype.has=nm,de.prototype.set=om;var am="Expected a function";function $n(i,t){if(typeof i!="function"||t!=null&&typeof t!="function")throw new TypeError(am);var e=function(){var s=arguments,r=t?t.apply(this,s):s[0],n=e.cache;if(n.has(r))return n.get(r);var o=i.apply(this,s);return e.cache=n.set(r,o)||n,o};return e.cache=new($n.Cache||de),e}$n.Cache=de;var cm=500;function hm(i){var t=$n(i,function(s){return e.size===cm&&e.clear(),s}),e=t.cache;return t}var lm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,um=/\\(\\)?/g,dm=hm(function(i){var t=[];return i.charCodeAt(0)===46&&t.push(""),i.replace(lm,function(e,s,r,n){t.push(r?n.replace(um,"$1"):s||e)}),t});function fm(i){return i==null?"":$c(i)}function Ci(i,t){return Jt(i)?i:Fp(i,t)?[i]:dm(fm(i))}function qn(i){if(typeof i=="string"||_i(i))return i;var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}function gm(i,t){t=Ci(t,i);for(var e=0,s=t.length;i!=null&&e<s;)i=i[qn(t[e++])];return e&&e==s?i:void 0}function dh(i,t){for(var e=-1,s=t.length,r=i.length;++e<s;)i[r+e]=t[e];return i}var fh=Dt?Dt.isConcatSpreadable:void 0;function pm(i){return Jt(i)||Gn(i)||!!(fh&&i&&i[fh])}function mm(i,t,e,s,r){var n=-1,o=i.length;for(e||(e=pm),r||(r=[]);++n<o;){var a=i[n];e(a)?dh(r,a):r[r.length]=a}return r}function Kn(i){var t=i==null?0:i.length;return t?mm(i):[]}function vm(i){return Fg(Yg(i,void 0,Kn),i+"")}var ym=uh(Object.getPrototypeOf,Object);function bm(){this.__data__=new ue,this.size=0}function _m(i){var t=this.__data__,e=t.delete(i);return this.size=t.size,e}function Tm(i){return this.__data__.get(i)}function Sm(i){return this.__data__.has(i)}var wm=200;function xm(i,t){var e=this.__data__;if(e instanceof ue){var s=e.__data__;if(!gr||s.length<wm-1)return s.push([i,t]),this.size=++e.size,this;e=this.__data__=new de(s)}return e.set(i,t),this.size=e.size,this}function fe(i){var t=this.__data__=new ue(i);this.size=t.size}fe.prototype.clear=bm,fe.prototype.delete=_m,fe.prototype.get=Tm,fe.prototype.has=Sm,fe.prototype.set=xm;var gh=typeof M=="object"&&M&&!M.nodeType&&M,ph=gh&&typeof module=="object"&&module&&!module.nodeType&&module,Cm=ph&&ph.exports===gh,mh=Cm?Xt.Buffer:void 0;mh&&mh.allocUnsafe;function Om(i,t){return i.slice()}function km(i,t){for(var e=-1,s=i==null?0:i.length,r=0,n=[];++e<s;){var o=i[e];t(o,e,i)&&(n[r++]=o)}return n}function Mm(){return[]}var Dm=Object.prototype,Im=Dm.propertyIsEnumerable,vh=Object.getOwnPropertySymbols,jm=vh?function(i){return i==null?[]:(i=Object(i),km(vh(i),function(t){return Im.call(i,t)}))}:Mm;function Em(i,t,e){var s=t(i);return Jt(i)?s:dh(s,e(i))}function Zn(i){return Em(i,Pp,jm)}var Jn=qe(Xt,"DataView"),Qn=qe(Xt,"Promise"),to=qe(Xt,"Set"),yh="[object Map]",Pm="[object Object]",bh="[object Promise]",_h="[object Set]",Th="[object WeakMap]",Sh="[object DataView]",Am=$e(Jn),Lm=$e(gr),Fm=$e(Qn),Rm=$e(to),Bm=$e(zn),zt=xs;(Jn&&zt(new Jn(new ArrayBuffer(1)))!=Sh||gr&&zt(new gr)!=yh||Qn&&zt(Qn.resolve())!=bh||to&&zt(new to)!=_h||zn&&zt(new zn)!=Th)&&(zt=function(i){var t=xs(i),e=t==Pm?i.constructor:void 0,s=e?$e(e):"";if(s)switch(s){case Am:return Sh;case Lm:return yh;case Fm:return bh;case Rm:return _h;case Bm:return Th}return t});var Wm=Object.prototype,Xm=Wm.hasOwnProperty;function zm(i){var t=i.length,e=new i.constructor(t);return t&&typeof i[0]=="string"&&Xm.call(i,"index")&&(e.index=i.index,e.input=i.input),e}var Oi=Xt.Uint8Array;function eo(i){var t=new i.constructor(i.byteLength);return new Oi(t).set(new Oi(i)),t}function Hm(i,t){var e=eo(i.buffer);return new i.constructor(e,i.byteOffset,i.byteLength)}var Ym=/\w*$/;function Vm(i){var t=new i.constructor(i.source,Ym.exec(i));return t.lastIndex=i.lastIndex,t}var wh=Dt?Dt.prototype:void 0,xh=wh?wh.valueOf:void 0;function Gm(i){return xh?Object(xh.call(i)):{}}function Nm(i,t){var e=eo(i.buffer);return new i.constructor(e,i.byteOffset,i.length)}var Um="[object Boolean]",$m="[object Date]",qm="[object Map]",Km="[object Number]",Zm="[object RegExp]",Jm="[object Set]",Qm="[object String]",tv="[object Symbol]",ev="[object ArrayBuffer]",sv="[object DataView]",rv="[object Float32Array]",iv="[object Float64Array]",nv="[object Int8Array]",ov="[object Int16Array]",av="[object Int32Array]",cv="[object Uint8Array]",hv="[object Uint8ClampedArray]",lv="[object Uint16Array]",uv="[object Uint32Array]";function dv(i,t,e){var s=i.constructor;switch(t){case ev:return eo(i);case Um:case $m:return new s(+i);case sv:return Hm(i);case rv:case iv:case nv:case ov:case av:case cv:case hv:case lv:case uv:return Nm(i);case qm:return new s;case Km:case Qm:return new s(i);case Zm:return Vm(i);case Jm:return new s;case tv:return Gm(i)}}function fv(i){return typeof i.constructor=="function"&&!sh(i)?Mg(ym(i)):{}}var gv="[object Map]";function pv(i){return Oe(i)&&zt(i)==gv}var Ch=Cs&&Cs.isMap,mv=Ch?Nn(Ch):pv,vv="[object Set]";function yv(i){return Oe(i)&&zt(i)==vv}var Oh=Cs&&Cs.isSet,bv=Oh?Nn(Oh):yv,kh="[object Arguments]",_v="[object Array]",Tv="[object Boolean]",Sv="[object Date]",wv="[object Error]",Mh="[object Function]",xv="[object GeneratorFunction]",Cv="[object Map]",Ov="[object Number]",Dh="[object Object]",kv="[object RegExp]",Mv="[object Set]",Dv="[object String]",Iv="[object Symbol]",jv="[object WeakMap]",Ev="[object ArrayBuffer]",Pv="[object DataView]",Av="[object Float32Array]",Lv="[object Float64Array]",Fv="[object Int8Array]",Rv="[object Int16Array]",Bv="[object Int32Array]",Wv="[object Uint8Array]",Xv="[object Uint8ClampedArray]",zv="[object Uint16Array]",Hv="[object Uint32Array]",G={};G[kh]=G[_v]=G[Ev]=G[Pv]=G[Tv]=G[Sv]=G[Av]=G[Lv]=G[Fv]=G[Rv]=G[Bv]=G[Cv]=G[Ov]=G[Dh]=G[kv]=G[Mv]=G[Dv]=G[Iv]=G[Wv]=G[Xv]=G[zv]=G[Hv]=!0,G[wv]=G[Mh]=G[jv]=!1;function ki(i,t,e,s,r,n){var o;if(o!==void 0)return o;if(!Qt(i))return i;var a=Jt(i);if(a)o=zm(i);else{var c=zt(i),h=c==Mh||c==xv;if(Si(i))return Om(i);if(c==Dh||c==kh||h&&!r)o=h?{}:fv(i);else{if(!G[c])return r?i:{};o=dv(i,c)}}n||(n=new fe);var l=n.get(i);if(l)return l;n.set(i,o),bv(i)?i.forEach(function(f){o.add(ki(f,t,e,f,i,n))}):mv(i)&&i.forEach(function(f,g){o.set(g,ki(f,t,e,g,i,n))});var u=Zn,d=a?void 0:u(i);return Rg(d||i,function(f,g){d&&(g=f,f=i[g]),th(o,g,ki(f,t,e,g,i,n))}),o}var Yv=1,Vv=4;function te(i){return ki(i,Yv|Vv)}var Gv="__lodash_hash_undefined__";function Nv(i){return this.__data__.set(i,Gv),this}function Uv(i){return this.__data__.has(i)}function Mi(i){var t=-1,e=i==null?0:i.length;for(this.__data__=new de;++t<e;)this.add(i[t])}Mi.prototype.add=Mi.prototype.push=Nv,Mi.prototype.has=Uv;function $v(i,t){for(var e=-1,s=i==null?0:i.length;++e<s;)if(t(i[e],e,i))return!0;return!1}function qv(i,t){return i.has(t)}var Kv=1,Zv=2;function Ih(i,t,e,s,r,n){var o=e&Kv,a=i.length,c=t.length;if(a!=c&&!(o&&c>a))return!1;var h=n.get(i),l=n.get(t);if(h&&l)return h==t&&l==i;var u=-1,d=!0,f=e&Zv?new Mi:void 0;for(n.set(i,t),n.set(t,i);++u<a;){var g=i[u],p=t[u];if(s)var m=o?s(p,g,u,t,i,n):s(g,p,u,i,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(f){if(!$v(t,function(b,T){if(!qv(f,T)&&(g===b||r(g,b,e,s,n)))return f.push(T)})){d=!1;break}}else if(!(g===p||r(g,p,e,s,n))){d=!1;break}}return n.delete(i),n.delete(t),d}function Jv(i){var t=-1,e=Array(i.size);return i.forEach(function(s,r){e[++t]=[r,s]}),e}function Qv(i){var t=-1,e=Array(i.size);return i.forEach(function(s){e[++t]=s}),e}var ty=1,ey=2,sy="[object Boolean]",ry="[object Date]",iy="[object Error]",ny="[object Map]",oy="[object Number]",ay="[object RegExp]",cy="[object Set]",hy="[object String]",ly="[object Symbol]",uy="[object ArrayBuffer]",dy="[object DataView]",jh=Dt?Dt.prototype:void 0,so=jh?jh.valueOf:void 0;function fy(i,t,e,s,r,n,o){switch(e){case dy:if(i.byteLength!=t.byteLength||i.byteOffset!=t.byteOffset)return!1;i=i.buffer,t=t.buffer;case uy:return!(i.byteLength!=t.byteLength||!n(new Oi(i),new Oi(t)));case sy:case ry:case oy:return Yn(+i,+t);case iy:return i.name==t.name&&i.message==t.message;case ay:case hy:return i==t+"";case ny:var a=Jv;case cy:var c=s&ty;if(a||(a=Qv),i.size!=t.size&&!c)return!1;var h=o.get(i);if(h)return h==t;s|=ey,o.set(i,t);var l=Ih(a(i),a(t),s,r,n,o);return o.delete(i),l;case ly:if(so)return so.call(i)==so.call(t)}return!1}var gy=1,py=Object.prototype,my=py.hasOwnProperty;function vy(i,t,e,s,r,n){var o=e&gy,a=Zn(i),c=a.length,h=Zn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:my.call(t,d)))return!1}var f=n.get(i),g=n.get(t);if(f&&g)return f==t&&g==i;var p=!0;n.set(i,t),n.set(t,i);for(var m=o;++u<c;){d=a[u];var b=i[d],T=t[d];if(s)var x=o?s(T,b,d,t,i,n):s(b,T,d,i,t,n);if(!(x===void 0?b===T||r(b,T,e,s,n):x)){p=!1;break}m||(m=d=="constructor")}if(p&&!m){var k=i.constructor,O=t.constructor;k!=O&&"constructor"in i&&"constructor"in t&&!(typeof k=="function"&&k instanceof k&&typeof O=="function"&&O instanceof O)&&(p=!1)}return n.delete(i),n.delete(t),p}var yy=1,Eh="[object Arguments]",Ph="[object Array]",Di="[object Object]",by=Object.prototype,Ah=by.hasOwnProperty;function _y(i,t,e,s,r,n){var o=Jt(i),a=Jt(t),c=o?Ph:zt(i),h=a?Ph:zt(t);c=c==Eh?Di:c,h=h==Eh?Di:h;var l=c==Di,u=h==Di,d=c==h;if(d&&Si(i)){if(!Si(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new fe),o||lh(i)?Ih(i,t,e,s,r,n):fy(i,t,c,e,s,r,n);if(!(e&yy)){var f=l&&Ah.call(i,"__wrapped__"),g=u&&Ah.call(t,"__wrapped__");if(f||g){var p=f?i.value():i,m=g?t.value():t;return n||(n=new fe),r(p,m,e,s,n)}}return d?(n||(n=new fe),vy(i,t,e,s,r,n)):!1}function Lh(i,t,e,s,r){return i===t?!0:i==null||t==null||!Oe(i)&&!Oe(t)?i!==i&&t!==t:_y(i,t,e,s,Lh,r)}function Ty(i,t){return i!=null&&t in Object(i)}function Sy(i,t,e){t=Ci(t,i);for(var s=-1,r=t.length,n=!1;++s<r;){var o=qn(t[s]);if(!(n=i!=null&&e(i,o)))break;i=i[o]}return n||++s!=r?n:(r=i==null?0:i.length,!!r&&Vn(r)&&Hn(o,r)&&(Jt(i)||Gn(i)))}function wy(i,t){return i!=null&&Sy(i,t,Ty)}var ro=function(){return Xt.Date.now()},xy="Expected a function",Cy=Math.max,Oy=Math.min;function ky(i,t,e){var s,r,n,o,a,c,h=0,l=!1,u=!1,d=!0;if(typeof i!="function")throw new TypeError(xy);t=Kc(t)||0,Qt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?Cy(Kc(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function f(w){var I=s,D=r;return s=r=void 0,h=w,o=i.apply(D,I),o}function g(w){return h=w,a=setTimeout(b,t),l?f(w):o}function p(w){var I=w-c,D=w-h,F=t-I;return u?Oy(F,n-D):F}function m(w){var I=w-c,D=w-h;return c===void 0||I>=t||I<0||u&&D>=n}function b(){var w=ro();if(m(w))return T(w);a=setTimeout(b,p(w))}function T(w){return a=void 0,d&&s?f(w):(s=r=void 0,o)}function x(){a!==void 0&&clearTimeout(a),h=0,s=c=r=a=void 0}function k(){return a===void 0?o:T(ro())}function O(){var w=ro(),I=m(w);if(s=arguments,r=this,c=w,I){if(a===void 0)return g(c);if(u)return clearTimeout(a),a=setTimeout(b,t),f(c)}return a===void 0&&(a=setTimeout(b,t)),o}return O.cancel=x,O.flush=k,O}function My(i,t){return Lh(i,t)}function Dy(i,t,e,s){if(!Qt(i))return i;t=Ci(t,i);for(var r=-1,n=t.length,o=n-1,a=i;a!=null&&++r<n;){var c=qn(t[r]),h=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return i;if(r!=o){var l=a[c];h=void 0,h===void 0&&(h=Qt(l)?l:Hn(t[r+1])?[]:{})}th(a,c,h),a=a[c]}return i}function Iy(i,t,e){for(var s=-1,r=t.length,n={};++s<r;){var o=t[s],a=gm(i,o);e(a,o)&&Dy(n,Ci(o,i),a)}return n}function jy(i,t){return Iy(i,t,function(e,s){return wy(i,s)})}var Ey=vm(function(i,t){return i==null?{}:jy(i,t)}),Py="Expected a function";function Ay(i,t,e){var s=!0,r=!0;if(typeof i!="function")throw new TypeError(Py);return Qt(e)&&(s="leading"in e?!!e.leading:s,r="trailing"in e?!!e.trailing:r),ky(i,t,{leading:s,maxWait:t,trailing:r})}const Ly=(i,t)=>{if(i.length!==t.length)return!1;const e=new Set(i.map(r=>r.id)),s=new Set(t.map(r=>r.id));if(e.size!==s.size)return!1;for(const r of e)if(!s.has(r))return!1;return!0},Os=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(c=>{var u,d;if(c.kind==="none")return;const{fromId:h,toId:l}=c;r.has(h)||r.set(h,[]),r.has(l)||r.set(l,[]),(u=r.get(h))==null||u.push(c),(d=r.get(l))==null||d.push(c)});const n=[],o=new Set,a=c=>{const h=[];let l=c;for(;l&&!o.has(l);){o.add(l);const u=s[l];h.push(u);const d=Object.values(e).find(f=>f.fromId===l&&f.kind!=="none");if(!d)break;h.push(d),l=d.toId}return h};for(const c of t)if(!o.has(c)&&(!r.has(c)||!Object.values(e).some(h=>h.toId===c&&h.kind!=="none"))){const h=a(c);h.length>0&&n.push(h)}return n.forEach(c=>{c.sort((h,l)=>"display"in h&&"display"in l?h.display.from-l.display.from:0)}),n};function Fy(i,t,e,s,r){const n=i[0].canvas,o=Object.keys(s),a={},c=[];return i.forEach(h=>{const l=t.filter(u=>h.items.includes(u.id)).map(u=>{if(r.includes(u.id)){const d=n.getObjects().find(f=>f.id===`${u.id}-placeholder`);return(d==null?void 0:d.opacity)===1&&(u.left=(d==null?void 0:d.left)||u.left),u}else return u}).sort((u,d)=>u.left-d.left);for(let u=0;u<l.length-1;u++){const d=l[u];let f=d.left;const g=l[u+1];let p=g.left;if(o.includes(d.id)&&(f=s[d.id].left),o.includes(g.id)&&(p=s[g.id].left),Math.abs(f+d.width-p)<=1){const m=`${d.id}-${g.id}`;if(e.hasOwnProperty(m)){const T=e[m];a[m]=T}else{const T={id:m,duration:1500,fromId:d.id,toId:g.id,kind:"none",trackId:h.id,type:"transition"};a[m]=T}c.push(m)}}}),{newTransitionIds:c,newTransitionsMap:a}}const ke=(i,t)=>{const e=t.findIndex(l=>l.id===i),s=t[e-1],r=t[e+1],n=t.filter(l=>l.type==="transition"),o=n.indexOf(s),c=n.slice(0,o).reduce((l,u)=>l+(u.duration||0),0);let h=0;return s&&!r?h=(s.duration||0)/2:r&&!s?h=(r.duration||0)/2:s&&r&&(h=(r.duration||0)/2+(s.duration||0)/2),{durationDiff:h,offsetTransitions:c}},io=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(h=>{var f,g;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(r.has(l)||r.set(l,[]),r.has(u)||r.set(u,[]),(f=r.get(l))==null||f.push(h),(g=r.get(u))==null||g.push(h))});const n=[],o=new Set,a=h=>{const l=[];let u=h;for(;u&&!o.has(u);){o.add(u);const d=s[u];l.push(d);const f=Object.values(e).find(g=>g.fromId===u&&g.kind!=="none");if(!f)break;l.push(f),u=f.toId}return l},c=Object.values(e).filter(h=>h.kind!=="none");for(const h of t)if(!o.has(h)&&(!r.has(h)||!c.some(l=>l.toId===h))){const l=a(h);l.length>0&&n.push(l)}return n.forEach(h=>{h.sort((l,u)=>"display"in l&&"display"in u?l.display.from-u.display.from:0)}),n};class Ry{addTrackItem(t){const e=Gf(t,{tScale:this.tScale,sizesMap:this.sizesMap});this.add(e)}alignItemsToTrack(){this.pauseEventListeners();const t=new Map(this.getObjects("Track").map(r=>[r.id,r])),e=this.getTrackItems(),s=this.getObjects("Transition");this.trackItemIds.forEach(r=>{const n=this.tracks.find(c=>c.items.includes(r));if(!n)return;const o=t.get(n.id),a=this.getTrackItems().find(c=>c.id===r);a&&o&&(a.isMain=o.magnetic,this.trackItemsMap[r].isMain=o.magnetic,a.set({top:o.top}),a.setCoords())}),t.forEach(r=>{r.items=e.filter(n=>n.top===r.top).map(n=>n.id)}),s.forEach(r=>{const n=r.fromId,o=e.find(a=>a.id===n);o&&(r.set({top:o.top}),r.setCoords())}),this.resumeEventListeners()}updateTrackItemsToHistory(){this.pauseEventListeners(),this.trackItemIds.forEach(t=>{const e=this.tracks.find(c=>c.items.includes(t)),s=this.getObjects().find(c=>c.id===(e==null?void 0:e.id)).top,r=this.trackItemsMap[t],n=this.getObjects().find(c=>c.id===t),o=j(r.display.from,this.tScale),a=j(r.display.to-r.display.from,this.tScale,r.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof _t||n instanceof pt){const c=n.display.to-n.display.from;n.setDuration?n.setDuration(c):n.set({duration:c}),r.trim=n.trim,r.display=n.display}n.setCoords()}),this.requestRenderAll(),this.resumeEventListeners()}deleteTrackItemToHistory(t){this.getObjects().filter(e=>t.includes(e.id)).map(e=>this.remove(e)),this.alignItemsToTrack(),this.requestRenderAll()}uodateTrackItemIdsOrdering(){const t=this.getTrackItems();t.sort((e,s)=>e.top-s.top),this.trackItemIds=t.map(e=>e.id).reverse()}selectTrackItemByIds(t){const e=this.getActiveObjects().map(n=>n.id);if(My(e,t))return;const r=this.getObjects(...Fc,"Transition").filter(n=>t.includes(n.id));if(!r.length)this.discardActiveObject();else if(r.length===1)this.setActiveObject(r[0]);else{const n=new Ot(r);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={},s=io({trackItemIds:this.trackItemIds,transitionsMap:this.transitionsMap,trackItemsMap:this.trackItemsMap});t.forEach(r=>{const{id:n,left:o,width:a}=r,c=this.trackItemsMap[n],h=this.transitionGroups.find(l=>l.find(u=>u.id===n))||[];if(h.length===1){const l=V(o,this.tScale),u=V(a,this.tScale,r.playbackRate),d={from:l,to:l+u},f={display:d};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(f.trim=r.trim,f.duration=d.to-d.from),r.display=d,e[n]={...c,...f}}else{const l=h.findIndex(f=>f.id===n),u=h[l-1],d=h[l+1];if(u&&!d){const f=ke(n,h),g=V(o,this.tScale)+u.duration/2+f.offsetTransitions,p=V(a,this.tScale,r.playbackRate)+(u.duration||0)/2,m={from:g,to:g+p},b={display:m};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(b.trim=r.trim),r.display=m,e[n]={...c,...b}}else if(d&&!u){const f=V(o,this.tScale),g=V(a,this.tScale,r.playbackRate),p={from:f,to:f+g+(d.duration||0)/2},m={display:p};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(m.trim=r.trim),r.display=p,e[n]={...c,...m}}else if(u&&d){const f=V(o,this.tScale),g=s.find(O=>O.find(w=>w.id===r.id)),b=(g==null?void 0:g.filter(O=>O.type==="transition").map(O=>this.getObjects().find(w=>w.id===O.id))).filter(O=>O.top===r.top).filter(O=>O.left+O.width<=r.left).reduce((O,w)=>O+(w.duration||0),0),T=V(a,this.tScale,r.playbackRate),x={from:f+b+(u.duration||0)/2,to:f+b+T+(d.duration||0)/2+(u.duration||0)},k={display:x};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(k.trim=r.trim),r.display=x,e[n]={...c,...k}}}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),r=lr(this.tracks,e),n={};Object.keys(this.trackItemsMap).forEach(a=>{e.includes(a)||(n[a]=this.trackItemsMap[a])});const o=this.trackItemIds.filter(a=>!e.includes(a));this.tracks=r,this.trackItemsMap=n,this.trackItemIds=o,this.discardActiveObject(),this.remove(...s),this.renderTracks(),this.alignItemsToTrack()}deleteActiveTrackItem(){const t=this.getActiveObjects();if(!t.length)return!1;const e=t.map(o=>o.id),s=lr(this.tracks,e),r={};Object.keys(this.trackItemsMap).forEach(o=>{e.includes(o)||(r[o]=this.trackItemsMap[o])});const n=this.trackItemIds.filter(o=>!e.includes(o));this.tracks=s,this.trackItemsMap=r,this.trackItemIds=n,this.discardActiveObject(),this.remove(...t),this.setActiveIds([]),this.renderTracks(),this.alignItemsToTrack(),this.updateState({updateHistory:!0,kind:"remove"})}updateTrackItemCoords(t){const e=t?this.getActiveObjects().map(s=>s.id):[];this.trackItemIds.forEach(s=>{if(e.includes(s))return;const r=this.transitionGroups.find(c=>c.find(h=>h.id===s))||[];if((r==null?void 0:r.length)===1){const c=this.getObjects().find(d=>d.id===s),h=this.trackItemsMap[s],l=j(h.display.from,this.tScale),u=j(h.display.to-h.display.from,this.tScale,h.playbackRate);c.set({left:l,width:u}),c.setCoords();return}const n=r.findIndex(c=>c.id===s),o=r[n-1],a=r[n+1];if(o&&!a){const c=this.getObjects().find(f=>f.id===s),h=this.trackItemsMap[s],l=ke(s,r),u=j(h.display.from-(o.duration||0)/2-l.offsetTransitions,this.tScale),d=j(h.display.to-h.display.from-(o.duration||0)/2,this.tScale,h.playbackRate);c.set({left:u,width:d}),c.setCoords();return}if(a&&!o){const c=this.getObjects().find(d=>d.id===s),h=this.trackItemsMap[s],l=j(h.display.from,this.tScale),u=j(h.display.to-h.display.from-(a.duration||0)/2,this.tScale,h.playbackRate);c.set({left:l,width:u}),c.setCoords();return}if(o&&a){const c=this.getObjects().find(f=>f.id===s),h=this.trackItemsMap[s],l=ke(s,r),u=j(h.display.from-(o.duration||0)/2-l.offsetTransitions,this.tScale),d=j(h.display.to-h.display.from-(a.duration||0)/2-(o.duration||0)/2,this.tScale,h.playbackRate);c.set({left:u,width:d}),c.setCoords();return}})}refreshTrackItemsForTransitions(){const t=this.getActiveObjects().map(h=>h.id);this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects("Video","Image"),r=this.getObjects("Transition"),n=s.concat(r),o=Object.keys(this.positionAfterTransform);e.forEach(h=>{o.forEach(l=>{if(h.items.includes(l)){const u=this.getObjects().find(d=>d.id===l);t.includes(l)||(this.positionAfterTransform[l].left=u.left)}})});const{newTransitionsMap:a}=Fy(e,s,this.transitionsMap,this.positionAfterTransform,t),c=Os({trackItemIds:this.trackItemIds,transitionsMap:a,trackItemsMap:this.trackItemsMap});s.forEach(h=>{const l=h.id,u=c.find(m=>m.find(b=>b.id===l))||[],d=this.transitionGroups.find(m=>m.find(b=>b.id===l))||[];if(Ly(d,u))return;const f=u.findIndex(m=>m.id===l),g=u[f-1],p=u[f+1];if(g&&!p){const m=ke(l,d),b=ke(l,u),T=j(m.durationDiff-b.durationDiff,this.tScale);h.set({width:h.width+T})}else if(p&&!g){const m=ke(l,d),b=ke(l,u);if(m.durationDiff>0){const T=j(m.durationDiff-b.durationDiff,this.tScale);h.set({width:h.width+T}),u.forEach(x=>{if(x.id!==h.id){const k=n.find(O=>O.id===x.id);k==null||k.set({left:k.left+T}),k==null||k.setCoords()}})}}else if(g&&p)console.warn("invalid spot");else{const m=ke(l,d),b=j(m.durationDiff,this.tScale);h.set({width:h.width+b})}}),this.resumeEventListeners()}getTrackItems(){return this.getObjects(...Fc)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const ks={text:32,image:40,video:40,audio:32,main:40},Fh=i=>{switch(i){case"text":return ks.text;case"image":return ks.image;case"video":return ks.video;case"audio":return ks.audio;case"helperTop":return 1e3;case"helperBottom":return 1e3;case"helperCenter":return 8;case"main":return ks.main;default:return ks.text}};class By{findOrCreateTrack(t,{trackId:e,trackIndex:s}){if(e){const n=this.tracks.find(o=>o.id===e);if(n)return n.items.push(t.id),e}const r={id:cr(),items:[t.id],type:t.type,accepts:this.acceptsMap[t.type],magnetic:!1,static:!1};return s!==void 0?this.tracks.splice(s,0,r):this.tracks.push(r),this.renderTracks(),r.id}removeTracks(){this.getObjects("Track","Helper").forEach(e=>this.remove(e))}renderTracks(){this.filterEmptyTracks(),this.removeTracks();const t=this.width,e=this.tracks.flatMap(a=>[a,{id:`helper-${a.id}`,type:"helper",items:[],accepts:[]}]).slice(0,-1);let s=-970;const r=C.getClass("Helper")||Ge,n=new r({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=Fh("helperTop"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=Fh("helperCenter"),l=new r({id:a.id,top:s,tScale:this.tScale,width:t,height:h,metadata:{order:(c+1)/2},kind:"center"});s+=h,this.insertAt(0,l)}else{const h=this.sizesMap[a.type],l=C.getClass("Track")||Zt,u=new l({id:a.id,top:s,left:0,height:h,width:t,tScale:this.tScale,accepts:this.acceptsMap[a.type]||[],items:a.items,magnetic:a.magnetic,static:a.static});s+=h,this.insertAt(0,u)}});const o=new r({id:"helper-line-bottom",top:s,selectable:!1,evented:!1,tScale:this.tScale,width:t,kind:"bottom",height:1e3,metadata:{}});this.insertAt(0,o)}filterEmptyTracks(){const t=new Set;this.tracks=this.tracks.filter(e=>(e.items.length||e.static)&&!t.has(e.id)?(t.add(e.id),!0):!1)}refreshTrackLayout(){const t=this.bounding.width+this.spacing.right;this.getObjects("Track","Helper").forEach(e=>{e.updateCoords(t),e.setCoords()})}adjustMagneticTrack(){this.pauseEventListeners();const t=this.tracks.filter(e=>e.magnetic);t.length>0&&t.forEach(e=>{const s=e.accepts||[],r=this.getObjects(...s).filter(o=>e.items.includes(o.id)).sort((o,a)=>o.left-a.left);let n=0;r.forEach(o=>{o.left=n,n+=o.width})}),this.resumeEventListeners()}}function Rh(i){const t=this,e=i.target,s=i.transform;if(s.action==="resizing"){const r=t.getObjects().filter(l=>l!==e&&!["Track","Helper","Transition","Placeholder"].includes(l.type)),n=10,o=e.left,a=e.width*e.scaleX,c=o+a;let h=!1;r.forEach(l=>{if(h)return;const u=l.getBoundingRect(),d=u.left,f=u.left+u.width;if(s.corner==="mr"){const g=Math.abs(c-f),p=Math.abs(c-d);if(g<n)if(e instanceof _t||e instanceof pt){const m=f-e.left,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.to+T;x<=e.duration&&(e.set({width:m,scaleX:1}),e.trim.to=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:f-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(p<n)if(e instanceof _t||e instanceof pt){const m=d-e.left,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.to+T;x<=e.duration&&(e.set({width:m,scaleX:1}),e.trim.to=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:d-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}else if(s.corner==="ml"){const g=Math.abs(o-d),p=Math.abs(o-f);if(g<n)if(e instanceof _t||e instanceof pt||e instanceof Wt){const m=c-d,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.from-T;x>=0&&(e.set({left:d,width:m,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:d,width:c-d,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(p<n)if(e instanceof _t||e instanceof pt||e instanceof Wt){const m=c-f,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.from-T;x>=0&&(e.set({left:f,width:m,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:f,width:c-f,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}}),h&&(e.setCoords(),t.requestRenderAll())}}function Wy(i){i.on("object:resizing",Rh.bind(i))}function Xy(i){i.off("object:resizing",Rh.bind(i))}const pr=100,no=0,Ii=5,Bh=3,zy=25,Ms={scrollInterval:null};function Wh(i){const t=zy-Bh,e=(pr-i)/pr;return Bh+t*e}function Hy(i,t){Ms.scrollInterval&&clearInterval(Ms.scrollInterval);const e=t.target,s=e.getBoundingRect();Ms.scrollInterval=setInterval(()=>{const r=i.viewportTransform,n=i.getViewportPoint(t.e);if(n.x>i.width-pr&&e.left+s.width<i.bounding.width){const o=Wh(i.width-n.x);e.set("left",e.left+o),i.setViewportPos(r[4]-o,r[5])}if(n.x<pr&&e.left>0&&r[4]<pr){const o=Wh(n.x);e.set("left",e.left-o),i.setViewportPos(r[4]+o,r[5])}n.y>i.height-no&&e.top+s.height<i.bounding.height+80&&(e.set("top",e.top+Ii),i.setViewportPos(r[4],r[5]-Ii)),n.y<no&&e.top>-80&&-r[5]>no&&(e.set("top",e.top-Ii),i.setViewportPos(r[4],r[5]+Ii)),e.setCoords(),i.requestRenderAll()},16)}function Yy(){Ms.scrollInterval&&(clearInterval(Ms.scrollInterval),Ms.scrollInterval=null)}function Xh(){Yy()}function zh(i){Hy(this,i)}function Vy(i){i.on("mouse:up",Xh),i.on("object:moving",zh.bind(i))}function Gy(i){i.off("mouse:up",Xh),i.off("object:moving",zh.bind(i))}function Hh(i){const t=i.target,e=i.target.canvas;if(i.action==="resizing"&&t instanceof Bt&&e){const s=t.id,r=e.getObjects("Transition").find(n=>n.id===s);if(r&&r instanceof Bt){const n=te(this.transitionsMap),o={...n,[s]:{...n[s],width:r.width,duration:r.duration}};this.transitionsMap=o,this.updateState()}}}function Ny(i){i.on("object:modified",Hh)}function Uy(i){i.off("object:modified",Hh)}const Yh={canvas:null,enableGuideRedraw:!0,isPointerOverHelperTrack:!1,draggingOverTrack:null,placeholderMovingObjects:[],primaryMovingObjects:[],secondaryMovingObjects:[],objectInitialPositions:{},originTrack:{},trackToItemsMap:{},activeTrackToItemsMap:{},trackTopToIdMap:{},trackTops:[],activeObjects:[],primaryTracks:{},secondaryTracks:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null,orderNormalTrack:!1},et=()=>Yh,lt=i=>{Object.assign(Yh,i)},Vh=10,ji=(i,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&i.remove(e))},Gh=(i,t)=>{const e=[],s=[];return t.getObjects().filter(r=>r.visible).forEach(r=>{if(i.find(o=>o.id===r.id)||r.isAlignmentAuxiliary)return;const n=r.getBoundingRect();e.push(Kh(n.left,n.width,n.top,n.height)),s.push(Kh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},Nh=(i,t)=>{const e=[],s=[];i.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Vh&&e.push({lineGuide:a.val,diff:h,orientation:"V",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})}),i.horizontal.forEach(a=>{t.horizontal.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Vh&&s.push({lineGuide:a.val,diff:h,orientation:"H",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})});const r=[],n=e.sort((a,c)=>a.diff-c.diff)[0],o=s.sort((a,c)=>a.diff-c.diff)[0];return n&&r.push({lineGuide:n.lineGuide,offset:n.offset,orientation:"V",snap:n.snap,targetDim:n.targetDim}),o&&r.push({lineGuide:o.lineGuide,offset:o.offset,orientation:"H",snap:o.snap,targetDim:o.targetDim}),r},Uh=(i,t,e)=>{i.forEach(s=>{const r=$y(e.getZoom());s.orientation==="H"?e.add($h([0,s.lineGuide-r.strokeWidth/2,2e3,s.lineGuide-r.strokeWidth/2],{...r,stroke:e.guideLineColor})):s.orientation==="V"&&e.add($h([s.lineGuide-r.strokeWidth/2,0,s.lineGuide-r.strokeWidth/2,2e3],{...r,stroke:e.guideLineColor}))})},$y=i=>({strokeWidth:2/i}),$h=(i,t)=>new xe(i,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),qh=i=>{const t=i.getBoundingRect();return{vertical:[{guide:Math.round(t.left),offset:Math.round(i.left-t.left),snap:"start"},{guide:Math.round(t.left+t.width),offset:Math.round(i.left-t.left-t.width),snap:"end"}],horizontal:[{guide:Math.round(t.top),offset:Math.round(i.top-t.top),snap:"start"},{guide:Math.round(t.top+t.height),offset:Math.round(i.top-t.top-t.height),snap:"end"}]}},Kh=(i,t,e,s)=>[i,i+t].map(n=>({val:n,start:e,end:e+s})),Zh=(i,t)=>{i.remove(...t),t=[]},Jh=i=>{i.forEach(t=>t.setSelected(!1))},Qh=i=>i instanceof Ge,qy=i=>Object.assign({},{left:16,right:80},i),Ky=["touchstart","touchmove","touchend"],Zy=i=>Ky.includes(i.type)||i.pointerType==="touch";function tl(i){const t=this;if(!t)return;const s=et().enableGuideRedraw,r=t.getScenePoint(i.e),n=t.getObjects("Helper","Track"),o=n.find(g=>{const p=g.getBoundingRect();return r.x>=p.left&&r.x<=p.left+p.width&&r.y>=p.top&&r.y<=p.top+p.height});lt({draggingOverTrack:o}),n.forEach(g=>{Qh(g)&&(g===o?g.setSelected(!0):g.setSelected(!1))}),Qh(o)?lt({isPointerOverHelperTrack:!0}):lt({isPointerOverHelperTrack:!1});const a=t.getObjects(),c=i.target,h=c.getBoundingRect();c.setCoords();const l=[c,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],u=Gh(l,t),d=qh(c),f=Nh(u,d);s&&(ji(t,a),f.length&&Uh(f,h,t),lt({enableGuideRedraw:!1}),setTimeout(()=>lt({enableGuideRedraw:!0}),50)),f.forEach(g=>{g.orientation==="V"?c.left=g.lineGuide+g.offset:c.top=g.lineGuide+g.offset})}function el(i){const t=i.target.canvas;t&&(ji(t,t.getObjects()),Jh(t.getObjects("Helper")),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function sl(i){var a;const t=this,e=t.getObjects(),s=i.target,r=i.transform,n=(a=t._currentTransform)==null?void 0:a.corner,o=s.getBoundingRect();if(r.action==="resizing"){const c=[s,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],h=Gh(c,t),l=h.vertical.filter(f=>{const g=f.val;if(n==="ml")return g<=o.left;if(n==="mr")return g>=o.left+o.width});h.vertical=l;const u=qh(s),d=Nh(h,u);ji(t,e),d.length&&Uh(d,o,t)}}function Jy(i){i.on("object:moving",tl.bind(i)),i.on("object:modified",el.bind(i)),i.on("object:resizing",sl.bind(i))}function Qy(i){i.off("object:moving",tl.bind(i)),i.off("object:modified",el.bind(i)),i.off("object:resizing",sl.bind(i))}function oo(i,t,e){const s=i.indexOf(t),r=i.indexOf(e);return s===-1||r===-1?null:r-s}function rl(i,t){const e=t.sort((r,n)=>r.tempIndex-n.tempIndex),s=[];for(const r of e)r.tempIndex<0&&s.push(r);s.push(i);for(const r of e)r.tempIndex>=0&&s.push(r);return s}function il(i){const t=et(),e=t.canvas;lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null}),e.trackIdAfterTransform="",e.positionAfterTransform={};const s=e.getActiveObject(),r=s instanceof Ot?s.getObjects():[s];lt({activeObjects:r});const n=e.getScenePoint(i.e),o=e.getObjects("Track"),a=e.getActiveObjects().map(u=>u.id);let h=o.filter(u=>{const d=u.items;return a.some(f=>d.includes(f))}).find(u=>{const d=u.getBoundingRect();return n.x>=d.left&&n.x<=d.left+d.width&&n.y>=d.top&&n.y<=d.top+d.height});lt({originTrack:h});const l=e.getObjects("Video","Image","Audio","Text","Element","Template");o.forEach(u=>{const d=l.filter(f=>u.items.includes(f.id));t.trackToItemsMap[u.id]=d,t.trackTopToIdMap[u.top]=u.id,t.trackTops.push(u.top)}),t.trackTops.sort((u,d)=>u-d),r.forEach(u=>{const d=o.find(g=>g.items.includes(u.id));if(!d)return;const f=d.id;t.activeTrackToItemsMap[f]?t.activeTrackToItemsMap[f].push(u):t.activeTrackToItemsMap[f]=[u]}),t.primaryMovingObjects=r.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof Bt)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[d];if(t.primaryTracks[f])t.primaryTracks[f].objects.push(u);else{const g=oo(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[f]={objects:[u],index:g}}}),t.primaryMovingObjects=t.primaryMovingObjects.sort((u,d)=>u.left-d.left),t.secondaryMovingObjects=r.filter(u=>!t.primaryMovingObjects.includes(u)),t.secondaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[f])t.secondaryTracks[f].objects.push(u);else{const g=oo(t.trackTops,h.top,d);t.secondaryTracks[f]={objects:[u],index:g}}}),h&&(e.trackOriginBeforeTransform=h.id),s&&(e.positionBeforeTransform={top:s.top,left:s.left}),i.transform.action==="drag"&&(t.placeholderMovingObjects=t.primaryMovingObjects.map(u=>{const d=u.getBoundingRect();t.objectInitialPositions[u.id]={top:d.top,left:d.left};const f=new Ss({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return f.draggedObject=u,f}),e.add(...t.placeholderMovingObjects)))}function t0(i){i.on("before:transform",il.bind(i))}function e0(i){i.off("before:transform",il.bind(i))}const Ys=class Ys extends X{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,Ys.ownDefaults),this.id=e.id}static createControls(){return{controls:Bn()}}static getDefaults(){return{...super.getDefaults(),...Ys.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const r=j(this.duration,this.tScale),n=s.left+s.width-r/2;this.set({width:r,left:n})}_render(e){super._render(e),this.drawTextIdentity(e),this.updateSelected(e)}drawTextIdentity(e){const s=new Path2D("M3 5.30359C3 3.93159 4.659 3.24359 5.629 4.21359L11.997 10.5826L10.583 11.9966L5 6.41359V17.5856L10.586 11.9996L10.583 11.9966L11.997 10.5826L12 10.5856L18.371 4.21459C19.341 3.24459 21 3.93159 21 5.30359V18.6956C21 20.0676 19.341 20.7556 18.371 19.7856L12 13.5L13.414 11.9996L19 17.5866V6.41359L13.414 11.9996L13.421 12.0056L12.006 13.4206L12 13.4136L5.629 19.7846C4.659 20.7546 3 20.0676 3 18.6956V5.30359Z");e.save(),e.translate(-12,-12),e.fillStyle="#ffffff",e.fill(s),e.restore()}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Ys,"type","TransitionGuide"),S(Ys,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.85)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let mr=Ys;const s0=["text","image","video","audio","caption","template"];function nl(){const i=et();Zh(this,i.placeholderMovingObjects)}function r0(i){const t=i.target.left;i.target.left=Math.max(t,0)}function ol(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width-1>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}function i0(i,t){const s=i.canvas.getActiveObject(),r=s.left+s.width/2,n=t.left+t.width/2;return r<n?t.left-s.width:(r>n,t.left+t.width)}const n0=(i,t,e)=>!(e<0||ol(i,{...t.getBoundingRect(),left:e})),al=i=>{const e=et().draggingOverTrack;return i instanceof le?e&&e.accepts.includes(i.itemType):e&&e.accepts.includes(i.type)};function o0(i){et().isPointerOverHelperTrack?i.opacity=0:i.opacity=1}function a0(){const i=et(),t=i.primaryMovingObjects[0];return{top:i.objectInitialPositions[t.id].top,left:i.objectInitialPositions[t.id].left}}function c0(i){const t=i.getBoundingRect(),e=et(),s=e.draggingOverTrack;if(e.primaryMovingObjects.map(n=>n.id).includes(i.id)){const o=e.primaryMovingObjects[0].getBoundingRect();return{top:s.top,left:o.left}}return{top:s.top,left:t.left}}function h0(i,t,e,s){const n=i.canvas.getActiveObjects().map(l=>l.id),o=i0(i,t),a=e.filter(l=>!n.includes(l.id)),c=n0(a,i,o),h=et();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,f)=>Math.abs(f-s.x)<Math.abs(d-s.x)?f:d),top:l.top}}return{left:o,top:t.top}}const l0=(i,t)=>{i.forEach((e,s)=>{e.set({left:t[s]})})},cl=Ay(i=>{const t=i.target.canvas;r0(i);const e=et(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];s0.includes(a.type)&&e.placeholderMovingObjects.forEach(c=>{c.visible=!0})}else{e.placeholderMovingObjects.forEach(a=>{a.visible=!1});return}const r=e.placeholderMovingObjects.map(a=>a.draggedObject),n=(e.trackToItemsMap[s.id]||[]).filter(a=>!r.includes(a)),o=al(e.primaryMovingObjects[0]);if(s.magnetic&&o){e.updateItemsInTrack?e.updateItemsInTrack!==s.id&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]):(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]),e.initialTrackPoints.length===0&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=hl(e,s));let a=0;for(const[c,h]of e.initialTrackPoints.entries()){const l=h,u=e.initialTrackPoints[c+1],d=e.initialTrackPoints[c-1],f=u-l,g=l-d;if(!u)a=l;else if(l<=i.pointer.x&&l+f/2>=i.pointer.x){a=l;break}else if(l-g/2<=i.pointer.x&&i.pointer.x<=l){a=l;break}}e.placeholderMovingObjects.forEach(c=>{c.opacity=1,c.left=a,c.top=s.top,a+=c.width}),e.placeholderMovingObjects.forEach(c=>{const h=c.draggedObject;t.positionAfterTransform[h.id]={top:c.top,left:c.left}}),t.trackIdAfterTransform=e.trackTopToIdMap[s.top]}else{e.orderNormalTrack=!1,e.updateItemsInTrack&&e.updateItemsInTrack!==s.id&&(t.getObjects().find(f=>f.id===e.updateItemsInTrack).magnetic?u0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]),e.initialTrackPoints.length===0&&s instanceof Zt&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=hl(e,s));const a=n.find(d=>ol(r,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,f)=>d.left-f.left),u=l[0];l.forEach((d,f)=>{if(!l[f-1])return;const g=d.left-u.left;c.push(g)}),e.placeholderMovingObjects.forEach((d,f)=>{const g=d.draggedObject;if(g instanceof mr){d.visible=!1;return}g.setCoords(),o0(d);let p=p0(g,n,i.pointer,a);if(g instanceof le&&p.isInvalidDrop&&e.draggingOverTrack instanceof Zt){d.opacity=0;const m=i.pointer,b=[...t.viewportTransform],T=m.y-b[5];g0(t,T)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left+(c[f-1]||0)},d.left=p.left+(c[f-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),hl=(i,t)=>{const e=i.canvas,s=[];t.items.forEach(h=>{const l=e.getObjects().find(u=>u.id===h);l&&s.push(l)});const r=i.activeObjects.map(h=>h.id),o=s.filter(h=>!r.includes(h.id)).sort((h,l)=>h.left-l.left);let a=0;const c=[];return t.magnetic?d0(o,a,c):f0(t,c,e),c};function u0(i,t){const e=[];i.getObjects().find(a=>a.id===t.updateItemsInTrack).items.forEach(a=>{const c=i.getObjects().find(h=>h.id===a);c&&e.push(c)});const r=t.activeObjects.map(a=>a.id),o=e.filter(a=>!r.includes(a.id)).sort((a,c)=>a.left-c.left);t.initialTrackPoints.length>o.length&&l0(o,t.initialTrackPoints)}function d0(i,t,e){var h;const s=et(),r=(h=i[0])==null?void 0:h.canvas,n=s.draggingOverTrack,o=s.primaryMovingObjects.map(l=>l.id);if(!r)return;const a=r.transitionIds.filter(l=>r.transitionsMap[l].kind!=="none");i.forEach(l=>{l.set({left:t}),t+=l.width,a.find(d=>r.transitionsMap[d].toId===l.id)||e.push(l.left)});const c=i[i.length-1];if(e.push(((c==null?void 0:c.left)||0)+((c==null?void 0:c.width)||0)),n!=null&&n.items.includes(o[0])){const l=r.getActiveObject(),u=[...e];if(l){const d=u.findIndex(f=>f>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,l.left)}}}function f0(i,t,e){const s=i.items,r={},n={},o=e.getActiveObjects().map(h=>h.id);Object.values(e.trackItemsMap).forEach(h=>{s.includes(h.id)&&(r[h.id]=h)});const a=e.getObjects("Transition").filter(h=>h.top===i.top).map(h=>h.id);Object.values(e.transitionsMap).forEach(h=>{a.includes(h.id)&&(n[h.id]=h)});const c=io({trackItemIds:te(s),transitionsMap:te(n),trackItemsMap:te(r)});t.push(0),c.forEach(h=>{if(h.length===1){const l=e.getObjects().find(u=>u.id===h[0].id);o.includes(l.id)||t.push(l.left+l.width)}else{const l=h[h.length-1],u=e.getObjects().find(d=>d.id===l.id);t.push(u.width+u.left)}})}function g0(i,t){i.getObjects("Helper").reduce((r,n)=>Math.abs(n.top-t)<Math.abs(r.top-t)?n:r).setSelected(!0)}const p0=(i,t,e,s)=>{const r=al(i);return!r&&i instanceof le?{top:0,left:0,isInvalidDrop:!0}:r?s?i instanceof le?{top:0,left:0,isInvalidDrop:!0}:h0(i,s,t,e):c0(i):a0()};function m0(i){i.on("mouse:up",nl.bind(i)),i.on("object:moving",cl)}function v0(i){i.off("mouse:up",nl.bind(i)),i.off("object:moving",cl)}const y0=i=>{et().canvas.fire("track:create",i)},b0=i=>{et().canvas.fire("track-items:moved",i)},ll=i=>{var a,c,h;const t=(a=i.target)==null?void 0:a.canvas;if(!t)return;const e=et(),s=t.getActiveObject();if(!s||!t.positionBeforeTransform)return;const r=t.getScenePoint(i.e),o=t.getObjects("Track","Helper").find(l=>{const u=l.getBoundingRect();return r.x>=u.left&&r.x<=u.left+u.width&&r.y>=u.top&&r.y<=u.top+u.height});if(i.action==="resizing"){const l=(e.trackToItemsMap[(c=e.originTrack)==null?void 0:c.id]||[]).filter(d=>d!==s);s.setCoords();const u=ul(l,s.getBoundingRect());return t.fire("track-items:resized",{trackId:(h=e.originTrack)==null?void 0:h.id,trackItemIds:[s.id],isOverlapped:!!u}),!1}if(!o)return s==null||s.set(t.positionBeforeTransform),s==null||s.setCoords(),!1;if(o instanceof Ge){let l;switch(o.kind){case"top":l=0;break;case"center":l=o.metadata.order||0;break;case"bottom":l=-1;break;default:return}const u={isSecondaryOverlapped:!1,secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackIndex:l,trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};y0(u)}else if(o instanceof Zt){const u={isSecondaryOverlapped:T0(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};b0(u)}};function _0(){const i=et(),t=i.canvas,[e]=i.primaryMovingObjects,s=e.id,r=t.positionAfterTransform[s],n=e.getBoundingRect().top,o=r.top-n,a={};return i.secondaryMovingObjects.forEach(c=>{const h=c.getBoundingRect().top+o,l=i.trackTopToIdMap[h],u=oo(i.trackTops,i.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function T0(){const i=_0(),t=et();return Object.keys(i).some(e=>{const s=t.trackToItemsMap[e],r=i[e].objects;return!s||!s.length?!0:s.filter(n=>!r.includes(n)).some(n=>ul(r,n.getBoundingRect()))})}function ul(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}const S0=i=>{i.on("object:modified",ll)},w0=i=>{i.off("object:modified",ll)},ao="drag",dl=`${ao}:start`,co=`${ao}:end`,ho="timeline",fl=`${ho}:boundingChanged`,gl=`${ho}:seek`,x0="add:audio",C0="add:video",O0="add:image",k0="add:text",M0=["transition","image","video","audio","caption","text"];let it,vr,Ds=[];function D0(i,t){let e=1/0,s=null;const r=new _(i.x,i.y);return t.forEach(n=>{const o=Math.sqrt(Math.pow(n.left-r.x,2)+Math.pow(n.top-r.y,2));o<e&&(e=o,s=n)}),s}const I0=({width:i,height:t,id:e,left:s,top:r,type:n,duration:o})=>{if(n==="transition")return new mr({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=C.getClass("PreviewTrackItem")||le;return new a({top:r,left:s,height:t,width:i,id:e,type:n,duration:o})};function pl(i){var f;const t=(f=i.e.dataTransfer)==null?void 0:f.types[0];if(!t)return;const e=JSON.parse(t),s=e.type;if(!M0.includes(s))return;const r=e.duration||5e3,n=this;n.discardActiveObject(),n.setActiveIds([]);const o=j(r,this.tScale),a=this.sizesMap[s];it=I0({width:o,height:a,id:"TransitionGuide",left:0,top:0,type:s,duration:r}),it.visible=!1,s==="transition"&&(Ds=n.getObjects("Transition"),Ds.forEach(g=>{g.visible=!0}));const c=et();n.trackIdAfterTransform="",n.positionAfterTransform={};const h=it,l=[it];lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),lt({activeObjects:l});const u=n.getObjects("Track"),d=n.getTrackItems();u.forEach(g=>{const p=d.filter(m=>g.items.includes(m.id));c.trackToItemsMap[g.id]=p,c.trackTopToIdMap[g.top]=g.id,c.trackTops.push(g.top)}),c.trackTops.sort((g,p)=>g-p),c.primaryMovingObjects=l,c.primaryMovingObjects=c.primaryMovingObjects.sort((g,p)=>g.left-p.left),h&&(n.positionBeforeTransform={top:h.top,left:h.left}),c.placeholderMovingObjects=c.primaryMovingObjects.map(g=>{const p=g.getBoundingRect();c.objectInitialPositions[g.id]={top:p.top,left:p.left};const m=new Ss({id:`${g.id}-placeholder`,left:p.left,top:p.top,width:p.width,height:p.height});return m.visible=!1,m.draggedObject=g,m}),n.add(...c.placeholderMovingObjects),n.add(it),J.dispatch(dl)}const ml=i=>{const t=et();Zh(i,t.placeholderMovingObjects),i&&(ji(i,i.getObjects()),Jh(i.getObjects("Helper")))};function vl(){if(ml(this),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!it)return;J.dispatch(co);const i=this;Ds.forEach(t=>{t.strokeDashArray=[],t.setSelected(!1),t.kind==="none"&&(t.visible=!1)}),i.getObjects("Helper","Track").forEach(t=>{t.setSelected&&t.setSelected(!1)}),i.remove(it)}function yl(i){const t=et(),e=t.placeholderMovingObjects[0];if(e.visible||(it.visible=!0,e.visible=!0),t.activeObjects[0]instanceof mr&&(e.visible=!1),!it)return!1;i.e.preventDefault();const s=this,r=s.getViewportPoint(i.e),n=[...this.viewportTransform];it.set({left:r.x-16-n[4],top:r.y-n[5]-it.height/2});const o=D0(r,Ds);o&&(vr=o,o.strokeDashArray=[5,1],o.setSelected(!0)),Ds.forEach(c=>{c!==o&&c.setSelected(!1)}),lt({isDragOver:!0}),it.setCoords();const a={target:it,action:"drag",originX:"center",originY:"center",offsetX:r.x-it.left,offsetY:r.y-it.top,scaleX:it.scaleX,scaleY:it.scaleY};s.fire("object:moving",{target:it,e:i.e,pointer:r,transform:a}),s.requestRenderAll()}function bl(i){var o;const t=this;ml(t);const e=et(),s=e.draggingOverTrack;lt({draggingOverTrack:null,isPointerOverHelperTrack:!1});const r=(o=i.e.dataTransfer)==null?void 0:o.types[0],n=JSON.parse(i.e.dataTransfer.getData(r));if(n.type!=="transition"){const a=e.activeObjects[0],c=V(a.left,t.tScale);if(s instanceof Zt)if(e.placeholderMovingObjects[0].opacity!==0){const l=lo(s,this.getObjects("Track"));if(s.magnetic){const u=e.initialTrackPoints[e.initialTrackPoints.length-1],d=V(u,t.tScale);Ei(n,l,d)}else Ei(n,l,c)}else{const l=i.viewportPoint,u=[...t.viewportTransform],d=l.y-u[5],g=t.getObjects("Helper").reduce((m,b)=>Math.abs(b.top-d)<Math.abs(m.top-d)?b:m),p=lo(g,this.getObjects("Track"));Ei(n,p,c,!0)}else{const h=lo(s,this.getObjects("Track"));Ei(n,h,c,!0)}this.remove(a),this.requestRenderAll();return}if(it){if(vr){const a=vr.id,c=Ey(n,["kind","direction"]);Object.keys(c).forEach(T=>{T==="kind"?vr.kind=c[T]:vr[T]=c[T]});const h=te(this.trackItemIds),l=te(this.transitionsMap),u=te(this.trackItemsMap);l[a]={...l[a],...c};const d=Os({trackItemIds:h,transitionsMap:l,trackItemsMap:u}),g=l[a].fromId,p=d.find(T=>T.find(x=>x.id===g))||[],m=j0(p),b=E0(this.trackItemsMap,m);this.trackItemsMap=b,this.transitionsMap[a]={...this.transitionsMap[a],...c},this.transitionGroups=Os({trackItemIds:this.trackItemIds,transitionsMap:this.transitionsMap,trackItemsMap:this.trackItemsMap}),this.updateTrackItemCoords(),this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ds.forEach(a=>{a.strokeDashArray=[],a.setSelected(!1),a.kind==="none"&&(a.visible=!1)}),t.remove(it),t.requestRenderAll(),J.dispatch(co)}}const j0=i=>{const[t]=i,e=i.filter(r=>r.type!=="transition");let s=t.display.from;return e.map(r=>{const n=r.display.to-r.display.from,o={from:s,to:s+n};return s=o.to,{...r,display:o}})},E0=(i,t)=>{let e=i;return t.forEach(s=>{e[s.id]=s}),e},lo=(i,t)=>{const e=t.sort((o,a)=>o.top-a.top);if(e.length===0)return 0;const s=e[e.length-1];if(s.top+s.height<=i.top)return e.length;const r=i.top;return e.reduce((o,a,c)=>{const h=Math.abs(a.top-r),l=Math.abs(e[o].top-r);return h<l?c:o},0)},Ei=(i,t,e,s)=>{i.type==="image"?J.dispatch(O0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="video"?J.dispatch(C0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="audio"?J.dispatch(x0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="text"&&J.dispatch(k0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function P0(i){i.on("dragover",yl),i.on("dragenter",pl),i.on("dragleave",vl),i.on("drop",bl)}function A0(i){i.off("dragover",yl),i.off("dragenter",pl),i.off("dragleave",vl),i.off("drop",bl)}function _l(i){const t=this.height<this.bounding.height;if(!(this.width<this.bounding.width)&&!t)return;const s=this.viewportTransform;let r=s[4],n=s[5];const o=2;i.e.shiftKey?r=r-i.e.deltaY*o:(t&&(n=n-i.e.deltaY*o),r=r-i.e.deltaX*o),this.setViewportPos(r,n)}function Tl(){const i=this,t=i.getActiveObject(),e=i.getActiveObjects(),s=e.map(n=>n.id),r=e.filter(n=>{if(e.length===1)return!0;if(n.id&&!(n instanceof Bt))return!0;if(n instanceof Bt&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof Ot?(t.borderColor="rgba(0, 216, 214,0.75)",t.hasControls=!1,t.hoverCursor="default",t.borderScaleFactor=1,t.padding=0,t.getObjects().forEach(n=>{n.setSelected(!0)})):t==null||t.setSelected(!0),this.setActiveIds(r)}function Sl(i){const t=this,e=t.getActiveObject();e instanceof Ot&&(e.borderColor="transparent",e.hasControls=!1,e.hoverCursor="default"),i.selected.forEach(n=>{n.setSelected(!0)}),i.deselected.forEach(n=>{n.setSelected(!1)});const r=t.getActiveObjects().map(n=>n.id);this.setActiveIds(r)}function wl(i){i.deselected.forEach(t=>{t.setSelected(!1)})}const L0=i=>{i.on("selection:created",Tl),i.on("selection:updated",Sl),i.on("selection:cleared",wl),i.on("mouse:wheel",_l)},F0=i=>{i.off("mouse:wheel",_l),i.off("selection:created",Tl),i.off("selection:updated",Sl),i.off("selection:cleared",wl)},xl=()=>{var n,o;const i=et(),t=i.canvas,e=i.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,r=new Set(i.activeObjects.map(a=>a.id));if(s){const a=e.id,h=i.trackToItemsMap[a].sort((p,m)=>p.left-m.left),l=i.placeholderMovingObjects,u=((n=l[0])==null?void 0:n.top)||0,d=l.reduce((p,m)=>p+m.width,0),f=Math.min(...l.map(p=>p.left));let g=0;h.forEach(p=>{r.has(p.id)||p.top===u&&(Math.abs(f-g)<1&&(g+=d),p.left=g,g+=p.width)})}else if(e instanceof Zt&&i.orderNormalTrack){const a=e.items,c=t.getTrackItems().filter(w=>!r.has(w.id)&&a.includes(w.id)),h=c.sort((w,I)=>w.left-I.left),l=i.placeholderMovingObjects[0],u=i.placeholderMovingObjects[i.placeholderMovingObjects.length-1],d=l.left,f=u.left-l.left+u.width,g=h.find((w,I)=>{if(w.left>=d-1)return h[I]}),p=j(((o=g==null?void 0:g.display)==null?void 0:o.from)||0,t.tScale),m=c.map(w=>w.id),b={},T={};Object.values(t.trackItemsMap).forEach(w=>{m.includes(w.id)&&(b[w.id]=w)});const x=t.getObjects("Transition").filter(w=>w.top===c[0].top).map(w=>w.id);Object.values(t.transitionsMap).forEach(w=>{x.includes(w.id)&&(T[w.id]=w)});const k=io({trackItemIds:te(c.map(w=>w.id)),transitionsMap:te(T),trackItemsMap:te(b)});c.filter(w=>w.left>=d-1).forEach(w=>{const I=j(w.display.from,t.tScale),D=Object.values(t.transitionsMap).find(z=>z.kind!=="none"&&z.toId===w.id);let F=0;k.forEach(z=>{if(z.map(W=>W==null?void 0:W.id).includes(w.id)){for(const W of z)if(W.type==="transition")if((D==null?void 0:D.id)===W.id){F=F+j(W.duration,t.tScale)/2;break}else F=F+j(W.duration,t.tScale);else if(W.id===w.id)break}}),p<=d+f&&(w.left=I+f-F+d-p)})}t.alignTransitionsToTrack(!1)};function R0(i){i.on("object:moving",xl)}function B0(i){i.off("object:moving",xl)}let Ht,uo=!1;function W0(i,t){const e=i.canvas;if(uf.includes(i.type)){Ht||(Ht=i);const s=i.top,r=i.height,n=i.left,o=i.width,a=t.x,c=t.y,h=Math.abs(c-(s+r/2))<=mf;Math.abs(a-n)<=Rc&&h||Math.abs(a-n-o)<=Rc&&h?(e.hoverCornerItem=!0,i.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,i.hoverCursor="move"),e.requestRenderAll()}}function Cl(i){const t=this,e=t.findTarget(i.e),s=t.getScenePoint(i.e);e&&(e.isSelected&&Ht&&(e.hoverCursor="default"),W0(e,s))}function Ol(){Ht&&(Ht.lockMovementX=!1,Ht.lockMovementY=!1,Ht=void 0)}function kl(i){Ht&&(uo||Ht._renderControls(i.ctx))}function Ml(){Ht&&(Ht=void 0,this.requestRenderAll())}function Dl(){uo=!0}function Il(){uo=!1}function X0(i){i.on("mouse:out",Ml.bind(i)),i.on("mouse:up",Ol.bind(i)),i.on("mouse:move",Cl.bind(i)),i.on("after:render",kl.bind(i)),i.on("object:resizing",Dl.bind(i)),i.on("object:modified",Il.bind(i))}function z0(i){i.off("mouse:out",Ml.bind(i)),i.off("mouse:up",Ol.bind(i)),i.off("mouse:move",Cl.bind(i)),i.off("after:render",kl.bind(i)),i.off("object:resizing",Dl.bind(i)),i.off("object:modified",Il.bind(i))}const H0=i=>{lt({canvas:i}),Vy(i),Wy(i),Ny(i),Jy(i),t0(i),m0(i),S0(i),P0(i),L0(i),R0(i),X0(i)},Y0=i=>{lt({canvas:null}),Gy(i),Xy(i),Uy(i),Qy(i),e0(i),v0(i),w0(i),A0(i),F0(i),B0(i),z0(i)};class V0{removeTransitions(){const t=this.getObjects("Transition");this.remove(...t)}renderTransitions(){this.removeTransitions(),this.transitionIds.forEach(t=>{const e=this.transitionsMap[t],s=e.fromId,r=e.toId,n=this.getObjects(),o=n.find(d=>d.id===s),a=n.find(d=>d.id===r);if(!o||!a)return;const c=j(e.duration,this.tScale),h=o.left+o.width-c/2,l=o.height,u=new Bt({id:e.id,left:h,top:o.top,height:l,width:c,tScale:this.tScale,duration:e.duration,fromId:o.id,toId:a.id,kind:e.kind});e.kind==="none"&&(u.visible=!1),u&&this.add(u)})}updateTrackTransitionsItemCoords(){this.pauseEventListeners(),this.getObjects("Transition").forEach(e=>{e.tScale=this.tScale,e.updateCoords(),e.setCoords()}),this.resumeEventListeners()}alignTransitionsToTrack(t=!0){const e=t?[]:this.getActiveObjects().map(s=>s.id);this.transitionIds.forEach(s=>{const r=this.getObjects("Transition").find(n=>n.id===s);if(r instanceof Bt){const n=this.getObjects().find(c=>c.id===r.fromId&&!e.includes(c.id));if(!n)return;const o=j(r.duration,this.tScale),a=n.left+n.width-o/2;r.set({left:a,top:n.top}),r.setCoords()}})}updateTransitions(t=!0){t&&this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects("Video","Image");this.removeTransitions();const r={},n=[];e.forEach(a=>{const c=s.filter(h=>a.items.includes(h.id)).sort((h,l)=>h.left-l.left);for(let h=0;h<c.length-1;h++){const l=c[h],u=c[h+1];if(Math.abs(l.left+l.width-u.left)<=1){const d=`${l.id}-${u.id}`;if(this.transitionIds.includes(d)){const g=this.transitionsMap[d];r[d]=g}else{const g={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};r[d]=g}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=r,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),this.transitionGroups=Os({trackItemIds:this.trackItemIds,transitionsMap:this.transitionsMap,trackItemsMap:this.trackItemsMap}),t&&this.resumeEventListeners()}}function jl(i){const{secondaryTracks:t,primaryTracks:e,primaryPositions:s}=i,{positions:r,trackIndex:n}=s,o=n===-1?this.tracks.length:n,[a]=Object.keys(e),c=this.tracks.find(p=>p.id===a),h=e[a],l={id:bs(),items:h.objects.map(p=>p.id),type:c.type,accepts:c.accepts},u=Kn(Object.keys(t).map(p=>t[p].objects.map(m=>m.id)));let d=lr(this.tracks,[...Object.keys(r),...u]);const f=[];Object.keys(t).forEach(p=>{const{objects:m,index:b}=t[p],T=this.tracks.find(O=>O.id===p),x=m.map(O=>O.id).filter(O=>!this.transitionIds.includes(O)),k={id:cr(),items:x,type:T.type,accepts:T.accepts,tempIndex:b};f.push(k)});const g=rl(l,f);g.length&&d.splice(o,0,...g),this.tracks=d,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.refreshTrackItemsForTransitions(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function El(i){const{isSecondaryOverlapped:t,secondaryTracks:e,primaryTracks:s,primaryPositions:r}=i,{trackId:n,positions:o}=r,a=this.tracks.find(b=>b.id===n),l=et().primaryMovingObjects.sort((b,T)=>b.left-T.left);l.forEach((b,T)=>{l[T-1]&&b.left-l[T-1].left});const u=this.tracks.findIndex(b=>b.id===n),d=Kn(Object.keys(e).map(b=>e[b].objects.map(T=>T.id)));let f=lr(this.tracks,[...Object.keys(o),...d]);Object.keys(s).forEach(b=>{this.pauseEventListeners();const{objects:T}=s[b];T.forEach(O=>{if(O.isMain&&(a!=null&&a.magnetic))return;const w=o[O.id];O.left=w==null?void 0:w.left}),this.resumeEventListeners();const x=r.trackId,k=f.find(O=>O.id===x);k==null||k.items.push(...Object.keys(o)),this.tracks=f});const g=this.tracks[u],p=[];Object.keys(e).forEach(b=>{const{objects:T,index:x}=e[b],k=T.filter(I=>I.type!=="transition").map(I=>I.id),[O]=k,w=this.trackItemsMap[O];if(t&&w){const I={id:cr(),items:k,type:w.type,accepts:this.acceptsMap[w.type],tempIndex:x};p.push(I)}else{const I=f[u+x];I==null||I.items.push(...k),this.tracks=f}});const m=rl(g,p);m.length&&f.splice(u,1,...m),this.tracks=f,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.refreshTrackItemsForTransitions(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function Pl({trackItemIds:i,isOverlapped:t}){const[e]=i;if(!e)return;if(!this.getObjects("Transition").find(r=>r.id===e)){const r=this.tracks.find(n=>n.items.includes(e));if(t){const n=lr(this.tracks,i),o={id:cr(),items:[e],type:r.type,accepts:r.accepts},a=this.tracks.findIndex(c=>c.id===r.id);n.splice(a,0,o),this.tracks=n}}this.renderTracks(),this.alignItemsToTrack(),this.refreshTrackItemsForTransitions(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let fo={x:0,y:0};function G0(i){fo=i.scenePoint}function Al(i){const t=i.scenePoint;if((fo.x===t.x||fo.y===t.y)&&!i.target){const s=this.getElement().getBoundingClientRect(),r=this.viewportTransform,n=i.e.clientX-s.left-r[4],o=V(n,this.scale.zoom);J.dispatch(gl,{payload:{time:o}})}}const N0=i=>{i.on("track:create",jl.bind(i)),i.on("track-items:resized",Pl.bind(i)),i.on("track-items:moved",El.bind(i)),i.on("mouse:up",Al.bind(i)),i.on("mouse:down",G0.bind(i))};function U0(i){i.off("track:create",jl.bind(i)),i.off("track-items:resized",Pl.bind(i)),i.off("track-items:moved",El.bind(i)),i.off("mouse:up",Al.bind(i))}function $0(i,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{s!=="constructor"&&Object.defineProperty(i.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),i}const Ll={video:["*"],image:["*"],audio:["*"],text:["*"],caption:["*"],template:["*"],composition:["*"],illustration:["*"],shape:["*"]},Fl={video:42,image:42,audio:42,text:42,caption:42,template:42,illustration:42,composition:42,shape:42},q0=["video","image","audio","text","caption","template","illustration","composition"],K0=(i={})=>{const t=Object.assign({},Ll,i),e={};return Object.keys(t).forEach(s=>{const r=t[s];e[s]=r.includes("*")?q0:r}),e},Z0=(i={})=>{const t=Object.assign({},Fl,i),e={};return i?(Object.keys(t).forEach(s=>{const r=t[s];e[s]=r}),e):t};let Rl,Bl,Wl,Xl,zl,Hl,Yl,Vl;const J0=i=>{Rl=i.state.subscribeToActiveIds(({activeIds:t})=>{const e=i.activeIds;if(t.length===1&&e.length===1){const s=t[0],r=e[0],o=i.state.getState().structure;let a="";if(o.forEach(c=>{c.id===r&&c.items.includes(s)&&(a=c.id)}),a!=="")return;i.selectTrackItemByIds([s])}else i.selectTrackItemByIds(t)}),Vl=i.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(i.tracks=t,i.renderTracks(),i.refreshTrackLayout())}),Yl=i.state.subscribeToUpdateAnimations(({trackItemsMap:t,changedAnimationIds:e})=>{if(e!=null&&e.length){const s=i.getTrackItems();i.trackItemsMap=t,s.forEach(r=>{if(e.includes(r.id)){const n=t[r.id].animations;n&&r.set({animations:n})}})}}),Hl=i.state.subscribeToUpdateTrackItemTiming(({trackItemsMap:t,changedTrimIds:e,changedDisplayIds:s})=>{if(e&&i.getTrackItems().forEach(n=>{if(e.includes(n.id)){const o=t[n.id].trim;o&&n.set({trim:{from:o.from,to:o.to}})}}),s){const r=i.getTrackItems();i.pauseEventListeners(),r.forEach(n=>{if(s.includes(n.id)){const o=t[n.id].display;o&&n.set({display:o})}}),i.resumeEventListeners()}i.requestRenderAll()}),zl=i.state.subscribeToScale(t=>{i.setScale(t.scale)}),Xl=i.state.subscribeToUpdateItemDetails(t=>{const e=i.getTrackItems();if(e.length===0)return;const s=i.state.getState(),r=t.trackItemDetailsMap,n=s.trackItemsMap;e.forEach(o=>{const a=r[o.id];if(a)if(o instanceof _t||o instanceof _s||o instanceof pt||o instanceof Ue||o instanceof Ne){if(a.type==="video"||a.type==="image"||a.type==="audio"||a.type==="shape"||a.type==="illustration"){const c=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),o instanceof Ue&&a.type==="shape"&&o.backgroundColorDiv!==a.details.backgroundColor&&(o.backgroundColorDiv=a.details.backgroundColor,o.setSrc(a.details.src)),o instanceof Ne&&a.type==="illustration"&&(o.svgString=a.details.svgString,o.setSrc(a.details.src)),a.type==="video"||a.type==="audio"){const l=c.display.to-c.display.from,u=j(l,i.scale.zoom,c.playbackRate);o.set({duration:c.duration,display:c.display,trim:c.trim,width:u}),o.setCoords()}}}else(o instanceof Ts||o instanceof ws)&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),i.requestRenderAll()}),Wl=i.state.subscribeToHistory(t=>{i.tracks=t.tracks,i.trackItemsMap=t.trackItemsMap,i.trackItemIds=t.trackItemIds,i.trackItemDetailsMap=t.trackItemDetailsMap,i.transitionIds=t.transitionIds,i.transitionsMap=t.transitionsMap,i.transitionGroups=Os({trackItemIds:i.trackItemIds,transitionsMap:i.transitionsMap,trackItemsMap:i.trackItemsMap}),i.renderTracks(),i.refreshTrackLayout(),i.updateTrackItemCoords(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.adjustMagneticTrack(),i.updateTransitions(),i.calcBounding(),i.duration=Ln(i.trackItemsMap)}),Bl=i.state.subscribeToAddOrRemoveItems(()=>{const t=i.getTrackItems().map(n=>n.id),e=i.state.getState(),s=e.trackItemIds,r=[];t.forEach(n=>{s.includes(n)||r.push(n)}),i.deleteTrackItemById(r),i.tracks=e.tracks,i.trackItemsMap=e.trackItemsMap,i.trackItemDetailsMap=e.trackItemDetailsMap,i.transitionIds=e.transitionIds,i.transitionsMap=e.transitionsMap,s.forEach(n=>{if(!t.includes(n)){const a={...e.trackItemsMap[n],details:{...e.trackItemDetailsMap[n].details}};i.addTrackItem(a)}}),i.trackItemIds=e.trackItemIds,i.activeIds=e.activeIds,i.transitionGroups=Os({trackItemIds:i.trackItemIds,transitionsMap:i.transitionsMap,trackItemsMap:i.trackItemsMap}),i.renderTracks(),i.alignItemsToTrack(),i.updateTrackItemCoords(),i.calcBounding(),i.updateTransitions(),i.refreshTrackLayout(),i.selectTrackItemByIds(e.activeIds)})},Q0=i=>{Rl.unsubscribe(),Bl.unsubscribe(),Wl.unsubscribe(),Xl.unsubscribe(),zl.unsubscribe(),Hl.unsubscribe(),Yl.unsubscribe(),Vl.unsubscribe()},Gl=(i,t)=>{let e=!1;const s=[];return t.forEach(r=>{r.containsPoint(i)&&(s.push(r),e=!0)}),{isOverObject:e,overObjects:s}};function tb(i){return JSON.parse(JSON.stringify(i))}class Nl extends Cn{constructor(e,s){var r;super(e,s);S(this,"acceptsMap");S(this,"sizesMap",{});S(this,"tracks",[]);S(this,"hoverCornerItem",!1);S(this,"trackItemsMap",{});S(this,"trackItemIds",[]);S(this,"transitionIds",[]);S(this,"transitionsMap",{});S(this,"trackItemDetailsMap",{});S(this,"scale");S(this,"duration");S(this,"bounding");S(this,"onScroll");S(this,"onResizeCanvas");S(this,"tScale");S(this,"state");S(this,"activeIds",[]);S(this,"spacing");S(this,"guideLineColor");S(this,"transitionGroups",[]);this.bounding=s.bounding||{width:s.width||0,height:s.height||0},this.tScale=((r=s.scale)==null?void 0:r.zoom)||1,this.state=s.state,this.onScroll=s.onScroll,this.onResizeCanvas=s.onResizeCanvas,this.acceptsMap=K0(s.acceptsMap),this.sizesMap=Z0(s.sizesMap),this.spacing=qy(s.spacing),this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||bt,this.initEventListeners()}static registerItems(e){Object.keys(e).forEach(s=>{C.setClass(e[s],s)})}initializeCanvasDefaults(){const e=this.viewportTransform;e[4]=this.spacing.left,Object.assign(at.ownDefaults,{borderColor:"transparent",cornerColor:"white",cornerStrokeColor:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,borderScaleFactor:1,cornerSize:8,cornerStyle:"rect",centeredScaling:!1,centeredRotation:!0,transparentCorners:!1})}__onMouseDown(e){const s=this.getScenePoint(e),r=this._activeObject,n=this.getActiveObjects();if(n.length===0){super.__onMouseDown(e);return}const{isOverObject:o}=Gl(s,n);if(r&&(r==null?void 0:r.findControl(this.getViewportPoint(e),Zy(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Gl(s,[...c,...a]);h?o?super.__onMouseDown(e):(this.setActiveIds([l[0].id]),super.__onMouseDown(e)):(this.discardActiveObject(),this.requestRenderAll(),this.setActiveIds([]),this._groupSelector={x:s.x,y:s.y,deltaY:0,deltaX:0},super.__onMouseDown(e))}_setupCurrentTransform(e,s,r){var n;if(this.hoverCornerItem){const o=this.getScenePoint(e),{key:a="",control:c}=s.getActiveControl()||{},h=c&&((n=c.getActionHandler(e,s,c))==null?void 0:n.bind(c)),l=this._getOriginFromCorner(s,a),u={target:s,action:"resizing",actionHandler:h,actionPerformed:!1,corner:a,scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,offsetX:o.x-s.left,offsetY:o.y-s.top,originX:l.x,originY:l.y,ex:o.x,ey:o.y,lastX:o.x,lastY:o.y,theta:s.angle*Math.PI/180,width:s.width,height:s.height,shiftKey:e.shiftKey,altKey:!1,original:{scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,angle:s.angle,left:s.left,flipX:s.flipX,flipY:s.flipY,top:s.top,originX:l.x,originY:l.y}};this._currentTransform=u,this.fire("before:transform",{e,transform:u})}else super._setupCurrentTransform(e,s,r)}initEventListeners(){N0(this),H0(this),J0(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:tb(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),this.requestRenderAll(),this.duration=this.getDurationBasedOnTrackItemsPosition(),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=this.getDurationBasedOnTrackItemsPosition();return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}getDurationBasedOnTrackItemsPosition(){const e=this.getTrackItems().map(n=>n.getBoundingRect()),s=e.reduce((n,o)=>n.left+n.width<o.left+o.width?o:n,e[0]),r=s.left+s.width;return V(r,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=Ln(this.trackItemsMap);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,trackItemDetailsMap:this.trackItemDetailsMap,scale:this.scale,duration:e}}purge(){Y0(this),U0(this),Q0(),this.dispose()}scrollTo({scrollLeft:e,scrollTop:s}){var o;const r=[...this.viewportTransform];let n=!1;typeof e=="number"&&(r[4]=-e+this.spacing.left,n=!0),typeof s=="number"&&(r[5]=-s,n=!0),n&&(this.viewportTransform=r,(o=this.getActiveObject())==null||o.setCoords(),this.requestRenderAll())}setBounding(e){this.bounding=e}calcBounding(){const e=this.getObjects("Track").filter(c=>c.static),s=[...this.getTrackItems(),...e].reduce((c,h)=>{const{top:l,height:u}=h.getBoundingRect();return{top:Math.min(c.top,l),height:Math.max(c.height,l+u)}},{top:1/0,height:0}),r=[...this.getTrackItems()].reduce((c,h)=>{const{left:l,width:u}=h.getBoundingRect();return{left:Math.min(c.left,l),width:Math.max(c.width,l+u)}},{left:1/0,width:this.width}),n=this.bounding.width,o=r.width,a=o-n;if(a<0){const c=this.getTrackItems(),h=this.getElement().clientWidth,l=c.reduce((u,d)=>d.left+d.width>u.left+u.width?d:u,c[0]);Math.abs(a)>h?this.setViewportPos(-(o-h)-this.spacing.right,this.viewportTransform[5]):l.left+l.width<=h?this.setViewportPos(16,this.viewportTransform[5]):this.setViewportPos(this.viewportTransform[4]-a,this.viewportTransform[5])}this.bounding={...s,...r},J.dispatch(fl,{payload:{bounding:{...s,...r}}})}setViewportPos(e,s){var o;const r=this.getViewportPos(e,s),n=this.viewportTransform;n[4]=r.x,n[5]=r.y,this.requestRenderAll(),this.setActiveTrackItemCoords(),(o=this.onScroll)==null||o.call(this,{scrollTop:r.y,scrollLeft:r.x-this.spacing.left})}getViewportPos(e,s){const r=this,n=this.bounding.width-100>=r.width?this.spacing.right:0,o=r.width-this.bounding.width-n,a=this.spacing.left,c=Math.max(o,Math.min(e,a));if(this.bounding.height<this.height)return{x:c,y:0};const h=r.height-this.bounding.height-40,u=Math.max(h,Math.min(s,0));return{x:c,y:u}}setScale(e){this.pauseEventListeners(),this.tScale=e.zoom,this.scale=e,this.getObjects("Video","Image","Text","Audio","Caption","Template").forEach(r=>{const n=this.transitionGroups.find(o=>o.find(a=>a.id===r.id))||[];if((n==null?void 0:n.length)===1){const o=j(r.display.from,this.tScale),a=j(r.display.to-r.display.from,this.tScale,r.playbackRate);r.set({left:o,width:a,tScale:e.zoom})}else{const o=n.findIndex(u=>u.id===r.id),a=n[o-1],c=n[o+1],h=n.filter(u=>u.type==="transition"),l=this.trackItemsMap[r.id];if(a&&!c){const u=h.indexOf(a),f=h.slice(0,u).reduce((m,b)=>m+(b.duration||0),0),g=j(l.display.from-(a.duration||0)/2-f,this.tScale),p=j(l.display.to-l.display.from-(a.duration||0)/2,this.tScale,l.playbackRate);r.set({left:g,width:p,tScale:e.zoom})}else if(c&&!a){const u=j(l.display.from,this.tScale),d=j(l.display.to-l.display.from-(c.duration||0)/2,this.tScale,l.playbackRate);r.set({left:u,width:d,tScale:e.zoom})}else if(a&&c){const u=j(l.display.from-(a.duration||0)/2,this.tScale),d=j(l.display.to-l.display.from-(c.duration||0)/2-(a.duration||0)/2,this.tScale,r.playbackRate);r.set({left:u,width:d,tScale:e.zoom})}}r.onScale&&r.onScale(),r.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1),this.resumeEventListeners()}}$0(Nl,[Lf,By,Ry,V0]);const eb={audio:Fn,media:Wn,common:bi,transition:Rn};M.ACCEPTS_MAP=Ll,M.Audio=pt,M.BOTTOM=gf,M.CENTER=Ce,M.Caption=ws,M.Composition=hr,M.Control=$,M.DRAG_END=co,M.DRAG_PREFIX=ao,M.DRAG_START=dl,M.FabricObject=at,M.Helper=Ge,M.Illustration=Ne,M.Image=_s,M.LEFT=ms,M.NONE=pf,M.Pattern=$r,M.Placeholder=Ss,M.PreviewTrackItem=le,M.RIGHT=vs,M.Rect=X,M.SIZES_MAP=Fl,M.Shape=Ue,M.TIMELINE_BOUNDING_CHANGED=fl,M.TIMELINE_PREFIX=ho,M.TIMELINE_SEEK=gl,M.TOP=ff,M.Template=Wt,M.Text=Ts,M.Track=Zt,M.Transition=Bt,M.Video=_t,M.calculateTimelineWidth=yf,M.changeWidth=bi,M.classRegistry=C,M.controlsUtils=He,M.createAudioControls=zc,M.createMediaControls=Hc,M.createResizeControls=Ve,M.createTemplateControls=Xc,M.createTransitionControls=Bn,M.default=Nl,M.drawVerticalLine=Rt,M.generateId=bs,M.getDuration=Ln,M.isTransformCentered=ys,M.resize=eb,M.resolveOrigin=A,M.timeMsToUnits=j,M.unitsToTimeMs=V,M.util=hc,M.wrapWithFixedAnchor=ar,Object.defineProperties(M,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
498
+ `}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let r=0;r<e.length;r+=4){const n=Math.max(e[r],e[r+1],e[r+2]),o=(e[r]+e[r+1]+e[r+2])/3,a=2*Math.abs(n-o)/255*s;e[r]+=n!==e[r]?(n-e[r])*a:0,e[r+1]+=n!==e[r+1]?(n-e[r+1])*a:0,e[r+2]+=n!==e[r+2]?(n-e[r+2])*a:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}}v(yi,"type","Vibrance"),v(yi,"defaults",{vibrance:0}),v(yi,"uniformLocations",["uVibrance"]),C.setClass(yi);function Rt(i,t,e,s,r){const c=r.canvas.viewportTransform;i.save(),this.controlOrientation==="left"?i.translate(r.left+c[4],r.top+c[5]+r.height/2):i.translate(r.left+r.width+c[4],r.top+c[5]+r.height/2),i.rotate(hc.degreesToRadians(90+r.angle)),i.lineWidth=6,i.lineCap="round",i.strokeStyle="white",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.lineWidth=4,i.strokeStyle="black",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.restore()}const Mt=1,bt="rgba(255, 255, 255,1.0)",Fc=["Image","Text","Video","Audio","Caption","Template","Composition","Illustration","Shape"],uf=["image","text","video","audio","caption","template","composition","illustration","shape"],df={left:-.5,top:-.5,center:0,bottom:.5,right:.5},A=i=>typeof i=="string"?df[i]:i-.5,Ce="center",ms="left",ff="top",gf="bottom",vs="right",pf="none";function ys(i){return A(i.originX)===A(Ce)&&A(i.originY)===A(Ce)}function ar(i){return(t,e,s,r)=>{const{target:n,originX:o,originY:a}=e,c=n.getRelativeCenterPoint(),h=n.translateToOriginPoint(c,o,a),l=i(t,e,s,r);return n.setPositionByOrigin(h,e.originX,e.originY),l}}const Rc=3,mf=4,Bc=188,vf=1e3/60;function j(i,t=1,e=1){const s=Bc*t;return i*(60/1e3)*s/e}function V(i,t=1,e=1){const s=Bc*t;return i/s*vf*e}function yf(i,t=1){return j(i,t)}const Ln=i=>Object.keys(i).reduce((t,e)=>{const{display:s,playbackRate:r}=i[e];return Math.max(t,s.to/(r||1))},0),{wrapWithFireEvent:bf,getLocalPoint:_f}=He,Fn=bf("resizing",ar((i,t,e,s)=>{const r=_f(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=V(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=j(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const x=V(b-T,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const f=h-c,g=n.trim.from,p=V(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),{wrapWithFireEvent:Tf,getLocalPoint:Sf,wrapWithFixedAnchor:wf}=He,bi=Tf("resizing",wf((i,t,e,s)=>{const r=Sf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=t.corner==="ml";if(n.left<0)return!1;if(l){const u=c-h;if(n.left+u<0)return n.set("width",n.width+n.left),!0}return n.set("width",Math.max(h,0)),c!==n.width}return!1})),{wrapWithFireEvent:xf,getLocalPoint:Cf}=He,Rn=xf("resizing",ar((i,t,e,s)=>{const r=Cf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=V(h,n.tScale,n.playbackRate);return l>=1500||l<500?!1:(n.set("width",Math.max(h,0)),n.set("duration",l),c!==n.width)}return!1})),{wrapWithFireEvent:Of,getLocalPoint:kf}=He,Wc=Of("resizing",ar((i,t,e,s)=>{const r=kf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=V(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0)return!1;const f=h-c,g=n.trim.from,p=V(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Kt}=He,Ve=()=>({mr:new $({x:.5,y:0,actionHandler:bi,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:bi,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})}),Xc=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Wc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Wc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),zc=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Fn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Fn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),Hc=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Wn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Wn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),Bn=()=>({mr:new $({x:.5,y:0,actionHandler:Rn,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:Rn,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})}),Mf="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let cr=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=Mf[e[i]&63];return t};function bs(i=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=cr(i-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,i-1),e+s}const{wrapWithFireEvent:Df,getLocalPoint:If}=He,Wn=Df("resizing",ar((i,t,e,s)=>{const r=If(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Ce)||A(t.originX)===A(vs)&&r.x<0||A(t.originX)===A(ms)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ys(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=V(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=j(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const x=V(b-T,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const f=h-c,g=n.trim.from,p=V(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),Is=class Is extends X{constructor(e){super(e);S(this,"itemType","image");S(this,"src");S(this,"isSelected",!1);Object.assign(this,Is.ownDefaults),this.id=e.id,this.src=e.src,this.display=e.display,this.tScale=e.tScale}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Is.ownDefaults}}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e}};S(Is,"type","Image"),S(Is,"ownDefaults",{rx:8,ry:8,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",fill:"#27272a"});let _s=Is;C.setClass(_s,"Image");class _t extends X{constructor(e){super(e);S(this,"id");S(this,"resourceId","");S(this,"tScale");S(this,"isSelected",!1);S(this,"display");S(this,"trim");S(this,"duration");S(this,"src");this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8,this.display=e.display,this.trim=e.trim,this.duration=e.duration,this.fill="#27272a"}static createControls(){return{controls:Hc()}}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}}S(_t,"type","Video"),C.setClass(_t,"Video");const js=class js extends X{constructor(e){super(e);S(this,"itemType","audio");S(this,"isSelected",!1);S(this,"trim");S(this,"src");S(this,"duration");Object.assign(this,js.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.trim=e.trim,this.src=e.src,this.duration=e.duration}static getDefaults(){return{...super.getDefaults(),...js.ownDefaults}}static createControls(){return{controls:zc()}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e}};S(js,"type","Audio"),S(js,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let pt=js;C.setClass(pt,"Audio");const Es=class Es extends X{constructor(e){super(e);S(this,"isSelected",!1);S(this,"text");Object.assign(this,Es.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.text=e.text}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Es.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Es,"type","Text"),S(Es,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Ts=Es;C.setClass(Ts,"Text");const jf={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},Ps=class Ps extends X{constructor(e){super(e);S(this,"id");S(this,"accepts",["audio","video","image","text","caption","template"]);S(this,"metadata");S(this,"items",[]);S(this,"magnetic");S(this,"static");Object.assign(this,Ps.ownDefaults),this.id=e.id,this.accepts=e.accepts||[],this.items=e.items||[],this.magnetic=e.magnetic,this.static=e.static,this.metadata=e.metadata,this.fill="rgba(34, 34, 37, 0.8)"}static getDefaults(){return{...super.getDefaults(),...Ps.ownDefaults}}updateCoords(e){this.width=e}};S(Ps,"ownDefaults",jf),S(Ps,"type","Track");let Zt=Ps;C.setClass(Zt,"Track");const Ef={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},Pf=(i,t)=>{const e=Ef[i];return i==="top"?{top:t-(e.guide+e.bottom),guide:e.guide,bottom:e.bottom}:i==="center"?{top:e.top,guide:e.guide,bottom:e.bottom}:{top:e==null?void 0:e.top,guide:e==null?void 0:e.guide,bottom:t-((e==null?void 0:e.guide)+(e==null?void 0:e.top))}},As=class As extends $t{constructor(e){const s=Pf(e.kind,e.height),r=new X({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new X({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new X({top:s.top+s.guide,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.bottom,width:e.width});super([r,n,o],e);S(this,"guide");S(this,"topGuide");S(this,"bottomGuide");S(this,"metadata");S(this,"accepts",[]);S(this,"kind");S(this,"activeGuideFill");Object.assign(this,As.ownDefaults),this.guide=n,this.topGuide=r,this.bottomGuide=o,this.id=e.id,this.metadata=e.metadata,this.tScale=e.tScale,this.kind=e.kind,this.activeGuideFill=e.activeGuideFill||bt}static getDefaults(){return{...super.getDefaults(),...As.ownDefaults}}updateCoords(e){this.scaleToWidth(e),this.set("scaleY",1)}setSelected(e){e?this.guide.set("fill",this.activeGuideFill):this.guide.set("fill","transparent")}};S(As,"type","Helper"),S(As,"ownDefaults",{selectable:!1,evented:!1});let Ge=As;C.setClass(Ge,"Helper");const Ls=class Ls extends X{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,Ls.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...Ls.ownDefaults}}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.setLineDash(this.strokeDashArray),e.strokeStyle=bt,e.stroke(),e.restore()}};S(Ls,"type","Placeholder"),S(Ls,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",strokeWidth:0,fill:"rgba(255, 211, 42,0.1)",stroke:"rgba(255, 211, 42,1.0)",selectable:!1,borderOpacityWhenMoving:1,hoverCursor:"default",strokeDashArray:[5,1],evented:!1});let Ss=Ls;C.setClass(Ss,"Placeholder");const Fs=class Fs extends X{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"kind","none");S(this,"isSelected",!1);Object.assign(this,Fs.ownDefaults),this.id=e.id,this.centeredScaling=!0,this.strokeWidth=0,this.tScale=e.tScale,this.duration=e.duration,this.fromId=e.fromId,this.toId=e.toId,this.kind=e.kind,this.strokeDashArray=e.strokeDashArray||[]}static createControls(){return{controls:Bn()}}static getDefaults(){return{...super.getDefaults(),...Fs.ownDefaults}}updateCoords(){}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.isSelected?bt:"rgba(255, 255, 255,0.15)";e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(Fs,"type","Transition"),S(Fs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.5)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let Bt=Fs;C.setClass(Bt,"Transition");const Rs=class Rs extends X{constructor(e){super(e);S(this,"isSelected",!1);S(this,"text");Object.assign(this,Rs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.text=e.text}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Rs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Rs,"type","Caption"),S(Rs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let ws=Rs;C.setClass(ws,"Caption");const Bs=class Bs extends X{constructor(e){super(e);S(this,"itemType","template");S(this,"isSelected",!1);S(this,"trim");Object.assign(this,Bs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.trim=e.trim}static getDefaults(){return{...super.getDefaults(),...Bs.ownDefaults}}static createControls(){return{controls:Xc()}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Bs,"type","Template"),S(Bs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Wt=Bs;C.setClass(Wt,"Template");const Ws=class Ws extends X{constructor(e){super(e);S(this,"itemType","illustration");S(this,"src");S(this,"isSelected",!1);S(this,"svgString","");Object.assign(this,Ws.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.src=e.src,this.svgString=e.svgString}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Ws.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e,this.set({dirty:!0})}};S(Ws,"type","Illustration"),S(Ws,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default",svgString:""});let Ne=Ws;C.setClass(Ne,"Illustration");const Xs=class Xs extends X{constructor(e){super(e);S(this,"itemType","shape");S(this,"src");S(this,"isSelected",!1);S(this,"backgroundColorDiv","#808080");Object.assign(this,Xs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display,this.src=e.src,this.backgroundColorDiv=e.backgroundColorDiv||"#808080"}static createControls(){return{controls:Ve()}}static getDefaults(){return{...super.getDefaults(),...Xs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}setSrc(e){this.src=e,this.set({dirty:!0})}};S(Xs,"type","Shape"),S(Xs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default",backgroundColordDiv:"#808080"});let Ue=Xs;C.setClass(Ue,"Shape");const zs=class zs extends X{constructor(e){super(e);S(this,"itemType","composition");S(this,"isSelected",!1);Object.assign(this,zs.ownDefaults),this.id=e.id,this.borderColor="transparent",this.stroke="transparent",this.strokeWidth=0,this.tScale=e.tScale,this.display=e.display}static getDefaults(){return{...super.getDefaults(),...zs.ownDefaults}}static createControls(){return{controls:Ve()}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(zs,"type","Composition"),S(zs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let hr=zs;C.setClass(hr,"Composition");function Af(i){const t=Math.floor(i/1e3),e=Math.floor(t/60),s=t%60,r=String(e).padStart(2,"0"),n=String(s).padStart(2,"0");return`${r}:${n}`}const Hs=class Hs extends X{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"isSelected",!1);S(this,"name");S(this,"durationString");S(this,"itemType");Object.assign(this,Hs.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=Af(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...Hs.ownDefaults}}_render(e){e.save(),super._render(e),e.beginPath(),e.rect(-this.width/2,-this.height/2,this.width,this.height),e.clip(),this.drawTextIdentity(e),e.restore()}drawTextIdentity(e){e.font="600 12px 'Geist variable'",e.textAlign="left";const s=e.measureText(this.name).width,r=e.measureText(this.durationString).width,n=8,o=4,a=4-this.height/2,c=20,h=4,l=4-this.width/2,u=s+n*2;this.drawRoundedRect(e,l,a,u,c,h),e.fillStyle="#f4f4f5",e.fillText(this.name,l+n,a+14);const d=l+u+o,f=r+n*2;this.drawRoundedRect(e,d,a,f,c,h),e.fillStyle="#f4f4f5",e.fillText(this.durationString,d+n,a+14)}drawRoundedRect(e,s,r,n,o,a){e.fillStyle="rgba(0, 0, 0, 0.5)",e.roundRect?(e.beginPath(),e.roundRect(s,r,n,o,a),e.fill()):e.fillRect(s,r,n,o)}};S(Hs,"type","PreviewTrackItem"),S(Hs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let le=Hs;C.setClass(le,"PreviewTrackItem");class Lf{constructor(){S(this,"___eventListeners",{});S(this,"___activeObjects",[])}resize(t,{force:e}={force:!1}){var s;this.lowerCanvasEl&&(this.setDimensions(t),e&&this.renderTracks(),(s=this.onResizeCanvas)==null||s.call(this,{width:this.width,height:this.height}))}pauseEventListeners(){this.___eventListeners=this.__eventListeners,this.__eventListeners={};const t=this.getActiveObjects();this.discardActiveObject(),this.___activeObjects=t}resumeEventListeners(){this.__eventListeners=this.___eventListeners,this.___eventListeners={};const t=this.___activeObjects;if(!t.length)return this.requestRenderAll(),!1;if(t.length===1)this.setActiveObject(t[0]);else{const e=new Ot(t);this.setActiveObject(e)}this.requestRenderAll()}updateCachingActiveObjects(t){const e=this.___activeObjects;this.___activeObjects=e.map(s=>{const r=t.find(n=>n.id===s.id);return r||s})}}function lr(i,t){return i.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const Ff=(i,t)=>{var a;const e=j(i.display.from,t.tScale),s=j(i.duration,t.tScale,i.playbackRate),r=t.sizesMap.video,n=C.getClass("Video")||_t;return new n({width:s,height:r,id:i.id,tScale:t.tScale,fill:"#333333",resourceId:(a=i.metadata)==null?void 0:a.resourceId,duration:i.duration,top:10,left:e,display:i.display,trim:i.trim,src:i.details.src,metadata:i.metadata})},Rf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=t.sizesMap.text,o=C.getClass("Text")||Ts;return new o({width:r,height:n,id:i.id,display:e,top:10,left:s,text:i.details.text,tScale:t.tScale})},Bf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=t.sizesMap.caption,o=C.getClass("Caption")||ws;return new o({width:r,height:n,id:i.id,display:e,top:10,left:s,text:i.details.text,tScale:t.tScale})},Wf=(i,t)=>{const e=j(i.display.from,t.tScale),s=j(i.display.to-(i.display.from||5e3),t.tScale),r=t.sizesMap.image,n=C.getClass("Image")||_s;return new n({width:s,height:r,id:i.id,src:i.details.src,tScale:t.tScale,top:10,left:e,display:i.display})},Xf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale,i.playbackRate),n=t.sizesMap.audio,o=C.getClass("Audio")||pt;return new o({width:r,height:n,top:10,left:s,id:i.id,display:e,trim:i.trim||{from:0,to:i.duration},duration:i.duration,src:i.details.src,tScale:t.tScale})},zf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=42,o=C.getClass("Template")||Wt;return new o({width:r,height:n,top:10,left:s,id:i.id,display:e,duration:e.to-e.from,tScale:t.tScale,trim:i.trim||i.display})},Hf=(i,t)=>{const e=i.display,s=j(e.from,t.tScale),r=j(e.to-e.from,t.tScale),n=32,o=C.getClass("Composition")||hr;return new o({width:r,height:n,id:i.id,display:e,top:10,left:s,duration:e.to-e.from,tScale:t.tScale})},Yf=(i,t)=>{const e=j(i.display.from,t.tScale),s=j(i.display.to-(i.display.from||5e3),t.tScale),r=t.sizesMap.illustration,n=C.getClass("Illustration")||Ne;return new n({width:s,height:r,id:i.id,src:i.details.src,tScale:t.tScale,top:10,left:e,display:i.display,svgString:i.details.svgString})},Vf=(i,t)=>{const e=j(i.display.from,t.tScale),s=j(i.display.to-(i.display.from||5e3),t.tScale),r=t.sizesMap.shape,n=C.getClass("Shape")||Ue;return new n({width:s,height:r,id:i.id,src:i.details.src,tScale:t.tScale,top:10,left:e,display:i.display,backgroundColorDiv:i.details.backgroundColor})},Gf=(i,t)=>{if(i.type==="caption")return Bf(i,t);if(i.type==="text")return Rf(i,t);if(i.type==="image")return Wf(i,t);if(i.type==="video")return Ff(i,t);if(i.type==="audio")return Xf(i,t);if(i.type==="template")return zf(i,t);if(i.type==="shape")return Vf(i,t);if(i.type==="illustration")return Yf(i,t);if(i.type==="composition")return Hf(i,t)};var Yc=typeof global=="object"&&global&&global.Object===Object&&global,Nf=typeof self=="object"&&self&&self.Object===Object&&self,Xt=Yc||Nf||Function("return this")(),Dt=Xt.Symbol,Vc=Object.prototype,Uf=Vc.hasOwnProperty,$f=Vc.toString,ur=Dt?Dt.toStringTag:void 0;function qf(i){var t=Uf.call(i,ur),e=i[ur];try{i[ur]=void 0;var s=!0}catch{}var r=$f.call(i);return s&&(t?i[ur]=e:delete i[ur]),r}var Kf=Object.prototype,Zf=Kf.toString;function Jf(i){return Zf.call(i)}var Qf="[object Null]",tg="[object Undefined]",Gc=Dt?Dt.toStringTag:void 0;function xs(i){return i==null?i===void 0?tg:Qf:Gc&&Gc in Object(i)?qf(i):Jf(i)}function Oe(i){return i!=null&&typeof i=="object"}var eg="[object Symbol]";function _i(i){return typeof i=="symbol"||Oe(i)&&xs(i)==eg}function sg(i,t){for(var e=-1,s=i==null?0:i.length,r=Array(s);++e<s;)r[e]=t(i[e],e,i);return r}var Jt=Array.isArray,Nc=Dt?Dt.prototype:void 0,Uc=Nc?Nc.toString:void 0;function $c(i){if(typeof i=="string")return i;if(Jt(i))return sg(i,$c)+"";if(_i(i))return Uc?Uc.call(i):"";var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}var rg=/\s/;function ig(i){for(var t=i.length;t--&&rg.test(i.charAt(t)););return t}var ng=/^\s+/;function og(i){return i&&i.slice(0,ig(i)+1).replace(ng,"")}function Qt(i){var t=typeof i;return i!=null&&(t=="object"||t=="function")}var qc=NaN,ag=/^[-+]0x[0-9a-f]+$/i,cg=/^0b[01]+$/i,hg=/^0o[0-7]+$/i,lg=parseInt;function Kc(i){if(typeof i=="number")return i;if(_i(i))return qc;if(Qt(i)){var t=typeof i.valueOf=="function"?i.valueOf():i;i=Qt(t)?t+"":t}if(typeof i!="string")return i===0?i:+i;i=og(i);var e=cg.test(i);return e||hg.test(i)?lg(i.slice(2),e?2:8):ag.test(i)?qc:+i}function ug(i){return i}var dg="[object AsyncFunction]",fg="[object Function]",gg="[object GeneratorFunction]",pg="[object Proxy]";function Zc(i){if(!Qt(i))return!1;var t=xs(i);return t==fg||t==gg||t==dg||t==pg}var Xn=Xt["__core-js_shared__"],Jc=function(){var i=/[^.]+$/.exec(Xn&&Xn.keys&&Xn.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function mg(i){return!!Jc&&Jc in i}var vg=Function.prototype,yg=vg.toString;function $e(i){if(i!=null){try{return yg.call(i)}catch{}try{return i+""}catch{}}return""}var bg=/[\\^$.*+?()[\]{}|]/g,_g=/^\[object .+?Constructor\]$/,Tg=Function.prototype,Sg=Object.prototype,wg=Tg.toString,xg=Sg.hasOwnProperty,Cg=RegExp("^"+wg.call(xg).replace(bg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Og(i){if(!Qt(i)||mg(i))return!1;var t=Zc(i)?Cg:_g;return t.test($e(i))}function kg(i,t){return i==null?void 0:i[t]}function qe(i,t){var e=kg(i,t);return Og(e)?e:void 0}var zn=qe(Xt,"WeakMap"),Qc=Object.create,Mg=function(){function i(){}return function(t){if(!Qt(t))return{};if(Qc)return Qc(t);i.prototype=t;var e=new i;return i.prototype=void 0,e}}();function Dg(i,t,e){switch(e.length){case 0:return i.call(t);case 1:return i.call(t,e[0]);case 2:return i.call(t,e[0],e[1]);case 3:return i.call(t,e[0],e[1],e[2])}return i.apply(t,e)}var Ig=800,jg=16,Eg=Date.now;function Pg(i){var t=0,e=0;return function(){var s=Eg(),r=jg-(s-e);if(e=s,r>0){if(++t>=Ig)return arguments[0]}else t=0;return i.apply(void 0,arguments)}}function Ag(i){return function(){return i}}var Ti=function(){try{var i=qe(Object,"defineProperty");return i({},"",{}),i}catch{}}(),Lg=Ti?function(i,t){return Ti(i,"toString",{configurable:!0,enumerable:!1,value:Ag(t),writable:!0})}:ug,Fg=Pg(Lg);function Rg(i,t){for(var e=-1,s=i==null?0:i.length;++e<s&&t(i[e],e,i)!==!1;);return i}var Bg=9007199254740991,Wg=/^(?:0|[1-9]\d*)$/;function Hn(i,t){var e=typeof i;return t=t??Bg,!!t&&(e=="number"||e!="symbol"&&Wg.test(i))&&i>-1&&i%1==0&&i<t}function Xg(i,t,e){t=="__proto__"&&Ti?Ti(i,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):i[t]=e}function Yn(i,t){return i===t||i!==i&&t!==t}var zg=Object.prototype,Hg=zg.hasOwnProperty;function th(i,t,e){var s=i[t];(!(Hg.call(i,t)&&Yn(s,e))||e===void 0&&!(t in i))&&Xg(i,t,e)}var eh=Math.max;function Yg(i,t,e){return t=eh(t===void 0?i.length-1:t,0),function(){for(var s=arguments,r=-1,n=eh(s.length-t,0),o=Array(n);++r<n;)o[r]=s[t+r];r=-1;for(var a=Array(t+1);++r<t;)a[r]=s[r];return a[t]=e(o),Dg(i,this,a)}}var Vg=9007199254740991;function Vn(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=Vg}function Gg(i){return i!=null&&Vn(i.length)&&!Zc(i)}var Ng=Object.prototype;function sh(i){var t=i&&i.constructor,e=typeof t=="function"&&t.prototype||Ng;return i===e}function Ug(i,t){for(var e=-1,s=Array(i);++e<i;)s[e]=t(e);return s}var $g="[object Arguments]";function rh(i){return Oe(i)&&xs(i)==$g}var ih=Object.prototype,qg=ih.hasOwnProperty,Kg=ih.propertyIsEnumerable,Gn=rh(function(){return arguments}())?rh:function(i){return Oe(i)&&qg.call(i,"callee")&&!Kg.call(i,"callee")};function Zg(){return!1}var nh=typeof M=="object"&&M&&!M.nodeType&&M,oh=nh&&typeof module=="object"&&module&&!module.nodeType&&module,Jg=oh&&oh.exports===nh,ah=Jg?Xt.Buffer:void 0,Qg=ah?ah.isBuffer:void 0,Si=Qg||Zg,tp="[object Arguments]",ep="[object Array]",sp="[object Boolean]",rp="[object Date]",ip="[object Error]",np="[object Function]",op="[object Map]",ap="[object Number]",cp="[object Object]",hp="[object RegExp]",lp="[object Set]",up="[object String]",dp="[object WeakMap]",fp="[object ArrayBuffer]",gp="[object DataView]",pp="[object Float32Array]",mp="[object Float64Array]",vp="[object Int8Array]",yp="[object Int16Array]",bp="[object Int32Array]",_p="[object Uint8Array]",Tp="[object Uint8ClampedArray]",Sp="[object Uint16Array]",wp="[object Uint32Array]",N={};N[pp]=N[mp]=N[vp]=N[yp]=N[bp]=N[_p]=N[Tp]=N[Sp]=N[wp]=!0,N[tp]=N[ep]=N[fp]=N[sp]=N[gp]=N[rp]=N[ip]=N[np]=N[op]=N[ap]=N[cp]=N[hp]=N[lp]=N[up]=N[dp]=!1;function xp(i){return Oe(i)&&Vn(i.length)&&!!N[xs(i)]}function Nn(i){return function(t){return i(t)}}var ch=typeof M=="object"&&M&&!M.nodeType&&M,dr=ch&&typeof module=="object"&&module&&!module.nodeType&&module,Cp=dr&&dr.exports===ch,Un=Cp&&Yc.process,Cs=function(){try{var i=dr&&dr.require&&dr.require("util").types;return i||Un&&Un.binding&&Un.binding("util")}catch{}}(),hh=Cs&&Cs.isTypedArray,lh=hh?Nn(hh):xp,Op=Object.prototype,kp=Op.hasOwnProperty;function Mp(i,t){var e=Jt(i),s=!e&&Gn(i),r=!e&&!s&&Si(i),n=!e&&!s&&!r&&lh(i),o=e||s||r||n,a=o?Ug(i.length,String):[],c=a.length;for(var h in i)kp.call(i,h)&&!(o&&(h=="length"||r&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Hn(h,c)))&&a.push(h);return a}function uh(i,t){return function(e){return i(t(e))}}var Dp=uh(Object.keys,Object),Ip=Object.prototype,jp=Ip.hasOwnProperty;function Ep(i){if(!sh(i))return Dp(i);var t=[];for(var e in Object(i))jp.call(i,e)&&e!="constructor"&&t.push(e);return t}function Pp(i){return Gg(i)?Mp(i):Ep(i)}var Ap=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lp=/^\w*$/;function Fp(i,t){if(Jt(i))return!1;var e=typeof i;return e=="number"||e=="symbol"||e=="boolean"||i==null||_i(i)?!0:Lp.test(i)||!Ap.test(i)||t!=null&&i in Object(t)}var fr=qe(Object,"create");function Rp(){this.__data__=fr?fr(null):{},this.size=0}function Bp(i){var t=this.has(i)&&delete this.__data__[i];return this.size-=t?1:0,t}var Wp="__lodash_hash_undefined__",Xp=Object.prototype,zp=Xp.hasOwnProperty;function Hp(i){var t=this.__data__;if(fr){var e=t[i];return e===Wp?void 0:e}return zp.call(t,i)?t[i]:void 0}var Yp=Object.prototype,Vp=Yp.hasOwnProperty;function Gp(i){var t=this.__data__;return fr?t[i]!==void 0:Vp.call(t,i)}var Np="__lodash_hash_undefined__";function Up(i,t){var e=this.__data__;return this.size+=this.has(i)?0:1,e[i]=fr&&t===void 0?Np:t,this}function Ke(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}Ke.prototype.clear=Rp,Ke.prototype.delete=Bp,Ke.prototype.get=Hp,Ke.prototype.has=Gp,Ke.prototype.set=Up;function $p(){this.__data__=[],this.size=0}function wi(i,t){for(var e=i.length;e--;)if(Yn(i[e][0],t))return e;return-1}var qp=Array.prototype,Kp=qp.splice;function Zp(i){var t=this.__data__,e=wi(t,i);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():Kp.call(t,e,1),--this.size,!0}function Jp(i){var t=this.__data__,e=wi(t,i);return e<0?void 0:t[e][1]}function Qp(i){return wi(this.__data__,i)>-1}function tm(i,t){var e=this.__data__,s=wi(e,i);return s<0?(++this.size,e.push([i,t])):e[s][1]=t,this}function ue(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}ue.prototype.clear=$p,ue.prototype.delete=Zp,ue.prototype.get=Jp,ue.prototype.has=Qp,ue.prototype.set=tm;var gr=qe(Xt,"Map");function em(){this.size=0,this.__data__={hash:new Ke,map:new(gr||ue),string:new Ke}}function sm(i){var t=typeof i;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?i!=="__proto__":i===null}function xi(i,t){var e=i.__data__;return sm(t)?e[typeof t=="string"?"string":"hash"]:e.map}function rm(i){var t=xi(this,i).delete(i);return this.size-=t?1:0,t}function im(i){return xi(this,i).get(i)}function nm(i){return xi(this,i).has(i)}function om(i,t){var e=xi(this,i),s=e.size;return e.set(i,t),this.size+=e.size==s?0:1,this}function de(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}de.prototype.clear=em,de.prototype.delete=rm,de.prototype.get=im,de.prototype.has=nm,de.prototype.set=om;var am="Expected a function";function $n(i,t){if(typeof i!="function"||t!=null&&typeof t!="function")throw new TypeError(am);var e=function(){var s=arguments,r=t?t.apply(this,s):s[0],n=e.cache;if(n.has(r))return n.get(r);var o=i.apply(this,s);return e.cache=n.set(r,o)||n,o};return e.cache=new($n.Cache||de),e}$n.Cache=de;var cm=500;function hm(i){var t=$n(i,function(s){return e.size===cm&&e.clear(),s}),e=t.cache;return t}var lm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,um=/\\(\\)?/g,dm=hm(function(i){var t=[];return i.charCodeAt(0)===46&&t.push(""),i.replace(lm,function(e,s,r,n){t.push(r?n.replace(um,"$1"):s||e)}),t});function fm(i){return i==null?"":$c(i)}function Ci(i,t){return Jt(i)?i:Fp(i,t)?[i]:dm(fm(i))}function qn(i){if(typeof i=="string"||_i(i))return i;var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}function gm(i,t){t=Ci(t,i);for(var e=0,s=t.length;i!=null&&e<s;)i=i[qn(t[e++])];return e&&e==s?i:void 0}function dh(i,t){for(var e=-1,s=t.length,r=i.length;++e<s;)i[r+e]=t[e];return i}var fh=Dt?Dt.isConcatSpreadable:void 0;function pm(i){return Jt(i)||Gn(i)||!!(fh&&i&&i[fh])}function mm(i,t,e,s,r){var n=-1,o=i.length;for(e||(e=pm),r||(r=[]);++n<o;){var a=i[n];e(a)?dh(r,a):r[r.length]=a}return r}function Kn(i){var t=i==null?0:i.length;return t?mm(i):[]}function vm(i){return Fg(Yg(i,void 0,Kn),i+"")}var ym=uh(Object.getPrototypeOf,Object);function bm(){this.__data__=new ue,this.size=0}function _m(i){var t=this.__data__,e=t.delete(i);return this.size=t.size,e}function Tm(i){return this.__data__.get(i)}function Sm(i){return this.__data__.has(i)}var wm=200;function xm(i,t){var e=this.__data__;if(e instanceof ue){var s=e.__data__;if(!gr||s.length<wm-1)return s.push([i,t]),this.size=++e.size,this;e=this.__data__=new de(s)}return e.set(i,t),this.size=e.size,this}function fe(i){var t=this.__data__=new ue(i);this.size=t.size}fe.prototype.clear=bm,fe.prototype.delete=_m,fe.prototype.get=Tm,fe.prototype.has=Sm,fe.prototype.set=xm;var gh=typeof M=="object"&&M&&!M.nodeType&&M,ph=gh&&typeof module=="object"&&module&&!module.nodeType&&module,Cm=ph&&ph.exports===gh,mh=Cm?Xt.Buffer:void 0;mh&&mh.allocUnsafe;function Om(i,t){return i.slice()}function km(i,t){for(var e=-1,s=i==null?0:i.length,r=0,n=[];++e<s;){var o=i[e];t(o,e,i)&&(n[r++]=o)}return n}function Mm(){return[]}var Dm=Object.prototype,Im=Dm.propertyIsEnumerable,vh=Object.getOwnPropertySymbols,jm=vh?function(i){return i==null?[]:(i=Object(i),km(vh(i),function(t){return Im.call(i,t)}))}:Mm;function Em(i,t,e){var s=t(i);return Jt(i)?s:dh(s,e(i))}function Zn(i){return Em(i,Pp,jm)}var Jn=qe(Xt,"DataView"),Qn=qe(Xt,"Promise"),to=qe(Xt,"Set"),yh="[object Map]",Pm="[object Object]",bh="[object Promise]",_h="[object Set]",Th="[object WeakMap]",Sh="[object DataView]",Am=$e(Jn),Lm=$e(gr),Fm=$e(Qn),Rm=$e(to),Bm=$e(zn),zt=xs;(Jn&&zt(new Jn(new ArrayBuffer(1)))!=Sh||gr&&zt(new gr)!=yh||Qn&&zt(Qn.resolve())!=bh||to&&zt(new to)!=_h||zn&&zt(new zn)!=Th)&&(zt=function(i){var t=xs(i),e=t==Pm?i.constructor:void 0,s=e?$e(e):"";if(s)switch(s){case Am:return Sh;case Lm:return yh;case Fm:return bh;case Rm:return _h;case Bm:return Th}return t});var Wm=Object.prototype,Xm=Wm.hasOwnProperty;function zm(i){var t=i.length,e=new i.constructor(t);return t&&typeof i[0]=="string"&&Xm.call(i,"index")&&(e.index=i.index,e.input=i.input),e}var Oi=Xt.Uint8Array;function eo(i){var t=new i.constructor(i.byteLength);return new Oi(t).set(new Oi(i)),t}function Hm(i,t){var e=eo(i.buffer);return new i.constructor(e,i.byteOffset,i.byteLength)}var Ym=/\w*$/;function Vm(i){var t=new i.constructor(i.source,Ym.exec(i));return t.lastIndex=i.lastIndex,t}var wh=Dt?Dt.prototype:void 0,xh=wh?wh.valueOf:void 0;function Gm(i){return xh?Object(xh.call(i)):{}}function Nm(i,t){var e=eo(i.buffer);return new i.constructor(e,i.byteOffset,i.length)}var Um="[object Boolean]",$m="[object Date]",qm="[object Map]",Km="[object Number]",Zm="[object RegExp]",Jm="[object Set]",Qm="[object String]",tv="[object Symbol]",ev="[object ArrayBuffer]",sv="[object DataView]",rv="[object Float32Array]",iv="[object Float64Array]",nv="[object Int8Array]",ov="[object Int16Array]",av="[object Int32Array]",cv="[object Uint8Array]",hv="[object Uint8ClampedArray]",lv="[object Uint16Array]",uv="[object Uint32Array]";function dv(i,t,e){var s=i.constructor;switch(t){case ev:return eo(i);case Um:case $m:return new s(+i);case sv:return Hm(i);case rv:case iv:case nv:case ov:case av:case cv:case hv:case lv:case uv:return Nm(i);case qm:return new s;case Km:case Qm:return new s(i);case Zm:return Vm(i);case Jm:return new s;case tv:return Gm(i)}}function fv(i){return typeof i.constructor=="function"&&!sh(i)?Mg(ym(i)):{}}var gv="[object Map]";function pv(i){return Oe(i)&&zt(i)==gv}var Ch=Cs&&Cs.isMap,mv=Ch?Nn(Ch):pv,vv="[object Set]";function yv(i){return Oe(i)&&zt(i)==vv}var Oh=Cs&&Cs.isSet,bv=Oh?Nn(Oh):yv,kh="[object Arguments]",_v="[object Array]",Tv="[object Boolean]",Sv="[object Date]",wv="[object Error]",Mh="[object Function]",xv="[object GeneratorFunction]",Cv="[object Map]",Ov="[object Number]",Dh="[object Object]",kv="[object RegExp]",Mv="[object Set]",Dv="[object String]",Iv="[object Symbol]",jv="[object WeakMap]",Ev="[object ArrayBuffer]",Pv="[object DataView]",Av="[object Float32Array]",Lv="[object Float64Array]",Fv="[object Int8Array]",Rv="[object Int16Array]",Bv="[object Int32Array]",Wv="[object Uint8Array]",Xv="[object Uint8ClampedArray]",zv="[object Uint16Array]",Hv="[object Uint32Array]",G={};G[kh]=G[_v]=G[Ev]=G[Pv]=G[Tv]=G[Sv]=G[Av]=G[Lv]=G[Fv]=G[Rv]=G[Bv]=G[Cv]=G[Ov]=G[Dh]=G[kv]=G[Mv]=G[Dv]=G[Iv]=G[Wv]=G[Xv]=G[zv]=G[Hv]=!0,G[wv]=G[Mh]=G[jv]=!1;function ki(i,t,e,s,r,n){var o;if(o!==void 0)return o;if(!Qt(i))return i;var a=Jt(i);if(a)o=zm(i);else{var c=zt(i),h=c==Mh||c==xv;if(Si(i))return Om(i);if(c==Dh||c==kh||h&&!r)o=h?{}:fv(i);else{if(!G[c])return r?i:{};o=dv(i,c)}}n||(n=new fe);var l=n.get(i);if(l)return l;n.set(i,o),bv(i)?i.forEach(function(f){o.add(ki(f,t,e,f,i,n))}):mv(i)&&i.forEach(function(f,g){o.set(g,ki(f,t,e,g,i,n))});var u=Zn,d=a?void 0:u(i);return Rg(d||i,function(f,g){d&&(g=f,f=i[g]),th(o,g,ki(f,t,e,g,i,n))}),o}var Yv=1,Vv=4;function te(i){return ki(i,Yv|Vv)}var Gv="__lodash_hash_undefined__";function Nv(i){return this.__data__.set(i,Gv),this}function Uv(i){return this.__data__.has(i)}function Mi(i){var t=-1,e=i==null?0:i.length;for(this.__data__=new de;++t<e;)this.add(i[t])}Mi.prototype.add=Mi.prototype.push=Nv,Mi.prototype.has=Uv;function $v(i,t){for(var e=-1,s=i==null?0:i.length;++e<s;)if(t(i[e],e,i))return!0;return!1}function qv(i,t){return i.has(t)}var Kv=1,Zv=2;function Ih(i,t,e,s,r,n){var o=e&Kv,a=i.length,c=t.length;if(a!=c&&!(o&&c>a))return!1;var h=n.get(i),l=n.get(t);if(h&&l)return h==t&&l==i;var u=-1,d=!0,f=e&Zv?new Mi:void 0;for(n.set(i,t),n.set(t,i);++u<a;){var g=i[u],p=t[u];if(s)var m=o?s(p,g,u,t,i,n):s(g,p,u,i,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(f){if(!$v(t,function(b,T){if(!qv(f,T)&&(g===b||r(g,b,e,s,n)))return f.push(T)})){d=!1;break}}else if(!(g===p||r(g,p,e,s,n))){d=!1;break}}return n.delete(i),n.delete(t),d}function Jv(i){var t=-1,e=Array(i.size);return i.forEach(function(s,r){e[++t]=[r,s]}),e}function Qv(i){var t=-1,e=Array(i.size);return i.forEach(function(s){e[++t]=s}),e}var ty=1,ey=2,sy="[object Boolean]",ry="[object Date]",iy="[object Error]",ny="[object Map]",oy="[object Number]",ay="[object RegExp]",cy="[object Set]",hy="[object String]",ly="[object Symbol]",uy="[object ArrayBuffer]",dy="[object DataView]",jh=Dt?Dt.prototype:void 0,so=jh?jh.valueOf:void 0;function fy(i,t,e,s,r,n,o){switch(e){case dy:if(i.byteLength!=t.byteLength||i.byteOffset!=t.byteOffset)return!1;i=i.buffer,t=t.buffer;case uy:return!(i.byteLength!=t.byteLength||!n(new Oi(i),new Oi(t)));case sy:case ry:case oy:return Yn(+i,+t);case iy:return i.name==t.name&&i.message==t.message;case ay:case hy:return i==t+"";case ny:var a=Jv;case cy:var c=s&ty;if(a||(a=Qv),i.size!=t.size&&!c)return!1;var h=o.get(i);if(h)return h==t;s|=ey,o.set(i,t);var l=Ih(a(i),a(t),s,r,n,o);return o.delete(i),l;case ly:if(so)return so.call(i)==so.call(t)}return!1}var gy=1,py=Object.prototype,my=py.hasOwnProperty;function vy(i,t,e,s,r,n){var o=e&gy,a=Zn(i),c=a.length,h=Zn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:my.call(t,d)))return!1}var f=n.get(i),g=n.get(t);if(f&&g)return f==t&&g==i;var p=!0;n.set(i,t),n.set(t,i);for(var m=o;++u<c;){d=a[u];var b=i[d],T=t[d];if(s)var x=o?s(T,b,d,t,i,n):s(b,T,d,i,t,n);if(!(x===void 0?b===T||r(b,T,e,s,n):x)){p=!1;break}m||(m=d=="constructor")}if(p&&!m){var k=i.constructor,O=t.constructor;k!=O&&"constructor"in i&&"constructor"in t&&!(typeof k=="function"&&k instanceof k&&typeof O=="function"&&O instanceof O)&&(p=!1)}return n.delete(i),n.delete(t),p}var yy=1,Eh="[object Arguments]",Ph="[object Array]",Di="[object Object]",by=Object.prototype,Ah=by.hasOwnProperty;function _y(i,t,e,s,r,n){var o=Jt(i),a=Jt(t),c=o?Ph:zt(i),h=a?Ph:zt(t);c=c==Eh?Di:c,h=h==Eh?Di:h;var l=c==Di,u=h==Di,d=c==h;if(d&&Si(i)){if(!Si(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new fe),o||lh(i)?Ih(i,t,e,s,r,n):fy(i,t,c,e,s,r,n);if(!(e&yy)){var f=l&&Ah.call(i,"__wrapped__"),g=u&&Ah.call(t,"__wrapped__");if(f||g){var p=f?i.value():i,m=g?t.value():t;return n||(n=new fe),r(p,m,e,s,n)}}return d?(n||(n=new fe),vy(i,t,e,s,r,n)):!1}function Lh(i,t,e,s,r){return i===t?!0:i==null||t==null||!Oe(i)&&!Oe(t)?i!==i&&t!==t:_y(i,t,e,s,Lh,r)}function Ty(i,t){return i!=null&&t in Object(i)}function Sy(i,t,e){t=Ci(t,i);for(var s=-1,r=t.length,n=!1;++s<r;){var o=qn(t[s]);if(!(n=i!=null&&e(i,o)))break;i=i[o]}return n||++s!=r?n:(r=i==null?0:i.length,!!r&&Vn(r)&&Hn(o,r)&&(Jt(i)||Gn(i)))}function wy(i,t){return i!=null&&Sy(i,t,Ty)}var ro=function(){return Xt.Date.now()},xy="Expected a function",Cy=Math.max,Oy=Math.min;function ky(i,t,e){var s,r,n,o,a,c,h=0,l=!1,u=!1,d=!0;if(typeof i!="function")throw new TypeError(xy);t=Kc(t)||0,Qt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?Cy(Kc(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function f(w){var I=s,D=r;return s=r=void 0,h=w,o=i.apply(D,I),o}function g(w){return h=w,a=setTimeout(b,t),l?f(w):o}function p(w){var I=w-c,D=w-h,F=t-I;return u?Oy(F,n-D):F}function m(w){var I=w-c,D=w-h;return c===void 0||I>=t||I<0||u&&D>=n}function b(){var w=ro();if(m(w))return T(w);a=setTimeout(b,p(w))}function T(w){return a=void 0,d&&s?f(w):(s=r=void 0,o)}function x(){a!==void 0&&clearTimeout(a),h=0,s=c=r=a=void 0}function k(){return a===void 0?o:T(ro())}function O(){var w=ro(),I=m(w);if(s=arguments,r=this,c=w,I){if(a===void 0)return g(c);if(u)return clearTimeout(a),a=setTimeout(b,t),f(c)}return a===void 0&&(a=setTimeout(b,t)),o}return O.cancel=x,O.flush=k,O}function My(i,t){return Lh(i,t)}function Dy(i,t,e,s){if(!Qt(i))return i;t=Ci(t,i);for(var r=-1,n=t.length,o=n-1,a=i;a!=null&&++r<n;){var c=qn(t[r]),h=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return i;if(r!=o){var l=a[c];h=void 0,h===void 0&&(h=Qt(l)?l:Hn(t[r+1])?[]:{})}th(a,c,h),a=a[c]}return i}function Iy(i,t,e){for(var s=-1,r=t.length,n={};++s<r;){var o=t[s],a=gm(i,o);e(a,o)&&Dy(n,Ci(o,i),a)}return n}function jy(i,t){return Iy(i,t,function(e,s){return wy(i,s)})}var Ey=vm(function(i,t){return i==null?{}:jy(i,t)}),Py="Expected a function";function Ay(i,t,e){var s=!0,r=!0;if(typeof i!="function")throw new TypeError(Py);return Qt(e)&&(s="leading"in e?!!e.leading:s,r="trailing"in e?!!e.trailing:r),ky(i,t,{leading:s,maxWait:t,trailing:r})}const Ly=(i,t)=>{if(i.length!==t.length)return!1;const e=new Set(i.map(r=>r.id)),s=new Set(t.map(r=>r.id));if(e.size!==s.size)return!1;for(const r of e)if(!s.has(r))return!1;return!0},Os=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(c=>{var u,d;if(c.kind==="none")return;const{fromId:h,toId:l}=c;r.has(h)||r.set(h,[]),r.has(l)||r.set(l,[]),(u=r.get(h))==null||u.push(c),(d=r.get(l))==null||d.push(c)});const n=[],o=new Set,a=c=>{const h=[];let l=c;for(;l&&!o.has(l);){o.add(l);const u=s[l];h.push(u);const d=Object.values(e).find(f=>f.fromId===l&&f.kind!=="none");if(!d)break;h.push(d),l=d.toId}return h};for(const c of t)if(!o.has(c)&&(!r.has(c)||!Object.values(e).some(h=>h.toId===c&&h.kind!=="none"))){const h=a(c);h.length>0&&n.push(h)}return n.forEach(c=>{c.sort((h,l)=>"display"in h&&"display"in l?h.display.from-l.display.from:0)}),n};function Fy(i,t,e,s,r){const n=i[0].canvas,o=Object.keys(s),a={},c=[];return i.forEach(h=>{const l=t.filter(u=>h.items.includes(u.id)).map(u=>{if(r.includes(u.id)){const d=n.getObjects().find(f=>f.id===`${u.id}-placeholder`);return(d==null?void 0:d.opacity)===1&&(u.left=(d==null?void 0:d.left)||u.left),u}else return u}).sort((u,d)=>u.left-d.left);for(let u=0;u<l.length-1;u++){const d=l[u];let f=d.left;const g=l[u+1];let p=g.left;if(o.includes(d.id)&&(f=s[d.id].left),o.includes(g.id)&&(p=s[g.id].left),Math.abs(f+d.width-p)<=1){const m=`${d.id}-${g.id}`;if(e.hasOwnProperty(m)){const T=e[m];a[m]=T}else{const T={id:m,duration:1500,fromId:d.id,toId:g.id,kind:"none",trackId:h.id,type:"transition"};a[m]=T}c.push(m)}}}),{newTransitionIds:c,newTransitionsMap:a}}const ke=(i,t)=>{const e=t.findIndex(l=>l.id===i),s=t[e-1],r=t[e+1],n=t.filter(l=>l.type==="transition"),o=n.indexOf(s),c=n.slice(0,o).reduce((l,u)=>l+(u.duration||0),0);let h=0;return s&&!r?h=(s.duration||0)/2:r&&!s?h=(r.duration||0)/2:s&&r&&(h=(r.duration||0)/2+(s.duration||0)/2),{durationDiff:h,offsetTransitions:c}},io=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(h=>{var f,g;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(r.has(l)||r.set(l,[]),r.has(u)||r.set(u,[]),(f=r.get(l))==null||f.push(h),(g=r.get(u))==null||g.push(h))});const n=[],o=new Set,a=h=>{const l=[];let u=h;for(;u&&!o.has(u);){o.add(u);const d=s[u];l.push(d);const f=Object.values(e).find(g=>g.fromId===u&&g.kind!=="none");if(!f)break;l.push(f),u=f.toId}return l},c=Object.values(e).filter(h=>h.kind!=="none");for(const h of t)if(!o.has(h)&&(!r.has(h)||!c.some(l=>l.toId===h))){const l=a(h);l.length>0&&n.push(l)}return n.forEach(h=>{h.sort((l,u)=>"display"in l&&"display"in u?l.display.from-u.display.from:0)}),n};class Ry{addTrackItem(t){const e=Gf(t,{tScale:this.tScale,sizesMap:this.sizesMap});this.add(e)}alignItemsToTrack(){this.pauseEventListeners();const t=new Map(this.getObjects("Track").map(r=>[r.id,r])),e=this.getTrackItems(),s=this.getObjects("Transition");this.trackItemIds.forEach(r=>{const n=this.tracks.find(c=>c.items.includes(r));if(!n)return;const o=t.get(n.id),a=this.getTrackItems().find(c=>c.id===r);a&&o&&(a.isMain=o.magnetic,this.trackItemsMap[r].isMain=o.magnetic,a.set({top:o.top}),a.setCoords())}),t.forEach(r=>{r.items=e.filter(n=>n.top===r.top).map(n=>n.id)}),s.forEach(r=>{const n=r.fromId,o=e.find(a=>a.id===n);o&&(r.set({top:o.top}),r.setCoords())}),this.resumeEventListeners()}updateTrackItemsToHistory(){this.pauseEventListeners(),this.trackItemIds.forEach(t=>{const e=this.tracks.find(c=>c.items.includes(t)),s=this.getObjects().find(c=>c.id===(e==null?void 0:e.id)).top,r=this.trackItemsMap[t],n=this.getObjects().find(c=>c.id===t),o=j(r.display.from,this.tScale),a=j(r.display.to-r.display.from,this.tScale,r.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof _t||n instanceof pt){const c=n.display.to-n.display.from;n.setDuration?n.setDuration(c):n.set({duration:c}),r.trim=n.trim,r.display=n.display}n.setCoords()}),this.requestRenderAll(),this.resumeEventListeners()}deleteTrackItemToHistory(t){this.getObjects().filter(e=>t.includes(e.id)).map(e=>this.remove(e)),this.alignItemsToTrack(),this.requestRenderAll()}uodateTrackItemIdsOrdering(){const t=this.getTrackItems();t.sort((e,s)=>e.top-s.top),this.trackItemIds=t.map(e=>e.id).reverse()}selectTrackItemByIds(t){const e=this.getActiveObjects().map(n=>n.id);if(My(e,t))return;const r=this.getObjects(...Fc,"Transition").filter(n=>t.includes(n.id));if(!r.length)this.discardActiveObject();else if(r.length===1)this.setActiveObject(r[0]);else{const n=new Ot(r);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={},s=io({trackItemIds:this.trackItemIds,transitionsMap:this.transitionsMap,trackItemsMap:this.trackItemsMap});t.forEach(r=>{const{id:n,left:o,width:a}=r,c=this.trackItemsMap[n],h=this.transitionGroups.find(l=>l.find(u=>u.id===n))||[];if(h.length===1){const l=V(o,this.tScale),u=V(a,this.tScale,r.playbackRate),d={from:l,to:l+u},f={display:d};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(f.trim=r.trim,f.duration=d.to-d.from),r.display=d,e[n]={...c,...f}}else{const l=h.findIndex(f=>f.id===n),u=h[l-1],d=h[l+1];if(u&&!d){const f=ke(n,h),g=V(o,this.tScale)+u.duration/2+f.offsetTransitions,p=V(a,this.tScale,r.playbackRate)+(u.duration||0)/2,m={from:g,to:g+p},b={display:m};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(b.trim=r.trim),r.display=m,e[n]={...c,...b}}else if(d&&!u){const f=V(o,this.tScale),g=V(a,this.tScale,r.playbackRate),p={from:f,to:f+g+(d.duration||0)/2},m={display:p};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(m.trim=r.trim),r.display=p,e[n]={...c,...m}}else if(u&&d){const f=V(o,this.tScale),g=s.find(O=>O.find(w=>w.id===r.id)),b=(g==null?void 0:g.filter(O=>O.type==="transition").map(O=>this.getObjects().find(w=>w.id===O.id))).filter(O=>O.top===r.top).filter(O=>O.left+O.width<=r.left).reduce((O,w)=>O+(w.duration||0),0),T=V(a,this.tScale,r.playbackRate),x={from:f+b+(u.duration||0)/2,to:f+b+T+(d.duration||0)/2+(u.duration||0)},k={display:x};(r instanceof _t||r instanceof pt||r instanceof Wt)&&(k.trim=r.trim),r.display=x,e[n]={...c,...k}}}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),r=lr(this.tracks,e),n={};Object.keys(this.trackItemsMap).forEach(a=>{e.includes(a)||(n[a]=this.trackItemsMap[a])});const o=this.trackItemIds.filter(a=>!e.includes(a));this.tracks=r,this.trackItemsMap=n,this.trackItemIds=o,this.discardActiveObject(),this.remove(...s),this.renderTracks(),this.alignItemsToTrack()}deleteActiveTrackItem(){const t=this.getActiveObjects();if(!t.length)return!1;const e=t.map(o=>o.id),s=lr(this.tracks,e),r={};Object.keys(this.trackItemsMap).forEach(o=>{e.includes(o)||(r[o]=this.trackItemsMap[o])});const n=this.trackItemIds.filter(o=>!e.includes(o));this.tracks=s,this.trackItemsMap=r,this.trackItemIds=n,this.discardActiveObject(),this.remove(...t),this.setActiveIds([]),this.renderTracks(),this.alignItemsToTrack(),this.updateState({updateHistory:!0,kind:"remove"})}updateTrackItemCoords(t){const e=t?this.getActiveObjects().map(s=>s.id):[];this.trackItemIds.forEach(s=>{if(e.includes(s))return;const r=this.transitionGroups.find(c=>c.find(h=>h.id===s))||[];if((r==null?void 0:r.length)===1){const c=this.getObjects().find(d=>d.id===s),h=this.trackItemsMap[s],l=j(h.display.from,this.tScale),u=j(h.display.to-h.display.from,this.tScale,h.playbackRate);c.set({left:l,width:u}),c.setCoords();return}const n=r.findIndex(c=>c.id===s),o=r[n-1],a=r[n+1];if(o&&!a){const c=this.getObjects().find(f=>f.id===s),h=this.trackItemsMap[s],l=ke(s,r),u=j(h.display.from-(o.duration||0)/2-l.offsetTransitions,this.tScale),d=j(h.display.to-h.display.from-(o.duration||0)/2,this.tScale,h.playbackRate);c.set({left:u,width:d}),c.setCoords();return}if(a&&!o){const c=this.getObjects().find(d=>d.id===s),h=this.trackItemsMap[s],l=j(h.display.from,this.tScale),u=j(h.display.to-h.display.from-(a.duration||0)/2,this.tScale,h.playbackRate);c.set({left:l,width:u}),c.setCoords();return}if(o&&a){const c=this.getObjects().find(f=>f.id===s),h=this.trackItemsMap[s],l=ke(s,r),u=j(h.display.from-(o.duration||0)/2-l.offsetTransitions,this.tScale),d=j(h.display.to-h.display.from-(a.duration||0)/2-(o.duration||0)/2,this.tScale,h.playbackRate);c.set({left:u,width:d}),c.setCoords();return}})}refreshTrackItemsForTransitions(){const t=this.getActiveObjects().map(h=>h.id);this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects("Video","Image"),r=this.getObjects("Transition"),n=s.concat(r),o=Object.keys(this.positionAfterTransform);e.forEach(h=>{o.forEach(l=>{if(h.items.includes(l)){const u=this.getObjects().find(d=>d.id===l);t.includes(l)||(this.positionAfterTransform[l].left=u.left)}})});const{newTransitionsMap:a}=Fy(e,s,this.transitionsMap,this.positionAfterTransform,t),c=Os({trackItemIds:this.trackItemIds,transitionsMap:a,trackItemsMap:this.trackItemsMap});s.forEach(h=>{const l=h.id,u=c.find(m=>m.find(b=>b.id===l))||[],d=this.transitionGroups.find(m=>m.find(b=>b.id===l))||[];if(Ly(d,u))return;const f=u.findIndex(m=>m.id===l),g=u[f-1],p=u[f+1];if(g&&!p){const m=ke(l,d),b=ke(l,u),T=j(m.durationDiff-b.durationDiff,this.tScale);h.set({width:h.width+T})}else if(p&&!g){const m=ke(l,d),b=ke(l,u);if(m.durationDiff>0){const T=j(m.durationDiff-b.durationDiff,this.tScale);h.set({width:h.width+T}),u.forEach(x=>{if(x.id!==h.id){const k=n.find(O=>O.id===x.id);k==null||k.set({left:k.left+T}),k==null||k.setCoords()}})}}else if(g&&p)console.warn("invalid spot");else{const m=ke(l,d),b=j(m.durationDiff,this.tScale);h.set({width:h.width+b})}}),this.resumeEventListeners()}getTrackItems(){return this.getObjects(...Fc)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const ks={text:32,image:40,video:40,audio:32,main:40},Fh=i=>{switch(i){case"text":return ks.text;case"image":return ks.image;case"video":return ks.video;case"audio":return ks.audio;case"helperTop":return 1e3;case"helperBottom":return 1e3;case"helperCenter":return 8;case"main":return ks.main;default:return ks.text}};class By{findOrCreateTrack(t,{trackId:e,trackIndex:s}){if(e){const n=this.tracks.find(o=>o.id===e);if(n)return n.items.push(t.id),e}const r={id:cr(),items:[t.id],type:t.type,accepts:this.acceptsMap[t.type],magnetic:!1,static:!1};return s!==void 0?this.tracks.splice(s,0,r):this.tracks.push(r),this.renderTracks(),r.id}removeTracks(){this.getObjects("Track","Helper").forEach(e=>this.remove(e))}renderTracks(){this.filterEmptyTracks(),this.removeTracks();const t=this.width,e=this.tracks.flatMap(a=>[a,{id:`helper-${a.id}`,type:"helper",items:[],accepts:[]}]).slice(0,-1);let s=-970;const r=C.getClass("Helper")||Ge,n=new r({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=Fh("helperTop"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=Fh("helperCenter"),l=new r({id:a.id,top:s,tScale:this.tScale,width:t,height:h,metadata:{order:(c+1)/2},kind:"center"});s+=h,this.insertAt(0,l)}else{const h=this.sizesMap[a.type],l=C.getClass("Track")||Zt,u=new l({id:a.id,top:s,left:0,height:h,width:t,tScale:this.tScale,accepts:this.acceptsMap[a.type]||[],items:a.items,magnetic:a.magnetic,static:a.static});s+=h,this.insertAt(0,u)}});const o=new r({id:"helper-line-bottom",top:s,selectable:!1,evented:!1,tScale:this.tScale,width:t,kind:"bottom",height:1e3,metadata:{}});this.insertAt(0,o)}filterEmptyTracks(){const t=new Set;this.tracks=this.tracks.filter(e=>(e.items.length||e.static)&&!t.has(e.id)?(t.add(e.id),!0):!1)}refreshTrackLayout(){const t=this.bounding.width+this.spacing.right;this.getObjects("Track","Helper").forEach(e=>{e.updateCoords(t),e.setCoords()})}adjustMagneticTrack(){this.pauseEventListeners();const t=this.tracks.filter(e=>e.magnetic);t.length>0&&t.forEach(e=>{const s=e.accepts||[],r=this.getObjects(...s).filter(o=>e.items.includes(o.id)).sort((o,a)=>o.left-a.left);let n=0;r.forEach(o=>{o.left=n,n+=o.width})}),this.resumeEventListeners()}}function Rh(i){const t=this,e=i.target,s=i.transform;if(s.action==="resizing"){const r=t.getObjects().filter(l=>l!==e&&!["Track","Helper","Transition","Placeholder"].includes(l.type)),n=10,o=e.left,a=e.width*e.scaleX,c=o+a;let h=!1;r.forEach(l=>{if(h)return;const u=l.getBoundingRect(),d=u.left,f=u.left+u.width;if(s.corner==="mr"){const g=Math.abs(c-f),p=Math.abs(c-d);if(g<n)if(e instanceof _t||e instanceof pt){const m=f-e.left,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.to+T;x<=e.duration&&(e.set({width:m,scaleX:1}),e.trim.to=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:f-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(p<n)if(e instanceof _t||e instanceof pt){const m=d-e.left,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.to+T;x<=e.duration&&(e.set({width:m,scaleX:1}),e.trim.to=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:d-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}else if(s.corner==="ml"){const g=Math.abs(o-d),p=Math.abs(o-f);if(g<n)if(e instanceof _t||e instanceof pt||e instanceof Wt){const m=c-d,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.from-T;x>=0&&(e.set({left:d,width:m,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:d,width:c-d,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(p<n)if(e instanceof _t||e instanceof pt||e instanceof Wt){const m=c-f,b=m-a,T=V(b,e.tScale,e.playbackRate),x=e.trim.from-T;x>=0&&(e.set({left:f,width:m,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:f,width:c-f,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}}),h&&(e.setCoords(),t.requestRenderAll())}}function Wy(i){i.on("object:resizing",Rh.bind(i))}function Xy(i){i.off("object:resizing",Rh.bind(i))}const pr=100,no=0,Ii=5,Bh=3,zy=25,Ms={scrollInterval:null};function Wh(i){const t=zy-Bh,e=(pr-i)/pr;return Bh+t*e}function Hy(i,t){Ms.scrollInterval&&clearInterval(Ms.scrollInterval);const e=t.target,s=e.getBoundingRect();Ms.scrollInterval=setInterval(()=>{const r=i.viewportTransform,n=i.getViewportPoint(t.e);if(n.x>i.width-pr&&e.left+s.width<i.bounding.width){const o=Wh(i.width-n.x);e.set("left",e.left+o),i.setViewportPos(r[4]-o,r[5])}if(n.x<pr&&e.left>0&&r[4]<pr){const o=Wh(n.x);e.set("left",e.left-o),i.setViewportPos(r[4]+o,r[5])}n.y>i.height-no&&e.top+s.height<i.bounding.height+80&&(e.set("top",e.top+Ii),i.setViewportPos(r[4],r[5]-Ii)),n.y<no&&e.top>-80&&-r[5]>no&&(e.set("top",e.top-Ii),i.setViewportPos(r[4],r[5]+Ii)),e.setCoords(),i.requestRenderAll()},16)}function Yy(){Ms.scrollInterval&&(clearInterval(Ms.scrollInterval),Ms.scrollInterval=null)}function Xh(){Yy()}function zh(i){Hy(this,i)}function Vy(i){i.on("mouse:up",Xh),i.on("object:moving",zh.bind(i))}function Gy(i){i.off("mouse:up",Xh),i.off("object:moving",zh.bind(i))}function Hh(i){const t=i.target,e=i.target.canvas;if(i.action==="resizing"&&t instanceof Bt&&e){const s=t.id,r=e.getObjects("Transition").find(n=>n.id===s);if(r&&r instanceof Bt){const n=te(this.transitionsMap),o={...n,[s]:{...n[s],width:r.width,duration:r.duration}};this.transitionsMap=o,this.updateState()}}}function Ny(i){i.on("object:modified",Hh)}function Uy(i){i.off("object:modified",Hh)}const Yh={canvas:null,enableGuideRedraw:!0,isPointerOverHelperTrack:!1,draggingOverTrack:null,placeholderMovingObjects:[],primaryMovingObjects:[],secondaryMovingObjects:[],objectInitialPositions:{},originTrack:{},trackToItemsMap:{},activeTrackToItemsMap:{},trackTopToIdMap:{},trackTops:[],activeObjects:[],primaryTracks:{},secondaryTracks:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null,orderNormalTrack:!1},et=()=>Yh,lt=i=>{Object.assign(Yh,i)},Vh=10,ji=(i,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&i.remove(e))},Gh=(i,t)=>{const e=[],s=[];return t.getObjects().filter(r=>r.visible).forEach(r=>{if(i.find(o=>o.id===r.id)||r.isAlignmentAuxiliary)return;const n=r.getBoundingRect();e.push(Kh(n.left,n.width,n.top,n.height)),s.push(Kh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},Nh=(i,t)=>{const e=[],s=[];i.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Vh&&e.push({lineGuide:a.val,diff:h,orientation:"V",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})}),i.horizontal.forEach(a=>{t.horizontal.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Vh&&s.push({lineGuide:a.val,diff:h,orientation:"H",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})});const r=[],n=e.sort((a,c)=>a.diff-c.diff)[0],o=s.sort((a,c)=>a.diff-c.diff)[0];return n&&r.push({lineGuide:n.lineGuide,offset:n.offset,orientation:"V",snap:n.snap,targetDim:n.targetDim}),o&&r.push({lineGuide:o.lineGuide,offset:o.offset,orientation:"H",snap:o.snap,targetDim:o.targetDim}),r},Uh=(i,t,e)=>{i.forEach(s=>{const r=$y(e.getZoom());s.orientation==="H"?e.add($h([0,s.lineGuide-r.strokeWidth/2,2e3,s.lineGuide-r.strokeWidth/2],{...r,stroke:e.guideLineColor})):s.orientation==="V"&&e.add($h([s.lineGuide-r.strokeWidth/2,0,s.lineGuide-r.strokeWidth/2,2e3],{...r,stroke:e.guideLineColor}))})},$y=i=>({strokeWidth:2/i}),$h=(i,t)=>new xe(i,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),qh=i=>{const t=i.getBoundingRect();return{vertical:[{guide:Math.round(t.left),offset:Math.round(i.left-t.left),snap:"start"},{guide:Math.round(t.left+t.width),offset:Math.round(i.left-t.left-t.width),snap:"end"}],horizontal:[{guide:Math.round(t.top),offset:Math.round(i.top-t.top),snap:"start"},{guide:Math.round(t.top+t.height),offset:Math.round(i.top-t.top-t.height),snap:"end"}]}},Kh=(i,t,e,s)=>[i,i+t].map(n=>({val:n,start:e,end:e+s})),Zh=(i,t)=>{i.remove(...t),t=[]},Jh=i=>{i.forEach(t=>t.setSelected(!1))},Qh=i=>i instanceof Ge,qy=i=>Object.assign({},{left:16,right:80},i),Ky=["touchstart","touchmove","touchend"],Zy=i=>Ky.includes(i.type)||i.pointerType==="touch";function tl(i){const t=this;if(!t)return;const s=et().enableGuideRedraw,r=t.getScenePoint(i.e),n=t.getObjects("Helper","Track"),o=n.find(g=>{const p=g.getBoundingRect();return r.x>=p.left&&r.x<=p.left+p.width&&r.y>=p.top&&r.y<=p.top+p.height});lt({draggingOverTrack:o}),n.forEach(g=>{Qh(g)&&(g===o?g.setSelected(!0):g.setSelected(!1))}),Qh(o)?lt({isPointerOverHelperTrack:!0}):lt({isPointerOverHelperTrack:!1});const a=t.getObjects(),c=i.target,h=c.getBoundingRect();c.setCoords();const l=[c,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],u=Gh(l,t),d=qh(c),f=Nh(u,d);s&&(ji(t,a),f.length&&Uh(f,h,t),lt({enableGuideRedraw:!1}),setTimeout(()=>lt({enableGuideRedraw:!0}),50)),f.forEach(g=>{g.orientation==="V"?c.left=g.lineGuide+g.offset:c.top=g.lineGuide+g.offset})}function el(i){const t=i.target.canvas;t&&(ji(t,t.getObjects()),Jh(t.getObjects("Helper")),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function sl(i){var a;const t=this,e=t.getObjects(),s=i.target,r=i.transform,n=(a=t._currentTransform)==null?void 0:a.corner,o=s.getBoundingRect();if(r.action==="resizing"){const c=[s,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],h=Gh(c,t),l=h.vertical.filter(f=>{const g=f.val;if(n==="ml")return g<=o.left;if(n==="mr")return g>=o.left+o.width});h.vertical=l;const u=qh(s),d=Nh(h,u);ji(t,e),d.length&&Uh(d,o,t)}}function Jy(i){i.on("object:moving",tl.bind(i)),i.on("object:modified",el.bind(i)),i.on("object:resizing",sl.bind(i))}function Qy(i){i.off("object:moving",tl.bind(i)),i.off("object:modified",el.bind(i)),i.off("object:resizing",sl.bind(i))}function oo(i,t,e){const s=i.indexOf(t),r=i.indexOf(e);return s===-1||r===-1?null:r-s}function rl(i,t){const e=t.sort((r,n)=>r.tempIndex-n.tempIndex),s=[];for(const r of e)r.tempIndex<0&&s.push(r);s.push(i);for(const r of e)r.tempIndex>=0&&s.push(r);return s}function il(i){const t=et(),e=t.canvas;lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null}),e.trackIdAfterTransform="",e.positionAfterTransform={};const s=e.getActiveObject(),r=s instanceof Ot?s.getObjects():[s];lt({activeObjects:r});const n=e.getScenePoint(i.e),o=e.getObjects("Track"),a=e.getActiveObjects().map(u=>u.id);let h=o.filter(u=>{const d=u.items;return a.some(f=>d.includes(f))}).find(u=>{const d=u.getBoundingRect();return n.x>=d.left&&n.x<=d.left+d.width&&n.y>=d.top&&n.y<=d.top+d.height});lt({originTrack:h});const l=e.getObjects("Video","Image","Audio","Text","Element","Template");o.forEach(u=>{const d=l.filter(f=>u.items.includes(f.id));t.trackToItemsMap[u.id]=d,t.trackTopToIdMap[u.top]=u.id,t.trackTops.push(u.top)}),t.trackTops.sort((u,d)=>u-d),r.forEach(u=>{const d=o.find(g=>g.items.includes(u.id));if(!d)return;const f=d.id;t.activeTrackToItemsMap[f]?t.activeTrackToItemsMap[f].push(u):t.activeTrackToItemsMap[f]=[u]}),t.primaryMovingObjects=r.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof Bt)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[d];if(t.primaryTracks[f])t.primaryTracks[f].objects.push(u);else{const g=oo(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[f]={objects:[u],index:g}}}),t.primaryMovingObjects=t.primaryMovingObjects.sort((u,d)=>u.left-d.left),t.secondaryMovingObjects=r.filter(u=>!t.primaryMovingObjects.includes(u)),t.secondaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[f])t.secondaryTracks[f].objects.push(u);else{const g=oo(t.trackTops,h.top,d);t.secondaryTracks[f]={objects:[u],index:g}}}),h&&(e.trackOriginBeforeTransform=h.id),s&&(e.positionBeforeTransform={top:s.top,left:s.left}),i.transform.action==="drag"&&(t.placeholderMovingObjects=t.primaryMovingObjects.map(u=>{const d=u.getBoundingRect();t.objectInitialPositions[u.id]={top:d.top,left:d.left};const f=new Ss({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return f.draggedObject=u,f}),e.add(...t.placeholderMovingObjects)))}function t0(i){i.on("before:transform",il.bind(i))}function e0(i){i.off("before:transform",il.bind(i))}const Ys=class Ys extends X{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,Ys.ownDefaults),this.id=e.id}static createControls(){return{controls:Bn()}}static getDefaults(){return{...super.getDefaults(),...Ys.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const r=j(this.duration,this.tScale),n=s.left+s.width-r/2;this.set({width:r,left:n})}_render(e){super._render(e),this.drawTextIdentity(e),this.updateSelected(e)}drawTextIdentity(e){const s=new Path2D("M3 5.30359C3 3.93159 4.659 3.24359 5.629 4.21359L11.997 10.5826L10.583 11.9966L5 6.41359V17.5856L10.586 11.9996L10.583 11.9966L11.997 10.5826L12 10.5856L18.371 4.21459C19.341 3.24459 21 3.93159 21 5.30359V18.6956C21 20.0676 19.341 20.7556 18.371 19.7856L12 13.5L13.414 11.9996L19 17.5866V6.41359L13.414 11.9996L13.421 12.0056L12.006 13.4206L12 13.4136L5.629 19.7846C4.659 20.7546 3 20.0676 3 18.6956V5.30359Z");e.save(),e.translate(-12,-12),e.fillStyle="#ffffff",e.fill(s),e.restore()}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Mt,e.strokeStyle=bt,e.stroke(),e.restore())}};S(Ys,"type","TransitionGuide"),S(Ys,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.85)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let mr=Ys;const s0=["text","image","video","audio","caption","template"];function nl(){const i=et();Zh(this,i.placeholderMovingObjects)}function r0(i){const t=i.target.left;i.target.left=Math.max(t,0)}function ol(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width-1>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}function i0(i,t){const s=i.canvas.getActiveObject(),r=s.left+s.width/2,n=t.left+t.width/2;return r<n?t.left-s.width:(r>n,t.left+t.width)}const n0=(i,t,e)=>!(e<0||ol(i,{...t.getBoundingRect(),left:e})),al=i=>{const e=et().draggingOverTrack;return i instanceof le?e&&e.accepts.includes(i.itemType):e&&e.accepts.includes(i.type)};function o0(i){et().isPointerOverHelperTrack?i.opacity=0:i.opacity=1}function a0(){const i=et(),t=i.primaryMovingObjects[0];return{top:i.objectInitialPositions[t.id].top,left:i.objectInitialPositions[t.id].left}}function c0(i){const t=i.getBoundingRect(),e=et(),s=e.draggingOverTrack;if(e.primaryMovingObjects.map(n=>n.id).includes(i.id)){const o=e.primaryMovingObjects[0].getBoundingRect();return{top:s.top,left:o.left}}return{top:s.top,left:t.left}}function h0(i,t,e,s){const n=i.canvas.getActiveObjects().map(l=>l.id),o=i0(i,t),a=e.filter(l=>!n.includes(l.id)),c=n0(a,i,o),h=et();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,f)=>Math.abs(f-s.x)<Math.abs(d-s.x)?f:d),top:l.top}}return{left:o,top:t.top}}const l0=(i,t)=>{i.forEach((e,s)=>{e.set({left:t[s]})})},cl=Ay(i=>{const t=i.target.canvas;r0(i);const e=et(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];s0.includes(a.type)&&e.placeholderMovingObjects.forEach(c=>{c.visible=!0})}else{e.placeholderMovingObjects.forEach(a=>{a.visible=!1});return}const r=e.placeholderMovingObjects.map(a=>a.draggedObject),n=(e.trackToItemsMap[s.id]||[]).filter(a=>!r.includes(a)),o=al(e.primaryMovingObjects[0]);if(s.magnetic&&o){e.updateItemsInTrack?e.updateItemsInTrack!==s.id&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]):(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]),e.initialTrackPoints.length===0&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=hl(e,s));let a=0;for(const[c,h]of e.initialTrackPoints.entries()){const l=h,u=e.initialTrackPoints[c+1],d=e.initialTrackPoints[c-1],f=u-l,g=l-d;if(!u)a=l;else if(l<=i.pointer.x&&l+f/2>=i.pointer.x){a=l;break}else if(l-g/2<=i.pointer.x&&i.pointer.x<=l){a=l;break}}e.placeholderMovingObjects.forEach(c=>{c.opacity=1,c.left=a,c.top=s.top,a+=c.width}),e.placeholderMovingObjects.forEach(c=>{const h=c.draggedObject;t.positionAfterTransform[h.id]={top:c.top,left:c.left}}),t.trackIdAfterTransform=e.trackTopToIdMap[s.top]}else{e.orderNormalTrack=!1,e.updateItemsInTrack&&e.updateItemsInTrack!==s.id&&(t.getObjects().find(f=>f.id===e.updateItemsInTrack).magnetic?u0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]),e.initialTrackPoints.length===0&&s instanceof Zt&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=hl(e,s));const a=n.find(d=>ol(r,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,f)=>d.left-f.left),u=l[0];l.forEach((d,f)=>{if(!l[f-1])return;const g=d.left-u.left;c.push(g)}),e.placeholderMovingObjects.forEach((d,f)=>{const g=d.draggedObject;if(g instanceof mr){d.visible=!1;return}g.setCoords(),o0(d);let p=p0(g,n,i.pointer,a);if(g instanceof le&&p.isInvalidDrop&&e.draggingOverTrack instanceof Zt){d.opacity=0;const m=i.pointer,b=[...t.viewportTransform],T=m.y-b[5];g0(t,T)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left+(c[f-1]||0)},d.left=p.left+(c[f-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),hl=(i,t)=>{const e=i.canvas,s=[];t.items.forEach(h=>{const l=e.getObjects().find(u=>u.id===h);l&&s.push(l)});const r=i.activeObjects.map(h=>h.id),o=s.filter(h=>!r.includes(h.id)).sort((h,l)=>h.left-l.left);let a=0;const c=[];return t.magnetic?d0(o,a,c):f0(t,c,e),c};function u0(i,t){const e=[];i.getObjects().find(a=>a.id===t.updateItemsInTrack).items.forEach(a=>{const c=i.getObjects().find(h=>h.id===a);c&&e.push(c)});const r=t.activeObjects.map(a=>a.id),o=e.filter(a=>!r.includes(a.id)).sort((a,c)=>a.left-c.left);t.initialTrackPoints.length>o.length&&l0(o,t.initialTrackPoints)}function d0(i,t,e){var h;const s=et(),r=(h=i[0])==null?void 0:h.canvas,n=s.draggingOverTrack,o=s.primaryMovingObjects.map(l=>l.id);if(!r)return;const a=r.transitionIds.filter(l=>r.transitionsMap[l].kind!=="none");i.forEach(l=>{l.set({left:t}),t+=l.width,a.find(d=>r.transitionsMap[d].toId===l.id)||e.push(l.left)});const c=i[i.length-1];if(e.push(((c==null?void 0:c.left)||0)+((c==null?void 0:c.width)||0)),n!=null&&n.items.includes(o[0])){const l=r.getActiveObject(),u=[...e];if(l){const d=u.findIndex(f=>f>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,l.left)}}}function f0(i,t,e){const s=i.items,r={},n={},o=e.getActiveObjects().map(h=>h.id);Object.values(e.trackItemsMap).forEach(h=>{s.includes(h.id)&&(r[h.id]=h)});const a=e.getObjects("Transition").filter(h=>h.top===i.top).map(h=>h.id);Object.values(e.transitionsMap).forEach(h=>{a.includes(h.id)&&(n[h.id]=h)});const c=io({trackItemIds:te(s),transitionsMap:te(n),trackItemsMap:te(r)});t.push(0),c.forEach(h=>{if(h.length===1){const l=e.getObjects().find(u=>u.id===h[0].id);o.includes(l.id)||t.push(l.left+l.width)}else{const l=h[h.length-1],u=e.getObjects().find(d=>d.id===l.id);t.push(u.width+u.left)}})}function g0(i,t){i.getObjects("Helper").reduce((r,n)=>Math.abs(n.top-t)<Math.abs(r.top-t)?n:r).setSelected(!0)}const p0=(i,t,e,s)=>{const r=al(i);return!r&&i instanceof le?{top:0,left:0,isInvalidDrop:!0}:r?s?i instanceof le?{top:0,left:0,isInvalidDrop:!0}:h0(i,s,t,e):c0(i):a0()};function m0(i){i.on("mouse:up",nl.bind(i)),i.on("object:moving",cl)}function v0(i){i.off("mouse:up",nl.bind(i)),i.off("object:moving",cl)}const y0=i=>{et().canvas.fire("track:create",i)},b0=i=>{et().canvas.fire("track-items:moved",i)},ll=i=>{var a,c,h;const t=(a=i.target)==null?void 0:a.canvas;if(!t)return;const e=et(),s=t.getActiveObject();if(!s||!t.positionBeforeTransform)return;const r=t.getScenePoint(i.e),o=t.getObjects("Track","Helper").find(l=>{const u=l.getBoundingRect();return r.x>=u.left&&r.x<=u.left+u.width&&r.y>=u.top&&r.y<=u.top+u.height});if(i.action==="resizing"){const l=(e.trackToItemsMap[(c=e.originTrack)==null?void 0:c.id]||[]).filter(d=>d!==s);s.setCoords();const u=ul(l,s.getBoundingRect());return t.fire("track-items:resized",{trackId:(h=e.originTrack)==null?void 0:h.id,trackItemIds:[s.id],isOverlapped:!!u}),!1}if(!o)return s==null||s.set(t.positionBeforeTransform),s==null||s.setCoords(),!1;if(o instanceof Ge){let l;switch(o.kind){case"top":l=0;break;case"center":l=o.metadata.order||0;break;case"bottom":l=-1;break;default:return}const u={isSecondaryOverlapped:!1,secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackIndex:l,trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};y0(u)}else if(o instanceof Zt){const u={isSecondaryOverlapped:T0(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};b0(u)}};function _0(){const i=et(),t=i.canvas,[e]=i.primaryMovingObjects,s=e.id,r=t.positionAfterTransform[s],n=e.getBoundingRect().top,o=r.top-n,a={};return i.secondaryMovingObjects.forEach(c=>{const h=c.getBoundingRect().top+o,l=i.trackTopToIdMap[h],u=oo(i.trackTops,i.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function T0(){const i=_0(),t=et();return Object.keys(i).some(e=>{const s=t.trackToItemsMap[e],r=i[e].objects;return!s||!s.length?!0:s.filter(n=>!r.includes(n)).some(n=>ul(r,n.getBoundingRect()))})}function ul(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}const S0=i=>{i.on("object:modified",ll)},w0=i=>{i.off("object:modified",ll)},ao="drag",dl=`${ao}:start`,co=`${ao}:end`,ho="timeline",fl=`${ho}:boundingChanged`,gl=`${ho}:seek`,x0="add:audio",C0="add:video",O0="add:image",k0="add:text",M0=["transition","image","video","audio","caption","text"];let it,vr,Ds=[];function D0(i,t){let e=1/0,s=null;const r=new _(i.x,i.y);return t.forEach(n=>{const o=Math.sqrt(Math.pow(n.left-r.x,2)+Math.pow(n.top-r.y,2));o<e&&(e=o,s=n)}),s}const I0=({width:i,height:t,id:e,left:s,top:r,type:n,duration:o})=>{if(n==="transition")return new mr({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=C.getClass("PreviewTrackItem")||le;return new a({top:r,left:s,height:t,width:i,id:e,type:n,duration:o})};function pl(i){var f;const t=(f=i.e.dataTransfer)==null?void 0:f.types[0];if(!t)return;const e=JSON.parse(t),s=e.type;if(!M0.includes(s))return;const r=e.duration||5e3,n=this;n.discardActiveObject(),n.setActiveIds([]);const o=j(r,this.tScale),a=this.sizesMap[s];it=I0({width:o,height:a,id:"TransitionGuide",left:0,top:0,type:s,duration:r}),it.visible=!1,s==="transition"&&(Ds=n.getObjects("Transition"),Ds.forEach(g=>{g.visible=!0}));const c=et();n.trackIdAfterTransform="",n.positionAfterTransform={};const h=it,l=[it];lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),lt({activeObjects:l});const u=n.getObjects("Track"),d=n.getTrackItems();u.forEach(g=>{const p=d.filter(m=>g.items.includes(m.id));c.trackToItemsMap[g.id]=p,c.trackTopToIdMap[g.top]=g.id,c.trackTops.push(g.top)}),c.trackTops.sort((g,p)=>g-p),c.primaryMovingObjects=l,c.primaryMovingObjects=c.primaryMovingObjects.sort((g,p)=>g.left-p.left),h&&(n.positionBeforeTransform={top:h.top,left:h.left}),c.placeholderMovingObjects=c.primaryMovingObjects.map(g=>{const p=g.getBoundingRect();c.objectInitialPositions[g.id]={top:p.top,left:p.left};const m=new Ss({id:`${g.id}-placeholder`,left:p.left,top:p.top,width:p.width,height:p.height});return m.visible=!1,m.draggedObject=g,m}),n.add(...c.placeholderMovingObjects),n.add(it),J.dispatch(dl)}const ml=i=>{const t=et();Zh(i,t.placeholderMovingObjects),i&&(ji(i,i.getObjects()),Jh(i.getObjects("Helper")))};function vl(){if(ml(this),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!it)return;J.dispatch(co);const i=this;Ds.forEach(t=>{t.strokeDashArray=[],t.setSelected(!1),t.kind==="none"&&(t.visible=!1)}),i.getObjects("Helper","Track").forEach(t=>{t.setSelected&&t.setSelected(!1)}),i.remove(it)}function yl(i){const t=et(),e=t.placeholderMovingObjects[0];if(e.visible||(it.visible=!0,e.visible=!0),t.activeObjects[0]instanceof mr&&(e.visible=!1),!it)return!1;i.e.preventDefault();const s=this,r=s.getViewportPoint(i.e),n=[...this.viewportTransform];it.set({left:r.x-16-n[4],top:r.y-n[5]-it.height/2});const o=D0(r,Ds);o&&(vr=o,o.strokeDashArray=[5,1],o.setSelected(!0)),Ds.forEach(c=>{c!==o&&c.setSelected(!1)}),lt({isDragOver:!0}),it.setCoords();const a={target:it,action:"drag",originX:"center",originY:"center",offsetX:r.x-it.left,offsetY:r.y-it.top,scaleX:it.scaleX,scaleY:it.scaleY};s.fire("object:moving",{target:it,e:i.e,pointer:r,transform:a}),s.requestRenderAll()}function bl(i){var o;const t=this;ml(t);const e=et(),s=e.draggingOverTrack;lt({draggingOverTrack:null,isPointerOverHelperTrack:!1});const r=(o=i.e.dataTransfer)==null?void 0:o.types[0],n=JSON.parse(i.e.dataTransfer.getData(r));if(n.type!=="transition"){const a=e.activeObjects[0],c=V(a.left,t.tScale);if(s instanceof Zt)if(e.placeholderMovingObjects[0].opacity!==0){const l=lo(s,this.getObjects("Track"));if(s.magnetic){const u=e.initialTrackPoints[e.initialTrackPoints.length-1],d=V(u,t.tScale);Ei(n,l,d)}else Ei(n,l,c)}else{const l=i.viewportPoint,u=[...t.viewportTransform],d=l.y-u[5],g=t.getObjects("Helper").reduce((m,b)=>Math.abs(b.top-d)<Math.abs(m.top-d)?b:m),p=lo(g,this.getObjects("Track"));Ei(n,p,c,!0)}else{const h=lo(s,this.getObjects("Track"));Ei(n,h,c,!0)}this.remove(a),this.requestRenderAll();return}if(it){if(vr){const a=vr.id,c=Ey(n,["kind","direction"]);Object.keys(c).forEach(T=>{T==="kind"?vr.kind=c[T]:vr[T]=c[T]});const h=te(this.trackItemIds),l=te(this.transitionsMap),u=te(this.trackItemsMap);l[a]={...l[a],...c};const d=Os({trackItemIds:h,transitionsMap:l,trackItemsMap:u}),g=l[a].fromId,p=d.find(T=>T.find(x=>x.id===g))||[],m=j0(p),b=E0(this.trackItemsMap,m);this.trackItemsMap=b,this.transitionsMap[a]={...this.transitionsMap[a],...c},this.transitionGroups=Os({trackItemIds:this.trackItemIds,transitionsMap:this.transitionsMap,trackItemsMap:this.trackItemsMap}),this.updateTrackItemCoords(),this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ds.forEach(a=>{a.strokeDashArray=[],a.setSelected(!1),a.kind==="none"&&(a.visible=!1)}),t.remove(it),t.requestRenderAll(),J.dispatch(co)}}const j0=i=>{const[t]=i,e=i.filter(r=>r.type!=="transition");let s=t.display.from;return e.map(r=>{const n=r.display.to-r.display.from,o={from:s,to:s+n};return s=o.to,{...r,display:o}})},E0=(i,t)=>{let e=i;return t.forEach(s=>{e[s.id]=s}),e},lo=(i,t)=>{const e=t.sort((o,a)=>o.top-a.top);if(e.length===0)return 0;const s=e[e.length-1];if(s.top+s.height<=i.top)return e.length;const r=i.top;return e.reduce((o,a,c)=>{const h=Math.abs(a.top-r),l=Math.abs(e[o].top-r);return h<l?c:o},0)},Ei=(i,t,e,s)=>{i.type==="image"?J.dispatch(O0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="video"?J.dispatch(C0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="audio"?J.dispatch(x0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="text"&&J.dispatch(k0,{payload:{...i,id:bs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function P0(i){i.on("dragover",yl),i.on("dragenter",pl),i.on("dragleave",vl),i.on("drop",bl)}function A0(i){i.off("dragover",yl),i.off("dragenter",pl),i.off("dragleave",vl),i.off("drop",bl)}function _l(i){const t=this.height<this.bounding.height;if(!(this.width<this.bounding.width)&&!t)return;const s=this.viewportTransform;let r=s[4],n=s[5];const o=2;i.e.shiftKey?r=r-i.e.deltaY*o:(t&&(n=n-i.e.deltaY*o),r=r-i.e.deltaX*o),this.setViewportPos(r,n)}function Tl(){const i=this,t=i.getActiveObject(),e=i.getActiveObjects(),s=e.map(n=>n.id),r=e.filter(n=>{if(e.length===1)return!0;if(n.id&&!(n instanceof Bt))return!0;if(n instanceof Bt&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof Ot?(t.borderColor="rgba(0, 216, 214,0.75)",t.hasControls=!1,t.hoverCursor="default",t.borderScaleFactor=1,t.padding=0,t.getObjects().forEach(n=>{n.setSelected(!0)})):t==null||t.setSelected(!0),this.setActiveIds(r)}function Sl(i){const t=this,e=t.getActiveObject();e instanceof Ot&&(e.borderColor="transparent",e.hasControls=!1,e.hoverCursor="default"),i.selected.forEach(n=>{n.setSelected(!0)}),i.deselected.forEach(n=>{n.setSelected(!1)});const r=t.getActiveObjects().map(n=>n.id);this.setActiveIds(r)}function wl(i){i.deselected.forEach(t=>{t.setSelected(!1)})}const L0=i=>{i.on("selection:created",Tl),i.on("selection:updated",Sl),i.on("selection:cleared",wl),i.on("mouse:wheel",_l)},F0=i=>{i.off("mouse:wheel",_l),i.off("selection:created",Tl),i.off("selection:updated",Sl),i.off("selection:cleared",wl)},xl=()=>{var n,o;const i=et(),t=i.canvas,e=i.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,r=new Set(i.activeObjects.map(a=>a.id));if(s){const a=e.id,h=i.trackToItemsMap[a].sort((p,m)=>p.left-m.left),l=i.placeholderMovingObjects,u=((n=l[0])==null?void 0:n.top)||0,d=l.reduce((p,m)=>p+m.width,0),f=Math.min(...l.map(p=>p.left));let g=0;h.forEach(p=>{r.has(p.id)||p.top===u&&(Math.abs(f-g)<1&&(g+=d),p.left=g,g+=p.width)})}else if(e instanceof Zt&&i.orderNormalTrack){const a=e.items,c=t.getTrackItems().filter(w=>!r.has(w.id)&&a.includes(w.id)),h=c.sort((w,I)=>w.left-I.left),l=i.placeholderMovingObjects[0],u=i.placeholderMovingObjects[i.placeholderMovingObjects.length-1],d=l.left,f=u.left-l.left+u.width,g=h.find((w,I)=>{if(w.left>=d-1)return h[I]}),p=j(((o=g==null?void 0:g.display)==null?void 0:o.from)||0,t.tScale),m=c.map(w=>w.id),b={},T={};Object.values(t.trackItemsMap).forEach(w=>{m.includes(w.id)&&(b[w.id]=w)});const x=t.getObjects("Transition").filter(w=>w.top===c[0].top).map(w=>w.id);Object.values(t.transitionsMap).forEach(w=>{x.includes(w.id)&&(T[w.id]=w)});const k=io({trackItemIds:te(c.map(w=>w.id)),transitionsMap:te(T),trackItemsMap:te(b)});c.filter(w=>w.left>=d-1).forEach(w=>{const I=j(w.display.from,t.tScale),D=Object.values(t.transitionsMap).find(z=>z.kind!=="none"&&z.toId===w.id);let F=0;k.forEach(z=>{if(z.map(W=>W==null?void 0:W.id).includes(w.id)){for(const W of z)if(W.type==="transition")if((D==null?void 0:D.id)===W.id){F=F+j(W.duration,t.tScale)/2;break}else F=F+j(W.duration,t.tScale);else if(W.id===w.id)break}}),p<=d+f&&(w.left=I+f-F+d-p)})}t.alignTransitionsToTrack(!1)};function R0(i){i.on("object:moving",xl)}function B0(i){i.off("object:moving",xl)}let Ht,uo=!1;function W0(i,t){const e=i.canvas;if(uf.includes(i.type)){Ht||(Ht=i);const s=i.top,r=i.height,n=i.left,o=i.width,a=t.x,c=t.y,h=Math.abs(c-(s+r/2))<=mf;Math.abs(a-n)<=Rc&&h||Math.abs(a-n-o)<=Rc&&h?(e.hoverCornerItem=!0,i.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,i.hoverCursor="move"),e.requestRenderAll()}}function Cl(i){const t=this,e=t.findTarget(i.e),s=t.getScenePoint(i.e);e&&(e.isSelected&&Ht&&(e.hoverCursor="default"),W0(e,s))}function Ol(){Ht&&(Ht.lockMovementX=!1,Ht.lockMovementY=!1,Ht=void 0)}function kl(i){Ht&&(uo||Ht._renderControls(i.ctx))}function Ml(){Ht&&(Ht=void 0,this.requestRenderAll())}function Dl(){uo=!0}function Il(){uo=!1}function X0(i){i.on("mouse:out",Ml.bind(i)),i.on("mouse:up",Ol.bind(i)),i.on("mouse:move",Cl.bind(i)),i.on("after:render",kl.bind(i)),i.on("object:resizing",Dl.bind(i)),i.on("object:modified",Il.bind(i))}function z0(i){i.off("mouse:out",Ml.bind(i)),i.off("mouse:up",Ol.bind(i)),i.off("mouse:move",Cl.bind(i)),i.off("after:render",kl.bind(i)),i.off("object:resizing",Dl.bind(i)),i.off("object:modified",Il.bind(i))}const H0=i=>{lt({canvas:i}),Vy(i),Wy(i),Ny(i),Jy(i),t0(i),m0(i),S0(i),P0(i),L0(i),R0(i),X0(i)},Y0=i=>{lt({canvas:null}),Gy(i),Xy(i),Uy(i),Qy(i),e0(i),v0(i),w0(i),A0(i),F0(i),B0(i),z0(i)};class V0{removeTransitions(){const t=this.getObjects("Transition");this.remove(...t)}renderTransitions(){this.removeTransitions(),this.transitionIds.forEach(t=>{const e=this.transitionsMap[t],s=e.fromId,r=e.toId,n=this.getObjects(),o=n.find(d=>d.id===s),a=n.find(d=>d.id===r);if(!o||!a)return;const c=j(e.duration,this.tScale),h=o.left+o.width-c/2,l=o.height,u=new Bt({id:e.id,left:h,top:o.top,height:l,width:c,tScale:this.tScale,duration:e.duration,fromId:o.id,toId:a.id,kind:e.kind});e.kind==="none"&&(u.visible=!1),u&&this.add(u)})}updateTrackTransitionsItemCoords(){this.pauseEventListeners(),this.getObjects("Transition").forEach(e=>{e.tScale=this.tScale,e.updateCoords(),e.setCoords()}),this.resumeEventListeners()}alignTransitionsToTrack(t=!0){const e=t?[]:this.getActiveObjects().map(s=>s.id);this.transitionIds.forEach(s=>{const r=this.getObjects("Transition").find(n=>n.id===s);if(r instanceof Bt){const n=this.getObjects().find(c=>c.id===r.fromId&&!e.includes(c.id));if(!n)return;const o=j(r.duration,this.tScale),a=n.left+n.width-o/2;r.set({left:a,top:n.top}),r.setCoords()}})}updateTransitions(t=!0){t&&this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects("Video","Image");this.removeTransitions();const r={},n=[];e.forEach(a=>{const c=s.filter(h=>a.items.includes(h.id)).sort((h,l)=>h.left-l.left);for(let h=0;h<c.length-1;h++){const l=c[h],u=c[h+1];if(Math.abs(l.left+l.width-u.left)<=1){const d=`${l.id}-${u.id}`;if(this.transitionIds.includes(d)){const g=this.transitionsMap[d];r[d]=g}else{const g={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};r[d]=g}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=r,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),this.transitionGroups=Os({trackItemIds:this.trackItemIds,transitionsMap:this.transitionsMap,trackItemsMap:this.trackItemsMap}),t&&this.resumeEventListeners()}}function jl(i){const{secondaryTracks:t,primaryTracks:e,primaryPositions:s}=i,{positions:r,trackIndex:n}=s,o=n===-1?this.tracks.length:n,[a]=Object.keys(e),c=this.tracks.find(p=>p.id===a),h=e[a],l={id:bs(),items:h.objects.map(p=>p.id),type:c.type,accepts:c.accepts},u=Kn(Object.keys(t).map(p=>t[p].objects.map(m=>m.id)));let d=lr(this.tracks,[...Object.keys(r),...u]);const f=[];Object.keys(t).forEach(p=>{const{objects:m,index:b}=t[p],T=this.tracks.find(O=>O.id===p),x=m.map(O=>O.id).filter(O=>!this.transitionIds.includes(O)),k={id:cr(),items:x,type:T.type,accepts:T.accepts,tempIndex:b};f.push(k)});const g=rl(l,f);g.length&&d.splice(o,0,...g),this.tracks=d,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.refreshTrackItemsForTransitions(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function El(i){const{isSecondaryOverlapped:t,secondaryTracks:e,primaryTracks:s,primaryPositions:r}=i,{trackId:n,positions:o}=r,a=this.tracks.find(b=>b.id===n),l=et().primaryMovingObjects.sort((b,T)=>b.left-T.left);l.forEach((b,T)=>{l[T-1]&&b.left-l[T-1].left});const u=this.tracks.findIndex(b=>b.id===n),d=Kn(Object.keys(e).map(b=>e[b].objects.map(T=>T.id)));let f=lr(this.tracks,[...Object.keys(o),...d]);Object.keys(s).forEach(b=>{this.pauseEventListeners();const{objects:T}=s[b];T.forEach(O=>{if(O.isMain&&(a!=null&&a.magnetic))return;const w=o[O.id];O.left=w==null?void 0:w.left}),this.resumeEventListeners();const x=r.trackId,k=f.find(O=>O.id===x);k==null||k.items.push(...Object.keys(o)),this.tracks=f});const g=this.tracks[u],p=[];Object.keys(e).forEach(b=>{const{objects:T,index:x}=e[b],k=T.filter(I=>I.type!=="transition").map(I=>I.id),[O]=k,w=this.trackItemsMap[O];if(t&&w){const I={id:cr(),items:k,type:w.type,accepts:this.acceptsMap[w.type],tempIndex:x};p.push(I)}else{const I=f[u+x];I==null||I.items.push(...k),this.tracks=f}});const m=rl(g,p);m.length&&f.splice(u,1,...m),this.tracks=f,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.refreshTrackItemsForTransitions(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function Pl({trackItemIds:i,isOverlapped:t}){const[e]=i;if(!e)return;if(!this.getObjects("Transition").find(r=>r.id===e)){const r=this.tracks.find(n=>n.items.includes(e));if(t){const n=lr(this.tracks,i),o={id:cr(),items:[e],type:r.type,accepts:r.accepts},a=this.tracks.findIndex(c=>c.id===r.id);n.splice(a,0,o),this.tracks=n}}this.renderTracks(),this.alignItemsToTrack(),this.refreshTrackItemsForTransitions(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let fo={x:0,y:0};function G0(i){fo=i.scenePoint}function Al(i){const t=i.scenePoint;if((fo.x===t.x||fo.y===t.y)&&!i.target){const s=this.getElement().getBoundingClientRect(),r=this.viewportTransform,n=i.e.clientX-s.left-r[4],o=V(n,this.scale.zoom);J.dispatch(gl,{payload:{time:o}})}}const N0=i=>{i.on("track:create",jl.bind(i)),i.on("track-items:resized",Pl.bind(i)),i.on("track-items:moved",El.bind(i)),i.on("mouse:up",Al.bind(i)),i.on("mouse:down",G0.bind(i))};function U0(i){i.off("track:create",jl.bind(i)),i.off("track-items:resized",Pl.bind(i)),i.off("track-items:moved",El.bind(i)),i.off("mouse:up",Al.bind(i))}function $0(i,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{s!=="constructor"&&Object.defineProperty(i.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),i}const Ll={video:["*"],image:["*"],audio:["*"],text:["*"],caption:["*"],template:["*"],composition:["*"],illustration:["*"],shape:["*"]},Fl={video:42,image:42,audio:42,text:42,caption:42,template:42,illustration:42,composition:42,shape:42},q0=["video","image","audio","text","caption","template","illustration","composition"],K0=(i={})=>{const t=Object.assign({},Ll,i),e={};return Object.keys(t).forEach(s=>{const r=t[s];e[s]=r.includes("*")?q0:r}),e},Z0=(i={})=>{const t=Object.assign({},Fl,i),e={};return i?(Object.keys(t).forEach(s=>{const r=t[s];e[s]=r}),e):t};let Rl,Bl,Wl,Xl,zl,Hl,Yl,Vl;const J0=i=>{Rl=i.state.subscribeToActiveIds(({activeIds:t})=>{const e=i.activeIds;if(t.length===1&&e.length===1){const s=t[0],r=e[0],o=i.state.getState().structure;let a="";if(o.forEach(c=>{c.id===r&&c.items.includes(s)&&(a=c.id)}),a!=="")return;i.selectTrackItemByIds([s])}else i.selectTrackItemByIds(t)}),Vl=i.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(i.tracks=t,i.renderTracks(),i.refreshTrackLayout())}),Yl=i.state.subscribeToUpdateAnimations(({trackItemsMap:t,changedAnimationIds:e})=>{if(e!=null&&e.length){const s=i.getTrackItems();i.trackItemsMap=t,s.forEach(r=>{if(e.includes(r.id)){const n=t[r.id].animations;n&&r.set({animations:n})}})}}),Hl=i.state.subscribeToUpdateTrackItemTiming(({trackItemsMap:t,changedTrimIds:e,changedDisplayIds:s})=>{if(e&&i.getTrackItems().forEach(n=>{if(e.includes(n.id)){const o=t[n.id].trim;o&&n.set({trim:{from:o.from,to:o.to}})}}),s){const r=i.getTrackItems();i.pauseEventListeners(),r.forEach(n=>{if(s.includes(n.id)){const o=t[n.id].display;o&&n.set({display:o})}}),i.resumeEventListeners()}i.requestRenderAll()}),zl=i.state.subscribeToScale(t=>{i.setScale(t.scale)}),Xl=i.state.subscribeToUpdateItemDetails(t=>{const e=i.getTrackItems();if(e.length===0)return;const s=i.state.getState(),r=t.trackItemDetailsMap,n=s.trackItemsMap;e.forEach(o=>{const a=r[o.id];if(a)if(o instanceof _t||o instanceof _s||o instanceof pt||o instanceof Ue||o instanceof Ne){if(a.type==="video"||a.type==="image"||a.type==="audio"||a.type==="shape"||a.type==="illustration"){const c=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),o instanceof Ue&&a.type==="shape"&&o.backgroundColorDiv!==a.details.backgroundColor&&(o.backgroundColorDiv=a.details.backgroundColor,o.setSrc(a.details.src)),o instanceof Ne&&a.type==="illustration"&&(o.svgString=a.details.svgString,o.setSrc(a.details.src)),a.type==="video"||a.type==="audio"){const l=c.display.to-c.display.from,u=j(l,i.scale.zoom,c.playbackRate);o.set({duration:c.duration,display:c.display,trim:c.trim,width:u}),o.setCoords()}}}else(o instanceof Ts||o instanceof ws)&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),i.requestRenderAll()}),Wl=i.state.subscribeToHistory(t=>{i.tracks=t.tracks,i.trackItemsMap=t.trackItemsMap,i.trackItemIds=t.trackItemIds,i.trackItemDetailsMap=t.trackItemDetailsMap,i.transitionIds=t.transitionIds,i.transitionsMap=t.transitionsMap,i.transitionGroups=Os({trackItemIds:i.trackItemIds,transitionsMap:i.transitionsMap,trackItemsMap:i.trackItemsMap}),i.renderTracks(),i.refreshTrackLayout(),i.updateTrackItemCoords(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.adjustMagneticTrack(),i.updateTransitions(),i.calcBounding(),i.duration=Ln(i.trackItemsMap)}),Bl=i.state.subscribeToAddOrRemoveItems(()=>{const t=i.getTrackItems().map(n=>n.id),e=i.state.getState(),s=e.trackItemIds,r=[];t.forEach(n=>{s.includes(n)||r.push(n)}),i.deleteTrackItemById(r),i.tracks=e.tracks,i.trackItemsMap=e.trackItemsMap,i.trackItemDetailsMap=e.trackItemDetailsMap,i.transitionIds=e.transitionIds,i.transitionsMap=e.transitionsMap,s.forEach(n=>{if(!t.includes(n)){const a={...e.trackItemsMap[n],details:{...e.trackItemDetailsMap[n].details}};i.addTrackItem(a)}}),i.trackItemIds=e.trackItemIds,i.activeIds=e.activeIds,i.transitionGroups=Os({trackItemIds:i.trackItemIds,transitionsMap:i.transitionsMap,trackItemsMap:i.trackItemsMap}),i.renderTracks(),i.alignItemsToTrack(),i.updateTrackItemCoords(),i.calcBounding(),i.updateTransitions(),i.refreshTrackLayout(),i.selectTrackItemByIds(e.activeIds)})},Q0=i=>{Rl.unsubscribe(),Bl.unsubscribe(),Wl.unsubscribe(),Xl.unsubscribe(),zl.unsubscribe(),Hl.unsubscribe(),Yl.unsubscribe(),Vl.unsubscribe()},Gl=(i,t)=>{let e=!1;const s=[];return t.forEach(r=>{r.containsPoint(i)&&(s.push(r),e=!0)}),{isOverObject:e,overObjects:s}};function tb(i){return JSON.parse(JSON.stringify(i))}class Nl extends Cn{constructor(e,s){var r;super(e,s);S(this,"acceptsMap");S(this,"sizesMap",{});S(this,"tracks",[]);S(this,"hoverCornerItem",!1);S(this,"trackItemsMap",{});S(this,"trackItemIds",[]);S(this,"transitionIds",[]);S(this,"transitionsMap",{});S(this,"trackItemDetailsMap",{});S(this,"scale");S(this,"duration");S(this,"bounding");S(this,"onScroll");S(this,"onResizeCanvas");S(this,"tScale");S(this,"state");S(this,"activeIds",[]);S(this,"spacing");S(this,"guideLineColor");S(this,"transitionGroups",[]);this.bounding=s.bounding||{width:s.width||0,height:s.height||0},this.tScale=((r=s.scale)==null?void 0:r.zoom)||1,this.state=s.state,this.onScroll=s.onScroll,this.onResizeCanvas=s.onResizeCanvas,this.acceptsMap=K0(s.acceptsMap),this.sizesMap=Z0(s.sizesMap),this.spacing=qy(s.spacing),this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||bt,this.initEventListeners()}static registerItems(e){Object.keys(e).forEach(s=>{C.setClass(e[s],s)})}initializeCanvasDefaults(){const e=this.viewportTransform;e[4]=this.spacing.left,Object.assign(at.ownDefaults,{borderColor:"transparent",cornerColor:"white",cornerStrokeColor:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,borderScaleFactor:1,cornerSize:8,cornerStyle:"rect",centeredScaling:!1,centeredRotation:!0,transparentCorners:!1})}__onMouseDown(e){const s=this.getScenePoint(e),r=this._activeObject,n=this.getActiveObjects();if(n.length===0){super.__onMouseDown(e);return}const{isOverObject:o}=Gl(s,n);if(r&&(r==null?void 0:r.findControl(this.getViewportPoint(e),Zy(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Gl(s,[...c,...a]);h?o?super.__onMouseDown(e):(this.setActiveIds([l[0].id]),super.__onMouseDown(e)):(this.discardActiveObject(),this.requestRenderAll(),this.setActiveIds([]),this._groupSelector={x:s.x,y:s.y,deltaY:0,deltaX:0},super.__onMouseDown(e))}_setupCurrentTransform(e,s,r){var n;if(this.hoverCornerItem){const o=this.getScenePoint(e),{key:a="",control:c}=s.getActiveControl()||{},h=c&&((n=c.getActionHandler(e,s,c))==null?void 0:n.bind(c)),l=this._getOriginFromCorner(s,a),u={target:s,action:"resizing",actionHandler:h,actionPerformed:!1,corner:a,scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,offsetX:o.x-s.left,offsetY:o.y-s.top,originX:l.x,originY:l.y,ex:o.x,ey:o.y,lastX:o.x,lastY:o.y,theta:s.angle*Math.PI/180,width:s.width,height:s.height,shiftKey:e.shiftKey,altKey:!1,original:{scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,angle:s.angle,left:s.left,flipX:s.flipX,flipY:s.flipY,top:s.top,originX:l.x,originY:l.y}};this._currentTransform=u,this.fire("before:transform",{e,transform:u})}else super._setupCurrentTransform(e,s,r)}initEventListeners(){N0(this),H0(this),J0(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:tb(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),this.requestRenderAll(),this.duration=this.getDurationBasedOnTrackItemsPosition(),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=this.getDurationBasedOnTrackItemsPosition();return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}getDurationBasedOnTrackItemsPosition(){const e=this.getTrackItems().map(n=>n.getBoundingRect()),s=e.reduce((n,o)=>n.left+n.width<o.left+o.width?o:n,e[0]),r=s.left+s.width;return V(r,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=Ln(this.trackItemsMap);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,trackItemDetailsMap:this.trackItemDetailsMap,scale:this.scale,duration:e}}purge(){Y0(this),U0(this),Q0(),this.dispose()}scrollTo({scrollLeft:e,scrollTop:s}){var o;const r=[...this.viewportTransform];let n=!1;typeof e=="number"&&(r[4]=-e+this.spacing.left,n=!0),typeof s=="number"&&(r[5]=-s,n=!0),n&&(this.viewportTransform=r,(o=this.getActiveObject())==null||o.setCoords(),this.requestRenderAll())}setBounding(e){this.bounding=e}calcBounding(){const e=this.getObjects("Track").filter(c=>c.static),s=[...this.getTrackItems(),...e].reduce((c,h)=>{const{top:l,height:u}=h.getBoundingRect();return{top:Math.min(c.top,l),height:Math.max(c.height,l+u)}},{top:1/0,height:0}),r=[...this.getTrackItems()].reduce((c,h)=>{const{left:l,width:u}=h.getBoundingRect();return{left:Math.min(c.left,l),width:Math.max(c.width,l+u)}},{left:1/0,width:this.width}),n=this.bounding.width,o=r.width,a=o-n;if(a<0){const c=this.getTrackItems(),h=this.getElement().clientWidth,l=c.reduce((u,d)=>d.left+d.width>u.left+u.width?d:u,c[0]);Math.abs(a)>h?this.setViewportPos(-(o-h)-this.spacing.right,this.viewportTransform[5]):l.left+l.width<=h?this.setViewportPos(16,this.viewportTransform[5]):this.setViewportPos(this.viewportTransform[4]-a,this.viewportTransform[5])}this.bounding={...s,...r},J.dispatch(fl,{payload:{bounding:{...s,...r}}})}setViewportPos(e,s){var o;const r=this.getViewportPos(e,s),n=this.viewportTransform;n[4]=r.x,n[5]=r.y,this.requestRenderAll(),this.setActiveTrackItemCoords(),(o=this.onScroll)==null||o.call(this,{scrollTop:r.y,scrollLeft:r.x-this.spacing.left})}getViewportPos(e,s){const r=this,n=this.bounding.width-100>=r.width?this.spacing.right:0,o=r.width-this.bounding.width-n,a=this.spacing.left,c=Math.max(o,Math.min(e,a));if(this.bounding.height<this.height)return{x:c,y:0};const h=r.height-this.bounding.height-40,u=Math.max(h,Math.min(s,0));return{x:c,y:u}}setScale(e){this.pauseEventListeners(),this.tScale=e.zoom,this.scale=e,this.getTrackItems().forEach(r=>{const n=this.transitionGroups.find(o=>o.find(a=>a.id===r.id))||[];if((n==null?void 0:n.length)===1){const o=j(r.display.from,this.tScale),a=j(r.display.to-r.display.from,this.tScale,r.playbackRate);r.set({left:o,width:a,tScale:e.zoom})}else{const o=n.findIndex(u=>u.id===r.id),a=n[o-1],c=n[o+1],h=n.filter(u=>u.type==="transition"),l=this.trackItemsMap[r.id];if(a&&!c){const u=h.indexOf(a),f=h.slice(0,u).reduce((m,b)=>m+(b.duration||0),0),g=j(l.display.from-(a.duration||0)/2-f,this.tScale),p=j(l.display.to-l.display.from-(a.duration||0)/2,this.tScale,l.playbackRate);r.set({left:g,width:p,tScale:e.zoom})}else if(c&&!a){const u=j(l.display.from,this.tScale),d=j(l.display.to-l.display.from-(c.duration||0)/2,this.tScale,l.playbackRate);r.set({left:u,width:d,tScale:e.zoom})}else if(a&&c){const u=j(l.display.from-(a.duration||0)/2,this.tScale),d=j(l.display.to-l.display.from-(c.duration||0)/2-(a.duration||0)/2,this.tScale,r.playbackRate);r.set({left:u,width:d,tScale:e.zoom})}}r.onScale&&r.onScale(),r.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1),this.resumeEventListeners()}}$0(Nl,[Lf,By,Ry,V0]);const eb={audio:Fn,media:Wn,common:bi,transition:Rn};M.ACCEPTS_MAP=Ll,M.Audio=pt,M.BOTTOM=gf,M.CENTER=Ce,M.Caption=ws,M.Composition=hr,M.Control=$,M.DRAG_END=co,M.DRAG_PREFIX=ao,M.DRAG_START=dl,M.FabricObject=at,M.Helper=Ge,M.Illustration=Ne,M.Image=_s,M.LEFT=ms,M.NONE=pf,M.Pattern=$r,M.Placeholder=Ss,M.PreviewTrackItem=le,M.RIGHT=vs,M.Rect=X,M.SIZES_MAP=Fl,M.Shape=Ue,M.TIMELINE_BOUNDING_CHANGED=fl,M.TIMELINE_PREFIX=ho,M.TIMELINE_SEEK=gl,M.TOP=ff,M.Template=Wt,M.Text=Ts,M.Track=Zt,M.Transition=Bt,M.Video=_t,M.calculateTimelineWidth=yf,M.changeWidth=bi,M.classRegistry=C,M.controlsUtils=He,M.createAudioControls=zc,M.createMediaControls=Hc,M.createResizeControls=Ve,M.createTemplateControls=Xc,M.createTransitionControls=Bn,M.default=Nl,M.drawVerticalLine=Rt,M.generateId=bs,M.getDuration=Ln,M.isTransformCentered=ys,M.resize=eb,M.resolveOrigin=A,M.timeMsToUnits=j,M.unitsToTimeMs=V,M.util=hc,M.wrapWithFixedAnchor=ar,Object.defineProperties(M,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cliquify.me/timeline",
3
- "version": "3.1.18",
3
+ "version": "3.1.20",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist"
@@ -34,7 +34,7 @@
34
34
  "peerDependencies": {
35
35
  "@types/lodash-es": "^4.17.12",
36
36
  "@designcombo/events": "^1.0.2",
37
- "@cliquify.me/types": "3.1.18"
37
+ "@cliquify.me/types": "3.1.20"
38
38
  },
39
39
  "scripts": {
40
40
  "dev": "vite",