UNPKG

@imgly/plugin-vectorizer-web

Version:

Vectorizer plugin for the CE.SDK editor

44 lines (41 loc) 28.2 kB
var It=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)}},_t=It,kt=typeof global=="object"&&global&&global.Object===Object&&global,Le=kt,jt=typeof self=="object"&&self&&self.Object===Object&&self,Ot=Le||jt||Function("return this")(),O=Ot,Pt=O.Symbol,A=Pt,ze=Object.prototype,wt=ze.hasOwnProperty,Et=ze.toString,V=A?A.toStringTag:void 0;function Ft(e){var t=wt.call(e,V),r=e[V];try{e[V]=void 0;var o=!0}catch{}var a=Et.call(e);return o&&(t?e[V]=r:delete e[V]),a}var Rt=Ft,Bt=Object.prototype,Ct=Bt.toString;function At(e){return Ct.call(e)}var Tt=At,Dt="[object Null]",Nt="[object Undefined]",be=A?A.toStringTag:void 0;function Lt(e){return e==null?e===void 0?Nt:Dt:be&&be in Object(e)?Rt(e):Tt(e)}var q=Lt;function zt(e){return e!=null&&typeof e=="object"}var U=zt,Mt=Array.isArray,Y=Mt;function Vt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Me=Vt,Wt="[object AsyncFunction]",Ut="[object Function]",Gt="[object GeneratorFunction]",$t="[object Proxy]";function qt(e){if(!Me(e))return!1;var t=q(e);return t==Ut||t==Gt||t==Wt||t==$t}var Ve=qt,Ht=O["__core-js_shared__"],ne=Ht,he=function(){var e=/[^.]+$/.exec(ne&&ne.keys&&ne.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Kt(e){return!!he&&he in e}var Xt=Kt,Yt=Function.prototype,Zt=Yt.toString;function Jt(e){if(e!=null){try{return Zt.call(e)}catch{}try{return e+""}catch{}}return""}var F=Jt,Qt=/[\\^$.*+?()[\]{}|]/g,er=/^\[object .+?Constructor\]$/,tr=Function.prototype,rr=Object.prototype,or=tr.toString,ar=rr.hasOwnProperty,nr=RegExp("^"+or.call(ar).replace(Qt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ir(e){if(!Me(e)||Xt(e))return!1;var t=Ve(e)?nr:er;return t.test(F(e))}var sr=ir;function lr(e,t){return e?.[t]}var fr=lr;function ur(e,t){var r=fr(e,t);return sr(r)?r:void 0}var T=ur,pr=T(O,"WeakMap"),fe=pr,cr=9007199254740991,dr=/^(?:0|[1-9]\d*)$/;function mr(e,t){var r=typeof e;return t=t??cr,!!t&&(r=="number"||r!="symbol"&&dr.test(e))&&e>-1&&e%1==0&&e<t}var gr=mr;function xr(e,t){return e===t||e!==e&&t!==t}var We=xr,br=9007199254740991;function hr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=br}var Ue=hr;function vr(e){return e!=null&&Ue(e.length)&&!Ve(e)}var yr=vr,Sr=Object.prototype;function Ir(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Sr;return e===r}var _r=Ir;function kr(e,t){for(var r=-1,o=Array(e);++r<e;)o[r]=t(r);return o}var jr=kr,Or="[object Arguments]";function Pr(e){return U(e)&&q(e)==Or}var ve=Pr,Ge=Object.prototype,wr=Ge.hasOwnProperty,Er=Ge.propertyIsEnumerable,Fr=ve(function(){return arguments}())?ve:function(e){return U(e)&&wr.call(e,"callee")&&!Er.call(e,"callee")},Rr=Fr;function Br(){return!1}var Cr=Br,$e=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ye=$e&&typeof module=="object"&&module&&!module.nodeType&&module,Ar=ye&&ye.exports===$e,Se=Ar?O.Buffer:void 0,Tr=Se?Se.isBuffer:void 0,Dr=Tr||Cr,ue=Dr,Nr="[object Arguments]",Lr="[object Array]",zr="[object Boolean]",Mr="[object Date]",Vr="[object Error]",Wr="[object Function]",Ur="[object Map]",Gr="[object Number]",$r="[object Object]",qr="[object RegExp]",Hr="[object Set]",Kr="[object String]",Xr="[object WeakMap]",Yr="[object ArrayBuffer]",Zr="[object DataView]",Jr="[object Float32Array]",Qr="[object Float64Array]",eo="[object Int8Array]",to="[object Int16Array]",ro="[object Int32Array]",oo="[object Uint8Array]",ao="[object Uint8ClampedArray]",no="[object Uint16Array]",io="[object Uint32Array]",m={};m[Jr]=m[Qr]=m[eo]=m[to]=m[ro]=m[oo]=m[ao]=m[no]=m[io]=!0;m[Nr]=m[Lr]=m[Yr]=m[zr]=m[Zr]=m[Mr]=m[Vr]=m[Wr]=m[Ur]=m[Gr]=m[$r]=m[qr]=m[Hr]=m[Kr]=m[Xr]=!1;function so(e){return U(e)&&Ue(e.length)&&!!m[q(e)]}var lo=so;function fo(e){return function(t){return e(t)}}var uo=fo,qe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,W=qe&&typeof module=="object"&&module&&!module.nodeType&&module,po=W&&W.exports===qe,ie=po&&Le.process,co=function(){try{var e=W&&W.require&&W.require("util").types;return e||ie&&ie.binding&&ie.binding("util")}catch{}}(),Ie=co,_e=Ie&&Ie.isTypedArray,mo=_e?uo(_e):lo,He=mo,go=Object.prototype,xo=go.hasOwnProperty;function bo(e,t){var r=Y(e),o=!r&&Rr(e),a=!r&&!o&&ue(e),n=!r&&!o&&!a&&He(e),s=r||o||a||n,i=s?jr(e.length,String):[],f=i.length;for(var l in e)(t||xo.call(e,l))&&!(s&&(l=="length"||a&&(l=="offset"||l=="parent")||n&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||gr(l,f)))&&i.push(l);return i}var ho=bo;function vo(e,t){return function(r){return e(t(r))}}var yo=vo,So=yo(Object.keys,Object),Io=So,_o=Object.prototype,ko=_o.hasOwnProperty;function jo(e){if(!_r(e))return Io(e);var t=[];for(var r in Object(e))ko.call(e,r)&&r!="constructor"&&t.push(r);return t}var Oo=jo;function Po(e){return yr(e)?ho(e):Oo(e)}var wo=Po,Eo=T(Object,"create"),G=Eo;function Fo(){this.__data__=G?G(null):{},this.size=0}var Ro=Fo;function Bo(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Co=Bo,Ao="__lodash_hash_undefined__",To=Object.prototype,Do=To.hasOwnProperty;function No(e){var t=this.__data__;if(G){var r=t[e];return r===Ao?void 0:r}return Do.call(t,e)?t[e]:void 0}var Lo=No,zo=Object.prototype,Mo=zo.hasOwnProperty;function Vo(e){var t=this.__data__;return G?t[e]!==void 0:Mo.call(t,e)}var Wo=Vo,Uo="__lodash_hash_undefined__";function Go(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=G&&t===void 0?Uo:t,this}var $o=Go;function D(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}D.prototype.clear=Ro;D.prototype.delete=Co;D.prototype.get=Lo;D.prototype.has=Wo;D.prototype.set=$o;var ke=D;function qo(){this.__data__=[],this.size=0}var Ho=qo;function Ko(e,t){for(var r=e.length;r--;)if(We(e[r][0],t))return r;return-1}var J=Ko,Xo=Array.prototype,Yo=Xo.splice;function Zo(e){var t=this.__data__,r=J(t,e);if(r<0)return!1;var o=t.length-1;return r==o?t.pop():Yo.call(t,r,1),--this.size,!0}var Jo=Zo;function Qo(e){var t=this.__data__,r=J(t,e);return r<0?void 0:t[r][1]}var ea=Qo;function ta(e){return J(this.__data__,e)>-1}var ra=ta;function oa(e,t){var r=this.__data__,o=J(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}var aa=oa;function N(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}N.prototype.clear=Ho;N.prototype.delete=Jo;N.prototype.get=ea;N.prototype.has=ra;N.prototype.set=aa;var Q=N,na=T(O,"Map"),$=na;function ia(){this.size=0,this.__data__={hash:new ke,map:new($||Q),string:new ke}}var sa=ia;function la(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var fa=la;function ua(e,t){var r=e.__data__;return fa(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ee=ua;function pa(e){var t=ee(this,e).delete(e);return this.size-=t?1:0,t}var ca=pa;function da(e){return ee(this,e).get(e)}var ma=da;function ga(e){return ee(this,e).has(e)}var xa=ga;function ba(e,t){var r=ee(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}var ha=ba;function L(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}L.prototype.clear=sa;L.prototype.delete=ca;L.prototype.get=ma;L.prototype.has=xa;L.prototype.set=ha;var Ke=L;function va(e,t){for(var r=-1,o=t.length,a=e.length;++r<o;)e[a+r]=t[r];return e}var ya=va;function Sa(){this.__data__=new Q,this.size=0}var Ia=Sa;function _a(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var ka=_a;function ja(e){return this.__data__.get(e)}var Oa=ja;function Pa(e){return this.__data__.has(e)}var wa=Pa,Ea=200;function Fa(e,t){var r=this.__data__;if(r instanceof Q){var o=r.__data__;if(!$||o.length<Ea-1)return o.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ke(o)}return r.set(e,t),this.size=r.size,this}var Ra=Fa;function z(e){var t=this.__data__=new Q(e);this.size=t.size}z.prototype.clear=Ia;z.prototype.delete=ka;z.prototype.get=Oa;z.prototype.has=wa;z.prototype.set=Ra;var se=z;function Ba(e,t){for(var r=-1,o=e==null?0:e.length,a=0,n=[];++r<o;){var s=e[r];t(s,r,e)&&(n[a++]=s)}return n}var Ca=Ba;function Aa(){return[]}var Ta=Aa,Da=Object.prototype,Na=Da.propertyIsEnumerable,je=Object.getOwnPropertySymbols,La=je?function(e){return e==null?[]:(e=Object(e),Ca(je(e),function(t){return Na.call(e,t)}))}:Ta,za=La;function Ma(e,t,r){var o=t(e);return Y(e)?o:ya(o,r(e))}var Va=Ma;function Wa(e){return Va(e,wo,za)}var Oe=Wa,Ua=T(O,"DataView"),pe=Ua,Ga=T(O,"Promise"),ce=Ga,$a=T(O,"Set"),de=$a,Pe="[object Map]",qa="[object Object]",we="[object Promise]",Ee="[object Set]",Fe="[object WeakMap]",Re="[object DataView]",Ha=F(pe),Ka=F($),Xa=F(ce),Ya=F(de),Za=F(fe),E=q;(pe&&E(new pe(new ArrayBuffer(1)))!=Re||$&&E(new $)!=Pe||ce&&E(ce.resolve())!=we||de&&E(new de)!=Ee||fe&&E(new fe)!=Fe)&&(E=function(e){var t=q(e),r=t==qa?e.constructor:void 0,o=r?F(r):"";if(o)switch(o){case Ha:return Re;case Ka:return Pe;case Xa:return we;case Ya:return Ee;case Za:return Fe}return t});var Be=E,Ja=O.Uint8Array,Ce=Ja,Qa="__lodash_hash_undefined__";function en(e){return this.__data__.set(e,Qa),this}var tn=en;function rn(e){return this.__data__.has(e)}var on=rn;function Z(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Ke;++t<r;)this.add(e[t])}Z.prototype.add=Z.prototype.push=tn;Z.prototype.has=on;var an=Z;function nn(e,t){for(var r=-1,o=e==null?0:e.length;++r<o;)if(t(e[r],r,e))return!0;return!1}var sn=nn;function ln(e,t){return e.has(t)}var fn=ln,un=1,pn=2;function cn(e,t,r,o,a,n){var s=r&un,i=e.length,f=t.length;if(i!=f&&!(s&&f>i))return!1;var l=n.get(e),u=n.get(t);if(l&&u)return l==t&&u==e;var c=-1,p=!0,v=r&pn?new an:void 0;for(n.set(e,t),n.set(t,e);++c<i;){var g=e[c],x=t[c];if(o)var b=s?o(x,g,c,t,e,n):o(g,x,c,e,t,n);if(b!==void 0){if(b)continue;p=!1;break}if(v){if(!sn(t,function(y,_){if(!fn(v,_)&&(g===y||a(g,y,r,o,n)))return v.push(_)})){p=!1;break}}else if(!(g===x||a(g,x,r,o,n))){p=!1;break}}return n.delete(e),n.delete(t),p}var Xe=cn;function dn(e){var t=-1,r=Array(e.size);return e.forEach(function(o,a){r[++t]=[a,o]}),r}var mn=dn;function gn(e){var t=-1,r=Array(e.size);return e.forEach(function(o){r[++t]=o}),r}var xn=gn,bn=1,hn=2,vn="[object Boolean]",yn="[object Date]",Sn="[object Error]",In="[object Map]",_n="[object Number]",kn="[object RegExp]",jn="[object Set]",On="[object String]",Pn="[object Symbol]",wn="[object ArrayBuffer]",En="[object DataView]",Ae=A?A.prototype:void 0,le=Ae?Ae.valueOf:void 0;function Fn(e,t,r,o,a,n,s){switch(r){case En:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case wn:return!(e.byteLength!=t.byteLength||!n(new Ce(e),new Ce(t)));case vn:case yn:case _n:return We(+e,+t);case Sn:return e.name==t.name&&e.message==t.message;case kn:case On:return e==t+"";case In:var i=mn;case jn:var f=o&bn;if(i||(i=xn),e.size!=t.size&&!f)return!1;var l=s.get(e);if(l)return l==t;o|=hn,s.set(e,t);var u=Xe(i(e),i(t),o,a,n,s);return s.delete(e),u;case Pn:if(le)return le.call(e)==le.call(t)}return!1}var Rn=Fn,Bn=1,Cn=Object.prototype,An=Cn.hasOwnProperty;function Tn(e,t,r,o,a,n){var s=r&Bn,i=Oe(e),f=i.length,l=Oe(t),u=l.length;if(f!=u&&!s)return!1;for(var c=f;c--;){var p=i[c];if(!(s?p in t:An.call(t,p)))return!1}var v=n.get(e),g=n.get(t);if(v&&g)return v==t&&g==e;var x=!0;n.set(e,t),n.set(t,e);for(var b=s;++c<f;){p=i[c];var y=e[p],_=t[p];if(o)var P=s?o(_,y,p,t,e,n):o(y,_,p,e,t,n);if(!(P===void 0?y===_||a(y,_,r,o,n):P)){x=!1;break}b||(b=p=="constructor")}if(x&&!b){var j=e.constructor,k=t.constructor;j!=k&&"constructor"in e&&"constructor"in t&&!(typeof j=="function"&&j instanceof j&&typeof k=="function"&&k instanceof k)&&(x=!1)}return n.delete(e),n.delete(t),x}var Dn=Tn,Nn=1,Te="[object Arguments]",De="[object Array]",X="[object Object]",Ln=Object.prototype,Ne=Ln.hasOwnProperty;function zn(e,t,r,o,a,n){var s=Y(e),i=Y(t),f=s?De:Be(e),l=i?De:Be(t);f=f==Te?X:f,l=l==Te?X:l;var u=f==X,c=l==X,p=f==l;if(p&&ue(e)){if(!ue(t))return!1;s=!0,u=!1}if(p&&!u)return n||(n=new se),s||He(e)?Xe(e,t,r,o,a,n):Rn(e,t,f,r,o,a,n);if(!(r&Nn)){var v=u&&Ne.call(e,"__wrapped__"),g=c&&Ne.call(t,"__wrapped__");if(v||g){var x=v?e.value():e,b=g?t.value():t;return n||(n=new se),a(x,b,r,o,n)}}return p?(n||(n=new se),Dn(e,t,r,o,a,n)):!1}var Mn=zn;function Ye(e,t,r,o,a){return e===t?!0:e==null||t==null||!U(e)&&!U(t)?e!==e&&t!==t:Mn(e,t,r,o,Ye,a)}var Vn=Ye;function Wn(e,t){return Vn(e,t)}var Un=Wn,Gn=class extends _t{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 o=this.engine.block.getSourceSet(r,"fill/image/sourceSet"),a=this.engine.block.getString(r,"fill/image/imageFileURI");if(o.length===0&&!a&&t.status==="PROCESSING")return!0;if(o?.length>0){let n=t.initialSourceSet;if(t.status!=="PROCESSED"&&!Un(o,n))return!1}else if(t.status!=="PROCESSED"&&a!==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,o=t.initialImageFileURI,a=t.initialPreviewFileURI,n=this.getValidFill(e,t);n!=null&&(o&&this.engine.block.setString(n,"fill/image/imageFileURI",o),a&&this.engine.block.setString(n,"fill/image/previewFileURI",a),r.length>0&&this.engine.block.setSourceSet(n,"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}},Ze=Gn;async function $n(e,t,r,o){let a=t.engine.block;if(!a.hasFill(e))throw new Error("Block does not support fill");let n=a.getFill(e),s=a.getSourceSet(n,"fill/image/sourceSet"),i=a.getString(n,"fill/image/imageFileURI"),f=a.getString(n,"fill/image/previewFileURI");try{t.engine.block.setState(n,{type:"Pending",progress:0});let l={...r.get(e),version:"0.0.0",initialSourceSet:s,initialImageFileURI:i,initialPreviewFileURI:f,blockId:e,fillId:n,status:"PROCESSING"};r.set(e,l);let u=await o.processFill(l);if(r.get(e).status!=="PROCESSING"||!r.isConsistent(e)||r.get(e).status!=="PROCESSING"||!r.isConsistent(e)||u==null)return;let c={version:"0.0.0",initialSourceSet:s,initialImageFileURI:i,initialPreviewFileURI:f,blockId:e,fillId:n,status:"PROCESSED"},p=o.commitProcessing(u,c);(p==null||p===e)&&r.set(e,c),t.engine.editor.addUndoStep()}catch(l){if(t.engine.block.isValid(e)&&(r.set(e,{version:"0.0.0",initialSourceSet:s,initialImageFileURI:i,initialPreviewFileURI:f,blockId:e,fillId:n,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(n)&&t.engine.block.setState(n,{type:"Ready"})}}var Je=$n;function Qe(e){return`${e}.fillProcessing.feature`}function qn(e){return[`${e}.canvasMenu`,`${e}.fillProcessing.canvasMenu`]}function Hn(e){return[`${e}.dock`,`${e}.fillProcessing.dock`]}function Kn(e){return[`${e}.inspectorBar`,`${e}.fillProcessing.inspectorBar`]}function Xn(e){return[`${e}.navigationBar`,`${e}.fillProcessing.navigationBar`]}function Yn(e){return[`${e}.canvasBar`,`${e}.fillProcessing.canvasBar`]}function Zn(e){return`plugin.${e}.fillProcessing.canvasMenu.button.label`}function Jn(e){return`plugin.${e}.fillProcessing.dock.button.label`}function Qn(e){return`plugin.${e}.fillProcessing.inspectorBar.button.label`}function ei(e){return`plugin.${e}.fillProcessing.navigationBar.button.label`}function ti(e){return`plugin.${e}.fillProcessing.canvasBar.button.label`}function et(e,{pluginId:t,process:r}){let o=Qe(t),a=new Ze(e.engine,t);return ri(e,a,o),e.engine.event.subscribe([],async n=>{n.forEach(s=>{let i=s.block;if(!(!e.engine.block.isValid(i)||!a.hasData(i))){if(s.type==="Created")a.isDuplicate(i)&&a.fixDuplicate(i);else if(s.type==="Updated")switch(a.get(i).status){case"PENDING":{e.feature.isEnabled(o,{engine:e.engine})&&e.engine.block.isAllowedByScope(i,"fill/change")&&e.engine.block.getState(i).type!=="Pending"&&r(i,a);break}case"PROCESSING":case"PROCESSED":{a.isConsistent(i)||a.clear(i);break}default:}}})}),{featureId:o}}function ri(e,t,r){e.feature.enable(r,({engine:o})=>{let a=o.block.findAllSelected();if(a.length!==1)return!1;let[n]=a;if(!e.engine.block.isVisible(n))return!1;if(e.engine.block.hasFill(n)){if(e.engine.block.getKind(n)==="sticker")return!1;let s=e.engine.block.getFill(n);if(e.engine.block.getType(s)!=="//ly.img.ubq/fill/image")return!1;let i=o.block.getString(s,"fill/image/imageFileURI");return o.block.getSourceSet(s,"fill/image/sourceSet").length>0||i!==""?!0:t.get(n).status==="PROCESSING"}return!1})}function tt(e,t){let{pluginId:r,locations:o}=t,a=new Ze(e.engine,r),n=Zn(r),s=qn(r),i=s[0],f=Jn(r),l=Hn(r),u=l[0],c=Qn(r),p=Kn(r),v=p[0],g=ei(r),x=Xn(r),b=x[0],y=ti(r),_=Yn(r),P=_[0],j=Qe(r);return o?.includes("inspectorBar")&&e.ui.setInspectorBarOrder([v,...e.ui.getInspectorBarOrder()]),o?.includes("navigationBar")&&e.ui.setNavigationBarOrder([b,...e.ui.getNavigationBarOrder()]),o?.includes("canvasBarTop")&&e.ui.setCanvasBarOrder([P,...e.ui.getCanvasBarOrder("top")],"top"),o?.includes("canvasBarBottom")&&e.ui.setCanvasBarOrder([P,...e.ui.getCanvasBarOrder("bottom")],"bottom"),o?.includes("canvasMenu")&&e.ui.setCanvasMenuOrder([i,...e.ui.getCanvasMenuOrder()]),o?.includes("dock")&&e.ui.setDockOrder([...e.ui.getDockOrder(),u]),e.ui.registerComponent(l,({builder:{Button:k},engine:d})=>{let[I]=d.block.findAllSelected(),S=!1,w=!1,B;if(I==null&&(S=!0),!S&&!e.feature.isEnabled(j,{engine:d})&&(S=!0),!S&&!e.engine.block.isAllowedByScope(I,"fill/change")&&(S=!0),!S&&d.block.getState(I)?.type==="Pending"&&(S=!0),!S){let h=a.get(I);if(w=h.status==="PROCESSING",S=h.status==="PENDING"||h.status==="PROCESSING",h.status==="PROCESSING"&&h.progress){let{current:K,total:ae}=h.progress;B=K/ae*100}}let C=`${u}.button`;k(C,{label:f,icon:t.icon,isLoading:w,isDisabled:S,loadingProgress:B,onClick:()=>{let h=a.get(I);(h.status==="IDLE"||h.status==="ERROR"||h.status==="PROCESSED")&&a.set(I,{status:"PENDING"})}})}),[{componentIds:p,variant:"plain",label:c},{componentIds:x,variant:"regular",label:g},{componentIds:_,variant:"regular",label:y},{componentIds:s,variant:"plain",label:n}].forEach(({componentIds:k,label:d,variant:I})=>{let S=k[0];e.ui.registerComponent(k,({builder:{Button:w},engine:B})=>{if(!e.feature.isEnabled(j,{engine:B}))return;let[C]=B.block.findAllSelected();if(!e.engine.block.isAllowedByScope(C,"fill/change"))return;let h=a.get(C),K=h.status==="PROCESSING",ae=h.status==="PENDING"||h.status==="PROCESSING"||B.block.getState(C)?.type==="Pending",xe;if(K&&h.progress){let{current:yt,total:St}=h.progress;xe=yt/St*100}let vt=`${S}.button`;w(vt,{icon:t.icon,label:d,variant:I,isLoading:K,isDisabled:ae,loadingProgress:xe,onClick:()=>{(h.status==="IDLE"||h.status==="ERROR"||h.status==="PROCESSED")&&a.set(C,{status:"PENDING"})}})})}),{canvasMenuComponentId:i,dockComponentId:u,translationsKeys:{inspectorBarLabel:c,navigationBarLabel:g,canvasBarLabel:y,canvasMenuLabel:n,dockLabel:f}}}var qi=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Hi=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ki=new RegExp(/[A-Fa-f0-9]{2}/,"g");import*as xt from"@imgly/vectorizer";var oi=typeof global=="object"&&global&&global.Object===Object&&global,rt=oi;var ai=typeof self=="object"&&self&&self.Object===Object&&self,ni=rt||ai||Function("return this")(),te=ni;var ii=te.Symbol,M=ii;var ot=Object.prototype,si=ot.hasOwnProperty,li=ot.toString,H=M?M.toStringTag:void 0;function fi(e){var t=si.call(e,H),r=e[H];try{e[H]=void 0;var o=!0}catch{}var a=li.call(e);return o&&(t?e[H]=r:delete e[H]),a}var at=fi;var ui=Object.prototype,pi=ui.toString;function ci(e){return pi.call(e)}var nt=ci;var di="[object Null]",mi="[object Undefined]",it=M?M.toStringTag:void 0;function gi(e){return e==null?e===void 0?mi:di:it&&it in Object(e)?at(e):nt(e)}var st=gi;function xi(e){return e!=null&&typeof e=="object"}var lt=xi;var bi="[object Symbol]";function hi(e){return typeof e=="symbol"||lt(e)&&st(e)==bi}var ft=hi;var vi=/\s/;function yi(e){for(var t=e.length;t--&&vi.test(e.charAt(t)););return t}var ut=yi;var Si=/^\s+/;function Ii(e){return e&&e.slice(0,ut(e)+1).replace(Si,"")}var pt=Ii;function _i(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var R=_i;var ct=NaN,ki=/^[-+]0x[0-9a-f]+$/i,ji=/^0b[01]+$/i,Oi=/^0o[0-7]+$/i,Pi=parseInt;function wi(e){if(typeof e=="number")return e;if(ft(e))return ct;if(R(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=R(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=pt(e);var r=ji.test(e);return r||Oi.test(e)?Pi(e.slice(2),r?2:8):ki.test(e)?ct:+e}var me=wi;var Ei=function(){return te.Date.now()},re=Ei;var Fi="Expected a function",Ri=Math.max,Bi=Math.min;function Ci(e,t,r){var o,a,n,s,i,f,l=0,u=!1,c=!1,p=!0;if(typeof e!="function")throw new TypeError(Fi);t=me(t)||0,R(r)&&(u=!!r.leading,c="maxWait"in r,n=c?Ri(me(r.maxWait)||0,t):n,p="trailing"in r?!!r.trailing:p);function v(d){var I=o,S=a;return o=a=void 0,l=d,s=e.apply(S,I),s}function g(d){return l=d,i=setTimeout(y,t),u?v(d):s}function x(d){var I=d-f,S=d-l,w=t-I;return c?Bi(w,n-S):w}function b(d){var I=d-f,S=d-l;return f===void 0||I>=t||I<0||c&&S>=n}function y(){var d=re();if(b(d))return _(d);i=setTimeout(y,x(d))}function _(d){return i=void 0,p&&o?v(d):(o=a=void 0,s)}function P(){i!==void 0&&clearTimeout(i),l=0,o=f=a=i=void 0}function j(){return i===void 0?s:_(re())}function k(){var d=re(),I=b(d);if(o=arguments,a=this,f=d,I){if(i===void 0)return g(f);if(c)return clearTimeout(i),i=setTimeout(y,t),v(f)}return i===void 0&&(i=setTimeout(y,t)),s}return k.cancel=P,k.flush=j,k}var dt=Ci;var Ai="Expected a function";function Ti(e,t,r){var o=!0,a=!0;if(typeof e!="function")throw new TypeError(Ai);return R(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),dt(e,t,{leading:o,maxWait:t,trailing:a})}var ge=Ti;var Di=(e,t)=>t.map(o=>Ni(e,o)),Ni=(e,t)=>{let r=t.shape.path,o=t.fill.color,a=e.block.create("//ly.img.ubq/graphic");e.block.setKind(a,"shape");let n=e.block.createShape("//ly.img.ubq/shape/vector_path");e.block.setShape(a,n),e.block.setString(n,"vector_path/path",r),e.block.setFloat(n,"vector_path/width",t.transform.width),e.block.setFloat(n,"vector_path/height",t.transform.height);let s=e.block.createFill("color");return e.block.setColor(s,"fill/color/value",{r:o[0],g:o[1],b:o[2],a:o[3]}),e.block.setFill(a,s),e.block.setFloat(a,"width",t.transform.width),e.block.setFloat(a,"height",t.transform.height),e.block.setPositionX(a,t.transform.x),e.block.setPositionY(a,t.transform.y),a},mt=Di;function Li(e,t,r){let o=r.engine,a=mt(o,t),n=o.block.getRotation(e),s=o.block.getPositionX(e),i=o.block.getPositionY(e),f=o.block.isSelected(e);switch(o.block.getType(e)){case"//ly.img.ubq/page":{let l=e,u=o.block.group(a);o.block.appendChild(l,u);let c=o.block.getFrameWidth(e)/o.block.getFrameWidth(u);o.block.setPositionX(u,s),o.block.setPositionY(u,i),o.block.setRotation(u,n),o.block.scale(u,c),o.block.setFillEnabled(l,!1),o.block.setSelected(u,f);break}case"//ly.img.ubq/graphic":default:{let l=o.block.getParent(e),u=o.block.group(a);o.block.appendChild(l,u);let c=o.block.getFrameWidth(e)/o.block.getFrameWidth(u);return o.block.setPositionX(u,s),o.block.setPositionY(u,i),o.block.setRotation(u,n),o.block.scale(u,c),o.block.destroy(e),o.block.setSelected(u,f),u}}}var gt=Li;var zi=5,Mi=3e4;async function bt(e,t,r,o,a,n){Je(t,e,r,{async processFill(s){let i=s.initialSourceSet,f=s.initialImageFileURI,l=i.length>0?i[0].uri:f,u={signal:AbortSignal.timeout(n??Mi),...o,callbacks:{...o?.callbacks??{},progress:ge((g,x,b)=>{let y=r.get(t);y.status!=="PROCESSING"||!r.isConsistent(t)||(o?.callbacks?.progress?.(g,x,b),r.set(t,{...y,progress:{key:g,current:x,total:b}}))},100)},options:{drop_transparent:!1,...o?.options??{}}},c;if(l.startsWith("buffer:")){let g=await e.engine.editor.getMimeType(l),x=e.engine.editor.getBufferLength(l),b=e.engine.editor.getBufferData(l,0,x);c=new Blob([b],{type:g})}else c=await Ui(l);let p=new xt.SvgConverter(u);await p.convert(c);let v=JSON.parse(p.to_json());if(v.length<(a??zi))return p.dispose(),v;{let g=p.to_svg(),x=new Blob([g],{type:"image/svg+xml"}),b=await Vi(x,l,e);return p.dispose(),b}},commitProcessing(s,i){if(typeof s=="string"){let f=i.fillId;e.engine.block.setString(f,"fill/image/imageFileURI",s),e.engine.block.setSourceSet(f,"fill/image/sourceSet",[]),e.engine.block.setString(f,"fill/image/previewFileURI","")}else return gt(t,s,e)}})}async function Vi(e,t,r){let a=new URL(t).pathname.split("/"),n=Wi(e.type),i=`${a[a.length-1]?.split(".")?.[0]??"vectorized-image"}.${n}`,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 Wi(e){switch(e){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/svg+xml":return"svg";default:return"jpg"}}async function Ui(e){return fetch(e).then(t=>t.blob())}var oe="@imgly/plugin-vectorizer-web",ht=(e={})=>({initialize({cesdk:t}){if(t==null)return;Gi(t),et(t,{pluginId:oe,process:(o,a)=>{bt(t,o,a,e?.vectorizer,e?.groupingThreshold,e?.timeout)}});let{translationsKeys:r}=tt(t,{pluginId:oe,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 Gi(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:oe,version:"1.0.2",...ht(e)}),Gs=$i;export{Gs 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