@imgly/plugin-ai-image-generation-web 0.1.5 → 0.1.6

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.
@@ -2,7 +2,8 @@ import { Middleware, type Provider } from '@imgly/plugin-ai-generation-web';
2
2
  import CreativeEditorSDK from '@cesdk/cesdk-js';
3
3
  type GptImage1Input = {
4
4
  prompt: string;
5
- image_url: string;
5
+ image_url: string | string[];
6
+ exportFromBlockIds?: number[];
6
7
  };
7
8
  type GptImage1Output = {
8
9
  kind: 'image';
@@ -0,0 +1,14 @@
1
+ import CreativeEditorSDK from '@cesdk/cesdk-js';
2
+ import { CustomAssetSource } from '@imgly/plugin-utils';
3
+ export declare const STYLES: {
4
+ id: string;
5
+ label: string;
6
+ prompt: string;
7
+ }[];
8
+ export declare const createStyleAssetSource: (assetSourceId: string, options: {
9
+ baseURL: string;
10
+ includeNone?: boolean;
11
+ }) => CustomAssetSource;
12
+ export declare const addStyleAssetSource: (styleAssetSource: CustomAssetSource, options: {
13
+ cesdk: CreativeEditorSDK;
14
+ }) => void;
@@ -2,6 +2,7 @@ import { Middleware, type Provider } from '@imgly/plugin-ai-generation-web';
2
2
  import CreativeEditorSDK from '@cesdk/cesdk-js';
3
3
  type GptImage1Input = {
4
4
  prompt: string;
5
+ style?: string;
5
6
  size: 'auto' | '1024x1024' | '1536x1024' | '1024x1536';
6
7
  background: 'transparent' | 'opaque' | 'auto';
7
8
  };
@@ -1,4 +1,4 @@
1
- var xt=`
1
+ var Gt=`
2
2
  <svg>
3
3
  <symbol
4
4
  fill="none"
@@ -64,7 +64,7 @@ var xt=`
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
- `;var St=typeof global=="object"&&global&&global.Object===Object&&global,Fe=St,Et=typeof self=="object"&&self&&self.Object===Object&&self,Mt=Fe||Et||Function("return this")(),g=Mt,jt=g.Symbol,w=jt,Be=Object.prototype,Ot=Be.hasOwnProperty,$t=Be.toString,L=w?w.toStringTag:void 0;function _t(e){var t=Ot.call(e,L),r=e[L];try{e[L]=void 0;var n=!0}catch{}var i=$t.call(e);return n&&(t?e[L]=r:delete e[L]),i}var Lt=_t,Nt=Object.prototype,Dt=Nt.toString;function Pt(e){return Dt.call(e)}var Tt=Pt,zt="[object Null]",Ft="[object Undefined]",xe=w?w.toStringTag:void 0;function Bt(e){return e==null?e===void 0?Ft:zt:xe&&xe in Object(e)?Lt(e):Tt(e)}var T=Bt;function Ut(e){return e!=null&&typeof e=="object"}var de=Ut,zl=Array.isArray;function Vt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ue=Vt,Gt="[object AsyncFunction]",Rt="[object Function]",qt="[object GeneratorFunction]",Ht="[object Proxy]";function Qt(e){if(!Ue(e))return!1;var t=T(e);return t==Rt||t==qt||t==Gt||t==Ht}var Zt=Qt,Yt=g["__core-js_shared__"],ie=Yt,Se=function(){var e=/[^.]+$/.exec(ie&&ie.keys&&ie.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Wt(e){return!!Se&&Se in e}var Kt=Wt,Jt=Function.prototype,Xt=Jt.toString;function er(e){if(e!=null){try{return Xt.call(e)}catch{}try{return e+""}catch{}}return""}var y=er,tr=/[\\^$.*+?()[\]{}|]/g,rr=/^\[object .+?Constructor\]$/,nr=Function.prototype,ir=Object.prototype,or=nr.toString,ar=ir.hasOwnProperty,lr=RegExp("^"+or.call(ar).replace(tr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sr(e){if(!Ue(e)||Kt(e))return!1;var t=Zt(e)?lr:rr;return t.test(y(e))}var cr=sr;function ur(e,t){return e?.[t]}var dr=ur;function pr(e,t){var r=dr(e,t);return cr(r)?r:void 0}var I=pr,gr=I(g,"WeakMap"),ae=gr;function mr(e,t){return e===t||e!==e&&t!==t}var fr=mr,br=9007199254740991;function hr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=br}var yr=hr;var Fl=Object.prototype;var vr="[object Arguments]";function kr(e){return de(e)&&T(e)==vr}var Ee=kr,Ve=Object.prototype,wr=Ve.hasOwnProperty,Ir=Ve.propertyIsEnumerable,Bl=Ee(function(){return arguments}())?Ee:function(e){return de(e)&&wr.call(e,"callee")&&!Ir.call(e,"callee")};var Ge=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Me=Ge&&typeof module=="object"&&module&&!module.nodeType&&module,Ar=Me&&Me.exports===Ge,je=Ar?g.Buffer:void 0,Ul=je?je.isBuffer:void 0;var Cr="[object Arguments]",xr="[object Array]",Sr="[object Boolean]",Er="[object Date]",Mr="[object Error]",jr="[object Function]",Or="[object Map]",$r="[object Number]",_r="[object Object]",Lr="[object RegExp]",Nr="[object Set]",Dr="[object String]",Pr="[object WeakMap]",Tr="[object ArrayBuffer]",zr="[object DataView]",Fr="[object Float32Array]",Br="[object Float64Array]",Ur="[object Int8Array]",Vr="[object Int16Array]",Gr="[object Int32Array]",Rr="[object Uint8Array]",qr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",Qr="[object Uint32Array]",s={};s[Fr]=s[Br]=s[Ur]=s[Vr]=s[Gr]=s[Rr]=s[qr]=s[Hr]=s[Qr]=!0;s[Cr]=s[xr]=s[Tr]=s[Sr]=s[zr]=s[Er]=s[Mr]=s[jr]=s[Or]=s[$r]=s[_r]=s[Lr]=s[Nr]=s[Dr]=s[Pr]=!1;function Zr(e){return de(e)&&yr(e.length)&&!!s[T(e)]}var Yr=Zr;function Wr(e){return function(t){return e(t)}}var Kr=Wr,Re=typeof exports=="object"&&exports&&!exports.nodeType&&exports,N=Re&&typeof module=="object"&&module&&!module.nodeType&&module,Jr=N&&N.exports===Re,oe=Jr&&Fe.process,Xr=function(){try{var e=N&&N.require&&N.require("util").types;return e||oe&&oe.binding&&oe.binding("util")}catch{}}(),Oe=Xr,$e=Oe&&Oe.isTypedArray,Vl=$e?Kr($e):Yr;var en=Object.prototype,Gl=en.hasOwnProperty;function tn(e,t){return function(r){return e(t(r))}}var rn=tn,Rl=rn(Object.keys,Object);var nn=Object.prototype,ql=nn.hasOwnProperty;var on=I(Object,"create"),D=on;function an(){this.__data__=D?D(null):{},this.size=0}var ln=an;function sn(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var cn=sn,un="__lodash_hash_undefined__",dn=Object.prototype,pn=dn.hasOwnProperty;function gn(e){var t=this.__data__;if(D){var r=t[e];return r===un?void 0:r}return pn.call(t,e)?t[e]:void 0}var mn=gn,fn=Object.prototype,bn=fn.hasOwnProperty;function hn(e){var t=this.__data__;return D?t[e]!==void 0:bn.call(t,e)}var yn=hn,vn="__lodash_hash_undefined__";function kn(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=D&&t===void 0?vn:t,this}var wn=kn;function A(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}A.prototype.clear=ln;A.prototype.delete=cn;A.prototype.get=mn;A.prototype.has=yn;A.prototype.set=wn;var _e=A;function In(){this.__data__=[],this.size=0}var An=In;function Cn(e,t){for(var r=e.length;r--;)if(fr(e[r][0],t))return r;return-1}var H=Cn,xn=Array.prototype,Sn=xn.splice;function En(e){var t=this.__data__,r=H(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():Sn.call(t,r,1),--this.size,!0}var Mn=En;function jn(e){var t=this.__data__,r=H(t,e);return r<0?void 0:t[r][1]}var On=jn;function $n(e){return H(this.__data__,e)>-1}var _n=$n;function Ln(e,t){var r=this.__data__,n=H(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var Nn=Ln;function C(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}C.prototype.clear=An;C.prototype.delete=Mn;C.prototype.get=On;C.prototype.has=_n;C.prototype.set=Nn;var Q=C,Dn=I(g,"Map"),P=Dn;function Pn(){this.size=0,this.__data__={hash:new _e,map:new(P||Q),string:new _e}}var Tn=Pn;function zn(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Fn=zn;function Bn(e,t){var r=e.__data__;return Fn(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Z=Bn;function Un(e){var t=Z(this,e).delete(e);return this.size-=t?1:0,t}var Vn=Un;function Gn(e){return Z(this,e).get(e)}var Rn=Gn;function qn(e){return Z(this,e).has(e)}var Hn=qn;function Qn(e,t){var r=Z(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var Zn=Qn;function x(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}x.prototype.clear=Tn;x.prototype.delete=Vn;x.prototype.get=Rn;x.prototype.has=Hn;x.prototype.set=Zn;var qe=x;function Yn(){this.__data__=new Q,this.size=0}var Wn=Yn;function Kn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Jn=Kn;function Xn(e){return this.__data__.get(e)}var ei=Xn;function ti(e){return this.__data__.has(e)}var ri=ti,ni=200;function ii(e,t){var r=this.__data__;if(r instanceof Q){var n=r.__data__;if(!P||n.length<ni-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new qe(n)}return r.set(e,t),this.size=r.size,this}var oi=ii;function z(e){var t=this.__data__=new Q(e);this.size=t.size}z.prototype.clear=Wn;z.prototype.delete=Jn;z.prototype.get=ei;z.prototype.has=ri;z.prototype.set=oi;var ai=Object.prototype,Hl=ai.propertyIsEnumerable;var li=I(g,"DataView"),le=li,si=I(g,"Promise"),se=si,ci=I(g,"Set"),ce=ci,Le="[object Map]",ui="[object Object]",Ne="[object Promise]",De="[object Set]",Pe="[object WeakMap]",Te="[object DataView]",di=y(le),pi=y(P),gi=y(se),mi=y(ce),fi=y(ae),k=T;(le&&k(new le(new ArrayBuffer(1)))!=Te||P&&k(new P)!=Le||se&&k(se.resolve())!=Ne||ce&&k(new ce)!=De||ae&&k(new ae)!=Pe)&&(k=function(e){var t=T(e),r=t==ui?e.constructor:void 0,n=r?y(r):"";if(n)switch(n){case di:return Te;case pi:return Le;case gi:return Ne;case mi:return De;case fi:return Pe}return t});var Ql=g.Uint8Array;var bi="__lodash_hash_undefined__";function hi(e){return this.__data__.set(e,bi),this}var yi=hi;function vi(e){return this.__data__.has(e)}var ki=vi;function ue(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new qe;++t<r;)this.add(e[t])}ue.prototype.add=ue.prototype.push=yi;ue.prototype.has=ki;var ze=w?w.prototype:void 0,Zl=ze?ze.valueOf:void 0;var wi=Object.prototype,Yl=wi.hasOwnProperty;var Ii=Object.prototype,Wl=Ii.hasOwnProperty;var Kl=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Jl=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Xl=new RegExp(/[A-Fa-f0-9]{2}/,"g");function He(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function pe(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),n=t.editor.getBufferLength(e),i=t.editor.getBufferData(e,0,n),o=new Blob([i],{type:r});return URL.createObjectURL(o)}else return e}async function Qe(e,t){let r=await pe(e,t);return new Promise((n,i)=>{let o=new Image;o.onload=()=>{n({width:o.width,height:o.height})},o.onerror=i,o.src=r})}var Y={Formats:xt};var Ze={openapi:"3.0.0",components:{schemas:{GptImage1Input:{title:"TextToImageInput",type:"object",properties:{prompt:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},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","size","background"],required:["prompt"]}}}};function W(e,t){let r=e.split(",")[1]||e,n=atob(r),i=[];for(let l=0;l<n.length;l++)i.push(n.charCodeAt(l));let o=new Uint8Array(i);return new Blob([o],{type:t})}function Ye(e){return async({cesdk:t})=>Ci(t,e)}function Ci(e,t){return e.ui.addIconSet("@imgly/plugin/formats",Y.Formats),{id:"open-ai/gpt-image-1/text2image",kind:"image",name:"gpt-image-1",input:{panel:{type:"schema",document:Ze,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",getBlockInput:n=>{switch(n.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.middleware??[],generate:async(n,{abortSignal:i})=>{let l=(await(await fetch(`${t.proxyUrl}/images/generations`,{signal:i,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:"gpt-image-1",prompt:n.prompt,n:1,size:n.size,background:n.background})})).json()).data?.[0].b64_json;if(l==null)throw new Error("No image data returned");let p=W(l,"image/png");return{kind:"image",url:URL.createObjectURL(p)}}}}}function xi(e,t){let{cesdk:r}=t,n=t.propertyKey??"image_url";return Si(e,r),{[n]:(i,o)=>{let{builder:a,experimental:{global:l},payload:p}=i,f=p?.url??t.defaultUrl,b=l(`${e}.${o.id}`,f);return a.MediaPreview(o.id,{preview:{type:"image",uri:b.value},action:{label:"Select Image",onClick:()=>{if(r==null)return;let h=be(e);r.ui.openPanel(h,{payload:{onSelect:u=>{u.meta?.uri!=null&&b.setValue(u.meta?.uri)}}})}}}),()=>({id:o.id,type:"string",value:b.value})}}}function Si(e,t){t?.ui.registerPanel(be(e),({builder:r,payload:n})=>{r.Library(`${e}.library.image`,{entries:["ly.img.image"],onSelect:async i=>{let o=i?.meta?.uri;if(o==null)return;let a=await t.engine.editor.getMimeType(o);a==="image/svg+xml"?t.ui.showNotification({type:"warning",message:"SVG images are not supported. Please choose a different image."}):a.startsWith("image/")?(n?.onSelect(i),t?.ui.closePanel(be(e))):t.ui.showNotification({type:"warning",message:`Only images are supported. Found '${a}'. Please choose a different image.`})}})})}function be(e){return`ly.img.ai/${e}.imageSelection`}var Ei=xi;var Mi=typeof global=="object"&&global&&global.Object===Object&&global,dt=Mi,ji=typeof self=="object"&&self&&self.Object===Object&&self,Oi=dt||ji||Function("return this")(),m=Oi,$i=m.Symbol,E=$i,pt=Object.prototype,_i=pt.hasOwnProperty,Li=pt.toString,F=E?E.toStringTag:void 0;function Ni(e){var t=_i.call(e,F),r=e[F];try{e[F]=void 0;var n=!0}catch{}var i=Li.call(e);return n&&(t?e[F]=r:delete e[F]),i}var Di=Ni,Pi=Object.prototype,Ti=Pi.toString;function zi(e){return Ti.call(e)}var Fi=zi,Bi="[object Null]",Ui="[object Undefined]",We=E?E.toStringTag:void 0;function Vi(e){return e==null?e===void 0?Ui:Bi:We&&We in Object(e)?Di(e):Fi(e)}var R=Vi;function Gi(e){return e!=null&&typeof e=="object"}var Ie=Gi,ls=Array.isArray;function Ri(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var gt=Ri,qi="[object AsyncFunction]",Hi="[object Function]",Qi="[object GeneratorFunction]",Zi="[object Proxy]";function Yi(e){if(!gt(e))return!1;var t=R(e);return t==Hi||t==Qi||t==qi||t==Zi}var Wi=Yi,Ki=m["__core-js_shared__"],ge=Ki,Ke=function(){var e=/[^.]+$/.exec(ge&&ge.keys&&ge.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ji(e){return!!Ke&&Ke in e}var Xi=Ji,eo=Function.prototype,to=eo.toString;function ro(e){if(e!=null){try{return to.call(e)}catch{}try{return e+""}catch{}}return""}var v=ro,no=/[\\^$.*+?()[\]{}|]/g,io=/^\[object .+?Constructor\]$/,oo=Function.prototype,ao=Object.prototype,lo=oo.toString,so=ao.hasOwnProperty,co=RegExp("^"+lo.call(so).replace(no,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function uo(e){if(!gt(e)||Xi(e))return!1;var t=Wi(e)?co:io;return t.test(v(e))}var po=uo;function go(e,t){return e?.[t]}var mo=go;function fo(e,t){var r=mo(e,t);return po(r)?r:void 0}var M=fo,bo=M(m,"WeakMap"),he=bo;function ho(e,t){return e===t||e!==e&&t!==t}var yo=ho,vo=9007199254740991;function ko(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=vo}var wo=ko,ss=Object.prototype,Io="[object Arguments]";function Ao(e){return Ie(e)&&R(e)==Io}var Je=Ao,mt=Object.prototype,Co=mt.hasOwnProperty,xo=mt.propertyIsEnumerable,cs=Je(function(){return arguments}())?Je:function(e){return Ie(e)&&Co.call(e,"callee")&&!xo.call(e,"callee")},ft=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Xe=ft&&typeof module=="object"&&module&&!module.nodeType&&module,So=Xe&&Xe.exports===ft,et=So?m.Buffer:void 0,us=et?et.isBuffer:void 0,Eo="[object Arguments]",Mo="[object Array]",jo="[object Boolean]",Oo="[object Date]",$o="[object Error]",_o="[object Function]",Lo="[object Map]",No="[object Number]",Do="[object Object]",Po="[object RegExp]",To="[object Set]",zo="[object String]",Fo="[object WeakMap]",Bo="[object ArrayBuffer]",Uo="[object DataView]",Vo="[object Float32Array]",Go="[object Float64Array]",Ro="[object Int8Array]",qo="[object Int16Array]",Ho="[object Int32Array]",Qo="[object Uint8Array]",Zo="[object Uint8ClampedArray]",Yo="[object Uint16Array]",Wo="[object Uint32Array]",c={};c[Vo]=c[Go]=c[Ro]=c[qo]=c[Ho]=c[Qo]=c[Zo]=c[Yo]=c[Wo]=!0;c[Eo]=c[Mo]=c[Bo]=c[jo]=c[Uo]=c[Oo]=c[$o]=c[_o]=c[Lo]=c[No]=c[Do]=c[Po]=c[To]=c[zo]=c[Fo]=!1;function Ko(e){return Ie(e)&&wo(e.length)&&!!c[R(e)]}var Jo=Ko;function Xo(e){return function(t){return e(t)}}var ea=Xo,bt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,U=bt&&typeof module=="object"&&module&&!module.nodeType&&module,ta=U&&U.exports===bt,me=ta&&dt.process,ra=function(){try{var e=U&&U.require&&U.require("util").types;return e||me&&me.binding&&me.binding("util")}catch{}}(),tt=ra,rt=tt&&tt.isTypedArray,ds=rt?ea(rt):Jo,na=Object.prototype,ps=na.hasOwnProperty;function ia(e,t){return function(r){return e(t(r))}}var oa=ia,gs=oa(Object.keys,Object),aa=Object.prototype,ms=aa.hasOwnProperty,la=M(Object,"create"),V=la;function sa(){this.__data__=V?V(null):{},this.size=0}var ca=sa;function ua(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var da=ua,pa="__lodash_hash_undefined__",ga=Object.prototype,ma=ga.hasOwnProperty;function fa(e){var t=this.__data__;if(V){var r=t[e];return r===pa?void 0:r}return ma.call(t,e)?t[e]:void 0}var ba=fa,ha=Object.prototype,ya=ha.hasOwnProperty;function va(e){var t=this.__data__;return V?t[e]!==void 0:ya.call(t,e)}var ka=va,wa="__lodash_hash_undefined__";function Ia(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=V&&t===void 0?wa:t,this}var Aa=Ia;function j(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}j.prototype.clear=ca;j.prototype.delete=da;j.prototype.get=ba;j.prototype.has=ka;j.prototype.set=Aa;var nt=j;function Ca(){this.__data__=[],this.size=0}var xa=Ca;function Sa(e,t){for(var r=e.length;r--;)if(yo(e[r][0],t))return r;return-1}var K=Sa,Ea=Array.prototype,Ma=Ea.splice;function ja(e){var t=this.__data__,r=K(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():Ma.call(t,r,1),--this.size,!0}var Oa=ja;function $a(e){var t=this.__data__,r=K(t,e);return r<0?void 0:t[r][1]}var _a=$a;function La(e){return K(this.__data__,e)>-1}var Na=La;function Da(e,t){var r=this.__data__,n=K(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var Pa=Da;function O(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}O.prototype.clear=xa;O.prototype.delete=Oa;O.prototype.get=_a;O.prototype.has=Na;O.prototype.set=Pa;var J=O,Ta=M(m,"Map"),G=Ta;function za(){this.size=0,this.__data__={hash:new nt,map:new(G||J),string:new nt}}var Fa=za;function Ba(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ua=Ba;function Va(e,t){var r=e.__data__;return Ua(t)?r[typeof t=="string"?"string":"hash"]:r.map}var X=Va;function Ga(e){var t=X(this,e).delete(e);return this.size-=t?1:0,t}var Ra=Ga;function qa(e){return X(this,e).get(e)}var Ha=qa;function Qa(e){return X(this,e).has(e)}var Za=Qa;function Ya(e,t){var r=X(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var Wa=Ya;function $(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}$.prototype.clear=Fa;$.prototype.delete=Ra;$.prototype.get=Ha;$.prototype.has=Za;$.prototype.set=Wa;var ht=$;function Ka(){this.__data__=new J,this.size=0}var Ja=Ka;function Xa(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var el=Xa;function tl(e){return this.__data__.get(e)}var rl=tl;function nl(e){return this.__data__.has(e)}var il=nl,ol=200;function al(e,t){var r=this.__data__;if(r instanceof J){var n=r.__data__;if(!G||n.length<ol-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ht(n)}return r.set(e,t),this.size=r.size,this}var ll=al;function q(e){var t=this.__data__=new J(e);this.size=t.size}q.prototype.clear=Ja;q.prototype.delete=el;q.prototype.get=rl;q.prototype.has=il;q.prototype.set=ll;var sl=Object.prototype,fs=sl.propertyIsEnumerable,cl=M(m,"DataView"),ye=cl,ul=M(m,"Promise"),ve=ul,dl=M(m,"Set"),ke=dl,it="[object Map]",pl="[object Object]",ot="[object Promise]",at="[object Set]",lt="[object WeakMap]",st="[object DataView]",gl=v(ye),ml=v(G),fl=v(ve),bl=v(ke),hl=v(he),S=R;(ye&&S(new ye(new ArrayBuffer(1)))!=st||G&&S(new G)!=it||ve&&S(ve.resolve())!=ot||ke&&S(new ke)!=at||he&&S(new he)!=lt)&&(S=function(e){var t=R(e),r=t==pl?e.constructor:void 0,n=r?v(r):"";if(n)switch(n){case gl:return st;case ml:return it;case fl:return ot;case bl:return at;case hl:return lt}return t});var bs=m.Uint8Array,yl="__lodash_hash_undefined__";function vl(e){return this.__data__.set(e,yl),this}var kl=vl;function wl(e){return this.__data__.has(e)}var Il=wl;function we(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ht;++t<r;)this.add(e[t])}we.prototype.add=we.prototype.push=kl;we.prototype.has=Il;var ct=E?E.prototype:void 0,hs=ct?ct.valueOf:void 0,Al=Object.prototype,ys=Al.hasOwnProperty,Cl=Object.prototype,vs=Cl.hasOwnProperty,ks=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),ws=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Is=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function xl(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),n=t.editor.getBufferLength(e),i=t.editor.getBufferData(e,0,n),o=new Blob([i],{type:r});return URL.createObjectURL(o)}else return e}async function ee(e,t,r){let n,i=t.block.getFill(e),o=t.block.getSourceSet(i,"fill/image/sourceSet"),[a]=o;if(a==null){if(n=t.block.getString(i,"fill/image/imageFileURI"),n==null)throw new Error("No image source/uri found")}else n=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(n)==="image/svg+xml")throw new Error("SVG images are not supported");return xl(n,t)}var fe="@imgly/plugin-ai-generation",As=`
67
+ `,Je=class{constructor(e,t=[]){this.id=e,this.assets=t.map(r=>{if(typeof r.label=="string"&&!(r.label&&typeof r.label=="object")){let n=r;return{id:n.id,label:{en:n.label},meta:n.thumbUri?{thumbUri:n.thumbUri}:void 0}}return r}),this.activeAssetIds=new Set}async findAssets(e){let{page:t,perPage:r,locale:n="en",sortActiveFirst:i,query:o,tags:a,groups:l,excludeGroups:d,sortingOrder:c,sortKey:s}=e,u=[...this.assets];if(l&&l.length>0&&(u=u.filter(g=>g.groups&&l.some(v=>g.groups?.includes(v)))),d&&d.length>0&&(u=u.filter(g=>!g.groups||!d.some(v=>g.groups?.includes(v)))),o){let g=o.toLowerCase();u=u.filter(v=>{let w=v.label?.[n]?.toLowerCase(),y=v.tags?.[n]||[];return w&&w.includes(g)||y.some(x=>x.toLowerCase().includes(g))})}if(a&&a.length>0){let g=Array.isArray(a)?a:[a];u=u.filter(v=>{let w=v.tags?.[n]||[];return g.some(y=>w.includes(y))})}i&&u.sort((g,v)=>{let w=this.activeAssetIds.has(g.id),y=this.activeAssetIds.has(v.id);return w&&!y?-1:!w&&y?1:0}),s&&s!=="id"?u.sort((g,v)=>{let w=g.meta?.[s],y=v.meta?.[s];return w===void 0?1:y===void 0?-1:typeof w=="string"&&typeof y=="string"?c==="Descending"?y.localeCompare(w):w.localeCompare(y):typeof w=="number"&&typeof y=="number"?c==="Descending"?y-w:w-y:0}):s==="id"&&u.sort((g,v)=>c==="Descending"?v.id.localeCompare(g.id):g.id.localeCompare(v.id));let p=u.length,m=t*r,k=m+r,h=u.slice(m,k).map(g=>({id:g.id,groups:g.groups,meta:g.meta,payload:g.payload,locale:n,label:g.label?.[n],tags:g.tags?.[n],active:this.activeAssetIds.has(g.id)})),I=k<p?t+1:void 0;return{assets:h,currentPage:t,nextPage:I,total:p}}updateLabel(e,t,r){this.assets.forEach(n=>{n.id===e&&(n.label=n.label||{},n.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 qt=typeof global=="object"&&global&&global.Object===Object&&global,Xe=qt,Qt=typeof self=="object"&&self&&self.Object===Object&&self,Ht=Xe||Qt||Function("return this")(),A=Ht,Yt=A.Symbol,O=Yt,et=Object.prototype,Zt=et.hasOwnProperty,Wt=et.toString,G=O?O.toStringTag:void 0;function Kt(e){var t=Zt.call(e,G),r=e[G];try{e[G]=void 0;var n=!0}catch{}var i=Wt.call(e);return n&&(t?e[G]=r:delete e[G]),i}var Jt=Kt,Xt=Object.prototype,er=Xt.toString;function tr(e){return er.call(e)}var rr=tr,nr="[object Null]",ir="[object Undefined]",Be=O?O.toStringTag:void 0;function or(e){return e==null?e===void 0?ir:nr:Be&&Be in Object(e)?Jt(e):rr(e)}var Y=or;function ar(e){return e!=null&&typeof e=="object"}var Ie=ar,cs=Array.isArray;function lr(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var tt=lr,sr="[object AsyncFunction]",cr="[object Function]",ur="[object GeneratorFunction]",dr="[object Proxy]";function pr(e){if(!tt(e))return!1;var t=Y(e);return t==cr||t==ur||t==sr||t==dr}var gr=pr,mr=A["__core-js_shared__"],be=mr,Fe=function(){var e=/[^.]+$/.exec(be&&be.keys&&be.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function br(e){return!!Fe&&Fe in e}var fr=br,hr=Function.prototype,yr=hr.toString;function kr(e){if(e!=null){try{return yr.call(e)}catch{}try{return e+""}catch{}}return""}var E=kr,vr=/[\\^$.*+?()[\]{}|]/g,wr=/^\[object .+?Constructor\]$/,Ir=Function.prototype,Ar=Object.prototype,Sr=Ir.toString,Cr=Ar.hasOwnProperty,xr=RegExp("^"+Sr.call(Cr).replace(vr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Er(e){if(!tt(e)||fr(e))return!1;var t=gr(e)?xr:wr;return t.test(E(e))}var Mr=Er;function jr(e,t){return e?.[t]}var Pr=jr;function $r(e,t){var r=Pr(e,t);return Mr(r)?r:void 0}var L=$r,Or=L(A,"WeakMap"),he=Or;function Lr(e,t){return e===t||e!==e&&t!==t}var _r=Lr,Nr=9007199254740991;function Dr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Nr}var Tr=Dr;var us=Object.prototype;var Br="[object Arguments]";function Fr(e){return Ie(e)&&Y(e)==Br}var ze=Fr,rt=Object.prototype,zr=rt.hasOwnProperty,Ur=rt.propertyIsEnumerable,ds=ze(function(){return arguments}())?ze:function(e){return Ie(e)&&zr.call(e,"callee")&&!Ur.call(e,"callee")};var nt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ue=nt&&typeof module=="object"&&module&&!module.nodeType&&module,Vr=Ue&&Ue.exports===nt,Ve=Vr?A.Buffer:void 0,ps=Ve?Ve.isBuffer:void 0;var Rr="[object Arguments]",Gr="[object Array]",qr="[object Boolean]",Qr="[object Date]",Hr="[object Error]",Yr="[object Function]",Zr="[object Map]",Wr="[object Number]",Kr="[object Object]",Jr="[object RegExp]",Xr="[object Set]",en="[object String]",tn="[object WeakMap]",rn="[object ArrayBuffer]",nn="[object DataView]",on="[object Float32Array]",an="[object Float64Array]",ln="[object Int8Array]",sn="[object Int16Array]",cn="[object Int32Array]",un="[object Uint8Array]",dn="[object Uint8ClampedArray]",pn="[object Uint16Array]",gn="[object Uint32Array]",b={};b[on]=b[an]=b[ln]=b[sn]=b[cn]=b[un]=b[dn]=b[pn]=b[gn]=!0;b[Rr]=b[Gr]=b[rn]=b[qr]=b[nn]=b[Qr]=b[Hr]=b[Yr]=b[Zr]=b[Wr]=b[Kr]=b[Jr]=b[Xr]=b[en]=b[tn]=!1;function mn(e){return Ie(e)&&Tr(e.length)&&!!b[Y(e)]}var bn=mn;function fn(e){return function(t){return e(t)}}var hn=fn,it=typeof exports=="object"&&exports&&!exports.nodeType&&exports,q=it&&typeof module=="object"&&module&&!module.nodeType&&module,yn=q&&q.exports===it,fe=yn&&Xe.process,kn=function(){try{var e=q&&q.require&&q.require("util").types;return e||fe&&fe.binding&&fe.binding("util")}catch{}}(),Re=kn,Ge=Re&&Re.isTypedArray,gs=Ge?hn(Ge):bn;var vn=Object.prototype,ms=vn.hasOwnProperty;function wn(e,t){return function(r){return e(t(r))}}var In=wn,bs=In(Object.keys,Object);var An=Object.prototype,fs=An.hasOwnProperty;var Sn=L(Object,"create"),Q=Sn;function Cn(){this.__data__=Q?Q(null):{},this.size=0}var xn=Cn;function En(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Mn=En,jn="__lodash_hash_undefined__",Pn=Object.prototype,$n=Pn.hasOwnProperty;function On(e){var t=this.__data__;if(Q){var r=t[e];return r===jn?void 0:r}return $n.call(t,e)?t[e]:void 0}var Ln=On,_n=Object.prototype,Nn=_n.hasOwnProperty;function Dn(e){var t=this.__data__;return Q?t[e]!==void 0:Nn.call(t,e)}var Tn=Dn,Bn="__lodash_hash_undefined__";function Fn(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Q&&t===void 0?Bn:t,this}var zn=Fn;function _(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}_.prototype.clear=xn;_.prototype.delete=Mn;_.prototype.get=Ln;_.prototype.has=Tn;_.prototype.set=zn;var qe=_;function Un(){this.__data__=[],this.size=0}var Vn=Un;function Rn(e,t){for(var r=e.length;r--;)if(_r(e[r][0],t))return r;return-1}var oe=Rn,Gn=Array.prototype,qn=Gn.splice;function Qn(e){var t=this.__data__,r=oe(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():qn.call(t,r,1),--this.size,!0}var Hn=Qn;function Yn(e){var t=this.__data__,r=oe(t,e);return r<0?void 0:t[r][1]}var Zn=Yn;function Wn(e){return oe(this.__data__,e)>-1}var Kn=Wn;function Jn(e,t){var r=this.__data__,n=oe(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var Xn=Jn;function N(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}N.prototype.clear=Vn;N.prototype.delete=Hn;N.prototype.get=Zn;N.prototype.has=Kn;N.prototype.set=Xn;var ae=N,ei=L(A,"Map"),H=ei;function ti(){this.size=0,this.__data__={hash:new qe,map:new(H||ae),string:new qe}}var ri=ti;function ni(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ii=ni;function oi(e,t){var r=e.__data__;return ii(t)?r[typeof t=="string"?"string":"hash"]:r.map}var le=oi;function ai(e){var t=le(this,e).delete(e);return this.size-=t?1:0,t}var li=ai;function si(e){return le(this,e).get(e)}var ci=si;function ui(e){return le(this,e).has(e)}var di=ui;function pi(e,t){var r=le(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var gi=pi;function D(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}D.prototype.clear=ri;D.prototype.delete=li;D.prototype.get=ci;D.prototype.has=di;D.prototype.set=gi;var ot=D;function mi(){this.__data__=new ae,this.size=0}var bi=mi;function fi(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var hi=fi;function yi(e){return this.__data__.get(e)}var ki=yi;function vi(e){return this.__data__.has(e)}var wi=vi,Ii=200;function Ai(e,t){var r=this.__data__;if(r instanceof ae){var n=r.__data__;if(!H||n.length<Ii-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ot(n)}return r.set(e,t),this.size=r.size,this}var Si=Ai;function Z(e){var t=this.__data__=new ae(e);this.size=t.size}Z.prototype.clear=bi;Z.prototype.delete=hi;Z.prototype.get=ki;Z.prototype.has=wi;Z.prototype.set=Si;var Ci=Object.prototype,hs=Ci.propertyIsEnumerable;var xi=L(A,"DataView"),ye=xi,Ei=L(A,"Promise"),ke=Ei,Mi=L(A,"Set"),ve=Mi,Qe="[object Map]",ji="[object Object]",He="[object Promise]",Ye="[object Set]",Ze="[object WeakMap]",We="[object DataView]",Pi=E(ye),$i=E(H),Oi=E(ke),Li=E(ve),_i=E(he),$=Y;(ye&&$(new ye(new ArrayBuffer(1)))!=We||H&&$(new H)!=Qe||ke&&$(ke.resolve())!=He||ve&&$(new ve)!=Ye||he&&$(new he)!=Ze)&&($=function(e){var t=Y(e),r=t==ji?e.constructor:void 0,n=r?E(r):"";if(n)switch(n){case Pi:return We;case $i:return Qe;case Oi:return He;case Li:return Ye;case _i:return Ze}return t});var ys=A.Uint8Array;var Ni="__lodash_hash_undefined__";function Di(e){return this.__data__.set(e,Ni),this}var Ti=Di;function Bi(e){return this.__data__.has(e)}var Fi=Bi;function we(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ot;++t<r;)this.add(e[t])}we.prototype.add=we.prototype.push=Ti;we.prototype.has=Fi;var Ke=O?O.prototype:void 0,ks=Ke?Ke.valueOf:void 0;var zi=Object.prototype,vs=zi.hasOwnProperty;var Ui=Object.prototype,ws=Ui.hasOwnProperty;var Is=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),As=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ss=new RegExp(/[A-Fa-f0-9]{2}/,"g");function Ae(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function W(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),n=t.editor.getBufferLength(e),i=t.editor.getBufferData(e,0,n),o=new Blob([i],{type:r});return URL.createObjectURL(o)}else return e}async function at(e,t){let r=await W(e,t);return new Promise((n,i)=>{let o=new Image;o.onload=()=>{n({width:o.width,height:o.height})},o.onerror=i,o.src=r})}async function Se(e,t,r){let n,i=t.block.getFill(e),o=t.block.getSourceSet(i,"fill/image/sourceSet"),[a]=o;if(a==null){if(n=t.block.getString(i,"fill/image/imageFileURI"),n==null)throw new Error("No image source/uri found")}else n=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(n)==="image/svg+xml")throw new Error("SVG images are not supported");return W(n,t)}function Vi(e){return e!==void 0}var lt=Vi,se={Formats:Gt};function Ri(e,t){let{cesdk:r}=t,n=t.propertyKey??"image_url",i=Me(e);return r.i18n.setTranslations({en:{[`panel.${i}`]:"Select Image To Change"}}),Gi(e,r),{[n]:(o,a)=>{let{builder:l,experimental:{global:d},payload:c}=o,s=c?.url??t.defaultUrl,u=d(`${e}.${a.id}`,s);return l.MediaPreview(a.id,{preview:{type:"image",uri:u.value},action:{label:"Select Image",onClick:()=>{r?.ui.openPanel(i,{payload:{onSelect:p=>{p.meta?.uri!=null&&u.setValue(p.meta?.uri)}}})}}}),()=>({id:a.id,type:"string",value:u.value})}}}function Gi(e,t){t?.ui.registerPanel(Me(e),({builder:r,payload:n})=>{r.Library(`${e}.library.image`,{entries:["ly.img.image"],onSelect:async i=>{let o=i?.meta?.uri;if(o==null)return;let a=await t.engine.editor.getMimeType(o);a==="image/svg+xml"?t.ui.showNotification({type:"warning",message:"SVG images are not supported. Please choose a different image."}):a.startsWith("image/")?(n?.onSelect(i),t?.ui.closePanel(Me(e))):t.ui.showNotification({type:"warning",message:`Only images are supported. Found '${a}'. Please choose a different image.`})}})})}function Me(e){return`ly.img.ai/${e}.imageSelection`}var qi=Ri;var Qi="ly.img.ai";function re(e){return`${Qi}/${e}`}var Hi=typeof global=="object"&&global&&global.Object===Object&&global,At=Hi,Yi=typeof self=="object"&&self&&self.Object===Object&&self,Zi=At||Yi||Function("return this")(),S=Zi,Wi=S.Symbol,B=Wi,St=Object.prototype,Ki=St.hasOwnProperty,Ji=St.toString,K=B?B.toStringTag:void 0;function Xi(e){var t=Ki.call(e,K),r=e[K];try{e[K]=void 0;var n=!0}catch{}var i=Ji.call(e);return n&&(t?e[K]=r:delete e[K]),i}var eo=Xi,to=Object.prototype,ro=to.toString;function no(e){return ro.call(e)}var io=no,oo="[object Null]",ao="[object Undefined]",st=B?B.toStringTag:void 0;function lo(e){return e==null?e===void 0?ao:oo:st&&st in Object(e)?eo(e):io(e)}var ne=lo;function so(e){return e!=null&&typeof e=="object"}var _e=so,Es=Array.isArray;function co(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ct=co,uo="[object AsyncFunction]",po="[object Function]",go="[object GeneratorFunction]",mo="[object Proxy]";function bo(e){if(!Ct(e))return!1;var t=ne(e);return t==po||t==go||t==uo||t==mo}var fo=bo,ho=S["__core-js_shared__"],Ce=ho,ct=function(){var e=/[^.]+$/.exec(Ce&&Ce.keys&&Ce.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function yo(e){return!!ct&&ct in e}var ko=yo,vo=Function.prototype,wo=vo.toString;function Io(e){if(e!=null){try{return wo.call(e)}catch{}try{return e+""}catch{}}return""}var M=Io,Ao=/[\\^$.*+?()[\]{}|]/g,So=/^\[object .+?Constructor\]$/,Co=Function.prototype,xo=Object.prototype,Eo=Co.toString,Mo=xo.hasOwnProperty,jo=RegExp("^"+Eo.call(Mo).replace(Ao,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Po(e){if(!Ct(e)||ko(e))return!1;var t=fo(e)?jo:So;return t.test(M(e))}var $o=Po;function Oo(e,t){return e?.[t]}var Lo=Oo;function _o(e,t){var r=Lo(e,t);return $o(r)?r:void 0}var F=_o,No=F(S,"WeakMap"),je=No;function Do(e,t){return e===t||e!==e&&t!==t}var To=Do,Bo=9007199254740991;function Fo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Bo}var zo=Fo,Ms=Object.prototype,Uo="[object Arguments]";function Vo(e){return _e(e)&&ne(e)==Uo}var ut=Vo,xt=Object.prototype,Ro=xt.hasOwnProperty,Go=xt.propertyIsEnumerable,js=ut(function(){return arguments}())?ut:function(e){return _e(e)&&Ro.call(e,"callee")&&!Go.call(e,"callee")},Et=typeof exports=="object"&&exports&&!exports.nodeType&&exports,dt=Et&&typeof module=="object"&&module&&!module.nodeType&&module,qo=dt&&dt.exports===Et,pt=qo?S.Buffer:void 0,Ps=pt?pt.isBuffer:void 0,Qo="[object Arguments]",Ho="[object Array]",Yo="[object Boolean]",Zo="[object Date]",Wo="[object Error]",Ko="[object Function]",Jo="[object Map]",Xo="[object Number]",ea="[object Object]",ta="[object RegExp]",ra="[object Set]",na="[object String]",ia="[object WeakMap]",oa="[object ArrayBuffer]",aa="[object DataView]",la="[object Float32Array]",sa="[object Float64Array]",ca="[object Int8Array]",ua="[object Int16Array]",da="[object Int32Array]",pa="[object Uint8Array]",ga="[object Uint8ClampedArray]",ma="[object Uint16Array]",ba="[object Uint32Array]",f={};f[la]=f[sa]=f[ca]=f[ua]=f[da]=f[pa]=f[ga]=f[ma]=f[ba]=!0;f[Qo]=f[Ho]=f[oa]=f[Yo]=f[aa]=f[Zo]=f[Wo]=f[Ko]=f[Jo]=f[Xo]=f[ea]=f[ta]=f[ra]=f[na]=f[ia]=!1;function fa(e){return _e(e)&&zo(e.length)&&!!f[ne(e)]}var ha=fa;function ya(e){return function(t){return e(t)}}var ka=ya,Mt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,X=Mt&&typeof module=="object"&&module&&!module.nodeType&&module,va=X&&X.exports===Mt,xe=va&&At.process,wa=function(){try{var e=X&&X.require&&X.require("util").types;return e||xe&&xe.binding&&xe.binding("util")}catch{}}(),gt=wa,mt=gt&&gt.isTypedArray,$s=mt?ka(mt):ha,Ia=Object.prototype,Os=Ia.hasOwnProperty;function Aa(e,t){return function(r){return e(t(r))}}var Sa=Aa,Ls=Sa(Object.keys,Object),Ca=Object.prototype,_s=Ca.hasOwnProperty,xa=F(Object,"create"),ee=xa;function Ea(){this.__data__=ee?ee(null):{},this.size=0}var Ma=Ea;function ja(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Pa=ja,$a="__lodash_hash_undefined__",Oa=Object.prototype,La=Oa.hasOwnProperty;function _a(e){var t=this.__data__;if(ee){var r=t[e];return r===$a?void 0:r}return La.call(t,e)?t[e]:void 0}var Na=_a,Da=Object.prototype,Ta=Da.hasOwnProperty;function Ba(e){var t=this.__data__;return ee?t[e]!==void 0:Ta.call(t,e)}var Fa=Ba,za="__lodash_hash_undefined__";function Ua(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ee&&t===void 0?za:t,this}var Va=Ua;function z(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}z.prototype.clear=Ma;z.prototype.delete=Pa;z.prototype.get=Na;z.prototype.has=Fa;z.prototype.set=Va;var bt=z;function Ra(){this.__data__=[],this.size=0}var Ga=Ra;function qa(e,t){for(var r=e.length;r--;)if(To(e[r][0],t))return r;return-1}var ce=qa,Qa=Array.prototype,Ha=Qa.splice;function Ya(e){var t=this.__data__,r=ce(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():Ha.call(t,r,1),--this.size,!0}var Za=Ya;function Wa(e){var t=this.__data__,r=ce(t,e);return r<0?void 0:t[r][1]}var Ka=Wa;function Ja(e){return ce(this.__data__,e)>-1}var Xa=Ja;function el(e,t){var r=this.__data__,n=ce(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var tl=el;function U(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}U.prototype.clear=Ga;U.prototype.delete=Za;U.prototype.get=Ka;U.prototype.has=Xa;U.prototype.set=tl;var ue=U,rl=F(S,"Map"),te=rl;function nl(){this.size=0,this.__data__={hash:new bt,map:new(te||ue),string:new bt}}var il=nl;function ol(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var al=ol;function ll(e,t){var r=e.__data__;return al(t)?r[typeof t=="string"?"string":"hash"]:r.map}var de=ll;function sl(e){var t=de(this,e).delete(e);return this.size-=t?1:0,t}var cl=sl;function ul(e){return de(this,e).get(e)}var dl=ul;function pl(e){return de(this,e).has(e)}var gl=pl;function ml(e,t){var r=de(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var bl=ml;function V(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}V.prototype.clear=il;V.prototype.delete=cl;V.prototype.get=dl;V.prototype.has=gl;V.prototype.set=bl;var jt=V;function fl(){this.__data__=new ue,this.size=0}var hl=fl;function yl(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var kl=yl;function vl(e){return this.__data__.get(e)}var wl=vl;function Il(e){return this.__data__.has(e)}var Al=Il,Sl=200;function Cl(e,t){var r=this.__data__;if(r instanceof ue){var n=r.__data__;if(!te||n.length<Sl-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new jt(n)}return r.set(e,t),this.size=r.size,this}var xl=Cl;function ie(e){var t=this.__data__=new ue(e);this.size=t.size}ie.prototype.clear=hl;ie.prototype.delete=kl;ie.prototype.get=wl;ie.prototype.has=Al;ie.prototype.set=xl;var El=Object.prototype,Ns=El.propertyIsEnumerable,Ml=F(S,"DataView"),Pe=Ml,jl=F(S,"Promise"),$e=jl,Pl=F(S,"Set"),Oe=Pl,ft="[object Map]",$l="[object Object]",ht="[object Promise]",yt="[object Set]",kt="[object WeakMap]",vt="[object DataView]",Ol=M(Pe),Ll=M(te),_l=M($e),Nl=M(Oe),Dl=M(je),T=ne;(Pe&&T(new Pe(new ArrayBuffer(1)))!=vt||te&&T(new te)!=ft||$e&&T($e.resolve())!=ht||Oe&&T(new Oe)!=yt||je&&T(new je)!=kt)&&(T=function(e){var t=ne(e),r=t==$l?e.constructor:void 0,n=r?M(r):"";if(n)switch(n){case Ol:return vt;case Ll:return ft;case _l:return ht;case Nl:return yt;case Dl:return kt}return t});var Ds=S.Uint8Array,Tl="__lodash_hash_undefined__";function Bl(e){return this.__data__.set(e,Tl),this}var Fl=Bl;function zl(e){return this.__data__.has(e)}var Ul=zl;function Le(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new jt;++t<r;)this.add(e[t])}Le.prototype.add=Le.prototype.push=Fl;Le.prototype.has=Ul;var wt=B?B.prototype:void 0,Ts=wt?wt.valueOf:void 0,Vl=Object.prototype,Bs=Vl.hasOwnProperty,Rl=Object.prototype,Fs=Rl.hasOwnProperty,zs=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Us=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Vs=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Gl(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),n=t.editor.getBufferLength(e),i=t.editor.getBufferData(e,0,n),o=new Blob([i],{type:r});return URL.createObjectURL(o)}else return e}async function j(e,t,r){let n,i=t.block.getFill(e),o=t.block.getSourceSet(i,"fill/image/sourceSet"),[a]=o;if(a==null){if(n=t.block.getString(i,"fill/image/imageFileURI"),n==null)throw new Error("No image source/uri found")}else n=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(n)==="image/svg+xml")throw new Error("SVG images are not supported");return Gl(n,t)}var Ee="@imgly/plugin-ai-generation",Rs=`
68
68
  <svg>
69
69
  <symbol
70
70
  fill="none"
@@ -82,7 +82,7 @@ var xt=`
82
82
  fill="none"
83
83
  xmlns="http://www.w3.org/2000/svg"
84
84
  viewBox="0 0 24 24"
85
- id="${fe}/image"
85
+ id="${Ee}/image"
86
86
  >
87
87
  <path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
88
88
  <path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
@@ -94,7 +94,7 @@ var xt=`
94
94
  fill="none"
95
95
  xmlns="http://www.w3.org/2000/svg"
96
96
  viewBox="0 0 24 24"
97
- id="${fe}/video"
97
+ id="${Ee}/video"
98
98
  >
99
99
  <path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
100
100
  <path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
@@ -105,7 +105,7 @@ var xt=`
105
105
  fill="none"
106
106
  xmlns="http://www.w3.org/2000/svg"
107
107
  viewBox="0 0 24 24"
108
- id="${fe}/audio"
108
+ id="${Ee}/audio"
109
109
  >
110
110
  <path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
111
111
  <path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
@@ -125,7 +125,7 @@ var xt=`
125
125
 
126
126
  </symbol>
127
127
  </svg>
128
- `;var ut="ly.img.ai.quickAction.order",B="ly.img.ai.quickAction.actions";function Sl(e,t){return{id:t,setQuickActionMenuOrder:r=>{e.ui.experimental.setGlobalStateValue(`${ut}.${t}`,r)},getQuickActionMenuOrder:()=>e.ui.experimental.getGlobalStateValue(`${ut}.${t}`,[]),registerQuickAction:r=>{if(!e.ui.experimental.hasGlobalStateValue(`${B}.${t}`))e.ui.experimental.setGlobalStateValue(`${B}.${t}`,{[r.id]:r});else{let n=e.ui.experimental.getGlobalStateValue(`${B}.${t}`,{});e.ui.experimental.setGlobalStateValue(`${B}.${t}`,{...n,[r.id]:r})}},getQuickAction:r=>e.ui.experimental.getGlobalStateValue(`${B}.${t}`,{})[r]}}var Ae=Sl;function El(e){let t=e.quickAction.id;return{confirmation:!0,lockDuringConfirmation:!1,...e.quickAction,render:({builder:r},{toggleExpand:n})=>{r.Button(`${t}.button`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",...e.buttonOptions,onClick:n})},renderExpanded:({builder:r,state:n,experimental:i},o)=>{let a=n(`${t}.prompt`,"");r.TextArea(`${t}.textarea`,{inputLabel:`ly.img.ai.quickAction.${t}.prompt.inputLabel`,placeholder:`ly.img.ai.quickAction.${t}.prompt.placeholder`,...e.textAreaOptions,...a}),r.Separator(`${t}.separator`),i.builder.ButtonRow(`${t}.footer`,{justifyContent:"space-between",children:()=>{r.Button(`${t}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:o.toggleExpand}),r.Button(`${t}.footer.apply`,{label:`ly.img.ai.quickAction.${t}.apply`,icon:"@imgly/MagicWand",color:"accent",isDisabled:a.value.length===0,onClick:async()=>{try{let l=a.value;if(!l)return;e.onApply(l,o),o.toggleExpand(),o.closeMenu()}catch(l){o.handleGenerationError(l)}}})}})}}}var te=El;function Ml(e){let t=e.id??"changeToImage";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Change",[`ly.img.ai.quickAction.${t}`]:"Change Text Style...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Change Text Style...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"e.g. add a 3d texture with wires..."}}),te({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{kind:"text",id:t,version:"1",confirmation:!1,enable:({engine:r})=>{let n=r.block.findAllSelected();if(n==null||n.length!==1)return!1;let[i]=n;return r.block.getType(i)==="//ly.img.ubq/text"}},onApply:async(r,n)=>{let[i]=e.cesdk.engine.block.findAllSelected(),o=e.cesdk.engine.block.getParent(i);if(o==null)throw new Error("Parent block not found");let a=await e.cesdk.engine.block.export(i),l=URL.createObjectURL(a),p=e.cesdk.engine.block.getFrameWidth(i),f=e.cesdk.engine.block.getFrameHeight(i),b=e.cesdk.engine.block.getPositionX(i),h=e.cesdk.engine.block.getPositionY(i),u=e.cesdk.engine.block.createShape("rect"),d=e.cesdk.engine.block.create("graphic");e.cesdk.engine.block.setShape(d,u),e.cesdk.engine.block.appendChild(o,d),e.cesdk.engine.block.setWidth(d,p),e.cesdk.engine.block.setHeight(d,f),e.cesdk.engine.block.setPositionX(d,b),e.cesdk.engine.block.setPositionY(d,h);let re=e.cesdk.engine.block.createFill("image");e.cesdk.engine.block.setString(re,"fill/image/imageFileURI",l),e.cesdk.engine.block.setFill(d,re),e.cesdk.engine.block.destroy(i),e.cesdk.engine.block.setSelected(d,!0);let _=await ee(d,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let ne=e.mapInput({prompt:r,uri:_,duplicatedBlockId:d});return n.generate(ne)}else{if(e.onApply)return e.onApply({prompt:r,uri:_,duplicatedBlockId:d},n);throw new Error("Please provide either mapInput or onApply")}}})}var yt=Ml;function jl(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(e.block.getType(r)!=="//ly.img.ubq/graphic"&&!e.block.supportsFill(r))return!1;let n=e.block.getFill(r);return e.block.getType(n)==="//ly.img.ubq/fill/image"}}var Ce=jl;function Ol(e){let t=e.id??"changeImage";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Change",[`ly.img.ai.quickAction.${t}`]:"Edit Image...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Change image...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"Describe what you want to change..."}}),te({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{id:t,version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:Ce()},onApply:async(r,n)=>{let[i]=e.cesdk.engine.block.findAllSelected(),o=await ee(i,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let a=e.mapInput({prompt:r,uri:o,blockId:i});return n.generate(a)}else{if(e.onApply)return e.onApply({prompt:r,uri:o,blockId:i},n);throw new Error("Please provide either mapInput or onApply")}}})}var vt=Ol;function $l(e){let t=e.id??"createVariant";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Create",[`ly.img.ai.quickAction.${t}`]:"Create Variant...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Describe Your Variant...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"e.g., same character with arms raised"}}),te({buttonOptions:{icon:"@imgly/ImageVariation"},quickAction:{id:t,version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate","fill/change"],enable:r=>{if(!Ce()(r))return!1;let[n]=r.engine.block.findAllSelected();if(!e.cesdk.feature.isEnabled("ly.img.duplicate",{engine:r.engine})||!r.engine.block.isAllowedByScope(n,"lifecycle/duplicate"))return!1;let i=r.engine.block.getParent(n);return!(i!=null&&r.engine.block.getType(i)==="//ly.img.ubq/track"&&r.engine.block.isPageDurationSource(i)||r.engine.block.getType(n)==="//ly.img.ubq/page")}},onApply:async(r,n)=>{let i=e.cesdk.engine,[o]=i.block.findAllSelected(),a=i.block.duplicate(o);i.block.setSelected(o,!1),i.block.setSelected(a,!0);let l=i.block.getParent(a);if(l==null)throw new Error("Parent not found");let p=1,f=i.block.getWidth(l),b=i.block.getHeight(l),h=.02*Math.min(f,b)*p;i.block.setPositionX(a,i.block.getPositionX(a)+h),i.block.setPositionY(a,i.block.getPositionY(a)+h);let u=await ee(a,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let d=e.mapInput({prompt:r,uri:u,duplicatedBlockId:a});return n.generate(d)}else{if(e.onApply)return e.onApply({prompt:r,uri:u,duplicatedBlockId:a},n);throw new Error("Please provide either mapInput or onApply")}}})}var kt=$l;function _l(e){let t=e.id??"swapBackground";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Change",[`ly.img.ai.quickAction.${t}`]:"Change Background...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Change background...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"Describe the background you want..."}}),te({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{id:t,version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:Ce()},onApply:async(r,n)=>{let[i]=e.cesdk.engine.block.findAllSelected(),o=await ee(i,e.cesdk.engine,{throwErrorIfSvg:!0}),a=`Swap the background to ${r}`;if(e.mapInput){let l=e.mapInput({prompt:a,uri:o,blockId:i});return n.generate(l)}else{if(e.onApply)return e.onApply({prompt:a,uri:o,blockId:i},n);throw new Error("Please provide either mapInput or onApply")}}})}var wt=_l,It={ImageUrl:Ei};var At={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"]}}}};function Ct(e){return async({cesdk:t})=>Nl(t,e)}function Nl(e,t){e.ui.addIconSet("@imgly/plugin/formats",Y.Formats);let r=Dl(e),n=Ae(e,"image"),i=Ae(e,"text");return n.setQuickActionMenuOrder(["swapBackground","changeImage","createVariant","ly.img.separator",...n.getQuickActionMenuOrder()]),i.setQuickActionMenuOrder([...i.getQuickActionMenuOrder(),"ly.img.separator","changeToImage"]),{id:"open-ai/gpt-image-1/image2image",kind:"image",name:"gpt-image-1",input:{panel:{type:"schema",document:At,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{...e!=null?It.ImageUrl("gpt-image-1",{cesdk:e}):{}},getBlockInput:async a=>{let{width:l,height:p}=await Qe(a.image_url,e.engine);return Promise.resolve({image:{width:l,height:p}})},userFlow:"placeholder"},quickActions:{actions:r??[]}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middleware??[],generate:async(a,{abortSignal:l})=>{let p=await e.engine.editor.getMimeType(a.image_url),f=await pe(a.image_url,e.engine),h=await(await fetch(f)).blob(),u=new FormData;u.append("image",h,`image.${He(p)}`),u.append("prompt",a.prompt),u.append("model","gpt-image-1"),u.append("size","auto"),u.append("n","1");let _=(await(await fetch(`${t.proxyUrl}/images/edits`,{signal:l,method:"POST",body:u})).json()).data?.[0].b64_json;if(_==null)throw new Error("No image data returned");let ne=W(_,"image/png");return{kind:"image",url:URL.createObjectURL(ne)}}}}}function Dl(e){return[yt({onApply:async({prompt:t,uri:r,duplicatedBlockId:n},i)=>i.generate({prompt:t,image_url:r},{blockIds:[n]}),cesdk:e}),wt({mapInput:t=>({...t,image_url:t.uri}),cesdk:e}),vt({mapInput:t=>({...t,image_url:t.uri}),cesdk:e}),kt({onApply:async({prompt:t,uri:r,duplicatedBlockId:n},i)=>i.generate({prompt:t,image_url:r},{blockIds:[n]}),cesdk:e})]}var Pl={GptImage1:{Text2Image:Ye,Image2Image:Ct}},Ds=Pl;export{Ds as default};
128
+ `;var It="ly.img.ai.quickAction.order",J="ly.img.ai.quickAction.actions";function ql(e,t){return{id:t,setQuickActionMenuOrder:r=>{e.ui.experimental.setGlobalStateValue(`${It}.${t}`,r)},getQuickActionMenuOrder:()=>e.ui.experimental.getGlobalStateValue(`${It}.${t}`,[]),registerQuickAction:r=>{if(!e.ui.experimental.hasGlobalStateValue(`${J}.${t}`))e.ui.experimental.setGlobalStateValue(`${J}.${t}`,{[r.id]:r});else{let n=e.ui.experimental.getGlobalStateValue(`${J}.${t}`,{});e.ui.experimental.setGlobalStateValue(`${J}.${t}`,{...n,[r.id]:r})}},getQuickAction:r=>e.ui.experimental.getGlobalStateValue(`${J}.${t}`,{})[r]}}var Ne=ql;function Ql(e){let t=e.quickAction.id;return{confirmation:!0,lockDuringConfirmation:!1,...e.quickAction,render:({builder:r},{toggleExpand:n})=>{r.Button(`${t}.button`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",...e.buttonOptions,onClick:n})},renderExpanded:({builder:r,state:n,experimental:i},o)=>{let a=n(`${t}.prompt`,"");r.TextArea(`${t}.textarea`,{inputLabel:`ly.img.ai.quickAction.${t}.prompt.inputLabel`,placeholder:`ly.img.ai.quickAction.${t}.prompt.placeholder`,...e.textAreaOptions,...a}),r.Separator(`${t}.separator`),i.builder.ButtonRow(`${t}.footer`,{justifyContent:"space-between",children:()=>{r.Button(`${t}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:o.toggleExpand}),r.Button(`${t}.footer.apply`,{label:`ly.img.ai.quickAction.${t}.apply`,icon:"@imgly/MagicWand",color:"accent",isDisabled:a.value.length===0,onClick:async()=>{try{let l=a.value;if(!l)return;e.onApply(l,o),o.toggleExpand(),o.closeMenu()}catch(l){o.handleGenerationError(l)}}})}})}}}var P=Ql;function Hl(e){let t=e.quickAction.id;return{confirmation:!0,lockDuringConfirmation:!1,...e.quickAction,render:({builder:r},n)=>{r.Button(`${t}.button`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",...e.buttonOptions,onClick:async()=>{try{e.onClick(n),n.closeMenu()}catch(i){n.handleGenerationError(i)}}})}}}var Pt=Hl;function Yl(e){let t=e.quickAction.id;if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return{...e.quickAction,render:({builder:r,experimental:n},i)=>{n.builder.Popover(`${t}.popover`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",...e.buttonOptions,children:()=>{r.Section(`${t}.popover.section`,{children:()=>{n.builder.Menu(`${t}.popover.menu`,{children:()=>{e.items.forEach(o=>{r.Button(`${t}.popover.menu.${o.id}`,{label:o.label,labelAlignment:"left",variant:"plain",icon:o.icon,onClick:async()=>{let{generate:a,closeMenu:l,handleGenerationError:d}=i;try{l();let[c]=e.cesdk.engine.block.findAllSelected(),s=await j(c,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let u=e.mapInput({item:o,uri:s,blockId:c});return await a(u)}else{if(e.onApply)return await e.onApply({item:o,uri:s,blockId:c},i);throw new Error("Please provide either mapInput or onApply")}}catch(c){d(c)}}})})}})}})}})}}}var $t=Yl;function Zl(e){let t=e.quickAction.id;if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return{...e.quickAction,render:({builder:r,experimental:n},i)=>{n.builder.Popover(`${t}.popover`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",...e.buttonOptions,children:()=>{r.Library(`${t}.popover.library`,{entries:e.entries,onSelect:async o=>{let{generate:a,closeMenu:l,handleGenerationError:d}=i;try{l();let[c]=e.cesdk.engine.block.findAllSelected(),s=await j(c,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let u=e.mapInput({assetResult:o,uri:s,blockId:c});await a(u)}else if(e.onApply)await e.onApply({assetResult:o,uri:s,blockId:c},i);else throw new Error("Please provide either mapInput or onApply")}catch(c){d(c)}}})}})}}}var Ot=Zl;function Wl(e){let t=e.id??"changeToImage";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Change",[`ly.img.ai.quickAction.${t}`]:"Change Text Style...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Change Text Style...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"e.g. add a 3d texture with wires..."}}),P({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{kind:"text",id:t,version:"1",confirmation:!1,enable:({engine:r})=>{let n=r.block.findAllSelected();if(n==null||n.length!==1)return!1;let[i]=n;return r.block.getType(i)==="//ly.img.ubq/text"}},onApply:async(r,n)=>{let[i]=e.cesdk.engine.block.findAllSelected(),o=e.cesdk.engine.block.getParent(i);if(o==null)throw new Error("Parent block not found");let a=await e.cesdk.engine.block.export(i),l=URL.createObjectURL(a),d=e.cesdk.engine.block.getFrameWidth(i),c=e.cesdk.engine.block.getFrameHeight(i),s=e.cesdk.engine.block.getPositionX(i),u=e.cesdk.engine.block.getPositionY(i),p=e.cesdk.engine.block.createShape("rect"),m=e.cesdk.engine.block.create("graphic");e.cesdk.engine.block.setShape(m,p),e.cesdk.engine.block.appendChild(o,m),e.cesdk.engine.block.setWidth(m,d),e.cesdk.engine.block.setHeight(m,c),e.cesdk.engine.block.setPositionX(m,s),e.cesdk.engine.block.setPositionY(m,u);let k=e.cesdk.engine.block.createFill("image");e.cesdk.engine.block.setString(k,"fill/image/imageFileURI",l),e.cesdk.engine.block.setFill(m,k),e.cesdk.engine.block.destroy(i),e.cesdk.engine.block.setSelected(m,!0);let h=await j(m,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let I=e.mapInput({prompt:r,uri:h,duplicatedBlockId:m});return n.generate(I)}else{if(e.onApply)return e.onApply({prompt:r,uri:h,duplicatedBlockId:m},n);throw new Error("Please provide either mapInput or onApply")}}})}var Lt=Wl;function Kl(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let n=e.block.getFill(r);return e.block.getType(n)==="//ly.img.ubq/fill/image"}}var R=Kl;function Jl(e){let t=e.id??"changeImage";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Change",[`ly.img.ai.quickAction.${t}`]:"Edit Image...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Change image...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"Describe what you want to change..."}}),P({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{id:t,version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(r,n)=>{let[i]=e.cesdk.engine.block.findAllSelected(),o=await j(i,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let a=e.mapInput({prompt:r,uri:o,blockId:i});return n.generate(a)}else{if(e.onApply)return e.onApply({prompt:r,uri:o,blockId:i},n);throw new Error("Please provide either mapInput or onApply")}}})}var _t=Jl;function Xl(e){let t=e.id??"createVariant";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Create",[`ly.img.ai.quickAction.${t}`]:"Create Variant...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Describe Your Variant...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"e.g., same character with arms raised"}}),P({buttonOptions:{icon:"@imgly/ImageVariation"},quickAction:{id:t,version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate","fill/change"],enable:r=>{if(!R()(r))return!1;let[n]=r.engine.block.findAllSelected();return!(!e.cesdk.feature.isEnabled("ly.img.duplicate",{engine:r.engine})||!r.engine.block.isAllowedByScope(n,"lifecycle/duplicate"))}},onApply:async(r,n)=>{let i=e.cesdk.engine,[o]=i.block.findAllSelected(),a=i.block.getType(o),l=i.block.duplicate(o);a==="//ly.img.ubq/page"&&i.block.getChildren(l).forEach(s=>{i.block.destroy(s)}),i.block.setSelected(o,!1),i.block.setSelected(l,!0);let d=i.block.getParent(l);if(d==null)throw new Error("Parent not found");if(!(d!=null&&i.block.getType(d)==="//ly.img.ubq/track"&&i.block.isPageDurationSource(d))&&a!=="//ly.img.ubq/page"){let s=i.block.getWidth(d),u=i.block.getHeight(d),p=.02*Math.min(s,u)*1;i.block.setPositionX(l,i.block.getPositionX(l)+p),i.block.setPositionY(l,i.block.getPositionY(l)+p)}let c=await j(l,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let s=e.mapInput({prompt:r,uri:c,duplicatedBlockId:l});return n.generate(s)}else{if(e.onApply)return e.onApply({prompt:r,uri:c,duplicatedBlockId:l},n);throw new Error("Please provide either mapInput or onApply")}}})}var Nt=Xl;function es(e){let t=e.id??"combineImages";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Combine",[`ly.img.ai.quickAction.${t}`]:"Combine Images...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Image Combination Instructions",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),P({buttonOptions:{icon:"@imgly/ImageVariation"},quickAction:{id:t,version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate","fill/change"],enable:r=>{let n=r.engine.block.findAllSelected();return n==null||n.length<2?!1:n.every(i=>{if(r.engine.block.getType(i)!=="//ly.img.ubq/graphic"&&!r.engine.block.supportsFill(i))return!1;let o=r.engine.block.getFill(i);if(r.engine.block.getType(o)!=="//ly.img.ubq/fill/image"||!e.cesdk.feature.isEnabled("ly.img.duplicate",{engine:r.engine})||!r.engine.block.isAllowedByScope(i,"lifecycle/duplicate"))return!1;let a=r.engine.block.getParent(i);return!(a!=null&&r.engine.block.getType(a)==="//ly.img.ubq/track"&&r.engine.block.isPageDurationSource(a)||r.engine.block.getType(i)==="//ly.img.ubq/page")})}},onApply:async(r,n)=>{let i=e.cesdk.engine,o=i.block.findAllSelected(),a=i.block.duplicate(o[0]);o.forEach(m=>{i.block.setSelected(m,!1)}),i.block.setSelected(a,!0);let l=i.block.getParent(a);if(l==null)throw new Error("Parent not found");let d=1,c=i.block.getWidth(l),s=i.block.getHeight(l),u=.02*Math.min(c,s)*d;i.block.setPositionX(a,i.block.getPositionX(a)+u),i.block.setPositionY(a,i.block.getPositionY(a)+u);let p=await Promise.all(o.map(m=>j(m,e.cesdk.engine,{throwErrorIfSvg:!0})));if(e.mapInput){let m=e.mapInput({prompt:r,uris:p,duplicatedBlockId:a});return n.generate(m)}else{if(e.onApply)return e.onApply({prompt:r,uris:p,duplicatedBlockId:a},n);throw new Error("Please provide either mapInput or onApply")}}})}var Dt=es;function ts(e){let t=e.id??"swapBackground";if(e.mapInput==null&&e.onApply==null)throw new Error(`QuickAction '${t}': Either mapInput or onApply must be provided to QuickActionChangeImage`);if(e.mapInput!=null&&e.onApply!=null)throw new Error(`QuickAction '${t}': Only one of mapInput or onApply can be provided to QuickActionChangeImage, not both`);return e.cesdk.i18n.setTranslations({en:{[`ly.img.ai.quickAction.${t}.apply`]:"Change",[`ly.img.ai.quickAction.${t}`]:"Change Background...",[`ly.img.ai.quickAction.${t}.prompt.inputLabel`]:"Change background...",[`ly.img.ai.quickAction.${t}.prompt.placeholder`]:"Describe the background you want..."}}),P({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{id:t,version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(r,n)=>{let[i]=e.cesdk.engine.block.findAllSelected(),o=await j(i,e.cesdk.engine,{throwErrorIfSvg:!0}),a=`Swap the background to ${r}`;if(e.mapInput){let l=e.mapInput({prompt:a,uri:o,blockId:i});return n.generate(l)}else{if(e.onApply)return e.onApply({prompt:a,uri:o,blockId:i},n);throw new Error("Please provide either mapInput or onApply")}}})}var Tt=ts,Bt={ImageUrl:qi};var Ft={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 pe(e,t){let r=e.split(",")[1]||e,n=atob(r),i=[];for(let l=0;l<n.length;l++)i.push(n.charCodeAt(l));let o=new Uint8Array(i);return new Blob([o],{type:t})}var C=[{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"}],ge=(e,t)=>{let r=C.map(o=>o.id==="none"?t.includeNone?{id:o.id,label:o.label,thumbUri:`${t.baseURL}/thumbnails/None.svg`}:void 0:{id:o.id,label:o.label,thumbUri:`${t.baseURL}/thumbnails/${o.id}.jpeg`}).filter(lt),n=new Je(e,r),i=C[0];return n.setAssetActive(i.id),n},me=(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 zt(e){return async({cesdk:t})=>ns(t,e)}function ns(e,t){let r="open-ai/gpt-image-1/text2image",n="https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",i=`${r}/styles`,o=ge(i,{baseURL:n,includeNone:!0});return me(o,{cesdk:e}),e.ui.registerPanel(`${re(r)}.styleSelection`,({builder:l,payload:d})=>{if(d==null)return null;l.Library(`${r}.library.style`,{entries:[i],onSelect:async c=>{d.onSelect(c)}})}),e.ui.addIconSet("@imgly/plugin/formats",se.Formats),e.i18n.setTranslations({en:{[`panel.${re(r)}.styleSelection`]:"Style Selection",[`${r}.style`]:"Style"}}),{id:"open-ai/gpt-image-1/text2image",kind:"image",name:"gpt-image-1",input:{panel:{type:"schema",document:Ft,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{style:({builder:l,state:d},c)=>{let s=d("style",o.getAssetSelectValue(o.getActiveAssetIds()[0])??C[0]);return l.Button(`${c.id}`,{inputLabel:`${r}.${c.id}`,icon:"@imgly/Appearance",trailingIcon:"@imgly/ChevronRight",label:s.value.label,labelAlignment:"left",onClick:()=>{let u={onSelect:async p=>{let m={id:p.id,label:p.label??p.id};o.clearActiveAssets(),o.setAssetActive(p.id),s.setValue(m),e.ui.closePanel(`${re(r)}.styleSelection`)}};e.ui.openPanel(`${re(r)}.styleSelection`,{payload:u})}}),()=>({id:c.id,type:"string",value:s.value.id??o.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.middleware??[],generate:async(l,{abortSignal:d})=>{let c=C.find(v=>v.id===l.style),s=l.prompt;c!=null&&c.id!=="none"&&c.prompt&&(s=`${s}, ${c.prompt}`);let u=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),p=u?"https://api.openai.com/v1":t.proxyUrl,h=(await(await fetch(`${p}/images/generations`,{signal:d,method:"POST",headers:u?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`,"Content-Type":"application/json"}:{"Content-Type":"application/json"},body:JSON.stringify({model:"gpt-image-1",prompt:s,n:1,size:l.size,background:l.background})})).json()).data?.[0].b64_json;if(h==null)throw new Error("No image data returned");let I=pe(h,"image/png");return{kind:"image",url:URL.createObjectURL(I)}}}}}var Ut={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 os}from"@cesdk/cesdk-js";function Vt(e){return async({cesdk:t})=>as(t,e)}function as(e,t){let r="open-ai/gpt-image-1/image2image";e.ui.addIconSet("@imgly/plugin/formats",se.Formats);let n="https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",i=ls({cesdk:e,modelKey:r}),o=Ne(e,"image"),a=Ne(e,"text"),l=`${r}/styles`,d=ge(l,{baseURL:n});return me(d,{cesdk:e}),e.i18n.setTranslations({en:{"ly.img.ai.quickAction.changeStyle":"Change Style","ly.img.ai.quickAction.changeStyleLibrary":"Change Style","ly.img.ai.quickAction.remixPage":"Turn Page into Image","ly.img.ai.quickAction.remixPageWithPrompt":"Remix Page","ly.img.ai.quickAction.remixPageWithPrompt.prompt.inputLabel":"Remix Page Prompt","ly.img.ai.quickAction.remixPageWithPrompt.prompt.placeholder":"e.g. rearrange the layout to...","ly.img.ai.quickAction.remixPageWithPrompt.apply":"Remix"}}),o.setQuickActionMenuOrder(["changeStyleLibrary","ly.img.separator","swapBackground","changeImage","createVariant","combineImages","ly.img.separator","remixPage","ly.img.separator",...o.getQuickActionMenuOrder()]),a.setQuickActionMenuOrder([...a.getQuickActionMenuOrder(),"ly.img.separator","changeToImage"]),{id:r,kind:"image",name:"gpt-image-1",input:{panel:{type:"schema",document:Ut,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{...e!=null?Bt.ImageUrl("gpt-image-1",{cesdk:e}):{}},getBlockInput:async s=>{if(s.image_url==null||Array.isArray(s.image_url))throw new Error("Cannot process getBlockInput for multiple images");let{width:u,height:p}=await at(s.image_url,e.engine);return Promise.resolve({image:{width:u,height:p}})},userFlow:"placeholder"},quickActions:{actions:i??[]}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middleware??[],generate:async(s,{abortSignal:u})=>{let p=new FormData;if(Array.isArray(s.image_url))s.exportFromBlockIds!=null?await Promise.all(s.exportFromBlockIds.map(async y=>{let x=await e.engine.block.export(y,os.Jpeg,{targetHeight:1024,targetWidth:1024});p.append("image[]",x,`image_${y}.jpeg`)})):await Promise.all(s.image_url.map(async y=>{let x=await e.engine.editor.getMimeType(y),De=await W(y,e.engine),Rt=await(await fetch(De)).blob();p.append("image[]",Rt,`image.${Ae(x)}`)}));else{let y=await e.engine.editor.getMimeType(s.image_url),x=await W(s.image_url,e.engine),Te=await(await fetch(x)).blob();p.append("image",Te,`image.${Ae(y)}`)}p.append("prompt",s.prompt),p.append("model","gpt-image-1"),p.append("size","auto"),p.append("n","1");let m=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),k=m?"https://api.openai.com/v1":t.proxyUrl,g=(await(await fetch(`${k}/images/edits`,{signal:u,method:"POST",headers:m?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`}:{},body:p})).json()).data?.[0].b64_json;if(g==null)throw new Error("No image data returned");let v=pe(g,"image/png");return{kind:"image",url:URL.createObjectURL(v)}}}}}function ls(e){let{cesdk:t,modelKey:r}=e;return[Ot({cesdk:e.cesdk,entries:[`${r}/styles`],quickAction:{id:"changeStyleLibrary",version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(n,i)=>{let[o]=t.engine.block.findAllSelected(),a=await Se(o,t.engine,{throwErrorIfSvg:!0}),l=n.assetResult.id,d=C.find(({id:c})=>c===l);if(d==null)throw new Error(`Style not found: ${l}`);return i.generate({prompt:d.prompt,image_url:a})}}),$t({cesdk:t,items:C.filter(({id:n})=>n!=="none"),quickAction:{id:"changeStyle",version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(n,i)=>{let[o]=t.engine.block.findAllSelected(),a=await Se(o,t.engine,{throwErrorIfSvg:!0});return i.generate({prompt:n.item.prompt,image_url:a})}}),Lt({onApply:async({prompt:n,uri:i,duplicatedBlockId:o},a)=>a.generate({prompt:n,image_url:i},{blockIds:[o]}),cesdk:t}),Tt({mapInput:n=>({...n,image_url:n.uri}),cesdk:t}),_t({mapInput:n=>({...n,image_url:n.uri}),cesdk:t}),Nt({onApply:async({prompt:n,uri:i,duplicatedBlockId:o},a)=>a.generate({prompt:n,image_url:i},{blockIds:[o]}),cesdk:t}),Dt({onApply:async({prompt:n,uris:i,duplicatedBlockId:o},a)=>a.generate({prompt:n,image_url:i,exportFromBlockIds:a.blockIds},{blockIds:[o]}),cesdk:t}),Pt({quickAction:{id:"remixPage",version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate"],enable:({engine:n})=>{let i=n.block.findAllSelected();if(i.length!==1)return!1;let o=i[0];return n.block.getType(o)==="//ly.img.ubq/page"}},onClick:async n=>{let i=t.engine,[o]=i.block.findAllSelected(),a=await i.block.export(o),l=URL.createObjectURL(a),d=i.block.duplicate(o);i.block.getChildren(d).forEach(I=>{i.block.destroy(I)}),i.block.setSelected(o,!1);let c=t.engine.block.getFrameWidth(o),s=t.engine.block.getFrameHeight(o),u=t.engine.block.getPositionX(o),p=t.engine.block.getPositionY(o),m=t.engine.block.createShape("rect"),k=t.engine.block.create("graphic");t.engine.block.setShape(k,m),t.engine.block.appendChild(d,k),t.engine.block.setWidth(k,c),t.engine.block.setHeight(k,s),t.engine.block.setPositionX(k,u),t.engine.block.setPositionY(k,p);let h=t.engine.block.createFill("image");t.engine.block.setFill(k,h),t.engine.block.setString(h,"fill/image/imageFileURI",l),i.block.setSelected(k,!0),i.scene.zoomToBlock(k),n.generate({image_url:l,prompt:"Follow instructions but don\u2019t add the instructions for the image"},{blockIds:[k]})}}),P({quickAction:{id:"remixPageWithPrompt",version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate"],enable:({engine:n})=>{let i=n.block.findAllSelected();if(i.length!==1)return!1;let o=i[0];return n.block.getType(o)==="//ly.img.ubq/page"}},onApply:async(n,i)=>{let o=t.engine,[a]=o.block.findAllSelected(),l=await o.block.export(a),d=URL.createObjectURL(l),c=o.block.duplicate(a);o.block.getChildren(c).forEach(g=>{o.block.destroy(g)}),o.block.setSelected(a,!1);let s=t.engine.block.getFrameWidth(a),u=t.engine.block.getFrameHeight(a),p=t.engine.block.getPositionX(a),m=t.engine.block.getPositionY(a),k=t.engine.block.createShape("rect"),h=t.engine.block.create("graphic");t.engine.block.setShape(h,k),t.engine.block.appendChild(c,h),t.engine.block.setWidth(h,s),t.engine.block.setHeight(h,u),t.engine.block.setPositionX(h,p),t.engine.block.setPositionY(h,m);let I=t.engine.block.createFill("image");return t.engine.block.setFill(h,I),t.engine.block.setString(I,"fill/image/imageFileURI",d),o.block.setSelected(h,!0),o.scene.zoomToBlock(h),i.generate({image_url:d,prompt:n},{blockIds:[h]})}})]}var ss={GptImage1:{Text2Image:zt,Image2Image:Vt}},bc=ss;export{bc as default};
129
129
  /*! Bundled license information:
130
130
 
131
131
  @imgly/plugin-utils/dist/index.mjs: