UNPKG

@imgly/plugin-vectorizer-web

Version:

Vectorizer plugin for the CE.SDK editor

44 lines (41 loc) 28.2 kB
var wt=class{constructor(e,t){this.engine=e,this.key=t}hasData(e){return this.engine.block.isValid(e)&&this.engine.block.hasMetadata(e,this.key)}get(e){if(this.hasData(e))return JSON.parse(this.engine.block.getMetadata(e,this.key))}set(e,t){this.engine.block.setMetadata(e,this.key,JSON.stringify(t))}clear(e){this.engine.block.hasMetadata(e,this.key)&&this.engine.block.removeMetadata(e,this.key)}},It=wt,Ct=typeof global=="object"&&global&&global.Object===Object&&global,De=Ct,At=typeof self=="object"&&self&&self.Object===Object&&self,jt=De||At||Function("return this")(),j=jt,_t=j.Symbol,B=_t,Me=Object.prototype,kt=Me.hasOwnProperty,Et=Me.toString,H=B?B.toStringTag:void 0;function Pt(e){var t=kt.call(e,H),r=e[H];try{e[H]=void 0;var a=!0}catch{}var o=Et.call(e);return a&&(t?e[H]=r:delete e[H]),o}var Ot=Pt,Ft=Object.prototype,Vt=Ft.toString;function Bt(e){return Vt.call(e)}var Rt=Bt,Lt="[object Null]",Nt="[object Undefined]",be=B?B.toStringTag:void 0;function Dt(e){return e==null?e===void 0?Nt:Lt:be&&be in Object(e)?Ot(e):Rt(e)}var G=Dt;function Mt(e){return e!=null&&typeof e=="object"}var U=Mt,Tt=Array.isArray,X=Tt;function Ht(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Te=Ht,zt="[object AsyncFunction]",Ut="[object Function]",$t="[object GeneratorFunction]",Wt="[object Proxy]";function Gt(e){if(!Te(e))return!1;var t=G(e);return t==Ut||t==$t||t==zt||t==Wt}var He=Gt,Zt=j["__core-js_shared__"],se=Zt,xe=function(){var e=/[^.]+$/.exec(se&&se.keys&&se.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function qt(e){return!!xe&&xe in e}var Kt=qt,Xt=Function.prototype,Yt=Xt.toString;function Jt(e){if(e!=null){try{return Yt.call(e)}catch{}try{return e+""}catch{}}return""}var P=Jt,Qt=/[\\^$.*+?()[\]{}|]/g,er=/^\[object .+?Constructor\]$/,tr=Function.prototype,rr=Object.prototype,ar=tr.toString,or=rr.hasOwnProperty,sr=RegExp("^"+ar.call(or).replace(Qt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ir(e){if(!Te(e)||Kt(e))return!1;var t=He(e)?sr:er;return t.test(P(e))}var nr=ir;function lr(e,t){return e?.[t]}var fr=lr;function ur(e,t){var r=fr(e,t);return nr(r)?r:void 0}var R=ur,cr=R(j,"WeakMap"),fe=cr,dr=9007199254740991,pr=/^(?:0|[1-9]\d*)$/;function mr(e,t){var r=typeof e;return t=t??dr,!!t&&(r=="number"||r!="symbol"&&pr.test(e))&&e>-1&&e%1==0&&e<t}var gr=mr;function hr(e,t){return e===t||e!==e&&t!==t}var ze=hr,br=9007199254740991;function xr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=br}var Ue=xr;function vr(e){return e!=null&&Ue(e.length)&&!He(e)}var yr=vr,Sr=Object.prototype;function wr(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Sr;return e===r}var Ir=wr;function Cr(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}var Ar=Cr,jr="[object Arguments]";function _r(e){return U(e)&&G(e)==jr}var ve=_r,$e=Object.prototype,kr=$e.hasOwnProperty,Er=$e.propertyIsEnumerable,Pr=ve(function(){return arguments}())?ve:function(e){return U(e)&&kr.call(e,"callee")&&!Er.call(e,"callee")},Or=Pr;function Fr(){return!1}var Vr=Fr,We=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ye=We&&typeof module=="object"&&module&&!module.nodeType&&module,Br=ye&&ye.exports===We,Se=Br?j.Buffer:void 0,Rr=Se?Se.isBuffer:void 0,Lr=Rr||Vr,ue=Lr,Nr="[object Arguments]",Dr="[object Array]",Mr="[object Boolean]",Tr="[object Date]",Hr="[object Error]",zr="[object Function]",Ur="[object Map]",$r="[object Number]",Wr="[object Object]",Gr="[object RegExp]",Zr="[object Set]",qr="[object String]",Kr="[object WeakMap]",Xr="[object ArrayBuffer]",Yr="[object DataView]",Jr="[object Float32Array]",Qr="[object Float64Array]",ea="[object Int8Array]",ta="[object Int16Array]",ra="[object Int32Array]",aa="[object Uint8Array]",oa="[object Uint8ClampedArray]",sa="[object Uint16Array]",ia="[object Uint32Array]",m={};m[Jr]=m[Qr]=m[ea]=m[ta]=m[ra]=m[aa]=m[oa]=m[sa]=m[ia]=!0;m[Nr]=m[Dr]=m[Xr]=m[Mr]=m[Yr]=m[Tr]=m[Hr]=m[zr]=m[Ur]=m[$r]=m[Wr]=m[Gr]=m[Zr]=m[qr]=m[Kr]=!1;function na(e){return U(e)&&Ue(e.length)&&!!m[G(e)]}var la=na;function fa(e){return function(t){return e(t)}}var ua=fa,Ge=typeof exports=="object"&&exports&&!exports.nodeType&&exports,z=Ge&&typeof module=="object"&&module&&!module.nodeType&&module,ca=z&&z.exports===Ge,ie=ca&&De.process,da=function(){try{var e=z&&z.require&&z.require("util").types;return e||ie&&ie.binding&&ie.binding("util")}catch{}}(),we=da,Ie=we&&we.isTypedArray,pa=Ie?ua(Ie):la,Ze=pa,ma=Object.prototype,ga=ma.hasOwnProperty;function ha(e,t){var r=X(e),a=!r&&Or(e),o=!r&&!a&&ue(e),s=!r&&!a&&!o&&Ze(e),n=r||a||o||s,i=n?Ar(e.length,String):[],f=i.length;for(var l in e)(t||ga.call(e,l))&&!(n&&(l=="length"||o&&(l=="offset"||l=="parent")||s&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||gr(l,f)))&&i.push(l);return i}var ba=ha;function xa(e,t){return function(r){return e(t(r))}}var va=xa,ya=va(Object.keys,Object),Sa=ya,wa=Object.prototype,Ia=wa.hasOwnProperty;function Ca(e){if(!Ir(e))return Sa(e);var t=[];for(var r in Object(e))Ia.call(e,r)&&r!="constructor"&&t.push(r);return t}var Aa=Ca;function ja(e){return yr(e)?ba(e):Aa(e)}var _a=ja,ka=R(Object,"create"),$=ka;function Ea(){this.__data__=$?$(null):{},this.size=0}var Pa=Ea;function Oa(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Fa=Oa,Va="__lodash_hash_undefined__",Ba=Object.prototype,Ra=Ba.hasOwnProperty;function La(e){var t=this.__data__;if($){var r=t[e];return r===Va?void 0:r}return Ra.call(t,e)?t[e]:void 0}var Na=La,Da=Object.prototype,Ma=Da.hasOwnProperty;function Ta(e){var t=this.__data__;return $?t[e]!==void 0:Ma.call(t,e)}var Ha=Ta,za="__lodash_hash_undefined__";function Ua(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=$&&t===void 0?za:t,this}var $a=Ua;function L(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}L.prototype.clear=Pa;L.prototype.delete=Fa;L.prototype.get=Na;L.prototype.has=Ha;L.prototype.set=$a;var Ce=L;function Wa(){this.__data__=[],this.size=0}var Ga=Wa;function Za(e,t){for(var r=e.length;r--;)if(ze(e[r][0],t))return r;return-1}var J=Za,qa=Array.prototype,Ka=qa.splice;function Xa(e){var t=this.__data__,r=J(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():Ka.call(t,r,1),--this.size,!0}var Ya=Xa;function Ja(e){var t=this.__data__,r=J(t,e);return r<0?void 0:t[r][1]}var Qa=Ja;function eo(e){return J(this.__data__,e)>-1}var to=eo;function ro(e,t){var r=this.__data__,a=J(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var ao=ro;function N(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}N.prototype.clear=Ga;N.prototype.delete=Ya;N.prototype.get=Qa;N.prototype.has=to;N.prototype.set=ao;var Q=N,oo=R(j,"Map"),W=oo;function so(){this.size=0,this.__data__={hash:new Ce,map:new(W||Q),string:new Ce}}var io=so;function no(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var lo=no;function fo(e,t){var r=e.__data__;return lo(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ee=fo;function uo(e){var t=ee(this,e).delete(e);return this.size-=t?1:0,t}var co=uo;function po(e){return ee(this,e).get(e)}var mo=po;function go(e){return ee(this,e).has(e)}var ho=go;function bo(e,t){var r=ee(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}var xo=bo;function D(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}D.prototype.clear=io;D.prototype.delete=co;D.prototype.get=mo;D.prototype.has=ho;D.prototype.set=xo;var qe=D;function vo(e,t){for(var r=-1,a=t.length,o=e.length;++r<a;)e[o+r]=t[r];return e}var yo=vo;function So(){this.__data__=new Q,this.size=0}var wo=So;function Io(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Co=Io;function Ao(e){return this.__data__.get(e)}var jo=Ao;function _o(e){return this.__data__.has(e)}var ko=_o,Eo=200;function Po(e,t){var r=this.__data__;if(r instanceof Q){var a=r.__data__;if(!W||a.length<Eo-1)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new qe(a)}return r.set(e,t),this.size=r.size,this}var Oo=Po;function M(e){var t=this.__data__=new Q(e);this.size=t.size}M.prototype.clear=wo;M.prototype.delete=Co;M.prototype.get=jo;M.prototype.has=ko;M.prototype.set=Oo;var ne=M;function Fo(e,t){for(var r=-1,a=e==null?0:e.length,o=0,s=[];++r<a;){var n=e[r];t(n,r,e)&&(s[o++]=n)}return s}var Vo=Fo;function Bo(){return[]}var Ro=Bo,Lo=Object.prototype,No=Lo.propertyIsEnumerable,Ae=Object.getOwnPropertySymbols,Do=Ae?function(e){return e==null?[]:(e=Object(e),Vo(Ae(e),function(t){return No.call(e,t)}))}:Ro,Mo=Do;function To(e,t,r){var a=t(e);return X(e)?a:yo(a,r(e))}var Ho=To;function zo(e){return Ho(e,_a,Mo)}var je=zo,Uo=R(j,"DataView"),ce=Uo,$o=R(j,"Promise"),de=$o,Wo=R(j,"Set"),pe=Wo,_e="[object Map]",Go="[object Object]",ke="[object Promise]",Ee="[object Set]",Pe="[object WeakMap]",Oe="[object DataView]",Zo=P(ce),qo=P(W),Ko=P(de),Xo=P(pe),Yo=P(fe),E=G;(ce&&E(new ce(new ArrayBuffer(1)))!=Oe||W&&E(new W)!=_e||de&&E(de.resolve())!=ke||pe&&E(new pe)!=Ee||fe&&E(new fe)!=Pe)&&(E=function(e){var t=G(e),r=t==Go?e.constructor:void 0,a=r?P(r):"";if(a)switch(a){case Zo:return Oe;case qo:return _e;case Ko:return ke;case Xo:return Ee;case Yo:return Pe}return t});var Fe=E,Jo=j.Uint8Array,Ve=Jo,Qo="__lodash_hash_undefined__";function es(e){return this.__data__.set(e,Qo),this}var ts=es;function rs(e){return this.__data__.has(e)}var as=rs;function Y(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new qe;++t<r;)this.add(e[t])}Y.prototype.add=Y.prototype.push=ts;Y.prototype.has=as;var os=Y;function ss(e,t){for(var r=-1,a=e==null?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}var is=ss;function ns(e,t){return e.has(t)}var ls=ns,fs=1,us=2;function cs(e,t,r,a,o,s){var n=r&fs,i=e.length,f=t.length;if(i!=f&&!(n&&f>i))return!1;var l=s.get(e),u=s.get(t);if(l&&u)return l==t&&u==e;var d=-1,c=!0,y=r&us?new os:void 0;for(s.set(e,t),s.set(t,e);++d<i;){var g=e[d],h=t[d];if(a)var b=n?a(h,g,d,t,e,s):a(g,h,d,e,t,s);if(b!==void 0){if(b)continue;c=!1;break}if(y){if(!is(t,function(x,I){if(!ls(y,I)&&(g===x||o(g,x,r,a,s)))return y.push(I)})){c=!1;break}}else if(!(g===h||o(g,h,r,a,s))){c=!1;break}}return s.delete(e),s.delete(t),c}var Ke=cs;function ds(e){var t=-1,r=Array(e.size);return e.forEach(function(a,o){r[++t]=[o,a]}),r}var ps=ds;function ms(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}var gs=ms,hs=1,bs=2,xs="[object Boolean]",vs="[object Date]",ys="[object Error]",Ss="[object Map]",ws="[object Number]",Is="[object RegExp]",Cs="[object Set]",As="[object String]",js="[object Symbol]",_s="[object ArrayBuffer]",ks="[object DataView]",Be=B?B.prototype:void 0,le=Be?Be.valueOf:void 0;function Es(e,t,r,a,o,s,n){switch(r){case ks:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _s:return!(e.byteLength!=t.byteLength||!s(new Ve(e),new Ve(t)));case xs:case vs:case ws:return ze(+e,+t);case ys:return e.name==t.name&&e.message==t.message;case Is:case As:return e==t+"";case Ss:var i=ps;case Cs:var f=a&hs;if(i||(i=gs),e.size!=t.size&&!f)return!1;var l=n.get(e);if(l)return l==t;a|=bs,n.set(e,t);var u=Ke(i(e),i(t),a,o,s,n);return n.delete(e),u;case js:if(le)return le.call(e)==le.call(t)}return!1}var Ps=Es,Os=1,Fs=Object.prototype,Vs=Fs.hasOwnProperty;function Bs(e,t,r,a,o,s){var n=r&Os,i=je(e),f=i.length,l=je(t),u=l.length;if(f!=u&&!n)return!1;for(var d=f;d--;){var c=i[d];if(!(n?c in t:Vs.call(t,c)))return!1}var y=s.get(e),g=s.get(t);if(y&&g)return y==t&&g==e;var h=!0;s.set(e,t),s.set(t,e);for(var b=n;++d<f;){c=i[d];var x=e[c],I=t[c];if(a)var _=n?a(I,x,c,t,e,s):a(x,I,c,e,t,s);if(!(_===void 0?x===I||o(x,I,r,a,s):_)){h=!1;break}b||(b=c=="constructor")}if(h&&!b){var A=e.constructor,C=t.constructor;A!=C&&"constructor"in e&&"constructor"in t&&!(typeof A=="function"&&A instanceof A&&typeof C=="function"&&C instanceof C)&&(h=!1)}return s.delete(e),s.delete(t),h}var Rs=Bs,Ls=1,Re="[object Arguments]",Le="[object Array]",K="[object Object]",Ns=Object.prototype,Ne=Ns.hasOwnProperty;function Ds(e,t,r,a,o,s){var n=X(e),i=X(t),f=n?Le:Fe(e),l=i?Le:Fe(t);f=f==Re?K:f,l=l==Re?K:l;var u=f==K,d=l==K,c=f==l;if(c&&ue(e)){if(!ue(t))return!1;n=!0,u=!1}if(c&&!u)return s||(s=new ne),n||Ze(e)?Ke(e,t,r,a,o,s):Ps(e,t,f,r,a,o,s);if(!(r&Ls)){var y=u&&Ne.call(e,"__wrapped__"),g=d&&Ne.call(t,"__wrapped__");if(y||g){var h=y?e.value():e,b=g?t.value():t;return s||(s=new ne),o(h,b,r,a,s)}}return c?(s||(s=new ne),Rs(e,t,r,a,o,s)):!1}var Ms=Ds;function Xe(e,t,r,a,o){return e===t?!0:e==null||t==null||!U(e)&&!U(t)?e!==e&&t!==t:Ms(e,t,r,a,Xe,o)}var Ts=Xe;function Hs(e,t){return Ts(e,t)}var zs=Hs,Us=class extends It{get(e){return super.get(e)??{status:"IDLE"}}isDuplicate(e){if(!this.engine.block.isValid(e))return!1;let t=this.get(e);if(t.status==="IDLE"||t.status==="PENDING"||t.status==="ERROR"||!this.engine.block.hasFill(e))return!1;let r=this.engine.block.getFill(e);return!(t.blockId===e||t.fillId===r)}fixDuplicate(e){let t=this.engine.block.getFill(e),r=this.get(e);r.status==="IDLE"||r.status==="PENDING"||r.status==="ERROR"||(this.set(e,{...r,blockId:e,fillId:t}),r.status==="PROCESSING"&&(this.recoverInitialImageData(e),this.clear(e)))}isConsistent(e){if(!this.engine.block.isValid(e))return!1;let t=this.get(e);if(t.status==="IDLE"||t.status==="PENDING")return!0;if(!this.engine.block.hasFill(e))return!1;let r=this.engine.block.getFill(e);if(r==null||e!==t.blockId||r!==t.fillId)return!1;let a=this.engine.block.getSourceSet(r,"fill/image/sourceSet"),o=this.engine.block.getString(r,"fill/image/imageFileURI");if(a.length===0&&!o&&t.status==="PROCESSING")return!0;if(a?.length>0){let s=t.initialSourceSet;if(t.status!=="PROCESSED"&&!zs(a,s))return!1}else if(t.status!=="PROCESSED"&&o!==t.initialImageFileURI)return!1;return!0}recoverInitialImageData(e){if(!this.engine.block.hasFill(e))return;let t=this.get(e);if(t.status==="PENDING"||t.status==="IDLE")return;let r=t.initialSourceSet,a=t.initialImageFileURI,o=t.initialPreviewFileURI,s=this.getValidFill(e,t);s!=null&&(a&&this.engine.block.setString(s,"fill/image/imageFileURI",a),o&&this.engine.block.setString(s,"fill/image/previewFileURI",o),r.length>0&&this.engine.block.setSourceSet(s,"fill/image/sourceSet",r))}getValidFill(e,t){if(!this.engine.block.isValid(e)||!this.engine.block.hasFill(e)||e!==t.blockId)return;let r=this.engine.block.getFill(e);if(r===t.fillId)return r}},Ye=Us;async function $s(e,t,r,a){let o=t.engine.block;if(!o.hasFill(e))throw new Error("Block does not support fill");let s=o.getFill(e),n=o.getSourceSet(s,"fill/image/sourceSet"),i=o.getString(s,"fill/image/imageFileURI"),f=o.getString(s,"fill/image/previewFileURI");try{t.engine.block.setState(s,{type:"Pending",progress:0});let l={...r.get(e),version:"0.0.0",initialSourceSet:n,initialImageFileURI:i,initialPreviewFileURI:f,blockId:e,fillId:s,status:"PROCESSING"};r.set(e,l);let u=await a.processFill(l);if(r.get(e).status!=="PROCESSING"||!r.isConsistent(e)||r.get(e).status!=="PROCESSING"||!r.isConsistent(e)||u==null)return;let d={version:"0.0.0",initialSourceSet:n,initialImageFileURI:i,initialPreviewFileURI:f,blockId:e,fillId:s,status:"PROCESSED"},c=a.commitProcessing(u,d);(c==null||c===e)&&r.set(e,d),t.engine.editor.addUndoStep()}catch(l){if(t.engine.block.isValid(e)&&(r.set(e,{version:"0.0.0",initialSourceSet:n,initialImageFileURI:i,initialPreviewFileURI:f,blockId:e,fillId:s,status:"ERROR"}),r.recoverInitialImageData(e)),l!=null&&typeof l=="object"&&"message"in l&&typeof l.message=="string"){let u=l.message==="signal timed out"?"Processing canceled due to timeout":l.message;t.ui.showNotification({type:"error",message:u})}console.log(l)}finally{t.engine.block.isValid(s)&&t.engine.block.setState(s,{type:"Ready"})}}var Je=$s;function Qe(e){return`${e}.fillProcessing.feature`}function Ws(e){return[`${e}.canvasMenu`,`${e}.fillProcessing.canvasMenu`]}function Gs(e){return[`${e}.dock`,`${e}.fillProcessing.dock`]}function Zs(e){return[`${e}.inspectorBar`,`${e}.fillProcessing.inspectorBar`]}function qs(e){return[`${e}.navigationBar`,`${e}.fillProcessing.navigationBar`]}function Ks(e){return[`${e}.canvasBar`,`${e}.fillProcessing.canvasBar`]}function Xs(e){return`plugin.${e}.fillProcessing.canvasMenu.button.label`}function Ys(e){return`plugin.${e}.fillProcessing.dock.button.label`}function Js(e){return`plugin.${e}.fillProcessing.inspectorBar.button.label`}function Qs(e){return`plugin.${e}.fillProcessing.navigationBar.button.label`}function ei(e){return`plugin.${e}.fillProcessing.canvasBar.button.label`}function et(e,{pluginId:t,process:r}){let a=Qe(t),o=new Ye(e.engine,t);return ti(e,o,a),e.engine.event.subscribe([],async s=>{s.forEach(n=>{let i=n.block;if(!(!e.engine.block.isValid(i)||!o.hasData(i))){if(n.type==="Created")o.isDuplicate(i)&&o.fixDuplicate(i);else if(n.type==="Updated")switch(o.get(i).status){case"PENDING":{e.feature.isEnabled(a,{engine:e.engine})&&e.engine.block.isAllowedByScope(i,"fill/change")&&e.engine.block.getState(i).type!=="Pending"&&r(i,o);break}case"PROCESSING":case"PROCESSED":{o.isConsistent(i)||o.clear(i);break}default:}}})}),{featureId:a}}function ti(e,t,r){e.feature.enable(r,({engine:a})=>{let o=a.block.findAllSelected();if(o.length!==1)return!1;let[s]=o;if(!e.engine.block.isVisible(s))return!1;if(e.engine.block.hasFill(s)){if(e.engine.block.getKind(s)==="sticker")return!1;let n=e.engine.block.getFill(s);if(e.engine.block.getType(n)!=="//ly.img.ubq/fill/image")return!1;let i=a.block.getString(n,"fill/image/imageFileURI");return a.block.getSourceSet(n,"fill/image/sourceSet").length>0||i!==""?!0:t.get(s).status==="PROCESSING"}return!1})}function tt(e,t){let{pluginId:r,locations:a}=t,o=new Ye(e.engine,r),s=Xs(r),n=Ws(r),i=n[0],f=Ys(r),l=Gs(r),u=l[0],d=Js(r),c=Zs(r),y=c[0],g=Qs(r),h=qs(r),b=h[0],x=ei(r),I=Ks(r),_=I[0],A=Qe(r);return a?.includes("inspectorBar")&&e.ui.setInspectorBarOrder([y,...e.ui.getInspectorBarOrder()]),a?.includes("navigationBar")&&e.ui.setNavigationBarOrder([b,...e.ui.getNavigationBarOrder()]),a?.includes("canvasBarTop")&&e.ui.setCanvasBarOrder([_,...e.ui.getCanvasBarOrder("top")],"top"),a?.includes("canvasBarBottom")&&e.ui.setCanvasBarOrder([_,...e.ui.getCanvasBarOrder("bottom")],"bottom"),a?.includes("canvasMenu")&&e.ui.setCanvasMenuOrder([i,...e.ui.getCanvasMenuOrder()]),a?.includes("dock")&&e.ui.setDockOrder([...e.ui.getDockOrder(),u]),e.ui.registerComponent(l,({builder:{Button:C},engine:p})=>{let[w]=p.block.findAllSelected(),S=!1,k=!1,F;if(w==null&&(S=!0),!S&&!e.feature.isEnabled(A,{engine:p})&&(S=!0),!S&&!e.engine.block.isAllowedByScope(w,"fill/change")&&(S=!0),!S&&p.block.getState(w)?.type==="Pending"&&(S=!0),!S){let v=o.get(w);if(k=v.status==="PROCESSING",S=v.status==="PENDING"||v.status==="PROCESSING",v.status==="PROCESSING"&&v.progress){let{current:q,total:oe}=v.progress;F=q/oe*100}}let V=`${u}.button`;C(V,{label:f,icon:t.icon,isLoading:k,isDisabled:S,loadingProgress:F,onClick:()=>{let v=o.get(w);(v.status==="IDLE"||v.status==="ERROR"||v.status==="PROCESSED")&&o.set(w,{status:"PENDING"})}})}),[{componentIds:c,variant:"plain",label:d},{componentIds:h,variant:"regular",label:g},{componentIds:I,variant:"regular",label:x},{componentIds:n,variant:"plain",label:s}].forEach(({componentIds:C,label:p,variant:w})=>{let S=C[0];e.ui.registerComponent(C,({builder:{Button:k},engine:F})=>{if(!e.feature.isEnabled(A,{engine:F}))return;let[V]=F.block.findAllSelected();if(!e.engine.block.isAllowedByScope(V,"fill/change"))return;let v=o.get(V),q=v.status==="PROCESSING",oe=v.status==="PENDING"||v.status==="PROCESSING"||F.block.getState(V)?.type==="Pending",he;if(q&&v.progress){let{current:yt,total:St}=v.progress;he=yt/St*100}let vt=`${S}.button`;k(vt,{icon:t.icon,label:p,variant:w,isLoading:q,isDisabled:oe,loadingProgress:he,onClick:()=>{(v.status==="IDLE"||v.status==="ERROR"||v.status==="PROCESSED")&&o.set(V,{status:"PENDING"})}})})}),{canvasMenuComponentId:i,dockComponentId:u,translationsKeys:{inspectorBarLabel:d,navigationBarLabel:g,canvasBarLabel:x,canvasMenuLabel:s,dockLabel:f}}}var Wi=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Gi=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Zi=new RegExp(/[A-Fa-f0-9]{2}/,"g");import*as ht from"@imgly/vectorizer";var ri=typeof global=="object"&&global&&global.Object===Object&&global,rt=ri;var ai=typeof self=="object"&&self&&self.Object===Object&&self,oi=rt||ai||Function("return this")(),te=oi;var si=te.Symbol,T=si;var at=Object.prototype,ii=at.hasOwnProperty,ni=at.toString,Z=T?T.toStringTag:void 0;function li(e){var t=ii.call(e,Z),r=e[Z];try{e[Z]=void 0;var a=!0}catch{}var o=ni.call(e);return a&&(t?e[Z]=r:delete e[Z]),o}var ot=li;var fi=Object.prototype,ui=fi.toString;function ci(e){return ui.call(e)}var st=ci;var di="[object Null]",pi="[object Undefined]",it=T?T.toStringTag:void 0;function mi(e){return e==null?e===void 0?pi:di:it&&it in Object(e)?ot(e):st(e)}var nt=mi;function gi(e){return e!=null&&typeof e=="object"}var lt=gi;var hi="[object Symbol]";function bi(e){return typeof e=="symbol"||lt(e)&&nt(e)==hi}var ft=bi;var xi=/\s/;function vi(e){for(var t=e.length;t--&&xi.test(e.charAt(t)););return t}var ut=vi;var yi=/^\s+/;function Si(e){return e&&e.slice(0,ut(e)+1).replace(yi,"")}var ct=Si;function wi(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var O=wi;var dt=NaN,Ii=/^[-+]0x[0-9a-f]+$/i,Ci=/^0b[01]+$/i,Ai=/^0o[0-7]+$/i,ji=parseInt;function _i(e){if(typeof e=="number")return e;if(ft(e))return dt;if(O(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=O(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=ct(e);var r=Ci.test(e);return r||Ai.test(e)?ji(e.slice(2),r?2:8):Ii.test(e)?dt:+e}var me=_i;var ki=function(){return te.Date.now()},re=ki;var Ei="Expected a function",Pi=Math.max,Oi=Math.min;function Fi(e,t,r){var a,o,s,n,i,f,l=0,u=!1,d=!1,c=!0;if(typeof e!="function")throw new TypeError(Ei);t=me(t)||0,O(r)&&(u=!!r.leading,d="maxWait"in r,s=d?Pi(me(r.maxWait)||0,t):s,c="trailing"in r?!!r.trailing:c);function y(p){var w=a,S=o;return a=o=void 0,l=p,n=e.apply(S,w),n}function g(p){return l=p,i=setTimeout(x,t),u?y(p):n}function h(p){var w=p-f,S=p-l,k=t-w;return d?Oi(k,s-S):k}function b(p){var w=p-f,S=p-l;return f===void 0||w>=t||w<0||d&&S>=s}function x(){var p=re();if(b(p))return I(p);i=setTimeout(x,h(p))}function I(p){return i=void 0,c&&a?y(p):(a=o=void 0,n)}function _(){i!==void 0&&clearTimeout(i),l=0,a=f=o=i=void 0}function A(){return i===void 0?n:I(re())}function C(){var p=re(),w=b(p);if(a=arguments,o=this,f=p,w){if(i===void 0)return g(f);if(d)return clearTimeout(i),i=setTimeout(x,t),y(f)}return i===void 0&&(i=setTimeout(x,t)),n}return C.cancel=_,C.flush=A,C}var pt=Fi;var Vi="Expected a function";function Bi(e,t,r){var a=!0,o=!0;if(typeof e!="function")throw new TypeError(Vi);return O(r)&&(a="leading"in r?!!r.leading:a,o="trailing"in r?!!r.trailing:o),pt(e,t,{leading:a,maxWait:t,trailing:o})}var ge=Bi;var Ri=(e,t)=>t.map(a=>Li(e,a)),Li=(e,t)=>{let r=t.shape.path,a=t.fill.color,o=e.block.create("//ly.img.ubq/graphic");e.block.setKind(o,"shape");let s=e.block.createShape("//ly.img.ubq/shape/vector_path");e.block.setShape(o,s),e.block.setString(s,"vector_path/path",r),e.block.setFloat(s,"vector_path/width",t.transform.width),e.block.setFloat(s,"vector_path/height",t.transform.height);let n=e.block.createFill("color");return e.block.setColor(n,"fill/color/value",{r:a[0],g:a[1],b:a[2],a:a[3]}),e.block.setFill(o,n),e.block.setFloat(o,"width",t.transform.width),e.block.setFloat(o,"height",t.transform.height),e.block.setPositionX(o,t.transform.x),e.block.setPositionY(o,t.transform.y),o},mt=Ri;function Ni(e,t,r){let a=r.engine,o=mt(a,t),s=a.block.getRotation(e),n=a.block.getPositionX(e),i=a.block.getPositionY(e),f=a.block.isSelected(e);switch(a.block.getType(e)){case"//ly.img.ubq/page":{let l=e,u=a.block.group(o);a.block.appendChild(l,u);let d=a.block.getFrameWidth(e)/a.block.getFrameWidth(u);a.block.setPositionX(u,n),a.block.setPositionY(u,i),a.block.setRotation(u,s),a.block.scale(u,d),a.block.setFillEnabled(l,!1),a.block.setSelected(u,f);break}case"//ly.img.ubq/graphic":default:{let l=a.block.getParent(e),u=a.block.group(o);a.block.appendChild(l,u);let d=a.block.getFrameWidth(e)/a.block.getFrameWidth(u);return a.block.setPositionX(u,n),a.block.setPositionY(u,i),a.block.setRotation(u,s),a.block.scale(u,d),a.block.destroy(e),a.block.setSelected(u,f),u}}}var gt=Ni;var Di=5,Mi=3e4;async function bt(e,t,r,a,o,s){Je(t,e,r,{async processFill(n){let i=n.initialSourceSet,f=n.initialImageFileURI,l=i.length>0?i[0].uri:f,u={signal:AbortSignal.timeout(s??Mi),...a,callbacks:{...a?.callbacks??{},progress:ge((g,h,b)=>{let x=r.get(t);x.status!=="PROCESSING"||!r.isConsistent(t)||(a?.callbacks?.progress?.(g,h,b),r.set(t,{...x,progress:{key:g,current:h,total:b}}))},100)},options:{drop_transparent:!1,...a?.options??{}}},d;if(l.startsWith("buffer:")){let g=await e.engine.editor.getMimeType(l),h=e.engine.editor.getBufferLength(l),b=e.engine.editor.getBufferData(l,0,h),x=new Uint8Array(b);d=new Blob([x],{type:g})}else d=await zi(l);let c=new ht.SvgConverter(u);await c.convert(d);let y=JSON.parse(c.to_json());if(y.length<(o??Di))return c.dispose(),y;{let g=c.to_svg(),h=new Blob([g],{type:"image/svg+xml"}),b=await Ti(h,l,e);return c.dispose(),b}},commitProcessing(n,i){if(typeof n=="string"){let f=i.fillId;e.engine.block.setString(f,"fill/image/imageFileURI",n),e.engine.block.setSourceSet(f,"fill/image/sourceSet",[]),e.engine.block.setString(f,"fill/image/previewFileURI","")}else return gt(t,n,e)}})}async function Ti(e,t,r){let o=new URL(t).pathname.split("/"),s=Hi(e.type),i=`${o[o.length-1]?.split(".")?.[0]??"vectorized-image"}.${s}`,l=(await r.unstable_upload(new File([e],i,{type:e.type}),()=>{})).meta?.uri;if(l==null)throw new Error("Could not upload processed fill");return l}function Hi(e){switch(e){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/svg+xml":return"svg";default:return"jpg"}}async function zi(e){return fetch(e).then(t=>t.blob())}var ae="@imgly/plugin-vectorizer-web",xt=(e={})=>({initialize({cesdk:t}){if(t==null)return;Ui(t),et(t,{pluginId:ae,process:(a,o)=>{bt(t,a,o,e?.vectorizer,e?.groupingThreshold,e?.timeout)}});let{translationsKeys:r}=tt(t,{pluginId:ae,icon:"@imgly/icons/Vectorize",locations:e.ui?.locations});t.setTranslations({en:{[r.inspectorBarLabel]:"Vectorizer",[r.navigationBarLabel]:"Vectorizer",[r.canvasBarLabel]:"Vectorizer",[r.canvasMenuLabel]:"Vectorizer",[r.dockLabel]:"Vectorizer"}})}});function Ui(e){e.ui.addIconSet("@imgly/plugin/vectorizer",` <svg> <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="@imgly/icons/Vectorize" > <rect x="11" y="2" width="2" height="20" fill="currentColor"/> <path d="M13.6776 5.26764L19.9611 12L13.6776 18.7324L15.3224 20.2676L23.0389 12L15.3224 3.73242L13.6776 5.26764Z" fill="currentColor"/> <path d="M4 10.5H1V13.5H4V16.5H7V19.5H10V16.5H7V13.5H4V10.5Z" fill="currentColor"/> <path d="M4 10.5V7.50003H7V10.5H4Z" fill="currentColor"/> <path d="M7 7.50003V4.50003H10V7.50003H7Z" fill="currentColor"/> </symbol> </svg> `)}var $i=e=>({name:ae,version:"1.75.1",...xt(e)}),$n=$i;export{$n as default}; /*! Bundled license information: lodash-es/lodash.js: (** * @license * Lodash (Custom Build) <https://lodash.com/> * Build: `lodash modularize exports="es" -o ./` * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors *) */ /*! Bundled license information: lodash-es/lodash.js: (** * @license * Lodash (Custom Build) <https://lodash.com/> * Build: `lodash modularize exports="es" -o ./` * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors *) */ //# sourceMappingURL=index.mjs.map