@imgly/plugin-ai-image-generation-web 0.2.2 → 0.2.3

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.
@@ -64,7 +64,7 @@ var Tt=`
64
64
  <path fill-rule="evenodd" clip-rule="evenodd" d="M7 4C5.34315 4 4 5.34315 4 7V17C4 18.6569 5.34315 20 7 20H17C18.6569 20 20 18.6569 20 17V7C20 5.34315 18.6569 4 17 4H7ZM6 7C6 6.44772 6.44772 6 7 6H17C17.5523 6 18 6.44772 18 7V17C18 17.5523 17.5523 18 17 18H7C6.44772 18 6 17.5523 6 17V7Z" fill="currentColor"/>
65
65
  </symbol>
66
66
  </svg>
67
- `,te=class{constructor(e,t=[]){this.id=e,this.assets=t.map(r=>{if(typeof r.label=="string"&&!(r.label&&typeof r.label=="object")){let i=r;return{id:i.id,label:{en:i.label},meta:i.thumbUri?{...i.meta??{},thumbUri:i.thumbUri}:i.meta}}return r}),this.activeAssetIds=new Set}async findAssets(e){let{page:t,perPage:r,locale:i="en",sortActiveFirst:a,query:n,tags:u,groups:l,excludeGroups:y,sortingOrder:g,sortKey:p}=e,s=[...this.assets];if(l&&l.length>0&&(s=s.filter(o=>o.groups&&l.some(c=>o.groups?.includes(c)))),y&&y.length>0&&(s=s.filter(o=>!o.groups||!y.some(c=>o.groups?.includes(c)))),n){let o=n.toLowerCase();s=s.filter(c=>{let d=c.label?.[i]?.toLowerCase(),m=c.tags?.[i]||[];return d&&d.includes(o)||m.some(de=>de.toLowerCase().includes(o))})}if(u&&u.length>0){let o=Array.isArray(u)?u:[u];s=s.filter(c=>{let d=c.tags?.[i]||[];return o.some(m=>d.includes(m))})}a&&s.sort((o,c)=>{let d=this.activeAssetIds.has(o.id),m=this.activeAssetIds.has(c.id);return d&&!m?-1:!d&&m?1:0}),p&&p!=="id"?s.sort((o,c)=>{let d=o.meta?.[p],m=c.meta?.[p];return d===void 0?1:m===void 0?-1:typeof d=="string"&&typeof m=="string"?g==="Descending"?m.localeCompare(d):d.localeCompare(m):typeof d=="number"&&typeof m=="number"?g==="Descending"?m-d:d-m:0}):p==="id"&&s.sort((o,c)=>g==="Descending"?c.id.localeCompare(o.id):o.id.localeCompare(c.id));let b=s.length,w=t*r,I=w+r,v=s.slice(w,I).map(o=>({id:o.id,groups:o.groups,meta:o.meta,payload:o.payload,locale:i,label:o.label?.[i],tags:o.tags?.[i],active:this.activeAssetIds.has(o.id)})),k=I<b?t+1:void 0;return{assets:v,currentPage:t,nextPage:k,total:b}}updateLabel(e,t,r){this.assets.forEach(i=>{i.id===e&&(i.label=i.label||{},i.label[r]=t)})}getAssetSelectValue(e){let t=this.assets.find(({id:r})=>r===e);if(t)return{id:t.id,label:t.label?.en||"",thumbUri:t.meta?.thumbUri}}getAsset(e){return this.assets.find(t=>t.id===e)}setAssetActive(e){this.activeAssetIds.add(e)}getActiveAssetIds(){return Array.from(this.activeAssetIds)}setAssetsActive(e){e.forEach(t=>this.activeAssetIds.add(t))}setAssetInactive(e){this.activeAssetIds.delete(e)}clearActiveAssets(){this.activeAssetIds.clear()}isAssetActive(e){return this.activeAssetIds.has(e)}addAsset(e){let t=this.assets.findIndex(r=>r.id===e.id);t>=0?this.assets[t]=e:this.assets.push(e)}removeAsset(e){let t=this.assets.findIndex(r=>r.id===e);t!==-1&&(this.assets.splice(t,1),this.activeAssetIds.delete(e))}async getGroups(){let e=new Set;return this.assets.forEach(t=>{t.groups&&t.groups.forEach(r=>e.add(r))}),Array.from(e)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};var Dt=typeof global=="object"&&global&&global.Object===Object&&global,Ye=Dt,Ot=typeof self=="object"&&self&&self.Object===Object&&self,Rt=Ye||Ot||Function("return this")(),S=Rt,zt=S.Symbol,M=zt,Ze=Object.prototype,Ut=Ze.hasOwnProperty,Ft=Ze.toString,z=M?M.toStringTag:void 0;function Vt(e){var t=Ut.call(e,z),r=e[z];try{e[z]=void 0;var i=!0}catch{}var a=Ft.call(e);return i&&(t?e[z]=r:delete e[z]),a}var Bt=Vt,Gt=Object.prototype,Ht=Gt.toString;function qt(e){return Ht.call(e)}var Yt=qt,Zt="[object Null]",Kt="[object Undefined]",Ne=M?M.toStringTag:void 0;function Qt(e){return e==null?e===void 0?Kt:Zt:Ne&&Ne in Object(e)?Bt(e):Yt(e)}var B=Qt;function Wt(e){return e!=null&&typeof e=="object"}var ve=Wt,rl=Array.isArray;function Jt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ke=Jt,Xt="[object AsyncFunction]",er="[object Function]",tr="[object GeneratorFunction]",rr="[object Proxy]";function ir(e){if(!Ke(e))return!1;var t=B(e);return t==er||t==tr||t==Xt||t==rr}var nr=ir,or=S["__core-js_shared__"],pe=or,$e=function(){var e=/[^.]+$/.exec(pe&&pe.keys&&pe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ar(e){return!!$e&&$e in e}var sr=ar,lr=Function.prototype,ur=lr.toString;function cr(e){if(e!=null){try{return ur.call(e)}catch{}try{return e+""}catch{}}return""}var x=cr,dr=/[\\^$.*+?()[\]{}|]/g,pr=/^\[object .+?Constructor\]$/,gr=Function.prototype,mr=Object.prototype,fr=gr.toString,hr=mr.hasOwnProperty,br=RegExp("^"+fr.call(hr).replace(dr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yr(e){if(!Ke(e)||sr(e))return!1;var t=nr(e)?br:pr;return t.test(x(e))}var vr=yr;function wr(e,t){return e?.[t]}var kr=wr;function Ir(e,t){var r=kr(e,t);return vr(r)?r:void 0}var j=Ir,Sr=j(S,"WeakMap"),me=Sr;function Ar(e,t){return e===t||e!==e&&t!==t}var xr=Ar,Cr=9007199254740991;function Er(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Cr}var Mr=Er;var il=Object.prototype;var jr="[object Arguments]";function Lr(e){return ve(e)&&B(e)==jr}var Te=Lr,Qe=Object.prototype,Pr=Qe.hasOwnProperty,_r=Qe.propertyIsEnumerable,nl=Te(function(){return arguments}())?Te:function(e){return ve(e)&&Pr.call(e,"callee")&&!_r.call(e,"callee")};var We=typeof exports=="object"&&exports&&!exports.nodeType&&exports,De=We&&typeof module=="object"&&module&&!module.nodeType&&module,Nr=De&&De.exports===We,Oe=Nr?S.Buffer:void 0,ol=Oe?Oe.isBuffer:void 0;var $r="[object Arguments]",Tr="[object Array]",Dr="[object Boolean]",Or="[object Date]",Rr="[object Error]",zr="[object Function]",Ur="[object Map]",Fr="[object Number]",Vr="[object Object]",Br="[object RegExp]",Gr="[object Set]",Hr="[object String]",qr="[object WeakMap]",Yr="[object ArrayBuffer]",Zr="[object DataView]",Kr="[object Float32Array]",Qr="[object Float64Array]",Wr="[object Int8Array]",Jr="[object Int16Array]",Xr="[object Int32Array]",ei="[object Uint8Array]",ti="[object Uint8ClampedArray]",ri="[object Uint16Array]",ii="[object Uint32Array]",f={};f[Kr]=f[Qr]=f[Wr]=f[Jr]=f[Xr]=f[ei]=f[ti]=f[ri]=f[ii]=!0;f[$r]=f[Tr]=f[Yr]=f[Dr]=f[Zr]=f[Or]=f[Rr]=f[zr]=f[Ur]=f[Fr]=f[Vr]=f[Br]=f[Gr]=f[Hr]=f[qr]=!1;function ni(e){return ve(e)&&Mr(e.length)&&!!f[B(e)]}var oi=ni;function ai(e){return function(t){return e(t)}}var si=ai,Je=typeof exports=="object"&&exports&&!exports.nodeType&&exports,U=Je&&typeof module=="object"&&module&&!module.nodeType&&module,li=U&&U.exports===Je,ge=li&&Ye.process,ui=function(){try{var e=U&&U.require&&U.require("util").types;return e||ge&&ge.binding&&ge.binding("util")}catch{}}(),Re=ui,ze=Re&&Re.isTypedArray,al=ze?si(ze):oi;var ci=Object.prototype,sl=ci.hasOwnProperty;function di(e,t){return function(r){return e(t(r))}}var pi=di,ll=pi(Object.keys,Object);var gi=Object.prototype,ul=gi.hasOwnProperty;var mi=j(Object,"create"),F=mi;function fi(){this.__data__=F?F(null):{},this.size=0}var hi=fi;function bi(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var yi=bi,vi="__lodash_hash_undefined__",wi=Object.prototype,ki=wi.hasOwnProperty;function Ii(e){var t=this.__data__;if(F){var r=t[e];return r===vi?void 0:r}return ki.call(t,e)?t[e]:void 0}var Si=Ii,Ai=Object.prototype,xi=Ai.hasOwnProperty;function Ci(e){var t=this.__data__;return F?t[e]!==void 0:xi.call(t,e)}var Ei=Ci,Mi="__lodash_hash_undefined__";function ji(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=F&&t===void 0?Mi:t,this}var Li=ji;function L(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}L.prototype.clear=hi;L.prototype.delete=yi;L.prototype.get=Si;L.prototype.has=Ei;L.prototype.set=Li;var Ue=L;function Pi(){this.__data__=[],this.size=0}var _i=Pi;function Ni(e,t){for(var r=e.length;r--;)if(xr(e[r][0],t))return r;return-1}var re=Ni,$i=Array.prototype,Ti=$i.splice;function Di(e){var t=this.__data__,r=re(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ti.call(t,r,1),--this.size,!0}var Oi=Di;function Ri(e){var t=this.__data__,r=re(t,e);return r<0?void 0:t[r][1]}var zi=Ri;function Ui(e){return re(this.__data__,e)>-1}var Fi=Ui;function Vi(e,t){var r=this.__data__,i=re(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Bi=Vi;function P(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}P.prototype.clear=_i;P.prototype.delete=Oi;P.prototype.get=zi;P.prototype.has=Fi;P.prototype.set=Bi;var ie=P,Gi=j(S,"Map"),V=Gi;function Hi(){this.size=0,this.__data__={hash:new Ue,map:new(V||ie),string:new Ue}}var qi=Hi;function Yi(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Zi=Yi;function Ki(e,t){var r=e.__data__;return Zi(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ne=Ki;function Qi(e){var t=ne(this,e).delete(e);return this.size-=t?1:0,t}var Wi=Qi;function Ji(e){return ne(this,e).get(e)}var Xi=Ji;function en(e){return ne(this,e).has(e)}var tn=en;function rn(e,t){var r=ne(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nn=rn;function _(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}_.prototype.clear=qi;_.prototype.delete=Wi;_.prototype.get=Xi;_.prototype.has=tn;_.prototype.set=nn;var Xe=_;function on(){this.__data__=new ie,this.size=0}var an=on;function sn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var ln=sn;function un(e){return this.__data__.get(e)}var cn=un;function dn(e){return this.__data__.has(e)}var pn=dn,gn=200;function mn(e,t){var r=this.__data__;if(r instanceof ie){var i=r.__data__;if(!V||i.length<gn-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Xe(i)}return r.set(e,t),this.size=r.size,this}var fn=mn;function G(e){var t=this.__data__=new ie(e);this.size=t.size}G.prototype.clear=an;G.prototype.delete=ln;G.prototype.get=cn;G.prototype.has=pn;G.prototype.set=fn;var hn=Object.prototype,cl=hn.propertyIsEnumerable;var bn=j(S,"DataView"),fe=bn,yn=j(S,"Promise"),he=yn,vn=j(S,"Set"),be=vn,Fe="[object Map]",wn="[object Object]",Ve="[object Promise]",Be="[object Set]",Ge="[object WeakMap]",He="[object DataView]",kn=x(fe),In=x(V),Sn=x(he),An=x(be),xn=x(me),E=B;(fe&&E(new fe(new ArrayBuffer(1)))!=He||V&&E(new V)!=Fe||he&&E(he.resolve())!=Ve||be&&E(new be)!=Be||me&&E(new me)!=Ge)&&(E=function(e){var t=B(e),r=t==wn?e.constructor:void 0,i=r?x(r):"";if(i)switch(i){case kn:return He;case In:return Fe;case Sn:return Ve;case An:return Be;case xn:return Ge}return t});var dl=S.Uint8Array;var Cn="__lodash_hash_undefined__";function En(e){return this.__data__.set(e,Cn),this}var Mn=En;function jn(e){return this.__data__.has(e)}var Ln=jn;function ye(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Xe;++t<r;)this.add(e[t])}ye.prototype.add=ye.prototype.push=Mn;ye.prototype.has=Ln;var qe=M?M.prototype:void 0,pl=qe?qe.valueOf:void 0;var Pn=Object.prototype,gl=Pn.hasOwnProperty;var _n=Object.prototype,ml=_n.hasOwnProperty;var fl=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),hl=new RegExp(/[A-Fa-f0-9]{1}/,"g"),bl=new RegExp(/[A-Fa-f0-9]{2}/,"g");function we(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function H(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),a=t.editor.getBufferData(e,0,i),n=new Blob([a],{type:r});return URL.createObjectURL(n)}else return e}async function et(e,t){let r=await H(e,t);return new Promise((i,a)=>{let n=new Image;n.onload=()=>{i({width:n.width,height:n.height})},n.onerror=a,n.src=r})}async function tt(e,t,r){let i,a=t.block.getFill(e),n=t.block.getSourceSet(a,"fill/image/sourceSet"),[u]=n;if(u==null){if(i=t.block.getString(a,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=u.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return H(i,t)}function Nn(e){return e!==void 0}var oe=Nn;var ae={Formats:Tt};function $n(e,t){let{cesdk:r}=t,i=t.propertyKey??"image_url",a=Ae(e);return r.i18n.setTranslations({en:{[`panel.${a}`]:"Select Image To Change"}}),Tn(e,r),{[i]:(n,u)=>{let{builder:l,experimental:{global:y},payload:g}=n,p=g?.url??t.defaultUrl,s=y(`${e}.${u.id}`,p);return l.MediaPreview(u.id,{preview:{type:"image",uri:s.value},action:{label:"Select Image",onClick:()=>{r?.ui.openPanel(a,{payload:{onSelect:b=>{b.meta?.uri!=null&&s.setValue(b.meta?.uri)}}})}}}),()=>({id:u.id,type:"string",value:s.value})}}}function Tn(e,t){t?.ui.registerPanel(Ae(e),({builder:r,payload:i})=>{r.Library(`${e}.library.image`,{entries:["ly.img.image"],onSelect:async a=>{let n=a?.meta?.uri;if(n==null)return;let u=await t.engine.editor.getMimeType(n);u==="image/svg+xml"?t.ui.showNotification({type:"warning",message:"SVG images are not supported. Please choose a different image."}):u.startsWith("image/")?(i?.onSelect(a),t?.ui.closePanel(Ae(e))):t.ui.showNotification({type:"warning",message:`Only images are supported. Found '${u}'. Please choose a different image.`})}})})}function Ae(e){return`ly.img.ai.${e}.imageSelection`}var Dn=$n,On=class{constructor(e,t=[]){this.id=e,this.assets=t.map(r=>{if(typeof r.label=="string"&&!(r.label&&typeof r.label=="object")){let i=r;return{id:i.id,label:{en:i.label},meta:i.thumbUri?{...i.meta??{},thumbUri:i.thumbUri}:i.meta}}return r}),this.activeAssetIds=new Set}async findAssets(e){let{page:t,perPage:r,locale:i="en",sortActiveFirst:a,query:n,tags:u,groups:l,excludeGroups:y,sortingOrder:g,sortKey:p}=e,s=[...this.assets];if(l&&l.length>0&&(s=s.filter(o=>o.groups&&l.some(c=>o.groups?.includes(c)))),y&&y.length>0&&(s=s.filter(o=>!o.groups||!y.some(c=>o.groups?.includes(c)))),n){let o=n.toLowerCase();s=s.filter(c=>{let d=c.label?.[i]?.toLowerCase(),m=c.tags?.[i]||[];return d&&d.includes(o)||m.some(de=>de.toLowerCase().includes(o))})}if(u&&u.length>0){let o=Array.isArray(u)?u:[u];s=s.filter(c=>{let d=c.tags?.[i]||[];return o.some(m=>d.includes(m))})}a&&s.sort((o,c)=>{let d=this.activeAssetIds.has(o.id),m=this.activeAssetIds.has(c.id);return d&&!m?-1:!d&&m?1:0}),p&&p!=="id"?s.sort((o,c)=>{let d=o.meta?.[p],m=c.meta?.[p];return d===void 0?1:m===void 0?-1:typeof d=="string"&&typeof m=="string"?g==="Descending"?m.localeCompare(d):d.localeCompare(m):typeof d=="number"&&typeof m=="number"?g==="Descending"?m-d:d-m:0}):p==="id"&&s.sort((o,c)=>g==="Descending"?c.id.localeCompare(o.id):o.id.localeCompare(c.id));let b=s.length,w=t*r,I=w+r,v=s.slice(w,I).map(o=>({id:o.id,groups:o.groups,meta:o.meta,payload:o.payload,locale:i,label:o.label?.[i],tags:o.tags?.[i],active:this.activeAssetIds.has(o.id)})),k=I<b?t+1:void 0;return{assets:v,currentPage:t,nextPage:k,total:b}}updateLabel(e,t,r){this.assets.forEach(i=>{i.id===e&&(i.label=i.label||{},i.label[r]=t)})}getAssetSelectValue(e){let t=this.assets.find(({id:r})=>r===e);if(t)return{id:t.id,label:t.label?.en||"",thumbUri:t.meta?.thumbUri}}getAsset(e){return this.assets.find(t=>t.id===e)}setAssetActive(e){this.activeAssetIds.add(e)}getActiveAssetIds(){return Array.from(this.activeAssetIds)}setAssetsActive(e){e.forEach(t=>this.activeAssetIds.add(t))}setAssetInactive(e){this.activeAssetIds.delete(e)}clearActiveAssets(){this.activeAssetIds.clear()}isAssetActive(e){return this.activeAssetIds.has(e)}addAsset(e){let t=this.assets.findIndex(r=>r.id===e.id);t>=0?this.assets[t]=e:this.assets.push(e)}removeAsset(e){let t=this.assets.findIndex(r=>r.id===e);t!==-1&&(this.assets.splice(t,1),this.activeAssetIds.delete(e))}async getGroups(){let e=new Set;return this.assets.forEach(t=>{t.groups&&t.groups.forEach(r=>e.add(r))}),Array.from(e)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};var Rn=typeof global=="object"&&global&&global.Object===Object&&global,ht=Rn,zn=typeof self=="object"&&self&&self.Object===Object&&self,Un=ht||zn||Function("return this")(),A=Un,Fn=A.Symbol,$=Fn,bt=Object.prototype,Vn=bt.hasOwnProperty,Bn=bt.toString,q=$?$.toStringTag:void 0;function Gn(e){var t=Vn.call(e,q),r=e[q];try{e[q]=void 0;var i=!0}catch{}var a=Bn.call(e);return i&&(t?e[q]=r:delete e[q]),a}var Hn=Gn,qn=Object.prototype,Yn=qn.toString;function Zn(e){return Yn.call(e)}var Kn=Zn,Qn="[object Null]",Wn="[object Undefined]",rt=$?$.toStringTag:void 0;function Jn(e){return e==null?e===void 0?Wn:Qn:rt&&rt in Object(e)?Hn(e):Kn(e)}var Q=Jn;function Xn(e){return e!=null&&typeof e=="object"}var Le=Xn,wl=Array.isArray;function eo(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var yt=eo,to="[object AsyncFunction]",ro="[object Function]",io="[object GeneratorFunction]",no="[object Proxy]";function oo(e){if(!yt(e))return!1;var t=Q(e);return t==ro||t==io||t==to||t==no}var ao=oo,so=A["__core-js_shared__"],ke=so,it=function(){var e=/[^.]+$/.exec(ke&&ke.keys&&ke.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lo(e){return!!it&&it in e}var uo=lo,co=Function.prototype,po=co.toString;function go(e){if(e!=null){try{return po.call(e)}catch{}try{return e+""}catch{}}return""}var C=go,mo=/[\\^$.*+?()[\]{}|]/g,fo=/^\[object .+?Constructor\]$/,ho=Function.prototype,bo=Object.prototype,yo=ho.toString,vo=bo.hasOwnProperty,wo=RegExp("^"+yo.call(vo).replace(mo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ko(e){if(!yt(e)||uo(e))return!1;var t=ao(e)?wo:fo;return t.test(C(e))}var Io=ko;function So(e,t){return e?.[t]}var Ao=So;function xo(e,t){var r=Ao(e,t);return Io(r)?r:void 0}var T=xo,Co=T(A,"WeakMap"),xe=Co;function Eo(e,t){return e===t||e!==e&&t!==t}var Mo=Eo,jo=9007199254740991;function Lo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jo}var Po=Lo,kl=Object.prototype,_o="[object Arguments]";function No(e){return Le(e)&&Q(e)==_o}var nt=No,vt=Object.prototype,$o=vt.hasOwnProperty,To=vt.propertyIsEnumerable,Il=nt(function(){return arguments}())?nt:function(e){return Le(e)&&$o.call(e,"callee")&&!To.call(e,"callee")},wt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ot=wt&&typeof module=="object"&&module&&!module.nodeType&&module,Do=ot&&ot.exports===wt,at=Do?A.Buffer:void 0,Sl=at?at.isBuffer:void 0,Oo="[object Arguments]",Ro="[object Array]",zo="[object Boolean]",Uo="[object Date]",Fo="[object Error]",Vo="[object Function]",Bo="[object Map]",Go="[object Number]",Ho="[object Object]",qo="[object RegExp]",Yo="[object Set]",Zo="[object String]",Ko="[object WeakMap]",Qo="[object ArrayBuffer]",Wo="[object DataView]",Jo="[object Float32Array]",Xo="[object Float64Array]",ea="[object Int8Array]",ta="[object Int16Array]",ra="[object Int32Array]",ia="[object Uint8Array]",na="[object Uint8ClampedArray]",oa="[object Uint16Array]",aa="[object Uint32Array]",h={};h[Jo]=h[Xo]=h[ea]=h[ta]=h[ra]=h[ia]=h[na]=h[oa]=h[aa]=!0;h[Oo]=h[Ro]=h[Qo]=h[zo]=h[Wo]=h[Uo]=h[Fo]=h[Vo]=h[Bo]=h[Go]=h[Ho]=h[qo]=h[Yo]=h[Zo]=h[Ko]=!1;function sa(e){return Le(e)&&Po(e.length)&&!!h[Q(e)]}var la=sa;function ua(e){return function(t){return e(t)}}var ca=ua,kt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Y=kt&&typeof module=="object"&&module&&!module.nodeType&&module,da=Y&&Y.exports===kt,Ie=da&&ht.process,pa=function(){try{var e=Y&&Y.require&&Y.require("util").types;return e||Ie&&Ie.binding&&Ie.binding("util")}catch{}}(),st=pa,lt=st&&st.isTypedArray,Al=lt?ca(lt):la,ga=Object.prototype,xl=ga.hasOwnProperty;function ma(e,t){return function(r){return e(t(r))}}var fa=ma,Cl=fa(Object.keys,Object),ha=Object.prototype,El=ha.hasOwnProperty,ba=T(Object,"create"),Z=ba;function ya(){this.__data__=Z?Z(null):{},this.size=0}var va=ya;function wa(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ka=wa,Ia="__lodash_hash_undefined__",Sa=Object.prototype,Aa=Sa.hasOwnProperty;function xa(e){var t=this.__data__;if(Z){var r=t[e];return r===Ia?void 0:r}return Aa.call(t,e)?t[e]:void 0}var Ca=xa,Ea=Object.prototype,Ma=Ea.hasOwnProperty;function ja(e){var t=this.__data__;return Z?t[e]!==void 0:Ma.call(t,e)}var La=ja,Pa="__lodash_hash_undefined__";function _a(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Z&&t===void 0?Pa:t,this}var Na=_a;function D(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}D.prototype.clear=va;D.prototype.delete=ka;D.prototype.get=Ca;D.prototype.has=La;D.prototype.set=Na;var ut=D;function $a(){this.__data__=[],this.size=0}var Ta=$a;function Da(e,t){for(var r=e.length;r--;)if(Mo(e[r][0],t))return r;return-1}var se=Da,Oa=Array.prototype,Ra=Oa.splice;function za(e){var t=this.__data__,r=se(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ra.call(t,r,1),--this.size,!0}var Ua=za;function Fa(e){var t=this.__data__,r=se(t,e);return r<0?void 0:t[r][1]}var Va=Fa;function Ba(e){return se(this.__data__,e)>-1}var Ga=Ba;function Ha(e,t){var r=this.__data__,i=se(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var qa=Ha;function O(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}O.prototype.clear=Ta;O.prototype.delete=Ua;O.prototype.get=Va;O.prototype.has=Ga;O.prototype.set=qa;var le=O,Ya=T(A,"Map"),K=Ya;function Za(){this.size=0,this.__data__={hash:new ut,map:new(K||le),string:new ut}}var Ka=Za;function Qa(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Wa=Qa;function Ja(e,t){var r=e.__data__;return Wa(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ue=Ja;function Xa(e){var t=ue(this,e).delete(e);return this.size-=t?1:0,t}var es=Xa;function ts(e){return ue(this,e).get(e)}var rs=ts;function is(e){return ue(this,e).has(e)}var ns=is;function os(e,t){var r=ue(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var as=os;function R(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}R.prototype.clear=Ka;R.prototype.delete=es;R.prototype.get=rs;R.prototype.has=ns;R.prototype.set=as;var It=R;function ss(){this.__data__=new le,this.size=0}var ls=ss;function us(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var cs=us;function ds(e){return this.__data__.get(e)}var ps=ds;function gs(e){return this.__data__.has(e)}var ms=gs,fs=200;function hs(e,t){var r=this.__data__;if(r instanceof le){var i=r.__data__;if(!K||i.length<fs-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new It(i)}return r.set(e,t),this.size=r.size,this}var bs=hs;function W(e){var t=this.__data__=new le(e);this.size=t.size}W.prototype.clear=ls;W.prototype.delete=cs;W.prototype.get=ps;W.prototype.has=ms;W.prototype.set=bs;var ys=Object.prototype,Ml=ys.propertyIsEnumerable,vs=T(A,"DataView"),Ce=vs,ws=T(A,"Promise"),Ee=ws,ks=T(A,"Set"),Me=ks,ct="[object Map]",Is="[object Object]",dt="[object Promise]",pt="[object Set]",gt="[object WeakMap]",mt="[object DataView]",Ss=C(Ce),As=C(K),xs=C(Ee),Cs=C(Me),Es=C(xe),N=Q;(Ce&&N(new Ce(new ArrayBuffer(1)))!=mt||K&&N(new K)!=ct||Ee&&N(Ee.resolve())!=dt||Me&&N(new Me)!=pt||xe&&N(new xe)!=gt)&&(N=function(e){var t=Q(e),r=t==Is?e.constructor:void 0,i=r?C(r):"";if(i)switch(i){case Ss:return mt;case As:return ct;case xs:return dt;case Cs:return pt;case Es:return gt}return t});var jl=A.Uint8Array,Ms="__lodash_hash_undefined__";function js(e){return this.__data__.set(e,Ms),this}var Ls=js;function Ps(e){return this.__data__.has(e)}var _s=Ps;function je(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new It;++t<r;)this.add(e[t])}je.prototype.add=je.prototype.push=Ls;je.prototype.has=_s;var ft=$?$.prototype:void 0,Ll=ft?ft.valueOf:void 0,Ns=Object.prototype,Pl=Ns.hasOwnProperty,$s=Object.prototype,_l=$s.hasOwnProperty,Nl=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),$l=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Tl=new RegExp(/[A-Fa-f0-9]{2}/,"g");function Ts(e){return e!==void 0}var Ds=Ts;function Os(e,t){let{cesdk:r}=t;if(r==null)return{};let i=t.propertyKey??"style",a=zs(e);r.i18n.setTranslations({en:{[`panel.${a}`]:"Select Style",[`${e}.${i}`]:"Style"}});let n=Fs({baseURL:t.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",includeNone:!0}),u=n;t.styles!=null&&(Array.isArray(t.styles)?u=t.styles:typeof t.styles=="function"&&(u=t.styles(n)));let l=Vs({cesdk:r,providerId:e,styles:u}),y=l.id;return Bs(l,{cesdk:r}),Rs({providerId:e,cesdk:r,panelId:a,entryId:y}),{[t.propertyKeyForPrompt??"prompt"]:(g,p)=>{let s=g.state("prompt","");return g.builder.TextArea(`${p.id}`,{inputLabel:t.i18n?.prompt?.inputLabel??t.propertyKeyForPrompt??"prompt",placeholder:t.i18n?.prompt?.placeholder,...s}),()=>{let[b]=l.getActiveAssetIds(),w=l.getAsset(b);return{id:p.id,type:"string",value:w?.meta?.prompt==null?s.value:`${s.value}; ${w.meta.prompt}`}}},[i]:(g,p)=>{let{builder:s,state:b}=g;if(u.length>0){let w=b("style",u[0]);return s.Button(`${p.id}`,{inputLabel:`${e}.${p.id}`,icon:"@imgly/Appearance",isDisabled:u.length===0,trailingIcon:"@imgly/ChevronRight",label:w.value.label,labelAlignment:"left",onClick:()=>{let I={onSelect:async v=>{l.clearActiveAssets(),l.setAssetActive(v.id),w.setValue({id:v.id,label:v.label??v.id}),r.ui.closePanel(a)}};r.ui.openPanel(a,{payload:I})}}),()=>({id:p.id,type:"string",value:w.value.id})}return()=>({id:p.id,type:"string",value:"none"})}}}function Rs(e){let{providerId:t,cesdk:r,panelId:i,entryId:a}=e;r?.ui.registerPanel(i,({builder:n,payload:u})=>{u?.onSelect==null&&n.Section(`${t}.error`,{children:()=>{n.Text("error",{content:"No onSelect function provided for the style selection panel."})}}),n.Library(`${t}.library.image`,{entries:[a],onSelect:async l=>{u?.onSelect?.(l)}})})}function zs(e){return`ly.img.ai.${e}.styleSelection`}var Us=[{id:"none",label:"None",prompt:""},{id:"anime-celshaded",label:"Anime",prompt:"anime cel\u2011shaded, bright pastel palette, expressive eyes, clean line art "},{id:"cyberpunk-neon",label:"Cyberpunk",prompt:"cyberpunk cityscape, glowing neon signage, reflective puddles, dark atmosphere"},{id:"kodak-portra-400",label:"Kodak 400",prompt:"shot on Kodak Portra 400, soft grain, golden\u2011hour warmth, 35 mm photo"},{id:"watercolor-storybook",label:"Watercolor",prompt:"loose watercolor washes, gentle gradients, dreamy storybook feel"},{id:"dark-fantasy-realism",label:"Dark Fantasy",prompt:"dark fantasy realm, moody chiaroscuro lighting, hyper\u2011real textures"},{id:"vaporwave-retrofuturism",label:"Vaporwave",prompt:"retro\u2011futuristic vaporwave, pastel sunset gradient, chrome text, VHS scanlines"},{id:"minimal-vector-flat",label:"Vector Flat",prompt:"minimalist flat vector illustration, bold geometry, two\u2011tone palette"},{id:"pixarstyle-3d-render",label:"3D Animation",prompt:"Pixar\u2011style 3D render, oversized eyes, subtle subsurface scattering, cinematic lighting"},{id:"ukiyoe-woodblock",label:"Ukiyo\u2011e",prompt:"ukiyo\u2011e woodblock print, Edo\u2011period style, visible washi texture, limited color ink"},{id:"surreal-dreamscape",label:"Surreal",prompt:"surreal dreamscape, floating objects, impossible architecture, vivid clouds"},{id:"steampunk-victorian",label:"Steampunk",prompt:"Victorian steampunk world, ornate brass gears, leather attire, atmospheric fog"},{id:"nightstreet-photo-bokeh",label:"Night Bokeh",prompt:"night\u2011time street shot, large aperture bokeh lights, candid urban mood"},{id:"comicbook-pop-art",label:"Pop Art",prompt:"classic comic\u2011book panel, halftone shading, exaggerated action lines, CMYK pop colors"}];function Fs(e){return Us.map(t=>t.id==="none"?e.includeNone?{...t,thumbUri:`${e.baseURL}/thumbnails/None.svg`}:void 0:{...t,thumbUri:`${e.baseURL}/thumbnails/${t.id}.jpeg`}).filter(Ds)}var Vs=e=>{let t=e.styles.map(u=>({...u,meta:{prompt:u.prompt}})),r=e.cesdk.engine.asset.findAllSources(),i=`${e.providerId}/styles`;for(;r.includes(i);)i+=`-${Math.random().toString(36).substring(2,5)}`;let a=new On(i,t),n=e.styles[0];return a.setAssetActive(n.id),a},Bs=(e,t)=>{t.cesdk.engine.asset.addSource(e),t.cesdk.ui.addAssetLibraryEntry({id:e.id,sourceIds:[e.id],gridItemHeight:"square",gridBackgroundType:"cover",cardLabel:({label:r})=>r,cardLabelPosition:()=>"below"})},Gs=Os;var St=class At{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new At),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,a)=>{if(i===null){a(t,r);return}this.matchesFilters(t,i)&&a(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}};var Hs="ly.img.ai";function J(e){return`${Hs}.${e}`}function qs(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||e.block.getKind(r)==="sticker"||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var xt=qs;var Se="@imgly/plugin-ai-generation",Dl=`
67
+ `,te=class{constructor(e,t=[]){this.id=e,this.assets=t.map(r=>{if(typeof r.label=="string"&&!(r.label&&typeof r.label=="object")){let i=r;return{id:i.id,label:{en:i.label},meta:i.thumbUri?{...i.meta??{},thumbUri:i.thumbUri}:i.meta}}return r}),this.activeAssetIds=new Set}async findAssets(e){let{page:t,perPage:r,locale:i="en",sortActiveFirst:a,query:n,tags:u,groups:l,excludeGroups:y,sortingOrder:g,sortKey:p}=e,s=[...this.assets];if(l&&l.length>0&&(s=s.filter(o=>o.groups&&l.some(c=>o.groups?.includes(c)))),y&&y.length>0&&(s=s.filter(o=>!o.groups||!y.some(c=>o.groups?.includes(c)))),n){let o=n.toLowerCase();s=s.filter(c=>{let d=c.label?.[i]?.toLowerCase(),m=c.tags?.[i]||[];return d&&d.includes(o)||m.some(de=>de.toLowerCase().includes(o))})}if(u&&u.length>0){let o=Array.isArray(u)?u:[u];s=s.filter(c=>{let d=c.tags?.[i]||[];return o.some(m=>d.includes(m))})}a&&s.sort((o,c)=>{let d=this.activeAssetIds.has(o.id),m=this.activeAssetIds.has(c.id);return d&&!m?-1:!d&&m?1:0}),p&&p!=="id"?s.sort((o,c)=>{let d=o.meta?.[p],m=c.meta?.[p];return d===void 0?1:m===void 0?-1:typeof d=="string"&&typeof m=="string"?g==="Descending"?m.localeCompare(d):d.localeCompare(m):typeof d=="number"&&typeof m=="number"?g==="Descending"?m-d:d-m:0}):p==="id"&&s.sort((o,c)=>g==="Descending"?c.id.localeCompare(o.id):o.id.localeCompare(c.id));let b=s.length,w=t*r,I=w+r,v=s.slice(w,I).map(o=>({id:o.id,groups:o.groups,meta:o.meta,payload:o.payload,locale:i,label:o.label?.[i],tags:o.tags?.[i],active:this.activeAssetIds.has(o.id)})),k=I<b?t+1:void 0;return{assets:v,currentPage:t,nextPage:k,total:b}}updateLabel(e,t,r){this.assets.forEach(i=>{i.id===e&&(i.label=i.label||{},i.label[r]=t)})}getAssetSelectValue(e){let t=this.assets.find(({id:r})=>r===e);if(t)return{id:t.id,label:t.label?.en||"",thumbUri:t.meta?.thumbUri}}getAsset(e){return this.assets.find(t=>t.id===e)}setAssetActive(e){this.activeAssetIds.add(e)}getActiveAssetIds(){return Array.from(this.activeAssetIds)}setAssetsActive(e){e.forEach(t=>this.activeAssetIds.add(t))}setAssetInactive(e){this.activeAssetIds.delete(e)}clearActiveAssets(){this.activeAssetIds.clear()}isAssetActive(e){return this.activeAssetIds.has(e)}addAsset(e){let t=this.assets.findIndex(r=>r.id===e.id);t>=0?this.assets[t]=e:this.assets.push(e)}removeAsset(e){let t=this.assets.findIndex(r=>r.id===e);t!==-1&&(this.assets.splice(t,1),this.activeAssetIds.delete(e))}async getGroups(){let e=new Set;return this.assets.forEach(t=>{t.groups&&t.groups.forEach(r=>e.add(r))}),Array.from(e)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};var Ot=typeof global=="object"&&global&&global.Object===Object&&global,Ke=Ot,Dt=typeof self=="object"&&self&&self.Object===Object&&self,Rt=Ke||Dt||Function("return this")(),S=Rt,zt=S.Symbol,M=zt,Ye=Object.prototype,Ut=Ye.hasOwnProperty,Ft=Ye.toString,z=M?M.toStringTag:void 0;function Vt(e){var t=Ut.call(e,z),r=e[z];try{e[z]=void 0;var i=!0}catch{}var a=Ft.call(e);return i&&(t?e[z]=r:delete e[z]),a}var Bt=Vt,Gt=Object.prototype,Ht=Gt.toString;function qt(e){return Ht.call(e)}var Kt=qt,Yt="[object Null]",Zt="[object Undefined]",$e=M?M.toStringTag:void 0;function Qt(e){return e==null?e===void 0?Zt:Yt:$e&&$e in Object(e)?Bt(e):Kt(e)}var B=Qt;function Wt(e){return e!=null&&typeof e=="object"}var ve=Wt,rl=Array.isArray;function Jt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ze=Jt,Xt="[object AsyncFunction]",er="[object Function]",tr="[object GeneratorFunction]",rr="[object Proxy]";function ir(e){if(!Ze(e))return!1;var t=B(e);return t==er||t==tr||t==Xt||t==rr}var nr=ir,or=S["__core-js_shared__"],pe=or,Ne=function(){var e=/[^.]+$/.exec(pe&&pe.keys&&pe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ar(e){return!!Ne&&Ne in e}var sr=ar,lr=Function.prototype,ur=lr.toString;function cr(e){if(e!=null){try{return ur.call(e)}catch{}try{return e+""}catch{}}return""}var x=cr,dr=/[\\^$.*+?()[\]{}|]/g,pr=/^\[object .+?Constructor\]$/,gr=Function.prototype,mr=Object.prototype,fr=gr.toString,hr=mr.hasOwnProperty,br=RegExp("^"+fr.call(hr).replace(dr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yr(e){if(!Ze(e)||sr(e))return!1;var t=nr(e)?br:pr;return t.test(x(e))}var vr=yr;function wr(e,t){return e?.[t]}var kr=wr;function Ir(e,t){var r=kr(e,t);return vr(r)?r:void 0}var j=Ir,Sr=j(S,"WeakMap"),me=Sr;function Ar(e,t){return e===t||e!==e&&t!==t}var xr=Ar,Cr=9007199254740991;function Er(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Cr}var Mr=Er;var il=Object.prototype;var jr="[object Arguments]";function Lr(e){return ve(e)&&B(e)==jr}var Te=Lr,Qe=Object.prototype,Pr=Qe.hasOwnProperty,_r=Qe.propertyIsEnumerable,nl=Te(function(){return arguments}())?Te:function(e){return ve(e)&&Pr.call(e,"callee")&&!_r.call(e,"callee")};var We=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Oe=We&&typeof module=="object"&&module&&!module.nodeType&&module,$r=Oe&&Oe.exports===We,De=$r?S.Buffer:void 0,ol=De?De.isBuffer:void 0;var Nr="[object Arguments]",Tr="[object Array]",Or="[object Boolean]",Dr="[object Date]",Rr="[object Error]",zr="[object Function]",Ur="[object Map]",Fr="[object Number]",Vr="[object Object]",Br="[object RegExp]",Gr="[object Set]",Hr="[object String]",qr="[object WeakMap]",Kr="[object ArrayBuffer]",Yr="[object DataView]",Zr="[object Float32Array]",Qr="[object Float64Array]",Wr="[object Int8Array]",Jr="[object Int16Array]",Xr="[object Int32Array]",ei="[object Uint8Array]",ti="[object Uint8ClampedArray]",ri="[object Uint16Array]",ii="[object Uint32Array]",f={};f[Zr]=f[Qr]=f[Wr]=f[Jr]=f[Xr]=f[ei]=f[ti]=f[ri]=f[ii]=!0;f[Nr]=f[Tr]=f[Kr]=f[Or]=f[Yr]=f[Dr]=f[Rr]=f[zr]=f[Ur]=f[Fr]=f[Vr]=f[Br]=f[Gr]=f[Hr]=f[qr]=!1;function ni(e){return ve(e)&&Mr(e.length)&&!!f[B(e)]}var oi=ni;function ai(e){return function(t){return e(t)}}var si=ai,Je=typeof exports=="object"&&exports&&!exports.nodeType&&exports,U=Je&&typeof module=="object"&&module&&!module.nodeType&&module,li=U&&U.exports===Je,ge=li&&Ke.process,ui=function(){try{var e=U&&U.require&&U.require("util").types;return e||ge&&ge.binding&&ge.binding("util")}catch{}}(),Re=ui,ze=Re&&Re.isTypedArray,al=ze?si(ze):oi;var ci=Object.prototype,sl=ci.hasOwnProperty;function di(e,t){return function(r){return e(t(r))}}var pi=di,ll=pi(Object.keys,Object);var gi=Object.prototype,ul=gi.hasOwnProperty;var mi=j(Object,"create"),F=mi;function fi(){this.__data__=F?F(null):{},this.size=0}var hi=fi;function bi(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var yi=bi,vi="__lodash_hash_undefined__",wi=Object.prototype,ki=wi.hasOwnProperty;function Ii(e){var t=this.__data__;if(F){var r=t[e];return r===vi?void 0:r}return ki.call(t,e)?t[e]:void 0}var Si=Ii,Ai=Object.prototype,xi=Ai.hasOwnProperty;function Ci(e){var t=this.__data__;return F?t[e]!==void 0:xi.call(t,e)}var Ei=Ci,Mi="__lodash_hash_undefined__";function ji(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=F&&t===void 0?Mi:t,this}var Li=ji;function L(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}L.prototype.clear=hi;L.prototype.delete=yi;L.prototype.get=Si;L.prototype.has=Ei;L.prototype.set=Li;var Ue=L;function Pi(){this.__data__=[],this.size=0}var _i=Pi;function $i(e,t){for(var r=e.length;r--;)if(xr(e[r][0],t))return r;return-1}var re=$i,Ni=Array.prototype,Ti=Ni.splice;function Oi(e){var t=this.__data__,r=re(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ti.call(t,r,1),--this.size,!0}var Di=Oi;function Ri(e){var t=this.__data__,r=re(t,e);return r<0?void 0:t[r][1]}var zi=Ri;function Ui(e){return re(this.__data__,e)>-1}var Fi=Ui;function Vi(e,t){var r=this.__data__,i=re(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Bi=Vi;function P(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}P.prototype.clear=_i;P.prototype.delete=Di;P.prototype.get=zi;P.prototype.has=Fi;P.prototype.set=Bi;var ie=P,Gi=j(S,"Map"),V=Gi;function Hi(){this.size=0,this.__data__={hash:new Ue,map:new(V||ie),string:new Ue}}var qi=Hi;function Ki(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Yi=Ki;function Zi(e,t){var r=e.__data__;return Yi(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ne=Zi;function Qi(e){var t=ne(this,e).delete(e);return this.size-=t?1:0,t}var Wi=Qi;function Ji(e){return ne(this,e).get(e)}var Xi=Ji;function en(e){return ne(this,e).has(e)}var tn=en;function rn(e,t){var r=ne(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nn=rn;function _(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}_.prototype.clear=qi;_.prototype.delete=Wi;_.prototype.get=Xi;_.prototype.has=tn;_.prototype.set=nn;var Xe=_;function on(){this.__data__=new ie,this.size=0}var an=on;function sn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var ln=sn;function un(e){return this.__data__.get(e)}var cn=un;function dn(e){return this.__data__.has(e)}var pn=dn,gn=200;function mn(e,t){var r=this.__data__;if(r instanceof ie){var i=r.__data__;if(!V||i.length<gn-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Xe(i)}return r.set(e,t),this.size=r.size,this}var fn=mn;function G(e){var t=this.__data__=new ie(e);this.size=t.size}G.prototype.clear=an;G.prototype.delete=ln;G.prototype.get=cn;G.prototype.has=pn;G.prototype.set=fn;var hn=Object.prototype,cl=hn.propertyIsEnumerable;var bn=j(S,"DataView"),fe=bn,yn=j(S,"Promise"),he=yn,vn=j(S,"Set"),be=vn,Fe="[object Map]",wn="[object Object]",Ve="[object Promise]",Be="[object Set]",Ge="[object WeakMap]",He="[object DataView]",kn=x(fe),In=x(V),Sn=x(he),An=x(be),xn=x(me),E=B;(fe&&E(new fe(new ArrayBuffer(1)))!=He||V&&E(new V)!=Fe||he&&E(he.resolve())!=Ve||be&&E(new be)!=Be||me&&E(new me)!=Ge)&&(E=function(e){var t=B(e),r=t==wn?e.constructor:void 0,i=r?x(r):"";if(i)switch(i){case kn:return He;case In:return Fe;case Sn:return Ve;case An:return Be;case xn:return Ge}return t});var dl=S.Uint8Array;var Cn="__lodash_hash_undefined__";function En(e){return this.__data__.set(e,Cn),this}var Mn=En;function jn(e){return this.__data__.has(e)}var Ln=jn;function ye(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Xe;++t<r;)this.add(e[t])}ye.prototype.add=ye.prototype.push=Mn;ye.prototype.has=Ln;var qe=M?M.prototype:void 0,pl=qe?qe.valueOf:void 0;var Pn=Object.prototype,gl=Pn.hasOwnProperty;var _n=Object.prototype,ml=_n.hasOwnProperty;var fl=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),hl=new RegExp(/[A-Fa-f0-9]{1}/,"g"),bl=new RegExp(/[A-Fa-f0-9]{2}/,"g");function we(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function H(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),a=t.editor.getBufferData(e,0,i),n=new Blob([a],{type:r});return URL.createObjectURL(n)}else return e}async function et(e,t){let r=await H(e,t);return new Promise((i,a)=>{let n=new Image;n.onload=()=>{i({width:n.width,height:n.height})},n.onerror=a,n.src=r})}async function tt(e,t,r){let i,a=t.block.getFill(e),n=t.block.getSourceSet(a,"fill/image/sourceSet"),[u]=n;if(u==null){if(i=t.block.getString(a,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=u.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return H(i,t)}function $n(e){return e!==void 0}var oe=$n;var ae={Formats:Tt};function Nn(e,t){let{cesdk:r}=t,i=t.propertyKey??"image_url",a=Ae(e);return r.i18n.setTranslations({en:{[`panel.${a}`]:"Select Image To Change"}}),Tn(e,r),{[i]:(n,u)=>{let{builder:l,experimental:{global:y},payload:g}=n,p=g?.url??t.defaultUrl,s=y(`${e}.${u.id}`,p);return l.MediaPreview(u.id,{preview:{type:"image",uri:s.value},action:{label:"Select Image",onClick:()=>{r?.ui.openPanel(a,{payload:{onSelect:b=>{b.meta?.uri!=null&&s.setValue(b.meta?.uri)}}})}}}),()=>({id:u.id,type:"string",value:s.value})}}}function Tn(e,t){t?.ui.registerPanel(Ae(e),({builder:r,payload:i})=>{r.Library(`${e}.library.image`,{entries:["ly.img.image"],onSelect:async a=>{let n=a?.meta?.uri;if(n==null)return;let u=await t.engine.editor.getMimeType(n);u==="image/svg+xml"?t.ui.showNotification({type:"warning",message:"SVG images are not supported. Please choose a different image."}):u.startsWith("image/")?(i?.onSelect(a),t?.ui.closePanel(Ae(e))):t.ui.showNotification({type:"warning",message:`Only images are supported. Found '${u}'. Please choose a different image.`})}})})}function Ae(e){return`ly.img.ai.${e}.imageSelection`}var On=Nn,Dn=class{constructor(e,t=[]){this.id=e,this.assets=t.map(r=>{if(typeof r.label=="string"&&!(r.label&&typeof r.label=="object")){let i=r;return{id:i.id,label:{en:i.label},meta:i.thumbUri?{...i.meta??{},thumbUri:i.thumbUri}:i.meta}}return r}),this.activeAssetIds=new Set}async findAssets(e){let{page:t,perPage:r,locale:i="en",sortActiveFirst:a,query:n,tags:u,groups:l,excludeGroups:y,sortingOrder:g,sortKey:p}=e,s=[...this.assets];if(l&&l.length>0&&(s=s.filter(o=>o.groups&&l.some(c=>o.groups?.includes(c)))),y&&y.length>0&&(s=s.filter(o=>!o.groups||!y.some(c=>o.groups?.includes(c)))),n){let o=n.toLowerCase();s=s.filter(c=>{let d=c.label?.[i]?.toLowerCase(),m=c.tags?.[i]||[];return d&&d.includes(o)||m.some(de=>de.toLowerCase().includes(o))})}if(u&&u.length>0){let o=Array.isArray(u)?u:[u];s=s.filter(c=>{let d=c.tags?.[i]||[];return o.some(m=>d.includes(m))})}a&&s.sort((o,c)=>{let d=this.activeAssetIds.has(o.id),m=this.activeAssetIds.has(c.id);return d&&!m?-1:!d&&m?1:0}),p&&p!=="id"?s.sort((o,c)=>{let d=o.meta?.[p],m=c.meta?.[p];return d===void 0?1:m===void 0?-1:typeof d=="string"&&typeof m=="string"?g==="Descending"?m.localeCompare(d):d.localeCompare(m):typeof d=="number"&&typeof m=="number"?g==="Descending"?m-d:d-m:0}):p==="id"&&s.sort((o,c)=>g==="Descending"?c.id.localeCompare(o.id):o.id.localeCompare(c.id));let b=s.length,w=t*r,I=w+r,v=s.slice(w,I).map(o=>({id:o.id,groups:o.groups,meta:o.meta,payload:o.payload,locale:i,label:o.label?.[i],tags:o.tags?.[i],active:this.activeAssetIds.has(o.id)})),k=I<b?t+1:void 0;return{assets:v,currentPage:t,nextPage:k,total:b}}updateLabel(e,t,r){this.assets.forEach(i=>{i.id===e&&(i.label=i.label||{},i.label[r]=t)})}getAssetSelectValue(e){let t=this.assets.find(({id:r})=>r===e);if(t)return{id:t.id,label:t.label?.en||"",thumbUri:t.meta?.thumbUri}}getAsset(e){return this.assets.find(t=>t.id===e)}setAssetActive(e){this.activeAssetIds.add(e)}getActiveAssetIds(){return Array.from(this.activeAssetIds)}setAssetsActive(e){e.forEach(t=>this.activeAssetIds.add(t))}setAssetInactive(e){this.activeAssetIds.delete(e)}clearActiveAssets(){this.activeAssetIds.clear()}isAssetActive(e){return this.activeAssetIds.has(e)}addAsset(e){let t=this.assets.findIndex(r=>r.id===e.id);t>=0?this.assets[t]=e:this.assets.push(e)}removeAsset(e){let t=this.assets.findIndex(r=>r.id===e);t!==-1&&(this.assets.splice(t,1),this.activeAssetIds.delete(e))}async getGroups(){let e=new Set;return this.assets.forEach(t=>{t.groups&&t.groups.forEach(r=>e.add(r))}),Array.from(e)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};var Rn=typeof global=="object"&&global&&global.Object===Object&&global,ht=Rn,zn=typeof self=="object"&&self&&self.Object===Object&&self,Un=ht||zn||Function("return this")(),A=Un,Fn=A.Symbol,N=Fn,bt=Object.prototype,Vn=bt.hasOwnProperty,Bn=bt.toString,q=N?N.toStringTag:void 0;function Gn(e){var t=Vn.call(e,q),r=e[q];try{e[q]=void 0;var i=!0}catch{}var a=Bn.call(e);return i&&(t?e[q]=r:delete e[q]),a}var Hn=Gn,qn=Object.prototype,Kn=qn.toString;function Yn(e){return Kn.call(e)}var Zn=Yn,Qn="[object Null]",Wn="[object Undefined]",rt=N?N.toStringTag:void 0;function Jn(e){return e==null?e===void 0?Wn:Qn:rt&&rt in Object(e)?Hn(e):Zn(e)}var Q=Jn;function Xn(e){return e!=null&&typeof e=="object"}var Le=Xn,wl=Array.isArray;function eo(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var yt=eo,to="[object AsyncFunction]",ro="[object Function]",io="[object GeneratorFunction]",no="[object Proxy]";function oo(e){if(!yt(e))return!1;var t=Q(e);return t==ro||t==io||t==to||t==no}var ao=oo,so=A["__core-js_shared__"],ke=so,it=function(){var e=/[^.]+$/.exec(ke&&ke.keys&&ke.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lo(e){return!!it&&it in e}var uo=lo,co=Function.prototype,po=co.toString;function go(e){if(e!=null){try{return po.call(e)}catch{}try{return e+""}catch{}}return""}var C=go,mo=/[\\^$.*+?()[\]{}|]/g,fo=/^\[object .+?Constructor\]$/,ho=Function.prototype,bo=Object.prototype,yo=ho.toString,vo=bo.hasOwnProperty,wo=RegExp("^"+yo.call(vo).replace(mo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ko(e){if(!yt(e)||uo(e))return!1;var t=ao(e)?wo:fo;return t.test(C(e))}var Io=ko;function So(e,t){return e?.[t]}var Ao=So;function xo(e,t){var r=Ao(e,t);return Io(r)?r:void 0}var T=xo,Co=T(A,"WeakMap"),xe=Co;function Eo(e,t){return e===t||e!==e&&t!==t}var Mo=Eo,jo=9007199254740991;function Lo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jo}var Po=Lo,kl=Object.prototype,_o="[object Arguments]";function $o(e){return Le(e)&&Q(e)==_o}var nt=$o,vt=Object.prototype,No=vt.hasOwnProperty,To=vt.propertyIsEnumerable,Il=nt(function(){return arguments}())?nt:function(e){return Le(e)&&No.call(e,"callee")&&!To.call(e,"callee")},wt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ot=wt&&typeof module=="object"&&module&&!module.nodeType&&module,Oo=ot&&ot.exports===wt,at=Oo?A.Buffer:void 0,Sl=at?at.isBuffer:void 0,Do="[object Arguments]",Ro="[object Array]",zo="[object Boolean]",Uo="[object Date]",Fo="[object Error]",Vo="[object Function]",Bo="[object Map]",Go="[object Number]",Ho="[object Object]",qo="[object RegExp]",Ko="[object Set]",Yo="[object String]",Zo="[object WeakMap]",Qo="[object ArrayBuffer]",Wo="[object DataView]",Jo="[object Float32Array]",Xo="[object Float64Array]",ea="[object Int8Array]",ta="[object Int16Array]",ra="[object Int32Array]",ia="[object Uint8Array]",na="[object Uint8ClampedArray]",oa="[object Uint16Array]",aa="[object Uint32Array]",h={};h[Jo]=h[Xo]=h[ea]=h[ta]=h[ra]=h[ia]=h[na]=h[oa]=h[aa]=!0;h[Do]=h[Ro]=h[Qo]=h[zo]=h[Wo]=h[Uo]=h[Fo]=h[Vo]=h[Bo]=h[Go]=h[Ho]=h[qo]=h[Ko]=h[Yo]=h[Zo]=!1;function sa(e){return Le(e)&&Po(e.length)&&!!h[Q(e)]}var la=sa;function ua(e){return function(t){return e(t)}}var ca=ua,kt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,K=kt&&typeof module=="object"&&module&&!module.nodeType&&module,da=K&&K.exports===kt,Ie=da&&ht.process,pa=function(){try{var e=K&&K.require&&K.require("util").types;return e||Ie&&Ie.binding&&Ie.binding("util")}catch{}}(),st=pa,lt=st&&st.isTypedArray,Al=lt?ca(lt):la,ga=Object.prototype,xl=ga.hasOwnProperty;function ma(e,t){return function(r){return e(t(r))}}var fa=ma,Cl=fa(Object.keys,Object),ha=Object.prototype,El=ha.hasOwnProperty,ba=T(Object,"create"),Y=ba;function ya(){this.__data__=Y?Y(null):{},this.size=0}var va=ya;function wa(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ka=wa,Ia="__lodash_hash_undefined__",Sa=Object.prototype,Aa=Sa.hasOwnProperty;function xa(e){var t=this.__data__;if(Y){var r=t[e];return r===Ia?void 0:r}return Aa.call(t,e)?t[e]:void 0}var Ca=xa,Ea=Object.prototype,Ma=Ea.hasOwnProperty;function ja(e){var t=this.__data__;return Y?t[e]!==void 0:Ma.call(t,e)}var La=ja,Pa="__lodash_hash_undefined__";function _a(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Y&&t===void 0?Pa:t,this}var $a=_a;function O(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}O.prototype.clear=va;O.prototype.delete=ka;O.prototype.get=Ca;O.prototype.has=La;O.prototype.set=$a;var ut=O;function Na(){this.__data__=[],this.size=0}var Ta=Na;function Oa(e,t){for(var r=e.length;r--;)if(Mo(e[r][0],t))return r;return-1}var se=Oa,Da=Array.prototype,Ra=Da.splice;function za(e){var t=this.__data__,r=se(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ra.call(t,r,1),--this.size,!0}var Ua=za;function Fa(e){var t=this.__data__,r=se(t,e);return r<0?void 0:t[r][1]}var Va=Fa;function Ba(e){return se(this.__data__,e)>-1}var Ga=Ba;function Ha(e,t){var r=this.__data__,i=se(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var qa=Ha;function D(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}D.prototype.clear=Ta;D.prototype.delete=Ua;D.prototype.get=Va;D.prototype.has=Ga;D.prototype.set=qa;var le=D,Ka=T(A,"Map"),Z=Ka;function Ya(){this.size=0,this.__data__={hash:new ut,map:new(Z||le),string:new ut}}var Za=Ya;function Qa(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Wa=Qa;function Ja(e,t){var r=e.__data__;return Wa(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ue=Ja;function Xa(e){var t=ue(this,e).delete(e);return this.size-=t?1:0,t}var es=Xa;function ts(e){return ue(this,e).get(e)}var rs=ts;function is(e){return ue(this,e).has(e)}var ns=is;function os(e,t){var r=ue(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var as=os;function R(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}R.prototype.clear=Za;R.prototype.delete=es;R.prototype.get=rs;R.prototype.has=ns;R.prototype.set=as;var It=R;function ss(){this.__data__=new le,this.size=0}var ls=ss;function us(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var cs=us;function ds(e){return this.__data__.get(e)}var ps=ds;function gs(e){return this.__data__.has(e)}var ms=gs,fs=200;function hs(e,t){var r=this.__data__;if(r instanceof le){var i=r.__data__;if(!Z||i.length<fs-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new It(i)}return r.set(e,t),this.size=r.size,this}var bs=hs;function W(e){var t=this.__data__=new le(e);this.size=t.size}W.prototype.clear=ls;W.prototype.delete=cs;W.prototype.get=ps;W.prototype.has=ms;W.prototype.set=bs;var ys=Object.prototype,Ml=ys.propertyIsEnumerable,vs=T(A,"DataView"),Ce=vs,ws=T(A,"Promise"),Ee=ws,ks=T(A,"Set"),Me=ks,ct="[object Map]",Is="[object Object]",dt="[object Promise]",pt="[object Set]",gt="[object WeakMap]",mt="[object DataView]",Ss=C(Ce),As=C(Z),xs=C(Ee),Cs=C(Me),Es=C(xe),$=Q;(Ce&&$(new Ce(new ArrayBuffer(1)))!=mt||Z&&$(new Z)!=ct||Ee&&$(Ee.resolve())!=dt||Me&&$(new Me)!=pt||xe&&$(new xe)!=gt)&&($=function(e){var t=Q(e),r=t==Is?e.constructor:void 0,i=r?C(r):"";if(i)switch(i){case Ss:return mt;case As:return ct;case xs:return dt;case Cs:return pt;case Es:return gt}return t});var jl=A.Uint8Array,Ms="__lodash_hash_undefined__";function js(e){return this.__data__.set(e,Ms),this}var Ls=js;function Ps(e){return this.__data__.has(e)}var _s=Ps;function je(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new It;++t<r;)this.add(e[t])}je.prototype.add=je.prototype.push=Ls;je.prototype.has=_s;var ft=N?N.prototype:void 0,Ll=ft?ft.valueOf:void 0,$s=Object.prototype,Pl=$s.hasOwnProperty,Ns=Object.prototype,_l=Ns.hasOwnProperty,$l=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Nl=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Tl=new RegExp(/[A-Fa-f0-9]{2}/,"g");function Ts(e){return e!==void 0}var Os=Ts;function Ds(e,t){let{cesdk:r}=t;if(r==null)return{};let i=t.propertyKey??"style",a=zs(e);r.i18n.setTranslations({en:{[`panel.${a}`]:"Select Style",[`${e}.${i}`]:"Style"}});let n=Fs({baseURL:t.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",includeNone:!0}),u=n;t.styles!=null&&(Array.isArray(t.styles)?u=t.styles:typeof t.styles=="function"&&(u=t.styles(n)));let l=Vs({cesdk:r,providerId:e,styles:u}),y=l.id;return Bs(l,{cesdk:r}),Rs({providerId:e,cesdk:r,panelId:a,entryId:y}),{[t.propertyKeyForPrompt??"prompt"]:(g,p)=>{let s=g.state("prompt","");return g.builder.TextArea(`${p.id}`,{inputLabel:t.i18n?.prompt?.inputLabel??t.propertyKeyForPrompt??"prompt",placeholder:t.i18n?.prompt?.placeholder,...s}),()=>{let[b]=l.getActiveAssetIds(),w=l.getAsset(b);return{id:p.id,type:"string",value:w?.meta?.prompt==null?s.value:`${s.value}; ${w.meta.prompt}`}}},[i]:(g,p)=>{let{builder:s,state:b}=g;if(u.length>0){let w=b("style",u[0]);return s.Button(`${p.id}`,{inputLabel:`${e}.${p.id}`,icon:"@imgly/Appearance",isDisabled:u.length===0,trailingIcon:"@imgly/ChevronRight",label:w.value.label,labelAlignment:"left",onClick:()=>{let I={onSelect:async v=>{l.clearActiveAssets(),l.setAssetActive(v.id),w.setValue({id:v.id,label:v.label??v.id}),r.ui.closePanel(a)}};r.ui.openPanel(a,{payload:I})}}),()=>({id:p.id,type:"string",value:w.value.id})}return()=>({id:p.id,type:"string",value:"none"})}}}function Rs(e){let{providerId:t,cesdk:r,panelId:i,entryId:a}=e;r?.ui.registerPanel(i,({builder:n,payload:u})=>{u?.onSelect==null&&n.Section(`${t}.error`,{children:()=>{n.Text("error",{content:"No onSelect function provided for the style selection panel."})}}),n.Library(`${t}.library.image`,{entries:[a],onSelect:async l=>{u?.onSelect?.(l)}})})}function zs(e){return`ly.img.ai.${e}.styleSelection`}var Us=[{id:"none",label:"None",prompt:""},{id:"anime-celshaded",label:"Anime",prompt:"anime cel\u2011shaded, bright pastel palette, expressive eyes, clean line art "},{id:"cyberpunk-neon",label:"Cyberpunk",prompt:"cyberpunk cityscape, glowing neon signage, reflective puddles, dark atmosphere"},{id:"kodak-portra-400",label:"Kodak 400",prompt:"shot on Kodak Portra 400, soft grain, golden\u2011hour warmth, 35 mm photo"},{id:"watercolor-storybook",label:"Watercolor",prompt:"loose watercolor washes, gentle gradients, dreamy storybook feel"},{id:"dark-fantasy-realism",label:"Dark Fantasy",prompt:"dark fantasy realm, moody chiaroscuro lighting, hyper\u2011real textures"},{id:"vaporwave-retrofuturism",label:"Vaporwave",prompt:"retro\u2011futuristic vaporwave, pastel sunset gradient, chrome text, VHS scanlines"},{id:"minimal-vector-flat",label:"Vector Flat",prompt:"minimalist flat vector illustration, bold geometry, two\u2011tone palette"},{id:"pixarstyle-3d-render",label:"3D Animation",prompt:"Pixar\u2011style 3D render, oversized eyes, subtle subsurface scattering, cinematic lighting"},{id:"ukiyoe-woodblock",label:"Ukiyo\u2011e",prompt:"ukiyo\u2011e woodblock print, Edo\u2011period style, visible washi texture, limited color ink"},{id:"surreal-dreamscape",label:"Surreal",prompt:"surreal dreamscape, floating objects, impossible architecture, vivid clouds"},{id:"steampunk-victorian",label:"Steampunk",prompt:"Victorian steampunk world, ornate brass gears, leather attire, atmospheric fog"},{id:"nightstreet-photo-bokeh",label:"Night Bokeh",prompt:"night\u2011time street shot, large aperture bokeh lights, candid urban mood"},{id:"comicbook-pop-art",label:"Pop Art",prompt:"classic comic\u2011book panel, halftone shading, exaggerated action lines, CMYK pop colors"}];function Fs(e){return Us.map(t=>t.id==="none"?e.includeNone?{...t,thumbUri:`${e.baseURL}/thumbnails/None.svg`}:void 0:{...t,thumbUri:`${e.baseURL}/thumbnails/${t.id}.jpeg`}).filter(Os)}var Vs=e=>{let t=e.styles.map(u=>({...u,meta:{prompt:u.prompt}})),r=e.cesdk.engine.asset.findAllSources(),i=`${e.providerId}/styles`;for(;r.includes(i);)i+=`-${Math.random().toString(36).substring(2,5)}`;let a=new Dn(i,t),n=e.styles[0];return a.setAssetActive(n.id),a},Bs=(e,t)=>{t.cesdk.engine.asset.addSource(e),t.cesdk.ui.addAssetLibraryEntry({id:e.id,sourceIds:[e.id],gridItemHeight:"square",gridBackgroundType:"cover",cardLabel:({label:r})=>r,cardLabelPosition:()=>"below"})},Gs=Ds;var St=class At{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new At),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,a)=>{if(i===null){a(t,r);return}this.matchesFilters(t,i)&&a(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}};var Hs="ly.img.ai";function J(e){return`${Hs}.${e}`}function qs(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||e.block.getKind(r)==="sticker"||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var xt=qs;var Se="@imgly/plugin-ai-generation",Ol=`
68
68
  <svg>
69
69
  <symbol
70
70
  fill="none"
@@ -125,7 +125,7 @@ var Tt=`
125
125
 
126
126
  </symbol>
127
127
  </svg>
128
- `;var Ct={ImageUrl:Dn,StyleTransfer:Gs};var Et={openapi:"3.0.0",components:{schemas:{GptImage1Input:{title:"TextToImageInput",type:"object",properties:{prompt:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},style:{title:"Style",type:"string",description:"The style of the generated images."},size:{enum:["1024x1024","1536x1024","1024x1536"],type:"string",title:"Format",default:"1024x1024","x-imgly-enum-labels":{"1024x1024":"Square","1536x1024":"Landscape","1024x1536":"Portrait"},"x-imgly-enum-icons":{"1024x1024":"@imgly/plugin/formats/ratio1by1","1024x1536":"@imgly/plugin/formats/ratio3by4","1536x1024":"@imgly/plugin/formats/ratio4by3"}},background:{enum:["auto","transparent","opaque"],type:"string",title:"Background",default:"auto","x-imgly-enum-labels":{auto:"Auto",transparent:"Transparent",opaque:"Opaque"}}},"x-order-properties":["prompt","style","size","background"],required:["prompt"]}}}};function ce(e,t){let r=e.split(",")[1]||e,i=atob(r),a=[];for(let l=0;l<i.length;l++)a.push(i.charCodeAt(l));let n=new Uint8Array(a);return new Blob([n],{type:t})}var X=[{id:"none",label:"None",prompt:""},{id:"anime-celshaded",label:"Anime",prompt:"anime cel\u2011shaded, bright pastel palette, expressive eyes, clean line art "},{id:"cyberpunk-neon",label:"Cyberpunk",prompt:"cyberpunk cityscape, glowing neon signage, reflective puddles, dark atmosphere"},{id:"kodak-portra-400",label:"Kodak 400",prompt:"shot on Kodak Portra 400, soft grain, golden\u2011hour warmth, 35 mm photo"},{id:"watercolor-storybook",label:"Watercolor",prompt:"loose watercolor washes, gentle gradients, dreamy storybook feel"},{id:"dark-fantasy-realism",label:"Dark Fantasy",prompt:"dark fantasy realm, moody chiaroscuro lighting, hyper\u2011real textures"},{id:"vaporwave-retrofuturism",label:"Vaporwave",prompt:"retro\u2011futuristic vaporwave, pastel sunset gradient, chrome text, VHS scanlines"},{id:"minimal-vector-flat",label:"Vector Flat",prompt:"minimalist flat vector illustration, bold geometry, two\u2011tone palette"},{id:"pixarstyle-3d-render",label:"3D Animation",prompt:"Pixar\u2011style 3D render, oversized eyes, subtle subsurface scattering, cinematic lighting"},{id:"ukiyoe-woodblock",label:"Ukiyo\u2011e",prompt:"ukiyo\u2011e woodblock print, Edo\u2011period style, visible washi texture, limited color ink"},{id:"surreal-dreamscape",label:"Surreal",prompt:"surreal dreamscape, floating objects, impossible architecture, vivid clouds"},{id:"steampunk-victorian",label:"Steampunk",prompt:"Victorian steampunk world, ornate brass gears, leather attire, atmospheric fog"},{id:"nightstreet-photo-bokeh",label:"Night Bokeh",prompt:"night\u2011time street shot, large aperture bokeh lights, candid urban mood"},{id:"comicbook-pop-art",label:"Pop Art",prompt:"classic comic\u2011book panel, halftone shading, exaggerated action lines, CMYK pop colors"}],Mt=(e,t)=>{let r=X.map(n=>n.id==="none"?t.includeNone?{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/None.svg`}:void 0:{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/${n.id}.jpeg`}).filter(oe),i=new te(e,r),a=X[0];return i.setAssetActive(a.id),i},jt=(e,t)=>{t.cesdk.engine.asset.addSource(e),t.cesdk.ui.addAssetLibraryEntry({id:e.id,sourceIds:[e.id],gridItemHeight:"square",gridBackgroundType:"cover",cardLabel:({label:r})=>r,cardLabelPosition:()=>"below"})};function Lt(e){return async({cesdk:t})=>Zs(t,e)}function Zs(e,t){let r="open-ai/gpt-image-1/text2image",i="https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",a=`${r}/styles`,n=Mt(a,{baseURL:i,includeNone:!0});return jt(n,{cesdk:e}),e.ui.registerPanel(`${J(r)}.styleSelection`,({builder:l,payload:y})=>{if(y==null)return null;l.Library(`${r}.library.style`,{entries:[a],onSelect:async g=>{y.onSelect(g)}})}),e.ui.addIconSet("@imgly/plugin/formats",ae.Formats),e.i18n.setTranslations({en:{[`panel.${J(r)}.styleSelection`]:"Style Selection",[`${r}.style`]:"Style","panel.gpt-image-1.imageSelection":"Select Image To Change"}}),{id:"open-ai/gpt-image-1/text2image",kind:"image",name:"GPT Image 1",input:{panel:{type:"schema",document:Et,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{style:({builder:l,state:y},g)=>{let p=y("style",n.getAssetSelectValue(n.getActiveAssetIds()[0])??X[0]);return l.Button(`${g.id}`,{inputLabel:`${r}.${g.id}`,icon:"@imgly/Appearance",trailingIcon:"@imgly/ChevronRight",label:p.value.label,labelAlignment:"left",onClick:()=>{let s={onSelect:async b=>{let w={id:b.id,label:b.label??b.id};n.clearActiveAssets(),n.setAssetActive(b.id),p.setValue(w),e.ui.closePanel(`${J(r)}.styleSelection`)}};e.ui.openPanel(`${J(r)}.styleSelection`,{payload:s})}}),()=>({id:g.id,type:"string",value:p.value.id??n.getActiveAssetIds()[0]})}},getBlockInput:l=>{switch(l.size){case"auto":return Promise.resolve({image:{width:512,height:512}});case"1024x1024":return Promise.resolve({image:{width:1024,height:1024}});case"1536x1024":return Promise.resolve({image:{width:1536,height:1024}});case"1024x1536":return Promise.resolve({image:{width:1024,height:1536}});default:throw new Error("Invalid image size")}},userFlow:"placeholder"}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(l,{abortSignal:y})=>{let g=X.find(c=>c.id===l.style),p=l.prompt;g!=null&&g.id!=="none"&&g.prompt&&(p=`${p}, ${g.prompt}`);let s=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),b=s?"https://api.openai.com/v1":t.proxyUrl,v=(await(await fetch(`${b}/images/generations`,{signal:y,method:"POST",headers:s?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`,"Content-Type":"application/json",...t.headers??{}}:{"Content-Type":"application/json",...t.headers??{}},body:JSON.stringify({model:"gpt-image-1",prompt:p,n:1,size:l.size,background:l.background})})).json()).data?.[0].b64_json;if(v==null)throw new Error("No image data returned");let k=ce(v,"image/png");return{kind:"image",url:URL.createObjectURL(k)}}}}}var Pt={openapi:"3.0.0",components:{schemas:{GptImage1Input:{title:"ImageToImageInput",type:"object",properties:{prompt:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},image_url:{title:"Image Url",type:"string",description:"Optional URL of an input image for editing."}},"x-order-properties":["image_url","prompt","background"],required:["image_url","prompt"]}}}};import{MimeType as Xs}from"@cesdk/cesdk-js";var _t="gpt-image-1.changeStyleLibrary",Pe=`ly.img.${_t}`,ee=`ly.img.ai.quickAction.image.${_t}`,_e=[{id:"none",label:"None",prompt:""},{id:"anime-celshaded",label:"Anime",prompt:"anime cel\u2011shaded, bright pastel palette, expressive eyes, clean line art "},{id:"cyberpunk-neon",label:"Cyberpunk",prompt:"cyberpunk cityscape, glowing neon signage, reflective puddles, dark atmosphere"},{id:"kodak-portra-400",label:"Kodak 400",prompt:"shot on Kodak Portra 400, soft grain, golden\u2011hour warmth, 35 mm photo"},{id:"watercolor-storybook",label:"Watercolor",prompt:"loose watercolor washes, gentle gradients, dreamy storybook feel"},{id:"dark-fantasy-realism",label:"Dark Fantasy",prompt:"dark fantasy realm, moody chiaroscuro lighting, hyper\u2011real textures"},{id:"vaporwave-retrofuturism",label:"Vaporwave",prompt:"retro\u2011futuristic vaporwave, pastel sunset gradient, chrome text, VHS scanlines"},{id:"minimal-vector-flat",label:"Vector Flat",prompt:"minimalist flat vector illustration, bold geometry, two\u2011tone palette"},{id:"pixarstyle-3d-render",label:"3D Animation",prompt:"Pixar\u2011style 3D render, oversized eyes, subtle subsurface scattering, cinematic lighting"},{id:"ukiyoe-woodblock",label:"Ukiyo\u2011e",prompt:"ukiyo\u2011e woodblock print, Edo\u2011period style, visible washi texture, limited color ink"},{id:"surreal-dreamscape",label:"Surreal",prompt:"surreal dreamscape, floating objects, impossible architecture, vivid clouds"},{id:"steampunk-victorian",label:"Steampunk",prompt:"Victorian steampunk world, ornate brass gears, leather attire, atmospheric fog"},{id:"nightstreet-photo-bokeh",label:"Night Bokeh",prompt:"night\u2011time street shot, large aperture bokeh lights, candid urban mood"},{id:"comicbook-pop-art",label:"Pop Art",prompt:"classic comic\u2011book panel, halftone shading, exaggerated action lines, CMYK pop colors"}],Qs=(e,t)=>{let r=_e.map(n=>n.id==="none"?t.includeNone?{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/None.svg`}:void 0:{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/${n.id}.jpeg`}).filter(oe),i=new te(e,r),a=_e[0];return i.setAssetActive(a.id),i},Ws=(e,t)=>{t.cesdk.engine.asset.addSource(e),t.cesdk.ui.addAssetLibraryEntry({id:e.id,sourceIds:[e.id],gridItemHeight:"square",gridBackgroundType:"cover",cardLabel:({label:r})=>r,cardLabelPosition:()=>"below"})},Js=e=>{let{cesdk:t,modelKey:r,baseURL:i}=e,a=`${r}/styles`,u=Qs(a,{baseURL:i??"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/"});return Ws(u,{cesdk:t}),t.i18n.setTranslations({en:{[`${ee}.label`]:"Change Style",[`${ee}.description`]:"Apply different art styles to your image"}}),{id:Pe,type:"quick",kind:"image",label:`${ee}.label`,description:`${ee}.description`,enable:xt(),scopes:["fill/change"],render:({builder:y,experimental:g,generate:p,engine:s,close:b})=>{g.builder.Popover(`${Pe}.popover`,{label:`${ee}.label`,icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{y.Library(`${Pe}.popover.library`,{entries:[`${r}/styles`],onSelect:async w=>{try{let[I]=s.block.findAllSelected(),v=await tt(I,s,{throwErrorIfSvg:!0}),k=w.id,o=_e.find(({id:c})=>c===k);if(o==null)throw new Error(`Style not found: ${k}`);await p({prompt:o.prompt,uri:v}),b()}catch(I){console.error("Generation error:",I)}}})}})}}},Nt=Js;function $t(e){return async({cesdk:t})=>el(t,e)}function el(e,t){let r="open-ai/gpt-image-1/image2image";return e.ui.addIconSet("@imgly/plugin/formats",ae.Formats),St.get().register(Nt({cesdk:e,modelKey:r,baseURL:"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/"})),{id:r,kind:"image",name:"GPT Image 1",input:{panel:{type:"schema",document:Pt,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{...e!=null?Ct.ImageUrl("gpt-image-1",{cesdk:e}):{}},getBlockInput:async n=>{if(n.image_url==null||Array.isArray(n.image_url))throw new Error("Cannot process getBlockInput for multiple images");let{width:u,height:l}=await et(n.image_url,e.engine);return Promise.resolve({image:{width:u,height:l}})},userFlow:"placeholder"},quickActions:{supported:{"ly.img.gpt-image-1.changeStyleLibrary":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.editImage":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.swapBackground":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.createVariant":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.combineImages":{mapInput:n=>({prompt:n.prompt,image_url:n.uris,exportFromBlockIds:n.exportFromBlockIds})},"ly.img.remixPage":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.remixPageWithPrompt":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})}}}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(n,{abortSignal:u})=>{let l=new FormData;if(Array.isArray(n.image_url))n.exportFromBlockIds!=null?await Promise.all(n.exportFromBlockIds.map(async v=>{let k=await e.engine.block.export(v,Xs.Jpeg,{targetHeight:1024,targetWidth:1024});l.append("image[]",k,`image_${v}.jpeg`)})):await Promise.all(n.image_url.map(async v=>{let k=await e.engine.editor.getMimeType(v),o=await H(v,e.engine),d=await(await fetch(o)).blob();l.append("image[]",d,`image.${we(k)}`)}));else{let v=await e.engine.editor.getMimeType(n.image_url),k=await H(n.image_url,e.engine),c=await(await fetch(k)).blob();l.append("image",c,`image.${we(v)}`)}l.append("prompt",n.prompt),l.append("model","gpt-image-1"),l.append("size","auto"),l.append("n","1");let y=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),g=y?"https://api.openai.com/v1":t.proxyUrl,b=(await(await fetch(`${g}/images/edits`,{signal:u,method:"POST",headers:y?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`,...t.headers??{}}:{...t.headers??{}},body:l})).json()).data?.[0].b64_json;if(b==null)throw new Error("No image data returned");let w=ce(b,"image/png");return{kind:"image",url:URL.createObjectURL(w)}}}}}var tl={GptImage1:{Text2Image:Lt,Image2Image:$t}},gu=tl;export{gu as default};
128
+ `;var Ct={ImageUrl:On,StyleTransfer:Gs};var Et={openapi:"3.0.0",components:{schemas:{GptImage1Input:{title:"TextToImageInput",type:"object",properties:{prompt:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},style:{title:"Style",type:"string",description:"The style of the generated images."},size:{enum:["1024x1024","1536x1024","1024x1536"],type:"string",title:"Format",default:"1024x1024","x-imgly-enum-labels":{"1024x1024":"Square","1536x1024":"Landscape","1024x1536":"Portrait"},"x-imgly-enum-icons":{"1024x1024":"@imgly/plugin/formats/ratio1by1","1024x1536":"@imgly/plugin/formats/ratio3by4","1536x1024":"@imgly/plugin/formats/ratio4by3"}},background:{enum:["auto","transparent","opaque"],type:"string",title:"Background",default:"auto","x-imgly-enum-labels":{auto:"Auto",transparent:"Transparent",opaque:"Opaque"}}},"x-order-properties":["prompt","style","size","background"],required:["prompt"]}}}};function ce(e,t){let r=e.split(",")[1]||e,i=atob(r),a=[];for(let l=0;l<i.length;l++)a.push(i.charCodeAt(l));let n=new Uint8Array(a);return new Blob([n],{type:t})}var X=[{id:"none",label:"None",prompt:""},{id:"anime-celshaded",label:"Anime",prompt:"anime cel\u2011shaded, bright pastel palette, expressive eyes, clean line art "},{id:"cyberpunk-neon",label:"Cyberpunk",prompt:"cyberpunk cityscape, glowing neon signage, reflective puddles, dark atmosphere"},{id:"kodak-portra-400",label:"Kodak 400",prompt:"shot on Kodak Portra 400, soft grain, golden\u2011hour warmth, 35 mm photo"},{id:"watercolor-storybook",label:"Watercolor",prompt:"loose watercolor washes, gentle gradients, dreamy storybook feel"},{id:"dark-fantasy-realism",label:"Dark Fantasy",prompt:"dark fantasy realm, moody chiaroscuro lighting, hyper\u2011real textures"},{id:"vaporwave-retrofuturism",label:"Vaporwave",prompt:"retro\u2011futuristic vaporwave, pastel sunset gradient, chrome text, VHS scanlines"},{id:"minimal-vector-flat",label:"Vector Flat",prompt:"minimalist flat vector illustration, bold geometry, two\u2011tone palette"},{id:"pixarstyle-3d-render",label:"3D Animation",prompt:"Pixar\u2011style 3D render, oversized eyes, subtle subsurface scattering, cinematic lighting"},{id:"ukiyoe-woodblock",label:"Ukiyo\u2011e",prompt:"ukiyo\u2011e woodblock print, Edo\u2011period style, visible washi texture, limited color ink"},{id:"surreal-dreamscape",label:"Surreal",prompt:"surreal dreamscape, floating objects, impossible architecture, vivid clouds"},{id:"steampunk-victorian",label:"Steampunk",prompt:"Victorian steampunk world, ornate brass gears, leather attire, atmospheric fog"},{id:"nightstreet-photo-bokeh",label:"Night Bokeh",prompt:"night\u2011time street shot, large aperture bokeh lights, candid urban mood"},{id:"comicbook-pop-art",label:"Pop Art",prompt:"classic comic\u2011book panel, halftone shading, exaggerated action lines, CMYK pop colors"}],Mt=(e,t)=>{let r=X.map(n=>n.id==="none"?t.includeNone?{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/None.svg`}:void 0:{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/${n.id}.jpeg`}).filter(oe),i=new te(e,r),a=X[0];return i.setAssetActive(a.id),i},jt=(e,t)=>{t.cesdk.engine.asset.addSource(e),t.cesdk.ui.addAssetLibraryEntry({id:e.id,sourceIds:[e.id],gridItemHeight:"square",gridBackgroundType:"cover",cardLabel:({label:r})=>r,cardLabelPosition:()=>"below"})};function Lt(e){return async({cesdk:t})=>Ys(t,e)}function Ys(e,t){let r="open-ai/gpt-image-1/text2image",i="https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",a=`${r}/styles`,n=Mt(a,{baseURL:i,includeNone:!0});return jt(n,{cesdk:e}),e.ui.registerPanel(`${J(r)}.styleSelection`,({builder:l,payload:y})=>{if(y==null)return null;l.Library(`${r}.library.style`,{entries:[a],onSelect:async g=>{y.onSelect(g)}})}),e.ui.addIconSet("@imgly/plugin/formats",ae.Formats),e.i18n.setTranslations({en:{[`panel.${J(r)}.styleSelection`]:"Style Selection",[`${r}.style`]:"Style","panel.gpt-image-1.imageSelection":"Select Image To Change"}}),{id:"open-ai/gpt-image-1/text2image",kind:"image",name:"GPT Image 1",input:{panel:{type:"schema",document:Et,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{style:({builder:l,state:y},g)=>{let p=y("style",n.getAssetSelectValue(n.getActiveAssetIds()[0])??X[0]);return l.Button(`${g.id}`,{inputLabel:`${r}.${g.id}`,icon:"@imgly/Appearance",trailingIcon:"@imgly/ChevronRight",label:p.value.label,labelAlignment:"left",onClick:()=>{let s={onSelect:async b=>{let w={id:b.id,label:b.label??b.id};n.clearActiveAssets(),n.setAssetActive(b.id),p.setValue(w),e.ui.closePanel(`${J(r)}.styleSelection`)}};e.ui.openPanel(`${J(r)}.styleSelection`,{payload:s})}}),()=>({id:g.id,type:"string",value:p.value.id??n.getActiveAssetIds()[0]})}},getBlockInput:l=>{switch(l.size){case"auto":return Promise.resolve({image:{width:512,height:512}});case"1024x1024":return Promise.resolve({image:{width:1024,height:1024}});case"1536x1024":return Promise.resolve({image:{width:1536,height:1024}});case"1024x1536":return Promise.resolve({image:{width:1024,height:1536}});default:throw new Error("Invalid image size")}},userFlow:"placeholder"}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(l,{abortSignal:y})=>{let g=X.find(c=>c.id===l.style),p=l.prompt;g!=null&&g.id!=="none"&&g.prompt&&(p=`${p}, ${g.prompt}`);let s=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),b=s?"https://api.openai.com/v1":t.proxyUrl,v=(await(await fetch(`${b}/images/generations`,{signal:y,method:"POST",headers:s?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`,"Content-Type":"application/json",...t.headers??{}}:{"Content-Type":"application/json",...t.headers??{}},body:JSON.stringify({model:"gpt-image-1",prompt:p,n:1,size:l.size,background:l.background})})).json()).data?.[0].b64_json;if(v==null)throw new Error("No image data returned");let k=ce(v,"image/png");return{kind:"image",url:URL.createObjectURL(k)}}}}}var Pt={openapi:"3.0.0",components:{schemas:{GptImage1Input:{title:"ImageToImageInput",type:"object",properties:{prompt:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},image_url:{title:"Image Url",type:"string",description:"Optional URL of an input image for editing."}},"x-order-properties":["image_url","prompt","background"],required:["image_url","prompt"]}}}};import{MimeType as Xs}from"@cesdk/cesdk-js";var _t="gpt-image-1.changeStyleLibrary",Pe=`ly.img.${_t}`,ee=`ly.img.ai.quickAction.image.${_t}`,_e=[{id:"none",label:"None",prompt:""},{id:"anime-celshaded",label:"Anime",prompt:"anime cel\u2011shaded, bright pastel palette, expressive eyes, clean line art "},{id:"cyberpunk-neon",label:"Cyberpunk",prompt:"cyberpunk cityscape, glowing neon signage, reflective puddles, dark atmosphere"},{id:"kodak-portra-400",label:"Kodak 400",prompt:"shot on Kodak Portra 400, soft grain, golden\u2011hour warmth, 35 mm photo"},{id:"watercolor-storybook",label:"Watercolor",prompt:"loose watercolor washes, gentle gradients, dreamy storybook feel"},{id:"dark-fantasy-realism",label:"Dark Fantasy",prompt:"dark fantasy realm, moody chiaroscuro lighting, hyper\u2011real textures"},{id:"vaporwave-retrofuturism",label:"Vaporwave",prompt:"retro\u2011futuristic vaporwave, pastel sunset gradient, chrome text, VHS scanlines"},{id:"minimal-vector-flat",label:"Vector Flat",prompt:"minimalist flat vector illustration, bold geometry, two\u2011tone palette"},{id:"pixarstyle-3d-render",label:"3D Animation",prompt:"Pixar\u2011style 3D render, oversized eyes, subtle subsurface scattering, cinematic lighting"},{id:"ukiyoe-woodblock",label:"Ukiyo\u2011e",prompt:"ukiyo\u2011e woodblock print, Edo\u2011period style, visible washi texture, limited color ink"},{id:"surreal-dreamscape",label:"Surreal",prompt:"surreal dreamscape, floating objects, impossible architecture, vivid clouds"},{id:"steampunk-victorian",label:"Steampunk",prompt:"Victorian steampunk world, ornate brass gears, leather attire, atmospheric fog"},{id:"nightstreet-photo-bokeh",label:"Night Bokeh",prompt:"night\u2011time street shot, large aperture bokeh lights, candid urban mood"},{id:"comicbook-pop-art",label:"Pop Art",prompt:"classic comic\u2011book panel, halftone shading, exaggerated action lines, CMYK pop colors"}],Qs=(e,t)=>{let r=_e.map(n=>n.id==="none"?t.includeNone?{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/None.svg`}:void 0:{id:n.id,label:n.label,thumbUri:`${t.baseURL}/thumbnails/${n.id}.jpeg`}).filter(oe),i=new te(e,r),a=_e[0];return i.setAssetActive(a.id),i},Ws=(e,t)=>{t.cesdk.engine.asset.addSource(e),t.cesdk.ui.addAssetLibraryEntry({id:e.id,sourceIds:[e.id],gridItemHeight:"square",gridBackgroundType:"cover",cardLabel:({label:r})=>r,cardLabelPosition:()=>"below"})},Js=e=>{let{cesdk:t,modelKey:r,baseURL:i}=e,a=`${r}/styles`,u=Qs(a,{baseURL:i??"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/"});return Ws(u,{cesdk:t}),t.i18n.setTranslations({en:{[`${ee}.label`]:"Change Style",[`${ee}.description`]:"Apply different art styles to your image"}}),{id:Pe,type:"quick",kind:"image",label:`${ee}.label`,description:`${ee}.description`,enable:xt(),scopes:["fill/change"],render:({builder:y,experimental:g,generate:p,engine:s,close:b})=>{g.builder.Popover(`${Pe}.popover`,{label:`${ee}.label`,icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{y.Library(`${Pe}.popover.library`,{entries:[`${r}/styles`],onSelect:async w=>{try{let[I]=s.block.findAllSelected(),v=await tt(I,s,{throwErrorIfSvg:!0}),k=w.id,o=_e.find(({id:c})=>c===k);if(o==null)throw new Error(`Style not found: ${k}`);await p({prompt:o.prompt,uri:v}),b()}catch(I){console.error("Generation error:",I)}}})}})}}},$t=Js;function Nt(e){return async({cesdk:t})=>el(t,e)}function el(e,t){let r="open-ai/gpt-image-1/image2image";return e.ui.addIconSet("@imgly/plugin/formats",ae.Formats),St.get().register($t({cesdk:e,modelKey:r,baseURL:"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/"})),{id:r,kind:"image",name:"GPT Image 1",input:{panel:{type:"schema",document:Pt,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{...e!=null?Ct.ImageUrl("gpt-image-1",{cesdk:e}):{}},getBlockInput:async n=>{if(n.image_url==null||Array.isArray(n.image_url))throw new Error("Cannot process getBlockInput for multiple images");let{width:u,height:l}=await et(n.image_url,e.engine);return Promise.resolve({image:{width:u,height:l}})},userFlow:"placeholder"},quickActions:{supported:{"ly.img.gpt-image-1.changeStyleLibrary":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.editImage":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.swapBackground":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.createVariant":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.combineImages":{mapInput:n=>({prompt:n.prompt,image_url:n.uris,exportFromBlockIds:n.exportFromBlockIds})},"ly.img.remixPage":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})},"ly.img.remixPageWithPrompt":{mapInput:n=>({prompt:n.prompt,image_url:n.uri})}}}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(n,{abortSignal:u})=>{let l=new FormData;if(Array.isArray(n.image_url))n.exportFromBlockIds!=null?await Promise.all(n.exportFromBlockIds.map(async v=>{let k=await e.engine.block.export(v,Xs.Jpeg,{targetHeight:1024,targetWidth:1024});l.append("image[]",k,`image_${v}.jpeg`)})):await Promise.all(n.image_url.map(async v=>{let k=await e.engine.editor.getMimeType(v),o=await H(v,e.engine),d=await(await fetch(o)).blob();l.append("image[]",d,`image.${we(k)}`)}));else{let v=await e.engine.editor.getMimeType(n.image_url),k=await H(n.image_url,e.engine),c=await(await fetch(k)).blob();l.append("image",c,`image.${we(v)}`)}l.append("prompt",n.prompt),l.append("model","gpt-image-1"),l.append("size","auto"),l.append("n","1");let y=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),g=y?"https://api.openai.com/v1":t.proxyUrl,b=(await(await fetch(`${g}/images/edits`,{signal:u,method:"POST",headers:y?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`,...t.headers??{}}:{...t.headers??{}},body:l})).json()).data?.[0].b64_json;if(b==null)throw new Error("No image data returned");let w=ce(b,"image/png");return{kind:"image",url:URL.createObjectURL(w)}}}}}var tl={GptImage1:{Text2Image:Lt,Image2Image:Nt}},gu=tl;export{gu as default};
129
129
  /*! Bundled license information:
130
130
 
131
131
  @imgly/plugin-utils/dist/index.mjs: