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