@imgly/plugin-ai-image-generation-web 1.83.0-rc.0 → 1.83.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -88,7 +88,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
88
88
 
89
89
  </symbol>
90
90
  </svg>
91
- `,Ni=bs;var hs=typeof global=="object"&&global&&global.Object===Object&&global,Ki=hs,vs=typeof self=="object"&&self&&self.Object===Object&&self,ks=Ki||vs||Function("return this")(),z=ks,ws=z.Symbol,se=ws,Xi=Object.prototype,Is=Xi.hasOwnProperty,As=Xi.toString,Se=se?se.toStringTag:void 0;function Cs(e){var t=Is.call(e,Se),i=e[Se];try{e[Se]=void 0;var r=!0}catch{}var n=As.call(e);return r&&(t?e[Se]=i:delete e[Se]),n}var Ss=Cs,$s=Object.prototype,xs=$s.toString;function Es(e){return xs.call(e)}var Ps=Es,Ms="[object Null]",Ts="[object Undefined]",Oi=se?se.toStringTag:void 0;function _s(e){return e==null?e===void 0?Ts:Ms:Oi&&Oi in Object(e)?Ss(e):Ps(e)}var Pe=_s;function js(e){return e!=null&&typeof e=="object"}var Mt=js,lp=Array.isArray;function Ds(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ji=Ds,Ls="[object AsyncFunction]",Ns="[object Function]",Os="[object GeneratorFunction]",Fs="[object Proxy]";function Rs(e){if(!Ji(e))return!1;var t=Pe(e);return t==Ns||t==Os||t==Ls||t==Fs}var zs=Rs,Us=z["__core-js_shared__"],At=Us,Fi=function(){var e=/[^.]+$/.exec(At&&At.keys&&At.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Vs(e){return!!Fi&&Fi in e}var Bs=Vs,qs=Function.prototype,Gs=qs.toString;function Hs(e){if(e!=null){try{return Gs.call(e)}catch{}try{return e+""}catch{}}return""}var J=Hs,Qs=/[\\^$.*+?()[\]{}|]/g,Ws=/^\[object .+?Constructor\]$/,Zs=Function.prototype,Ys=Object.prototype,Ks=Zs.toString,Xs=Ys.hasOwnProperty,Js=RegExp("^"+Ks.call(Xs).replace(Qs,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function eu(e){if(!Ji(e)||Bs(e))return!1;var t=zs(e)?Js:Ws;return t.test(J(e))}var tu=eu;function iu(e,t){return e?.[t]}var ru=iu;function nu(e,t){var i=ru(e,t);return tu(i)?i:void 0}var ue=nu,au=ue(z,"WeakMap"),St=au;function ou(e,t){return e===t||e!==e&&t!==t}var lu=ou,su=9007199254740991;function uu(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=su}var cu=uu;var sp=Object.prototype;var du="[object Arguments]";function pu(e){return Mt(e)&&Pe(e)==du}var Ri=pu,er=Object.prototype,gu=er.hasOwnProperty,mu=er.propertyIsEnumerable,up=Ri(function(){return arguments}())?Ri:function(e){return Mt(e)&&gu.call(e,"callee")&&!mu.call(e,"callee")};var tr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,zi=tr&&typeof module=="object"&&module&&!module.nodeType&&module,fu=zi&&zi.exports===tr,Ui=fu?z.Buffer:void 0,cp=Ui?Ui.isBuffer:void 0;var yu="[object Arguments]",bu="[object Array]",hu="[object Boolean]",vu="[object Date]",ku="[object Error]",wu="[object Function]",Iu="[object Map]",Au="[object Number]",Cu="[object Object]",Su="[object RegExp]",$u="[object Set]",xu="[object String]",Eu="[object WeakMap]",Pu="[object ArrayBuffer]",Mu="[object DataView]",Tu="[object Float32Array]",_u="[object Float64Array]",ju="[object Int8Array]",Du="[object Int16Array]",Lu="[object Int32Array]",Nu="[object Uint8Array]",Ou="[object Uint8ClampedArray]",Fu="[object Uint16Array]",Ru="[object Uint32Array]",E={};E[Tu]=E[_u]=E[ju]=E[Du]=E[Lu]=E[Nu]=E[Ou]=E[Fu]=E[Ru]=!0;E[yu]=E[bu]=E[Pu]=E[hu]=E[Mu]=E[vu]=E[ku]=E[wu]=E[Iu]=E[Au]=E[Cu]=E[Su]=E[$u]=E[xu]=E[Eu]=!1;function zu(e){return Mt(e)&&cu(e.length)&&!!E[Pe(e)]}var Uu=zu;function Vu(e){return function(t){return e(t)}}var Bu=Vu,ir=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$e=ir&&typeof module=="object"&&module&&!module.nodeType&&module,qu=$e&&$e.exports===ir,Ct=qu&&Ki.process,Gu=function(){try{var e=$e&&$e.require&&$e.require("util").types;return e||Ct&&Ct.binding&&Ct.binding("util")}catch{}}(),Vi=Gu,Bi=Vi&&Vi.isTypedArray,dp=Bi?Bu(Bi):Uu;var Hu=Object.prototype,pp=Hu.hasOwnProperty;function Qu(e,t){return function(i){return e(t(i))}}var Wu=Qu,gp=Wu(Object.keys,Object);var Zu=Object.prototype,mp=Zu.hasOwnProperty;var Yu=ue(Object,"create"),xe=Yu;function Ku(){this.__data__=xe?xe(null):{},this.size=0}var Xu=Ku;function Ju(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ec=Ju,tc="__lodash_hash_undefined__",ic=Object.prototype,rc=ic.hasOwnProperty;function nc(e){var t=this.__data__;if(xe){var i=t[e];return i===tc?void 0:i}return rc.call(t,e)?t[e]:void 0}var ac=nc,oc=Object.prototype,lc=oc.hasOwnProperty;function sc(e){var t=this.__data__;return xe?t[e]!==void 0:lc.call(t,e)}var uc=sc,cc="__lodash_hash_undefined__";function dc(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=xe&&t===void 0?cc:t,this}var pc=dc;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=Xu;ce.prototype.delete=ec;ce.prototype.get=ac;ce.prototype.has=uc;ce.prototype.set=pc;var qi=ce;function gc(){this.__data__=[],this.size=0}var mc=gc;function fc(e,t){for(var i=e.length;i--;)if(lu(e[i][0],t))return i;return-1}var Fe=fc,yc=Array.prototype,bc=yc.splice;function hc(e){var t=this.__data__,i=Fe(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():bc.call(t,i,1),--this.size,!0}var vc=hc;function kc(e){var t=this.__data__,i=Fe(t,e);return i<0?void 0:t[i][1]}var wc=kc;function Ic(e){return Fe(this.__data__,e)>-1}var Ac=Ic;function Cc(e,t){var i=this.__data__,r=Fe(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var Sc=Cc;function de(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])}}de.prototype.clear=mc;de.prototype.delete=vc;de.prototype.get=wc;de.prototype.has=Ac;de.prototype.set=Sc;var Re=de,$c=ue(z,"Map"),Ee=$c;function xc(){this.size=0,this.__data__={hash:new qi,map:new(Ee||Re),string:new qi}}var Ec=xc;function Pc(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Mc=Pc;function Tc(e,t){var i=e.__data__;return Mc(t)?i[typeof t=="string"?"string":"hash"]:i.map}var ze=Tc;function _c(e){var t=ze(this,e).delete(e);return this.size-=t?1:0,t}var jc=_c;function Dc(e){return ze(this,e).get(e)}var Lc=Dc;function Nc(e){return ze(this,e).has(e)}var Oc=Nc;function Fc(e,t){var i=ze(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Rc=Fc;function pe(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])}}pe.prototype.clear=Ec;pe.prototype.delete=jc;pe.prototype.get=Lc;pe.prototype.has=Oc;pe.prototype.set=Rc;var rr=pe;function zc(){this.__data__=new Re,this.size=0}var Uc=zc;function Vc(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var Bc=Vc;function qc(e){return this.__data__.get(e)}var Gc=qc;function Hc(e){return this.__data__.has(e)}var Qc=Hc,Wc=200;function Zc(e,t){var i=this.__data__;if(i instanceof Re){var r=i.__data__;if(!Ee||r.length<Wc-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new rr(r)}return i.set(e,t),this.size=i.size,this}var Yc=Zc;function Me(e){var t=this.__data__=new Re(e);this.size=t.size}Me.prototype.clear=Uc;Me.prototype.delete=Bc;Me.prototype.get=Gc;Me.prototype.has=Qc;Me.prototype.set=Yc;var Kc=Object.prototype,fp=Kc.propertyIsEnumerable;var Xc=ue(z,"DataView"),$t=Xc,Jc=ue(z,"Promise"),xt=Jc,ed=ue(z,"Set"),Et=ed,Gi="[object Map]",td="[object Object]",Hi="[object Promise]",Qi="[object Set]",Wi="[object WeakMap]",Zi="[object DataView]",id=J($t),rd=J(Ee),nd=J(xt),ad=J(Et),od=J(St),le=Pe;($t&&le(new $t(new ArrayBuffer(1)))!=Zi||Ee&&le(new Ee)!=Gi||xt&&le(xt.resolve())!=Hi||Et&&le(new Et)!=Qi||St&&le(new St)!=Wi)&&(le=function(e){var t=Pe(e),i=t==td?e.constructor:void 0,r=i?J(i):"";if(r)switch(r){case id:return Zi;case rd:return Gi;case nd:return Hi;case ad:return Qi;case od:return Wi}return t});var yp=z.Uint8Array;var ld="__lodash_hash_undefined__";function sd(e){return this.__data__.set(e,ld),this}var ud=sd;function cd(e){return this.__data__.has(e)}var dd=cd;function Pt(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new rr;++t<i;)this.add(e[t])}Pt.prototype.add=Pt.prototype.push=ud;Pt.prototype.has=dd;var Yi=se?se.prototype:void 0,bp=Yi?Yi.valueOf:void 0;var pd=Object.prototype,hp=pd.hasOwnProperty;var gd=Object.prototype,vp=gd.hasOwnProperty;var kp=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),wp=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ip=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function md(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),o=new Uint8Array(n),a=new Blob([o],{type:i});return URL.createObjectURL(a)}else return e}async function D(e,t,i){let r,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(r=t.block.getString(n,"fill/image/imageFileURI"),r==null)throw new Error("No image source/uri found")}else r=a.uri;if(i?.throwErrorIfSvg&&await t.editor.getMimeType(r)==="image/svg+xml")throw new Error("SVG images are not supported");return md(r,t)}function fd(e){return e==null?[]:Array.isArray(e)?e:[e]}var Tt=fd;function yd(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function bd(e){return typeof e?.translate=="function"}function nr(e,t,i){return e&&yd(e)&&bd(e.i18n)?e.i18n.translate(t):i}var B="@imgly/plugin-ai-image-generation-web",Ue=["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.createImage","ly.img.createVideo","ly.img.animateBetweenImages"];var qe="editImage",q=`ly.img.${qe}`,ar=`ly.img.plugin-ai-image-generation-web.quickAction.${qe}`,Ve=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qe}`;function Be(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 hd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),P(e,{en:{[`${Ve}`]:"Edit Image...",[`${Ve}.description`]:"Change image based on description",[`${Ve}.prompt`]:"Edit Image...",[`${ar}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${Ve}.apply`]:"Change"}}),{id:q,type:"quick",kind:"image",label:`${ar}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${q}.prompt`,"");i.PromptInput(`${q}.prompt`,{inputLabel:Be(u,"prompt"),placeholder:Be(u,"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:o}),i.Button(`${q}.footer.apply`,{label:Be(u,"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(),f=await D(g,l,{throwErrorIfSvg:!0});await a({prompt:p,uri:f}),o(),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(`${q}.button`,{label:Be(u),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:o})}}),or=hd;var Qe="swapBackground",G=`ly.img.${Qe}`,lr=`ly.img.plugin-ai-image-generation-web.quickAction.${Qe}`,Ge=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Qe}`;function He(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 vd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),P(e,{en:{[`${Ge}`]:"Swap Background...",[`${Ge}.description`]:"Change the background of the image",[`${Ge}.prompt`]:"Swap Background...",[`${lr}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Ge}.apply`]:"Change"}}),{id:G,type:"quick",kind:"image",label:`${lr}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${G}.prompt`,"");i.PromptInput(`${G}.prompt`,{inputLabel:He(u,"prompt"),placeholder:He(u,"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:o}),i.Button(`${G}.footer.apply`,{label:He(u,"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(),f=await D(g,l,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${p}`,uri:f}),o(),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(`${G}.button`,{label:He(u),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:o})}}),sr=vd;var We="styleTransfer",Te=`ly.img.${We}`,kd=`ly.img.plugin-ai-image-generation-web.quickAction.${We}`,F=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${We}`;function ur(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 wd=[{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."}],Id=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),P(e,{en:{[`${F}`]:"Change Art Style",[`${F}.description`]:"Transform image into different art styles",[`${F}.water`]:"Watercolor Painting",[`${F}.oil`]:"Oil Painting",[`${F}.charcoal`]:"Charcoal Sketch",[`${F}.pencil`]:"Pencil Drawing",[`${F}.pastel`]:"Pastel Artwork",[`${F}.ink`]:"Ink Wash",[`${F}.stained-glass`]:"Stained Glass Window",[`${F}.japanese`]:"Japanese Woodblock Print"}}),{id:Te,type:"quick",kind:"image",label:`${kd}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:o,close:a,providerId:l})=>{r.builder.Popover(`${Te}.popover`,{label:ur(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:()=>{wd.forEach(c=>{i.Button(`${Te}.popover.menu.${c.id}`,{label:ur(l,c.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=o.block.findAllSelected(),u=await D(s,o,{throwErrorIfSvg:!0});await n({style:c.prompt,uri:u}),a()}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"})}}})})}})}})}})}}),cr=Id;var Ze="artistTransfer",_e=`ly.img.${Ze}`,Ad=`ly.img.plugin-ai-image-generation-web.quickAction.${Ze}`,L=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Ze}`;function dr(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Ze}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var Cd=[{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."}],Sd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),P(e,{en:{[`${L}`]:"Painted By",[`${L}.description`]:"Transform image in the style of famous artists",[`${L}.van-gogh`]:"Van Gogh",[`${L}.monet`]:"Monet",[`${L}.picasso`]:"Picasso",[`${L}.dali`]:"Dal\xED",[`${L}.matisse`]:"Matisse",[`${L}.warhol`]:"Warhol",[`${L}.michelangelo`]:"Michelangelo",[`${L}.da-vinci`]:"Da Vinci",[`${L}.rembrandt`]:"Rembrandt",[`${L}.mondrian`]:"Mondrian",[`${L}.kahlo`]:"Frida Kahlo",[`${L}.hokusai`]:"Hokusai"}}),{id:_e,type:"quick",kind:"image",label:`${Ad}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:o,close:a,providerId:l})=>{r.builder.Popover(`${_e}.popover`,{label:dr(l),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{i.Section(`${_e}.popover.section`,{children:()=>{r.builder.Menu(`${_e}.popover.menu`,{children:()=>{Cd.forEach(c=>{i.Button(`${_e}.popover.menu.${c.id}`,{label:dr(l,c.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=o.block.findAllSelected(),u=await D(s,o,{throwErrorIfSvg:!0});await n({artist:c.prompt,uri:u}),a()}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"})}}})})}})}})}})}}),pr=Sd;var Xe="createVariant",H=`ly.img.${Xe}`,gr=`ly.img.plugin-ai-image-generation-web.quickAction.${Xe}`,Ye=`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 $d=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),P(e,{en:{[`${Ye}`]:"Create Variant...",[`${Ye}.description`]:"Create a variation of the image",[`${Ye}.prompt`]:"Create Variant...",[`${gr}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${Ye}.apply`]:"Create"}}),{id:H,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${gr}`,enable:i=>{if(!O()(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:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${H}.prompt`,"");i.PromptInput(`${H}.prompt`,{inputLabel:Ke(u,"prompt"),placeholder:Ke(u,"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:o}),i.Button(`${H}.footer.apply`,{label:Ke(u,"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(),f=l.block.getType(g),m=l.block.duplicate(g);f==="//ly.img.ubq/page"&&l.block.getChildren(m).forEach(A=>{l.block.destroy(A)}),l.block.setSelected(g,!1),l.block.setSelected(m,!0);let b=l.block.getParent(m);if(b==null)throw new Error("Parent not found");if(!(b!=null&&l.block.getType(b)==="//ly.img.ubq/track"&&l.block.isPageDurationSource(b))&&f!=="//ly.img.ubq/page"){let C=l.block.getWidth(b),y=l.block.getHeight(b),h=.02*Math.min(C,y)*1;l.block.setPositionX(m,l.block.getPositionX(m)+h),l.block.setPositionY(m,l.block.getPositionY(m)+h)}let k=await D(m,l,{throwErrorIfSvg:!0});await a({prompt:p,uri:k},{blockIds:[m]}),o(),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(`${H}.button`,{label:Ke(u),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:o})}}),mr=$d;var Je="createImage",fr=`ly.img.${Je}`,xd=`ly.img.plugin-ai-image-generation-web.quickAction.${Je}`,yr=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Je}`;function Ed(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 Pd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createImage",!0),P(e,{en:{[`${yr}`]:"Create Image from Reference...",[`${yr}.description`]:"Create an image from the selected image"}}),{id:fr,type:"quick",kind:"image",label:`${xd}`,enable:O(),scopes:[],render:({builder:i,engine:r,close:n,providerId:o})=>{i.Button(`${fr}.button`,{label:Ed(o),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",isDisabled:!pi(e,o),onClick:async()=>{try{let[a]=r.block.findAllSelected(),l=await D(a,r,{throwErrorIfSvg:!0});e.ui.experimental.setGlobalStateValue("ly.img.ai.image-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue("ly.img.ai.image-generation.selectedProvider.fromImage",o),gi(e,o,l),e.ui.openPanel("ly.img.ai.image-generation"),n()}catch(a){console.error("Error opening image generation panel:",a)}}})}}),br=Pd;var tt="combineImages",Q=`ly.img.${tt}`,hr=`ly.img.plugin-ai-image-generation-web.quickAction.${tt}`,_t=`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 Md=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),P(e,{en:{[`${_t}.apply`]:"Combine",[`${_t}`]:"Combine Images...",[`${_t}.prompt`]:"Image Combination Instructions",[`${hr}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:Q,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${hr}`,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 o=i.engine.block.getFill(n);if(i.engine.block.getType(o)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:i.engine})||!i.engine.block.isAllowedByScope(n,"lifecycle/duplicate"))return!1;let a=i.engine.block.getParent(n);return!(a!=null&&i.engine.block.getType(a)==="//ly.img.ubq/track"&&i.engine.block.isPageDurationSource(a)||i.engine.block.getType(n)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${Q}.prompt`,"");i.PromptInput(`${Q}.prompt`,{inputLabel:et(u,"prompt"),placeholder:et(u,"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:o}),i.Button(`${Q}.footer.apply`,{label:et(u,"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(),f=l.block.duplicate(g[0]);g.forEach(y=>{l.block.setSelected(y,!1)}),l.block.setSelected(f,!0);let m=l.block.getParent(f);if(m==null)throw new Error("Parent not found");let b=1,v=l.block.getWidth(m),k=l.block.getHeight(m),A=.02*Math.min(v,k)*b;l.block.setPositionX(f,l.block.getPositionX(f)+A),l.block.setPositionY(f,l.block.getPositionY(f)+A);let C=await Promise.all(g.map(y=>D(y,l,{throwErrorIfSvg:!0})));await a({prompt:p,uris:C,exportFromBlockIds:g},{blockIds:[f]}),o(),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(`${Q}.button`,{label:et(u),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:o})}}),vr=Md;var it="remixPage",kr=`ly.img.${it}`,Td=`ly.img.plugin-ai-image-generation-web.quickAction.${it}`,_d=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${it}`;function jd(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${it}`,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.remixPage",!0),P(e,{en:{[`${_d}`]:"Turn Page into Image"}}),{id:kr,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Td}`,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:o,providerId:a})=>{i.Button(`${kr}.button`,{label:jd(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[l]=n.block.findAllSelected(),c=await n.block.export(l),s=URL.createObjectURL(c),u=n.block.duplicate(l);n.block.getChildren(u).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),f=n.block.getPositionY(l),m=n.block.createShape("rect"),b=n.block.create("graphic");n.block.setShape(b,m),n.block.appendChild(u,b),n.block.setWidth(b,d),n.block.setHeight(b,p),n.block.setPositionX(b,g),n.block.setPositionY(b,f);let v=n.block.createFill("image");n.block.setFill(b,v),n.block.setString(v,"fill/image/imageFileURI",s),n.block.setSelected(b,!0),n.scene.zoomToBlock(b),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:s},{blockIds:[b]}),o()}catch(l){console.error("Generation error:",l),e.ui.showNotification({type:"error",message:l.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),wr=Dd;var nt="remixPageWithPrompt",W=`ly.img.${nt}`,Ir=`ly.img.plugin-ai-image-generation-web.quickAction.${nt}`,jt=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${nt}`;function rt(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${nt}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var Ld=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),P(e,{en:{[`${jt}`]:"Remix Page...",[`${jt}.prompt`]:"Remix Page Prompt",[`${Ir}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${jt}.apply`]:"Remix"}}),{id:W,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Ir}`,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:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${W}.prompt`,"");i.PromptInput(`${W}.prompt`,{inputLabel:rt(u,"prompt"),placeholder:rt(u,"prompt.placeholder")[1],...d}),i.Separator(`${W}.separator`),r.builder.ButtonRow(`${W}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${W}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:o}),i.Button(`${W}.footer.apply`,{label:rt(u,"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(),f=await l.block.export(g),m=URL.createObjectURL(f),b=l.block.duplicate(g);l.block.getChildren(b).forEach(w=>{l.block.destroy(w)}),l.block.setSelected(g,!1);let v=l.block.getFrameWidth(g),k=l.block.getFrameHeight(g),A=l.block.getPositionX(g),C=l.block.getPositionY(g),y=l.block.createShape("rect"),h=l.block.create("graphic");l.block.setShape(h,y),l.block.appendChild(b,h),l.block.setWidth(h,v),l.block.setHeight(h,k),l.block.setPositionX(h,A),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 a({prompt:p,uri:m},{blockIds:[h]}),o(),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(`${W}.button`,{label:rt(u),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:o})}}),Ar=Ld;var Z="ly.img.ai.image-generation";function Nd(e){return{async initialize({cesdk:t}){if(t==null)return;hi(t,B,"1.83.0-rc.0"),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=Oe.get(),r=`${B}.action.label`;t.ui.addIconSet(Li,Ni),P(t,{en:{[`panel.${Z}`]:"Image Generation",[`${Z}.dock.label`]:"AI Image",[r]:"Generate Image","ly.img.plugin-ai-image-generation-web.defaults.fromText.label":"Text to Image","ly.img.plugin-ai-image-generation-web.defaults.fromImage.label":"Image to Image"}});let n=i.register({type:"plugin",sceneMode:"Design",id:B,pluginId:B,label:nr(t,r,"Generate Image"),labelKey:r,meta:{panelId:Z},execute:()=>{t.ui.isPanelOpen(Z)?t.ui.closePanel(Z):t.ui.openPanel(Z)}});Od(e),i.register(or({cesdk:t})),i.register(sr({cesdk:t})),i.register(cr({cesdk:t})),i.register(pr({cesdk:t})),i.register(mr({cesdk:t})),i.register(br({cesdk:t})),i.register(vr({cesdk:t})),i.register(wr({cesdk:t})),i.register(Ar({cesdk:t}));let o=e.providers?.text2image??e.text2image,a=e.providers?.image2image??e.image2image,l=await Promise.all(Tt(o).map(p=>p({cesdk:t}))),c=await Promise.all(Tt(a).map(p=>p({cesdk:t})));if(!(l.length>0||c.length>0)){n();return}let u=await Ti("image",{fromText:l,fromImage:c},{cesdk:t},e),d=await Di({kind:"image",providerInitializationResults:u.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:Ue});u.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:Ce})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(Z,u.panel.builderRenderFunction),vi({cesdk:t,panelId:Z})):n()}}}function Od(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 Cr=Nd;var Fd=e=>({name:B,version:"1.83.0-rc.0",...Cr(e)}),Ig=Fd;export{Ue as DEFAULT_IMAGE_QUICK_ACTION_ORDER,Ig as default};
91
+ `,Ni=bs;var hs=typeof global=="object"&&global&&global.Object===Object&&global,Ki=hs,vs=typeof self=="object"&&self&&self.Object===Object&&self,ks=Ki||vs||Function("return this")(),z=ks,ws=z.Symbol,se=ws,Xi=Object.prototype,Is=Xi.hasOwnProperty,As=Xi.toString,Se=se?se.toStringTag:void 0;function Cs(e){var t=Is.call(e,Se),i=e[Se];try{e[Se]=void 0;var r=!0}catch{}var n=As.call(e);return r&&(t?e[Se]=i:delete e[Se]),n}var Ss=Cs,$s=Object.prototype,xs=$s.toString;function Es(e){return xs.call(e)}var Ps=Es,Ms="[object Null]",Ts="[object Undefined]",Oi=se?se.toStringTag:void 0;function _s(e){return e==null?e===void 0?Ts:Ms:Oi&&Oi in Object(e)?Ss(e):Ps(e)}var Pe=_s;function js(e){return e!=null&&typeof e=="object"}var Mt=js,lp=Array.isArray;function Ds(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ji=Ds,Ls="[object AsyncFunction]",Ns="[object Function]",Os="[object GeneratorFunction]",Fs="[object Proxy]";function Rs(e){if(!Ji(e))return!1;var t=Pe(e);return t==Ns||t==Os||t==Ls||t==Fs}var zs=Rs,Us=z["__core-js_shared__"],At=Us,Fi=function(){var e=/[^.]+$/.exec(At&&At.keys&&At.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Vs(e){return!!Fi&&Fi in e}var Bs=Vs,qs=Function.prototype,Gs=qs.toString;function Hs(e){if(e!=null){try{return Gs.call(e)}catch{}try{return e+""}catch{}}return""}var J=Hs,Qs=/[\\^$.*+?()[\]{}|]/g,Ws=/^\[object .+?Constructor\]$/,Zs=Function.prototype,Ys=Object.prototype,Ks=Zs.toString,Xs=Ys.hasOwnProperty,Js=RegExp("^"+Ks.call(Xs).replace(Qs,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function eu(e){if(!Ji(e)||Bs(e))return!1;var t=zs(e)?Js:Ws;return t.test(J(e))}var tu=eu;function iu(e,t){return e?.[t]}var ru=iu;function nu(e,t){var i=ru(e,t);return tu(i)?i:void 0}var ue=nu,au=ue(z,"WeakMap"),St=au;function ou(e,t){return e===t||e!==e&&t!==t}var lu=ou,su=9007199254740991;function uu(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=su}var cu=uu;var sp=Object.prototype;var du="[object Arguments]";function pu(e){return Mt(e)&&Pe(e)==du}var Ri=pu,er=Object.prototype,gu=er.hasOwnProperty,mu=er.propertyIsEnumerable,up=Ri(function(){return arguments}())?Ri:function(e){return Mt(e)&&gu.call(e,"callee")&&!mu.call(e,"callee")};var tr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,zi=tr&&typeof module=="object"&&module&&!module.nodeType&&module,fu=zi&&zi.exports===tr,Ui=fu?z.Buffer:void 0,cp=Ui?Ui.isBuffer:void 0;var yu="[object Arguments]",bu="[object Array]",hu="[object Boolean]",vu="[object Date]",ku="[object Error]",wu="[object Function]",Iu="[object Map]",Au="[object Number]",Cu="[object Object]",Su="[object RegExp]",$u="[object Set]",xu="[object String]",Eu="[object WeakMap]",Pu="[object ArrayBuffer]",Mu="[object DataView]",Tu="[object Float32Array]",_u="[object Float64Array]",ju="[object Int8Array]",Du="[object Int16Array]",Lu="[object Int32Array]",Nu="[object Uint8Array]",Ou="[object Uint8ClampedArray]",Fu="[object Uint16Array]",Ru="[object Uint32Array]",E={};E[Tu]=E[_u]=E[ju]=E[Du]=E[Lu]=E[Nu]=E[Ou]=E[Fu]=E[Ru]=!0;E[yu]=E[bu]=E[Pu]=E[hu]=E[Mu]=E[vu]=E[ku]=E[wu]=E[Iu]=E[Au]=E[Cu]=E[Su]=E[$u]=E[xu]=E[Eu]=!1;function zu(e){return Mt(e)&&cu(e.length)&&!!E[Pe(e)]}var Uu=zu;function Vu(e){return function(t){return e(t)}}var Bu=Vu,ir=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$e=ir&&typeof module=="object"&&module&&!module.nodeType&&module,qu=$e&&$e.exports===ir,Ct=qu&&Ki.process,Gu=function(){try{var e=$e&&$e.require&&$e.require("util").types;return e||Ct&&Ct.binding&&Ct.binding("util")}catch{}}(),Vi=Gu,Bi=Vi&&Vi.isTypedArray,dp=Bi?Bu(Bi):Uu;var Hu=Object.prototype,pp=Hu.hasOwnProperty;function Qu(e,t){return function(i){return e(t(i))}}var Wu=Qu,gp=Wu(Object.keys,Object);var Zu=Object.prototype,mp=Zu.hasOwnProperty;var Yu=ue(Object,"create"),xe=Yu;function Ku(){this.__data__=xe?xe(null):{},this.size=0}var Xu=Ku;function Ju(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ec=Ju,tc="__lodash_hash_undefined__",ic=Object.prototype,rc=ic.hasOwnProperty;function nc(e){var t=this.__data__;if(xe){var i=t[e];return i===tc?void 0:i}return rc.call(t,e)?t[e]:void 0}var ac=nc,oc=Object.prototype,lc=oc.hasOwnProperty;function sc(e){var t=this.__data__;return xe?t[e]!==void 0:lc.call(t,e)}var uc=sc,cc="__lodash_hash_undefined__";function dc(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=xe&&t===void 0?cc:t,this}var pc=dc;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=Xu;ce.prototype.delete=ec;ce.prototype.get=ac;ce.prototype.has=uc;ce.prototype.set=pc;var qi=ce;function gc(){this.__data__=[],this.size=0}var mc=gc;function fc(e,t){for(var i=e.length;i--;)if(lu(e[i][0],t))return i;return-1}var Fe=fc,yc=Array.prototype,bc=yc.splice;function hc(e){var t=this.__data__,i=Fe(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():bc.call(t,i,1),--this.size,!0}var vc=hc;function kc(e){var t=this.__data__,i=Fe(t,e);return i<0?void 0:t[i][1]}var wc=kc;function Ic(e){return Fe(this.__data__,e)>-1}var Ac=Ic;function Cc(e,t){var i=this.__data__,r=Fe(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var Sc=Cc;function de(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])}}de.prototype.clear=mc;de.prototype.delete=vc;de.prototype.get=wc;de.prototype.has=Ac;de.prototype.set=Sc;var Re=de,$c=ue(z,"Map"),Ee=$c;function xc(){this.size=0,this.__data__={hash:new qi,map:new(Ee||Re),string:new qi}}var Ec=xc;function Pc(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Mc=Pc;function Tc(e,t){var i=e.__data__;return Mc(t)?i[typeof t=="string"?"string":"hash"]:i.map}var ze=Tc;function _c(e){var t=ze(this,e).delete(e);return this.size-=t?1:0,t}var jc=_c;function Dc(e){return ze(this,e).get(e)}var Lc=Dc;function Nc(e){return ze(this,e).has(e)}var Oc=Nc;function Fc(e,t){var i=ze(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Rc=Fc;function pe(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])}}pe.prototype.clear=Ec;pe.prototype.delete=jc;pe.prototype.get=Lc;pe.prototype.has=Oc;pe.prototype.set=Rc;var rr=pe;function zc(){this.__data__=new Re,this.size=0}var Uc=zc;function Vc(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var Bc=Vc;function qc(e){return this.__data__.get(e)}var Gc=qc;function Hc(e){return this.__data__.has(e)}var Qc=Hc,Wc=200;function Zc(e,t){var i=this.__data__;if(i instanceof Re){var r=i.__data__;if(!Ee||r.length<Wc-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new rr(r)}return i.set(e,t),this.size=i.size,this}var Yc=Zc;function Me(e){var t=this.__data__=new Re(e);this.size=t.size}Me.prototype.clear=Uc;Me.prototype.delete=Bc;Me.prototype.get=Gc;Me.prototype.has=Qc;Me.prototype.set=Yc;var Kc=Object.prototype,fp=Kc.propertyIsEnumerable;var Xc=ue(z,"DataView"),$t=Xc,Jc=ue(z,"Promise"),xt=Jc,ed=ue(z,"Set"),Et=ed,Gi="[object Map]",td="[object Object]",Hi="[object Promise]",Qi="[object Set]",Wi="[object WeakMap]",Zi="[object DataView]",id=J($t),rd=J(Ee),nd=J(xt),ad=J(Et),od=J(St),le=Pe;($t&&le(new $t(new ArrayBuffer(1)))!=Zi||Ee&&le(new Ee)!=Gi||xt&&le(xt.resolve())!=Hi||Et&&le(new Et)!=Qi||St&&le(new St)!=Wi)&&(le=function(e){var t=Pe(e),i=t==td?e.constructor:void 0,r=i?J(i):"";if(r)switch(r){case id:return Zi;case rd:return Gi;case nd:return Hi;case ad:return Qi;case od:return Wi}return t});var yp=z.Uint8Array;var ld="__lodash_hash_undefined__";function sd(e){return this.__data__.set(e,ld),this}var ud=sd;function cd(e){return this.__data__.has(e)}var dd=cd;function Pt(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new rr;++t<i;)this.add(e[t])}Pt.prototype.add=Pt.prototype.push=ud;Pt.prototype.has=dd;var Yi=se?se.prototype:void 0,bp=Yi?Yi.valueOf:void 0;var pd=Object.prototype,hp=pd.hasOwnProperty;var gd=Object.prototype,vp=gd.hasOwnProperty;var kp=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),wp=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ip=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function md(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),o=new Uint8Array(n),a=new Blob([o],{type:i});return URL.createObjectURL(a)}else return e}async function D(e,t,i){let r,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(r=t.block.getString(n,"fill/image/imageFileURI"),r==null)throw new Error("No image source/uri found")}else r=a.uri;if(i?.throwErrorIfSvg&&await t.editor.getMimeType(r)==="image/svg+xml")throw new Error("SVG images are not supported");return md(r,t)}function fd(e){return e==null?[]:Array.isArray(e)?e:[e]}var Tt=fd;function yd(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function bd(e){return typeof e?.translate=="function"}function nr(e,t,i){return e&&yd(e)&&bd(e.i18n)?e.i18n.translate(t):i}var B="@imgly/plugin-ai-image-generation-web",Ue=["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.createImage","ly.img.createVideo","ly.img.animateBetweenImages"];var qe="editImage",q=`ly.img.${qe}`,ar=`ly.img.plugin-ai-image-generation-web.quickAction.${qe}`,Ve=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qe}`;function Be(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 hd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),P(e,{en:{[`${Ve}`]:"Edit Image...",[`${Ve}.description`]:"Change image based on description",[`${Ve}.prompt`]:"Edit Image...",[`${ar}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${Ve}.apply`]:"Change"}}),{id:q,type:"quick",kind:"image",label:`${ar}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${q}.prompt`,"");i.PromptInput(`${q}.prompt`,{inputLabel:Be(u,"prompt"),placeholder:Be(u,"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:o}),i.Button(`${q}.footer.apply`,{label:Be(u,"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(),f=await D(g,l,{throwErrorIfSvg:!0});await a({prompt:p,uri:f}),o(),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(`${q}.button`,{label:Be(u),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:o})}}),or=hd;var Qe="swapBackground",G=`ly.img.${Qe}`,lr=`ly.img.plugin-ai-image-generation-web.quickAction.${Qe}`,Ge=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Qe}`;function He(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 vd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),P(e,{en:{[`${Ge}`]:"Swap Background...",[`${Ge}.description`]:"Change the background of the image",[`${Ge}.prompt`]:"Swap Background...",[`${lr}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Ge}.apply`]:"Change"}}),{id:G,type:"quick",kind:"image",label:`${lr}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${G}.prompt`,"");i.PromptInput(`${G}.prompt`,{inputLabel:He(u,"prompt"),placeholder:He(u,"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:o}),i.Button(`${G}.footer.apply`,{label:He(u,"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(),f=await D(g,l,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${p}`,uri:f}),o(),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(`${G}.button`,{label:He(u),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:o})}}),sr=vd;var We="styleTransfer",Te=`ly.img.${We}`,kd=`ly.img.plugin-ai-image-generation-web.quickAction.${We}`,F=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${We}`;function ur(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 wd=[{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."}],Id=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),P(e,{en:{[`${F}`]:"Change Art Style",[`${F}.description`]:"Transform image into different art styles",[`${F}.water`]:"Watercolor Painting",[`${F}.oil`]:"Oil Painting",[`${F}.charcoal`]:"Charcoal Sketch",[`${F}.pencil`]:"Pencil Drawing",[`${F}.pastel`]:"Pastel Artwork",[`${F}.ink`]:"Ink Wash",[`${F}.stained-glass`]:"Stained Glass Window",[`${F}.japanese`]:"Japanese Woodblock Print"}}),{id:Te,type:"quick",kind:"image",label:`${kd}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:o,close:a,providerId:l})=>{r.builder.Popover(`${Te}.popover`,{label:ur(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:()=>{wd.forEach(c=>{i.Button(`${Te}.popover.menu.${c.id}`,{label:ur(l,c.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=o.block.findAllSelected(),u=await D(s,o,{throwErrorIfSvg:!0});await n({style:c.prompt,uri:u}),a()}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"})}}})})}})}})}})}}),cr=Id;var Ze="artistTransfer",_e=`ly.img.${Ze}`,Ad=`ly.img.plugin-ai-image-generation-web.quickAction.${Ze}`,L=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Ze}`;function dr(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${Ze}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var Cd=[{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."}],Sd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),P(e,{en:{[`${L}`]:"Painted By",[`${L}.description`]:"Transform image in the style of famous artists",[`${L}.van-gogh`]:"Van Gogh",[`${L}.monet`]:"Monet",[`${L}.picasso`]:"Picasso",[`${L}.dali`]:"Dal\xED",[`${L}.matisse`]:"Matisse",[`${L}.warhol`]:"Warhol",[`${L}.michelangelo`]:"Michelangelo",[`${L}.da-vinci`]:"Da Vinci",[`${L}.rembrandt`]:"Rembrandt",[`${L}.mondrian`]:"Mondrian",[`${L}.kahlo`]:"Frida Kahlo",[`${L}.hokusai`]:"Hokusai"}}),{id:_e,type:"quick",kind:"image",label:`${Ad}`,enable:O(),scopes:["fill/change"],render:({builder:i,experimental:r,generate:n,engine:o,close:a,providerId:l})=>{r.builder.Popover(`${_e}.popover`,{label:dr(l),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{i.Section(`${_e}.popover.section`,{children:()=>{r.builder.Menu(`${_e}.popover.menu`,{children:()=>{Cd.forEach(c=>{i.Button(`${_e}.popover.menu.${c.id}`,{label:dr(l,c.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[s]=o.block.findAllSelected(),u=await D(s,o,{throwErrorIfSvg:!0});await n({artist:c.prompt,uri:u}),a()}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"})}}})})}})}})}})}}),pr=Sd;var Xe="createVariant",H=`ly.img.${Xe}`,gr=`ly.img.plugin-ai-image-generation-web.quickAction.${Xe}`,Ye=`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 $d=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),P(e,{en:{[`${Ye}`]:"Create Variant...",[`${Ye}.description`]:"Create a variation of the image",[`${Ye}.prompt`]:"Create Variant...",[`${gr}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${Ye}.apply`]:"Create"}}),{id:H,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${gr}`,enable:i=>{if(!O()(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:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${H}.prompt`,"");i.PromptInput(`${H}.prompt`,{inputLabel:Ke(u,"prompt"),placeholder:Ke(u,"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:o}),i.Button(`${H}.footer.apply`,{label:Ke(u,"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(),f=l.block.getType(g),m=l.block.duplicate(g);f==="//ly.img.ubq/page"&&l.block.getChildren(m).forEach(A=>{l.block.destroy(A)}),l.block.setSelected(g,!1),l.block.setSelected(m,!0);let b=l.block.getParent(m);if(b==null)throw new Error("Parent not found");if(!(b!=null&&l.block.getType(b)==="//ly.img.ubq/track"&&l.block.isPageDurationSource(b))&&f!=="//ly.img.ubq/page"){let C=l.block.getWidth(b),y=l.block.getHeight(b),h=.02*Math.min(C,y)*1;l.block.setPositionX(m,l.block.getPositionX(m)+h),l.block.setPositionY(m,l.block.getPositionY(m)+h)}let k=await D(m,l,{throwErrorIfSvg:!0});await a({prompt:p,uri:k},{blockIds:[m]}),o(),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(`${H}.button`,{label:Ke(u),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:o})}}),mr=$d;var Je="createImage",fr=`ly.img.${Je}`,xd=`ly.img.plugin-ai-image-generation-web.quickAction.${Je}`,yr=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Je}`;function Ed(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 Pd=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createImage",!0),P(e,{en:{[`${yr}`]:"Create Image from Reference...",[`${yr}.description`]:"Create an image from the selected image"}}),{id:fr,type:"quick",kind:"image",label:`${xd}`,enable:O(),scopes:[],render:({builder:i,engine:r,close:n,providerId:o})=>{i.Button(`${fr}.button`,{label:Ed(o),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",isDisabled:!pi(e,o),onClick:async()=>{try{let[a]=r.block.findAllSelected(),l=await D(a,r,{throwErrorIfSvg:!0});e.ui.experimental.setGlobalStateValue("ly.img.ai.image-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue("ly.img.ai.image-generation.selectedProvider.fromImage",o),gi(e,o,l),e.ui.openPanel("ly.img.ai.image-generation"),n()}catch(a){console.error("Error opening image generation panel:",a)}}})}}),br=Pd;var tt="combineImages",Q=`ly.img.${tt}`,hr=`ly.img.plugin-ai-image-generation-web.quickAction.${tt}`,_t=`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 Md=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),P(e,{en:{[`${_t}.apply`]:"Combine",[`${_t}`]:"Combine Images...",[`${_t}.prompt`]:"Image Combination Instructions",[`${hr}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:Q,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${hr}`,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 o=i.engine.block.getFill(n);if(i.engine.block.getType(o)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:i.engine})||!i.engine.block.isAllowedByScope(n,"lifecycle/duplicate"))return!1;let a=i.engine.block.getParent(n);return!(a!=null&&i.engine.block.getType(a)==="//ly.img.ubq/track"&&i.engine.block.isPageDurationSource(a)||i.engine.block.getType(n)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:i,experimental:r,isExpanded:n,toggleExpand:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${Q}.prompt`,"");i.PromptInput(`${Q}.prompt`,{inputLabel:et(u,"prompt"),placeholder:et(u,"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:o}),i.Button(`${Q}.footer.apply`,{label:et(u,"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(),f=l.block.duplicate(g[0]);g.forEach(y=>{l.block.setSelected(y,!1)}),l.block.setSelected(f,!0);let m=l.block.getParent(f);if(m==null)throw new Error("Parent not found");let b=1,v=l.block.getWidth(m),k=l.block.getHeight(m),A=.02*Math.min(v,k)*b;l.block.setPositionX(f,l.block.getPositionX(f)+A),l.block.setPositionY(f,l.block.getPositionY(f)+A);let C=await Promise.all(g.map(y=>D(y,l,{throwErrorIfSvg:!0})));await a({prompt:p,uris:C,exportFromBlockIds:g},{blockIds:[f]}),o(),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(`${Q}.button`,{label:et(u),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:o})}}),vr=Md;var it="remixPage",kr=`ly.img.${it}`,Td=`ly.img.plugin-ai-image-generation-web.quickAction.${it}`,_d=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${it}`;function jd(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${it}`,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.remixPage",!0),P(e,{en:{[`${_d}`]:"Turn Page into Image"}}),{id:kr,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Td}`,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:o,providerId:a})=>{i.Button(`${kr}.button`,{label:jd(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[l]=n.block.findAllSelected(),c=await n.block.export(l),s=URL.createObjectURL(c),u=n.block.duplicate(l);n.block.getChildren(u).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),f=n.block.getPositionY(l),m=n.block.createShape("rect"),b=n.block.create("graphic");n.block.setShape(b,m),n.block.appendChild(u,b),n.block.setWidth(b,d),n.block.setHeight(b,p),n.block.setPositionX(b,g),n.block.setPositionY(b,f);let v=n.block.createFill("image");n.block.setFill(b,v),n.block.setString(v,"fill/image/imageFileURI",s),n.block.setSelected(b,!0),n.scene.zoomToBlock(b),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:s},{blockIds:[b]}),o()}catch(l){console.error("Generation error:",l),e.ui.showNotification({type:"error",message:l.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),wr=Dd;var nt="remixPageWithPrompt",W=`ly.img.${nt}`,Ir=`ly.img.plugin-ai-image-generation-web.quickAction.${nt}`,jt=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${nt}`;function rt(e,t){let i="ly.img.plugin-ai-image-generation-web",r=`quickAction.${nt}`,n=t?`${r}.${t}`:r;return[`${i}.${e}.${n}`,`${i}.${n}`,`${i}.${e}.defaults.${n}`,`${i}.defaults.${n}`]}var Ld=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),P(e,{en:{[`${jt}`]:"Remix Page...",[`${jt}.prompt`]:"Remix Page Prompt",[`${Ir}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${jt}.apply`]:"Remix"}}),{id:W,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Ir}`,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:o,generate:a,engine:l,state:c,close:s,providerId:u})=>{if(n){let d=c(`${W}.prompt`,"");i.PromptInput(`${W}.prompt`,{inputLabel:rt(u,"prompt"),placeholder:rt(u,"prompt.placeholder")[1],...d}),i.Separator(`${W}.separator`),r.builder.ButtonRow(`${W}.footer`,{justifyContent:"space-between",children:()=>{i.Button(`${W}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:o}),i.Button(`${W}.footer.apply`,{label:rt(u,"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(),f=await l.block.export(g),m=URL.createObjectURL(f),b=l.block.duplicate(g);l.block.getChildren(b).forEach(w=>{l.block.destroy(w)}),l.block.setSelected(g,!1);let v=l.block.getFrameWidth(g),k=l.block.getFrameHeight(g),A=l.block.getPositionX(g),C=l.block.getPositionY(g),y=l.block.createShape("rect"),h=l.block.create("graphic");l.block.setShape(h,y),l.block.appendChild(b,h),l.block.setWidth(h,v),l.block.setHeight(h,k),l.block.setPositionX(h,A),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 a({prompt:p,uri:m},{blockIds:[h]}),o(),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(`${W}.button`,{label:rt(u),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:o})}}),Ar=Ld;var Z="ly.img.ai.image-generation";function Nd(e){return{async initialize({cesdk:t}){if(t==null)return;hi(t,B,"1.83.0-rc.1"),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=Oe.get(),r=`${B}.action.label`;t.ui.addIconSet(Li,Ni),P(t,{en:{[`panel.${Z}`]:"Image Generation",[`${Z}.dock.label`]:"AI Image",[r]:"Generate Image","ly.img.plugin-ai-image-generation-web.defaults.fromText.label":"Text to Image","ly.img.plugin-ai-image-generation-web.defaults.fromImage.label":"Image to Image"}});let n=i.register({type:"plugin",sceneMode:"Design",id:B,pluginId:B,label:nr(t,r,"Generate Image"),labelKey:r,meta:{panelId:Z},execute:()=>{t.ui.isPanelOpen(Z)?t.ui.closePanel(Z):t.ui.openPanel(Z)}});Od(e),i.register(or({cesdk:t})),i.register(sr({cesdk:t})),i.register(cr({cesdk:t})),i.register(pr({cesdk:t})),i.register(mr({cesdk:t})),i.register(br({cesdk:t})),i.register(vr({cesdk:t})),i.register(wr({cesdk:t})),i.register(Ar({cesdk:t}));let o=e.providers?.text2image??e.text2image,a=e.providers?.image2image??e.image2image,l=await Promise.all(Tt(o).map(p=>p({cesdk:t}))),c=await Promise.all(Tt(a).map(p=>p({cesdk:t})));if(!(l.length>0||c.length>0)){n();return}let u=await Ti("image",{fromText:l,fromImage:c},{cesdk:t},e),d=await Di({kind:"image",providerInitializationResults:u.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:Ue});u.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:Ce})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(Z,u.panel.builderRenderFunction),vi({cesdk:t,panelId:Z})):n()}}}function Od(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 Cr=Nd;var Fd=e=>({name:B,version:"1.83.0-rc.1",...Cr(e)}),Ig=Fd;export{Ue as DEFAULT_IMAGE_QUICK_ACTION_ORDER,Ig as default};
92
92
  /*! Bundled license information:
93
93
 
94
94
  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": "1.83.0-rc.0",
3
+ "version": "1.83.0-rc.1",
4
4
  "description": "AI image generation plugin for the CE.SDK editor",
5
5
  "keywords": [
6
6
  "CE.SDK",
@@ -60,7 +60,7 @@
60
60
  "bin/"
61
61
  ],
62
62
  "dependencies": {
63
- "@imgly/plugin-ai-generation-web": "1.83.0-rc.0"
63
+ "@imgly/plugin-ai-generation-web": "1.83.0-rc.1"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@fal-ai/client": "1.9.0",
@@ -78,7 +78,7 @@
78
78
  "vitest": "^3.2.4"
79
79
  },
80
80
  "peerDependencies": {
81
- "@cesdk/cesdk-js": "^1.83.0-rc.0"
81
+ "@cesdk/cesdk-js": "^1.83.0-rc.1"
82
82
  },
83
83
  "scripts": {
84
84
  "start": "npm run watch",