@imgly/plugin-background-removal-web 1.87.0-nightly.20261109 → 1.87.0-nightly.20261111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/worker.d.ts +1 -0
- package/dist/worker.mjs +2 -0
- package/dist/worker.mjs.map +1 -0
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{applySegmentationMask as e,removeBackground as t,segmentForeground as n}from"@imgly/background-removal";var r=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)}},i=typeof global==`object`&&global&&global.Object===Object&&global,a=typeof self==`object`&&self&&self.Object===Object&&self,o=i||a||Function(`return this`)(),s=o.Symbol,c=Object.prototype,l=c.hasOwnProperty,u=c.toString,d=s?s.toStringTag:void 0;function f(e){var t=l.call(e,d),n=e[d];try{e[d]=void 0;var r=!0}catch{}var i=u.call(e);return r&&(t?e[d]=n:delete e[d]),i}var p=Object.prototype.toString;function m(e){return p.call(e)}var h=`[object Null]`,g=`[object Undefined]`,_=s?s.toStringTag:void 0;function v(e){return e==null?e===void 0?g:h:_&&_ in Object(e)?f(e):m(e)}function y(e){return typeof e==`object`&&!!e}var b=Array.isArray;function x(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var ee=`[object AsyncFunction]`,te=`[object Function]`,ne=`[object GeneratorFunction]`,re=`[object Proxy]`;function ie(e){if(!x(e))return!1;var t=v(e);return t==te||t==ne||t==ee||t==re}var S=o[`__core-js_shared__`],ae=function(){var e=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function oe(e){return!!ae&&ae in e}var se=Function.prototype.toString;function C(e){if(e!=null){try{return se.call(e)}catch{}try{return e+``}catch{}}return``}var ce=/[\\^$.*+?()[\]{}|]/g,le=/^\[object .+?Constructor\]$/,ue=Function.prototype,de=Object.prototype,fe=ue.toString,pe=de.hasOwnProperty,me=RegExp(`^`+fe.call(pe).replace(ce,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function he(e){return!x(e)||oe(e)?!1:(ie(e)?me:le).test(C(e))}function ge(e,t){return e?.[t]}function w(e,t){var n=ge(e,t);return he(n)?n:void 0}var T=w(o,`WeakMap`),_e=9007199254740991,ve=/^(?:0|[1-9]\d*)$/;function ye(e,t){var n=typeof e;return t??=_e,!!t&&(n==`number`||n!=`symbol`&&ve.test(e))&&e>-1&&e%1==0&&e<t}function be(e,t){return e===t||e!==e&&t!==t}var xe=9007199254740991;function Se(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=xe}function Ce(e){return e!=null&&Se(e.length)&&!ie(e)}var we=Object.prototype;function Te(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||we)}function Ee(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var De=`[object Arguments]`;function Oe(e){return y(e)&&v(e)==De}var E=Object.prototype,ke=E.hasOwnProperty,Ae=E.propertyIsEnumerable,je=Oe(function(){return arguments}())?Oe:function(e){return y(e)&&ke.call(e,`callee`)&&!Ae.call(e,`callee`)};function Me(){return!1}var Ne=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Pe=Ne&&typeof module==`object`&&module&&!module.nodeType&&module,Fe=Pe&&Pe.exports===Ne?o.Buffer:void 0,D=(Fe?Fe.isBuffer:void 0)||Me,Ie=`[object Arguments]`,Le=`[object Array]`,Re=`[object Boolean]`,ze=`[object Date]`,Be=`[object Error]`,Ve=`[object Function]`,He=`[object Map]`,Ue=`[object Number]`,We=`[object Object]`,Ge=`[object RegExp]`,Ke=`[object Set]`,qe=`[object String]`,Je=`[object WeakMap]`,Ye=`[object ArrayBuffer]`,Xe=`[object DataView]`,Ze=`[object Float32Array]`,Qe=`[object Float64Array]`,$e=`[object Int8Array]`,et=`[object Int16Array]`,tt=`[object Int32Array]`,nt=`[object Uint8Array]`,rt=`[object Uint8ClampedArray]`,it=`[object Uint16Array]`,at=`[object Uint32Array]`,O={};O[Ze]=O[Qe]=O[$e]=O[et]=O[tt]=O[nt]=O[rt]=O[it]=O[at]=!0,O[Ie]=O[Le]=O[Ye]=O[Re]=O[Xe]=O[ze]=O[Be]=O[Ve]=O[He]=O[Ue]=O[We]=O[Ge]=O[Ke]=O[qe]=O[Je]=!1;function ot(e){return y(e)&&Se(e.length)&&!!O[v(e)]}function st(e){return function(t){return e(t)}}var ct=typeof exports==`object`&&exports&&!exports.nodeType&&exports,k=ct&&typeof module==`object`&&module&&!module.nodeType&&module,A=k&&k.exports===ct&&i.process,lt=function(){try{return k&&k.require&&k.require(`util`).types||A&&A.binding&&A.binding(`util`)}catch{}}(),ut=lt&<.isTypedArray,dt=ut?st(ut):ot,ft=Object.prototype.hasOwnProperty;function pt(e,t){var n=b(e),r=!n&&je(e),i=!n&&!r&&D(e),a=!n&&!r&&!i&&dt(e),o=n||r||i||a,s=o?Ee(e.length,String):[],c=s.length;for(var l in e)(t||ft.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||ye(l,c)))&&s.push(l);return s}function mt(e,t){return function(n){return e(t(n))}}var ht=mt(Object.keys,Object),gt=Object.prototype.hasOwnProperty;function _t(e){if(!Te(e))return ht(e);var t=[];for(var n in Object(e))gt.call(e,n)&&n!=`constructor`&&t.push(n);return t}function vt(e){return Ce(e)?pt(e):_t(e)}var j=w(Object,`create`);function yt(){this.__data__=j?j(null):{},this.size=0}function bt(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}var xt=`__lodash_hash_undefined__`,St=Object.prototype.hasOwnProperty;function Ct(e){var t=this.__data__;if(j){var n=t[e];return n===xt?void 0:n}return St.call(t,e)?t[e]:void 0}var wt=Object.prototype.hasOwnProperty;function Tt(e){var t=this.__data__;return j?t[e]!==void 0:wt.call(t,e)}var Et=`__lodash_hash_undefined__`;function Dt(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=j&&t===void 0?Et:t,this}function M(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}M.prototype.clear=yt,M.prototype.delete=bt,M.prototype.get=Ct,M.prototype.has=Tt,M.prototype.set=Dt;function Ot(){this.__data__=[],this.size=0}function N(e,t){for(var n=e.length;n--;)if(be(e[n][0],t))return n;return-1}var kt=Array.prototype.splice;function At(e){var t=this.__data__,n=N(t,e);return n<0?!1:(n==t.length-1?t.pop():kt.call(t,n,1),--this.size,!0)}function jt(e){var t=this.__data__,n=N(t,e);return n<0?void 0:t[n][1]}function Mt(e){return N(this.__data__,e)>-1}function Nt(e,t){var n=this.__data__,r=N(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function P(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}P.prototype.clear=Ot,P.prototype.delete=At,P.prototype.get=jt,P.prototype.has=Mt,P.prototype.set=Nt;var F=w(o,`Map`);function Pt(){this.size=0,this.__data__={hash:new M,map:new(F||P),string:new M}}function Ft(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function I(e,t){var n=e.__data__;return Ft(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function It(e){var t=I(this,e).delete(e);return this.size-=+!!t,t}function Lt(e){return I(this,e).get(e)}function Rt(e){return I(this,e).has(e)}function zt(e,t){var n=I(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function L(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}L.prototype.clear=Pt,L.prototype.delete=It,L.prototype.get=Lt,L.prototype.has=Rt,L.prototype.set=zt;function Bt(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Vt(){this.__data__=new P,this.size=0}function Ht(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ut(e){return this.__data__.get(e)}function Wt(e){return this.__data__.has(e)}var Gt=200;function Kt(e,t){var n=this.__data__;if(n instanceof P){var r=n.__data__;if(!F||r.length<Gt-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new L(r)}return n.set(e,t),this.size=n.size,this}function R(e){var t=this.__data__=new P(e);this.size=t.size}R.prototype.clear=Vt,R.prototype.delete=Ht,R.prototype.get=Ut,R.prototype.has=Wt,R.prototype.set=Kt;function qt(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function Jt(){return[]}var Yt=Object.prototype.propertyIsEnumerable,Xt=Object.getOwnPropertySymbols,Zt=Xt?function(e){return e==null?[]:(e=Object(e),qt(Xt(e),function(t){return Yt.call(e,t)}))}:Jt;function Qt(e,t,n){var r=t(e);return b(e)?r:Bt(r,n(e))}function $t(e){return Qt(e,vt,Zt)}var z=w(o,`DataView`),B=w(o,`Promise`),V=w(o,`Set`),en=`[object Map]`,tn=`[object Object]`,nn=`[object Promise]`,rn=`[object Set]`,an=`[object WeakMap]`,on=`[object DataView]`,sn=C(z),cn=C(F),ln=C(B),un=C(V),dn=C(T),H=v;(z&&H(new z(/* @__PURE__ */ new ArrayBuffer(1)))!=on||F&&H(new F)!=en||B&&H(B.resolve())!=nn||V&&H(new V)!=rn||T&&H(new T)!=an)&&(H=function(e){var t=v(e),n=t==tn?e.constructor:void 0,r=n?C(n):``;if(r)switch(r){case sn:return on;case cn:return en;case ln:return nn;case un:return rn;case dn:return an}return t});var fn=H,pn=o.Uint8Array,mn=`__lodash_hash_undefined__`;function hn(e){return this.__data__.set(e,mn),this}function gn(e){return this.__data__.has(e)}function U(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new L;++t<n;)this.add(e[t])}U.prototype.add=U.prototype.push=hn,U.prototype.has=gn;function _n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function vn(e,t){return e.has(t)}var yn=1,bn=2;function xn(e,t,n,r,i,a){var o=n&yn,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&bn?new U:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!_n(t,function(e,t){if(!vn(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function Sn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Cn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var wn=1,Tn=2,En=`[object Boolean]`,Dn=`[object Date]`,On=`[object Error]`,kn=`[object Map]`,An=`[object Number]`,jn=`[object RegExp]`,Mn=`[object Set]`,Nn=`[object String]`,Pn=`[object Symbol]`,Fn=`[object ArrayBuffer]`,In=`[object DataView]`,Ln=s?s.prototype:void 0,W=Ln?Ln.valueOf:void 0;function Rn(e,t,n,r,i,a,o){switch(n){case In:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Fn:return!(e.byteLength!=t.byteLength||!a(new pn(e),new pn(t)));case En:case Dn:case An:return be(+e,+t);case On:return e.name==t.name&&e.message==t.message;case jn:case Nn:return e==t+``;case kn:var s=Sn;case Mn:var c=r&wn;if(s||=Cn,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=Tn,o.set(e,t);var u=xn(s(e),s(t),r,i,a,o);return o.delete(e),u;case Pn:if(W)return W.call(e)==W.call(t)}return!1}var zn=1,Bn=Object.prototype.hasOwnProperty;function Vn(e,t,n,r,i,a){var o=n&zn,s=$t(e),c=s.length;if(c!=$t(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:Bn.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var Hn=1,Un=`[object Arguments]`,Wn=`[object Array]`,G=`[object Object]`,Gn=Object.prototype.hasOwnProperty;function Kn(e,t,n,r,i,a){var o=b(e),s=b(t),c=o?Wn:fn(e),l=s?Wn:fn(t);c=c==Un?G:c,l=l==Un?G:l;var u=c==G,d=l==G,f=c==l;if(f&&D(e)){if(!D(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new R,o||dt(e)?xn(e,t,n,r,i,a):Rn(e,t,c,n,r,i,a);if(!(n&Hn)){var p=u&&Gn.call(e,`__wrapped__`),m=d&&Gn.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new R,i(h,g,n,r,a)}}return f?(a||=new R,Vn(e,t,n,r,i,a)):!1}function qn(e,t,n,r,i){return e===t?!0:e==null||t==null||!y(e)&&!y(t)?e!==e&&t!==t:Kn(e,t,n,r,qn,i)}function Jn(e,t){return qn(e,t)}var Yn=class extends r{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.supportsFill(e))return!1;let n=this.engine.block.getFill(e);return t.blockId!==e&&t.fillId!==n}fixDuplicate(e){let t=this.engine.block.getFill(e),n=this.get(e);n.status!==`IDLE`&&n.status!==`PENDING`&&n.status!==`ERROR`&&(this.set(e,{...n,blockId:e,fillId:t}),n.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.supportsFill(e))return!1;let n=this.engine.block.getFill(e);if(n==null||e!==t.blockId||n!==t.fillId)return!1;let r=this.engine.block.getSourceSet(n,`fill/image/sourceSet`),i=this.engine.block.getString(n,`fill/image/imageFileURI`);if(r.length===0&&!i&&t.status===`PROCESSING`)return!0;if(r?.length>0){let e=t.initialSourceSet;if(t.status!==`PROCESSED`&&!Jn(r,e))return!1}else if(t.status!==`PROCESSED`&&i!==t.initialImageFileURI)return!1;return!0}recoverInitialImageData(e){if(!this.engine.block.supportsFill(e))return;let t=this.get(e);if(t.status===`PENDING`||t.status===`IDLE`)return;let n=t.initialSourceSet,r=t.initialImageFileURI,i=t.initialPreviewFileURI,a=this.getValidFill(e,t);a!=null&&(r&&this.engine.block.setString(a,`fill/image/imageFileURI`,r),i&&this.engine.block.setString(a,`fill/image/previewFileURI`,i),n.length>0&&this.engine.block.setSourceSet(a,`fill/image/sourceSet`,n))}getValidFill(e,t){if(!this.engine.block.isValid(e)||!this.engine.block.supportsFill(e)||e!==t.blockId)return;let n=this.engine.block.getFill(e);if(n===t.fillId)return n}};async function Xn(e,t,n,r,i){let a=t.engine.block;if(!a.supportsFill(e))throw Error(`Block does not support fill`);let o=a.getFill(e),s=a.getSourceSet(o,`fill/image/sourceSet`),c=a.getString(o,`fill/image/imageFileURI`),l=a.getString(o,`fill/image/previewFileURI`);try{t.engine.block.setState(o,{type:`Pending`,progress:0});let a={...n.get(e),version:i,initialSourceSet:s,initialImageFileURI:c,initialPreviewFileURI:l,blockId:e,fillId:o,status:`PROCESSING`};n.set(e,a);let u=await r.processFill(a);if(n.get(e).status!==`PROCESSING`||!n.isConsistent(e)||n.get(e).status!==`PROCESSING`||!n.isConsistent(e)||u==null)return;let d={version:i,initialSourceSet:s,initialImageFileURI:c,initialPreviewFileURI:l,blockId:e,fillId:o,status:`PROCESSED`},f=r.commitProcessing(u,d);(f==null||f===e)&&n.set(e,d),t.engine.editor.addUndoStep()}catch(r){if(t.engine.block.isValid(e)&&(n.set(e,{version:i,initialSourceSet:s,initialImageFileURI:c,initialPreviewFileURI:l,blockId:e,fillId:o,status:`ERROR`}),n.recoverInitialImageData(e)),typeof r==`object`&&r&&`message`in r&&typeof r.message==`string`){let e=r.message===`signal timed out`?`Processing canceled due to timeout`:r.message;t.ui.showNotification({type:`error`,message:e})}console.log(r)}finally{t.engine.block.isValid(o)&&t.engine.block.setState(o,{type:`Ready`})}}function Zn(e,t){return{id:e,requires:({engine:e,blockId:n})=>{if(n==null||!e.block.supportsFill(n))return!1;let r=e.block.getFill(n);if(e.block.getType(r)!==`//ly.img.ubq/fill/image`)return!1;let i=e.block.getString(r,`fill/image/imageFileURI`);return e.block.getSourceSet(r,`fill/image/sourceSet`).length>0||i!==``||t.get(n).status===`PROCESSING`},when:({engine:e,blockId:t,selection:n})=>t!=null&&n.length===1&&e.block.isVisible(t)&&e.block.getKind(t)!==`sticker`}}function K(e,t,n){return e.evaluate(t,{blockId:n}).status===`available`}function Qn(e,{pluginId:t,featureId:n,process:r}){let i=new Yn(e.engine,t);e.features.define(Zn(n,i)),e.engine.event.subscribe([],async t=>{t.forEach(t=>{let a=t.block;if(e.engine.block.isValid(a)&&i.hasData(a)){if(t.type===`Created`)i.isDuplicate(a)&&i.fixDuplicate(a);else if(t.type===`Updated`)switch(i.get(a).status){case`PENDING`:K(e.features,n,a)&&e.engine.block.isAllowedByScope(a,`fill/change`)&&e.engine.block.getState(a).type!==`Pending`&&r(a,i);break;case`PROCESSING`:case`PROCESSED`:i.isConsistent(a)||i.clear(a)}}})})}function $n(e){return[`${e}.canvasMenu`,`${e}.fillProcessing.canvasMenu`]}function er(e){return[`${e}.dock`,`${e}.fillProcessing.dock`]}function tr(e){return[`${e}.inspectorBar`,`${e}.fillProcessing.inspectorBar`]}function nr(e){return[`${e}.navigationBar`,`${e}.fillProcessing.navigationBar`]}function rr(e){return[`${e}.canvasBar`,`${e}.fillProcessing.canvasBar`]}function ir(e){return`plugin.${e}.fillProcessing.canvasMenu.button.label`}function ar(e){return`plugin.${e}.fillProcessing.dock.button.label`}function or(e){return`plugin.${e}.fillProcessing.inspectorBar.button.label`}function sr(e){return`plugin.${e}.fillProcessing.navigationBar.button.label`}function cr(e){return`plugin.${e}.fillProcessing.canvasBar.button.label`}function lr(e,t){let{pluginId:n,featureId:r,locations:i}=t,a=new Yn(e.engine,n),o=ir(n),s=$n(n),c=s[0],l=ar(n),u=er(n),d=u[0],f=or(n),p=tr(n),m=p[0],h=sr(n),g=nr(n),_=g[0],v=cr(n),y=rr(n),b=y[0];return i?.includes(`inspectorBar`)&&e.ui.setInspectorBarOrder([m,...e.ui.getInspectorBarOrder()]),i?.includes(`navigationBar`)&&e.ui.setNavigationBarOrder([_,...e.ui.getNavigationBarOrder()]),i?.includes(`canvasBarTop`)&&e.ui.setCanvasBarOrder([b,...e.ui.getCanvasBarOrder(`top`)],`top`),i?.includes(`canvasBarBottom`)&&e.ui.setCanvasBarOrder([b,...e.ui.getCanvasBarOrder(`bottom`)],`bottom`),i?.includes(`canvasMenu`)&&e.ui.setCanvasMenuOrder([c,...e.ui.getCanvasMenuOrder()]),i?.includes(`dock`)&&e.ui.setDockOrder([...e.ui.getDockOrder(),d]),e.ui.registerComponent(u,({builder:{Button:n},engine:i})=>{let{features:o}=e,[s]=i.block.findAllSelected(),c=!1,u=!1,f;if(s??(c=!0),!c&&!K(o,r,s)&&(c=!0),!c&&!e.engine.block.isAllowedByScope(s,`fill/change`)&&(c=!0),!c&&i.block.getState(s)?.type===`Pending`&&(c=!0),!c){let e=a.get(s);if(u=e.status===`PROCESSING`,c=e.status===`PENDING`||e.status===`PROCESSING`,e.status===`PROCESSING`&&e.progress){let{current:t,total:n}=e.progress;f=t/n*100}}n(`${d}.button`,{label:l,icon:t.icon,isLoading:u,isDisabled:c,loadingProgress:f,onClick:()=>{let e=a.get(s);(e.status===`IDLE`||e.status===`ERROR`||e.status===`PROCESSED`)&&a.set(s,{status:`PENDING`})}})}),[{componentIds:p,variant:`plain`,label:f},{componentIds:g,variant:`regular`,label:h},{componentIds:y,variant:`regular`,label:v},{componentIds:s,variant:`plain`,label:o}].forEach(({componentIds:n,label:i,variant:o})=>{let s=n[0];e.ui.registerComponent(n,({builder:{Button:n},engine:c})=>{let{features:l}=e,[u]=c.block.findAllSelected();if(u==null||!K(l,r,u)||!e.engine.block.isAllowedByScope(u,`fill/change`))return;let d=a.get(u),f=d.status===`PROCESSING`,p=d.status===`PENDING`||d.status===`PROCESSING`||c.block.getState(u)?.type===`Pending`,m;if(f&&d.progress){let{current:e,total:t}=d.progress;m=e/t*100}n(`${s}.button`,{icon:t.icon,label:i,variant:o,isLoading:f,isDisabled:p,loadingProgress:m,onClick:()=>{(d.status===`IDLE`||d.status===`ERROR`||d.status===`PROCESSED`)&&a.set(u,{status:`PENDING`})}})})}),{canvasMenuComponentId:c,dockComponentId:d,translationsKeys:{inspectorBarLabel:f,navigationBarLabel:h,canvasBarLabel:v,canvasMenuLabel:o,dockLabel:l}}}var ur=typeof global==`object`&&global&&global.Object===Object&&global,dr=typeof self==`object`&&self&&self.Object===Object&&self,fr=ur||dr||Function(`return this`)(),q=fr.Symbol,pr=Object.prototype,mr=pr.hasOwnProperty,hr=pr.toString,J=q?q.toStringTag:void 0;function gr(e){var t=mr.call(e,J),n=e[J];try{e[J]=void 0;var r=!0}catch{}var i=hr.call(e);return r&&(t?e[J]=n:delete e[J]),i}var _r=Object.prototype.toString;function vr(e){return _r.call(e)}var yr=`[object Null]`,br=`[object Undefined]`,Y=q?q.toStringTag:void 0;function xr(e){return e==null?e===void 0?br:yr:Y&&Y in Object(e)?gr(e):vr(e)}function Sr(e){return typeof e==`object`&&!!e}var Cr=`[object Symbol]`;function wr(e){return typeof e==`symbol`||Sr(e)&&xr(e)==Cr}var Tr=/\s/;function Er(e){for(var t=e.length;t--&&Tr.test(e.charAt(t)););return t}var Dr=/^\s+/;function Or(e){return e&&e.slice(0,Er(e)+1).replace(Dr,``)}function X(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var kr=NaN,Ar=/^[-+]0x[0-9a-f]+$/i,jr=/^0b[01]+$/i,Mr=/^0o[0-7]+$/i,Nr=parseInt;function Pr(e){if(typeof e==`number`)return e;if(wr(e))return kr;if(X(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=X(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Or(e);var n=jr.test(e);return n||Mr.test(e)?Nr(e.slice(2),n?2:8):Ar.test(e)?kr:+e}var Z=function(){return fr.Date.now()},Fr=`Expected a function`,Ir=Math.max,Lr=Math.min;function Rr(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(Fr);t=Pr(t)||0,X(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?Ir(Pr(n.maxWait)||0,t):a,f=`trailing`in n?!!n.trailing:f);function p(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){var n=e-c,r=e-l,i=t-n;return d?Lr(i,a-r):i}function g(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function _(){var e=Z();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(Z())}function x(){var e=Z(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}var zr=`Expected a function`;function Br(e,t,n){var r=!0,i=!0;if(typeof e!=`function`)throw TypeError(zr);return X(n)&&(r=`leading`in n?!!n.leading:r,i=`trailing`in n?!!n.trailing:i),Rr(e,t,{leading:r,maxWait:t,trailing:i})}function Vr(e,t=1024){if(e.length===0)return;let[n,r]=e.reduce((e,n)=>(n.width>=t&&n.height>=t?e[0].push(n):e[1].push(n),e),[[],[]]);return n.length>0?n.sort((e,t)=>e.width*e.height-t.width*t.height)[0]:r.sort((e,t)=>t.width*t.height-e.width*e.height)[0]}async function Hr(e,t,n){let r=new URL(t).pathname.split(`/`),i=r[r.length-1],a=(await n.unstable_upload(new File([e],i,{type:e.type}),()=>{})).meta?.uri;if(a==null)throw Error(`Could not upload processed fill`);return a}async function Ur(t,r,i,a,o){return Xn(t,r,i,{processFill:o??(async t=>{let i=t.initialSourceSet,o=Vr(i);if(o==null)throw Error(`No source found`);let s=await Q(o.uri,r),c=await n(s,a);return await Promise.all(i.map(async t=>{let n=await Hr(await e(await Q(t.uri,r),c,a),t.uri,r);return{...t,uri:n}}))}),commitProcessing:(e,t)=>{let n=t.fillId;r.engine.block.setSourceSet(n,`fill/image/sourceSet`,e);let i=[...e].sort((e,t)=>e.width*e.height-t.width*t.height)[0];i!=null&&r.engine.block.setString(n,`fill/image/previewFileURI`,i.uri)}},`1.87.0-nightly.20261109`)}async function Wr(e,n,r,i,a){return Xn(e,n,r,{processFill:a??(async e=>{let r=e.initialImageFileURI;return await Hr(await t(await Q(r,n),i),r,n)}),commitProcessing:(e,t)=>{let r=t.fillId;n.engine.block.setString(r,`fill/image/imageFileURI`,e),n.engine.block.setString(r,`fill/image/previewFileURI`,``)}},`1.87.0-nightly.20261109`)}async function Q(e,t){if(e.startsWith(`buffer:`)){let n=await t.engine.editor.getMimeType(e),r=t.engine.editor.getBufferLength(e),i=t.engine.editor.getBufferData(e,0,r),a=new Uint8Array(i);return new Blob([a],{type:n})}return e}async function Gr(){if(typeof navigator>`u`)return!1;let e=navigator.gpu;if(e==null)return!1;try{let t=await e.requestAdapter();return t!=null&&t.features.has(`shader-f16`)}catch{return!1}}async function Kr(e,t,n,r){let i=e.engine.block;if(!i.supportsFill(t))throw Error(`Block does not support fill`);let a=i.getFill(t),o=i.getSourceSet(a,`fill/image/sourceSet`),s=i.getString(a,`fill/image/imageFileURI`);if(o.length===0&&s===``)throw Error(`No source or image file URI found`);switch(r.type){case`@imgly/background-removal`:{let i=r.configuration??{},a={device:i.device??(await Gr()?`gpu`:`cpu`),...i,progress:Br((e,r,a)=>{let o=n.get(t);o.status===`PROCESSING`&&n.isConsistent(t)&&(i.progress?.(e,r,a),n.set(t,{...o,progress:{key:e,current:r,total:a}}))},100)};o.length>0?Ur(t,e,n,a):Wr(t,e,n,a);break}case`custom`:o.length>0?Ur(t,e,n,void 0,e=>r.processSourceSet(e.initialSourceSet)):Wr(t,e,n,void 0,e=>r.processImageFileURI(e.initialImageFileURI));break;default:throw Error(`Unknown background removal provider`)}}const $=`@imgly/plugin-background-removal-web`,qr=`ly.img.plugin-background-removal-web.removeBackground`;var Jr=(e={})=>({initialize({cesdk:t}){if(t==null)return;Yr(t),Qn(t,{pluginId:$,featureId:qr,process:(n,r)=>{Kr(t,n,r,e.provider??{type:`@imgly/background-removal`})}});let{translationsKeys:n}=lr(t,{pluginId:$,featureId:qr,icon:`@imgly/icons/BGRemove`,locations:e.ui?.locations});t.setTranslations({en:{[n.inspectorBarLabel]:`BG Removal`,[n.navigationBarLabel]:`BG Removal`,[n.canvasBarLabel]:`BG Removal`,[n.canvasMenuLabel]:`BG Removal`,[n.dockLabel]:`BG Removal`}})}});function Yr(e){e.ui.addIconSet(`@imgly/plugin/background-removal`,`
|
|
1
|
+
import*as e from"@imgly/background-removal";var t=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)}},n=typeof global==`object`&&global&&global.Object===Object&&global,r=typeof self==`object`&&self&&self.Object===Object&&self,i=n||r||Function(`return this`)(),a=i.Symbol,o=Object.prototype,s=o.hasOwnProperty,c=o.toString,l=a?a.toStringTag:void 0;function u(e){var t=s.call(e,l),n=e[l];try{e[l]=void 0;var r=!0}catch{}var i=c.call(e);return r&&(t?e[l]=n:delete e[l]),i}var d=Object.prototype.toString;function f(e){return d.call(e)}var p=`[object Null]`,m=`[object Undefined]`,h=a?a.toStringTag:void 0;function g(e){return e==null?e===void 0?m:p:h&&h in Object(e)?u(e):f(e)}function _(e){return typeof e==`object`&&!!e}var v=Array.isArray;function y(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var b=`[object AsyncFunction]`,x=`[object Function]`,ee=`[object GeneratorFunction]`,te=`[object Proxy]`;function ne(e){if(!y(e))return!1;var t=g(e);return t==x||t==ee||t==b||t==te}var S=i[`__core-js_shared__`],re=function(){var e=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function ie(e){return!!re&&re in e}var ae=Function.prototype.toString;function C(e){if(e!=null){try{return ae.call(e)}catch{}try{return e+``}catch{}}return``}var oe=/[\\^$.*+?()[\]{}|]/g,se=/^\[object .+?Constructor\]$/,ce=Function.prototype,le=Object.prototype,ue=ce.toString,de=le.hasOwnProperty,fe=RegExp(`^`+ue.call(de).replace(oe,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function pe(e){return!y(e)||ie(e)?!1:(ne(e)?fe:se).test(C(e))}function me(e,t){return e?.[t]}function w(e,t){var n=me(e,t);return pe(n)?n:void 0}var T=w(i,`WeakMap`),he=9007199254740991,ge=/^(?:0|[1-9]\d*)$/;function _e(e,t){var n=typeof e;return t??=he,!!t&&(n==`number`||n!=`symbol`&&ge.test(e))&&e>-1&&e%1==0&&e<t}function ve(e,t){return e===t||e!==e&&t!==t}var ye=9007199254740991;function be(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=ye}function xe(e){return e!=null&&be(e.length)&&!ne(e)}var Se=Object.prototype;function Ce(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Se)}function we(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var Te=`[object Arguments]`;function Ee(e){return _(e)&&g(e)==Te}var De=Object.prototype,Oe=De.hasOwnProperty,ke=De.propertyIsEnumerable,Ae=Ee(function(){return arguments}())?Ee:function(e){return _(e)&&Oe.call(e,`callee`)&&!ke.call(e,`callee`)};function je(){return!1}var Me=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Ne=Me&&typeof module==`object`&&module&&!module.nodeType&&module,Pe=Ne&&Ne.exports===Me?i.Buffer:void 0,Fe=(Pe?Pe.isBuffer:void 0)||je,Ie=`[object Arguments]`,Le=`[object Array]`,Re=`[object Boolean]`,ze=`[object Date]`,Be=`[object Error]`,Ve=`[object Function]`,He=`[object Map]`,Ue=`[object Number]`,We=`[object Object]`,Ge=`[object RegExp]`,Ke=`[object Set]`,qe=`[object String]`,Je=`[object WeakMap]`,Ye=`[object ArrayBuffer]`,Xe=`[object DataView]`,Ze=`[object Float32Array]`,Qe=`[object Float64Array]`,$e=`[object Int8Array]`,et=`[object Int16Array]`,tt=`[object Int32Array]`,nt=`[object Uint8Array]`,rt=`[object Uint8ClampedArray]`,it=`[object Uint16Array]`,at=`[object Uint32Array]`,E={};E[Ze]=E[Qe]=E[$e]=E[et]=E[tt]=E[nt]=E[rt]=E[it]=E[at]=!0,E[Ie]=E[Le]=E[Ye]=E[Re]=E[Xe]=E[ze]=E[Be]=E[Ve]=E[He]=E[Ue]=E[We]=E[Ge]=E[Ke]=E[qe]=E[Je]=!1;function ot(e){return _(e)&&be(e.length)&&!!E[g(e)]}function st(e){return function(t){return e(t)}}var ct=typeof exports==`object`&&exports&&!exports.nodeType&&exports,D=ct&&typeof module==`object`&&module&&!module.nodeType&&module,O=D&&D.exports===ct&&n.process,lt=function(){try{return D&&D.require&&D.require(`util`).types||O&&O.binding&&O.binding(`util`)}catch{}}(),ut=lt&<.isTypedArray,dt=ut?st(ut):ot,ft=Object.prototype.hasOwnProperty;function pt(e,t){var n=v(e),r=!n&&Ae(e),i=!n&&!r&&Fe(e),a=!n&&!r&&!i&&dt(e),o=n||r||i||a,s=o?we(e.length,String):[],c=s.length;for(var l in e)(t||ft.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||_e(l,c)))&&s.push(l);return s}function mt(e,t){return function(n){return e(t(n))}}var ht=mt(Object.keys,Object),gt=Object.prototype.hasOwnProperty;function _t(e){if(!Ce(e))return ht(e);var t=[];for(var n in Object(e))gt.call(e,n)&&n!=`constructor`&&t.push(n);return t}function vt(e){return xe(e)?pt(e):_t(e)}var k=w(Object,`create`);function yt(){this.__data__=k?k(null):{},this.size=0}function bt(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}var xt=`__lodash_hash_undefined__`,St=Object.prototype.hasOwnProperty;function Ct(e){var t=this.__data__;if(k){var n=t[e];return n===xt?void 0:n}return St.call(t,e)?t[e]:void 0}var wt=Object.prototype.hasOwnProperty;function Tt(e){var t=this.__data__;return k?t[e]!==void 0:wt.call(t,e)}var Et=`__lodash_hash_undefined__`;function Dt(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=k&&t===void 0?Et:t,this}function A(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}A.prototype.clear=yt,A.prototype.delete=bt,A.prototype.get=Ct,A.prototype.has=Tt,A.prototype.set=Dt;function Ot(){this.__data__=[],this.size=0}function j(e,t){for(var n=e.length;n--;)if(ve(e[n][0],t))return n;return-1}var kt=Array.prototype.splice;function At(e){var t=this.__data__,n=j(t,e);return n<0?!1:(n==t.length-1?t.pop():kt.call(t,n,1),--this.size,!0)}function jt(e){var t=this.__data__,n=j(t,e);return n<0?void 0:t[n][1]}function Mt(e){return j(this.__data__,e)>-1}function Nt(e,t){var n=this.__data__,r=j(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function M(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}M.prototype.clear=Ot,M.prototype.delete=At,M.prototype.get=jt,M.prototype.has=Mt,M.prototype.set=Nt;var N=w(i,`Map`);function Pt(){this.size=0,this.__data__={hash:new A,map:new(N||M),string:new A}}function Ft(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function P(e,t){var n=e.__data__;return Ft(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function It(e){var t=P(this,e).delete(e);return this.size-=+!!t,t}function Lt(e){return P(this,e).get(e)}function Rt(e){return P(this,e).has(e)}function zt(e,t){var n=P(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function F(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}F.prototype.clear=Pt,F.prototype.delete=It,F.prototype.get=Lt,F.prototype.has=Rt,F.prototype.set=zt;function Bt(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Vt(){this.__data__=new M,this.size=0}function Ht(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ut(e){return this.__data__.get(e)}function Wt(e){return this.__data__.has(e)}var Gt=200;function Kt(e,t){var n=this.__data__;if(n instanceof M){var r=n.__data__;if(!N||r.length<Gt-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new F(r)}return n.set(e,t),this.size=n.size,this}function I(e){var t=this.__data__=new M(e);this.size=t.size}I.prototype.clear=Vt,I.prototype.delete=Ht,I.prototype.get=Ut,I.prototype.has=Wt,I.prototype.set=Kt;function qt(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function Jt(){return[]}var Yt=Object.prototype.propertyIsEnumerable,Xt=Object.getOwnPropertySymbols,Zt=Xt?function(e){return e==null?[]:(e=Object(e),qt(Xt(e),function(t){return Yt.call(e,t)}))}:Jt;function Qt(e,t,n){var r=t(e);return v(e)?r:Bt(r,n(e))}function $t(e){return Qt(e,vt,Zt)}var L=w(i,`DataView`),R=w(i,`Promise`),z=w(i,`Set`),en=`[object Map]`,tn=`[object Object]`,nn=`[object Promise]`,rn=`[object Set]`,an=`[object WeakMap]`,on=`[object DataView]`,sn=C(L),cn=C(N),ln=C(R),un=C(z),dn=C(T),B=g;(L&&B(new L(/* @__PURE__ */ new ArrayBuffer(1)))!=on||N&&B(new N)!=en||R&&B(R.resolve())!=nn||z&&B(new z)!=rn||T&&B(new T)!=an)&&(B=function(e){var t=g(e),n=t==tn?e.constructor:void 0,r=n?C(n):``;if(r)switch(r){case sn:return on;case cn:return en;case ln:return nn;case un:return rn;case dn:return an}return t});var fn=B,pn=i.Uint8Array,mn=`__lodash_hash_undefined__`;function hn(e){return this.__data__.set(e,mn),this}function gn(e){return this.__data__.has(e)}function V(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new F;++t<n;)this.add(e[t])}V.prototype.add=V.prototype.push=hn,V.prototype.has=gn;function _n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function vn(e,t){return e.has(t)}var yn=1,bn=2;function xn(e,t,n,r,i,a){var o=n&yn,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&bn?new V:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!_n(t,function(e,t){if(!vn(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function Sn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Cn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var wn=1,Tn=2,En=`[object Boolean]`,Dn=`[object Date]`,On=`[object Error]`,kn=`[object Map]`,An=`[object Number]`,jn=`[object RegExp]`,Mn=`[object Set]`,Nn=`[object String]`,Pn=`[object Symbol]`,Fn=`[object ArrayBuffer]`,In=`[object DataView]`,Ln=a?a.prototype:void 0,H=Ln?Ln.valueOf:void 0;function Rn(e,t,n,r,i,a,o){switch(n){case In:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Fn:return!(e.byteLength!=t.byteLength||!a(new pn(e),new pn(t)));case En:case Dn:case An:return ve(+e,+t);case On:return e.name==t.name&&e.message==t.message;case jn:case Nn:return e==t+``;case kn:var s=Sn;case Mn:var c=r&wn;if(s||=Cn,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=Tn,o.set(e,t);var u=xn(s(e),s(t),r,i,a,o);return o.delete(e),u;case Pn:if(H)return H.call(e)==H.call(t)}return!1}var zn=1,Bn=Object.prototype.hasOwnProperty;function Vn(e,t,n,r,i,a){var o=n&zn,s=$t(e),c=s.length;if(c!=$t(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:Bn.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var Hn=1,Un=`[object Arguments]`,Wn=`[object Array]`,U=`[object Object]`,Gn=Object.prototype.hasOwnProperty;function Kn(e,t,n,r,i,a){var o=v(e),s=v(t),c=o?Wn:fn(e),l=s?Wn:fn(t);c=c==Un?U:c,l=l==Un?U:l;var u=c==U,d=l==U,f=c==l;if(f&&Fe(e)){if(!Fe(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new I,o||dt(e)?xn(e,t,n,r,i,a):Rn(e,t,c,n,r,i,a);if(!(n&Hn)){var p=u&&Gn.call(e,`__wrapped__`),m=d&&Gn.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new I,i(h,g,n,r,a)}}return f?(a||=new I,Vn(e,t,n,r,i,a)):!1}function qn(e,t,n,r,i){return e===t?!0:e==null||t==null||!_(e)&&!_(t)?e!==e&&t!==t:Kn(e,t,n,r,qn,i)}function Jn(e,t){return qn(e,t)}var Yn=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.supportsFill(e))return!1;let n=this.engine.block.getFill(e);return t.blockId!==e&&t.fillId!==n}fixDuplicate(e){let t=this.engine.block.getFill(e),n=this.get(e);n.status!==`IDLE`&&n.status!==`PENDING`&&n.status!==`ERROR`&&(this.set(e,{...n,blockId:e,fillId:t}),n.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.supportsFill(e))return!1;let n=this.engine.block.getFill(e);if(n==null||e!==t.blockId||n!==t.fillId)return!1;let r=this.engine.block.getSourceSet(n,`fill/image/sourceSet`),i=this.engine.block.getString(n,`fill/image/imageFileURI`);if(r.length===0&&!i&&t.status===`PROCESSING`)return!0;if(r?.length>0){let e=t.initialSourceSet;if(t.status!==`PROCESSED`&&!Jn(r,e))return!1}else if(t.status!==`PROCESSED`&&i!==t.initialImageFileURI)return!1;return!0}recoverInitialImageData(e){if(!this.engine.block.supportsFill(e))return;let t=this.get(e);if(t.status===`PENDING`||t.status===`IDLE`)return;let n=t.initialSourceSet,r=t.initialImageFileURI,i=t.initialPreviewFileURI,a=this.getValidFill(e,t);a!=null&&(r&&this.engine.block.setString(a,`fill/image/imageFileURI`,r),i&&this.engine.block.setString(a,`fill/image/previewFileURI`,i),n.length>0&&this.engine.block.setSourceSet(a,`fill/image/sourceSet`,n))}getValidFill(e,t){if(!this.engine.block.isValid(e)||!this.engine.block.supportsFill(e)||e!==t.blockId)return;let n=this.engine.block.getFill(e);if(n===t.fillId)return n}};async function Xn(e,t,n,r,i){let a=t.engine.block;if(!a.supportsFill(e))throw Error(`Block does not support fill`);let o=a.getFill(e),s=a.getSourceSet(o,`fill/image/sourceSet`),c=a.getString(o,`fill/image/imageFileURI`),l=a.getString(o,`fill/image/previewFileURI`);try{t.engine.block.setState(o,{type:`Pending`,progress:0});let a={...n.get(e),version:i,initialSourceSet:s,initialImageFileURI:c,initialPreviewFileURI:l,blockId:e,fillId:o,status:`PROCESSING`};n.set(e,a);let u=await r.processFill(a);if(n.get(e).status!==`PROCESSING`||!n.isConsistent(e)||n.get(e).status!==`PROCESSING`||!n.isConsistent(e)||u==null)return;let d={version:i,initialSourceSet:s,initialImageFileURI:c,initialPreviewFileURI:l,blockId:e,fillId:o,status:`PROCESSED`},f=r.commitProcessing(u,d);(f==null||f===e)&&n.set(e,d),t.engine.editor.addUndoStep()}catch(r){if(t.engine.block.isValid(e)&&(n.set(e,{version:i,initialSourceSet:s,initialImageFileURI:c,initialPreviewFileURI:l,blockId:e,fillId:o,status:`ERROR`}),n.recoverInitialImageData(e)),typeof r==`object`&&r&&`message`in r&&typeof r.message==`string`){let e=r.message===`signal timed out`?`Processing canceled due to timeout`:r.message;t.ui.showNotification({type:`error`,message:e})}console.log(r)}finally{t.engine.block.isValid(o)&&t.engine.block.setState(o,{type:`Ready`})}}function Zn(e,t){return{id:e,requires:({engine:e,blockId:n})=>{if(n==null||!e.block.supportsFill(n))return!1;let r=e.block.getFill(n);if(e.block.getType(r)!==`//ly.img.ubq/fill/image`)return!1;let i=e.block.getString(r,`fill/image/imageFileURI`);return e.block.getSourceSet(r,`fill/image/sourceSet`).length>0||i!==``||t.get(n).status===`PROCESSING`},when:({engine:e,blockId:t,selection:n})=>t!=null&&n.length===1&&e.block.isVisible(t)&&e.block.getKind(t)!==`sticker`}}function W(e,t,n){return e.evaluate(t,{blockId:n}).status===`available`}function Qn(e,{pluginId:t,featureId:n,process:r}){let i=new Yn(e.engine,t);e.features.define(Zn(n,i)),e.engine.event.subscribe([],async t=>{t.forEach(t=>{let a=t.block;if(e.engine.block.isValid(a)&&i.hasData(a)){if(t.type===`Created`)i.isDuplicate(a)&&i.fixDuplicate(a);else if(t.type===`Updated`)switch(i.get(a).status){case`PENDING`:W(e.features,n,a)&&e.engine.block.isAllowedByScope(a,`fill/change`)&&e.engine.block.getState(a).type!==`Pending`&&r(a,i);break;case`PROCESSING`:case`PROCESSED`:i.isConsistent(a)||i.clear(a)}}})})}function $n(e){return[`${e}.canvasMenu`,`${e}.fillProcessing.canvasMenu`]}function er(e){return[`${e}.dock`,`${e}.fillProcessing.dock`]}function tr(e){return[`${e}.inspectorBar`,`${e}.fillProcessing.inspectorBar`]}function nr(e){return[`${e}.navigationBar`,`${e}.fillProcessing.navigationBar`]}function rr(e){return[`${e}.canvasBar`,`${e}.fillProcessing.canvasBar`]}function ir(e){return`plugin.${e}.fillProcessing.canvasMenu.button.label`}function ar(e){return`plugin.${e}.fillProcessing.dock.button.label`}function or(e){return`plugin.${e}.fillProcessing.inspectorBar.button.label`}function sr(e){return`plugin.${e}.fillProcessing.navigationBar.button.label`}function cr(e){return`plugin.${e}.fillProcessing.canvasBar.button.label`}function lr(e,t){let{pluginId:n,featureId:r,locations:i}=t,a=new Yn(e.engine,n),o=ir(n),s=$n(n),c=s[0],l=ar(n),u=er(n),d=u[0],f=or(n),p=tr(n),m=p[0],h=sr(n),g=nr(n),_=g[0],v=cr(n),y=rr(n),b=y[0];return i?.includes(`inspectorBar`)&&e.ui.setInspectorBarOrder([m,...e.ui.getInspectorBarOrder()]),i?.includes(`navigationBar`)&&e.ui.setNavigationBarOrder([_,...e.ui.getNavigationBarOrder()]),i?.includes(`canvasBarTop`)&&e.ui.setCanvasBarOrder([b,...e.ui.getCanvasBarOrder(`top`)],`top`),i?.includes(`canvasBarBottom`)&&e.ui.setCanvasBarOrder([b,...e.ui.getCanvasBarOrder(`bottom`)],`bottom`),i?.includes(`canvasMenu`)&&e.ui.setCanvasMenuOrder([c,...e.ui.getCanvasMenuOrder()]),i?.includes(`dock`)&&e.ui.setDockOrder([...e.ui.getDockOrder(),d]),e.ui.registerComponent(u,({builder:{Button:n},engine:i})=>{let{features:o}=e,[s]=i.block.findAllSelected(),c=!1,u=!1,f;if(s??(c=!0),!c&&!W(o,r,s)&&(c=!0),!c&&!e.engine.block.isAllowedByScope(s,`fill/change`)&&(c=!0),!c&&i.block.getState(s)?.type===`Pending`&&(c=!0),!c){let e=a.get(s);if(u=e.status===`PROCESSING`,c=e.status===`PENDING`||e.status===`PROCESSING`,e.status===`PROCESSING`&&e.progress){let{current:t,total:n}=e.progress;f=t/n*100}}n(`${d}.button`,{label:l,icon:t.icon,isLoading:u,isDisabled:c,loadingProgress:f,onClick:()=>{let e=a.get(s);(e.status===`IDLE`||e.status===`ERROR`||e.status===`PROCESSED`)&&a.set(s,{status:`PENDING`})}})}),[{componentIds:p,variant:`plain`,label:f},{componentIds:g,variant:`regular`,label:h},{componentIds:y,variant:`regular`,label:v},{componentIds:s,variant:`plain`,label:o}].forEach(({componentIds:n,label:i,variant:o})=>{let s=n[0];e.ui.registerComponent(n,({builder:{Button:n},engine:c})=>{let{features:l}=e,[u]=c.block.findAllSelected();if(u==null||!W(l,r,u)||!e.engine.block.isAllowedByScope(u,`fill/change`))return;let d=a.get(u),f=d.status===`PROCESSING`,p=d.status===`PENDING`||d.status===`PROCESSING`||c.block.getState(u)?.type===`Pending`,m;if(f&&d.progress){let{current:e,total:t}=d.progress;m=e/t*100}n(`${s}.button`,{icon:t.icon,label:i,variant:o,isLoading:f,isDisabled:p,loadingProgress:m,onClick:()=>{(d.status===`IDLE`||d.status===`ERROR`||d.status===`PROCESSED`)&&a.set(u,{status:`PENDING`})}})})}),{canvasMenuComponentId:c,dockComponentId:d,translationsKeys:{inspectorBarLabel:f,navigationBarLabel:h,canvasBarLabel:v,canvasMenuLabel:o,dockLabel:l}}}var ur=typeof global==`object`&&global&&global.Object===Object&&global,dr=typeof self==`object`&&self&&self.Object===Object&&self,fr=ur||dr||Function(`return this`)(),G=fr.Symbol,pr=Object.prototype,mr=pr.hasOwnProperty,hr=pr.toString,K=G?G.toStringTag:void 0;function gr(e){var t=mr.call(e,K),n=e[K];try{e[K]=void 0;var r=!0}catch{}var i=hr.call(e);return r&&(t?e[K]=n:delete e[K]),i}var _r=Object.prototype.toString;function vr(e){return _r.call(e)}var yr=`[object Null]`,br=`[object Undefined]`,xr=G?G.toStringTag:void 0;function Sr(e){return e==null?e===void 0?br:yr:xr&&xr in Object(e)?gr(e):vr(e)}function Cr(e){return typeof e==`object`&&!!e}var wr=`[object Symbol]`;function Tr(e){return typeof e==`symbol`||Cr(e)&&Sr(e)==wr}var Er=/\s/;function Dr(e){for(var t=e.length;t--&&Er.test(e.charAt(t)););return t}var Or=/^\s+/;function kr(e){return e&&e.slice(0,Dr(e)+1).replace(Or,``)}function q(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var Ar=NaN,jr=/^[-+]0x[0-9a-f]+$/i,Mr=/^0b[01]+$/i,Nr=/^0o[0-7]+$/i,Pr=parseInt;function Fr(e){if(typeof e==`number`)return e;if(Tr(e))return Ar;if(q(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=q(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=kr(e);var n=Mr.test(e);return n||Nr.test(e)?Pr(e.slice(2),n?2:8):jr.test(e)?Ar:+e}var J=function(){return fr.Date.now()},Ir=`Expected a function`,Lr=Math.max,Rr=Math.min;function zr(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(Ir);t=Fr(t)||0,q(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?Lr(Fr(n.maxWait)||0,t):a,f=`trailing`in n?!!n.trailing:f);function p(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){var n=e-c,r=e-l,i=t-n;return d?Rr(i,a-r):i}function g(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function _(){var e=J();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(J())}function x(){var e=J(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}var Br=`Expected a function`;function Vr(e,t,n){var r=!0,i=!0;if(typeof e!=`function`)throw TypeError(Br);return q(n)&&(r=`leading`in n?!!n.leading:r,i=`trailing`in n?!!n.trailing:i),zr(e,t,{leading:r,maxWait:t,trailing:i})}let Y,X=!1,Hr=!1,Ur=0;const Z=/* @__PURE__ */ new Map;function Wr(){if(!Hr){if(Y!=null)return Y;if(typeof Worker>`u`)return Q(/* @__PURE__ */ Error(`no Worker`));try{Y=new Worker(new URL(`./worker.mjs`,import.meta.url),{type:`module`,name:`imgly-background-removal`})}catch(e){return Q(e)}return Y.addEventListener(`message`,Kr),Y.addEventListener(`error`,e=>{e.preventDefault();let t=e.message||`the worker script did not load`;X?Gr(t):Q(t)}),Y}}function Q(e){Hr=!0,Y?.terminate(),Y=void 0,console.warn(`@imgly/plugin-background-removal-web: background removal runs on the main thread, so the page can freeze until it ends. The worker did not start:`,e);let t=[...Z.values()];Z.clear();for(let e of t)e.runOnMainThread().then(e.resolve,e.reject)}function Gr(e){Y?.terminate(),Y=void 0,X=!1;let t=[...Z.values()];Z.clear();for(let n of t)n.reject(Error(e))}function Kr({data:e}){if(e.type===`ready`){X=!0;return}let t=Z.get(e.id);if(t!=null)switch(e.type){case`progress`:t.config?.progress?.(e.key,e.current,e.total);return;case`result`:Z.delete(e.id),t.resolve(e.result);return;default:Z.delete(e.id),t.reject(Error(e.message))}}function qr(e){return typeof e==`string`&&typeof document<`u`?new URL(e,document.baseURI).href:e}function Jr(e,t,n,r,i){let a=Wr();if(a==null)return i();let{progress:o,...s}=r??{},c=Ur++,l={id:c,operation:e,image:qr(t),mask:n,config:s.publicPath==null?s:{...s,publicPath:qr(s.publicPath)}};try{a.postMessage(l)}catch{return i()}return new Promise((e,t)=>{Z.set(c,{config:r,resolve:e,reject:t,runOnMainThread:i})})}function Yr(t,n){return Jr(`removeBackground`,t,void 0,n,()=>e.removeBackground(t,n))}function Xr(t,n){return Jr(`segmentForeground`,t,void 0,n,()=>e.segmentForeground(t,n))}function Zr(t,n,r){return Jr(`applySegmentationMask`,t,n,r,()=>e.applySegmentationMask(t,n,r))}function Qr(e,t=1024){if(e.length===0)return;let[n,r]=e.reduce((e,n)=>(n.width>=t&&n.height>=t?e[0].push(n):e[1].push(n),e),[[],[]]);return n.length>0?n.sort((e,t)=>e.width*e.height-t.width*t.height)[0]:r.sort((e,t)=>t.width*t.height-e.width*e.height)[0]}async function $r(e,t,n){let r=new URL(t).pathname.split(`/`),i=r[r.length-1],a=(await n.unstable_upload(new File([e],i,{type:e.type}),()=>{})).meta?.uri;if(a==null)throw Error(`Could not upload processed fill`);return a}async function ei(e,t,n,r,i){return Xn(e,t,n,{processFill:i??(async e=>{let n=e.initialSourceSet,i=Qr(n);if(i==null)throw Error(`No source found`);let a=await Xr(await ni(i.uri,t),r);return await Promise.all(n.map(async e=>{let n=await $r(await Zr(await ni(e.uri,t),a,r),e.uri,t);return{...e,uri:n}}))}),commitProcessing:(e,n)=>{let r=n.fillId;t.engine.block.setSourceSet(r,`fill/image/sourceSet`,e);let i=[...e].sort((e,t)=>e.width*e.height-t.width*t.height)[0];i!=null&&t.engine.block.setString(r,`fill/image/previewFileURI`,i.uri)}},`1.87.0-nightly.20261111`)}async function ti(e,t,n,r,i){return Xn(e,t,n,{processFill:i??(async e=>{let n=e.initialImageFileURI;return await $r(await Yr(await ni(n,t),r),n,t)}),commitProcessing:(e,n)=>{let r=n.fillId;t.engine.block.setString(r,`fill/image/imageFileURI`,e),t.engine.block.setString(r,`fill/image/previewFileURI`,``)}},`1.87.0-nightly.20261111`)}async function ni(e,t){if(e.startsWith(`buffer:`)){let n=await t.engine.editor.getMimeType(e),r=t.engine.editor.getBufferLength(e),i=t.engine.editor.getBufferData(e,0,r),a=new Uint8Array(i);return new Blob([a],{type:n})}return e}async function ri(){if(typeof navigator>`u`)return!1;let e=navigator.gpu;if(e==null)return!1;try{let t=await e.requestAdapter();return t!=null&&t.features.has(`shader-f16`)}catch{return!1}}const $=/* @__PURE__ */ new Set;function ii(e,t,n){for(let r of[...$])r(e,t,n)}async function ai(e,t,n,r){let i=e.engine.block;if(!i.supportsFill(t))throw Error(`Block does not support fill`);let a=i.getFill(t),o=i.getSourceSet(a,`fill/image/sourceSet`),s=i.getString(a,`fill/image/imageFileURI`);if(o.length===0&&s===``)throw Error(`No source or image file URI found`);switch(r.type){case`@imgly/background-removal`:{let i=r.configuration??{},a=i.device??(await ri()?`gpu`:`cpu`),s=Vr((e,r,a)=>{try{let o=n.get(t);if(o.status!==`PROCESSING`||!n.isConsistent(t))return;i.progress?.(e,r,a),n.set(t,{...o,progress:{key:e,current:r,total:a}})}catch{$.delete(s)}},100),c={device:a,...i,progress:ii};$.add(s),(o.length>0?ei(t,e,n,c):ti(t,e,n,c)).finally(()=>{$.delete(s),s.cancel()});break}case`custom`:o.length>0?ei(t,e,n,void 0,e=>r.processSourceSet(e.initialSourceSet)):ti(t,e,n,void 0,e=>r.processImageFileURI(e.initialImageFileURI));break;default:throw Error(`Unknown background removal provider`)}}const oi=`@imgly/plugin-background-removal-web`,si=`ly.img.plugin-background-removal-web.removeBackground`;var ci=(e={})=>({initialize({cesdk:t}){if(t==null)return;li(t),Qn(t,{pluginId:oi,featureId:si,process:(n,r)=>{ai(t,n,r,e.provider??{type:`@imgly/background-removal`})}});let{translationsKeys:n}=lr(t,{pluginId:oi,featureId:si,icon:`@imgly/icons/BGRemove`,locations:e.ui?.locations});t.setTranslations({en:{[n.inspectorBarLabel]:`BG Removal`,[n.navigationBarLabel]:`BG Removal`,[n.canvasBarLabel]:`BG Removal`,[n.canvasMenuLabel]:`BG Removal`,[n.dockLabel]:`BG Removal`}})}});function li(e){e.ui.addIconSet(`@imgly/plugin/background-removal`,`
|
|
2
2
|
<svg>
|
|
3
3
|
<symbol
|
|
4
4
|
fill="none"
|
|
@@ -17,7 +17,7 @@ import{applySegmentationMask as e,removeBackground as t,segmentForeground as n}f
|
|
|
17
17
|
<path d="M13.4317 13.1374C14.3663 12.6292 15.0007 11.6387 15.0007 10.5C15.0007 8.84315 13.6576 7.5 12.0007 7.5C10.3439 7.5 9.00074 8.84315 9.00074 10.5C9.00074 11.6387 9.63515 12.6292 10.5698 13.1374C9.94563 13.2733 9.38367 13.4801 8.9164 13.6917C7.98874 14.112 7.54792 15.1133 7.62602 16.1287L8.00074 21.0005H16.0007L16.3755 16.1287C16.4536 15.1133 16.0128 14.112 15.0851 13.6917C14.6178 13.4801 14.0559 13.2733 13.4317 13.1374Z" fill="currentColor"/>
|
|
18
18
|
</symbol>
|
|
19
19
|
</svg>
|
|
20
|
-
`)}const
|
|
20
|
+
`)}const ui=e=>({name:oi,version:`1.87.0-nightly.20261111`,...ci(e)});export{ui as default};
|
|
21
21
|
/**
|
|
22
22
|
* @license
|
|
23
23
|
* Lodash (Custom Build) <https://lodash.com/>
|