@imgly/plugin-ai-image-generation-web 0.1.9 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/open-ai/index.mjs +3 -3
- package/dist/open-ai/index.mjs.map +3 -3
- package/package.json +1 -1
package/dist/open-ai/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Vt=`
|
|
2
2
|
<svg>
|
|
3
3
|
<symbol
|
|
4
4
|
fill="none"
|
|
@@ -64,7 +64,7 @@ var Gt=`
|
|
|
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
|
-
`,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 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:n,query:o,tags:a,groups:l,excludeGroups:p,sortingOrder:d,sortKey:s}=e,c=[...this.assets];if(l&&l.length>0&&(c=c.filter(u=>u.groups&&l.some(f=>u.groups?.includes(f)))),p&&p.length>0&&(c=c.filter(u=>!u.groups||!p.some(f=>u.groups?.includes(f)))),o){let u=o.toLowerCase();c=c.filter(f=>{let h=f.label?.[i]?.toLowerCase(),b=f.tags?.[i]||[];return h&&h.includes(u)||b.some(A=>A.toLowerCase().includes(u))})}if(a&&a.length>0){let u=Array.isArray(a)?a:[a];c=c.filter(f=>{let h=f.tags?.[i]||[];return u.some(b=>h.includes(b))})}n&&c.sort((u,f)=>{let h=this.activeAssetIds.has(u.id),b=this.activeAssetIds.has(f.id);return h&&!b?-1:!h&&b?1:0}),s&&s!=="id"?c.sort((u,f)=>{let h=u.meta?.[s],b=f.meta?.[s];return h===void 0?1:b===void 0?-1:typeof h=="string"&&typeof b=="string"?d==="Descending"?b.localeCompare(h):h.localeCompare(b):typeof h=="number"&&typeof b=="number"?d==="Descending"?b-h:h-b:0}):s==="id"&&c.sort((u,f)=>d==="Descending"?f.id.localeCompare(u.id):u.id.localeCompare(f.id));let g=c.length,m=t*r,v=m+r,y=c.slice(m,v).map(u=>({id:u.id,groups:u.groups,meta:u.meta,payload:u.payload,locale:i,label:u.label?.[i],tags:u.tags?.[i],active:this.activeAssetIds.has(u.id)})),I=v<g?t+1:void 0;return{assets:y,currentPage:t,nextPage:I,total:g}}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 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")(),S=Ht,Yt=S.Symbol,O=Yt,et=Object.prototype,Zt=et.hasOwnProperty,Kt=et.toString,G=O?O.toStringTag:void 0;function Wt(e){var t=Zt.call(e,G),r=e[G];try{e[G]=void 0;var i=!0}catch{}var n=Kt.call(e);return i&&(t?e[G]=r:delete e[G]),n}var Jt=Wt,Xt=Object.prototype,er=Xt.toString;function tr(e){return er.call(e)}var rr=tr,ir="[object Null]",nr="[object Undefined]",Ue=O?O.toStringTag:void 0;function or(e){return e==null?e===void 0?nr:ir:Ue&&Ue in Object(e)?Jt(e):rr(e)}var Y=or;function ar(e){return e!=null&&typeof e=="object"}var Ie=ar,ks=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=S["__core-js_shared__"],be=mr,Be=function(){var e=/[^.]+$/.exec(be&&be.keys&&be.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function br(e){return!!Be&&Be in e}var fr=br,hr=Function.prototype,yr=hr.toString;function vr(e){if(e!=null){try{return yr.call(e)}catch{}try{return e+""}catch{}}return""}var E=vr,kr=/[\\^$.*+?()[\]{}|]/g,wr=/^\[object .+?Constructor\]$/,Ir=Function.prototype,Ar=Object.prototype,Sr=Ir.toString,Cr=Ar.hasOwnProperty,xr=RegExp("^"+Sr.call(Cr).replace(kr,"\\$&").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(S,"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 ws=Object.prototype;var Ur="[object Arguments]";function Br(e){return Ie(e)&&Y(e)==Ur}var Fe=Br,rt=Object.prototype,Fr=rt.hasOwnProperty,zr=rt.propertyIsEnumerable,Is=Fe(function(){return arguments}())?Fe:function(e){return Ie(e)&&Fr.call(e,"callee")&&!zr.call(e,"callee")};var it=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ze=it&&typeof module=="object"&&module&&!module.nodeType&&module,Vr=ze&&ze.exports===it,Ve=Vr?S.Buffer:void 0,As=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]",Kr="[object Number]",Wr="[object Object]",Jr="[object RegExp]",Xr="[object Set]",ei="[object String]",ti="[object WeakMap]",ri="[object ArrayBuffer]",ii="[object DataView]",ni="[object Float32Array]",oi="[object Float64Array]",ai="[object Int8Array]",li="[object Int16Array]",si="[object Int32Array]",ci="[object Uint8Array]",ui="[object Uint8ClampedArray]",di="[object Uint16Array]",pi="[object Uint32Array]",k={};k[ni]=k[oi]=k[ai]=k[li]=k[si]=k[ci]=k[ui]=k[di]=k[pi]=!0;k[Rr]=k[Gr]=k[ri]=k[qr]=k[ii]=k[Qr]=k[Hr]=k[Yr]=k[Zr]=k[Kr]=k[Wr]=k[Jr]=k[Xr]=k[ei]=k[ti]=!1;function gi(e){return Ie(e)&&Tr(e.length)&&!!k[Y(e)]}var mi=gi;function bi(e){return function(t){return e(t)}}var fi=bi,nt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,q=nt&&typeof module=="object"&&module&&!module.nodeType&&module,hi=q&&q.exports===nt,fe=hi&&Xe.process,yi=function(){try{var e=q&&q.require&&q.require("util").types;return e||fe&&fe.binding&&fe.binding("util")}catch{}}(),Re=yi,Ge=Re&&Re.isTypedArray,Ss=Ge?fi(Ge):mi;var vi=Object.prototype,Cs=vi.hasOwnProperty;function ki(e,t){return function(r){return e(t(r))}}var wi=ki,xs=wi(Object.keys,Object);var Ii=Object.prototype,Es=Ii.hasOwnProperty;var Ai=L(Object,"create"),Q=Ai;function Si(){this.__data__=Q?Q(null):{},this.size=0}var Ci=Si;function xi(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ei=xi,Mi="__lodash_hash_undefined__",ji=Object.prototype,Pi=ji.hasOwnProperty;function $i(e){var t=this.__data__;if(Q){var r=t[e];return r===Mi?void 0:r}return Pi.call(t,e)?t[e]:void 0}var Oi=$i,Li=Object.prototype,_i=Li.hasOwnProperty;function Ni(e){var t=this.__data__;return Q?t[e]!==void 0:_i.call(t,e)}var Di=Ni,Ti="__lodash_hash_undefined__";function Ui(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Q&&t===void 0?Ti:t,this}var Bi=Ui;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=Ci;_.prototype.delete=Ei;_.prototype.get=Oi;_.prototype.has=Di;_.prototype.set=Bi;var qe=_;function Fi(){this.__data__=[],this.size=0}var zi=Fi;function Vi(e,t){for(var r=e.length;r--;)if(_r(e[r][0],t))return r;return-1}var oe=Vi,Ri=Array.prototype,Gi=Ri.splice;function qi(e){var t=this.__data__,r=oe(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Gi.call(t,r,1),--this.size,!0}var Qi=qi;function Hi(e){var t=this.__data__,r=oe(t,e);return r<0?void 0:t[r][1]}var Yi=Hi;function Zi(e){return oe(this.__data__,e)>-1}var Ki=Zi;function Wi(e,t){var r=this.__data__,i=oe(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Ji=Wi;function N(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])}}N.prototype.clear=zi;N.prototype.delete=Qi;N.prototype.get=Yi;N.prototype.has=Ki;N.prototype.set=Ji;var ae=N,Xi=L(S,"Map"),H=Xi;function en(){this.size=0,this.__data__={hash:new qe,map:new(H||ae),string:new qe}}var tn=en;function rn(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var nn=rn;function on(e,t){var r=e.__data__;return nn(t)?r[typeof t=="string"?"string":"hash"]:r.map}var le=on;function an(e){var t=le(this,e).delete(e);return this.size-=t?1:0,t}var ln=an;function sn(e){return le(this,e).get(e)}var cn=sn;function un(e){return le(this,e).has(e)}var dn=un;function pn(e,t){var r=le(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var gn=pn;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=tn;D.prototype.delete=ln;D.prototype.get=cn;D.prototype.has=dn;D.prototype.set=gn;var ot=D;function mn(){this.__data__=new ae,this.size=0}var bn=mn;function fn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var hn=fn;function yn(e){return this.__data__.get(e)}var vn=yn;function kn(e){return this.__data__.has(e)}var wn=kn,In=200;function An(e,t){var r=this.__data__;if(r instanceof ae){var i=r.__data__;if(!H||i.length<In-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new ot(i)}return r.set(e,t),this.size=r.size,this}var Sn=An;function Z(e){var t=this.__data__=new ae(e);this.size=t.size}Z.prototype.clear=bn;Z.prototype.delete=hn;Z.prototype.get=vn;Z.prototype.has=wn;Z.prototype.set=Sn;var Cn=Object.prototype,Ms=Cn.propertyIsEnumerable;var xn=L(S,"DataView"),ye=xn,En=L(S,"Promise"),ve=En,Mn=L(S,"Set"),ke=Mn,Qe="[object Map]",jn="[object Object]",He="[object Promise]",Ye="[object Set]",Ze="[object WeakMap]",Ke="[object DataView]",Pn=E(ye),$n=E(H),On=E(ve),Ln=E(ke),_n=E(he),$=Y;(ye&&$(new ye(new ArrayBuffer(1)))!=Ke||H&&$(new H)!=Qe||ve&&$(ve.resolve())!=He||ke&&$(new ke)!=Ye||he&&$(new he)!=Ze)&&($=function(e){var t=Y(e),r=t==jn?e.constructor:void 0,i=r?E(r):"";if(i)switch(i){case Pn:return Ke;case $n:return Qe;case On:return He;case Ln:return Ye;case _n:return Ze}return t});var js=S.Uint8Array;var Nn="__lodash_hash_undefined__";function Dn(e){return this.__data__.set(e,Nn),this}var Tn=Dn;function Un(e){return this.__data__.has(e)}var Bn=Un;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=Tn;we.prototype.has=Bn;var We=O?O.prototype:void 0,Ps=We?We.valueOf:void 0;var Fn=Object.prototype,$s=Fn.hasOwnProperty;var zn=Object.prototype,Os=zn.hasOwnProperty;var Ls=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),_s=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ns=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 K(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),o=new Blob([n],{type:r});return URL.createObjectURL(o)}else return e}async function at(e,t){let r=await K(e,t);return new Promise((i,n)=>{let o=new Image;o.onload=()=>{i({width:o.width,height:o.height})},o.onerror=n,o.src=r})}async function Se(e,t,r){let i,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return K(i,t)}function Vn(e){return e!==void 0}var lt=Vn,se={Formats:Gt};function Rn(e,t){let{cesdk:r}=t,i=t.propertyKey??"image_url",n=Me(e);return r.i18n.setTranslations({en:{[`panel.${n}`]:"Select Image To Change"}}),Gn(e,r),{[i]:(o,a)=>{let{builder:l,experimental:{global:p},payload:d}=o,s=d?.url??t.defaultUrl,c=p(`${e}.${a.id}`,s);return l.MediaPreview(a.id,{preview:{type:"image",uri:c.value},action:{label:"Select Image",onClick:()=>{r?.ui.openPanel(n,{payload:{onSelect:g=>{g.meta?.uri!=null&&c.setValue(g.meta?.uri)}}})}}}),()=>({id:a.id,type:"string",value:c.value})}}}function Gn(e,t){t?.ui.registerPanel(Me(e),({builder:r,payload:i})=>{r.Library(`${e}.library.image`,{entries:["ly.img.image"],onSelect:async n=>{let o=n?.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/")?(i?.onSelect(n),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 qn=Rn,Qn=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:n,query:o,tags:a,groups:l,excludeGroups:p,sortingOrder:d,sortKey:s}=e,c=[...this.assets];if(l&&l.length>0&&(c=c.filter(u=>u.groups&&l.some(f=>u.groups?.includes(f)))),p&&p.length>0&&(c=c.filter(u=>!u.groups||!p.some(f=>u.groups?.includes(f)))),o){let u=o.toLowerCase();c=c.filter(f=>{let h=f.label?.[i]?.toLowerCase(),b=f.tags?.[i]||[];return h&&h.includes(u)||b.some(A=>A.toLowerCase().includes(u))})}if(a&&a.length>0){let u=Array.isArray(a)?a:[a];c=c.filter(f=>{let h=f.tags?.[i]||[];return u.some(b=>h.includes(b))})}n&&c.sort((u,f)=>{let h=this.activeAssetIds.has(u.id),b=this.activeAssetIds.has(f.id);return h&&!b?-1:!h&&b?1:0}),s&&s!=="id"?c.sort((u,f)=>{let h=u.meta?.[s],b=f.meta?.[s];return h===void 0?1:b===void 0?-1:typeof h=="string"&&typeof b=="string"?d==="Descending"?b.localeCompare(h):h.localeCompare(b):typeof h=="number"&&typeof b=="number"?d==="Descending"?b-h:h-b:0}):s==="id"&&c.sort((u,f)=>d==="Descending"?f.id.localeCompare(u.id):u.id.localeCompare(f.id));let g=c.length,m=t*r,v=m+r,y=c.slice(m,v).map(u=>({id:u.id,groups:u.groups,meta:u.meta,payload:u.payload,locale:i,label:u.label?.[i],tags:u.tags?.[i],active:this.activeAssetIds.has(u.id)})),I=v<g?t+1:void 0;return{assets:y,currentPage:t,nextPage:I,total:g}}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 Hn=typeof global=="object"&&global&&global.Object===Object&&global,At=Hn,Yn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=At||Yn||Function("return this")(),C=Zn,Kn=C.Symbol,U=Kn,St=Object.prototype,Wn=St.hasOwnProperty,Jn=St.toString,W=U?U.toStringTag:void 0;function Xn(e){var t=Wn.call(e,W),r=e[W];try{e[W]=void 0;var i=!0}catch{}var n=Jn.call(e);return i&&(t?e[W]=r:delete e[W]),n}var eo=Xn,to=Object.prototype,ro=to.toString;function io(e){return ro.call(e)}var no=io,oo="[object Null]",ao="[object Undefined]",st=U?U.toStringTag:void 0;function lo(e){return e==null?e===void 0?ao:oo:st&&st in Object(e)?eo(e):no(e)}var re=lo;function so(e){return e!=null&&typeof e=="object"}var _e=so,Us=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=re(e);return t==po||t==go||t==uo||t==mo}var fo=bo,ho=C["__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 vo=yo,ko=Function.prototype,wo=ko.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)||vo(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 B=_o,No=B(C,"WeakMap"),je=No;function Do(e,t){return e===t||e!==e&&t!==t}var To=Do,Uo=9007199254740991;function Bo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Uo}var Fo=Bo,Bs=Object.prototype,zo="[object Arguments]";function Vo(e){return _e(e)&&re(e)==zo}var ut=Vo,xt=Object.prototype,Ro=xt.hasOwnProperty,Go=xt.propertyIsEnumerable,Fs=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?C.Buffer:void 0,zs=pt?pt.isBuffer:void 0,Qo="[object Arguments]",Ho="[object Array]",Yo="[object Boolean]",Zo="[object Date]",Ko="[object Error]",Wo="[object Function]",Jo="[object Map]",Xo="[object Number]",ea="[object Object]",ta="[object RegExp]",ra="[object Set]",ia="[object String]",na="[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]",w={};w[la]=w[sa]=w[ca]=w[ua]=w[da]=w[pa]=w[ga]=w[ma]=w[ba]=!0;w[Qo]=w[Ho]=w[oa]=w[Yo]=w[aa]=w[Zo]=w[Ko]=w[Wo]=w[Jo]=w[Xo]=w[ea]=w[ta]=w[ra]=w[ia]=w[na]=!1;function fa(e){return _e(e)&&Fo(e.length)&&!!w[re(e)]}var ha=fa;function ya(e){return function(t){return e(t)}}var va=ya,Mt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,X=Mt&&typeof module=="object"&&module&&!module.nodeType&&module,ka=X&&X.exports===Mt,xe=ka&&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&>.isTypedArray,Vs=mt?va(mt):ha,Ia=Object.prototype,Rs=Ia.hasOwnProperty;function Aa(e,t){return function(r){return e(t(r))}}var Sa=Aa,Gs=Sa(Object.keys,Object),Ca=Object.prototype,qs=Ca.hasOwnProperty,xa=B(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 Ua(e){var t=this.__data__;return ee?t[e]!==void 0:Ta.call(t,e)}var Ba=Ua,Fa="__lodash_hash_undefined__";function za(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ee&&t===void 0?Fa:t,this}var Va=za;function F(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])}}F.prototype.clear=Ma;F.prototype.delete=Pa;F.prototype.get=Na;F.prototype.has=Ba;F.prototype.set=Va;var bt=F;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 i=t.length-1;return r==i?t.pop():Ha.call(t,r,1),--this.size,!0}var Za=Ya;function Ka(e){var t=this.__data__,r=ce(t,e);return r<0?void 0:t[r][1]}var Wa=Ka;function Ja(e){return ce(this.__data__,e)>-1}var Xa=Ja;function el(e,t){var r=this.__data__,i=ce(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var tl=el;function z(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])}}z.prototype.clear=Ga;z.prototype.delete=Za;z.prototype.get=Wa;z.prototype.has=Xa;z.prototype.set=tl;var ue=z,rl=B(C,"Map"),te=rl;function il(){this.size=0,this.__data__={hash:new bt,map:new(te||ue),string:new bt}}var nl=il;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),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var bl=ml;function V(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])}}V.prototype.clear=nl;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 vl=yl;function kl(e){return this.__data__.get(e)}var wl=kl;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 i=r.__data__;if(!te||i.length<Sl-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new jt(i)}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=vl;ie.prototype.get=wl;ie.prototype.has=Al;ie.prototype.set=xl;var El=Object.prototype,Qs=El.propertyIsEnumerable,Ml=B(C,"DataView"),Pe=Ml,jl=B(C,"Promise"),$e=jl,Pl=B(C,"Set"),Oe=Pl,ft="[object Map]",$l="[object Object]",ht="[object Promise]",yt="[object Set]",vt="[object WeakMap]",kt="[object DataView]",Ol=M(Pe),Ll=M(te),_l=M($e),Nl=M(Oe),Dl=M(je),T=re;(Pe&&T(new Pe(new ArrayBuffer(1)))!=kt||te&&T(new te)!=ft||$e&&T($e.resolve())!=ht||Oe&&T(new Oe)!=yt||je&&T(new je)!=vt)&&(T=function(e){var t=re(e),r=t==$l?e.constructor:void 0,i=r?M(r):"";if(i)switch(i){case Ol:return kt;case Ll:return ft;case _l:return ht;case Nl:return yt;case Dl:return vt}return t});var Hs=C.Uint8Array,Tl="__lodash_hash_undefined__";function Ul(e){return this.__data__.set(e,Tl),this}var Bl=Ul;function Fl(e){return this.__data__.has(e)}var zl=Fl;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=Bl;Le.prototype.has=zl;var wt=U?U.prototype:void 0,Ys=wt?wt.valueOf:void 0,Vl=Object.prototype,Zs=Vl.hasOwnProperty,Rl=Object.prototype,Ks=Rl.hasOwnProperty,Ws=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Js=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Xs=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Gl(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),o=new Blob([n],{type:r});return URL.createObjectURL(o)}else return e}async function j(e,t,r){let i,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Gl(i,t)}function ql(e){return e!==void 0}var Ql=ql;function Hl(e,t){let{cesdk:r}=t;if(r==null)return{};let i=t.propertyKey??"style",n=Zl(e);r.i18n.setTranslations({en:{[`panel.${n}`]:"Select Style",[`${e}.${i}`]:"Style"}});let o=Wl({baseURL:t.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",includeNone:!0}),a=o;t.styles!=null&&(Array.isArray(t.styles)?a=t.styles:typeof t.styles=="function"&&(a=t.styles(o)));let l=Jl({cesdk:r,providerId:e,styles:a}),p=l.id;return Xl(l,{cesdk:r}),Yl({providerId:e,cesdk:r,panelId:n,entryId:p}),{[t.propertyKeyForPrompt??"prompt"]:(d,s)=>{let c=d.state("prompt","");return d.builder.TextArea(`${s.id}`,{inputLabel:t.i18n?.prompt?.inputLabel??t.propertyKeyForPrompt??"prompt",placeholder:t.i18n?.prompt?.placeholder,...c}),()=>{let[g]=l.getActiveAssetIds(),m=l.getAsset(g);return{id:s.id,type:"string",value:m?.meta?.prompt==null?c.value:`${c.value}; ${m.meta.prompt}`}}},[i]:(d,s)=>{let{builder:c,state:g}=d;if(a.length>0){let m=g("style",a[0]);return c.Button(`${s.id}`,{inputLabel:`${e}.${s.id}`,icon:"@imgly/Appearance",isDisabled:a.length===0,trailingIcon:"@imgly/ChevronRight",label:m.value.label,labelAlignment:"left",onClick:()=>{let v={onSelect:async y=>{l.clearActiveAssets(),l.setAssetActive(y.id),m.setValue({id:y.id,label:y.label??y.id}),r.ui.closePanel(n)}};r.ui.openPanel(n,{payload:v})}}),()=>({id:s.id,type:"string",value:m.value.id})}return()=>({id:s.id,type:"string",value:"none"})}}}function Yl(e){let{providerId:t,cesdk:r,panelId:i,entryId:n}=e;r?.ui.registerPanel(i,({builder:o,payload:a})=>{a?.onSelect==null&&o.Section(`${t}.error`,{children:()=>{o.Text("error",{content:"No onSelect function provided for the style selection panel."})}}),o.Library(`${t}.library.image`,{entries:[n],onSelect:async l=>{a?.onSelect?.(l)}})})}function Zl(e){return`ly.img.ai/${e}.styleSelection`}var Kl=[{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 Wl(e){return Kl.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(Ql)}var Jl=e=>{let t=e.styles.map(a=>({...a,meta:{prompt:a.prompt}})),r=e.cesdk.engine.asset.findAllSources(),i=`${e.providerId}/styles`;for(;r.includes(i);)i+=`-${Math.random().toString(36).substring(2,5)}`;let n=new Qn(i,t),o=e.styles[0];return n.setAssetActive(o.id),n},Xl=(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"})},es=Hl;var ts="ly.img.ai";function ne(e){return`${ts}/${e}`}var Ee="@imgly/plugin-ai-generation",ec=`
|
|
67
|
+
`,Ke=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:n,query:o,tags:a,groups:l,excludeGroups:p,sortingOrder:c,sortKey:d}=e,s=[...this.assets];if(l&&l.length>0&&(s=s.filter(u=>u.groups&&l.some(b=>u.groups?.includes(b)))),p&&p.length>0&&(s=s.filter(u=>!u.groups||!p.some(b=>u.groups?.includes(b)))),o){let u=o.toLowerCase();s=s.filter(b=>{let g=b.label?.[i]?.toLowerCase(),m=b.tags?.[i]||[];return g&&g.includes(u)||m.some(M=>M.toLowerCase().includes(u))})}if(a&&a.length>0){let u=Array.isArray(a)?a:[a];s=s.filter(b=>{let g=b.tags?.[i]||[];return u.some(m=>g.includes(m))})}n&&s.sort((u,b)=>{let g=this.activeAssetIds.has(u.id),m=this.activeAssetIds.has(b.id);return g&&!m?-1:!g&&m?1:0}),d&&d!=="id"?s.sort((u,b)=>{let g=u.meta?.[d],m=b.meta?.[d];return g===void 0?1:m===void 0?-1:typeof g=="string"&&typeof m=="string"?c==="Descending"?m.localeCompare(g):g.localeCompare(m):typeof g=="number"&&typeof m=="number"?c==="Descending"?m-g:g-m:0}):d==="id"&&s.sort((u,b)=>c==="Descending"?b.id.localeCompare(u.id):u.id.localeCompare(b.id));let f=s.length,h=t*r,w=h+r,y=s.slice(h,w).map(u=>({id:u.id,groups:u.groups,meta:u.meta,payload:u.payload,locale:i,label:u.label?.[i],tags:u.tags?.[i],active:this.activeAssetIds.has(u.id)})),I=w<f?t+1:void 0;return{assets:y,currentPage:t,nextPage:I,total:f}}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 Rt=typeof global=="object"&&global&&global.Object===Object&&global,We=Rt,Gt=typeof self=="object"&&self&&self.Object===Object&&self,qt=We||Gt||Function("return this")(),A=qt,Ht=A.Symbol,P=Ht,Je=Object.prototype,Qt=Je.hasOwnProperty,Yt=Je.toString,G=P?P.toStringTag:void 0;function Zt(e){var t=Qt.call(e,G),r=e[G];try{e[G]=void 0;var i=!0}catch{}var n=Yt.call(e);return i&&(t?e[G]=r:delete e[G]),n}var Kt=Zt,Wt=Object.prototype,Jt=Wt.toString;function Xt(e){return Jt.call(e)}var er=Xt,tr="[object Null]",rr="[object Undefined]",De=P?P.toStringTag:void 0;function ir(e){return e==null?e===void 0?rr:tr:De&&De in Object(e)?Kt(e):er(e)}var Y=ir;function nr(e){return e!=null&&typeof e=="object"}var Ie=nr,hs=Array.isArray;function or(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Xe=or,ar="[object AsyncFunction]",lr="[object Function]",sr="[object GeneratorFunction]",cr="[object Proxy]";function ur(e){if(!Xe(e))return!1;var t=Y(e);return t==lr||t==sr||t==ar||t==cr}var dr=ur,pr=A["__core-js_shared__"],be=pr,Te=function(){var e=/[^.]+$/.exec(be&&be.keys&&be.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function gr(e){return!!Te&&Te in e}var mr=gr,br=Function.prototype,fr=br.toString;function hr(e){if(e!=null){try{return fr.call(e)}catch{}try{return e+""}catch{}}return""}var x=hr,yr=/[\\^$.*+?()[\]{}|]/g,vr=/^\[object .+?Constructor\]$/,kr=Function.prototype,wr=Object.prototype,Ir=kr.toString,Ar=wr.hasOwnProperty,Sr=RegExp("^"+Ir.call(Ar).replace(yr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Cr(e){if(!Xe(e)||mr(e))return!1;var t=dr(e)?Sr:vr;return t.test(x(e))}var xr=Cr;function Er(e,t){return e?.[t]}var Mr=Er;function jr(e,t){var r=Mr(e,t);return xr(r)?r:void 0}var $=jr,Pr=$(A,"WeakMap"),he=Pr;function $r(e,t){return e===t||e!==e&&t!==t}var Or=$r,Lr=9007199254740991;function _r(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Lr}var Nr=_r;var ys=Object.prototype;var Dr="[object Arguments]";function Tr(e){return Ie(e)&&Y(e)==Dr}var Ue=Tr,et=Object.prototype,Ur=et.hasOwnProperty,Br=et.propertyIsEnumerable,vs=Ue(function(){return arguments}())?Ue:function(e){return Ie(e)&&Ur.call(e,"callee")&&!Br.call(e,"callee")};var tt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Be=tt&&typeof module=="object"&&module&&!module.nodeType&&module,Fr=Be&&Be.exports===tt,Fe=Fr?A.Buffer:void 0,ks=Fe?Fe.isBuffer:void 0;var zr="[object Arguments]",Vr="[object Array]",Rr="[object Boolean]",Gr="[object Date]",qr="[object Error]",Hr="[object Function]",Qr="[object Map]",Yr="[object Number]",Zr="[object Object]",Kr="[object RegExp]",Wr="[object Set]",Jr="[object String]",Xr="[object WeakMap]",ei="[object ArrayBuffer]",ti="[object DataView]",ri="[object Float32Array]",ii="[object Float64Array]",ni="[object Int8Array]",oi="[object Int16Array]",ai="[object Int32Array]",li="[object Uint8Array]",si="[object Uint8ClampedArray]",ci="[object Uint16Array]",ui="[object Uint32Array]",v={};v[ri]=v[ii]=v[ni]=v[oi]=v[ai]=v[li]=v[si]=v[ci]=v[ui]=!0;v[zr]=v[Vr]=v[ei]=v[Rr]=v[ti]=v[Gr]=v[qr]=v[Hr]=v[Qr]=v[Yr]=v[Zr]=v[Kr]=v[Wr]=v[Jr]=v[Xr]=!1;function di(e){return Ie(e)&&Nr(e.length)&&!!v[Y(e)]}var pi=di;function gi(e){return function(t){return e(t)}}var mi=gi,rt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,q=rt&&typeof module=="object"&&module&&!module.nodeType&&module,bi=q&&q.exports===rt,fe=bi&&We.process,fi=function(){try{var e=q&&q.require&&q.require("util").types;return e||fe&&fe.binding&&fe.binding("util")}catch{}}(),ze=fi,Ve=ze&&ze.isTypedArray,ws=Ve?mi(Ve):pi;var hi=Object.prototype,Is=hi.hasOwnProperty;function yi(e,t){return function(r){return e(t(r))}}var vi=yi,As=vi(Object.keys,Object);var ki=Object.prototype,Ss=ki.hasOwnProperty;var wi=$(Object,"create"),H=wi;function Ii(){this.__data__=H?H(null):{},this.size=0}var Ai=Ii;function Si(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ci=Si,xi="__lodash_hash_undefined__",Ei=Object.prototype,Mi=Ei.hasOwnProperty;function ji(e){var t=this.__data__;if(H){var r=t[e];return r===xi?void 0:r}return Mi.call(t,e)?t[e]:void 0}var Pi=ji,$i=Object.prototype,Oi=$i.hasOwnProperty;function Li(e){var t=this.__data__;return H?t[e]!==void 0:Oi.call(t,e)}var _i=Li,Ni="__lodash_hash_undefined__";function Di(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=H&&t===void 0?Ni:t,this}var Ti=Di;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=Ai;O.prototype.delete=Ci;O.prototype.get=Pi;O.prototype.has=_i;O.prototype.set=Ti;var Re=O;function Ui(){this.__data__=[],this.size=0}var Bi=Ui;function Fi(e,t){for(var r=e.length;r--;)if(Or(e[r][0],t))return r;return-1}var oe=Fi,zi=Array.prototype,Vi=zi.splice;function Ri(e){var t=this.__data__,r=oe(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Vi.call(t,r,1),--this.size,!0}var Gi=Ri;function qi(e){var t=this.__data__,r=oe(t,e);return r<0?void 0:t[r][1]}var Hi=qi;function Qi(e){return oe(this.__data__,e)>-1}var Yi=Qi;function Zi(e,t){var r=this.__data__,i=oe(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Ki=Zi;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=Bi;L.prototype.delete=Gi;L.prototype.get=Hi;L.prototype.has=Yi;L.prototype.set=Ki;var ae=L,Wi=$(A,"Map"),Q=Wi;function Ji(){this.size=0,this.__data__={hash:new Re,map:new(Q||ae),string:new Re}}var Xi=Ji;function en(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var tn=en;function rn(e,t){var r=e.__data__;return tn(t)?r[typeof t=="string"?"string":"hash"]:r.map}var le=rn;function nn(e){var t=le(this,e).delete(e);return this.size-=t?1:0,t}var on=nn;function an(e){return le(this,e).get(e)}var ln=an;function sn(e){return le(this,e).has(e)}var cn=sn;function un(e,t){var r=le(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var dn=un;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=Xi;_.prototype.delete=on;_.prototype.get=ln;_.prototype.has=cn;_.prototype.set=dn;var it=_;function pn(){this.__data__=new ae,this.size=0}var gn=pn;function mn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var bn=mn;function fn(e){return this.__data__.get(e)}var hn=fn;function yn(e){return this.__data__.has(e)}var vn=yn,kn=200;function wn(e,t){var r=this.__data__;if(r instanceof ae){var i=r.__data__;if(!Q||i.length<kn-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 In=wn;function Z(e){var t=this.__data__=new ae(e);this.size=t.size}Z.prototype.clear=gn;Z.prototype.delete=bn;Z.prototype.get=hn;Z.prototype.has=vn;Z.prototype.set=In;var An=Object.prototype,Cs=An.propertyIsEnumerable;var Sn=$(A,"DataView"),ye=Sn,Cn=$(A,"Promise"),ve=Cn,xn=$(A,"Set"),ke=xn,Ge="[object Map]",En="[object Object]",qe="[object Promise]",He="[object Set]",Qe="[object WeakMap]",Ye="[object DataView]",Mn=x(ye),jn=x(Q),Pn=x(ve),$n=x(ke),On=x(he),j=Y;(ye&&j(new ye(new ArrayBuffer(1)))!=Ye||Q&&j(new Q)!=Ge||ve&&j(ve.resolve())!=qe||ke&&j(new ke)!=He||he&&j(new he)!=Qe)&&(j=function(e){var t=Y(e),r=t==En?e.constructor:void 0,i=r?x(r):"";if(i)switch(i){case Mn:return Ye;case jn:return Ge;case Pn:return qe;case $n:return He;case On:return Qe}return t});var xs=A.Uint8Array;var Ln="__lodash_hash_undefined__";function _n(e){return this.__data__.set(e,Ln),this}var Nn=_n;function Dn(e){return this.__data__.has(e)}var Tn=Dn;function we(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new it;++t<r;)this.add(e[t])}we.prototype.add=we.prototype.push=Nn;we.prototype.has=Tn;var Ze=P?P.prototype:void 0,Es=Ze?Ze.valueOf:void 0;var Un=Object.prototype,Ms=Un.hasOwnProperty;var Bn=Object.prototype,js=Bn.hasOwnProperty;var Ps=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),$s=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Os=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 K(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),o=new Blob([n],{type:r});return URL.createObjectURL(o)}else return e}async function nt(e,t){let r=await K(e,t);return new Promise((i,n)=>{let o=new Image;o.onload=()=>{i({width:o.width,height:o.height})},o.onerror=n,o.src=r})}async function Se(e,t,r){let i,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return K(i,t)}function Fn(e){return e!==void 0}var ot=Fn,se={Formats:Vt};function zn(e,t){let{cesdk:r}=t,i=t.propertyKey??"image_url",n=Me(e);return r.i18n.setTranslations({en:{[`panel.${n}`]:"Select Image To Change"}}),Vn(e,r),{[i]:(o,a)=>{let{builder:l,experimental:{global:p},payload:c}=o,d=c?.url??t.defaultUrl,s=p(`${e}.${a.id}`,d);return l.MediaPreview(a.id,{preview:{type:"image",uri:s.value},action:{label:"Select Image",onClick:()=>{r?.ui.openPanel(n,{payload:{onSelect:f=>{f.meta?.uri!=null&&s.setValue(f.meta?.uri)}}})}}}),()=>({id:a.id,type:"string",value:s.value})}}}function Vn(e,t){t?.ui.registerPanel(Me(e),({builder:r,payload:i})=>{r.Library(`${e}.library.image`,{entries:["ly.img.image"],onSelect:async n=>{let o=n?.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/")?(i?.onSelect(n),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 Rn=zn,Gn=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:n,query:o,tags:a,groups:l,excludeGroups:p,sortingOrder:c,sortKey:d}=e,s=[...this.assets];if(l&&l.length>0&&(s=s.filter(u=>u.groups&&l.some(b=>u.groups?.includes(b)))),p&&p.length>0&&(s=s.filter(u=>!u.groups||!p.some(b=>u.groups?.includes(b)))),o){let u=o.toLowerCase();s=s.filter(b=>{let g=b.label?.[i]?.toLowerCase(),m=b.tags?.[i]||[];return g&&g.includes(u)||m.some(M=>M.toLowerCase().includes(u))})}if(a&&a.length>0){let u=Array.isArray(a)?a:[a];s=s.filter(b=>{let g=b.tags?.[i]||[];return u.some(m=>g.includes(m))})}n&&s.sort((u,b)=>{let g=this.activeAssetIds.has(u.id),m=this.activeAssetIds.has(b.id);return g&&!m?-1:!g&&m?1:0}),d&&d!=="id"?s.sort((u,b)=>{let g=u.meta?.[d],m=b.meta?.[d];return g===void 0?1:m===void 0?-1:typeof g=="string"&&typeof m=="string"?c==="Descending"?m.localeCompare(g):g.localeCompare(m):typeof g=="number"&&typeof m=="number"?c==="Descending"?m-g:g-m:0}):d==="id"&&s.sort((u,b)=>c==="Descending"?b.id.localeCompare(u.id):u.id.localeCompare(b.id));let f=s.length,h=t*r,w=h+r,y=s.slice(h,w).map(u=>({id:u.id,groups:u.groups,meta:u.meta,payload:u.payload,locale:i,label:u.label?.[i],tags:u.tags?.[i],active:this.activeAssetIds.has(u.id)})),I=w<f?t+1:void 0;return{assets:y,currentPage:t,nextPage:I,total:f}}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 qn=typeof global=="object"&&global&&global.Object===Object&&global,wt=qn,Hn=typeof self=="object"&&self&&self.Object===Object&&self,Qn=wt||Hn||Function("return this")(),S=Qn,Yn=S.Symbol,D=Yn,It=Object.prototype,Zn=It.hasOwnProperty,Kn=It.toString,W=D?D.toStringTag:void 0;function Wn(e){var t=Zn.call(e,W),r=e[W];try{e[W]=void 0;var i=!0}catch{}var n=Kn.call(e);return i&&(t?e[W]=r:delete e[W]),n}var Jn=Wn,Xn=Object.prototype,eo=Xn.toString;function to(e){return eo.call(e)}var ro=to,io="[object Null]",no="[object Undefined]",at=D?D.toStringTag:void 0;function oo(e){return e==null?e===void 0?no:io:at&&at in Object(e)?Jn(e):ro(e)}var re=oo;function ao(e){return e!=null&&typeof e=="object"}var _e=ao,Ns=Array.isArray;function lo(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var At=lo,so="[object AsyncFunction]",co="[object Function]",uo="[object GeneratorFunction]",po="[object Proxy]";function go(e){if(!At(e))return!1;var t=re(e);return t==co||t==uo||t==so||t==po}var mo=go,bo=S["__core-js_shared__"],Ce=bo,lt=function(){var e=/[^.]+$/.exec(Ce&&Ce.keys&&Ce.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function fo(e){return!!lt&< in e}var ho=fo,yo=Function.prototype,vo=yo.toString;function ko(e){if(e!=null){try{return vo.call(e)}catch{}try{return e+""}catch{}}return""}var E=ko,wo=/[\\^$.*+?()[\]{}|]/g,Io=/^\[object .+?Constructor\]$/,Ao=Function.prototype,So=Object.prototype,Co=Ao.toString,xo=So.hasOwnProperty,Eo=RegExp("^"+Co.call(xo).replace(wo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Mo(e){if(!At(e)||ho(e))return!1;var t=mo(e)?Eo:Io;return t.test(E(e))}var jo=Mo;function Po(e,t){return e?.[t]}var $o=Po;function Oo(e,t){var r=$o(e,t);return jo(r)?r:void 0}var T=Oo,Lo=T(S,"WeakMap"),je=Lo;function _o(e,t){return e===t||e!==e&&t!==t}var No=_o,Do=9007199254740991;function To(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Do}var Uo=To,Ds=Object.prototype,Bo="[object Arguments]";function Fo(e){return _e(e)&&re(e)==Bo}var st=Fo,St=Object.prototype,zo=St.hasOwnProperty,Vo=St.propertyIsEnumerable,Ts=st(function(){return arguments}())?st:function(e){return _e(e)&&zo.call(e,"callee")&&!Vo.call(e,"callee")},Ct=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ct=Ct&&typeof module=="object"&&module&&!module.nodeType&&module,Ro=ct&&ct.exports===Ct,ut=Ro?S.Buffer:void 0,Us=ut?ut.isBuffer:void 0,Go="[object Arguments]",qo="[object Array]",Ho="[object Boolean]",Qo="[object Date]",Yo="[object Error]",Zo="[object Function]",Ko="[object Map]",Wo="[object Number]",Jo="[object Object]",Xo="[object RegExp]",ea="[object Set]",ta="[object String]",ra="[object WeakMap]",ia="[object ArrayBuffer]",na="[object DataView]",oa="[object Float32Array]",aa="[object Float64Array]",la="[object Int8Array]",sa="[object Int16Array]",ca="[object Int32Array]",ua="[object Uint8Array]",da="[object Uint8ClampedArray]",pa="[object Uint16Array]",ga="[object Uint32Array]",k={};k[oa]=k[aa]=k[la]=k[sa]=k[ca]=k[ua]=k[da]=k[pa]=k[ga]=!0;k[Go]=k[qo]=k[ia]=k[Ho]=k[na]=k[Qo]=k[Yo]=k[Zo]=k[Ko]=k[Wo]=k[Jo]=k[Xo]=k[ea]=k[ta]=k[ra]=!1;function ma(e){return _e(e)&&Uo(e.length)&&!!k[re(e)]}var ba=ma;function fa(e){return function(t){return e(t)}}var ha=fa,xt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,X=xt&&typeof module=="object"&&module&&!module.nodeType&&module,ya=X&&X.exports===xt,xe=ya&&wt.process,va=function(){try{var e=X&&X.require&&X.require("util").types;return e||xe&&xe.binding&&xe.binding("util")}catch{}}(),dt=va,pt=dt&&dt.isTypedArray,Bs=pt?ha(pt):ba,ka=Object.prototype,Fs=ka.hasOwnProperty;function wa(e,t){return function(r){return e(t(r))}}var Ia=wa,zs=Ia(Object.keys,Object),Aa=Object.prototype,Vs=Aa.hasOwnProperty,Sa=T(Object,"create"),ee=Sa;function Ca(){this.__data__=ee?ee(null):{},this.size=0}var xa=Ca;function Ea(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ma=Ea,ja="__lodash_hash_undefined__",Pa=Object.prototype,$a=Pa.hasOwnProperty;function Oa(e){var t=this.__data__;if(ee){var r=t[e];return r===ja?void 0:r}return $a.call(t,e)?t[e]:void 0}var La=Oa,_a=Object.prototype,Na=_a.hasOwnProperty;function Da(e){var t=this.__data__;return ee?t[e]!==void 0:Na.call(t,e)}var Ta=Da,Ua="__lodash_hash_undefined__";function Ba(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ee&&t===void 0?Ua:t,this}var Fa=Ba;function U(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])}}U.prototype.clear=xa;U.prototype.delete=Ma;U.prototype.get=La;U.prototype.has=Ta;U.prototype.set=Fa;var gt=U;function za(){this.__data__=[],this.size=0}var Va=za;function Ra(e,t){for(var r=e.length;r--;)if(No(e[r][0],t))return r;return-1}var ce=Ra,Ga=Array.prototype,qa=Ga.splice;function Ha(e){var t=this.__data__,r=ce(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():qa.call(t,r,1),--this.size,!0}var Qa=Ha;function Ya(e){var t=this.__data__,r=ce(t,e);return r<0?void 0:t[r][1]}var Za=Ya;function Ka(e){return ce(this.__data__,e)>-1}var Wa=Ka;function Ja(e,t){var r=this.__data__,i=ce(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Xa=Ja;function B(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])}}B.prototype.clear=Va;B.prototype.delete=Qa;B.prototype.get=Za;B.prototype.has=Wa;B.prototype.set=Xa;var ue=B,el=T(S,"Map"),te=el;function tl(){this.size=0,this.__data__={hash:new gt,map:new(te||ue),string:new gt}}var rl=tl;function il(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var nl=il;function ol(e,t){var r=e.__data__;return nl(t)?r[typeof t=="string"?"string":"hash"]:r.map}var de=ol;function al(e){var t=de(this,e).delete(e);return this.size-=t?1:0,t}var ll=al;function sl(e){return de(this,e).get(e)}var cl=sl;function ul(e){return de(this,e).has(e)}var dl=ul;function pl(e,t){var r=de(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var gl=pl;function F(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])}}F.prototype.clear=rl;F.prototype.delete=ll;F.prototype.get=cl;F.prototype.has=dl;F.prototype.set=gl;var Et=F;function ml(){this.__data__=new ue,this.size=0}var bl=ml;function fl(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var hl=fl;function yl(e){return this.__data__.get(e)}var vl=yl;function kl(e){return this.__data__.has(e)}var wl=kl,Il=200;function Al(e,t){var r=this.__data__;if(r instanceof ue){var i=r.__data__;if(!te||i.length<Il-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Et(i)}return r.set(e,t),this.size=r.size,this}var Sl=Al;function ie(e){var t=this.__data__=new ue(e);this.size=t.size}ie.prototype.clear=bl;ie.prototype.delete=hl;ie.prototype.get=vl;ie.prototype.has=wl;ie.prototype.set=Sl;var Cl=Object.prototype,Rs=Cl.propertyIsEnumerable,xl=T(S,"DataView"),Pe=xl,El=T(S,"Promise"),$e=El,Ml=T(S,"Set"),Oe=Ml,mt="[object Map]",jl="[object Object]",bt="[object Promise]",ft="[object Set]",ht="[object WeakMap]",yt="[object DataView]",Pl=E(Pe),$l=E(te),Ol=E($e),Ll=E(Oe),_l=E(je),N=re;(Pe&&N(new Pe(new ArrayBuffer(1)))!=yt||te&&N(new te)!=mt||$e&&N($e.resolve())!=bt||Oe&&N(new Oe)!=ft||je&&N(new je)!=ht)&&(N=function(e){var t=re(e),r=t==jl?e.constructor:void 0,i=r?E(r):"";if(i)switch(i){case Pl:return yt;case $l:return mt;case Ol:return bt;case Ll:return ft;case _l:return ht}return t});var Gs=S.Uint8Array,Nl="__lodash_hash_undefined__";function Dl(e){return this.__data__.set(e,Nl),this}var Tl=Dl;function Ul(e){return this.__data__.has(e)}var Bl=Ul;function Le(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Et;++t<r;)this.add(e[t])}Le.prototype.add=Le.prototype.push=Tl;Le.prototype.has=Bl;var vt=D?D.prototype:void 0,qs=vt?vt.valueOf:void 0,Fl=Object.prototype,Hs=Fl.hasOwnProperty,zl=Object.prototype,Qs=zl.hasOwnProperty,Ys=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Zs=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ks=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Vl(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),o=new Blob([n],{type:r});return URL.createObjectURL(o)}else return e}async function z(e,t,r){let i,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Vl(i,t)}function Rl(e){return e!==void 0}var Gl=Rl;function ql(e,t){let{cesdk:r}=t;if(r==null)return{};let i=t.propertyKey??"style",n=Ql(e);r.i18n.setTranslations({en:{[`panel.${n}`]:"Select Style",[`${e}.${i}`]:"Style"}});let o=Zl({baseURL:t.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",includeNone:!0}),a=o;t.styles!=null&&(Array.isArray(t.styles)?a=t.styles:typeof t.styles=="function"&&(a=t.styles(o)));let l=Kl({cesdk:r,providerId:e,styles:a}),p=l.id;return Wl(l,{cesdk:r}),Hl({providerId:e,cesdk:r,panelId:n,entryId:p}),{[t.propertyKeyForPrompt??"prompt"]:(c,d)=>{let s=c.state("prompt","");return c.builder.TextArea(`${d.id}`,{inputLabel:t.i18n?.prompt?.inputLabel??t.propertyKeyForPrompt??"prompt",placeholder:t.i18n?.prompt?.placeholder,...s}),()=>{let[f]=l.getActiveAssetIds(),h=l.getAsset(f);return{id:d.id,type:"string",value:h?.meta?.prompt==null?s.value:`${s.value}; ${h.meta.prompt}`}}},[i]:(c,d)=>{let{builder:s,state:f}=c;if(a.length>0){let h=f("style",a[0]);return s.Button(`${d.id}`,{inputLabel:`${e}.${d.id}`,icon:"@imgly/Appearance",isDisabled:a.length===0,trailingIcon:"@imgly/ChevronRight",label:h.value.label,labelAlignment:"left",onClick:()=>{let w={onSelect:async y=>{l.clearActiveAssets(),l.setAssetActive(y.id),h.setValue({id:y.id,label:y.label??y.id}),r.ui.closePanel(n)}};r.ui.openPanel(n,{payload:w})}}),()=>({id:d.id,type:"string",value:h.value.id})}return()=>({id:d.id,type:"string",value:"none"})}}}function Hl(e){let{providerId:t,cesdk:r,panelId:i,entryId:n}=e;r?.ui.registerPanel(i,({builder:o,payload:a})=>{a?.onSelect==null&&o.Section(`${t}.error`,{children:()=>{o.Text("error",{content:"No onSelect function provided for the style selection panel."})}}),o.Library(`${t}.library.image`,{entries:[n],onSelect:async l=>{a?.onSelect?.(l)}})})}function Ql(e){return`ly.img.ai/${e}.styleSelection`}var Yl=[{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 Zl(e){return Yl.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(Gl)}var Kl=e=>{let t=e.styles.map(a=>({...a,meta:{prompt:a.prompt}})),r=e.cesdk.engine.asset.findAllSources(),i=`${e.providerId}/styles`;for(;r.includes(i);)i+=`-${Math.random().toString(36).substring(2,5)}`;let n=new Gn(i,t),o=e.styles[0];return n.setAssetActive(o.id),n},Wl=(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"})},Jl=ql;var Xl="ly.img.ai";function ne(e){return`${Xl}/${e}`}var Ee="@imgly/plugin-ai-generation",Ws=`
|
|
68
68
|
<svg>
|
|
69
69
|
<symbol
|
|
70
70
|
fill="none"
|
|
@@ -125,7 +125,7 @@ var Gt=`
|
|
|
125
125
|
|
|
126
126
|
</symbol>
|
|
127
127
|
</svg>
|
|
128
|
-
`;var It="ly.img.ai.quickAction.order",J="ly.img.ai.quickAction.actions";function rs(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 i=e.ui.experimental.getGlobalStateValue(`${J}.${t}`,{});e.ui.experimental.setGlobalStateValue(`${J}.${t}`,{...i,[r.id]:r})}},getQuickAction:r=>e.ui.experimental.getGlobalStateValue(`${J}.${t}`,{})[r]}}var Ne=rs;function is(e){let t=e.quickAction.id;return{confirmation:!0,lockDuringConfirmation:!1,...e.quickAction,render:({builder:r},{toggleExpand:i})=>{r.Button(`${t}.button`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",...e.buttonOptions,onClick:i})},renderExpanded:({builder:r,state:i,experimental:n},o)=>{let a=i(`${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`),n.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=is;function ns(e){let t=e.quickAction.id;return{confirmation:!0,lockDuringConfirmation:!1,...e.quickAction,render:({builder:r},i)=>{r.Button(`${t}.button`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",...e.buttonOptions,onClick:async()=>{try{e.onClick(i),i.closeMenu()}catch(n){i.handleGenerationError(n)}}})}}}var Pt=ns;function os(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:i},n)=>{i.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:()=>{i.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:p}=n;try{l();let[d]=e.cesdk.engine.block.findAllSelected(),s=await j(d,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let c=e.mapInput({item:o,uri:s,blockId:d});return await a(c)}else{if(e.onApply)return await e.onApply({item:o,uri:s,blockId:d},n);throw new Error("Please provide either mapInput or onApply")}}catch(d){p(d)}}})})}})}})}})}}}var $t=os;function as(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:i},n)=>{i.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:p}=n;try{l();let[d]=e.cesdk.engine.block.findAllSelected(),s=await j(d,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let c=e.mapInput({assetResult:o,uri:s,blockId:d});await a(c)}else if(e.onApply)await e.onApply({assetResult:o,uri:s,blockId:d},n);else throw new Error("Please provide either mapInput or onApply")}catch(d){p(d)}}})}})}}}var Ot=as;function ls(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 i=r.block.findAllSelected();if(i==null||i.length!==1)return!1;let[n]=i;return r.block.getType(n)==="//ly.img.ubq/text"}},onApply:async(r,i)=>{let[n]=e.cesdk.engine.block.findAllSelected(),o=e.cesdk.engine.block.getParent(n);if(o==null)throw new Error("Parent block not found");let a=await e.cesdk.engine.block.export(n),l=URL.createObjectURL(a),p=e.cesdk.engine.block.getFrameWidth(n),d=e.cesdk.engine.block.getFrameHeight(n),s=e.cesdk.engine.block.getPositionX(n),c=e.cesdk.engine.block.getPositionY(n),g=e.cesdk.engine.block.createShape("rect"),m=e.cesdk.engine.block.create("graphic");e.cesdk.engine.block.setShape(m,g),e.cesdk.engine.block.appendChild(o,m),e.cesdk.engine.block.setWidth(m,p),e.cesdk.engine.block.setHeight(m,d),e.cesdk.engine.block.setPositionX(m,s),e.cesdk.engine.block.setPositionY(m,c);let v=e.cesdk.engine.block.createFill("image");e.cesdk.engine.block.setString(v,"fill/image/imageFileURI",l),e.cesdk.engine.block.setFill(m,v),e.cesdk.engine.block.destroy(n),e.cesdk.engine.block.setSelected(m,!0);let y=await j(m,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let I=e.mapInput({prompt:r,uri:y,duplicatedBlockId:m});return i.generate(I)}else{if(e.onApply)return e.onApply({prompt:r,uri:y,duplicatedBlockId:m},i);throw new Error("Please provide either mapInput or onApply")}}})}var Lt=ls;function ss(){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 i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var R=ss;function cs(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,i)=>{let[n]=e.cesdk.engine.block.findAllSelected(),o=await j(n,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let a=e.mapInput({prompt:r,uri:o,blockId:n});return i.generate(a)}else{if(e.onApply)return e.onApply({prompt:r,uri:o,blockId:n},i);throw new Error("Please provide either mapInput or onApply")}}})}var _t=cs;function us(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[i]=r.engine.block.findAllSelected();return!(!e.cesdk.feature.isEnabled("ly.img.duplicate",{engine:r.engine})||!r.engine.block.isAllowedByScope(i,"lifecycle/duplicate"))}},onApply:async(r,i)=>{let n=e.cesdk.engine,[o]=n.block.findAllSelected(),a=n.block.getType(o),l=n.block.duplicate(o);a==="//ly.img.ubq/page"&&n.block.getChildren(l).forEach(s=>{n.block.destroy(s)}),n.block.setSelected(o,!1),n.block.setSelected(l,!0);let p=n.block.getParent(l);if(p==null)throw new Error("Parent not found");if(!(p!=null&&n.block.getType(p)==="//ly.img.ubq/track"&&n.block.isPageDurationSource(p))&&a!=="//ly.img.ubq/page"){let s=n.block.getWidth(p),c=n.block.getHeight(p),g=.02*Math.min(s,c)*1;n.block.setPositionX(l,n.block.getPositionX(l)+g),n.block.setPositionY(l,n.block.getPositionY(l)+g)}let d=await j(l,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let s=e.mapInput({prompt:r,uri:d,duplicatedBlockId:l});return i.generate(s)}else{if(e.onApply)return e.onApply({prompt:r,uri:d,duplicatedBlockId:l},i);throw new Error("Please provide either mapInput or onApply")}}})}var Nt=us;function ds(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 i=r.engine.block.findAllSelected();return i==null||i.length<2?!1:i.every(n=>{if(r.engine.block.getType(n)!=="//ly.img.ubq/graphic"&&!r.engine.block.supportsFill(n))return!1;let o=r.engine.block.getFill(n);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(n,"lifecycle/duplicate"))return!1;let a=r.engine.block.getParent(n);return!(a!=null&&r.engine.block.getType(a)==="//ly.img.ubq/track"&&r.engine.block.isPageDurationSource(a)||r.engine.block.getType(n)==="//ly.img.ubq/page")})}},onApply:async(r,i)=>{let n=e.cesdk.engine,o=n.block.findAllSelected(),a=n.block.duplicate(o[0]);o.forEach(m=>{n.block.setSelected(m,!1)}),n.block.setSelected(a,!0);let l=n.block.getParent(a);if(l==null)throw new Error("Parent not found");let p=1,d=n.block.getWidth(l),s=n.block.getHeight(l),c=.02*Math.min(d,s)*p;n.block.setPositionX(a,n.block.getPositionX(a)+c),n.block.setPositionY(a,n.block.getPositionY(a)+c);let g=await Promise.all(o.map(m=>j(m,e.cesdk.engine,{throwErrorIfSvg:!0})));if(e.mapInput){let m=e.mapInput({prompt:r,uris:g,duplicatedBlockId:a});return i.generate(m)}else{if(e.onApply)return e.onApply({prompt:r,uris:g,duplicatedBlockId:a},i);throw new Error("Please provide either mapInput or onApply")}}})}var Dt=ds;function ps(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,i)=>{let[n]=e.cesdk.engine.block.findAllSelected(),o=await j(n,e.cesdk.engine,{throwErrorIfSvg:!0}),a=`Swap the background to ${r}`;if(e.mapInput){let l=e.mapInput({prompt:a,uri:o,blockId:n});return i.generate(l)}else{if(e.onApply)return e.onApply({prompt:a,uri:o,blockId:n},i);throw new Error("Please provide either mapInput or onApply")}}})}var Tt=ps,Ut={ImageUrl:qn,StyleTransfer:es};var Bt={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,i=atob(r),n=[];for(let l=0;l<i.length;l++)n.push(i.charCodeAt(l));let o=new Uint8Array(n);return new Blob([o],{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"}],ge=(e,t)=>{let r=x.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),i=new Je(e,r),n=x[0];return i.setAssetActive(n.id),i},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 Ft(e){return async({cesdk:t})=>ms(t,e)}function ms(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/",n=`${r}/styles`,o=ge(n,{baseURL:i,includeNone:!0});return me(o,{cesdk:e}),e.ui.registerPanel(`${ne(r)}.styleSelection`,({builder:l,payload:p})=>{if(p==null)return null;l.Library(`${r}.library.style`,{entries:[n],onSelect:async d=>{p.onSelect(d)}})}),e.ui.addIconSet("@imgly/plugin/formats",se.Formats),e.i18n.setTranslations({en:{[`panel.${ne(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:Bt,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{style:({builder:l,state:p},d)=>{let s=p("style",o.getAssetSelectValue(o.getActiveAssetIds()[0])??x[0]);return l.Button(`${d.id}`,{inputLabel:`${r}.${d.id}`,icon:"@imgly/Appearance",trailingIcon:"@imgly/ChevronRight",label:s.value.label,labelAlignment:"left",onClick:()=>{let c={onSelect:async g=>{let m={id:g.id,label:g.label??g.id};o.clearActiveAssets(),o.setAssetActive(g.id),s.setValue(m),e.ui.closePanel(`${ne(r)}.styleSelection`)}};e.ui.openPanel(`${ne(r)}.styleSelection`,{payload:c})}}),()=>({id:d.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:p})=>{let d=x.find(f=>f.id===l.style),s=l.prompt;d!=null&&d.id!=="none"&&d.prompt&&(s=`${s}, ${d.prompt}`);let c=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),g=c?"https://api.openai.com/v1":t.proxyUrl,y=(await(await fetch(`${g}/images/generations`,{signal:p,method:"POST",headers:c?{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:s,n:1,size:l.size,background:l.background})})).json()).data?.[0].b64_json;if(y==null)throw new Error("No image data returned");let I=pe(y,"image/png");return{kind:"image",url:URL.createObjectURL(I)}}}}}var zt={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 fs}from"@cesdk/cesdk-js";function Vt(e){return async({cesdk:t})=>hs(t,e)}function hs(e,t){let r="open-ai/gpt-image-1/image2image";e.ui.addIconSet("@imgly/plugin/formats",se.Formats);let i="https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",n=ys({cesdk:e,modelKey:r}),o=Ne(e,"image"),a=Ne(e,"text"),l=`${r}/styles`,p=ge(l,{baseURL:i});return me(p,{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:zt,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{...e!=null?Ut.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:c,height:g}=await at(s.image_url,e.engine);return Promise.resolve({image:{width:c,height:g}})},userFlow:"placeholder"},quickActions:{actions:n??[]}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middleware??[],generate:async(s,{abortSignal:c})=>{let g=new FormData;if(Array.isArray(s.image_url))s.exportFromBlockIds!=null?await Promise.all(s.exportFromBlockIds.map(async b=>{let A=await e.engine.block.export(b,fs.Jpeg,{targetHeight:1024,targetWidth:1024});g.append("image[]",A,`image_${b}.jpeg`)})):await Promise.all(s.image_url.map(async b=>{let A=await e.engine.editor.getMimeType(b),De=await K(b,e.engine),Rt=await(await fetch(De)).blob();g.append("image[]",Rt,`image.${Ae(A)}`)}));else{let b=await e.engine.editor.getMimeType(s.image_url),A=await K(s.image_url,e.engine),Te=await(await fetch(A)).blob();g.append("image",Te,`image.${Ae(b)}`)}g.append("prompt",s.prompt),g.append("model","gpt-image-1"),g.append("size","auto"),g.append("n","1");let m=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),v=m?"https://api.openai.com/v1":t.proxyUrl,u=(await(await fetch(`${v}/images/edits`,{signal:c,method:"POST",headers:m?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`,...t.headers??{}}:{...t.headers??{}},body:g})).json()).data?.[0].b64_json;if(u==null)throw new Error("No image data returned");let f=pe(u,"image/png");return{kind:"image",url:URL.createObjectURL(f)}}}}}function ys(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(i,n)=>{let[o]=t.engine.block.findAllSelected(),a=await Se(o,t.engine,{throwErrorIfSvg:!0}),l=i.assetResult.id,p=x.find(({id:d})=>d===l);if(p==null)throw new Error(`Style not found: ${l}`);return n.generate({prompt:p.prompt,image_url:a})}}),$t({cesdk:t,items:x.filter(({id:i})=>i!=="none"),quickAction:{id:"changeStyle",version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(i,n)=>{let[o]=t.engine.block.findAllSelected(),a=await Se(o,t.engine,{throwErrorIfSvg:!0});return n.generate({prompt:i.item.prompt,image_url:a})}}),Lt({onApply:async({prompt:i,uri:n,duplicatedBlockId:o},a)=>a.generate({prompt:i,image_url:n},{blockIds:[o]}),cesdk:t}),Tt({mapInput:i=>({...i,image_url:i.uri}),cesdk:t}),_t({mapInput:i=>({...i,image_url:i.uri}),cesdk:t}),Nt({onApply:async({prompt:i,uri:n,duplicatedBlockId:o},a)=>a.generate({prompt:i,image_url:n},{blockIds:[o]}),cesdk:t}),Dt({onApply:async({prompt:i,uris:n,duplicatedBlockId:o},a)=>a.generate({prompt:i,image_url:n,exportFromBlockIds:a.blockIds},{blockIds:[o]}),cesdk:t}),Pt({quickAction:{id:"remixPage",version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate"],enable:({engine:i})=>{let n=i.block.findAllSelected();if(n.length!==1)return!1;let o=n[0];return i.block.getType(o)==="//ly.img.ubq/page"}},onClick:async i=>{let n=t.engine,[o]=n.block.findAllSelected(),a=await n.block.export(o),l=URL.createObjectURL(a),p=n.block.duplicate(o);n.block.getChildren(p).forEach(I=>{n.block.destroy(I)}),n.block.setSelected(o,!1);let d=t.engine.block.getFrameWidth(o),s=t.engine.block.getFrameHeight(o),c=t.engine.block.getPositionX(o),g=t.engine.block.getPositionY(o),m=t.engine.block.createShape("rect"),v=t.engine.block.create("graphic");t.engine.block.setShape(v,m),t.engine.block.appendChild(p,v),t.engine.block.setWidth(v,d),t.engine.block.setHeight(v,s),t.engine.block.setPositionX(v,c),t.engine.block.setPositionY(v,g);let y=t.engine.block.createFill("image");t.engine.block.setFill(v,y),t.engine.block.setString(y,"fill/image/imageFileURI",l),n.block.setSelected(v,!0),n.scene.zoomToBlock(v),i.generate({image_url:l,prompt:"Follow instructions but don\u2019t add the instructions for the image"},{blockIds:[v]})}}),P({quickAction:{id:"remixPageWithPrompt",version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate"],enable:({engine:i})=>{let n=i.block.findAllSelected();if(n.length!==1)return!1;let o=n[0];return i.block.getType(o)==="//ly.img.ubq/page"}},onApply:async(i,n)=>{let o=t.engine,[a]=o.block.findAllSelected(),l=await o.block.export(a),p=URL.createObjectURL(l),d=o.block.duplicate(a);o.block.getChildren(d).forEach(u=>{o.block.destroy(u)}),o.block.setSelected(a,!1);let s=t.engine.block.getFrameWidth(a),c=t.engine.block.getFrameHeight(a),g=t.engine.block.getPositionX(a),m=t.engine.block.getPositionY(a),v=t.engine.block.createShape("rect"),y=t.engine.block.create("graphic");t.engine.block.setShape(y,v),t.engine.block.appendChild(d,y),t.engine.block.setWidth(y,s),t.engine.block.setHeight(y,c),t.engine.block.setPositionX(y,g),t.engine.block.setPositionY(y,m);let I=t.engine.block.createFill("image");return t.engine.block.setFill(y,I),t.engine.block.setString(I,"fill/image/imageFileURI",p),o.block.setSelected(y,!0),o.scene.zoomToBlock(y),n.generate({image_url:p,prompt:i},{blockIds:[y]})}})]}var vs={GptImage1:{Text2Image:Ft,Image2Image:Vt}},Ec=vs;export{Ec as default};
|
|
128
|
+
`;var kt="ly.img.ai.quickAction.order",J="ly.img.ai.quickAction.actions";function es(e,t){return{id:t,setQuickActionMenuOrder:r=>{e.ui.experimental.setGlobalStateValue(`${kt}.${t}`,r)},getQuickActionMenuOrder:()=>e.ui.experimental.getGlobalStateValue(`${kt}.${t}`,[]),registerQuickAction:r=>{if(!e.ui.experimental.hasGlobalStateValue(`${J}.${t}`))e.ui.experimental.setGlobalStateValue(`${J}.${t}`,{[r.id]:r});else{let i=e.ui.experimental.getGlobalStateValue(`${J}.${t}`,{});e.ui.experimental.setGlobalStateValue(`${J}.${t}`,{...i,[r.id]:r})}},getQuickAction:r=>e.ui.experimental.getGlobalStateValue(`${J}.${t}`,{})[r]}}var Mt=es;function ts(e){let t=e.quickAction.id;return{confirmation:!0,lockDuringConfirmation:!1,...e.quickAction,render:({builder:r},{toggleExpand:i})=>{r.Button(`${t}.button`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",...e.buttonOptions,onClick:i})},renderExpanded:({builder:r,state:i,experimental:n},o)=>{let a=i(`${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`),n.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 V=ts;function rs(e){let t=e.quickAction.id;return{confirmation:!0,lockDuringConfirmation:!1,...e.quickAction,render:({builder:r},i)=>{r.Button(`${t}.button`,{label:`ly.img.ai.quickAction.${t}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",...e.buttonOptions,onClick:async()=>{try{e.onClick(i),i.closeMenu()}catch(n){i.handleGenerationError(n)}}})}}}var jt=rs;function is(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:i},n)=>{i.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:()=>{i.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:p}=n;try{l();let[c]=e.cesdk.engine.block.findAllSelected(),d=await z(c,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let s=e.mapInput({item:o,uri:d,blockId:c});return await a(s)}else{if(e.onApply)return await e.onApply({item:o,uri:d,blockId:c},n);throw new Error("Please provide either mapInput or onApply")}}catch(c){p(c)}}})})}})}})}})}}}var Pt=is;function ns(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:i},n)=>{i.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:p}=n;try{l();let[c]=e.cesdk.engine.block.findAllSelected(),d=await z(c,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let s=e.mapInput({assetResult:o,uri:d,blockId:c});await a(s)}else if(e.onApply)await e.onApply({assetResult:o,uri:d,blockId:c},n);else throw new Error("Please provide either mapInput or onApply")}catch(c){p(c)}}})}})}}}var $t=ns;function os(){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 i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var R=os;function as(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..."}}),V({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{id:t,version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(r,i)=>{let[n]=e.cesdk.engine.block.findAllSelected(),o=await z(n,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let a=e.mapInput({prompt:r,uri:o,blockId:n});return i.generate(a)}else{if(e.onApply)return e.onApply({prompt:r,uri:o,blockId:n},i);throw new Error("Please provide either mapInput or onApply")}}})}var Ot=as;function ls(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"}}),V({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[i]=r.engine.block.findAllSelected();return!(!e.cesdk.feature.isEnabled("ly.img.duplicate",{engine:r.engine})||!r.engine.block.isAllowedByScope(i,"lifecycle/duplicate"))}},onApply:async(r,i)=>{let n=e.cesdk.engine,[o]=n.block.findAllSelected(),a=n.block.getType(o),l=n.block.duplicate(o);a==="//ly.img.ubq/page"&&n.block.getChildren(l).forEach(d=>{n.block.destroy(d)}),n.block.setSelected(o,!1),n.block.setSelected(l,!0);let p=n.block.getParent(l);if(p==null)throw new Error("Parent not found");if(!(p!=null&&n.block.getType(p)==="//ly.img.ubq/track"&&n.block.isPageDurationSource(p))&&a!=="//ly.img.ubq/page"){let d=n.block.getWidth(p),s=n.block.getHeight(p),f=.02*Math.min(d,s)*1;n.block.setPositionX(l,n.block.getPositionX(l)+f),n.block.setPositionY(l,n.block.getPositionY(l)+f)}let c=await z(l,e.cesdk.engine,{throwErrorIfSvg:!0});if(e.mapInput){let d=e.mapInput({prompt:r,uri:c,duplicatedBlockId:l});return i.generate(d)}else{if(e.onApply)return e.onApply({prompt:r,uri:c,duplicatedBlockId:l},i);throw new Error("Please provide either mapInput or onApply")}}})}var Lt=ls;function ss(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"}}),V({buttonOptions:{icon:"@imgly/ImageVariation"},quickAction:{id:t,version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate","fill/change"],enable:r=>{let i=r.engine.block.findAllSelected();return i==null||i.length<2?!1:i.every(n=>{if(r.engine.block.getType(n)!=="//ly.img.ubq/graphic"&&!r.engine.block.supportsFill(n))return!1;let o=r.engine.block.getFill(n);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(n,"lifecycle/duplicate"))return!1;let a=r.engine.block.getParent(n);return!(a!=null&&r.engine.block.getType(a)==="//ly.img.ubq/track"&&r.engine.block.isPageDurationSource(a)||r.engine.block.getType(n)==="//ly.img.ubq/page")})}},onApply:async(r,i)=>{let n=e.cesdk.engine,o=n.block.findAllSelected(),a=n.block.duplicate(o[0]);o.forEach(h=>{n.block.setSelected(h,!1)}),n.block.setSelected(a,!0);let l=n.block.getParent(a);if(l==null)throw new Error("Parent not found");let p=1,c=n.block.getWidth(l),d=n.block.getHeight(l),s=.02*Math.min(c,d)*p;n.block.setPositionX(a,n.block.getPositionX(a)+s),n.block.setPositionY(a,n.block.getPositionY(a)+s);let f=await Promise.all(o.map(h=>z(h,e.cesdk.engine,{throwErrorIfSvg:!0})));if(e.mapInput){let h=e.mapInput({prompt:r,uris:f,duplicatedBlockId:a});return i.generate(h)}else{if(e.onApply)return e.onApply({prompt:r,uris:f,duplicatedBlockId:a},i);throw new Error("Please provide either mapInput or onApply")}}})}var _t=ss;function cs(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..."}}),V({buttonOptions:{icon:"@imgly/plugin-ai-generation/image"},quickAction:{id:t,version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(r,i)=>{let[n]=e.cesdk.engine.block.findAllSelected(),o=await z(n,e.cesdk.engine,{throwErrorIfSvg:!0}),a=`Swap the background to ${r}`;if(e.mapInput){let l=e.mapInput({prompt:a,uri:o,blockId:n});return i.generate(l)}else{if(e.onApply)return e.onApply({prompt:a,uri:o,blockId:n},i);throw new Error("Please provide either mapInput or onApply")}}})}var Nt=cs,Dt={ImageUrl:Rn,StyleTransfer:Jl};var Tt={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,i=atob(r),n=[];for(let l=0;l<i.length;l++)n.push(i.charCodeAt(l));let o=new Uint8Array(n);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(ot),i=new Ke(e,r),n=C[0];return i.setAssetActive(n.id),i},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 Ut(e){return async({cesdk:t})=>ds(t,e)}function ds(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/",n=`${r}/styles`,o=ge(n,{baseURL:i,includeNone:!0});return me(o,{cesdk:e}),e.ui.registerPanel(`${ne(r)}.styleSelection`,({builder:l,payload:p})=>{if(p==null)return null;l.Library(`${r}.library.style`,{entries:[n],onSelect:async c=>{p.onSelect(c)}})}),e.ui.addIconSet("@imgly/plugin/formats",se.Formats),e.i18n.setTranslations({en:{[`panel.${ne(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:Tt,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{style:({builder:l,state:p},c)=>{let d=p("style",o.getAssetSelectValue(o.getActiveAssetIds()[0])??C[0]);return l.Button(`${c.id}`,{inputLabel:`${r}.${c.id}`,icon:"@imgly/Appearance",trailingIcon:"@imgly/ChevronRight",label:d.value.label,labelAlignment:"left",onClick:()=>{let s={onSelect:async f=>{let h={id:f.id,label:f.label??f.id};o.clearActiveAssets(),o.setAssetActive(f.id),d.setValue(h),e.ui.closePanel(`${ne(r)}.styleSelection`)}};e.ui.openPanel(`${ne(r)}.styleSelection`,{payload:s})}}),()=>({id:c.id,type:"string",value:d.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:p})=>{let c=C.find(b=>b.id===l.style),d=l.prompt;c!=null&&c.id!=="none"&&c.prompt&&(d=`${d}, ${c.prompt}`);let s=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),f=s?"https://api.openai.com/v1":t.proxyUrl,y=(await(await fetch(`${f}/images/generations`,{signal:p,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:d,n:1,size:l.size,background:l.background})})).json()).data?.[0].b64_json;if(y==null)throw new Error("No image data returned");let I=pe(y,"image/png");return{kind:"image",url:URL.createObjectURL(I)}}}}}var Bt={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 gs}from"@cesdk/cesdk-js";function Ft(e){return async({cesdk:t})=>ms(t,e)}function ms(e,t){let r="open-ai/gpt-image-1/image2image";e.ui.addIconSet("@imgly/plugin/formats",se.Formats);let i="https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",n=bs({cesdk:e,modelKey:r}),o=Mt(e,"image"),a=`${r}/styles`,l=ge(a,{baseURL:i});return me(l,{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()]),{id:r,kind:"image",name:"gpt-image-1",input:{panel:{type:"schema",document:Bt,inputReference:"#/components/schemas/GptImage1Input",includeHistoryLibrary:!0,orderExtensionKeyword:"x-order-properties",renderCustomProperty:{...e!=null?Dt.ImageUrl("gpt-image-1",{cesdk:e}):{}},getBlockInput:async c=>{if(c.image_url==null||Array.isArray(c.image_url))throw new Error("Cannot process getBlockInput for multiple images");let{width:d,height:s}=await nt(c.image_url,e.engine);return Promise.resolve({image:{width:d,height:s}})},userFlow:"placeholder"},quickActions:{actions:n??[]}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middleware??[],generate:async(c,{abortSignal:d})=>{let s=new FormData;if(Array.isArray(c.image_url))c.exportFromBlockIds!=null?await Promise.all(c.exportFromBlockIds.map(async g=>{let m=await e.engine.block.export(g,gs.Jpeg,{targetHeight:1024,targetWidth:1024});s.append("image[]",m,`image_${g}.jpeg`)})):await Promise.all(c.image_url.map(async g=>{let m=await e.engine.editor.getMimeType(g),M=await K(g,e.engine),zt=await(await fetch(M)).blob();s.append("image[]",zt,`image.${Ae(m)}`)}));else{let g=await e.engine.editor.getMimeType(c.image_url),m=await K(c.image_url,e.engine),Ne=await(await fetch(m)).blob();s.append("image",Ne,`image.${Ae(g)}`)}s.append("prompt",c.prompt),s.append("model","gpt-image-1"),s.append("size","auto"),s.append("n","1");let f=e.ui.experimental.hasGlobalStateValue("OPENAI_API_KEY"),h=f?"https://api.openai.com/v1":t.proxyUrl,I=(await(await fetch(`${h}/images/edits`,{signal:d,method:"POST",headers:f?{Authorization:`Bearer ${e.ui.experimental.getGlobalStateValue("OPENAI_API_KEY")}`,...t.headers??{}}:{...t.headers??{}},body:s})).json()).data?.[0].b64_json;if(I==null)throw new Error("No image data returned");let u=pe(I,"image/png");return{kind:"image",url:URL.createObjectURL(u)}}}}}function bs(e){let{cesdk:t,modelKey:r}=e;return[$t({cesdk:e.cesdk,entries:[`${r}/styles`],quickAction:{id:"changeStyleLibrary",version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(i,n)=>{let[o]=t.engine.block.findAllSelected(),a=await Se(o,t.engine,{throwErrorIfSvg:!0}),l=i.assetResult.id,p=C.find(({id:c})=>c===l);if(p==null)throw new Error(`Style not found: ${l}`);return n.generate({prompt:p.prompt,image_url:a})}}),Pt({cesdk:t,items:C.filter(({id:i})=>i!=="none"),quickAction:{id:"changeStyle",version:"1",confirmation:!0,lockDuringConfirmation:!1,scopes:["fill/change"],enable:R()},onApply:async(i,n)=>{let[o]=t.engine.block.findAllSelected(),a=await Se(o,t.engine,{throwErrorIfSvg:!0});return n.generate({prompt:i.item.prompt,image_url:a})}}),Nt({mapInput:i=>({...i,image_url:i.uri}),cesdk:t}),Ot({mapInput:i=>({...i,image_url:i.uri}),cesdk:t}),Lt({onApply:async({prompt:i,uri:n,duplicatedBlockId:o},a)=>a.generate({prompt:i,image_url:n},{blockIds:[o]}),cesdk:t}),_t({onApply:async({prompt:i,uris:n,duplicatedBlockId:o},a)=>a.generate({prompt:i,image_url:n,exportFromBlockIds:a.blockIds},{blockIds:[o]}),cesdk:t}),jt({quickAction:{id:"remixPage",version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate"],enable:({engine:i})=>{let n=i.block.findAllSelected();if(n.length!==1)return!1;let o=n[0];return i.block.getType(o)==="//ly.img.ubq/page"}},onClick:async i=>{let n=t.engine,[o]=n.block.findAllSelected(),a=await n.block.export(o),l=URL.createObjectURL(a),p=n.block.duplicate(o);n.block.getChildren(p).forEach(I=>{n.block.destroy(I)}),n.block.setSelected(o,!1);let c=t.engine.block.getFrameWidth(o),d=t.engine.block.getFrameHeight(o),s=t.engine.block.getPositionX(o),f=t.engine.block.getPositionY(o),h=t.engine.block.createShape("rect"),w=t.engine.block.create("graphic");t.engine.block.setShape(w,h),t.engine.block.appendChild(p,w),t.engine.block.setWidth(w,c),t.engine.block.setHeight(w,d),t.engine.block.setPositionX(w,s),t.engine.block.setPositionY(w,f);let y=t.engine.block.createFill("image");t.engine.block.setFill(w,y),t.engine.block.setString(y,"fill/image/imageFileURI",l),n.block.setSelected(w,!0),n.scene.zoomToBlock(w),i.generate({image_url:l,prompt:"Follow instructions but don\u2019t add the instructions for the image"},{blockIds:[w]})}}),V({quickAction:{id:"remixPageWithPrompt",version:"1",confirmation:!1,lockDuringConfirmation:!1,scopes:["lifecycle/duplicate"],enable:({engine:i})=>{let n=i.block.findAllSelected();if(n.length!==1)return!1;let o=n[0];return i.block.getType(o)==="//ly.img.ubq/page"}},onApply:async(i,n)=>{let o=t.engine,[a]=o.block.findAllSelected(),l=await o.block.export(a),p=URL.createObjectURL(l),c=o.block.duplicate(a);o.block.getChildren(c).forEach(u=>{o.block.destroy(u)}),o.block.setSelected(a,!1);let d=t.engine.block.getFrameWidth(a),s=t.engine.block.getFrameHeight(a),f=t.engine.block.getPositionX(a),h=t.engine.block.getPositionY(a),w=t.engine.block.createShape("rect"),y=t.engine.block.create("graphic");t.engine.block.setShape(y,w),t.engine.block.appendChild(c,y),t.engine.block.setWidth(y,d),t.engine.block.setHeight(y,s),t.engine.block.setPositionX(y,f),t.engine.block.setPositionY(y,h);let I=t.engine.block.createFill("image");return t.engine.block.setFill(y,I),t.engine.block.setString(I,"fill/image/imageFileURI",p),o.block.setSelected(y,!0),o.scene.zoomToBlock(y),n.generate({image_url:p,prompt:i},{blockIds:[y]})}})]}var fs={GptImage1:{Text2Image:Ut,Image2Image:Ft}},Cc=fs;export{Cc as default};
|
|
129
129
|
/*! Bundled license information:
|
|
130
130
|
|
|
131
131
|
@imgly/plugin-utils/dist/index.mjs:
|