@imgly/plugin-ai-apps-web 1.69.0-nightly.20260130 → 1.69.0-nightly.20260131

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
@@ -141,7 +141,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
141
141
 
142
142
  </symbol>
143
143
  </svg>
144
- `,gv=pv,fv=typeof global=="object"&&global&&global.Object===Object&&global,bc=fv,yv=typeof self=="object"&&self&&self.Object===Object&&self,mv=bc||yv||Function("return this")(),ee=mv,bv=ee.Symbol,st=bv,hc=Object.prototype,hv=hc.hasOwnProperty,vv=hc.toString,Er=st?st.toStringTag:void 0;function wv(e){var t=hv.call(e,Er),r=e[Er];try{e[Er]=void 0;var i=!0}catch{}var n=vv.call(e);return i&&(t?e[Er]=r:delete e[Er]),n}var kv=wv,xv=Object.prototype,Iv=xv.toString;function Cv(e){return Iv.call(e)}var Av=Cv,Mv="[object Null]",jv="[object Undefined]",xu=st?st.toStringTag:void 0;function Sv(e){return e==null?e===void 0?jv:Mv:xu&&xu in Object(e)?kv(e):Av(e)}var Hr=Sv;function $v(e){return e!=null&&typeof e=="object"}var va=$v,hJ=Array.isArray;function Ev(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var vc=Ev,_v="[object AsyncFunction]",Lv="[object Function]",Tv="[object GeneratorFunction]",Ov="[object Proxy]";function Nv(e){if(!vc(e))return!1;var t=Hr(e);return t==Lv||t==Tv||t==_v||t==Ov}var Dv=Nv,Pv=ee["__core-js_shared__"],Jo=Pv,Iu=function(){var e=/[^.]+$/.exec(Jo&&Jo.keys&&Jo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zv(e){return!!Iu&&Iu in e}var Uv=zv,Rv=Function.prototype,Fv=Rv.toString;function Vv(e){if(e!=null){try{return Fv.call(e)}catch{}try{return e+""}catch{}}return""}var Te=Vv,Bv=/[\\^$.*+?()[\]{}|]/g,qv=/^\[object .+?Constructor\]$/,Gv=Function.prototype,Yv=Object.prototype,Hv=Gv.toString,Zv=Yv.hasOwnProperty,Qv=RegExp("^"+Hv.call(Zv).replace(Bv,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Wv(e){if(!vc(e)||Uv(e))return!1;var t=Dv(e)?Qv:qv;return t.test(Te(e))}var Kv=Wv;function Jv(e,t){return e?.[t]}var Xv=Jv;function e8(e,t){var r=Xv(e,t);return Kv(r)?r:void 0}var gt=e8,t8=gt(ee,"WeakMap"),ua=t8;function r8(e,t){return e===t||e!==e&&t!==t}var i8=r8,n8=9007199254740991;function o8(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=n8}var a8=o8,vJ=Object.prototype,l8="[object Arguments]";function s8(e){return va(e)&&Hr(e)==l8}var Cu=s8,wc=Object.prototype,u8=wc.hasOwnProperty,c8=wc.propertyIsEnumerable,wJ=Cu(function(){return arguments}())?Cu:function(e){return va(e)&&u8.call(e,"callee")&&!c8.call(e,"callee")},kc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Au=kc&&typeof module=="object"&&module&&!module.nodeType&&module,d8=Au&&Au.exports===kc,Mu=d8?ee.Buffer:void 0,kJ=Mu?Mu.isBuffer:void 0,p8="[object Arguments]",g8="[object Array]",f8="[object Boolean]",y8="[object Date]",m8="[object Error]",b8="[object Function]",h8="[object Map]",v8="[object Number]",w8="[object Object]",k8="[object RegExp]",x8="[object Set]",I8="[object String]",C8="[object WeakMap]",A8="[object ArrayBuffer]",M8="[object DataView]",j8="[object Float32Array]",S8="[object Float64Array]",$8="[object Int8Array]",E8="[object Int16Array]",_8="[object Int32Array]",L8="[object Uint8Array]",T8="[object Uint8ClampedArray]",O8="[object Uint16Array]",N8="[object Uint32Array]",N={};N[j8]=N[S8]=N[$8]=N[E8]=N[_8]=N[L8]=N[T8]=N[O8]=N[N8]=!0;N[p8]=N[g8]=N[A8]=N[f8]=N[M8]=N[y8]=N[m8]=N[b8]=N[h8]=N[v8]=N[w8]=N[k8]=N[x8]=N[I8]=N[C8]=!1;function D8(e){return va(e)&&a8(e.length)&&!!N[Hr(e)]}var P8=D8;function z8(e){return function(t){return e(t)}}var U8=z8,xc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=xc&&typeof module=="object"&&module&&!module.nodeType&&module,R8=Pr&&Pr.exports===xc,Xo=R8&&bc.process,F8=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||Xo&&Xo.binding&&Xo.binding("util")}catch{}}(),ju=F8,Su=ju&&ju.isTypedArray,xJ=Su?U8(Su):P8,V8=Object.prototype,IJ=V8.hasOwnProperty;function B8(e,t){return function(r){return e(t(r))}}var q8=B8,CJ=q8(Object.keys,Object),G8=Object.prototype,AJ=G8.hasOwnProperty,Y8=gt(Object,"create"),Rr=Y8;function H8(){this.__data__=Rr?Rr(null):{},this.size=0}var Z8=H8;function Q8(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var W8=Q8,K8="__lodash_hash_undefined__",J8=Object.prototype,X8=J8.hasOwnProperty;function e7(e){var t=this.__data__;if(Rr){var r=t[e];return r===K8?void 0:r}return X8.call(t,e)?t[e]:void 0}var t7=e7,r7=Object.prototype,i7=r7.hasOwnProperty;function n7(e){var t=this.__data__;return Rr?t[e]!==void 0:i7.call(t,e)}var o7=n7,a7="__lodash_hash_undefined__";function l7(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Rr&&t===void 0?a7:t,this}var s7=l7;function ft(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ft.prototype.clear=Z8;ft.prototype.delete=W8;ft.prototype.get=t7;ft.prototype.has=o7;ft.prototype.set=s7;var $u=ft;function u7(){this.__data__=[],this.size=0}var c7=u7;function d7(e,t){for(var r=e.length;r--;)if(i8(e[r][0],t))return r;return-1}var Dn=d7,p7=Array.prototype,g7=p7.splice;function f7(e){var t=this.__data__,r=Dn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():g7.call(t,r,1),--this.size,!0}var y7=f7;function m7(e){var t=this.__data__,r=Dn(t,e);return r<0?void 0:t[r][1]}var b7=m7;function h7(e){return Dn(this.__data__,e)>-1}var v7=h7;function w7(e,t){var r=this.__data__,i=Dn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var k7=w7;function yt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}yt.prototype.clear=c7;yt.prototype.delete=y7;yt.prototype.get=b7;yt.prototype.has=v7;yt.prototype.set=k7;var Pn=yt,x7=gt(ee,"Map"),Fr=x7;function I7(){this.size=0,this.__data__={hash:new $u,map:new(Fr||Pn),string:new $u}}var C7=I7;function A7(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var M7=A7;function j7(e,t){var r=e.__data__;return M7(t)?r[typeof t=="string"?"string":"hash"]:r.map}var zn=j7;function S7(e){var t=zn(this,e).delete(e);return this.size-=t?1:0,t}var $7=S7;function E7(e){return zn(this,e).get(e)}var _7=E7;function L7(e){return zn(this,e).has(e)}var T7=L7;function O7(e,t){var r=zn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var N7=O7;function mt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}mt.prototype.clear=C7;mt.prototype.delete=$7;mt.prototype.get=_7;mt.prototype.has=T7;mt.prototype.set=N7;var Ic=mt;function D7(){this.__data__=new Pn,this.size=0}var P7=D7;function z7(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var U7=z7;function R7(e){return this.__data__.get(e)}var F7=R7;function V7(e){return this.__data__.has(e)}var B7=V7,q7=200;function G7(e,t){var r=this.__data__;if(r instanceof Pn){var i=r.__data__;if(!Fr||i.length<q7-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ic(i)}return r.set(e,t),this.size=r.size,this}var Y7=G7;function Zr(e){var t=this.__data__=new Pn(e);this.size=t.size}Zr.prototype.clear=P7;Zr.prototype.delete=U7;Zr.prototype.get=F7;Zr.prototype.has=B7;Zr.prototype.set=Y7;var H7=Object.prototype,MJ=H7.propertyIsEnumerable,Z7=gt(ee,"DataView"),ca=Z7,Q7=gt(ee,"Promise"),da=Q7,W7=gt(ee,"Set"),pa=W7,Eu="[object Map]",K7="[object Object]",_u="[object Promise]",Lu="[object Set]",Tu="[object WeakMap]",Ou="[object DataView]",J7=Te(ca),X7=Te(Fr),e6=Te(da),t6=Te(pa),r6=Te(ua),ot=Hr;(ca&&ot(new ca(new ArrayBuffer(1)))!=Ou||Fr&&ot(new Fr)!=Eu||da&&ot(da.resolve())!=_u||pa&&ot(new pa)!=Lu||ua&&ot(new ua)!=Tu)&&(ot=function(e){var t=Hr(e),r=t==K7?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case J7:return Ou;case X7:return Eu;case e6:return _u;case t6:return Lu;case r6:return Tu}return t});var jJ=ee.Uint8Array,i6="__lodash_hash_undefined__";function n6(e){return this.__data__.set(e,i6),this}var o6=n6;function a6(e){return this.__data__.has(e)}var l6=a6;function ga(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Ic;++t<r;)this.add(e[t])}ga.prototype.add=ga.prototype.push=o6;ga.prototype.has=l6;var Nu=st?st.prototype:void 0,SJ=Nu?Nu.valueOf:void 0,s6=Object.prototype,$J=s6.hasOwnProperty,u6=Object.prototype,EJ=u6.hasOwnProperty,_J=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),LJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),TJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function c6(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function bt(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return c6(i,t)}function d6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Du=d6;function p6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function g6(e){return typeof e?.translate=="function"}function f6(e,t,r){return e&&p6(e)&&g6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",y6=["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"],Un="editImage",ue=`ly.img.${Un}`,Pu=`ly.img.plugin-ai-image-generation-web.quickAction.${Un}`,In=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Un}`;function Cn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Un}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var m6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),H(e,{en:{[`${In}`]:"Edit Image...",[`${In}.description`]:"Change image based on description",[`${In}.prompt`]:"Edit Image...",[`${Pu}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${In}.apply`]:"Change"}}),{id:ue,type:"quick",kind:"image",label:`${Pu}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ue}.prompt`,"");t.TextArea(`${ue}.prompt`,{inputLabel:Cn(l,"prompt"),placeholder:Cn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ue}.separator`),r.builder.ButtonRow(`${ue}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ue}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ue}.footer.apply`,{label:Cn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await bt(p,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:g}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to edit image. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ue}.button`,{label:Cn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),b6=m6,Rn="swapBackground",ce=`ly.img.${Rn}`,zu=`ly.img.plugin-ai-image-generation-web.quickAction.${Rn}`,An=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Rn}`;function Mn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Rn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var h6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),H(e,{en:{[`${An}`]:"Swap Background...",[`${An}.description`]:"Change the background of the image",[`${An}.prompt`]:"Swap Background...",[`${zu}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${An}.apply`]:"Change"}}),{id:ce,type:"quick",kind:"image",label:`${zu}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ce}.prompt`,"");t.TextArea(`${ce}.prompt`,{inputLabel:Mn(l,"prompt"),placeholder:Mn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ce}.separator`),r.builder.ButtonRow(`${ce}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ce}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ce}.footer.apply`,{label:Mn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await bt(p,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${d}`,uri:g}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to swap background. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ce}.button`,{label:Mn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),v6=h6,Fn="styleTransfer",_r=`ly.img.${Fn}`,w6=`ly.img.plugin-ai-image-generation-web.quickAction.${Fn}`,W=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Fn}`;function Uu(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Fn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var k6=[{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."}],x6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),H(e,{en:{[`${W}`]:"Change Art Style",[`${W}.description`]:"Transform image into different art styles",[`${W}.water`]:"Watercolor Painting",[`${W}.oil`]:"Oil Painting",[`${W}.charcoal`]:"Charcoal Sketch",[`${W}.pencil`]:"Pencil Drawing",[`${W}.pastel`]:"Pastel Artwork",[`${W}.ink`]:"Ink Wash",[`${W}.stained-glass`]:"Stained Glass Window",[`${W}.japanese`]:"Japanese Woodblock Print"}}),{id:_r,type:"quick",kind:"image",label:`${w6}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${_r}.popover`,{label:Uu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${_r}.popover.section`,{children:()=>{r.builder.Menu(`${_r}.popover.menu`,{children:()=>{k6.forEach(s=>{t.Button(`${_r}.popover.menu.${s.id}`,{label:Uu(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await bt(c,n,{throwErrorIfSvg:!0});await i({style:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),I6=x6,Vn="artistTransfer",Lr=`ly.img.${Vn}`,C6=`ly.img.plugin-ai-image-generation-web.quickAction.${Vn}`,G=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Vn}`;function Ru(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Vn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var A6=[{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."}],M6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),H(e,{en:{[`${G}`]:"Painted By",[`${G}.description`]:"Transform image in the style of famous artists",[`${G}.van-gogh`]:"Van Gogh",[`${G}.monet`]:"Monet",[`${G}.picasso`]:"Picasso",[`${G}.dali`]:"Dal\xED",[`${G}.matisse`]:"Matisse",[`${G}.warhol`]:"Warhol",[`${G}.michelangelo`]:"Michelangelo",[`${G}.da-vinci`]:"Da Vinci",[`${G}.rembrandt`]:"Rembrandt",[`${G}.mondrian`]:"Mondrian",[`${G}.kahlo`]:"Frida Kahlo",[`${G}.hokusai`]:"Hokusai"}}),{id:Lr,type:"quick",kind:"image",label:`${C6}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Lr}.popover`,{label:Ru(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Lr}.popover.section`,{children:()=>{r.builder.Menu(`${Lr}.popover.menu`,{children:()=>{A6.forEach(s=>{t.Button(`${Lr}.popover.menu.${s.id}`,{label:Ru(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await bt(c,n,{throwErrorIfSvg:!0});await i({artist:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),j6=M6,Bn="createVariant",de=`ly.img.${Bn}`,Fu=`ly.img.plugin-ai-image-generation-web.quickAction.${Bn}`,jn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Bn}`;function Sn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Bn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var S6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),H(e,{en:{[`${jn}`]:"Create Variant...",[`${jn}.description`]:"Create a variation of the image",[`${jn}.prompt`]:"Create Variant...",[`${Fu}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${jn}.apply`]:"Create"}}),{id:de,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Fu}`,enable:t=>{if(!Yr()(t))return!1;let[r]=t.engine.block.findAllSelected();return!(!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(r,"lifecycle/duplicate"))},scopes:["fill/change","lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${de}.prompt`,"");t.TextArea(`${de}.prompt`,{inputLabel:Sn(l,"prompt"),placeholder:Sn(l,"prompt.placeholder")[1],...u}),t.Separator(`${de}.separator`),r.builder.ButtonRow(`${de}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${de}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${de}.footer.apply`,{label:Sn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getType(p),m=o.block.duplicate(p);g==="//ly.img.ubq/page"&&o.block.getChildren(m).forEach(b=>{o.block.destroy(b)}),o.block.setSelected(p,!1),o.block.setSelected(m,!0);let f=o.block.getParent(m);if(f==null)throw new Error("Parent not found");if(!(f!=null&&o.block.getType(f)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(f))&&g!=="//ly.img.ubq/page"){let b=o.block.getWidth(f),v=o.block.getHeight(f),k=.02*Math.min(b,v)*1;o.block.setPositionX(m,o.block.getPositionX(m)+k),o.block.setPositionY(m,o.block.getPositionY(m)+k)}let h=await bt(m,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:h},{blockIds:[m]}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to create variant. Please try again.",duration:"medium"})}}})}})}else t.Button(`${de}.button`,{label:Sn(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),$6=S6,qn="combineImages",pe=`ly.img.${qn}`,Vu=`ly.img.plugin-ai-image-generation-web.quickAction.${qn}`,ea=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qn}`;function $n(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${qn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var E6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),H(e,{en:{[`${ea}.apply`]:"Combine",[`${ea}`]:"Combine Images...",[`${ea}.prompt`]:"Image Combination Instructions",[`${Vu}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:pe,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Vu}`,enable:t=>{let r=t.engine.block.findAllSelected();return r==null||r.length<2?!1:r.every(i=>{if(t.engine.block.getType(i)!=="//ly.img.ubq/graphic"&&!t.engine.block.supportsFill(i))return!1;let n=t.engine.block.getFill(i);if(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(i,"lifecycle/duplicate"))return!1;let a=t.engine.block.getParent(i);return!(a!=null&&t.engine.block.getType(a)==="//ly.img.ubq/track"&&t.engine.block.isPageDurationSource(a)||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${pe}.prompt`,"");t.TextArea(`${pe}.prompt`,{inputLabel:$n(l,"prompt"),placeholder:$n(l,"prompt.placeholder")[1],...u}),t.Separator(`${pe}.separator`),r.builder.ButtonRow(`${pe}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${pe}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${pe}.footer.apply`,{label:$n(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let p=o.block.findAllSelected(),g=o.block.duplicate(p[0]);p.forEach(x=>{o.block.setSelected(x,!1)}),o.block.setSelected(g,!0);let m=o.block.getParent(g);if(m==null)throw new Error("Parent not found");let f=1,h=o.block.getWidth(m),b=o.block.getHeight(m),v=.02*Math.min(h,b)*f;o.block.setPositionX(g,o.block.getPositionX(g)+v),o.block.setPositionY(g,o.block.getPositionY(g)+v);let k=await Promise.all(p.map(x=>bt(x,o,{throwErrorIfSvg:!0})));await a({prompt:d,uris:k,exportFromBlockIds:p},{blockIds:[g]}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to combine images. Please try again.",duration:"medium"})}}})}})}else t.Button(`${pe}.button`,{label:$n(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),_6=E6,Gn="remixPage",Bu=`ly.img.${Gn}`,L6=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,T6=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function O6(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Gn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var N6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${T6}`]:"Turn Page into Image"}}),{id:Bu,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${L6}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,generate:r,engine:i,close:n,providerId:a})=>{t.Button(`${Bu}.button`,{label:O6(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=await i.block.export(o),c=URL.createObjectURL(s),l=i.block.duplicate(o);i.block.getChildren(l).forEach(b=>{i.block.destroy(b)}),i.block.setSelected(o,!1);let u=i.block.getFrameWidth(o),d=i.block.getFrameHeight(o),p=i.block.getPositionX(o),g=i.block.getPositionY(o),m=i.block.createShape("rect"),f=i.block.create("graphic");i.block.setShape(f,m),i.block.appendChild(l,f),i.block.setWidth(f,u),i.block.setHeight(f,d),i.block.setPositionX(f,p),i.block.setPositionY(f,g);let h=i.block.createFill("image");i.block.setFill(f,h),i.block.setString(h,"fill/image/imageFileURI",c),i.block.setSelected(f,!0),i.scene.zoomToBlock(f),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:c},{blockIds:[f]}),n()}catch(o){console.error("Generation error:",o),e.ui.showNotification({type:"error",message:o.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),D6=N6,Yn="remixPageWithPrompt",ge=`ly.img.${Yn}`,qu=`ly.img.plugin-ai-image-generation-web.quickAction.${Yn}`,ta=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Yn}`;function En(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Yn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var P6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),H(e,{en:{[`${ta}`]:"Remix Page...",[`${ta}.prompt`]:"Remix Page Prompt",[`${qu}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${ta}.apply`]:"Remix"}}),{id:ge,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${qu}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ge}.prompt`,"");t.TextArea(`${ge}.prompt`,{inputLabel:En(l,"prompt"),placeholder:En(l,"prompt.placeholder")[1],...u}),t.Separator(`${ge}.separator`),r.builder.ButtonRow(`${ge}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ge}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ge}.footer.apply`,{label:En(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await o.block.export(p),m=URL.createObjectURL(g),f=o.block.duplicate(p);o.block.getChildren(f).forEach(M=>{o.block.destroy(M)}),o.block.setSelected(p,!1);let h=o.block.getFrameWidth(p),b=o.block.getFrameHeight(p),v=o.block.getPositionX(p),k=o.block.getPositionY(p),x=o.block.createShape("rect"),y=o.block.create("graphic");o.block.setShape(y,x),o.block.appendChild(f,y),o.block.setWidth(y,h),o.block.setHeight(y,b),o.block.setPositionX(y,v),o.block.setPositionY(y,k);let I=o.block.createFill("image");o.block.setFill(y,I),o.block.setString(I,"fill/image/imageFileURI",m),o.block.setSelected(y,!0),o.scene.zoomToBlock(y),await a({prompt:d,uri:m},{blockIds:[y]}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ge}.button`,{label:En(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),z6=P6,fe="ly.img.ai.image-generation";function U6(e){return{async initialize({cesdk:t}){if(t==null)return;E9(t,Nr,"1.69.0-nightly.20260130"),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 r=ya.get(),i=`${Nr}.action.label`;t.ui.addIconSet(dv,gv),H(t,{en:{[`panel.${fe}`]:"Image Generation",[`${fe}.dock.label`]:"AI Image",[i]:"Generate Image"}});let n=r.register({type:"plugin",sceneMode:"Design",id:Nr,pluginId:Nr,label:f6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});R6(e),r.register(b6({cesdk:t})),r.register(v6({cesdk:t})),r.register(I6({cesdk:t})),r.register(j6({cesdk:t})),r.register($6({cesdk:t})),r.register(_6({cesdk:t})),r.register(D6({cesdk:t})),r.register(z6({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,s=await Promise.all(Du(a).map(d=>d({cesdk:t}))),c=await Promise.all(Du(o).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let l=await F3("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await cv({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:y6});l.history?.assetSourceId!=null,u.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",u.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:Nn})),l.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,l.panel.builderRenderFunction),L9({cesdk:t,panelId:fe})):n()}}}function R6(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 F6=U6,V6=e=>({name:Nr,version:"1.69.0-nightly.20260130",...F6(e)}),Cc=V6;var B6=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;wt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{wt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return wt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),wt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function wt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=wt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=wt(n,t,a)}return e}var q6=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},G6=typeof global=="object"&&global&&global.Object===Object&&global,ld=G6,Y6=typeof self=="object"&&self&&self.Object===Object&&self,H6=ld||Y6||Function("return this")(),te=H6,Z6=te.Symbol,kt=Z6,sd=Object.prototype,Q6=sd.hasOwnProperty,W6=sd.toString,Qr=kt?kt.toStringTag:void 0;function K6(e){var t=Q6.call(e,Qr),r=e[Qr];try{e[Qr]=void 0;var i=!0}catch{}var n=W6.call(e);return i&&(t?e[Qr]=r:delete e[Qr]),n}var J6=K6,X6=Object.prototype,ew=X6.toString;function tw(e){return ew.call(e)}var rw=tw,iw="[object Null]",nw="[object Undefined]",Ac=kt?kt.toStringTag:void 0;function ow(e){return e==null?e===void 0?nw:iw:Ac&&Ac in Object(e)?J6(e):rw(e)}var li=ow;function aw(e){return e!=null&&typeof e=="object"}var za=aw,zJ=Array.isArray;function lw(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ud=lw,sw="[object AsyncFunction]",uw="[object Function]",cw="[object GeneratorFunction]",dw="[object Proxy]";function pw(e){if(!ud(e))return!1;var t=li(e);return t==uw||t==cw||t==sw||t==dw}var gw=pw,fw=te["__core-js_shared__"],wa=fw,Mc=function(){var e=/[^.]+$/.exec(wa&&wa.keys&&wa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function yw(e){return!!Mc&&Mc in e}var mw=yw,bw=Function.prototype,hw=bw.toString;function vw(e){if(e!=null){try{return hw.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=vw,ww=/[\\^$.*+?()[\]{}|]/g,kw=/^\[object .+?Constructor\]$/,xw=Function.prototype,Iw=Object.prototype,Cw=xw.toString,Aw=Iw.hasOwnProperty,Mw=RegExp("^"+Cw.call(Aw).replace(ww,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function jw(e){if(!ud(e)||mw(e))return!1;var t=gw(e)?Mw:kw;return t.test(Oe(e))}var Sw=jw;function $w(e,t){return e?.[t]}var Ew=$w;function _w(e,t){var r=Ew(e,t);return Sw(r)?r:void 0}var It=_w,Lw=It(te,"WeakMap"),ja=Lw;function Tw(e,t){return e===t||e!==e&&t!==t}var Ow=Tw,Nw=9007199254740991;function Dw(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Nw}var Pw=Dw,UJ=Object.prototype,zw="[object Arguments]";function Uw(e){return za(e)&&li(e)==zw}var jc=Uw,cd=Object.prototype,Rw=cd.hasOwnProperty,Fw=cd.propertyIsEnumerable,RJ=jc(function(){return arguments}())?jc:function(e){return za(e)&&Rw.call(e,"callee")&&!Fw.call(e,"callee")},dd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Sc=dd&&typeof module=="object"&&module&&!module.nodeType&&module,Vw=Sc&&Sc.exports===dd,$c=Vw?te.Buffer:void 0,FJ=$c?$c.isBuffer:void 0,Bw="[object Arguments]",qw="[object Array]",Gw="[object Boolean]",Yw="[object Date]",Hw="[object Error]",Zw="[object Function]",Qw="[object Map]",Ww="[object Number]",Kw="[object Object]",Jw="[object RegExp]",Xw="[object Set]",ek="[object String]",tk="[object WeakMap]",rk="[object ArrayBuffer]",ik="[object DataView]",nk="[object Float32Array]",ok="[object Float64Array]",ak="[object Int8Array]",lk="[object Int16Array]",sk="[object Int32Array]",uk="[object Uint8Array]",ck="[object Uint8ClampedArray]",dk="[object Uint16Array]",pk="[object Uint32Array]",D={};D[nk]=D[ok]=D[ak]=D[lk]=D[sk]=D[uk]=D[ck]=D[dk]=D[pk]=!0;D[Bw]=D[qw]=D[rk]=D[Gw]=D[ik]=D[Yw]=D[Hw]=D[Zw]=D[Qw]=D[Ww]=D[Kw]=D[Jw]=D[Xw]=D[ek]=D[tk]=!1;function gk(e){return za(e)&&Pw(e.length)&&!!D[li(e)]}var fk=gk;function yk(e){return function(t){return e(t)}}var mk=yk,pd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ti=pd&&typeof module=="object"&&module&&!module.nodeType&&module,bk=ti&&ti.exports===pd,ka=bk&&ld.process,hk=function(){try{var e=ti&&ti.require&&ti.require("util").types;return e||ka&&ka.binding&&ka.binding("util")}catch{}}(),Ec=hk,_c=Ec&&Ec.isTypedArray,VJ=_c?mk(_c):fk,vk=Object.prototype,BJ=vk.hasOwnProperty;function wk(e,t){return function(r){return e(t(r))}}var kk=wk,qJ=kk(Object.keys,Object),xk=Object.prototype,GJ=xk.hasOwnProperty,Ik=It(Object,"create"),ii=Ik;function Ck(){this.__data__=ii?ii(null):{},this.size=0}var Ak=Ck;function Mk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var jk=Mk,Sk="__lodash_hash_undefined__",$k=Object.prototype,Ek=$k.hasOwnProperty;function _k(e){var t=this.__data__;if(ii){var r=t[e];return r===Sk?void 0:r}return Ek.call(t,e)?t[e]:void 0}var Lk=_k,Tk=Object.prototype,Ok=Tk.hasOwnProperty;function Nk(e){var t=this.__data__;return ii?t[e]!==void 0:Ok.call(t,e)}var Dk=Nk,Pk="__lodash_hash_undefined__";function zk(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ii&&t===void 0?Pk:t,this}var Uk=zk;function Ct(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ct.prototype.clear=Ak;Ct.prototype.delete=jk;Ct.prototype.get=Lk;Ct.prototype.has=Dk;Ct.prototype.set=Uk;var Lc=Ct;function Rk(){this.__data__=[],this.size=0}var Fk=Rk;function Vk(e,t){for(var r=e.length;r--;)if(Ow(e[r][0],t))return r;return-1}var Zn=Vk,Bk=Array.prototype,qk=Bk.splice;function Gk(e){var t=this.__data__,r=Zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():qk.call(t,r,1),--this.size,!0}var Yk=Gk;function Hk(e){var t=this.__data__,r=Zn(t,e);return r<0?void 0:t[r][1]}var Zk=Hk;function Qk(e){return Zn(this.__data__,e)>-1}var Wk=Qk;function Kk(e,t){var r=this.__data__,i=Zn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Jk=Kk;function At(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}At.prototype.clear=Fk;At.prototype.delete=Yk;At.prototype.get=Zk;At.prototype.has=Wk;At.prototype.set=Jk;var Qn=At,Xk=It(te,"Map"),ni=Xk;function ex(){this.size=0,this.__data__={hash:new Lc,map:new(ni||Qn),string:new Lc}}var tx=ex;function rx(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ix=rx;function nx(e,t){var r=e.__data__;return ix(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Wn=nx;function ox(e){var t=Wn(this,e).delete(e);return this.size-=t?1:0,t}var ax=ox;function lx(e){return Wn(this,e).get(e)}var sx=lx;function ux(e){return Wn(this,e).has(e)}var cx=ux;function dx(e,t){var r=Wn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var px=dx;function Mt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Mt.prototype.clear=tx;Mt.prototype.delete=ax;Mt.prototype.get=sx;Mt.prototype.has=cx;Mt.prototype.set=px;var gd=Mt;function gx(){this.__data__=new Qn,this.size=0}var fx=gx;function yx(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var mx=yx;function bx(e){return this.__data__.get(e)}var hx=bx;function vx(e){return this.__data__.has(e)}var wx=vx,kx=200;function xx(e,t){var r=this.__data__;if(r instanceof Qn){var i=r.__data__;if(!ni||i.length<kx-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new gd(i)}return r.set(e,t),this.size=r.size,this}var Ix=xx;function si(e){var t=this.__data__=new Qn(e);this.size=t.size}si.prototype.clear=fx;si.prototype.delete=mx;si.prototype.get=hx;si.prototype.has=wx;si.prototype.set=Ix;var Cx=Object.prototype,YJ=Cx.propertyIsEnumerable,Ax=It(te,"DataView"),Sa=Ax,Mx=It(te,"Promise"),$a=Mx,jx=It(te,"Set"),Ea=jx,Tc="[object Map]",Sx="[object Object]",Oc="[object Promise]",Nc="[object Set]",Dc="[object WeakMap]",Pc="[object DataView]",$x=Oe(Sa),Ex=Oe(ni),_x=Oe($a),Lx=Oe(Ea),Tx=Oe(ja),ht=li;(Sa&&ht(new Sa(new ArrayBuffer(1)))!=Pc||ni&&ht(new ni)!=Tc||$a&&ht($a.resolve())!=Oc||Ea&&ht(new Ea)!=Nc||ja&&ht(new ja)!=Dc)&&(ht=function(e){var t=li(e),r=t==Sx?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case $x:return Pc;case Ex:return Tc;case _x:return Oc;case Lx:return Nc;case Tx:return Dc}return t});var HJ=te.Uint8Array,Ox="__lodash_hash_undefined__";function Nx(e){return this.__data__.set(e,Ox),this}var Dx=Nx;function Px(e){return this.__data__.has(e)}var zx=Px;function _a(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new gd;++t<r;)this.add(e[t])}_a.prototype.add=_a.prototype.push=Dx;_a.prototype.has=zx;var zc=kt?kt.prototype:void 0,ZJ=zc?zc.valueOf:void 0,Ux=Object.prototype,QJ=Ux.hasOwnProperty,Rx=Object.prototype,WJ=Rx.hasOwnProperty,KJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),JJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),XJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function fd(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function Fx(e,t){let r=await fd(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function Vx(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return fd(i,t)}function Bx(e){return e!==void 0}var qx=Bx;function ui(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function ci(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function di(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Hn=class yd{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new yd),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},Gx=class md{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new md),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function Yx(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,h)=>s(l+1,f,h),m={...d,addDisposer:o};return p(u,m,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function Hx({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var Zx=Hx,xa="ly.img.ai.temp";async function Qx(e,t){return e.engine.asset.findAllSources().includes(xa)||e.engine.asset.addLocalSource(xa),e.engine.asset.apply(xa,t)}function Wx(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function bd(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Kx(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function Jx(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function Ua(e){return e instanceof Error&&e.name==="AbortError"}function Xx(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function eI(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
144
+ `,gv=pv,fv=typeof global=="object"&&global&&global.Object===Object&&global,bc=fv,yv=typeof self=="object"&&self&&self.Object===Object&&self,mv=bc||yv||Function("return this")(),ee=mv,bv=ee.Symbol,st=bv,hc=Object.prototype,hv=hc.hasOwnProperty,vv=hc.toString,Er=st?st.toStringTag:void 0;function wv(e){var t=hv.call(e,Er),r=e[Er];try{e[Er]=void 0;var i=!0}catch{}var n=vv.call(e);return i&&(t?e[Er]=r:delete e[Er]),n}var kv=wv,xv=Object.prototype,Iv=xv.toString;function Cv(e){return Iv.call(e)}var Av=Cv,Mv="[object Null]",jv="[object Undefined]",xu=st?st.toStringTag:void 0;function Sv(e){return e==null?e===void 0?jv:Mv:xu&&xu in Object(e)?kv(e):Av(e)}var Hr=Sv;function $v(e){return e!=null&&typeof e=="object"}var va=$v,hJ=Array.isArray;function Ev(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var vc=Ev,_v="[object AsyncFunction]",Lv="[object Function]",Tv="[object GeneratorFunction]",Ov="[object Proxy]";function Nv(e){if(!vc(e))return!1;var t=Hr(e);return t==Lv||t==Tv||t==_v||t==Ov}var Dv=Nv,Pv=ee["__core-js_shared__"],Jo=Pv,Iu=function(){var e=/[^.]+$/.exec(Jo&&Jo.keys&&Jo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zv(e){return!!Iu&&Iu in e}var Uv=zv,Rv=Function.prototype,Fv=Rv.toString;function Vv(e){if(e!=null){try{return Fv.call(e)}catch{}try{return e+""}catch{}}return""}var Te=Vv,Bv=/[\\^$.*+?()[\]{}|]/g,qv=/^\[object .+?Constructor\]$/,Gv=Function.prototype,Yv=Object.prototype,Hv=Gv.toString,Zv=Yv.hasOwnProperty,Qv=RegExp("^"+Hv.call(Zv).replace(Bv,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Wv(e){if(!vc(e)||Uv(e))return!1;var t=Dv(e)?Qv:qv;return t.test(Te(e))}var Kv=Wv;function Jv(e,t){return e?.[t]}var Xv=Jv;function e8(e,t){var r=Xv(e,t);return Kv(r)?r:void 0}var gt=e8,t8=gt(ee,"WeakMap"),ua=t8;function r8(e,t){return e===t||e!==e&&t!==t}var i8=r8,n8=9007199254740991;function o8(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=n8}var a8=o8,vJ=Object.prototype,l8="[object Arguments]";function s8(e){return va(e)&&Hr(e)==l8}var Cu=s8,wc=Object.prototype,u8=wc.hasOwnProperty,c8=wc.propertyIsEnumerable,wJ=Cu(function(){return arguments}())?Cu:function(e){return va(e)&&u8.call(e,"callee")&&!c8.call(e,"callee")},kc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Au=kc&&typeof module=="object"&&module&&!module.nodeType&&module,d8=Au&&Au.exports===kc,Mu=d8?ee.Buffer:void 0,kJ=Mu?Mu.isBuffer:void 0,p8="[object Arguments]",g8="[object Array]",f8="[object Boolean]",y8="[object Date]",m8="[object Error]",b8="[object Function]",h8="[object Map]",v8="[object Number]",w8="[object Object]",k8="[object RegExp]",x8="[object Set]",I8="[object String]",C8="[object WeakMap]",A8="[object ArrayBuffer]",M8="[object DataView]",j8="[object Float32Array]",S8="[object Float64Array]",$8="[object Int8Array]",E8="[object Int16Array]",_8="[object Int32Array]",L8="[object Uint8Array]",T8="[object Uint8ClampedArray]",O8="[object Uint16Array]",N8="[object Uint32Array]",N={};N[j8]=N[S8]=N[$8]=N[E8]=N[_8]=N[L8]=N[T8]=N[O8]=N[N8]=!0;N[p8]=N[g8]=N[A8]=N[f8]=N[M8]=N[y8]=N[m8]=N[b8]=N[h8]=N[v8]=N[w8]=N[k8]=N[x8]=N[I8]=N[C8]=!1;function D8(e){return va(e)&&a8(e.length)&&!!N[Hr(e)]}var P8=D8;function z8(e){return function(t){return e(t)}}var U8=z8,xc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=xc&&typeof module=="object"&&module&&!module.nodeType&&module,R8=Pr&&Pr.exports===xc,Xo=R8&&bc.process,F8=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||Xo&&Xo.binding&&Xo.binding("util")}catch{}}(),ju=F8,Su=ju&&ju.isTypedArray,xJ=Su?U8(Su):P8,V8=Object.prototype,IJ=V8.hasOwnProperty;function B8(e,t){return function(r){return e(t(r))}}var q8=B8,CJ=q8(Object.keys,Object),G8=Object.prototype,AJ=G8.hasOwnProperty,Y8=gt(Object,"create"),Rr=Y8;function H8(){this.__data__=Rr?Rr(null):{},this.size=0}var Z8=H8;function Q8(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var W8=Q8,K8="__lodash_hash_undefined__",J8=Object.prototype,X8=J8.hasOwnProperty;function e7(e){var t=this.__data__;if(Rr){var r=t[e];return r===K8?void 0:r}return X8.call(t,e)?t[e]:void 0}var t7=e7,r7=Object.prototype,i7=r7.hasOwnProperty;function n7(e){var t=this.__data__;return Rr?t[e]!==void 0:i7.call(t,e)}var o7=n7,a7="__lodash_hash_undefined__";function l7(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Rr&&t===void 0?a7:t,this}var s7=l7;function ft(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ft.prototype.clear=Z8;ft.prototype.delete=W8;ft.prototype.get=t7;ft.prototype.has=o7;ft.prototype.set=s7;var $u=ft;function u7(){this.__data__=[],this.size=0}var c7=u7;function d7(e,t){for(var r=e.length;r--;)if(i8(e[r][0],t))return r;return-1}var Dn=d7,p7=Array.prototype,g7=p7.splice;function f7(e){var t=this.__data__,r=Dn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():g7.call(t,r,1),--this.size,!0}var y7=f7;function m7(e){var t=this.__data__,r=Dn(t,e);return r<0?void 0:t[r][1]}var b7=m7;function h7(e){return Dn(this.__data__,e)>-1}var v7=h7;function w7(e,t){var r=this.__data__,i=Dn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var k7=w7;function yt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}yt.prototype.clear=c7;yt.prototype.delete=y7;yt.prototype.get=b7;yt.prototype.has=v7;yt.prototype.set=k7;var Pn=yt,x7=gt(ee,"Map"),Fr=x7;function I7(){this.size=0,this.__data__={hash:new $u,map:new(Fr||Pn),string:new $u}}var C7=I7;function A7(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var M7=A7;function j7(e,t){var r=e.__data__;return M7(t)?r[typeof t=="string"?"string":"hash"]:r.map}var zn=j7;function S7(e){var t=zn(this,e).delete(e);return this.size-=t?1:0,t}var $7=S7;function E7(e){return zn(this,e).get(e)}var _7=E7;function L7(e){return zn(this,e).has(e)}var T7=L7;function O7(e,t){var r=zn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var N7=O7;function mt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}mt.prototype.clear=C7;mt.prototype.delete=$7;mt.prototype.get=_7;mt.prototype.has=T7;mt.prototype.set=N7;var Ic=mt;function D7(){this.__data__=new Pn,this.size=0}var P7=D7;function z7(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var U7=z7;function R7(e){return this.__data__.get(e)}var F7=R7;function V7(e){return this.__data__.has(e)}var B7=V7,q7=200;function G7(e,t){var r=this.__data__;if(r instanceof Pn){var i=r.__data__;if(!Fr||i.length<q7-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ic(i)}return r.set(e,t),this.size=r.size,this}var Y7=G7;function Zr(e){var t=this.__data__=new Pn(e);this.size=t.size}Zr.prototype.clear=P7;Zr.prototype.delete=U7;Zr.prototype.get=F7;Zr.prototype.has=B7;Zr.prototype.set=Y7;var H7=Object.prototype,MJ=H7.propertyIsEnumerable,Z7=gt(ee,"DataView"),ca=Z7,Q7=gt(ee,"Promise"),da=Q7,W7=gt(ee,"Set"),pa=W7,Eu="[object Map]",K7="[object Object]",_u="[object Promise]",Lu="[object Set]",Tu="[object WeakMap]",Ou="[object DataView]",J7=Te(ca),X7=Te(Fr),e6=Te(da),t6=Te(pa),r6=Te(ua),ot=Hr;(ca&&ot(new ca(new ArrayBuffer(1)))!=Ou||Fr&&ot(new Fr)!=Eu||da&&ot(da.resolve())!=_u||pa&&ot(new pa)!=Lu||ua&&ot(new ua)!=Tu)&&(ot=function(e){var t=Hr(e),r=t==K7?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case J7:return Ou;case X7:return Eu;case e6:return _u;case t6:return Lu;case r6:return Tu}return t});var jJ=ee.Uint8Array,i6="__lodash_hash_undefined__";function n6(e){return this.__data__.set(e,i6),this}var o6=n6;function a6(e){return this.__data__.has(e)}var l6=a6;function ga(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Ic;++t<r;)this.add(e[t])}ga.prototype.add=ga.prototype.push=o6;ga.prototype.has=l6;var Nu=st?st.prototype:void 0,SJ=Nu?Nu.valueOf:void 0,s6=Object.prototype,$J=s6.hasOwnProperty,u6=Object.prototype,EJ=u6.hasOwnProperty,_J=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),LJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),TJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function c6(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function bt(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return c6(i,t)}function d6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Du=d6;function p6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function g6(e){return typeof e?.translate=="function"}function f6(e,t,r){return e&&p6(e)&&g6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",y6=["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"],Un="editImage",ue=`ly.img.${Un}`,Pu=`ly.img.plugin-ai-image-generation-web.quickAction.${Un}`,In=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Un}`;function Cn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Un}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var m6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),H(e,{en:{[`${In}`]:"Edit Image...",[`${In}.description`]:"Change image based on description",[`${In}.prompt`]:"Edit Image...",[`${Pu}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${In}.apply`]:"Change"}}),{id:ue,type:"quick",kind:"image",label:`${Pu}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ue}.prompt`,"");t.TextArea(`${ue}.prompt`,{inputLabel:Cn(l,"prompt"),placeholder:Cn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ue}.separator`),r.builder.ButtonRow(`${ue}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ue}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ue}.footer.apply`,{label:Cn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await bt(p,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:g}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to edit image. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ue}.button`,{label:Cn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),b6=m6,Rn="swapBackground",ce=`ly.img.${Rn}`,zu=`ly.img.plugin-ai-image-generation-web.quickAction.${Rn}`,An=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Rn}`;function Mn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Rn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var h6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),H(e,{en:{[`${An}`]:"Swap Background...",[`${An}.description`]:"Change the background of the image",[`${An}.prompt`]:"Swap Background...",[`${zu}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${An}.apply`]:"Change"}}),{id:ce,type:"quick",kind:"image",label:`${zu}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ce}.prompt`,"");t.TextArea(`${ce}.prompt`,{inputLabel:Mn(l,"prompt"),placeholder:Mn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ce}.separator`),r.builder.ButtonRow(`${ce}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ce}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ce}.footer.apply`,{label:Mn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await bt(p,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${d}`,uri:g}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to swap background. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ce}.button`,{label:Mn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),v6=h6,Fn="styleTransfer",_r=`ly.img.${Fn}`,w6=`ly.img.plugin-ai-image-generation-web.quickAction.${Fn}`,W=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Fn}`;function Uu(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Fn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var k6=[{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."}],x6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),H(e,{en:{[`${W}`]:"Change Art Style",[`${W}.description`]:"Transform image into different art styles",[`${W}.water`]:"Watercolor Painting",[`${W}.oil`]:"Oil Painting",[`${W}.charcoal`]:"Charcoal Sketch",[`${W}.pencil`]:"Pencil Drawing",[`${W}.pastel`]:"Pastel Artwork",[`${W}.ink`]:"Ink Wash",[`${W}.stained-glass`]:"Stained Glass Window",[`${W}.japanese`]:"Japanese Woodblock Print"}}),{id:_r,type:"quick",kind:"image",label:`${w6}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${_r}.popover`,{label:Uu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${_r}.popover.section`,{children:()=>{r.builder.Menu(`${_r}.popover.menu`,{children:()=>{k6.forEach(s=>{t.Button(`${_r}.popover.menu.${s.id}`,{label:Uu(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await bt(c,n,{throwErrorIfSvg:!0});await i({style:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),I6=x6,Vn="artistTransfer",Lr=`ly.img.${Vn}`,C6=`ly.img.plugin-ai-image-generation-web.quickAction.${Vn}`,G=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Vn}`;function Ru(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Vn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var A6=[{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."}],M6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),H(e,{en:{[`${G}`]:"Painted By",[`${G}.description`]:"Transform image in the style of famous artists",[`${G}.van-gogh`]:"Van Gogh",[`${G}.monet`]:"Monet",[`${G}.picasso`]:"Picasso",[`${G}.dali`]:"Dal\xED",[`${G}.matisse`]:"Matisse",[`${G}.warhol`]:"Warhol",[`${G}.michelangelo`]:"Michelangelo",[`${G}.da-vinci`]:"Da Vinci",[`${G}.rembrandt`]:"Rembrandt",[`${G}.mondrian`]:"Mondrian",[`${G}.kahlo`]:"Frida Kahlo",[`${G}.hokusai`]:"Hokusai"}}),{id:Lr,type:"quick",kind:"image",label:`${C6}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Lr}.popover`,{label:Ru(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Lr}.popover.section`,{children:()=>{r.builder.Menu(`${Lr}.popover.menu`,{children:()=>{A6.forEach(s=>{t.Button(`${Lr}.popover.menu.${s.id}`,{label:Ru(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await bt(c,n,{throwErrorIfSvg:!0});await i({artist:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),j6=M6,Bn="createVariant",de=`ly.img.${Bn}`,Fu=`ly.img.plugin-ai-image-generation-web.quickAction.${Bn}`,jn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Bn}`;function Sn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Bn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var S6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),H(e,{en:{[`${jn}`]:"Create Variant...",[`${jn}.description`]:"Create a variation of the image",[`${jn}.prompt`]:"Create Variant...",[`${Fu}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${jn}.apply`]:"Create"}}),{id:de,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Fu}`,enable:t=>{if(!Yr()(t))return!1;let[r]=t.engine.block.findAllSelected();return!(!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(r,"lifecycle/duplicate"))},scopes:["fill/change","lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${de}.prompt`,"");t.TextArea(`${de}.prompt`,{inputLabel:Sn(l,"prompt"),placeholder:Sn(l,"prompt.placeholder")[1],...u}),t.Separator(`${de}.separator`),r.builder.ButtonRow(`${de}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${de}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${de}.footer.apply`,{label:Sn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getType(p),m=o.block.duplicate(p);g==="//ly.img.ubq/page"&&o.block.getChildren(m).forEach(b=>{o.block.destroy(b)}),o.block.setSelected(p,!1),o.block.setSelected(m,!0);let f=o.block.getParent(m);if(f==null)throw new Error("Parent not found");if(!(f!=null&&o.block.getType(f)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(f))&&g!=="//ly.img.ubq/page"){let b=o.block.getWidth(f),v=o.block.getHeight(f),k=.02*Math.min(b,v)*1;o.block.setPositionX(m,o.block.getPositionX(m)+k),o.block.setPositionY(m,o.block.getPositionY(m)+k)}let h=await bt(m,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:h},{blockIds:[m]}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to create variant. Please try again.",duration:"medium"})}}})}})}else t.Button(`${de}.button`,{label:Sn(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),$6=S6,qn="combineImages",pe=`ly.img.${qn}`,Vu=`ly.img.plugin-ai-image-generation-web.quickAction.${qn}`,ea=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qn}`;function $n(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${qn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var E6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),H(e,{en:{[`${ea}.apply`]:"Combine",[`${ea}`]:"Combine Images...",[`${ea}.prompt`]:"Image Combination Instructions",[`${Vu}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:pe,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Vu}`,enable:t=>{let r=t.engine.block.findAllSelected();return r==null||r.length<2?!1:r.every(i=>{if(t.engine.block.getType(i)!=="//ly.img.ubq/graphic"&&!t.engine.block.supportsFill(i))return!1;let n=t.engine.block.getFill(i);if(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(i,"lifecycle/duplicate"))return!1;let a=t.engine.block.getParent(i);return!(a!=null&&t.engine.block.getType(a)==="//ly.img.ubq/track"&&t.engine.block.isPageDurationSource(a)||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${pe}.prompt`,"");t.TextArea(`${pe}.prompt`,{inputLabel:$n(l,"prompt"),placeholder:$n(l,"prompt.placeholder")[1],...u}),t.Separator(`${pe}.separator`),r.builder.ButtonRow(`${pe}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${pe}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${pe}.footer.apply`,{label:$n(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let p=o.block.findAllSelected(),g=o.block.duplicate(p[0]);p.forEach(x=>{o.block.setSelected(x,!1)}),o.block.setSelected(g,!0);let m=o.block.getParent(g);if(m==null)throw new Error("Parent not found");let f=1,h=o.block.getWidth(m),b=o.block.getHeight(m),v=.02*Math.min(h,b)*f;o.block.setPositionX(g,o.block.getPositionX(g)+v),o.block.setPositionY(g,o.block.getPositionY(g)+v);let k=await Promise.all(p.map(x=>bt(x,o,{throwErrorIfSvg:!0})));await a({prompt:d,uris:k,exportFromBlockIds:p},{blockIds:[g]}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to combine images. Please try again.",duration:"medium"})}}})}})}else t.Button(`${pe}.button`,{label:$n(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),_6=E6,Gn="remixPage",Bu=`ly.img.${Gn}`,L6=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,T6=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function O6(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Gn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var N6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${T6}`]:"Turn Page into Image"}}),{id:Bu,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${L6}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,generate:r,engine:i,close:n,providerId:a})=>{t.Button(`${Bu}.button`,{label:O6(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=await i.block.export(o),c=URL.createObjectURL(s),l=i.block.duplicate(o);i.block.getChildren(l).forEach(b=>{i.block.destroy(b)}),i.block.setSelected(o,!1);let u=i.block.getFrameWidth(o),d=i.block.getFrameHeight(o),p=i.block.getPositionX(o),g=i.block.getPositionY(o),m=i.block.createShape("rect"),f=i.block.create("graphic");i.block.setShape(f,m),i.block.appendChild(l,f),i.block.setWidth(f,u),i.block.setHeight(f,d),i.block.setPositionX(f,p),i.block.setPositionY(f,g);let h=i.block.createFill("image");i.block.setFill(f,h),i.block.setString(h,"fill/image/imageFileURI",c),i.block.setSelected(f,!0),i.scene.zoomToBlock(f),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:c},{blockIds:[f]}),n()}catch(o){console.error("Generation error:",o),e.ui.showNotification({type:"error",message:o.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),D6=N6,Yn="remixPageWithPrompt",ge=`ly.img.${Yn}`,qu=`ly.img.plugin-ai-image-generation-web.quickAction.${Yn}`,ta=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Yn}`;function En(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Yn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var P6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),H(e,{en:{[`${ta}`]:"Remix Page...",[`${ta}.prompt`]:"Remix Page Prompt",[`${qu}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${ta}.apply`]:"Remix"}}),{id:ge,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${qu}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ge}.prompt`,"");t.TextArea(`${ge}.prompt`,{inputLabel:En(l,"prompt"),placeholder:En(l,"prompt.placeholder")[1],...u}),t.Separator(`${ge}.separator`),r.builder.ButtonRow(`${ge}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ge}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ge}.footer.apply`,{label:En(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await o.block.export(p),m=URL.createObjectURL(g),f=o.block.duplicate(p);o.block.getChildren(f).forEach(M=>{o.block.destroy(M)}),o.block.setSelected(p,!1);let h=o.block.getFrameWidth(p),b=o.block.getFrameHeight(p),v=o.block.getPositionX(p),k=o.block.getPositionY(p),x=o.block.createShape("rect"),y=o.block.create("graphic");o.block.setShape(y,x),o.block.appendChild(f,y),o.block.setWidth(y,h),o.block.setHeight(y,b),o.block.setPositionX(y,v),o.block.setPositionY(y,k);let I=o.block.createFill("image");o.block.setFill(y,I),o.block.setString(I,"fill/image/imageFileURI",m),o.block.setSelected(y,!0),o.scene.zoomToBlock(y),await a({prompt:d,uri:m},{blockIds:[y]}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ge}.button`,{label:En(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),z6=P6,fe="ly.img.ai.image-generation";function U6(e){return{async initialize({cesdk:t}){if(t==null)return;E9(t,Nr,"1.69.0-nightly.20260131"),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 r=ya.get(),i=`${Nr}.action.label`;t.ui.addIconSet(dv,gv),H(t,{en:{[`panel.${fe}`]:"Image Generation",[`${fe}.dock.label`]:"AI Image",[i]:"Generate Image"}});let n=r.register({type:"plugin",sceneMode:"Design",id:Nr,pluginId:Nr,label:f6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});R6(e),r.register(b6({cesdk:t})),r.register(v6({cesdk:t})),r.register(I6({cesdk:t})),r.register(j6({cesdk:t})),r.register($6({cesdk:t})),r.register(_6({cesdk:t})),r.register(D6({cesdk:t})),r.register(z6({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,s=await Promise.all(Du(a).map(d=>d({cesdk:t}))),c=await Promise.all(Du(o).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let l=await F3("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await cv({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:y6});l.history?.assetSourceId!=null,u.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",u.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:Nn})),l.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,l.panel.builderRenderFunction),L9({cesdk:t,panelId:fe})):n()}}}function R6(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 F6=U6,V6=e=>({name:Nr,version:"1.69.0-nightly.20260131",...F6(e)}),Cc=V6;var B6=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;wt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{wt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return wt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),wt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function wt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=wt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=wt(n,t,a)}return e}var q6=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},G6=typeof global=="object"&&global&&global.Object===Object&&global,ld=G6,Y6=typeof self=="object"&&self&&self.Object===Object&&self,H6=ld||Y6||Function("return this")(),te=H6,Z6=te.Symbol,kt=Z6,sd=Object.prototype,Q6=sd.hasOwnProperty,W6=sd.toString,Qr=kt?kt.toStringTag:void 0;function K6(e){var t=Q6.call(e,Qr),r=e[Qr];try{e[Qr]=void 0;var i=!0}catch{}var n=W6.call(e);return i&&(t?e[Qr]=r:delete e[Qr]),n}var J6=K6,X6=Object.prototype,ew=X6.toString;function tw(e){return ew.call(e)}var rw=tw,iw="[object Null]",nw="[object Undefined]",Ac=kt?kt.toStringTag:void 0;function ow(e){return e==null?e===void 0?nw:iw:Ac&&Ac in Object(e)?J6(e):rw(e)}var li=ow;function aw(e){return e!=null&&typeof e=="object"}var za=aw,zJ=Array.isArray;function lw(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ud=lw,sw="[object AsyncFunction]",uw="[object Function]",cw="[object GeneratorFunction]",dw="[object Proxy]";function pw(e){if(!ud(e))return!1;var t=li(e);return t==uw||t==cw||t==sw||t==dw}var gw=pw,fw=te["__core-js_shared__"],wa=fw,Mc=function(){var e=/[^.]+$/.exec(wa&&wa.keys&&wa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function yw(e){return!!Mc&&Mc in e}var mw=yw,bw=Function.prototype,hw=bw.toString;function vw(e){if(e!=null){try{return hw.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=vw,ww=/[\\^$.*+?()[\]{}|]/g,kw=/^\[object .+?Constructor\]$/,xw=Function.prototype,Iw=Object.prototype,Cw=xw.toString,Aw=Iw.hasOwnProperty,Mw=RegExp("^"+Cw.call(Aw).replace(ww,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function jw(e){if(!ud(e)||mw(e))return!1;var t=gw(e)?Mw:kw;return t.test(Oe(e))}var Sw=jw;function $w(e,t){return e?.[t]}var Ew=$w;function _w(e,t){var r=Ew(e,t);return Sw(r)?r:void 0}var It=_w,Lw=It(te,"WeakMap"),ja=Lw;function Tw(e,t){return e===t||e!==e&&t!==t}var Ow=Tw,Nw=9007199254740991;function Dw(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Nw}var Pw=Dw,UJ=Object.prototype,zw="[object Arguments]";function Uw(e){return za(e)&&li(e)==zw}var jc=Uw,cd=Object.prototype,Rw=cd.hasOwnProperty,Fw=cd.propertyIsEnumerable,RJ=jc(function(){return arguments}())?jc:function(e){return za(e)&&Rw.call(e,"callee")&&!Fw.call(e,"callee")},dd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Sc=dd&&typeof module=="object"&&module&&!module.nodeType&&module,Vw=Sc&&Sc.exports===dd,$c=Vw?te.Buffer:void 0,FJ=$c?$c.isBuffer:void 0,Bw="[object Arguments]",qw="[object Array]",Gw="[object Boolean]",Yw="[object Date]",Hw="[object Error]",Zw="[object Function]",Qw="[object Map]",Ww="[object Number]",Kw="[object Object]",Jw="[object RegExp]",Xw="[object Set]",ek="[object String]",tk="[object WeakMap]",rk="[object ArrayBuffer]",ik="[object DataView]",nk="[object Float32Array]",ok="[object Float64Array]",ak="[object Int8Array]",lk="[object Int16Array]",sk="[object Int32Array]",uk="[object Uint8Array]",ck="[object Uint8ClampedArray]",dk="[object Uint16Array]",pk="[object Uint32Array]",D={};D[nk]=D[ok]=D[ak]=D[lk]=D[sk]=D[uk]=D[ck]=D[dk]=D[pk]=!0;D[Bw]=D[qw]=D[rk]=D[Gw]=D[ik]=D[Yw]=D[Hw]=D[Zw]=D[Qw]=D[Ww]=D[Kw]=D[Jw]=D[Xw]=D[ek]=D[tk]=!1;function gk(e){return za(e)&&Pw(e.length)&&!!D[li(e)]}var fk=gk;function yk(e){return function(t){return e(t)}}var mk=yk,pd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ti=pd&&typeof module=="object"&&module&&!module.nodeType&&module,bk=ti&&ti.exports===pd,ka=bk&&ld.process,hk=function(){try{var e=ti&&ti.require&&ti.require("util").types;return e||ka&&ka.binding&&ka.binding("util")}catch{}}(),Ec=hk,_c=Ec&&Ec.isTypedArray,VJ=_c?mk(_c):fk,vk=Object.prototype,BJ=vk.hasOwnProperty;function wk(e,t){return function(r){return e(t(r))}}var kk=wk,qJ=kk(Object.keys,Object),xk=Object.prototype,GJ=xk.hasOwnProperty,Ik=It(Object,"create"),ii=Ik;function Ck(){this.__data__=ii?ii(null):{},this.size=0}var Ak=Ck;function Mk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var jk=Mk,Sk="__lodash_hash_undefined__",$k=Object.prototype,Ek=$k.hasOwnProperty;function _k(e){var t=this.__data__;if(ii){var r=t[e];return r===Sk?void 0:r}return Ek.call(t,e)?t[e]:void 0}var Lk=_k,Tk=Object.prototype,Ok=Tk.hasOwnProperty;function Nk(e){var t=this.__data__;return ii?t[e]!==void 0:Ok.call(t,e)}var Dk=Nk,Pk="__lodash_hash_undefined__";function zk(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ii&&t===void 0?Pk:t,this}var Uk=zk;function Ct(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ct.prototype.clear=Ak;Ct.prototype.delete=jk;Ct.prototype.get=Lk;Ct.prototype.has=Dk;Ct.prototype.set=Uk;var Lc=Ct;function Rk(){this.__data__=[],this.size=0}var Fk=Rk;function Vk(e,t){for(var r=e.length;r--;)if(Ow(e[r][0],t))return r;return-1}var Zn=Vk,Bk=Array.prototype,qk=Bk.splice;function Gk(e){var t=this.__data__,r=Zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():qk.call(t,r,1),--this.size,!0}var Yk=Gk;function Hk(e){var t=this.__data__,r=Zn(t,e);return r<0?void 0:t[r][1]}var Zk=Hk;function Qk(e){return Zn(this.__data__,e)>-1}var Wk=Qk;function Kk(e,t){var r=this.__data__,i=Zn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Jk=Kk;function At(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}At.prototype.clear=Fk;At.prototype.delete=Yk;At.prototype.get=Zk;At.prototype.has=Wk;At.prototype.set=Jk;var Qn=At,Xk=It(te,"Map"),ni=Xk;function ex(){this.size=0,this.__data__={hash:new Lc,map:new(ni||Qn),string:new Lc}}var tx=ex;function rx(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ix=rx;function nx(e,t){var r=e.__data__;return ix(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Wn=nx;function ox(e){var t=Wn(this,e).delete(e);return this.size-=t?1:0,t}var ax=ox;function lx(e){return Wn(this,e).get(e)}var sx=lx;function ux(e){return Wn(this,e).has(e)}var cx=ux;function dx(e,t){var r=Wn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var px=dx;function Mt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Mt.prototype.clear=tx;Mt.prototype.delete=ax;Mt.prototype.get=sx;Mt.prototype.has=cx;Mt.prototype.set=px;var gd=Mt;function gx(){this.__data__=new Qn,this.size=0}var fx=gx;function yx(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var mx=yx;function bx(e){return this.__data__.get(e)}var hx=bx;function vx(e){return this.__data__.has(e)}var wx=vx,kx=200;function xx(e,t){var r=this.__data__;if(r instanceof Qn){var i=r.__data__;if(!ni||i.length<kx-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new gd(i)}return r.set(e,t),this.size=r.size,this}var Ix=xx;function si(e){var t=this.__data__=new Qn(e);this.size=t.size}si.prototype.clear=fx;si.prototype.delete=mx;si.prototype.get=hx;si.prototype.has=wx;si.prototype.set=Ix;var Cx=Object.prototype,YJ=Cx.propertyIsEnumerable,Ax=It(te,"DataView"),Sa=Ax,Mx=It(te,"Promise"),$a=Mx,jx=It(te,"Set"),Ea=jx,Tc="[object Map]",Sx="[object Object]",Oc="[object Promise]",Nc="[object Set]",Dc="[object WeakMap]",Pc="[object DataView]",$x=Oe(Sa),Ex=Oe(ni),_x=Oe($a),Lx=Oe(Ea),Tx=Oe(ja),ht=li;(Sa&&ht(new Sa(new ArrayBuffer(1)))!=Pc||ni&&ht(new ni)!=Tc||$a&&ht($a.resolve())!=Oc||Ea&&ht(new Ea)!=Nc||ja&&ht(new ja)!=Dc)&&(ht=function(e){var t=li(e),r=t==Sx?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case $x:return Pc;case Ex:return Tc;case _x:return Oc;case Lx:return Nc;case Tx:return Dc}return t});var HJ=te.Uint8Array,Ox="__lodash_hash_undefined__";function Nx(e){return this.__data__.set(e,Ox),this}var Dx=Nx;function Px(e){return this.__data__.has(e)}var zx=Px;function _a(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new gd;++t<r;)this.add(e[t])}_a.prototype.add=_a.prototype.push=Dx;_a.prototype.has=zx;var zc=kt?kt.prototype:void 0,ZJ=zc?zc.valueOf:void 0,Ux=Object.prototype,QJ=Ux.hasOwnProperty,Rx=Object.prototype,WJ=Rx.hasOwnProperty,KJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),JJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),XJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function fd(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function Fx(e,t){let r=await fd(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function Vx(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return fd(i,t)}function Bx(e){return e!==void 0}var qx=Bx;function ui(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function ci(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function di(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Hn=class yd{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new yd),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},Gx=class md{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new md),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function Yx(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,h)=>s(l+1,f,h),m={...d,addDisposer:o};return p(u,m,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function Hx({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var Zx=Hx,xa="ly.img.ai.temp";async function Qx(e,t){return e.engine.asset.findAllSources().includes(xa)||e.engine.asset.addLocalSource(xa),e.engine.asset.apply(xa,t)}function Wx(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function bd(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Kx(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function Jx(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function Ua(e){return e instanceof Error&&e.name==="AbortError"}function Xx(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function eI(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
145
145
  Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
146
146
  This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
147
147
  Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function tI(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var rI=tI;function iI(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||e.block.getKind(r)==="sticker"||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var nI=iI;function oI(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),aI(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:Wx(e)}))}function aI(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var Uc=oI,lI="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Ra=lI;function sI(e,t,r){switch(t){case"image":return uI(e,r[t]);case"video":return cI(e,r[t]);case"sticker":return dI(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function uI(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ra,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function cI(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:Ra,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function dI(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ra,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var pI=sI;async function gI(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return fI(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return yI(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return mI(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return bI(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function fI(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function yI(e,t,r){let i=t.width,n=t.height,a=await Kx(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function mI(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function bI(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var hd=gI;function hI(e){switch(e.userFlow){case"placeholder":return wI(e);case"generation-only":return vI(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function vI(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(he(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(he(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(he(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=bd(),c=await hd(s,n,a,o.output),l={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function wI(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(he(t,r))return{status:"aborted"};let s=bd(),c=pI(s,a,o);if(i=await Qx(t,c),he(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),g=t.engine.block.duplicate(i);t.engine.block.setPositionX(g,d),t.engine.block.setPositionY(g,p),t.engine.block.destroy(i),i=g}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{blockIds:[i],middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(he(t,r,i))return{status:"aborted"};if(l.status!=="success")return l.middlewareOptions?.defaultPrevented()||i!=null&&t.engine.block.isValid(i)&&(l.status==="aborted"?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let u=await hd(s,a,o,l.output);if(he(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(u,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(u,i),he(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(Ua(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function he(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var kI=hI;function Fa(e){return`${e}.generating`}function xI(e){return`${e}.abort`}function II(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:p}}=t,g=c.global(xI(d),()=>{}),m=c.global(Fa(d),!1),f,h=m.value&&p,b=()=>{h&&(g.value(),m.setValue(!1),g.setValue(()=>{}))},v;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let x=i();v=a.requiredInputs.every(y=>!x.input[y])}let k=c.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["ly.img.plugin-ai-generation-web.generate","common.generate",`panel.${d}.generate`],isLoading:m.value,color:"accent",isDisabled:v,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let x=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:y})=>{l.ui.closeDialog(y),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:y})=>{b(),l.ui.closeDialog(y),k.setValue(void 0)}}});k.setValue(x)}}:void 0,onClick:async()=>{f=new AbortController;let x=f.signal;await(async()=>{try{m.setValue(!0),g.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let y=await kI({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:x,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(y.status==="aborted")return;if(y.status==="error"){Uc(y.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:y.middlewareOptions});return}if(y.status==="success"&&y.type==="sync"&&!y.middlewareOptions?.defaultPrevented()){let I=t.output.notification;CI(l,I,()=>({input:i().input,output:y.output}))}}catch(y){if(Ua(y))return;Uc(y,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,m.setValue(!1),g.setValue(()=>{}),k.value!=null&&(l.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),u&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function CI(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var vd=II;async function AI({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t;i.debug&&console.log(`Provider: ${o} (custom)`);let s=r.render;return c=>{let{state:l}=c,u=l(Fa(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=s(c,{cesdk:a,isGenerating:u});return vd(c,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var MI=AI;function wd(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function Jr(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=wd(e,t.$ref),n={...Jr(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Jr(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Jr(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Jr(e,t[n],r));return i}return t}function jI(e){return Jr(e,{...e})}function SI(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let c=i[o][s];if(typeof c!="object"||c===null)return r(`Item ${s} in ${o} must be an object, got ${c===null?"null":typeof c}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function $I(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return EI(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function EI(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=_I(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function _I(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var kd=$I;function ve(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`,a=[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`];return i==="placeholder"&&a.push("ly.img.plugin-ai-generation-web.fallback.property.placeholder"),a}function xd(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function Id(e,t,r,i,n,a,o,s){if(t.schema==null)if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}else return;let c=t,l=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}switch(l){case"string":return t.schema.enum!=null?LI(e,c,r,i,n,a,o,s):Cd(e,c,r,i,n,a,o,s);case"boolean":return Ad(e,c,r,i,n,a,o,s);case"number":case"integer":return Md(e,c,r,i,n,a,o,s);case"object":return La(e,c,r,i,n,a,o,s);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return TI(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function La(e,t,r,i,n,a,o,s){let c=kd(t.schema??{},i).reduce((l,u)=>{let d=Id(e,u,r,i,n,a,o,s);return d!=null&&(l[u.id]=d()),l},{});return()=>({id:t.id,type:"object",value:c})}function Cd(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),m=ve(t,r,o,"placeholder"),f=ci(u,n.cesdk),h=s?.properties?.[d]??a.properties?.[d],b=di(d,h,f,t.schema.default,""),v=l(p,b),k=OI(t.schema),x=k?.component!=null&&k?.component==="TextArea"?"TextArea":"TextInput",y=m.length>0?m:void 0;return c[x](p,{inputLabel:g,...y&&{placeholder:y},...v}),()=>({id:t.id,type:"string",value:v.value})}function LI(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),{labels:m,icons:f}=xd(t.schema),h=(t.schema.enum??[]).map(I=>({id:I,label:ve(t,r,o,I),icon:f[I]})),b=ci(u,n.cesdk),v=s?.properties?.[d]??a.properties?.[d],k=di(d,v,b,t.schema.default,h[0]?.id),x=k!=null?h.find(I=>I.id===k)??h[0]:h[0],y=l(p,x);return c.Select(p,{inputLabel:g,values:h,...y}),()=>({id:t.id,type:"string",value:y.value.id})}function Ad(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),m=ci(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],h=!!di(d,f,m,t.schema.default,!1),b=l(p,h);return c.Checkbox(p,{inputLabel:g,...b}),()=>({id:t.id,type:"boolean",value:b.value})}function Md(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),m=t.schema.minimum,f=t.schema.maximum,h=ci(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],v=t.schema.default;v==null&&(m!=null?v=m:f!=null?v=f:v=0);let k=di(d,b,h,v,v),x=l(p,k);if(m!=null&&f!=null){let y=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(y=t.schema["x-imgly-step"]),c.Slider(p,{inputLabel:g,min:m,max:f,step:y,...x})}else c.NumberInput(p,{inputLabel:g,min:m,max:f,...x});return()=>({id:t.id,type:"integer",value:x.value})}function TI(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),m=t.schema.anyOf??[],f=[],h={},b={},{labels:v,icons:k}=xd(t.schema),x=ci(u,n.cesdk),y=s?.properties?.[d]??a.properties?.[d],I={string:Cd,boolean:Ad,integer:Md,object:La},M=(w,$)=>w.$ref?w.$ref.split("/").pop():$.split(".").pop()??$,A=(w,$)=>({id:w,label:ve(t,r,o,$),icon:k[$]??k[w]});m.forEach((w,$)=>{let C=`${r.id}.${d}.anyOf[${$}]`;if(w.$ref||w.title){let j=w.$ref?w.$ref.split("/").pop():w.title;h[C]=()=>La(e,{id:C,schema:{...w,title:v[j]||j}},r,i,n,a,o,s),f.push(A(C,j))}else if(w.type==="string"&&w.enum)w.enum.forEach(j=>{f.push(A(j,j))});else if(w.type&&I[w.type]){let j=I[w.type];h[C]=()=>j(e,{id:C,schema:{...w,title:w.title}},r,i,n,a,o,s);let q=M(w,C);f.push(w.type==="string"&&!w.enum?{id:C,label:w.title||q,icon:w.title&&k[w.title]||k[q]}:A(C,q))}});let _=di(d,y,x,t.schema.default,null),S=_!=null?f.find(w=>w.id===_)??f[0]:f[0],E=l(p,S);if(c.Select(p,{inputLabel:g,values:f,...E}),E.value.id in h){let w=h[E.value.id]();b[E.value.id]=w}return()=>{let w=b[E.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function OI(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var NI=Id,DI={"ly.img.plugin-ai-generation-web.fallback.property.placeholder":"","ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function Rc(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function PI(e,t,r,i){let n={},a=(l,u)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${u?`.${u}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,u,d)=>{l.forEach(p=>{let g=String(p),m=d[g]||Rc(g);n[a(u,g)]=m})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let u=o(l.schema);s(l.schema.enum,l.id,u)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let u=o(l.schema);l.schema.anyOf.forEach(d=>{let p=d;if(p.enum&&Array.isArray(p.enum))s(p.enum,l.id,u);else if(p.$ref){let g=p.$ref.split("/").pop();g&&u[g]&&(n[a(l.id,g)]=u[g])}else if(p.title){let g=p.title,m=u[g]||Rc(g);n[a(l.id,g)]=m}})}});let c={...DI,...n};Object.keys(c).length>0&&ui(r.cesdk,{en:c})}async function zI({options:e,provider:t,panelInput:r,config:i,providerConfig:n},a){let{id:o}=t;if(r==null)return;i.debug&&console.log(`Provider: ${o} (schema-based)`);let s=jI(r.document),c=wd(s,r.inputReference);if(!SI(c,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let l=c,u=kd(l,r);return PI(u,t,e,t.kind),d=>{let{builder:p}=d,g=[];p.Section(`${o}.schema.section`,{children:()=>{u.forEach(b=>{let v=NI(d,b,t,r,e,i,t.kind,n);v!=null&&(Array.isArray(v)?g.push(...v):g.push(v))})}});let m=g.map(b=>b()),f=b=>b.type==="object"?Object.entries(b.value).reduce((v,[k,x])=>(v[k]=f(x),v),{}):b.value,h=m.reduce((b,v)=>(b[v.id]=f(v),b),{});vd(d,t,a,()=>({input:h}),()=>r.getBlockInput(h),{...e,requiredInputs:l.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var UI=zI;async function RI(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return MI(e,t);case"schema":return UI(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var FI=RI;function VI(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new B6(o,r)),o}return i}var BI=VI;function qI(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var GI=qI,Ia="@imgly/plugin-ai-generation",YI=`
@@ -206,7 +206,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
206
206
  </symbol>
207
207
  </svg>
208
208
  `,HI=YI;function ZI(e){return async(t,r,i)=>e.enable?(console.log(`[DRY RUN]: Requesting dummy AI generation for kind '${e.kind}' with inputs: `,JSON.stringify(t,void 0,2)),await jd(2e3),await QI(t,e,r)):i(t,r)}async function QI(e,t,r){switch(t.kind){case"image":return WI(e,t,r);case"video":return KI(e,t,r);case"text":return JI(e,t,r);case"audio":return eC(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function WI(e,t,{engine:r}){let i,n,a=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",o=a.match(/(\d+)x(\d+)/);if(o!=null)i=parseInt(o[1],10),n=parseInt(o[2],10);else if(t.blockInputs!=null&&(i=t.blockInputs.image.width,n=t.blockInputs.image.height),t.blockIds!=null&&Array.isArray(t.blockIds)&&t.blockIds.length>0){let[s]=t.blockIds,c=await Vx(s,r),l=await Fx(c,r);i=l.width,n=l.height}else i=512,n=512;return{kind:"image",url:`https://placehold.co/${i}x${n}/000000/FFF?text=${a.replace(" ","+").replace(`
209
- `,"+")}`}}async function KI(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function JI(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=Wr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Wr(n,o)}else"customPrompt"in e?a=Wr(n,"custom"):a=Wr(n,"improved");else a=Wr(n,"generated");return XI(a,r.abortSignal)}async function*XI(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await jd(100)}return{kind:"text",text:e}}function Wr(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let c=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function eC(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:tC(220,i),duration:i,thumbnailUrl:void 0}}function tC(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return rC(i,44100)}function rC(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,h)=>{for(let b=0;b<h.length;b++)u.setUint8(f+b,h.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let h=Math.max(-1,Math.min(1,e[f])),b=Math.round(h*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),m="";for(let f=0;f<g.length;f++)m+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(m)}`}async function jd(e){return new Promise(t=>{setTimeout(t,e)})}var iC=ZI,nC="USER_CANCEL";function oC(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Yx([...e.provider.output.middleware??[],...r?.middlewares??[],Zx({enable:r?.debug}),iC({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:Jx(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return Ua(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===nC?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var aC=oC;async function lC(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Hn.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let m=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(m,!0)}})}let o=BI(a),s=GI(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=aC({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await FI(a,c);Xx(r.cesdk,"@imgly/plugin-ai-generation",HI);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return Gx.get().register(u),u}var Ca=lC;function sC(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new q6(n,r,i);return r.engine.asset.addSource(a),a.id}var uC=sC;function Xr(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function cC(e,t,r,i){let{cesdk:n}=r;ui(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ca(e,u,r,i)));o.push(...l),a=pC({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ca(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ca(e,d,r,i)));o.push(...u),a=dC({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=uC({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(qx)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function dC({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),m;d&&r.length>0&&(!g||i.length===0)?m="fromText":g&&i.length>0&&(!d||r.length===0)?m="fromImage":d&&g&&a&&(m="fromText");let f=c.global(`${t}.fromType`,m),h=[];f.value==="fromText"?h.push(...r):f.value==="fromImage"?h.push(...i):h.push(...r,...i);let b=r.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),v=i.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),k=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),y=b.find(C=>C.id===k.value)??b[0],I=v.find(C=>C.id===x.value)??v[0],M=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,w=a&&E,$=h.length>1&&S;if((w||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(w&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:Xr(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:Xr(e,"fromText.label"),icon:f.value!=="fromText"&&Fc(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:Xr(e,"fromImage.label"),icon:f.value!=="fromImage"&&Fc(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?b:f.value==="fromImage"?v:[...b,...v];M!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:Xr(e,"providerSelect.label"),values:C,value:A,setValue:j=>{M.setValue(j.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function pC({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:p.name??p.id,builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:Xr(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function Fc(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Fa(r.id),!1).value)}var gC=cC,fC=typeof global=="object"&&global&&global.Object===Object&&global,Sd=fC,yC=typeof self=="object"&&self&&self.Object===Object&&self,mC=Sd||yC||Function("return this")(),re=mC,bC=re.Symbol,xt=bC,$d=Object.prototype,hC=$d.hasOwnProperty,vC=$d.toString,Kr=xt?xt.toStringTag:void 0;function wC(e){var t=hC.call(e,Kr),r=e[Kr];try{e[Kr]=void 0;var i=!0}catch{}var n=vC.call(e);return i&&(t?e[Kr]=r:delete e[Kr]),n}var kC=wC,xC=Object.prototype,IC=xC.toString;function CC(e){return IC.call(e)}var AC=CC,MC="[object Null]",jC="[object Undefined]",Vc=xt?xt.toStringTag:void 0;function SC(e){return e==null?e===void 0?jC:MC:Vc&&Vc in Object(e)?kC(e):AC(e)}var pi=SC;function $C(e){return e!=null&&typeof e=="object"}var Va=$C,eX=Array.isArray;function EC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ed=EC,_C="[object AsyncFunction]",LC="[object Function]",TC="[object GeneratorFunction]",OC="[object Proxy]";function NC(e){if(!Ed(e))return!1;var t=pi(e);return t==LC||t==TC||t==_C||t==OC}var DC=NC,PC=re["__core-js_shared__"],Aa=PC,Bc=function(){var e=/[^.]+$/.exec(Aa&&Aa.keys&&Aa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zC(e){return!!Bc&&Bc in e}var UC=zC,RC=Function.prototype,FC=RC.toString;function VC(e){if(e!=null){try{return FC.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=VC,BC=/[\\^$.*+?()[\]{}|]/g,qC=/^\[object .+?Constructor\]$/,GC=Function.prototype,YC=Object.prototype,HC=GC.toString,ZC=YC.hasOwnProperty,QC=RegExp("^"+HC.call(ZC).replace(BC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function WC(e){if(!Ed(e)||UC(e))return!1;var t=DC(e)?QC:qC;return t.test(Ne(e))}var KC=WC;function JC(e,t){return e?.[t]}var XC=JC;function eA(e,t){var r=XC(e,t);return KC(r)?r:void 0}var jt=eA,tA=jt(re,"WeakMap"),Ta=tA;function rA(e,t){return e===t||e!==e&&t!==t}var iA=rA,nA=9007199254740991;function oA(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=nA}var aA=oA,tX=Object.prototype,lA="[object Arguments]";function sA(e){return Va(e)&&pi(e)==lA}var qc=sA,_d=Object.prototype,uA=_d.hasOwnProperty,cA=_d.propertyIsEnumerable,rX=qc(function(){return arguments}())?qc:function(e){return Va(e)&&uA.call(e,"callee")&&!cA.call(e,"callee")},Ld=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gc=Ld&&typeof module=="object"&&module&&!module.nodeType&&module,dA=Gc&&Gc.exports===Ld,Yc=dA?re.Buffer:void 0,iX=Yc?Yc.isBuffer:void 0,pA="[object Arguments]",gA="[object Array]",fA="[object Boolean]",yA="[object Date]",mA="[object Error]",bA="[object Function]",hA="[object Map]",vA="[object Number]",wA="[object Object]",kA="[object RegExp]",xA="[object Set]",IA="[object String]",CA="[object WeakMap]",AA="[object ArrayBuffer]",MA="[object DataView]",jA="[object Float32Array]",SA="[object Float64Array]",$A="[object Int8Array]",EA="[object Int16Array]",_A="[object Int32Array]",LA="[object Uint8Array]",TA="[object Uint8ClampedArray]",OA="[object Uint16Array]",NA="[object Uint32Array]",P={};P[jA]=P[SA]=P[$A]=P[EA]=P[_A]=P[LA]=P[TA]=P[OA]=P[NA]=!0;P[pA]=P[gA]=P[AA]=P[fA]=P[MA]=P[yA]=P[mA]=P[bA]=P[hA]=P[vA]=P[wA]=P[kA]=P[xA]=P[IA]=P[CA]=!1;function DA(e){return Va(e)&&aA(e.length)&&!!P[pi(e)]}var PA=DA;function zA(e){return function(t){return e(t)}}var UA=zA,Td=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Td&&typeof module=="object"&&module&&!module.nodeType&&module,RA=ri&&ri.exports===Td,Ma=RA&&Sd.process,FA=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Ma&&Ma.binding&&Ma.binding("util")}catch{}}(),Hc=FA,Zc=Hc&&Hc.isTypedArray,nX=Zc?UA(Zc):PA,VA=Object.prototype,oX=VA.hasOwnProperty;function BA(e,t){return function(r){return e(t(r))}}var qA=BA,aX=qA(Object.keys,Object),GA=Object.prototype,lX=GA.hasOwnProperty,YA=jt(Object,"create"),oi=YA;function HA(){this.__data__=oi?oi(null):{},this.size=0}var ZA=HA;function QA(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var WA=QA,KA="__lodash_hash_undefined__",JA=Object.prototype,XA=JA.hasOwnProperty;function eM(e){var t=this.__data__;if(oi){var r=t[e];return r===KA?void 0:r}return XA.call(t,e)?t[e]:void 0}var tM=eM,rM=Object.prototype,iM=rM.hasOwnProperty;function nM(e){var t=this.__data__;return oi?t[e]!==void 0:iM.call(t,e)}var oM=nM,aM="__lodash_hash_undefined__";function lM(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=oi&&t===void 0?aM:t,this}var sM=lM;function St(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}St.prototype.clear=ZA;St.prototype.delete=WA;St.prototype.get=tM;St.prototype.has=oM;St.prototype.set=sM;var Qc=St;function uM(){this.__data__=[],this.size=0}var cM=uM;function dM(e,t){for(var r=e.length;r--;)if(iA(e[r][0],t))return r;return-1}var Kn=dM,pM=Array.prototype,gM=pM.splice;function fM(e){var t=this.__data__,r=Kn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():gM.call(t,r,1),--this.size,!0}var yM=fM;function mM(e){var t=this.__data__,r=Kn(t,e);return r<0?void 0:t[r][1]}var bM=mM;function hM(e){return Kn(this.__data__,e)>-1}var vM=hM;function wM(e,t){var r=this.__data__,i=Kn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var kM=wM;function $t(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}$t.prototype.clear=cM;$t.prototype.delete=yM;$t.prototype.get=bM;$t.prototype.has=vM;$t.prototype.set=kM;var Jn=$t,xM=jt(re,"Map"),ai=xM;function IM(){this.size=0,this.__data__={hash:new Qc,map:new(ai||Jn),string:new Qc}}var CM=IM;function AM(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var MM=AM;function jM(e,t){var r=e.__data__;return MM(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Xn=jM;function SM(e){var t=Xn(this,e).delete(e);return this.size-=t?1:0,t}var $M=SM;function EM(e){return Xn(this,e).get(e)}var _M=EM;function LM(e){return Xn(this,e).has(e)}var TM=LM;function OM(e,t){var r=Xn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var NM=OM;function Et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Et.prototype.clear=CM;Et.prototype.delete=$M;Et.prototype.get=_M;Et.prototype.has=TM;Et.prototype.set=NM;var Od=Et;function DM(){this.__data__=new Jn,this.size=0}var PM=DM;function zM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var UM=zM;function RM(e){return this.__data__.get(e)}var FM=RM;function VM(e){return this.__data__.has(e)}var BM=VM,qM=200;function GM(e,t){var r=this.__data__;if(r instanceof Jn){var i=r.__data__;if(!ai||i.length<qM-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Od(i)}return r.set(e,t),this.size=r.size,this}var YM=GM;function gi(e){var t=this.__data__=new Jn(e);this.size=t.size}gi.prototype.clear=PM;gi.prototype.delete=UM;gi.prototype.get=FM;gi.prototype.has=BM;gi.prototype.set=YM;var HM=Object.prototype,sX=HM.propertyIsEnumerable,ZM=jt(re,"DataView"),Oa=ZM,QM=jt(re,"Promise"),Na=QM,WM=jt(re,"Set"),Da=WM,Wc="[object Map]",KM="[object Object]",Kc="[object Promise]",Jc="[object Set]",Xc="[object WeakMap]",ed="[object DataView]",JM=Ne(Oa),XM=Ne(ai),ej=Ne(Na),tj=Ne(Da),rj=Ne(Ta),vt=pi;(Oa&&vt(new Oa(new ArrayBuffer(1)))!=ed||ai&&vt(new ai)!=Wc||Na&&vt(Na.resolve())!=Kc||Da&&vt(new Da)!=Jc||Ta&&vt(new Ta)!=Xc)&&(vt=function(e){var t=pi(e),r=t==KM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case JM:return ed;case XM:return Wc;case ej:return Kc;case tj:return Jc;case rj:return Xc}return t});var uX=re.Uint8Array,ij="__lodash_hash_undefined__";function nj(e){return this.__data__.set(e,ij),this}var oj=nj;function aj(e){return this.__data__.has(e)}var lj=aj;function Pa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Od;++t<r;)this.add(e[t])}Pa.prototype.add=Pa.prototype.push=oj;Pa.prototype.has=lj;var td=xt?xt.prototype:void 0,cX=td?td.valueOf:void 0,sj=Object.prototype,dX=sj.hasOwnProperty,uj=Object.prototype,pX=uj.hasOwnProperty,gX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),fX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),yX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function cj(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function Nd(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return cj(i,t)}function dj(e){return e==null?[]:Array.isArray(e)?e:[e]}var rd=dj;function pj(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function gj(e){return typeof e?.translate=="function"}function fj(e,t,r){return e&&pj(e)&&gj(e.i18n)?e.i18n.translate(t):r}var ei="@imgly/plugin-ai-video-generation-web";var eo="createVideo",id=`ly.img.${eo}`,yj=`ly.img.plugin-ai-video-generation-web.quickAction.${eo}`,nd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${eo}`;function mj(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${eo}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var bj=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),ui(e,{en:{[`${nd}`]:"Create Video...",[`${nd}.description`]:"Create a video from the image"}}),{id,type:"quick",kind:"image",label:`${yj}`,enable:nI(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${id}.button`,{label:mj(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await Nd(a,r,{throwErrorIfSvg:!0});e.ui.openPanel("ly.img.ai.video-generation"),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue(`${n}.image_url`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),hj=bj,to="animateBetweenImages",od=`ly.img.${to}`,vj=`ly.img.plugin-ai-video-generation-web.quickAction.${to}`,ad=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${to}`;function wj(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${to}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var kj=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),ui(e,{en:{[`${ad}`]:"Animate Between Images...",[`${ad}.description`]:"Create a video transitioning between two images"}}),{id:od,type:"quick",kind:"image",label:`${vj}`,enable:t=>{let r=t.engine.block.findAllSelected();return r==null||r.length!==2?!1:r.every(i=>{if(t.engine.block.getType(i)!=="//ly.img.ubq/graphic"&&!t.engine.block.supportsFill(i))return!1;let n=t.engine.block.getFill(i);return!(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${od}.button`,{label:wj(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let a=r.block.findAllSelected();if(a.length!==2)throw new Error("Exactly 2 images must be selected");let[o,s]=await Promise.all(a.map(l=>Nd(l,r,{throwErrorIfSvg:!0}))),c="fal-ai/veo3.1/fast/first-last-frame-to-video";e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",c),e.ui.experimental.setGlobalStateValue(`${c}.first_frame_url`,o),e.ui.experimental.setGlobalStateValue(`${c}.last_frame_url`,s),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.openPanel("ly.img.ai.video-generation"),i()}catch(a){console.error("Error opening video generation panel:",a),e.ui.showNotification({type:"error",message:a.message||"Failed to open video generation panel. Please try again.",duration:"medium"})}}})}}),xj=kj,be="ly.img.ai.video-generation";function Ij(e){return{async initialize({cesdk:t}){if(t==null)return;eI(t,ei,"1.69.0-nightly.20260130"),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction.providerSelect",!0);let r=`${ei}.action.label`;ui(t,{en:{[`panel.${be}`]:"Video Generation",[`${be}.dock.label`]:"AI Video",[r]:"Generate Video","ly.img.ai.video.generation.hint":"Video generation may take up to a few minutes. This panel can be closed and you'll be notified when it's ready."}}),Cj(e);let i=Hn.get().register({type:"plugin",sceneMode:"Video",id:ei,pluginId:ei,label:fj(t,r,"Generate Video"),labelKey:r,meta:{panelId:be},execute:()=>{t.ui.isPanelOpen(be)?t.ui.closePanel(be):t.ui.openPanel(be)}}),n=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,o=await Promise.all(rd(n).map(l=>l({cesdk:t}))),s=await Promise.all(rd(a).map(l=>l({cesdk:t})));if(!(o.length>0||s.length>0)){i();return}let c=await gC("video",{fromText:o,fromImage:s},{cesdk:t},e);Hn.get().register(hj({cesdk:t})),Hn.get().register(xj({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(be,c.panel.builderRenderFunction),rI({cesdk:t,panelId:be})):i()}}}function Cj(e){e.debug&&(e.providers?.text2video!=null&&e.text2video!=null&&console.warn("[VideoGeneration]: Both `providers.text2video` and `text2video` configuration is provided. Since `text2video` is deprecated, only `providers.text2video` will be used."),e.providers?.image2video!=null&&e.image2video!=null&&console.warn("[VideoGeneration]: Both `providers.image2video` and `image2video` configuration is provided. Since `image2video` is deprecated, only `providers.image2video` will be used."))}var Aj=Ij,Mj=e=>({name:ei,version:"1.69.0-nightly.20260130",...Aj(e)}),Dd=Mj;var jj=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Tt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Tt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Tt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Tt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function Tt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Tt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Tt(n,t,a)}return e}var Sj=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},$j=typeof global=="object"&&global&&global.Object===Object&&global,hp=$j,Ej=typeof self=="object"&&self&&self.Object===Object&&self,_j=hp||Ej||Function("return this")(),ie=_j,Lj=ie.Symbol,Ot=Lj,vp=Object.prototype,Tj=vp.hasOwnProperty,Oj=vp.toString,fi=Ot?Ot.toStringTag:void 0;function Nj(e){var t=Tj.call(e,fi),r=e[fi];try{e[fi]=void 0;var i=!0}catch{}var n=Oj.call(e);return i&&(t?e[fi]=r:delete e[fi]),n}var Dj=Nj,Pj=Object.prototype,zj=Pj.toString;function Uj(e){return zj.call(e)}var Rj=Uj,Fj="[object Null]",Vj="[object Undefined]",Pd=Ot?Ot.toStringTag:void 0;function Bj(e){return e==null?e===void 0?Vj:Fj:Pd&&Pd in Object(e)?Dj(e):Rj(e)}var Ai=Bj;function qj(e){return e!=null&&typeof e=="object"}var ll=qj,vX=Array.isArray;function Gj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var wp=Gj,Yj="[object AsyncFunction]",Hj="[object Function]",Zj="[object GeneratorFunction]",Qj="[object Proxy]";function Wj(e){if(!wp(e))return!1;var t=Ai(e);return t==Hj||t==Zj||t==Yj||t==Qj}var Kj=Wj,Jj=ie["__core-js_shared__"],Ba=Jj,zd=function(){var e=/[^.]+$/.exec(Ba&&Ba.keys&&Ba.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Xj(e){return!!zd&&zd in e}var eS=Xj,tS=Function.prototype,rS=tS.toString;function iS(e){if(e!=null){try{return rS.call(e)}catch{}try{return e+""}catch{}}return""}var ze=iS,nS=/[\\^$.*+?()[\]{}|]/g,oS=/^\[object .+?Constructor\]$/,aS=Function.prototype,lS=Object.prototype,sS=aS.toString,uS=lS.hasOwnProperty,cS=RegExp("^"+sS.call(uS).replace(nS,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function dS(e){if(!wp(e)||eS(e))return!1;var t=Kj(e)?cS:oS;return t.test(ze(e))}var pS=dS;function gS(e,t){return e?.[t]}var fS=gS;function yS(e,t){var r=fS(e,t);return pS(r)?r:void 0}var Dt=yS,mS=Dt(ie,"WeakMap"),Wa=mS;function bS(e,t){return e===t||e!==e&&t!==t}var hS=bS,vS=9007199254740991;function wS(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=vS}var kS=wS,wX=Object.prototype,xS="[object Arguments]";function IS(e){return ll(e)&&Ai(e)==xS}var Ud=IS,kp=Object.prototype,CS=kp.hasOwnProperty,AS=kp.propertyIsEnumerable,kX=Ud(function(){return arguments}())?Ud:function(e){return ll(e)&&CS.call(e,"callee")&&!AS.call(e,"callee")},xp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Rd=xp&&typeof module=="object"&&module&&!module.nodeType&&module,MS=Rd&&Rd.exports===xp,Fd=MS?ie.Buffer:void 0,xX=Fd?Fd.isBuffer:void 0,jS="[object Arguments]",SS="[object Array]",$S="[object Boolean]",ES="[object Date]",_S="[object Error]",LS="[object Function]",TS="[object Map]",OS="[object Number]",NS="[object Object]",DS="[object RegExp]",PS="[object Set]",zS="[object String]",US="[object WeakMap]",RS="[object ArrayBuffer]",FS="[object DataView]",VS="[object Float32Array]",BS="[object Float64Array]",qS="[object Int8Array]",GS="[object Int16Array]",YS="[object Int32Array]",HS="[object Uint8Array]",ZS="[object Uint8ClampedArray]",QS="[object Uint16Array]",WS="[object Uint32Array]",z={};z[VS]=z[BS]=z[qS]=z[GS]=z[YS]=z[HS]=z[ZS]=z[QS]=z[WS]=!0;z[jS]=z[SS]=z[RS]=z[$S]=z[FS]=z[ES]=z[_S]=z[LS]=z[TS]=z[OS]=z[NS]=z[DS]=z[PS]=z[zS]=z[US]=!1;function KS(e){return ll(e)&&kS(e.length)&&!!z[Ai(e)]}var JS=KS;function XS(e){return function(t){return e(t)}}var e$=XS,Ip=typeof exports=="object"&&exports&&!exports.nodeType&&exports,vi=Ip&&typeof module=="object"&&module&&!module.nodeType&&module,t$=vi&&vi.exports===Ip,qa=t$&&hp.process,r$=function(){try{var e=vi&&vi.require&&vi.require("util").types;return e||qa&&qa.binding&&qa.binding("util")}catch{}}(),Vd=r$,Bd=Vd&&Vd.isTypedArray,IX=Bd?e$(Bd):JS,i$=Object.prototype,CX=i$.hasOwnProperty;function n$(e,t){return function(r){return e(t(r))}}var o$=n$,AX=o$(Object.keys,Object),a$=Object.prototype,MX=a$.hasOwnProperty,l$=Dt(Object,"create"),ki=l$;function s$(){this.__data__=ki?ki(null):{},this.size=0}var u$=s$;function c$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var d$=c$,p$="__lodash_hash_undefined__",g$=Object.prototype,f$=g$.hasOwnProperty;function y$(e){var t=this.__data__;if(ki){var r=t[e];return r===p$?void 0:r}return f$.call(t,e)?t[e]:void 0}var m$=y$,b$=Object.prototype,h$=b$.hasOwnProperty;function v$(e){var t=this.__data__;return ki?t[e]!==void 0:h$.call(t,e)}var w$=v$,k$="__lodash_hash_undefined__";function x$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ki&&t===void 0?k$:t,this}var I$=x$;function Pt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Pt.prototype.clear=u$;Pt.prototype.delete=d$;Pt.prototype.get=m$;Pt.prototype.has=w$;Pt.prototype.set=I$;var qd=Pt;function C$(){this.__data__=[],this.size=0}var A$=C$;function M$(e,t){for(var r=e.length;r--;)if(hS(e[r][0],t))return r;return-1}var ro=M$,j$=Array.prototype,S$=j$.splice;function $$(e){var t=this.__data__,r=ro(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():S$.call(t,r,1),--this.size,!0}var E$=$$;function _$(e){var t=this.__data__,r=ro(t,e);return r<0?void 0:t[r][1]}var L$=_$;function T$(e){return ro(this.__data__,e)>-1}var O$=T$;function N$(e,t){var r=this.__data__,i=ro(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var D$=N$;function zt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}zt.prototype.clear=A$;zt.prototype.delete=E$;zt.prototype.get=L$;zt.prototype.has=O$;zt.prototype.set=D$;var io=zt,P$=Dt(ie,"Map"),xi=P$;function z$(){this.size=0,this.__data__={hash:new qd,map:new(xi||io),string:new qd}}var U$=z$;function R$(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var F$=R$;function V$(e,t){var r=e.__data__;return F$(t)?r[typeof t=="string"?"string":"hash"]:r.map}var no=V$;function B$(e){var t=no(this,e).delete(e);return this.size-=t?1:0,t}var q$=B$;function G$(e){return no(this,e).get(e)}var Y$=G$;function H$(e){return no(this,e).has(e)}var Z$=H$;function Q$(e,t){var r=no(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var W$=Q$;function Ut(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ut.prototype.clear=U$;Ut.prototype.delete=q$;Ut.prototype.get=Y$;Ut.prototype.has=Z$;Ut.prototype.set=W$;var Cp=Ut;function K$(){this.__data__=new io,this.size=0}var J$=K$;function X$(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var eE=X$;function tE(e){return this.__data__.get(e)}var rE=tE;function iE(e){return this.__data__.has(e)}var nE=iE,oE=200;function aE(e,t){var r=this.__data__;if(r instanceof io){var i=r.__data__;if(!xi||i.length<oE-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Cp(i)}return r.set(e,t),this.size=r.size,this}var lE=aE;function Mi(e){var t=this.__data__=new io(e);this.size=t.size}Mi.prototype.clear=J$;Mi.prototype.delete=eE;Mi.prototype.get=rE;Mi.prototype.has=nE;Mi.prototype.set=lE;var sE=Object.prototype,jX=sE.propertyIsEnumerable,uE=Dt(ie,"DataView"),Ka=uE,cE=Dt(ie,"Promise"),Ja=cE,dE=Dt(ie,"Set"),Xa=dE,Gd="[object Map]",pE="[object Object]",Yd="[object Promise]",Hd="[object Set]",Zd="[object WeakMap]",Qd="[object DataView]",gE=ze(Ka),fE=ze(xi),yE=ze(Ja),mE=ze(Xa),bE=ze(Wa),_t=Ai;(Ka&&_t(new Ka(new ArrayBuffer(1)))!=Qd||xi&&_t(new xi)!=Gd||Ja&&_t(Ja.resolve())!=Yd||Xa&&_t(new Xa)!=Hd||Wa&&_t(new Wa)!=Zd)&&(_t=function(e){var t=Ai(e),r=t==pE?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case gE:return Qd;case fE:return Gd;case yE:return Yd;case mE:return Hd;case bE:return Zd}return t});var SX=ie.Uint8Array,hE="__lodash_hash_undefined__";function vE(e){return this.__data__.set(e,hE),this}var wE=vE;function kE(e){return this.__data__.has(e)}var xE=kE;function el(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Cp;++t<r;)this.add(e[t])}el.prototype.add=el.prototype.push=wE;el.prototype.has=xE;var Wd=Ot?Ot.prototype:void 0,$X=Wd?Wd.valueOf:void 0,IE=Object.prototype,EX=IE.hasOwnProperty,CE=Object.prototype,_X=CE.hasOwnProperty,LX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),TX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),OX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Ap(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function AE(e,t){let r=await Ap(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function ME(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Ap(i,t)}function jE(e){return e!==void 0}var SE=jE;function sl(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function ji(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function Si(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Mp=class jp{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new jp),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},$E=class Sp{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Sp),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function EE(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,h)=>s(l+1,f,h),m={...d,addDisposer:o};return p(u,m,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function _E({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var LE=_E,Ga="ly.img.ai.temp";async function TE(e,t){return e.engine.asset.findAllSources().includes(Ga)||e.engine.asset.addLocalSource(Ga),e.engine.asset.apply(Ga,t)}function OE(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function $p(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function NE(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function DE(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function ul(e){return e instanceof Error&&e.name==="AbortError"}function PE(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function zE(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
209
+ `,"+")}`}}async function KI(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function JI(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=Wr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Wr(n,o)}else"customPrompt"in e?a=Wr(n,"custom"):a=Wr(n,"improved");else a=Wr(n,"generated");return XI(a,r.abortSignal)}async function*XI(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await jd(100)}return{kind:"text",text:e}}function Wr(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let c=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function eC(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:tC(220,i),duration:i,thumbnailUrl:void 0}}function tC(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return rC(i,44100)}function rC(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,h)=>{for(let b=0;b<h.length;b++)u.setUint8(f+b,h.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let h=Math.max(-1,Math.min(1,e[f])),b=Math.round(h*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),m="";for(let f=0;f<g.length;f++)m+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(m)}`}async function jd(e){return new Promise(t=>{setTimeout(t,e)})}var iC=ZI,nC="USER_CANCEL";function oC(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Yx([...e.provider.output.middleware??[],...r?.middlewares??[],Zx({enable:r?.debug}),iC({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:Jx(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return Ua(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===nC?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var aC=oC;async function lC(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Hn.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let m=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(m,!0)}})}let o=BI(a),s=GI(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=aC({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await FI(a,c);Xx(r.cesdk,"@imgly/plugin-ai-generation",HI);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return Gx.get().register(u),u}var Ca=lC;function sC(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new q6(n,r,i);return r.engine.asset.addSource(a),a.id}var uC=sC;function Xr(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function cC(e,t,r,i){let{cesdk:n}=r;ui(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ca(e,u,r,i)));o.push(...l),a=pC({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ca(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ca(e,d,r,i)));o.push(...u),a=dC({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=uC({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(qx)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function dC({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),m;d&&r.length>0&&(!g||i.length===0)?m="fromText":g&&i.length>0&&(!d||r.length===0)?m="fromImage":d&&g&&a&&(m="fromText");let f=c.global(`${t}.fromType`,m),h=[];f.value==="fromText"?h.push(...r):f.value==="fromImage"?h.push(...i):h.push(...r,...i);let b=r.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),v=i.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),k=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),y=b.find(C=>C.id===k.value)??b[0],I=v.find(C=>C.id===x.value)??v[0],M=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,w=a&&E,$=h.length>1&&S;if((w||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(w&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:Xr(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:Xr(e,"fromText.label"),icon:f.value!=="fromText"&&Fc(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:Xr(e,"fromImage.label"),icon:f.value!=="fromImage"&&Fc(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?b:f.value==="fromImage"?v:[...b,...v];M!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:Xr(e,"providerSelect.label"),values:C,value:A,setValue:j=>{M.setValue(j.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function pC({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:p.name??p.id,builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:Xr(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function Fc(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Fa(r.id),!1).value)}var gC=cC,fC=typeof global=="object"&&global&&global.Object===Object&&global,Sd=fC,yC=typeof self=="object"&&self&&self.Object===Object&&self,mC=Sd||yC||Function("return this")(),re=mC,bC=re.Symbol,xt=bC,$d=Object.prototype,hC=$d.hasOwnProperty,vC=$d.toString,Kr=xt?xt.toStringTag:void 0;function wC(e){var t=hC.call(e,Kr),r=e[Kr];try{e[Kr]=void 0;var i=!0}catch{}var n=vC.call(e);return i&&(t?e[Kr]=r:delete e[Kr]),n}var kC=wC,xC=Object.prototype,IC=xC.toString;function CC(e){return IC.call(e)}var AC=CC,MC="[object Null]",jC="[object Undefined]",Vc=xt?xt.toStringTag:void 0;function SC(e){return e==null?e===void 0?jC:MC:Vc&&Vc in Object(e)?kC(e):AC(e)}var pi=SC;function $C(e){return e!=null&&typeof e=="object"}var Va=$C,eX=Array.isArray;function EC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ed=EC,_C="[object AsyncFunction]",LC="[object Function]",TC="[object GeneratorFunction]",OC="[object Proxy]";function NC(e){if(!Ed(e))return!1;var t=pi(e);return t==LC||t==TC||t==_C||t==OC}var DC=NC,PC=re["__core-js_shared__"],Aa=PC,Bc=function(){var e=/[^.]+$/.exec(Aa&&Aa.keys&&Aa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zC(e){return!!Bc&&Bc in e}var UC=zC,RC=Function.prototype,FC=RC.toString;function VC(e){if(e!=null){try{return FC.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=VC,BC=/[\\^$.*+?()[\]{}|]/g,qC=/^\[object .+?Constructor\]$/,GC=Function.prototype,YC=Object.prototype,HC=GC.toString,ZC=YC.hasOwnProperty,QC=RegExp("^"+HC.call(ZC).replace(BC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function WC(e){if(!Ed(e)||UC(e))return!1;var t=DC(e)?QC:qC;return t.test(Ne(e))}var KC=WC;function JC(e,t){return e?.[t]}var XC=JC;function eA(e,t){var r=XC(e,t);return KC(r)?r:void 0}var jt=eA,tA=jt(re,"WeakMap"),Ta=tA;function rA(e,t){return e===t||e!==e&&t!==t}var iA=rA,nA=9007199254740991;function oA(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=nA}var aA=oA,tX=Object.prototype,lA="[object Arguments]";function sA(e){return Va(e)&&pi(e)==lA}var qc=sA,_d=Object.prototype,uA=_d.hasOwnProperty,cA=_d.propertyIsEnumerable,rX=qc(function(){return arguments}())?qc:function(e){return Va(e)&&uA.call(e,"callee")&&!cA.call(e,"callee")},Ld=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gc=Ld&&typeof module=="object"&&module&&!module.nodeType&&module,dA=Gc&&Gc.exports===Ld,Yc=dA?re.Buffer:void 0,iX=Yc?Yc.isBuffer:void 0,pA="[object Arguments]",gA="[object Array]",fA="[object Boolean]",yA="[object Date]",mA="[object Error]",bA="[object Function]",hA="[object Map]",vA="[object Number]",wA="[object Object]",kA="[object RegExp]",xA="[object Set]",IA="[object String]",CA="[object WeakMap]",AA="[object ArrayBuffer]",MA="[object DataView]",jA="[object Float32Array]",SA="[object Float64Array]",$A="[object Int8Array]",EA="[object Int16Array]",_A="[object Int32Array]",LA="[object Uint8Array]",TA="[object Uint8ClampedArray]",OA="[object Uint16Array]",NA="[object Uint32Array]",P={};P[jA]=P[SA]=P[$A]=P[EA]=P[_A]=P[LA]=P[TA]=P[OA]=P[NA]=!0;P[pA]=P[gA]=P[AA]=P[fA]=P[MA]=P[yA]=P[mA]=P[bA]=P[hA]=P[vA]=P[wA]=P[kA]=P[xA]=P[IA]=P[CA]=!1;function DA(e){return Va(e)&&aA(e.length)&&!!P[pi(e)]}var PA=DA;function zA(e){return function(t){return e(t)}}var UA=zA,Td=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Td&&typeof module=="object"&&module&&!module.nodeType&&module,RA=ri&&ri.exports===Td,Ma=RA&&Sd.process,FA=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Ma&&Ma.binding&&Ma.binding("util")}catch{}}(),Hc=FA,Zc=Hc&&Hc.isTypedArray,nX=Zc?UA(Zc):PA,VA=Object.prototype,oX=VA.hasOwnProperty;function BA(e,t){return function(r){return e(t(r))}}var qA=BA,aX=qA(Object.keys,Object),GA=Object.prototype,lX=GA.hasOwnProperty,YA=jt(Object,"create"),oi=YA;function HA(){this.__data__=oi?oi(null):{},this.size=0}var ZA=HA;function QA(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var WA=QA,KA="__lodash_hash_undefined__",JA=Object.prototype,XA=JA.hasOwnProperty;function eM(e){var t=this.__data__;if(oi){var r=t[e];return r===KA?void 0:r}return XA.call(t,e)?t[e]:void 0}var tM=eM,rM=Object.prototype,iM=rM.hasOwnProperty;function nM(e){var t=this.__data__;return oi?t[e]!==void 0:iM.call(t,e)}var oM=nM,aM="__lodash_hash_undefined__";function lM(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=oi&&t===void 0?aM:t,this}var sM=lM;function St(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}St.prototype.clear=ZA;St.prototype.delete=WA;St.prototype.get=tM;St.prototype.has=oM;St.prototype.set=sM;var Qc=St;function uM(){this.__data__=[],this.size=0}var cM=uM;function dM(e,t){for(var r=e.length;r--;)if(iA(e[r][0],t))return r;return-1}var Kn=dM,pM=Array.prototype,gM=pM.splice;function fM(e){var t=this.__data__,r=Kn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():gM.call(t,r,1),--this.size,!0}var yM=fM;function mM(e){var t=this.__data__,r=Kn(t,e);return r<0?void 0:t[r][1]}var bM=mM;function hM(e){return Kn(this.__data__,e)>-1}var vM=hM;function wM(e,t){var r=this.__data__,i=Kn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var kM=wM;function $t(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}$t.prototype.clear=cM;$t.prototype.delete=yM;$t.prototype.get=bM;$t.prototype.has=vM;$t.prototype.set=kM;var Jn=$t,xM=jt(re,"Map"),ai=xM;function IM(){this.size=0,this.__data__={hash:new Qc,map:new(ai||Jn),string:new Qc}}var CM=IM;function AM(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var MM=AM;function jM(e,t){var r=e.__data__;return MM(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Xn=jM;function SM(e){var t=Xn(this,e).delete(e);return this.size-=t?1:0,t}var $M=SM;function EM(e){return Xn(this,e).get(e)}var _M=EM;function LM(e){return Xn(this,e).has(e)}var TM=LM;function OM(e,t){var r=Xn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var NM=OM;function Et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Et.prototype.clear=CM;Et.prototype.delete=$M;Et.prototype.get=_M;Et.prototype.has=TM;Et.prototype.set=NM;var Od=Et;function DM(){this.__data__=new Jn,this.size=0}var PM=DM;function zM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var UM=zM;function RM(e){return this.__data__.get(e)}var FM=RM;function VM(e){return this.__data__.has(e)}var BM=VM,qM=200;function GM(e,t){var r=this.__data__;if(r instanceof Jn){var i=r.__data__;if(!ai||i.length<qM-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Od(i)}return r.set(e,t),this.size=r.size,this}var YM=GM;function gi(e){var t=this.__data__=new Jn(e);this.size=t.size}gi.prototype.clear=PM;gi.prototype.delete=UM;gi.prototype.get=FM;gi.prototype.has=BM;gi.prototype.set=YM;var HM=Object.prototype,sX=HM.propertyIsEnumerable,ZM=jt(re,"DataView"),Oa=ZM,QM=jt(re,"Promise"),Na=QM,WM=jt(re,"Set"),Da=WM,Wc="[object Map]",KM="[object Object]",Kc="[object Promise]",Jc="[object Set]",Xc="[object WeakMap]",ed="[object DataView]",JM=Ne(Oa),XM=Ne(ai),ej=Ne(Na),tj=Ne(Da),rj=Ne(Ta),vt=pi;(Oa&&vt(new Oa(new ArrayBuffer(1)))!=ed||ai&&vt(new ai)!=Wc||Na&&vt(Na.resolve())!=Kc||Da&&vt(new Da)!=Jc||Ta&&vt(new Ta)!=Xc)&&(vt=function(e){var t=pi(e),r=t==KM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case JM:return ed;case XM:return Wc;case ej:return Kc;case tj:return Jc;case rj:return Xc}return t});var uX=re.Uint8Array,ij="__lodash_hash_undefined__";function nj(e){return this.__data__.set(e,ij),this}var oj=nj;function aj(e){return this.__data__.has(e)}var lj=aj;function Pa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Od;++t<r;)this.add(e[t])}Pa.prototype.add=Pa.prototype.push=oj;Pa.prototype.has=lj;var td=xt?xt.prototype:void 0,cX=td?td.valueOf:void 0,sj=Object.prototype,dX=sj.hasOwnProperty,uj=Object.prototype,pX=uj.hasOwnProperty,gX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),fX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),yX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function cj(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function Nd(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return cj(i,t)}function dj(e){return e==null?[]:Array.isArray(e)?e:[e]}var rd=dj;function pj(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function gj(e){return typeof e?.translate=="function"}function fj(e,t,r){return e&&pj(e)&&gj(e.i18n)?e.i18n.translate(t):r}var ei="@imgly/plugin-ai-video-generation-web";var eo="createVideo",id=`ly.img.${eo}`,yj=`ly.img.plugin-ai-video-generation-web.quickAction.${eo}`,nd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${eo}`;function mj(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${eo}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var bj=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),ui(e,{en:{[`${nd}`]:"Create Video...",[`${nd}.description`]:"Create a video from the image"}}),{id,type:"quick",kind:"image",label:`${yj}`,enable:nI(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${id}.button`,{label:mj(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await Nd(a,r,{throwErrorIfSvg:!0});e.ui.openPanel("ly.img.ai.video-generation"),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue(`${n}.image_url`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),hj=bj,to="animateBetweenImages",od=`ly.img.${to}`,vj=`ly.img.plugin-ai-video-generation-web.quickAction.${to}`,ad=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${to}`;function wj(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${to}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var kj=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),ui(e,{en:{[`${ad}`]:"Animate Between Images...",[`${ad}.description`]:"Create a video transitioning between two images"}}),{id:od,type:"quick",kind:"image",label:`${vj}`,enable:t=>{let r=t.engine.block.findAllSelected();return r==null||r.length!==2?!1:r.every(i=>{if(t.engine.block.getType(i)!=="//ly.img.ubq/graphic"&&!t.engine.block.supportsFill(i))return!1;let n=t.engine.block.getFill(i);return!(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${od}.button`,{label:wj(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let a=r.block.findAllSelected();if(a.length!==2)throw new Error("Exactly 2 images must be selected");let[o,s]=await Promise.all(a.map(l=>Nd(l,r,{throwErrorIfSvg:!0}))),c="fal-ai/veo3.1/fast/first-last-frame-to-video";e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",c),e.ui.experimental.setGlobalStateValue(`${c}.first_frame_url`,o),e.ui.experimental.setGlobalStateValue(`${c}.last_frame_url`,s),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.openPanel("ly.img.ai.video-generation"),i()}catch(a){console.error("Error opening video generation panel:",a),e.ui.showNotification({type:"error",message:a.message||"Failed to open video generation panel. Please try again.",duration:"medium"})}}})}}),xj=kj,be="ly.img.ai.video-generation";function Ij(e){return{async initialize({cesdk:t}){if(t==null)return;eI(t,ei,"1.69.0-nightly.20260131"),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction.providerSelect",!0);let r=`${ei}.action.label`;ui(t,{en:{[`panel.${be}`]:"Video Generation",[`${be}.dock.label`]:"AI Video",[r]:"Generate Video","ly.img.ai.video.generation.hint":"Video generation may take up to a few minutes. This panel can be closed and you'll be notified when it's ready."}}),Cj(e);let i=Hn.get().register({type:"plugin",sceneMode:"Video",id:ei,pluginId:ei,label:fj(t,r,"Generate Video"),labelKey:r,meta:{panelId:be},execute:()=>{t.ui.isPanelOpen(be)?t.ui.closePanel(be):t.ui.openPanel(be)}}),n=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,o=await Promise.all(rd(n).map(l=>l({cesdk:t}))),s=await Promise.all(rd(a).map(l=>l({cesdk:t})));if(!(o.length>0||s.length>0)){i();return}let c=await gC("video",{fromText:o,fromImage:s},{cesdk:t},e);Hn.get().register(hj({cesdk:t})),Hn.get().register(xj({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(be,c.panel.builderRenderFunction),rI({cesdk:t,panelId:be})):i()}}}function Cj(e){e.debug&&(e.providers?.text2video!=null&&e.text2video!=null&&console.warn("[VideoGeneration]: Both `providers.text2video` and `text2video` configuration is provided. Since `text2video` is deprecated, only `providers.text2video` will be used."),e.providers?.image2video!=null&&e.image2video!=null&&console.warn("[VideoGeneration]: Both `providers.image2video` and `image2video` configuration is provided. Since `image2video` is deprecated, only `providers.image2video` will be used."))}var Aj=Ij,Mj=e=>({name:ei,version:"1.69.0-nightly.20260131",...Aj(e)}),Dd=Mj;var jj=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Tt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Tt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Tt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Tt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function Tt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Tt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Tt(n,t,a)}return e}var Sj=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},$j=typeof global=="object"&&global&&global.Object===Object&&global,hp=$j,Ej=typeof self=="object"&&self&&self.Object===Object&&self,_j=hp||Ej||Function("return this")(),ie=_j,Lj=ie.Symbol,Ot=Lj,vp=Object.prototype,Tj=vp.hasOwnProperty,Oj=vp.toString,fi=Ot?Ot.toStringTag:void 0;function Nj(e){var t=Tj.call(e,fi),r=e[fi];try{e[fi]=void 0;var i=!0}catch{}var n=Oj.call(e);return i&&(t?e[fi]=r:delete e[fi]),n}var Dj=Nj,Pj=Object.prototype,zj=Pj.toString;function Uj(e){return zj.call(e)}var Rj=Uj,Fj="[object Null]",Vj="[object Undefined]",Pd=Ot?Ot.toStringTag:void 0;function Bj(e){return e==null?e===void 0?Vj:Fj:Pd&&Pd in Object(e)?Dj(e):Rj(e)}var Ai=Bj;function qj(e){return e!=null&&typeof e=="object"}var ll=qj,vX=Array.isArray;function Gj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var wp=Gj,Yj="[object AsyncFunction]",Hj="[object Function]",Zj="[object GeneratorFunction]",Qj="[object Proxy]";function Wj(e){if(!wp(e))return!1;var t=Ai(e);return t==Hj||t==Zj||t==Yj||t==Qj}var Kj=Wj,Jj=ie["__core-js_shared__"],Ba=Jj,zd=function(){var e=/[^.]+$/.exec(Ba&&Ba.keys&&Ba.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Xj(e){return!!zd&&zd in e}var eS=Xj,tS=Function.prototype,rS=tS.toString;function iS(e){if(e!=null){try{return rS.call(e)}catch{}try{return e+""}catch{}}return""}var ze=iS,nS=/[\\^$.*+?()[\]{}|]/g,oS=/^\[object .+?Constructor\]$/,aS=Function.prototype,lS=Object.prototype,sS=aS.toString,uS=lS.hasOwnProperty,cS=RegExp("^"+sS.call(uS).replace(nS,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function dS(e){if(!wp(e)||eS(e))return!1;var t=Kj(e)?cS:oS;return t.test(ze(e))}var pS=dS;function gS(e,t){return e?.[t]}var fS=gS;function yS(e,t){var r=fS(e,t);return pS(r)?r:void 0}var Dt=yS,mS=Dt(ie,"WeakMap"),Wa=mS;function bS(e,t){return e===t||e!==e&&t!==t}var hS=bS,vS=9007199254740991;function wS(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=vS}var kS=wS,wX=Object.prototype,xS="[object Arguments]";function IS(e){return ll(e)&&Ai(e)==xS}var Ud=IS,kp=Object.prototype,CS=kp.hasOwnProperty,AS=kp.propertyIsEnumerable,kX=Ud(function(){return arguments}())?Ud:function(e){return ll(e)&&CS.call(e,"callee")&&!AS.call(e,"callee")},xp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Rd=xp&&typeof module=="object"&&module&&!module.nodeType&&module,MS=Rd&&Rd.exports===xp,Fd=MS?ie.Buffer:void 0,xX=Fd?Fd.isBuffer:void 0,jS="[object Arguments]",SS="[object Array]",$S="[object Boolean]",ES="[object Date]",_S="[object Error]",LS="[object Function]",TS="[object Map]",OS="[object Number]",NS="[object Object]",DS="[object RegExp]",PS="[object Set]",zS="[object String]",US="[object WeakMap]",RS="[object ArrayBuffer]",FS="[object DataView]",VS="[object Float32Array]",BS="[object Float64Array]",qS="[object Int8Array]",GS="[object Int16Array]",YS="[object Int32Array]",HS="[object Uint8Array]",ZS="[object Uint8ClampedArray]",QS="[object Uint16Array]",WS="[object Uint32Array]",z={};z[VS]=z[BS]=z[qS]=z[GS]=z[YS]=z[HS]=z[ZS]=z[QS]=z[WS]=!0;z[jS]=z[SS]=z[RS]=z[$S]=z[FS]=z[ES]=z[_S]=z[LS]=z[TS]=z[OS]=z[NS]=z[DS]=z[PS]=z[zS]=z[US]=!1;function KS(e){return ll(e)&&kS(e.length)&&!!z[Ai(e)]}var JS=KS;function XS(e){return function(t){return e(t)}}var e$=XS,Ip=typeof exports=="object"&&exports&&!exports.nodeType&&exports,vi=Ip&&typeof module=="object"&&module&&!module.nodeType&&module,t$=vi&&vi.exports===Ip,qa=t$&&hp.process,r$=function(){try{var e=vi&&vi.require&&vi.require("util").types;return e||qa&&qa.binding&&qa.binding("util")}catch{}}(),Vd=r$,Bd=Vd&&Vd.isTypedArray,IX=Bd?e$(Bd):JS,i$=Object.prototype,CX=i$.hasOwnProperty;function n$(e,t){return function(r){return e(t(r))}}var o$=n$,AX=o$(Object.keys,Object),a$=Object.prototype,MX=a$.hasOwnProperty,l$=Dt(Object,"create"),ki=l$;function s$(){this.__data__=ki?ki(null):{},this.size=0}var u$=s$;function c$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var d$=c$,p$="__lodash_hash_undefined__",g$=Object.prototype,f$=g$.hasOwnProperty;function y$(e){var t=this.__data__;if(ki){var r=t[e];return r===p$?void 0:r}return f$.call(t,e)?t[e]:void 0}var m$=y$,b$=Object.prototype,h$=b$.hasOwnProperty;function v$(e){var t=this.__data__;return ki?t[e]!==void 0:h$.call(t,e)}var w$=v$,k$="__lodash_hash_undefined__";function x$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ki&&t===void 0?k$:t,this}var I$=x$;function Pt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Pt.prototype.clear=u$;Pt.prototype.delete=d$;Pt.prototype.get=m$;Pt.prototype.has=w$;Pt.prototype.set=I$;var qd=Pt;function C$(){this.__data__=[],this.size=0}var A$=C$;function M$(e,t){for(var r=e.length;r--;)if(hS(e[r][0],t))return r;return-1}var ro=M$,j$=Array.prototype,S$=j$.splice;function $$(e){var t=this.__data__,r=ro(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():S$.call(t,r,1),--this.size,!0}var E$=$$;function _$(e){var t=this.__data__,r=ro(t,e);return r<0?void 0:t[r][1]}var L$=_$;function T$(e){return ro(this.__data__,e)>-1}var O$=T$;function N$(e,t){var r=this.__data__,i=ro(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var D$=N$;function zt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}zt.prototype.clear=A$;zt.prototype.delete=E$;zt.prototype.get=L$;zt.prototype.has=O$;zt.prototype.set=D$;var io=zt,P$=Dt(ie,"Map"),xi=P$;function z$(){this.size=0,this.__data__={hash:new qd,map:new(xi||io),string:new qd}}var U$=z$;function R$(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var F$=R$;function V$(e,t){var r=e.__data__;return F$(t)?r[typeof t=="string"?"string":"hash"]:r.map}var no=V$;function B$(e){var t=no(this,e).delete(e);return this.size-=t?1:0,t}var q$=B$;function G$(e){return no(this,e).get(e)}var Y$=G$;function H$(e){return no(this,e).has(e)}var Z$=H$;function Q$(e,t){var r=no(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var W$=Q$;function Ut(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ut.prototype.clear=U$;Ut.prototype.delete=q$;Ut.prototype.get=Y$;Ut.prototype.has=Z$;Ut.prototype.set=W$;var Cp=Ut;function K$(){this.__data__=new io,this.size=0}var J$=K$;function X$(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var eE=X$;function tE(e){return this.__data__.get(e)}var rE=tE;function iE(e){return this.__data__.has(e)}var nE=iE,oE=200;function aE(e,t){var r=this.__data__;if(r instanceof io){var i=r.__data__;if(!xi||i.length<oE-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Cp(i)}return r.set(e,t),this.size=r.size,this}var lE=aE;function Mi(e){var t=this.__data__=new io(e);this.size=t.size}Mi.prototype.clear=J$;Mi.prototype.delete=eE;Mi.prototype.get=rE;Mi.prototype.has=nE;Mi.prototype.set=lE;var sE=Object.prototype,jX=sE.propertyIsEnumerable,uE=Dt(ie,"DataView"),Ka=uE,cE=Dt(ie,"Promise"),Ja=cE,dE=Dt(ie,"Set"),Xa=dE,Gd="[object Map]",pE="[object Object]",Yd="[object Promise]",Hd="[object Set]",Zd="[object WeakMap]",Qd="[object DataView]",gE=ze(Ka),fE=ze(xi),yE=ze(Ja),mE=ze(Xa),bE=ze(Wa),_t=Ai;(Ka&&_t(new Ka(new ArrayBuffer(1)))!=Qd||xi&&_t(new xi)!=Gd||Ja&&_t(Ja.resolve())!=Yd||Xa&&_t(new Xa)!=Hd||Wa&&_t(new Wa)!=Zd)&&(_t=function(e){var t=Ai(e),r=t==pE?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case gE:return Qd;case fE:return Gd;case yE:return Yd;case mE:return Hd;case bE:return Zd}return t});var SX=ie.Uint8Array,hE="__lodash_hash_undefined__";function vE(e){return this.__data__.set(e,hE),this}var wE=vE;function kE(e){return this.__data__.has(e)}var xE=kE;function el(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Cp;++t<r;)this.add(e[t])}el.prototype.add=el.prototype.push=wE;el.prototype.has=xE;var Wd=Ot?Ot.prototype:void 0,$X=Wd?Wd.valueOf:void 0,IE=Object.prototype,EX=IE.hasOwnProperty,CE=Object.prototype,_X=CE.hasOwnProperty,LX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),TX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),OX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Ap(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function AE(e,t){let r=await Ap(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function ME(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Ap(i,t)}function jE(e){return e!==void 0}var SE=jE;function sl(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function ji(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function Si(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Mp=class jp{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new jp),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},$E=class Sp{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Sp),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function EE(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,h)=>s(l+1,f,h),m={...d,addDisposer:o};return p(u,m,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function _E({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var LE=_E,Ga="ly.img.ai.temp";async function TE(e,t){return e.engine.asset.findAllSources().includes(Ga)||e.engine.asset.addLocalSource(Ga),e.engine.asset.apply(Ga,t)}function OE(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function $p(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function NE(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function DE(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function ul(e){return e instanceof Error&&e.name==="AbortError"}function PE(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function zE(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
210
210
  Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
211
211
  This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
212
212
  Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function UE(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var Kd=UE;function RE(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),FE(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:OE(e)}))}function FE(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var Jd=RE,VE="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",cl=VE;function BE(e,t,r){switch(t){case"image":return qE(e,r[t]);case"video":return GE(e,r[t]);case"sticker":return YE(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function qE(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:cl,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function GE(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:cl,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function YE(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:cl,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var HE=BE;async function ZE(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return QE(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return WE(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return KE(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return JE(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function QE(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function WE(e,t,r){let i=t.width,n=t.height,a=await NE(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function KE(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function JE(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var Ep=ZE;function XE(e){switch(e.userFlow){case"placeholder":return t_(e);case"generation-only":return e_(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function e_(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(ke(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ke(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(ke(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=$p(),c=await Ep(s,n,a,o.output),l={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function t_(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(ke(t,r))return{status:"aborted"};let s=$p(),c=HE(s,a,o);if(i=await TE(t,c),ke(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),g=t.engine.block.duplicate(i);t.engine.block.setPositionX(g,d),t.engine.block.setPositionY(g,p),t.engine.block.destroy(i),i=g}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{blockIds:[i],middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ke(t,r,i))return{status:"aborted"};if(l.status!=="success")return l.middlewareOptions?.defaultPrevented()||i!=null&&t.engine.block.isValid(i)&&(l.status==="aborted"?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let u=await Ep(s,a,o,l.output);if(ke(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(u,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(u,i),ke(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(ul(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function ke(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var r_=XE;function dl(e){return`${e}.generating`}function i_(e){return`${e}.abort`}function n_(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:p}}=t,g=c.global(i_(d),()=>{}),m=c.global(dl(d),!1),f,h=m.value&&p,b=()=>{h&&(g.value(),m.setValue(!1),g.setValue(()=>{}))},v;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let x=i();v=a.requiredInputs.every(y=>!x.input[y])}let k=c.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["ly.img.plugin-ai-generation-web.generate","common.generate",`panel.${d}.generate`],isLoading:m.value,color:"accent",isDisabled:v,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let x=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:y})=>{l.ui.closeDialog(y),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:y})=>{b(),l.ui.closeDialog(y),k.setValue(void 0)}}});k.setValue(x)}}:void 0,onClick:async()=>{f=new AbortController;let x=f.signal;await(async()=>{try{m.setValue(!0),g.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let y=await r_({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:x,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(y.status==="aborted")return;if(y.status==="error"){Jd(y.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:y.middlewareOptions});return}if(y.status==="success"&&y.type==="sync"&&!y.middlewareOptions?.defaultPrevented()){let I=t.output.notification;o_(l,I,()=>({input:i().input,output:y.output}))}}catch(y){if(ul(y))return;Jd(y,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,m.setValue(!1),g.setValue(()=>{}),k.value!=null&&(l.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),u&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function o_(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var _p=n_;async function a_({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t;i.debug&&console.log(`Provider: ${o} (custom)`);let s=r.render;return c=>{let{state:l}=c,u=l(dl(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=s(c,{cesdk:a,isGenerating:u});return _p(c,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var l_=a_;function Lp(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function bi(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=Lp(e,t.$ref),n={...bi(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=bi(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>bi(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=bi(e,t[n],r));return i}return t}function s_(e){return bi(e,{...e})}function u_(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let c=i[o][s];if(typeof c!="object"||c===null)return r(`Item ${s} in ${o} must be an object, got ${c===null?"null":typeof c}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function c_(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return d_(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function d_(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=p_(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function p_(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var Tp=c_;function xe(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`,a=[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`];return i==="placeholder"&&a.push("ly.img.plugin-ai-generation-web.fallback.property.placeholder"),a}function Op(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function Np(e,t,r,i,n,a,o,s){if(t.schema==null)if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}else return;let c=t,l=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}switch(l){case"string":return t.schema.enum!=null?g_(e,c,r,i,n,a,o,s):Dp(e,c,r,i,n,a,o,s);case"boolean":return Pp(e,c,r,i,n,a,o,s);case"number":case"integer":return zp(e,c,r,i,n,a,o,s);case"object":return tl(e,c,r,i,n,a,o,s);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return f_(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function tl(e,t,r,i,n,a,o,s){let c=Tp(t.schema??{},i).reduce((l,u)=>{let d=Np(e,u,r,i,n,a,o,s);return d!=null&&(l[u.id]=d()),l},{});return()=>({id:t.id,type:"object",value:c})}function Dp(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),m=xe(t,r,o,"placeholder"),f=ji(u,n.cesdk),h=s?.properties?.[d]??a.properties?.[d],b=Si(d,h,f,t.schema.default,""),v=l(p,b),k=y_(t.schema),x=k?.component!=null&&k?.component==="TextArea"?"TextArea":"TextInput",y=m.length>0?m:void 0;return c[x](p,{inputLabel:g,...y&&{placeholder:y},...v}),()=>({id:t.id,type:"string",value:v.value})}function g_(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),{labels:m,icons:f}=Op(t.schema),h=(t.schema.enum??[]).map(I=>({id:I,label:xe(t,r,o,I),icon:f[I]})),b=ji(u,n.cesdk),v=s?.properties?.[d]??a.properties?.[d],k=Si(d,v,b,t.schema.default,h[0]?.id),x=k!=null?h.find(I=>I.id===k)??h[0]:h[0],y=l(p,x);return c.Select(p,{inputLabel:g,values:h,...y}),()=>({id:t.id,type:"string",value:y.value.id})}function Pp(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),m=ji(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],h=!!Si(d,f,m,t.schema.default,!1),b=l(p,h);return c.Checkbox(p,{inputLabel:g,...b}),()=>({id:t.id,type:"boolean",value:b.value})}function zp(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),m=t.schema.minimum,f=t.schema.maximum,h=ji(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],v=t.schema.default;v==null&&(m!=null?v=m:f!=null?v=f:v=0);let k=Si(d,b,h,v,v),x=l(p,k);if(m!=null&&f!=null){let y=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(y=t.schema["x-imgly-step"]),c.Slider(p,{inputLabel:g,min:m,max:f,step:y,...x})}else c.NumberInput(p,{inputLabel:g,min:m,max:f,...x});return()=>({id:t.id,type:"integer",value:x.value})}function f_(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),m=t.schema.anyOf??[],f=[],h={},b={},{labels:v,icons:k}=Op(t.schema),x=ji(u,n.cesdk),y=s?.properties?.[d]??a.properties?.[d],I={string:Dp,boolean:Pp,integer:zp,object:tl},M=(w,$)=>w.$ref?w.$ref.split("/").pop():$.split(".").pop()??$,A=(w,$)=>({id:w,label:xe(t,r,o,$),icon:k[$]??k[w]});m.forEach((w,$)=>{let C=`${r.id}.${d}.anyOf[${$}]`;if(w.$ref||w.title){let j=w.$ref?w.$ref.split("/").pop():w.title;h[C]=()=>tl(e,{id:C,schema:{...w,title:v[j]||j}},r,i,n,a,o,s),f.push(A(C,j))}else if(w.type==="string"&&w.enum)w.enum.forEach(j=>{f.push(A(j,j))});else if(w.type&&I[w.type]){let j=I[w.type];h[C]=()=>j(e,{id:C,schema:{...w,title:w.title}},r,i,n,a,o,s);let q=M(w,C);f.push(w.type==="string"&&!w.enum?{id:C,label:w.title||q,icon:w.title&&k[w.title]||k[q]}:A(C,q))}});let _=Si(d,y,x,t.schema.default,null),S=_!=null?f.find(w=>w.id===_)??f[0]:f[0],E=l(p,S);if(c.Select(p,{inputLabel:g,values:f,...E}),E.value.id in h){let w=h[E.value.id]();b[E.value.id]=w}return()=>{let w=b[E.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function y_(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var m_=Np,b_={"ly.img.plugin-ai-generation-web.fallback.property.placeholder":"","ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function Xd(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function h_(e,t,r,i){let n={},a=(l,u)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${u?`.${u}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,u,d)=>{l.forEach(p=>{let g=String(p),m=d[g]||Xd(g);n[a(u,g)]=m})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let u=o(l.schema);s(l.schema.enum,l.id,u)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let u=o(l.schema);l.schema.anyOf.forEach(d=>{let p=d;if(p.enum&&Array.isArray(p.enum))s(p.enum,l.id,u);else if(p.$ref){let g=p.$ref.split("/").pop();g&&u[g]&&(n[a(l.id,g)]=u[g])}else if(p.title){let g=p.title,m=u[g]||Xd(g);n[a(l.id,g)]=m}})}});let c={...b_,...n};Object.keys(c).length>0&&sl(r.cesdk,{en:c})}async function v_({options:e,provider:t,panelInput:r,config:i,providerConfig:n},a){let{id:o}=t;if(r==null)return;i.debug&&console.log(`Provider: ${o} (schema-based)`);let s=s_(r.document),c=Lp(s,r.inputReference);if(!u_(c,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let l=c,u=Tp(l,r);return h_(u,t,e,t.kind),d=>{let{builder:p}=d,g=[];p.Section(`${o}.schema.section`,{children:()=>{u.forEach(b=>{let v=m_(d,b,t,r,e,i,t.kind,n);v!=null&&(Array.isArray(v)?g.push(...v):g.push(v))})}});let m=g.map(b=>b()),f=b=>b.type==="object"?Object.entries(b.value).reduce((v,[k,x])=>(v[k]=f(x),v),{}):b.value,h=m.reduce((b,v)=>(b[v.id]=f(v),b),{});_p(d,t,a,()=>({input:h}),()=>r.getBlockInput(h),{...e,requiredInputs:l.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var w_=v_;async function k_(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return l_(e,t);case"schema":return w_(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var x_=k_;function I_(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new jj(o,r)),o}return i}var C_=I_;function A_(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var M_=A_,Ya="@imgly/plugin-ai-generation",j_=`
@@ -271,7 +271,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
271
271
  </symbol>
272
272
  </svg>
273
273
  `,S_=j_;function $_(e){return async(t,r,i)=>e.enable?(console.log(`[DRY RUN]: Requesting dummy AI generation for kind '${e.kind}' with inputs: `,JSON.stringify(t,void 0,2)),await Up(2e3),await E_(t,e,r)):i(t,r)}async function E_(e,t,r){switch(t.kind){case"image":return __(e,t,r);case"video":return L_(e,t,r);case"text":return T_(e,t,r);case"audio":return N_(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function __(e,t,{engine:r}){let i,n,a=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",o=a.match(/(\d+)x(\d+)/);if(o!=null)i=parseInt(o[1],10),n=parseInt(o[2],10);else if(t.blockInputs!=null&&(i=t.blockInputs.image.width,n=t.blockInputs.image.height),t.blockIds!=null&&Array.isArray(t.blockIds)&&t.blockIds.length>0){let[s]=t.blockIds,c=await ME(s,r),l=await AE(c,r);i=l.width,n=l.height}else i=512,n=512;return{kind:"image",url:`https://placehold.co/${i}x${n}/000000/FFF?text=${a.replace(" ","+").replace(`
274
- `,"+")}`}}async function L_(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function T_(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=yi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=yi(n,o)}else"customPrompt"in e?a=yi(n,"custom"):a=yi(n,"improved");else a=yi(n,"generated");return O_(a,r.abortSignal)}async function*O_(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await Up(100)}return{kind:"text",text:e}}function yi(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let c=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function N_(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:D_(220,i),duration:i,thumbnailUrl:void 0}}function D_(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return P_(i,44100)}function P_(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,h)=>{for(let b=0;b<h.length;b++)u.setUint8(f+b,h.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let h=Math.max(-1,Math.min(1,e[f])),b=Math.round(h*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),m="";for(let f=0;f<g.length;f++)m+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(m)}`}async function Up(e){return new Promise(t=>{setTimeout(t,e)})}var z_=$_,U_="USER_CANCEL";function R_(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=EE([...e.provider.output.middleware??[],...r?.middlewares??[],LE({enable:r?.debug}),z_({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:DE(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return ul(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===U_?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var F_=R_;async function V_(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Mp.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let m=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(m,!0)}})}let o=C_(a),s=M_(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=F_({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await x_(a,c);PE(r.cesdk,"@imgly/plugin-ai-generation",S_);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return $E.get().register(u),u}var Ha=V_;function B_(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new Sj(n,r,i);return r.engine.asset.addSource(a),a.id}var q_=B_;function hi(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function G_(e,t,r,i){let{cesdk:n}=r;sl(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ha(e,u,r,i)));o.push(...l),a=H_({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ha(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ha(e,d,r,i)));o.push(...u),a=Y_({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=q_({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(SE)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function Y_({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),m;d&&r.length>0&&(!g||i.length===0)?m="fromText":g&&i.length>0&&(!d||r.length===0)?m="fromImage":d&&g&&a&&(m="fromText");let f=c.global(`${t}.fromType`,m),h=[];f.value==="fromText"?h.push(...r):f.value==="fromImage"?h.push(...i):h.push(...r,...i);let b=r.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),v=i.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),k=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),y=b.find(C=>C.id===k.value)??b[0],I=v.find(C=>C.id===x.value)??v[0],M=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,w=a&&E,$=h.length>1&&S;if((w||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(w&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:hi(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:hi(e,"fromText.label"),icon:f.value!=="fromText"&&ep(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:hi(e,"fromImage.label"),icon:f.value!=="fromImage"&&ep(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?b:f.value==="fromImage"?v:[...b,...v];M!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:hi(e,"providerSelect.label"),values:C,value:A,setValue:j=>{M.setValue(j.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function H_({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:p.name??p.id,builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:hi(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function ep(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(dl(r.id),!1).value)}var tp=G_,Z_=typeof global=="object"&&global&&global.Object===Object&&global,Rp=Z_,Q_=typeof self=="object"&&self&&self.Object===Object&&self,W_=Rp||Q_||Function("return this")(),ne=W_,K_=ne.Symbol,Nt=K_,Fp=Object.prototype,J_=Fp.hasOwnProperty,X_=Fp.toString,mi=Nt?Nt.toStringTag:void 0;function eL(e){var t=J_.call(e,mi),r=e[mi];try{e[mi]=void 0;var i=!0}catch{}var n=X_.call(e);return i&&(t?e[mi]=r:delete e[mi]),n}var tL=eL,rL=Object.prototype,iL=rL.toString;function nL(e){return iL.call(e)}var oL=nL,aL="[object Null]",lL="[object Undefined]",rp=Nt?Nt.toStringTag:void 0;function sL(e){return e==null?e===void 0?lL:aL:rp&&rp in Object(e)?tL(e):oL(e)}var $i=sL;function uL(e){return e!=null&&typeof e=="object"}var pl=uL,NX=Array.isArray;function cL(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Vp=cL,dL="[object AsyncFunction]",pL="[object Function]",gL="[object GeneratorFunction]",fL="[object Proxy]";function yL(e){if(!Vp(e))return!1;var t=$i(e);return t==pL||t==gL||t==dL||t==fL}var mL=yL,bL=ne["__core-js_shared__"],Za=bL,ip=function(){var e=/[^.]+$/.exec(Za&&Za.keys&&Za.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function hL(e){return!!ip&&ip in e}var vL=hL,wL=Function.prototype,kL=wL.toString;function xL(e){if(e!=null){try{return kL.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=xL,IL=/[\\^$.*+?()[\]{}|]/g,CL=/^\[object .+?Constructor\]$/,AL=Function.prototype,ML=Object.prototype,jL=AL.toString,SL=ML.hasOwnProperty,$L=RegExp("^"+jL.call(SL).replace(IL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function EL(e){if(!Vp(e)||vL(e))return!1;var t=mL(e)?$L:CL;return t.test(Ue(e))}var _L=EL;function LL(e,t){return e?.[t]}var TL=LL;function OL(e,t){var r=TL(e,t);return _L(r)?r:void 0}var Rt=OL,NL=Rt(ne,"WeakMap"),rl=NL;function DL(e,t){return e===t||e!==e&&t!==t}var PL=DL,zL=9007199254740991;function UL(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=zL}var RL=UL,DX=Object.prototype,FL="[object Arguments]";function VL(e){return pl(e)&&$i(e)==FL}var np=VL,Bp=Object.prototype,BL=Bp.hasOwnProperty,qL=Bp.propertyIsEnumerable,PX=np(function(){return arguments}())?np:function(e){return pl(e)&&BL.call(e,"callee")&&!qL.call(e,"callee")},qp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,op=qp&&typeof module=="object"&&module&&!module.nodeType&&module,GL=op&&op.exports===qp,ap=GL?ne.Buffer:void 0,zX=ap?ap.isBuffer:void 0,YL="[object Arguments]",HL="[object Array]",ZL="[object Boolean]",QL="[object Date]",WL="[object Error]",KL="[object Function]",JL="[object Map]",XL="[object Number]",eT="[object Object]",tT="[object RegExp]",rT="[object Set]",iT="[object String]",nT="[object WeakMap]",oT="[object ArrayBuffer]",aT="[object DataView]",lT="[object Float32Array]",sT="[object Float64Array]",uT="[object Int8Array]",cT="[object Int16Array]",dT="[object Int32Array]",pT="[object Uint8Array]",gT="[object Uint8ClampedArray]",fT="[object Uint16Array]",yT="[object Uint32Array]",U={};U[lT]=U[sT]=U[uT]=U[cT]=U[dT]=U[pT]=U[gT]=U[fT]=U[yT]=!0;U[YL]=U[HL]=U[oT]=U[ZL]=U[aT]=U[QL]=U[WL]=U[KL]=U[JL]=U[XL]=U[eT]=U[tT]=U[rT]=U[iT]=U[nT]=!1;function mT(e){return pl(e)&&RL(e.length)&&!!U[$i(e)]}var bT=mT;function hT(e){return function(t){return e(t)}}var vT=hT,Gp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Gp&&typeof module=="object"&&module&&!module.nodeType&&module,wT=wi&&wi.exports===Gp,Qa=wT&&Rp.process,kT=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Qa&&Qa.binding&&Qa.binding("util")}catch{}}(),lp=kT,sp=lp&&lp.isTypedArray,UX=sp?vT(sp):bT,xT=Object.prototype,RX=xT.hasOwnProperty;function IT(e,t){return function(r){return e(t(r))}}var CT=IT,FX=CT(Object.keys,Object),AT=Object.prototype,VX=AT.hasOwnProperty,MT=Rt(Object,"create"),Ii=MT;function jT(){this.__data__=Ii?Ii(null):{},this.size=0}var ST=jT;function $T(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ET=$T,_T="__lodash_hash_undefined__",LT=Object.prototype,TT=LT.hasOwnProperty;function OT(e){var t=this.__data__;if(Ii){var r=t[e];return r===_T?void 0:r}return TT.call(t,e)?t[e]:void 0}var NT=OT,DT=Object.prototype,PT=DT.hasOwnProperty;function zT(e){var t=this.__data__;return Ii?t[e]!==void 0:PT.call(t,e)}var UT=zT,RT="__lodash_hash_undefined__";function FT(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ii&&t===void 0?RT:t,this}var VT=FT;function Ft(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ft.prototype.clear=ST;Ft.prototype.delete=ET;Ft.prototype.get=NT;Ft.prototype.has=UT;Ft.prototype.set=VT;var up=Ft;function BT(){this.__data__=[],this.size=0}var qT=BT;function GT(e,t){for(var r=e.length;r--;)if(PL(e[r][0],t))return r;return-1}var oo=GT,YT=Array.prototype,HT=YT.splice;function ZT(e){var t=this.__data__,r=oo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():HT.call(t,r,1),--this.size,!0}var QT=ZT;function WT(e){var t=this.__data__,r=oo(t,e);return r<0?void 0:t[r][1]}var KT=WT;function JT(e){return oo(this.__data__,e)>-1}var XT=JT;function eO(e,t){var r=this.__data__,i=oo(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var tO=eO;function Vt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Vt.prototype.clear=qT;Vt.prototype.delete=QT;Vt.prototype.get=KT;Vt.prototype.has=XT;Vt.prototype.set=tO;var ao=Vt,rO=Rt(ne,"Map"),Ci=rO;function iO(){this.size=0,this.__data__={hash:new up,map:new(Ci||ao),string:new up}}var nO=iO;function oO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var aO=oO;function lO(e,t){var r=e.__data__;return aO(t)?r[typeof t=="string"?"string":"hash"]:r.map}var lo=lO;function sO(e){var t=lo(this,e).delete(e);return this.size-=t?1:0,t}var uO=sO;function cO(e){return lo(this,e).get(e)}var dO=cO;function pO(e){return lo(this,e).has(e)}var gO=pO;function fO(e,t){var r=lo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var yO=fO;function Bt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Bt.prototype.clear=nO;Bt.prototype.delete=uO;Bt.prototype.get=dO;Bt.prototype.has=gO;Bt.prototype.set=yO;var Yp=Bt;function mO(){this.__data__=new ao,this.size=0}var bO=mO;function hO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var vO=hO;function wO(e){return this.__data__.get(e)}var kO=wO;function xO(e){return this.__data__.has(e)}var IO=xO,CO=200;function AO(e,t){var r=this.__data__;if(r instanceof ao){var i=r.__data__;if(!Ci||i.length<CO-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Yp(i)}return r.set(e,t),this.size=r.size,this}var MO=AO;function Ei(e){var t=this.__data__=new ao(e);this.size=t.size}Ei.prototype.clear=bO;Ei.prototype.delete=vO;Ei.prototype.get=kO;Ei.prototype.has=IO;Ei.prototype.set=MO;var jO=Object.prototype,BX=jO.propertyIsEnumerable,SO=Rt(ne,"DataView"),il=SO,$O=Rt(ne,"Promise"),nl=$O,EO=Rt(ne,"Set"),ol=EO,cp="[object Map]",_O="[object Object]",dp="[object Promise]",pp="[object Set]",gp="[object WeakMap]",fp="[object DataView]",LO=Ue(il),TO=Ue(Ci),OO=Ue(nl),NO=Ue(ol),DO=Ue(rl),Lt=$i;(il&&Lt(new il(new ArrayBuffer(1)))!=fp||Ci&&Lt(new Ci)!=cp||nl&&Lt(nl.resolve())!=dp||ol&&Lt(new ol)!=pp||rl&&Lt(new rl)!=gp)&&(Lt=function(e){var t=$i(e),r=t==_O?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case LO:return fp;case TO:return cp;case OO:return dp;case NO:return pp;case DO:return gp}return t});var qX=ne.Uint8Array,PO="__lodash_hash_undefined__";function zO(e){return this.__data__.set(e,PO),this}var UO=zO;function RO(e){return this.__data__.has(e)}var FO=RO;function al(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Yp;++t<r;)this.add(e[t])}al.prototype.add=al.prototype.push=UO;al.prototype.has=FO;var yp=Nt?Nt.prototype:void 0,GX=yp?yp.valueOf:void 0,VO=Object.prototype,YX=VO.hasOwnProperty,BO=Object.prototype,HX=BO.hasOwnProperty,ZX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),QX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),WX=new RegExp(/[A-Fa-f0-9]{2}/,"g");function qO(e){return e==null?[]:Array.isArray(e)?e:[e]}var mp=qO;function GO(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function YO(e){return typeof e?.translate=="function"}function bp(e,t,r){return e&&GO(e)&&YO(e.i18n)?e.i18n.translate(t):r}var we="@imgly/plugin-ai-audio-generation-web",De="ly.img.ai.audio-generation.speech",Pe="ly.img.ai.audio-generation.sound";function HO(e){return{async initialize({cesdk:t}){if(t==null)return;zE(t,we,"1.69.0-nightly.20260130"),t.feature.enable("ly.img.plugin-ai-audio-generation-web.speech.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-audio-generation-web.sound.providerSelect",!0);let r=`${we}.sound.action.label`,i=`${we}.speech.action.label`;sl(t,{en:{[`panel.${De}`]:"AI Voice",[`panel.${Pe}`]:"Sound Generation",[r]:"Generate Sound",[i]:"AI Voice"}}),ZO(e);let n=Mp.get(),a=n.register({type:"plugin",sceneMode:"Video",id:`${we}/sound`,pluginId:we,label:bp(t,r,"Generate Sound"),labelKey:r,meta:{panelId:Pe},execute:()=>{t.ui.isPanelOpen(Pe)?t.ui.closePanel(Pe):t.ui.openPanel(Pe)}}),o=n.register({type:"plugin",sceneMode:"Video",id:`${we}/speech`,pluginId:we,label:bp(t,i,"AI Voice"),labelKey:i,meta:{panelId:De},execute:()=>{t.ui.isPanelOpen(De)?t.ui.closePanel(De):t.ui.openPanel(De)}}),s=e.providers?.text2speech??e.text2speech,c=e.providers?.text2sound??e.text2sound,l=await Promise.all(mp(s).map(f=>f({cesdk:t}))),u=await Promise.all(mp(c).map(f=>f({cesdk:t}))),d=l.length>0,p=u.length>0;if(!d&&!p){a(),o();return}p||a(),d||o();let g=await tp("audio",l,{cesdk:t},e),m=await tp("audio",u,{cesdk:t},e);m.panel.builderRenderFunction!=null?(t.ui.registerPanel(Pe,m.panel.builderRenderFunction),Kd({cesdk:t,panelId:Pe})):a(),g.panel.builderRenderFunction!=null?(t.ui.registerPanel(De,g.panel.builderRenderFunction),Kd({cesdk:t,panelId:De})):o()}}}function ZO(e){e.debug&&(e.providers?.text2speech!=null&&e.text2speech!=null&&console.warn("[AudioGeneration]: Both `providers.text2speech` and `text2speech` configuration is provided. Since `text2speech` is deprecated, only `providers.text2speech` will be used."),e.providers?.text2sound!=null&&e.text2sound!=null&&console.warn("[AudioGeneration]: Both `providers.text2sound` and `text2sound` configuration is provided. Since `text2sound` is deprecated, only `providers.text2sound` will be used."))}var QO=HO,WO=e=>({name:we,version:"1.69.0-nightly.20260130",...QO(e)}),Hp=WO;var KO="@imgly/plugin-ai-text-generation",JO=`
274
+ `,"+")}`}}async function L_(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function T_(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=yi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=yi(n,o)}else"customPrompt"in e?a=yi(n,"custom"):a=yi(n,"improved");else a=yi(n,"generated");return O_(a,r.abortSignal)}async function*O_(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await Up(100)}return{kind:"text",text:e}}function yi(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let c=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function N_(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:D_(220,i),duration:i,thumbnailUrl:void 0}}function D_(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return P_(i,44100)}function P_(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,h)=>{for(let b=0;b<h.length;b++)u.setUint8(f+b,h.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let h=Math.max(-1,Math.min(1,e[f])),b=Math.round(h*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),m="";for(let f=0;f<g.length;f++)m+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(m)}`}async function Up(e){return new Promise(t=>{setTimeout(t,e)})}var z_=$_,U_="USER_CANCEL";function R_(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=EE([...e.provider.output.middleware??[],...r?.middlewares??[],LE({enable:r?.debug}),z_({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:DE(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return ul(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===U_?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var F_=R_;async function V_(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Mp.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let m=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(m,!0)}})}let o=C_(a),s=M_(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=F_({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await x_(a,c);PE(r.cesdk,"@imgly/plugin-ai-generation",S_);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return $E.get().register(u),u}var Ha=V_;function B_(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new Sj(n,r,i);return r.engine.asset.addSource(a),a.id}var q_=B_;function hi(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function G_(e,t,r,i){let{cesdk:n}=r;sl(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ha(e,u,r,i)));o.push(...l),a=H_({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ha(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ha(e,d,r,i)));o.push(...u),a=Y_({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=q_({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(SE)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function Y_({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),m;d&&r.length>0&&(!g||i.length===0)?m="fromText":g&&i.length>0&&(!d||r.length===0)?m="fromImage":d&&g&&a&&(m="fromText");let f=c.global(`${t}.fromType`,m),h=[];f.value==="fromText"?h.push(...r):f.value==="fromImage"?h.push(...i):h.push(...r,...i);let b=r.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),v=i.map(({provider:C,panel:j})=>({id:C.id,label:C.name??C.id,builderRenderFunction:j?.builderRenderFunction})),k=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),y=b.find(C=>C.id===k.value)??b[0],I=v.find(C=>C.id===x.value)??v[0],M=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,w=a&&E,$=h.length>1&&S;if((w||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(w&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:hi(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:hi(e,"fromText.label"),icon:f.value!=="fromText"&&ep(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:hi(e,"fromImage.label"),icon:f.value!=="fromImage"&&ep(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?b:f.value==="fromImage"?v:[...b,...v];M!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:hi(e,"providerSelect.label"),values:C,value:A,setValue:j=>{M.setValue(j.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function H_({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:p.name??p.id,builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:hi(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function ep(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(dl(r.id),!1).value)}var tp=G_,Z_=typeof global=="object"&&global&&global.Object===Object&&global,Rp=Z_,Q_=typeof self=="object"&&self&&self.Object===Object&&self,W_=Rp||Q_||Function("return this")(),ne=W_,K_=ne.Symbol,Nt=K_,Fp=Object.prototype,J_=Fp.hasOwnProperty,X_=Fp.toString,mi=Nt?Nt.toStringTag:void 0;function eL(e){var t=J_.call(e,mi),r=e[mi];try{e[mi]=void 0;var i=!0}catch{}var n=X_.call(e);return i&&(t?e[mi]=r:delete e[mi]),n}var tL=eL,rL=Object.prototype,iL=rL.toString;function nL(e){return iL.call(e)}var oL=nL,aL="[object Null]",lL="[object Undefined]",rp=Nt?Nt.toStringTag:void 0;function sL(e){return e==null?e===void 0?lL:aL:rp&&rp in Object(e)?tL(e):oL(e)}var $i=sL;function uL(e){return e!=null&&typeof e=="object"}var pl=uL,NX=Array.isArray;function cL(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Vp=cL,dL="[object AsyncFunction]",pL="[object Function]",gL="[object GeneratorFunction]",fL="[object Proxy]";function yL(e){if(!Vp(e))return!1;var t=$i(e);return t==pL||t==gL||t==dL||t==fL}var mL=yL,bL=ne["__core-js_shared__"],Za=bL,ip=function(){var e=/[^.]+$/.exec(Za&&Za.keys&&Za.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function hL(e){return!!ip&&ip in e}var vL=hL,wL=Function.prototype,kL=wL.toString;function xL(e){if(e!=null){try{return kL.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=xL,IL=/[\\^$.*+?()[\]{}|]/g,CL=/^\[object .+?Constructor\]$/,AL=Function.prototype,ML=Object.prototype,jL=AL.toString,SL=ML.hasOwnProperty,$L=RegExp("^"+jL.call(SL).replace(IL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function EL(e){if(!Vp(e)||vL(e))return!1;var t=mL(e)?$L:CL;return t.test(Ue(e))}var _L=EL;function LL(e,t){return e?.[t]}var TL=LL;function OL(e,t){var r=TL(e,t);return _L(r)?r:void 0}var Rt=OL,NL=Rt(ne,"WeakMap"),rl=NL;function DL(e,t){return e===t||e!==e&&t!==t}var PL=DL,zL=9007199254740991;function UL(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=zL}var RL=UL,DX=Object.prototype,FL="[object Arguments]";function VL(e){return pl(e)&&$i(e)==FL}var np=VL,Bp=Object.prototype,BL=Bp.hasOwnProperty,qL=Bp.propertyIsEnumerable,PX=np(function(){return arguments}())?np:function(e){return pl(e)&&BL.call(e,"callee")&&!qL.call(e,"callee")},qp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,op=qp&&typeof module=="object"&&module&&!module.nodeType&&module,GL=op&&op.exports===qp,ap=GL?ne.Buffer:void 0,zX=ap?ap.isBuffer:void 0,YL="[object Arguments]",HL="[object Array]",ZL="[object Boolean]",QL="[object Date]",WL="[object Error]",KL="[object Function]",JL="[object Map]",XL="[object Number]",eT="[object Object]",tT="[object RegExp]",rT="[object Set]",iT="[object String]",nT="[object WeakMap]",oT="[object ArrayBuffer]",aT="[object DataView]",lT="[object Float32Array]",sT="[object Float64Array]",uT="[object Int8Array]",cT="[object Int16Array]",dT="[object Int32Array]",pT="[object Uint8Array]",gT="[object Uint8ClampedArray]",fT="[object Uint16Array]",yT="[object Uint32Array]",U={};U[lT]=U[sT]=U[uT]=U[cT]=U[dT]=U[pT]=U[gT]=U[fT]=U[yT]=!0;U[YL]=U[HL]=U[oT]=U[ZL]=U[aT]=U[QL]=U[WL]=U[KL]=U[JL]=U[XL]=U[eT]=U[tT]=U[rT]=U[iT]=U[nT]=!1;function mT(e){return pl(e)&&RL(e.length)&&!!U[$i(e)]}var bT=mT;function hT(e){return function(t){return e(t)}}var vT=hT,Gp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Gp&&typeof module=="object"&&module&&!module.nodeType&&module,wT=wi&&wi.exports===Gp,Qa=wT&&Rp.process,kT=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Qa&&Qa.binding&&Qa.binding("util")}catch{}}(),lp=kT,sp=lp&&lp.isTypedArray,UX=sp?vT(sp):bT,xT=Object.prototype,RX=xT.hasOwnProperty;function IT(e,t){return function(r){return e(t(r))}}var CT=IT,FX=CT(Object.keys,Object),AT=Object.prototype,VX=AT.hasOwnProperty,MT=Rt(Object,"create"),Ii=MT;function jT(){this.__data__=Ii?Ii(null):{},this.size=0}var ST=jT;function $T(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ET=$T,_T="__lodash_hash_undefined__",LT=Object.prototype,TT=LT.hasOwnProperty;function OT(e){var t=this.__data__;if(Ii){var r=t[e];return r===_T?void 0:r}return TT.call(t,e)?t[e]:void 0}var NT=OT,DT=Object.prototype,PT=DT.hasOwnProperty;function zT(e){var t=this.__data__;return Ii?t[e]!==void 0:PT.call(t,e)}var UT=zT,RT="__lodash_hash_undefined__";function FT(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ii&&t===void 0?RT:t,this}var VT=FT;function Ft(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ft.prototype.clear=ST;Ft.prototype.delete=ET;Ft.prototype.get=NT;Ft.prototype.has=UT;Ft.prototype.set=VT;var up=Ft;function BT(){this.__data__=[],this.size=0}var qT=BT;function GT(e,t){for(var r=e.length;r--;)if(PL(e[r][0],t))return r;return-1}var oo=GT,YT=Array.prototype,HT=YT.splice;function ZT(e){var t=this.__data__,r=oo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():HT.call(t,r,1),--this.size,!0}var QT=ZT;function WT(e){var t=this.__data__,r=oo(t,e);return r<0?void 0:t[r][1]}var KT=WT;function JT(e){return oo(this.__data__,e)>-1}var XT=JT;function eO(e,t){var r=this.__data__,i=oo(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var tO=eO;function Vt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Vt.prototype.clear=qT;Vt.prototype.delete=QT;Vt.prototype.get=KT;Vt.prototype.has=XT;Vt.prototype.set=tO;var ao=Vt,rO=Rt(ne,"Map"),Ci=rO;function iO(){this.size=0,this.__data__={hash:new up,map:new(Ci||ao),string:new up}}var nO=iO;function oO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var aO=oO;function lO(e,t){var r=e.__data__;return aO(t)?r[typeof t=="string"?"string":"hash"]:r.map}var lo=lO;function sO(e){var t=lo(this,e).delete(e);return this.size-=t?1:0,t}var uO=sO;function cO(e){return lo(this,e).get(e)}var dO=cO;function pO(e){return lo(this,e).has(e)}var gO=pO;function fO(e,t){var r=lo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var yO=fO;function Bt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Bt.prototype.clear=nO;Bt.prototype.delete=uO;Bt.prototype.get=dO;Bt.prototype.has=gO;Bt.prototype.set=yO;var Yp=Bt;function mO(){this.__data__=new ao,this.size=0}var bO=mO;function hO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var vO=hO;function wO(e){return this.__data__.get(e)}var kO=wO;function xO(e){return this.__data__.has(e)}var IO=xO,CO=200;function AO(e,t){var r=this.__data__;if(r instanceof ao){var i=r.__data__;if(!Ci||i.length<CO-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Yp(i)}return r.set(e,t),this.size=r.size,this}var MO=AO;function Ei(e){var t=this.__data__=new ao(e);this.size=t.size}Ei.prototype.clear=bO;Ei.prototype.delete=vO;Ei.prototype.get=kO;Ei.prototype.has=IO;Ei.prototype.set=MO;var jO=Object.prototype,BX=jO.propertyIsEnumerable,SO=Rt(ne,"DataView"),il=SO,$O=Rt(ne,"Promise"),nl=$O,EO=Rt(ne,"Set"),ol=EO,cp="[object Map]",_O="[object Object]",dp="[object Promise]",pp="[object Set]",gp="[object WeakMap]",fp="[object DataView]",LO=Ue(il),TO=Ue(Ci),OO=Ue(nl),NO=Ue(ol),DO=Ue(rl),Lt=$i;(il&&Lt(new il(new ArrayBuffer(1)))!=fp||Ci&&Lt(new Ci)!=cp||nl&&Lt(nl.resolve())!=dp||ol&&Lt(new ol)!=pp||rl&&Lt(new rl)!=gp)&&(Lt=function(e){var t=$i(e),r=t==_O?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case LO:return fp;case TO:return cp;case OO:return dp;case NO:return pp;case DO:return gp}return t});var qX=ne.Uint8Array,PO="__lodash_hash_undefined__";function zO(e){return this.__data__.set(e,PO),this}var UO=zO;function RO(e){return this.__data__.has(e)}var FO=RO;function al(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Yp;++t<r;)this.add(e[t])}al.prototype.add=al.prototype.push=UO;al.prototype.has=FO;var yp=Nt?Nt.prototype:void 0,GX=yp?yp.valueOf:void 0,VO=Object.prototype,YX=VO.hasOwnProperty,BO=Object.prototype,HX=BO.hasOwnProperty,ZX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),QX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),WX=new RegExp(/[A-Fa-f0-9]{2}/,"g");function qO(e){return e==null?[]:Array.isArray(e)?e:[e]}var mp=qO;function GO(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function YO(e){return typeof e?.translate=="function"}function bp(e,t,r){return e&&GO(e)&&YO(e.i18n)?e.i18n.translate(t):r}var we="@imgly/plugin-ai-audio-generation-web",De="ly.img.ai.audio-generation.speech",Pe="ly.img.ai.audio-generation.sound";function HO(e){return{async initialize({cesdk:t}){if(t==null)return;zE(t,we,"1.69.0-nightly.20260131"),t.feature.enable("ly.img.plugin-ai-audio-generation-web.speech.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-audio-generation-web.sound.providerSelect",!0);let r=`${we}.sound.action.label`,i=`${we}.speech.action.label`;sl(t,{en:{[`panel.${De}`]:"AI Voice",[`panel.${Pe}`]:"Sound Generation",[r]:"Generate Sound",[i]:"AI Voice"}}),ZO(e);let n=Mp.get(),a=n.register({type:"plugin",sceneMode:"Video",id:`${we}/sound`,pluginId:we,label:bp(t,r,"Generate Sound"),labelKey:r,meta:{panelId:Pe},execute:()=>{t.ui.isPanelOpen(Pe)?t.ui.closePanel(Pe):t.ui.openPanel(Pe)}}),o=n.register({type:"plugin",sceneMode:"Video",id:`${we}/speech`,pluginId:we,label:bp(t,i,"AI Voice"),labelKey:i,meta:{panelId:De},execute:()=>{t.ui.isPanelOpen(De)?t.ui.closePanel(De):t.ui.openPanel(De)}}),s=e.providers?.text2speech??e.text2speech,c=e.providers?.text2sound??e.text2sound,l=await Promise.all(mp(s).map(f=>f({cesdk:t}))),u=await Promise.all(mp(c).map(f=>f({cesdk:t}))),d=l.length>0,p=u.length>0;if(!d&&!p){a(),o();return}p||a(),d||o();let g=await tp("audio",l,{cesdk:t},e),m=await tp("audio",u,{cesdk:t},e);m.panel.builderRenderFunction!=null?(t.ui.registerPanel(Pe,m.panel.builderRenderFunction),Kd({cesdk:t,panelId:Pe})):a(),g.panel.builderRenderFunction!=null?(t.ui.registerPanel(De,g.panel.builderRenderFunction),Kd({cesdk:t,panelId:De})):o()}}}function ZO(e){e.debug&&(e.providers?.text2speech!=null&&e.text2speech!=null&&console.warn("[AudioGeneration]: Both `providers.text2speech` and `text2speech` configuration is provided. Since `text2speech` is deprecated, only `providers.text2speech` will be used."),e.providers?.text2sound!=null&&e.text2sound!=null&&console.warn("[AudioGeneration]: Both `providers.text2sound` and `text2sound` configuration is provided. Since `text2sound` is deprecated, only `providers.text2sound` will be used."))}var QO=HO,WO=e=>({name:we,version:"1.69.0-nightly.20260131",...QO(e)}),Hp=WO;var KO="@imgly/plugin-ai-text-generation",JO=`
275
275
  <svg>
276
276
  <symbol
277
277
  fill="none"
@@ -583,7 +583,7 @@ ${t}
583
583
  </change_text_to>
584
584
 
585
585
  Please modify the original text according to the "Change Text to..." prompt. Only return the new, modified text without any additional commentary or explanation. Your entire response should be the modified text itself, with no other content.
586
- `}var jB=MB,Io="changeTextTo",Ie=`ly.img.${Io}`,Lg=`ly.img.plugin-ai-text-generation-web.quickAction.${Io}`,Tg=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Io}`;function wl(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Io}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var SB=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.changeTextTo",!0),Z(e,{en:{[`${Tg}`]:"Change Text to...",[`${Tg}.prompt`]:"Change Text to...",[`${Lg}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:Ie,type:"quick",kind:"text",scopes:["text/edit"],label:`${Lg}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${Ie}.prompt`,"");t.TextArea(`${Ie}.prompt`,{inputLabel:wl(l,"prompt"),placeholder:wl(l,"prompt.placeholder")[1],...u}),t.Separator(`${Ie}.separator`),r.builder.ButtonRow(`${Ie}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${Ie}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${Ie}.footer.apply`,{label:"common.apply",icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getString(p,"text/text");await a({prompt:jB(g,d),customPrompt:d}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to change text. Please try again.",duration:"medium"})}}})}})}else t.Button(`${Ie}.button`,{label:wl(l),icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),$B=SB,f1="@imgly/plugin-ai-text-generation-web",EB=["ly.img.improve","ly.img.fix","ly.img.shorter","ly.img.longer","ly.img.separator","ly.img.changeTone","ly.img.translate","ly.img.separator","ly.img.changeTextTo"];function _B(e){return{async initialize({cesdk:t}){if(t==null)return;uz(t,f1,"1.69.0-nightly.20260130"),t.feature.enable("ly.img.plugin-ai-text-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.providerSelect",!0),t.ui.addIconSet(KO,XO),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),LB(e);let r=Ol.get();r.register(GV({cesdk:t})),r.register(JV({cesdk:t})),r.register(oB({cesdk:t})),r.register(pB({cesdk:t})),r.register(hB({cesdk:t})),r.register(AB({cesdk:t})),r.register($B({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(zV(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await bU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await RU({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:EB});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:go}))}}}function LB(e){e.debug&&e.providers?.text2text!=null&&e.provider!=null&&console.warn("[TextGeneration]: Both `providers.text2text` and `provider` configuration is provided. Since `provider` is deprecated, only `providers.text2text` will be used.")}var TB=_B,OB=e=>({name:f1,version:"1.69.0-nightly.20260130",...TB(e)}),y1=OB;var NB=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;or(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{or(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return or(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),or(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function or(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=or(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=or(n,t,a)}return e}var DB=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},PB=typeof global=="object"&&global&&global.Object===Object&&global,H1=PB,zB=typeof self=="object"&&self&&self.Object===Object&&self,UB=H1||zB||Function("return this")(),le=UB,RB=le.Symbol,ar=RB,Z1=Object.prototype,FB=Z1.hasOwnProperty,VB=Z1.toString,Wi=ar?ar.toStringTag:void 0;function BB(e){var t=FB.call(e,Wi),r=e[Wi];try{e[Wi]=void 0;var i=!0}catch{}var n=VB.call(e);return i&&(t?e[Wi]=r:delete e[Wi]),n}var qB=BB,GB=Object.prototype,YB=GB.toString;function HB(e){return YB.call(e)}var ZB=HB,QB="[object Null]",WB="[object Undefined]",m1=ar?ar.toStringTag:void 0;function KB(e){return e==null?e===void 0?WB:QB:m1&&m1 in Object(e)?qB(e):ZB(e)}var un=KB;function JB(e){return e!=null&&typeof e=="object"}var is=JB,Dee=Array.isArray;function XB(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Q1=XB,eq="[object AsyncFunction]",tq="[object Function]",rq="[object GeneratorFunction]",iq="[object Proxy]";function nq(e){if(!Q1(e))return!1;var t=un(e);return t==tq||t==rq||t==eq||t==iq}var oq=nq,aq=le["__core-js_shared__"],Ul=aq,b1=function(){var e=/[^.]+$/.exec(Ul&&Ul.keys&&Ul.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lq(e){return!!b1&&b1 in e}var sq=lq,uq=Function.prototype,cq=uq.toString;function dq(e){if(e!=null){try{return cq.call(e)}catch{}try{return e+""}catch{}}return""}var qe=dq,pq=/[\\^$.*+?()[\]{}|]/g,gq=/^\[object .+?Constructor\]$/,fq=Function.prototype,yq=Object.prototype,mq=fq.toString,bq=yq.hasOwnProperty,hq=RegExp("^"+mq.call(bq).replace(pq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function vq(e){if(!Q1(e)||sq(e))return!1;var t=oq(e)?hq:gq;return t.test(qe(e))}var wq=vq;function kq(e,t){return e?.[t]}var xq=kq;function Iq(e,t){var r=xq(e,t);return wq(r)?r:void 0}var sr=Iq,Cq=sr(le,"WeakMap"),Yl=Cq;function Aq(e,t){return e===t||e!==e&&t!==t}var Mq=Aq,jq=9007199254740991;function Sq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jq}var $q=Sq,Pee=Object.prototype,Eq="[object Arguments]";function _q(e){return is(e)&&un(e)==Eq}var h1=_q,W1=Object.prototype,Lq=W1.hasOwnProperty,Tq=W1.propertyIsEnumerable,zee=h1(function(){return arguments}())?h1:function(e){return is(e)&&Lq.call(e,"callee")&&!Tq.call(e,"callee")},K1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,v1=K1&&typeof module=="object"&&module&&!module.nodeType&&module,Oq=v1&&v1.exports===K1,w1=Oq?le.Buffer:void 0,Uee=w1?w1.isBuffer:void 0,Nq="[object Arguments]",Dq="[object Array]",Pq="[object Boolean]",zq="[object Date]",Uq="[object Error]",Rq="[object Function]",Fq="[object Map]",Vq="[object Number]",Bq="[object Object]",qq="[object RegExp]",Gq="[object Set]",Yq="[object String]",Hq="[object WeakMap]",Zq="[object ArrayBuffer]",Qq="[object DataView]",Wq="[object Float32Array]",Kq="[object Float64Array]",Jq="[object Int8Array]",Xq="[object Int16Array]",eG="[object Int32Array]",tG="[object Uint8Array]",rG="[object Uint8ClampedArray]",iG="[object Uint16Array]",nG="[object Uint32Array]",V={};V[Wq]=V[Kq]=V[Jq]=V[Xq]=V[eG]=V[tG]=V[rG]=V[iG]=V[nG]=!0;V[Nq]=V[Dq]=V[Zq]=V[Pq]=V[Qq]=V[zq]=V[Uq]=V[Rq]=V[Fq]=V[Vq]=V[Bq]=V[qq]=V[Gq]=V[Yq]=V[Hq]=!1;function oG(e){return is(e)&&$q(e.length)&&!!V[un(e)]}var aG=oG;function lG(e){return function(t){return e(t)}}var sG=lG,J1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,rn=J1&&typeof module=="object"&&module&&!module.nodeType&&module,uG=rn&&rn.exports===J1,Rl=uG&&H1.process,cG=function(){try{var e=rn&&rn.require&&rn.require("util").types;return e||Rl&&Rl.binding&&Rl.binding("util")}catch{}}(),k1=cG,x1=k1&&k1.isTypedArray,Ree=x1?sG(x1):aG,dG=Object.prototype,Fee=dG.hasOwnProperty;function pG(e,t){return function(r){return e(t(r))}}var gG=pG,Vee=gG(Object.keys,Object),fG=Object.prototype,Bee=fG.hasOwnProperty,yG=sr(Object,"create"),on=yG;function mG(){this.__data__=on?on(null):{},this.size=0}var bG=mG;function hG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var vG=hG,wG="__lodash_hash_undefined__",kG=Object.prototype,xG=kG.hasOwnProperty;function IG(e){var t=this.__data__;if(on){var r=t[e];return r===wG?void 0:r}return xG.call(t,e)?t[e]:void 0}var CG=IG,AG=Object.prototype,MG=AG.hasOwnProperty;function jG(e){var t=this.__data__;return on?t[e]!==void 0:MG.call(t,e)}var SG=jG,$G="__lodash_hash_undefined__";function EG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=on&&t===void 0?$G:t,this}var _G=EG;function ur(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ur.prototype.clear=bG;ur.prototype.delete=vG;ur.prototype.get=CG;ur.prototype.has=SG;ur.prototype.set=_G;var I1=ur;function LG(){this.__data__=[],this.size=0}var TG=LG;function OG(e,t){for(var r=e.length;r--;)if(Mq(e[r][0],t))return r;return-1}var Co=OG,NG=Array.prototype,DG=NG.splice;function PG(e){var t=this.__data__,r=Co(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():DG.call(t,r,1),--this.size,!0}var zG=PG;function UG(e){var t=this.__data__,r=Co(t,e);return r<0?void 0:t[r][1]}var RG=UG;function FG(e){return Co(this.__data__,e)>-1}var VG=FG;function BG(e,t){var r=this.__data__,i=Co(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var qG=BG;function cr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}cr.prototype.clear=TG;cr.prototype.delete=zG;cr.prototype.get=RG;cr.prototype.has=VG;cr.prototype.set=qG;var Ao=cr,GG=sr(le,"Map"),an=GG;function YG(){this.size=0,this.__data__={hash:new I1,map:new(an||Ao),string:new I1}}var HG=YG;function ZG(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var QG=ZG;function WG(e,t){var r=e.__data__;return QG(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Mo=WG;function KG(e){var t=Mo(this,e).delete(e);return this.size-=t?1:0,t}var JG=KG;function XG(e){return Mo(this,e).get(e)}var eY=XG;function tY(e){return Mo(this,e).has(e)}var rY=tY;function iY(e,t){var r=Mo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nY=iY;function dr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}dr.prototype.clear=HG;dr.prototype.delete=JG;dr.prototype.get=eY;dr.prototype.has=rY;dr.prototype.set=nY;var X1=dr;function oY(){this.__data__=new Ao,this.size=0}var aY=oY;function lY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var sY=lY;function uY(e){return this.__data__.get(e)}var cY=uY;function dY(e){return this.__data__.has(e)}var pY=dY,gY=200;function fY(e,t){var r=this.__data__;if(r instanceof Ao){var i=r.__data__;if(!an||i.length<gY-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new X1(i)}return r.set(e,t),this.size=r.size,this}var yY=fY;function cn(e){var t=this.__data__=new Ao(e);this.size=t.size}cn.prototype.clear=aY;cn.prototype.delete=sY;cn.prototype.get=cY;cn.prototype.has=pY;cn.prototype.set=yY;var mY=Object.prototype,qee=mY.propertyIsEnumerable,bY=sr(le,"DataView"),Hl=bY,hY=sr(le,"Promise"),Zl=hY,vY=sr(le,"Set"),Ql=vY,C1="[object Map]",wY="[object Object]",A1="[object Promise]",M1="[object Set]",j1="[object WeakMap]",S1="[object DataView]",kY=qe(Hl),xY=qe(an),IY=qe(Zl),CY=qe(Ql),AY=qe(Yl),ir=un;(Hl&&ir(new Hl(new ArrayBuffer(1)))!=S1||an&&ir(new an)!=C1||Zl&&ir(Zl.resolve())!=A1||Ql&&ir(new Ql)!=M1||Yl&&ir(new Yl)!=j1)&&(ir=function(e){var t=un(e),r=t==wY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case kY:return S1;case xY:return C1;case IY:return A1;case CY:return M1;case AY:return j1}return t});var Gee=le.Uint8Array,MY="__lodash_hash_undefined__";function jY(e){return this.__data__.set(e,MY),this}var SY=jY;function $Y(e){return this.__data__.has(e)}var EY=$Y;function Wl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new X1;++t<r;)this.add(e[t])}Wl.prototype.add=Wl.prototype.push=SY;Wl.prototype.has=EY;var $1=ar?ar.prototype:void 0,Yee=$1?$1.valueOf:void 0,_Y=Object.prototype,Hee=_Y.hasOwnProperty,LY=Object.prototype,Zee=LY.hasOwnProperty,Qee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Wee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Kee=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function ef(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function TY(e,t){let r=await ef(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function OY(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return ef(i,t)}function NY(e){return e!==void 0}var DY=NY;function ns(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function dn(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function pn(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var tf=class rf{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new rf),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},PY=class nf{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new nf),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function zY(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,h)=>s(l+1,f,h),m={...d,addDisposer:o};return p(u,m,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function UY({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var RY=UY,Fl="ly.img.ai.temp";async function FY(e,t){return e.engine.asset.findAllSources().includes(Fl)||e.engine.asset.addLocalSource(Fl),e.engine.asset.apply(Fl,t)}function VY(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function of(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function BY(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function qY(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function os(e){return e instanceof Error&&e.name==="AbortError"}function GY(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function YY(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
586
+ `}var jB=MB,Io="changeTextTo",Ie=`ly.img.${Io}`,Lg=`ly.img.plugin-ai-text-generation-web.quickAction.${Io}`,Tg=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Io}`;function wl(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Io}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var SB=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.changeTextTo",!0),Z(e,{en:{[`${Tg}`]:"Change Text to...",[`${Tg}.prompt`]:"Change Text to...",[`${Lg}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:Ie,type:"quick",kind:"text",scopes:["text/edit"],label:`${Lg}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${Ie}.prompt`,"");t.TextArea(`${Ie}.prompt`,{inputLabel:wl(l,"prompt"),placeholder:wl(l,"prompt.placeholder")[1],...u}),t.Separator(`${Ie}.separator`),r.builder.ButtonRow(`${Ie}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${Ie}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${Ie}.footer.apply`,{label:"common.apply",icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getString(p,"text/text");await a({prompt:jB(g,d),customPrompt:d}),n(),c()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to change text. Please try again.",duration:"medium"})}}})}})}else t.Button(`${Ie}.button`,{label:wl(l),icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),$B=SB,f1="@imgly/plugin-ai-text-generation-web",EB=["ly.img.improve","ly.img.fix","ly.img.shorter","ly.img.longer","ly.img.separator","ly.img.changeTone","ly.img.translate","ly.img.separator","ly.img.changeTextTo"];function _B(e){return{async initialize({cesdk:t}){if(t==null)return;uz(t,f1,"1.69.0-nightly.20260131"),t.feature.enable("ly.img.plugin-ai-text-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.providerSelect",!0),t.ui.addIconSet(KO,XO),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),LB(e);let r=Ol.get();r.register(GV({cesdk:t})),r.register(JV({cesdk:t})),r.register(oB({cesdk:t})),r.register(pB({cesdk:t})),r.register(hB({cesdk:t})),r.register(AB({cesdk:t})),r.register($B({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(zV(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await bU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await RU({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:EB});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:go}))}}}function LB(e){e.debug&&e.providers?.text2text!=null&&e.provider!=null&&console.warn("[TextGeneration]: Both `providers.text2text` and `provider` configuration is provided. Since `provider` is deprecated, only `providers.text2text` will be used.")}var TB=_B,OB=e=>({name:f1,version:"1.69.0-nightly.20260131",...TB(e)}),y1=OB;var NB=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;or(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{or(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return or(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),or(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function or(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=or(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=or(n,t,a)}return e}var DB=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},PB=typeof global=="object"&&global&&global.Object===Object&&global,H1=PB,zB=typeof self=="object"&&self&&self.Object===Object&&self,UB=H1||zB||Function("return this")(),le=UB,RB=le.Symbol,ar=RB,Z1=Object.prototype,FB=Z1.hasOwnProperty,VB=Z1.toString,Wi=ar?ar.toStringTag:void 0;function BB(e){var t=FB.call(e,Wi),r=e[Wi];try{e[Wi]=void 0;var i=!0}catch{}var n=VB.call(e);return i&&(t?e[Wi]=r:delete e[Wi]),n}var qB=BB,GB=Object.prototype,YB=GB.toString;function HB(e){return YB.call(e)}var ZB=HB,QB="[object Null]",WB="[object Undefined]",m1=ar?ar.toStringTag:void 0;function KB(e){return e==null?e===void 0?WB:QB:m1&&m1 in Object(e)?qB(e):ZB(e)}var un=KB;function JB(e){return e!=null&&typeof e=="object"}var is=JB,Dee=Array.isArray;function XB(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Q1=XB,eq="[object AsyncFunction]",tq="[object Function]",rq="[object GeneratorFunction]",iq="[object Proxy]";function nq(e){if(!Q1(e))return!1;var t=un(e);return t==tq||t==rq||t==eq||t==iq}var oq=nq,aq=le["__core-js_shared__"],Ul=aq,b1=function(){var e=/[^.]+$/.exec(Ul&&Ul.keys&&Ul.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lq(e){return!!b1&&b1 in e}var sq=lq,uq=Function.prototype,cq=uq.toString;function dq(e){if(e!=null){try{return cq.call(e)}catch{}try{return e+""}catch{}}return""}var qe=dq,pq=/[\\^$.*+?()[\]{}|]/g,gq=/^\[object .+?Constructor\]$/,fq=Function.prototype,yq=Object.prototype,mq=fq.toString,bq=yq.hasOwnProperty,hq=RegExp("^"+mq.call(bq).replace(pq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function vq(e){if(!Q1(e)||sq(e))return!1;var t=oq(e)?hq:gq;return t.test(qe(e))}var wq=vq;function kq(e,t){return e?.[t]}var xq=kq;function Iq(e,t){var r=xq(e,t);return wq(r)?r:void 0}var sr=Iq,Cq=sr(le,"WeakMap"),Yl=Cq;function Aq(e,t){return e===t||e!==e&&t!==t}var Mq=Aq,jq=9007199254740991;function Sq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jq}var $q=Sq,Pee=Object.prototype,Eq="[object Arguments]";function _q(e){return is(e)&&un(e)==Eq}var h1=_q,W1=Object.prototype,Lq=W1.hasOwnProperty,Tq=W1.propertyIsEnumerable,zee=h1(function(){return arguments}())?h1:function(e){return is(e)&&Lq.call(e,"callee")&&!Tq.call(e,"callee")},K1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,v1=K1&&typeof module=="object"&&module&&!module.nodeType&&module,Oq=v1&&v1.exports===K1,w1=Oq?le.Buffer:void 0,Uee=w1?w1.isBuffer:void 0,Nq="[object Arguments]",Dq="[object Array]",Pq="[object Boolean]",zq="[object Date]",Uq="[object Error]",Rq="[object Function]",Fq="[object Map]",Vq="[object Number]",Bq="[object Object]",qq="[object RegExp]",Gq="[object Set]",Yq="[object String]",Hq="[object WeakMap]",Zq="[object ArrayBuffer]",Qq="[object DataView]",Wq="[object Float32Array]",Kq="[object Float64Array]",Jq="[object Int8Array]",Xq="[object Int16Array]",eG="[object Int32Array]",tG="[object Uint8Array]",rG="[object Uint8ClampedArray]",iG="[object Uint16Array]",nG="[object Uint32Array]",V={};V[Wq]=V[Kq]=V[Jq]=V[Xq]=V[eG]=V[tG]=V[rG]=V[iG]=V[nG]=!0;V[Nq]=V[Dq]=V[Zq]=V[Pq]=V[Qq]=V[zq]=V[Uq]=V[Rq]=V[Fq]=V[Vq]=V[Bq]=V[qq]=V[Gq]=V[Yq]=V[Hq]=!1;function oG(e){return is(e)&&$q(e.length)&&!!V[un(e)]}var aG=oG;function lG(e){return function(t){return e(t)}}var sG=lG,J1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,rn=J1&&typeof module=="object"&&module&&!module.nodeType&&module,uG=rn&&rn.exports===J1,Rl=uG&&H1.process,cG=function(){try{var e=rn&&rn.require&&rn.require("util").types;return e||Rl&&Rl.binding&&Rl.binding("util")}catch{}}(),k1=cG,x1=k1&&k1.isTypedArray,Ree=x1?sG(x1):aG,dG=Object.prototype,Fee=dG.hasOwnProperty;function pG(e,t){return function(r){return e(t(r))}}var gG=pG,Vee=gG(Object.keys,Object),fG=Object.prototype,Bee=fG.hasOwnProperty,yG=sr(Object,"create"),on=yG;function mG(){this.__data__=on?on(null):{},this.size=0}var bG=mG;function hG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var vG=hG,wG="__lodash_hash_undefined__",kG=Object.prototype,xG=kG.hasOwnProperty;function IG(e){var t=this.__data__;if(on){var r=t[e];return r===wG?void 0:r}return xG.call(t,e)?t[e]:void 0}var CG=IG,AG=Object.prototype,MG=AG.hasOwnProperty;function jG(e){var t=this.__data__;return on?t[e]!==void 0:MG.call(t,e)}var SG=jG,$G="__lodash_hash_undefined__";function EG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=on&&t===void 0?$G:t,this}var _G=EG;function ur(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ur.prototype.clear=bG;ur.prototype.delete=vG;ur.prototype.get=CG;ur.prototype.has=SG;ur.prototype.set=_G;var I1=ur;function LG(){this.__data__=[],this.size=0}var TG=LG;function OG(e,t){for(var r=e.length;r--;)if(Mq(e[r][0],t))return r;return-1}var Co=OG,NG=Array.prototype,DG=NG.splice;function PG(e){var t=this.__data__,r=Co(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():DG.call(t,r,1),--this.size,!0}var zG=PG;function UG(e){var t=this.__data__,r=Co(t,e);return r<0?void 0:t[r][1]}var RG=UG;function FG(e){return Co(this.__data__,e)>-1}var VG=FG;function BG(e,t){var r=this.__data__,i=Co(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var qG=BG;function cr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}cr.prototype.clear=TG;cr.prototype.delete=zG;cr.prototype.get=RG;cr.prototype.has=VG;cr.prototype.set=qG;var Ao=cr,GG=sr(le,"Map"),an=GG;function YG(){this.size=0,this.__data__={hash:new I1,map:new(an||Ao),string:new I1}}var HG=YG;function ZG(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var QG=ZG;function WG(e,t){var r=e.__data__;return QG(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Mo=WG;function KG(e){var t=Mo(this,e).delete(e);return this.size-=t?1:0,t}var JG=KG;function XG(e){return Mo(this,e).get(e)}var eY=XG;function tY(e){return Mo(this,e).has(e)}var rY=tY;function iY(e,t){var r=Mo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nY=iY;function dr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}dr.prototype.clear=HG;dr.prototype.delete=JG;dr.prototype.get=eY;dr.prototype.has=rY;dr.prototype.set=nY;var X1=dr;function oY(){this.__data__=new Ao,this.size=0}var aY=oY;function lY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var sY=lY;function uY(e){return this.__data__.get(e)}var cY=uY;function dY(e){return this.__data__.has(e)}var pY=dY,gY=200;function fY(e,t){var r=this.__data__;if(r instanceof Ao){var i=r.__data__;if(!an||i.length<gY-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new X1(i)}return r.set(e,t),this.size=r.size,this}var yY=fY;function cn(e){var t=this.__data__=new Ao(e);this.size=t.size}cn.prototype.clear=aY;cn.prototype.delete=sY;cn.prototype.get=cY;cn.prototype.has=pY;cn.prototype.set=yY;var mY=Object.prototype,qee=mY.propertyIsEnumerable,bY=sr(le,"DataView"),Hl=bY,hY=sr(le,"Promise"),Zl=hY,vY=sr(le,"Set"),Ql=vY,C1="[object Map]",wY="[object Object]",A1="[object Promise]",M1="[object Set]",j1="[object WeakMap]",S1="[object DataView]",kY=qe(Hl),xY=qe(an),IY=qe(Zl),CY=qe(Ql),AY=qe(Yl),ir=un;(Hl&&ir(new Hl(new ArrayBuffer(1)))!=S1||an&&ir(new an)!=C1||Zl&&ir(Zl.resolve())!=A1||Ql&&ir(new Ql)!=M1||Yl&&ir(new Yl)!=j1)&&(ir=function(e){var t=un(e),r=t==wY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case kY:return S1;case xY:return C1;case IY:return A1;case CY:return M1;case AY:return j1}return t});var Gee=le.Uint8Array,MY="__lodash_hash_undefined__";function jY(e){return this.__data__.set(e,MY),this}var SY=jY;function $Y(e){return this.__data__.has(e)}var EY=$Y;function Wl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new X1;++t<r;)this.add(e[t])}Wl.prototype.add=Wl.prototype.push=SY;Wl.prototype.has=EY;var $1=ar?ar.prototype:void 0,Yee=$1?$1.valueOf:void 0,_Y=Object.prototype,Hee=_Y.hasOwnProperty,LY=Object.prototype,Zee=LY.hasOwnProperty,Qee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Wee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Kee=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function ef(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function TY(e,t){let r=await ef(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function OY(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return ef(i,t)}function NY(e){return e!==void 0}var DY=NY;function ns(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function dn(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function pn(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var tf=class rf{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new rf),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},PY=class nf{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new nf),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function zY(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,h)=>s(l+1,f,h),m={...d,addDisposer:o};return p(u,m,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function UY({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var RY=UY,Fl="ly.img.ai.temp";async function FY(e,t){return e.engine.asset.findAllSources().includes(Fl)||e.engine.asset.addLocalSource(Fl),e.engine.asset.apply(Fl,t)}function VY(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function of(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function BY(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function qY(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function os(e){return e instanceof Error&&e.name==="AbortError"}function GY(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function YY(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
587
587
  Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
588
588
  This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
589
589
  Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function HY(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var ZY=HY;function QY(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),WY(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:VY(e)}))}function WY(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var E1=QY,KY="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",as=KY;function JY(e,t,r){switch(t){case"image":return XY(e,r[t]);case"video":return eH(e,r[t]);case"sticker":return tH(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function XY(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:as,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function eH(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:as,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function tH(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:as,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var rH=JY;async function iH(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return nH(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return oH(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return aH(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return lH(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function nH(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function oH(e,t,r){let i=t.width,n=t.height,a=await BY(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function aH(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function lH(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var af=iH;function sH(e){switch(e.userFlow){case"placeholder":return cH(e);case"generation-only":return uH(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function uH(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(je(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(je(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(je(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=of(),c=await af(s,n,a,o.output),l={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function cH(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(je(t,r))return{status:"aborted"};let s=of(),c=rH(s,a,o);if(i=await FY(t,c),je(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),g=t.engine.block.duplicate(i);t.engine.block.setPositionX(g,d),t.engine.block.setPositionY(g,p),t.engine.block.destroy(i),i=g}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{blockIds:[i],middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(je(t,r,i))return{status:"aborted"};if(l.status!=="success")return l.middlewareOptions?.defaultPrevented()||i!=null&&t.engine.block.isValid(i)&&(l.status==="aborted"?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let u=await af(s,a,o,l.output);if(je(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(u,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(u,i),je(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(os(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function je(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var dH=sH;function ls(e){return`${e}.generating`}function pH(e){return`${e}.abort`}function gH(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:p}}=t,g=c.global(pH(d),()=>{}),m=c.global(ls(d),!1),f,h=m.value&&p,b=()=>{h&&(g.value(),m.setValue(!1),g.setValue(()=>{}))},v;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let x=i();v=a.requiredInputs.every(y=>!x.input[y])}let k=c.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["ly.img.plugin-ai-generation-web.generate","common.generate",`panel.${d}.generate`],isLoading:m.value,color:"accent",isDisabled:v,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let x=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:y})=>{l.ui.closeDialog(y),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:y})=>{b(),l.ui.closeDialog(y),k.setValue(void 0)}}});k.setValue(x)}}:void 0,onClick:async()=>{f=new AbortController;let x=f.signal;await(async()=>{try{m.setValue(!0),g.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let y=await dH({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:x,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(y.status==="aborted")return;if(y.status==="error"){E1(y.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:y.middlewareOptions});return}if(y.status==="success"&&y.type==="sync"&&!y.middlewareOptions?.defaultPrevented()){let I=t.output.notification;fH(l,I,()=>({input:i().input,output:y.output}))}}catch(y){if(os(y))return;E1(y,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,m.setValue(!1),g.setValue(()=>{}),k.value!=null&&(l.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),u&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function fH(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var lf=gH;async function yH({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t;i.debug&&console.log(`Provider: ${o} (custom)`);let s=r.render;return c=>{let{state:l}=c,u=l(ls(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=s(c,{cesdk:a,isGenerating:u});return lf(c,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var mH=yH;function sf(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function Xi(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=sf(e,t.$ref),n={...Xi(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Xi(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Xi(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Xi(e,t[n],r));return i}return t}function bH(e){return Xi(e,{...e})}function hH(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let c=i[o][s];if(typeof c!="object"||c===null)return r(`Item ${s} in ${o} must be an object, got ${c===null?"null":typeof c}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function vH(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return wH(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function wH(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=kH(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function kH(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var uf=vH;function Se(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`,a=[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`];return i==="placeholder"&&a.push("ly.img.plugin-ai-generation-web.fallback.property.placeholder"),a}function cf(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function df(e,t,r,i,n,a,o,s){if(t.schema==null)if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}else return;let c=t,l=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}switch(l){case"string":return t.schema.enum!=null?xH(e,c,r,i,n,a,o,s):pf(e,c,r,i,n,a,o,s);case"boolean":return gf(e,c,r,i,n,a,o,s);case"number":case"integer":return ff(e,c,r,i,n,a,o,s);case"object":return Kl(e,c,r,i,n,a,o,s);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return IH(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function Kl(e,t,r,i,n,a,o,s){let c=uf(t.schema??{},i).reduce((l,u)=>{let d=df(e,u,r,i,n,a,o,s);return d!=null&&(l[u.id]=d()),l},{});return()=>({id:t.id,type:"object",value:c})}function pf(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=Se(t,r,o),m=Se(t,r,o,"placeholder"),f=dn(u,n.cesdk),h=s?.properties?.[d]??a.properties?.[d],b=pn(d,h,f,t.schema.default,""),v=l(p,b),k=CH(t.schema),x=k?.component!=null&&k?.component==="TextArea"?"TextArea":"TextInput",y=m.length>0?m:void 0;return c[x](p,{inputLabel:g,...y&&{placeholder:y},...v}),()=>({id:t.id,type:"string",value:v.value})}function xH(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=Se(t,r,o),{labels:m,icons:f}=cf(t.schema),h=(t.schema.enum??[]).map(I=>({id:I,label:Se(t,r,o,I),icon:f[I]})),b=dn(u,n.cesdk),v=s?.properties?.[d]??a.properties?.[d],k=pn(d,v,b,t.schema.default,h[0]?.id),x=k!=null?h.find(I=>I.id===k)??h[0]:h[0],y=l(p,x);return c.Select(p,{inputLabel:g,values:h,...y}),()=>({id:t.id,type:"string",value:y.value.id})}function gf(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=Se(t,r,o),m=dn(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],h=!!pn(d,f,m,t.schema.default,!1),b=l(p,h);return c.Checkbox(p,{inputLabel:g,...b}),()=>({id:t.id,type:"boolean",value:b.value})}function ff(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=Se(t,r,o),m=t.schema.minimum,f=t.schema.maximum,h=dn(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],v=t.schema.default;v==null&&(m!=null?v=m:f!=null?v=f:v=0);let k=pn(d,b,h,v,v),x=l(p,k);if(m!=null&&f!=null){let y=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(y=t.schema["x-imgly-step"]),c.Slider(p,{inputLabel:g,min:m,max:f,step:y,...x})}else c.NumberInput(p,{inputLabel:g,min:m,max:f,...x});return()=>({id:t.id,type:"integer",value:x.value})}function IH(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=Se(t,r,o),m=t.schema.anyOf??[],f=[],h={},b={},{labels:v,icons:k}=cf(t.schema),x=dn(u,n.cesdk),y=s?.properties?.[d]??a.properties?.[d],I={string:pf,boolean:gf,integer:ff,object:Kl},M=(w,$)=>w.$ref?w.$ref.split("/").pop():$.split(".").pop()??$,A=(w,$)=>({id:w,label:Se(t,r,o,$),icon:k[$]??k[w]});m.forEach((w,$)=>{let C=`${r.id}.${d}.anyOf[${$}]`;if(w.$ref||w.title){let j=w.$ref?w.$ref.split("/").pop():w.title;h[C]=()=>Kl(e,{id:C,schema:{...w,title:v[j]||j}},r,i,n,a,o,s),f.push(A(C,j))}else if(w.type==="string"&&w.enum)w.enum.forEach(j=>{f.push(A(j,j))});else if(w.type&&I[w.type]){let j=I[w.type];h[C]=()=>j(e,{id:C,schema:{...w,title:w.title}},r,i,n,a,o,s);let q=M(w,C);f.push(w.type==="string"&&!w.enum?{id:C,label:w.title||q,icon:w.title&&k[w.title]||k[q]}:A(C,q))}});let _=pn(d,y,x,t.schema.default,null),S=_!=null?f.find(w=>w.id===_)??f[0]:f[0],E=l(p,S);if(c.Select(p,{inputLabel:g,values:f,...E}),E.value.id in h){let w=h[E.value.id]();b[E.value.id]=w}return()=>{let w=b[E.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function CH(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var AH=df,MH={"ly.img.plugin-ai-generation-web.fallback.property.placeholder":"","ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function _1(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function jH(e,t,r,i){let n={},a=(l,u)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${u?`.${u}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,u,d)=>{l.forEach(p=>{let g=String(p),m=d[g]||_1(g);n[a(u,g)]=m})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let u=o(l.schema);s(l.schema.enum,l.id,u)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let u=o(l.schema);l.schema.anyOf.forEach(d=>{let p=d;if(p.enum&&Array.isArray(p.enum))s(p.enum,l.id,u);else if(p.$ref){let g=p.$ref.split("/").pop();g&&u[g]&&(n[a(l.id,g)]=u[g])}else if(p.title){let g=p.title,m=u[g]||_1(g);n[a(l.id,g)]=m}})}});let c={...MH,...n};Object.keys(c).length>0&&ns(r.cesdk,{en:c})}async function SH({options:e,provider:t,panelInput:r,config:i,providerConfig:n},a){let{id:o}=t;if(r==null)return;i.debug&&console.log(`Provider: ${o} (schema-based)`);let s=bH(r.document),c=sf(s,r.inputReference);if(!hH(c,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let l=c,u=uf(l,r);return jH(u,t,e,t.kind),d=>{let{builder:p}=d,g=[];p.Section(`${o}.schema.section`,{children:()=>{u.forEach(b=>{let v=AH(d,b,t,r,e,i,t.kind,n);v!=null&&(Array.isArray(v)?g.push(...v):g.push(v))})}});let m=g.map(b=>b()),f=b=>b.type==="object"?Object.entries(b.value).reduce((v,[k,x])=>(v[k]=f(x),v),{}):b.value,h=m.reduce((b,v)=>(b[v.id]=f(v),b),{});lf(d,t,a,()=>({input:h}),()=>r.getBlockInput(h),{...e,requiredInputs:l.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var $H=SH;async function EH(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return mH(e,t);case"schema":return $H(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var _H=EH;function LH(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new NB(o,r)),o}return i}var TH=LH;function OH(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var NH=OH,Vl="@imgly/plugin-ai-generation",DH=`
@@ -662,7 +662,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
662
662
 
663
663
  </symbol>
664
664
  </svg>
665
- `,aZ=oZ,lZ=typeof global=="object"&&global&&global.Object===Object&&global,mf=lZ,sZ=typeof self=="object"&&self&&self.Object===Object&&self,uZ=mf||sZ||Function("return this")(),se=uZ,cZ=se.Symbol,lr=cZ,bf=Object.prototype,dZ=bf.hasOwnProperty,pZ=bf.toString,Ji=lr?lr.toStringTag:void 0;function gZ(e){var t=dZ.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=pZ.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var fZ=gZ,yZ=Object.prototype,mZ=yZ.toString;function bZ(e){return mZ.call(e)}var hZ=bZ,vZ="[object Null]",wZ="[object Undefined]",T1=lr?lr.toStringTag:void 0;function kZ(e){return e==null?e===void 0?wZ:vZ:T1&&T1 in Object(e)?fZ(e):hZ(e)}var gn=kZ;function xZ(e){return e!=null&&typeof e=="object"}var ss=xZ,Jee=Array.isArray;function IZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var hf=IZ,CZ="[object AsyncFunction]",AZ="[object Function]",MZ="[object GeneratorFunction]",jZ="[object Proxy]";function SZ(e){if(!hf(e))return!1;var t=gn(e);return t==AZ||t==MZ||t==CZ||t==jZ}var $Z=SZ,EZ=se["__core-js_shared__"],ql=EZ,O1=function(){var e=/[^.]+$/.exec(ql&&ql.keys&&ql.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function _Z(e){return!!O1&&O1 in e}var LZ=_Z,TZ=Function.prototype,OZ=TZ.toString;function NZ(e){if(e!=null){try{return OZ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=NZ,DZ=/[\\^$.*+?()[\]{}|]/g,PZ=/^\[object .+?Constructor\]$/,zZ=Function.prototype,UZ=Object.prototype,RZ=zZ.toString,FZ=UZ.hasOwnProperty,VZ=RegExp("^"+RZ.call(FZ).replace(DZ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function BZ(e){if(!hf(e)||LZ(e))return!1;var t=$Z(e)?VZ:PZ;return t.test(Ge(e))}var qZ=BZ;function GZ(e,t){return e?.[t]}var YZ=GZ;function HZ(e,t){var r=YZ(e,t);return qZ(r)?r:void 0}var pr=HZ,ZZ=pr(se,"WeakMap"),Jl=ZZ;function QZ(e,t){return e===t||e!==e&&t!==t}var WZ=QZ,KZ=9007199254740991;function JZ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=KZ}var XZ=JZ,Xee=Object.prototype,eQ="[object Arguments]";function tQ(e){return ss(e)&&gn(e)==eQ}var N1=tQ,vf=Object.prototype,rQ=vf.hasOwnProperty,iQ=vf.propertyIsEnumerable,ete=N1(function(){return arguments}())?N1:function(e){return ss(e)&&rQ.call(e,"callee")&&!iQ.call(e,"callee")},wf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,D1=wf&&typeof module=="object"&&module&&!module.nodeType&&module,nQ=D1&&D1.exports===wf,P1=nQ?se.Buffer:void 0,tte=P1?P1.isBuffer:void 0,oQ="[object Arguments]",aQ="[object Array]",lQ="[object Boolean]",sQ="[object Date]",uQ="[object Error]",cQ="[object Function]",dQ="[object Map]",pQ="[object Number]",gQ="[object Object]",fQ="[object RegExp]",yQ="[object Set]",mQ="[object String]",bQ="[object WeakMap]",hQ="[object ArrayBuffer]",vQ="[object DataView]",wQ="[object Float32Array]",kQ="[object Float64Array]",xQ="[object Int8Array]",IQ="[object Int16Array]",CQ="[object Int32Array]",AQ="[object Uint8Array]",MQ="[object Uint8ClampedArray]",jQ="[object Uint16Array]",SQ="[object Uint32Array]",B={};B[wQ]=B[kQ]=B[xQ]=B[IQ]=B[CQ]=B[AQ]=B[MQ]=B[jQ]=B[SQ]=!0;B[oQ]=B[aQ]=B[hQ]=B[lQ]=B[vQ]=B[sQ]=B[uQ]=B[cQ]=B[dQ]=B[pQ]=B[gQ]=B[fQ]=B[yQ]=B[mQ]=B[bQ]=!1;function $Q(e){return ss(e)&&XZ(e.length)&&!!B[gn(e)]}var EQ=$Q;function _Q(e){return function(t){return e(t)}}var LQ=_Q,kf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nn=kf&&typeof module=="object"&&module&&!module.nodeType&&module,TQ=nn&&nn.exports===kf,Gl=TQ&&mf.process,OQ=function(){try{var e=nn&&nn.require&&nn.require("util").types;return e||Gl&&Gl.binding&&Gl.binding("util")}catch{}}(),z1=OQ,U1=z1&&z1.isTypedArray,rte=U1?LQ(U1):EQ,NQ=Object.prototype,ite=NQ.hasOwnProperty;function DQ(e,t){return function(r){return e(t(r))}}var PQ=DQ,nte=PQ(Object.keys,Object),zQ=Object.prototype,ote=zQ.hasOwnProperty,UQ=pr(Object,"create"),ln=UQ;function RQ(){this.__data__=ln?ln(null):{},this.size=0}var FQ=RQ;function VQ(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var BQ=VQ,qQ="__lodash_hash_undefined__",GQ=Object.prototype,YQ=GQ.hasOwnProperty;function HQ(e){var t=this.__data__;if(ln){var r=t[e];return r===qQ?void 0:r}return YQ.call(t,e)?t[e]:void 0}var ZQ=HQ,QQ=Object.prototype,WQ=QQ.hasOwnProperty;function KQ(e){var t=this.__data__;return ln?t[e]!==void 0:WQ.call(t,e)}var JQ=KQ,XQ="__lodash_hash_undefined__";function eW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?XQ:t,this}var tW=eW;function gr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}gr.prototype.clear=FQ;gr.prototype.delete=BQ;gr.prototype.get=ZQ;gr.prototype.has=JQ;gr.prototype.set=tW;var R1=gr;function rW(){this.__data__=[],this.size=0}var iW=rW;function nW(e,t){for(var r=e.length;r--;)if(WZ(e[r][0],t))return r;return-1}var jo=nW,oW=Array.prototype,aW=oW.splice;function lW(e){var t=this.__data__,r=jo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():aW.call(t,r,1),--this.size,!0}var sW=lW;function uW(e){var t=this.__data__,r=jo(t,e);return r<0?void 0:t[r][1]}var cW=uW;function dW(e){return jo(this.__data__,e)>-1}var pW=dW;function gW(e,t){var r=this.__data__,i=jo(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var fW=gW;function fr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}fr.prototype.clear=iW;fr.prototype.delete=sW;fr.prototype.get=cW;fr.prototype.has=pW;fr.prototype.set=fW;var So=fr,yW=pr(se,"Map"),sn=yW;function mW(){this.size=0,this.__data__={hash:new R1,map:new(sn||So),string:new R1}}var bW=mW;function hW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var vW=hW;function wW(e,t){var r=e.__data__;return vW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var $o=wW;function kW(e){var t=$o(this,e).delete(e);return this.size-=t?1:0,t}var xW=kW;function IW(e){return $o(this,e).get(e)}var CW=IW;function AW(e){return $o(this,e).has(e)}var MW=AW;function jW(e,t){var r=$o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var SW=jW;function yr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}yr.prototype.clear=bW;yr.prototype.delete=xW;yr.prototype.get=CW;yr.prototype.has=MW;yr.prototype.set=SW;var xf=yr;function $W(){this.__data__=new So,this.size=0}var EW=$W;function _W(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var LW=_W;function TW(e){return this.__data__.get(e)}var OW=TW;function NW(e){return this.__data__.has(e)}var DW=NW,PW=200;function zW(e,t){var r=this.__data__;if(r instanceof So){var i=r.__data__;if(!sn||i.length<PW-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new xf(i)}return r.set(e,t),this.size=r.size,this}var UW=zW;function fn(e){var t=this.__data__=new So(e);this.size=t.size}fn.prototype.clear=EW;fn.prototype.delete=LW;fn.prototype.get=OW;fn.prototype.has=DW;fn.prototype.set=UW;var RW=Object.prototype,ate=RW.propertyIsEnumerable,FW=pr(se,"DataView"),Xl=FW,VW=pr(se,"Promise"),es=VW,BW=pr(se,"Set"),ts=BW,F1="[object Map]",qW="[object Object]",V1="[object Promise]",B1="[object Set]",q1="[object WeakMap]",G1="[object DataView]",GW=Ge(Xl),YW=Ge(sn),HW=Ge(es),ZW=Ge(ts),QW=Ge(Jl),nr=gn;(Xl&&nr(new Xl(new ArrayBuffer(1)))!=G1||sn&&nr(new sn)!=F1||es&&nr(es.resolve())!=V1||ts&&nr(new ts)!=B1||Jl&&nr(new Jl)!=q1)&&(nr=function(e){var t=gn(e),r=t==qW?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case GW:return G1;case YW:return F1;case HW:return V1;case ZW:return B1;case QW:return q1}return t});var lte=se.Uint8Array,WW="__lodash_hash_undefined__";function KW(e){return this.__data__.set(e,WW),this}var JW=KW;function XW(e){return this.__data__.has(e)}var eK=XW;function rs(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new xf;++t<r;)this.add(e[t])}rs.prototype.add=rs.prototype.push=JW;rs.prototype.has=eK;var Y1=lr?lr.prototype:void 0,ste=Y1?Y1.valueOf:void 0,tK=Object.prototype,ute=tK.hasOwnProperty,rK=Object.prototype,cte=rK.hasOwnProperty,dte=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),pte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),gte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function iK(e){return e==null?[]:Array.isArray(e)?e:[e]}var nK=iK;function oK(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function aK(e){return typeof e?.translate=="function"}function lK(e,t,r){return e&&oK(e)&&aK(e.i18n)?e.i18n.translate(t):r}var tn="@imgly/plugin-ai-sticker-generation-web",Me="ly.img.ai.sticker-generation";function sK(e){return{async initialize({cesdk:t}){if(t==null)return;YY(t,tn,"1.69.0-nightly.20260130"),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromImage",!0);let r=tf.get(),i=`${tn}.action.label`;t.ui.addIconSet(nZ,aZ),ns(t,{en:{[`panel.${Me}`]:"Sticker Generation",[`${Me}.dock.label`]:"AI Sticker",[i]:"Generate Sticker"}});let n=r.register({type:"plugin",sceneMode:"Design",id:tn,pluginId:tn,label:lK(t,i,"Generate Sticker"),labelKey:i,meta:{panelId:Me},execute:()=>{t.ui.isPanelOpen(Me)?t.ui.closePanel(Me):t.ui.openPanel(Me)}}),a=e.providers?.text2sticker,o=await Promise.all(nK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await iZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Me,s.panel.builderRenderFunction),ZY({cesdk:t,panelId:Me})):n()}}}var uK=sK,cK=e=>({name:tn,version:"1.69.0-nightly.20260130",...uK(e)}),If=cK;var us=class{constructor(t,r,i=[]){this.id=t,this.assetsOrProvider=i,this.activeAssetIds=new Set,this.loaderDisposer={},this.cesdk=r}getCurrentAssets(){return typeof this.assetsOrProvider=="function"?this.assetsOrProvider():this.assetsOrProvider}async findAssets(t){let{page:r,perPage:i,locale:n="en",sortActiveFirst:a,query:o,tags:s,groups:c,excludeGroups:l,sortingOrder:u,sortKey:d}=t,p=[...this.getCurrentAssets()];if(c&&c.length>0&&(p=p.filter(k=>k.groups&&c.some(x=>k.groups?.includes(x)))),l&&l.length>0&&(p=p.filter(k=>!k.groups||!l.some(x=>k.groups?.includes(x)))),o){let k=o.toLowerCase();p=p.filter(x=>{let y=x.label?.[n]?.toLowerCase(),I=x.tags?.[n]||[];return y&&y.includes(k)||I.some(M=>M.toLowerCase().includes(k))})}if(s&&s.length>0){let k=Array.isArray(s)?s:[s];p=p.filter(x=>{let y=x.tags?.[n]||[];return k.some(I=>y.includes(I))})}a&&p.sort((k,x)=>{let y=this.activeAssetIds.has(k.id),I=this.activeAssetIds.has(x.id);return y&&!I?-1:!y&&I?1:0}),d&&d!=="id"?p.sort((k,x)=>{let y=k.meta?.[d],I=x.meta?.[d];return y===void 0?1:I===void 0?-1:typeof y=="string"&&typeof I=="string"?u==="Descending"?I.localeCompare(y):y.localeCompare(I):typeof y=="number"&&typeof I=="number"?u==="Descending"?I-y:y-I:0}):d==="id"&&p.sort((k,x)=>u==="Descending"?x.id.localeCompare(k.id):k.id.localeCompare(x.id));let g=p.length,m=r*i,f=m+i,b=p.slice(m,f).map(k=>({id:k.id,groups:k.groups,meta:k.meta,payload:k.payload,locale:n,label:k.label?.[n],tags:k.tags?.[n],active:this.activeAssetIds.has(k.id)})),v=f<g?r+1:void 0;return{assets:b,currentPage:r,nextPage:v,total:g}}updateLabel(t,r,i){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot update label on dynamic asset provider");return}this.assetsOrProvider.forEach(n=>{n.id===t&&(n.label=n.label||{},n.label[i]=r(n.label[i]))})}getLabel(t,r){let i=this.getCurrentAssets().find(n=>n.id===t);if(i!=null)return i.label?.[r]}setAssetActive(t){this.activeAssetIds.add(t)}setAssetLoading(t,r){if(r){let i=this.getLabel(t,"en")??"",n=dK(a=>this.cesdk.engine.asset===null?!1:(this.updateLabel(t,()=>`${a} ${i}`,"en"),this.cesdk.engine.asset.assetSourceContentsChanged(this.id),!0));this.loaderDisposer[t]=()=>{this.updateLabel(t,()=>i,"en"),n()}}else this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}setAssetInactive(t){this.activeAssetIds.delete(t),this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}clearActiveAssets(){this.activeAssetIds.clear(),Object.values(this.loaderDisposer).forEach(t=>{t?.()}),this.loaderDisposer={}}isAssetActive(t){return this.activeAssetIds.has(t)}addAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot add asset to dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t.id);r>=0?this.assetsOrProvider[r]=t:this.assetsOrProvider.push(t)}removeAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot remove asset from dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t);r!==-1&&(this.assetsOrProvider.splice(r,1),this.activeAssetIds.delete(t))}async getGroups(){let t=new Set;return this.getCurrentAssets().forEach(r=>{r.groups&&r.groups.forEach(i=>t.add(i))}),Array.from(t)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};function Cf(e,t,r=[]){return new us(e,t,r)}function dK(e,t=200){let r=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],i=0,n=setInterval(()=>{let a=r[i];i=(i+1)%r.length,e(a)||clearInterval(n)},t);return()=>{clearInterval(n)}}var yn="ly.img.ai.apps";var Y=tu("apps"),pK=512,gK=128,Af=e=>({async initialize({cesdk:t}){if(t==null)return;ru(t,yn,"1.69.0-nightly.20260130");let{providers:r}=e;await t.addPlugin(y1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Cc({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Dd({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Hp({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(If({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),hK(t),fK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function fK(e,t){bK(e);let r=yK(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(Y,({builder:a})=>{a.Library(Y,{entries:[Y],onSelect:async o=>{xn.get().getBy({id:o.id,type:"plugin"}).forEach(s=>{s.execute()})}})}),e.ui.addAssetLibraryEntry({id:Y,sourceIds:[Y],gridColumns:1,gridItemHeight:"auto",gridBackgroundType:"cover",cardLabel:a=>{let{label:o,meta:s}=a,c=s?.labelKey;return c&&typeof e.i18n?.translate=="function"?e.i18n.translate(c):o},cardLabelPosition:()=>"inside"});let i=`${Y}.dock`;e.ui.registerComponent([i,"ly.img.ai/apps.dock"],({builder:a,experimental:o})=>{let s=r.getCurrentAssets();if(s.length===0)return;let c=s.length===1?xn.get().getBy({id:s[0].id,type:"plugin"})[0]:void 0,l=c?.meta?.panelId??Y,u=e.ui.isPanelOpen(l),d=o.global(`${Y}.isGenerating`,!1);a.Button(`${Y}.dock.button`,{label:"ly.img.ai.apps.dock.label",isSelected:u,icon:d.value?"@imgly/LoadingSpinner":"@imgly/Sparkle",onClick:()=>{e.ui.findAllPanels().forEach(p=>{p.startsWith("ly.img.ai.")&&p!==l&&e.ui.closePanel(p),!u&&p==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(p)}),c!=null?c.execute():u?e.ui.closePanel(Y):e.ui.openPanel(Y)}})})}function yK(e,t){let r=xn.get(),i=Cf(Y,e,()=>{let a=e.engine.scene.getMode();return r.getBy({type:"plugin"}).map(({id:o,label:s,labelKey:c,sceneMode:l})=>a==="Design"&&l==="Video"?void 0:{id:o,label:{en:s??o},meta:{sceneMode:l,labelKey:c,thumbUri:t.baseURL!=null?mK(t.baseURL,o):void 0,width:pK,height:gK}}).filter(_s)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function mK(e,t){switch(t){case"@imgly/plugin-ai-image-generation-web":return`${e}GenerateImage.png`;case"@imgly/plugin-ai-video-generation-web":return`${e}GenerateVideo.png`;case"@imgly/plugin-ai-audio-generation-web/sound":return`${e}GenerateSound.png`;case"@imgly/plugin-ai-audio-generation-web/speech":return`${e}AIVoice.png`;case"@imgly/plugin-ai-sticker-generation-web":return`${e}GenerateSticker.png`;default:return`${e}GenerateImage.png`}}function bK(e){e.ui.registerComponent("ly.img.assetLibrary.dock",({builder:{Button:t},engine:r,payload:i})=>{let n="\n\nPlease provide a payload with entries, e.g. \n```\n{ id: 'ly.img.assetLibrary.dock', entries: ['ly.img.image', 'ly.img.video'] }\n```";if(!i||i.id!=="ly.img.assetLibrary.dock"){console.warn(`No payload found for 'ly.img.assetLibrary.dock'${n}`);return}let{id:a,key:o,label:s,icon:c,entries:l}=i;if(l==null||!Array.isArray(l)){console.warn(`No valid entries value found for 'ly.img.assetLibrary.dock'${n}`);return}if(l.some(h=>typeof h!="string")){console.warn(`Entries value for 'ly.img.assetLibrary.dock' need to be all strings referring to asset library entries${n}`);return}s!=null&&typeof s!="string"&&console.warn("Label for 'ly.img.assetLibrary.dock' must be a string if provided");let u=r.scene.getMode(),d=l.filter(h=>{let b=e.ui.getAssetLibraryEntry(h);if(b==null)return!1;let v=b.sceneMode;return typeof v=="string"?b.sceneMode===u||b.sceneMode==="All":typeof v=="function"?(typeof b.sourceIds=="function"?b.sourceIds({cesdk:e,engine:r}):b.sourceIds).some(x=>{let y=v(e.version.startsWith("1.51.")?x:{sourceId:x});return y===u||y==="All"}):!0});if(d.length===0)return;let p=s;p==null&&(p=`libraries.${a}.label`);let g=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}),m=e.ui.isPanelOpen("//ly.img.panel/assetLibrary.replace"),f=c;f==null&&d.length===1&&(f=e.ui.getAssetLibraryEntry(d[0])?.icon),t(o??a,{label:p,icon:f,isDisabled:m,isSelected:g,onClick:()=>{g?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(h=>{(h===Y||h.startsWith("ly.img.ai."))&&e.ui.closePanel(h)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}))}})})}function hK(e){Xs(e,iu)}var vK=e=>({name:yn,version:"1.69.0-nightly.20260130",...Af(e)}),Lte=vK;export{Lte as default};
665
+ `,aZ=oZ,lZ=typeof global=="object"&&global&&global.Object===Object&&global,mf=lZ,sZ=typeof self=="object"&&self&&self.Object===Object&&self,uZ=mf||sZ||Function("return this")(),se=uZ,cZ=se.Symbol,lr=cZ,bf=Object.prototype,dZ=bf.hasOwnProperty,pZ=bf.toString,Ji=lr?lr.toStringTag:void 0;function gZ(e){var t=dZ.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=pZ.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var fZ=gZ,yZ=Object.prototype,mZ=yZ.toString;function bZ(e){return mZ.call(e)}var hZ=bZ,vZ="[object Null]",wZ="[object Undefined]",T1=lr?lr.toStringTag:void 0;function kZ(e){return e==null?e===void 0?wZ:vZ:T1&&T1 in Object(e)?fZ(e):hZ(e)}var gn=kZ;function xZ(e){return e!=null&&typeof e=="object"}var ss=xZ,Jee=Array.isArray;function IZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var hf=IZ,CZ="[object AsyncFunction]",AZ="[object Function]",MZ="[object GeneratorFunction]",jZ="[object Proxy]";function SZ(e){if(!hf(e))return!1;var t=gn(e);return t==AZ||t==MZ||t==CZ||t==jZ}var $Z=SZ,EZ=se["__core-js_shared__"],ql=EZ,O1=function(){var e=/[^.]+$/.exec(ql&&ql.keys&&ql.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function _Z(e){return!!O1&&O1 in e}var LZ=_Z,TZ=Function.prototype,OZ=TZ.toString;function NZ(e){if(e!=null){try{return OZ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=NZ,DZ=/[\\^$.*+?()[\]{}|]/g,PZ=/^\[object .+?Constructor\]$/,zZ=Function.prototype,UZ=Object.prototype,RZ=zZ.toString,FZ=UZ.hasOwnProperty,VZ=RegExp("^"+RZ.call(FZ).replace(DZ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function BZ(e){if(!hf(e)||LZ(e))return!1;var t=$Z(e)?VZ:PZ;return t.test(Ge(e))}var qZ=BZ;function GZ(e,t){return e?.[t]}var YZ=GZ;function HZ(e,t){var r=YZ(e,t);return qZ(r)?r:void 0}var pr=HZ,ZZ=pr(se,"WeakMap"),Jl=ZZ;function QZ(e,t){return e===t||e!==e&&t!==t}var WZ=QZ,KZ=9007199254740991;function JZ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=KZ}var XZ=JZ,Xee=Object.prototype,eQ="[object Arguments]";function tQ(e){return ss(e)&&gn(e)==eQ}var N1=tQ,vf=Object.prototype,rQ=vf.hasOwnProperty,iQ=vf.propertyIsEnumerable,ete=N1(function(){return arguments}())?N1:function(e){return ss(e)&&rQ.call(e,"callee")&&!iQ.call(e,"callee")},wf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,D1=wf&&typeof module=="object"&&module&&!module.nodeType&&module,nQ=D1&&D1.exports===wf,P1=nQ?se.Buffer:void 0,tte=P1?P1.isBuffer:void 0,oQ="[object Arguments]",aQ="[object Array]",lQ="[object Boolean]",sQ="[object Date]",uQ="[object Error]",cQ="[object Function]",dQ="[object Map]",pQ="[object Number]",gQ="[object Object]",fQ="[object RegExp]",yQ="[object Set]",mQ="[object String]",bQ="[object WeakMap]",hQ="[object ArrayBuffer]",vQ="[object DataView]",wQ="[object Float32Array]",kQ="[object Float64Array]",xQ="[object Int8Array]",IQ="[object Int16Array]",CQ="[object Int32Array]",AQ="[object Uint8Array]",MQ="[object Uint8ClampedArray]",jQ="[object Uint16Array]",SQ="[object Uint32Array]",B={};B[wQ]=B[kQ]=B[xQ]=B[IQ]=B[CQ]=B[AQ]=B[MQ]=B[jQ]=B[SQ]=!0;B[oQ]=B[aQ]=B[hQ]=B[lQ]=B[vQ]=B[sQ]=B[uQ]=B[cQ]=B[dQ]=B[pQ]=B[gQ]=B[fQ]=B[yQ]=B[mQ]=B[bQ]=!1;function $Q(e){return ss(e)&&XZ(e.length)&&!!B[gn(e)]}var EQ=$Q;function _Q(e){return function(t){return e(t)}}var LQ=_Q,kf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nn=kf&&typeof module=="object"&&module&&!module.nodeType&&module,TQ=nn&&nn.exports===kf,Gl=TQ&&mf.process,OQ=function(){try{var e=nn&&nn.require&&nn.require("util").types;return e||Gl&&Gl.binding&&Gl.binding("util")}catch{}}(),z1=OQ,U1=z1&&z1.isTypedArray,rte=U1?LQ(U1):EQ,NQ=Object.prototype,ite=NQ.hasOwnProperty;function DQ(e,t){return function(r){return e(t(r))}}var PQ=DQ,nte=PQ(Object.keys,Object),zQ=Object.prototype,ote=zQ.hasOwnProperty,UQ=pr(Object,"create"),ln=UQ;function RQ(){this.__data__=ln?ln(null):{},this.size=0}var FQ=RQ;function VQ(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var BQ=VQ,qQ="__lodash_hash_undefined__",GQ=Object.prototype,YQ=GQ.hasOwnProperty;function HQ(e){var t=this.__data__;if(ln){var r=t[e];return r===qQ?void 0:r}return YQ.call(t,e)?t[e]:void 0}var ZQ=HQ,QQ=Object.prototype,WQ=QQ.hasOwnProperty;function KQ(e){var t=this.__data__;return ln?t[e]!==void 0:WQ.call(t,e)}var JQ=KQ,XQ="__lodash_hash_undefined__";function eW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?XQ:t,this}var tW=eW;function gr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}gr.prototype.clear=FQ;gr.prototype.delete=BQ;gr.prototype.get=ZQ;gr.prototype.has=JQ;gr.prototype.set=tW;var R1=gr;function rW(){this.__data__=[],this.size=0}var iW=rW;function nW(e,t){for(var r=e.length;r--;)if(WZ(e[r][0],t))return r;return-1}var jo=nW,oW=Array.prototype,aW=oW.splice;function lW(e){var t=this.__data__,r=jo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():aW.call(t,r,1),--this.size,!0}var sW=lW;function uW(e){var t=this.__data__,r=jo(t,e);return r<0?void 0:t[r][1]}var cW=uW;function dW(e){return jo(this.__data__,e)>-1}var pW=dW;function gW(e,t){var r=this.__data__,i=jo(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var fW=gW;function fr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}fr.prototype.clear=iW;fr.prototype.delete=sW;fr.prototype.get=cW;fr.prototype.has=pW;fr.prototype.set=fW;var So=fr,yW=pr(se,"Map"),sn=yW;function mW(){this.size=0,this.__data__={hash:new R1,map:new(sn||So),string:new R1}}var bW=mW;function hW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var vW=hW;function wW(e,t){var r=e.__data__;return vW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var $o=wW;function kW(e){var t=$o(this,e).delete(e);return this.size-=t?1:0,t}var xW=kW;function IW(e){return $o(this,e).get(e)}var CW=IW;function AW(e){return $o(this,e).has(e)}var MW=AW;function jW(e,t){var r=$o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var SW=jW;function yr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}yr.prototype.clear=bW;yr.prototype.delete=xW;yr.prototype.get=CW;yr.prototype.has=MW;yr.prototype.set=SW;var xf=yr;function $W(){this.__data__=new So,this.size=0}var EW=$W;function _W(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var LW=_W;function TW(e){return this.__data__.get(e)}var OW=TW;function NW(e){return this.__data__.has(e)}var DW=NW,PW=200;function zW(e,t){var r=this.__data__;if(r instanceof So){var i=r.__data__;if(!sn||i.length<PW-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new xf(i)}return r.set(e,t),this.size=r.size,this}var UW=zW;function fn(e){var t=this.__data__=new So(e);this.size=t.size}fn.prototype.clear=EW;fn.prototype.delete=LW;fn.prototype.get=OW;fn.prototype.has=DW;fn.prototype.set=UW;var RW=Object.prototype,ate=RW.propertyIsEnumerable,FW=pr(se,"DataView"),Xl=FW,VW=pr(se,"Promise"),es=VW,BW=pr(se,"Set"),ts=BW,F1="[object Map]",qW="[object Object]",V1="[object Promise]",B1="[object Set]",q1="[object WeakMap]",G1="[object DataView]",GW=Ge(Xl),YW=Ge(sn),HW=Ge(es),ZW=Ge(ts),QW=Ge(Jl),nr=gn;(Xl&&nr(new Xl(new ArrayBuffer(1)))!=G1||sn&&nr(new sn)!=F1||es&&nr(es.resolve())!=V1||ts&&nr(new ts)!=B1||Jl&&nr(new Jl)!=q1)&&(nr=function(e){var t=gn(e),r=t==qW?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case GW:return G1;case YW:return F1;case HW:return V1;case ZW:return B1;case QW:return q1}return t});var lte=se.Uint8Array,WW="__lodash_hash_undefined__";function KW(e){return this.__data__.set(e,WW),this}var JW=KW;function XW(e){return this.__data__.has(e)}var eK=XW;function rs(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new xf;++t<r;)this.add(e[t])}rs.prototype.add=rs.prototype.push=JW;rs.prototype.has=eK;var Y1=lr?lr.prototype:void 0,ste=Y1?Y1.valueOf:void 0,tK=Object.prototype,ute=tK.hasOwnProperty,rK=Object.prototype,cte=rK.hasOwnProperty,dte=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),pte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),gte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function iK(e){return e==null?[]:Array.isArray(e)?e:[e]}var nK=iK;function oK(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function aK(e){return typeof e?.translate=="function"}function lK(e,t,r){return e&&oK(e)&&aK(e.i18n)?e.i18n.translate(t):r}var tn="@imgly/plugin-ai-sticker-generation-web",Me="ly.img.ai.sticker-generation";function sK(e){return{async initialize({cesdk:t}){if(t==null)return;YY(t,tn,"1.69.0-nightly.20260131"),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromImage",!0);let r=tf.get(),i=`${tn}.action.label`;t.ui.addIconSet(nZ,aZ),ns(t,{en:{[`panel.${Me}`]:"Sticker Generation",[`${Me}.dock.label`]:"AI Sticker",[i]:"Generate Sticker"}});let n=r.register({type:"plugin",sceneMode:"Design",id:tn,pluginId:tn,label:lK(t,i,"Generate Sticker"),labelKey:i,meta:{panelId:Me},execute:()=>{t.ui.isPanelOpen(Me)?t.ui.closePanel(Me):t.ui.openPanel(Me)}}),a=e.providers?.text2sticker,o=await Promise.all(nK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await iZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Me,s.panel.builderRenderFunction),ZY({cesdk:t,panelId:Me})):n()}}}var uK=sK,cK=e=>({name:tn,version:"1.69.0-nightly.20260131",...uK(e)}),If=cK;var us=class{constructor(t,r,i=[]){this.id=t,this.assetsOrProvider=i,this.activeAssetIds=new Set,this.loaderDisposer={},this.cesdk=r}getCurrentAssets(){return typeof this.assetsOrProvider=="function"?this.assetsOrProvider():this.assetsOrProvider}async findAssets(t){let{page:r,perPage:i,locale:n="en",sortActiveFirst:a,query:o,tags:s,groups:c,excludeGroups:l,sortingOrder:u,sortKey:d}=t,p=[...this.getCurrentAssets()];if(c&&c.length>0&&(p=p.filter(k=>k.groups&&c.some(x=>k.groups?.includes(x)))),l&&l.length>0&&(p=p.filter(k=>!k.groups||!l.some(x=>k.groups?.includes(x)))),o){let k=o.toLowerCase();p=p.filter(x=>{let y=x.label?.[n]?.toLowerCase(),I=x.tags?.[n]||[];return y&&y.includes(k)||I.some(M=>M.toLowerCase().includes(k))})}if(s&&s.length>0){let k=Array.isArray(s)?s:[s];p=p.filter(x=>{let y=x.tags?.[n]||[];return k.some(I=>y.includes(I))})}a&&p.sort((k,x)=>{let y=this.activeAssetIds.has(k.id),I=this.activeAssetIds.has(x.id);return y&&!I?-1:!y&&I?1:0}),d&&d!=="id"?p.sort((k,x)=>{let y=k.meta?.[d],I=x.meta?.[d];return y===void 0?1:I===void 0?-1:typeof y=="string"&&typeof I=="string"?u==="Descending"?I.localeCompare(y):y.localeCompare(I):typeof y=="number"&&typeof I=="number"?u==="Descending"?I-y:y-I:0}):d==="id"&&p.sort((k,x)=>u==="Descending"?x.id.localeCompare(k.id):k.id.localeCompare(x.id));let g=p.length,m=r*i,f=m+i,b=p.slice(m,f).map(k=>({id:k.id,groups:k.groups,meta:k.meta,payload:k.payload,locale:n,label:k.label?.[n],tags:k.tags?.[n],active:this.activeAssetIds.has(k.id)})),v=f<g?r+1:void 0;return{assets:b,currentPage:r,nextPage:v,total:g}}updateLabel(t,r,i){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot update label on dynamic asset provider");return}this.assetsOrProvider.forEach(n=>{n.id===t&&(n.label=n.label||{},n.label[i]=r(n.label[i]))})}getLabel(t,r){let i=this.getCurrentAssets().find(n=>n.id===t);if(i!=null)return i.label?.[r]}setAssetActive(t){this.activeAssetIds.add(t)}setAssetLoading(t,r){if(r){let i=this.getLabel(t,"en")??"",n=dK(a=>this.cesdk.engine.asset===null?!1:(this.updateLabel(t,()=>`${a} ${i}`,"en"),this.cesdk.engine.asset.assetSourceContentsChanged(this.id),!0));this.loaderDisposer[t]=()=>{this.updateLabel(t,()=>i,"en"),n()}}else this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}setAssetInactive(t){this.activeAssetIds.delete(t),this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}clearActiveAssets(){this.activeAssetIds.clear(),Object.values(this.loaderDisposer).forEach(t=>{t?.()}),this.loaderDisposer={}}isAssetActive(t){return this.activeAssetIds.has(t)}addAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot add asset to dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t.id);r>=0?this.assetsOrProvider[r]=t:this.assetsOrProvider.push(t)}removeAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot remove asset from dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t);r!==-1&&(this.assetsOrProvider.splice(r,1),this.activeAssetIds.delete(t))}async getGroups(){let t=new Set;return this.getCurrentAssets().forEach(r=>{r.groups&&r.groups.forEach(i=>t.add(i))}),Array.from(t)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};function Cf(e,t,r=[]){return new us(e,t,r)}function dK(e,t=200){let r=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],i=0,n=setInterval(()=>{let a=r[i];i=(i+1)%r.length,e(a)||clearInterval(n)},t);return()=>{clearInterval(n)}}var yn="ly.img.ai.apps";var Y=tu("apps"),pK=512,gK=128,Af=e=>({async initialize({cesdk:t}){if(t==null)return;ru(t,yn,"1.69.0-nightly.20260131");let{providers:r}=e;await t.addPlugin(y1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Cc({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Dd({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Hp({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(If({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),hK(t),fK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function fK(e,t){bK(e);let r=yK(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(Y,({builder:a})=>{a.Library(Y,{entries:[Y],onSelect:async o=>{xn.get().getBy({id:o.id,type:"plugin"}).forEach(s=>{s.execute()})}})}),e.ui.addAssetLibraryEntry({id:Y,sourceIds:[Y],gridColumns:1,gridItemHeight:"auto",gridBackgroundType:"cover",cardLabel:a=>{let{label:o,meta:s}=a,c=s?.labelKey;return c&&typeof e.i18n?.translate=="function"?e.i18n.translate(c):o},cardLabelPosition:()=>"inside"});let i=`${Y}.dock`;e.ui.registerComponent([i,"ly.img.ai/apps.dock"],({builder:a,experimental:o})=>{let s=r.getCurrentAssets();if(s.length===0)return;let c=s.length===1?xn.get().getBy({id:s[0].id,type:"plugin"})[0]:void 0,l=c?.meta?.panelId??Y,u=e.ui.isPanelOpen(l),d=o.global(`${Y}.isGenerating`,!1);a.Button(`${Y}.dock.button`,{label:"ly.img.ai.apps.dock.label",isSelected:u,icon:d.value?"@imgly/LoadingSpinner":"@imgly/Sparkle",onClick:()=>{e.ui.findAllPanels().forEach(p=>{p.startsWith("ly.img.ai.")&&p!==l&&e.ui.closePanel(p),!u&&p==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(p)}),c!=null?c.execute():u?e.ui.closePanel(Y):e.ui.openPanel(Y)}})})}function yK(e,t){let r=xn.get(),i=Cf(Y,e,()=>{let a=e.engine.scene.getMode();return r.getBy({type:"plugin"}).map(({id:o,label:s,labelKey:c,sceneMode:l})=>a==="Design"&&l==="Video"?void 0:{id:o,label:{en:s??o},meta:{sceneMode:l,labelKey:c,thumbUri:t.baseURL!=null?mK(t.baseURL,o):void 0,width:pK,height:gK}}).filter(_s)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function mK(e,t){switch(t){case"@imgly/plugin-ai-image-generation-web":return`${e}GenerateImage.png`;case"@imgly/plugin-ai-video-generation-web":return`${e}GenerateVideo.png`;case"@imgly/plugin-ai-audio-generation-web/sound":return`${e}GenerateSound.png`;case"@imgly/plugin-ai-audio-generation-web/speech":return`${e}AIVoice.png`;case"@imgly/plugin-ai-sticker-generation-web":return`${e}GenerateSticker.png`;default:return`${e}GenerateImage.png`}}function bK(e){e.ui.registerComponent("ly.img.assetLibrary.dock",({builder:{Button:t},engine:r,payload:i})=>{let n="\n\nPlease provide a payload with entries, e.g. \n```\n{ id: 'ly.img.assetLibrary.dock', entries: ['ly.img.image', 'ly.img.video'] }\n```";if(!i||i.id!=="ly.img.assetLibrary.dock"){console.warn(`No payload found for 'ly.img.assetLibrary.dock'${n}`);return}let{id:a,key:o,label:s,icon:c,entries:l}=i;if(l==null||!Array.isArray(l)){console.warn(`No valid entries value found for 'ly.img.assetLibrary.dock'${n}`);return}if(l.some(h=>typeof h!="string")){console.warn(`Entries value for 'ly.img.assetLibrary.dock' need to be all strings referring to asset library entries${n}`);return}s!=null&&typeof s!="string"&&console.warn("Label for 'ly.img.assetLibrary.dock' must be a string if provided");let u=r.scene.getMode(),d=l.filter(h=>{let b=e.ui.getAssetLibraryEntry(h);if(b==null)return!1;let v=b.sceneMode;return typeof v=="string"?b.sceneMode===u||b.sceneMode==="All":typeof v=="function"?(typeof b.sourceIds=="function"?b.sourceIds({cesdk:e,engine:r}):b.sourceIds).some(x=>{let y=v(e.version.startsWith("1.51.")?x:{sourceId:x});return y===u||y==="All"}):!0});if(d.length===0)return;let p=s;p==null&&(p=`libraries.${a}.label`);let g=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}),m=e.ui.isPanelOpen("//ly.img.panel/assetLibrary.replace"),f=c;f==null&&d.length===1&&(f=e.ui.getAssetLibraryEntry(d[0])?.icon),t(o??a,{label:p,icon:f,isDisabled:m,isSelected:g,onClick:()=>{g?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(h=>{(h===Y||h.startsWith("ly.img.ai."))&&e.ui.closePanel(h)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}))}})})}function hK(e){Xs(e,iu)}var vK=e=>({name:yn,version:"1.69.0-nightly.20260131",...Af(e)}),Lte=vK;export{Lte as default};
666
666
  /*! Bundled license information:
667
667
 
668
668
  lodash-es/lodash.js: