@cliquify.me/state 3.1.8 → 3.1.9
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/constants/design.d.ts +4 -0
- package/dist/events.d.ts +58 -0
- package/dist/handle-events.d.ts +6 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +3911 -0
- package/dist/index.umd.js +3 -0
- package/dist/state.d.ts +101 -0
- package/dist/utils/clone-deep.d.ts +1 -0
- package/dist/utils/duration.d.ts +3 -0
- package/dist/utils/find-track.d.ts +6 -0
- package/dist/utils/fonts.d.ts +4 -0
- package/dist/utils/generate-id.d.ts +1 -0
- package/dist/utils/group-items.d.ts +8 -0
- package/dist/utils/load-item.d.ts +339 -0
- package/dist/utils/math.d.ts +8 -0
- package/dist/utils/media.d.ts +20 -0
- package/dist/utils/replace-item.d.ts +22 -0
- package/dist/utils/track.d.ts +3 -0
- package/package.json +3 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(function(b,V){typeof exports=="object"&&typeof module<"u"?V(exports,require("@designcombo/events")):typeof define=="function"&&define.amd?define(["exports","@designcombo/events"],V):(b=typeof globalThis<"u"?globalThis:b||self,V(b.events={},b.events))})(this,function(b,V){"use strict";var Ns=Object.defineProperty;var js=(b,V,Kt)=>V in b?Ns(b,V,{enumerable:!0,configurable:!0,writable:!0,value:Kt}):b[V]=Kt;var ye=(b,V,Kt)=>js(b,typeof V!="symbol"?V+"":V,Kt);var Kt=function(t,r){return Kt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},Kt(t,r)};function we(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");Kt(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}function kr(t){var r=typeof Symbol=="function"&&Symbol.iterator,n=r&&t[r],i=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tr(t,r){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var i=n.call(t),s,c=[],f;try{for(;(r===void 0||r-- >0)&&!(s=i.next()).done;)c.push(s.value)}catch(p){f={error:p}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(f)throw f.error}}return c}function wr(t,r,n){if(n||arguments.length===2)for(var i=0,s=r.length,c;i<s;i++)(c||!(i in r))&&(c||(c=Array.prototype.slice.call(r,0,i)),c[i]=r[i]);return t.concat(c||Array.prototype.slice.call(r))}typeof SuppressedError=="function"&&SuppressedError;function Ut(t){return typeof t=="function"}function Ln(t){var r=function(i){Error.call(i),i.stack=new Error().stack},n=t(r);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Mr=Ln(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription:
|
|
2
|
+
`+n.map(function(i,s){return s+1+") "+i.toString()}).join(`
|
|
3
|
+
`):"",this.name="UnsubscriptionError",this.errors=n}});function Ar(t,r){if(t){var n=t.indexOf(r);0<=n&&t.splice(n,1)}}var Ze=function(){function t(r){this.initialTeardown=r,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var r,n,i,s,c;if(!this.closed){this.closed=!0;var f=this._parentage;if(f)if(this._parentage=null,Array.isArray(f))try{for(var p=kr(f),k=p.next();!k.done;k=p.next()){var D=k.value;D.remove(this)}}catch(u){r={error:u}}finally{try{k&&!k.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}else f.remove(this);var E=this.initialTeardown;if(Ut(E))try{E()}catch(u){c=u instanceof Mr?u.errors:[u]}var w=this._finalizers;if(w){this._finalizers=null;try{for(var y=kr(w),M=y.next();!M.done;M=y.next()){var x=M.value;try{jn(x)}catch(u){c=c??[],u instanceof Mr?c=wr(wr([],Tr(c)),Tr(u.errors)):c.push(u)}}}catch(u){i={error:u}}finally{try{M&&!M.done&&(s=y.return)&&s.call(y)}finally{if(i)throw i.error}}}if(c)throw new Mr(c)}},t.prototype.add=function(r){var n;if(r&&r!==this)if(this.closed)jn(r);else{if(r instanceof t){if(r.closed||r._hasParent(this))return;r._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(r)}},t.prototype._hasParent=function(r){var n=this._parentage;return n===r||Array.isArray(n)&&n.includes(r)},t.prototype._addParent=function(r){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(r),n):n?[n,r]:r},t.prototype._removeParent=function(r){var n=this._parentage;n===r?this._parentage=null:Array.isArray(n)&&Ar(n,r)},t.prototype.remove=function(r){var n=this._finalizers;n&&Ar(n,r),r instanceof t&&r._removeParent(this)},t.EMPTY=function(){var r=new t;return r.closed=!0,r}(),t}(),Fn=Ze.EMPTY;function Nn(t){return t instanceof Ze||t&&"closed"in t&&Ut(t.remove)&&Ut(t.add)&&Ut(t.unsubscribe)}function jn(t){Ut(t)?t():t.unsubscribe()}var Hn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},zn={setTimeout:function(t,r){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return setTimeout.apply(void 0,wr([t,r],Tr(n)))},clearTimeout:function(t){var r=zn.delegate;return((r==null?void 0:r.clearTimeout)||clearTimeout)(t)},delegate:void 0};function Vi(t){zn.setTimeout(function(){throw t})}function $n(){}function qe(t){t()}var Un=function(t){we(r,t);function r(n){var i=t.call(this)||this;return i.isStopped=!1,n?(i.destination=n,Nn(n)&&n.add(i)):i.destination=Qi,i}return r.create=function(n,i,s){return new Or(n,i,s)},r.prototype.next=function(n){this.isStopped||this._next(n)},r.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},r.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},r.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},r.prototype._next=function(n){this.destination.next(n)},r.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},r.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},r}(Ze),Ji=Function.prototype.bind;function Dr(t,r){return Ji.call(t,r)}var Zi=function(){function t(r){this.partialObserver=r}return t.prototype.next=function(r){var n=this.partialObserver;if(n.next)try{n.next(r)}catch(i){Qe(i)}},t.prototype.error=function(r){var n=this.partialObserver;if(n.error)try{n.error(r)}catch(i){Qe(i)}else Qe(r)},t.prototype.complete=function(){var r=this.partialObserver;if(r.complete)try{r.complete()}catch(n){Qe(n)}},t}(),Or=function(t){we(r,t);function r(n,i,s){var c=t.call(this)||this,f;if(Ut(n)||!n)f={next:n??void 0,error:i??void 0,complete:s??void 0};else{var p;c&&Hn.useDeprecatedNextContext?(p=Object.create(n),p.unsubscribe=function(){return c.unsubscribe()},f={next:n.next&&Dr(n.next,p),error:n.error&&Dr(n.error,p),complete:n.complete&&Dr(n.complete,p)}):f=n}return c.destination=new Zi(f),c}return r}(Un);function Qe(t){Vi(t)}function qi(t){throw t}var Qi={closed:!0,next:$n,error:qi,complete:$n},ta=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function ea(t){return t}function ra(t){return t.length===0?ea:t.length===1?t[0]:function(n){return t.reduce(function(i,s){return s(i)},n)}}var Yn=function(){function t(r){r&&(this._subscribe=r)}return t.prototype.lift=function(r){var n=new t;return n.source=this,n.operator=r,n},t.prototype.subscribe=function(r,n,i){var s=this,c=ia(r)?r:new Or(r,n,i);return qe(function(){var f=s,p=f.operator,k=f.source;c.add(p?p.call(c,k):k?s._subscribe(c):s._trySubscribe(c))}),c},t.prototype._trySubscribe=function(r){try{return this._subscribe(r)}catch(n){r.error(n)}},t.prototype.forEach=function(r,n){var i=this;return n=Gn(n),new n(function(s,c){var f=new Or({next:function(p){try{r(p)}catch(k){c(k),f.unsubscribe()}},error:c,complete:s});i.subscribe(f)})},t.prototype._subscribe=function(r){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(r)},t.prototype[ta]=function(){return this},t.prototype.pipe=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return ra(r)(this)},t.prototype.toPromise=function(r){var n=this;return r=Gn(r),new r(function(i,s){var c;n.subscribe(function(f){return c=f},function(f){return s(f)},function(){return i(c)})})},t.create=function(r){return new t(r)},t}();function Gn(t){var r;return(r=t??Hn.Promise)!==null&&r!==void 0?r:Promise}function na(t){return t&&Ut(t.next)&&Ut(t.error)&&Ut(t.complete)}function ia(t){return t&&t instanceof Un||na(t)&&Nn(t)}var aa=Ln(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Wn=function(t){we(r,t);function r(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return r.prototype.lift=function(n){var i=new Xn(this,this);return i.operator=n,i},r.prototype._throwIfClosed=function(){if(this.closed)throw new aa},r.prototype.next=function(n){var i=this;qe(function(){var s,c;if(i._throwIfClosed(),!i.isStopped){i.currentObservers||(i.currentObservers=Array.from(i.observers));try{for(var f=kr(i.currentObservers),p=f.next();!p.done;p=f.next()){var k=p.value;k.next(n)}}catch(D){s={error:D}}finally{try{p&&!p.done&&(c=f.return)&&c.call(f)}finally{if(s)throw s.error}}}})},r.prototype.error=function(n){var i=this;qe(function(){if(i._throwIfClosed(),!i.isStopped){i.hasError=i.isStopped=!0,i.thrownError=n;for(var s=i.observers;s.length;)s.shift().error(n)}})},r.prototype.complete=function(){var n=this;qe(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var i=n.observers;i.length;)i.shift().complete()}})},r.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(r.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),r.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},r.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},r.prototype._innerSubscribe=function(n){var i=this,s=this,c=s.hasError,f=s.isStopped,p=s.observers;return c||f?Fn:(this.currentObservers=null,p.push(n),new Ze(function(){i.currentObservers=null,Ar(p,n)}))},r.prototype._checkFinalizedStatuses=function(n){var i=this,s=i.hasError,c=i.thrownError,f=i.isStopped;s?n.error(c):f&&n.complete()},r.prototype.asObservable=function(){var n=new Yn;return n.source=this,n},r.create=function(n,i){return new Xn(n,i)},r}(Yn),Xn=function(t){we(r,t);function r(n,i){var s=t.call(this)||this;return s.destination=n,s.source=i,s}return r.prototype.next=function(n){var i,s;(s=(i=this.destination)===null||i===void 0?void 0:i.next)===null||s===void 0||s.call(i,n)},r.prototype.error=function(n){var i,s;(s=(i=this.destination)===null||i===void 0?void 0:i.error)===null||s===void 0||s.call(i,n)},r.prototype.complete=function(){var n,i;(i=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||i===void 0||i.call(n)},r.prototype._subscribe=function(n){var i,s;return(s=(i=this.source)===null||i===void 0?void 0:i.subscribe(n))!==null&&s!==void 0?s:Fn},r}(Wn),Bn=function(t){we(r,t);function r(n){var i=t.call(this)||this;return i._value=n,i}return Object.defineProperty(r.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),r.prototype._subscribe=function(n){var i=t.prototype._subscribe.call(this,n);return!i.closed&&n.next(this._value),i},r.prototype.getValue=function(){var n=this,i=n.hasError,s=n.thrownError,c=n._value;if(i)throw s;return this._throwIfClosed(),c},r.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},r}(Wn),At=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Pr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var tr={exports:{}};tr.exports,function(t,r){var n=200,i="__lodash_hash_undefined__",s=1,c=2,f=9007199254740991,p="[object Arguments]",k="[object Array]",D="[object AsyncFunction]",E="[object Boolean]",w="[object Date]",y="[object Error]",M="[object Function]",x="[object GeneratorFunction]",u="[object Map]",d="[object Number]",g="[object Null]",_="[object Object]",v="[object Promise]",h="[object Proxy]",S="[object RegExp]",I="[object Set]",m="[object String]",R="[object Symbol]",C="[object Undefined]",A="[object WeakMap]",N="[object ArrayBuffer]",z="[object DataView]",U="[object Float32Array]",P="[object Float64Array]",F="[object Int8Array]",J="[object Int16Array]",Dt="[object Int32Array]",Ft="[object Uint8Array]",Nt="[object Uint8ClampedArray]",Y="[object Uint16Array]",Zt="[object Uint32Array]",ht=/[\\^$.*+?()[\]{}|]/g,mt=/^\[object .+?Constructor\]$/,Yt=/^(?:0|[1-9]\d*)$/,T={};T[U]=T[P]=T[F]=T[J]=T[Dt]=T[Ft]=T[Nt]=T[Y]=T[Zt]=!0,T[p]=T[k]=T[N]=T[E]=T[z]=T[w]=T[y]=T[M]=T[u]=T[d]=T[_]=T[S]=T[I]=T[m]=T[A]=!1;var et=typeof At=="object"&&At&&At.Object===Object&&At,Ot=typeof self=="object"&&self&&self.Object===Object&&self,rt=et||Ot||Function("return this")(),kt=r&&!r.nodeType&&r,yt=kt&&!0&&t&&!t.nodeType&&t,Z=yt&&yt.exports===kt,Tt=Z&&et.process,Rt=function(){try{return Tt&&Tt.binding&&Tt.binding("util")}catch{}}(),It=Rt&&Rt.isTypedArray;function L(e,a){for(var o=-1,l=e==null?0:e.length,j=0,O=[];++o<l;){var W=e[o];a(W,o,e)&&(O[j++]=W)}return O}function H(e,a){for(var o=-1,l=a.length,j=e.length;++o<l;)e[j+o]=a[o];return e}function $(e,a){for(var o=-1,l=e==null?0:e.length;++o<l;)if(a(e[o],o,e))return!0;return!1}function Pt(e,a){for(var o=-1,l=Array(e);++o<e;)l[o]=a(o);return l}function wt(e){return function(a){return e(a)}}function nt(e,a){return e.has(a)}function Mt(e,a){return e==null?void 0:e[a]}function q(e){var a=-1,o=Array(e.size);return e.forEach(function(l,j){o[++a]=[j,l]}),o}function ce(e,a){return function(o){return e(a(o))}}function Ct(e){var a=-1,o=Array(e.size);return e.forEach(function(l){o[++a]=l}),o}var qt=Array.prototype,K=Function.prototype,ut=Object.prototype,jt=rt["__core-js_shared__"],ue=K.toString,lt=ut.hasOwnProperty,cr=function(){var e=/[^.]+$/.exec(jt&&jt.keys&&jt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),ur=ut.toString,Jr=RegExp("^"+ue.call(lt).replace(ht,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=Z?rt.Buffer:void 0,ge=rt.Symbol,lr=rt.Uint8Array,_e=ut.propertyIsEnumerable,le=qt.splice,xt=ge?ge.toStringTag:void 0,be=Object.getOwnPropertySymbols,He=je?je.isBuffer:void 0,de=ce(Object.keys,Object),ze=Wt(rt,"DataView"),fe=Wt(rt,"Map"),$e=Wt(rt,"Promise"),Ue=Wt(rt,"Set"),Ye=Wt(rt,"WeakMap"),Qt=Wt(Object,"create"),dr=gt(ze),Gt=gt(fe),Zr=gt($e),qr=gt(Ue),Qr=gt(Ye),fr=ge?ge.prototype:void 0,Ge=fr?fr.valueOf:void 0;function ot(e){var a=-1,o=e==null?0:e.length;for(this.clear();++a<o;){var l=e[a];this.set(l[0],l[1])}}function tn(){this.__data__=Qt?Qt(null):{},this.size=0}function en(e){var a=this.has(e)&&delete this.__data__[e];return this.size-=a?1:0,a}function rn(e){var a=this.__data__;if(Qt){var o=a[e];return o===i?void 0:o}return lt.call(a,e)?a[e]:void 0}function nn(e){var a=this.__data__;return Qt?a[e]!==void 0:lt.call(a,e)}function an(e,a){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Qt&&a===void 0?i:a,this}ot.prototype.clear=tn,ot.prototype.delete=en,ot.prototype.get=rn,ot.prototype.has=nn,ot.prototype.set=an;function dt(e){var a=-1,o=e==null?0:e.length;for(this.clear();++a<o;){var l=e[a];this.set(l[0],l[1])}}function sn(){this.__data__=[],this.size=0}function on(e){var a=this.__data__,o=Ee(a,e);if(o<0)return!1;var l=a.length-1;return o==l?a.pop():le.call(a,o,1),--this.size,!0}function cn(e){var a=this.__data__,o=Ee(a,e);return o<0?void 0:a[o][1]}function un(e){return Ee(this.__data__,e)>-1}function ln(e,a){var o=this.__data__,l=Ee(o,e);return l<0?(++this.size,o.push([e,a])):o[l][1]=a,this}dt.prototype.clear=sn,dt.prototype.delete=on,dt.prototype.get=cn,dt.prototype.has=un,dt.prototype.set=ln;function _t(e){var a=-1,o=e==null?0:e.length;for(this.clear();++a<o;){var l=e[a];this.set(l[0],l[1])}}function dn(){this.size=0,this.__data__={hash:new ot,map:new(fe||dt),string:new ot}}function fn(e){var a=Lt(this,e).delete(e);return this.size-=a?1:0,a}function pn(e){return Lt(this,e).get(e)}function hn(e){return Lt(this,e).has(e)}function mn(e,a){var o=Lt(this,e),l=o.size;return o.set(e,a),this.size+=o.size==l?0:1,this}_t.prototype.clear=dn,_t.prototype.delete=fn,_t.prototype.get=pn,_t.prototype.has=hn,_t.prototype.set=mn;function ve(e){var a=-1,o=e==null?0:e.length;for(this.__data__=new _t;++a<o;)this.add(e[a])}function pr(e){return this.__data__.set(e,i),this}function Se(e){return this.__data__.has(e)}ve.prototype.add=ve.prototype.push=pr,ve.prototype.has=Se;function Ht(e){var a=this.__data__=new dt(e);this.size=a.size}function We(){this.__data__=new dt,this.size=0}function yn(e){var a=this.__data__,o=a.delete(e);return this.size=a.size,o}function In(e){return this.__data__.get(e)}function gn(e){return this.__data__.has(e)}function _n(e,a){var o=this.__data__;if(o instanceof dt){var l=o.__data__;if(!fe||l.length<n-1)return l.push([e,a]),this.size=++o.size,this;o=this.__data__=new _t(l)}return o.set(e,a),this.size=o.size,this}Ht.prototype.clear=We,Ht.prototype.delete=yn,Ht.prototype.get=In,Ht.prototype.has=gn,Ht.prototype.set=_n;function bn(e,a){var o=ke(e),l=!o&&gr(e),j=!o&&!l&&Te(e),O=!o&&!l&&!j&&vr(e),W=o||l||j||O,G=W?Pt(e.length,String):[],Q=G.length;for(var X in e)lt.call(e,X)&&!(W&&(X=="length"||j&&(X=="offset"||X=="parent")||O&&(X=="buffer"||X=="byteLength"||X=="byteOffset")||An(X,Q)))&&G.push(X);return G}function Ee(e,a){for(var o=e.length;o--;)if(Ir(e[o][0],a))return o;return-1}function Xe(e,a,o){var l=a(e);return ke(e)?l:H(l,o(e))}function pe(e){return e==null?e===void 0?C:g:xt&&xt in Object(e)?Xt(e):yr(e)}function hr(e){return $t(e)&&pe(e)==p}function mr(e,a,o,l,j){return e===a?!0:e==null||a==null||!$t(e)&&!$t(a)?e!==e&&a!==a:vn(e,a,o,l,mr,j)}function vn(e,a,o,l,j,O){var W=ke(e),G=ke(a),Q=W?k:zt(e),X=G?k:zt(a);Q=Q==p?_:Q,X=X==p?_:X;var ft=Q==_,bt=X==_,it=Q==X;if(it&&Te(e)){if(!Te(a))return!1;W=!0,ft=!1}if(it&&!ft)return O||(O=new Ht),W||vr(e)?Be(e,a,o,l,j,O):Tn(e,a,Q,o,l,j,O);if(!(o&s)){var pt=ft&<.call(e,"__wrapped__"),ct=bt&<.call(a,"__wrapped__");if(pt||ct){var te=pt?e.value():e,Bt=ct?a.value():a;return O||(O=new Ht),j(te,Bt,o,l,O)}}return it?(O||(O=new Ht),wn(e,a,o,l,j,O)):!1}function Sn(e){if(!br(e)||On(e))return!1;var a=_r(e)?Jr:mt;return a.test(gt(e))}function En(e){return $t(e)&&Ve(e.length)&&!!T[pe(e)]}function kn(e){if(!Pn(e))return de(e);var a=[];for(var o in Object(e))lt.call(e,o)&&o!="constructor"&&a.push(o);return a}function Be(e,a,o,l,j,O){var W=o&s,G=e.length,Q=a.length;if(G!=Q&&!(W&&Q>G))return!1;var X=O.get(e);if(X&&O.get(a))return X==a;var ft=-1,bt=!0,it=o&c?new ve:void 0;for(O.set(e,a),O.set(a,e);++ft<G;){var pt=e[ft],ct=a[ft];if(l)var te=W?l(ct,pt,ft,a,e,O):l(pt,ct,ft,e,a,O);if(te!==void 0){if(te)continue;bt=!1;break}if(it){if(!$(a,function(Bt,me){if(!nt(it,me)&&(pt===Bt||j(pt,Bt,o,l,O)))return it.push(me)})){bt=!1;break}}else if(!(pt===ct||j(pt,ct,o,l,O))){bt=!1;break}}return O.delete(e),O.delete(a),bt}function Tn(e,a,o,l,j,O,W){switch(o){case z:if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case N:return!(e.byteLength!=a.byteLength||!O(new lr(e),new lr(a)));case E:case w:case d:return Ir(+e,+a);case y:return e.name==a.name&&e.message==a.message;case S:case m:return e==a+"";case u:var G=q;case I:var Q=l&s;if(G||(G=Ct),e.size!=a.size&&!Q)return!1;var X=W.get(e);if(X)return X==a;l|=c,W.set(e,a);var ft=Be(G(e),G(a),l,j,O,W);return W.delete(e),ft;case R:if(Ge)return Ge.call(e)==Ge.call(a)}return!1}function wn(e,a,o,l,j,O){var W=o&s,G=he(e),Q=G.length,X=he(a),ft=X.length;if(Q!=ft&&!W)return!1;for(var bt=Q;bt--;){var it=G[bt];if(!(W?it in a:lt.call(a,it)))return!1}var pt=O.get(e);if(pt&&O.get(a))return pt==a;var ct=!0;O.set(e,a),O.set(a,e);for(var te=W;++bt<Q;){it=G[bt];var Bt=e[it],me=a[it];if(l)var Ki=W?l(me,Bt,it,a,e,O):l(Bt,me,it,e,a,O);if(!(Ki===void 0?Bt===me||j(Bt,me,o,l,O):Ki)){ct=!1;break}te||(te=it=="constructor")}if(ct&&!te){var Sr=e.constructor,Er=a.constructor;Sr!=Er&&"constructor"in e&&"constructor"in a&&!(typeof Sr=="function"&&Sr instanceof Sr&&typeof Er=="function"&&Er instanceof Er)&&(ct=!1)}return O.delete(e),O.delete(a),ct}function he(e){return Xe(e,Je,Mn)}function Lt(e,a){var o=e.__data__;return Dn(a)?o[typeof a=="string"?"string":"hash"]:o.map}function Wt(e,a){var o=Mt(e,a);return Sn(o)?o:void 0}function Xt(e){var a=lt.call(e,xt),o=e[xt];try{e[xt]=void 0;var l=!0}catch{}var j=ur.call(e);return l&&(a?e[xt]=o:delete e[xt]),j}var Mn=be?function(e){return e==null?[]:(e=Object(e),L(be(e),function(a){return _e.call(e,a)}))}:Rn,zt=pe;(ze&&zt(new ze(new ArrayBuffer(1)))!=z||fe&&zt(new fe)!=u||$e&&zt($e.resolve())!=v||Ue&&zt(new Ue)!=I||Ye&&zt(new Ye)!=A)&&(zt=function(e){var a=pe(e),o=a==_?e.constructor:void 0,l=o?gt(o):"";if(l)switch(l){case dr:return z;case Gt:return u;case Zr:return v;case qr:return I;case Qr:return A}return a});function An(e,a){return a=a??f,!!a&&(typeof e=="number"||Yt.test(e))&&e>-1&&e%1==0&&e<a}function Dn(e){var a=typeof e;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?e!=="__proto__":e===null}function On(e){return!!cr&&cr in e}function Pn(e){var a=e&&e.constructor,o=typeof a=="function"&&a.prototype||ut;return e===o}function yr(e){return ur.call(e)}function gt(e){if(e!=null){try{return ue.call(e)}catch{}try{return e+""}catch{}}return""}function Ir(e,a){return e===a||e!==e&&a!==a}var gr=hr(function(){return arguments}())?hr:function(e){return $t(e)&<.call(e,"callee")&&!_e.call(e,"callee")},ke=Array.isArray;function Ke(e){return e!=null&&Ve(e.length)&&!_r(e)}var Te=He||xn;function Cn(e,a){return mr(e,a)}function _r(e){if(!br(e))return!1;var a=pe(e);return a==M||a==x||a==D||a==h}function Ve(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=f}function br(e){var a=typeof e;return e!=null&&(a=="object"||a=="function")}function $t(e){return e!=null&&typeof e=="object"}var vr=It?wt(It):En;function Je(e){return Ke(e)?bn(e):kn(e)}function Rn(){return[]}function xn(){return!1}t.exports=Cn}(tr,tr.exports);var sa=tr.exports;const at=Pr(sa),oa="add",Kn="track",Vn="trackItems",ca=`${Kn}:changed`,ua=`${Vn}:changed`,Jn="state",la=`${Jn}:changed`,er="design",Zn=`${er}:load`,qn=`${er}:resize`,vt="add",Qn=`${vt}:text`,ti=`${vt}:video`,ei=`${vt}:audio`,da=`${vt}:placeholder`,ri=`${vt}:image`,fa=`${vt}:mask`,pa=`${vt}:transition`,ni=`${vt}:animation`,ii=`${vt}:caption`,ai=`${vt}:template`,si=`${vt}:items`,Vt="edit",oi=`${Vt}:object`,ci=`${Vt}:replaceMedia`,ha=`${Vt}:text`,ma=`${Vt}:shape`,ya=`${Vt}:templateItem`,Ia=`${Vt}:deleteTemplateItem`,ga="enterEditMode",ee="active",_a=`${ee}:set`,ba=`${ee}:delete`,ui=`${ee}:paste`,li=`${ee}:clone`,di=`${ee}:split`,st="layer",va=`${st}:locked`,Sa=`${st}:hidden`,Ea=`${st}:move`,ka=`${st}:select`,Ta=`${st}:selection`,wa=`${st}:sendTo`,Ma=`${st}:rename`,Aa=`${st}:editingName`,Da=`${st}:copy`,Oa=`${st}:paste`,fi=`${st}:clone`,Pa=`${st}:split`,Ca=`${st}:cut`,pi=`${st}:delete`,hi=`${st}:replace`,Me="history",mi=`${Me}:undo`,yi=`${Me}:redo`,Ra=`${Me}:reset`,Cr="scale",Ii=`${Cr}:changed`;var rr={exports:{}};rr.exports,function(t,r){var n=200,i="__lodash_hash_undefined__",s=9007199254740991,c="[object Arguments]",f="[object Array]",p="[object Boolean]",k="[object Date]",D="[object Error]",E="[object Function]",w="[object GeneratorFunction]",y="[object Map]",M="[object Number]",x="[object Object]",u="[object Promise]",d="[object RegExp]",g="[object Set]",_="[object String]",v="[object Symbol]",h="[object WeakMap]",S="[object ArrayBuffer]",I="[object DataView]",m="[object Float32Array]",R="[object Float64Array]",C="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",z="[object Uint8Array]",U="[object Uint8ClampedArray]",P="[object Uint16Array]",F="[object Uint32Array]",J=/[\\^$.*+?()[\]{}|]/g,Dt=/\w*$/,Ft=/^\[object .+?Constructor\]$/,Nt=/^(?:0|[1-9]\d*)$/,Y={};Y[c]=Y[f]=Y[S]=Y[I]=Y[p]=Y[k]=Y[m]=Y[R]=Y[C]=Y[A]=Y[N]=Y[y]=Y[M]=Y[x]=Y[d]=Y[g]=Y[_]=Y[v]=Y[z]=Y[U]=Y[P]=Y[F]=!0,Y[D]=Y[E]=Y[h]=!1;var Zt=typeof At=="object"&&At&&At.Object===Object&&At,ht=typeof self=="object"&&self&&self.Object===Object&&self,mt=Zt||ht||Function("return this")(),Yt=r&&!r.nodeType&&r,T=Yt&&!0&&t&&!t.nodeType&&t,et=T&&T.exports===Yt;function Ot(e,a){return e.set(a[0],a[1]),e}function rt(e,a){return e.add(a),e}function kt(e,a){for(var o=-1,l=e?e.length:0;++o<l&&a(e[o],o,e)!==!1;);return e}function yt(e,a){for(var o=-1,l=a.length,j=e.length;++o<l;)e[j+o]=a[o];return e}function Z(e,a,o,l){for(var j=-1,O=e?e.length:0;++j<O;)o=a(o,e[j],j,e);return o}function Tt(e,a){for(var o=-1,l=Array(e);++o<e;)l[o]=a(o);return l}function Rt(e,a){return e==null?void 0:e[a]}function It(e){var a=!1;if(e!=null&&typeof e.toString!="function")try{a=!!(e+"")}catch{}return a}function L(e){var a=-1,o=Array(e.size);return e.forEach(function(l,j){o[++a]=[j,l]}),o}function H(e,a){return function(o){return e(a(o))}}function $(e){var a=-1,o=Array(e.size);return e.forEach(function(l){o[++a]=l}),o}var Pt=Array.prototype,wt=Function.prototype,nt=Object.prototype,Mt=mt["__core-js_shared__"],q=function(){var e=/[^.]+$/.exec(Mt&&Mt.keys&&Mt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),ce=wt.toString,Ct=nt.hasOwnProperty,qt=nt.toString,K=RegExp("^"+ce.call(Ct).replace(J,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ut=et?mt.Buffer:void 0,jt=mt.Symbol,ue=mt.Uint8Array,lt=H(Object.getPrototypeOf,Object),cr=Object.create,ur=nt.propertyIsEnumerable,Jr=Pt.splice,je=Object.getOwnPropertySymbols,ge=ut?ut.isBuffer:void 0,lr=H(Object.keys,Object),_e=Lt(mt,"DataView"),le=Lt(mt,"Map"),xt=Lt(mt,"Promise"),be=Lt(mt,"Set"),He=Lt(mt,"WeakMap"),de=Lt(Object,"create"),ze=gt(_e),fe=gt(le),$e=gt(xt),Ue=gt(be),Ye=gt(He),Qt=jt?jt.prototype:void 0,dr=Qt?Qt.valueOf:void 0;function Gt(e){var a=-1,o=e?e.length:0;for(this.clear();++a<o;){var l=e[a];this.set(l[0],l[1])}}function Zr(){this.__data__=de?de(null):{}}function qr(e){return this.has(e)&&delete this.__data__[e]}function Qr(e){var a=this.__data__;if(de){var o=a[e];return o===i?void 0:o}return Ct.call(a,e)?a[e]:void 0}function fr(e){var a=this.__data__;return de?a[e]!==void 0:Ct.call(a,e)}function Ge(e,a){var o=this.__data__;return o[e]=de&&a===void 0?i:a,this}Gt.prototype.clear=Zr,Gt.prototype.delete=qr,Gt.prototype.get=Qr,Gt.prototype.has=fr,Gt.prototype.set=Ge;function ot(e){var a=-1,o=e?e.length:0;for(this.clear();++a<o;){var l=e[a];this.set(l[0],l[1])}}function tn(){this.__data__=[]}function en(e){var a=this.__data__,o=Se(a,e);if(o<0)return!1;var l=a.length-1;return o==l?a.pop():Jr.call(a,o,1),!0}function rn(e){var a=this.__data__,o=Se(a,e);return o<0?void 0:a[o][1]}function nn(e){return Se(this.__data__,e)>-1}function an(e,a){var o=this.__data__,l=Se(o,e);return l<0?o.push([e,a]):o[l][1]=a,this}ot.prototype.clear=tn,ot.prototype.delete=en,ot.prototype.get=rn,ot.prototype.has=nn,ot.prototype.set=an;function dt(e){var a=-1,o=e?e.length:0;for(this.clear();++a<o;){var l=e[a];this.set(l[0],l[1])}}function sn(){this.__data__={hash:new Gt,map:new(le||ot),string:new Gt}}function on(e){return he(this,e).delete(e)}function cn(e){return he(this,e).get(e)}function un(e){return he(this,e).has(e)}function ln(e,a){return he(this,e).set(e,a),this}dt.prototype.clear=sn,dt.prototype.delete=on,dt.prototype.get=cn,dt.prototype.has=un,dt.prototype.set=ln;function _t(e){this.__data__=new ot(e)}function dn(){this.__data__=new ot}function fn(e){return this.__data__.delete(e)}function pn(e){return this.__data__.get(e)}function hn(e){return this.__data__.has(e)}function mn(e,a){var o=this.__data__;if(o instanceof ot){var l=o.__data__;if(!le||l.length<n-1)return l.push([e,a]),this;o=this.__data__=new dt(l)}return o.set(e,a),this}_t.prototype.clear=dn,_t.prototype.delete=fn,_t.prototype.get=pn,_t.prototype.has=hn,_t.prototype.set=mn;function ve(e,a){var o=Ke(e)||ke(e)?Tt(e.length,String):[],l=o.length,j=!!l;for(var O in e)Ct.call(e,O)&&!(j&&(O=="length"||Dn(O,l)))&&o.push(O);return o}function pr(e,a,o){var l=e[a];(!(Ct.call(e,a)&&gr(l,o))||o===void 0&&!(a in e))&&(e[a]=o)}function Se(e,a){for(var o=e.length;o--;)if(gr(e[o][0],a))return o;return-1}function Ht(e,a){return e&&Be(a,Je(a),e)}function We(e,a,o,l,j,O,W){var G;if(l&&(G=O?l(e,j,O,W):l(e)),G!==void 0)return G;if(!$t(e))return e;var Q=Ke(e);if(Q){if(G=Mn(e),!a)return kn(e,G)}else{var X=Xt(e),ft=X==E||X==w;if(_r(e))return Ee(e,a);if(X==x||X==c||ft&&!O){if(It(e))return O?e:{};if(G=zt(ft?{}:e),!a)return Tn(e,Ht(G,e))}else{if(!Y[X])return O?e:{};G=An(e,X,We,a)}}W||(W=new _t);var bt=W.get(e);if(bt)return bt;if(W.set(e,G),!Q)var it=o?wn(e):Je(e);return kt(it||e,function(pt,ct){it&&(ct=pt,pt=e[ct]),pr(G,ct,We(pt,a,o,l,ct,e,W))}),G}function yn(e){return $t(e)?cr(e):{}}function In(e,a,o){var l=a(e);return Ke(e)?l:yt(l,o(e))}function gn(e){return qt.call(e)}function _n(e){if(!$t(e)||Pn(e))return!1;var a=Ve(e)||It(e)?K:Ft;return a.test(gt(e))}function bn(e){if(!yr(e))return lr(e);var a=[];for(var o in Object(e))Ct.call(e,o)&&o!="constructor"&&a.push(o);return a}function Ee(e,a){if(a)return e.slice();var o=new e.constructor(e.length);return e.copy(o),o}function Xe(e){var a=new e.constructor(e.byteLength);return new ue(a).set(new ue(e)),a}function pe(e,a){var o=a?Xe(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}function hr(e,a,o){var l=a?o(L(e),!0):L(e);return Z(l,Ot,new e.constructor)}function mr(e){var a=new e.constructor(e.source,Dt.exec(e));return a.lastIndex=e.lastIndex,a}function vn(e,a,o){var l=a?o($(e),!0):$(e);return Z(l,rt,new e.constructor)}function Sn(e){return dr?Object(dr.call(e)):{}}function En(e,a){var o=a?Xe(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}function kn(e,a){var o=-1,l=e.length;for(a||(a=Array(l));++o<l;)a[o]=e[o];return a}function Be(e,a,o,l){o||(o={});for(var j=-1,O=a.length;++j<O;){var W=a[j],G=void 0;pr(o,W,G===void 0?e[W]:G)}return o}function Tn(e,a){return Be(e,Wt(e),a)}function wn(e){return In(e,Je,Wt)}function he(e,a){var o=e.__data__;return On(a)?o[typeof a=="string"?"string":"hash"]:o.map}function Lt(e,a){var o=Rt(e,a);return _n(o)?o:void 0}var Wt=je?H(je,Object):Rn,Xt=gn;(_e&&Xt(new _e(new ArrayBuffer(1)))!=I||le&&Xt(new le)!=y||xt&&Xt(xt.resolve())!=u||be&&Xt(new be)!=g||He&&Xt(new He)!=h)&&(Xt=function(e){var a=qt.call(e),o=a==x?e.constructor:void 0,l=o?gt(o):void 0;if(l)switch(l){case ze:return I;case fe:return y;case $e:return u;case Ue:return g;case Ye:return h}return a});function Mn(e){var a=e.length,o=e.constructor(a);return a&&typeof e[0]=="string"&&Ct.call(e,"index")&&(o.index=e.index,o.input=e.input),o}function zt(e){return typeof e.constructor=="function"&&!yr(e)?yn(lt(e)):{}}function An(e,a,o,l){var j=e.constructor;switch(a){case S:return Xe(e);case p:case k:return new j(+e);case I:return pe(e,l);case m:case R:case C:case A:case N:case z:case U:case P:case F:return En(e,l);case y:return hr(e,l,o);case M:case _:return new j(e);case d:return mr(e);case g:return vn(e,l,o);case v:return Sn(e)}}function Dn(e,a){return a=a??s,!!a&&(typeof e=="number"||Nt.test(e))&&e>-1&&e%1==0&&e<a}function On(e){var a=typeof e;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?e!=="__proto__":e===null}function Pn(e){return!!q&&q in e}function yr(e){var a=e&&e.constructor,o=typeof a=="function"&&a.prototype||nt;return e===o}function gt(e){if(e!=null){try{return ce.call(e)}catch{}try{return e+""}catch{}}return""}function Ir(e){return We(e,!0,!0)}function gr(e,a){return e===a||e!==e&&a!==a}function ke(e){return Cn(e)&&Ct.call(e,"callee")&&(!ur.call(e,"callee")||qt.call(e)==c)}var Ke=Array.isArray;function Te(e){return e!=null&&br(e.length)&&!Ve(e)}function Cn(e){return vr(e)&&Te(e)}var _r=ge||xn;function Ve(e){var a=$t(e)?qt.call(e):"";return a==E||a==w}function br(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=s}function $t(e){var a=typeof e;return!!e&&(a=="object"||a=="function")}function vr(e){return!!e&&typeof e=="object"}function Je(e){return Te(e)?ve(e):bn(e)}function Rn(){return[]}function xn(){return!1}t.exports=Ir}(rr,rr.exports);var xa=rr.exports;const B=Pr(xa),Rr=t=>new Promise((r,n)=>{const i=new Image;console.warn("update cdn config for cors?"),i.onload=()=>{const s=i.width,c=i.height;r({width:s,height:c})},i.onerror=s=>{n(s)},i.crossOrigin="anonymous",i.src=t}),gi=t=>new Promise((r,n)=>{const i=new Audio;i.preload="auto",i.addEventListener("loadedmetadata",()=>{const s=i.duration*1e3;r({duration:s})}),i.addEventListener("error",s=>{n(s)}),i.src=t,i.crossOrigin="anonymous",i.load()}),xr=t=>new Promise((r,n)=>{const i=document.createElement("video");i.preload="auto",i.addEventListener("loadedmetadata",()=>{const s=i.duration*1e3,c=i.videoWidth,f=i.videoHeight;r({duration:s,width:c,height:f})}),i.addEventListener("error",s=>{n(s)}),i.src=t,i.load()}),La=async t=>{var s,c;const r=t.duration,n=(s=t.details)==null?void 0:s.width,i=(c=t.details)==null?void 0:c.height;return r&&n&&i?{duration:r,width:n,height:i}:xr(t.details.src)},_i=(t,r)=>{const n=document.createElement("div");Object.keys(r).forEach(s=>{s!=="height"&&(n.style[s]=r[s])}),document.body.appendChild(n),n.textContent=t,n.style.whiteSpace="normal",n.style.position="absolute",n.style.visibility="hidden",n.style.display="inline-block",n.style.width=r.width+"px",n.style.fontSize=r.fontSize+"px";const i=getComputedStyle(n).height;return document.body.removeChild(n),parseFloat(i)},nr=t=>{const r=t.map(n=>new FontFace(n.fontFamily,`url(${n.url})`).load().catch(i=>i));return r.length===0?Promise.resolve(!0):new Promise((n,i)=>{Promise.all(r).then(s=>{s.forEach(c=>{c&&c.family&&(document.fonts.add(c),n(!0))})}).catch(s=>i(s))})},Fa="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Ae=(t=21)=>{let r="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)r+=Fa[n[t]&63];return r};function Ie(t=16){const r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",n=r.charAt(Math.floor(Math.random()*r.length));let i=Ae(t-1);return i=i.replace(/[^a-zA-Z0-9]/g,"").slice(0,t-1),n+i}const ir={color:"#000000",x:0,y:0,blur:0},De=(t,r)=>{let n=r!=null&&r.trim?r.trim.to-r.trim.from:(r==null?void 0:r.duration)||5e3;const i={from:0,to:n};if(!t)return i;if(t.from<0)return console.error("'from' must be a non-negative number. Returning default display."),i;if(t.from!==void 0&&t.to===void 0)return{from:t.from,to:t.from+n};if(t.to!==void 0){if(t.to<0)return console.error("'to' must be a non-negative number. Returning default display."),i;if(t.to<t.from)return console.error("'to' must be greater than or equal to 'from'. Returning default display."),i}return t},bi=(t,r)=>t?t.from&&!t.to?{from:t.from,to:r.duration}:t:{from:0,to:r.duration};function Oe(t,r){const n=t.scaleMode,i={x:t.size.width/2,y:t.size.height/2},s={x:r.width/2,y:r.height/2};let c;n==="fill"?c=Math.max(t.size.width/r.width,t.size.height/r.height):c=Math.min(t.size.width/r.width,t.size.height/r.height);const f=i.x-s.x;return{top:`${i.y-s.y}px`,left:`${f}px`,transform:`scale(${c})`}}const vi=async(t,r)=>{const n=t.details.src,i=await La(t),s=Oe(r,{...i}),c=bi(t.trim,{duration:i.duration}),f={width:i.width,height:i.height,opacity:100,src:n,volume:t.details.volume??100,borderRadius:t.details.borderRadius??0,borderWidth:t.details.borderWidth??0,borderColor:t.details.borderColor||"#000000",boxShadow:t.details.boxShadow||ir,top:t.details.top||s.top||"0px",left:t.details.left||s.left||"0px",transform:t.details.transform||s.transform,blur:t.details.blur||0,brightness:t.details.brightness||100,flipX:t.details.flipX||!1,flipY:t.details.flipY||!1,rotate:t.details.rotate||"0deg",visibility:t.details.visibility||"visible"};return{...t,trim:c,type:"video",name:"video",details:f,playbackRate:t.playbackRate||1,display:De(t.display,{duration:i.duration,trim:c}),duration:i.duration}},Si=async t=>{const r=t.id,n=t.details,s=(await gi(n.src)).duration,c=bi(t.trim,{duration:s});return{id:r,name:t.name||"audio",type:"audio",display:De(t.display,{duration:s,trim:c}),trim:c,playbackRate:t.playbackRate||1,details:{src:n.src,volume:n.volume??100},metadata:{...t.metadata},duration:s}},Ei=async(t,r)=>{var w;const n=t.trackItemIds,i=t.size||{width:t.details.width,height:t.details.height},s=Math.min(r.size.width/i.width,r.size.height/i.height),c=((w=t.details)==null?void 0:w.rotate)||0,f=Oe(r,i),p=t.display;let k=1/0,D=0;n.forEach(y=>{const M=t.trackItemsMap[y];M.display.from<k&&(k=M.display.from),M.display.to>D&&(D=M.display.to)});const E=t.trim||t.display||{from:k,to:D};return{id:t.id,type:"template",details:{...i,top:t.details.top||f.top,left:t.details.left||f.left,scale:s,rotate:c},trim:E,display:p||{from:k,to:D},activeEdit:!1}},ki=async(t,r)=>{const n=t.details,i=await Rr(n.src),s=Oe(r,i);return{id:t.id,type:"image",name:"image",display:De(t.display),playbackRate:t.playbackRate||1,details:{src:n.src||"",width:n.width||i.width||100,height:n.height||i.height||100,opacity:n.opacity??100,transform:n.transform||s.transform,border:n.border||"none",borderRadius:n.borderRadius||0,boxShadow:n.boxShadow||ir,top:n.top||s.top||"0px",left:n.left||s.left||"0px",borderWidth:n.borderWidth??0,borderColor:n.borderColor||"#000000",blur:n.blur||0,brightness:n.brightness||100,flipX:n.flipX||!1,flipY:n.flipY||!1,rotate:n.rotate||"0deg",visibility:n.visibility||"visible"},metadata:t.metadata||{}}},Ti=async(t,r)=>{const n=t;n.details.fontUrl&&await nr([{fontFamily:n.details.fontFamily,url:n.details.fontUrl}]);const i=n.id,s=n.details,c=Mi(s),f=_i(n.details.text,c),p=Oe(r,{width:c.width,height:f});return{id:i,name:"caption",type:"caption",display:De(n.display),details:{...c,text:s.text||"",height:f,fontUrl:s.fontUrl,top:c.top||p.top,left:c.left||p.left,borderWidth:s.borderWidth||0,borderColor:s.borderColor||"#000000",boxShadow:s.boxShadow||ir,words:s.words||[],appearedColor:s.appearedColor||s.color,activeColor:s.activeColor||s.color,activeFillColor:s.activeFillColor||"transparent"},metadata:t.metadata||{}}},wi=async(t,r)=>{t.details.fontUrl&&await nr([{fontFamily:t.details.fontFamily,url:t.details.fontUrl}]);const n=t.id,i=t.details,s=Mi(i),c=_i(t.details.text,s),f=Oe(r,{width:s.width,height:c});return{id:n,name:"text",type:"text",display:De(t.display),details:{...s,text:i.text||"",height:c,fontUrl:i.fontUrl,top:s.top||f.top,left:s.left||f.left,borderWidth:i.borderWidth||0,borderColor:i.borderColor||"#000000",boxShadow:i.boxShadow||ir},metadata:{}}},Mi=t=>({fontFamily:t.fontFamily||"Arial",fontSize:t.fontSize||"16px",fontWeight:t.fontWeight||"normal",fontStyle:t.fontStyle||"normal",textDecoration:t.textDecoration||"none",textAlign:t.textAlign||"left",lineHeight:t.lineHeight||"normal",letterSpacing:t.letterSpacing||"normal",wordSpacing:t.wordSpacing||"normal",color:t.color||"#ffffff",backgroundColor:t.backgroundColor||"transparent",border:t.border||"none",textShadow:t.textShadow||"none",text:t.text||"",opacity:t.opacity??100,width:t.width||300,wordWrap:t.wordWrap||"normal",wordBreak:t.wordBreak||"normal",WebkitTextStrokeColor:t.WebkitTextStrokeColor||"#ffffff",WebkitTextStrokeWidth:t.WebkitTextStrokeWidth||"0px",top:t.top,left:t.left,textTransform:t.textTransform||"none",transform:t.transform||"none",skewX:t.skewX||0,skewY:t.skewY||0}),Na=async(t,r)=>{switch(t.type){case"video":return vi(t,r||{});case"audio":return Si(t);case"image":return ki(t,r||{});case"text":return wi(t,r||{});case"caption":return Ti(t,r||{});case"template":return Ei(t,{size:r==null?void 0:r.size});default:throw new Error("Unsupported track item")}};function ja(t,r){return r.some(n=>t.some(i=>i.id===n.id))}const Ha=(t=[],r=[])=>t.length===0?r.map(i=>({id:Ie(),items:[i.id],type:i.type,accepts:["text","image","video","audio","caption","template"]})):t.map(n=>({...n,items:n.items||[],accepts:["audio","video","image","text","caption","template"],type:n.type||"text",magnetic:n.magnetic||!1,static:n.static||!1,id:n.id||Ie()}));function za(t,r){return t.filter(i=>{if(r.forEach(s=>{i.items.includes(s)&&(i.items=i.items.filter(c=>c!==s))}),i.items.length!==0||i.static)return i})}const re=t=>Object.keys(t).reduce((r,n)=>{const{display:i,playbackRate:s}=t[n];return Math.max(r,i.to/(s||1))},0);function Lr(t,r,n){return Math.min(Math.max(t,r),n)}const $a=(t,r,n,i,s)=>{if(i===void 0&&s===void 0)return{trackId:void 0,trackIndex:void 0};const c=s!==void 0?r[Lr(s,0,r.length)]:r.find(k=>k.id===i);if(!c)return{trackId:void 0,trackIndex:s!==void 0?Lr(s,0,r.length):void 0};const f=c.items.map(k=>n[k]),p=t.map(k=>n[k]);for(const k of f){const D=k.display.from,E=k.display.to;for(const w of p){const y=w.display.from;if(!(w.display.to<=D||y>=E))return{trackId:void 0,trackIndex:r.indexOf(c)}}}return{trackId:c.id,trackIndex:r.indexOf(c)}},Ai=(t,r)=>{var p,k;const n=((p=t.details.crop)==null?void 0:p.width)||t.details.width||0,i=((k=t.details.crop)==null?void 0:k.height)||t.details.height||0;let s=r.width,c=r.height;const f=r.width/r.height;return n/i>f?(s=n,c=n/f):(c=i,s=i*f),{newWidth:s,newHeight:c,crop:{x:0,y:0,height:i,width:n}}},Di=(t,r)=>{const n=B(t.trim),i=B(t.display);return r.duration<t.display.to&&(i.to=r.duration,n&&(n.to=r.duration)),{duration:r.duration,trim:n,display:i}},Ua=t=>{const{trackItemIds:r,transitionsMap:n,trackItemsMap:i}=t,s=new Map;Object.values(n).forEach(D=>{var M,x;const{fromId:E,toId:w,kind:y}=D;y!=="none"&&(s.has(E)||s.set(E,[]),s.has(w)||s.set(w,[]),(M=s.get(E))==null||M.push(D),(x=s.get(w))==null||x.push(D))});const c=[],f=new Set,p=D=>{const E=[];let w=D;for(;w&&!f.has(w);){f.add(w);const y=i[w];E.push(y);const M=Object.values(n).find(x=>x.fromId===w&&x.kind!=="none");if(!M)break;E.push(M),w=M.toId}return E},k=Object.values(n).filter(D=>D.kind!=="none");for(const D of r)if(!f.has(D)&&(!s.has(D)||!k.some(E=>E.toId===D))){const E=p(D);E.length>0&&c.push(E)}return c.forEach(D=>{D.sort((E,w)=>"display"in E&&"display"in w?E.display.from-w.display.from:0)}),c.filter(D=>D.filter(w=>w!==void 0).length>0)};function Ya(t,r){let i=r.reduce((s,c)=>c.display.to>s.display.to?c:s,{display:{to:0}}).display.to;t.forEach(s=>{const c=s.display.from,p=s.display.to-c;s.display.from=i,s.display.to=s.display.from+p,i=s.display.to})}function Ga(t){const r=t,n=r.tracks,i=r.trackItemsMap,s=[],c={},f=r.structure;return n.forEach(p=>{var D;const k=p.items.map(E=>i[E]).sort((E,w)=>E.display.from-w.display.from);for(let E=0;E<k.length-1;E++){const w=k[E],y=k[E+1];if(Math.abs(w.display.to-y.display.from)<=1){const M=`${w.id}-${y.id}`;if((D=r.transitionIds)==null?void 0:D.includes(M))c[M]=r.transitionsMap[M];else{const u={id:M,duration:1500,fromId:w.id,toId:y.id,kind:"none",trackId:p.id,type:"transition"};c[M]=u}s.push(M)}}}),f.forEach(p=>{p.transitions.forEach(k=>{c[k]={...r.transitionsMap[k],trackId:p.id}})}),r.transitionIds=s,r.transitionsMap=c,{transitionIds:s,transitionsMap:c}}function Wa(t){const r=V.subject.pipe(V.filter(({key:u})=>u.startsWith(er))),n=V.subject.pipe(V.filter(({key:u})=>u.startsWith(vt))),i=V.subject.pipe(V.filter(({key:u})=>u.startsWith(st))),s=V.subject.pipe(V.filter(({key:u})=>u.startsWith(Me))),c=V.subject.pipe(V.filter(({key:u})=>u.startsWith(ee))),f=V.subject.pipe(V.filter(({key:u})=>u.startsWith(Vt))),p=V.subject.pipe(V.filter(({key:u})=>u.startsWith(Cr))),k=r.subscribe(async u=>{var d,g;if(u.key===Zn){const _=(d=u.value)==null?void 0:d.payload,v=_.trackItemsMap,h=_.trackItemDetailsMap;console.warn("IMPROVE FONTS LOADING");for(const I in h)if(h[I].type==="text"||h[I].type==="caption"){const m=h[I].details;await nr([{fontFamily:m.fontFamily,url:m.fontUrl}])}const S=re(v);t.updateState({..._,duration:S},{kind:"design:load",updateHistory:!1})}if(u.key===qn){const _=(g=u.value)==null?void 0:g.payload;t.updateState({size:_},{kind:"design:resize",updateHistory:!1})}}),D=s.subscribe(u=>{if(u.key===mi)return t.undo();if(u.key===yi)return t.redo()}),E=p.subscribe(u=>{var d;if(u.key===Ii){const g=(d=u.value)==null?void 0:d.payload.scale;t.updateState({scale:g},{kind:"update",updateHistory:!1})}}),w=i.subscribe(async u=>{var g,_,v,h,S;const d=[];if((g=u.value)!=null&&g.payload.trackItemIds&&(d.push((_=u.value)==null?void 0:_.payload.trackItemIds),t.updateState({activeIds:d},{kind:"update",updateHistory:!1})),u.key===pi){const I=(v=u.value)==null?void 0:v.payload.trackItemIds,m=B(t.getState()),R=I&&I.length?I:m.activeIds,C=R.map(T=>m.transitionsMap[T]).filter(T=>!!T).map(T=>T.id),A=R.map(T=>m.trackItemsMap[T]).filter(T=>!!T).map(T=>T.id),N=m.transitionIds.filter(T=>{const et=m.transitionsMap[T];return A.includes(et.fromId)||A.includes(et.toId)});A.push(...N,...C);const z=m.trackItemIds,U=m.transitionIds,P=m.trackItemDetailsMap,F=B(m.tracks),J=B(m.structure);A.forEach(T=>{var Ot;const et=m.trackItemsMap[T]||m.transitionsMap[T];if(et.type==="template"){const rt=(Ot=m.structure.find(yt=>yt.id===et.id))==null?void 0:Ot.items;A.push(...rt);const kt=J.findIndex(yt=>yt.id===et.id);J.splice(kt,1)}}),A.forEach(T=>{J.forEach(et=>{et.items.includes(T)&&(et.items=et.items.filter(Ot=>Ot!==T))})});const Dt=z.filter(T=>!A.includes(T)),Ft=U.filter(T=>!A.includes(T)),Nt=Object.fromEntries(Object.entries(P).filter(([T])=>!A.includes(T))),Y=Object.fromEntries(Object.entries(m.transitionsMap).filter(([T])=>!A.includes(T))),Zt=za(m.tracks,A),ht=Object.fromEntries(Object.entries(m.trackItemsMap).filter(([T])=>!A.includes(T)));F.filter(T=>T.magnetic).forEach(T=>{const rt=Object.values(ht).filter(Z=>T.items.includes(Z.id)).sort((Z,Tt)=>Z.display.from-Tt.display.from).map(Z=>Z.id),kt=Ua({trackItemIds:rt,transitionsMap:Y,trackItemsMap:ht});let yt=0;rt.forEach(Z=>{const Tt=[];for(const It of kt)if(It.find(L=>L.id===Z)){const L=kt.findIndex(H=>H.find($=>$.id===Z));if(L-1>=0)for(let H=L-1;H>=0;H--){const $=kt[H];Tt.push($)}}let Rt=0;if(Tt.forEach(It=>{It.forEach(L=>{L.type==="transition"&&(Rt+=L.duration)})}),ht[Z]){const It=ht[Z].display.to-ht[Z].display.from;ht[Z].display={from:yt-Rt,to:yt+It-Rt},yt+=It}})});const Yt=re(ht);t.updateState({trackItemIds:Dt,trackItemDetailsMap:Nt,activeIds:[],trackItemsMap:ht,tracks:Zt,duration:Yt,structure:J,transitionIds:Ft,transitionsMap:Y},{updateHistory:!0,kind:"remove"})}if(u.key===fi){const I=B(t.getState()),m={},R=((h=u.value)==null?void 0:h.payload.trackItemIds)||I.activeIds;if(R.length===0)return;R.forEach(A=>{const N=I.trackItemsMap[A],z=I.trackItemDetailsMap[A],U=Ie();I.trackItemsMap[U]={...B(N),id:U},I.trackItemDetailsMap[U]={...B(z)},I.trackItemIds.push(U);const P=I.tracks.find(F=>F.items.includes(A));m[P.id]?m[P.id].items.push(U):m[P.id]={...P,id:Ie(),items:[U],static:!1,magnetic:!1}});const C=Object.values(m);I.tracks=[...C,...I.tracks],t.updateState({trackItemDetailsMap:I.trackItemDetailsMap,tracks:I.tracks,trackItemIds:I.trackItemIds,trackItemsMap:I.trackItemsMap},{updateHistory:!0,kind:"update"})}if(u.key===hi){const I=(S=u.value)==null?void 0:S.payload,m=Object.keys(I)[0],R=Object.values(I)[0],C=B(t.getState()),A=C.trackItemDetailsMap[m],N=B(C.trackItemsMap[m]),z=A.details;if(!R.details.src)return;if(A.type==="image"){const U=await Rr(R.details.src),{crop:P,newHeight:F,newWidth:J}=Ai(A,U);R.details.crop=P,R.details.height=F,R.details.width=J}else if(A.type==="video"){const U=await xr(R.details.src),P=C.trackItemsMap[m],{display:F,duration:J,trim:Dt}=Di(P,U),{crop:Ft,newHeight:Nt,newWidth:Y}=Ai(A,U);R.details.crop=Ft,R.details.height=Nt,R.details.width=Y,N.display=F,N.duration=J,N.trim=Dt}else if(A.type==="audio"){const U=await gi(R.details.src),P=C.trackItemsMap[m],{display:F,duration:J,trim:Dt}=Di(P,U);N.display=F,N.duration=J,N.trim=Dt}A.details={...z,...R.details},C.trackItemDetailsMap[m]={...A},C.trackItemsMap[m]={...N},t.updateState({trackItemDetailsMap:C.trackItemDetailsMap,trackItemsMap:C.trackItemsMap},{updateHistory:!0,kind:"update:details"})}}),y=n.subscribe(async u=>{var C,A,N,z,U,P,F,J,Dt,Ft,Nt,Y,Zt,ht,mt,Yt,T,et,Ot,rt,kt,yt,Z,Tt,Rt,It;const d=B(t.getState()),g=((A=(C=u.value)==null?void 0:C.options)==null?void 0:A.isSelected)||!1,_=(z=(N=u.value)==null?void 0:N.options)==null?void 0:z.scaleMode,v=(P=(U=u.value)==null?void 0:U.options)==null?void 0:P.isNewTrack;let h=[],S="text";const I=(J=(F=u.value)==null?void 0:F.options)==null?void 0:J.trackId;let m=(Ft=(Dt=u.value)==null?void 0:Dt.options)==null?void 0:Ft.trackIndex;if(u.key===ni){const L=(Nt=u.value)==null?void 0:Nt.payload;let H=d.trackItemsMap[L.id].animations;H?H.in&&L.animations.in?H.in=L.animations.in:H.out&&L.animations.out||!H.out&&L.animations.out?H.out=L.animations.out:!H.in&&L.animations.in?H.in=L.animations.in:H=L.animations:d.trackItemsMap[L.id].animations=L.animations}if(u.key===si){const L=(Y=u.value)==null?void 0:Y.payload,H=L.trackItems.map(K=>Na(K,{size:d.size})),$=await Promise.all(H),Pt=Ha(L.tracks,L.trackItems),wt=[];L.trackItems.forEach(K=>{if(K.type!=="template")return;d.trackItemsMap={...d.trackItemsMap,...K.trackItemsMap},d.trackItemDetailsMap={...d.trackItemDetailsMap,...K.trackItemDetailsMap},d.transitionsMap={...d.transitionsMap,...K.transitionsMap};const ut={id:K.id,items:K.trackItemIds,transitions:K.transitionsIds||[],tracks:K.tracks};wt.push(ut)});const nt=[],Mt={},q={};if($.forEach(K=>{const{details:ut,...jt}=K;nt.push(K.id),Mt[K.id]={type:K.type,details:ut},q[K.id]=jt}),ja(d.tracks,Pt))d.tracks.forEach(K=>{Pt.forEach(ut=>{if(K.id===ut.id){if(K.magnetic){const jt=ut.items.map(lt=>q[lt]),ue=K.items.map(lt=>d.trackItemsMap[lt]);Ya(jt,ue)}K.items.push(...nt)}})});else{const K=((ht=(Zt=u.value)==null?void 0:Zt.options)==null?void 0:ht.trackIndex)||0,ut=Lr(K,0,d.tracks.length);d.tracks.splice(ut,0,...Pt)}d.trackItemDetailsMap={...d.trackItemDetailsMap,...Mt},d.trackItemsMap={...d.trackItemsMap,...q},d.trackItemIds=[...d.trackItemIds,...nt],d.structure=[...d.structure,...wt],d.duration=re(d.trackItemsMap);const{transitionIds:Ct,transitionsMap:qt}=Ga(d);t.updateState({trackItemIds:d.trackItemIds,trackItemDetailsMap:d.trackItemDetailsMap,trackItemsMap:d.trackItemsMap,tracks:d.tracks,duration:d.duration,structure:d.structure,transitionIds:Ct,transitionsMap:qt},{updateHistory:!0,kind:"add"});return}if(u.key===ii){S="caption";const L=(mt=u.value)==null?void 0:mt.payload,H=[];for(const wt of L){const nt=Ti(wt,{size:d.size});H.push(nt)}const $=await Promise.all(H),Pt=[];for(const wt of $){const nt=wt.id;Pt.push(nt);const{details:Mt,...q}=wt;d.trackItemDetailsMap[nt]={type:S,details:Mt},d.trackItemsMap[nt]=q,d.trackItemIds.push(nt)}h=Pt}if(u.key===Qn){S="text";const L=await wi((Yt=u.value)==null?void 0:Yt.payload,{size:d.size}),{details:H,...$}=L;d.trackItemDetailsMap[$.id]={type:S,details:H},d.trackItemsMap[$.id]=$,d.trackItemIds.push($.id),h=[$.id]}if(u.key===ai){S="template";const L=(T=u.value)==null?void 0:T.payload.trackItemsMap,H=(et=u.value)==null?void 0:et.payload.trackItemDetailsMap,$=(Ot=u.value)==null?void 0:Ot.payload.transitionsMap,Pt=((rt=u.value)==null?void 0:rt.payload.transitionIds)||[],wt=(kt=u.value)==null?void 0:kt.payload.trackItemIds,nt=((yt=u.value)==null?void 0:yt.payload.tracks)||[],{details:Mt,...q}=await Ei((Z=u.value)==null?void 0:Z.payload,{size:d.size}),ce={id:q.id,items:wt,transitions:Pt,tracks:nt};d.trackItemDetailsMap[q.id]={type:S,details:Mt},d.trackItemsMap[q.id]=q,d.trackItemIds.push(q.id),h=[q.id],d.trackItemsMap={...d.trackItemsMap,...L,[q.id]:{...q}},d.trackItemDetailsMap={...d.trackItemDetailsMap,...H,[q.id]:{type:"template",details:Mt}},d.transitionsMap={...d.transitionsMap,...$},d.structure=[...d.structure,ce]}if(u.key===ri){S="image";const L=await ki((Tt=u.value)==null?void 0:Tt.payload,{size:d.size,scaleMode:_}),{details:H,...$}=L;d.trackItemDetailsMap[$.id]={type:S,details:H},d.trackItemsMap[$.id]=$,d.trackItemIds.push($.id),h=[$.id]}if(u.key===ei){S="audio";const L=await Si((Rt=u.value)==null?void 0:Rt.payload),{details:H,...$}=L;d.trackItemDetailsMap[$.id]={type:S,details:H},d.trackItemsMap[$.id]=$,d.trackItemIds.push($.id),h=[$.id]}if(u.key===ti){S="video";const L=await vi((It=u.value)==null?void 0:It.payload,{size:d.size,scaleMode:_}),{details:H,...$}=L;d.trackItemDetailsMap[$.id]={type:S,details:H,metadata:$.metadata},d.trackItemsMap[$.id]=$,d.trackItemIds.push($.id),h=[$.id]}const R=$a(h,d.tracks,d.trackItemsMap,I,m);if(v){const L=Ae();R.trackId=L;const H={id:R.trackId,accepts:["text","audio","helper","video","image","caption","template"],type:S,items:h,magnetic:!1,static:!1};d.tracks.splice(R.trackIndex,0,H)}else if(R.trackId){const L=d.tracks.find(H=>H.id===R.trackId);L&&L.items.push(...h)}else if(R.trackIndex!==void 0){const L={id:Ae(),accepts:["text","audio","helper","video","image","caption","template"],type:S,items:h,magnetic:!1,static:!1};d.tracks.splice(R.trackIndex,0,L)}else d.tracks.unshift({id:Ae(),accepts:["text","audio","helper","video","image","caption","template"],type:S,items:h,magnetic:!1,static:!1});g&&(d.activeIds=h),d.duration=re(d.trackItemsMap),t.updateState({activeIds:d.activeIds,trackItemIds:d.trackItemIds,trackItemDetailsMap:d.trackItemDetailsMap,trackItemsMap:d.trackItemsMap,transitionsMap:d.transitionsMap,tracks:d.tracks,duration:d.duration,structure:d.structure},{updateHistory:!0,kind:"add"})}),M=c.subscribe(async u=>{var d;if(u.key===di){const g=B(t.getState()),_=(d=u.value)==null?void 0:d.options.time;if(g.activeIds.length===1){const v=g.activeIds[0],h=B(g.trackItemsMap[v]);if(_>=h.display.to||_<=h.display.from)return;const S=B(g.trackItemDetailsMap[v]),I=Ie(),m=B({...h,display:{from:h.display.from,to:_}}),R=B({...h,id:I,display:{from:_,to:h.display.to}});if(h.type==="video"||h.type==="audio"){const C=_-m.display.from;m.trim={from:h.trim.from,to:h.trim.from+C},R.trim={from:h.trim.from+C,to:h.trim.to}}g.trackItemsMap[v]=m,g.trackItemsMap[I]=R,g.trackItemIds.push(I),g.trackItemDetailsMap[I]=S,g.tracks.forEach(C=>{C.items.includes(v)&&C.items.push(I)}),t.updateState({trackItemDetailsMap:g.trackItemDetailsMap,tracks:g.tracks,trackItemIds:g.trackItemIds,trackItemsMap:g.trackItemsMap},{updateHistory:!0,kind:"update"})}return}if(u.key===li){const g=B(t.getState());if(g.activeIds.length){const _=g.activeIds,v=[],h={activeIds:_,trackItemDetailsMap:{},trackItemsMap:{},tracks:[]};_.forEach(I=>{h.trackItemDetailsMap[I]=g.trackItemDetailsMap[I],h.trackItemsMap[I]=g.trackItemsMap[I],v.push(g.tracks.find(m=>m.items.includes(I)))});const S=new Set;v.filter(I=>S.has(I.id)?!1:(S.add(I),!0)),h.tracks=Array.from(S.keys()),localStorage.setItem("DesignComboTemp",JSON.stringify(h))}}if(u.key===ui){const g=localStorage.getItem("DesignComboTemp");if(!g)return;const _=B(t.getState()),v=JSON.parse(g),h={},S=v.trackItemsMap,I=v.trackItemDetailsMap,m=v.tracks,R=[],C=v.activeIds.map(async A=>{const N=I[A];(N.type==="caption"||N.type==="text")&&N.details.fontUrl&&await nr([{fontFamily:N.details.fontFamily,url:N.details.fontUrl}]);const z=Ie();return h[A]=z,_.trackItemsMap[z]={...S[A],id:z},_.trackItemDetailsMap[z]=N,_.trackItemIds.push(z),!0});await Promise.all(C),m.forEach(A=>{const N=A.items.map(U=>h[U]),z={...A,items:N,id:Ae()};R.push(z)}),_.tracks=[..._.tracks,...R],t.updateState({trackItemDetailsMap:_.trackItemDetailsMap,tracks:_.tracks,trackItemIds:_.trackItemIds,trackItemsMap:_.trackItemsMap},{updateHistory:!0,kind:"update"})}}),x=f.subscribe(async u=>{var d,g,_;if(u.key===oi){const v=B(t.getState()),h=v.trackItemDetailsMap,S=v.trackItemsMap,I=Object.keys((d=u.value)==null?void 0:d.payload);if(!I.length)return;const m=(g=u.value)==null?void 0:g.payload;I.forEach(C=>{const A=m[C];A.details?h[C].details={...h[C].details,...A.details}:m[C].playbackRate&&(S[C].playbackRate=m[C].playbackRate),m[C].metadata&&(S[C].metadata?S[C].metadata={...S[C].metadata,...m[C].metadata}:S[C].metadata=m[C].metadata),m[C].display&&(S[C].display=m[C].display)});const R=re(S);t.updateState({trackItemDetailsMap:{...h},trackItemsMap:{...S},duration:R},{updateHistory:!0,kind:"update:details"})}if(u.key===ci){const v=(_=u.value)==null?void 0:_.payload,h=Object.keys(v)[0],S=Object.values(v)[0],I=B(t.getState()),m=I.trackItemDetailsMap[h],R=m.details;if(S.details){if(S.type==="image"&&S.details.src){const A=await Rr(S.details.src),N=m.details.width||0,z=m.details.height||0;let U=A.width,P=A.height;const F=A.width/A.height;N/z>F?(U=N,P=N/F):(P=z,U=z*F),R.crop={x:0,y:0,height:R.height,width:R.width},S.details.width=U,S.details.height=P}if(S.type==="video"&&S.details.src){const A=await xr(S.details.src),N=m.details.width||0,z=m.details.height||0;let U=A.width,P=A.height;const F=A.width/A.height;N/z>F?(U=N,P=N/F):(P=z,U=z*F),R.crop={x:0,y:0,height:R.height,width:R.width},S.details.width=U,S.details.height=P}m.details={...R,...S.details},S.details=m.details}const C={...m,...S};I.trackItemDetailsMap[h]=C,I.trackItemsMap[h]={...I.trackItemsMap[h],type:S.type},t.updateState({trackItemDetailsMap:{...I.trackItemDetailsMap},trackItemsMap:{...I.trackItemsMap}},{updateHistory:!0,kind:"update:details"})}});return{unsubscribe:()=>{y.unsubscribe(),M.unsubscribe(),x.unsubscribe(),D.unsubscribe(),w.unsubscribe(),k.unsubscribe(),E.unsubscribe()}}}const Xa={Date:!0,RegExp:!0,String:!0,Number:!0};function Oi(t,r,n={cyclesFix:!0},i=[]){var p,k;let s=[];const c=Array.isArray(t);for(const D in t){const E=t[D],w=c?+D:D;if(!(D in r)){s.push({type:"REMOVE",path:[w],oldValue:t[D]});continue}const y=r[D],M=typeof E=="object"&&typeof y=="object"&&Array.isArray(E)===Array.isArray(y);if(E&&y&&M&&!Xa[(k=(p=Object.getPrototypeOf(E))==null?void 0:p.constructor)==null?void 0:k.name]&&(!n.cyclesFix||!i.includes(E))){const x=Oi(E,y,n,n.cyclesFix?i.concat([E]):[]);s.push.apply(s,x.map(u=>(u.path.unshift(w),u)))}else E!==y&&!(Number.isNaN(E)&&Number.isNaN(y))&&!(M&&(isNaN(E)?E+""==y+"":+E==+y))&&s.push({path:[w],type:"CHANGE",value:y,oldValue:E})}const f=Array.isArray(r);for(const D in r)D in t||s.push({type:"CREATE",path:[f?+D:D],value:r[D]});return s}var Fr=Symbol.for("immer-nothing"),Pe=Symbol.for("immer-draftable"),St=Symbol.for("immer-state"),Pi=process.env.NODE_ENV!=="production"?[function(t){return`The plugin for '${t}' has not been loaded into Immer. To enable the plugin, import and call \`enable${t}()\` when initializing your application.`},function(t){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${t}'`},"This object has been frozen and should not be mutated",function(t){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+t},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(t){return`'current' expects a draft, got: ${t}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(t){return`'original' expects a draft, got: ${t}`}]:[];function tt(t,...r){if(process.env.NODE_ENV!=="production"){const n=Pi[t],i=typeof n=="function"?n.apply(null,r):n;throw new Error(`[Immer] ${i}`)}throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var ne=Object.getPrototypeOf;function ie(t){return!!t&&!!t[St]}function Jt(t){var r;return t?Ci(t)||Array.isArray(t)||!!t[Pe]||!!((r=t.constructor)!=null&&r[Pe])||xe(t)||Le(t):!1}var Ba=Object.prototype.constructor.toString();function Ci(t){if(!t||typeof t!="object")return!1;const r=ne(t);if(r===null)return!0;const n=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===Ba}function Ce(t,r){ae(t)===0?Reflect.ownKeys(t).forEach(n=>{r(n,t[n],t)}):t.forEach((n,i)=>r(i,n,t))}function ae(t){const r=t[St];return r?r.type_:Array.isArray(t)?1:xe(t)?2:Le(t)?3:0}function Re(t,r){return ae(t)===2?t.has(r):Object.prototype.hasOwnProperty.call(t,r)}function Nr(t,r){return ae(t)===2?t.get(r):t[r]}function Ri(t,r,n){const i=ae(t);i===2?t.set(r,n):i===3?t.add(n):t[r]=n}function Ka(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}function xe(t){return t instanceof Map}function Le(t){return t instanceof Set}function se(t){return t.copy_||t.base_}function jr(t,r){if(xe(t))return new Map(t);if(Le(t))return new Set(t);if(Array.isArray(t))return Array.prototype.slice.call(t);const n=Ci(t);if(r===!0||r==="class_only"&&!n){const i=Object.getOwnPropertyDescriptors(t);delete i[St];let s=Reflect.ownKeys(i);for(let c=0;c<s.length;c++){const f=s[c],p=i[f];p.writable===!1&&(p.writable=!0,p.configurable=!0),(p.get||p.set)&&(i[f]={configurable:!0,writable:!0,enumerable:p.enumerable,value:t[f]})}return Object.create(ne(t),i)}else{const i=ne(t);if(i!==null&&n)return{...t};const s=Object.create(i);return Object.assign(s,t)}}function Hr(t,r=!1){return ar(t)||ie(t)||!Jt(t)||(ae(t)>1&&(t.set=t.add=t.clear=t.delete=Va),Object.freeze(t),r&&Object.entries(t).forEach(([n,i])=>Hr(i,!0))),t}function Va(){tt(2)}function ar(t){return Object.isFrozen(t)}var zr={};function oe(t){const r=zr[t];return r||tt(0,t),r}function Ja(t,r){zr[t]||(zr[t]=r)}var Fe;function xi(){return Fe}function Za(t,r){return{drafts_:[],parent_:t,immer_:r,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Li(t,r){r&&(oe("Patches"),t.patches_=[],t.inversePatches_=[],t.patchListener_=r)}function $r(t){Ur(t),t.drafts_.forEach(qa),t.drafts_=null}function Ur(t){t===Fe&&(Fe=t.parent_)}function Fi(t){return Fe=Za(Fe,t)}function qa(t){const r=t[St];r.type_===0||r.type_===1?r.revoke_():r.revoked_=!0}function Ni(t,r){r.unfinalizedDrafts_=r.drafts_.length;const n=r.drafts_[0];return t!==void 0&&t!==n?(n[St].modified_&&($r(r),tt(4)),Jt(t)&&(t=sr(r,t),r.parent_||or(r,t)),r.patches_&&oe("Patches").generateReplacementPatches_(n[St].base_,t,r.patches_,r.inversePatches_)):t=sr(r,n,[]),$r(r),r.patches_&&r.patchListener_(r.patches_,r.inversePatches_),t!==Fr?t:void 0}function sr(t,r,n){if(ar(r))return r;const i=r[St];if(!i)return Ce(r,(s,c)=>ji(t,i,r,s,c,n)),r;if(i.scope_!==t)return r;if(!i.modified_)return or(t,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const s=i.copy_;let c=s,f=!1;i.type_===3&&(c=new Set(s),s.clear(),f=!0),Ce(c,(p,k)=>ji(t,i,s,p,k,n,f)),or(t,s,!1),n&&t.patches_&&oe("Patches").generatePatches_(i,n,t.patches_,t.inversePatches_)}return i.copy_}function ji(t,r,n,i,s,c,f){if(process.env.NODE_ENV!=="production"&&s===n&&tt(5),ie(s)){const p=c&&r&&r.type_!==3&&!Re(r.assigned_,i)?c.concat(i):void 0,k=sr(t,s,p);if(Ri(n,i,k),ie(k))t.canAutoFreeze_=!1;else return}else f&&n.add(s);if(Jt(s)&&!ar(s)){if(!t.immer_.autoFreeze_&&t.unfinalizedDrafts_<1)return;sr(t,s),(!r||!r.scope_.parent_)&&typeof i!="symbol"&&Object.prototype.propertyIsEnumerable.call(n,i)&&or(t,s)}}function or(t,r,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&Hr(r,n)}function Qa(t,r){const n=Array.isArray(t),i={type_:n?1:0,scope_:r?r.scope_:xi(),modified_:!1,finalized_:!1,assigned_:{},parent_:r,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1};let s=i,c=Yr;n&&(s=[i],c=Ne);const{revoke:f,proxy:p}=Proxy.revocable(s,c);return i.draft_=p,i.revoke_=f,p}var Yr={get(t,r){if(r===St)return t;const n=se(t);if(!Re(n,r))return ts(t,n,r);const i=n[r];return t.finalized_||!Jt(i)?i:i===Gr(t.base_,r)?(Xr(t),t.copy_[r]=Br(i,t)):i},has(t,r){return r in se(t)},ownKeys(t){return Reflect.ownKeys(se(t))},set(t,r,n){const i=Hi(se(t),r);if(i!=null&&i.set)return i.set.call(t.draft_,n),!0;if(!t.modified_){const s=Gr(se(t),r),c=s==null?void 0:s[St];if(c&&c.base_===n)return t.copy_[r]=n,t.assigned_[r]=!1,!0;if(Ka(n,s)&&(n!==void 0||Re(t.base_,r)))return!0;Xr(t),Wr(t)}return t.copy_[r]===n&&(n!==void 0||r in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[r])||(t.copy_[r]=n,t.assigned_[r]=!0),!0},deleteProperty(t,r){return Gr(t.base_,r)!==void 0||r in t.base_?(t.assigned_[r]=!1,Xr(t),Wr(t)):delete t.assigned_[r],t.copy_&&delete t.copy_[r],!0},getOwnPropertyDescriptor(t,r){const n=se(t),i=Reflect.getOwnPropertyDescriptor(n,r);return i&&{writable:!0,configurable:t.type_!==1||r!=="length",enumerable:i.enumerable,value:n[r]}},defineProperty(){tt(11)},getPrototypeOf(t){return ne(t.base_)},setPrototypeOf(){tt(12)}},Ne={};Ce(Yr,(t,r)=>{Ne[t]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}}),Ne.deleteProperty=function(t,r){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(r))&&tt(13),Ne.set.call(this,t,r,void 0)},Ne.set=function(t,r,n){return process.env.NODE_ENV!=="production"&&r!=="length"&&isNaN(parseInt(r))&&tt(14),Yr.set.call(this,t[0],r,n,t[0])};function Gr(t,r){const n=t[St];return(n?se(n):t)[r]}function ts(t,r,n){var s;const i=Hi(r,n);return i?"value"in i?i.value:(s=i.get)==null?void 0:s.call(t.draft_):void 0}function Hi(t,r){if(!(r in t))return;let n=ne(t);for(;n;){const i=Object.getOwnPropertyDescriptor(n,r);if(i)return i;n=ne(n)}}function Wr(t){t.modified_||(t.modified_=!0,t.parent_&&Wr(t.parent_))}function Xr(t){t.copy_||(t.copy_=jr(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var es=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(r,n,i)=>{if(typeof r=="function"&&typeof n!="function"){const c=n;n=r;const f=this;return function(k=c,...D){return f.produce(k,E=>n.call(this,E,...D))}}typeof n!="function"&&tt(6),i!==void 0&&typeof i!="function"&&tt(7);let s;if(Jt(r)){const c=Fi(this),f=Br(r,void 0);let p=!0;try{s=n(f),p=!1}finally{p?$r(c):Ur(c)}return Li(c,i),Ni(s,c)}else if(!r||typeof r!="object"){if(s=n(r),s===void 0&&(s=r),s===Fr&&(s=void 0),this.autoFreeze_&&Hr(s,!0),i){const c=[],f=[];oe("Patches").generateReplacementPatches_(r,s,c,f),i(c,f)}return s}else tt(1,r)},this.produceWithPatches=(r,n)=>{if(typeof r=="function")return(f,...p)=>this.produceWithPatches(f,k=>r(k,...p));let i,s;return[this.produce(r,n,(f,p)=>{i=f,s=p}),i,s]},typeof(t==null?void 0:t.autoFreeze)=="boolean"&&this.setAutoFreeze(t.autoFreeze),typeof(t==null?void 0:t.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(t.useStrictShallowCopy)}createDraft(t){Jt(t)||tt(8),ie(t)&&(t=rs(t));const r=Fi(this),n=Br(t,void 0);return n[St].isManual_=!0,Ur(r),n}finishDraft(t,r){const n=t&&t[St];(!n||!n.isManual_)&&tt(9);const{scope_:i}=n;return Li(i,r),Ni(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const s=r[n];if(s.path.length===0&&s.op==="replace"){t=s.value;break}}n>-1&&(r=r.slice(n+1));const i=oe("Patches").applyPatches_;return ie(t)?i(t,r):this.produce(t,s=>i(s,r))}};function Br(t,r){const n=xe(t)?oe("MapSet").proxyMap_(t,r):Le(t)?oe("MapSet").proxySet_(t,r):Qa(t,r);return(r?r.scope_:xi()).drafts_.push(n),n}function rs(t){return ie(t)||tt(10,t),zi(t)}function zi(t){if(!Jt(t)||ar(t))return t;const r=t[St];let n;if(r){if(!r.modified_)return r.base_;r.finalized_=!0,n=jr(t,r.scope_.immer_.useStrictShallowCopy_)}else n=jr(t,!0);return Ce(n,(i,s)=>{Ri(n,i,zi(s))}),r&&(r.finalized_=!1),n}function $i(){process.env.NODE_ENV!=="production"&&Pi.push('Sets cannot have "replace" patches.',function(y){return"Unsupported patch operation: "+y},function(y){return"Cannot apply patch, path doesn't resolve: "+y},"Patching reserved attributes like __proto__, prototype and constructor is not allowed");const r="replace",n="add",i="remove";function s(y,M,x,u){switch(y.type_){case 0:case 2:return f(y,M,x,u);case 1:return c(y,M,x,u);case 3:return p(y,M,x,u)}}function c(y,M,x,u){let{base_:d,assigned_:g}=y,_=y.copy_;_.length<d.length&&([d,_]=[_,d],[x,u]=[u,x]);for(let v=0;v<d.length;v++)if(g[v]&&_[v]!==d[v]){const h=M.concat([v]);x.push({op:r,path:h,value:w(_[v])}),u.push({op:r,path:h,value:w(d[v])})}for(let v=d.length;v<_.length;v++){const h=M.concat([v]);x.push({op:n,path:h,value:w(_[v])})}for(let v=_.length-1;d.length<=v;--v){const h=M.concat([v]);u.push({op:i,path:h})}}function f(y,M,x,u){const{base_:d,copy_:g}=y;Ce(y.assigned_,(_,v)=>{const h=Nr(d,_),S=Nr(g,_),I=v?Re(d,_)?r:n:i;if(h===S&&I===r)return;const m=M.concat(_);x.push(I===i?{op:I,path:m}:{op:I,path:m,value:S}),u.push(I===n?{op:i,path:m}:I===i?{op:n,path:m,value:w(h)}:{op:r,path:m,value:w(h)})})}function p(y,M,x,u){let{base_:d,copy_:g}=y,_=0;d.forEach(v=>{if(!g.has(v)){const h=M.concat([_]);x.push({op:i,path:h,value:v}),u.unshift({op:n,path:h,value:v})}_++}),_=0,g.forEach(v=>{if(!d.has(v)){const h=M.concat([_]);x.push({op:n,path:h,value:v}),u.unshift({op:i,path:h,value:v})}_++})}function k(y,M,x,u){x.push({op:r,path:[],value:M===Fr?void 0:M}),u.push({op:r,path:[],value:y})}function D(y,M){return M.forEach(x=>{const{path:u,op:d}=x;let g=y;for(let S=0;S<u.length-1;S++){const I=ae(g);let m=u[S];typeof m!="string"&&typeof m!="number"&&(m=""+m),(I===0||I===1)&&(m==="__proto__"||m==="constructor")&&tt(19),typeof g=="function"&&m==="prototype"&&tt(19),g=Nr(g,m),typeof g!="object"&&tt(18,u.join("/"))}const _=ae(g),v=E(x.value),h=u[u.length-1];switch(d){case r:switch(_){case 2:return g.set(h,v);case 3:tt(16);default:return g[h]=v}case n:switch(_){case 1:return h==="-"?g.push(v):g.splice(h,0,v);case 2:return g.set(h,v);case 3:return g.add(v);default:return g[h]=v}case i:switch(_){case 1:return g.splice(h,1);case 2:return g.delete(h);case 3:return g.delete(x.value);default:return delete g[h]}default:tt(17,d)}}),y}function E(y){if(!Jt(y))return y;if(Array.isArray(y))return y.map(E);if(xe(y))return new Map(Array.from(y.entries()).map(([x,u])=>[x,E(u)]));if(Le(y))return new Set(Array.from(y).map(E));const M=Object.create(ne(y));for(const x in y)M[x]=E(y[x]);return Re(y,Pe)&&(M[Pe]=y[Pe]),M}function w(y){return ie(y)?E(y):y}Ja("Patches",{applyPatches_:D,generatePatches_:s,generateReplacementPatches_:k})}var Et=new es,ns=Et.produce;Et.produceWithPatches.bind(Et),Et.setAutoFreeze.bind(Et),Et.setUseStrictShallowCopy.bind(Et);var is=Et.applyPatches.bind(Et);Et.createDraft.bind(Et),Et.finishDraft.bind(Et);var as=1/0,ss=9007199254740991,os="[object Arguments]",cs="[object Function]",us="[object GeneratorFunction]",ls="[object Symbol]",ds=typeof At=="object"&&At&&At.Object===Object&&At,fs=typeof self=="object"&&self&&self.Object===Object&&self,ps=ds||fs||Function("return this")();function hs(t,r,n){switch(n.length){case 0:return t.call(r);case 1:return t.call(r,n[0]);case 2:return t.call(r,n[0],n[1]);case 3:return t.call(r,n[0],n[1],n[2])}return t.apply(r,n)}function ms(t,r){for(var n=-1,i=t?t.length:0,s=Array(i);++n<i;)s[n]=r(t[n],n,t);return s}function ys(t,r){for(var n=-1,i=r.length,s=t.length;++n<i;)t[s+n]=r[n];return t}var Kr=Object.prototype,Is=Kr.hasOwnProperty,Vr=Kr.toString,Ui=ps.Symbol,gs=Kr.propertyIsEnumerable,Yi=Ui?Ui.isConcatSpreadable:void 0,Gi=Math.max;function _s(t,r,n,i,s){var c=-1,f=t.length;for(n||(n=Es),s||(s=[]);++c<f;){var p=t[c];n(p)?ys(s,p):s[s.length]=p}return s}function bs(t,r){return t=Object(t),vs(t,r,function(n,i){return i in t})}function vs(t,r,n){for(var i=-1,s=r.length,c={};++i<s;){var f=r[i],p=t[f];n(p,f)&&(c[f]=p)}return c}function Ss(t,r){return r=Gi(r===void 0?t.length-1:r,0),function(){for(var n=arguments,i=-1,s=Gi(n.length-r,0),c=Array(s);++i<s;)c[i]=n[r+i];i=-1;for(var f=Array(r+1);++i<r;)f[i]=n[i];return f[r]=c,hs(t,this,f)}}function Es(t){return ws(t)||Ts(t)||!!(Yi&&t&&t[Yi])}function ks(t){if(typeof t=="string"||Cs(t))return t;var r=t+"";return r=="0"&&1/t==-as?"-0":r}function Ts(t){return As(t)&&Is.call(t,"callee")&&(!gs.call(t,"callee")||Vr.call(t)==os)}var ws=Array.isArray;function Ms(t){return t!=null&&Os(t.length)&&!Ds(t)}function As(t){return Wi(t)&&Ms(t)}function Ds(t){var r=Ps(t)?Vr.call(t):"";return r==cs||r==us}function Os(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=ss}function Ps(t){var r=typeof t;return!!t&&(r=="object"||r=="function")}function Wi(t){return!!t&&typeof t=="object"}function Cs(t){return typeof t=="symbol"||Wi(t)&&Vr.call(t)==ls}var Rs=Ss(function(t,r){return t==null?{}:bs(t,ms(_s(r),ks))}),xs=Rs;const Xi=Pr(xs),Ls={size:{width:1080,height:1920},fps:30,tracks:[],trackItemIds:[],trackItemsMap:{},transitionIds:[],transitionsMap:{},scale:{unit:1,zoom:1,segments:1,index:1},duration:0,activeIds:[],trackItemDetailsMap:{},structure:[]},Bi=["tracks","trackItemsMap","trackItemDetailsMap","transitionIds","transitionsMap","trackItemIds","structure"];class Fs{constructor(r){ye(this,"stateSubject");ye(this,"stateHistorySubject");ye(this,"prevState");ye(this,"undos",[]);ye(this,"redos",[]);ye(this,"listener");const n=Object.assign({},Ls,r);this.stateSubject=new Bn(n),this.stateHistorySubject=new Bn({handleRedo:!1,handleUndo:!1}),this.prevState=n,this.initListeners()}initListeners(){Wa(this)}destroyListeners(){this.listener&&this.listener.unsubscribe()}purge(){this.destroyListeners()}updateHistory(r,n){const i=Xi(r,Bi),s=Xi(this.getState(),Bi),c=Oi(s,i);c.length&&(this.undos.push({undos:c,type:n}),this.redos=[])}getStateHistory(){return this.stateHistorySubject.getValue()}subscribeHistory(r){return this.stateHistorySubject.subscribe(r)}getState(){return this.stateSubject.getValue()}subscribe(r){return this.stateSubject.subscribe(r)}updateState(r,n={updateHistory:!1}){const i=this.getState(),s={...B(i),...B(r)};at(i,s)||(n.updateHistory&&this.updateHistory(s,n.kind),this.prevState=i,this.stateSubject.next(s))}subscribeToSize(r){return this.stateSubject.asObservable().subscribe(n=>{at(n.size,this.prevState.size)||r({size:n.size})})}subscribeToScale(r){return this.stateSubject.asObservable().subscribe(n=>{at(n.scale,this.prevState.scale)||r({scale:n.scale})})}subscribeToFps(r){return this.stateSubject.asObservable().subscribe(n=>{n.fps!==this.prevState.fps&&r({fps:n.fps})})}subscribeToUpdateTrackItem(r){return this.stateSubject.asObservable().subscribe(n=>{at(n.trackItemsMap,this.prevState.trackItemsMap)||r({trackItemsMap:n.trackItemsMap})})}subscribeToUpdateAnimations(r){return this.stateSubject.asObservable().subscribe(n=>{const i=Object.keys(n.trackItemsMap).filter(s=>{const c=this.prevState.trackItemsMap[s],f=n.trackItemsMap[s];return c&&f&&!at(c.animations,f.animations)});r({trackItemsMap:n.trackItemsMap,changedAnimationIds:i})})}subscribeToUpdateTrackItemTiming(r){return this.stateSubject.asObservable().subscribe(n=>{if(!at(n.trackItemsMap,this.prevState.trackItemsMap)){const i=Object.keys(n.trackItemsMap).filter(c=>{const f=this.prevState.trackItemsMap[c],p=n.trackItemsMap[c];return f&&p&&!at(f.trim,p.trim)}),s=Object.keys(n.trackItemsMap).filter(c=>{const f=this.prevState.trackItemsMap[c],p=n.trackItemsMap[c];return f&&p&&!at(f.display,p.display)});r({trackItemsMap:n.trackItemsMap,changedTrimIds:i.length>0?i:void 0,changedDisplayIds:s.length>0?s:void 0})}})}subscribeToUpdateItemDetails(r){return this.stateSubject.asObservable().subscribe(n=>{at(n.trackItemDetailsMap,this.prevState.trackItemDetailsMap)||r({trackItemDetailsMap:n.trackItemDetailsMap})})}subscribeToDuration(r){return this.stateSubject.asObservable().subscribe(n=>{n.duration!==this.prevState.duration&&r({duration:n.duration})})}subscribeToHistory(r){return this.stateHistorySubject.asObservable().subscribe(n=>{if(n.handleRedo){const i=this.undos[this.undos.length-1].type;r({...this.getState(),type:i}),this.stateHistorySubject.next({handleRedo:!1,handleUndo:!1})}if(n.handleUndo){const i=this.redos[this.redos.length-1].type;r({...this.getState(),type:i}),this.stateHistorySubject.next({handleRedo:!1,handleUndo:!1})}})}subscribeToAddOrRemoveItems(r){return this.stateSubject.asObservable().subscribe(n=>{const i=[...n.trackItemIds].sort(),s=[...this.prevState.trackItemIds].sort();at(i,s)||r({trackItemIds:n.trackItemIds})})}subscribeToActiveIds(r){return this.stateSubject.asObservable().subscribe(n=>{at(n.activeIds,this.prevState.activeIds)||r({activeIds:n.activeIds})})}subscribeToTracks(r){return this.stateSubject.asObservable().subscribe(n=>{const i=n.tracks,c=this.prevState.tracks.map(p=>p.id),f=i.filter(p=>!c.includes(p.id));f.length&&r({tracks:n.tracks,changedTracks:f.map(p=>p.id)})})}subscribeToState(r){return this.stateSubject.asObservable().subscribe(n=>{(!at(n.tracks,this.prevState.tracks)||!at(n.trackItemIds,this.prevState.trackItemIds)||!at(n.trackItemsMap,this.prevState.trackItemsMap)||!at(n.transitionIds,this.prevState.transitionIds)||!at(n.transitionsMap,this.prevState.transitionsMap)||!at(n.trackItemDetailsMap,this.prevState.trackItemDetailsMap)||!at(n.structure,this.prevState.structure))&&r({tracks:n.tracks,trackItemIds:n.trackItemIds,trackItemsMap:n.trackItemsMap,transitionIds:n.transitionIds,transitionsMap:n.transitionsMap,trackItemDetailsMap:n.trackItemDetailsMap,structure:n.structure})})}undo(){const r=this.undos.pop(),n=r==null?void 0:r.undos,i=r==null?void 0:r.type;if(!n||!i)return;$i();const{trackItemDetailsMap:s,trackItemIds:c,tracks:f,transitionIds:p,transitionsMap:k,trackItemsMap:D,structure:E}=this.getState(),w=B({trackItemDetailsMap:s,trackItemIds:c,tracks:f,transitionIds:p,transitionsMap:k,trackItemsMap:D,structure:E}),y=[],M=[],x=[],u=[],d=[],g=[],_=[];n.forEach(P=>{let F;const J=P.path.slice(1);P.type==="CREATE"?F={path:J,op:"remove",value:P.value}:P.type==="CHANGE"?F={path:J,op:"replace",value:P.oldValue}:F={path:J,op:"add",value:P.oldValue},P.path.includes("trackItemIds")?x.push(F):P.path.includes("transitionIds")?M.push(F):P.path.includes("trackItemsMap")?d.push(F):P.path.includes("transitionsMap")?u.push(F):P.path.includes("tracks")?y.push(F):P.path.includes("trackItemDetailsMap")?g.push(F):P.path.includes("structure")&&_.push(F)});const v=this.applyPatch(w.tracks,y),h=this.applyPatch(w.transitionIds,M),S=this.applyPatch(w.trackItemIds,x),I=this.applyPatch(w.transitionsMap,u),m=this.applyPatch(w.trackItemsMap,d),R=this.applyPatch(w.trackItemDetailsMap,g),C=this.applyPatch(w.structure,_),A=B({tracks:v,transitionIds:h,trackItemIds:S,transitionsMap:I,trackItemsMap:m,trackItemDetailsMap:R,structure:C}),N=B(this.getState()),z={...N,...A};this.prevState=N,this.redos.push({redos:n,type:i});const U=re(z.trackItemsMap);this.stateSubject.next({...z,duration:U}),this.stateHistorySubject.next({handleRedo:!1,handleUndo:!0}),this.updateState(z,{updateHistory:!1})}applyPatch(r,n){return n.reverse().reduce((i,s)=>ns(i,c=>{is(c,[s])}),r)}redo(){const r=this.redos.pop(),n=r==null?void 0:r.redos,i=r==null?void 0:r.type;if(!n||!i)return;$i();const{trackItemDetailsMap:s,trackItemIds:c,tracks:f,transitionIds:p,transitionsMap:k,trackItemsMap:D,structure:E}=this.getState(),w=B({trackItemDetailsMap:s,trackItemIds:c,tracks:f,transitionIds:p,transitionsMap:k,trackItemsMap:D,structure:E}),y=[],M=[],x=[],u=[],d=[],g=[],_=[];n.forEach(P=>{let F;const J=P.path.slice(1);P.type==="CREATE"?F={path:J,op:"add",value:P.value}:P.type==="CHANGE"?F={path:J,op:"replace",value:P.value}:F={path:J,op:"remove",value:P.oldValue},P.path.includes("trackItemIds")?x.push(F):P.path.includes("transitionIds")?M.push(F):P.path.includes("trackItemsMap")?d.push(F):P.path.includes("transitionsMap")?u.push(F):P.path.includes("trackItemDetailsMap")?g.push(F):P.path.includes("structure")?_.push(F):y.push(F)});const v=this.applyPatch(w.tracks,y),h=this.applyPatch(w.transitionIds,M),S=this.applyPatch(w.trackItemIds,x),I=this.applyPatch(w.transitionsMap,u),m=this.applyPatch(w.trackItemsMap,d),R=this.applyPatch(w.trackItemDetailsMap,g),C=this.applyPatch(w.structure,_),A=B({tracks:v,transitionIds:h,trackItemIds:S,transitionsMap:I,trackItemsMap:m,trackItemDetailsMap:R,structure:C}),N=B(this.getState()),z={...N,...A};this.prevState=N,this.undos.push({undos:n,type:i});const U=re(z.trackItemsMap);this.stateSubject.next({...z,duration:U}),this.stateHistorySubject.next({handleRedo:!0,handleUndo:!1}),this.updateState(z,{updateHistory:!1})}toJSON(){const{fps:r,tracks:n,size:i,trackItemDetailsMap:s,trackItemIds:c,transitionsMap:f,trackItemsMap:p,transitionIds:k}=this.getState();return{fps:r,tracks:n,size:i,trackItemDetailsMap:s,trackItemIds:c,transitionsMap:f,trackItemsMap:p,transitionIds:k}}}b.ACTIVE_CLONE=li,b.ACTIVE_DELETE=ba,b.ACTIVE_PASTE=ui,b.ACTIVE_PREFIX=ee,b.ACTIVE_SET=_a,b.ACTIVE_SPLIT=di,b.ADD_ANIMATION=ni,b.ADD_AUDIO=ei,b.ADD_CAPTIONS=ii,b.ADD_IMAGE=ri,b.ADD_ITEMS=si,b.ADD_MASK=fa,b.ADD_PLACEHOLDER=da,b.ADD_PREFIX=vt,b.ADD_SUFFIX=oa,b.ADD_TEMPLATE=ai,b.ADD_TEXT=Qn,b.ADD_TRANSITION=pa,b.ADD_VIDEO=ti,b.DELETE_TEMPLATE_ITEM=Ia,b.DESIGN_LOAD=Zn,b.DESIGN_PREFIX=er,b.DESIGN_RESIZE=qn,b.EDIT_OBJECT=oi,b.EDIT_PREFIX=Vt,b.EDIT_SHAPE=ma,b.EDIT_TEMPLATE_ITEM=ya,b.EDIT_TEXT=ha,b.ENTER_EDIT_MODE=ga,b.HISTORY_PREFIX=Me,b.HISTORY_REDO=yi,b.HISTORY_RESET=Ra,b.HISTORY_UNDO=mi,b.LAYER_CLONE=fi,b.LAYER_COPY=Da,b.LAYER_CUT=Ca,b.LAYER_DELETE=pi,b.LAYER_EDITING_NAME=Aa,b.LAYER_HIDDEN=Sa,b.LAYER_LOCKED=va,b.LAYER_MOVE=Ea,b.LAYER_PASTE=Oa,b.LAYER_PREFIX=st,b.LAYER_RENAME=Ma,b.LAYER_REPLACE=hi,b.LAYER_SELECT=ka,b.LAYER_SELECTION=Ta,b.LAYER_SEND_TO=wa,b.LAYER_SPLIT=Pa,b.REPLACE_MEDIA=ci,b.STATE_CHANGED=la,b.STATE_PREFIX=Jn,b.TIMELINE_SCALE_CHANGED=Ii,b.TIMELINE_SCALE_PREFIX=Cr,b.TRACKS_CHANGED=ca,b.TRACK_ITEMS_CHANGED=ua,b.TRACK_ITEMS_PREFIX=Vn,b.TRACK_PREFIX=Kn,b.default=Fs,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/state.d.ts
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { IKindHistory, IStateManager, ITrack, IUpdateStateOptions, State } from '@cliquify.me/types';
|
|
2
|
+
import { Difference } from 'microdiff';
|
|
3
|
+
import { Patch } from 'immer';
|
|
4
|
+
|
|
5
|
+
interface StateHistory {
|
|
6
|
+
handleUndo: boolean;
|
|
7
|
+
handleRedo: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare class StateManager implements IStateManager {
|
|
10
|
+
private stateSubject;
|
|
11
|
+
private stateHistorySubject;
|
|
12
|
+
private prevState;
|
|
13
|
+
undos: {
|
|
14
|
+
undos: Difference[];
|
|
15
|
+
type: IKindHistory;
|
|
16
|
+
}[];
|
|
17
|
+
redos: {
|
|
18
|
+
redos: Difference[];
|
|
19
|
+
type: IKindHistory;
|
|
20
|
+
}[];
|
|
21
|
+
private listener;
|
|
22
|
+
constructor(state?: Partial<State>);
|
|
23
|
+
initListeners(): void;
|
|
24
|
+
destroyListeners(): void;
|
|
25
|
+
purge(): void;
|
|
26
|
+
updateHistory(newState: State, type: IKindHistory): void;
|
|
27
|
+
getStateHistory(): StateHistory;
|
|
28
|
+
subscribeHistory(callback: (history: StateHistory) => void): import('rxjs').Subscription;
|
|
29
|
+
getState(): State;
|
|
30
|
+
subscribe(callback: (state: State) => void): import('rxjs').Subscription;
|
|
31
|
+
updateState(partialState: Partial<State>, options?: IUpdateStateOptions): void;
|
|
32
|
+
subscribeToSize(callback: (size: {
|
|
33
|
+
size: State["size"];
|
|
34
|
+
}) => void): import('rxjs').Subscription;
|
|
35
|
+
subscribeToScale(callback: (v: {
|
|
36
|
+
scale: State["scale"];
|
|
37
|
+
}) => void): import('rxjs').Subscription;
|
|
38
|
+
subscribeToFps(callback: (fps: {
|
|
39
|
+
fps: State["fps"];
|
|
40
|
+
}) => void): import('rxjs').Subscription;
|
|
41
|
+
subscribeToUpdateTrackItem(callback: (trackItemUpdate: {
|
|
42
|
+
trackItemsMap: State["trackItemsMap"];
|
|
43
|
+
}) => void): import('rxjs').Subscription;
|
|
44
|
+
subscribeToUpdateAnimations(callback: (trackItemUpdate: {
|
|
45
|
+
trackItemsMap: State["trackItemsMap"];
|
|
46
|
+
changedAnimationIds?: string[];
|
|
47
|
+
}) => void): import('rxjs').Subscription;
|
|
48
|
+
subscribeToUpdateTrackItemTiming(callback: (trackItemUpdate: {
|
|
49
|
+
trackItemsMap: State["trackItemsMap"];
|
|
50
|
+
changedTrimIds?: string[];
|
|
51
|
+
changedDisplayIds?: string[];
|
|
52
|
+
}) => void): import('rxjs').Subscription;
|
|
53
|
+
subscribeToUpdateItemDetails(callback: (trackItemDetailsMap: {
|
|
54
|
+
trackItemDetailsMap: State["trackItemDetailsMap"];
|
|
55
|
+
}) => void): import('rxjs').Subscription;
|
|
56
|
+
subscribeToDuration(callback: (duration: {
|
|
57
|
+
duration: State["duration"];
|
|
58
|
+
}) => void): import('rxjs').Subscription;
|
|
59
|
+
subscribeToHistory(callback: (history: {
|
|
60
|
+
tracks: State["tracks"];
|
|
61
|
+
trackItemsMap: State["trackItemsMap"];
|
|
62
|
+
trackItemDetailsMap: State["trackItemDetailsMap"];
|
|
63
|
+
trackItemIds: State["trackItemIds"];
|
|
64
|
+
transitionIds: State["transitionIds"];
|
|
65
|
+
transitionsMap: State["transitionsMap"];
|
|
66
|
+
type: IKindHistory;
|
|
67
|
+
}) => void): import('rxjs').Subscription;
|
|
68
|
+
subscribeToAddOrRemoveItems(callback: (trackItemIds: {
|
|
69
|
+
trackItemIds: State["trackItemIds"];
|
|
70
|
+
}) => void): import('rxjs').Subscription;
|
|
71
|
+
subscribeToActiveIds(callback: (activeIds: {
|
|
72
|
+
activeIds: State["activeIds"];
|
|
73
|
+
}) => void): import('rxjs').Subscription;
|
|
74
|
+
subscribeToTracks(callback: (tracksUpdate: {
|
|
75
|
+
tracks: State["tracks"];
|
|
76
|
+
changedTracks: string[];
|
|
77
|
+
}) => void): import('rxjs').Subscription;
|
|
78
|
+
subscribeToState(callback: (tracksInfo: {
|
|
79
|
+
tracks: State["tracks"];
|
|
80
|
+
trackItemIds: State["trackItemIds"];
|
|
81
|
+
trackItemsMap: State["trackItemsMap"];
|
|
82
|
+
transitionIds: State["transitionIds"];
|
|
83
|
+
transitionsMap: State["transitionsMap"];
|
|
84
|
+
trackItemDetailsMap: State["trackItemDetailsMap"];
|
|
85
|
+
structure: State["structure"];
|
|
86
|
+
}) => void): import('rxjs').Subscription;
|
|
87
|
+
undo(): void;
|
|
88
|
+
applyPatch(json: any, patches: Patch[]): any;
|
|
89
|
+
redo(): void;
|
|
90
|
+
toJSON(): {
|
|
91
|
+
fps: number;
|
|
92
|
+
tracks: ITrack[];
|
|
93
|
+
size: import('@cliquify.me/types').ISize;
|
|
94
|
+
trackItemDetailsMap: Record<string, import('@cliquify.me/types').IItem>;
|
|
95
|
+
trackItemIds: string[];
|
|
96
|
+
transitionsMap: Record<string, import('@cliquify.me/types').ITransition>;
|
|
97
|
+
trackItemsMap: Record<string, import('@cliquify.me/types').ITrackItem>;
|
|
98
|
+
transitionIds: string[];
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
export default StateManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function cloneDeep<T>(obj: T): T;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ITrack, ITrackItem } from '@cliquify.me/types';
|
|
2
|
+
|
|
3
|
+
export declare const findTargetTrack: (trackItemIds: string[], tracks: ITrack[], trackItemsMap: Record<string, ITrackItem>, trackId?: string, trackIndex?: number) => {
|
|
4
|
+
trackId: string | undefined;
|
|
5
|
+
trackIndex: number | undefined;
|
|
6
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function generateId(length?: number): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ITrackItemsMap, ITransition, ITrackItem } from '@cliquify.me/types';
|
|
2
|
+
|
|
3
|
+
export type GroupElement = ITrackItem | ITransition;
|
|
4
|
+
export declare const groupTrackItems: (data: {
|
|
5
|
+
trackItemIds: string[];
|
|
6
|
+
transitionsMap: Record<string, ITransition>;
|
|
7
|
+
trackItemsMap: ITrackItemsMap;
|
|
8
|
+
}) => GroupElement[][];
|