@cliquify.me/timeline 9.0.4 → 9.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +5 -4
- package/dist/index.umd.js +1 -1
- package/package.json +11 -11
- package/LICENSE +0 -46
package/dist/index.es.js
CHANGED
|
@@ -10989,14 +10989,15 @@ class Ey {
|
|
|
10989
10989
|
}
|
|
10990
10990
|
renderTransitions() {
|
|
10991
10991
|
this.removeTransitions(), this.transitionIds.forEach((t) => {
|
|
10992
|
-
|
|
10992
|
+
var f;
|
|
10993
|
+
const e = this.transitionsMap[t], s = e.fromId, r = e.toId, n = this.getObjects(), o = n.find((g) => g.id === s), a = n.find((g) => g.id === r);
|
|
10993
10994
|
if (!o || !a)
|
|
10994
10995
|
return;
|
|
10995
|
-
const c = $(e.duration, this.tScale), h = o.left + o.width - c / 2, l = o.height,
|
|
10996
|
+
const c = $(e.duration, this.tScale), h = o.left + o.width - c / 2, l = this.getActiveObjects().some((g) => g.id === t) || ((f = this.activeIds) == null ? void 0 : f.includes(t)), u = o.height, d = new Vt({
|
|
10996
10997
|
id: e.id,
|
|
10997
10998
|
left: h,
|
|
10998
10999
|
top: o.top,
|
|
10999
|
-
height:
|
|
11000
|
+
height: u,
|
|
11000
11001
|
width: c,
|
|
11001
11002
|
tScale: this.tScale,
|
|
11002
11003
|
duration: e.duration,
|
|
@@ -11004,7 +11005,7 @@ class Ey {
|
|
|
11004
11005
|
toId: a.id,
|
|
11005
11006
|
kind: e.kind
|
|
11006
11007
|
});
|
|
11007
|
-
|
|
11008
|
+
l && d.setSelected(!0), d && (this.add(d), l && this.setActiveObject(d));
|
|
11008
11009
|
});
|
|
11009
11010
|
}
|
|
11010
11011
|
updateTrackTransitionsItemCoords() {
|
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 i=0;i<e.length;i+=4){const n=Math.max(e[i],e[i+1],e[i+2]),o=(e[i]+e[i+1]+e[i+2])/3,a=2*Math.abs(n-o)/255*s;e[i]+=n!==e[i]?(n-e[i])*a:0,e[i+1]+=n!==e[i+1]?(n-e[i+1])*a:0,e[i+2]+=n!==e[i+2]?(n-e[i+2])*a:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}}v(cr,"type","Vibrance"),v(cr,"defaults",{vibrance:0}),v(cr,"uniformLocations",["uVibrance"]),k.setClass(cr);function At(r,t,e,s,i){const a=i.canvas;if(!a)return;const c=a.viewportTransform;r.save(),this.controlOrientation==="left"?r.translate(i.left+c[4],i.top+c[5]+i.height/2):r.translate(i.left+i.width+c[4],i.top+c[5]+i.height/2),r.rotate(Li.degreesToRadians(90+i.angle)),r.lineWidth=6,r.lineCap="round",r.strokeStyle="white",r.beginPath(),r.moveTo(-6,0),r.lineTo(6,0),r.stroke(),r.lineWidth=4,r.strokeStyle="black",r.beginPath(),r.moveTo(-6,0),r.lineTo(6,0),r.stroke(),r.restore()}const Ud={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},_s=class _s extends it{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,_s.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)",this.objectCaching=!1}static getDefaults(){return{...super.getDefaults(),..._s.ownDefaults}}updateCoords(e){this.width=e}};S(_s,"ownDefaults",Ud),S(_s,"type","Track");let Lt=_s;k.setClass(Lt,"Track");const Vs=1,ze="rgba(255, 255, 255,1.0)",$d=["Track","Transition","Helper","PreviewTrackItem"],qd={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},Kd=(r,t)=>{const e=qd[r];return r==="top"?{top:t-(e.guide+e.bottom),guide:e.guide,bottom:e.bottom}:r==="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))}},Ts=class Ts extends Gt{constructor(e){const s=Kd(e.kind,e.height),i=new it({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new it({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new it({top:s.top+s.guide,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.bottom,width:e.width});super([i,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,Ts.ownDefaults),this.guide=n,this.topGuide=i,this.bottomGuide=o,this.id=e.id,this.metadata=e.metadata,this.tScale=e.tScale,this.kind=e.kind,this.activeGuideFill=e.activeGuideFill||ze}static getDefaults(){return{...super.getDefaults(),...Ts.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(Ts,"type","Helper"),S(Ts,"ownDefaults",{selectable:!1,evented:!1});let oe=Ts;k.setClass(oe,"Helper");const Ss=class Ss extends it{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,Ss.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...Ss.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=Vs,e.setLineDash(this.strokeDashArray),e.strokeStyle=ze,e.stroke(),e.restore()}};S(Ss,"type","Placeholder"),S(Ss,"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 ds=Ss;k.setClass(ds,"Placeholder");const Zd={left:-.5,top:-.5,center:0,bottom:.5,right:.5},L=r=>typeof r=="string"?Zd[r]:r-.5,we="center",fs="left",Jd="top",Qd="bottom",gs="right",tf="none";function ps(r){return L(r.originX)===L(we)&&L(r.originY)===L(we)}function Gs(r){return(t,e,s,i)=>{const{target:n,originX:o,originY:a}=e,c=n.getRelativeCenterPoint(),h=n.translateToOriginPoint(c,o,a),l=r(t,e,s,i);return n.setPositionByOrigin(h,e.originX,e.originY),l}}const xc=12,ef=24,Cc=188,sf=1e3/60;function $(r,t=1,e=1){const s=Cc*t;return r*(60/1e3)*s/e}function P(r,t=1,e=1){const s=Cc*t;return r/s*sf*e}function rf(r,t=1){return $(r,t)}const Ns=(r,t)=>(t||Object.keys(r)).reduce((s,i)=>{const n=r[i];if(!n)return s;const{display:o}=n;return Math.max(s,o.to)},0),{wrapWithFireEvent:nf,getLocalPoint:of}=Xe,kn=nf("resizing",Gs((r,t,e,s)=>{const i=of(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=P(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g,n.onResize&&n.onResize()}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=$(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const w=P(b-T,n.tScale,n.playbackRate);return n.trim.from=w,!0}return!1}const f=h-c,g=n.trim.from,p=P(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),{wrapWithFireEvent:af,getLocalPoint:cf,wrapWithFixedAnchor:hf}=Xe,hr=af("resizing",hf((r,t,e,s)=>{const i=cf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o),l=t.corner==="ml";if(n.left<0)return!1;if(l){const f=c-h;if(n.left+f<0)return n.set("width",n.width+n.left),!0}const u=P(1,n.tScale);return P(h,n.tScale,n.playbackRate)<u?!1:(n.set("width",Math.max(h,0)),c!==n.width)}return!1})),{wrapWithFireEvent:lf,getLocalPoint:uf}=Xe,Mn=lf("resizing",Gs((r,t,e,s)=>{const i=uf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o),l=P(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})),df=r=>{const t=r.canvas;if(!t||!t.state)return null;const e=t.state.getState();if(!e||!e.structure||!e.trackItemsMap)return null;const s=e.structure.find(o=>o.id===r.id);if(!s||!s.items||s.items.length===0)return null;let i=1/0,n=-1/0;return s.items.forEach(o=>{const a=e.trackItemsMap[o];a&&a.display&&(a.display.from<i&&(i=a.display.from),a.display.to>n&&(n=a.display.to))}),i===1/0||n===-1/0?null:{minFrom:i,maxTo:n}},{wrapWithFireEvent:ff,getLocalPoint:gf}=Xe,Oc=ff("resizing",Gs((r,t,e,s)=>{const i=gf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){const n=t.target,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o),l=t.corner==="mr",u=df(n);if(l){const d=n.trim.to,f=h-c,g=P(f,n.tScale,n.playbackRate),p=d+g,m=u?u.maxTo:n.duration,b=Math.max(n.trim.from+10,Math.min(m,p)),T=b-d,w=$(T,n.tScale,n.playbackRate),x=c+w;n.set("width",Math.max(x,0)),n.trim.to=b}else{const d=u?u.minFrom:0,f=n.trim.from,g=h-c,p=P(g,n.tScale,n.playbackRate),m=f-p;let b=Math.max(d,Math.min(n.trim.to-10,m)),T=f-b,w=$(T,n.tScale,n.playbackRate),x=c+w;if(x>n.left+c){x=n.left+c;const O=x-c,C=P(O,n.tScale,n.playbackRate);b=f-C}n.set("width",Math.max(x,0)),n.trim.from=b}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Ut}=Xe,kc=()=>({mr:new U({x:.5,y:0,actionHandler:hr,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,actionHandler:hr,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),pf=()=>({mr:new U({x:.5,y:0,render:At,actionHandler:Oc,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,render:At,actionHandler:Oc,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),mf=()=>({mr:new U({x:.5,y:0,render:At,actionHandler:kn,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,render:At,actionHandler:kn,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),Mc=()=>({mr:new U({x:.5,y:0,render:At,actionHandler:In,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,render:At,actionHandler:In,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),Dn=()=>({mr:new U({x:.5,y:0,actionHandler:Mn,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,actionHandler:Mn,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})});let vf="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Us=(r=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(r|=0));for(;r--;)t+=vf[e[r]&63];return t};function ms(r=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=Us(r-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,r-1),e+s}const{wrapWithFireEvent:yf,getLocalPoint:bf}=Xe,In=yf("resizing",Gs((r,t,e,s)=>{const i=bf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o);const l=P(1,n.tScale);if(t.corner==="mr"){const d=n.trim.to,f=h-c,g=P(f,n.tScale,n.playbackRate),p=d+g;if(p>n.duration)return!1;let m=P(h,n.tScale,n.playbackRate);if(m<l||(m=P(h,n.tScale,n.playbackRate),m<l))return!1;n.set("width",Math.max(h,0)),n.trim.to=p,n.onResize&&n.onResize()}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0){const w=$(n.duration,n.tScale,n.playbackRate),x=n.width+n.left;if(x<=w){n.set("width",x);const O=P(w-x,n.tScale,n.playbackRate);return n.trim.from=O,!0}return!1}if(P(h,n.tScale,n.playbackRate)<l)return!1;const p=h-c,m=n.trim.from,b=P(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})),ws=class ws extends it{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);S(this,"isHovered",!1);Object.assign(this,ws.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||[],this.on("mouseover",()=>{var s;this.isHovered=!0,(s=this.canvas)==null||s.requestRenderAll()}),this.on("mouseout",()=>{var s;this.isHovered=!1,(s=this.canvas)==null||s.requestRenderAll()})}static createControls(){return{controls:Dn()}}static getDefaults(){return{...super.getDefaults(),...ws.ownDefaults}}updateCoords(){}drawPlaceholderIcon(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.3346 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()}_render(e){const s=this.kind&&this.kind!=="none";if(!(s||this.isHovered||this.isSelected)){e.save(),e.fillStyle="rgba(0, 0, 0, 0.001)",e.fillRect(-this.width/2,-this.height/2,this.width,this.height),e.restore();return}super._render(e),s||this.drawPlaceholderIcon(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.availableDrop?this.isSelected?ze:"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=Vs,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(ws,"type","Transition"),S(ws,"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 Rt=ws;k.setClass(Rt,"Transition");const ni=class ni extends it{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,ni.ownDefaults),this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8}static createControls(){return{controls:Mc()}}_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=Vs,e.strokeStyle=ze,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}};S(ni,"type","Trimmable"),S(ni,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let $t=ni;k.setClass($t,"Trimmable");const xs=class xs extends it{constructor(e){super(e);S(this,"isSelected",!1);Object.assign(this,xs.ownDefaults),this.tScale=e.tScale,this.display=e.display}static createControls(){return{controls:kc()}}static getDefaults(){return{...super.getDefaults(),...xs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Vs,e.strokeStyle=ze,e.stroke(),e.restore())}};S(xs,"type","Resizable"),S(xs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let lr=xs;k.setClass(lr,"Resizable");function _f(r){const t=Math.floor(r/1e3),e=Math.floor(t/60),s=t%60,i=String(e).padStart(2,"0"),n=String(s).padStart(2,"0");return`${i}:${n}`}const Cs=class Cs extends it{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,Cs.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=_f(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...Cs.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,i=e.measureText(this.durationString).width,n=8,o=4,a=4-this.height/2,c=20,h=4,l=4-this.width/2,u=s+n*2;this.drawRoundedRect(e,l,a,u,c,h),e.fillStyle="#f4f4f5",e.fillText(this.name,l+n,a+14);const d=l+u+o,f=i+n*2;this.drawRoundedRect(e,d,a,f,c,h),e.fillStyle="#f4f4f5",e.fillText(this.durationString,d+n,a+14)}drawRoundedRect(e,s,i,n,o,a){e.fillStyle="rgba(0, 0, 0, 0.5)",e.roundRect?(e.beginPath(),e.roundRect(s,i,n,o,a),e.fill()):e.fillRect(s,i,n,o)}};S(Cs,"type","PreviewTrackItem"),S(Cs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let ae=Cs;k.setClass(ae,"PreviewTrackItem");class Tf{constructor(){S(this,"___eventListeners",{});S(this,"___activeObjects",[])}resize(t,{force:e}={force:!1}){var s;this.lowerCanvasEl&&(this.setDimensions(t),e&&(this.renderTracks(),this.calcBounding(),this.refreshTrackLayout(),this.requestRenderAll()),(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 xt(t);this.setActiveObject(e)}this.requestRenderAll()}updateCachingActiveObjects(t){const e=this.___activeObjects;this.___activeObjects=e.map(s=>{const i=t.find(n=>n.id===s.id);return i||s})}}function $s(r,t){return r.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const Sf=(r,t)=>{var h,l,u,d,f,g,p,m;const e=r.display,s=$(e.from,t.tScale),i=$(e.to-e.from,t.tScale,r.playbackRate),n=t.sizesMap[r.type]||42,o=((l=(h=r.type)==null?void 0:h.charAt(0))==null?void 0:l.toUpperCase())+((u=r.type)==null?void 0:u.slice(1))||"",a=k==null?void 0:k.getClass(o),c={width:i,height:n,id:r.id,tScale:t.tScale,top:10,left:s,display:e,duration:r.duration||e.to-e.from,metadata:r.metadata,playbackRate:r.playbackRate||1,src:(d=r.details)==null?void 0:d.src,trim:r.trim||{from:0,to:r.duration},text:(f=r.details)==null?void 0:f.text,srcs:((g=r.details)==null?void 0:g.srcs)||[],backgroundColorDiv:(p=r.details)==null?void 0:p.backgroundColor,svgString:(m=r.details)==null?void 0:m.svgString};return new a(c)};var Dc=typeof global=="object"&&global&&global.Object===Object&&global,wf=typeof self=="object"&&self&&self.Object===Object&&self,Ft=Dc||wf||Function("return this")(),Ot=Ft.Symbol,Ic=Object.prototype,xf=Ic.hasOwnProperty,Cf=Ic.toString,qs=Ot?Ot.toStringTag:void 0;function Of(r){var t=xf.call(r,qs),e=r[qs];try{r[qs]=void 0;var s=!0}catch{}var i=Cf.call(r);return s&&(t?r[qs]=e:delete r[qs]),i}var kf=Object.prototype,Mf=kf.toString;function Df(r){return Mf.call(r)}var If="[object Null]",jf="[object Undefined]",jc=Ot?Ot.toStringTag:void 0;function vs(r){return r==null?r===void 0?jf:If:jc&&jc in Object(r)?Of(r):Df(r)}function xe(r){return r!=null&&typeof r=="object"}var Ef="[object Symbol]";function ur(r){return typeof r=="symbol"||xe(r)&&vs(r)==Ef}function Pf(r,t){for(var e=-1,s=r==null?0:r.length,i=Array(s);++e<s;)i[e]=t(r[e],e,r);return i}var qt=Array.isArray,Ec=Ot?Ot.prototype:void 0,Pc=Ec?Ec.toString:void 0;function Ac(r){if(typeof r=="string")return r;if(qt(r))return Pf(r,Ac)+"";if(ur(r))return Pc?Pc.call(r):"";var t=r+"";return t=="0"&&1/r==-1/0?"-0":t}var Af=/\s/;function Lf(r){for(var t=r.length;t--&&Af.test(r.charAt(t)););return t}var Rf=/^\s+/;function Ff(r){return r&&r.slice(0,Lf(r)+1).replace(Rf,"")}function Kt(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}var Lc=NaN,Bf=/^[-+]0x[0-9a-f]+$/i,Xf=/^0b[01]+$/i,Wf=/^0o[0-7]+$/i,zf=parseInt;function Rc(r){if(typeof r=="number")return r;if(ur(r))return Lc;if(Kt(r)){var t=typeof r.valueOf=="function"?r.valueOf():r;r=Kt(t)?t+"":t}if(typeof r!="string")return r===0?r:+r;r=Ff(r);var e=Xf.test(r);return e||Wf.test(r)?zf(r.slice(2),e?2:8):Bf.test(r)?Lc:+r}function Hf(r){return r}var Yf="[object AsyncFunction]",Vf="[object Function]",Gf="[object GeneratorFunction]",Nf="[object Proxy]";function Fc(r){if(!Kt(r))return!1;var t=vs(r);return t==Vf||t==Gf||t==Yf||t==Nf}var jn=Ft["__core-js_shared__"],Bc=function(){var r=/[^.]+$/.exec(jn&&jn.keys&&jn.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function Uf(r){return!!Bc&&Bc in r}var $f=Function.prototype,qf=$f.toString;function He(r){if(r!=null){try{return qf.call(r)}catch{}try{return r+""}catch{}}return""}var Kf=/[\\^$.*+?()[\]{}|]/g,Zf=/^\[object .+?Constructor\]$/,Jf=Function.prototype,Qf=Object.prototype,tg=Jf.toString,eg=Qf.hasOwnProperty,sg=RegExp("^"+tg.call(eg).replace(Kf,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ig(r){if(!Kt(r)||Uf(r))return!1;var t=Fc(r)?sg:Zf;return t.test(He(r))}function rg(r,t){return r==null?void 0:r[t]}function Ye(r,t){var e=rg(r,t);return ig(e)?e:void 0}var En=Ye(Ft,"WeakMap"),Xc=Object.create,ng=function(){function r(){}return function(t){if(!Kt(t))return{};if(Xc)return Xc(t);r.prototype=t;var e=new r;return r.prototype=void 0,e}}();function og(r,t,e){switch(e.length){case 0:return r.call(t);case 1:return r.call(t,e[0]);case 2:return r.call(t,e[0],e[1]);case 3:return r.call(t,e[0],e[1],e[2])}return r.apply(t,e)}var ag=800,cg=16,hg=Date.now;function lg(r){var t=0,e=0;return function(){var s=hg(),i=cg-(s-e);if(e=s,i>0){if(++t>=ag)return arguments[0]}else t=0;return r.apply(void 0,arguments)}}function ug(r){return function(){return r}}var dr=function(){try{var r=Ye(Object,"defineProperty");return r({},"",{}),r}catch{}}(),dg=dr?function(r,t){return dr(r,"toString",{configurable:!0,enumerable:!1,value:ug(t),writable:!0})}:Hf,fg=lg(dg);function gg(r,t){for(var e=-1,s=r==null?0:r.length;++e<s&&t(r[e],e,r)!==!1;);return r}var pg=9007199254740991,mg=/^(?:0|[1-9]\d*)$/;function Pn(r,t){var e=typeof r;return t=t??pg,!!t&&(e=="number"||e!="symbol"&&mg.test(r))&&r>-1&&r%1==0&&r<t}function vg(r,t,e){t=="__proto__"&&dr?dr(r,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):r[t]=e}function An(r,t){return r===t||r!==r&&t!==t}var yg=Object.prototype,bg=yg.hasOwnProperty;function Wc(r,t,e){var s=r[t];(!(bg.call(r,t)&&An(s,e))||e===void 0&&!(t in r))&&vg(r,t,e)}var zc=Math.max;function _g(r,t,e){return t=zc(t===void 0?r.length-1:t,0),function(){for(var s=arguments,i=-1,n=zc(s.length-t,0),o=Array(n);++i<n;)o[i]=s[t+i];i=-1;for(var a=Array(t+1);++i<t;)a[i]=s[i];return a[t]=e(o),og(r,this,a)}}var Tg=9007199254740991;function Ln(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=Tg}function Sg(r){return r!=null&&Ln(r.length)&&!Fc(r)}var wg=Object.prototype;function Hc(r){var t=r&&r.constructor,e=typeof t=="function"&&t.prototype||wg;return r===e}function xg(r,t){for(var e=-1,s=Array(r);++e<r;)s[e]=t(e);return s}var Cg="[object Arguments]";function Yc(r){return xe(r)&&vs(r)==Cg}var Vc=Object.prototype,Og=Vc.hasOwnProperty,kg=Vc.propertyIsEnumerable,Rn=Yc(function(){return arguments}())?Yc:function(r){return xe(r)&&Og.call(r,"callee")&&!kg.call(r,"callee")};function Mg(){return!1}var Gc=typeof D=="object"&&D&&!D.nodeType&&D,Nc=Gc&&typeof module=="object"&&module&&!module.nodeType&&module,Dg=Nc&&Nc.exports===Gc,Uc=Dg?Ft.Buffer:void 0,Ig=Uc?Uc.isBuffer:void 0,fr=Ig||Mg,jg="[object Arguments]",Eg="[object Array]",Pg="[object Boolean]",Ag="[object Date]",Lg="[object Error]",Rg="[object Function]",Fg="[object Map]",Bg="[object Number]",Xg="[object Object]",Wg="[object RegExp]",zg="[object Set]",Hg="[object String]",Yg="[object WeakMap]",Vg="[object ArrayBuffer]",Gg="[object DataView]",Ng="[object Float32Array]",Ug="[object Float64Array]",$g="[object Int8Array]",qg="[object Int16Array]",Kg="[object Int32Array]",Zg="[object Uint8Array]",Jg="[object Uint8ClampedArray]",Qg="[object Uint16Array]",tp="[object Uint32Array]",G={};G[Ng]=G[Ug]=G[$g]=G[qg]=G[Kg]=G[Zg]=G[Jg]=G[Qg]=G[tp]=!0,G[jg]=G[Eg]=G[Vg]=G[Pg]=G[Gg]=G[Ag]=G[Lg]=G[Rg]=G[Fg]=G[Bg]=G[Xg]=G[Wg]=G[zg]=G[Hg]=G[Yg]=!1;function ep(r){return xe(r)&&Ln(r.length)&&!!G[vs(r)]}function Fn(r){return function(t){return r(t)}}var $c=typeof D=="object"&&D&&!D.nodeType&&D,Ks=$c&&typeof module=="object"&&module&&!module.nodeType&&module,sp=Ks&&Ks.exports===$c,Bn=sp&&Dc.process,ys=function(){try{var r=Ks&&Ks.require&&Ks.require("util").types;return r||Bn&&Bn.binding&&Bn.binding("util")}catch{}}(),qc=ys&&ys.isTypedArray,Kc=qc?Fn(qc):ep,ip=Object.prototype,rp=ip.hasOwnProperty;function np(r,t){var e=qt(r),s=!e&&Rn(r),i=!e&&!s&&fr(r),n=!e&&!s&&!i&&Kc(r),o=e||s||i||n,a=o?xg(r.length,String):[],c=a.length;for(var h in r)rp.call(r,h)&&!(o&&(h=="length"||i&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Pn(h,c)))&&a.push(h);return a}function Zc(r,t){return function(e){return r(t(e))}}var op=Zc(Object.keys,Object),ap=Object.prototype,cp=ap.hasOwnProperty;function hp(r){if(!Hc(r))return op(r);var t=[];for(var e in Object(r))cp.call(r,e)&&e!="constructor"&&t.push(e);return t}function lp(r){return Sg(r)?np(r):hp(r)}var up=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dp=/^\w*$/;function fp(r,t){if(qt(r))return!1;var e=typeof r;return e=="number"||e=="symbol"||e=="boolean"||r==null||ur(r)?!0:dp.test(r)||!up.test(r)||t!=null&&r in Object(t)}var Zs=Ye(Object,"create");function gp(){this.__data__=Zs?Zs(null):{},this.size=0}function pp(r){var t=this.has(r)&&delete this.__data__[r];return this.size-=t?1:0,t}var mp="__lodash_hash_undefined__",vp=Object.prototype,yp=vp.hasOwnProperty;function bp(r){var t=this.__data__;if(Zs){var e=t[r];return e===mp?void 0:e}return yp.call(t,r)?t[r]:void 0}var _p=Object.prototype,Tp=_p.hasOwnProperty;function Sp(r){var t=this.__data__;return Zs?t[r]!==void 0:Tp.call(t,r)}var wp="__lodash_hash_undefined__";function xp(r,t){var e=this.__data__;return this.size+=this.has(r)?0:1,e[r]=Zs&&t===void 0?wp:t,this}function Ve(r){var t=-1,e=r==null?0:r.length;for(this.clear();++t<e;){var s=r[t];this.set(s[0],s[1])}}Ve.prototype.clear=gp,Ve.prototype.delete=pp,Ve.prototype.get=bp,Ve.prototype.has=Sp,Ve.prototype.set=xp;function Cp(){this.__data__=[],this.size=0}function gr(r,t){for(var e=r.length;e--;)if(An(r[e][0],t))return e;return-1}var Op=Array.prototype,kp=Op.splice;function Mp(r){var t=this.__data__,e=gr(t,r);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():kp.call(t,e,1),--this.size,!0}function Dp(r){var t=this.__data__,e=gr(t,r);return e<0?void 0:t[e][1]}function Ip(r){return gr(this.__data__,r)>-1}function jp(r,t){var e=this.__data__,s=gr(e,r);return s<0?(++this.size,e.push([r,t])):e[s][1]=t,this}function ce(r){var t=-1,e=r==null?0:r.length;for(this.clear();++t<e;){var s=r[t];this.set(s[0],s[1])}}ce.prototype.clear=Cp,ce.prototype.delete=Mp,ce.prototype.get=Dp,ce.prototype.has=Ip,ce.prototype.set=jp;var Js=Ye(Ft,"Map");function Ep(){this.size=0,this.__data__={hash:new Ve,map:new(Js||ce),string:new Ve}}function Pp(r){var t=typeof r;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?r!=="__proto__":r===null}function pr(r,t){var e=r.__data__;return Pp(t)?e[typeof t=="string"?"string":"hash"]:e.map}function Ap(r){var t=pr(this,r).delete(r);return this.size-=t?1:0,t}function Lp(r){return pr(this,r).get(r)}function Rp(r){return pr(this,r).has(r)}function Fp(r,t){var e=pr(this,r),s=e.size;return e.set(r,t),this.size+=e.size==s?0:1,this}function he(r){var t=-1,e=r==null?0:r.length;for(this.clear();++t<e;){var s=r[t];this.set(s[0],s[1])}}he.prototype.clear=Ep,he.prototype.delete=Ap,he.prototype.get=Lp,he.prototype.has=Rp,he.prototype.set=Fp;var Bp="Expected a function";function Xn(r,t){if(typeof r!="function"||t!=null&&typeof t!="function")throw new TypeError(Bp);var e=function(){var s=arguments,i=t?t.apply(this,s):s[0],n=e.cache;if(n.has(i))return n.get(i);var o=r.apply(this,s);return e.cache=n.set(i,o)||n,o};return e.cache=new(Xn.Cache||he),e}Xn.Cache=he;var Xp=500;function Wp(r){var t=Xn(r,function(s){return e.size===Xp&&e.clear(),s}),e=t.cache;return t}var zp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hp=/\\(\\)?/g,Yp=Wp(function(r){var t=[];return r.charCodeAt(0)===46&&t.push(""),r.replace(zp,function(e,s,i,n){t.push(i?n.replace(Hp,"$1"):s||e)}),t});function Vp(r){return r==null?"":Ac(r)}function mr(r,t){return qt(r)?r:fp(r,t)?[r]:Yp(Vp(r))}function Wn(r){if(typeof r=="string"||ur(r))return r;var t=r+"";return t=="0"&&1/r==-1/0?"-0":t}function Gp(r,t){t=mr(t,r);for(var e=0,s=t.length;r!=null&&e<s;)r=r[Wn(t[e++])];return e&&e==s?r:void 0}function Jc(r,t){for(var e=-1,s=t.length,i=r.length;++e<s;)r[i+e]=t[e];return r}var Qc=Ot?Ot.isConcatSpreadable:void 0;function Np(r){return qt(r)||Rn(r)||!!(Qc&&r&&r[Qc])}function Up(r,t,e,s,i){var n=-1,o=r.length;for(e||(e=Np),i||(i=[]);++n<o;){var a=r[n];e(a)?Jc(i,a):i[i.length]=a}return i}function zn(r){var t=r==null?0:r.length;return t?Up(r):[]}function $p(r){return fg(_g(r,void 0,zn),r+"")}var qp=Zc(Object.getPrototypeOf,Object);function Kp(){this.__data__=new ce,this.size=0}function Zp(r){var t=this.__data__,e=t.delete(r);return this.size=t.size,e}function Jp(r){return this.__data__.get(r)}function Qp(r){return this.__data__.has(r)}var tm=200;function em(r,t){var e=this.__data__;if(e instanceof ce){var s=e.__data__;if(!Js||s.length<tm-1)return s.push([r,t]),this.size=++e.size,this;e=this.__data__=new he(s)}return e.set(r,t),this.size=e.size,this}function le(r){var t=this.__data__=new ce(r);this.size=t.size}le.prototype.clear=Kp,le.prototype.delete=Zp,le.prototype.get=Jp,le.prototype.has=Qp,le.prototype.set=em;var th=typeof D=="object"&&D&&!D.nodeType&&D,eh=th&&typeof module=="object"&&module&&!module.nodeType&&module,sm=eh&&eh.exports===th,sh=sm?Ft.Buffer:void 0;sh&&sh.allocUnsafe;function im(r,t){return r.slice()}function rm(r,t){for(var e=-1,s=r==null?0:r.length,i=0,n=[];++e<s;){var o=r[e];t(o,e,r)&&(n[i++]=o)}return n}function nm(){return[]}var om=Object.prototype,am=om.propertyIsEnumerable,ih=Object.getOwnPropertySymbols,cm=ih?function(r){return r==null?[]:(r=Object(r),rm(ih(r),function(t){return am.call(r,t)}))}:nm;function hm(r,t,e){var s=t(r);return qt(r)?s:Jc(s,e(r))}function Hn(r){return hm(r,lp,cm)}var Yn=Ye(Ft,"DataView"),Vn=Ye(Ft,"Promise"),Gn=Ye(Ft,"Set"),rh="[object Map]",lm="[object Object]",nh="[object Promise]",oh="[object Set]",ah="[object WeakMap]",ch="[object DataView]",um=He(Yn),dm=He(Js),fm=He(Vn),gm=He(Gn),pm=He(En),Bt=vs;(Yn&&Bt(new Yn(new ArrayBuffer(1)))!=ch||Js&&Bt(new Js)!=rh||Vn&&Bt(Vn.resolve())!=nh||Gn&&Bt(new Gn)!=oh||En&&Bt(new En)!=ah)&&(Bt=function(r){var t=vs(r),e=t==lm?r.constructor:void 0,s=e?He(e):"";if(s)switch(s){case um:return ch;case dm:return rh;case fm:return nh;case gm:return oh;case pm:return ah}return t});var mm=Object.prototype,vm=mm.hasOwnProperty;function ym(r){var t=r.length,e=new r.constructor(t);return t&&typeof r[0]=="string"&&vm.call(r,"index")&&(e.index=r.index,e.input=r.input),e}var vr=Ft.Uint8Array;function Nn(r){var t=new r.constructor(r.byteLength);return new vr(t).set(new vr(r)),t}function bm(r,t){var e=Nn(r.buffer);return new r.constructor(e,r.byteOffset,r.byteLength)}var _m=/\w*$/;function Tm(r){var t=new r.constructor(r.source,_m.exec(r));return t.lastIndex=r.lastIndex,t}var hh=Ot?Ot.prototype:void 0,lh=hh?hh.valueOf:void 0;function Sm(r){return lh?Object(lh.call(r)):{}}function wm(r,t){var e=Nn(r.buffer);return new r.constructor(e,r.byteOffset,r.length)}var xm="[object Boolean]",Cm="[object Date]",Om="[object Map]",km="[object Number]",Mm="[object RegExp]",Dm="[object Set]",Im="[object String]",jm="[object Symbol]",Em="[object ArrayBuffer]",Pm="[object DataView]",Am="[object Float32Array]",Lm="[object Float64Array]",Rm="[object Int8Array]",Fm="[object Int16Array]",Bm="[object Int32Array]",Xm="[object Uint8Array]",Wm="[object Uint8ClampedArray]",zm="[object Uint16Array]",Hm="[object Uint32Array]";function Ym(r,t,e){var s=r.constructor;switch(t){case Em:return Nn(r);case xm:case Cm:return new s(+r);case Pm:return bm(r);case Am:case Lm:case Rm:case Fm:case Bm:case Xm:case Wm:case zm:case Hm:return wm(r);case Om:return new s;case km:case Im:return new s(r);case Mm:return Tm(r);case Dm:return new s;case jm:return Sm(r)}}function Vm(r){return typeof r.constructor=="function"&&!Hc(r)?ng(qp(r)):{}}var Gm="[object Map]";function Nm(r){return xe(r)&&Bt(r)==Gm}var uh=ys&&ys.isMap,Um=uh?Fn(uh):Nm,$m="[object Set]";function qm(r){return xe(r)&&Bt(r)==$m}var dh=ys&&ys.isSet,Km=dh?Fn(dh):qm,fh="[object Arguments]",Zm="[object Array]",Jm="[object Boolean]",Qm="[object Date]",tv="[object Error]",gh="[object Function]",ev="[object GeneratorFunction]",sv="[object Map]",iv="[object Number]",ph="[object Object]",rv="[object RegExp]",nv="[object Set]",ov="[object String]",av="[object Symbol]",cv="[object WeakMap]",hv="[object ArrayBuffer]",lv="[object DataView]",uv="[object Float32Array]",dv="[object Float64Array]",fv="[object Int8Array]",gv="[object Int16Array]",pv="[object Int32Array]",mv="[object Uint8Array]",vv="[object Uint8ClampedArray]",yv="[object Uint16Array]",bv="[object Uint32Array]",Y={};Y[fh]=Y[Zm]=Y[hv]=Y[lv]=Y[Jm]=Y[Qm]=Y[uv]=Y[dv]=Y[fv]=Y[gv]=Y[pv]=Y[sv]=Y[iv]=Y[ph]=Y[rv]=Y[nv]=Y[ov]=Y[av]=Y[mv]=Y[vv]=Y[yv]=Y[bv]=!0,Y[tv]=Y[gh]=Y[cv]=!1;function yr(r,t,e,s,i,n){var o;if(o!==void 0)return o;if(!Kt(r))return r;var a=qt(r);if(a)o=ym(r);else{var c=Bt(r),h=c==gh||c==ev;if(fr(r))return im(r);if(c==ph||c==fh||h&&!i)o=h?{}:Vm(r);else{if(!Y[c])return i?r:{};o=Ym(r,c)}}n||(n=new le);var l=n.get(r);if(l)return l;n.set(r,o),Km(r)?r.forEach(function(f){o.add(yr(f,t,e,f,r,n))}):Um(r)&&r.forEach(function(f,g){o.set(g,yr(f,t,e,g,r,n))});var u=Hn,d=a?void 0:u(r);return gg(d||r,function(f,g){d&&(g=f,f=r[g]),Wc(o,g,yr(f,t,e,g,r,n))}),o}var _v=1,Tv=4;function Ge(r){return yr(r,_v|Tv)}var Sv="__lodash_hash_undefined__";function wv(r){return this.__data__.set(r,Sv),this}function xv(r){return this.__data__.has(r)}function br(r){var t=-1,e=r==null?0:r.length;for(this.__data__=new he;++t<e;)this.add(r[t])}br.prototype.add=br.prototype.push=wv,br.prototype.has=xv;function Cv(r,t){for(var e=-1,s=r==null?0:r.length;++e<s;)if(t(r[e],e,r))return!0;return!1}function Ov(r,t){return r.has(t)}var kv=1,Mv=2;function mh(r,t,e,s,i,n){var o=e&kv,a=r.length,c=t.length;if(a!=c&&!(o&&c>a))return!1;var h=n.get(r),l=n.get(t);if(h&&l)return h==t&&l==r;var u=-1,d=!0,f=e&Mv?new br:void 0;for(n.set(r,t),n.set(t,r);++u<a;){var g=r[u],p=t[u];if(s)var m=o?s(p,g,u,t,r,n):s(g,p,u,r,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(f){if(!Cv(t,function(b,T){if(!Ov(f,T)&&(g===b||i(g,b,e,s,n)))return f.push(T)})){d=!1;break}}else if(!(g===p||i(g,p,e,s,n))){d=!1;break}}return n.delete(r),n.delete(t),d}function Dv(r){var t=-1,e=Array(r.size);return r.forEach(function(s,i){e[++t]=[i,s]}),e}function Iv(r){var t=-1,e=Array(r.size);return r.forEach(function(s){e[++t]=s}),e}var jv=1,Ev=2,Pv="[object Boolean]",Av="[object Date]",Lv="[object Error]",Rv="[object Map]",Fv="[object Number]",Bv="[object RegExp]",Xv="[object Set]",Wv="[object String]",zv="[object Symbol]",Hv="[object ArrayBuffer]",Yv="[object DataView]",vh=Ot?Ot.prototype:void 0,Un=vh?vh.valueOf:void 0;function Vv(r,t,e,s,i,n,o){switch(e){case Yv:if(r.byteLength!=t.byteLength||r.byteOffset!=t.byteOffset)return!1;r=r.buffer,t=t.buffer;case Hv:return!(r.byteLength!=t.byteLength||!n(new vr(r),new vr(t)));case Pv:case Av:case Fv:return An(+r,+t);case Lv:return r.name==t.name&&r.message==t.message;case Bv:case Wv:return r==t+"";case Rv:var a=Dv;case Xv:var c=s&jv;if(a||(a=Iv),r.size!=t.size&&!c)return!1;var h=o.get(r);if(h)return h==t;s|=Ev,o.set(r,t);var l=mh(a(r),a(t),s,i,n,o);return o.delete(r),l;case zv:if(Un)return Un.call(r)==Un.call(t)}return!1}var Gv=1,Nv=Object.prototype,Uv=Nv.hasOwnProperty;function $v(r,t,e,s,i,n){var o=e&Gv,a=Hn(r),c=a.length,h=Hn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:Uv.call(t,d)))return!1}var f=n.get(r),g=n.get(t);if(f&&g)return f==t&&g==r;var p=!0;n.set(r,t),n.set(t,r);for(var m=o;++u<c;){d=a[u];var b=r[d],T=t[d];if(s)var w=o?s(T,b,d,t,r,n):s(b,T,d,r,t,n);if(!(w===void 0?b===T||i(b,T,e,s,n):w)){p=!1;break}m||(m=d=="constructor")}if(p&&!m){var x=r.constructor,O=t.constructor;x!=O&&"constructor"in r&&"constructor"in t&&!(typeof x=="function"&&x instanceof x&&typeof O=="function"&&O instanceof O)&&(p=!1)}return n.delete(r),n.delete(t),p}var qv=1,yh="[object Arguments]",bh="[object Array]",_r="[object Object]",Kv=Object.prototype,_h=Kv.hasOwnProperty;function Zv(r,t,e,s,i,n){var o=qt(r),a=qt(t),c=o?bh:Bt(r),h=a?bh:Bt(t);c=c==yh?_r:c,h=h==yh?_r:h;var l=c==_r,u=h==_r,d=c==h;if(d&&fr(r)){if(!fr(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new le),o||Kc(r)?mh(r,t,e,s,i,n):Vv(r,t,c,e,s,i,n);if(!(e&qv)){var f=l&&_h.call(r,"__wrapped__"),g=u&&_h.call(t,"__wrapped__");if(f||g){var p=f?r.value():r,m=g?t.value():t;return n||(n=new le),i(p,m,e,s,n)}}return d?(n||(n=new le),$v(r,t,e,s,i,n)):!1}function Th(r,t,e,s,i){return r===t?!0:r==null||t==null||!xe(r)&&!xe(t)?r!==r&&t!==t:Zv(r,t,e,s,Th,i)}function Jv(r,t){return r!=null&&t in Object(r)}function Qv(r,t,e){t=mr(t,r);for(var s=-1,i=t.length,n=!1;++s<i;){var o=Wn(t[s]);if(!(n=r!=null&&e(r,o)))break;r=r[o]}return n||++s!=i?n:(i=r==null?0:r.length,!!i&&Ln(i)&&Pn(o,i)&&(qt(r)||Rn(r)))}function t0(r,t){return r!=null&&Qv(r,t,Jv)}var $n=function(){return Ft.Date.now()},e0="Expected a function",s0=Math.max,i0=Math.min;function r0(r,t,e){var s,i,n,o,a,c,h=0,l=!1,u=!1,d=!0;if(typeof r!="function")throw new TypeError(e0);t=Rc(t)||0,Kt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?s0(Rc(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function f(C){var I=s,M=i;return s=i=void 0,h=C,o=r.apply(M,I),o}function g(C){return h=C,a=setTimeout(b,t),l?f(C):o}function p(C){var I=C-c,M=C-h,j=t-I;return u?i0(j,n-M):j}function m(C){var I=C-c,M=C-h;return c===void 0||I>=t||I<0||u&&M>=n}function b(){var C=$n();if(m(C))return T(C);a=setTimeout(b,p(C))}function T(C){return a=void 0,d&&s?f(C):(s=i=void 0,o)}function w(){a!==void 0&&clearTimeout(a),h=0,s=c=i=a=void 0}function x(){return a===void 0?o:T($n())}function O(){var C=$n(),I=m(C);if(s=arguments,i=this,c=C,I){if(a===void 0)return g(c);if(u)return clearTimeout(a),a=setTimeout(b,t),f(c)}return a===void 0&&(a=setTimeout(b,t)),o}return O.cancel=w,O.flush=x,O}function n0(r,t){return Th(r,t)}function o0(r,t,e,s){if(!Kt(r))return r;t=mr(t,r);for(var i=-1,n=t.length,o=n-1,a=r;a!=null&&++i<n;){var c=Wn(t[i]),h=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return r;if(i!=o){var l=a[c];h=void 0,h===void 0&&(h=Kt(l)?l:Pn(t[i+1])?[]:{})}Wc(a,c,h),a=a[c]}return r}function a0(r,t,e){for(var s=-1,i=t.length,n={};++s<i;){var o=t[s],a=Gp(r,o);e(a,o)&&o0(n,mr(o,r),a)}return n}function c0(r,t){return a0(r,t,function(e,s){return t0(r,s)})}var h0=$p(function(r,t){return r==null?{}:c0(r,t)}),l0="Expected a function";function u0(r,t,e){var s=!0,i=!0;if(typeof r!="function")throw new TypeError(l0);return Kt(e)&&(s="leading"in e?!!e.leading:s,i="trailing"in e?!!e.trailing:i),r0(r,t,{leading:s,maxWait:t,trailing:i})}class d0{addTrackItem(t){const e=Sf(t,{tScale:this.tScale,sizesMap:this.sizesMap});this.add(e)}alignItemsToTrack(){this.pauseEventListeners();const t=new Map(this.getObjects("Track").map(i=>[i.id,i])),e=this.getTrackItems(),s=this.getObjects("Transition");this.trackItemIds.forEach(i=>{const n=this.tracks.find(c=>c.items.includes(i));if(!n)return;const o=t.get(n.id),a=this.getTrackItems().find(c=>c.id===i);a&&o&&(a.isMain=o.magnetic,this.trackItemsMap[i].isMain=o.magnetic,a.set({top:o.top}),a.setCoords())}),t.forEach(i=>{i.items=e.filter(n=>n.top===i.top).map(n=>n.id)}),s.forEach(i=>{const n=i.fromId,o=e.find(a=>a.id===n);o&&(i.set({top:o.top}),i.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,i=this.trackItemsMap[t],n=this.getObjects().find(c=>c.id===t),o=$(i.display.from,this.tScale),a=$(i.display.to-i.display.from,this.tScale,i.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof $t){const c=n.display.to-n.display.from;n.setDuration?n.setDuration(c):n.set({duration:c}),i.trim=n.trim,i.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(n0(e,t))return;const i=this.getObjects(...ue.objectTypes,"Transition").filter(n=>t.includes(n.id));if(!i.length)this.discardActiveObject();else if(i.length===1)this.setActiveObject(i[0]);else{const n=new xt(i);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={};t.forEach(s=>{const{id:i,left:n,width:o}=s,a=this.trackItemsMap[i],c=P(n,this.tScale),h=P(o,this.tScale),l={from:c,to:c+h},u={display:l};s instanceof $t&&(u.trim=s.trim),s.display=l,e[i]={...a,...u}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),i=$s(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=i,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=$s(this.tracks,e),i={};Object.keys(this.trackItemsMap).forEach(o=>{e.includes(o)||(i[o]=this.trackItemsMap[o])});const n=this.trackItemIds.filter(o=>!e.includes(o));this.tracks=s,this.trackItemsMap=i,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 i=this.getObjects().find(c=>c.id===s),n=this.trackItemsMap[s],o=$(n.display.from,this.tScale),a=$(n.display.to-n.display.from,this.tScale);i.set({left:o,width:a}),i.setCoords()}),!t&&this.resumeEventListeners()}getTrackItems(){return this.getObjects(...ue.objectTypes)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const Sh=r=>{switch(r){case"top":return 1e3;case"bottom":return 1e3;case"center":return 8;default:return 1e3}};class f0{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 i=this.getItemAccepts(t.type),n={id:Us(),items:[t.id],type:t.type,accepts:i,magnetic:!1,static:!1,muted:!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 i=k.getClass("Helper")||oe,n=new i({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=Sh("top"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=Sh("center"),l=new i({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=k.getClass("Track")||Lt,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 i({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||[],i=this.getObjects(...s).filter(o=>e.items.includes(o.id)).sort((o,a)=>o.left-a.left);let n=0;i.forEach(o=>{o.left=n,n+=o.width})}),this.resumeEventListeners()}}function wh(r){const t=this,e=r.target,s=r.transform;if(s.action==="resizing"){const i=t.getObjects().filter(u=>u!==e&&!["Track","Helper","Transition","Placeholder"].includes(u.type)),n=10,o=e.left,a=e.width*e.scaleX,c=o+a;let h=!1;i.forEach(u=>{if(h)return;const d=u.getBoundingRect(),f=d.left,g=d.left+d.width;if(s.corner==="mr"){const p=Math.abs(c-g),m=Math.abs(c-f),b=P(1,e.tScale);if(p<n)if(e instanceof $t){const T=g-e.left,w=T-a,x=P(w,e.tScale,e.playbackRate),O=e.trim.to+x;if(T<b||T<b)return;O<=e.duration&&(e.set({width:T,scaleX:1}),e.trim.to=O,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:g-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof $t){const T=f-e.left,w=T-a,x=P(w,e.tScale,e.playbackRate),O=e.trim.to+x;if(T<b)return;O<=e.duration&&(e.set({width:T,scaleX:1}),e.trim.to=O,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:f-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}else if(s.corner==="ml"){const p=Math.abs(o-f),m=Math.abs(o-g);if(p<n)if(e instanceof $t){const b=c-f,T=b-a,w=P(T,e.tScale,e.playbackRate),x=e.trim.from-w;x>=0&&(e.set({left:f,width:b,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:f,width:c-f,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof $t){const b=c-g,T=b-a,w=P(T,e.tScale,e.playbackRate),x=e.trim.from-w;x>=0&&(e.set({left:g,width:b,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());const l=t.tracks.find(u=>u.magnetic);if(l&&l.items.includes(e.id)){const u=t.getTrackItems().filter(g=>l.items.includes(g.id)),d=Math.max(...u.map(g=>{const p=P(g.left,t.tScale),m=P(g.width*g.scaleX,t.tScale);return p+m}));t.getTrackItems().filter(g=>g.type==="audio").forEach(g=>{var m;const p=t.trackItemsMap[g.id];if(p){const b=p.duration||0,T=(m=p.metadata)==null?void 0:m.userLimitDuration,w=typeof T=="number"?T:b,x=p.display.from||0,O=Math.max(0,d-x),C=Math.min(O,w);g.display={from:x,to:x+C},g.trim&&(g.trim={from:g.trim.from||0,to:(g.trim.from||0)+C});const I=$(C,t.tScale);g.set({width:I,scaleX:1}),g.setCoords()}}),t.requestRenderAll()}}}function g0(r){r.on("object:resizing",wh.bind(r))}function p0(r){r.off("object:resizing",wh.bind(r))}const Tr=80,Sr=80,bs=3,m0=25,v0=12,y0=40,b0=16,J={scrollInterval:null,lastPointer:null,lastEvent:null,timeline:null,isAutoScrolling:!1};let Qs=null,ti=null;function _0(r,t){const e=Math.max(0,Math.min(r,t)),s=(t-e)/t;return bs+(m0-bs)*s}function xh(r,t){const e=Math.max(0,Math.min(r,t)),s=(t-e)/t;return bs+(v0-bs)*s}function T0(r,t){const e=Math.min(2,(t-r)/t);return bs+(y0-bs)*e}function S0(r,t){const s=-t+r.width+r.spacing.right;if(s>r.bounding.width){r.bounding={...r.bounding,width:s};const i=s+r.spacing.right;r.getObjects("Track","Helper").forEach(n=>{n.updateCoords(i),n.setCoords()})}}function w0(r,t,e){var i;const s=r.viewportTransform;s[4]=t,s[5]=e,r.requestRenderAll(),r.setActiveTrackItemCoords(),(i=r.onScroll)==null||i.call(r,{scrollTop:e,scrollLeft:t-r.spacing.left})}function Ch(r){if(!J.lastPointer)return;const t=r.getActiveObject();if(!t)return;const e=r.viewportTransform,s=J.lastPointer;let i=!1,n=!1;if(s.x>r.width-Tr){const o=r.width-s.x,a=T0(o,Tr),c=e[4]-a;S0(r,c);const h=c-e[4];t.set("left",t.left-h),w0(r,c,e[5]),i=!0}if(s.x<Tr){const o=s.x,a=_0(o,Tr),c=e[4]+a,h=r.getViewportPos(c,e[5]);if(h.x!==e[4]){const l=h.x-e[4];t.set("left",t.left-l),r.setViewportPos(h.x,e[5]),i=!0}}if(s.y>r.height-Sr){const o=r.height-s.y,a=xh(o,Sr),c=e[5]-a,h=r.getViewportPos(e[4],c);if(h.y!==e[5]){const l=h.y-e[5];t.set("top",t.top-l),r.setViewportPos(e[4],h.y),n=!0}}if(s.y<Sr){const o=s.y,a=xh(o,Sr),c=e[5]+a,h=r.getViewportPos(e[4],c);if(h.y!==e[5]){const l=h.y-e[5];t.set("top",t.top-l),r.setViewportPos(e[4],h.y),n=!0}}if((i||n)&&(t.setCoords(),r.requestRenderAll(),J.lastEvent)){J.isAutoScrolling=!0;const o=r.getScenePoint(J.lastEvent);r.fire("object:moving",{target:t,e:J.lastEvent,transform:r._currentTransform,pointer:o}),J.isAutoScrolling=!1}}function x0(r){J.scrollInterval||(J.scrollInterval=setInterval(()=>{Ch(r)},b0))}function Oh(){J.scrollInterval&&(clearInterval(J.scrollInterval),J.scrollInterval=null),J.lastPointer=null,J.lastEvent=null,J.timeline&&(J.timeline.calcBounding(),J.timeline.refreshTrackLayout()),J.timeline=null}function C0(r){if(J.isAutoScrolling)return;const t=this.getViewportPoint(r.e);J.lastPointer={x:t.x,y:t.y},J.lastEvent=r.e,J.timeline=this,x0(this),Ch(this)}function O0(){Oh()}function k0(r){Qs=C0.bind(r),ti=O0,r.on("object:moving",Qs),r.on("mouse:up",ti)}function M0(r){Oh(),Qs&&(r.off("object:moving",Qs),Qs=null),ti&&(r.off("mouse:up",ti),ti=null)}function kh(r){const t=r.target,e=r.target.canvas;if(r.action==="resizing"&&t instanceof Rt&&e){const s=t.id,i=e.getObjects("Transition").find(n=>n.id===s);if(i&&i instanceof Rt){const n=Ge(this.transitionsMap),o={...n,[s]:{...n[s],width:i.width,duration:i.duration}};this.transitionsMap=o,this.updateState()}}}function D0(r){r.on("object:modified",kh)}function I0(r){r.off("object:modified",kh)}const Mh={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=()=>Mh,lt=r=>{Object.assign(Mh,r)},Dh=10,wr=(r,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&r.remove(e))},Ih=(r,t)=>{const e=[],s=[];return t.getObjects().filter(i=>i.visible).forEach(i=>{if(r.find(o=>o.id===i.id)||i.isAlignmentAuxiliary)return;const n=i.getBoundingRect();e.push(Lh(n.left,n.width,n.top,n.height)),s.push(Lh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},jh=(r,t)=>{const e=[],s=[];r.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Dh&&e.push({lineGuide:a.val,diff:h,orientation:"V",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})}),r.horizontal.forEach(a=>{t.horizontal.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Dh&&s.push({lineGuide:a.val,diff:h,orientation:"H",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})});const i=[],n=e.sort((a,c)=>a.diff-c.diff)[0],o=s.sort((a,c)=>a.diff-c.diff)[0];return n&&i.push({lineGuide:n.lineGuide,offset:n.offset,orientation:"V",snap:n.snap,targetDim:n.targetDim}),o&&i.push({lineGuide:o.lineGuide,offset:o.offset,orientation:"H",snap:o.snap,targetDim:o.targetDim}),i},Eh=(r,t,e)=>{r.forEach(s=>{const i=j0(e.getZoom());s.orientation==="H"?e.add(Ph([0,s.lineGuide-i.strokeWidth/2,2e3,s.lineGuide-i.strokeWidth/2],{...i,stroke:e.guideLineColor})):s.orientation==="V"&&e.add(Ph([s.lineGuide-i.strokeWidth/2,0,s.lineGuide-i.strokeWidth/2,2e3],{...i,stroke:e.guideLineColor}))})},j0=r=>({strokeWidth:2/r}),Ph=(r,t)=>new Se(r,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),Ah=r=>{const t=r.getBoundingRect();return{vertical:[{guide:Math.round(t.left),offset:Math.round(r.left-t.left),snap:"start"},{guide:Math.round(t.left+t.width),offset:Math.round(r.left-t.left-t.width),snap:"end"}],horizontal:[{guide:Math.round(t.top),offset:Math.round(r.top-t.top),snap:"start"},{guide:Math.round(t.top+t.height),offset:Math.round(r.top-t.top-t.height),snap:"end"}]}},Lh=(r,t,e,s)=>[r,r+t].map(n=>({val:n,start:e,end:e+s})),Rh=(r,t)=>{r.remove(...t),t=[]},Fh=r=>{r.forEach(t=>t.setSelected(!1))},Bh=r=>r instanceof oe,E0=r=>Object.assign({},{left:16,right:80},r),P0=["touchstart","touchmove","touchend"],A0=r=>P0.includes(r.type)||r.pointerType==="touch";function Xh(r){const t=this;if(!t)return;const s=Q().enableGuideRedraw,i=t.getScenePoint(r.e),n=t.getObjects("Helper","Track"),o=n.find(g=>{const p=g.getBoundingRect();return i.x>=p.left&&i.x<=p.left+p.width&&i.y>=p.top&&i.y<=p.top+p.height});lt({draggingOverTrack:o}),n.forEach(g=>{Bh(g)&&(g===o?g.setSelected(!0):g.setSelected(!1))}),Bh(o)?lt({isPointerOverHelperTrack:!0}):lt({isPointerOverHelperTrack:!1});const a=t.getObjects(),c=r.target,h=c.getBoundingRect();c.setCoords();const l=[c,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],u=Ih(l,t),d=Ah(c),f=jh(u,d);s&&(wr(t,a),f.length&&Eh(f,h,t),lt({enableGuideRedraw:!1}),setTimeout(()=>lt({enableGuideRedraw:!0}),50)),f.forEach(g=>{g.orientation==="V"?c.left=g.lineGuide+g.offset:c.top=g.lineGuide+g.offset})}function Wh(r){const t=r.target.canvas;t&&(wr(t,t.getObjects()),Fh(t.getObjects("Helper")),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function zh(r){var a;const t=this,e=t.getObjects(),s=r.target,i=r.transform,n=(a=t._currentTransform)==null?void 0:a.corner,o=s.getBoundingRect();if(i.action==="resizing"){const c=[s,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],h=Ih(c,t),l=h.vertical.filter(f=>{const g=f.val;if(n==="ml")return g<=o.left;if(n==="mr")return g>=o.left+o.width});h.vertical=l;const u=Ah(s),d=jh(h,u);wr(t,e),d.length&&Eh(d,o,t)}}function L0(r){r.on("object:moving",Xh.bind(r)),r.on("object:modified",Wh.bind(r)),r.on("object:resizing",zh.bind(r))}function R0(r){r.off("object:moving",Xh.bind(r)),r.off("object:modified",Wh.bind(r)),r.off("object:resizing",zh.bind(r))}function qn(r,t,e){const s=r.indexOf(t),i=r.indexOf(e);return s===-1||i===-1?null:i-s}function Hh(r,t){const e=t.sort((i,n)=>i.tempIndex-n.tempIndex),s=[];for(const i of e)i.tempIndex<0&&s.push(i);s.push(r);for(const i of e)i.tempIndex>=0&&s.push(i);return s}function Yh(r){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(),i=s instanceof xt?s.getObjects():[s];lt({activeObjects:i});const n=e.getScenePoint(r.e),o=e.getObjects("Track"),a=e.getActiveObjects().map(u=>u.id);let h=o.filter(u=>{const d=u.items;return a.some(f=>d.includes(f))}).find(u=>{const d=u.getBoundingRect();return n.x>=d.left&&n.x<=d.left+d.width&&n.y>=d.top&&n.y<=d.top+d.height});lt({originTrack:h});const l=e.getObjects(...this.itemTypes);o.forEach(u=>{const d=l.filter(f=>u.items.includes(f.id));t.trackToItemsMap[u.id]=d,t.trackTopToIdMap[u.top]=u.id,t.trackTops.push(u.top)}),t.trackTops.sort((u,d)=>u-d),i.forEach(u=>{const d=o.find(g=>g.items.includes(u.id));if(!d)return;const f=d.id;t.activeTrackToItemsMap[f]?t.activeTrackToItemsMap[f].push(u):t.activeTrackToItemsMap[f]=[u]}),t.primaryMovingObjects=i.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof Rt)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[d];if(t.primaryTracks[f])t.primaryTracks[f].objects.push(u);else{const g=qn(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[f]={objects:[u],index:g}}}),t.primaryMovingObjects=t.primaryMovingObjects.sort((u,d)=>u.left-d.left),t.secondaryMovingObjects=i.filter(u=>!t.primaryMovingObjects.includes(u)),t.secondaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[f])t.secondaryTracks[f].objects.push(u);else{const g=qn(t.trackTops,h.top,d);t.secondaryTracks[f]={objects:[u],index:g}}}),h&&(e.trackOriginBeforeTransform=h.id),s&&(e.positionBeforeTransform={top:s.top,left:s.left}),r.transform.action==="drag"&&(t.placeholderMovingObjects=t.primaryMovingObjects.map(u=>{const d=u.getBoundingRect();t.objectInitialPositions[u.id]={top:d.top,left:d.left};const f=new ds({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return f.draggedObject=u,f}),e.add(...t.placeholderMovingObjects)))}function F0(r){r.on("before:transform",Yh.bind(r))}function B0(r){r.off("before:transform",Yh.bind(r))}const Os=class Os extends it{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,Os.ownDefaults),this.id=e.id}static createControls(){return{controls:Dn()}}static getDefaults(){return{...super.getDefaults(),...Os.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const i=$(this.duration,this.tScale),n=s.left+s.width-i/2;this.set({width:i,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=Vs,e.strokeStyle=ze,e.stroke(),e.restore())}};S(Os,"type","TransitionGuide"),S(Os,"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 ei=Os;const X0=r=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=r,i=new Map;Object.values(e).forEach(h=>{var f,g;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(i.has(l)||i.set(l,[]),i.has(u)||i.set(u,[]),(f=i.get(l))==null||f.push(h),(g=i.get(u))==null||g.push(h))});const n=[],o=new Set,a=h=>{const l=[];let u=h;for(;u&&!o.has(u);){o.add(u);const d=s[u];l.push(d);const f=Object.values(e).find(g=>g.fromId===u&&g.kind!=="none");if(!f)break;l.push(f),u=f.toId}return l},c=Object.values(e).filter(h=>h.kind!=="none");for(const h of t)if(!o.has(h)&&(!i.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},W0=["text","image","video","audio","caption","template"];function Vh(){const r=Q();Rh(this,r.placeholderMovingObjects)}function z0(r){const t=r.target.left;r.target.left=Math.max(t,0)}function Gh(r,t){return r.find(s=>{const i=s.getBoundingRect();return t.left<i.left+i.width&&t.left+t.width-1>i.left&&t.top<i.top+i.height&&t.top+t.height>i.top})}function H0(r,t){const s=r.canvas.getActiveObject(),i=s.left+s.width/2,n=t.left+t.width/2;return i<n?t.left-s.width:(i>n,t.left+t.width)}const Y0=(r,t,e)=>!(e<0||Gh(r,{...t.getBoundingRect(),left:e})),Nh=r=>{const e=Q().draggingOverTrack,s=e==null?void 0:e.accepts.map(n=>n.toLowerCase()),i=r.type.toLowerCase();return r instanceof ae,e&&(s==null?void 0:s.includes(i))};function V0(r){Q().isPointerOverHelperTrack?r.opacity=0:r.opacity=1}function G0(){const r=Q(),t=r.primaryMovingObjects[0];return{top:r.objectInitialPositions[t.id].top,left:r.objectInitialPositions[t.id].left}}function N0(r){const t=r.getBoundingRect(),e=Q(),s=e.draggingOverTrack;if(e.primaryMovingObjects.map(n=>n.id).includes(r.id)){const o=e.primaryMovingObjects[0].getBoundingRect();return{top:s.top,left:o.left}}return{top:s.top,left:t.left}}function U0(r,t,e,s){const n=r.canvas.getActiveObjects().map(l=>l.id),o=H0(r,t),a=e.filter(l=>!n.includes(l.id)),c=Y0(a,r,o),h=Q();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,f)=>Math.abs(f-s.x)<Math.abs(d-s.x)?f:d),top:l.top}}return{left:o,top:t.top}}const $0=(r,t)=>{r.forEach((e,s)=>{e.set({left:t[s]})})},Uh=u0(r=>{const t=r.target.canvas;z0(r);const e=Q(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];W0.includes(a.type)&&e.placeholderMovingObjects.forEach(c=>{c.visible=!0})}else{e.placeholderMovingObjects.forEach(a=>{a.visible=!1});return}const i=e.placeholderMovingObjects.map(a=>a.draggedObject),n=(e.trackToItemsMap[s.id]||[]).filter(a=>!i.includes(a)),o=Nh(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=$h(e,s));let a=0;for(const[c,h]of e.initialTrackPoints.entries()){const l=h,u=e.initialTrackPoints[c+1],d=e.initialTrackPoints[c-1],f=u-l,g=l-d;if(!u)a=l;else if(l<=r.pointer.x&&l+f/2>=r.pointer.x){a=l;break}else if(l-g/2<=r.pointer.x&&r.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(f=>f.id===e.updateItemsInTrack);d!=null&&d.magnetic?q0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]}e.initialTrackPoints.length===0&&s instanceof Lt&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=$h(e,s));const a=n.find(d=>Gh(i,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,f)=>d.left-f.left),u=l[0];l.forEach((d,f)=>{if(!l[f-1])return;const g=d.left-u.left;c.push(g)}),e.placeholderMovingObjects.forEach((d,f)=>{const g=d.draggedObject;if(g instanceof ei){d.visible=!1;return}g.setCoords(),V0(d);let p=Q0(g,n,r.pointer,a);if(e.draggingOverTrack instanceof oe?d.opacity=0:d.opacity=1,g instanceof ae&&p.isInvalidDrop&&e.draggingOverTrack instanceof Lt){const m=r.pointer,b=[...t.viewportTransform],T=m.y-b[5];J0(t,T)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left+(c[f-1]||0)},d.left=p.left+(c[f-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),$h=(r,t)=>{const e=r.canvas,s=[];t.items.forEach(h=>{const l=e.getObjects().find(u=>u.id===h);l&&s.push(l)});const i=r.activeObjects.map(h=>h.id),o=s.filter(h=>!i.includes(h.id)).sort((h,l)=>h.left-l.left);let a=0;const c=[];return t.magnetic?K0(o,a,c):Z0(t,c,e),c};function q0(r,t){const e=[];r.getObjects().find(a=>a.id===t.updateItemsInTrack).items.forEach(a=>{const c=r.getObjects().find(h=>h.id===a);c&&e.push(c)});const i=t.activeObjects.map(a=>a.id),o=e.filter(a=>!i.includes(a.id)).sort((a,c)=>a.left-c.left);t.initialTrackPoints.length>o.length&&$0(o,t.initialTrackPoints)}function K0(r,t,e){var h;const s=Q(),i=(h=r[0])==null?void 0:h.canvas,n=s.draggingOverTrack,o=s.primaryMovingObjects.map(l=>l.id);if(!i)return;const a=i.transitionIds.filter(l=>i.transitionsMap[l].kind!=="none");r.forEach(l=>{l.set({left:t}),t+=l.width,a.find(d=>i.transitionsMap[d].toId===l.id)||e.push(l.left)});const c=r[r.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(f=>f>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,$(l.display.from,i.tScale))}}}function Z0(r,t,e){const s=r.items,i={},n={},o=e.getActiveObjects().map(h=>h.id);Object.values(e.trackItemsMap).forEach(h=>{s.includes(h.id)&&(i[h.id]=h)});const a=e.getObjects("Transition").filter(h=>h.top===r.top).map(h=>h.id);Object.values(e.transitionsMap).forEach(h=>{a.includes(h.id)&&(n[h.id]=h)});const c=X0({trackItemIds:Ge(s),transitionsMap:Ge(n),trackItemsMap:Ge(i)});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 J0(r,t){r.getObjects("Helper").reduce((i,n)=>Math.abs(n.top-t)<Math.abs(i.top-t)?n:i).setSelected(!0)}const Q0=(r,t,e,s)=>{const i=Nh(r);return!i&&r instanceof ae?{top:0,left:0,isInvalidDrop:!0}:i?s?r instanceof ae?{top:0,left:0,isInvalidDrop:!0}:U0(r,s,t,e):N0(r):G0()};function ty(r){r.on("mouse:up",Vh.bind(r)),r.on("object:moving",Uh)}function ey(r){r.off("mouse:up",Vh.bind(r)),r.off("object:moving",Uh)}const sy=r=>{Q().canvas.fire("track:create",r)},iy=r=>{Q().canvas.fire("track-items:moved",r)},qh=r=>{var a,c,h;const t=(a=r.target)==null?void 0:a.canvas;if(!t)return;const e=Q(),s=t.getActiveObject();if(!s||!t.positionBeforeTransform)return;const i=t.getScenePoint(r.e),o=t.getObjects("Track","Helper").find(l=>{const u=l.getBoundingRect();return i.x>=u.left&&i.x<=u.left+u.width&&i.y>=u.top&&i.y<=u.top+u.height});if(r.action==="resizing"){const l=(e.trackToItemsMap[(c=e.originTrack)==null?void 0:c.id]||[]).filter(d=>d!==s);s.setCoords();const u=Kh(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 oe){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}};sy(u)}else if(o instanceof Lt){const u={isSecondaryOverlapped:ny(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};iy(u)}};function ry(){const r=Q(),t=r.canvas,[e]=r.primaryMovingObjects,s=e.id,i=t.positionAfterTransform[s],n=e.getBoundingRect().top,o=i.top-n,a={};return r.secondaryMovingObjects.forEach(c=>{const h=c.getBoundingRect().top+o,l=r.trackTopToIdMap[h],u=qn(r.trackTops,r.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function ny(){const r=ry(),t=Q();return Object.keys(r).some(e=>{const s=t.trackToItemsMap[e],i=r[e].objects;return!s||!s.length?!0:s.filter(n=>!i.includes(n)).some(n=>Kh(i,n.getBoundingRect()))})}function Kh(r,t){return r.find(s=>{const i=s.getBoundingRect();return t.left<i.left+i.width&&t.left+t.width>i.left&&t.top<i.top+i.height&&t.top+t.height>i.top})}const oy=r=>{r.on("object:modified",qh)},ay=r=>{r.off("object:modified",qh)},Kn="drag",Zh=`${Kn}:start`,Zn=`${Kn}:end`,Jn="timeline",Jh=`${Jn}:boundingChanged`,Qh=`${Jn}:seek`,cy=r=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=r,i=new Map;Object.values(e).forEach(c=>{var u,d;if(c.kind==="none")return;const{fromId:h,toId:l}=c;i.has(h)||i.set(h,[]),i.has(l)||i.set(l,[]),(u=i.get(h))==null||u.push(c),(d=i.get(l))==null||d.push(c)});const n=[],o=new Set,a=c=>{const h=[];let l=c;for(;l&&!o.has(l);){o.add(l);const u=s[l];h.push(u);const d=Object.values(e).find(f=>f.fromId===l&&f.kind!=="none");if(!d)break;h.push(d),l=d.toId}return h};for(const c of t)if(!o.has(c)&&(!i.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},hy="add:audio",ly="add:video",uy="add:image",dy="add:text",fy=["transition","image","video","audio","caption","text"];let ot,si,Ne=[],ii="";function gy(r,t){let e=1/0,s=null;const i=new _(r.x,r.y);return t.forEach(n=>{const o=Math.sqrt(Math.pow(n.left-i.x,2)+Math.pow(n.top-i.y,2));o<e&&(e=o,s=n)}),s}const py=({width:r,height:t,id:e,left:s,top:i,type:n,duration:o})=>{if(n==="transition")return new ei({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=k.getClass("PreviewTrackItem")||ae;return new a({top:i,left:s,height:t,width:r,id:e,type:n,duration:o})};function tl(r){var f;let t=null;for(const g of((f=r.e.dataTransfer)==null?void 0:f.types)||[])try{t=JSON.parse(g);break}catch{try{const p=r.e.dataTransfer.getData(g);if(p){t=JSON.parse(p);break}}catch{}}if(!t)return;const e=t.type;if(!fy.includes(e))return;const s=t.duration||5e3,i=this;i.discardActiveObject(),i.setActiveIds([]);const n=$(s,this.tScale),o=i.getItemSize(e),a=i.getTrackItems();if(ot=py({width:n,height:o,id:"TransitionGuide",left:0,top:0,type:e,duration:s}),ot.visible=!1,ii=e,e==="transition"){Ne=i.getObjects("Transition");const g=Ne.filter(p=>p.kind!=="none");Ne.forEach(p=>{const m=a.find(O=>O.id===p.toId),b=a.find(O=>O.id===p.fromId),T=p.width;((m==null?void 0:m.width)||0)>=T/2&&((b==null?void 0:b.width)||0)>=T/2||(p.availableDrop=!1);const w=g.find(O=>O.fromId===p.toId);w&&w.width+T/2>=((m==null?void 0:m.width)||0)&&(p.availableDrop=!1);const x=g.find(O=>O.toId===p.fromId);x&&x.width+T/2>=((b==null?void 0:b.width)||0)&&(p.availableDrop=!1),p.visible=!0})}const c=Q();i.trackIdAfterTransform="",i.positionAfterTransform={};const h=ot,l=[ot];lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),lt({activeObjects:l});const u=i.getObjects("Track"),d=i.getTrackItems();u.forEach(g=>{const p=d.filter(m=>g.items.includes(m.id));c.trackToItemsMap[g.id]=p,c.trackTopToIdMap[g.top]=g.id,c.trackTops.push(g.top)}),c.trackTops.sort((g,p)=>g-p),c.primaryMovingObjects=l,c.primaryMovingObjects=c.primaryMovingObjects.sort((g,p)=>g.left-p.left),h&&(i.positionBeforeTransform={top:h.top,left:h.left}),c.placeholderMovingObjects=c.primaryMovingObjects.map(g=>{const p=g.getBoundingRect();c.objectInitialPositions[g.id]={top:p.top,left:p.left};const m=new ds({id:`${g.id}-placeholder`,left:p.left,top:p.top,width:p.width,height:p.height});return m.visible=!1,m.draggedObject=g,m}),i.add(...c.placeholderMovingObjects),i.add(ot),tt.dispatch(Zh)}const el=r=>{const t=Q();Rh(r,t.placeholderMovingObjects),r&&(wr(r,r.getObjects()),Fh(r.getObjects("Helper")))};function sl(){if(ii="",el(this),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!ot)return;tt.dispatch(Zn);const r=this;Ne.forEach(t=>{t.strokeDashArray=[],t.setSelected(!1)}),r.getObjects("Helper","Track").forEach(t=>{t.setSelected&&t.setSelected(!1)}),r.remove(ot)}function il(r){const t=Q();if(!ot||!t.placeholderMovingObjects||!t.placeholderMovingObjects[0])return!1;const e=t.placeholderMovingObjects[0];e.visible||(ot.visible=!0,e.visible=!0),t.activeObjects[0]instanceof ei&&(e.visible=!1),r.e.preventDefault();const s=this,i=s.getScenePoint(r.e);ot.set({left:i.x-16,top:i.y-ot.height/2});const n=gy(i,Ne.filter(c=>c.availableDrop));n&&(si=n,n.strokeDashArray=[5,1],n.setSelected(!0)),Ne.forEach(c=>{c!==n&&c.setSelected(!1)}),lt({isDragOver:!0}),ot.setCoords();const o={target:ot,action:"drag",originX:"center",originY:"center",offsetX:i.x-ot.left,offsetY:i.y-ot.top,scaleX:ot.scaleX,scaleY:ot.scaleY};if(t.activeObjects[0].type!=="transitionguide"&&s.fire("object:moving",{target:ot,e:r.e,pointer:i,transform:o}),this.itemTypes.includes(ii))if(t.draggingOverTrack instanceof Lt){lt({isPointerOverHelperTrack:!1});const c=t.activeObjects[0].left,h=t.activeObjects[0].left+t.activeObjects[0].width;let l=!1;const u=t.draggingOverTrack.items;s.getObjects().filter(d=>u.includes(d.id)).forEach(d=>{(d.left<=c&&d.left+d.width>=c||d.left<=h&&d.left+d.width>=h||c<=d.left&&h>=d.left+d.width)&&(l=!0)}),t.draggingOverTrack.accepts.includes(ii)&&!l?(t.placeholderMovingObjects[0].left=t.activeObjects[0].left,t.placeholderMovingObjects[0].top=t.draggingOverTrack.top,s.getObjects("Helper").forEach(d=>{d.setSelected&&d.setSelected(!1)})):t.placeholderMovingObjects.forEach(d=>{d.opacity=0})}else t.draggingOverTrack instanceof oe&&(lt({isPointerOverHelperTrack:!0}),t.draggingOverTrack.setSelected(!0));s.requestRenderAll()}function rl(r){var n;ii="";const t=this;el(t);const e=Q(),s=e.draggingOverTrack;lt({draggingOverTrack:null,isPointerOverHelperTrack:!1});let i=null;for(const o of((n=r.e.dataTransfer)==null?void 0:n.types)||[])try{i=JSON.parse(o);break}catch{try{const a=r.e.dataTransfer.getData(o);if(a){i=JSON.parse(a);break}}catch{}}if(i){if(i.type!=="transition"){const o=e.activeObjects[0],a=P(o.left,t.tScale);if(s instanceof Lt)if(e.placeholderMovingObjects[0].opacity!==0){const h=Qn(s,this.getObjects("Track"));if(s.magnetic){const l=e.initialTrackPoints[e.initialTrackPoints.length-1],u=P(l,t.tScale)||0;xr(i,h,u)}else xr(i,h,a)}else{const h=t.getScenePoint(r.e),l=P(h.x,t.tScale),u=h.y,f=t.getObjects("Helper").reduce((p,m)=>Math.abs(m.top-u)<Math.abs(p.top-u)?m:p),g=Qn(f,this.getObjects("Track"));xr(i,g,l,!0)}else{const c=t.getScenePoint(r.e),h=P(c.x-16,t.tScale),l=Qn(s,this.getObjects("Track"));xr(i,l,h,!0)}this.remove(o),this.requestRenderAll();return}if(ot){if(si){const o=si.id,a=h0(i,["kind","direction"]);Object.keys(a).forEach(b=>{b==="kind"?si.kind=a[b]:si[b]=a[b]});const c=Ge(this.trackItemIds),h=Ge(this.transitionsMap),l=Ge(this.trackItemsMap);h[o]={...h[o],...a};const u=cy({trackItemIds:c,transitionsMap:h,trackItemsMap:l}),f=h[o].fromId,g=u.find(b=>b.find(T=>T.id===f))||[],p=my(g),m=vy(this.trackItemsMap,p);this.trackItemsMap=m,this.transitionsMap[o]={...this.transitionsMap[o],...a},this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ne.forEach(o=>{o.strokeDashArray=[],o.setSelected(!1)}),t.remove(ot),t.requestRenderAll(),tt.dispatch(Zn)}}}const my=r=>{var i;const[t]=r,e=r.filter(n=>n.type!=="transition");let s=((i=t==null?void 0:t.display)==null?void 0:i.from)||0;return e.map(n=>{const o=n.display.to-n.display.from,a={from:s,to:s+o};return s=a.to,{...n,display:a}})},vy=(r,t)=>{let e=r;return t.forEach(s=>{e[s.id]=s}),e},Qn=(r,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||!r)return 0;if(s.top+s.height<=r.top)return e.length;const i=r.top;return e.reduce((o,a,c)=>{const h=Math.abs(a.top-i),l=Math.abs(e[o].top-i);return h<l?c:o},0)},xr=(r,t,e,s)=>{r.type==="image"?tt.dispatch(uy,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):r.type==="video"?tt.dispatch(ly,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):r.type==="audio"?tt.dispatch(hy,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):r.type==="text"&&tt.dispatch(dy,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function yy(r){r.on("dragover",il),r.on("dragenter",tl),r.on("dragleave",sl),r.on("drop",rl)}function by(r){r.off("dragover",il),r.off("dragenter",tl),r.off("dragleave",sl),r.off("drop",rl)}function nl(r){const t=this.height<this.bounding.height;if(!(this.width<this.bounding.width)&&!t)return;const s=this.viewportTransform;let i=s[4],n=s[5];const o=2;r.e.shiftKey?i=i-r.e.deltaY*o:(t&&(n=n-r.e.deltaY*o),i=i-r.e.deltaX*o),this.setViewportPos(i,n)}function ol(){const r=this,t=r.getActiveObject(),e=r.getActiveObjects(),s=e.map(n=>n.id),i=e.filter(n=>{if(e.length===1)return!0;if(n.id&&!(n instanceof Rt))return!0;if(n instanceof Rt&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof xt?(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),i.length===1&&String(t==null?void 0:t.id)!==String(i[0])?this.setActiveIds(i):i.length>=1&&this.setActiveIds(i)}function al(r){const t=this,e=t.getActiveObject();e instanceof xt&&(e.borderColor="transparent",e.hasControls=!1,e.hoverCursor="default"),r.selected.forEach(n=>{n.setSelected(!0)}),r.deselected.forEach(n=>{n.setSelected(!1)});const i=t.getActiveObjects().map(n=>n.id);this.setActiveIds(i)}function cl(r){r.deselected.forEach(t=>{t.setSelected(!1)})}const _y=r=>{r.on("selection:created",ol),r.on("selection:updated",al),r.on("selection:cleared",cl),r.on("mouse:wheel",nl)},Ty=r=>{r.off("mouse:wheel",nl),r.off("selection:created",ol),r.off("selection:updated",al),r.off("selection:cleared",cl)},hl=()=>{var n;const r=Q(),t=r.canvas,e=r.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,i=new Set(r.activeObjects.map(o=>o.id));if(s){const o=e.id,c=r.trackToItemsMap[o].sort((g,p)=>g.left-p.left),h=r.placeholderMovingObjects,l=((n=h[0])==null?void 0:n.top)||0,u=h.reduce((g,p)=>g+p.width,0),d=Math.min(...h.map(g=>g.left));let f=0;c.forEach(g=>{i.has(g.id)||g.top===l&&(Math.abs(d-f)<1&&(f+=u),g.left=f,f+=g.width)})}else if(e instanceof Lt&&r.orderNormalTrack){const o=e.items,a=t.getTrackItems().filter(p=>!i.has(p.id)&&o.includes(p.id)),c=a.sort((p,m)=>p.left-m.left),h=r.placeholderMovingObjects[0],l=r.placeholderMovingObjects[r.placeholderMovingObjects.length-1],u=h.left,d=l.left-h.left+l.width,f=c.find((p,m)=>{if(p.left>=u-1)return c[m]}),g=a.filter(p=>p.left>=u-1);if(h.left+d>(f==null?void 0:f.left)){const p=d-(f.left-h.left);g.forEach(m=>{const b=$(m.display.from,t.tScale);m.left=b+p})}}t.alignTransitionsToTrack(!1)};function Sy(r){r.on("object:moving",hl)}function wy(r){r.off("object:moving",hl)}let Xt,to=!1;function xy(r,t){const e=r.canvas;if(e.objectTypes.includes(r.type)){Xt||(Xt=r);const i=r.top,n=r.height,o=r.left,a=r.width,c=t.x,h=t.y,l=Math.abs(h-(i+n/2))<=ef;Math.abs(c-o)<=xc&&l||Math.abs(c-o-a)<=xc&&l?(e.hoverCornerItem=!0,r.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,r.hoverCursor="move"),e.requestRenderAll()}}function ll(r){const t=this,e=t.findTarget(r.e),s=t.getScenePoint(r.e);e&&(e.isSelected&&Xt&&(e.hoverCursor="default"),xy(e,s))}function ul(){Xt&&(Xt.lockMovementX=!1,Xt.lockMovementY=!1,Xt=void 0)}function dl(r){Xt&&(to||Xt._renderControls(r.ctx))}function fl(){Xt&&(Xt=void 0,this.requestRenderAll())}function gl(){to=!0}function pl(){to=!1}function Cy(r){r.on("mouse:out",fl.bind(r)),r.on("mouse:up",ul.bind(r)),r.on("mouse:move",ll.bind(r)),r.on("after:render",dl.bind(r)),r.on("object:resizing",gl.bind(r)),r.on("object:modified",pl.bind(r))}function Oy(r){r.off("mouse:out",fl.bind(r)),r.off("mouse:up",ul.bind(r)),r.off("mouse:move",ll.bind(r)),r.off("after:render",dl.bind(r)),r.off("object:resizing",gl.bind(r)),r.off("object:modified",pl.bind(r))}const ky=r=>{lt({canvas:r}),k0(r),g0(r),D0(r),L0(r),F0(r),ty(r),oy(r),yy(r),_y(r),Sy(r),Cy(r)},My=r=>{lt({canvas:null}),M0(r),p0(r),I0(r),R0(r),B0(r),ey(r),ay(r),by(r),Ty(r),wy(r),Oy(r)};class Dy{removeTransitions(){const t=this.getObjects("Transition");this.remove(...t)}renderTransitions(){this.removeTransitions(),this.transitionIds.forEach(t=>{const e=this.transitionsMap[t],s=e.fromId,i=e.toId,n=this.getObjects(),o=n.find(d=>d.id===s),a=n.find(d=>d.id===i);if(!o||!a)return;const c=$(e.duration,this.tScale),h=o.left+o.width-c/2,l=o.height,u=new Rt({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});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 i=this.getObjects("Transition").find(n=>n.id===s);if(i instanceof Rt){const n=this.getObjects().find(c=>c.id===i.fromId&&!e.includes(c.id));if(!n)return;const o=$(i.duration,this.tScale),a=n.left+n.width-o/2;i.set({left:a,top:n.top}),i.setCoords()}})}updateTransitions(t=!0){t&&this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects(...this.withTransitions);this.removeTransitions();const i={},n=[];e.forEach(a=>{const c=s.filter(h=>a.items.includes(h.id)).sort((h,l)=>h.left-l.left);for(let h=0;h<c.length-1;h++){const l=c[h],u=c[h+1];if(Math.abs(l.left+l.width-u.left)<=1){const d=`${l.id}-${u.id}`;if(this.transitionIds.includes(d)){const g=this.transitionsMap[d];i[d]=g}else{const g={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};i[d]=g}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=i,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),t&&this.resumeEventListeners()}}function ml(r){const{secondaryTracks:t,primaryTracks:e,primaryPositions:s}=r,{positions:i,trackIndex:n}=s,o=n===-1?this.tracks.length:n,a=Q(),[c]=Object.keys(e),h=this.tracks.find(T=>T.id===c),l=e[c],u=[];let d=!1;l.objects.forEach(T=>{if(T.type==="audio")if(d){u.push(T.id);const w=a.objectInitialPositions[T.id];w&&(T.set({top:w.top,left:w.left}),T.setCoords())}else d=!0});const f={id:ms(),items:l.objects.filter(T=>!u.includes(T.id)).map(T=>T.id),type:h.type,accepts:h.accepts,muted:h.muted||!1},g=zn(Object.keys(t).map(T=>t[T].objects.filter(w=>!u.includes(w.id)).map(w=>w.id)));let p=$s(this.tracks,[...Object.keys(i).filter(T=>!u.includes(T)),...g]);const m=[];Object.keys(t).forEach(T=>{const{objects:w,index:x}=t[T],O=this.tracks.find(M=>M.id===T),C=w.map(M=>M.id).filter(M=>!this.transitionIds.includes(M)&&!u.includes(M)),I={id:Us(),items:C,type:O.type,accepts:O.accepts,tempIndex:x,muted:O.muted||!1};m.push(I)});const b=Hh(f,m);b.length&&p.splice(o,0,...b),this.tracks=p,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),ri(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function ri(r){const t=r.tracks.find(e=>e.magnetic);if(t){const e=r.getTrackItems().filter(s=>t.items.includes(s.id));if(e.length>0){const s=Math.max(...e.map(n=>{const o=P(n.left,r.tScale),a=P(n.width*n.scaleX,r.tScale);return o+a}));Object.values(r.trackItemsMap).forEach(n=>{var o;if(n.type==="audio"){const a=n.duration||0,c=(o=n.metadata)==null?void 0:o.userLimitDuration,h=typeof c=="number"?c:a,l=n.display.from||0,u=Math.max(0,s-l),d=Math.min(u,h);n.display={from:l,to:l+d},n.trim&&(n.trim={from:n.trim.from||0,to:(n.trim.from||0)+d})}}),r.getTrackItems().filter(n=>n.type==="audio").forEach(n=>{var a,c;const o=r.trackItemsMap[n.id];if(o){n.display={from:o.display.from,to:o.display.to},n.trim&&(n.trim={from:((a=o.trim)==null?void 0:a.from)??0,to:((c=o.trim)==null?void 0:c.to)??o.display.to});const h=o.display.to-o.display.from,l=$(h,r.tScale);n.set({width:l,scaleX:1}),n.setCoords(),typeof n.onResize=="function"&&n.onResize()}})}}}function vl(r){const{isSecondaryOverlapped:t,secondaryTracks:e,primaryTracks:s,primaryPositions:i}=r,{trackId:n,positions:o}=i,a=this.tracks.find(C=>C.id===n),c=Q(),l=c.primaryMovingObjects.sort((C,I)=>C.left-I.left);l.forEach((C,I)=>{l[I-1]&&C.left-l[I-1].left});const u=this.tracks.findIndex(C=>C.id===n),d=Object.keys(o),f=this.tracks.find(C=>C.id===n),g=[];f&&f.items.find(I=>{const M=this.trackItemsMap[I];return M&&M.type==="audio"&&!d.includes(I)})&&d.forEach(I=>{const M=this.trackItemsMap[I];if(M&&M.type==="audio"){g.push(I);const j=c.objectInitialPositions[I],R=this.getTrackItems().find(V=>V.id===I);j&&R&&(R.set({top:j.top,left:j.left}),R.setCoords())}});const p={};d.forEach(C=>{g.includes(C)||(p[C]=o[C])});const m=Object.keys(p),b=zn(Object.keys(e).map(C=>e[C].objects.map(I=>I.id)));let T=$s(this.tracks,[...m,...b]);Object.keys(s).forEach(C=>{this.pauseEventListeners();const{objects:I}=s[C];I.forEach(R=>{if(R.isMain&&(a!=null&&a.magnetic)||g.includes(R.id))return;const V=p[R.id];V&&(R.left=V.left)}),this.resumeEventListeners();const M=i.trackId,j=T.find(R=>R.id===M);j==null||j.items.push(...m),this.tracks=T});const w=this.tracks[u],x=[];Object.keys(e).forEach(C=>{const{objects:I,index:M}=e[C],j=I.filter(X=>X.type!=="transition"&&!g.includes(X.id)).map(X=>X.id),[R]=j,V=this.trackItemsMap[R];if(t&&V){const X=this.getItemAccepts(V.type),z={id:Us(),items:j,type:V.type,accepts:X,tempIndex:M,muted:!1};x.push(z)}else{const X=T[u+M];X==null||X.items.push(...j),this.tracks=T}});const O=Hh(w,x);O.length&&T.splice(u,1,...O),this.tracks=T,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),ri(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function yl({trackItemIds:r,isOverlapped:t}){var a,c;const[e]=r;if(!e)return;const s=this.getObjects("Transition");if(!s.find(h=>h.id===e)){const h=this.tracks.find(l=>l.items.includes(e));if(t&&!h.magnetic){const l=$s(this.tracks,r),u={id:Us(),items:[e],type:h.type,accepts:h.accepts,muted:h.muted||!1},d=this.tracks.findIndex(f=>f.id===h.id);l.splice(d,0,u),this.tracks=l}}const n=s.filter(h=>h.fromId===e||h.toId===e);if(n){const h=this.getTrackItems().find(g=>g.id===e),l=h==null?void 0:h.width;n.forEach(g=>{if(g.width/2>l){this.transitionIds=this.transitionIds.filter(m=>m!==g.id);const p={};Object.keys(this.transitionsMap).forEach(m=>{m!==g.id&&(p[m]=this.transitionsMap[m])}),this.transitionsMap=p}});const u=((a=n[0])==null?void 0:a.width)||0,d=((c=n[1])==null?void 0:c.width)||0,f=n[1];if(l<=u/2+d/2){this.transitionIds=this.transitionIds.filter(p=>p!==(f==null?void 0:f.id));const g={};Object.keys(this.transitionsMap).forEach(p=>{p!==(f==null?void 0:f.id)&&(g[p]=this.transitionsMap[p])}),this.transitionsMap=g}}this.renderTracks(),this.alignItemsToTrack(),this.adjustMagneticTrack();const o=this.getTrackItems().find(h=>h.id===e);if(o&&o.type==="audio"){const h=this.trackItemsMap[e];if(h){const l=P(o.width*o.scaleX,this.tScale,h.playbackRate||1);h.metadata={...h.metadata,userLimitDuration:l}}}ri(this),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let eo={x:0,y:0};function Iy(r){eo=r.scenePoint}function bl(r){const t=r.scenePoint;if((eo.x===t.x||eo.y===t.y)&&!r.target){const s=this.getElement().getBoundingClientRect(),i=this.viewportTransform,n=r.e.clientX-s.left-i[4],o=P(n,this.scale.zoom);tt.dispatch(Qh,{payload:{time:o}})}}const jy=r=>{r.on("track:create",ml.bind(r)),r.on("track-items:resized",yl.bind(r)),r.on("track-items:moved",vl.bind(r)),r.on("mouse:up",bl.bind(r)),r.on("mouse:down",Iy.bind(r))};function Ey(r){r.off("track:create",ml.bind(r)),r.off("track-items:resized",yl.bind(r)),r.off("track-items:moved",vl.bind(r)),r.off("mouse:up",bl.bind(r))}function Py(r,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{s!=="constructor"&&Object.defineProperty(r.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),r}let _l,Tl,Sl,wl,xl,Cl,Ol,kl,Ml;const Ay=r=>{_l=r.state.subscribeToActiveIds(({activeIds:t})=>{const e=r.activeIds;if(t.length===1&&e.length===1){const s=t[0],i=e[0],o=r.state.getState().structure;let a="";if(o.forEach(c=>{c.id===i&&c.items.includes(s)&&(a=c.id)}),a!=="")return;r.selectTrackItemByIds([s])}else r.selectTrackItemByIds(t)}),Ml=r.state.subscribeToUpdateTracks(({tracks:t,duration:e,trackItemsMap:s})=>{r.tracks=t,r.duration=e,r.trackItemsMap=s,r.synchronizeTrackItemsState(),r.renderTracks(),r.refreshTrackLayout(),r.adjustMagneticTrack(),r.renderTransitions(),r.alignItemsToTrack(),r.alignTransitionsToTrack(),r.calcBounding()}),kl=r.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(r.tracks=t,r.renderTracks(),r.refreshTrackLayout())}),Ol=r.state.subscribeToUpdateAnimations(({trackItemsMap:t,changedAnimationIds:e})=>{if(e!=null&&e.length){const s=r.getTrackItems();r.trackItemsMap=t,s.forEach(i=>{if(e.includes(i.id)){const n=t[i.id].animations;n&&i.set({animations:n})}})}}),Cl=r.state.subscribeToUpdateTrackItemTiming(({trackItemsMap:t,changedTrimIds:e,changedDisplayIds:s})=>{if(e&&r.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 i=r.getTrackItems();r.pauseEventListeners(),i.forEach(n=>{if(s.includes(n.id)){const o=t[n.id].display;r.trackItemsMap[n.id].display=o,t[n.id].playbackRate!==r.trackItemsMap[n.id].playbackRate&&(r.trackItemsMap[n.id].playbackRate=t[n.id].playbackRate,n.playbackRate=t[n.id].playbackRate,n.onScale&&n.onScale()),o&&n.set({display:o})}}),r.resumeEventListeners()}(s||e)&&(r.updateTrackItemCoords(),r.adjustMagneticTrack(),r.updateTransitions(),r.alignItemsToTrack(),r.renderTracks(),r.calcBounding(),r.refreshTrackLayout(),r.setTrackItemCoords(),r.requestRenderAll())}),xl=r.state.subscribeToScale(t=>{r.setScale(t.scale)}),wl=r.state.subscribeToUpdateItemDetails(t=>{const e=r.getTrackItems();if(e.length===0)return;const s=r.state.getState(),i=t.trackItemsMap,n=s.trackItemsMap;r.trackItemsMap=i,e.forEach(o=>{var c,h;const a=i[o.id];if(a)if(o.hasSrc){const l=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),a.type==="video"||a.type==="audio"){const d=(((c=l.trim)==null?void 0:c.to)||0)-(((h=l.trim)==null?void 0:h.from)||0),f=$(d,r.scale.zoom,l.playbackRate);o.set({duration:l.duration,display:l.display,trim:l.trim,width:f}),o.setCoords()}}else(a.type==="text"||a.type==="caption")&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),r.requestRenderAll()}),Sl=r.state.subscribeToHistory(t=>{r.tracks=t.tracks,r.trackItemsMap=t.trackItemsMap,r.trackItemIds=t.trackItemIds,r.transitionIds=t.transitionIds,r.transitionsMap=t.transitionsMap,r.renderTracks(),r.refreshTrackLayout(),r.updateTrackItemCoords(),r.alignItemsToTrack(),r.alignTransitionsToTrack(),r.adjustMagneticTrack(),r.updateTransitions(),r.calcBounding(),r.duration=Ns(r.trackItemsMap,r.trackItemIds)}),Tl=r.state.subscribeToAddOrRemoveItems(()=>{const t=r.getTrackItems().map(n=>n.id),e=r.state.getState(),s=e.trackItemIds,i=[];t.forEach(n=>{s.includes(n)||i.push(n)}),r.deleteTrackItemById(i),r.tracks=e.tracks,r.trackItemsMap=e.trackItemsMap,r.transitionIds=e.transitionIds,r.transitionsMap=e.transitionsMap,s.forEach(n=>{if(!t.includes(n)){const a={...e.trackItemsMap[n]};r.addTrackItem(a)}}),r.trackItemIds=e.trackItemIds,r.activeIds=e.activeIds,ri(r),r.renderTracks(),r.alignItemsToTrack(),r.updateTrackItemCoords(),r.calcBounding(),r.updateTransitions(),r.refreshTrackLayout(),r.selectTrackItemByIds(e.activeIds),r.updateState({updateHistory:!1})})},Ly=r=>{_l.unsubscribe(),Tl.unsubscribe(),Sl.unsubscribe(),wl.unsubscribe(),xl.unsubscribe(),Cl.unsubscribe(),Ol.unsubscribe(),kl.unsubscribe(),Ml.unsubscribe()},Dl=(r,t)=>{let e=!1;const s=[];return t.forEach(i=>{i.containsPoint(r)&&(s.push(i),e=!0)}),{isOverObject:e,overObjects:s}};function Ry(r){return JSON.parse(JSON.stringify(r))}class Fy{constructor(t,e={}){S(this,"canvas");S(this,"fill","rgba(0,0,0,.3)");S(this,"stroke","rgba(255,255,255,.3)");S(this,"lineWidth",1);S(this,"hideX",!1);S(this,"hideY",!1);S(this,"scrollbarMinWidth",40);S(this,"scrollbarSize",5);S(this,"scrollSpace",0);S(this,"padding",4);S(this,"extraMarginX",200);S(this,"extraMarginY",200);S(this,"offsetX",0);S(this,"offsetY",0);S(this,"scrollbarWidth",5);S(this,"scrollbarColor","rgba(0,0,0,.3)");S(this,"onViewportChange");S(this,"_bar");S(this,"_barViewport",{left:1,right:-1,top:1,bottom:-1,sx:1,sy:1});S(this,"_originalMouseDown");S(this,"_originalMouseMove");S(this,"_originalMouseUp");this.canvas=t,Object.assign(this,e),e.scrollbarWidth!==void 0&&(this.scrollbarSize=e.scrollbarWidth),e.scrollbarColor!==void 0&&(this.fill=e.scrollbarColor),this._originalMouseDown=this.canvas.__onMouseDown,this._originalMouseMove=this.canvas._onMouseMove,this._originalMouseUp=this.canvas._onMouseUp,this.canvas.__onMouseDown=this.mouseDownHandler.bind(this),this.canvas._onMouseMove=this.mouseMoveHandler.bind(this),this.canvas._onMouseUp=this.mouseUpHandler.bind(this),this.beforeRenderHandler=this.beforeRenderHandler.bind(this),this.afterRenderHandler=this.afterRenderHandler.bind(this),this.initBehavior()}initBehavior(){this.canvas.on("before:render",this.beforeRenderHandler),this.canvas.on("after:render",this.afterRenderHandler)}getScrollbar(t){const e=this.canvas.getViewportPoint(t),s=this.canvas.viewportTransform.slice(0);if(!this.hideX&&e.x>this._barViewport.left&&e.x<this._barViewport.right&&e.y>this.canvas.height-this.scrollbarSize-this.scrollSpace-this.padding&&e.y<this.canvas.height-this.scrollSpace+this.padding)return{type:"x",start:e.x,vpt:s};if(!this.hideY&&e.y>this._barViewport.top&&e.y<this._barViewport.bottom&&e.x>this.canvas.width-this.scrollbarSize-this.scrollSpace-this.padding&&e.x<this.canvas.width-this.scrollSpace+this.padding)return{type:"y",start:e.y,vpt:s}}mouseDownHandler(t){if(this._bar=this.getScrollbar(t),!this._bar)return ue.prototype.__onMouseDown.call(this.canvas,t)}mouseMoveHandler(t){if(!this._bar)return ue.prototype._onMouseMove.call(this.canvas,t);const e=this.canvas.getViewportPoint(t),s=this._bar.type=="x"?this._barViewport.sx:this._barViewport.sy,i=this._bar.type=="x"?4:5,n=this._bar.type=="x"?e.x:e.y,o=this._bar.vpt.slice(0);o[i]-=(n-this._bar.start)*s,this.applyViewportLimits(o),this.canvas.setViewportTransform(o),this.canvas.requestRenderAll()}mouseUpHandler(t){this._bar||ue.prototype._onMouseUp.call(this.canvas,t),delete this._bar}beforeRenderHandler(){const t=this.canvas.contextTop;t.save(),t.setTransform(1,0,0,1,0,0),t.restore()}afterRenderHandler(){const{tl:t,br:e}=this.canvas.vptCoords,s={left:t.x,top:t.y,right:e.x,bottom:e.y},i=this.getObjectsBoundingRect(),n={left:Math.min(i.left,-this.offsetX),top:Math.min(i.top,-this.offsetY),right:i.right+this.extraMarginX,bottom:i.bottom+this.extraMarginY};n.left>s.left&&(n.left=s.left),n.top>s.top&&(n.top=s.top),n.bottom<s.bottom&&(n.bottom=s.bottom),n.right<s.right&&(n.right=s.right);const o=this.canvas.bounding;if(this.hideX=o.width<=this.canvas.width,this.hideY=o.height<=this.canvas.height,this.render(this.canvas.contextTop,s,n),this.onViewportChange){const a=t.x;this.onViewportChange(a)}}render(t,e,s){t.clearRect(0,this.canvas.height-this.scrollbarSize-this.scrollSpace-this.lineWidth,this.canvas.width,this.scrollbarSize+this.scrollSpace+this.lineWidth),t.clearRect(this.canvas.width-this.scrollbarSize-this.scrollSpace-this.lineWidth,0,this.scrollbarSize+this.scrollSpace+this.lineWidth,this.canvas.height),t.save(),t.fillStyle=this.fill,t.strokeStyle=this.stroke,t.lineWidth=this.lineWidth,this.hideX||this.drawScrollbarX(t,e,s),this.hideY||this.drawScrollbarY(t,e,s),t.restore()}drawScrollbarX(t,e,s){const i=e.right-e.left,n=s.right-s.left;if(i==n){this._barViewport.left=1,this._barViewport.right=-1,this._barViewport.sx=1;return}const o=Math.min(i/n,1),a=this.canvas.width-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.left-s.left)/(n-i)*(a-c),l=this.scrollSpace+h,u=this.canvas.height-this.scrollbarSize-this.scrollSpace;this._barViewport.left=l,this._barViewport.right=l+c,this._barViewport.sx=n/i,this.drawRect(t,{x:l,y:u,w:c,h:this.scrollbarSize})}drawScrollbarY(t,e,s){const i=e.bottom-e.top,n=s.bottom-s.top;if(i==n){this._barViewport.top=1,this._barViewport.bottom=-1,this._barViewport.sy=1;return}const o=Math.min(i/n,1),a=this.canvas.height-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.top-s.top)/(n-i)*(a-c),l=this.canvas.width-this.scrollbarSize-this.scrollSpace,u=this.scrollSpace+h;this._barViewport.top=u,this._barViewport.bottom=u+c,this._barViewport.sy=n/i,this.drawRect(t,{x:l,y:u,w:this.scrollbarSize,h:c})}drawRect(t,e){const{x:s,y:i,w:n,h:o}=e,a=Math.min(n,o)/2;t.beginPath(),t.moveTo(s+a,i),t.lineTo(s+n-a,i),t.arcTo(s+n,i,s+n,i+a,a),t.lineTo(s+n,i+o-a),t.arcTo(s+n,i+o,s+n-a,i+o,a),t.lineTo(s+a,i+o),t.arcTo(s,i+o,s,i+o-a,a),t.lineTo(s,i+a),t.arcTo(s,i,s+a,i,a),t.closePath(),t.fill(),t.stroke()}getObjectsBoundingRect(){const t=this.canvas.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:i,height:n}=Li.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+i,bottom:s+n}}applyViewportLimits(t){const e=t[0],s=this.getObjectsBoundingRect(),i=Math.min(s.left,-this.offsetX),n=Math.min(s.top,-this.offsetY),o=s.right+this.extraMarginX,a=s.bottom+this.extraMarginY,c=o-i,h=a-n,l=this.canvas.width/e,u=this.canvas.height/e;if(c<=l)t[4]=-i*e;else{const d=this.offsetX*e;t[4]>d&&(t[4]=d);const f=-((s.right+this.extraMarginX)*e-this.canvas.width);f<0&&t[4]<f&&(t[4]=f)}if(h<=u)t[5]=-n*e;else{const d=this.offsetY*e;t[5]>d&&(t[5]=d);const f=-((s.bottom+this.extraMarginY)*e-this.canvas.height);f<0&&t[5]<f&&(t[5]=f)}}dispose(){this._originalMouseDown&&(this.canvas.__onMouseDown=this._originalMouseDown),this._originalMouseMove&&(this.canvas._onMouseMove=this._originalMouseMove),this._originalMouseUp&&(this.canvas._onMouseUp=this._originalMouseUp),this.canvas.off("before:render",this.beforeRenderHandler),this.canvas.off("after:render",this.afterRenderHandler)}}const By=r=>{const t=r.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:i,height:n}=Li.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+i,bottom:s+n}},Xy=(r,t,e=0,s=0,i=200,n=200)=>{const o=t[0],a=By(r),c=Math.min(a.left,-e),h=Math.min(a.top,-s),l=a.right+i,u=a.bottom+n,d=l-c,f=u-h,g=r.width/o,p=r.height/o;if(d<=g)t[4]=-c*o;else{const m=e*o;t[4]>m&&(t[4]=m);const b=-((a.right+i)*o-r.width);b<0&&t[4]<b&&(t[4]=b)}if(f<=p)t[5]=-h*o;else{const m=s*o;t[5]>m&&(t[5]=m);const b=-((a.bottom+n)*o-r.height);b<0&&t[5]<b&&(t[5]=b)}return t},Wy=(r,t={})=>e=>{const s=e.e;s.target==r.upperCanvasEl&&s.preventDefault();const i=Math.floor(s.deltaY)!=Math.ceil(s.deltaY);if(s.ctrlKey||s.metaKey){const a=i?.99:.998;let c=r.getZoom();c*=a**s.deltaY,t.max!=null&&c>t.max&&(c=t.max),t.min!=null&&c<t.min&&(c=t.min),r.zoomToPoint(e.viewportPoint,c),r.requestRenderAll();return}const n=r.viewportTransform.slice(0);s.shiftKey?n[4]-=s.deltaY:(n[4]-=s.deltaX,n[5]-=s.deltaY);const o=Xy(r,n,t.offsetX??0,t.offsetY??0,t.extraMarginX??200,t.extraMarginY??200);r.setViewportTransform(o),r.requestRenderAll()},oi=class oi extends vn{constructor(e,s){var i;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,"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",[]);S(this,"_mouseWheelHandler");S(this,"_scrollbars");S(this,"_viewportChangeCallback");this.bounding=s.bounding||{width:s.width||0,height:s.height||0},this.tScale=((i=s.scale)==null?void 0:i.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=oi.objectTypes,this.spacing=E0(s.spacing),this.itemTypes=s.itemTypes||[],this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||ze,this.initEventListeners(),this.withTransitions=s.withTransitions||[]}static registerItems(e){Object.keys(e).forEach(s=>{k.setClass(e[s],s)}),oi.objectTypes=Object.keys(e).filter(s=>!$d.includes(s))}initScrollbars(e={}){const s={offsetX:e.offsetX??0,offsetY:e.offsetY??0,extraMarginX:e.extraMarginX??200,extraMarginY:e.extraMarginY??200,scrollbarWidth:e.scrollbarWidth,scrollbarColor:e.scrollbarColor,onViewportChange:o=>{this._viewportChangeCallback&&this._viewportChangeCallback(o)},scrollSpace:e.scrollSpace??0};this._mouseWheelHandler=Wy(this,s),this.on("mouse:wheel",this._mouseWheelHandler),this._scrollbars=new Fy(this,s);const i=e.offsetX??0,n=e.offsetY??0;if(i!==0||n!==0){const o=this.viewportTransform.slice(0);o[4]=i,o[5]=n,this.setViewportTransform(o),this.requestRenderAll()}}onViewportChange(e){this._viewportChangeCallback=e}disposeScrollbars(){this._mouseWheelHandler&&(this.off("mouse:wheel",this._mouseWheelHandler),this._mouseWheelHandler=void 0),this._scrollbars&&(this._scrollbars.dispose(),this._scrollbars=void 0)}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(ht.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),i=this._activeObject,n=this.getActiveObjects();if(n.length===0){super.__onMouseDown(e);return}const{isOverObject:o}=Dl(s,n);if(i&&(i==null?void 0:i.findControl(this.getViewportPoint(e),A0(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Dl(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,i){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,i)}initEventListeners(){jy(this),ky(this),Ay(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:Ry(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),ri(this),this.requestRenderAll(),this.duration=Ns(this.trackItemsMap,this.trackItemIds),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=Ns(this.trackItemsMap,this.trackItemIds);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]),i=s.left+s.width;return P(i,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=Ns(this.trackItemsMap,this.trackItemIds);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}purge(){My(this),Ey(this),Ly(),this.disposeScrollbars(),this.dispose()}scrollTo({scrollLeft:e,scrollTop:s}){var o;const i=[...this.viewportTransform];let n=!1;typeof e=="number"&&(i[4]=-e+this.spacing.left,n=!0),typeof s=="number"&&(i[5]=-s,n=!0),n&&(this.viewportTransform=i,(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}),i=[...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=i.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,...i},tt.dispatch(Jh,{payload:{bounding:{...s,...i}}})}setViewportPos(e,s){var o;const i=this.getViewportPos(e,s),n=this.viewportTransform;n[4]=i.x,n[5]=i.y,this.requestRenderAll(),this.setActiveTrackItemCoords(),(o=this.onScroll)==null||o.call(this,{scrollTop:i.y,scrollLeft:i.x-this.spacing.left})}getViewportPos(e,s){const i=this,n=this.bounding.width-100>=i.width?this.spacing.right:0,o=i.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=i.height-this.bounding.height-40,u=Math.max(h,Math.min(s,0));return{x:c,y:u}}setScale(e){this.pauseEventListeners();const i=-(this.viewportTransform[4]-this.spacing.left),n=P(i,this.tScale);this.tScale=e.zoom,this.scale=e,this.getTrackItems().forEach(l=>{const u=$(l.display.from,this.tScale),d=$(l.display.to-l.display.from,this.tScale,l.playbackRate);l.set({left:u,width:d,tScale:e.zoom}),l.onScale&&l.onScale(),l.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1);const a=$(n,this.tScale),c=this.viewportTransform.slice(0);c[4]=-a+this.spacing.left;const h=this.getViewportPos(c[4],c[5]);c[4]=h.x,c[5]=h.y,this.setViewportTransform(c),this.requestRenderAll(),this.resumeEventListeners()}};S(oi,"objectTypes",[]);let ue=oi;Py(ue,[Tf,f0,d0,Dy]);const zy={audio:kn,media:In,common:hr,transition:Mn};D.BOTTOM=Qd,D.CENTER=we,D.Control=U,D.DRAG_END=Zn,D.DRAG_PREFIX=Kn,D.DRAG_START=Zh,D.FabricObject=ht,D.Helper=oe,D.LEFT=fs,D.NONE=tf,D.Pattern=Bi,D.Placeholder=ds,D.PreviewTrackItem=ae,D.RIGHT=gs,D.Rect=it,D.Resizable=lr,D.TIMELINE_BOUNDING_CHANGED=Jh,D.TIMELINE_PREFIX=Jn,D.TIMELINE_SEEK=Qh,D.TOP=Jd,D.Track=Lt,D.Transition=Rt,D.Trimmable=$t,D.calculateTimelineWidth=rf,D.changeWidth=hr,D.classRegistry=k,D.controlsUtils=Xe,D.createAudioControls=mf,D.createMediaControls=Mc,D.createResizeControls=kc,D.createTemplateControls=pf,D.createTransitionControls=Dn,D.default=ue,D.drawVerticalLine=At,D.generateId=ms,D.getDuration=Ns,D.isTransformCentered=ps,D.resize=zy,D.resolveOrigin=L,D.timeMsToUnits=$,D.unitsToTimeMs=P,D.util=Li,D.wrapWithFixedAnchor=Gs,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
498
|
+
`}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let i=0;i<e.length;i+=4){const n=Math.max(e[i],e[i+1],e[i+2]),o=(e[i]+e[i+1]+e[i+2])/3,a=2*Math.abs(n-o)/255*s;e[i]+=n!==e[i]?(n-e[i])*a:0,e[i+1]+=n!==e[i+1]?(n-e[i+1])*a:0,e[i+2]+=n!==e[i+2]?(n-e[i+2])*a:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}}v(cr,"type","Vibrance"),v(cr,"defaults",{vibrance:0}),v(cr,"uniformLocations",["uVibrance"]),k.setClass(cr);function At(r,t,e,s,i){const a=i.canvas;if(!a)return;const c=a.viewportTransform;r.save(),this.controlOrientation==="left"?r.translate(i.left+c[4],i.top+c[5]+i.height/2):r.translate(i.left+i.width+c[4],i.top+c[5]+i.height/2),r.rotate(Li.degreesToRadians(90+i.angle)),r.lineWidth=6,r.lineCap="round",r.strokeStyle="white",r.beginPath(),r.moveTo(-6,0),r.lineTo(6,0),r.stroke(),r.lineWidth=4,r.strokeStyle="black",r.beginPath(),r.moveTo(-6,0),r.lineTo(6,0),r.stroke(),r.restore()}const Ud={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},_s=class _s extends it{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,_s.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)",this.objectCaching=!1}static getDefaults(){return{...super.getDefaults(),..._s.ownDefaults}}updateCoords(e){this.width=e}};S(_s,"ownDefaults",Ud),S(_s,"type","Track");let Lt=_s;k.setClass(Lt,"Track");const Vs=1,ze="rgba(255, 255, 255,1.0)",$d=["Track","Transition","Helper","PreviewTrackItem"],qd={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},Kd=(r,t)=>{const e=qd[r];return r==="top"?{top:t-(e.guide+e.bottom),guide:e.guide,bottom:e.bottom}:r==="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))}},Ts=class Ts extends Gt{constructor(e){const s=Kd(e.kind,e.height),i=new it({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new it({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new it({top:s.top+s.guide,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.bottom,width:e.width});super([i,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,Ts.ownDefaults),this.guide=n,this.topGuide=i,this.bottomGuide=o,this.id=e.id,this.metadata=e.metadata,this.tScale=e.tScale,this.kind=e.kind,this.activeGuideFill=e.activeGuideFill||ze}static getDefaults(){return{...super.getDefaults(),...Ts.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(Ts,"type","Helper"),S(Ts,"ownDefaults",{selectable:!1,evented:!1});let oe=Ts;k.setClass(oe,"Helper");const Ss=class Ss extends it{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,Ss.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...Ss.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=Vs,e.setLineDash(this.strokeDashArray),e.strokeStyle=ze,e.stroke(),e.restore()}};S(Ss,"type","Placeholder"),S(Ss,"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 ds=Ss;k.setClass(ds,"Placeholder");const Zd={left:-.5,top:-.5,center:0,bottom:.5,right:.5},L=r=>typeof r=="string"?Zd[r]:r-.5,we="center",fs="left",Jd="top",Qd="bottom",gs="right",tf="none";function ps(r){return L(r.originX)===L(we)&&L(r.originY)===L(we)}function Gs(r){return(t,e,s,i)=>{const{target:n,originX:o,originY:a}=e,c=n.getRelativeCenterPoint(),h=n.translateToOriginPoint(c,o,a),l=r(t,e,s,i);return n.setPositionByOrigin(h,e.originX,e.originY),l}}const xc=12,ef=24,Cc=188,sf=1e3/60;function $(r,t=1,e=1){const s=Cc*t;return r*(60/1e3)*s/e}function P(r,t=1,e=1){const s=Cc*t;return r/s*sf*e}function rf(r,t=1){return $(r,t)}const Ns=(r,t)=>(t||Object.keys(r)).reduce((s,i)=>{const n=r[i];if(!n)return s;const{display:o}=n;return Math.max(s,o.to)},0),{wrapWithFireEvent:nf,getLocalPoint:of}=Xe,kn=nf("resizing",Gs((r,t,e,s)=>{const i=of(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=P(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g,n.onResize&&n.onResize()}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=$(n.duration,n.tScale,n.playbackRate),T=n.width+n.left;if(T<=b){n.set("width",T);const w=P(b-T,n.tScale,n.playbackRate);return n.trim.from=w,!0}return!1}const f=h-c,g=n.trim.from,p=P(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),{wrapWithFireEvent:af,getLocalPoint:cf,wrapWithFixedAnchor:hf}=Xe,hr=af("resizing",hf((r,t,e,s)=>{const i=cf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o),l=t.corner==="ml";if(n.left<0)return!1;if(l){const f=c-h;if(n.left+f<0)return n.set("width",n.width+n.left),!0}const u=P(1,n.tScale);return P(h,n.tScale,n.playbackRate)<u?!1:(n.set("width",Math.max(h,0)),c!==n.width)}return!1})),{wrapWithFireEvent:lf,getLocalPoint:uf}=Xe,Mn=lf("resizing",Gs((r,t,e,s)=>{const i=uf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o),l=P(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})),df=r=>{const t=r.canvas;if(!t||!t.state)return null;const e=t.state.getState();if(!e||!e.structure||!e.trackItemsMap)return null;const s=e.structure.find(o=>o.id===r.id);if(!s||!s.items||s.items.length===0)return null;let i=1/0,n=-1/0;return s.items.forEach(o=>{const a=e.trackItemsMap[o];a&&a.display&&(a.display.from<i&&(i=a.display.from),a.display.to>n&&(n=a.display.to))}),i===1/0||n===-1/0?null:{minFrom:i,maxTo:n}},{wrapWithFireEvent:ff,getLocalPoint:gf}=Xe,Oc=ff("resizing",Gs((r,t,e,s)=>{const i=gf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){const n=t.target,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o),l=t.corner==="mr",u=df(n);if(l){const d=n.trim.to,f=h-c,g=P(f,n.tScale,n.playbackRate),p=d+g,m=u?u.maxTo:n.duration,b=Math.max(n.trim.from+10,Math.min(m,p)),T=b-d,w=$(T,n.tScale,n.playbackRate),x=c+w;n.set("width",Math.max(x,0)),n.trim.to=b}else{const d=u?u.minFrom:0,f=n.trim.from,g=h-c,p=P(g,n.tScale,n.playbackRate),m=f-p;let b=Math.max(d,Math.min(n.trim.to-10,m)),T=f-b,w=$(T,n.tScale,n.playbackRate),x=c+w;if(x>n.left+c){x=n.left+c;const O=x-c,C=P(O,n.tScale,n.playbackRate);b=f-C}n.set("width",Math.max(x,0)),n.trim.from=b}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Ut}=Xe,kc=()=>({mr:new U({x:.5,y:0,actionHandler:hr,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,actionHandler:hr,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),pf=()=>({mr:new U({x:.5,y:0,render:At,actionHandler:Oc,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,render:At,actionHandler:Oc,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),mf=()=>({mr:new U({x:.5,y:0,render:At,actionHandler:kn,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,render:At,actionHandler:kn,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),Mc=()=>({mr:new U({x:.5,y:0,render:At,actionHandler:In,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,render:At,actionHandler:In,cursorStyleHandler:Ut,actionName:"resizing",controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})}),Dn=()=>({mr:new U({x:.5,y:0,actionHandler:Mn,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"right",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42}),ml:new U({x:-.5,y:0,actionHandler:Mn,cursorStyleHandler:Ut,actionName:"resizing",render:At,controlOrientation:"left",sizeX:24,sizeY:42,touchSizeX:24,touchSizeY:42})});let vf="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Us=(r=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(r|=0));for(;r--;)t+=vf[e[r]&63];return t};function ms(r=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=Us(r-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,r-1),e+s}const{wrapWithFireEvent:yf,getLocalPoint:bf}=Xe,In=yf("resizing",Gs((r,t,e,s)=>{const i=bf(t,t.originX,t.originY,e,s);if(L(t.originX)===L(we)||L(t.originX)===L(gs)&&i.x<0||L(t.originX)===L(fs)&&i.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ps(t)?2:1,c=n.width,h=Math.ceil(Math.abs(i.x*a/n.scaleX)-o);const l=P(1,n.tScale);if(t.corner==="mr"){const d=n.trim.to,f=h-c,g=P(f,n.tScale,n.playbackRate),p=d+g;if(p>n.duration)return!1;let m=P(h,n.tScale,n.playbackRate);if(m<l||(m=P(h,n.tScale,n.playbackRate),m<l))return!1;n.set("width",Math.max(h,0)),n.trim.to=p,n.onResize&&n.onResize()}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0){const w=$(n.duration,n.tScale,n.playbackRate),x=n.width+n.left;if(x<=w){n.set("width",x);const O=P(w-x,n.tScale,n.playbackRate);return n.trim.from=O,!0}return!1}if(P(h,n.tScale,n.playbackRate)<l)return!1;const p=h-c,m=n.trim.from,b=P(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})),ws=class ws extends it{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);S(this,"isHovered",!1);Object.assign(this,ws.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||[],this.on("mouseover",()=>{var s;this.isHovered=!0,(s=this.canvas)==null||s.requestRenderAll()}),this.on("mouseout",()=>{var s;this.isHovered=!1,(s=this.canvas)==null||s.requestRenderAll()})}static createControls(){return{controls:Dn()}}static getDefaults(){return{...super.getDefaults(),...ws.ownDefaults}}updateCoords(){}drawPlaceholderIcon(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.3346 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()}_render(e){const s=this.kind&&this.kind!=="none";if(!(s||this.isHovered||this.isSelected)){e.save(),e.fillStyle="rgba(0, 0, 0, 0.001)",e.fillRect(-this.width/2,-this.height/2,this.width,this.height),e.restore();return}super._render(e),s||this.drawPlaceholderIcon(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.availableDrop?this.isSelected?ze:"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=Vs,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(ws,"type","Transition"),S(ws,"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 Rt=ws;k.setClass(Rt,"Transition");const ni=class ni extends it{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,ni.ownDefaults),this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8}static createControls(){return{controls:Mc()}}_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=Vs,e.strokeStyle=ze,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}};S(ni,"type","Trimmable"),S(ni,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let $t=ni;k.setClass($t,"Trimmable");const xs=class xs extends it{constructor(e){super(e);S(this,"isSelected",!1);Object.assign(this,xs.ownDefaults),this.tScale=e.tScale,this.display=e.display}static createControls(){return{controls:kc()}}static getDefaults(){return{...super.getDefaults(),...xs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Vs,e.strokeStyle=ze,e.stroke(),e.restore())}};S(xs,"type","Resizable"),S(xs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let lr=xs;k.setClass(lr,"Resizable");function _f(r){const t=Math.floor(r/1e3),e=Math.floor(t/60),s=t%60,i=String(e).padStart(2,"0"),n=String(s).padStart(2,"0");return`${i}:${n}`}const Cs=class Cs extends it{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,Cs.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=_f(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...Cs.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,i=e.measureText(this.durationString).width,n=8,o=4,a=4-this.height/2,c=20,h=4,l=4-this.width/2,u=s+n*2;this.drawRoundedRect(e,l,a,u,c,h),e.fillStyle="#f4f4f5",e.fillText(this.name,l+n,a+14);const d=l+u+o,f=i+n*2;this.drawRoundedRect(e,d,a,f,c,h),e.fillStyle="#f4f4f5",e.fillText(this.durationString,d+n,a+14)}drawRoundedRect(e,s,i,n,o,a){e.fillStyle="rgba(0, 0, 0, 0.5)",e.roundRect?(e.beginPath(),e.roundRect(s,i,n,o,a),e.fill()):e.fillRect(s,i,n,o)}};S(Cs,"type","PreviewTrackItem"),S(Cs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let ae=Cs;k.setClass(ae,"PreviewTrackItem");class Tf{constructor(){S(this,"___eventListeners",{});S(this,"___activeObjects",[])}resize(t,{force:e}={force:!1}){var s;this.lowerCanvasEl&&(this.setDimensions(t),e&&(this.renderTracks(),this.calcBounding(),this.refreshTrackLayout(),this.requestRenderAll()),(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 xt(t);this.setActiveObject(e)}this.requestRenderAll()}updateCachingActiveObjects(t){const e=this.___activeObjects;this.___activeObjects=e.map(s=>{const i=t.find(n=>n.id===s.id);return i||s})}}function $s(r,t){return r.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const Sf=(r,t)=>{var h,l,u,d,f,g,p,m;const e=r.display,s=$(e.from,t.tScale),i=$(e.to-e.from,t.tScale,r.playbackRate),n=t.sizesMap[r.type]||42,o=((l=(h=r.type)==null?void 0:h.charAt(0))==null?void 0:l.toUpperCase())+((u=r.type)==null?void 0:u.slice(1))||"",a=k==null?void 0:k.getClass(o),c={width:i,height:n,id:r.id,tScale:t.tScale,top:10,left:s,display:e,duration:r.duration||e.to-e.from,metadata:r.metadata,playbackRate:r.playbackRate||1,src:(d=r.details)==null?void 0:d.src,trim:r.trim||{from:0,to:r.duration},text:(f=r.details)==null?void 0:f.text,srcs:((g=r.details)==null?void 0:g.srcs)||[],backgroundColorDiv:(p=r.details)==null?void 0:p.backgroundColor,svgString:(m=r.details)==null?void 0:m.svgString};return new a(c)};var Dc=typeof global=="object"&&global&&global.Object===Object&&global,wf=typeof self=="object"&&self&&self.Object===Object&&self,Ft=Dc||wf||Function("return this")(),Ot=Ft.Symbol,Ic=Object.prototype,xf=Ic.hasOwnProperty,Cf=Ic.toString,qs=Ot?Ot.toStringTag:void 0;function Of(r){var t=xf.call(r,qs),e=r[qs];try{r[qs]=void 0;var s=!0}catch{}var i=Cf.call(r);return s&&(t?r[qs]=e:delete r[qs]),i}var kf=Object.prototype,Mf=kf.toString;function Df(r){return Mf.call(r)}var If="[object Null]",jf="[object Undefined]",jc=Ot?Ot.toStringTag:void 0;function vs(r){return r==null?r===void 0?jf:If:jc&&jc in Object(r)?Of(r):Df(r)}function xe(r){return r!=null&&typeof r=="object"}var Ef="[object Symbol]";function ur(r){return typeof r=="symbol"||xe(r)&&vs(r)==Ef}function Pf(r,t){for(var e=-1,s=r==null?0:r.length,i=Array(s);++e<s;)i[e]=t(r[e],e,r);return i}var qt=Array.isArray,Ec=Ot?Ot.prototype:void 0,Pc=Ec?Ec.toString:void 0;function Ac(r){if(typeof r=="string")return r;if(qt(r))return Pf(r,Ac)+"";if(ur(r))return Pc?Pc.call(r):"";var t=r+"";return t=="0"&&1/r==-1/0?"-0":t}var Af=/\s/;function Lf(r){for(var t=r.length;t--&&Af.test(r.charAt(t)););return t}var Rf=/^\s+/;function Ff(r){return r&&r.slice(0,Lf(r)+1).replace(Rf,"")}function Kt(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}var Lc=NaN,Bf=/^[-+]0x[0-9a-f]+$/i,Xf=/^0b[01]+$/i,Wf=/^0o[0-7]+$/i,zf=parseInt;function Rc(r){if(typeof r=="number")return r;if(ur(r))return Lc;if(Kt(r)){var t=typeof r.valueOf=="function"?r.valueOf():r;r=Kt(t)?t+"":t}if(typeof r!="string")return r===0?r:+r;r=Ff(r);var e=Xf.test(r);return e||Wf.test(r)?zf(r.slice(2),e?2:8):Bf.test(r)?Lc:+r}function Hf(r){return r}var Yf="[object AsyncFunction]",Vf="[object Function]",Gf="[object GeneratorFunction]",Nf="[object Proxy]";function Fc(r){if(!Kt(r))return!1;var t=vs(r);return t==Vf||t==Gf||t==Yf||t==Nf}var jn=Ft["__core-js_shared__"],Bc=function(){var r=/[^.]+$/.exec(jn&&jn.keys&&jn.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function Uf(r){return!!Bc&&Bc in r}var $f=Function.prototype,qf=$f.toString;function He(r){if(r!=null){try{return qf.call(r)}catch{}try{return r+""}catch{}}return""}var Kf=/[\\^$.*+?()[\]{}|]/g,Zf=/^\[object .+?Constructor\]$/,Jf=Function.prototype,Qf=Object.prototype,tg=Jf.toString,eg=Qf.hasOwnProperty,sg=RegExp("^"+tg.call(eg).replace(Kf,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ig(r){if(!Kt(r)||Uf(r))return!1;var t=Fc(r)?sg:Zf;return t.test(He(r))}function rg(r,t){return r==null?void 0:r[t]}function Ye(r,t){var e=rg(r,t);return ig(e)?e:void 0}var En=Ye(Ft,"WeakMap"),Xc=Object.create,ng=function(){function r(){}return function(t){if(!Kt(t))return{};if(Xc)return Xc(t);r.prototype=t;var e=new r;return r.prototype=void 0,e}}();function og(r,t,e){switch(e.length){case 0:return r.call(t);case 1:return r.call(t,e[0]);case 2:return r.call(t,e[0],e[1]);case 3:return r.call(t,e[0],e[1],e[2])}return r.apply(t,e)}var ag=800,cg=16,hg=Date.now;function lg(r){var t=0,e=0;return function(){var s=hg(),i=cg-(s-e);if(e=s,i>0){if(++t>=ag)return arguments[0]}else t=0;return r.apply(void 0,arguments)}}function ug(r){return function(){return r}}var dr=function(){try{var r=Ye(Object,"defineProperty");return r({},"",{}),r}catch{}}(),dg=dr?function(r,t){return dr(r,"toString",{configurable:!0,enumerable:!1,value:ug(t),writable:!0})}:Hf,fg=lg(dg);function gg(r,t){for(var e=-1,s=r==null?0:r.length;++e<s&&t(r[e],e,r)!==!1;);return r}var pg=9007199254740991,mg=/^(?:0|[1-9]\d*)$/;function Pn(r,t){var e=typeof r;return t=t??pg,!!t&&(e=="number"||e!="symbol"&&mg.test(r))&&r>-1&&r%1==0&&r<t}function vg(r,t,e){t=="__proto__"&&dr?dr(r,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):r[t]=e}function An(r,t){return r===t||r!==r&&t!==t}var yg=Object.prototype,bg=yg.hasOwnProperty;function Wc(r,t,e){var s=r[t];(!(bg.call(r,t)&&An(s,e))||e===void 0&&!(t in r))&&vg(r,t,e)}var zc=Math.max;function _g(r,t,e){return t=zc(t===void 0?r.length-1:t,0),function(){for(var s=arguments,i=-1,n=zc(s.length-t,0),o=Array(n);++i<n;)o[i]=s[t+i];i=-1;for(var a=Array(t+1);++i<t;)a[i]=s[i];return a[t]=e(o),og(r,this,a)}}var Tg=9007199254740991;function Ln(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=Tg}function Sg(r){return r!=null&&Ln(r.length)&&!Fc(r)}var wg=Object.prototype;function Hc(r){var t=r&&r.constructor,e=typeof t=="function"&&t.prototype||wg;return r===e}function xg(r,t){for(var e=-1,s=Array(r);++e<r;)s[e]=t(e);return s}var Cg="[object Arguments]";function Yc(r){return xe(r)&&vs(r)==Cg}var Vc=Object.prototype,Og=Vc.hasOwnProperty,kg=Vc.propertyIsEnumerable,Rn=Yc(function(){return arguments}())?Yc:function(r){return xe(r)&&Og.call(r,"callee")&&!kg.call(r,"callee")};function Mg(){return!1}var Gc=typeof D=="object"&&D&&!D.nodeType&&D,Nc=Gc&&typeof module=="object"&&module&&!module.nodeType&&module,Dg=Nc&&Nc.exports===Gc,Uc=Dg?Ft.Buffer:void 0,Ig=Uc?Uc.isBuffer:void 0,fr=Ig||Mg,jg="[object Arguments]",Eg="[object Array]",Pg="[object Boolean]",Ag="[object Date]",Lg="[object Error]",Rg="[object Function]",Fg="[object Map]",Bg="[object Number]",Xg="[object Object]",Wg="[object RegExp]",zg="[object Set]",Hg="[object String]",Yg="[object WeakMap]",Vg="[object ArrayBuffer]",Gg="[object DataView]",Ng="[object Float32Array]",Ug="[object Float64Array]",$g="[object Int8Array]",qg="[object Int16Array]",Kg="[object Int32Array]",Zg="[object Uint8Array]",Jg="[object Uint8ClampedArray]",Qg="[object Uint16Array]",tp="[object Uint32Array]",G={};G[Ng]=G[Ug]=G[$g]=G[qg]=G[Kg]=G[Zg]=G[Jg]=G[Qg]=G[tp]=!0,G[jg]=G[Eg]=G[Vg]=G[Pg]=G[Gg]=G[Ag]=G[Lg]=G[Rg]=G[Fg]=G[Bg]=G[Xg]=G[Wg]=G[zg]=G[Hg]=G[Yg]=!1;function ep(r){return xe(r)&&Ln(r.length)&&!!G[vs(r)]}function Fn(r){return function(t){return r(t)}}var $c=typeof D=="object"&&D&&!D.nodeType&&D,Ks=$c&&typeof module=="object"&&module&&!module.nodeType&&module,sp=Ks&&Ks.exports===$c,Bn=sp&&Dc.process,ys=function(){try{var r=Ks&&Ks.require&&Ks.require("util").types;return r||Bn&&Bn.binding&&Bn.binding("util")}catch{}}(),qc=ys&&ys.isTypedArray,Kc=qc?Fn(qc):ep,ip=Object.prototype,rp=ip.hasOwnProperty;function np(r,t){var e=qt(r),s=!e&&Rn(r),i=!e&&!s&&fr(r),n=!e&&!s&&!i&&Kc(r),o=e||s||i||n,a=o?xg(r.length,String):[],c=a.length;for(var h in r)rp.call(r,h)&&!(o&&(h=="length"||i&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Pn(h,c)))&&a.push(h);return a}function Zc(r,t){return function(e){return r(t(e))}}var op=Zc(Object.keys,Object),ap=Object.prototype,cp=ap.hasOwnProperty;function hp(r){if(!Hc(r))return op(r);var t=[];for(var e in Object(r))cp.call(r,e)&&e!="constructor"&&t.push(e);return t}function lp(r){return Sg(r)?np(r):hp(r)}var up=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dp=/^\w*$/;function fp(r,t){if(qt(r))return!1;var e=typeof r;return e=="number"||e=="symbol"||e=="boolean"||r==null||ur(r)?!0:dp.test(r)||!up.test(r)||t!=null&&r in Object(t)}var Zs=Ye(Object,"create");function gp(){this.__data__=Zs?Zs(null):{},this.size=0}function pp(r){var t=this.has(r)&&delete this.__data__[r];return this.size-=t?1:0,t}var mp="__lodash_hash_undefined__",vp=Object.prototype,yp=vp.hasOwnProperty;function bp(r){var t=this.__data__;if(Zs){var e=t[r];return e===mp?void 0:e}return yp.call(t,r)?t[r]:void 0}var _p=Object.prototype,Tp=_p.hasOwnProperty;function Sp(r){var t=this.__data__;return Zs?t[r]!==void 0:Tp.call(t,r)}var wp="__lodash_hash_undefined__";function xp(r,t){var e=this.__data__;return this.size+=this.has(r)?0:1,e[r]=Zs&&t===void 0?wp:t,this}function Ve(r){var t=-1,e=r==null?0:r.length;for(this.clear();++t<e;){var s=r[t];this.set(s[0],s[1])}}Ve.prototype.clear=gp,Ve.prototype.delete=pp,Ve.prototype.get=bp,Ve.prototype.has=Sp,Ve.prototype.set=xp;function Cp(){this.__data__=[],this.size=0}function gr(r,t){for(var e=r.length;e--;)if(An(r[e][0],t))return e;return-1}var Op=Array.prototype,kp=Op.splice;function Mp(r){var t=this.__data__,e=gr(t,r);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():kp.call(t,e,1),--this.size,!0}function Dp(r){var t=this.__data__,e=gr(t,r);return e<0?void 0:t[e][1]}function Ip(r){return gr(this.__data__,r)>-1}function jp(r,t){var e=this.__data__,s=gr(e,r);return s<0?(++this.size,e.push([r,t])):e[s][1]=t,this}function ce(r){var t=-1,e=r==null?0:r.length;for(this.clear();++t<e;){var s=r[t];this.set(s[0],s[1])}}ce.prototype.clear=Cp,ce.prototype.delete=Mp,ce.prototype.get=Dp,ce.prototype.has=Ip,ce.prototype.set=jp;var Js=Ye(Ft,"Map");function Ep(){this.size=0,this.__data__={hash:new Ve,map:new(Js||ce),string:new Ve}}function Pp(r){var t=typeof r;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?r!=="__proto__":r===null}function pr(r,t){var e=r.__data__;return Pp(t)?e[typeof t=="string"?"string":"hash"]:e.map}function Ap(r){var t=pr(this,r).delete(r);return this.size-=t?1:0,t}function Lp(r){return pr(this,r).get(r)}function Rp(r){return pr(this,r).has(r)}function Fp(r,t){var e=pr(this,r),s=e.size;return e.set(r,t),this.size+=e.size==s?0:1,this}function he(r){var t=-1,e=r==null?0:r.length;for(this.clear();++t<e;){var s=r[t];this.set(s[0],s[1])}}he.prototype.clear=Ep,he.prototype.delete=Ap,he.prototype.get=Lp,he.prototype.has=Rp,he.prototype.set=Fp;var Bp="Expected a function";function Xn(r,t){if(typeof r!="function"||t!=null&&typeof t!="function")throw new TypeError(Bp);var e=function(){var s=arguments,i=t?t.apply(this,s):s[0],n=e.cache;if(n.has(i))return n.get(i);var o=r.apply(this,s);return e.cache=n.set(i,o)||n,o};return e.cache=new(Xn.Cache||he),e}Xn.Cache=he;var Xp=500;function Wp(r){var t=Xn(r,function(s){return e.size===Xp&&e.clear(),s}),e=t.cache;return t}var zp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hp=/\\(\\)?/g,Yp=Wp(function(r){var t=[];return r.charCodeAt(0)===46&&t.push(""),r.replace(zp,function(e,s,i,n){t.push(i?n.replace(Hp,"$1"):s||e)}),t});function Vp(r){return r==null?"":Ac(r)}function mr(r,t){return qt(r)?r:fp(r,t)?[r]:Yp(Vp(r))}function Wn(r){if(typeof r=="string"||ur(r))return r;var t=r+"";return t=="0"&&1/r==-1/0?"-0":t}function Gp(r,t){t=mr(t,r);for(var e=0,s=t.length;r!=null&&e<s;)r=r[Wn(t[e++])];return e&&e==s?r:void 0}function Jc(r,t){for(var e=-1,s=t.length,i=r.length;++e<s;)r[i+e]=t[e];return r}var Qc=Ot?Ot.isConcatSpreadable:void 0;function Np(r){return qt(r)||Rn(r)||!!(Qc&&r&&r[Qc])}function Up(r,t,e,s,i){var n=-1,o=r.length;for(e||(e=Np),i||(i=[]);++n<o;){var a=r[n];e(a)?Jc(i,a):i[i.length]=a}return i}function zn(r){var t=r==null?0:r.length;return t?Up(r):[]}function $p(r){return fg(_g(r,void 0,zn),r+"")}var qp=Zc(Object.getPrototypeOf,Object);function Kp(){this.__data__=new ce,this.size=0}function Zp(r){var t=this.__data__,e=t.delete(r);return this.size=t.size,e}function Jp(r){return this.__data__.get(r)}function Qp(r){return this.__data__.has(r)}var tm=200;function em(r,t){var e=this.__data__;if(e instanceof ce){var s=e.__data__;if(!Js||s.length<tm-1)return s.push([r,t]),this.size=++e.size,this;e=this.__data__=new he(s)}return e.set(r,t),this.size=e.size,this}function le(r){var t=this.__data__=new ce(r);this.size=t.size}le.prototype.clear=Kp,le.prototype.delete=Zp,le.prototype.get=Jp,le.prototype.has=Qp,le.prototype.set=em;var th=typeof D=="object"&&D&&!D.nodeType&&D,eh=th&&typeof module=="object"&&module&&!module.nodeType&&module,sm=eh&&eh.exports===th,sh=sm?Ft.Buffer:void 0;sh&&sh.allocUnsafe;function im(r,t){return r.slice()}function rm(r,t){for(var e=-1,s=r==null?0:r.length,i=0,n=[];++e<s;){var o=r[e];t(o,e,r)&&(n[i++]=o)}return n}function nm(){return[]}var om=Object.prototype,am=om.propertyIsEnumerable,ih=Object.getOwnPropertySymbols,cm=ih?function(r){return r==null?[]:(r=Object(r),rm(ih(r),function(t){return am.call(r,t)}))}:nm;function hm(r,t,e){var s=t(r);return qt(r)?s:Jc(s,e(r))}function Hn(r){return hm(r,lp,cm)}var Yn=Ye(Ft,"DataView"),Vn=Ye(Ft,"Promise"),Gn=Ye(Ft,"Set"),rh="[object Map]",lm="[object Object]",nh="[object Promise]",oh="[object Set]",ah="[object WeakMap]",ch="[object DataView]",um=He(Yn),dm=He(Js),fm=He(Vn),gm=He(Gn),pm=He(En),Bt=vs;(Yn&&Bt(new Yn(new ArrayBuffer(1)))!=ch||Js&&Bt(new Js)!=rh||Vn&&Bt(Vn.resolve())!=nh||Gn&&Bt(new Gn)!=oh||En&&Bt(new En)!=ah)&&(Bt=function(r){var t=vs(r),e=t==lm?r.constructor:void 0,s=e?He(e):"";if(s)switch(s){case um:return ch;case dm:return rh;case fm:return nh;case gm:return oh;case pm:return ah}return t});var mm=Object.prototype,vm=mm.hasOwnProperty;function ym(r){var t=r.length,e=new r.constructor(t);return t&&typeof r[0]=="string"&&vm.call(r,"index")&&(e.index=r.index,e.input=r.input),e}var vr=Ft.Uint8Array;function Nn(r){var t=new r.constructor(r.byteLength);return new vr(t).set(new vr(r)),t}function bm(r,t){var e=Nn(r.buffer);return new r.constructor(e,r.byteOffset,r.byteLength)}var _m=/\w*$/;function Tm(r){var t=new r.constructor(r.source,_m.exec(r));return t.lastIndex=r.lastIndex,t}var hh=Ot?Ot.prototype:void 0,lh=hh?hh.valueOf:void 0;function Sm(r){return lh?Object(lh.call(r)):{}}function wm(r,t){var e=Nn(r.buffer);return new r.constructor(e,r.byteOffset,r.length)}var xm="[object Boolean]",Cm="[object Date]",Om="[object Map]",km="[object Number]",Mm="[object RegExp]",Dm="[object Set]",Im="[object String]",jm="[object Symbol]",Em="[object ArrayBuffer]",Pm="[object DataView]",Am="[object Float32Array]",Lm="[object Float64Array]",Rm="[object Int8Array]",Fm="[object Int16Array]",Bm="[object Int32Array]",Xm="[object Uint8Array]",Wm="[object Uint8ClampedArray]",zm="[object Uint16Array]",Hm="[object Uint32Array]";function Ym(r,t,e){var s=r.constructor;switch(t){case Em:return Nn(r);case xm:case Cm:return new s(+r);case Pm:return bm(r);case Am:case Lm:case Rm:case Fm:case Bm:case Xm:case Wm:case zm:case Hm:return wm(r);case Om:return new s;case km:case Im:return new s(r);case Mm:return Tm(r);case Dm:return new s;case jm:return Sm(r)}}function Vm(r){return typeof r.constructor=="function"&&!Hc(r)?ng(qp(r)):{}}var Gm="[object Map]";function Nm(r){return xe(r)&&Bt(r)==Gm}var uh=ys&&ys.isMap,Um=uh?Fn(uh):Nm,$m="[object Set]";function qm(r){return xe(r)&&Bt(r)==$m}var dh=ys&&ys.isSet,Km=dh?Fn(dh):qm,fh="[object Arguments]",Zm="[object Array]",Jm="[object Boolean]",Qm="[object Date]",tv="[object Error]",gh="[object Function]",ev="[object GeneratorFunction]",sv="[object Map]",iv="[object Number]",ph="[object Object]",rv="[object RegExp]",nv="[object Set]",ov="[object String]",av="[object Symbol]",cv="[object WeakMap]",hv="[object ArrayBuffer]",lv="[object DataView]",uv="[object Float32Array]",dv="[object Float64Array]",fv="[object Int8Array]",gv="[object Int16Array]",pv="[object Int32Array]",mv="[object Uint8Array]",vv="[object Uint8ClampedArray]",yv="[object Uint16Array]",bv="[object Uint32Array]",Y={};Y[fh]=Y[Zm]=Y[hv]=Y[lv]=Y[Jm]=Y[Qm]=Y[uv]=Y[dv]=Y[fv]=Y[gv]=Y[pv]=Y[sv]=Y[iv]=Y[ph]=Y[rv]=Y[nv]=Y[ov]=Y[av]=Y[mv]=Y[vv]=Y[yv]=Y[bv]=!0,Y[tv]=Y[gh]=Y[cv]=!1;function yr(r,t,e,s,i,n){var o;if(o!==void 0)return o;if(!Kt(r))return r;var a=qt(r);if(a)o=ym(r);else{var c=Bt(r),h=c==gh||c==ev;if(fr(r))return im(r);if(c==ph||c==fh||h&&!i)o=h?{}:Vm(r);else{if(!Y[c])return i?r:{};o=Ym(r,c)}}n||(n=new le);var l=n.get(r);if(l)return l;n.set(r,o),Km(r)?r.forEach(function(f){o.add(yr(f,t,e,f,r,n))}):Um(r)&&r.forEach(function(f,g){o.set(g,yr(f,t,e,g,r,n))});var u=Hn,d=a?void 0:u(r);return gg(d||r,function(f,g){d&&(g=f,f=r[g]),Wc(o,g,yr(f,t,e,g,r,n))}),o}var _v=1,Tv=4;function Ge(r){return yr(r,_v|Tv)}var Sv="__lodash_hash_undefined__";function wv(r){return this.__data__.set(r,Sv),this}function xv(r){return this.__data__.has(r)}function br(r){var t=-1,e=r==null?0:r.length;for(this.__data__=new he;++t<e;)this.add(r[t])}br.prototype.add=br.prototype.push=wv,br.prototype.has=xv;function Cv(r,t){for(var e=-1,s=r==null?0:r.length;++e<s;)if(t(r[e],e,r))return!0;return!1}function Ov(r,t){return r.has(t)}var kv=1,Mv=2;function mh(r,t,e,s,i,n){var o=e&kv,a=r.length,c=t.length;if(a!=c&&!(o&&c>a))return!1;var h=n.get(r),l=n.get(t);if(h&&l)return h==t&&l==r;var u=-1,d=!0,f=e&Mv?new br:void 0;for(n.set(r,t),n.set(t,r);++u<a;){var g=r[u],p=t[u];if(s)var m=o?s(p,g,u,t,r,n):s(g,p,u,r,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(f){if(!Cv(t,function(b,T){if(!Ov(f,T)&&(g===b||i(g,b,e,s,n)))return f.push(T)})){d=!1;break}}else if(!(g===p||i(g,p,e,s,n))){d=!1;break}}return n.delete(r),n.delete(t),d}function Dv(r){var t=-1,e=Array(r.size);return r.forEach(function(s,i){e[++t]=[i,s]}),e}function Iv(r){var t=-1,e=Array(r.size);return r.forEach(function(s){e[++t]=s}),e}var jv=1,Ev=2,Pv="[object Boolean]",Av="[object Date]",Lv="[object Error]",Rv="[object Map]",Fv="[object Number]",Bv="[object RegExp]",Xv="[object Set]",Wv="[object String]",zv="[object Symbol]",Hv="[object ArrayBuffer]",Yv="[object DataView]",vh=Ot?Ot.prototype:void 0,Un=vh?vh.valueOf:void 0;function Vv(r,t,e,s,i,n,o){switch(e){case Yv:if(r.byteLength!=t.byteLength||r.byteOffset!=t.byteOffset)return!1;r=r.buffer,t=t.buffer;case Hv:return!(r.byteLength!=t.byteLength||!n(new vr(r),new vr(t)));case Pv:case Av:case Fv:return An(+r,+t);case Lv:return r.name==t.name&&r.message==t.message;case Bv:case Wv:return r==t+"";case Rv:var a=Dv;case Xv:var c=s&jv;if(a||(a=Iv),r.size!=t.size&&!c)return!1;var h=o.get(r);if(h)return h==t;s|=Ev,o.set(r,t);var l=mh(a(r),a(t),s,i,n,o);return o.delete(r),l;case zv:if(Un)return Un.call(r)==Un.call(t)}return!1}var Gv=1,Nv=Object.prototype,Uv=Nv.hasOwnProperty;function $v(r,t,e,s,i,n){var o=e&Gv,a=Hn(r),c=a.length,h=Hn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:Uv.call(t,d)))return!1}var f=n.get(r),g=n.get(t);if(f&&g)return f==t&&g==r;var p=!0;n.set(r,t),n.set(t,r);for(var m=o;++u<c;){d=a[u];var b=r[d],T=t[d];if(s)var w=o?s(T,b,d,t,r,n):s(b,T,d,r,t,n);if(!(w===void 0?b===T||i(b,T,e,s,n):w)){p=!1;break}m||(m=d=="constructor")}if(p&&!m){var x=r.constructor,O=t.constructor;x!=O&&"constructor"in r&&"constructor"in t&&!(typeof x=="function"&&x instanceof x&&typeof O=="function"&&O instanceof O)&&(p=!1)}return n.delete(r),n.delete(t),p}var qv=1,yh="[object Arguments]",bh="[object Array]",_r="[object Object]",Kv=Object.prototype,_h=Kv.hasOwnProperty;function Zv(r,t,e,s,i,n){var o=qt(r),a=qt(t),c=o?bh:Bt(r),h=a?bh:Bt(t);c=c==yh?_r:c,h=h==yh?_r:h;var l=c==_r,u=h==_r,d=c==h;if(d&&fr(r)){if(!fr(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new le),o||Kc(r)?mh(r,t,e,s,i,n):Vv(r,t,c,e,s,i,n);if(!(e&qv)){var f=l&&_h.call(r,"__wrapped__"),g=u&&_h.call(t,"__wrapped__");if(f||g){var p=f?r.value():r,m=g?t.value():t;return n||(n=new le),i(p,m,e,s,n)}}return d?(n||(n=new le),$v(r,t,e,s,i,n)):!1}function Th(r,t,e,s,i){return r===t?!0:r==null||t==null||!xe(r)&&!xe(t)?r!==r&&t!==t:Zv(r,t,e,s,Th,i)}function Jv(r,t){return r!=null&&t in Object(r)}function Qv(r,t,e){t=mr(t,r);for(var s=-1,i=t.length,n=!1;++s<i;){var o=Wn(t[s]);if(!(n=r!=null&&e(r,o)))break;r=r[o]}return n||++s!=i?n:(i=r==null?0:r.length,!!i&&Ln(i)&&Pn(o,i)&&(qt(r)||Rn(r)))}function t0(r,t){return r!=null&&Qv(r,t,Jv)}var $n=function(){return Ft.Date.now()},e0="Expected a function",s0=Math.max,i0=Math.min;function r0(r,t,e){var s,i,n,o,a,c,h=0,l=!1,u=!1,d=!0;if(typeof r!="function")throw new TypeError(e0);t=Rc(t)||0,Kt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?s0(Rc(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function f(C){var I=s,M=i;return s=i=void 0,h=C,o=r.apply(M,I),o}function g(C){return h=C,a=setTimeout(b,t),l?f(C):o}function p(C){var I=C-c,M=C-h,j=t-I;return u?i0(j,n-M):j}function m(C){var I=C-c,M=C-h;return c===void 0||I>=t||I<0||u&&M>=n}function b(){var C=$n();if(m(C))return T(C);a=setTimeout(b,p(C))}function T(C){return a=void 0,d&&s?f(C):(s=i=void 0,o)}function w(){a!==void 0&&clearTimeout(a),h=0,s=c=i=a=void 0}function x(){return a===void 0?o:T($n())}function O(){var C=$n(),I=m(C);if(s=arguments,i=this,c=C,I){if(a===void 0)return g(c);if(u)return clearTimeout(a),a=setTimeout(b,t),f(c)}return a===void 0&&(a=setTimeout(b,t)),o}return O.cancel=w,O.flush=x,O}function n0(r,t){return Th(r,t)}function o0(r,t,e,s){if(!Kt(r))return r;t=mr(t,r);for(var i=-1,n=t.length,o=n-1,a=r;a!=null&&++i<n;){var c=Wn(t[i]),h=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return r;if(i!=o){var l=a[c];h=void 0,h===void 0&&(h=Kt(l)?l:Pn(t[i+1])?[]:{})}Wc(a,c,h),a=a[c]}return r}function a0(r,t,e){for(var s=-1,i=t.length,n={};++s<i;){var o=t[s],a=Gp(r,o);e(a,o)&&o0(n,mr(o,r),a)}return n}function c0(r,t){return a0(r,t,function(e,s){return t0(r,s)})}var h0=$p(function(r,t){return r==null?{}:c0(r,t)}),l0="Expected a function";function u0(r,t,e){var s=!0,i=!0;if(typeof r!="function")throw new TypeError(l0);return Kt(e)&&(s="leading"in e?!!e.leading:s,i="trailing"in e?!!e.trailing:i),r0(r,t,{leading:s,maxWait:t,trailing:i})}class d0{addTrackItem(t){const e=Sf(t,{tScale:this.tScale,sizesMap:this.sizesMap});this.add(e)}alignItemsToTrack(){this.pauseEventListeners();const t=new Map(this.getObjects("Track").map(i=>[i.id,i])),e=this.getTrackItems(),s=this.getObjects("Transition");this.trackItemIds.forEach(i=>{const n=this.tracks.find(c=>c.items.includes(i));if(!n)return;const o=t.get(n.id),a=this.getTrackItems().find(c=>c.id===i);a&&o&&(a.isMain=o.magnetic,this.trackItemsMap[i].isMain=o.magnetic,a.set({top:o.top}),a.setCoords())}),t.forEach(i=>{i.items=e.filter(n=>n.top===i.top).map(n=>n.id)}),s.forEach(i=>{const n=i.fromId,o=e.find(a=>a.id===n);o&&(i.set({top:o.top}),i.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,i=this.trackItemsMap[t],n=this.getObjects().find(c=>c.id===t),o=$(i.display.from,this.tScale),a=$(i.display.to-i.display.from,this.tScale,i.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof $t){const c=n.display.to-n.display.from;n.setDuration?n.setDuration(c):n.set({duration:c}),i.trim=n.trim,i.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(n0(e,t))return;const i=this.getObjects(...ue.objectTypes,"Transition").filter(n=>t.includes(n.id));if(!i.length)this.discardActiveObject();else if(i.length===1)this.setActiveObject(i[0]);else{const n=new xt(i);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={};t.forEach(s=>{const{id:i,left:n,width:o}=s,a=this.trackItemsMap[i],c=P(n,this.tScale),h=P(o,this.tScale),l={from:c,to:c+h},u={display:l};s instanceof $t&&(u.trim=s.trim),s.display=l,e[i]={...a,...u}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),i=$s(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=i,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=$s(this.tracks,e),i={};Object.keys(this.trackItemsMap).forEach(o=>{e.includes(o)||(i[o]=this.trackItemsMap[o])});const n=this.trackItemIds.filter(o=>!e.includes(o));this.tracks=s,this.trackItemsMap=i,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 i=this.getObjects().find(c=>c.id===s),n=this.trackItemsMap[s],o=$(n.display.from,this.tScale),a=$(n.display.to-n.display.from,this.tScale);i.set({left:o,width:a}),i.setCoords()}),!t&&this.resumeEventListeners()}getTrackItems(){return this.getObjects(...ue.objectTypes)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const Sh=r=>{switch(r){case"top":return 1e3;case"bottom":return 1e3;case"center":return 8;default:return 1e3}};class f0{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 i=this.getItemAccepts(t.type),n={id:Us(),items:[t.id],type:t.type,accepts:i,magnetic:!1,static:!1,muted:!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 i=k.getClass("Helper")||oe,n=new i({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=Sh("top"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=Sh("center"),l=new i({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=k.getClass("Track")||Lt,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 i({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||[],i=this.getObjects(...s).filter(o=>e.items.includes(o.id)).sort((o,a)=>o.left-a.left);let n=0;i.forEach(o=>{o.left=n,n+=o.width})}),this.resumeEventListeners()}}function wh(r){const t=this,e=r.target,s=r.transform;if(s.action==="resizing"){const i=t.getObjects().filter(u=>u!==e&&!["Track","Helper","Transition","Placeholder"].includes(u.type)),n=10,o=e.left,a=e.width*e.scaleX,c=o+a;let h=!1;i.forEach(u=>{if(h)return;const d=u.getBoundingRect(),f=d.left,g=d.left+d.width;if(s.corner==="mr"){const p=Math.abs(c-g),m=Math.abs(c-f),b=P(1,e.tScale);if(p<n)if(e instanceof $t){const T=g-e.left,w=T-a,x=P(w,e.tScale,e.playbackRate),O=e.trim.to+x;if(T<b||T<b)return;O<=e.duration&&(e.set({width:T,scaleX:1}),e.trim.to=O,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:g-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof $t){const T=f-e.left,w=T-a,x=P(w,e.tScale,e.playbackRate),O=e.trim.to+x;if(T<b)return;O<=e.duration&&(e.set({width:T,scaleX:1}),e.trim.to=O,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:f-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}else if(s.corner==="ml"){const p=Math.abs(o-f),m=Math.abs(o-g);if(p<n)if(e instanceof $t){const b=c-f,T=b-a,w=P(T,e.tScale,e.playbackRate),x=e.trim.from-w;x>=0&&(e.set({left:f,width:b,scaleX:1}),e.trim.from=x,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:f,width:c-f,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof $t){const b=c-g,T=b-a,w=P(T,e.tScale,e.playbackRate),x=e.trim.from-w;x>=0&&(e.set({left:g,width:b,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());const l=t.tracks.find(u=>u.magnetic);if(l&&l.items.includes(e.id)){const u=t.getTrackItems().filter(g=>l.items.includes(g.id)),d=Math.max(...u.map(g=>{const p=P(g.left,t.tScale),m=P(g.width*g.scaleX,t.tScale);return p+m}));t.getTrackItems().filter(g=>g.type==="audio").forEach(g=>{var m;const p=t.trackItemsMap[g.id];if(p){const b=p.duration||0,T=(m=p.metadata)==null?void 0:m.userLimitDuration,w=typeof T=="number"?T:b,x=p.display.from||0,O=Math.max(0,d-x),C=Math.min(O,w);g.display={from:x,to:x+C},g.trim&&(g.trim={from:g.trim.from||0,to:(g.trim.from||0)+C});const I=$(C,t.tScale);g.set({width:I,scaleX:1}),g.setCoords()}}),t.requestRenderAll()}}}function g0(r){r.on("object:resizing",wh.bind(r))}function p0(r){r.off("object:resizing",wh.bind(r))}const Tr=80,Sr=80,bs=3,m0=25,v0=12,y0=40,b0=16,J={scrollInterval:null,lastPointer:null,lastEvent:null,timeline:null,isAutoScrolling:!1};let Qs=null,ti=null;function _0(r,t){const e=Math.max(0,Math.min(r,t)),s=(t-e)/t;return bs+(m0-bs)*s}function xh(r,t){const e=Math.max(0,Math.min(r,t)),s=(t-e)/t;return bs+(v0-bs)*s}function T0(r,t){const e=Math.min(2,(t-r)/t);return bs+(y0-bs)*e}function S0(r,t){const s=-t+r.width+r.spacing.right;if(s>r.bounding.width){r.bounding={...r.bounding,width:s};const i=s+r.spacing.right;r.getObjects("Track","Helper").forEach(n=>{n.updateCoords(i),n.setCoords()})}}function w0(r,t,e){var i;const s=r.viewportTransform;s[4]=t,s[5]=e,r.requestRenderAll(),r.setActiveTrackItemCoords(),(i=r.onScroll)==null||i.call(r,{scrollTop:e,scrollLeft:t-r.spacing.left})}function Ch(r){if(!J.lastPointer)return;const t=r.getActiveObject();if(!t)return;const e=r.viewportTransform,s=J.lastPointer;let i=!1,n=!1;if(s.x>r.width-Tr){const o=r.width-s.x,a=T0(o,Tr),c=e[4]-a;S0(r,c);const h=c-e[4];t.set("left",t.left-h),w0(r,c,e[5]),i=!0}if(s.x<Tr){const o=s.x,a=_0(o,Tr),c=e[4]+a,h=r.getViewportPos(c,e[5]);if(h.x!==e[4]){const l=h.x-e[4];t.set("left",t.left-l),r.setViewportPos(h.x,e[5]),i=!0}}if(s.y>r.height-Sr){const o=r.height-s.y,a=xh(o,Sr),c=e[5]-a,h=r.getViewportPos(e[4],c);if(h.y!==e[5]){const l=h.y-e[5];t.set("top",t.top-l),r.setViewportPos(e[4],h.y),n=!0}}if(s.y<Sr){const o=s.y,a=xh(o,Sr),c=e[5]+a,h=r.getViewportPos(e[4],c);if(h.y!==e[5]){const l=h.y-e[5];t.set("top",t.top-l),r.setViewportPos(e[4],h.y),n=!0}}if((i||n)&&(t.setCoords(),r.requestRenderAll(),J.lastEvent)){J.isAutoScrolling=!0;const o=r.getScenePoint(J.lastEvent);r.fire("object:moving",{target:t,e:J.lastEvent,transform:r._currentTransform,pointer:o}),J.isAutoScrolling=!1}}function x0(r){J.scrollInterval||(J.scrollInterval=setInterval(()=>{Ch(r)},b0))}function Oh(){J.scrollInterval&&(clearInterval(J.scrollInterval),J.scrollInterval=null),J.lastPointer=null,J.lastEvent=null,J.timeline&&(J.timeline.calcBounding(),J.timeline.refreshTrackLayout()),J.timeline=null}function C0(r){if(J.isAutoScrolling)return;const t=this.getViewportPoint(r.e);J.lastPointer={x:t.x,y:t.y},J.lastEvent=r.e,J.timeline=this,x0(this),Ch(this)}function O0(){Oh()}function k0(r){Qs=C0.bind(r),ti=O0,r.on("object:moving",Qs),r.on("mouse:up",ti)}function M0(r){Oh(),Qs&&(r.off("object:moving",Qs),Qs=null),ti&&(r.off("mouse:up",ti),ti=null)}function kh(r){const t=r.target,e=r.target.canvas;if(r.action==="resizing"&&t instanceof Rt&&e){const s=t.id,i=e.getObjects("Transition").find(n=>n.id===s);if(i&&i instanceof Rt){const n=Ge(this.transitionsMap),o={...n,[s]:{...n[s],width:i.width,duration:i.duration}};this.transitionsMap=o,this.updateState()}}}function D0(r){r.on("object:modified",kh)}function I0(r){r.off("object:modified",kh)}const Mh={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=()=>Mh,lt=r=>{Object.assign(Mh,r)},Dh=10,wr=(r,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&r.remove(e))},Ih=(r,t)=>{const e=[],s=[];return t.getObjects().filter(i=>i.visible).forEach(i=>{if(r.find(o=>o.id===i.id)||i.isAlignmentAuxiliary)return;const n=i.getBoundingRect();e.push(Lh(n.left,n.width,n.top,n.height)),s.push(Lh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},jh=(r,t)=>{const e=[],s=[];r.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Dh&&e.push({lineGuide:a.val,diff:h,orientation:"V",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})}),r.horizontal.forEach(a=>{t.horizontal.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Dh&&s.push({lineGuide:a.val,diff:h,orientation:"H",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})});const i=[],n=e.sort((a,c)=>a.diff-c.diff)[0],o=s.sort((a,c)=>a.diff-c.diff)[0];return n&&i.push({lineGuide:n.lineGuide,offset:n.offset,orientation:"V",snap:n.snap,targetDim:n.targetDim}),o&&i.push({lineGuide:o.lineGuide,offset:o.offset,orientation:"H",snap:o.snap,targetDim:o.targetDim}),i},Eh=(r,t,e)=>{r.forEach(s=>{const i=j0(e.getZoom());s.orientation==="H"?e.add(Ph([0,s.lineGuide-i.strokeWidth/2,2e3,s.lineGuide-i.strokeWidth/2],{...i,stroke:e.guideLineColor})):s.orientation==="V"&&e.add(Ph([s.lineGuide-i.strokeWidth/2,0,s.lineGuide-i.strokeWidth/2,2e3],{...i,stroke:e.guideLineColor}))})},j0=r=>({strokeWidth:2/r}),Ph=(r,t)=>new Se(r,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),Ah=r=>{const t=r.getBoundingRect();return{vertical:[{guide:Math.round(t.left),offset:Math.round(r.left-t.left),snap:"start"},{guide:Math.round(t.left+t.width),offset:Math.round(r.left-t.left-t.width),snap:"end"}],horizontal:[{guide:Math.round(t.top),offset:Math.round(r.top-t.top),snap:"start"},{guide:Math.round(t.top+t.height),offset:Math.round(r.top-t.top-t.height),snap:"end"}]}},Lh=(r,t,e,s)=>[r,r+t].map(n=>({val:n,start:e,end:e+s})),Rh=(r,t)=>{r.remove(...t),t=[]},Fh=r=>{r.forEach(t=>t.setSelected(!1))},Bh=r=>r instanceof oe,E0=r=>Object.assign({},{left:16,right:80},r),P0=["touchstart","touchmove","touchend"],A0=r=>P0.includes(r.type)||r.pointerType==="touch";function Xh(r){const t=this;if(!t)return;const s=Q().enableGuideRedraw,i=t.getScenePoint(r.e),n=t.getObjects("Helper","Track"),o=n.find(g=>{const p=g.getBoundingRect();return i.x>=p.left&&i.x<=p.left+p.width&&i.y>=p.top&&i.y<=p.top+p.height});lt({draggingOverTrack:o}),n.forEach(g=>{Bh(g)&&(g===o?g.setSelected(!0):g.setSelected(!1))}),Bh(o)?lt({isPointerOverHelperTrack:!0}):lt({isPointerOverHelperTrack:!1});const a=t.getObjects(),c=r.target,h=c.getBoundingRect();c.setCoords();const l=[c,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],u=Ih(l,t),d=Ah(c),f=jh(u,d);s&&(wr(t,a),f.length&&Eh(f,h,t),lt({enableGuideRedraw:!1}),setTimeout(()=>lt({enableGuideRedraw:!0}),50)),f.forEach(g=>{g.orientation==="V"?c.left=g.lineGuide+g.offset:c.top=g.lineGuide+g.offset})}function Wh(r){const t=r.target.canvas;t&&(wr(t,t.getObjects()),Fh(t.getObjects("Helper")),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function zh(r){var a;const t=this,e=t.getObjects(),s=r.target,i=r.transform,n=(a=t._currentTransform)==null?void 0:a.corner,o=s.getBoundingRect();if(i.action==="resizing"){const c=[s,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],h=Ih(c,t),l=h.vertical.filter(f=>{const g=f.val;if(n==="ml")return g<=o.left;if(n==="mr")return g>=o.left+o.width});h.vertical=l;const u=Ah(s),d=jh(h,u);wr(t,e),d.length&&Eh(d,o,t)}}function L0(r){r.on("object:moving",Xh.bind(r)),r.on("object:modified",Wh.bind(r)),r.on("object:resizing",zh.bind(r))}function R0(r){r.off("object:moving",Xh.bind(r)),r.off("object:modified",Wh.bind(r)),r.off("object:resizing",zh.bind(r))}function qn(r,t,e){const s=r.indexOf(t),i=r.indexOf(e);return s===-1||i===-1?null:i-s}function Hh(r,t){const e=t.sort((i,n)=>i.tempIndex-n.tempIndex),s=[];for(const i of e)i.tempIndex<0&&s.push(i);s.push(r);for(const i of e)i.tempIndex>=0&&s.push(i);return s}function Yh(r){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(),i=s instanceof xt?s.getObjects():[s];lt({activeObjects:i});const n=e.getScenePoint(r.e),o=e.getObjects("Track"),a=e.getActiveObjects().map(u=>u.id);let h=o.filter(u=>{const d=u.items;return a.some(f=>d.includes(f))}).find(u=>{const d=u.getBoundingRect();return n.x>=d.left&&n.x<=d.left+d.width&&n.y>=d.top&&n.y<=d.top+d.height});lt({originTrack:h});const l=e.getObjects(...this.itemTypes);o.forEach(u=>{const d=l.filter(f=>u.items.includes(f.id));t.trackToItemsMap[u.id]=d,t.trackTopToIdMap[u.top]=u.id,t.trackTops.push(u.top)}),t.trackTops.sort((u,d)=>u-d),i.forEach(u=>{const d=o.find(g=>g.items.includes(u.id));if(!d)return;const f=d.id;t.activeTrackToItemsMap[f]?t.activeTrackToItemsMap[f].push(u):t.activeTrackToItemsMap[f]=[u]}),t.primaryMovingObjects=i.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof Rt)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[d];if(t.primaryTracks[f])t.primaryTracks[f].objects.push(u);else{const g=qn(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[f]={objects:[u],index:g}}}),t.primaryMovingObjects=t.primaryMovingObjects.sort((u,d)=>u.left-d.left),t.secondaryMovingObjects=i.filter(u=>!t.primaryMovingObjects.includes(u)),t.secondaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[f])t.secondaryTracks[f].objects.push(u);else{const g=qn(t.trackTops,h.top,d);t.secondaryTracks[f]={objects:[u],index:g}}}),h&&(e.trackOriginBeforeTransform=h.id),s&&(e.positionBeforeTransform={top:s.top,left:s.left}),r.transform.action==="drag"&&(t.placeholderMovingObjects=t.primaryMovingObjects.map(u=>{const d=u.getBoundingRect();t.objectInitialPositions[u.id]={top:d.top,left:d.left};const f=new ds({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return f.draggedObject=u,f}),e.add(...t.placeholderMovingObjects)))}function F0(r){r.on("before:transform",Yh.bind(r))}function B0(r){r.off("before:transform",Yh.bind(r))}const Os=class Os extends it{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,Os.ownDefaults),this.id=e.id}static createControls(){return{controls:Dn()}}static getDefaults(){return{...super.getDefaults(),...Os.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const i=$(this.duration,this.tScale),n=s.left+s.width-i/2;this.set({width:i,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=Vs,e.strokeStyle=ze,e.stroke(),e.restore())}};S(Os,"type","TransitionGuide"),S(Os,"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 ei=Os;const X0=r=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=r,i=new Map;Object.values(e).forEach(h=>{var f,g;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(i.has(l)||i.set(l,[]),i.has(u)||i.set(u,[]),(f=i.get(l))==null||f.push(h),(g=i.get(u))==null||g.push(h))});const n=[],o=new Set,a=h=>{const l=[];let u=h;for(;u&&!o.has(u);){o.add(u);const d=s[u];l.push(d);const f=Object.values(e).find(g=>g.fromId===u&&g.kind!=="none");if(!f)break;l.push(f),u=f.toId}return l},c=Object.values(e).filter(h=>h.kind!=="none");for(const h of t)if(!o.has(h)&&(!i.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},W0=["text","image","video","audio","caption","template"];function Vh(){const r=Q();Rh(this,r.placeholderMovingObjects)}function z0(r){const t=r.target.left;r.target.left=Math.max(t,0)}function Gh(r,t){return r.find(s=>{const i=s.getBoundingRect();return t.left<i.left+i.width&&t.left+t.width-1>i.left&&t.top<i.top+i.height&&t.top+t.height>i.top})}function H0(r,t){const s=r.canvas.getActiveObject(),i=s.left+s.width/2,n=t.left+t.width/2;return i<n?t.left-s.width:(i>n,t.left+t.width)}const Y0=(r,t,e)=>!(e<0||Gh(r,{...t.getBoundingRect(),left:e})),Nh=r=>{const e=Q().draggingOverTrack,s=e==null?void 0:e.accepts.map(n=>n.toLowerCase()),i=r.type.toLowerCase();return r instanceof ae,e&&(s==null?void 0:s.includes(i))};function V0(r){Q().isPointerOverHelperTrack?r.opacity=0:r.opacity=1}function G0(){const r=Q(),t=r.primaryMovingObjects[0];return{top:r.objectInitialPositions[t.id].top,left:r.objectInitialPositions[t.id].left}}function N0(r){const t=r.getBoundingRect(),e=Q(),s=e.draggingOverTrack;if(e.primaryMovingObjects.map(n=>n.id).includes(r.id)){const o=e.primaryMovingObjects[0].getBoundingRect();return{top:s.top,left:o.left}}return{top:s.top,left:t.left}}function U0(r,t,e,s){const n=r.canvas.getActiveObjects().map(l=>l.id),o=H0(r,t),a=e.filter(l=>!n.includes(l.id)),c=Y0(a,r,o),h=Q();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,f)=>Math.abs(f-s.x)<Math.abs(d-s.x)?f:d),top:l.top}}return{left:o,top:t.top}}const $0=(r,t)=>{r.forEach((e,s)=>{e.set({left:t[s]})})},Uh=u0(r=>{const t=r.target.canvas;z0(r);const e=Q(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];W0.includes(a.type)&&e.placeholderMovingObjects.forEach(c=>{c.visible=!0})}else{e.placeholderMovingObjects.forEach(a=>{a.visible=!1});return}const i=e.placeholderMovingObjects.map(a=>a.draggedObject),n=(e.trackToItemsMap[s.id]||[]).filter(a=>!i.includes(a)),o=Nh(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=$h(e,s));let a=0;for(const[c,h]of e.initialTrackPoints.entries()){const l=h,u=e.initialTrackPoints[c+1],d=e.initialTrackPoints[c-1],f=u-l,g=l-d;if(!u)a=l;else if(l<=r.pointer.x&&l+f/2>=r.pointer.x){a=l;break}else if(l-g/2<=r.pointer.x&&r.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(f=>f.id===e.updateItemsInTrack);d!=null&&d.magnetic?q0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]}e.initialTrackPoints.length===0&&s instanceof Lt&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=$h(e,s));const a=n.find(d=>Gh(i,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,f)=>d.left-f.left),u=l[0];l.forEach((d,f)=>{if(!l[f-1])return;const g=d.left-u.left;c.push(g)}),e.placeholderMovingObjects.forEach((d,f)=>{const g=d.draggedObject;if(g instanceof ei){d.visible=!1;return}g.setCoords(),V0(d);let p=Q0(g,n,r.pointer,a);if(e.draggingOverTrack instanceof oe?d.opacity=0:d.opacity=1,g instanceof ae&&p.isInvalidDrop&&e.draggingOverTrack instanceof Lt){const m=r.pointer,b=[...t.viewportTransform],T=m.y-b[5];J0(t,T)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left+(c[f-1]||0)},d.left=p.left+(c[f-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),$h=(r,t)=>{const e=r.canvas,s=[];t.items.forEach(h=>{const l=e.getObjects().find(u=>u.id===h);l&&s.push(l)});const i=r.activeObjects.map(h=>h.id),o=s.filter(h=>!i.includes(h.id)).sort((h,l)=>h.left-l.left);let a=0;const c=[];return t.magnetic?K0(o,a,c):Z0(t,c,e),c};function q0(r,t){const e=[];r.getObjects().find(a=>a.id===t.updateItemsInTrack).items.forEach(a=>{const c=r.getObjects().find(h=>h.id===a);c&&e.push(c)});const i=t.activeObjects.map(a=>a.id),o=e.filter(a=>!i.includes(a.id)).sort((a,c)=>a.left-c.left);t.initialTrackPoints.length>o.length&&$0(o,t.initialTrackPoints)}function K0(r,t,e){var h;const s=Q(),i=(h=r[0])==null?void 0:h.canvas,n=s.draggingOverTrack,o=s.primaryMovingObjects.map(l=>l.id);if(!i)return;const a=i.transitionIds.filter(l=>i.transitionsMap[l].kind!=="none");r.forEach(l=>{l.set({left:t}),t+=l.width,a.find(d=>i.transitionsMap[d].toId===l.id)||e.push(l.left)});const c=r[r.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(f=>f>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,$(l.display.from,i.tScale))}}}function Z0(r,t,e){const s=r.items,i={},n={},o=e.getActiveObjects().map(h=>h.id);Object.values(e.trackItemsMap).forEach(h=>{s.includes(h.id)&&(i[h.id]=h)});const a=e.getObjects("Transition").filter(h=>h.top===r.top).map(h=>h.id);Object.values(e.transitionsMap).forEach(h=>{a.includes(h.id)&&(n[h.id]=h)});const c=X0({trackItemIds:Ge(s),transitionsMap:Ge(n),trackItemsMap:Ge(i)});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 J0(r,t){r.getObjects("Helper").reduce((i,n)=>Math.abs(n.top-t)<Math.abs(i.top-t)?n:i).setSelected(!0)}const Q0=(r,t,e,s)=>{const i=Nh(r);return!i&&r instanceof ae?{top:0,left:0,isInvalidDrop:!0}:i?s?r instanceof ae?{top:0,left:0,isInvalidDrop:!0}:U0(r,s,t,e):N0(r):G0()};function ty(r){r.on("mouse:up",Vh.bind(r)),r.on("object:moving",Uh)}function ey(r){r.off("mouse:up",Vh.bind(r)),r.off("object:moving",Uh)}const sy=r=>{Q().canvas.fire("track:create",r)},iy=r=>{Q().canvas.fire("track-items:moved",r)},qh=r=>{var a,c,h;const t=(a=r.target)==null?void 0:a.canvas;if(!t)return;const e=Q(),s=t.getActiveObject();if(!s||!t.positionBeforeTransform)return;const i=t.getScenePoint(r.e),o=t.getObjects("Track","Helper").find(l=>{const u=l.getBoundingRect();return i.x>=u.left&&i.x<=u.left+u.width&&i.y>=u.top&&i.y<=u.top+u.height});if(r.action==="resizing"){const l=(e.trackToItemsMap[(c=e.originTrack)==null?void 0:c.id]||[]).filter(d=>d!==s);s.setCoords();const u=Kh(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 oe){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}};sy(u)}else if(o instanceof Lt){const u={isSecondaryOverlapped:ny(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};iy(u)}};function ry(){const r=Q(),t=r.canvas,[e]=r.primaryMovingObjects,s=e.id,i=t.positionAfterTransform[s],n=e.getBoundingRect().top,o=i.top-n,a={};return r.secondaryMovingObjects.forEach(c=>{const h=c.getBoundingRect().top+o,l=r.trackTopToIdMap[h],u=qn(r.trackTops,r.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function ny(){const r=ry(),t=Q();return Object.keys(r).some(e=>{const s=t.trackToItemsMap[e],i=r[e].objects;return!s||!s.length?!0:s.filter(n=>!i.includes(n)).some(n=>Kh(i,n.getBoundingRect()))})}function Kh(r,t){return r.find(s=>{const i=s.getBoundingRect();return t.left<i.left+i.width&&t.left+t.width>i.left&&t.top<i.top+i.height&&t.top+t.height>i.top})}const oy=r=>{r.on("object:modified",qh)},ay=r=>{r.off("object:modified",qh)},Kn="drag",Zh=`${Kn}:start`,Zn=`${Kn}:end`,Jn="timeline",Jh=`${Jn}:boundingChanged`,Qh=`${Jn}:seek`,cy=r=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=r,i=new Map;Object.values(e).forEach(c=>{var u,d;if(c.kind==="none")return;const{fromId:h,toId:l}=c;i.has(h)||i.set(h,[]),i.has(l)||i.set(l,[]),(u=i.get(h))==null||u.push(c),(d=i.get(l))==null||d.push(c)});const n=[],o=new Set,a=c=>{const h=[];let l=c;for(;l&&!o.has(l);){o.add(l);const u=s[l];h.push(u);const d=Object.values(e).find(f=>f.fromId===l&&f.kind!=="none");if(!d)break;h.push(d),l=d.toId}return h};for(const c of t)if(!o.has(c)&&(!i.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},hy="add:audio",ly="add:video",uy="add:image",dy="add:text",fy=["transition","image","video","audio","caption","text"];let ot,si,Ne=[],ii="";function gy(r,t){let e=1/0,s=null;const i=new _(r.x,r.y);return t.forEach(n=>{const o=Math.sqrt(Math.pow(n.left-i.x,2)+Math.pow(n.top-i.y,2));o<e&&(e=o,s=n)}),s}const py=({width:r,height:t,id:e,left:s,top:i,type:n,duration:o})=>{if(n==="transition")return new ei({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=k.getClass("PreviewTrackItem")||ae;return new a({top:i,left:s,height:t,width:r,id:e,type:n,duration:o})};function tl(r){var f;let t=null;for(const g of((f=r.e.dataTransfer)==null?void 0:f.types)||[])try{t=JSON.parse(g);break}catch{try{const p=r.e.dataTransfer.getData(g);if(p){t=JSON.parse(p);break}}catch{}}if(!t)return;const e=t.type;if(!fy.includes(e))return;const s=t.duration||5e3,i=this;i.discardActiveObject(),i.setActiveIds([]);const n=$(s,this.tScale),o=i.getItemSize(e),a=i.getTrackItems();if(ot=py({width:n,height:o,id:"TransitionGuide",left:0,top:0,type:e,duration:s}),ot.visible=!1,ii=e,e==="transition"){Ne=i.getObjects("Transition");const g=Ne.filter(p=>p.kind!=="none");Ne.forEach(p=>{const m=a.find(O=>O.id===p.toId),b=a.find(O=>O.id===p.fromId),T=p.width;((m==null?void 0:m.width)||0)>=T/2&&((b==null?void 0:b.width)||0)>=T/2||(p.availableDrop=!1);const w=g.find(O=>O.fromId===p.toId);w&&w.width+T/2>=((m==null?void 0:m.width)||0)&&(p.availableDrop=!1);const x=g.find(O=>O.toId===p.fromId);x&&x.width+T/2>=((b==null?void 0:b.width)||0)&&(p.availableDrop=!1),p.visible=!0})}const c=Q();i.trackIdAfterTransform="",i.positionAfterTransform={};const h=ot,l=[ot];lt({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),lt({activeObjects:l});const u=i.getObjects("Track"),d=i.getTrackItems();u.forEach(g=>{const p=d.filter(m=>g.items.includes(m.id));c.trackToItemsMap[g.id]=p,c.trackTopToIdMap[g.top]=g.id,c.trackTops.push(g.top)}),c.trackTops.sort((g,p)=>g-p),c.primaryMovingObjects=l,c.primaryMovingObjects=c.primaryMovingObjects.sort((g,p)=>g.left-p.left),h&&(i.positionBeforeTransform={top:h.top,left:h.left}),c.placeholderMovingObjects=c.primaryMovingObjects.map(g=>{const p=g.getBoundingRect();c.objectInitialPositions[g.id]={top:p.top,left:p.left};const m=new ds({id:`${g.id}-placeholder`,left:p.left,top:p.top,width:p.width,height:p.height});return m.visible=!1,m.draggedObject=g,m}),i.add(...c.placeholderMovingObjects),i.add(ot),tt.dispatch(Zh)}const el=r=>{const t=Q();Rh(r,t.placeholderMovingObjects),r&&(wr(r,r.getObjects()),Fh(r.getObjects("Helper")))};function sl(){if(ii="",el(this),lt({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!ot)return;tt.dispatch(Zn);const r=this;Ne.forEach(t=>{t.strokeDashArray=[],t.setSelected(!1)}),r.getObjects("Helper","Track").forEach(t=>{t.setSelected&&t.setSelected(!1)}),r.remove(ot)}function il(r){const t=Q();if(!ot||!t.placeholderMovingObjects||!t.placeholderMovingObjects[0])return!1;const e=t.placeholderMovingObjects[0];e.visible||(ot.visible=!0,e.visible=!0),t.activeObjects[0]instanceof ei&&(e.visible=!1),r.e.preventDefault();const s=this,i=s.getScenePoint(r.e);ot.set({left:i.x-16,top:i.y-ot.height/2});const n=gy(i,Ne.filter(c=>c.availableDrop));n&&(si=n,n.strokeDashArray=[5,1],n.setSelected(!0)),Ne.forEach(c=>{c!==n&&c.setSelected(!1)}),lt({isDragOver:!0}),ot.setCoords();const o={target:ot,action:"drag",originX:"center",originY:"center",offsetX:i.x-ot.left,offsetY:i.y-ot.top,scaleX:ot.scaleX,scaleY:ot.scaleY};if(t.activeObjects[0].type!=="transitionguide"&&s.fire("object:moving",{target:ot,e:r.e,pointer:i,transform:o}),this.itemTypes.includes(ii))if(t.draggingOverTrack instanceof Lt){lt({isPointerOverHelperTrack:!1});const c=t.activeObjects[0].left,h=t.activeObjects[0].left+t.activeObjects[0].width;let l=!1;const u=t.draggingOverTrack.items;s.getObjects().filter(d=>u.includes(d.id)).forEach(d=>{(d.left<=c&&d.left+d.width>=c||d.left<=h&&d.left+d.width>=h||c<=d.left&&h>=d.left+d.width)&&(l=!0)}),t.draggingOverTrack.accepts.includes(ii)&&!l?(t.placeholderMovingObjects[0].left=t.activeObjects[0].left,t.placeholderMovingObjects[0].top=t.draggingOverTrack.top,s.getObjects("Helper").forEach(d=>{d.setSelected&&d.setSelected(!1)})):t.placeholderMovingObjects.forEach(d=>{d.opacity=0})}else t.draggingOverTrack instanceof oe&&(lt({isPointerOverHelperTrack:!0}),t.draggingOverTrack.setSelected(!0));s.requestRenderAll()}function rl(r){var n;ii="";const t=this;el(t);const e=Q(),s=e.draggingOverTrack;lt({draggingOverTrack:null,isPointerOverHelperTrack:!1});let i=null;for(const o of((n=r.e.dataTransfer)==null?void 0:n.types)||[])try{i=JSON.parse(o);break}catch{try{const a=r.e.dataTransfer.getData(o);if(a){i=JSON.parse(a);break}}catch{}}if(i){if(i.type!=="transition"){const o=e.activeObjects[0],a=P(o.left,t.tScale);if(s instanceof Lt)if(e.placeholderMovingObjects[0].opacity!==0){const h=Qn(s,this.getObjects("Track"));if(s.magnetic){const l=e.initialTrackPoints[e.initialTrackPoints.length-1],u=P(l,t.tScale)||0;xr(i,h,u)}else xr(i,h,a)}else{const h=t.getScenePoint(r.e),l=P(h.x,t.tScale),u=h.y,f=t.getObjects("Helper").reduce((p,m)=>Math.abs(m.top-u)<Math.abs(p.top-u)?m:p),g=Qn(f,this.getObjects("Track"));xr(i,g,l,!0)}else{const c=t.getScenePoint(r.e),h=P(c.x-16,t.tScale),l=Qn(s,this.getObjects("Track"));xr(i,l,h,!0)}this.remove(o),this.requestRenderAll();return}if(ot){if(si){const o=si.id,a=h0(i,["kind","direction"]);Object.keys(a).forEach(b=>{b==="kind"?si.kind=a[b]:si[b]=a[b]});const c=Ge(this.trackItemIds),h=Ge(this.transitionsMap),l=Ge(this.trackItemsMap);h[o]={...h[o],...a};const u=cy({trackItemIds:c,transitionsMap:h,trackItemsMap:l}),f=h[o].fromId,g=u.find(b=>b.find(T=>T.id===f))||[],p=my(g),m=vy(this.trackItemsMap,p);this.trackItemsMap=m,this.transitionsMap[o]={...this.transitionsMap[o],...a},this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ne.forEach(o=>{o.strokeDashArray=[],o.setSelected(!1)}),t.remove(ot),t.requestRenderAll(),tt.dispatch(Zn)}}}const my=r=>{var i;const[t]=r,e=r.filter(n=>n.type!=="transition");let s=((i=t==null?void 0:t.display)==null?void 0:i.from)||0;return e.map(n=>{const o=n.display.to-n.display.from,a={from:s,to:s+o};return s=a.to,{...n,display:a}})},vy=(r,t)=>{let e=r;return t.forEach(s=>{e[s.id]=s}),e},Qn=(r,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||!r)return 0;if(s.top+s.height<=r.top)return e.length;const i=r.top;return e.reduce((o,a,c)=>{const h=Math.abs(a.top-i),l=Math.abs(e[o].top-i);return h<l?c:o},0)},xr=(r,t,e,s)=>{r.type==="image"?tt.dispatch(uy,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):r.type==="video"?tt.dispatch(ly,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):r.type==="audio"?tt.dispatch(hy,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):r.type==="text"&&tt.dispatch(dy,{payload:{...r,id:ms(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function yy(r){r.on("dragover",il),r.on("dragenter",tl),r.on("dragleave",sl),r.on("drop",rl)}function by(r){r.off("dragover",il),r.off("dragenter",tl),r.off("dragleave",sl),r.off("drop",rl)}function nl(r){const t=this.height<this.bounding.height;if(!(this.width<this.bounding.width)&&!t)return;const s=this.viewportTransform;let i=s[4],n=s[5];const o=2;r.e.shiftKey?i=i-r.e.deltaY*o:(t&&(n=n-r.e.deltaY*o),i=i-r.e.deltaX*o),this.setViewportPos(i,n)}function ol(){const r=this,t=r.getActiveObject(),e=r.getActiveObjects(),s=e.map(n=>n.id),i=e.filter(n=>{if(e.length===1)return!0;if(n.id&&!(n instanceof Rt))return!0;if(n instanceof Rt&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof xt?(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),i.length===1&&String(t==null?void 0:t.id)!==String(i[0])?this.setActiveIds(i):i.length>=1&&this.setActiveIds(i)}function al(r){const t=this,e=t.getActiveObject();e instanceof xt&&(e.borderColor="transparent",e.hasControls=!1,e.hoverCursor="default"),r.selected.forEach(n=>{n.setSelected(!0)}),r.deselected.forEach(n=>{n.setSelected(!1)});const i=t.getActiveObjects().map(n=>n.id);this.setActiveIds(i)}function cl(r){r.deselected.forEach(t=>{t.setSelected(!1)})}const _y=r=>{r.on("selection:created",ol),r.on("selection:updated",al),r.on("selection:cleared",cl),r.on("mouse:wheel",nl)},Ty=r=>{r.off("mouse:wheel",nl),r.off("selection:created",ol),r.off("selection:updated",al),r.off("selection:cleared",cl)},hl=()=>{var n;const r=Q(),t=r.canvas,e=r.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,i=new Set(r.activeObjects.map(o=>o.id));if(s){const o=e.id,c=r.trackToItemsMap[o].sort((g,p)=>g.left-p.left),h=r.placeholderMovingObjects,l=((n=h[0])==null?void 0:n.top)||0,u=h.reduce((g,p)=>g+p.width,0),d=Math.min(...h.map(g=>g.left));let f=0;c.forEach(g=>{i.has(g.id)||g.top===l&&(Math.abs(d-f)<1&&(f+=u),g.left=f,f+=g.width)})}else if(e instanceof Lt&&r.orderNormalTrack){const o=e.items,a=t.getTrackItems().filter(p=>!i.has(p.id)&&o.includes(p.id)),c=a.sort((p,m)=>p.left-m.left),h=r.placeholderMovingObjects[0],l=r.placeholderMovingObjects[r.placeholderMovingObjects.length-1],u=h.left,d=l.left-h.left+l.width,f=c.find((p,m)=>{if(p.left>=u-1)return c[m]}),g=a.filter(p=>p.left>=u-1);if(h.left+d>(f==null?void 0:f.left)){const p=d-(f.left-h.left);g.forEach(m=>{const b=$(m.display.from,t.tScale);m.left=b+p})}}t.alignTransitionsToTrack(!1)};function Sy(r){r.on("object:moving",hl)}function wy(r){r.off("object:moving",hl)}let Xt,to=!1;function xy(r,t){const e=r.canvas;if(e.objectTypes.includes(r.type)){Xt||(Xt=r);const i=r.top,n=r.height,o=r.left,a=r.width,c=t.x,h=t.y,l=Math.abs(h-(i+n/2))<=ef;Math.abs(c-o)<=xc&&l||Math.abs(c-o-a)<=xc&&l?(e.hoverCornerItem=!0,r.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,r.hoverCursor="move"),e.requestRenderAll()}}function ll(r){const t=this,e=t.findTarget(r.e),s=t.getScenePoint(r.e);e&&(e.isSelected&&Xt&&(e.hoverCursor="default"),xy(e,s))}function ul(){Xt&&(Xt.lockMovementX=!1,Xt.lockMovementY=!1,Xt=void 0)}function dl(r){Xt&&(to||Xt._renderControls(r.ctx))}function fl(){Xt&&(Xt=void 0,this.requestRenderAll())}function gl(){to=!0}function pl(){to=!1}function Cy(r){r.on("mouse:out",fl.bind(r)),r.on("mouse:up",ul.bind(r)),r.on("mouse:move",ll.bind(r)),r.on("after:render",dl.bind(r)),r.on("object:resizing",gl.bind(r)),r.on("object:modified",pl.bind(r))}function Oy(r){r.off("mouse:out",fl.bind(r)),r.off("mouse:up",ul.bind(r)),r.off("mouse:move",ll.bind(r)),r.off("after:render",dl.bind(r)),r.off("object:resizing",gl.bind(r)),r.off("object:modified",pl.bind(r))}const ky=r=>{lt({canvas:r}),k0(r),g0(r),D0(r),L0(r),F0(r),ty(r),oy(r),yy(r),_y(r),Sy(r),Cy(r)},My=r=>{lt({canvas:null}),M0(r),p0(r),I0(r),R0(r),B0(r),ey(r),ay(r),by(r),Ty(r),wy(r),Oy(r)};class Dy{removeTransitions(){const t=this.getObjects("Transition");this.remove(...t)}renderTransitions(){this.removeTransitions(),this.transitionIds.forEach(t=>{var f;const e=this.transitionsMap[t],s=e.fromId,i=e.toId,n=this.getObjects(),o=n.find(g=>g.id===s),a=n.find(g=>g.id===i);if(!o||!a)return;const c=$(e.duration,this.tScale),h=o.left+o.width-c/2,l=this.getActiveObjects().some(g=>g.id===t)||((f=this.activeIds)==null?void 0:f.includes(t)),u=o.height,d=new Rt({id:e.id,left:h,top:o.top,height:u,width:c,tScale:this.tScale,duration:e.duration,fromId:o.id,toId:a.id,kind:e.kind});l&&d.setSelected(!0),d&&(this.add(d),l&&this.setActiveObject(d))})}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 i=this.getObjects("Transition").find(n=>n.id===s);if(i instanceof Rt){const n=this.getObjects().find(c=>c.id===i.fromId&&!e.includes(c.id));if(!n)return;const o=$(i.duration,this.tScale),a=n.left+n.width-o/2;i.set({left:a,top:n.top}),i.setCoords()}})}updateTransitions(t=!0){t&&this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects(...this.withTransitions);this.removeTransitions();const i={},n=[];e.forEach(a=>{const c=s.filter(h=>a.items.includes(h.id)).sort((h,l)=>h.left-l.left);for(let h=0;h<c.length-1;h++){const l=c[h],u=c[h+1];if(Math.abs(l.left+l.width-u.left)<=1){const d=`${l.id}-${u.id}`;if(this.transitionIds.includes(d)){const g=this.transitionsMap[d];i[d]=g}else{const g={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};i[d]=g}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=i,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),t&&this.resumeEventListeners()}}function ml(r){const{secondaryTracks:t,primaryTracks:e,primaryPositions:s}=r,{positions:i,trackIndex:n}=s,o=n===-1?this.tracks.length:n,a=Q(),[c]=Object.keys(e),h=this.tracks.find(T=>T.id===c),l=e[c],u=[];let d=!1;l.objects.forEach(T=>{if(T.type==="audio")if(d){u.push(T.id);const w=a.objectInitialPositions[T.id];w&&(T.set({top:w.top,left:w.left}),T.setCoords())}else d=!0});const f={id:ms(),items:l.objects.filter(T=>!u.includes(T.id)).map(T=>T.id),type:h.type,accepts:h.accepts,muted:h.muted||!1},g=zn(Object.keys(t).map(T=>t[T].objects.filter(w=>!u.includes(w.id)).map(w=>w.id)));let p=$s(this.tracks,[...Object.keys(i).filter(T=>!u.includes(T)),...g]);const m=[];Object.keys(t).forEach(T=>{const{objects:w,index:x}=t[T],O=this.tracks.find(M=>M.id===T),C=w.map(M=>M.id).filter(M=>!this.transitionIds.includes(M)&&!u.includes(M)),I={id:Us(),items:C,type:O.type,accepts:O.accepts,tempIndex:x,muted:O.muted||!1};m.push(I)});const b=Hh(f,m);b.length&&p.splice(o,0,...b),this.tracks=p,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),ri(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function ri(r){const t=r.tracks.find(e=>e.magnetic);if(t){const e=r.getTrackItems().filter(s=>t.items.includes(s.id));if(e.length>0){const s=Math.max(...e.map(n=>{const o=P(n.left,r.tScale),a=P(n.width*n.scaleX,r.tScale);return o+a}));Object.values(r.trackItemsMap).forEach(n=>{var o;if(n.type==="audio"){const a=n.duration||0,c=(o=n.metadata)==null?void 0:o.userLimitDuration,h=typeof c=="number"?c:a,l=n.display.from||0,u=Math.max(0,s-l),d=Math.min(u,h);n.display={from:l,to:l+d},n.trim&&(n.trim={from:n.trim.from||0,to:(n.trim.from||0)+d})}}),r.getTrackItems().filter(n=>n.type==="audio").forEach(n=>{var a,c;const o=r.trackItemsMap[n.id];if(o){n.display={from:o.display.from,to:o.display.to},n.trim&&(n.trim={from:((a=o.trim)==null?void 0:a.from)??0,to:((c=o.trim)==null?void 0:c.to)??o.display.to});const h=o.display.to-o.display.from,l=$(h,r.tScale);n.set({width:l,scaleX:1}),n.setCoords(),typeof n.onResize=="function"&&n.onResize()}})}}}function vl(r){const{isSecondaryOverlapped:t,secondaryTracks:e,primaryTracks:s,primaryPositions:i}=r,{trackId:n,positions:o}=i,a=this.tracks.find(C=>C.id===n),c=Q(),l=c.primaryMovingObjects.sort((C,I)=>C.left-I.left);l.forEach((C,I)=>{l[I-1]&&C.left-l[I-1].left});const u=this.tracks.findIndex(C=>C.id===n),d=Object.keys(o),f=this.tracks.find(C=>C.id===n),g=[];f&&f.items.find(I=>{const M=this.trackItemsMap[I];return M&&M.type==="audio"&&!d.includes(I)})&&d.forEach(I=>{const M=this.trackItemsMap[I];if(M&&M.type==="audio"){g.push(I);const j=c.objectInitialPositions[I],R=this.getTrackItems().find(V=>V.id===I);j&&R&&(R.set({top:j.top,left:j.left}),R.setCoords())}});const p={};d.forEach(C=>{g.includes(C)||(p[C]=o[C])});const m=Object.keys(p),b=zn(Object.keys(e).map(C=>e[C].objects.map(I=>I.id)));let T=$s(this.tracks,[...m,...b]);Object.keys(s).forEach(C=>{this.pauseEventListeners();const{objects:I}=s[C];I.forEach(R=>{if(R.isMain&&(a!=null&&a.magnetic)||g.includes(R.id))return;const V=p[R.id];V&&(R.left=V.left)}),this.resumeEventListeners();const M=i.trackId,j=T.find(R=>R.id===M);j==null||j.items.push(...m),this.tracks=T});const w=this.tracks[u],x=[];Object.keys(e).forEach(C=>{const{objects:I,index:M}=e[C],j=I.filter(X=>X.type!=="transition"&&!g.includes(X.id)).map(X=>X.id),[R]=j,V=this.trackItemsMap[R];if(t&&V){const X=this.getItemAccepts(V.type),z={id:Us(),items:j,type:V.type,accepts:X,tempIndex:M,muted:!1};x.push(z)}else{const X=T[u+M];X==null||X.items.push(...j),this.tracks=T}});const O=Hh(w,x);O.length&&T.splice(u,1,...O),this.tracks=T,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),ri(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function yl({trackItemIds:r,isOverlapped:t}){var a,c;const[e]=r;if(!e)return;const s=this.getObjects("Transition");if(!s.find(h=>h.id===e)){const h=this.tracks.find(l=>l.items.includes(e));if(t&&!h.magnetic){const l=$s(this.tracks,r),u={id:Us(),items:[e],type:h.type,accepts:h.accepts,muted:h.muted||!1},d=this.tracks.findIndex(f=>f.id===h.id);l.splice(d,0,u),this.tracks=l}}const n=s.filter(h=>h.fromId===e||h.toId===e);if(n){const h=this.getTrackItems().find(g=>g.id===e),l=h==null?void 0:h.width;n.forEach(g=>{if(g.width/2>l){this.transitionIds=this.transitionIds.filter(m=>m!==g.id);const p={};Object.keys(this.transitionsMap).forEach(m=>{m!==g.id&&(p[m]=this.transitionsMap[m])}),this.transitionsMap=p}});const u=((a=n[0])==null?void 0:a.width)||0,d=((c=n[1])==null?void 0:c.width)||0,f=n[1];if(l<=u/2+d/2){this.transitionIds=this.transitionIds.filter(p=>p!==(f==null?void 0:f.id));const g={};Object.keys(this.transitionsMap).forEach(p=>{p!==(f==null?void 0:f.id)&&(g[p]=this.transitionsMap[p])}),this.transitionsMap=g}}this.renderTracks(),this.alignItemsToTrack(),this.adjustMagneticTrack();const o=this.getTrackItems().find(h=>h.id===e);if(o&&o.type==="audio"){const h=this.trackItemsMap[e];if(h){const l=P(o.width*o.scaleX,this.tScale,h.playbackRate||1);h.metadata={...h.metadata,userLimitDuration:l}}}ri(this),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let eo={x:0,y:0};function Iy(r){eo=r.scenePoint}function bl(r){const t=r.scenePoint;if((eo.x===t.x||eo.y===t.y)&&!r.target){const s=this.getElement().getBoundingClientRect(),i=this.viewportTransform,n=r.e.clientX-s.left-i[4],o=P(n,this.scale.zoom);tt.dispatch(Qh,{payload:{time:o}})}}const jy=r=>{r.on("track:create",ml.bind(r)),r.on("track-items:resized",yl.bind(r)),r.on("track-items:moved",vl.bind(r)),r.on("mouse:up",bl.bind(r)),r.on("mouse:down",Iy.bind(r))};function Ey(r){r.off("track:create",ml.bind(r)),r.off("track-items:resized",yl.bind(r)),r.off("track-items:moved",vl.bind(r)),r.off("mouse:up",bl.bind(r))}function Py(r,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{s!=="constructor"&&Object.defineProperty(r.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),r}let _l,Tl,Sl,wl,xl,Cl,Ol,kl,Ml;const Ay=r=>{_l=r.state.subscribeToActiveIds(({activeIds:t})=>{const e=r.activeIds;if(t.length===1&&e.length===1){const s=t[0],i=e[0],o=r.state.getState().structure;let a="";if(o.forEach(c=>{c.id===i&&c.items.includes(s)&&(a=c.id)}),a!=="")return;r.selectTrackItemByIds([s])}else r.selectTrackItemByIds(t)}),Ml=r.state.subscribeToUpdateTracks(({tracks:t,duration:e,trackItemsMap:s})=>{r.tracks=t,r.duration=e,r.trackItemsMap=s,r.synchronizeTrackItemsState(),r.renderTracks(),r.refreshTrackLayout(),r.adjustMagneticTrack(),r.renderTransitions(),r.alignItemsToTrack(),r.alignTransitionsToTrack(),r.calcBounding()}),kl=r.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(r.tracks=t,r.renderTracks(),r.refreshTrackLayout())}),Ol=r.state.subscribeToUpdateAnimations(({trackItemsMap:t,changedAnimationIds:e})=>{if(e!=null&&e.length){const s=r.getTrackItems();r.trackItemsMap=t,s.forEach(i=>{if(e.includes(i.id)){const n=t[i.id].animations;n&&i.set({animations:n})}})}}),Cl=r.state.subscribeToUpdateTrackItemTiming(({trackItemsMap:t,changedTrimIds:e,changedDisplayIds:s})=>{if(e&&r.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 i=r.getTrackItems();r.pauseEventListeners(),i.forEach(n=>{if(s.includes(n.id)){const o=t[n.id].display;r.trackItemsMap[n.id].display=o,t[n.id].playbackRate!==r.trackItemsMap[n.id].playbackRate&&(r.trackItemsMap[n.id].playbackRate=t[n.id].playbackRate,n.playbackRate=t[n.id].playbackRate,n.onScale&&n.onScale()),o&&n.set({display:o})}}),r.resumeEventListeners()}(s||e)&&(r.updateTrackItemCoords(),r.adjustMagneticTrack(),r.updateTransitions(),r.alignItemsToTrack(),r.renderTracks(),r.calcBounding(),r.refreshTrackLayout(),r.setTrackItemCoords(),r.requestRenderAll())}),xl=r.state.subscribeToScale(t=>{r.setScale(t.scale)}),wl=r.state.subscribeToUpdateItemDetails(t=>{const e=r.getTrackItems();if(e.length===0)return;const s=r.state.getState(),i=t.trackItemsMap,n=s.trackItemsMap;r.trackItemsMap=i,e.forEach(o=>{var c,h;const a=i[o.id];if(a)if(o.hasSrc){const l=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),a.type==="video"||a.type==="audio"){const d=(((c=l.trim)==null?void 0:c.to)||0)-(((h=l.trim)==null?void 0:h.from)||0),f=$(d,r.scale.zoom,l.playbackRate);o.set({duration:l.duration,display:l.display,trim:l.trim,width:f}),o.setCoords()}}else(a.type==="text"||a.type==="caption")&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),r.requestRenderAll()}),Sl=r.state.subscribeToHistory(t=>{r.tracks=t.tracks,r.trackItemsMap=t.trackItemsMap,r.trackItemIds=t.trackItemIds,r.transitionIds=t.transitionIds,r.transitionsMap=t.transitionsMap,r.renderTracks(),r.refreshTrackLayout(),r.updateTrackItemCoords(),r.alignItemsToTrack(),r.alignTransitionsToTrack(),r.adjustMagneticTrack(),r.updateTransitions(),r.calcBounding(),r.duration=Ns(r.trackItemsMap,r.trackItemIds)}),Tl=r.state.subscribeToAddOrRemoveItems(()=>{const t=r.getTrackItems().map(n=>n.id),e=r.state.getState(),s=e.trackItemIds,i=[];t.forEach(n=>{s.includes(n)||i.push(n)}),r.deleteTrackItemById(i),r.tracks=e.tracks,r.trackItemsMap=e.trackItemsMap,r.transitionIds=e.transitionIds,r.transitionsMap=e.transitionsMap,s.forEach(n=>{if(!t.includes(n)){const a={...e.trackItemsMap[n]};r.addTrackItem(a)}}),r.trackItemIds=e.trackItemIds,r.activeIds=e.activeIds,ri(r),r.renderTracks(),r.alignItemsToTrack(),r.updateTrackItemCoords(),r.calcBounding(),r.updateTransitions(),r.refreshTrackLayout(),r.selectTrackItemByIds(e.activeIds),r.updateState({updateHistory:!1})})},Ly=r=>{_l.unsubscribe(),Tl.unsubscribe(),Sl.unsubscribe(),wl.unsubscribe(),xl.unsubscribe(),Cl.unsubscribe(),Ol.unsubscribe(),kl.unsubscribe(),Ml.unsubscribe()},Dl=(r,t)=>{let e=!1;const s=[];return t.forEach(i=>{i.containsPoint(r)&&(s.push(i),e=!0)}),{isOverObject:e,overObjects:s}};function Ry(r){return JSON.parse(JSON.stringify(r))}class Fy{constructor(t,e={}){S(this,"canvas");S(this,"fill","rgba(0,0,0,.3)");S(this,"stroke","rgba(255,255,255,.3)");S(this,"lineWidth",1);S(this,"hideX",!1);S(this,"hideY",!1);S(this,"scrollbarMinWidth",40);S(this,"scrollbarSize",5);S(this,"scrollSpace",0);S(this,"padding",4);S(this,"extraMarginX",200);S(this,"extraMarginY",200);S(this,"offsetX",0);S(this,"offsetY",0);S(this,"scrollbarWidth",5);S(this,"scrollbarColor","rgba(0,0,0,.3)");S(this,"onViewportChange");S(this,"_bar");S(this,"_barViewport",{left:1,right:-1,top:1,bottom:-1,sx:1,sy:1});S(this,"_originalMouseDown");S(this,"_originalMouseMove");S(this,"_originalMouseUp");this.canvas=t,Object.assign(this,e),e.scrollbarWidth!==void 0&&(this.scrollbarSize=e.scrollbarWidth),e.scrollbarColor!==void 0&&(this.fill=e.scrollbarColor),this._originalMouseDown=this.canvas.__onMouseDown,this._originalMouseMove=this.canvas._onMouseMove,this._originalMouseUp=this.canvas._onMouseUp,this.canvas.__onMouseDown=this.mouseDownHandler.bind(this),this.canvas._onMouseMove=this.mouseMoveHandler.bind(this),this.canvas._onMouseUp=this.mouseUpHandler.bind(this),this.beforeRenderHandler=this.beforeRenderHandler.bind(this),this.afterRenderHandler=this.afterRenderHandler.bind(this),this.initBehavior()}initBehavior(){this.canvas.on("before:render",this.beforeRenderHandler),this.canvas.on("after:render",this.afterRenderHandler)}getScrollbar(t){const e=this.canvas.getViewportPoint(t),s=this.canvas.viewportTransform.slice(0);if(!this.hideX&&e.x>this._barViewport.left&&e.x<this._barViewport.right&&e.y>this.canvas.height-this.scrollbarSize-this.scrollSpace-this.padding&&e.y<this.canvas.height-this.scrollSpace+this.padding)return{type:"x",start:e.x,vpt:s};if(!this.hideY&&e.y>this._barViewport.top&&e.y<this._barViewport.bottom&&e.x>this.canvas.width-this.scrollbarSize-this.scrollSpace-this.padding&&e.x<this.canvas.width-this.scrollSpace+this.padding)return{type:"y",start:e.y,vpt:s}}mouseDownHandler(t){if(this._bar=this.getScrollbar(t),!this._bar)return ue.prototype.__onMouseDown.call(this.canvas,t)}mouseMoveHandler(t){if(!this._bar)return ue.prototype._onMouseMove.call(this.canvas,t);const e=this.canvas.getViewportPoint(t),s=this._bar.type=="x"?this._barViewport.sx:this._barViewport.sy,i=this._bar.type=="x"?4:5,n=this._bar.type=="x"?e.x:e.y,o=this._bar.vpt.slice(0);o[i]-=(n-this._bar.start)*s,this.applyViewportLimits(o),this.canvas.setViewportTransform(o),this.canvas.requestRenderAll()}mouseUpHandler(t){this._bar||ue.prototype._onMouseUp.call(this.canvas,t),delete this._bar}beforeRenderHandler(){const t=this.canvas.contextTop;t.save(),t.setTransform(1,0,0,1,0,0),t.restore()}afterRenderHandler(){const{tl:t,br:e}=this.canvas.vptCoords,s={left:t.x,top:t.y,right:e.x,bottom:e.y},i=this.getObjectsBoundingRect(),n={left:Math.min(i.left,-this.offsetX),top:Math.min(i.top,-this.offsetY),right:i.right+this.extraMarginX,bottom:i.bottom+this.extraMarginY};n.left>s.left&&(n.left=s.left),n.top>s.top&&(n.top=s.top),n.bottom<s.bottom&&(n.bottom=s.bottom),n.right<s.right&&(n.right=s.right);const o=this.canvas.bounding;if(this.hideX=o.width<=this.canvas.width,this.hideY=o.height<=this.canvas.height,this.render(this.canvas.contextTop,s,n),this.onViewportChange){const a=t.x;this.onViewportChange(a)}}render(t,e,s){t.clearRect(0,this.canvas.height-this.scrollbarSize-this.scrollSpace-this.lineWidth,this.canvas.width,this.scrollbarSize+this.scrollSpace+this.lineWidth),t.clearRect(this.canvas.width-this.scrollbarSize-this.scrollSpace-this.lineWidth,0,this.scrollbarSize+this.scrollSpace+this.lineWidth,this.canvas.height),t.save(),t.fillStyle=this.fill,t.strokeStyle=this.stroke,t.lineWidth=this.lineWidth,this.hideX||this.drawScrollbarX(t,e,s),this.hideY||this.drawScrollbarY(t,e,s),t.restore()}drawScrollbarX(t,e,s){const i=e.right-e.left,n=s.right-s.left;if(i==n){this._barViewport.left=1,this._barViewport.right=-1,this._barViewport.sx=1;return}const o=Math.min(i/n,1),a=this.canvas.width-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.left-s.left)/(n-i)*(a-c),l=this.scrollSpace+h,u=this.canvas.height-this.scrollbarSize-this.scrollSpace;this._barViewport.left=l,this._barViewport.right=l+c,this._barViewport.sx=n/i,this.drawRect(t,{x:l,y:u,w:c,h:this.scrollbarSize})}drawScrollbarY(t,e,s){const i=e.bottom-e.top,n=s.bottom-s.top;if(i==n){this._barViewport.top=1,this._barViewport.bottom=-1,this._barViewport.sy=1;return}const o=Math.min(i/n,1),a=this.canvas.height-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.top-s.top)/(n-i)*(a-c),l=this.canvas.width-this.scrollbarSize-this.scrollSpace,u=this.scrollSpace+h;this._barViewport.top=u,this._barViewport.bottom=u+c,this._barViewport.sy=n/i,this.drawRect(t,{x:l,y:u,w:this.scrollbarSize,h:c})}drawRect(t,e){const{x:s,y:i,w:n,h:o}=e,a=Math.min(n,o)/2;t.beginPath(),t.moveTo(s+a,i),t.lineTo(s+n-a,i),t.arcTo(s+n,i,s+n,i+a,a),t.lineTo(s+n,i+o-a),t.arcTo(s+n,i+o,s+n-a,i+o,a),t.lineTo(s+a,i+o),t.arcTo(s,i+o,s,i+o-a,a),t.lineTo(s,i+a),t.arcTo(s,i,s+a,i,a),t.closePath(),t.fill(),t.stroke()}getObjectsBoundingRect(){const t=this.canvas.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:i,height:n}=Li.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+i,bottom:s+n}}applyViewportLimits(t){const e=t[0],s=this.getObjectsBoundingRect(),i=Math.min(s.left,-this.offsetX),n=Math.min(s.top,-this.offsetY),o=s.right+this.extraMarginX,a=s.bottom+this.extraMarginY,c=o-i,h=a-n,l=this.canvas.width/e,u=this.canvas.height/e;if(c<=l)t[4]=-i*e;else{const d=this.offsetX*e;t[4]>d&&(t[4]=d);const f=-((s.right+this.extraMarginX)*e-this.canvas.width);f<0&&t[4]<f&&(t[4]=f)}if(h<=u)t[5]=-n*e;else{const d=this.offsetY*e;t[5]>d&&(t[5]=d);const f=-((s.bottom+this.extraMarginY)*e-this.canvas.height);f<0&&t[5]<f&&(t[5]=f)}}dispose(){this._originalMouseDown&&(this.canvas.__onMouseDown=this._originalMouseDown),this._originalMouseMove&&(this.canvas._onMouseMove=this._originalMouseMove),this._originalMouseUp&&(this.canvas._onMouseUp=this._originalMouseUp),this.canvas.off("before:render",this.beforeRenderHandler),this.canvas.off("after:render",this.afterRenderHandler)}}const By=r=>{const t=r.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:i,height:n}=Li.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+i,bottom:s+n}},Xy=(r,t,e=0,s=0,i=200,n=200)=>{const o=t[0],a=By(r),c=Math.min(a.left,-e),h=Math.min(a.top,-s),l=a.right+i,u=a.bottom+n,d=l-c,f=u-h,g=r.width/o,p=r.height/o;if(d<=g)t[4]=-c*o;else{const m=e*o;t[4]>m&&(t[4]=m);const b=-((a.right+i)*o-r.width);b<0&&t[4]<b&&(t[4]=b)}if(f<=p)t[5]=-h*o;else{const m=s*o;t[5]>m&&(t[5]=m);const b=-((a.bottom+n)*o-r.height);b<0&&t[5]<b&&(t[5]=b)}return t},Wy=(r,t={})=>e=>{const s=e.e;s.target==r.upperCanvasEl&&s.preventDefault();const i=Math.floor(s.deltaY)!=Math.ceil(s.deltaY);if(s.ctrlKey||s.metaKey){const a=i?.99:.998;let c=r.getZoom();c*=a**s.deltaY,t.max!=null&&c>t.max&&(c=t.max),t.min!=null&&c<t.min&&(c=t.min),r.zoomToPoint(e.viewportPoint,c),r.requestRenderAll();return}const n=r.viewportTransform.slice(0);s.shiftKey?n[4]-=s.deltaY:(n[4]-=s.deltaX,n[5]-=s.deltaY);const o=Xy(r,n,t.offsetX??0,t.offsetY??0,t.extraMarginX??200,t.extraMarginY??200);r.setViewportTransform(o),r.requestRenderAll()},oi=class oi extends vn{constructor(e,s){var i;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,"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",[]);S(this,"_mouseWheelHandler");S(this,"_scrollbars");S(this,"_viewportChangeCallback");this.bounding=s.bounding||{width:s.width||0,height:s.height||0},this.tScale=((i=s.scale)==null?void 0:i.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=oi.objectTypes,this.spacing=E0(s.spacing),this.itemTypes=s.itemTypes||[],this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||ze,this.initEventListeners(),this.withTransitions=s.withTransitions||[]}static registerItems(e){Object.keys(e).forEach(s=>{k.setClass(e[s],s)}),oi.objectTypes=Object.keys(e).filter(s=>!$d.includes(s))}initScrollbars(e={}){const s={offsetX:e.offsetX??0,offsetY:e.offsetY??0,extraMarginX:e.extraMarginX??200,extraMarginY:e.extraMarginY??200,scrollbarWidth:e.scrollbarWidth,scrollbarColor:e.scrollbarColor,onViewportChange:o=>{this._viewportChangeCallback&&this._viewportChangeCallback(o)},scrollSpace:e.scrollSpace??0};this._mouseWheelHandler=Wy(this,s),this.on("mouse:wheel",this._mouseWheelHandler),this._scrollbars=new Fy(this,s);const i=e.offsetX??0,n=e.offsetY??0;if(i!==0||n!==0){const o=this.viewportTransform.slice(0);o[4]=i,o[5]=n,this.setViewportTransform(o),this.requestRenderAll()}}onViewportChange(e){this._viewportChangeCallback=e}disposeScrollbars(){this._mouseWheelHandler&&(this.off("mouse:wheel",this._mouseWheelHandler),this._mouseWheelHandler=void 0),this._scrollbars&&(this._scrollbars.dispose(),this._scrollbars=void 0)}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(ht.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),i=this._activeObject,n=this.getActiveObjects();if(n.length===0){super.__onMouseDown(e);return}const{isOverObject:o}=Dl(s,n);if(i&&(i==null?void 0:i.findControl(this.getViewportPoint(e),A0(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Dl(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,i){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,i)}initEventListeners(){jy(this),ky(this),Ay(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:Ry(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),ri(this),this.requestRenderAll(),this.duration=Ns(this.trackItemsMap,this.trackItemIds),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=Ns(this.trackItemsMap,this.trackItemIds);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]),i=s.left+s.width;return P(i,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=Ns(this.trackItemsMap,this.trackItemIds);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}purge(){My(this),Ey(this),Ly(),this.disposeScrollbars(),this.dispose()}scrollTo({scrollLeft:e,scrollTop:s}){var o;const i=[...this.viewportTransform];let n=!1;typeof e=="number"&&(i[4]=-e+this.spacing.left,n=!0),typeof s=="number"&&(i[5]=-s,n=!0),n&&(this.viewportTransform=i,(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}),i=[...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=i.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,...i},tt.dispatch(Jh,{payload:{bounding:{...s,...i}}})}setViewportPos(e,s){var o;const i=this.getViewportPos(e,s),n=this.viewportTransform;n[4]=i.x,n[5]=i.y,this.requestRenderAll(),this.setActiveTrackItemCoords(),(o=this.onScroll)==null||o.call(this,{scrollTop:i.y,scrollLeft:i.x-this.spacing.left})}getViewportPos(e,s){const i=this,n=this.bounding.width-100>=i.width?this.spacing.right:0,o=i.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=i.height-this.bounding.height-40,u=Math.max(h,Math.min(s,0));return{x:c,y:u}}setScale(e){this.pauseEventListeners();const i=-(this.viewportTransform[4]-this.spacing.left),n=P(i,this.tScale);this.tScale=e.zoom,this.scale=e,this.getTrackItems().forEach(l=>{const u=$(l.display.from,this.tScale),d=$(l.display.to-l.display.from,this.tScale,l.playbackRate);l.set({left:u,width:d,tScale:e.zoom}),l.onScale&&l.onScale(),l.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1);const a=$(n,this.tScale),c=this.viewportTransform.slice(0);c[4]=-a+this.spacing.left;const h=this.getViewportPos(c[4],c[5]);c[4]=h.x,c[5]=h.y,this.setViewportTransform(c),this.requestRenderAll(),this.resumeEventListeners()}};S(oi,"objectTypes",[]);let ue=oi;Py(ue,[Tf,f0,d0,Dy]);const zy={audio:kn,media:In,common:hr,transition:Mn};D.BOTTOM=Qd,D.CENTER=we,D.Control=U,D.DRAG_END=Zn,D.DRAG_PREFIX=Kn,D.DRAG_START=Zh,D.FabricObject=ht,D.Helper=oe,D.LEFT=fs,D.NONE=tf,D.Pattern=Bi,D.Placeholder=ds,D.PreviewTrackItem=ae,D.RIGHT=gs,D.Rect=it,D.Resizable=lr,D.TIMELINE_BOUNDING_CHANGED=Jh,D.TIMELINE_PREFIX=Jn,D.TIMELINE_SEEK=Qh,D.TOP=Jd,D.Track=Lt,D.Transition=Rt,D.Trimmable=$t,D.calculateTimelineWidth=rf,D.changeWidth=hr,D.classRegistry=k,D.controlsUtils=Xe,D.createAudioControls=mf,D.createMediaControls=Mc,D.createResizeControls=kc,D.createTemplateControls=pf,D.createTransitionControls=Dn,D.default=ue,D.drawVerticalLine=At,D.generateId=ms,D.getDuration=Ns,D.isTransformCentered=ps,D.resize=zy,D.resolveOrigin=L,D.timeMsToUnits=$,D.unitsToTimeMs=P,D.util=Li,D.wrapWithFixedAnchor=Gs,Object.defineProperties(D,{__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": "9.0.
|
|
3
|
+
"version": "9.0.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -18,14 +18,20 @@
|
|
|
18
18
|
"types": "./dist/index.d.ts"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
|
+
"scripts": {
|
|
22
|
+
"dev": "vite",
|
|
23
|
+
"build": "tsc && vite build",
|
|
24
|
+
"lint": "eslint . --max-warnings 0",
|
|
25
|
+
"format": "prettier --write ."
|
|
26
|
+
},
|
|
21
27
|
"devDependencies": {
|
|
28
|
+
"@cliquify.me/typescript-config": "workspace:*",
|
|
22
29
|
"@types/lodash-es": "^4.17.12",
|
|
23
30
|
"@types/node": "^20.11.24",
|
|
24
31
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
25
32
|
"typescript": "5.4.5",
|
|
26
33
|
"vite": "^5.2.0",
|
|
27
|
-
"vite-plugin-dts": "^3.9.1"
|
|
28
|
-
"@cliquify.me/typescript-config": "1.0.2"
|
|
34
|
+
"vite-plugin-dts": "^3.9.1"
|
|
29
35
|
},
|
|
30
36
|
"dependencies": {
|
|
31
37
|
"fabric": "^6.3.0",
|
|
@@ -37,12 +43,6 @@
|
|
|
37
43
|
"peerDependencies": {
|
|
38
44
|
"@types/lodash-es": "^4.17.12",
|
|
39
45
|
"@designcombo/events": "^1.0.2",
|
|
40
|
-
"@cliquify.me/types": "
|
|
41
|
-
},
|
|
42
|
-
"scripts": {
|
|
43
|
-
"dev": "vite",
|
|
44
|
-
"build": "tsc && vite build",
|
|
45
|
-
"lint": "eslint . --max-warnings 0",
|
|
46
|
-
"format": "prettier --write ."
|
|
46
|
+
"@cliquify.me/types": "workspace:*"
|
|
47
47
|
}
|
|
48
|
-
}
|
|
48
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
DESIGNCOMBO COMMERCIAL LICENSE
|
|
2
|
-
Copyright (c) 2024 Layerhub LLC
|
|
3
|
-
|
|
4
|
-
This is a commercial license agreement between Layerhub LLC ("Licensor") and the purchaser ("Licensee") of the DesignCombo software package.
|
|
5
|
-
|
|
6
|
-
1. GRANT OF LICENSE
|
|
7
|
-
Subject to the terms and conditions of this Agreement, Licensor grants Licensee a non-exclusive, non-transferable license to:
|
|
8
|
-
a) Use the DesignCombo software package for commercial and non-commercial purposes
|
|
9
|
-
b) Modify the source code to suit Licensee's specific needs
|
|
10
|
-
c) Deploy the modified version in production environments
|
|
11
|
-
|
|
12
|
-
2. SUBSCRIPTION TERMS
|
|
13
|
-
a) The license is granted for a specified subscription period (e.g., 12 months)
|
|
14
|
-
b) During the subscription period, Licensee will receive:
|
|
15
|
-
- Access to the source code
|
|
16
|
-
- Regular updates and improvements
|
|
17
|
-
- Technical support
|
|
18
|
-
c) After the subscription period ends:
|
|
19
|
-
- Licensee may continue using the last version received during the subscription
|
|
20
|
-
- Licensee may continue using any modifications made to that version
|
|
21
|
-
- Licensee will no longer receive updates or technical support
|
|
22
|
-
- Licensee may renew the subscription to receive updates and support
|
|
23
|
-
|
|
24
|
-
3. RESTRICTIONS
|
|
25
|
-
Licensee may not:
|
|
26
|
-
a) Redistribute, resell, or sublicense the original or modified software
|
|
27
|
-
b) Remove or alter any copyright notices or proprietary markings
|
|
28
|
-
c) Use the software to create a competing product
|
|
29
|
-
d) Transfer the license to another party
|
|
30
|
-
|
|
31
|
-
4. INTELLECTUAL PROPERTY
|
|
32
|
-
The original DesignCombo software and all its components remain the exclusive property of Layerhub.
|
|
33
|
-
Licensee retains rights to their specific modifications, but not to the underlying software.
|
|
34
|
-
|
|
35
|
-
5. WARRANTY
|
|
36
|
-
The software is provided "as is" without warranty of any kind. Layerhub is not liable for any damages arising from the use of the software.
|
|
37
|
-
|
|
38
|
-
6. TERMINATION
|
|
39
|
-
This license is effective until terminated. Layerhub may terminate this license if Licensee fails to comply with any of its terms and conditions.
|
|
40
|
-
|
|
41
|
-
7. GOVERNING LAW
|
|
42
|
-
This Agreement shall be governed by and construed in accordance with the laws of the jurisdiction in which Layerhub LLC is established.
|
|
43
|
-
|
|
44
|
-
For licensing inquiries, please contact Layerhub LLC at [contact information].
|
|
45
|
-
|
|
46
|
-
Version 1.1 - Effective Date: March 19, 2024
|