@cliquify.me/timeline 4.0.10 → 4.0.12

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.
@@ -1,3 +1,13 @@
1
- import { ItemType } from '@cliquify.me/types';
2
-
3
- export declare const ITEM_SIZES: Record<ItemType | "main", number>;
1
+ export declare const ITEM_SIZES: {
2
+ text: number;
3
+ image: number;
4
+ video: number;
5
+ audio: number;
6
+ helper: number;
7
+ main: number;
8
+ caption: number;
9
+ template: number;
10
+ composition: number;
11
+ illustration: number;
12
+ shape: number;
13
+ };
package/dist/index.es.js CHANGED
@@ -9445,7 +9445,7 @@ function d0(i, t) {
9445
9445
  const o = ua(i.width - n.x);
9446
9446
  e.set("left", e.left + o), i.setViewportPos(r[4] - o, r[5]);
9447
9447
  }
9448
- if (n.x < Ps && e.left > 0 && r[4] < Ps) {
9448
+ if (n.x < Ps && e.left > 0 && r[4] < Ps && r[4] < i.spacing.left) {
9449
9449
  const o = ua(n.x);
9450
9450
  e.set("left", e.left - o), i.setViewportPos(r[4] + o, r[5]);
9451
9451
  }
@@ -9462,7 +9462,7 @@ function xh(i) {
9462
9462
  d0(this, i);
9463
9463
  }
9464
9464
  function f0(i) {
9465
- i.on("mouse:up", Th), i.on("object:moving", xh.bind(i));
9465
+ console.log("addScrollEvents"), i.on("mouse:up", Th), i.on("object:moving", xh.bind(i));
9466
9466
  }
9467
9467
  function p0(i) {
9468
9468
  i.off("mouse:up", Th), i.off("object:moving", xh.bind(i));
@@ -9945,8 +9945,10 @@ const j0 = (i, t, e) => !(e < 0 || Rh(i, {
9945
9945
  ...t.getBoundingRect(),
9946
9946
  left: e
9947
9947
  })), Bh = (i) => {
9948
- const e = K().draggingOverTrack;
9949
- return i instanceof ye ? e && e.accepts.includes(i.itemType) : e && e.accepts.includes(i.type);
9948
+ const e = K().draggingOverTrack, s = e == null ? void 0 : e.accepts.map(
9949
+ (n) => n.toLowerCase()
9950
+ ), r = i.type.toLowerCase();
9951
+ return i instanceof ye, e && (s == null ? void 0 : s.includes(r));
9950
9952
  };
9951
9953
  function I0(i) {
9952
9954
  K().isPointerOverHelperTrack ? i.opacity = 0 : i.opacity = 1;
@@ -10486,7 +10488,7 @@ function $h(i) {
10486
10488
  scaleX: J.scaleX,
10487
10489
  scaleY: J.scaleY
10488
10490
  };
10489
- s.fire("object:moving", {
10491
+ t.activeObjects[0].type !== "transitionguide" && s.fire("object:moving", {
10490
10492
  target: J,
10491
10493
  e: i.e,
10492
10494
  pointer: r,
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(ri,"type","Vibrance"),v(ri,"defaults",{vibrance:0}),v(ri,"uniformLocations",["uVibrance"]),C.setClass(ri);function Pt(i,t,e,s,r){const a=r.canvas;if(!a)return;const c=a.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(Ua.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 Yd={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},bs=class bs extends J{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,bs.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(),...bs.ownDefaults}}updateCoords(e){this.width=e}};S(bs,"ownDefaults",Yd),S(bs,"type","Track");let Gt=bs;C.setClass(Gt,"Track");const Ys=1,Be="rgba(255, 255, 255,1.0)",Vd=["Track","Transition","Helper","PreviewTrackItem"],Gd={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},Nd=(i,t)=>{const e=Gd[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))}},_s=class _s extends Yt{constructor(e){const s=Nd(e.kind,e.height),r=new J({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new J({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new J({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,_s.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||Be}static getDefaults(){return{...super.getDefaults(),..._s.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(_s,"type","Helper"),S(_s,"ownDefaults",{selectable:!1,evented:!1});let We=_s;C.setClass(We,"Helper");const Ts=class Ts extends J{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,Ts.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...Ts.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=Ys,e.setLineDash(this.strokeDashArray),e.strokeStyle=Be,e.stroke(),e.restore()}};S(Ts,"type","Placeholder"),S(Ts,"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 ls=Ts;C.setClass(ls,"Placeholder");const Ud={left:-.5,top:-.5,center:0,bottom:.5,right:.5},P=i=>typeof i=="string"?Ud[i]:i-.5,_e="center",us="left",$d="top",qd="bottom",ds="right",Kd="none";function gs(i){return P(i.originX)===P(_e)&&P(i.originY)===P(_e)}function Vs(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 _c=3,Zd=4,Tc=188,Jd=1e3/60;function nt(i,t=1,e=1){const s=Tc*t;return i*(60/1e3)*s/e}function W(i,t=1,e=1){const s=Tc*t;return i/s*Jd*e}function Qd(i,t=1){return nt(i,t)}const Gs=i=>Object.keys(i).reduce((t,e)=>{const{display:s}=i[e];return Math.max(t,s.to)},0),{wrapWithFireEvent:tg,getLocalPoint:eg}=Fe,Tn=tg("resizing",Vs((i,t,e,s)=>{const r=eg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(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,g=W(d,n.tScale,n.playbackRate),f=u+g;if(f>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=f}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=nt(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const x=W(b-T,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const g=h-c,f=n.trim.from,p=W(g,n.tScale,n.playbackRate),m=f-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:sg,getLocalPoint:rg,wrapWithFixedAnchor:ig}=Fe,ii=sg("resizing",ig((i,t,e,s)=>{const r=rg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(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 g=c-h;if(n.left+g<0)return n.set("width",n.width+n.left),!0}const u=W(1,n.tScale);return W(h,n.tScale,n.playbackRate)<u?!1:(n.set("width",Math.max(h,0)),c!==n.width)}return!1})),{wrapWithFireEvent:ng,getLocalPoint:og}=Fe,xn=ng("resizing",Vs((i,t,e,s)=>{const r=og(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=W(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:ag,getLocalPoint:cg}=Fe,xc=ag("resizing",Vs((i,t,e,s)=>{const r=cg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(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,g=W(d,n.tScale,n.playbackRate),f=u+g;if(f>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=f}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0)return!1;const g=h-c,f=n.trim.from,p=W(g,n.tScale,n.playbackRate),m=f-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Nt}=Fe,Sc=()=>({mr:new V({x:.5,y:0,actionHandler:ii,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"right"}),ml:new V({x:-.5,y:0,actionHandler:ii,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"left"})}),hg=()=>({mr:new V({x:.5,y:0,render:Pt,actionHandler:xc,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"right"}),ml:new V({x:-.5,y:0,render:Pt,actionHandler:xc,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"left"})}),lg=()=>({mr:new V({x:.5,y:0,render:Pt,actionHandler:Tn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"right"}),ml:new V({x:-.5,y:0,render:Pt,actionHandler:Tn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"left"})}),wc=()=>({mr:new V({x:.5,y:0,render:Pt,actionHandler:wn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"right"}),ml:new V({x:-.5,y:0,render:Pt,actionHandler:wn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"left"})}),Sn=()=>({mr:new V({x:.5,y:0,actionHandler:xn,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"right"}),ml:new V({x:-.5,y:0,actionHandler:xn,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"left"})}),ug="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Ns=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=ug[e[i]&63];return t};function fs(i=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=Ns(i-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,i-1),e+s}const{wrapWithFireEvent:dg,getLocalPoint:gg}=Fe,wn=dg("resizing",Vs((i,t,e,s)=>{const r=gg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);const l=W(1,n.tScale);if(t.corner==="mr"){const d=n.trim.to,g=h-c,f=W(g,n.tScale,n.playbackRate),p=d+f;if(p>n.duration)return!1;let m=W(h,n.tScale,n.playbackRate);if(m<l||(m=W(h,n.tScale,n.playbackRate),m<l))return!1;n.set("width",Math.max(h,0)),n.trim.to=p}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0){const x=nt(n.duration,n.tScale,n.playbackRate),w=n.width+n.left;if(w<=x){n.set("width",w);const O=W(x-w,n.tScale,n.playbackRate);return n.trim.from=O,!0}return!1}if(W(h,n.tScale,n.playbackRate)<l)return!1;const p=h-c,m=n.trim.from,b=W(p,n.tScale,n.playbackRate),T=m-b;if(T<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=T,n.onResize&&n.onResize()}return c!==n.width}return!1})),xs=class xs extends J{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"kind","none");S(this,"isSelected",!1);S(this,"availableDrop",!0);Object.assign(this,xs.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:Sn()}}static getDefaults(){return{...super.getDefaults(),...xs.ownDefaults}}updateCoords(){}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.availableDrop?this.isSelected?Be:"rgba(255, 255, 255,0.15)":"red";e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ys,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(xs,"type","Transition"),S(xs,"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 At=xs;C.setClass(At,"Transition");const er=class er extends J{constructor(e){super(e);S(this,"id");S(this,"resourceId","");S(this,"tScale");S(this,"isSelected",!1);S(this,"trim");S(this,"duration");Object.assign(this,er.ownDefaults),this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8}static createControls(){return{controls:wc()}}_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=Ys,e.strokeStyle=Be,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}};S(er,"type","Trimmable"),S(er,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Ut=er;C.setClass(Ut,"Trimmable");const Ss=class Ss extends J{constructor(e){super(e);S(this,"isSelected",!1);Object.assign(this,Ss.ownDefaults),this.tScale=e.tScale,this.display=e.display}static createControls(){return{controls:Sc()}}static getDefaults(){return{...super.getDefaults(),...Ss.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=Ys,e.strokeStyle=Be,e.stroke(),e.restore())}};S(Ss,"type","Resizable"),S(Ss,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let ni=Ss;C.setClass(ni,"Resizable");function fg(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 ws=class ws extends J{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,ws.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=fg(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...ws.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,g=r+n*2;this.drawRoundedRect(e,d,a,g,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(ws,"type","PreviewTrackItem"),S(ws,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let ne=ws;C.setClass(ne,"PreviewTrackItem");class pg{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 St(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 Us(i,t){return i.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const mg=(i,t)=>{var h,l,u,d,g;const e=i.display,s=nt(e.from,t.tScale),r=nt(e.to-e.from,t.tScale,i.playbackRate),n=t.sizesMap[i.type]||42,o=i.type.charAt(0).toUpperCase()+i.type.slice(1),a=C.getClass(o),c={width:r,height:n,id:i.id,tScale:t.tScale,top:10,left:s,display:e,duration:i.duration||e.to-e.from,metadata:i.metadata,playbackRate:i.playbackRate||1,src:(h=i.details)==null?void 0:h.src,trim:i.trim||{from:0,to:i.duration},text:(l=i.details)==null?void 0:l.text,srcs:((u=i.details)==null?void 0:u.srcs)||[],backgroundColorDiv:(d=i.details)==null?void 0:d.backgroundColor,svgString:(g=i.details)==null?void 0:g.svgString};return new a(c)};var Cc=typeof global=="object"&&global&&global.Object===Object&&global,vg=typeof self=="object"&&self&&self.Object===Object&&self,Lt=Cc||vg||Function("return this")(),Ct=Lt.Symbol,Oc=Object.prototype,yg=Oc.hasOwnProperty,bg=Oc.toString,$s=Ct?Ct.toStringTag:void 0;function _g(i){var t=yg.call(i,$s),e=i[$s];try{i[$s]=void 0;var s=!0}catch{}var r=bg.call(i);return s&&(t?i[$s]=e:delete i[$s]),r}var Tg=Object.prototype,xg=Tg.toString;function Sg(i){return xg.call(i)}var wg="[object Null]",Cg="[object Undefined]",kc=Ct?Ct.toStringTag:void 0;function ps(i){return i==null?i===void 0?Cg:wg:kc&&kc in Object(i)?_g(i):Sg(i)}function Te(i){return i!=null&&typeof i=="object"}var Og="[object Symbol]";function oi(i){return typeof i=="symbol"||Te(i)&&ps(i)==Og}function kg(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 $t=Array.isArray,Mc=Ct?Ct.prototype:void 0,Dc=Mc?Mc.toString:void 0;function jc(i){if(typeof i=="string")return i;if($t(i))return kg(i,jc)+"";if(oi(i))return Dc?Dc.call(i):"";var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}var Mg=/\s/;function Dg(i){for(var t=i.length;t--&&Mg.test(i.charAt(t)););return t}var jg=/^\s+/;function Ig(i){return i&&i.slice(0,Dg(i)+1).replace(jg,"")}function qt(i){var t=typeof i;return i!=null&&(t=="object"||t=="function")}var Ic=NaN,Eg=/^[-+]0x[0-9a-f]+$/i,Pg=/^0b[01]+$/i,Ag=/^0o[0-7]+$/i,Lg=parseInt;function Ec(i){if(typeof i=="number")return i;if(oi(i))return Ic;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=Ig(i);var e=Pg.test(i);return e||Ag.test(i)?Lg(i.slice(2),e?2:8):Eg.test(i)?Ic:+i}function Fg(i){return i}var Rg="[object AsyncFunction]",Bg="[object Function]",Wg="[object GeneratorFunction]",Xg="[object Proxy]";function Pc(i){if(!qt(i))return!1;var t=ps(i);return t==Bg||t==Wg||t==Rg||t==Xg}var Cn=Lt["__core-js_shared__"],Ac=function(){var i=/[^.]+$/.exec(Cn&&Cn.keys&&Cn.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function zg(i){return!!Ac&&Ac in i}var Hg=Function.prototype,Yg=Hg.toString;function Xe(i){if(i!=null){try{return Yg.call(i)}catch{}try{return i+""}catch{}}return""}var Vg=/[\\^$.*+?()[\]{}|]/g,Gg=/^\[object .+?Constructor\]$/,Ng=Function.prototype,Ug=Object.prototype,$g=Ng.toString,qg=Ug.hasOwnProperty,Kg=RegExp("^"+$g.call(qg).replace(Vg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Zg(i){if(!qt(i)||zg(i))return!1;var t=Pc(i)?Kg:Gg;return t.test(Xe(i))}function Jg(i,t){return i==null?void 0:i[t]}function ze(i,t){var e=Jg(i,t);return Zg(e)?e:void 0}var On=ze(Lt,"WeakMap"),Lc=Object.create,Qg=function(){function i(){}return function(t){if(!qt(t))return{};if(Lc)return Lc(t);i.prototype=t;var e=new i;return i.prototype=void 0,e}}();function tf(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 ef=800,sf=16,rf=Date.now;function nf(i){var t=0,e=0;return function(){var s=rf(),r=sf-(s-e);if(e=s,r>0){if(++t>=ef)return arguments[0]}else t=0;return i.apply(void 0,arguments)}}function of(i){return function(){return i}}var ai=function(){try{var i=ze(Object,"defineProperty");return i({},"",{}),i}catch{}}(),af=ai?function(i,t){return ai(i,"toString",{configurable:!0,enumerable:!1,value:of(t),writable:!0})}:Fg,cf=nf(af);function hf(i,t){for(var e=-1,s=i==null?0:i.length;++e<s&&t(i[e],e,i)!==!1;);return i}var lf=9007199254740991,uf=/^(?:0|[1-9]\d*)$/;function kn(i,t){var e=typeof i;return t=t??lf,!!t&&(e=="number"||e!="symbol"&&uf.test(i))&&i>-1&&i%1==0&&i<t}function df(i,t,e){t=="__proto__"&&ai?ai(i,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):i[t]=e}function Mn(i,t){return i===t||i!==i&&t!==t}var gf=Object.prototype,ff=gf.hasOwnProperty;function Fc(i,t,e){var s=i[t];(!(ff.call(i,t)&&Mn(s,e))||e===void 0&&!(t in i))&&df(i,t,e)}var Rc=Math.max;function pf(i,t,e){return t=Rc(t===void 0?i.length-1:t,0),function(){for(var s=arguments,r=-1,n=Rc(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),tf(i,this,a)}}var mf=9007199254740991;function Dn(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=mf}function vf(i){return i!=null&&Dn(i.length)&&!Pc(i)}var yf=Object.prototype;function Bc(i){var t=i&&i.constructor,e=typeof t=="function"&&t.prototype||yf;return i===e}function bf(i,t){for(var e=-1,s=Array(i);++e<i;)s[e]=t(e);return s}var _f="[object Arguments]";function Wc(i){return Te(i)&&ps(i)==_f}var Xc=Object.prototype,Tf=Xc.hasOwnProperty,xf=Xc.propertyIsEnumerable,jn=Wc(function(){return arguments}())?Wc:function(i){return Te(i)&&Tf.call(i,"callee")&&!xf.call(i,"callee")};function Sf(){return!1}var zc=typeof M=="object"&&M&&!M.nodeType&&M,Hc=zc&&typeof module=="object"&&module&&!module.nodeType&&module,wf=Hc&&Hc.exports===zc,Yc=wf?Lt.Buffer:void 0,Cf=Yc?Yc.isBuffer:void 0,ci=Cf||Sf,Of="[object Arguments]",kf="[object Array]",Mf="[object Boolean]",Df="[object Date]",jf="[object Error]",If="[object Function]",Ef="[object Map]",Pf="[object Number]",Af="[object Object]",Lf="[object RegExp]",Ff="[object Set]",Rf="[object String]",Bf="[object WeakMap]",Wf="[object ArrayBuffer]",Xf="[object DataView]",zf="[object Float32Array]",Hf="[object Float64Array]",Yf="[object Int8Array]",Vf="[object Int16Array]",Gf="[object Int32Array]",Nf="[object Uint8Array]",Uf="[object Uint8ClampedArray]",$f="[object Uint16Array]",qf="[object Uint32Array]",H={};H[zf]=H[Hf]=H[Yf]=H[Vf]=H[Gf]=H[Nf]=H[Uf]=H[$f]=H[qf]=!0,H[Of]=H[kf]=H[Wf]=H[Mf]=H[Xf]=H[Df]=H[jf]=H[If]=H[Ef]=H[Pf]=H[Af]=H[Lf]=H[Ff]=H[Rf]=H[Bf]=!1;function Kf(i){return Te(i)&&Dn(i.length)&&!!H[ps(i)]}function In(i){return function(t){return i(t)}}var Vc=typeof M=="object"&&M&&!M.nodeType&&M,qs=Vc&&typeof module=="object"&&module&&!module.nodeType&&module,Zf=qs&&qs.exports===Vc,En=Zf&&Cc.process,ms=function(){try{var i=qs&&qs.require&&qs.require("util").types;return i||En&&En.binding&&En.binding("util")}catch{}}(),Gc=ms&&ms.isTypedArray,Nc=Gc?In(Gc):Kf,Jf=Object.prototype,Qf=Jf.hasOwnProperty;function tp(i,t){var e=$t(i),s=!e&&jn(i),r=!e&&!s&&ci(i),n=!e&&!s&&!r&&Nc(i),o=e||s||r||n,a=o?bf(i.length,String):[],c=a.length;for(var h in i)Qf.call(i,h)&&!(o&&(h=="length"||r&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||kn(h,c)))&&a.push(h);return a}function Uc(i,t){return function(e){return i(t(e))}}var ep=Uc(Object.keys,Object),sp=Object.prototype,rp=sp.hasOwnProperty;function ip(i){if(!Bc(i))return ep(i);var t=[];for(var e in Object(i))rp.call(i,e)&&e!="constructor"&&t.push(e);return t}function np(i){return vf(i)?tp(i):ip(i)}var op=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ap=/^\w*$/;function cp(i,t){if($t(i))return!1;var e=typeof i;return e=="number"||e=="symbol"||e=="boolean"||i==null||oi(i)?!0:ap.test(i)||!op.test(i)||t!=null&&i in Object(t)}var Ks=ze(Object,"create");function hp(){this.__data__=Ks?Ks(null):{},this.size=0}function lp(i){var t=this.has(i)&&delete this.__data__[i];return this.size-=t?1:0,t}var up="__lodash_hash_undefined__",dp=Object.prototype,gp=dp.hasOwnProperty;function fp(i){var t=this.__data__;if(Ks){var e=t[i];return e===up?void 0:e}return gp.call(t,i)?t[i]:void 0}var pp=Object.prototype,mp=pp.hasOwnProperty;function vp(i){var t=this.__data__;return Ks?t[i]!==void 0:mp.call(t,i)}var yp="__lodash_hash_undefined__";function bp(i,t){var e=this.__data__;return this.size+=this.has(i)?0:1,e[i]=Ks&&t===void 0?yp:t,this}function He(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])}}He.prototype.clear=hp,He.prototype.delete=lp,He.prototype.get=fp,He.prototype.has=vp,He.prototype.set=bp;function _p(){this.__data__=[],this.size=0}function hi(i,t){for(var e=i.length;e--;)if(Mn(i[e][0],t))return e;return-1}var Tp=Array.prototype,xp=Tp.splice;function Sp(i){var t=this.__data__,e=hi(t,i);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():xp.call(t,e,1),--this.size,!0}function wp(i){var t=this.__data__,e=hi(t,i);return e<0?void 0:t[e][1]}function Cp(i){return hi(this.__data__,i)>-1}function Op(i,t){var e=this.__data__,s=hi(e,i);return s<0?(++this.size,e.push([i,t])):e[s][1]=t,this}function oe(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])}}oe.prototype.clear=_p,oe.prototype.delete=Sp,oe.prototype.get=wp,oe.prototype.has=Cp,oe.prototype.set=Op;var Zs=ze(Lt,"Map");function kp(){this.size=0,this.__data__={hash:new He,map:new(Zs||oe),string:new He}}function Mp(i){var t=typeof i;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?i!=="__proto__":i===null}function li(i,t){var e=i.__data__;return Mp(t)?e[typeof t=="string"?"string":"hash"]:e.map}function Dp(i){var t=li(this,i).delete(i);return this.size-=t?1:0,t}function jp(i){return li(this,i).get(i)}function Ip(i){return li(this,i).has(i)}function Ep(i,t){var e=li(this,i),s=e.size;return e.set(i,t),this.size+=e.size==s?0:1,this}function ae(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])}}ae.prototype.clear=kp,ae.prototype.delete=Dp,ae.prototype.get=jp,ae.prototype.has=Ip,ae.prototype.set=Ep;var Pp="Expected a function";function Pn(i,t){if(typeof i!="function"||t!=null&&typeof t!="function")throw new TypeError(Pp);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(Pn.Cache||ae),e}Pn.Cache=ae;var Ap=500;function Lp(i){var t=Pn(i,function(s){return e.size===Ap&&e.clear(),s}),e=t.cache;return t}var Fp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rp=/\\(\\)?/g,Bp=Lp(function(i){var t=[];return i.charCodeAt(0)===46&&t.push(""),i.replace(Fp,function(e,s,r,n){t.push(r?n.replace(Rp,"$1"):s||e)}),t});function Wp(i){return i==null?"":jc(i)}function ui(i,t){return $t(i)?i:cp(i,t)?[i]:Bp(Wp(i))}function An(i){if(typeof i=="string"||oi(i))return i;var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}function Xp(i,t){t=ui(t,i);for(var e=0,s=t.length;i!=null&&e<s;)i=i[An(t[e++])];return e&&e==s?i:void 0}function $c(i,t){for(var e=-1,s=t.length,r=i.length;++e<s;)i[r+e]=t[e];return i}var qc=Ct?Ct.isConcatSpreadable:void 0;function zp(i){return $t(i)||jn(i)||!!(qc&&i&&i[qc])}function Hp(i,t,e,s,r){var n=-1,o=i.length;for(e||(e=zp),r||(r=[]);++n<o;){var a=i[n];e(a)?$c(r,a):r[r.length]=a}return r}function Ln(i){var t=i==null?0:i.length;return t?Hp(i):[]}function Yp(i){return cf(pf(i,void 0,Ln),i+"")}var Vp=Uc(Object.getPrototypeOf,Object);function Gp(){this.__data__=new oe,this.size=0}function Np(i){var t=this.__data__,e=t.delete(i);return this.size=t.size,e}function Up(i){return this.__data__.get(i)}function $p(i){return this.__data__.has(i)}var qp=200;function Kp(i,t){var e=this.__data__;if(e instanceof oe){var s=e.__data__;if(!Zs||s.length<qp-1)return s.push([i,t]),this.size=++e.size,this;e=this.__data__=new ae(s)}return e.set(i,t),this.size=e.size,this}function ce(i){var t=this.__data__=new oe(i);this.size=t.size}ce.prototype.clear=Gp,ce.prototype.delete=Np,ce.prototype.get=Up,ce.prototype.has=$p,ce.prototype.set=Kp;var Kc=typeof M=="object"&&M&&!M.nodeType&&M,Zc=Kc&&typeof module=="object"&&module&&!module.nodeType&&module,Zp=Zc&&Zc.exports===Kc,Jc=Zp?Lt.Buffer:void 0;Jc&&Jc.allocUnsafe;function Jp(i,t){return i.slice()}function Qp(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 tm(){return[]}var em=Object.prototype,sm=em.propertyIsEnumerable,Qc=Object.getOwnPropertySymbols,rm=Qc?function(i){return i==null?[]:(i=Object(i),Qp(Qc(i),function(t){return sm.call(i,t)}))}:tm;function im(i,t,e){var s=t(i);return $t(i)?s:$c(s,e(i))}function Fn(i){return im(i,np,rm)}var Rn=ze(Lt,"DataView"),Bn=ze(Lt,"Promise"),Wn=ze(Lt,"Set"),th="[object Map]",nm="[object Object]",eh="[object Promise]",sh="[object Set]",rh="[object WeakMap]",ih="[object DataView]",om=Xe(Rn),am=Xe(Zs),cm=Xe(Bn),hm=Xe(Wn),lm=Xe(On),Ft=ps;(Rn&&Ft(new Rn(new ArrayBuffer(1)))!=ih||Zs&&Ft(new Zs)!=th||Bn&&Ft(Bn.resolve())!=eh||Wn&&Ft(new Wn)!=sh||On&&Ft(new On)!=rh)&&(Ft=function(i){var t=ps(i),e=t==nm?i.constructor:void 0,s=e?Xe(e):"";if(s)switch(s){case om:return ih;case am:return th;case cm:return eh;case hm:return sh;case lm:return rh}return t});var um=Object.prototype,dm=um.hasOwnProperty;function gm(i){var t=i.length,e=new i.constructor(t);return t&&typeof i[0]=="string"&&dm.call(i,"index")&&(e.index=i.index,e.input=i.input),e}var di=Lt.Uint8Array;function Xn(i){var t=new i.constructor(i.byteLength);return new di(t).set(new di(i)),t}function fm(i,t){var e=Xn(i.buffer);return new i.constructor(e,i.byteOffset,i.byteLength)}var pm=/\w*$/;function mm(i){var t=new i.constructor(i.source,pm.exec(i));return t.lastIndex=i.lastIndex,t}var nh=Ct?Ct.prototype:void 0,oh=nh?nh.valueOf:void 0;function vm(i){return oh?Object(oh.call(i)):{}}function ym(i,t){var e=Xn(i.buffer);return new i.constructor(e,i.byteOffset,i.length)}var bm="[object Boolean]",_m="[object Date]",Tm="[object Map]",xm="[object Number]",Sm="[object RegExp]",wm="[object Set]",Cm="[object String]",Om="[object Symbol]",km="[object ArrayBuffer]",Mm="[object DataView]",Dm="[object Float32Array]",jm="[object Float64Array]",Im="[object Int8Array]",Em="[object Int16Array]",Pm="[object Int32Array]",Am="[object Uint8Array]",Lm="[object Uint8ClampedArray]",Fm="[object Uint16Array]",Rm="[object Uint32Array]";function Bm(i,t,e){var s=i.constructor;switch(t){case km:return Xn(i);case bm:case _m:return new s(+i);case Mm:return fm(i);case Dm:case jm:case Im:case Em:case Pm:case Am:case Lm:case Fm:case Rm:return ym(i);case Tm:return new s;case xm:case Cm:return new s(i);case Sm:return mm(i);case wm:return new s;case Om:return vm(i)}}function Wm(i){return typeof i.constructor=="function"&&!Bc(i)?Qg(Vp(i)):{}}var Xm="[object Map]";function zm(i){return Te(i)&&Ft(i)==Xm}var ah=ms&&ms.isMap,Hm=ah?In(ah):zm,Ym="[object Set]";function Vm(i){return Te(i)&&Ft(i)==Ym}var ch=ms&&ms.isSet,Gm=ch?In(ch):Vm,hh="[object Arguments]",Nm="[object Array]",Um="[object Boolean]",$m="[object Date]",qm="[object Error]",lh="[object Function]",Km="[object GeneratorFunction]",Zm="[object Map]",Jm="[object Number]",uh="[object Object]",Qm="[object RegExp]",tv="[object Set]",ev="[object String]",sv="[object Symbol]",rv="[object WeakMap]",iv="[object ArrayBuffer]",nv="[object DataView]",ov="[object Float32Array]",av="[object Float64Array]",cv="[object Int8Array]",hv="[object Int16Array]",lv="[object Int32Array]",uv="[object Uint8Array]",dv="[object Uint8ClampedArray]",gv="[object Uint16Array]",fv="[object Uint32Array]",z={};z[hh]=z[Nm]=z[iv]=z[nv]=z[Um]=z[$m]=z[ov]=z[av]=z[cv]=z[hv]=z[lv]=z[Zm]=z[Jm]=z[uh]=z[Qm]=z[tv]=z[ev]=z[sv]=z[uv]=z[dv]=z[gv]=z[fv]=!0,z[qm]=z[lh]=z[rv]=!1;function gi(i,t,e,s,r,n){var o;if(o!==void 0)return o;if(!qt(i))return i;var a=$t(i);if(a)o=gm(i);else{var c=Ft(i),h=c==lh||c==Km;if(ci(i))return Jp(i);if(c==uh||c==hh||h&&!r)o=h?{}:Wm(i);else{if(!z[c])return r?i:{};o=Bm(i,c)}}n||(n=new ce);var l=n.get(i);if(l)return l;n.set(i,o),Gm(i)?i.forEach(function(g){o.add(gi(g,t,e,g,i,n))}):Hm(i)&&i.forEach(function(g,f){o.set(f,gi(g,t,e,f,i,n))});var u=Fn,d=a?void 0:u(i);return hf(d||i,function(g,f){d&&(f=g,g=i[f]),Fc(o,f,gi(g,t,e,f,i,n))}),o}var pv=1,mv=4;function Ye(i){return gi(i,pv|mv)}var vv="__lodash_hash_undefined__";function yv(i){return this.__data__.set(i,vv),this}function bv(i){return this.__data__.has(i)}function fi(i){var t=-1,e=i==null?0:i.length;for(this.__data__=new ae;++t<e;)this.add(i[t])}fi.prototype.add=fi.prototype.push=yv,fi.prototype.has=bv;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 Tv(i,t){return i.has(t)}var xv=1,Sv=2;function dh(i,t,e,s,r,n){var o=e&xv,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,g=e&Sv?new fi:void 0;for(n.set(i,t),n.set(t,i);++u<a;){var f=i[u],p=t[u];if(s)var m=o?s(p,f,u,t,i,n):s(f,p,u,i,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(g){if(!_v(t,function(b,T){if(!Tv(g,T)&&(f===b||r(f,b,e,s,n)))return g.push(T)})){d=!1;break}}else if(!(f===p||r(f,p,e,s,n))){d=!1;break}}return n.delete(i),n.delete(t),d}function wv(i){var t=-1,e=Array(i.size);return i.forEach(function(s,r){e[++t]=[r,s]}),e}function Cv(i){var t=-1,e=Array(i.size);return i.forEach(function(s){e[++t]=s}),e}var Ov=1,kv=2,Mv="[object Boolean]",Dv="[object Date]",jv="[object Error]",Iv="[object Map]",Ev="[object Number]",Pv="[object RegExp]",Av="[object Set]",Lv="[object String]",Fv="[object Symbol]",Rv="[object ArrayBuffer]",Bv="[object DataView]",gh=Ct?Ct.prototype:void 0,zn=gh?gh.valueOf:void 0;function Wv(i,t,e,s,r,n,o){switch(e){case Bv:if(i.byteLength!=t.byteLength||i.byteOffset!=t.byteOffset)return!1;i=i.buffer,t=t.buffer;case Rv:return!(i.byteLength!=t.byteLength||!n(new di(i),new di(t)));case Mv:case Dv:case Ev:return Mn(+i,+t);case jv:return i.name==t.name&&i.message==t.message;case Pv:case Lv:return i==t+"";case Iv:var a=wv;case Av:var c=s&Ov;if(a||(a=Cv),i.size!=t.size&&!c)return!1;var h=o.get(i);if(h)return h==t;s|=kv,o.set(i,t);var l=dh(a(i),a(t),s,r,n,o);return o.delete(i),l;case Fv:if(zn)return zn.call(i)==zn.call(t)}return!1}var Xv=1,zv=Object.prototype,Hv=zv.hasOwnProperty;function Yv(i,t,e,s,r,n){var o=e&Xv,a=Fn(i),c=a.length,h=Fn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:Hv.call(t,d)))return!1}var g=n.get(i),f=n.get(t);if(g&&f)return g==t&&f==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 w=i.constructor,O=t.constructor;w!=O&&"constructor"in i&&"constructor"in t&&!(typeof w=="function"&&w instanceof w&&typeof O=="function"&&O instanceof O)&&(p=!1)}return n.delete(i),n.delete(t),p}var Vv=1,fh="[object Arguments]",ph="[object Array]",pi="[object Object]",Gv=Object.prototype,mh=Gv.hasOwnProperty;function Nv(i,t,e,s,r,n){var o=$t(i),a=$t(t),c=o?ph:Ft(i),h=a?ph:Ft(t);c=c==fh?pi:c,h=h==fh?pi:h;var l=c==pi,u=h==pi,d=c==h;if(d&&ci(i)){if(!ci(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new ce),o||Nc(i)?dh(i,t,e,s,r,n):Wv(i,t,c,e,s,r,n);if(!(e&Vv)){var g=l&&mh.call(i,"__wrapped__"),f=u&&mh.call(t,"__wrapped__");if(g||f){var p=g?i.value():i,m=f?t.value():t;return n||(n=new ce),r(p,m,e,s,n)}}return d?(n||(n=new ce),Yv(i,t,e,s,r,n)):!1}function vh(i,t,e,s,r){return i===t?!0:i==null||t==null||!Te(i)&&!Te(t)?i!==i&&t!==t:Nv(i,t,e,s,vh,r)}function Uv(i,t){return i!=null&&t in Object(i)}function $v(i,t,e){t=ui(t,i);for(var s=-1,r=t.length,n=!1;++s<r;){var o=An(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&&Dn(r)&&kn(o,r)&&($t(i)||jn(i)))}function qv(i,t){return i!=null&&$v(i,t,Uv)}var Hn=function(){return Lt.Date.now()},Kv="Expected a function",Zv=Math.max,Jv=Math.min;function Qv(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(Kv);t=Ec(t)||0,qt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?Zv(Ec(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function g(k){var j=s,D=r;return s=r=void 0,h=k,o=i.apply(D,j),o}function f(k){return h=k,a=setTimeout(b,t),l?g(k):o}function p(k){var j=k-c,D=k-h,R=t-j;return u?Jv(R,n-D):R}function m(k){var j=k-c,D=k-h;return c===void 0||j>=t||j<0||u&&D>=n}function b(){var k=Hn();if(m(k))return T(k);a=setTimeout(b,p(k))}function T(k){return a=void 0,d&&s?g(k):(s=r=void 0,o)}function x(){a!==void 0&&clearTimeout(a),h=0,s=c=r=a=void 0}function w(){return a===void 0?o:T(Hn())}function O(){var k=Hn(),j=m(k);if(s=arguments,r=this,c=k,j){if(a===void 0)return f(c);if(u)return clearTimeout(a),a=setTimeout(b,t),g(c)}return a===void 0&&(a=setTimeout(b,t)),o}return O.cancel=x,O.flush=w,O}function t0(i,t){return vh(i,t)}function e0(i,t,e,s){if(!qt(i))return i;t=ui(t,i);for(var r=-1,n=t.length,o=n-1,a=i;a!=null&&++r<n;){var c=An(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:kn(t[r+1])?[]:{})}Fc(a,c,h),a=a[c]}return i}function s0(i,t,e){for(var s=-1,r=t.length,n={};++s<r;){var o=t[s],a=Xp(i,o);e(a,o)&&e0(n,ui(o,i),a)}return n}function r0(i,t){return s0(i,t,function(e,s){return qv(i,s)})}var i0=Yp(function(i,t){return i==null?{}:r0(i,t)}),n0="Expected a function";function o0(i,t,e){var s=!0,r=!0;if(typeof i!="function")throw new TypeError(n0);return qt(e)&&(s="leading"in e?!!e.leading:s,r="trailing"in e?!!e.trailing:r),Qv(i,t,{leading:s,maxWait:t,trailing:r})}class a0{addTrackItem(t){const e=mg(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=nt(r.display.from,this.tScale),a=nt(r.display.to-r.display.from,this.tScale,r.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof Ut){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(t0(e,t))return;const r=this.getObjects(...ys.objectTypes,"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 St(r);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={};t.forEach(s=>{const{id:r,left:n,width:o}=s,a=this.trackItemsMap[r],c=W(n,this.tScale),h=W(o,this.tScale),l={from:c,to:c+h},u={display:l};s instanceof Ut&&(u.trim=s.trim),s.display=l,e[r]={...a,...u}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),r=Us(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=Us(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):[];!t&&this.pauseEventListeners(),this.trackItemIds.forEach(s=>{if(e.includes(s))return;const r=this.getObjects().find(c=>c.id===s),n=this.trackItemsMap[s],o=nt(n.display.from,this.tScale),a=nt(n.display.to-n.display.from,this.tScale);r.set({left:o,width:a}),r.setCoords()}),!t&&this.resumeEventListeners()}getTrackItems(){return this.getObjects(...ys.objectTypes)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const yh=i=>{switch(i){case"top":return 1e3;case"bottom":return 1e3;case"center":return 8;default:return 1e3}};class c0{findOrCreateTrack(t,{trackId:e,trackIndex:s}){if(e){const o=this.tracks.find(a=>a.id===e);if(o)return o.items.push(t.id),e}const r=this.getItemAccepts(t.type),n={id:Ns(),items:[t.id],type:t.type,accepts:r,magnetic:!1,static:!1};return s!==void 0?this.tracks.splice(s,0,n):this.tracks.push(n),this.renderTracks(),n.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")||We,n=new r({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=yh("top"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=yh("center"),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.getItemSize(a.type),l=C.getClass("Track")||Gt,u=this.getItemAccepts(a.type),d=new l({id:a.id,top:s,left:0,height:h,width:t,tScale:this.tScale,accepts:u,items:a.items,magnetic:a.magnetic,static:a.static});s+=h,this.insertAt(0,d)}});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 bh(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,g=u.left+u.width;if(s.corner==="mr"){const f=Math.abs(c-g),p=Math.abs(c-d),m=W(1,e.tScale);if(f<n)if(e instanceof Ut){const b=g-e.left,T=b-a,x=W(T,e.tScale,e.playbackRate),w=e.trim.to+x;if(b<m||b<m)return;w<=e.duration&&(e.set({width:b,scaleX:1}),e.trim.to=w,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:g-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(p<n)if(e instanceof Ut){const b=d-e.left,T=b-a,x=W(T,e.tScale,e.playbackRate),w=e.trim.to+x;if(b<m)return;w<=e.duration&&(e.set({width:b,scaleX:1}),e.trim.to=w,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 f=Math.abs(o-d),p=Math.abs(o-g);if(f<n)if(e instanceof Ut){const m=c-d,b=m-a,T=W(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 Ut){const m=c-g,b=m-a,T=W(b,e.tScale,e.playbackRate),x=e.trim.from-T;x>=0&&(e.set({left:g,width:m,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:g,width:c-g,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}}),h&&(e.setCoords(),t.requestRenderAll())}}function h0(i){i.on("object:resizing",bh.bind(i))}function l0(i){i.off("object:resizing",bh.bind(i))}const Js=100,Yn=0,mi=5,_h=3,u0=25,vs={scrollInterval:null};function Th(i){const t=u0-_h,e=(Js-i)/Js;return _h+t*e}function d0(i,t){vs.scrollInterval&&clearInterval(vs.scrollInterval);const e=t.target,s=e.getBoundingRect();vs.scrollInterval=setInterval(()=>{const r=i.viewportTransform,n=i.getViewportPoint(t.e);if(n.x>i.width-Js&&e.left+s.width<i.bounding.width){const o=Th(i.width-n.x);e.set("left",e.left+o),i.setViewportPos(r[4]-o,r[5])}if(n.x<Js&&e.left>0&&r[4]<Js){const o=Th(n.x);e.set("left",e.left-o),i.setViewportPos(r[4]+o,r[5])}n.y>i.height-Yn&&e.top+s.height<i.bounding.height+80&&(e.set("top",e.top+mi),i.setViewportPos(r[4],r[5]-mi)),n.y<Yn&&e.top>-80&&-r[5]>Yn&&(e.set("top",e.top-mi),i.setViewportPos(r[4],r[5]+mi)),e.setCoords(),i.requestRenderAll()},16)}function g0(){vs.scrollInterval&&(clearInterval(vs.scrollInterval),vs.scrollInterval=null)}function xh(){g0()}function Sh(i){d0(this,i)}function f0(i){i.on("mouse:up",xh),i.on("object:moving",Sh.bind(i))}function p0(i){i.off("mouse:up",xh),i.off("object:moving",Sh.bind(i))}function wh(i){const t=i.target,e=i.target.canvas;if(i.action==="resizing"&&t instanceof At&&e){const s=t.id,r=e.getObjects("Transition").find(n=>n.id===s);if(r&&r instanceof At){const n=Ye(this.transitionsMap),o={...n,[s]:{...n[s],width:r.width,duration:r.duration}};this.transitionsMap=o,this.updateState()}}}function m0(i){i.on("object:modified",wh)}function v0(i){i.off("object:modified",wh)}const Ch={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},Q=()=>Ch,lt=i=>{Object.assign(Ch,i)},Oh=10,vi=(i,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&i.remove(e))},kh=(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(Eh(n.left,n.width,n.top,n.height)),s.push(Eh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},Mh=(i,t)=>{const e=[],s=[];i.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Oh&&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<Oh&&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},Dh=(i,t,e)=>{i.forEach(s=>{const r=y0(e.getZoom());s.orientation==="H"?e.add(jh([0,s.lineGuide-r.strokeWidth/2,2e3,s.lineGuide-r.strokeWidth/2],{...r,stroke:e.guideLineColor})):s.orientation==="V"&&e.add(jh([s.lineGuide-r.strokeWidth/2,0,s.lineGuide-r.strokeWidth/2,2e3],{...r,stroke:e.guideLineColor}))})},y0=i=>({strokeWidth:2/i}),jh=(i,t)=>new be(i,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),Ih=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"}]}},Eh=(i,t,e,s)=>[i,i+t].map(n=>({val:n,start:e,end:e+s})),Ph=(i,t)=>{i.remove(...t),t=[]},Ah=i=>{i.forEach(t=>t.setSelected(!1))},Lh=i=>i instanceof We,b0=i=>Object.assign({},{left:16,right:80},i),_0=["touchstart","touchmove","touchend"],T0=i=>_0.includes(i.type)||i.pointerType==="touch";function Fh(i){const t=this;if(!t)return;const s=Q().enableGuideRedraw,r=t.getScenePoint(i.e),n=t.getObjects("Helper","Track"),o=n.find(f=>{const p=f.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(f=>{Lh(f)&&(f===o?f.setSelected(!0):f.setSelected(!1))}),Lh(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=kh(l,t),d=Ih(c),g=Mh(u,d);s&&(vi(t,a),g.length&&Dh(g,h,t),lt({enableGuideRedraw:!1}),setTimeout(()=>lt({enableGuideRedraw:!0}),50)),g.forEach(f=>{f.orientation==="V"?c.left=f.lineGuide+f.offset:c.top=f.lineGuide+f.offset})}function Rh(i){const t=i.target.canvas;t&&(vi(t,t.getObjects()),Ah(t.getObjects("Helper")),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function Bh(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=kh(c,t),l=h.vertical.filter(g=>{const f=g.val;if(n==="ml")return f<=o.left;if(n==="mr")return f>=o.left+o.width});h.vertical=l;const u=Ih(s),d=Mh(h,u);vi(t,e),d.length&&Dh(d,o,t)}}function x0(i){i.on("object:moving",Fh.bind(i)),i.on("object:modified",Rh.bind(i)),i.on("object:resizing",Bh.bind(i))}function S0(i){i.off("object:moving",Fh.bind(i)),i.off("object:modified",Rh.bind(i)),i.off("object:resizing",Bh.bind(i))}function Vn(i,t,e){const s=i.indexOf(t),r=i.indexOf(e);return s===-1||r===-1?null:r-s}function Wh(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 Xh(i){const t=Q(),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 St?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(g=>d.includes(g))}).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(g=>u.items.includes(g.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(f=>f.items.includes(u.id));if(!d)return;const g=d.id;t.activeTrackToItemsMap[g]?t.activeTrackToItemsMap[g].push(u):t.activeTrackToItemsMap[g]=[u]}),t.primaryMovingObjects=r.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof At)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,g=t.trackTopToIdMap[d];if(t.primaryTracks[g])t.primaryTracks[g].objects.push(u);else{const f=Vn(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[g]={objects:[u],index:f}}}),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,g=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[g])t.secondaryTracks[g].objects.push(u);else{const f=Vn(t.trackTops,h.top,d);t.secondaryTracks[g]={objects:[u],index:f}}}),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 g=new ls({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return g.draggedObject=u,g}),e.add(...t.placeholderMovingObjects)))}function w0(i){i.on("before:transform",Xh.bind(i))}function C0(i){i.off("before:transform",Xh.bind(i))}const Cs=class Cs extends J{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,Cs.ownDefaults),this.id=e.id}static createControls(){return{controls:Sn()}}static getDefaults(){return{...super.getDefaults(),...Cs.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const r=nt(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=Ys,e.strokeStyle=Be,e.stroke(),e.restore())}};S(Cs,"type","TransitionGuide"),S(Cs,"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 Qs=Cs;const O0=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(h=>{var g,f;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(r.has(l)||r.set(l,[]),r.has(u)||r.set(u,[]),(g=r.get(l))==null||g.push(h),(f=r.get(u))==null||f.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 g=Object.values(e).find(f=>f.fromId===u&&f.kind!=="none");if(!g)break;l.push(g),u=g.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},k0=["text","image","video","audio","caption","template"];function zh(){const i=Q();Ph(this,i.placeholderMovingObjects)}function M0(i){const t=i.target.left;i.target.left=Math.max(t,0)}function Hh(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 D0(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 j0=(i,t,e)=>!(e<0||Hh(i,{...t.getBoundingRect(),left:e})),Yh=i=>{const e=Q().draggingOverTrack;return i instanceof ne?e&&e.accepts.includes(i.itemType):e&&e.accepts.includes(i.type)};function I0(i){Q().isPointerOverHelperTrack?i.opacity=0:i.opacity=1}function E0(){const i=Q(),t=i.primaryMovingObjects[0];return{top:i.objectInitialPositions[t.id].top,left:i.objectInitialPositions[t.id].left}}function P0(i){const t=i.getBoundingRect(),e=Q(),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 A0(i,t,e,s){const n=i.canvas.getActiveObjects().map(l=>l.id),o=D0(i,t),a=e.filter(l=>!n.includes(l.id)),c=j0(a,i,o),h=Q();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,g)=>Math.abs(g-s.x)<Math.abs(d-s.x)?g:d),top:l.top}}return{left:o,top:t.top}}const L0=(i,t)=>{i.forEach((e,s)=>{e.set({left:t[s]})})},Vh=o0(i=>{const t=i.target.canvas;M0(i);const e=Q(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];k0.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=Yh(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=Gh(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],g=u-l,f=l-d;if(!u)a=l;else if(l<=i.pointer.x&&l+g/2>=i.pointer.x){a=l;break}else if(l-f/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{if(e.orderNormalTrack=!1,e.updateItemsInTrack&&e.updateItemsInTrack!==s.id){const d=t.getObjects().find(g=>g.id===e.updateItemsInTrack);d!=null&&d.magnetic?F0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]}e.initialTrackPoints.length===0&&s instanceof Gt&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=Gh(e,s));const a=n.find(d=>Hh(r,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,g)=>d.left-g.left),u=l[0];l.forEach((d,g)=>{if(!l[g-1])return;const f=d.left-u.left;c.push(f)}),e.placeholderMovingObjects.forEach((d,g)=>{const f=d.draggedObject;if(f instanceof Qs){d.visible=!1;return}f.setCoords(),I0(d);let p=X0(f,n,i.pointer,a);if(f instanceof ne&&p.isInvalidDrop&&e.draggingOverTrack instanceof Gt){d.opacity=0;const m=i.pointer,b=[...t.viewportTransform],T=m.y-b[5];W0(t,T)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[f.id]={top:p.top,left:p.left+(c[g-1]||0)},d.left=p.left+(c[g-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[f.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),Gh=(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?R0(o,a,c):B0(t,c,e),c};function F0(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 R0(i,t,e){var h;const s=Q(),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=s.primaryMovingObjects[0],u=[...e];if(l){const d=u.findIndex(g=>g>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,nt(l.display.from,r.tScale))}}}function B0(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=O0({trackItemIds:Ye(s),transitionsMap:Ye(n),trackItemsMap:Ye(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 W0(i,t){i.getObjects("Helper").reduce((r,n)=>Math.abs(n.top-t)<Math.abs(r.top-t)?n:r).setSelected(!0)}const X0=(i,t,e,s)=>{const r=Yh(i);return!r&&i instanceof ne?{top:0,left:0,isInvalidDrop:!0}:r?s?i instanceof ne?{top:0,left:0,isInvalidDrop:!0}:A0(i,s,t,e):P0(i):E0()};function z0(i){i.on("mouse:up",zh.bind(i)),i.on("object:moving",Vh)}function H0(i){i.off("mouse:up",zh.bind(i)),i.off("object:moving",Vh)}const Y0=i=>{Q().canvas.fire("track:create",i)},V0=i=>{Q().canvas.fire("track-items:moved",i)},Nh=i=>{var a,c,h;const t=(a=i.target)==null?void 0:a.canvas;if(!t)return;const e=Q(),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=Uh(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 We){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 Gt){const u={isSecondaryOverlapped:N0(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};V0(u)}};function G0(){const i=Q(),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=Vn(i.trackTops,i.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function N0(){const i=G0(),t=Q();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=>Uh(r,n.getBoundingRect()))})}function Uh(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 U0=i=>{i.on("object:modified",Nh)},$0=i=>{i.off("object:modified",Nh)},Gn="drag",$h=`${Gn}:start`,Nn=`${Gn}:end`,Un="timeline",qh=`${Un}:boundingChanged`,Kh=`${Un}:seek`,q0=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(g=>g.fromId===l&&g.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},K0="add:audio",Z0="add:video",J0="add:image",Q0="add:text",ty=["transition","image","video","audio","caption","text"];let st,tr,Ve=[];function ey(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 sy=({width:i,height:t,id:e,left:s,top:r,type:n,duration:o})=>{if(n==="transition")return new Qs({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=C.getClass("PreviewTrackItem")||ne;return new a({top:r,left:s,height:t,width:i,id:e,type:n,duration:o})};function Zh(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(!ty.includes(s))return;const r=e.duration||5e3,n=this;n.discardActiveObject(),n.setActiveIds([]);const o=nt(r,this.tScale),a=n.getItemSize(s),c=n.getTrackItems();if(st=sy({width:o,height:a,id:"TransitionGuide",left:0,top:0,type:s,duration:r}),st.visible=!1,s==="transition"){Ve=n.getObjects("Transition");const p=Ve.filter(m=>m.kind!=="none");Ve.forEach(m=>{const b=c.find(k=>k.id===m.toId),T=c.find(k=>k.id===m.fromId),x=m.width;((b==null?void 0:b.width)||0)>=x/2&&((T==null?void 0:T.width)||0)>=x/2||(m.availableDrop=!1);const w=p.find(k=>k.fromId===m.toId);w&&w.width+x/2>=((b==null?void 0:b.width)||0)&&(m.availableDrop=!1);const O=p.find(k=>k.toId===m.fromId);O&&O.width+x/2>=((T==null?void 0:T.width)||0)&&(m.availableDrop=!1),m.visible=!0})}const h=Q();n.trackIdAfterTransform="",n.positionAfterTransform={};const l=st,u=[st];lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),lt({activeObjects:u});const d=n.getObjects("Track"),g=n.getTrackItems();d.forEach(p=>{const m=g.filter(b=>p.items.includes(b.id));h.trackToItemsMap[p.id]=m,h.trackTopToIdMap[p.top]=p.id,h.trackTops.push(p.top)}),h.trackTops.sort((p,m)=>p-m),h.primaryMovingObjects=u,h.primaryMovingObjects=h.primaryMovingObjects.sort((p,m)=>p.left-m.left),l&&(n.positionBeforeTransform={top:l.top,left:l.left}),h.placeholderMovingObjects=h.primaryMovingObjects.map(p=>{const m=p.getBoundingRect();h.objectInitialPositions[p.id]={top:m.top,left:m.left};const b=new ls({id:`${p.id}-placeholder`,left:m.left,top:m.top,width:m.width,height:m.height});return b.visible=!1,b.draggedObject=p,b}),n.add(...h.placeholderMovingObjects),n.add(st),q.dispatch($h)}const Jh=i=>{const t=Q();Ph(i,t.placeholderMovingObjects),i&&(vi(i,i.getObjects()),Ah(i.getObjects("Helper")))};function Qh(){if(Jh(this),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!st)return;q.dispatch(Nn);const i=this;Ve.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(st)}function tl(i){const t=Q(),e=t.placeholderMovingObjects[0];if(e.visible||(st.visible=!0,e.visible=!0),t.activeObjects[0]instanceof Qs&&(e.visible=!1),!st)return!1;i.e.preventDefault();const s=this,r=s.getViewportPoint(i.e),n=[...this.viewportTransform];st.set({left:r.x-16-n[4],top:r.y-n[5]-st.height/2});const o=ey(r,Ve.filter(c=>c.availableDrop));o&&(tr=o,o.strokeDashArray=[5,1],o.setSelected(!0)),Ve.forEach(c=>{c!==o&&c.setSelected(!1)}),lt({isDragOver:!0}),st.setCoords();const a={target:st,action:"drag",originX:"center",originY:"center",offsetX:r.x-st.left,offsetY:r.y-st.top,scaleX:st.scaleX,scaleY:st.scaleY};s.fire("object:moving",{target:st,e:i.e,pointer:r,transform:a}),s.requestRenderAll()}function el(i){var o;const t=this;Jh(t);const e=Q(),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=W(a.left,t.tScale);if(s instanceof Gt)if(e.placeholderMovingObjects[0].opacity!==0){const l=$n(s,this.getObjects("Track"));if(s.magnetic){const u=e.initialTrackPoints[e.initialTrackPoints.length-1],d=W(u,t.tScale);yi(n,l,d)}else yi(n,l,c)}else{const l=i.viewportPoint,u=[...t.viewportTransform],d=l.y-u[5],f=t.getObjects("Helper").reduce((m,b)=>Math.abs(b.top-d)<Math.abs(m.top-d)?b:m),p=$n(f,this.getObjects("Track"));yi(n,p,c,!0)}else{const h=$n(s,this.getObjects("Track"));yi(n,h,c,!0)}this.remove(a),this.requestRenderAll();return}if(st){if(tr){const a=tr.id,c=i0(n,["kind","direction"]);Object.keys(c).forEach(T=>{T==="kind"?tr.kind=c[T]:tr[T]=c[T]});const h=Ye(this.trackItemIds),l=Ye(this.transitionsMap),u=Ye(this.trackItemsMap);l[a]={...l[a],...c};const d=q0({trackItemIds:h,transitionsMap:l,trackItemsMap:u}),f=l[a].fromId,p=d.find(T=>T.find(x=>x.id===f))||[],m=ry(p),b=iy(this.trackItemsMap,m);this.trackItemsMap=b,this.transitionsMap[a]={...this.transitionsMap[a],...c},this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ve.forEach(a=>{a.strokeDashArray=[],a.setSelected(!1),a.kind==="none"&&(a.visible=!1)}),t.remove(st),t.requestRenderAll(),q.dispatch(Nn)}}const ry=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}})},iy=(i,t)=>{let e=i;return t.forEach(s=>{e[s.id]=s}),e},$n=(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)},yi=(i,t,e,s)=>{i.type==="image"?q.dispatch(J0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="video"?q.dispatch(Z0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="audio"?q.dispatch(K0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="text"&&q.dispatch(Q0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function ny(i){i.on("dragover",tl),i.on("dragenter",Zh),i.on("dragleave",Qh),i.on("drop",el)}function oy(i){i.off("dragover",tl),i.off("dragenter",Zh),i.off("dragleave",Qh),i.off("drop",el)}function sl(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 rl(){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 At))return!0;if(n instanceof At&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof St?(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 il(i){const t=this,e=t.getActiveObject();e instanceof St&&(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 nl(i){i.deselected.forEach(t=>{t.setSelected(!1)})}const ay=i=>{i.on("selection:created",rl),i.on("selection:updated",il),i.on("selection:cleared",nl),i.on("mouse:wheel",sl)},cy=i=>{i.off("mouse:wheel",sl),i.off("selection:created",rl),i.off("selection:updated",il),i.off("selection:cleared",nl)},ol=()=>{var n;const i=Q(),t=i.canvas,e=i.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,r=new Set(i.activeObjects.map(o=>o.id));if(s){const o=e.id,c=i.trackToItemsMap[o].sort((f,p)=>f.left-p.left),h=i.placeholderMovingObjects,l=((n=h[0])==null?void 0:n.top)||0,u=h.reduce((f,p)=>f+p.width,0),d=Math.min(...h.map(f=>f.left));let g=0;c.forEach(f=>{r.has(f.id)||f.top===l&&(Math.abs(d-g)<1&&(g+=u),f.left=g,g+=f.width)})}else if(e instanceof Gt&&i.orderNormalTrack){const o=e.items,a=t.getTrackItems().filter(p=>!r.has(p.id)&&o.includes(p.id)),c=a.sort((p,m)=>p.left-m.left),h=i.placeholderMovingObjects[0],l=i.placeholderMovingObjects[i.placeholderMovingObjects.length-1],u=h.left,d=l.left-h.left+l.width,g=c.find((p,m)=>{if(p.left>=u-1)return c[m]}),f=a.filter(p=>p.left>=u-1);if(h.left+d>(g==null?void 0:g.left)){const p=d-(g.left-h.left);f.forEach(m=>{const b=nt(m.display.from,t.tScale);m.left=b+p})}}t.alignTransitionsToTrack(!1)};function hy(i){i.on("object:moving",ol)}function ly(i){i.off("object:moving",ol)}let Rt,qn=!1;function uy(i,t){const e=i.canvas;if(e.objectTypes.includes(i.type)){Rt||(Rt=i);const r=i.top,n=i.height,o=i.left,a=i.width,c=t.x,h=t.y,l=Math.abs(h-(r+n/2))<=Zd;Math.abs(c-o)<=_c&&l||Math.abs(c-o-a)<=_c&&l?(e.hoverCornerItem=!0,i.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,i.hoverCursor="move"),e.requestRenderAll()}}function al(i){const t=this,e=t.findTarget(i.e),s=t.getScenePoint(i.e);e&&(e.isSelected&&Rt&&(e.hoverCursor="default"),uy(e,s))}function cl(){Rt&&(Rt.lockMovementX=!1,Rt.lockMovementY=!1,Rt=void 0)}function hl(i){Rt&&(qn||Rt._renderControls(i.ctx))}function ll(){Rt&&(Rt=void 0,this.requestRenderAll())}function ul(){qn=!0}function dl(){qn=!1}function dy(i){i.on("mouse:out",ll.bind(i)),i.on("mouse:up",cl.bind(i)),i.on("mouse:move",al.bind(i)),i.on("after:render",hl.bind(i)),i.on("object:resizing",ul.bind(i)),i.on("object:modified",dl.bind(i))}function gy(i){i.off("mouse:out",ll.bind(i)),i.off("mouse:up",cl.bind(i)),i.off("mouse:move",al.bind(i)),i.off("after:render",hl.bind(i)),i.off("object:resizing",ul.bind(i)),i.off("object:modified",dl.bind(i))}const fy=i=>{lt({canvas:i}),f0(i),h0(i),m0(i),x0(i),w0(i),z0(i),U0(i),ny(i),ay(i),hy(i),dy(i)},py=i=>{lt({canvas:null}),p0(i),l0(i),v0(i),S0(i),C0(i),H0(i),$0(i),oy(i),cy(i),ly(i),gy(i)};class my{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=nt(e.duration,this.tScale),h=o.left+o.width-c/2,l=o.height,u=new At({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 At){const n=this.getObjects().find(c=>c.id===r.fromId&&!e.includes(c.id));if(!n)return;const o=nt(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(...this.withTransitions);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 f=this.transitionsMap[d];r[d]=f}else{const f={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};r[d]=f}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=r,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),t&&this.resumeEventListeners()}}function gl(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:fs(),items:h.objects.map(p=>p.id),type:c.type,accepts:c.accepts},u=Ln(Object.keys(t).map(p=>t[p].objects.map(m=>m.id)));let d=Us(this.tracks,[...Object.keys(r),...u]);const g=[];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)),w={id:Ns(),items:x,type:T.type,accepts:T.accepts,tempIndex:b};g.push(w)});const f=Wh(l,g);f.length&&d.splice(o,0,...f),this.tracks=d,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function fl(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=Q().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=Ln(Object.keys(e).map(b=>e[b].objects.map(T=>T.id)));let g=Us(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 k=o[O.id];O.left=k==null?void 0:k.left}),this.resumeEventListeners();const x=r.trackId,w=g.find(O=>O.id===x);w==null||w.items.push(...Object.keys(o)),this.tracks=g});const f=this.tracks[u],p=[];Object.keys(e).forEach(b=>{const{objects:T,index:x}=e[b],w=T.filter(j=>j.type!=="transition").map(j=>j.id),[O]=w,k=this.trackItemsMap[O];if(t&&k){const j=this.getItemAccepts(k.type),D={id:Ns(),items:w,type:k.type,accepts:j,tempIndex:x};p.push(D)}else{const j=g[u+x];j==null||j.items.push(...w),this.tracks=g}});const m=Wh(f,p);m.length&&g.splice(u,1,...m),this.tracks=g,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function pl({trackItemIds:i,isOverlapped:t}){var o,a;const[e]=i;if(!e)return;const s=this.getObjects("Transition");if(!s.find(c=>c.id===e)){const c=this.tracks.find(h=>h.items.includes(e));if(t){const h=Us(this.tracks,i),l={id:Ns(),items:[e],type:c.type,accepts:c.accepts},u=this.tracks.findIndex(d=>d.id===c.id);h.splice(u,0,l),this.tracks=h}}const n=s.filter(c=>c.fromId===e||c.toId===e);if(n){const c=this.getTrackItems().find(g=>g.id===e),h=c==null?void 0:c.width;n.forEach(g=>{if(g.width/2>h){this.transitionIds=this.transitionIds.filter(p=>p!==g.id);const f={};Object.keys(this.transitionsMap).forEach(p=>{p!==g.id&&(f[p]=this.transitionsMap[p])}),this.transitionsMap=f}});const l=((o=n[0])==null?void 0:o.width)||0,u=((a=n[1])==null?void 0:a.width)||0,d=n[1];if(h<=l/2+u/2){this.transitionIds=this.transitionIds.filter(f=>f!==(d==null?void 0:d.id));const g={};Object.keys(this.transitionsMap).forEach(f=>{f!==(d==null?void 0:d.id)&&(g[f]=this.transitionsMap[f])}),this.transitionsMap=g}}this.renderTracks(),this.alignItemsToTrack(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let Kn={x:0,y:0};function vy(i){Kn=i.scenePoint}function ml(i){const t=i.scenePoint;if((Kn.x===t.x||Kn.y===t.y)&&!i.target){const s=this.getElement().getBoundingClientRect(),r=this.viewportTransform,n=i.e.clientX-s.left-r[4],o=W(n,this.scale.zoom);q.dispatch(Kh,{payload:{time:o}})}}const yy=i=>{i.on("track:create",gl.bind(i)),i.on("track-items:resized",pl.bind(i)),i.on("track-items:moved",fl.bind(i)),i.on("mouse:up",ml.bind(i)),i.on("mouse:down",vy.bind(i))};function by(i){i.off("track:create",gl.bind(i)),i.off("track-items:resized",pl.bind(i)),i.off("track-items:moved",fl.bind(i)),i.off("mouse:up",ml.bind(i))}function _y(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}let vl,yl,bl,_l,Tl,xl,Sl,wl;const Ty=i=>{vl=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)}),wl=i.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(i.tracks=t,i.renderTracks(),i.refreshTrackLayout())}),Sl=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})}})}}),xl=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;i.trackItemsMap[n.id].display=o,t[n.id].playbackRate!==i.trackItemsMap[n.id].playbackRate&&(i.trackItemsMap[n.id].playbackRate=t[n.id].playbackRate,n.playbackRate=t[n.id].playbackRate,n.onScale&&n.onScale()),o&&n.set({display:o})}}),i.resumeEventListeners()}i.updateTrackItemCoords(),i.adjustMagneticTrack(),i.updateTransitions(),i.requestRenderAll()}),Tl=i.state.subscribeToScale(t=>{i.setScale(t.scale)}),_l=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.hasSrc){const c=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),a.type==="video"||a.type==="audio"){const l=c.display.to-c.display.from,u=nt(l,i.scale.zoom,c.playbackRate);o.set({duration:c.duration,display:c.display,trim:c.trim,width:u}),o.setCoords()}}else(a.type==="text"||a.type==="caption")&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),i.requestRenderAll()}),bl=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.renderTracks(),i.refreshTrackLayout(),i.updateTrackItemCoords(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.adjustMagneticTrack(),i.updateTransitions(),i.calcBounding(),i.duration=Gs(i.trackItemsMap)}),yl=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.renderTracks(),i.alignItemsToTrack(),i.updateTrackItemCoords(),i.calcBounding(),i.updateTransitions(),i.refreshTrackLayout(),i.selectTrackItemByIds(e.activeIds)})},xy=i=>{vl.unsubscribe(),yl.unsubscribe(),bl.unsubscribe(),_l.unsubscribe(),Tl.unsubscribe(),xl.unsubscribe(),Sl.unsubscribe(),wl.unsubscribe()},Cl=(i,t)=>{let e=!1;const s=[];return t.forEach(r=>{r.containsPoint(i)&&(s.push(r),e=!0)}),{isOverObject:e,overObjects:s}};function Sy(i){return JSON.parse(JSON.stringify(i))}const sr=class sr extends un{constructor(e,s){var r;super(e,s);S(this,"itemTypes",[]);S(this,"acceptsMap");S(this,"sizesMap",{});S(this,"objectTypes",[]);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,"withTransitions",[]);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=s.acceptsMap||{},this.sizesMap=s.sizesMap||{},this.itemTypes=s.itemTypes||[],this.objectTypes=sr.objectTypes,this.spacing=b0(s.spacing),this.itemTypes=s.itemTypes||[],this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||Be,this.initEventListeners(),this.withTransitions=s.withTransitions||[]}static registerItems(e){Object.keys(e).forEach(s=>{C.setClass(e[s],s)}),sr.objectTypes=Object.keys(e).filter(s=>!Vd.includes(s))}getItemAccepts(e){return this.acceptsMap[e]||this.itemTypes}getItemSize(e){return this.sizesMap[e]||42}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}=Cl(s,n);if(r&&(r==null?void 0:r.findControl(this.getViewportPoint(e),T0(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Cl(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(){yy(this),fy(this),Ty(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:Sy(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),this.requestRenderAll(),this.duration=Gs(this.trackItemsMap),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=Gs(this.trackItemsMap);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 W(r,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=Gs(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(){py(this),by(this),xy(),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},q.dispatch(qh,{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=nt(r.display.from,this.tScale),o=nt(r.display.to-r.display.from,this.tScale,r.playbackRate);r.set({left:n,width:o,tScale:e.zoom}),r.onScale&&r.onScale(),r.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1),this.resumeEventListeners()}};S(sr,"objectTypes",[]);let ys=sr;_y(ys,[pg,c0,a0,my]);const wy={audio:Tn,media:wn,common:ii,transition:xn};M.BOTTOM=qd,M.CENTER=_e,M.Control=V,M.DRAG_END=Nn,M.DRAG_PREFIX=Gn,M.DRAG_START=$h,M.FabricObject=at,M.Helper=We,M.LEFT=us,M.NONE=Kd,M.Pattern=Pr,M.Placeholder=ls,M.PreviewTrackItem=ne,M.RIGHT=ds,M.Rect=J,M.Resizable=ni,M.TIMELINE_BOUNDING_CHANGED=qh,M.TIMELINE_PREFIX=Un,M.TIMELINE_SEEK=Kh,M.TOP=$d,M.Track=Gt,M.Transition=At,M.Trimmable=Ut,M.calculateTimelineWidth=Qd,M.changeWidth=ii,M.classRegistry=C,M.controlsUtils=Fe,M.createAudioControls=lg,M.createMediaControls=wc,M.createResizeControls=Sc,M.createTemplateControls=hg,M.createTransitionControls=Sn,M.default=ys,M.drawVerticalLine=Pt,M.generateId=fs,M.getDuration=Gs,M.isTransformCentered=gs,M.resize=wy,M.resolveOrigin=P,M.timeMsToUnits=nt,M.unitsToTimeMs=W,M.util=Ua,M.wrapWithFixedAnchor=Vs,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(ri,"type","Vibrance"),v(ri,"defaults",{vibrance:0}),v(ri,"uniformLocations",["uVibrance"]),C.setClass(ri);function Pt(i,t,e,s,r){const a=r.canvas;if(!a)return;const c=a.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(Ua.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 Yd={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},bs=class bs extends J{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,bs.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(),...bs.ownDefaults}}updateCoords(e){this.width=e}};S(bs,"ownDefaults",Yd),S(bs,"type","Track");let Gt=bs;C.setClass(Gt,"Track");const Ys=1,Be="rgba(255, 255, 255,1.0)",Vd=["Track","Transition","Helper","PreviewTrackItem"],Gd={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},Nd=(i,t)=>{const e=Gd[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))}},_s=class _s extends Yt{constructor(e){const s=Nd(e.kind,e.height),r=new J({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new J({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new J({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,_s.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||Be}static getDefaults(){return{...super.getDefaults(),..._s.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(_s,"type","Helper"),S(_s,"ownDefaults",{selectable:!1,evented:!1});let We=_s;C.setClass(We,"Helper");const Ts=class Ts extends J{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,Ts.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...Ts.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=Ys,e.setLineDash(this.strokeDashArray),e.strokeStyle=Be,e.stroke(),e.restore()}};S(Ts,"type","Placeholder"),S(Ts,"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 ls=Ts;C.setClass(ls,"Placeholder");const Ud={left:-.5,top:-.5,center:0,bottom:.5,right:.5},P=i=>typeof i=="string"?Ud[i]:i-.5,_e="center",us="left",$d="top",qd="bottom",ds="right",Kd="none";function gs(i){return P(i.originX)===P(_e)&&P(i.originY)===P(_e)}function Vs(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 _c=3,Zd=4,Tc=188,Jd=1e3/60;function nt(i,t=1,e=1){const s=Tc*t;return i*(60/1e3)*s/e}function W(i,t=1,e=1){const s=Tc*t;return i/s*Jd*e}function Qd(i,t=1){return nt(i,t)}const Gs=i=>Object.keys(i).reduce((t,e)=>{const{display:s}=i[e];return Math.max(t,s.to)},0),{wrapWithFireEvent:tg,getLocalPoint:eg}=Fe,Tn=tg("resizing",Vs((i,t,e,s)=>{const r=eg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(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,g=W(d,n.tScale,n.playbackRate),f=u+g;if(f>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=f}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=nt(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const x=W(b-T,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const g=h-c,f=n.trim.from,p=W(g,n.tScale,n.playbackRate),m=f-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:sg,getLocalPoint:rg,wrapWithFixedAnchor:ig}=Fe,ii=sg("resizing",ig((i,t,e,s)=>{const r=rg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(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 g=c-h;if(n.left+g<0)return n.set("width",n.width+n.left),!0}const u=W(1,n.tScale);return W(h,n.tScale,n.playbackRate)<u?!1:(n.set("width",Math.max(h,0)),c!==n.width)}return!1})),{wrapWithFireEvent:ng,getLocalPoint:og}=Fe,xn=ng("resizing",Vs((i,t,e,s)=>{const r=og(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=W(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:ag,getLocalPoint:cg}=Fe,xc=ag("resizing",Vs((i,t,e,s)=>{const r=cg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(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,g=W(d,n.tScale,n.playbackRate),f=u+g;if(f>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=f}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0)return!1;const g=h-c,f=n.trim.from,p=W(g,n.tScale,n.playbackRate),m=f-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Nt}=Fe,Sc=()=>({mr:new V({x:.5,y:0,actionHandler:ii,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"right"}),ml:new V({x:-.5,y:0,actionHandler:ii,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"left"})}),hg=()=>({mr:new V({x:.5,y:0,render:Pt,actionHandler:xc,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"right"}),ml:new V({x:-.5,y:0,render:Pt,actionHandler:xc,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"left"})}),lg=()=>({mr:new V({x:.5,y:0,render:Pt,actionHandler:Tn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"right"}),ml:new V({x:-.5,y:0,render:Pt,actionHandler:Tn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"left"})}),wc=()=>({mr:new V({x:.5,y:0,render:Pt,actionHandler:wn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"right"}),ml:new V({x:-.5,y:0,render:Pt,actionHandler:wn,cursorStyleHandler:Nt,actionName:"resizing",controlOrientation:"left"})}),Sn=()=>({mr:new V({x:.5,y:0,actionHandler:xn,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"right"}),ml:new V({x:-.5,y:0,actionHandler:xn,cursorStyleHandler:Nt,actionName:"resizing",render:Pt,controlOrientation:"left"})}),ug="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Ns=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=ug[e[i]&63];return t};function fs(i=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=Ns(i-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,i-1),e+s}const{wrapWithFireEvent:dg,getLocalPoint:gg}=Fe,wn=dg("resizing",Vs((i,t,e,s)=>{const r=gg(t,t.originX,t.originY,e,s);if(P(t.originX)===P(_e)||P(t.originX)===P(ds)&&r.x<0||P(t.originX)===P(us)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=gs(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);const l=W(1,n.tScale);if(t.corner==="mr"){const d=n.trim.to,g=h-c,f=W(g,n.tScale,n.playbackRate),p=d+f;if(p>n.duration)return!1;let m=W(h,n.tScale,n.playbackRate);if(m<l||(m=W(h,n.tScale,n.playbackRate),m<l))return!1;n.set("width",Math.max(h,0)),n.trim.to=p}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0){const x=nt(n.duration,n.tScale,n.playbackRate),w=n.width+n.left;if(w<=x){n.set("width",w);const O=W(x-w,n.tScale,n.playbackRate);return n.trim.from=O,!0}return!1}if(W(h,n.tScale,n.playbackRate)<l)return!1;const p=h-c,m=n.trim.from,b=W(p,n.tScale,n.playbackRate),T=m-b;if(T<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=T,n.onResize&&n.onResize()}return c!==n.width}return!1})),xs=class xs extends J{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"kind","none");S(this,"isSelected",!1);S(this,"availableDrop",!0);Object.assign(this,xs.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:Sn()}}static getDefaults(){return{...super.getDefaults(),...xs.ownDefaults}}updateCoords(){}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.availableDrop?this.isSelected?Be:"rgba(255, 255, 255,0.15)":"red";e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ys,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(xs,"type","Transition"),S(xs,"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 At=xs;C.setClass(At,"Transition");const er=class er extends J{constructor(e){super(e);S(this,"id");S(this,"resourceId","");S(this,"tScale");S(this,"isSelected",!1);S(this,"trim");S(this,"duration");Object.assign(this,er.ownDefaults),this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8}static createControls(){return{controls:wc()}}_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=Ys,e.strokeStyle=Be,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}};S(er,"type","Trimmable"),S(er,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Ut=er;C.setClass(Ut,"Trimmable");const Ss=class Ss extends J{constructor(e){super(e);S(this,"isSelected",!1);Object.assign(this,Ss.ownDefaults),this.tScale=e.tScale,this.display=e.display}static createControls(){return{controls:Sc()}}static getDefaults(){return{...super.getDefaults(),...Ss.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=Ys,e.strokeStyle=Be,e.stroke(),e.restore())}};S(Ss,"type","Resizable"),S(Ss,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let ni=Ss;C.setClass(ni,"Resizable");function fg(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 ws=class ws extends J{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,ws.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=fg(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...ws.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,g=r+n*2;this.drawRoundedRect(e,d,a,g,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(ws,"type","PreviewTrackItem"),S(ws,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let ne=ws;C.setClass(ne,"PreviewTrackItem");class pg{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 St(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 Us(i,t){return i.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const mg=(i,t)=>{var h,l,u,d,g;const e=i.display,s=nt(e.from,t.tScale),r=nt(e.to-e.from,t.tScale,i.playbackRate),n=t.sizesMap[i.type]||42,o=i.type.charAt(0).toUpperCase()+i.type.slice(1),a=C.getClass(o),c={width:r,height:n,id:i.id,tScale:t.tScale,top:10,left:s,display:e,duration:i.duration||e.to-e.from,metadata:i.metadata,playbackRate:i.playbackRate||1,src:(h=i.details)==null?void 0:h.src,trim:i.trim||{from:0,to:i.duration},text:(l=i.details)==null?void 0:l.text,srcs:((u=i.details)==null?void 0:u.srcs)||[],backgroundColorDiv:(d=i.details)==null?void 0:d.backgroundColor,svgString:(g=i.details)==null?void 0:g.svgString};return new a(c)};var Cc=typeof global=="object"&&global&&global.Object===Object&&global,vg=typeof self=="object"&&self&&self.Object===Object&&self,Lt=Cc||vg||Function("return this")(),Ct=Lt.Symbol,Oc=Object.prototype,yg=Oc.hasOwnProperty,bg=Oc.toString,$s=Ct?Ct.toStringTag:void 0;function _g(i){var t=yg.call(i,$s),e=i[$s];try{i[$s]=void 0;var s=!0}catch{}var r=bg.call(i);return s&&(t?i[$s]=e:delete i[$s]),r}var Tg=Object.prototype,xg=Tg.toString;function Sg(i){return xg.call(i)}var wg="[object Null]",Cg="[object Undefined]",kc=Ct?Ct.toStringTag:void 0;function ps(i){return i==null?i===void 0?Cg:wg:kc&&kc in Object(i)?_g(i):Sg(i)}function Te(i){return i!=null&&typeof i=="object"}var Og="[object Symbol]";function oi(i){return typeof i=="symbol"||Te(i)&&ps(i)==Og}function kg(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 $t=Array.isArray,Mc=Ct?Ct.prototype:void 0,Dc=Mc?Mc.toString:void 0;function jc(i){if(typeof i=="string")return i;if($t(i))return kg(i,jc)+"";if(oi(i))return Dc?Dc.call(i):"";var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}var Mg=/\s/;function Dg(i){for(var t=i.length;t--&&Mg.test(i.charAt(t)););return t}var jg=/^\s+/;function Ig(i){return i&&i.slice(0,Dg(i)+1).replace(jg,"")}function qt(i){var t=typeof i;return i!=null&&(t=="object"||t=="function")}var Ic=NaN,Eg=/^[-+]0x[0-9a-f]+$/i,Pg=/^0b[01]+$/i,Ag=/^0o[0-7]+$/i,Lg=parseInt;function Ec(i){if(typeof i=="number")return i;if(oi(i))return Ic;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=Ig(i);var e=Pg.test(i);return e||Ag.test(i)?Lg(i.slice(2),e?2:8):Eg.test(i)?Ic:+i}function Fg(i){return i}var Rg="[object AsyncFunction]",Bg="[object Function]",Wg="[object GeneratorFunction]",Xg="[object Proxy]";function Pc(i){if(!qt(i))return!1;var t=ps(i);return t==Bg||t==Wg||t==Rg||t==Xg}var Cn=Lt["__core-js_shared__"],Ac=function(){var i=/[^.]+$/.exec(Cn&&Cn.keys&&Cn.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function zg(i){return!!Ac&&Ac in i}var Hg=Function.prototype,Yg=Hg.toString;function Xe(i){if(i!=null){try{return Yg.call(i)}catch{}try{return i+""}catch{}}return""}var Vg=/[\\^$.*+?()[\]{}|]/g,Gg=/^\[object .+?Constructor\]$/,Ng=Function.prototype,Ug=Object.prototype,$g=Ng.toString,qg=Ug.hasOwnProperty,Kg=RegExp("^"+$g.call(qg).replace(Vg,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Zg(i){if(!qt(i)||zg(i))return!1;var t=Pc(i)?Kg:Gg;return t.test(Xe(i))}function Jg(i,t){return i==null?void 0:i[t]}function ze(i,t){var e=Jg(i,t);return Zg(e)?e:void 0}var On=ze(Lt,"WeakMap"),Lc=Object.create,Qg=function(){function i(){}return function(t){if(!qt(t))return{};if(Lc)return Lc(t);i.prototype=t;var e=new i;return i.prototype=void 0,e}}();function tf(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 ef=800,sf=16,rf=Date.now;function nf(i){var t=0,e=0;return function(){var s=rf(),r=sf-(s-e);if(e=s,r>0){if(++t>=ef)return arguments[0]}else t=0;return i.apply(void 0,arguments)}}function of(i){return function(){return i}}var ai=function(){try{var i=ze(Object,"defineProperty");return i({},"",{}),i}catch{}}(),af=ai?function(i,t){return ai(i,"toString",{configurable:!0,enumerable:!1,value:of(t),writable:!0})}:Fg,cf=nf(af);function hf(i,t){for(var e=-1,s=i==null?0:i.length;++e<s&&t(i[e],e,i)!==!1;);return i}var lf=9007199254740991,uf=/^(?:0|[1-9]\d*)$/;function kn(i,t){var e=typeof i;return t=t??lf,!!t&&(e=="number"||e!="symbol"&&uf.test(i))&&i>-1&&i%1==0&&i<t}function df(i,t,e){t=="__proto__"&&ai?ai(i,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):i[t]=e}function Mn(i,t){return i===t||i!==i&&t!==t}var gf=Object.prototype,ff=gf.hasOwnProperty;function Fc(i,t,e){var s=i[t];(!(ff.call(i,t)&&Mn(s,e))||e===void 0&&!(t in i))&&df(i,t,e)}var Rc=Math.max;function pf(i,t,e){return t=Rc(t===void 0?i.length-1:t,0),function(){for(var s=arguments,r=-1,n=Rc(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),tf(i,this,a)}}var mf=9007199254740991;function Dn(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=mf}function vf(i){return i!=null&&Dn(i.length)&&!Pc(i)}var yf=Object.prototype;function Bc(i){var t=i&&i.constructor,e=typeof t=="function"&&t.prototype||yf;return i===e}function bf(i,t){for(var e=-1,s=Array(i);++e<i;)s[e]=t(e);return s}var _f="[object Arguments]";function Wc(i){return Te(i)&&ps(i)==_f}var Xc=Object.prototype,Tf=Xc.hasOwnProperty,xf=Xc.propertyIsEnumerable,jn=Wc(function(){return arguments}())?Wc:function(i){return Te(i)&&Tf.call(i,"callee")&&!xf.call(i,"callee")};function Sf(){return!1}var zc=typeof M=="object"&&M&&!M.nodeType&&M,Hc=zc&&typeof module=="object"&&module&&!module.nodeType&&module,wf=Hc&&Hc.exports===zc,Yc=wf?Lt.Buffer:void 0,Cf=Yc?Yc.isBuffer:void 0,ci=Cf||Sf,Of="[object Arguments]",kf="[object Array]",Mf="[object Boolean]",Df="[object Date]",jf="[object Error]",If="[object Function]",Ef="[object Map]",Pf="[object Number]",Af="[object Object]",Lf="[object RegExp]",Ff="[object Set]",Rf="[object String]",Bf="[object WeakMap]",Wf="[object ArrayBuffer]",Xf="[object DataView]",zf="[object Float32Array]",Hf="[object Float64Array]",Yf="[object Int8Array]",Vf="[object Int16Array]",Gf="[object Int32Array]",Nf="[object Uint8Array]",Uf="[object Uint8ClampedArray]",$f="[object Uint16Array]",qf="[object Uint32Array]",H={};H[zf]=H[Hf]=H[Yf]=H[Vf]=H[Gf]=H[Nf]=H[Uf]=H[$f]=H[qf]=!0,H[Of]=H[kf]=H[Wf]=H[Mf]=H[Xf]=H[Df]=H[jf]=H[If]=H[Ef]=H[Pf]=H[Af]=H[Lf]=H[Ff]=H[Rf]=H[Bf]=!1;function Kf(i){return Te(i)&&Dn(i.length)&&!!H[ps(i)]}function In(i){return function(t){return i(t)}}var Vc=typeof M=="object"&&M&&!M.nodeType&&M,qs=Vc&&typeof module=="object"&&module&&!module.nodeType&&module,Zf=qs&&qs.exports===Vc,En=Zf&&Cc.process,ms=function(){try{var i=qs&&qs.require&&qs.require("util").types;return i||En&&En.binding&&En.binding("util")}catch{}}(),Gc=ms&&ms.isTypedArray,Nc=Gc?In(Gc):Kf,Jf=Object.prototype,Qf=Jf.hasOwnProperty;function tp(i,t){var e=$t(i),s=!e&&jn(i),r=!e&&!s&&ci(i),n=!e&&!s&&!r&&Nc(i),o=e||s||r||n,a=o?bf(i.length,String):[],c=a.length;for(var h in i)Qf.call(i,h)&&!(o&&(h=="length"||r&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||kn(h,c)))&&a.push(h);return a}function Uc(i,t){return function(e){return i(t(e))}}var ep=Uc(Object.keys,Object),sp=Object.prototype,rp=sp.hasOwnProperty;function ip(i){if(!Bc(i))return ep(i);var t=[];for(var e in Object(i))rp.call(i,e)&&e!="constructor"&&t.push(e);return t}function np(i){return vf(i)?tp(i):ip(i)}var op=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ap=/^\w*$/;function cp(i,t){if($t(i))return!1;var e=typeof i;return e=="number"||e=="symbol"||e=="boolean"||i==null||oi(i)?!0:ap.test(i)||!op.test(i)||t!=null&&i in Object(t)}var Ks=ze(Object,"create");function hp(){this.__data__=Ks?Ks(null):{},this.size=0}function lp(i){var t=this.has(i)&&delete this.__data__[i];return this.size-=t?1:0,t}var up="__lodash_hash_undefined__",dp=Object.prototype,gp=dp.hasOwnProperty;function fp(i){var t=this.__data__;if(Ks){var e=t[i];return e===up?void 0:e}return gp.call(t,i)?t[i]:void 0}var pp=Object.prototype,mp=pp.hasOwnProperty;function vp(i){var t=this.__data__;return Ks?t[i]!==void 0:mp.call(t,i)}var yp="__lodash_hash_undefined__";function bp(i,t){var e=this.__data__;return this.size+=this.has(i)?0:1,e[i]=Ks&&t===void 0?yp:t,this}function He(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])}}He.prototype.clear=hp,He.prototype.delete=lp,He.prototype.get=fp,He.prototype.has=vp,He.prototype.set=bp;function _p(){this.__data__=[],this.size=0}function hi(i,t){for(var e=i.length;e--;)if(Mn(i[e][0],t))return e;return-1}var Tp=Array.prototype,xp=Tp.splice;function Sp(i){var t=this.__data__,e=hi(t,i);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():xp.call(t,e,1),--this.size,!0}function wp(i){var t=this.__data__,e=hi(t,i);return e<0?void 0:t[e][1]}function Cp(i){return hi(this.__data__,i)>-1}function Op(i,t){var e=this.__data__,s=hi(e,i);return s<0?(++this.size,e.push([i,t])):e[s][1]=t,this}function oe(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])}}oe.prototype.clear=_p,oe.prototype.delete=Sp,oe.prototype.get=wp,oe.prototype.has=Cp,oe.prototype.set=Op;var Zs=ze(Lt,"Map");function kp(){this.size=0,this.__data__={hash:new He,map:new(Zs||oe),string:new He}}function Mp(i){var t=typeof i;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?i!=="__proto__":i===null}function li(i,t){var e=i.__data__;return Mp(t)?e[typeof t=="string"?"string":"hash"]:e.map}function Dp(i){var t=li(this,i).delete(i);return this.size-=t?1:0,t}function jp(i){return li(this,i).get(i)}function Ip(i){return li(this,i).has(i)}function Ep(i,t){var e=li(this,i),s=e.size;return e.set(i,t),this.size+=e.size==s?0:1,this}function ae(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])}}ae.prototype.clear=kp,ae.prototype.delete=Dp,ae.prototype.get=jp,ae.prototype.has=Ip,ae.prototype.set=Ep;var Pp="Expected a function";function Pn(i,t){if(typeof i!="function"||t!=null&&typeof t!="function")throw new TypeError(Pp);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(Pn.Cache||ae),e}Pn.Cache=ae;var Ap=500;function Lp(i){var t=Pn(i,function(s){return e.size===Ap&&e.clear(),s}),e=t.cache;return t}var Fp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rp=/\\(\\)?/g,Bp=Lp(function(i){var t=[];return i.charCodeAt(0)===46&&t.push(""),i.replace(Fp,function(e,s,r,n){t.push(r?n.replace(Rp,"$1"):s||e)}),t});function Wp(i){return i==null?"":jc(i)}function ui(i,t){return $t(i)?i:cp(i,t)?[i]:Bp(Wp(i))}function An(i){if(typeof i=="string"||oi(i))return i;var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}function Xp(i,t){t=ui(t,i);for(var e=0,s=t.length;i!=null&&e<s;)i=i[An(t[e++])];return e&&e==s?i:void 0}function $c(i,t){for(var e=-1,s=t.length,r=i.length;++e<s;)i[r+e]=t[e];return i}var qc=Ct?Ct.isConcatSpreadable:void 0;function zp(i){return $t(i)||jn(i)||!!(qc&&i&&i[qc])}function Hp(i,t,e,s,r){var n=-1,o=i.length;for(e||(e=zp),r||(r=[]);++n<o;){var a=i[n];e(a)?$c(r,a):r[r.length]=a}return r}function Ln(i){var t=i==null?0:i.length;return t?Hp(i):[]}function Yp(i){return cf(pf(i,void 0,Ln),i+"")}var Vp=Uc(Object.getPrototypeOf,Object);function Gp(){this.__data__=new oe,this.size=0}function Np(i){var t=this.__data__,e=t.delete(i);return this.size=t.size,e}function Up(i){return this.__data__.get(i)}function $p(i){return this.__data__.has(i)}var qp=200;function Kp(i,t){var e=this.__data__;if(e instanceof oe){var s=e.__data__;if(!Zs||s.length<qp-1)return s.push([i,t]),this.size=++e.size,this;e=this.__data__=new ae(s)}return e.set(i,t),this.size=e.size,this}function ce(i){var t=this.__data__=new oe(i);this.size=t.size}ce.prototype.clear=Gp,ce.prototype.delete=Np,ce.prototype.get=Up,ce.prototype.has=$p,ce.prototype.set=Kp;var Kc=typeof M=="object"&&M&&!M.nodeType&&M,Zc=Kc&&typeof module=="object"&&module&&!module.nodeType&&module,Zp=Zc&&Zc.exports===Kc,Jc=Zp?Lt.Buffer:void 0;Jc&&Jc.allocUnsafe;function Jp(i,t){return i.slice()}function Qp(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 tm(){return[]}var em=Object.prototype,sm=em.propertyIsEnumerable,Qc=Object.getOwnPropertySymbols,rm=Qc?function(i){return i==null?[]:(i=Object(i),Qp(Qc(i),function(t){return sm.call(i,t)}))}:tm;function im(i,t,e){var s=t(i);return $t(i)?s:$c(s,e(i))}function Fn(i){return im(i,np,rm)}var Rn=ze(Lt,"DataView"),Bn=ze(Lt,"Promise"),Wn=ze(Lt,"Set"),th="[object Map]",nm="[object Object]",eh="[object Promise]",sh="[object Set]",rh="[object WeakMap]",ih="[object DataView]",om=Xe(Rn),am=Xe(Zs),cm=Xe(Bn),hm=Xe(Wn),lm=Xe(On),Ft=ps;(Rn&&Ft(new Rn(new ArrayBuffer(1)))!=ih||Zs&&Ft(new Zs)!=th||Bn&&Ft(Bn.resolve())!=eh||Wn&&Ft(new Wn)!=sh||On&&Ft(new On)!=rh)&&(Ft=function(i){var t=ps(i),e=t==nm?i.constructor:void 0,s=e?Xe(e):"";if(s)switch(s){case om:return ih;case am:return th;case cm:return eh;case hm:return sh;case lm:return rh}return t});var um=Object.prototype,dm=um.hasOwnProperty;function gm(i){var t=i.length,e=new i.constructor(t);return t&&typeof i[0]=="string"&&dm.call(i,"index")&&(e.index=i.index,e.input=i.input),e}var di=Lt.Uint8Array;function Xn(i){var t=new i.constructor(i.byteLength);return new di(t).set(new di(i)),t}function fm(i,t){var e=Xn(i.buffer);return new i.constructor(e,i.byteOffset,i.byteLength)}var pm=/\w*$/;function mm(i){var t=new i.constructor(i.source,pm.exec(i));return t.lastIndex=i.lastIndex,t}var nh=Ct?Ct.prototype:void 0,oh=nh?nh.valueOf:void 0;function vm(i){return oh?Object(oh.call(i)):{}}function ym(i,t){var e=Xn(i.buffer);return new i.constructor(e,i.byteOffset,i.length)}var bm="[object Boolean]",_m="[object Date]",Tm="[object Map]",xm="[object Number]",Sm="[object RegExp]",wm="[object Set]",Cm="[object String]",Om="[object Symbol]",km="[object ArrayBuffer]",Mm="[object DataView]",Dm="[object Float32Array]",jm="[object Float64Array]",Im="[object Int8Array]",Em="[object Int16Array]",Pm="[object Int32Array]",Am="[object Uint8Array]",Lm="[object Uint8ClampedArray]",Fm="[object Uint16Array]",Rm="[object Uint32Array]";function Bm(i,t,e){var s=i.constructor;switch(t){case km:return Xn(i);case bm:case _m:return new s(+i);case Mm:return fm(i);case Dm:case jm:case Im:case Em:case Pm:case Am:case Lm:case Fm:case Rm:return ym(i);case Tm:return new s;case xm:case Cm:return new s(i);case Sm:return mm(i);case wm:return new s;case Om:return vm(i)}}function Wm(i){return typeof i.constructor=="function"&&!Bc(i)?Qg(Vp(i)):{}}var Xm="[object Map]";function zm(i){return Te(i)&&Ft(i)==Xm}var ah=ms&&ms.isMap,Hm=ah?In(ah):zm,Ym="[object Set]";function Vm(i){return Te(i)&&Ft(i)==Ym}var ch=ms&&ms.isSet,Gm=ch?In(ch):Vm,hh="[object Arguments]",Nm="[object Array]",Um="[object Boolean]",$m="[object Date]",qm="[object Error]",lh="[object Function]",Km="[object GeneratorFunction]",Zm="[object Map]",Jm="[object Number]",uh="[object Object]",Qm="[object RegExp]",tv="[object Set]",ev="[object String]",sv="[object Symbol]",rv="[object WeakMap]",iv="[object ArrayBuffer]",nv="[object DataView]",ov="[object Float32Array]",av="[object Float64Array]",cv="[object Int8Array]",hv="[object Int16Array]",lv="[object Int32Array]",uv="[object Uint8Array]",dv="[object Uint8ClampedArray]",gv="[object Uint16Array]",fv="[object Uint32Array]",z={};z[hh]=z[Nm]=z[iv]=z[nv]=z[Um]=z[$m]=z[ov]=z[av]=z[cv]=z[hv]=z[lv]=z[Zm]=z[Jm]=z[uh]=z[Qm]=z[tv]=z[ev]=z[sv]=z[uv]=z[dv]=z[gv]=z[fv]=!0,z[qm]=z[lh]=z[rv]=!1;function gi(i,t,e,s,r,n){var o;if(o!==void 0)return o;if(!qt(i))return i;var a=$t(i);if(a)o=gm(i);else{var c=Ft(i),h=c==lh||c==Km;if(ci(i))return Jp(i);if(c==uh||c==hh||h&&!r)o=h?{}:Wm(i);else{if(!z[c])return r?i:{};o=Bm(i,c)}}n||(n=new ce);var l=n.get(i);if(l)return l;n.set(i,o),Gm(i)?i.forEach(function(g){o.add(gi(g,t,e,g,i,n))}):Hm(i)&&i.forEach(function(g,f){o.set(f,gi(g,t,e,f,i,n))});var u=Fn,d=a?void 0:u(i);return hf(d||i,function(g,f){d&&(f=g,g=i[f]),Fc(o,f,gi(g,t,e,f,i,n))}),o}var pv=1,mv=4;function Ye(i){return gi(i,pv|mv)}var vv="__lodash_hash_undefined__";function yv(i){return this.__data__.set(i,vv),this}function bv(i){return this.__data__.has(i)}function fi(i){var t=-1,e=i==null?0:i.length;for(this.__data__=new ae;++t<e;)this.add(i[t])}fi.prototype.add=fi.prototype.push=yv,fi.prototype.has=bv;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 Tv(i,t){return i.has(t)}var xv=1,Sv=2;function dh(i,t,e,s,r,n){var o=e&xv,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,g=e&Sv?new fi:void 0;for(n.set(i,t),n.set(t,i);++u<a;){var f=i[u],p=t[u];if(s)var m=o?s(p,f,u,t,i,n):s(f,p,u,i,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(g){if(!_v(t,function(b,T){if(!Tv(g,T)&&(f===b||r(f,b,e,s,n)))return g.push(T)})){d=!1;break}}else if(!(f===p||r(f,p,e,s,n))){d=!1;break}}return n.delete(i),n.delete(t),d}function wv(i){var t=-1,e=Array(i.size);return i.forEach(function(s,r){e[++t]=[r,s]}),e}function Cv(i){var t=-1,e=Array(i.size);return i.forEach(function(s){e[++t]=s}),e}var Ov=1,kv=2,Mv="[object Boolean]",Dv="[object Date]",jv="[object Error]",Iv="[object Map]",Ev="[object Number]",Pv="[object RegExp]",Av="[object Set]",Lv="[object String]",Fv="[object Symbol]",Rv="[object ArrayBuffer]",Bv="[object DataView]",gh=Ct?Ct.prototype:void 0,zn=gh?gh.valueOf:void 0;function Wv(i,t,e,s,r,n,o){switch(e){case Bv:if(i.byteLength!=t.byteLength||i.byteOffset!=t.byteOffset)return!1;i=i.buffer,t=t.buffer;case Rv:return!(i.byteLength!=t.byteLength||!n(new di(i),new di(t)));case Mv:case Dv:case Ev:return Mn(+i,+t);case jv:return i.name==t.name&&i.message==t.message;case Pv:case Lv:return i==t+"";case Iv:var a=wv;case Av:var c=s&Ov;if(a||(a=Cv),i.size!=t.size&&!c)return!1;var h=o.get(i);if(h)return h==t;s|=kv,o.set(i,t);var l=dh(a(i),a(t),s,r,n,o);return o.delete(i),l;case Fv:if(zn)return zn.call(i)==zn.call(t)}return!1}var Xv=1,zv=Object.prototype,Hv=zv.hasOwnProperty;function Yv(i,t,e,s,r,n){var o=e&Xv,a=Fn(i),c=a.length,h=Fn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:Hv.call(t,d)))return!1}var g=n.get(i),f=n.get(t);if(g&&f)return g==t&&f==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 w=i.constructor,O=t.constructor;w!=O&&"constructor"in i&&"constructor"in t&&!(typeof w=="function"&&w instanceof w&&typeof O=="function"&&O instanceof O)&&(p=!1)}return n.delete(i),n.delete(t),p}var Vv=1,fh="[object Arguments]",ph="[object Array]",pi="[object Object]",Gv=Object.prototype,mh=Gv.hasOwnProperty;function Nv(i,t,e,s,r,n){var o=$t(i),a=$t(t),c=o?ph:Ft(i),h=a?ph:Ft(t);c=c==fh?pi:c,h=h==fh?pi:h;var l=c==pi,u=h==pi,d=c==h;if(d&&ci(i)){if(!ci(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new ce),o||Nc(i)?dh(i,t,e,s,r,n):Wv(i,t,c,e,s,r,n);if(!(e&Vv)){var g=l&&mh.call(i,"__wrapped__"),f=u&&mh.call(t,"__wrapped__");if(g||f){var p=g?i.value():i,m=f?t.value():t;return n||(n=new ce),r(p,m,e,s,n)}}return d?(n||(n=new ce),Yv(i,t,e,s,r,n)):!1}function vh(i,t,e,s,r){return i===t?!0:i==null||t==null||!Te(i)&&!Te(t)?i!==i&&t!==t:Nv(i,t,e,s,vh,r)}function Uv(i,t){return i!=null&&t in Object(i)}function $v(i,t,e){t=ui(t,i);for(var s=-1,r=t.length,n=!1;++s<r;){var o=An(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&&Dn(r)&&kn(o,r)&&($t(i)||jn(i)))}function qv(i,t){return i!=null&&$v(i,t,Uv)}var Hn=function(){return Lt.Date.now()},Kv="Expected a function",Zv=Math.max,Jv=Math.min;function Qv(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(Kv);t=Ec(t)||0,qt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?Zv(Ec(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function g(k){var j=s,D=r;return s=r=void 0,h=k,o=i.apply(D,j),o}function f(k){return h=k,a=setTimeout(b,t),l?g(k):o}function p(k){var j=k-c,D=k-h,R=t-j;return u?Jv(R,n-D):R}function m(k){var j=k-c,D=k-h;return c===void 0||j>=t||j<0||u&&D>=n}function b(){var k=Hn();if(m(k))return T(k);a=setTimeout(b,p(k))}function T(k){return a=void 0,d&&s?g(k):(s=r=void 0,o)}function x(){a!==void 0&&clearTimeout(a),h=0,s=c=r=a=void 0}function w(){return a===void 0?o:T(Hn())}function O(){var k=Hn(),j=m(k);if(s=arguments,r=this,c=k,j){if(a===void 0)return f(c);if(u)return clearTimeout(a),a=setTimeout(b,t),g(c)}return a===void 0&&(a=setTimeout(b,t)),o}return O.cancel=x,O.flush=w,O}function t0(i,t){return vh(i,t)}function e0(i,t,e,s){if(!qt(i))return i;t=ui(t,i);for(var r=-1,n=t.length,o=n-1,a=i;a!=null&&++r<n;){var c=An(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:kn(t[r+1])?[]:{})}Fc(a,c,h),a=a[c]}return i}function s0(i,t,e){for(var s=-1,r=t.length,n={};++s<r;){var o=t[s],a=Xp(i,o);e(a,o)&&e0(n,ui(o,i),a)}return n}function r0(i,t){return s0(i,t,function(e,s){return qv(i,s)})}var i0=Yp(function(i,t){return i==null?{}:r0(i,t)}),n0="Expected a function";function o0(i,t,e){var s=!0,r=!0;if(typeof i!="function")throw new TypeError(n0);return qt(e)&&(s="leading"in e?!!e.leading:s,r="trailing"in e?!!e.trailing:r),Qv(i,t,{leading:s,maxWait:t,trailing:r})}class a0{addTrackItem(t){const e=mg(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=nt(r.display.from,this.tScale),a=nt(r.display.to-r.display.from,this.tScale,r.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof Ut){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(t0(e,t))return;const r=this.getObjects(...ys.objectTypes,"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 St(r);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={};t.forEach(s=>{const{id:r,left:n,width:o}=s,a=this.trackItemsMap[r],c=W(n,this.tScale),h=W(o,this.tScale),l={from:c,to:c+h},u={display:l};s instanceof Ut&&(u.trim=s.trim),s.display=l,e[r]={...a,...u}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),r=Us(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=Us(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):[];!t&&this.pauseEventListeners(),this.trackItemIds.forEach(s=>{if(e.includes(s))return;const r=this.getObjects().find(c=>c.id===s),n=this.trackItemsMap[s],o=nt(n.display.from,this.tScale),a=nt(n.display.to-n.display.from,this.tScale);r.set({left:o,width:a}),r.setCoords()}),!t&&this.resumeEventListeners()}getTrackItems(){return this.getObjects(...ys.objectTypes)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const yh=i=>{switch(i){case"top":return 1e3;case"bottom":return 1e3;case"center":return 8;default:return 1e3}};class c0{findOrCreateTrack(t,{trackId:e,trackIndex:s}){if(e){const o=this.tracks.find(a=>a.id===e);if(o)return o.items.push(t.id),e}const r=this.getItemAccepts(t.type),n={id:Ns(),items:[t.id],type:t.type,accepts:r,magnetic:!1,static:!1};return s!==void 0?this.tracks.splice(s,0,n):this.tracks.push(n),this.renderTracks(),n.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")||We,n=new r({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=yh("top"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=yh("center"),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.getItemSize(a.type),l=C.getClass("Track")||Gt,u=this.getItemAccepts(a.type),d=new l({id:a.id,top:s,left:0,height:h,width:t,tScale:this.tScale,accepts:u,items:a.items,magnetic:a.magnetic,static:a.static});s+=h,this.insertAt(0,d)}});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 bh(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,g=u.left+u.width;if(s.corner==="mr"){const f=Math.abs(c-g),p=Math.abs(c-d),m=W(1,e.tScale);if(f<n)if(e instanceof Ut){const b=g-e.left,T=b-a,x=W(T,e.tScale,e.playbackRate),w=e.trim.to+x;if(b<m||b<m)return;w<=e.duration&&(e.set({width:b,scaleX:1}),e.trim.to=w,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:g-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(p<n)if(e instanceof Ut){const b=d-e.left,T=b-a,x=W(T,e.tScale,e.playbackRate),w=e.trim.to+x;if(b<m)return;w<=e.duration&&(e.set({width:b,scaleX:1}),e.trim.to=w,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 f=Math.abs(o-d),p=Math.abs(o-g);if(f<n)if(e instanceof Ut){const m=c-d,b=m-a,T=W(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 Ut){const m=c-g,b=m-a,T=W(b,e.tScale,e.playbackRate),x=e.trim.from-T;x>=0&&(e.set({left:g,width:m,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:g,width:c-g,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}}),h&&(e.setCoords(),t.requestRenderAll())}}function h0(i){i.on("object:resizing",bh.bind(i))}function l0(i){i.off("object:resizing",bh.bind(i))}const Js=100,Yn=0,mi=5,_h=3,u0=25,vs={scrollInterval:null};function Th(i){const t=u0-_h,e=(Js-i)/Js;return _h+t*e}function d0(i,t){vs.scrollInterval&&clearInterval(vs.scrollInterval);const e=t.target,s=e.getBoundingRect();vs.scrollInterval=setInterval(()=>{const r=i.viewportTransform,n=i.getViewportPoint(t.e);if(n.x>i.width-Js&&e.left+s.width<i.bounding.width){const o=Th(i.width-n.x);e.set("left",e.left+o),i.setViewportPos(r[4]-o,r[5])}if(n.x<Js&&e.left>0&&r[4]<Js&&r[4]<i.spacing.left){const o=Th(n.x);e.set("left",e.left-o),i.setViewportPos(r[4]+o,r[5])}n.y>i.height-Yn&&e.top+s.height<i.bounding.height+80&&(e.set("top",e.top+mi),i.setViewportPos(r[4],r[5]-mi)),n.y<Yn&&e.top>-80&&-r[5]>Yn&&(e.set("top",e.top-mi),i.setViewportPos(r[4],r[5]+mi)),e.setCoords(),i.requestRenderAll()},16)}function g0(){vs.scrollInterval&&(clearInterval(vs.scrollInterval),vs.scrollInterval=null)}function xh(){g0()}function Sh(i){d0(this,i)}function f0(i){console.log("addScrollEvents"),i.on("mouse:up",xh),i.on("object:moving",Sh.bind(i))}function p0(i){i.off("mouse:up",xh),i.off("object:moving",Sh.bind(i))}function wh(i){const t=i.target,e=i.target.canvas;if(i.action==="resizing"&&t instanceof At&&e){const s=t.id,r=e.getObjects("Transition").find(n=>n.id===s);if(r&&r instanceof At){const n=Ye(this.transitionsMap),o={...n,[s]:{...n[s],width:r.width,duration:r.duration}};this.transitionsMap=o,this.updateState()}}}function m0(i){i.on("object:modified",wh)}function v0(i){i.off("object:modified",wh)}const Ch={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},Q=()=>Ch,lt=i=>{Object.assign(Ch,i)},Oh=10,vi=(i,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&i.remove(e))},kh=(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(Eh(n.left,n.width,n.top,n.height)),s.push(Eh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},Mh=(i,t)=>{const e=[],s=[];i.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Oh&&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<Oh&&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},Dh=(i,t,e)=>{i.forEach(s=>{const r=y0(e.getZoom());s.orientation==="H"?e.add(jh([0,s.lineGuide-r.strokeWidth/2,2e3,s.lineGuide-r.strokeWidth/2],{...r,stroke:e.guideLineColor})):s.orientation==="V"&&e.add(jh([s.lineGuide-r.strokeWidth/2,0,s.lineGuide-r.strokeWidth/2,2e3],{...r,stroke:e.guideLineColor}))})},y0=i=>({strokeWidth:2/i}),jh=(i,t)=>new be(i,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),Ih=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"}]}},Eh=(i,t,e,s)=>[i,i+t].map(n=>({val:n,start:e,end:e+s})),Ph=(i,t)=>{i.remove(...t),t=[]},Ah=i=>{i.forEach(t=>t.setSelected(!1))},Lh=i=>i instanceof We,b0=i=>Object.assign({},{left:16,right:80},i),_0=["touchstart","touchmove","touchend"],T0=i=>_0.includes(i.type)||i.pointerType==="touch";function Fh(i){const t=this;if(!t)return;const s=Q().enableGuideRedraw,r=t.getScenePoint(i.e),n=t.getObjects("Helper","Track"),o=n.find(f=>{const p=f.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(f=>{Lh(f)&&(f===o?f.setSelected(!0):f.setSelected(!1))}),Lh(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=kh(l,t),d=Ih(c),g=Mh(u,d);s&&(vi(t,a),g.length&&Dh(g,h,t),lt({enableGuideRedraw:!1}),setTimeout(()=>lt({enableGuideRedraw:!0}),50)),g.forEach(f=>{f.orientation==="V"?c.left=f.lineGuide+f.offset:c.top=f.lineGuide+f.offset})}function Rh(i){const t=i.target.canvas;t&&(vi(t,t.getObjects()),Ah(t.getObjects("Helper")),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function Bh(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=kh(c,t),l=h.vertical.filter(g=>{const f=g.val;if(n==="ml")return f<=o.left;if(n==="mr")return f>=o.left+o.width});h.vertical=l;const u=Ih(s),d=Mh(h,u);vi(t,e),d.length&&Dh(d,o,t)}}function x0(i){i.on("object:moving",Fh.bind(i)),i.on("object:modified",Rh.bind(i)),i.on("object:resizing",Bh.bind(i))}function S0(i){i.off("object:moving",Fh.bind(i)),i.off("object:modified",Rh.bind(i)),i.off("object:resizing",Bh.bind(i))}function Vn(i,t,e){const s=i.indexOf(t),r=i.indexOf(e);return s===-1||r===-1?null:r-s}function Wh(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 Xh(i){const t=Q(),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 St?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(g=>d.includes(g))}).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(g=>u.items.includes(g.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(f=>f.items.includes(u.id));if(!d)return;const g=d.id;t.activeTrackToItemsMap[g]?t.activeTrackToItemsMap[g].push(u):t.activeTrackToItemsMap[g]=[u]}),t.primaryMovingObjects=r.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof At)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,g=t.trackTopToIdMap[d];if(t.primaryTracks[g])t.primaryTracks[g].objects.push(u);else{const f=Vn(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[g]={objects:[u],index:f}}}),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,g=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[g])t.secondaryTracks[g].objects.push(u);else{const f=Vn(t.trackTops,h.top,d);t.secondaryTracks[g]={objects:[u],index:f}}}),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 g=new ls({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return g.draggedObject=u,g}),e.add(...t.placeholderMovingObjects)))}function w0(i){i.on("before:transform",Xh.bind(i))}function C0(i){i.off("before:transform",Xh.bind(i))}const Cs=class Cs extends J{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,Cs.ownDefaults),this.id=e.id}static createControls(){return{controls:Sn()}}static getDefaults(){return{...super.getDefaults(),...Cs.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const r=nt(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=Ys,e.strokeStyle=Be,e.stroke(),e.restore())}};S(Cs,"type","TransitionGuide"),S(Cs,"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 Qs=Cs;const O0=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(h=>{var g,f;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(r.has(l)||r.set(l,[]),r.has(u)||r.set(u,[]),(g=r.get(l))==null||g.push(h),(f=r.get(u))==null||f.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 g=Object.values(e).find(f=>f.fromId===u&&f.kind!=="none");if(!g)break;l.push(g),u=g.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},k0=["text","image","video","audio","caption","template"];function zh(){const i=Q();Ph(this,i.placeholderMovingObjects)}function M0(i){const t=i.target.left;i.target.left=Math.max(t,0)}function Hh(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 D0(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 j0=(i,t,e)=>!(e<0||Hh(i,{...t.getBoundingRect(),left:e})),Yh=i=>{const e=Q().draggingOverTrack,s=e==null?void 0:e.accepts.map(n=>n.toLowerCase()),r=i.type.toLowerCase();return i instanceof ne,e&&(s==null?void 0:s.includes(r))};function I0(i){Q().isPointerOverHelperTrack?i.opacity=0:i.opacity=1}function E0(){const i=Q(),t=i.primaryMovingObjects[0];return{top:i.objectInitialPositions[t.id].top,left:i.objectInitialPositions[t.id].left}}function P0(i){const t=i.getBoundingRect(),e=Q(),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 A0(i,t,e,s){const n=i.canvas.getActiveObjects().map(l=>l.id),o=D0(i,t),a=e.filter(l=>!n.includes(l.id)),c=j0(a,i,o),h=Q();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,g)=>Math.abs(g-s.x)<Math.abs(d-s.x)?g:d),top:l.top}}return{left:o,top:t.top}}const L0=(i,t)=>{i.forEach((e,s)=>{e.set({left:t[s]})})},Vh=o0(i=>{const t=i.target.canvas;M0(i);const e=Q(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];k0.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=Yh(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=Gh(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],g=u-l,f=l-d;if(!u)a=l;else if(l<=i.pointer.x&&l+g/2>=i.pointer.x){a=l;break}else if(l-f/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{if(e.orderNormalTrack=!1,e.updateItemsInTrack&&e.updateItemsInTrack!==s.id){const d=t.getObjects().find(g=>g.id===e.updateItemsInTrack);d!=null&&d.magnetic?F0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]}e.initialTrackPoints.length===0&&s instanceof Gt&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=Gh(e,s));const a=n.find(d=>Hh(r,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,g)=>d.left-g.left),u=l[0];l.forEach((d,g)=>{if(!l[g-1])return;const f=d.left-u.left;c.push(f)}),e.placeholderMovingObjects.forEach((d,g)=>{const f=d.draggedObject;if(f instanceof Qs){d.visible=!1;return}f.setCoords(),I0(d);let p=X0(f,n,i.pointer,a);if(f instanceof ne&&p.isInvalidDrop&&e.draggingOverTrack instanceof Gt){d.opacity=0;const m=i.pointer,b=[...t.viewportTransform],T=m.y-b[5];W0(t,T)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[f.id]={top:p.top,left:p.left+(c[g-1]||0)},d.left=p.left+(c[g-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[f.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),Gh=(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?R0(o,a,c):B0(t,c,e),c};function F0(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 R0(i,t,e){var h;const s=Q(),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=s.primaryMovingObjects[0],u=[...e];if(l){const d=u.findIndex(g=>g>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,nt(l.display.from,r.tScale))}}}function B0(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=O0({trackItemIds:Ye(s),transitionsMap:Ye(n),trackItemsMap:Ye(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 W0(i,t){i.getObjects("Helper").reduce((r,n)=>Math.abs(n.top-t)<Math.abs(r.top-t)?n:r).setSelected(!0)}const X0=(i,t,e,s)=>{const r=Yh(i);return!r&&i instanceof ne?{top:0,left:0,isInvalidDrop:!0}:r?s?i instanceof ne?{top:0,left:0,isInvalidDrop:!0}:A0(i,s,t,e):P0(i):E0()};function z0(i){i.on("mouse:up",zh.bind(i)),i.on("object:moving",Vh)}function H0(i){i.off("mouse:up",zh.bind(i)),i.off("object:moving",Vh)}const Y0=i=>{Q().canvas.fire("track:create",i)},V0=i=>{Q().canvas.fire("track-items:moved",i)},Nh=i=>{var a,c,h;const t=(a=i.target)==null?void 0:a.canvas;if(!t)return;const e=Q(),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=Uh(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 We){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 Gt){const u={isSecondaryOverlapped:N0(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};V0(u)}};function G0(){const i=Q(),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=Vn(i.trackTops,i.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function N0(){const i=G0(),t=Q();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=>Uh(r,n.getBoundingRect()))})}function Uh(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 U0=i=>{i.on("object:modified",Nh)},$0=i=>{i.off("object:modified",Nh)},Gn="drag",$h=`${Gn}:start`,Nn=`${Gn}:end`,Un="timeline",qh=`${Un}:boundingChanged`,Kh=`${Un}:seek`,q0=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(g=>g.fromId===l&&g.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},K0="add:audio",Z0="add:video",J0="add:image",Q0="add:text",ty=["transition","image","video","audio","caption","text"];let st,tr,Ve=[];function ey(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 sy=({width:i,height:t,id:e,left:s,top:r,type:n,duration:o})=>{if(n==="transition")return new Qs({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=C.getClass("PreviewTrackItem")||ne;return new a({top:r,left:s,height:t,width:i,id:e,type:n,duration:o})};function Zh(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(!ty.includes(s))return;const r=e.duration||5e3,n=this;n.discardActiveObject(),n.setActiveIds([]);const o=nt(r,this.tScale),a=n.getItemSize(s),c=n.getTrackItems();if(st=sy({width:o,height:a,id:"TransitionGuide",left:0,top:0,type:s,duration:r}),st.visible=!1,s==="transition"){Ve=n.getObjects("Transition");const p=Ve.filter(m=>m.kind!=="none");Ve.forEach(m=>{const b=c.find(k=>k.id===m.toId),T=c.find(k=>k.id===m.fromId),x=m.width;((b==null?void 0:b.width)||0)>=x/2&&((T==null?void 0:T.width)||0)>=x/2||(m.availableDrop=!1);const w=p.find(k=>k.fromId===m.toId);w&&w.width+x/2>=((b==null?void 0:b.width)||0)&&(m.availableDrop=!1);const O=p.find(k=>k.toId===m.fromId);O&&O.width+x/2>=((T==null?void 0:T.width)||0)&&(m.availableDrop=!1),m.visible=!0})}const h=Q();n.trackIdAfterTransform="",n.positionAfterTransform={};const l=st,u=[st];lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),lt({activeObjects:u});const d=n.getObjects("Track"),g=n.getTrackItems();d.forEach(p=>{const m=g.filter(b=>p.items.includes(b.id));h.trackToItemsMap[p.id]=m,h.trackTopToIdMap[p.top]=p.id,h.trackTops.push(p.top)}),h.trackTops.sort((p,m)=>p-m),h.primaryMovingObjects=u,h.primaryMovingObjects=h.primaryMovingObjects.sort((p,m)=>p.left-m.left),l&&(n.positionBeforeTransform={top:l.top,left:l.left}),h.placeholderMovingObjects=h.primaryMovingObjects.map(p=>{const m=p.getBoundingRect();h.objectInitialPositions[p.id]={top:m.top,left:m.left};const b=new ls({id:`${p.id}-placeholder`,left:m.left,top:m.top,width:m.width,height:m.height});return b.visible=!1,b.draggedObject=p,b}),n.add(...h.placeholderMovingObjects),n.add(st),q.dispatch($h)}const Jh=i=>{const t=Q();Ph(i,t.placeholderMovingObjects),i&&(vi(i,i.getObjects()),Ah(i.getObjects("Helper")))};function Qh(){if(Jh(this),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!st)return;q.dispatch(Nn);const i=this;Ve.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(st)}function tl(i){const t=Q(),e=t.placeholderMovingObjects[0];if(e.visible||(st.visible=!0,e.visible=!0),t.activeObjects[0]instanceof Qs&&(e.visible=!1),!st)return!1;i.e.preventDefault();const s=this,r=s.getViewportPoint(i.e),n=[...this.viewportTransform];st.set({left:r.x-16-n[4],top:r.y-n[5]-st.height/2});const o=ey(r,Ve.filter(c=>c.availableDrop));o&&(tr=o,o.strokeDashArray=[5,1],o.setSelected(!0)),Ve.forEach(c=>{c!==o&&c.setSelected(!1)}),lt({isDragOver:!0}),st.setCoords();const a={target:st,action:"drag",originX:"center",originY:"center",offsetX:r.x-st.left,offsetY:r.y-st.top,scaleX:st.scaleX,scaleY:st.scaleY};t.activeObjects[0].type!=="transitionguide"&&s.fire("object:moving",{target:st,e:i.e,pointer:r,transform:a}),s.requestRenderAll()}function el(i){var o;const t=this;Jh(t);const e=Q(),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=W(a.left,t.tScale);if(s instanceof Gt)if(e.placeholderMovingObjects[0].opacity!==0){const l=$n(s,this.getObjects("Track"));if(s.magnetic){const u=e.initialTrackPoints[e.initialTrackPoints.length-1],d=W(u,t.tScale);yi(n,l,d)}else yi(n,l,c)}else{const l=i.viewportPoint,u=[...t.viewportTransform],d=l.y-u[5],f=t.getObjects("Helper").reduce((m,b)=>Math.abs(b.top-d)<Math.abs(m.top-d)?b:m),p=$n(f,this.getObjects("Track"));yi(n,p,c,!0)}else{const h=$n(s,this.getObjects("Track"));yi(n,h,c,!0)}this.remove(a),this.requestRenderAll();return}if(st){if(tr){const a=tr.id,c=i0(n,["kind","direction"]);Object.keys(c).forEach(T=>{T==="kind"?tr.kind=c[T]:tr[T]=c[T]});const h=Ye(this.trackItemIds),l=Ye(this.transitionsMap),u=Ye(this.trackItemsMap);l[a]={...l[a],...c};const d=q0({trackItemIds:h,transitionsMap:l,trackItemsMap:u}),f=l[a].fromId,p=d.find(T=>T.find(x=>x.id===f))||[],m=ry(p),b=iy(this.trackItemsMap,m);this.trackItemsMap=b,this.transitionsMap[a]={...this.transitionsMap[a],...c},this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ve.forEach(a=>{a.strokeDashArray=[],a.setSelected(!1),a.kind==="none"&&(a.visible=!1)}),t.remove(st),t.requestRenderAll(),q.dispatch(Nn)}}const ry=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}})},iy=(i,t)=>{let e=i;return t.forEach(s=>{e[s.id]=s}),e},$n=(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)},yi=(i,t,e,s)=>{i.type==="image"?q.dispatch(J0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="video"?q.dispatch(Z0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="audio"?q.dispatch(K0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="text"&&q.dispatch(Q0,{payload:{...i,id:fs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function ny(i){i.on("dragover",tl),i.on("dragenter",Zh),i.on("dragleave",Qh),i.on("drop",el)}function oy(i){i.off("dragover",tl),i.off("dragenter",Zh),i.off("dragleave",Qh),i.off("drop",el)}function sl(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 rl(){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 At))return!0;if(n instanceof At&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof St?(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 il(i){const t=this,e=t.getActiveObject();e instanceof St&&(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 nl(i){i.deselected.forEach(t=>{t.setSelected(!1)})}const ay=i=>{i.on("selection:created",rl),i.on("selection:updated",il),i.on("selection:cleared",nl),i.on("mouse:wheel",sl)},cy=i=>{i.off("mouse:wheel",sl),i.off("selection:created",rl),i.off("selection:updated",il),i.off("selection:cleared",nl)},ol=()=>{var n;const i=Q(),t=i.canvas,e=i.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,r=new Set(i.activeObjects.map(o=>o.id));if(s){const o=e.id,c=i.trackToItemsMap[o].sort((f,p)=>f.left-p.left),h=i.placeholderMovingObjects,l=((n=h[0])==null?void 0:n.top)||0,u=h.reduce((f,p)=>f+p.width,0),d=Math.min(...h.map(f=>f.left));let g=0;c.forEach(f=>{r.has(f.id)||f.top===l&&(Math.abs(d-g)<1&&(g+=u),f.left=g,g+=f.width)})}else if(e instanceof Gt&&i.orderNormalTrack){const o=e.items,a=t.getTrackItems().filter(p=>!r.has(p.id)&&o.includes(p.id)),c=a.sort((p,m)=>p.left-m.left),h=i.placeholderMovingObjects[0],l=i.placeholderMovingObjects[i.placeholderMovingObjects.length-1],u=h.left,d=l.left-h.left+l.width,g=c.find((p,m)=>{if(p.left>=u-1)return c[m]}),f=a.filter(p=>p.left>=u-1);if(h.left+d>(g==null?void 0:g.left)){const p=d-(g.left-h.left);f.forEach(m=>{const b=nt(m.display.from,t.tScale);m.left=b+p})}}t.alignTransitionsToTrack(!1)};function hy(i){i.on("object:moving",ol)}function ly(i){i.off("object:moving",ol)}let Rt,qn=!1;function uy(i,t){const e=i.canvas;if(e.objectTypes.includes(i.type)){Rt||(Rt=i);const r=i.top,n=i.height,o=i.left,a=i.width,c=t.x,h=t.y,l=Math.abs(h-(r+n/2))<=Zd;Math.abs(c-o)<=_c&&l||Math.abs(c-o-a)<=_c&&l?(e.hoverCornerItem=!0,i.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,i.hoverCursor="move"),e.requestRenderAll()}}function al(i){const t=this,e=t.findTarget(i.e),s=t.getScenePoint(i.e);e&&(e.isSelected&&Rt&&(e.hoverCursor="default"),uy(e,s))}function cl(){Rt&&(Rt.lockMovementX=!1,Rt.lockMovementY=!1,Rt=void 0)}function hl(i){Rt&&(qn||Rt._renderControls(i.ctx))}function ll(){Rt&&(Rt=void 0,this.requestRenderAll())}function ul(){qn=!0}function dl(){qn=!1}function dy(i){i.on("mouse:out",ll.bind(i)),i.on("mouse:up",cl.bind(i)),i.on("mouse:move",al.bind(i)),i.on("after:render",hl.bind(i)),i.on("object:resizing",ul.bind(i)),i.on("object:modified",dl.bind(i))}function gy(i){i.off("mouse:out",ll.bind(i)),i.off("mouse:up",cl.bind(i)),i.off("mouse:move",al.bind(i)),i.off("after:render",hl.bind(i)),i.off("object:resizing",ul.bind(i)),i.off("object:modified",dl.bind(i))}const fy=i=>{lt({canvas:i}),f0(i),h0(i),m0(i),x0(i),w0(i),z0(i),U0(i),ny(i),ay(i),hy(i),dy(i)},py=i=>{lt({canvas:null}),p0(i),l0(i),v0(i),S0(i),C0(i),H0(i),$0(i),oy(i),cy(i),ly(i),gy(i)};class my{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=nt(e.duration,this.tScale),h=o.left+o.width-c/2,l=o.height,u=new At({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 At){const n=this.getObjects().find(c=>c.id===r.fromId&&!e.includes(c.id));if(!n)return;const o=nt(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(...this.withTransitions);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 f=this.transitionsMap[d];r[d]=f}else{const f={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};r[d]=f}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=r,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),t&&this.resumeEventListeners()}}function gl(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:fs(),items:h.objects.map(p=>p.id),type:c.type,accepts:c.accepts},u=Ln(Object.keys(t).map(p=>t[p].objects.map(m=>m.id)));let d=Us(this.tracks,[...Object.keys(r),...u]);const g=[];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)),w={id:Ns(),items:x,type:T.type,accepts:T.accepts,tempIndex:b};g.push(w)});const f=Wh(l,g);f.length&&d.splice(o,0,...f),this.tracks=d,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function fl(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=Q().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=Ln(Object.keys(e).map(b=>e[b].objects.map(T=>T.id)));let g=Us(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 k=o[O.id];O.left=k==null?void 0:k.left}),this.resumeEventListeners();const x=r.trackId,w=g.find(O=>O.id===x);w==null||w.items.push(...Object.keys(o)),this.tracks=g});const f=this.tracks[u],p=[];Object.keys(e).forEach(b=>{const{objects:T,index:x}=e[b],w=T.filter(j=>j.type!=="transition").map(j=>j.id),[O]=w,k=this.trackItemsMap[O];if(t&&k){const j=this.getItemAccepts(k.type),D={id:Ns(),items:w,type:k.type,accepts:j,tempIndex:x};p.push(D)}else{const j=g[u+x];j==null||j.items.push(...w),this.tracks=g}});const m=Wh(f,p);m.length&&g.splice(u,1,...m),this.tracks=g,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function pl({trackItemIds:i,isOverlapped:t}){var o,a;const[e]=i;if(!e)return;const s=this.getObjects("Transition");if(!s.find(c=>c.id===e)){const c=this.tracks.find(h=>h.items.includes(e));if(t){const h=Us(this.tracks,i),l={id:Ns(),items:[e],type:c.type,accepts:c.accepts},u=this.tracks.findIndex(d=>d.id===c.id);h.splice(u,0,l),this.tracks=h}}const n=s.filter(c=>c.fromId===e||c.toId===e);if(n){const c=this.getTrackItems().find(g=>g.id===e),h=c==null?void 0:c.width;n.forEach(g=>{if(g.width/2>h){this.transitionIds=this.transitionIds.filter(p=>p!==g.id);const f={};Object.keys(this.transitionsMap).forEach(p=>{p!==g.id&&(f[p]=this.transitionsMap[p])}),this.transitionsMap=f}});const l=((o=n[0])==null?void 0:o.width)||0,u=((a=n[1])==null?void 0:a.width)||0,d=n[1];if(h<=l/2+u/2){this.transitionIds=this.transitionIds.filter(f=>f!==(d==null?void 0:d.id));const g={};Object.keys(this.transitionsMap).forEach(f=>{f!==(d==null?void 0:d.id)&&(g[f]=this.transitionsMap[f])}),this.transitionsMap=g}}this.renderTracks(),this.alignItemsToTrack(),this.adjustMagneticTrack(),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let Kn={x:0,y:0};function vy(i){Kn=i.scenePoint}function ml(i){const t=i.scenePoint;if((Kn.x===t.x||Kn.y===t.y)&&!i.target){const s=this.getElement().getBoundingClientRect(),r=this.viewportTransform,n=i.e.clientX-s.left-r[4],o=W(n,this.scale.zoom);q.dispatch(Kh,{payload:{time:o}})}}const yy=i=>{i.on("track:create",gl.bind(i)),i.on("track-items:resized",pl.bind(i)),i.on("track-items:moved",fl.bind(i)),i.on("mouse:up",ml.bind(i)),i.on("mouse:down",vy.bind(i))};function by(i){i.off("track:create",gl.bind(i)),i.off("track-items:resized",pl.bind(i)),i.off("track-items:moved",fl.bind(i)),i.off("mouse:up",ml.bind(i))}function _y(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}let vl,yl,bl,_l,Tl,xl,Sl,wl;const Ty=i=>{vl=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)}),wl=i.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(i.tracks=t,i.renderTracks(),i.refreshTrackLayout())}),Sl=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})}})}}),xl=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;i.trackItemsMap[n.id].display=o,t[n.id].playbackRate!==i.trackItemsMap[n.id].playbackRate&&(i.trackItemsMap[n.id].playbackRate=t[n.id].playbackRate,n.playbackRate=t[n.id].playbackRate,n.onScale&&n.onScale()),o&&n.set({display:o})}}),i.resumeEventListeners()}i.updateTrackItemCoords(),i.adjustMagneticTrack(),i.updateTransitions(),i.requestRenderAll()}),Tl=i.state.subscribeToScale(t=>{i.setScale(t.scale)}),_l=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.hasSrc){const c=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),a.type==="video"||a.type==="audio"){const l=c.display.to-c.display.from,u=nt(l,i.scale.zoom,c.playbackRate);o.set({duration:c.duration,display:c.display,trim:c.trim,width:u}),o.setCoords()}}else(a.type==="text"||a.type==="caption")&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),i.requestRenderAll()}),bl=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.renderTracks(),i.refreshTrackLayout(),i.updateTrackItemCoords(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.adjustMagneticTrack(),i.updateTransitions(),i.calcBounding(),i.duration=Gs(i.trackItemsMap)}),yl=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.renderTracks(),i.alignItemsToTrack(),i.updateTrackItemCoords(),i.calcBounding(),i.updateTransitions(),i.refreshTrackLayout(),i.selectTrackItemByIds(e.activeIds)})},xy=i=>{vl.unsubscribe(),yl.unsubscribe(),bl.unsubscribe(),_l.unsubscribe(),Tl.unsubscribe(),xl.unsubscribe(),Sl.unsubscribe(),wl.unsubscribe()},Cl=(i,t)=>{let e=!1;const s=[];return t.forEach(r=>{r.containsPoint(i)&&(s.push(r),e=!0)}),{isOverObject:e,overObjects:s}};function Sy(i){return JSON.parse(JSON.stringify(i))}const sr=class sr extends un{constructor(e,s){var r;super(e,s);S(this,"itemTypes",[]);S(this,"acceptsMap");S(this,"sizesMap",{});S(this,"objectTypes",[]);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,"withTransitions",[]);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=s.acceptsMap||{},this.sizesMap=s.sizesMap||{},this.itemTypes=s.itemTypes||[],this.objectTypes=sr.objectTypes,this.spacing=b0(s.spacing),this.itemTypes=s.itemTypes||[],this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||Be,this.initEventListeners(),this.withTransitions=s.withTransitions||[]}static registerItems(e){Object.keys(e).forEach(s=>{C.setClass(e[s],s)}),sr.objectTypes=Object.keys(e).filter(s=>!Vd.includes(s))}getItemAccepts(e){return this.acceptsMap[e]||this.itemTypes}getItemSize(e){return this.sizesMap[e]||42}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}=Cl(s,n);if(r&&(r==null?void 0:r.findControl(this.getViewportPoint(e),T0(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Cl(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(){yy(this),fy(this),Ty(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:Sy(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),this.requestRenderAll(),this.duration=Gs(this.trackItemsMap),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=Gs(this.trackItemsMap);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 W(r,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=Gs(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(){py(this),by(this),xy(),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},q.dispatch(qh,{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=nt(r.display.from,this.tScale),o=nt(r.display.to-r.display.from,this.tScale,r.playbackRate);r.set({left:n,width:o,tScale:e.zoom}),r.onScale&&r.onScale(),r.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1),this.resumeEventListeners()}};S(sr,"objectTypes",[]);let ys=sr;_y(ys,[pg,c0,a0,my]);const wy={audio:Tn,media:wn,common:ii,transition:xn};M.BOTTOM=qd,M.CENTER=_e,M.Control=V,M.DRAG_END=Nn,M.DRAG_PREFIX=Gn,M.DRAG_START=$h,M.FabricObject=at,M.Helper=We,M.LEFT=us,M.NONE=Kd,M.Pattern=Pr,M.Placeholder=ls,M.PreviewTrackItem=ne,M.RIGHT=ds,M.Rect=J,M.Resizable=ni,M.TIMELINE_BOUNDING_CHANGED=qh,M.TIMELINE_PREFIX=Un,M.TIMELINE_SEEK=Kh,M.TOP=$d,M.Track=Gt,M.Transition=At,M.Trimmable=Ut,M.calculateTimelineWidth=Qd,M.changeWidth=ii,M.classRegistry=C,M.controlsUtils=Fe,M.createAudioControls=lg,M.createMediaControls=wc,M.createResizeControls=Sc,M.createTemplateControls=hg,M.createTransitionControls=Sn,M.default=ys,M.drawVerticalLine=Pt,M.generateId=fs,M.getDuration=Gs,M.isTransformCentered=gs,M.resize=wy,M.resolveOrigin=P,M.timeMsToUnits=nt,M.unitsToTimeMs=W,M.util=Ua,M.wrapWithFixedAnchor=Vs,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": "4.0.10",
3
+ "version": "4.0.12",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -37,7 +37,7 @@
37
37
  "peerDependencies": {
38
38
  "@types/lodash-es": "^4.17.12",
39
39
  "@designcombo/events": "^1.0.2",
40
- "@cliquify.me/types": "4.0.10"
40
+ "@cliquify.me/types": "4.0.12"
41
41
  },
42
42
  "scripts": {
43
43
  "dev": "vite",