@imgly/plugin-ai-image-generation-web 0.2.11 → 0.2.12

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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.2.12] - 2025-11-21
6
+
5
7
  ## [0.2.11] - 2025-11-21
6
8
 
7
9
  ### New Features
package/dist/index.mjs CHANGED
@@ -77,7 +77,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
77
77
 
78
78
  </symbol>
79
79
  </svg>
80
- `,Si=ts;var is=typeof global=="object"&&global&&global.Object===Object&&global,zi=is,rs=typeof self=="object"&&self&&self.Object===Object&&self,ns=zi||rs||Function("return this")(),R=ns,as=R.Symbol,oe=as,Ui=Object.prototype,os=Ui.hasOwnProperty,ls=Ui.toString,Ae=oe?oe.toStringTag:void 0;function ss(e){var t=os.call(e,Ae),i=e[Ae];try{e[Ae]=void 0;var r=!0}catch{}var n=ls.call(e);return r&&(t?e[Ae]=i:delete e[Ae]),n}var cs=ss,us=Object.prototype,ds=us.toString;function ps(e){return ds.call(e)}var gs=ps,ms="[object Null]",fs="[object Undefined]",$i=oe?oe.toStringTag:void 0;function bs(e){return e==null?e===void 0?fs:ms:$i&&$i in Object(e)?cs(e):gs(e)}var xe=bs;function ys(e){return e!=null&&typeof e=="object"}var $t=ys,Ud=Array.isArray;function hs(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Bi=hs,vs="[object AsyncFunction]",ks="[object Function]",ws="[object GeneratorFunction]",Is="[object Proxy]";function As(e){if(!Bi(e))return!1;var t=xe(e);return t==ks||t==ws||t==vs||t==Is}var Cs=As,Ss=R["__core-js_shared__"],vt=Ss,xi=function(){var e=/[^.]+$/.exec(vt&&vt.keys&&vt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function $s(e){return!!xi&&xi in e}var xs=$s,Es=Function.prototype,Ms=Es.toString;function Ts(e){if(e!=null){try{return Ms.call(e)}catch{}try{return e+""}catch{}}return""}var K=Ts,Ps=/[\\^$.*+?()[\]{}|]/g,js=/^\[object .+?Constructor\]$/,_s=Function.prototype,Ls=Object.prototype,Ds=_s.toString,Ns=Ls.hasOwnProperty,Os=RegExp("^"+Ds.call(Ns).replace(Ps,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Fs(e){if(!Bi(e)||xs(e))return!1;var t=Cs(e)?Os:js;return t.test(K(e))}var Rs=Fs;function zs(e,t){return e?.[t]}var Us=zs;function Bs(e,t){var i=Us(e,t);return Rs(i)?i:void 0}var le=Bs,Vs=le(R,"WeakMap"),wt=Vs;function qs(e,t){return e===t||e!==e&&t!==t}var Gs=qs,Hs=9007199254740991;function Qs(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Hs}var Zs=Qs;var Bd=Object.prototype;var Ys="[object Arguments]";function Ws(e){return $t(e)&&xe(e)==Ys}var Ei=Ws,Vi=Object.prototype,Ks=Vi.hasOwnProperty,Xs=Vi.propertyIsEnumerable,Vd=Ei(function(){return arguments}())?Ei:function(e){return $t(e)&&Ks.call(e,"callee")&&!Xs.call(e,"callee")};var qi=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mi=qi&&typeof module=="object"&&module&&!module.nodeType&&module,Js=Mi&&Mi.exports===qi,Ti=Js?R.Buffer:void 0,qd=Ti?Ti.isBuffer:void 0;var ec="[object Arguments]",tc="[object Array]",ic="[object Boolean]",rc="[object Date]",nc="[object Error]",ac="[object Function]",oc="[object Map]",lc="[object Number]",sc="[object Object]",cc="[object RegExp]",uc="[object Set]",dc="[object String]",pc="[object WeakMap]",gc="[object ArrayBuffer]",mc="[object DataView]",fc="[object Float32Array]",bc="[object Float64Array]",yc="[object Int8Array]",hc="[object Int16Array]",vc="[object Int32Array]",kc="[object Uint8Array]",wc="[object Uint8ClampedArray]",Ic="[object Uint16Array]",Ac="[object Uint32Array]",M={};M[fc]=M[bc]=M[yc]=M[hc]=M[vc]=M[kc]=M[wc]=M[Ic]=M[Ac]=!0;M[ec]=M[tc]=M[gc]=M[ic]=M[mc]=M[rc]=M[nc]=M[ac]=M[oc]=M[lc]=M[sc]=M[cc]=M[uc]=M[dc]=M[pc]=!1;function Cc(e){return $t(e)&&Zs(e.length)&&!!M[xe(e)]}var Sc=Cc;function $c(e){return function(t){return e(t)}}var xc=$c,Gi=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ce=Gi&&typeof module=="object"&&module&&!module.nodeType&&module,Ec=Ce&&Ce.exports===Gi,kt=Ec&&zi.process,Mc=function(){try{var e=Ce&&Ce.require&&Ce.require("util").types;return e||kt&&kt.binding&&kt.binding("util")}catch{}}(),Pi=Mc,ji=Pi&&Pi.isTypedArray,Gd=ji?xc(ji):Sc;var Tc=Object.prototype,Hd=Tc.hasOwnProperty;function Pc(e,t){return function(i){return e(t(i))}}var jc=Pc,Qd=jc(Object.keys,Object);var _c=Object.prototype,Zd=_c.hasOwnProperty;var Lc=le(Object,"create"),Se=Lc;function Dc(){this.__data__=Se?Se(null):{},this.size=0}var Nc=Dc;function Oc(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Fc=Oc,Rc="__lodash_hash_undefined__",zc=Object.prototype,Uc=zc.hasOwnProperty;function Bc(e){var t=this.__data__;if(Se){var i=t[e];return i===Rc?void 0:i}return Uc.call(t,e)?t[e]:void 0}var Vc=Bc,qc=Object.prototype,Gc=qc.hasOwnProperty;function Hc(e){var t=this.__data__;return Se?t[e]!==void 0:Gc.call(t,e)}var Qc=Hc,Zc="__lodash_hash_undefined__";function Yc(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=Se&&t===void 0?Zc:t,this}var Wc=Yc;function se(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}se.prototype.clear=Nc;se.prototype.delete=Fc;se.prototype.get=Vc;se.prototype.has=Qc;se.prototype.set=Wc;var _i=se;function Kc(){this.__data__=[],this.size=0}var Xc=Kc;function Jc(e,t){for(var i=e.length;i--;)if(Gs(e[i][0],t))return i;return-1}var Ne=Jc,eu=Array.prototype,tu=eu.splice;function iu(e){var t=this.__data__,i=Ne(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():tu.call(t,i,1),--this.size,!0}var ru=iu;function nu(e){var t=this.__data__,i=Ne(t,e);return i<0?void 0:t[i][1]}var au=nu;function ou(e){return Ne(this.__data__,e)>-1}var lu=ou;function su(e,t){var i=this.__data__,r=Ne(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var cu=su;function ce(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}ce.prototype.clear=Xc;ce.prototype.delete=ru;ce.prototype.get=au;ce.prototype.has=lu;ce.prototype.set=cu;var Oe=ce,uu=le(R,"Map"),$e=uu;function du(){this.size=0,this.__data__={hash:new _i,map:new($e||Oe),string:new _i}}var pu=du;function gu(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var mu=gu;function fu(e,t){var i=e.__data__;return mu(t)?i[typeof t=="string"?"string":"hash"]:i.map}var Fe=fu;function bu(e){var t=Fe(this,e).delete(e);return this.size-=t?1:0,t}var yu=bu;function hu(e){return Fe(this,e).get(e)}var vu=hu;function ku(e){return Fe(this,e).has(e)}var wu=ku;function Iu(e,t){var i=Fe(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Au=Iu;function ue(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}ue.prototype.clear=pu;ue.prototype.delete=yu;ue.prototype.get=vu;ue.prototype.has=wu;ue.prototype.set=Au;var Hi=ue;function Cu(){this.__data__=new Oe,this.size=0}var Su=Cu;function $u(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var xu=$u;function Eu(e){return this.__data__.get(e)}var Mu=Eu;function Tu(e){return this.__data__.has(e)}var Pu=Tu,ju=200;function _u(e,t){var i=this.__data__;if(i instanceof Oe){var r=i.__data__;if(!$e||r.length<ju-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new Hi(r)}return i.set(e,t),this.size=i.size,this}var Lu=_u;function Ee(e){var t=this.__data__=new Oe(e);this.size=t.size}Ee.prototype.clear=Su;Ee.prototype.delete=xu;Ee.prototype.get=Mu;Ee.prototype.has=Pu;Ee.prototype.set=Lu;var Du=Object.prototype,Yd=Du.propertyIsEnumerable;var Nu=le(R,"DataView"),It=Nu,Ou=le(R,"Promise"),At=Ou,Fu=le(R,"Set"),Ct=Fu,Li="[object Map]",Ru="[object Object]",Di="[object Promise]",Ni="[object Set]",Oi="[object WeakMap]",Fi="[object DataView]",zu=K(It),Uu=K($e),Bu=K(At),Vu=K(Ct),qu=K(wt),ae=xe;(It&&ae(new It(new ArrayBuffer(1)))!=Fi||$e&&ae(new $e)!=Li||At&&ae(At.resolve())!=Di||Ct&&ae(new Ct)!=Ni||wt&&ae(new wt)!=Oi)&&(ae=function(e){var t=xe(e),i=t==Ru?e.constructor:void 0,r=i?K(i):"";if(r)switch(r){case zu:return Fi;case Uu:return Li;case Bu:return Di;case Vu:return Ni;case qu:return Oi}return t});var Wd=R.Uint8Array;var Gu="__lodash_hash_undefined__";function Hu(e){return this.__data__.set(e,Gu),this}var Qu=Hu;function Zu(e){return this.__data__.has(e)}var Yu=Zu;function St(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new Hi;++t<i;)this.add(e[t])}St.prototype.add=St.prototype.push=Qu;St.prototype.has=Yu;var Ri=oe?oe.prototype:void 0,Kd=Ri?Ri.valueOf:void 0;var Wu=Object.prototype,Xd=Wu.hasOwnProperty;var Ku=Object.prototype,Jd=Ku.hasOwnProperty;var ep=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),tp=new RegExp(/[A-Fa-f0-9]{1}/,"g"),ip=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Xu(e,t){if(e.startsWith("buffer:")){let i=await t.editor.getMimeType(e),r=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,r),a=new Uint8Array(n),o=new Blob([a],{type:i});return URL.createObjectURL(o)}else return e}async function L(e,t,i){let r,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(r=t.block.getString(n,"fill/image/imageFileURI"),r==null)throw new Error("No image source/uri found")}else r=o.uri;if(i?.throwErrorIfSvg&&await t.editor.getMimeType(r)==="image/svg+xml")throw new Error("SVG images are not supported");return Xu(r,t)}function Ju(e){return e==null?[]:Array.isArray(e)?e:[e]}var xt=Ju;function ed(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function td(e){return typeof e?.translate=="function"}function Qi(e,t,i){return e&&ed(e)&&td(e.i18n)?e.i18n.translate(t):i}var B="@imgly/plugin-ai-image-generation-web",Re=["ly.img.gpt-image-1.changeStyleLibrary","ly.img.styleTransfer","ly.img.artistTransfer","ly.img.separator","ly.img.editImage","ly.img.swapBackground","ly.img.createVariant","ly.img.combineImages","ly.img.separator","ly.img.remixPage","ly.img.separator","ly.img.createVideo","ly.img.animateBetweenImages"];var Be="editImage",V=`ly.img.${Be}`,Zi=`ly.img.plugin-ai-image-generation-web.quickAction.${Be}`,ze=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Be}`;function Ue(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Be}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var id=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),e.i18n.setTranslations({en:{[`${ze}`]:"Edit Image...",[`${ze}.description`]:"Change image based on description",[`${ze}.prompt`]:"Edit Image...",[`${Zi}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${ze}.apply`]:"Change"}}),{id:V,type:"quick",kind:"image",label:`${Zi}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${V}.prompt`,"");i.TextArea(`${V}.prompt`,{inputLabel:Ue(c,"prompt"),placeholder:Ue(c,"prompt.placeholder")[1],...d}),i.Separator(`${V}.separator`),r.builder.ButtonRow(`${V}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${V}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${V}.footer.apply`,{label:Ue(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=await L(g,l,{throwErrorIfSvg:!0});await o({prompt:p,uri:b}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to edit image. Please try again.",duration:"medium"})}}})}})}else i.Button(`${V}.button`,{label:Ue(c),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:a})}}),Yi=id;var Ge="swapBackground",q=`ly.img.${Ge}`,Wi=`ly.img.plugin-ai-image-generation-web.quickAction.${Ge}`,Ve=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Ge}`;function qe(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Ge}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var rd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),e.i18n.setTranslations({en:{[`${Ve}`]:"Swap Background...",[`${Ve}.description`]:"Change the background of the image",[`${Ve}.prompt`]:"Swap Background...",[`${Wi}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Ve}.apply`]:"Change"}}),{id:q,type:"quick",kind:"image",label:`${Wi}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${q}.prompt`,"");i.TextArea(`${q}.prompt`,{inputLabel:qe(c,"prompt"),placeholder:qe(c,"prompt.placeholder")[1],...d}),i.Separator(`${q}.separator`),r.builder.ButtonRow(`${q}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${q}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${q}.footer.apply`,{label:qe(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=await L(g,l,{throwErrorIfSvg:!0});await o({prompt:`Swap the background to ${p}`,uri:b}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to swap background. Please try again.",duration:"medium"})}}})}})}else i.Button(`${q}.button`,{label:qe(c),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:a})}}),Ki=rd;var He="styleTransfer",Me=`ly.img.${He}`,nd=`ly.img.plugin-ai-image-generation-web.quickAction.${He}`,O=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${He}`;function Xi(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${He}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var ad=[{id:"water",prompt:"Convert to watercolor painting."},{id:"oil",prompt:"Render in oil painting style."},{id:"charcoal",prompt:"Transform into a charcoal sketch."},{id:"pencil",prompt:"Apply pencil drawing effect."},{id:"pastel",prompt:"Make it look like a pastel artwork."},{id:"ink",prompt:"Turn into a classic ink wash painting."},{id:"stained-glass",prompt:"Stylize as a stained glass window."},{id:"japanese",prompt:"Repaint as a traditional Japanese woodblock print."}],od=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),e.i18n.setTranslations({en:{[`${O}`]:"Change Art Style",[`${O}.description`]:"Transform image into different art styles",[`${O}.water`]:"Watercolor Painting",[`${O}.oil`]:"Oil Painting",[`${O}.charcoal`]:"Charcoal Sketch",[`${O}.pencil`]:"Pencil Drawing",[`${O}.pastel`]:"Pastel Artwork",[`${O}.ink`]:"Ink Wash",[`${O}.stained-glass`]:"Stained Glass Window",[`${O}.japanese`]:"Japanese Woodblock Print"}}),{id:Me,type:"quick",kind:"image",label:`${nd}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:a,close:o,providerId:l})=>{r.builder.Popover(`${Me}.popover`,{label:Xi(l),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{i.Section(`${Me}.popover.section`,{children:()=>{r.builder.Menu(`${Me}.popover.menu`,{children:()=>{ad.forEach(u=>{i.Button(`${Me}.popover.menu.${u.id}`,{label:Xi(l,u.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=a.block.findAllSelected(),c=await L(s,a,{throwErrorIfSvg:!0});await n({style:u.prompt,uri:c}),o()}catch(s){console.error("Generation error:",s),e.ui.showNotification({type:"error",message:s.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),Ji=od;var Qe="artistTransfer",Te=`ly.img.${Qe}`,ld=`ly.img.plugin-ai-image-generation-web.quickAction.${Qe}`,_=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Qe}`;function er(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Qe}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var sd=[{id:"van-gogh",prompt:"Render this image in the style of Vincent van Gogh, using expressive brushstrokes and swirling motion."},{id:"monet",prompt:"Transform this image into the soft, impressionistic style of Claude Monet with natural light and delicate color blending."},{id:"picasso",prompt:"Apply a Pablo Picasso cubist style with abstract geometry and fragmented shapes."},{id:"dali",prompt:"Make this image resemble Salvador Dal\xED's surrealist style, with dreamlike distortion and soft shadows."},{id:"matisse",prompt:"Stylize the image using Henri Matisse's bold colors and simplified, flowing shapes."},{id:"warhol",prompt:"Convert this image into Andy Warhol's pop art style with flat colors, repetition, and bold outlines."},{id:"michelangelo",prompt:"Render the image in the classical Renaissance style of Michelangelo, with dramatic anatomy and fresco-like detail."},{id:"da-vinci",prompt:"Make this image look like a Leonardo da Vinci painting, using soft transitions, balanced composition, and natural tones."},{id:"rembrandt",prompt:"Apply Rembrandt's style with rich contrast, warm tones, and dramatic use of light and shadow."},{id:"mondrian",prompt:"Transform the image into Piet Mondrian's abstract geometric style with grids and primary colors."},{id:"kahlo",prompt:"Stylize this image in the expressive, symbolic style of Frida Kahlo with vivid colors and surreal framing."},{id:"hokusai",prompt:"Render the image in the style of Hokusai, using bold outlines, flat color, and traditional Japanese woodblock aesthetics."}],cd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),e.i18n.setTranslations({en:{[`${_}`]:"Painted By",[`${_}.description`]:"Transform image in the style of famous artists",[`${_}.van-gogh`]:"Van Gogh",[`${_}.monet`]:"Monet",[`${_}.picasso`]:"Picasso",[`${_}.dali`]:"Dal\xED",[`${_}.matisse`]:"Matisse",[`${_}.warhol`]:"Warhol",[`${_}.michelangelo`]:"Michelangelo",[`${_}.da-vinci`]:"Da Vinci",[`${_}.rembrandt`]:"Rembrandt",[`${_}.mondrian`]:"Mondrian",[`${_}.kahlo`]:"Frida Kahlo",[`${_}.hokusai`]:"Hokusai"}}),{id:Te,type:"quick",kind:"image",label:`${ld}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:a,close:o,providerId:l})=>{r.builder.Popover(`${Te}.popover`,{label:er(l),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{i.Section(`${Te}.popover.section`,{children:()=>{r.builder.Menu(`${Te}.popover.menu`,{children:()=>{sd.forEach(u=>{i.Button(`${Te}.popover.menu.${u.id}`,{label:er(l,u.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=a.block.findAllSelected(),c=await L(s,a,{throwErrorIfSvg:!0});await n({artist:u.prompt,uri:c}),o()}catch(s){console.error("Generation error:",s),e.ui.showNotification({type:"error",message:s.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),tr=cd;var We="createVariant",G=`ly.img.${We}`,ir=`ly.img.plugin-ai-image-generation-web.quickAction.${We}`,Ze=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${We}`;function Ye(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${We}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var ud=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),e.i18n.setTranslations({en:{[`${Ze}`]:"Create Variant...",[`${Ze}.description`]:"Create a variation of the image",[`${Ze}.prompt`]:"Create Variant...",[`${ir}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${Ze}.apply`]:"Create"}}),{id:G,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${ir}`,enable:i=>{if(!N()(i))return!1;let[r]=i.engine.block.findAllSelected();return!(!e.feature.isEnabled("ly.img.duplicate",{engine:i.engine})||!i.engine.block.isAllowedByScope(r,"lifecycle/duplicate"))},scopes:["fill/change","lifecycle/duplicate"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${G}.prompt`,"");i.TextArea(`${G}.prompt`,{inputLabel:Ye(c,"prompt"),placeholder:Ye(c,"prompt.placeholder")[1],...d}),i.Separator(`${G}.separator`),r.builder.ButtonRow(`${G}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${G}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${G}.footer.apply`,{label:Ye(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=l.block.getType(g),m=l.block.duplicate(g);b==="//ly.img.ubq/page"&&l.block.getChildren(m).forEach(I=>{l.block.destroy(I)}),l.block.setSelected(g,!1),l.block.setSelected(m,!0);let y=l.block.getParent(m);if(y==null)throw new Error("Parent not found");if(!(y!=null&&l.block.getType(y)==="//ly.img.ubq/track"&&l.block.isPageDurationSource(y))&&b!=="//ly.img.ubq/page"){let C=l.block.getWidth(y),f=l.block.getHeight(y),h=.02*Math.min(C,f)*1;l.block.setPositionX(m,l.block.getPositionX(m)+h),l.block.setPositionY(m,l.block.getPositionY(m)+h)}let k=await L(m,l,{throwErrorIfSvg:!0});await o({prompt:p,uri:k},{blockIds:[m]}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to create variant. Please try again.",duration:"medium"})}}})}})}else i.Button(`${G}.button`,{label:Ye(c),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:a})}}),rr=ud;var Xe="combineImages",H=`ly.img.${Xe}`,nr=`ly.img.plugin-ai-image-generation-web.quickAction.${Xe}`,Et=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Xe}`;function Ke(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Xe}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var dd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),e.i18n.setTranslations({en:{[`${Et}.apply`]:"Combine",[`${Et}`]:"Combine Images...",[`${Et}.prompt`]:"Image Combination Instructions",[`${nr}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:H,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${nr}`,enable:i=>{let r=i.engine.block.findAllSelected();return r==null||r.length<2?!1:r.every(n=>{if(i.engine.block.getType(n)!=="//ly.img.ubq/graphic"&&!i.engine.block.supportsFill(n))return!1;let a=i.engine.block.getFill(n);if(i.engine.block.getType(a)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:i.engine})||!i.engine.block.isAllowedByScope(n,"lifecycle/duplicate"))return!1;let o=i.engine.block.getParent(n);return!(o!=null&&i.engine.block.getType(o)==="//ly.img.ubq/track"&&i.engine.block.isPageDurationSource(o)||i.engine.block.getType(n)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${H}.prompt`,"");i.TextArea(`${H}.prompt`,{inputLabel:Ke(c,"prompt"),placeholder:Ke(c,"prompt.placeholder")[1],...d}),i.Separator(`${H}.separator`),r.builder.ButtonRow(`${H}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${H}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${H}.footer.apply`,{label:Ke(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let g=l.block.findAllSelected(),b=l.block.duplicate(g[0]);g.forEach(f=>{l.block.setSelected(f,!1)}),l.block.setSelected(b,!0);let m=l.block.getParent(b);if(m==null)throw new Error("Parent not found");let y=1,v=l.block.getWidth(m),k=l.block.getHeight(m),I=.02*Math.min(v,k)*y;l.block.setPositionX(b,l.block.getPositionX(b)+I),l.block.setPositionY(b,l.block.getPositionY(b)+I);let C=await Promise.all(g.map(f=>L(f,l,{throwErrorIfSvg:!0})));await o({prompt:p,uris:C,exportFromBlockIds:g},{blockIds:[b]}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to combine images. Please try again.",duration:"medium"})}}})}})}else i.Button(`${H}.button`,{label:Ke(c),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:a})}}),ar=dd;var Je="remixPage",or=`ly.img.${Je}`,pd=`ly.img.plugin-ai-image-generation-web.quickAction.${Je}`,gd=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Je}`;function md(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Je}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var fd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),e.i18n.setTranslations({en:{[`${gd}`]:"Turn Page into Image"}}),{id:or,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${pd}`,enable:({engine:i})=>{let r=i.block.findAllSelected();if(r.length!==1)return!1;let n=r[0];return i.block.getType(n)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:i,generate:r,engine:n,close:a,providerId:o})=>{i.Button(`${or}.button`,{label:md(o),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[l]=n.block.findAllSelected(),u=await n.block.export(l),s=URL.createObjectURL(u),c=n.block.duplicate(l);n.block.getChildren(c).forEach(k=>{n.block.destroy(k)}),n.block.setSelected(l,!1);let d=n.block.getFrameWidth(l),p=n.block.getFrameHeight(l),g=n.block.getPositionX(l),b=n.block.getPositionY(l),m=n.block.createShape("rect"),y=n.block.create("graphic");n.block.setShape(y,m),n.block.appendChild(c,y),n.block.setWidth(y,d),n.block.setHeight(y,p),n.block.setPositionX(y,g),n.block.setPositionY(y,b);let v=n.block.createFill("image");n.block.setFill(y,v),n.block.setString(v,"fill/image/imageFileURI",s),n.block.setSelected(y,!0),n.scene.zoomToBlock(y),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:s},{blockIds:[y]}),a()}catch(l){console.error("Generation error:",l),e.ui.showNotification({type:"error",message:l.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),lr=fd;var tt="remixPageWithPrompt",Q=`ly.img.${tt}`,sr=`ly.img.plugin-ai-image-generation-web.quickAction.${tt}`,Mt=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${tt}`;function et(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${tt}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var bd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),e.i18n.setTranslations({en:{[`${Mt}`]:"Remix Page...",[`${Mt}.prompt`]:"Remix Page Prompt",[`${sr}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${Mt}.apply`]:"Remix"}}),{id:Q,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${sr}`,enable:({engine:i})=>{let r=i.block.findAllSelected();if(r.length!==1)return!1;let n=r[0];return i.block.getType(n)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${Q}.prompt`,"");i.TextArea(`${Q}.prompt`,{inputLabel:et(c,"prompt"),placeholder:et(c,"prompt.placeholder")[1],...d}),i.Separator(`${Q}.separator`),r.builder.ButtonRow(`${Q}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${Q}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${Q}.footer.apply`,{label:et(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=await l.block.export(g),m=URL.createObjectURL(b),y=l.block.duplicate(g);l.block.getChildren(y).forEach(w=>{l.block.destroy(w)}),l.block.setSelected(g,!1);let v=l.block.getFrameWidth(g),k=l.block.getFrameHeight(g),I=l.block.getPositionX(g),C=l.block.getPositionY(g),f=l.block.createShape("rect"),h=l.block.create("graphic");l.block.setShape(h,f),l.block.appendChild(y,h),l.block.setWidth(h,v),l.block.setHeight(h,k),l.block.setPositionX(h,I),l.block.setPositionY(h,C);let S=l.block.createFill("image");l.block.setFill(h,S),l.block.setString(S,"fill/image/imageFileURI",m),l.block.setSelected(h,!0),l.scene.zoomToBlock(h),await o({prompt:p,uri:m},{blockIds:[h]}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}})}else i.Button(`${Q}.button`,{label:et(c),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:a})}}),cr=bd;var Z="ly.img.ai.image-generation";function yd(e){return{async initialize({cesdk:t}){if(t==null)return;li(t,B,"0.2.11"),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.providerSelect",!0);let i=De.get(),r=`${B}.action.label`;t.ui.addIconSet(Ci,Si),t.i18n.setTranslations({en:{[`panel.${Z}`]:"Image Generation",[`${Z}.dock.label`]:"AI Image",[r]:"Generate Image"}});let n=i.register({type:"plugin",sceneMode:"Design",id:B,pluginId:B,label:Qi(t,r,"Generate Image"),meta:{panelId:Z},execute:()=>{t.ui.isPanelOpen(Z)?t.ui.closePanel(Z):t.ui.openPanel(Z)}});hd(e),i.register(Yi({cesdk:t})),i.register(Ki({cesdk:t})),i.register(Ji({cesdk:t})),i.register(tr({cesdk:t})),i.register(rr({cesdk:t})),i.register(ar({cesdk:t})),i.register(lr({cesdk:t})),i.register(cr({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,l=await Promise.all(xt(a).map(p=>p({cesdk:t}))),u=await Promise.all(xt(o).map(p=>p({cesdk:t})));if(!(l.length>0||u.length>0)){n();return}let c=await ki("image",{fromText:l,fromImage:u},{cesdk:t},e),d=await Ai({kind:"image",providerInitializationResults:c.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:Re});c.history?.assetSourceId!=null,d.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",d.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:Ie})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(Z,c.panel.builderRenderFunction),si({cesdk:t,panelId:Z})):n()}}}function hd(e){e.debug&&(e.providers?.text2image!=null&&e.text2image!=null&&console.warn("[ImageGeneration]: Both `providers.text2image` and `text2image` configuration is provided. Since `text2image` is deprecated, only `providers.text2image` will be used."),e.providers?.image2image!=null&&e.image2image!=null&&console.warn("[ImageGeneration]: Both `providers.image2image` and `image2image` configuration is provided. Since `image2image` is deprecated, only `providers.image2image` will be used."))}var ur=yd;var vd=e=>({name:B,version:"0.2.11",...ur(e)}),Gp=vd;export{Re as DEFAULT_IMAGE_QUICK_ACTION_ORDER,Gp as default};
80
+ `,Si=ts;var is=typeof global=="object"&&global&&global.Object===Object&&global,zi=is,rs=typeof self=="object"&&self&&self.Object===Object&&self,ns=zi||rs||Function("return this")(),R=ns,as=R.Symbol,oe=as,Ui=Object.prototype,os=Ui.hasOwnProperty,ls=Ui.toString,Ae=oe?oe.toStringTag:void 0;function ss(e){var t=os.call(e,Ae),i=e[Ae];try{e[Ae]=void 0;var r=!0}catch{}var n=ls.call(e);return r&&(t?e[Ae]=i:delete e[Ae]),n}var cs=ss,us=Object.prototype,ds=us.toString;function ps(e){return ds.call(e)}var gs=ps,ms="[object Null]",fs="[object Undefined]",$i=oe?oe.toStringTag:void 0;function bs(e){return e==null?e===void 0?fs:ms:$i&&$i in Object(e)?cs(e):gs(e)}var xe=bs;function ys(e){return e!=null&&typeof e=="object"}var $t=ys,Ud=Array.isArray;function hs(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Bi=hs,vs="[object AsyncFunction]",ks="[object Function]",ws="[object GeneratorFunction]",Is="[object Proxy]";function As(e){if(!Bi(e))return!1;var t=xe(e);return t==ks||t==ws||t==vs||t==Is}var Cs=As,Ss=R["__core-js_shared__"],vt=Ss,xi=function(){var e=/[^.]+$/.exec(vt&&vt.keys&&vt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function $s(e){return!!xi&&xi in e}var xs=$s,Es=Function.prototype,Ms=Es.toString;function Ts(e){if(e!=null){try{return Ms.call(e)}catch{}try{return e+""}catch{}}return""}var K=Ts,Ps=/[\\^$.*+?()[\]{}|]/g,js=/^\[object .+?Constructor\]$/,_s=Function.prototype,Ls=Object.prototype,Ds=_s.toString,Ns=Ls.hasOwnProperty,Os=RegExp("^"+Ds.call(Ns).replace(Ps,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Fs(e){if(!Bi(e)||xs(e))return!1;var t=Cs(e)?Os:js;return t.test(K(e))}var Rs=Fs;function zs(e,t){return e?.[t]}var Us=zs;function Bs(e,t){var i=Us(e,t);return Rs(i)?i:void 0}var le=Bs,Vs=le(R,"WeakMap"),wt=Vs;function qs(e,t){return e===t||e!==e&&t!==t}var Gs=qs,Hs=9007199254740991;function Qs(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Hs}var Zs=Qs;var Bd=Object.prototype;var Ys="[object Arguments]";function Ws(e){return $t(e)&&xe(e)==Ys}var Ei=Ws,Vi=Object.prototype,Ks=Vi.hasOwnProperty,Xs=Vi.propertyIsEnumerable,Vd=Ei(function(){return arguments}())?Ei:function(e){return $t(e)&&Ks.call(e,"callee")&&!Xs.call(e,"callee")};var qi=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mi=qi&&typeof module=="object"&&module&&!module.nodeType&&module,Js=Mi&&Mi.exports===qi,Ti=Js?R.Buffer:void 0,qd=Ti?Ti.isBuffer:void 0;var ec="[object Arguments]",tc="[object Array]",ic="[object Boolean]",rc="[object Date]",nc="[object Error]",ac="[object Function]",oc="[object Map]",lc="[object Number]",sc="[object Object]",cc="[object RegExp]",uc="[object Set]",dc="[object String]",pc="[object WeakMap]",gc="[object ArrayBuffer]",mc="[object DataView]",fc="[object Float32Array]",bc="[object Float64Array]",yc="[object Int8Array]",hc="[object Int16Array]",vc="[object Int32Array]",kc="[object Uint8Array]",wc="[object Uint8ClampedArray]",Ic="[object Uint16Array]",Ac="[object Uint32Array]",M={};M[fc]=M[bc]=M[yc]=M[hc]=M[vc]=M[kc]=M[wc]=M[Ic]=M[Ac]=!0;M[ec]=M[tc]=M[gc]=M[ic]=M[mc]=M[rc]=M[nc]=M[ac]=M[oc]=M[lc]=M[sc]=M[cc]=M[uc]=M[dc]=M[pc]=!1;function Cc(e){return $t(e)&&Zs(e.length)&&!!M[xe(e)]}var Sc=Cc;function $c(e){return function(t){return e(t)}}var xc=$c,Gi=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ce=Gi&&typeof module=="object"&&module&&!module.nodeType&&module,Ec=Ce&&Ce.exports===Gi,kt=Ec&&zi.process,Mc=function(){try{var e=Ce&&Ce.require&&Ce.require("util").types;return e||kt&&kt.binding&&kt.binding("util")}catch{}}(),Pi=Mc,ji=Pi&&Pi.isTypedArray,Gd=ji?xc(ji):Sc;var Tc=Object.prototype,Hd=Tc.hasOwnProperty;function Pc(e,t){return function(i){return e(t(i))}}var jc=Pc,Qd=jc(Object.keys,Object);var _c=Object.prototype,Zd=_c.hasOwnProperty;var Lc=le(Object,"create"),Se=Lc;function Dc(){this.__data__=Se?Se(null):{},this.size=0}var Nc=Dc;function Oc(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Fc=Oc,Rc="__lodash_hash_undefined__",zc=Object.prototype,Uc=zc.hasOwnProperty;function Bc(e){var t=this.__data__;if(Se){var i=t[e];return i===Rc?void 0:i}return Uc.call(t,e)?t[e]:void 0}var Vc=Bc,qc=Object.prototype,Gc=qc.hasOwnProperty;function Hc(e){var t=this.__data__;return Se?t[e]!==void 0:Gc.call(t,e)}var Qc=Hc,Zc="__lodash_hash_undefined__";function Yc(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=Se&&t===void 0?Zc:t,this}var Wc=Yc;function se(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}se.prototype.clear=Nc;se.prototype.delete=Fc;se.prototype.get=Vc;se.prototype.has=Qc;se.prototype.set=Wc;var _i=se;function Kc(){this.__data__=[],this.size=0}var Xc=Kc;function Jc(e,t){for(var i=e.length;i--;)if(Gs(e[i][0],t))return i;return-1}var Ne=Jc,eu=Array.prototype,tu=eu.splice;function iu(e){var t=this.__data__,i=Ne(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():tu.call(t,i,1),--this.size,!0}var ru=iu;function nu(e){var t=this.__data__,i=Ne(t,e);return i<0?void 0:t[i][1]}var au=nu;function ou(e){return Ne(this.__data__,e)>-1}var lu=ou;function su(e,t){var i=this.__data__,r=Ne(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var cu=su;function ce(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}ce.prototype.clear=Xc;ce.prototype.delete=ru;ce.prototype.get=au;ce.prototype.has=lu;ce.prototype.set=cu;var Oe=ce,uu=le(R,"Map"),$e=uu;function du(){this.size=0,this.__data__={hash:new _i,map:new($e||Oe),string:new _i}}var pu=du;function gu(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var mu=gu;function fu(e,t){var i=e.__data__;return mu(t)?i[typeof t=="string"?"string":"hash"]:i.map}var Fe=fu;function bu(e){var t=Fe(this,e).delete(e);return this.size-=t?1:0,t}var yu=bu;function hu(e){return Fe(this,e).get(e)}var vu=hu;function ku(e){return Fe(this,e).has(e)}var wu=ku;function Iu(e,t){var i=Fe(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Au=Iu;function ue(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}ue.prototype.clear=pu;ue.prototype.delete=yu;ue.prototype.get=vu;ue.prototype.has=wu;ue.prototype.set=Au;var Hi=ue;function Cu(){this.__data__=new Oe,this.size=0}var Su=Cu;function $u(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var xu=$u;function Eu(e){return this.__data__.get(e)}var Mu=Eu;function Tu(e){return this.__data__.has(e)}var Pu=Tu,ju=200;function _u(e,t){var i=this.__data__;if(i instanceof Oe){var r=i.__data__;if(!$e||r.length<ju-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new Hi(r)}return i.set(e,t),this.size=i.size,this}var Lu=_u;function Ee(e){var t=this.__data__=new Oe(e);this.size=t.size}Ee.prototype.clear=Su;Ee.prototype.delete=xu;Ee.prototype.get=Mu;Ee.prototype.has=Pu;Ee.prototype.set=Lu;var Du=Object.prototype,Yd=Du.propertyIsEnumerable;var Nu=le(R,"DataView"),It=Nu,Ou=le(R,"Promise"),At=Ou,Fu=le(R,"Set"),Ct=Fu,Li="[object Map]",Ru="[object Object]",Di="[object Promise]",Ni="[object Set]",Oi="[object WeakMap]",Fi="[object DataView]",zu=K(It),Uu=K($e),Bu=K(At),Vu=K(Ct),qu=K(wt),ae=xe;(It&&ae(new It(new ArrayBuffer(1)))!=Fi||$e&&ae(new $e)!=Li||At&&ae(At.resolve())!=Di||Ct&&ae(new Ct)!=Ni||wt&&ae(new wt)!=Oi)&&(ae=function(e){var t=xe(e),i=t==Ru?e.constructor:void 0,r=i?K(i):"";if(r)switch(r){case zu:return Fi;case Uu:return Li;case Bu:return Di;case Vu:return Ni;case qu:return Oi}return t});var Wd=R.Uint8Array;var Gu="__lodash_hash_undefined__";function Hu(e){return this.__data__.set(e,Gu),this}var Qu=Hu;function Zu(e){return this.__data__.has(e)}var Yu=Zu;function St(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new Hi;++t<i;)this.add(e[t])}St.prototype.add=St.prototype.push=Qu;St.prototype.has=Yu;var Ri=oe?oe.prototype:void 0,Kd=Ri?Ri.valueOf:void 0;var Wu=Object.prototype,Xd=Wu.hasOwnProperty;var Ku=Object.prototype,Jd=Ku.hasOwnProperty;var ep=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),tp=new RegExp(/[A-Fa-f0-9]{1}/,"g"),ip=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Xu(e,t){if(e.startsWith("buffer:")){let i=await t.editor.getMimeType(e),r=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,r),a=new Uint8Array(n),o=new Blob([a],{type:i});return URL.createObjectURL(o)}else return e}async function L(e,t,i){let r,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(r=t.block.getString(n,"fill/image/imageFileURI"),r==null)throw new Error("No image source/uri found")}else r=o.uri;if(i?.throwErrorIfSvg&&await t.editor.getMimeType(r)==="image/svg+xml")throw new Error("SVG images are not supported");return Xu(r,t)}function Ju(e){return e==null?[]:Array.isArray(e)?e:[e]}var xt=Ju;function ed(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function td(e){return typeof e?.translate=="function"}function Qi(e,t,i){return e&&ed(e)&&td(e.i18n)?e.i18n.translate(t):i}var B="@imgly/plugin-ai-image-generation-web",Re=["ly.img.gpt-image-1.changeStyleLibrary","ly.img.styleTransfer","ly.img.artistTransfer","ly.img.separator","ly.img.editImage","ly.img.swapBackground","ly.img.createVariant","ly.img.combineImages","ly.img.separator","ly.img.remixPage","ly.img.separator","ly.img.createVideo","ly.img.animateBetweenImages"];var Be="editImage",V=`ly.img.${Be}`,Zi=`ly.img.plugin-ai-image-generation-web.quickAction.${Be}`,ze=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Be}`;function Ue(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Be}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var id=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),e.i18n.setTranslations({en:{[`${ze}`]:"Edit Image...",[`${ze}.description`]:"Change image based on description",[`${ze}.prompt`]:"Edit Image...",[`${Zi}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${ze}.apply`]:"Change"}}),{id:V,type:"quick",kind:"image",label:`${Zi}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${V}.prompt`,"");i.TextArea(`${V}.prompt`,{inputLabel:Ue(c,"prompt"),placeholder:Ue(c,"prompt.placeholder")[1],...d}),i.Separator(`${V}.separator`),r.builder.ButtonRow(`${V}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${V}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${V}.footer.apply`,{label:Ue(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=await L(g,l,{throwErrorIfSvg:!0});await o({prompt:p,uri:b}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to edit image. Please try again.",duration:"medium"})}}})}})}else i.Button(`${V}.button`,{label:Ue(c),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:a})}}),Yi=id;var Ge="swapBackground",q=`ly.img.${Ge}`,Wi=`ly.img.plugin-ai-image-generation-web.quickAction.${Ge}`,Ve=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Ge}`;function qe(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Ge}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var rd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),e.i18n.setTranslations({en:{[`${Ve}`]:"Swap Background...",[`${Ve}.description`]:"Change the background of the image",[`${Ve}.prompt`]:"Swap Background...",[`${Wi}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Ve}.apply`]:"Change"}}),{id:q,type:"quick",kind:"image",label:`${Wi}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${q}.prompt`,"");i.TextArea(`${q}.prompt`,{inputLabel:qe(c,"prompt"),placeholder:qe(c,"prompt.placeholder")[1],...d}),i.Separator(`${q}.separator`),r.builder.ButtonRow(`${q}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${q}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${q}.footer.apply`,{label:qe(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=await L(g,l,{throwErrorIfSvg:!0});await o({prompt:`Swap the background to ${p}`,uri:b}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to swap background. Please try again.",duration:"medium"})}}})}})}else i.Button(`${q}.button`,{label:qe(c),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:a})}}),Ki=rd;var He="styleTransfer",Me=`ly.img.${He}`,nd=`ly.img.plugin-ai-image-generation-web.quickAction.${He}`,O=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${He}`;function Xi(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${He}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var ad=[{id:"water",prompt:"Convert to watercolor painting."},{id:"oil",prompt:"Render in oil painting style."},{id:"charcoal",prompt:"Transform into a charcoal sketch."},{id:"pencil",prompt:"Apply pencil drawing effect."},{id:"pastel",prompt:"Make it look like a pastel artwork."},{id:"ink",prompt:"Turn into a classic ink wash painting."},{id:"stained-glass",prompt:"Stylize as a stained glass window."},{id:"japanese",prompt:"Repaint as a traditional Japanese woodblock print."}],od=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),e.i18n.setTranslations({en:{[`${O}`]:"Change Art Style",[`${O}.description`]:"Transform image into different art styles",[`${O}.water`]:"Watercolor Painting",[`${O}.oil`]:"Oil Painting",[`${O}.charcoal`]:"Charcoal Sketch",[`${O}.pencil`]:"Pencil Drawing",[`${O}.pastel`]:"Pastel Artwork",[`${O}.ink`]:"Ink Wash",[`${O}.stained-glass`]:"Stained Glass Window",[`${O}.japanese`]:"Japanese Woodblock Print"}}),{id:Me,type:"quick",kind:"image",label:`${nd}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:a,close:o,providerId:l})=>{r.builder.Popover(`${Me}.popover`,{label:Xi(l),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{i.Section(`${Me}.popover.section`,{children:()=>{r.builder.Menu(`${Me}.popover.menu`,{children:()=>{ad.forEach(u=>{i.Button(`${Me}.popover.menu.${u.id}`,{label:Xi(l,u.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=a.block.findAllSelected(),c=await L(s,a,{throwErrorIfSvg:!0});await n({style:u.prompt,uri:c}),o()}catch(s){console.error("Generation error:",s),e.ui.showNotification({type:"error",message:s.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),Ji=od;var Qe="artistTransfer",Te=`ly.img.${Qe}`,ld=`ly.img.plugin-ai-image-generation-web.quickAction.${Qe}`,_=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Qe}`;function er(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Qe}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var sd=[{id:"van-gogh",prompt:"Render this image in the style of Vincent van Gogh, using expressive brushstrokes and swirling motion."},{id:"monet",prompt:"Transform this image into the soft, impressionistic style of Claude Monet with natural light and delicate color blending."},{id:"picasso",prompt:"Apply a Pablo Picasso cubist style with abstract geometry and fragmented shapes."},{id:"dali",prompt:"Make this image resemble Salvador Dal\xED's surrealist style, with dreamlike distortion and soft shadows."},{id:"matisse",prompt:"Stylize the image using Henri Matisse's bold colors and simplified, flowing shapes."},{id:"warhol",prompt:"Convert this image into Andy Warhol's pop art style with flat colors, repetition, and bold outlines."},{id:"michelangelo",prompt:"Render the image in the classical Renaissance style of Michelangelo, with dramatic anatomy and fresco-like detail."},{id:"da-vinci",prompt:"Make this image look like a Leonardo da Vinci painting, using soft transitions, balanced composition, and natural tones."},{id:"rembrandt",prompt:"Apply Rembrandt's style with rich contrast, warm tones, and dramatic use of light and shadow."},{id:"mondrian",prompt:"Transform the image into Piet Mondrian's abstract geometric style with grids and primary colors."},{id:"kahlo",prompt:"Stylize this image in the expressive, symbolic style of Frida Kahlo with vivid colors and surreal framing."},{id:"hokusai",prompt:"Render the image in the style of Hokusai, using bold outlines, flat color, and traditional Japanese woodblock aesthetics."}],cd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),e.i18n.setTranslations({en:{[`${_}`]:"Painted By",[`${_}.description`]:"Transform image in the style of famous artists",[`${_}.van-gogh`]:"Van Gogh",[`${_}.monet`]:"Monet",[`${_}.picasso`]:"Picasso",[`${_}.dali`]:"Dal\xED",[`${_}.matisse`]:"Matisse",[`${_}.warhol`]:"Warhol",[`${_}.michelangelo`]:"Michelangelo",[`${_}.da-vinci`]:"Da Vinci",[`${_}.rembrandt`]:"Rembrandt",[`${_}.mondrian`]:"Mondrian",[`${_}.kahlo`]:"Frida Kahlo",[`${_}.hokusai`]:"Hokusai"}}),{id:Te,type:"quick",kind:"image",label:`${ld}`,enable:N(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:a,close:o,providerId:l})=>{r.builder.Popover(`${Te}.popover`,{label:er(l),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{i.Section(`${Te}.popover.section`,{children:()=>{r.builder.Menu(`${Te}.popover.menu`,{children:()=>{sd.forEach(u=>{i.Button(`${Te}.popover.menu.${u.id}`,{label:er(l,u.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=a.block.findAllSelected(),c=await L(s,a,{throwErrorIfSvg:!0});await n({artist:u.prompt,uri:c}),o()}catch(s){console.error("Generation error:",s),e.ui.showNotification({type:"error",message:s.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),tr=cd;var We="createVariant",G=`ly.img.${We}`,ir=`ly.img.plugin-ai-image-generation-web.quickAction.${We}`,Ze=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${We}`;function Ye(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${We}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var ud=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),e.i18n.setTranslations({en:{[`${Ze}`]:"Create Variant...",[`${Ze}.description`]:"Create a variation of the image",[`${Ze}.prompt`]:"Create Variant...",[`${ir}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${Ze}.apply`]:"Create"}}),{id:G,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${ir}`,enable:i=>{if(!N()(i))return!1;let[r]=i.engine.block.findAllSelected();return!(!e.feature.isEnabled("ly.img.duplicate",{engine:i.engine})||!i.engine.block.isAllowedByScope(r,"lifecycle/duplicate"))},scopes:["fill/change","lifecycle/duplicate"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${G}.prompt`,"");i.TextArea(`${G}.prompt`,{inputLabel:Ye(c,"prompt"),placeholder:Ye(c,"prompt.placeholder")[1],...d}),i.Separator(`${G}.separator`),r.builder.ButtonRow(`${G}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${G}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${G}.footer.apply`,{label:Ye(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=l.block.getType(g),m=l.block.duplicate(g);b==="//ly.img.ubq/page"&&l.block.getChildren(m).forEach(I=>{l.block.destroy(I)}),l.block.setSelected(g,!1),l.block.setSelected(m,!0);let y=l.block.getParent(m);if(y==null)throw new Error("Parent not found");if(!(y!=null&&l.block.getType(y)==="//ly.img.ubq/track"&&l.block.isPageDurationSource(y))&&b!=="//ly.img.ubq/page"){let C=l.block.getWidth(y),f=l.block.getHeight(y),h=.02*Math.min(C,f)*1;l.block.setPositionX(m,l.block.getPositionX(m)+h),l.block.setPositionY(m,l.block.getPositionY(m)+h)}let k=await L(m,l,{throwErrorIfSvg:!0});await o({prompt:p,uri:k},{blockIds:[m]}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to create variant. Please try again.",duration:"medium"})}}})}})}else i.Button(`${G}.button`,{label:Ye(c),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:a})}}),rr=ud;var Xe="combineImages",H=`ly.img.${Xe}`,nr=`ly.img.plugin-ai-image-generation-web.quickAction.${Xe}`,Et=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Xe}`;function Ke(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Xe}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var dd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),e.i18n.setTranslations({en:{[`${Et}.apply`]:"Combine",[`${Et}`]:"Combine Images...",[`${Et}.prompt`]:"Image Combination Instructions",[`${nr}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:H,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${nr}`,enable:i=>{let r=i.engine.block.findAllSelected();return r==null||r.length<2?!1:r.every(n=>{if(i.engine.block.getType(n)!=="//ly.img.ubq/graphic"&&!i.engine.block.supportsFill(n))return!1;let a=i.engine.block.getFill(n);if(i.engine.block.getType(a)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:i.engine})||!i.engine.block.isAllowedByScope(n,"lifecycle/duplicate"))return!1;let o=i.engine.block.getParent(n);return!(o!=null&&i.engine.block.getType(o)==="//ly.img.ubq/track"&&i.engine.block.isPageDurationSource(o)||i.engine.block.getType(n)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${H}.prompt`,"");i.TextArea(`${H}.prompt`,{inputLabel:Ke(c,"prompt"),placeholder:Ke(c,"prompt.placeholder")[1],...d}),i.Separator(`${H}.separator`),r.builder.ButtonRow(`${H}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${H}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${H}.footer.apply`,{label:Ke(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let g=l.block.findAllSelected(),b=l.block.duplicate(g[0]);g.forEach(f=>{l.block.setSelected(f,!1)}),l.block.setSelected(b,!0);let m=l.block.getParent(b);if(m==null)throw new Error("Parent not found");let y=1,v=l.block.getWidth(m),k=l.block.getHeight(m),I=.02*Math.min(v,k)*y;l.block.setPositionX(b,l.block.getPositionX(b)+I),l.block.setPositionY(b,l.block.getPositionY(b)+I);let C=await Promise.all(g.map(f=>L(f,l,{throwErrorIfSvg:!0})));await o({prompt:p,uris:C,exportFromBlockIds:g},{blockIds:[b]}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to combine images. Please try again.",duration:"medium"})}}})}})}else i.Button(`${H}.button`,{label:Ke(c),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:a})}}),ar=dd;var Je="remixPage",or=`ly.img.${Je}`,pd=`ly.img.plugin-ai-image-generation-web.quickAction.${Je}`,gd=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Je}`;function md(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Je}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var fd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),e.i18n.setTranslations({en:{[`${gd}`]:"Turn Page into Image"}}),{id:or,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${pd}`,enable:({engine:i})=>{let r=i.block.findAllSelected();if(r.length!==1)return!1;let n=r[0];return i.block.getType(n)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:i,generate:r,engine:n,close:a,providerId:o})=>{i.Button(`${or}.button`,{label:md(o),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[l]=n.block.findAllSelected(),u=await n.block.export(l),s=URL.createObjectURL(u),c=n.block.duplicate(l);n.block.getChildren(c).forEach(k=>{n.block.destroy(k)}),n.block.setSelected(l,!1);let d=n.block.getFrameWidth(l),p=n.block.getFrameHeight(l),g=n.block.getPositionX(l),b=n.block.getPositionY(l),m=n.block.createShape("rect"),y=n.block.create("graphic");n.block.setShape(y,m),n.block.appendChild(c,y),n.block.setWidth(y,d),n.block.setHeight(y,p),n.block.setPositionX(y,g),n.block.setPositionY(y,b);let v=n.block.createFill("image");n.block.setFill(y,v),n.block.setString(v,"fill/image/imageFileURI",s),n.block.setSelected(y,!0),n.scene.zoomToBlock(y),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:s},{blockIds:[y]}),a()}catch(l){console.error("Generation error:",l),e.ui.showNotification({type:"error",message:l.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),lr=fd;var tt="remixPageWithPrompt",Q=`ly.img.${tt}`,sr=`ly.img.plugin-ai-image-generation-web.quickAction.${tt}`,Mt=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${tt}`;function et(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${tt}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var bd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),e.i18n.setTranslations({en:{[`${Mt}`]:"Remix Page...",[`${Mt}.prompt`]:"Remix Page Prompt",[`${sr}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${Mt}.apply`]:"Remix"}}),{id:Q,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${sr}`,enable:({engine:i})=>{let r=i.block.findAllSelected();if(r.length!==1)return!1;let n=r[0];return i.block.getType(n)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:a,generate:o,engine:l,state:u,close:s,providerId:c})=>{if(n){let d=u(`${Q}.prompt`,"");i.TextArea(`${Q}.prompt`,{inputLabel:et(c,"prompt"),placeholder:et(c,"prompt.placeholder")[1],...d}),i.Separator(`${Q}.separator`),r.builder.ButtonRow(`${Q}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${Q}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:a}),i.Button(`${Q}.footer.apply`,{label:et(c,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:d.value.length===0,onClick:async()=>{try{let p=d.value;if(!p)return;let[g]=l.block.findAllSelected(),b=await l.block.export(g),m=URL.createObjectURL(b),y=l.block.duplicate(g);l.block.getChildren(y).forEach(w=>{l.block.destroy(w)}),l.block.setSelected(g,!1);let v=l.block.getFrameWidth(g),k=l.block.getFrameHeight(g),I=l.block.getPositionX(g),C=l.block.getPositionY(g),f=l.block.createShape("rect"),h=l.block.create("graphic");l.block.setShape(h,f),l.block.appendChild(y,h),l.block.setWidth(h,v),l.block.setHeight(h,k),l.block.setPositionX(h,I),l.block.setPositionY(h,C);let S=l.block.createFill("image");l.block.setFill(h,S),l.block.setString(S,"fill/image/imageFileURI",m),l.block.setSelected(h,!0),l.scene.zoomToBlock(h),await o({prompt:p,uri:m},{blockIds:[h]}),a(),s()}catch(p){console.error("Generation error:",p),e.ui.showNotification({type:"error",message:p.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}})}else i.Button(`${Q}.button`,{label:et(c),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:a})}}),cr=bd;var Z="ly.img.ai.image-generation";function yd(e){return{async initialize({cesdk:t}){if(t==null)return;li(t,B,"0.2.12"),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.providerSelect",!0);let i=De.get(),r=`${B}.action.label`;t.ui.addIconSet(Ci,Si),t.i18n.setTranslations({en:{[`panel.${Z}`]:"Image Generation",[`${Z}.dock.label`]:"AI Image",[r]:"Generate Image"}});let n=i.register({type:"plugin",sceneMode:"Design",id:B,pluginId:B,label:Qi(t,r,"Generate Image"),meta:{panelId:Z},execute:()=>{t.ui.isPanelOpen(Z)?t.ui.closePanel(Z):t.ui.openPanel(Z)}});hd(e),i.register(Yi({cesdk:t})),i.register(Ki({cesdk:t})),i.register(Ji({cesdk:t})),i.register(tr({cesdk:t})),i.register(rr({cesdk:t})),i.register(ar({cesdk:t})),i.register(lr({cesdk:t})),i.register(cr({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,l=await Promise.all(xt(a).map(p=>p({cesdk:t}))),u=await Promise.all(xt(o).map(p=>p({cesdk:t})));if(!(l.length>0||u.length>0)){n();return}let c=await ki("image",{fromText:l,fromImage:u},{cesdk:t},e),d=await Ai({kind:"image",providerInitializationResults:c.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:Re});c.history?.assetSourceId!=null,d.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",d.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:Ie})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(Z,c.panel.builderRenderFunction),si({cesdk:t,panelId:Z})):n()}}}function hd(e){e.debug&&(e.providers?.text2image!=null&&e.text2image!=null&&console.warn("[ImageGeneration]: Both `providers.text2image` and `text2image` configuration is provided. Since `text2image` is deprecated, only `providers.text2image` will be used."),e.providers?.image2image!=null&&e.image2image!=null&&console.warn("[ImageGeneration]: Both `providers.image2image` and `image2image` configuration is provided. Since `image2image` is deprecated, only `providers.image2image` will be used."))}var ur=yd;var vd=e=>({name:B,version:"0.2.12",...ur(e)}),Gp=vd;export{Re as DEFAULT_IMAGE_QUICK_ACTION_ORDER,Gp as default};
81
81
  /*! Bundled license information:
82
82
 
83
83
  lodash-es/lodash.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imgly/plugin-ai-image-generation-web",
3
- "version": "0.2.11",
3
+ "version": "0.2.12",
4
4
  "description": "AI image generation plugin for the CE.SDK editor",
5
5
  "keywords": [
6
6
  "CE.SDK",
@@ -63,10 +63,9 @@
63
63
  "check:types": "tsc --noEmit",
64
64
  "types:create": "tsc --emitDeclarationOnly"
65
65
  },
66
- "dependencies": {
67
- "@imgly/plugin-ai-generation-web": "workspace:*"
68
- },
66
+ "dependencies": {},
69
67
  "devDependencies": {
68
+ "@imgly/plugin-ai-generation-web": "workspace:*",
70
69
  "@fal-ai/client": "^1.3.0",
71
70
  "@imgly/plugin-utils": "workspace:*",
72
71
  "@types/jest": "^30.0.0",