@imgly/plugin-ai-apps-web 1.68.0-rc.1 → 1.68.0-rc.3

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.
Files changed (2) hide show
  1. package/dist/index.mjs +5 -5
  2. package/package.json +8 -8
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
- `,yv=fv,mv=typeof global=="object"&&global&&global.Object===Object&&global,bc=mv,bv=typeof self=="object"&&self&&self.Object===Object&&self,hv=bc||bv||Function("return this")(),ee=hv,vv=ee.Symbol,st=vv,hc=Object.prototype,wv=hc.hasOwnProperty,kv=hc.toString,_r=st?st.toStringTag:void 0;function xv(e){var t=wv.call(e,_r),r=e[_r];try{e[_r]=void 0;var i=!0}catch{}var n=kv.call(e);return i&&(t?e[_r]=r:delete e[_r]),n}var Iv=xv,Cv=Object.prototype,Av=Cv.toString;function Mv(e){return Av.call(e)}var jv=Mv,Sv="[object Null]",$v="[object Undefined]",xu=st?st.toStringTag:void 0;function _v(e){return e==null?e===void 0?$v:Sv:xu&&xu in Object(e)?Iv(e):jv(e)}var Hr=_v;function Ev(e){return e!=null&&typeof e=="object"}var va=Ev,xJ=Array.isArray;function Lv(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var vc=Lv,Tv="[object AsyncFunction]",Ov="[object Function]",Nv="[object GeneratorFunction]",Dv="[object Proxy]";function Pv(e){if(!vc(e))return!1;var t=Hr(e);return t==Ov||t==Nv||t==Tv||t==Dv}var zv=Pv,Uv=ee["__core-js_shared__"],Jo=Uv,Iu=function(){var e=/[^.]+$/.exec(Jo&&Jo.keys&&Jo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Rv(e){return!!Iu&&Iu in e}var Fv=Rv,Vv=Function.prototype,Bv=Vv.toString;function qv(e){if(e!=null){try{return Bv.call(e)}catch{}try{return e+""}catch{}}return""}var Te=qv,Gv=/[\\^$.*+?()[\]{}|]/g,Yv=/^\[object .+?Constructor\]$/,Hv=Function.prototype,Zv=Object.prototype,Qv=Hv.toString,Wv=Zv.hasOwnProperty,Kv=RegExp("^"+Qv.call(Wv).replace(Gv,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Jv(e){if(!vc(e)||Fv(e))return!1;var t=zv(e)?Kv:Yv;return t.test(Te(e))}var Xv=Jv;function e8(e,t){return e?.[t]}var t8=e8;function r8(e,t){var r=t8(e,t);return Xv(r)?r:void 0}var gt=r8,i8=gt(ee,"WeakMap"),ua=i8;function n8(e,t){return e===t||e!==e&&t!==t}var o8=n8,a8=9007199254740991;function l8(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=a8}var s8=l8,IJ=Object.prototype,u8="[object Arguments]";function c8(e){return va(e)&&Hr(e)==u8}var Cu=c8,wc=Object.prototype,d8=wc.hasOwnProperty,p8=wc.propertyIsEnumerable,CJ=Cu(function(){return arguments}())?Cu:function(e){return va(e)&&d8.call(e,"callee")&&!p8.call(e,"callee")},kc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Au=kc&&typeof module=="object"&&module&&!module.nodeType&&module,g8=Au&&Au.exports===kc,Mu=g8?ee.Buffer:void 0,AJ=Mu?Mu.isBuffer:void 0,f8="[object Arguments]",y8="[object Array]",m8="[object Boolean]",b8="[object Date]",h8="[object Error]",v8="[object Function]",w8="[object Map]",k8="[object Number]",x8="[object Object]",I8="[object RegExp]",C8="[object Set]",A8="[object String]",M8="[object WeakMap]",j8="[object ArrayBuffer]",S8="[object DataView]",$8="[object Float32Array]",_8="[object Float64Array]",E8="[object Int8Array]",L8="[object Int16Array]",T8="[object Int32Array]",O8="[object Uint8Array]",N8="[object Uint8ClampedArray]",D8="[object Uint16Array]",P8="[object Uint32Array]",N={};N[$8]=N[_8]=N[E8]=N[L8]=N[T8]=N[O8]=N[N8]=N[D8]=N[P8]=!0;N[f8]=N[y8]=N[j8]=N[m8]=N[S8]=N[b8]=N[h8]=N[v8]=N[w8]=N[k8]=N[x8]=N[I8]=N[C8]=N[A8]=N[M8]=!1;function z8(e){return va(e)&&s8(e.length)&&!!N[Hr(e)]}var U8=z8;function R8(e){return function(t){return e(t)}}var F8=R8,xc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=xc&&typeof module=="object"&&module&&!module.nodeType&&module,V8=Pr&&Pr.exports===xc,Xo=V8&&bc.process,B8=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||Xo&&Xo.binding&&Xo.binding("util")}catch{}}(),ju=B8,Su=ju&&ju.isTypedArray,MJ=Su?F8(Su):U8,q8=Object.prototype,jJ=q8.hasOwnProperty;function G8(e,t){return function(r){return e(t(r))}}var Y8=G8,SJ=Y8(Object.keys,Object),H8=Object.prototype,$J=H8.hasOwnProperty,Z8=gt(Object,"create"),Rr=Z8;function Q8(){this.__data__=Rr?Rr(null):{},this.size=0}var W8=Q8;function K8(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var J8=K8,X8="__lodash_hash_undefined__",e7=Object.prototype,t7=e7.hasOwnProperty;function r7(e){var t=this.__data__;if(Rr){var r=t[e];return r===X8?void 0:r}return t7.call(t,e)?t[e]:void 0}var i7=r7,n7=Object.prototype,o7=n7.hasOwnProperty;function a7(e){var t=this.__data__;return Rr?t[e]!==void 0:o7.call(t,e)}var l7=a7,s7="__lodash_hash_undefined__";function u7(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Rr&&t===void 0?s7:t,this}var c7=u7;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=W8;ft.prototype.delete=J8;ft.prototype.get=i7;ft.prototype.has=l7;ft.prototype.set=c7;var $u=ft;function d7(){this.__data__=[],this.size=0}var p7=d7;function g7(e,t){for(var r=e.length;r--;)if(o8(e[r][0],t))return r;return-1}var Dn=g7,f7=Array.prototype,y7=f7.splice;function m7(e){var t=this.__data__,r=Dn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():y7.call(t,r,1),--this.size,!0}var b7=m7;function h7(e){var t=this.__data__,r=Dn(t,e);return r<0?void 0:t[r][1]}var v7=h7;function w7(e){return Dn(this.__data__,e)>-1}var k7=w7;function x7(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 I7=x7;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=p7;yt.prototype.delete=b7;yt.prototype.get=v7;yt.prototype.has=k7;yt.prototype.set=I7;var Pn=yt,C7=gt(ee,"Map"),Fr=C7;function A7(){this.size=0,this.__data__={hash:new $u,map:new(Fr||Pn),string:new $u}}var M7=A7;function j7(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var S7=j7;function $7(e,t){var r=e.__data__;return S7(t)?r[typeof t=="string"?"string":"hash"]:r.map}var zn=$7;function _7(e){var t=zn(this,e).delete(e);return this.size-=t?1:0,t}var E7=_7;function L7(e){return zn(this,e).get(e)}var T7=L7;function O7(e){return zn(this,e).has(e)}var N7=O7;function D7(e,t){var r=zn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var P7=D7;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=M7;mt.prototype.delete=E7;mt.prototype.get=T7;mt.prototype.has=N7;mt.prototype.set=P7;var Ic=mt;function z7(){this.__data__=new Pn,this.size=0}var U7=z7;function R7(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var F7=R7;function V7(e){return this.__data__.get(e)}var B7=V7;function q7(e){return this.__data__.has(e)}var G7=q7,Y7=200;function H7(e,t){var r=this.__data__;if(r instanceof Pn){var i=r.__data__;if(!Fr||i.length<Y7-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 Z7=H7;function Zr(e){var t=this.__data__=new Pn(e);this.size=t.size}Zr.prototype.clear=U7;Zr.prototype.delete=F7;Zr.prototype.get=B7;Zr.prototype.has=G7;Zr.prototype.set=Z7;var Q7=Object.prototype,_J=Q7.propertyIsEnumerable,W7=gt(ee,"DataView"),ca=W7,K7=gt(ee,"Promise"),da=K7,J7=gt(ee,"Set"),pa=J7,_u="[object Map]",X7="[object Object]",Eu="[object Promise]",Lu="[object Set]",Tu="[object WeakMap]",Ou="[object DataView]",e6=Te(ca),t6=Te(Fr),r6=Te(da),i6=Te(pa),n6=Te(ua),ot=Hr;(ca&&ot(new ca(new ArrayBuffer(1)))!=Ou||Fr&&ot(new Fr)!=_u||da&&ot(da.resolve())!=Eu||pa&&ot(new pa)!=Lu||ua&&ot(new ua)!=Tu)&&(ot=function(e){var t=Hr(e),r=t==X7?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case e6:return Ou;case t6:return _u;case r6:return Eu;case i6:return Lu;case n6:return Tu}return t});var EJ=ee.Uint8Array,o6="__lodash_hash_undefined__";function a6(e){return this.__data__.set(e,o6),this}var l6=a6;function s6(e){return this.__data__.has(e)}var u6=s6;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=l6;ga.prototype.has=u6;var Nu=st?st.prototype:void 0,LJ=Nu?Nu.valueOf:void 0,c6=Object.prototype,TJ=c6.hasOwnProperty,d6=Object.prototype,OJ=d6.hasOwnProperty,NJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),DJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),PJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function p6(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 p6(i,t)}function g6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Du=g6;function f6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function y6(e){return typeof e?.translate=="function"}function m6(e,t,r){return e&&f6(e)&&y6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",b6=["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 h6=({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})}}),v6=h6,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 w6=({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})}}),k6=w6,Fn="styleTransfer",Er=`ly.img.${Fn}`,x6=`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 I6=[{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."}],C6=({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:Er,type:"quick",kind:"image",label:`${x6}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Er}.popover`,{label:Uu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Er}.popover.section`,{children:()=>{r.builder.Menu(`${Er}.popover.menu`,{children:()=>{I6.forEach(s=>{t.Button(`${Er}.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"})}}})})}})}})}})}}),A6=C6,Vn="artistTransfer",Lr=`ly.img.${Vn}`,M6=`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 j6=[{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."}],S6=({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:`${M6}`,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:()=>{j6.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"})}}})})}})}})}})}}),$6=S6,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 _6=({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})}}),E6=_6,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 L6=({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})}}),T6=L6,Gn="remixPage",Bu=`ly.img.${Gn}`,O6=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,N6=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function D6(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 P6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${N6}`]:"Turn Page into Image"}}),{id:Bu,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${O6}`,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:D6(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"})}}})}}),z6=P6,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 _n(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 U6=({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:_n(l,"prompt"),placeholder:_n(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:_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=await o.block.export(p),m=URL.createObjectURL(g),f=o.block.duplicate(p);o.block.getChildren(f).forEach(j=>{o.block.destroy(j)}),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:_n(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),R6=U6,fe="ly.img.ai.image-generation";function F6(e){return{async initialize({cesdk:t}){if(t==null)return;E9(t,Nr,"1.68.0-rc.1"),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.providerSelect",!0);let r=ya.get(),i=`${Nr}.action.label`;t.ui.addIconSet(gv,yv),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:m6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});V6(e),r.register(v6({cesdk:t})),r.register(k6({cesdk:t})),r.register(A6({cesdk:t})),r.register($6({cesdk:t})),r.register(E6({cesdk:t})),r.register(T6({cesdk:t})),r.register(z6({cesdk:t})),r.register(R6({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 V3("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await pv({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:b6});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),T9({cesdk:t,panelId:fe})):n()}}}function V6(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 B6=F6,q6=e=>({name:Nr,version:"1.68.0-rc.1",...B6(e)}),Cc=q6;var G6=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 Y6=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")}},H6=typeof global=="object"&&global&&global.Object===Object&&global,ld=H6,Z6=typeof self=="object"&&self&&self.Object===Object&&self,Q6=ld||Z6||Function("return this")(),te=Q6,W6=te.Symbol,kt=W6,sd=Object.prototype,K6=sd.hasOwnProperty,J6=sd.toString,Qr=kt?kt.toStringTag:void 0;function X6(e){var t=K6.call(e,Qr),r=e[Qr];try{e[Qr]=void 0;var i=!0}catch{}var n=J6.call(e);return i&&(t?e[Qr]=r:delete e[Qr]),n}var ew=X6,tw=Object.prototype,rw=tw.toString;function iw(e){return rw.call(e)}var nw=iw,ow="[object Null]",aw="[object Undefined]",Ac=kt?kt.toStringTag:void 0;function lw(e){return e==null?e===void 0?aw:ow:Ac&&Ac in Object(e)?ew(e):nw(e)}var li=lw;function sw(e){return e!=null&&typeof e=="object"}var za=sw,VJ=Array.isArray;function uw(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ud=uw,cw="[object AsyncFunction]",dw="[object Function]",pw="[object GeneratorFunction]",gw="[object Proxy]";function fw(e){if(!ud(e))return!1;var t=li(e);return t==dw||t==pw||t==cw||t==gw}var yw=fw,mw=te["__core-js_shared__"],wa=mw,Mc=function(){var e=/[^.]+$/.exec(wa&&wa.keys&&wa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function bw(e){return!!Mc&&Mc in e}var hw=bw,vw=Function.prototype,ww=vw.toString;function kw(e){if(e!=null){try{return ww.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=kw,xw=/[\\^$.*+?()[\]{}|]/g,Iw=/^\[object .+?Constructor\]$/,Cw=Function.prototype,Aw=Object.prototype,Mw=Cw.toString,jw=Aw.hasOwnProperty,Sw=RegExp("^"+Mw.call(jw).replace(xw,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $w(e){if(!ud(e)||hw(e))return!1;var t=yw(e)?Sw:Iw;return t.test(Oe(e))}var _w=$w;function Ew(e,t){return e?.[t]}var Lw=Ew;function Tw(e,t){var r=Lw(e,t);return _w(r)?r:void 0}var It=Tw,Ow=It(te,"WeakMap"),ja=Ow;function Nw(e,t){return e===t||e!==e&&t!==t}var Dw=Nw,Pw=9007199254740991;function zw(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pw}var Uw=zw,BJ=Object.prototype,Rw="[object Arguments]";function Fw(e){return za(e)&&li(e)==Rw}var jc=Fw,cd=Object.prototype,Vw=cd.hasOwnProperty,Bw=cd.propertyIsEnumerable,qJ=jc(function(){return arguments}())?jc:function(e){return za(e)&&Vw.call(e,"callee")&&!Bw.call(e,"callee")},dd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Sc=dd&&typeof module=="object"&&module&&!module.nodeType&&module,qw=Sc&&Sc.exports===dd,$c=qw?te.Buffer:void 0,GJ=$c?$c.isBuffer:void 0,Gw="[object Arguments]",Yw="[object Array]",Hw="[object Boolean]",Zw="[object Date]",Qw="[object Error]",Ww="[object Function]",Kw="[object Map]",Jw="[object Number]",Xw="[object Object]",ek="[object RegExp]",tk="[object Set]",rk="[object String]",ik="[object WeakMap]",nk="[object ArrayBuffer]",ok="[object DataView]",ak="[object Float32Array]",lk="[object Float64Array]",sk="[object Int8Array]",uk="[object Int16Array]",ck="[object Int32Array]",dk="[object Uint8Array]",pk="[object Uint8ClampedArray]",gk="[object Uint16Array]",fk="[object Uint32Array]",D={};D[ak]=D[lk]=D[sk]=D[uk]=D[ck]=D[dk]=D[pk]=D[gk]=D[fk]=!0;D[Gw]=D[Yw]=D[nk]=D[Hw]=D[ok]=D[Zw]=D[Qw]=D[Ww]=D[Kw]=D[Jw]=D[Xw]=D[ek]=D[tk]=D[rk]=D[ik]=!1;function yk(e){return za(e)&&Uw(e.length)&&!!D[li(e)]}var mk=yk;function bk(e){return function(t){return e(t)}}var hk=bk,pd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ti=pd&&typeof module=="object"&&module&&!module.nodeType&&module,vk=ti&&ti.exports===pd,ka=vk&&ld.process,wk=function(){try{var e=ti&&ti.require&&ti.require("util").types;return e||ka&&ka.binding&&ka.binding("util")}catch{}}(),_c=wk,Ec=_c&&_c.isTypedArray,YJ=Ec?hk(Ec):mk,kk=Object.prototype,HJ=kk.hasOwnProperty;function xk(e,t){return function(r){return e(t(r))}}var Ik=xk,ZJ=Ik(Object.keys,Object),Ck=Object.prototype,QJ=Ck.hasOwnProperty,Ak=It(Object,"create"),ii=Ak;function Mk(){this.__data__=ii?ii(null):{},this.size=0}var jk=Mk;function Sk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var $k=Sk,_k="__lodash_hash_undefined__",Ek=Object.prototype,Lk=Ek.hasOwnProperty;function Tk(e){var t=this.__data__;if(ii){var r=t[e];return r===_k?void 0:r}return Lk.call(t,e)?t[e]:void 0}var Ok=Tk,Nk=Object.prototype,Dk=Nk.hasOwnProperty;function Pk(e){var t=this.__data__;return ii?t[e]!==void 0:Dk.call(t,e)}var zk=Pk,Uk="__lodash_hash_undefined__";function Rk(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ii&&t===void 0?Uk:t,this}var Fk=Rk;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=jk;Ct.prototype.delete=$k;Ct.prototype.get=Ok;Ct.prototype.has=zk;Ct.prototype.set=Fk;var Lc=Ct;function Vk(){this.__data__=[],this.size=0}var Bk=Vk;function qk(e,t){for(var r=e.length;r--;)if(Dw(e[r][0],t))return r;return-1}var Zn=qk,Gk=Array.prototype,Yk=Gk.splice;function Hk(e){var t=this.__data__,r=Zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Yk.call(t,r,1),--this.size,!0}var Zk=Hk;function Qk(e){var t=this.__data__,r=Zn(t,e);return r<0?void 0:t[r][1]}var Wk=Qk;function Kk(e){return Zn(this.__data__,e)>-1}var Jk=Kk;function Xk(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 ex=Xk;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=Bk;At.prototype.delete=Zk;At.prototype.get=Wk;At.prototype.has=Jk;At.prototype.set=ex;var Qn=At,tx=It(te,"Map"),ni=tx;function rx(){this.size=0,this.__data__={hash:new Lc,map:new(ni||Qn),string:new Lc}}var ix=rx;function nx(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ox=nx;function ax(e,t){var r=e.__data__;return ox(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Wn=ax;function lx(e){var t=Wn(this,e).delete(e);return this.size-=t?1:0,t}var sx=lx;function ux(e){return Wn(this,e).get(e)}var cx=ux;function dx(e){return Wn(this,e).has(e)}var px=dx;function gx(e,t){var r=Wn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var fx=gx;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=ix;Mt.prototype.delete=sx;Mt.prototype.get=cx;Mt.prototype.has=px;Mt.prototype.set=fx;var gd=Mt;function yx(){this.__data__=new Qn,this.size=0}var mx=yx;function bx(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var hx=bx;function vx(e){return this.__data__.get(e)}var wx=vx;function kx(e){return this.__data__.has(e)}var xx=kx,Ix=200;function Cx(e,t){var r=this.__data__;if(r instanceof Qn){var i=r.__data__;if(!ni||i.length<Ix-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 Ax=Cx;function si(e){var t=this.__data__=new Qn(e);this.size=t.size}si.prototype.clear=mx;si.prototype.delete=hx;si.prototype.get=wx;si.prototype.has=xx;si.prototype.set=Ax;var Mx=Object.prototype,WJ=Mx.propertyIsEnumerable,jx=It(te,"DataView"),Sa=jx,Sx=It(te,"Promise"),$a=Sx,$x=It(te,"Set"),_a=$x,Tc="[object Map]",_x="[object Object]",Oc="[object Promise]",Nc="[object Set]",Dc="[object WeakMap]",Pc="[object DataView]",Ex=Oe(Sa),Lx=Oe(ni),Tx=Oe($a),Ox=Oe(_a),Nx=Oe(ja),ht=li;(Sa&&ht(new Sa(new ArrayBuffer(1)))!=Pc||ni&&ht(new ni)!=Tc||$a&&ht($a.resolve())!=Oc||_a&&ht(new _a)!=Nc||ja&&ht(new ja)!=Dc)&&(ht=function(e){var t=li(e),r=t==_x?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case Ex:return Pc;case Lx:return Tc;case Tx:return Oc;case Ox:return Nc;case Nx:return Dc}return t});var KJ=te.Uint8Array,Dx="__lodash_hash_undefined__";function Px(e){return this.__data__.set(e,Dx),this}var zx=Px;function Ux(e){return this.__data__.has(e)}var Rx=Ux;function Ea(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new gd;++t<r;)this.add(e[t])}Ea.prototype.add=Ea.prototype.push=zx;Ea.prototype.has=Rx;var zc=kt?kt.prototype:void 0,JJ=zc?zc.valueOf:void 0,Fx=Object.prototype,XJ=Fx.hasOwnProperty,Vx=Object.prototype,eX=Vx.hasOwnProperty,tX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),rX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),iX=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 Bx(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 qx(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 Gx(e){return e!==void 0}var Yx=Gx;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))}},Hx=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 Zx(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 Qx({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 Wx=Qx,xa="ly.img.ai.temp";async function Kx(e,t){return e.engine.asset.findAllSources().includes(xa)||e.engine.asset.addLocalSource(xa),e.engine.asset.apply(xa,t)}function Jx(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 Xx(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 eI(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 tI(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function rI(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
+ `,yv=fv,mv=typeof global=="object"&&global&&global.Object===Object&&global,bc=mv,bv=typeof self=="object"&&self&&self.Object===Object&&self,hv=bc||bv||Function("return this")(),ee=hv,vv=ee.Symbol,st=vv,hc=Object.prototype,wv=hc.hasOwnProperty,kv=hc.toString,_r=st?st.toStringTag:void 0;function xv(e){var t=wv.call(e,_r),r=e[_r];try{e[_r]=void 0;var i=!0}catch{}var n=kv.call(e);return i&&(t?e[_r]=r:delete e[_r]),n}var Iv=xv,Cv=Object.prototype,Av=Cv.toString;function Mv(e){return Av.call(e)}var jv=Mv,Sv="[object Null]",$v="[object Undefined]",xu=st?st.toStringTag:void 0;function _v(e){return e==null?e===void 0?$v:Sv:xu&&xu in Object(e)?Iv(e):jv(e)}var Hr=_v;function Ev(e){return e!=null&&typeof e=="object"}var va=Ev,xJ=Array.isArray;function Lv(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var vc=Lv,Tv="[object AsyncFunction]",Ov="[object Function]",Nv="[object GeneratorFunction]",Dv="[object Proxy]";function Pv(e){if(!vc(e))return!1;var t=Hr(e);return t==Ov||t==Nv||t==Tv||t==Dv}var zv=Pv,Uv=ee["__core-js_shared__"],Jo=Uv,Iu=function(){var e=/[^.]+$/.exec(Jo&&Jo.keys&&Jo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Rv(e){return!!Iu&&Iu in e}var Fv=Rv,Vv=Function.prototype,Bv=Vv.toString;function qv(e){if(e!=null){try{return Bv.call(e)}catch{}try{return e+""}catch{}}return""}var Te=qv,Gv=/[\\^$.*+?()[\]{}|]/g,Yv=/^\[object .+?Constructor\]$/,Hv=Function.prototype,Zv=Object.prototype,Qv=Hv.toString,Wv=Zv.hasOwnProperty,Kv=RegExp("^"+Qv.call(Wv).replace(Gv,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Jv(e){if(!vc(e)||Fv(e))return!1;var t=zv(e)?Kv:Yv;return t.test(Te(e))}var Xv=Jv;function e8(e,t){return e?.[t]}var t8=e8;function r8(e,t){var r=t8(e,t);return Xv(r)?r:void 0}var gt=r8,i8=gt(ee,"WeakMap"),ua=i8;function n8(e,t){return e===t||e!==e&&t!==t}var o8=n8,a8=9007199254740991;function l8(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=a8}var s8=l8,IJ=Object.prototype,u8="[object Arguments]";function c8(e){return va(e)&&Hr(e)==u8}var Cu=c8,wc=Object.prototype,d8=wc.hasOwnProperty,p8=wc.propertyIsEnumerable,CJ=Cu(function(){return arguments}())?Cu:function(e){return va(e)&&d8.call(e,"callee")&&!p8.call(e,"callee")},kc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Au=kc&&typeof module=="object"&&module&&!module.nodeType&&module,g8=Au&&Au.exports===kc,Mu=g8?ee.Buffer:void 0,AJ=Mu?Mu.isBuffer:void 0,f8="[object Arguments]",y8="[object Array]",m8="[object Boolean]",b8="[object Date]",h8="[object Error]",v8="[object Function]",w8="[object Map]",k8="[object Number]",x8="[object Object]",I8="[object RegExp]",C8="[object Set]",A8="[object String]",M8="[object WeakMap]",j8="[object ArrayBuffer]",S8="[object DataView]",$8="[object Float32Array]",_8="[object Float64Array]",E8="[object Int8Array]",L8="[object Int16Array]",T8="[object Int32Array]",O8="[object Uint8Array]",N8="[object Uint8ClampedArray]",D8="[object Uint16Array]",P8="[object Uint32Array]",N={};N[$8]=N[_8]=N[E8]=N[L8]=N[T8]=N[O8]=N[N8]=N[D8]=N[P8]=!0;N[f8]=N[y8]=N[j8]=N[m8]=N[S8]=N[b8]=N[h8]=N[v8]=N[w8]=N[k8]=N[x8]=N[I8]=N[C8]=N[A8]=N[M8]=!1;function z8(e){return va(e)&&s8(e.length)&&!!N[Hr(e)]}var U8=z8;function R8(e){return function(t){return e(t)}}var F8=R8,xc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=xc&&typeof module=="object"&&module&&!module.nodeType&&module,V8=Pr&&Pr.exports===xc,Xo=V8&&bc.process,B8=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||Xo&&Xo.binding&&Xo.binding("util")}catch{}}(),ju=B8,Su=ju&&ju.isTypedArray,MJ=Su?F8(Su):U8,q8=Object.prototype,jJ=q8.hasOwnProperty;function G8(e,t){return function(r){return e(t(r))}}var Y8=G8,SJ=Y8(Object.keys,Object),H8=Object.prototype,$J=H8.hasOwnProperty,Z8=gt(Object,"create"),Rr=Z8;function Q8(){this.__data__=Rr?Rr(null):{},this.size=0}var W8=Q8;function K8(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var J8=K8,X8="__lodash_hash_undefined__",e7=Object.prototype,t7=e7.hasOwnProperty;function r7(e){var t=this.__data__;if(Rr){var r=t[e];return r===X8?void 0:r}return t7.call(t,e)?t[e]:void 0}var i7=r7,n7=Object.prototype,o7=n7.hasOwnProperty;function a7(e){var t=this.__data__;return Rr?t[e]!==void 0:o7.call(t,e)}var l7=a7,s7="__lodash_hash_undefined__";function u7(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Rr&&t===void 0?s7:t,this}var c7=u7;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=W8;ft.prototype.delete=J8;ft.prototype.get=i7;ft.prototype.has=l7;ft.prototype.set=c7;var $u=ft;function d7(){this.__data__=[],this.size=0}var p7=d7;function g7(e,t){for(var r=e.length;r--;)if(o8(e[r][0],t))return r;return-1}var Dn=g7,f7=Array.prototype,y7=f7.splice;function m7(e){var t=this.__data__,r=Dn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():y7.call(t,r,1),--this.size,!0}var b7=m7;function h7(e){var t=this.__data__,r=Dn(t,e);return r<0?void 0:t[r][1]}var v7=h7;function w7(e){return Dn(this.__data__,e)>-1}var k7=w7;function x7(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 I7=x7;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=p7;yt.prototype.delete=b7;yt.prototype.get=v7;yt.prototype.has=k7;yt.prototype.set=I7;var Pn=yt,C7=gt(ee,"Map"),Fr=C7;function A7(){this.size=0,this.__data__={hash:new $u,map:new(Fr||Pn),string:new $u}}var M7=A7;function j7(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var S7=j7;function $7(e,t){var r=e.__data__;return S7(t)?r[typeof t=="string"?"string":"hash"]:r.map}var zn=$7;function _7(e){var t=zn(this,e).delete(e);return this.size-=t?1:0,t}var E7=_7;function L7(e){return zn(this,e).get(e)}var T7=L7;function O7(e){return zn(this,e).has(e)}var N7=O7;function D7(e,t){var r=zn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var P7=D7;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=M7;mt.prototype.delete=E7;mt.prototype.get=T7;mt.prototype.has=N7;mt.prototype.set=P7;var Ic=mt;function z7(){this.__data__=new Pn,this.size=0}var U7=z7;function R7(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var F7=R7;function V7(e){return this.__data__.get(e)}var B7=V7;function q7(e){return this.__data__.has(e)}var G7=q7,Y7=200;function H7(e,t){var r=this.__data__;if(r instanceof Pn){var i=r.__data__;if(!Fr||i.length<Y7-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 Z7=H7;function Zr(e){var t=this.__data__=new Pn(e);this.size=t.size}Zr.prototype.clear=U7;Zr.prototype.delete=F7;Zr.prototype.get=B7;Zr.prototype.has=G7;Zr.prototype.set=Z7;var Q7=Object.prototype,_J=Q7.propertyIsEnumerable,W7=gt(ee,"DataView"),ca=W7,K7=gt(ee,"Promise"),da=K7,J7=gt(ee,"Set"),pa=J7,_u="[object Map]",X7="[object Object]",Eu="[object Promise]",Lu="[object Set]",Tu="[object WeakMap]",Ou="[object DataView]",e6=Te(ca),t6=Te(Fr),r6=Te(da),i6=Te(pa),n6=Te(ua),ot=Hr;(ca&&ot(new ca(new ArrayBuffer(1)))!=Ou||Fr&&ot(new Fr)!=_u||da&&ot(da.resolve())!=Eu||pa&&ot(new pa)!=Lu||ua&&ot(new ua)!=Tu)&&(ot=function(e){var t=Hr(e),r=t==X7?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case e6:return Ou;case t6:return _u;case r6:return Eu;case i6:return Lu;case n6:return Tu}return t});var EJ=ee.Uint8Array,o6="__lodash_hash_undefined__";function a6(e){return this.__data__.set(e,o6),this}var l6=a6;function s6(e){return this.__data__.has(e)}var u6=s6;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=l6;ga.prototype.has=u6;var Nu=st?st.prototype:void 0,LJ=Nu?Nu.valueOf:void 0,c6=Object.prototype,TJ=c6.hasOwnProperty,d6=Object.prototype,OJ=d6.hasOwnProperty,NJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),DJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),PJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function p6(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 p6(i,t)}function g6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Du=g6;function f6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function y6(e){return typeof e?.translate=="function"}function m6(e,t,r){return e&&f6(e)&&y6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",b6=["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 h6=({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})}}),v6=h6,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 w6=({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})}}),k6=w6,Fn="styleTransfer",Er=`ly.img.${Fn}`,x6=`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 I6=[{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."}],C6=({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:Er,type:"quick",kind:"image",label:`${x6}`,enable:Yr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Er}.popover`,{label:Uu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Er}.popover.section`,{children:()=>{r.builder.Menu(`${Er}.popover.menu`,{children:()=>{I6.forEach(s=>{t.Button(`${Er}.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"})}}})})}})}})}})}}),A6=C6,Vn="artistTransfer",Lr=`ly.img.${Vn}`,M6=`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 j6=[{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."}],S6=({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:`${M6}`,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:()=>{j6.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"})}}})})}})}})}})}}),$6=S6,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 _6=({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})}}),E6=_6,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 L6=({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})}}),T6=L6,Gn="remixPage",Bu=`ly.img.${Gn}`,O6=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,N6=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function D6(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 P6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${N6}`]:"Turn Page into Image"}}),{id:Bu,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${O6}`,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:D6(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"})}}})}}),z6=P6,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 _n(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 U6=({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:_n(l,"prompt"),placeholder:_n(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:_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=await o.block.export(p),m=URL.createObjectURL(g),f=o.block.duplicate(p);o.block.getChildren(f).forEach(j=>{o.block.destroy(j)}),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:_n(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),R6=U6,fe="ly.img.ai.image-generation";function F6(e){return{async initialize({cesdk:t}){if(t==null)return;E9(t,Nr,"1.68.0-rc.3"),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(gv,yv),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:m6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});V6(e),r.register(v6({cesdk:t})),r.register(k6({cesdk:t})),r.register(A6({cesdk:t})),r.register($6({cesdk:t})),r.register(E6({cesdk:t})),r.register(T6({cesdk:t})),r.register(z6({cesdk:t})),r.register(R6({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 V3("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await pv({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:b6});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),T9({cesdk:t,panelId:fe})):n()}}}function V6(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 B6=F6,q6=e=>({name:Nr,version:"1.68.0-rc.3",...B6(e)}),Cc=q6;var G6=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 Y6=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")}},H6=typeof global=="object"&&global&&global.Object===Object&&global,ld=H6,Z6=typeof self=="object"&&self&&self.Object===Object&&self,Q6=ld||Z6||Function("return this")(),te=Q6,W6=te.Symbol,kt=W6,sd=Object.prototype,K6=sd.hasOwnProperty,J6=sd.toString,Qr=kt?kt.toStringTag:void 0;function X6(e){var t=K6.call(e,Qr),r=e[Qr];try{e[Qr]=void 0;var i=!0}catch{}var n=J6.call(e);return i&&(t?e[Qr]=r:delete e[Qr]),n}var ew=X6,tw=Object.prototype,rw=tw.toString;function iw(e){return rw.call(e)}var nw=iw,ow="[object Null]",aw="[object Undefined]",Ac=kt?kt.toStringTag:void 0;function lw(e){return e==null?e===void 0?aw:ow:Ac&&Ac in Object(e)?ew(e):nw(e)}var li=lw;function sw(e){return e!=null&&typeof e=="object"}var za=sw,VJ=Array.isArray;function uw(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ud=uw,cw="[object AsyncFunction]",dw="[object Function]",pw="[object GeneratorFunction]",gw="[object Proxy]";function fw(e){if(!ud(e))return!1;var t=li(e);return t==dw||t==pw||t==cw||t==gw}var yw=fw,mw=te["__core-js_shared__"],wa=mw,Mc=function(){var e=/[^.]+$/.exec(wa&&wa.keys&&wa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function bw(e){return!!Mc&&Mc in e}var hw=bw,vw=Function.prototype,ww=vw.toString;function kw(e){if(e!=null){try{return ww.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=kw,xw=/[\\^$.*+?()[\]{}|]/g,Iw=/^\[object .+?Constructor\]$/,Cw=Function.prototype,Aw=Object.prototype,Mw=Cw.toString,jw=Aw.hasOwnProperty,Sw=RegExp("^"+Mw.call(jw).replace(xw,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $w(e){if(!ud(e)||hw(e))return!1;var t=yw(e)?Sw:Iw;return t.test(Oe(e))}var _w=$w;function Ew(e,t){return e?.[t]}var Lw=Ew;function Tw(e,t){var r=Lw(e,t);return _w(r)?r:void 0}var It=Tw,Ow=It(te,"WeakMap"),ja=Ow;function Nw(e,t){return e===t||e!==e&&t!==t}var Dw=Nw,Pw=9007199254740991;function zw(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pw}var Uw=zw,BJ=Object.prototype,Rw="[object Arguments]";function Fw(e){return za(e)&&li(e)==Rw}var jc=Fw,cd=Object.prototype,Vw=cd.hasOwnProperty,Bw=cd.propertyIsEnumerable,qJ=jc(function(){return arguments}())?jc:function(e){return za(e)&&Vw.call(e,"callee")&&!Bw.call(e,"callee")},dd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Sc=dd&&typeof module=="object"&&module&&!module.nodeType&&module,qw=Sc&&Sc.exports===dd,$c=qw?te.Buffer:void 0,GJ=$c?$c.isBuffer:void 0,Gw="[object Arguments]",Yw="[object Array]",Hw="[object Boolean]",Zw="[object Date]",Qw="[object Error]",Ww="[object Function]",Kw="[object Map]",Jw="[object Number]",Xw="[object Object]",ek="[object RegExp]",tk="[object Set]",rk="[object String]",ik="[object WeakMap]",nk="[object ArrayBuffer]",ok="[object DataView]",ak="[object Float32Array]",lk="[object Float64Array]",sk="[object Int8Array]",uk="[object Int16Array]",ck="[object Int32Array]",dk="[object Uint8Array]",pk="[object Uint8ClampedArray]",gk="[object Uint16Array]",fk="[object Uint32Array]",D={};D[ak]=D[lk]=D[sk]=D[uk]=D[ck]=D[dk]=D[pk]=D[gk]=D[fk]=!0;D[Gw]=D[Yw]=D[nk]=D[Hw]=D[ok]=D[Zw]=D[Qw]=D[Ww]=D[Kw]=D[Jw]=D[Xw]=D[ek]=D[tk]=D[rk]=D[ik]=!1;function yk(e){return za(e)&&Uw(e.length)&&!!D[li(e)]}var mk=yk;function bk(e){return function(t){return e(t)}}var hk=bk,pd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ti=pd&&typeof module=="object"&&module&&!module.nodeType&&module,vk=ti&&ti.exports===pd,ka=vk&&ld.process,wk=function(){try{var e=ti&&ti.require&&ti.require("util").types;return e||ka&&ka.binding&&ka.binding("util")}catch{}}(),_c=wk,Ec=_c&&_c.isTypedArray,YJ=Ec?hk(Ec):mk,kk=Object.prototype,HJ=kk.hasOwnProperty;function xk(e,t){return function(r){return e(t(r))}}var Ik=xk,ZJ=Ik(Object.keys,Object),Ck=Object.prototype,QJ=Ck.hasOwnProperty,Ak=It(Object,"create"),ii=Ak;function Mk(){this.__data__=ii?ii(null):{},this.size=0}var jk=Mk;function Sk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var $k=Sk,_k="__lodash_hash_undefined__",Ek=Object.prototype,Lk=Ek.hasOwnProperty;function Tk(e){var t=this.__data__;if(ii){var r=t[e];return r===_k?void 0:r}return Lk.call(t,e)?t[e]:void 0}var Ok=Tk,Nk=Object.prototype,Dk=Nk.hasOwnProperty;function Pk(e){var t=this.__data__;return ii?t[e]!==void 0:Dk.call(t,e)}var zk=Pk,Uk="__lodash_hash_undefined__";function Rk(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ii&&t===void 0?Uk:t,this}var Fk=Rk;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=jk;Ct.prototype.delete=$k;Ct.prototype.get=Ok;Ct.prototype.has=zk;Ct.prototype.set=Fk;var Lc=Ct;function Vk(){this.__data__=[],this.size=0}var Bk=Vk;function qk(e,t){for(var r=e.length;r--;)if(Dw(e[r][0],t))return r;return-1}var Zn=qk,Gk=Array.prototype,Yk=Gk.splice;function Hk(e){var t=this.__data__,r=Zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Yk.call(t,r,1),--this.size,!0}var Zk=Hk;function Qk(e){var t=this.__data__,r=Zn(t,e);return r<0?void 0:t[r][1]}var Wk=Qk;function Kk(e){return Zn(this.__data__,e)>-1}var Jk=Kk;function Xk(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 ex=Xk;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=Bk;At.prototype.delete=Zk;At.prototype.get=Wk;At.prototype.has=Jk;At.prototype.set=ex;var Qn=At,tx=It(te,"Map"),ni=tx;function rx(){this.size=0,this.__data__={hash:new Lc,map:new(ni||Qn),string:new Lc}}var ix=rx;function nx(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ox=nx;function ax(e,t){var r=e.__data__;return ox(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Wn=ax;function lx(e){var t=Wn(this,e).delete(e);return this.size-=t?1:0,t}var sx=lx;function ux(e){return Wn(this,e).get(e)}var cx=ux;function dx(e){return Wn(this,e).has(e)}var px=dx;function gx(e,t){var r=Wn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var fx=gx;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=ix;Mt.prototype.delete=sx;Mt.prototype.get=cx;Mt.prototype.has=px;Mt.prototype.set=fx;var gd=Mt;function yx(){this.__data__=new Qn,this.size=0}var mx=yx;function bx(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var hx=bx;function vx(e){return this.__data__.get(e)}var wx=vx;function kx(e){return this.__data__.has(e)}var xx=kx,Ix=200;function Cx(e,t){var r=this.__data__;if(r instanceof Qn){var i=r.__data__;if(!ni||i.length<Ix-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 Ax=Cx;function si(e){var t=this.__data__=new Qn(e);this.size=t.size}si.prototype.clear=mx;si.prototype.delete=hx;si.prototype.get=wx;si.prototype.has=xx;si.prototype.set=Ax;var Mx=Object.prototype,WJ=Mx.propertyIsEnumerable,jx=It(te,"DataView"),Sa=jx,Sx=It(te,"Promise"),$a=Sx,$x=It(te,"Set"),_a=$x,Tc="[object Map]",_x="[object Object]",Oc="[object Promise]",Nc="[object Set]",Dc="[object WeakMap]",Pc="[object DataView]",Ex=Oe(Sa),Lx=Oe(ni),Tx=Oe($a),Ox=Oe(_a),Nx=Oe(ja),ht=li;(Sa&&ht(new Sa(new ArrayBuffer(1)))!=Pc||ni&&ht(new ni)!=Tc||$a&&ht($a.resolve())!=Oc||_a&&ht(new _a)!=Nc||ja&&ht(new ja)!=Dc)&&(ht=function(e){var t=li(e),r=t==_x?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case Ex:return Pc;case Lx:return Tc;case Tx:return Oc;case Ox:return Nc;case Nx:return Dc}return t});var KJ=te.Uint8Array,Dx="__lodash_hash_undefined__";function Px(e){return this.__data__.set(e,Dx),this}var zx=Px;function Ux(e){return this.__data__.has(e)}var Rx=Ux;function Ea(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new gd;++t<r;)this.add(e[t])}Ea.prototype.add=Ea.prototype.push=zx;Ea.prototype.has=Rx;var zc=kt?kt.prototype:void 0,JJ=zc?zc.valueOf:void 0,Fx=Object.prototype,XJ=Fx.hasOwnProperty,Vx=Object.prototype,eX=Vx.hasOwnProperty,tX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),rX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),iX=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 Bx(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 qx(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 Gx(e){return e!==void 0}var Yx=Gx;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))}},Hx=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 Zx(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 Qx({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 Wx=Qx,xa="ly.img.ai.temp";async function Kx(e,t){return e.engine.asset.findAllSources().includes(xa)||e.engine.asset.addLocalSource(xa),e.engine.asset.apply(xa,t)}function Jx(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 Xx(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 eI(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 tI(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function rI(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 iI(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 nI=iI;function oI(){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 aI=oI;function lI(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),sI(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:Jx(e)}))}function sI(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=lI,uI="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Ra=uI;function cI(e,t,r){switch(t){case"image":return dI(e,r[t]);case"video":return pI(e,r[t]);case"sticker":return gI(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function dI(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 pI(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 gI(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 fI=cI;async function yI(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 mI(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 bI(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 hI(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 vI(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function mI(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 bI(e,t,r){let i=t.width,n=t.height,a=await Xx(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 hI(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 vI(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=yI;function wI(e){switch(e.userFlow){case"placeholder":return xI(e);case"generation-only":return kI(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function kI(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 xI(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=fI(s,a,o);if(i=await Kx(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 II=wI;function Fa(e){return`${e}.generating`}function CI(e){return`${e}.abort`}function AI(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(CI(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 II({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;MI(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 MI(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=AI;async function jI({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 SI=jI;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 $I(e){return Jr(e,{...e})}function _I(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 EI(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return LI(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function LI(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=TI(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function TI(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=EI;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?OI(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 NI(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=DI(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 OI(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 NI(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},j=(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 M=w.$ref?w.$ref.split("/").pop():w.title;h[C]=()=>La(e,{id:C,schema:{...w,title:v[M]||M}},r,i,n,a,o,s),f.push(A(C,M))}else if(w.type==="string"&&w.enum)w.enum.forEach(M=>{f.push(A(M,M))});else if(w.type&&I[w.type]){let M=I[w.type];h[C]=()=>M(e,{id:C,schema:{...w,title:w.title}},r,i,n,a,o,s);let q=j(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 E=di(d,y,x,t.schema.default,null),S=E!=null?f.find(w=>w.id===E)??f[0]:f[0],$=l(p,S);if(c.Select(p,{inputLabel:g,values:f,...$}),$.value.id in h){let w=h[$.value.id]();b[$.value.id]=w}return()=>{let w=b[$.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:$.value.id}}}function DI(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var PI=Id,zI={"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 UI(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={...zI,...n};Object.keys(c).length>0&&ui(r.cesdk,{en:c})}async function RI({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=$I(r.document),c=wd(s,r.inputReference);if(!_I(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 UI(u,t,e,t.kind),d=>{let{builder:p}=d,g=[];p.Section(`${o}.schema.section`,{children:()=>{u.forEach(b=>{let v=PI(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 FI=RI;async function VI(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return SI(e,t);case"schema":return FI(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var BI=VI;function qI(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 G6(o,r)),o}return i}var GI=qI;function YI(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 HI=YI,Ia="@imgly/plugin-ai-generation",ZI=`
@@ -206,7 +206,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
206
206
  </symbol>
207
207
  </svg>
208
208
  `,QI=ZI;function WI(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 KI(t,e,r)):i(t,r)}async function KI(e,t,r){switch(t.kind){case"image":return JI(e,t,r);case"video":return XI(e,t,r);case"text":return eC(e,t,r);case"audio":return rC(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function JI(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 qx(s,r),l=await Bx(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 XI(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function eC(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 tC(a,r.abortSignal)}async function*tC(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 rC(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:iC(220,i),duration:i,thumbnailUrl:void 0}}function iC(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 nC(i,44100)}function nC(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 oC=WI,aC="USER_CANCEL";function lC(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Zx([...e.provider.output.middleware??[],...r?.middlewares??[],Wx({enable:r?.debug}),oC({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}:eI(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===aC?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var sC=lC;async function uC(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=GI(a),s=HI(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=sC({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await BI(a,c);tI(r.cesdk,"@imgly/plugin-ai-generation",QI);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return Hx.get().register(u),u}var Ca=uC;function cC(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 Y6(n,r,i);return r.engine.asset.addSource(a),a.id}var dC=cC;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 pC(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=fC({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=gC({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=dC({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(Yx)}),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 gC({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:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.builderRenderFunction})),v=i.map(({provider:C,panel:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.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],j=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,E=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(E,{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 $=d&&g&&r.length>0&&i.length>0,w=a&&$,_=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];j!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:Xr(e,"providerSelect.label"),values:C,value:A,setValue:M=>{j.setValue(M.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function fC({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 yC=pC,mC=typeof global=="object"&&global&&global.Object===Object&&global,Sd=mC,bC=typeof self=="object"&&self&&self.Object===Object&&self,hC=Sd||bC||Function("return this")(),re=hC,vC=re.Symbol,xt=vC,$d=Object.prototype,wC=$d.hasOwnProperty,kC=$d.toString,Kr=xt?xt.toStringTag:void 0;function xC(e){var t=wC.call(e,Kr),r=e[Kr];try{e[Kr]=void 0;var i=!0}catch{}var n=kC.call(e);return i&&(t?e[Kr]=r:delete e[Kr]),n}var IC=xC,CC=Object.prototype,AC=CC.toString;function MC(e){return AC.call(e)}var jC=MC,SC="[object Null]",$C="[object Undefined]",Vc=xt?xt.toStringTag:void 0;function _C(e){return e==null?e===void 0?$C:SC:Vc&&Vc in Object(e)?IC(e):jC(e)}var pi=_C;function EC(e){return e!=null&&typeof e=="object"}var Va=EC,nX=Array.isArray;function LC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var _d=LC,TC="[object AsyncFunction]",OC="[object Function]",NC="[object GeneratorFunction]",DC="[object Proxy]";function PC(e){if(!_d(e))return!1;var t=pi(e);return t==OC||t==NC||t==TC||t==DC}var zC=PC,UC=re["__core-js_shared__"],Aa=UC,Bc=function(){var e=/[^.]+$/.exec(Aa&&Aa.keys&&Aa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function RC(e){return!!Bc&&Bc in e}var FC=RC,VC=Function.prototype,BC=VC.toString;function qC(e){if(e!=null){try{return BC.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=qC,GC=/[\\^$.*+?()[\]{}|]/g,YC=/^\[object .+?Constructor\]$/,HC=Function.prototype,ZC=Object.prototype,QC=HC.toString,WC=ZC.hasOwnProperty,KC=RegExp("^"+QC.call(WC).replace(GC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function JC(e){if(!_d(e)||FC(e))return!1;var t=zC(e)?KC:YC;return t.test(Ne(e))}var XC=JC;function eA(e,t){return e?.[t]}var tA=eA;function rA(e,t){var r=tA(e,t);return XC(r)?r:void 0}var jt=rA,iA=jt(re,"WeakMap"),Ta=iA;function nA(e,t){return e===t||e!==e&&t!==t}var oA=nA,aA=9007199254740991;function lA(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=aA}var sA=lA,oX=Object.prototype,uA="[object Arguments]";function cA(e){return Va(e)&&pi(e)==uA}var qc=cA,Ed=Object.prototype,dA=Ed.hasOwnProperty,pA=Ed.propertyIsEnumerable,aX=qc(function(){return arguments}())?qc:function(e){return Va(e)&&dA.call(e,"callee")&&!pA.call(e,"callee")},Ld=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gc=Ld&&typeof module=="object"&&module&&!module.nodeType&&module,gA=Gc&&Gc.exports===Ld,Yc=gA?re.Buffer:void 0,lX=Yc?Yc.isBuffer:void 0,fA="[object Arguments]",yA="[object Array]",mA="[object Boolean]",bA="[object Date]",hA="[object Error]",vA="[object Function]",wA="[object Map]",kA="[object Number]",xA="[object Object]",IA="[object RegExp]",CA="[object Set]",AA="[object String]",MA="[object WeakMap]",jA="[object ArrayBuffer]",SA="[object DataView]",$A="[object Float32Array]",_A="[object Float64Array]",EA="[object Int8Array]",LA="[object Int16Array]",TA="[object Int32Array]",OA="[object Uint8Array]",NA="[object Uint8ClampedArray]",DA="[object Uint16Array]",PA="[object Uint32Array]",P={};P[$A]=P[_A]=P[EA]=P[LA]=P[TA]=P[OA]=P[NA]=P[DA]=P[PA]=!0;P[fA]=P[yA]=P[jA]=P[mA]=P[SA]=P[bA]=P[hA]=P[vA]=P[wA]=P[kA]=P[xA]=P[IA]=P[CA]=P[AA]=P[MA]=!1;function zA(e){return Va(e)&&sA(e.length)&&!!P[pi(e)]}var UA=zA;function RA(e){return function(t){return e(t)}}var FA=RA,Td=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Td&&typeof module=="object"&&module&&!module.nodeType&&module,VA=ri&&ri.exports===Td,Ma=VA&&Sd.process,BA=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Ma&&Ma.binding&&Ma.binding("util")}catch{}}(),Hc=BA,Zc=Hc&&Hc.isTypedArray,sX=Zc?FA(Zc):UA,qA=Object.prototype,uX=qA.hasOwnProperty;function GA(e,t){return function(r){return e(t(r))}}var YA=GA,cX=YA(Object.keys,Object),HA=Object.prototype,dX=HA.hasOwnProperty,ZA=jt(Object,"create"),oi=ZA;function QA(){this.__data__=oi?oi(null):{},this.size=0}var WA=QA;function KA(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var JA=KA,XA="__lodash_hash_undefined__",eM=Object.prototype,tM=eM.hasOwnProperty;function rM(e){var t=this.__data__;if(oi){var r=t[e];return r===XA?void 0:r}return tM.call(t,e)?t[e]:void 0}var iM=rM,nM=Object.prototype,oM=nM.hasOwnProperty;function aM(e){var t=this.__data__;return oi?t[e]!==void 0:oM.call(t,e)}var lM=aM,sM="__lodash_hash_undefined__";function uM(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=oi&&t===void 0?sM:t,this}var cM=uM;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=WA;St.prototype.delete=JA;St.prototype.get=iM;St.prototype.has=lM;St.prototype.set=cM;var Qc=St;function dM(){this.__data__=[],this.size=0}var pM=dM;function gM(e,t){for(var r=e.length;r--;)if(oA(e[r][0],t))return r;return-1}var Kn=gM,fM=Array.prototype,yM=fM.splice;function mM(e){var t=this.__data__,r=Kn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():yM.call(t,r,1),--this.size,!0}var bM=mM;function hM(e){var t=this.__data__,r=Kn(t,e);return r<0?void 0:t[r][1]}var vM=hM;function wM(e){return Kn(this.__data__,e)>-1}var kM=wM;function xM(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 IM=xM;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=pM;$t.prototype.delete=bM;$t.prototype.get=vM;$t.prototype.has=kM;$t.prototype.set=IM;var Jn=$t,CM=jt(re,"Map"),ai=CM;function AM(){this.size=0,this.__data__={hash:new Qc,map:new(ai||Jn),string:new Qc}}var MM=AM;function jM(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var SM=jM;function $M(e,t){var r=e.__data__;return SM(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Xn=$M;function _M(e){var t=Xn(this,e).delete(e);return this.size-=t?1:0,t}var EM=_M;function LM(e){return Xn(this,e).get(e)}var TM=LM;function OM(e){return Xn(this,e).has(e)}var NM=OM;function DM(e,t){var r=Xn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var PM=DM;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=MM;_t.prototype.delete=EM;_t.prototype.get=TM;_t.prototype.has=NM;_t.prototype.set=PM;var Od=_t;function zM(){this.__data__=new Jn,this.size=0}var UM=zM;function RM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var FM=RM;function VM(e){return this.__data__.get(e)}var BM=VM;function qM(e){return this.__data__.has(e)}var GM=qM,YM=200;function HM(e,t){var r=this.__data__;if(r instanceof Jn){var i=r.__data__;if(!ai||i.length<YM-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 ZM=HM;function gi(e){var t=this.__data__=new Jn(e);this.size=t.size}gi.prototype.clear=UM;gi.prototype.delete=FM;gi.prototype.get=BM;gi.prototype.has=GM;gi.prototype.set=ZM;var QM=Object.prototype,pX=QM.propertyIsEnumerable,WM=jt(re,"DataView"),Oa=WM,KM=jt(re,"Promise"),Na=KM,JM=jt(re,"Set"),Da=JM,Wc="[object Map]",XM="[object Object]",Kc="[object Promise]",Jc="[object Set]",Xc="[object WeakMap]",ed="[object DataView]",ej=Ne(Oa),tj=Ne(ai),rj=Ne(Na),ij=Ne(Da),nj=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==XM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case ej:return ed;case tj:return Wc;case rj:return Kc;case ij:return Jc;case nj:return Xc}return t});var gX=re.Uint8Array,oj="__lodash_hash_undefined__";function aj(e){return this.__data__.set(e,oj),this}var lj=aj;function sj(e){return this.__data__.has(e)}var uj=sj;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=lj;Pa.prototype.has=uj;var td=xt?xt.prototype:void 0,fX=td?td.valueOf:void 0,cj=Object.prototype,yX=cj.hasOwnProperty,dj=Object.prototype,mX=dj.hasOwnProperty,bX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),hX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),vX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function pj(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 pj(i,t)}function gj(e){return e==null?[]:Array.isArray(e)?e:[e]}var rd=gj;function fj(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function yj(e){return typeof e?.translate=="function"}function mj(e,t,r){return e&&fj(e)&&yj(e.i18n)?e.i18n.translate(t):r}var ei="@imgly/plugin-ai-video-generation-web";var eo="createVideo",id=`ly.img.${eo}`,bj=`ly.img.plugin-ai-video-generation-web.quickAction.${eo}`,nd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${eo}`;function hj(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 vj=({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:`${bj}`,enable:aI(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${id}.button`,{label:hj(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)}}})}}),wj=vj,to="animateBetweenImages",od=`ly.img.${to}`,kj=`ly.img.plugin-ai-video-generation-web.quickAction.${to}`,ad=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${to}`;function xj(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 Ij=({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:`${kj}`,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:xj(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"})}}})}}),Cj=Ij,be="ly.img.ai.video-generation";function Aj(e){return{async initialize({cesdk:t}){if(t==null)return;rI(t,ei,"1.68.0-rc.1"),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."}}),Mj(e);let i=Hn.get().register({type:"plugin",sceneMode:"Video",id:ei,pluginId:ei,label:mj(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 yC("video",{fromText:o,fromImage:s},{cesdk:t},e);Hn.get().register(wj({cesdk:t})),Hn.get().register(Cj({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(be,c.panel.builderRenderFunction),nI({cesdk:t,panelId:be})):i()}}}function Mj(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 jj=Aj,Sj=e=>({name:ei,version:"1.68.0-rc.1",...jj(e)}),Dd=Sj;var $j=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 _j=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")}},Ej=typeof global=="object"&&global&&global.Object===Object&&global,hp=Ej,Lj=typeof self=="object"&&self&&self.Object===Object&&self,Tj=hp||Lj||Function("return this")(),ie=Tj,Oj=ie.Symbol,Ot=Oj,vp=Object.prototype,Nj=vp.hasOwnProperty,Dj=vp.toString,fi=Ot?Ot.toStringTag:void 0;function Pj(e){var t=Nj.call(e,fi),r=e[fi];try{e[fi]=void 0;var i=!0}catch{}var n=Dj.call(e);return i&&(t?e[fi]=r:delete e[fi]),n}var zj=Pj,Uj=Object.prototype,Rj=Uj.toString;function Fj(e){return Rj.call(e)}var Vj=Fj,Bj="[object Null]",qj="[object Undefined]",Pd=Ot?Ot.toStringTag:void 0;function Gj(e){return e==null?e===void 0?qj:Bj:Pd&&Pd in Object(e)?zj(e):Vj(e)}var Ai=Gj;function Yj(e){return e!=null&&typeof e=="object"}var ll=Yj,IX=Array.isArray;function Hj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var wp=Hj,Zj="[object AsyncFunction]",Qj="[object Function]",Wj="[object GeneratorFunction]",Kj="[object Proxy]";function Jj(e){if(!wp(e))return!1;var t=Ai(e);return t==Qj||t==Wj||t==Zj||t==Kj}var Xj=Jj,eS=ie["__core-js_shared__"],Ba=eS,zd=function(){var e=/[^.]+$/.exec(Ba&&Ba.keys&&Ba.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tS(e){return!!zd&&zd in e}var rS=tS,iS=Function.prototype,nS=iS.toString;function oS(e){if(e!=null){try{return nS.call(e)}catch{}try{return e+""}catch{}}return""}var ze=oS,aS=/[\\^$.*+?()[\]{}|]/g,lS=/^\[object .+?Constructor\]$/,sS=Function.prototype,uS=Object.prototype,cS=sS.toString,dS=uS.hasOwnProperty,pS=RegExp("^"+cS.call(dS).replace(aS,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gS(e){if(!wp(e)||rS(e))return!1;var t=Xj(e)?pS:lS;return t.test(ze(e))}var fS=gS;function yS(e,t){return e?.[t]}var mS=yS;function bS(e,t){var r=mS(e,t);return fS(r)?r:void 0}var Dt=bS,hS=Dt(ie,"WeakMap"),Wa=hS;function vS(e,t){return e===t||e!==e&&t!==t}var wS=vS,kS=9007199254740991;function xS(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kS}var IS=xS,CX=Object.prototype,CS="[object Arguments]";function AS(e){return ll(e)&&Ai(e)==CS}var Ud=AS,kp=Object.prototype,MS=kp.hasOwnProperty,jS=kp.propertyIsEnumerable,AX=Ud(function(){return arguments}())?Ud:function(e){return ll(e)&&MS.call(e,"callee")&&!jS.call(e,"callee")},xp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Rd=xp&&typeof module=="object"&&module&&!module.nodeType&&module,SS=Rd&&Rd.exports===xp,Fd=SS?ie.Buffer:void 0,MX=Fd?Fd.isBuffer:void 0,$S="[object Arguments]",_S="[object Array]",ES="[object Boolean]",LS="[object Date]",TS="[object Error]",OS="[object Function]",NS="[object Map]",DS="[object Number]",PS="[object Object]",zS="[object RegExp]",US="[object Set]",RS="[object String]",FS="[object WeakMap]",VS="[object ArrayBuffer]",BS="[object DataView]",qS="[object Float32Array]",GS="[object Float64Array]",YS="[object Int8Array]",HS="[object Int16Array]",ZS="[object Int32Array]",QS="[object Uint8Array]",WS="[object Uint8ClampedArray]",KS="[object Uint16Array]",JS="[object Uint32Array]",z={};z[qS]=z[GS]=z[YS]=z[HS]=z[ZS]=z[QS]=z[WS]=z[KS]=z[JS]=!0;z[$S]=z[_S]=z[VS]=z[ES]=z[BS]=z[LS]=z[TS]=z[OS]=z[NS]=z[DS]=z[PS]=z[zS]=z[US]=z[RS]=z[FS]=!1;function XS(e){return ll(e)&&IS(e.length)&&!!z[Ai(e)]}var e$=XS;function t$(e){return function(t){return e(t)}}var r$=t$,Ip=typeof exports=="object"&&exports&&!exports.nodeType&&exports,vi=Ip&&typeof module=="object"&&module&&!module.nodeType&&module,i$=vi&&vi.exports===Ip,qa=i$&&hp.process,n$=function(){try{var e=vi&&vi.require&&vi.require("util").types;return e||qa&&qa.binding&&qa.binding("util")}catch{}}(),Vd=n$,Bd=Vd&&Vd.isTypedArray,jX=Bd?r$(Bd):e$,o$=Object.prototype,SX=o$.hasOwnProperty;function a$(e,t){return function(r){return e(t(r))}}var l$=a$,$X=l$(Object.keys,Object),s$=Object.prototype,_X=s$.hasOwnProperty,u$=Dt(Object,"create"),ki=u$;function c$(){this.__data__=ki?ki(null):{},this.size=0}var d$=c$;function p$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var g$=p$,f$="__lodash_hash_undefined__",y$=Object.prototype,m$=y$.hasOwnProperty;function b$(e){var t=this.__data__;if(ki){var r=t[e];return r===f$?void 0:r}return m$.call(t,e)?t[e]:void 0}var h$=b$,v$=Object.prototype,w$=v$.hasOwnProperty;function k$(e){var t=this.__data__;return ki?t[e]!==void 0:w$.call(t,e)}var x$=k$,I$="__lodash_hash_undefined__";function C$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ki&&t===void 0?I$:t,this}var A$=C$;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=d$;Pt.prototype.delete=g$;Pt.prototype.get=h$;Pt.prototype.has=x$;Pt.prototype.set=A$;var qd=Pt;function M$(){this.__data__=[],this.size=0}var j$=M$;function S$(e,t){for(var r=e.length;r--;)if(wS(e[r][0],t))return r;return-1}var ro=S$,$$=Array.prototype,_$=$$.splice;function E$(e){var t=this.__data__,r=ro(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():_$.call(t,r,1),--this.size,!0}var L$=E$;function T$(e){var t=this.__data__,r=ro(t,e);return r<0?void 0:t[r][1]}var O$=T$;function N$(e){return ro(this.__data__,e)>-1}var D$=N$;function P$(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 z$=P$;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=j$;zt.prototype.delete=L$;zt.prototype.get=O$;zt.prototype.has=D$;zt.prototype.set=z$;var io=zt,U$=Dt(ie,"Map"),xi=U$;function R$(){this.size=0,this.__data__={hash:new qd,map:new(xi||io),string:new qd}}var F$=R$;function V$(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var B$=V$;function q$(e,t){var r=e.__data__;return B$(t)?r[typeof t=="string"?"string":"hash"]:r.map}var no=q$;function G$(e){var t=no(this,e).delete(e);return this.size-=t?1:0,t}var Y$=G$;function H$(e){return no(this,e).get(e)}var Z$=H$;function Q$(e){return no(this,e).has(e)}var W$=Q$;function K$(e,t){var r=no(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var J$=K$;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=F$;Ut.prototype.delete=Y$;Ut.prototype.get=Z$;Ut.prototype.has=W$;Ut.prototype.set=J$;var Cp=Ut;function X$(){this.__data__=new io,this.size=0}var e_=X$;function t_(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var r_=t_;function i_(e){return this.__data__.get(e)}var n_=i_;function o_(e){return this.__data__.has(e)}var a_=o_,l_=200;function s_(e,t){var r=this.__data__;if(r instanceof io){var i=r.__data__;if(!xi||i.length<l_-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 u_=s_;function Mi(e){var t=this.__data__=new io(e);this.size=t.size}Mi.prototype.clear=e_;Mi.prototype.delete=r_;Mi.prototype.get=n_;Mi.prototype.has=a_;Mi.prototype.set=u_;var c_=Object.prototype,EX=c_.propertyIsEnumerable,d_=Dt(ie,"DataView"),Ka=d_,p_=Dt(ie,"Promise"),Ja=p_,g_=Dt(ie,"Set"),Xa=g_,Gd="[object Map]",f_="[object Object]",Yd="[object Promise]",Hd="[object Set]",Zd="[object WeakMap]",Qd="[object DataView]",y_=ze(Ka),m_=ze(xi),b_=ze(Ja),h_=ze(Xa),v_=ze(Wa),Et=Ai;(Ka&&Et(new Ka(new ArrayBuffer(1)))!=Qd||xi&&Et(new xi)!=Gd||Ja&&Et(Ja.resolve())!=Yd||Xa&&Et(new Xa)!=Hd||Wa&&Et(new Wa)!=Zd)&&(Et=function(e){var t=Ai(e),r=t==f_?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case y_:return Qd;case m_:return Gd;case b_:return Yd;case h_:return Hd;case v_:return Zd}return t});var LX=ie.Uint8Array,w_="__lodash_hash_undefined__";function k_(e){return this.__data__.set(e,w_),this}var x_=k_;function I_(e){return this.__data__.has(e)}var C_=I_;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=x_;el.prototype.has=C_;var Wd=Ot?Ot.prototype:void 0,TX=Wd?Wd.valueOf:void 0,A_=Object.prototype,OX=A_.hasOwnProperty,M_=Object.prototype,NX=M_.hasOwnProperty,DX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),PX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),zX=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 j_(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 S_(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 $_(e){return e!==void 0}var __=$_;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 L_(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 T_({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 O_=T_,Ga="ly.img.ai.temp";async function N_(e,t){return e.engine.asset.findAllSources().includes(Ga)||e.engine.asset.addLocalSource(Ga),e.engine.asset.apply(Ga,t)}function D_(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 P_(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 z_(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 U_(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function R_(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 XI(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function eC(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 tC(a,r.abortSignal)}async function*tC(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 rC(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:iC(220,i),duration:i,thumbnailUrl:void 0}}function iC(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 nC(i,44100)}function nC(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 oC=WI,aC="USER_CANCEL";function lC(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Zx([...e.provider.output.middleware??[],...r?.middlewares??[],Wx({enable:r?.debug}),oC({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}:eI(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===aC?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var sC=lC;async function uC(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=GI(a),s=HI(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=sC({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await BI(a,c);tI(r.cesdk,"@imgly/plugin-ai-generation",QI);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return Hx.get().register(u),u}var Ca=uC;function cC(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 Y6(n,r,i);return r.engine.asset.addSource(a),a.id}var dC=cC;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 pC(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=fC({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=gC({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=dC({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(Yx)}),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 gC({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:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.builderRenderFunction})),v=i.map(({provider:C,panel:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.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],j=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,E=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(E,{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 $=d&&g&&r.length>0&&i.length>0,w=a&&$,_=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];j!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:Xr(e,"providerSelect.label"),values:C,value:A,setValue:M=>{j.setValue(M.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function fC({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 yC=pC,mC=typeof global=="object"&&global&&global.Object===Object&&global,Sd=mC,bC=typeof self=="object"&&self&&self.Object===Object&&self,hC=Sd||bC||Function("return this")(),re=hC,vC=re.Symbol,xt=vC,$d=Object.prototype,wC=$d.hasOwnProperty,kC=$d.toString,Kr=xt?xt.toStringTag:void 0;function xC(e){var t=wC.call(e,Kr),r=e[Kr];try{e[Kr]=void 0;var i=!0}catch{}var n=kC.call(e);return i&&(t?e[Kr]=r:delete e[Kr]),n}var IC=xC,CC=Object.prototype,AC=CC.toString;function MC(e){return AC.call(e)}var jC=MC,SC="[object Null]",$C="[object Undefined]",Vc=xt?xt.toStringTag:void 0;function _C(e){return e==null?e===void 0?$C:SC:Vc&&Vc in Object(e)?IC(e):jC(e)}var pi=_C;function EC(e){return e!=null&&typeof e=="object"}var Va=EC,nX=Array.isArray;function LC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var _d=LC,TC="[object AsyncFunction]",OC="[object Function]",NC="[object GeneratorFunction]",DC="[object Proxy]";function PC(e){if(!_d(e))return!1;var t=pi(e);return t==OC||t==NC||t==TC||t==DC}var zC=PC,UC=re["__core-js_shared__"],Aa=UC,Bc=function(){var e=/[^.]+$/.exec(Aa&&Aa.keys&&Aa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function RC(e){return!!Bc&&Bc in e}var FC=RC,VC=Function.prototype,BC=VC.toString;function qC(e){if(e!=null){try{return BC.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=qC,GC=/[\\^$.*+?()[\]{}|]/g,YC=/^\[object .+?Constructor\]$/,HC=Function.prototype,ZC=Object.prototype,QC=HC.toString,WC=ZC.hasOwnProperty,KC=RegExp("^"+QC.call(WC).replace(GC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function JC(e){if(!_d(e)||FC(e))return!1;var t=zC(e)?KC:YC;return t.test(Ne(e))}var XC=JC;function eA(e,t){return e?.[t]}var tA=eA;function rA(e,t){var r=tA(e,t);return XC(r)?r:void 0}var jt=rA,iA=jt(re,"WeakMap"),Ta=iA;function nA(e,t){return e===t||e!==e&&t!==t}var oA=nA,aA=9007199254740991;function lA(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=aA}var sA=lA,oX=Object.prototype,uA="[object Arguments]";function cA(e){return Va(e)&&pi(e)==uA}var qc=cA,Ed=Object.prototype,dA=Ed.hasOwnProperty,pA=Ed.propertyIsEnumerable,aX=qc(function(){return arguments}())?qc:function(e){return Va(e)&&dA.call(e,"callee")&&!pA.call(e,"callee")},Ld=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gc=Ld&&typeof module=="object"&&module&&!module.nodeType&&module,gA=Gc&&Gc.exports===Ld,Yc=gA?re.Buffer:void 0,lX=Yc?Yc.isBuffer:void 0,fA="[object Arguments]",yA="[object Array]",mA="[object Boolean]",bA="[object Date]",hA="[object Error]",vA="[object Function]",wA="[object Map]",kA="[object Number]",xA="[object Object]",IA="[object RegExp]",CA="[object Set]",AA="[object String]",MA="[object WeakMap]",jA="[object ArrayBuffer]",SA="[object DataView]",$A="[object Float32Array]",_A="[object Float64Array]",EA="[object Int8Array]",LA="[object Int16Array]",TA="[object Int32Array]",OA="[object Uint8Array]",NA="[object Uint8ClampedArray]",DA="[object Uint16Array]",PA="[object Uint32Array]",P={};P[$A]=P[_A]=P[EA]=P[LA]=P[TA]=P[OA]=P[NA]=P[DA]=P[PA]=!0;P[fA]=P[yA]=P[jA]=P[mA]=P[SA]=P[bA]=P[hA]=P[vA]=P[wA]=P[kA]=P[xA]=P[IA]=P[CA]=P[AA]=P[MA]=!1;function zA(e){return Va(e)&&sA(e.length)&&!!P[pi(e)]}var UA=zA;function RA(e){return function(t){return e(t)}}var FA=RA,Td=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Td&&typeof module=="object"&&module&&!module.nodeType&&module,VA=ri&&ri.exports===Td,Ma=VA&&Sd.process,BA=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Ma&&Ma.binding&&Ma.binding("util")}catch{}}(),Hc=BA,Zc=Hc&&Hc.isTypedArray,sX=Zc?FA(Zc):UA,qA=Object.prototype,uX=qA.hasOwnProperty;function GA(e,t){return function(r){return e(t(r))}}var YA=GA,cX=YA(Object.keys,Object),HA=Object.prototype,dX=HA.hasOwnProperty,ZA=jt(Object,"create"),oi=ZA;function QA(){this.__data__=oi?oi(null):{},this.size=0}var WA=QA;function KA(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var JA=KA,XA="__lodash_hash_undefined__",eM=Object.prototype,tM=eM.hasOwnProperty;function rM(e){var t=this.__data__;if(oi){var r=t[e];return r===XA?void 0:r}return tM.call(t,e)?t[e]:void 0}var iM=rM,nM=Object.prototype,oM=nM.hasOwnProperty;function aM(e){var t=this.__data__;return oi?t[e]!==void 0:oM.call(t,e)}var lM=aM,sM="__lodash_hash_undefined__";function uM(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=oi&&t===void 0?sM:t,this}var cM=uM;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=WA;St.prototype.delete=JA;St.prototype.get=iM;St.prototype.has=lM;St.prototype.set=cM;var Qc=St;function dM(){this.__data__=[],this.size=0}var pM=dM;function gM(e,t){for(var r=e.length;r--;)if(oA(e[r][0],t))return r;return-1}var Kn=gM,fM=Array.prototype,yM=fM.splice;function mM(e){var t=this.__data__,r=Kn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():yM.call(t,r,1),--this.size,!0}var bM=mM;function hM(e){var t=this.__data__,r=Kn(t,e);return r<0?void 0:t[r][1]}var vM=hM;function wM(e){return Kn(this.__data__,e)>-1}var kM=wM;function xM(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 IM=xM;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=pM;$t.prototype.delete=bM;$t.prototype.get=vM;$t.prototype.has=kM;$t.prototype.set=IM;var Jn=$t,CM=jt(re,"Map"),ai=CM;function AM(){this.size=0,this.__data__={hash:new Qc,map:new(ai||Jn),string:new Qc}}var MM=AM;function jM(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var SM=jM;function $M(e,t){var r=e.__data__;return SM(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Xn=$M;function _M(e){var t=Xn(this,e).delete(e);return this.size-=t?1:0,t}var EM=_M;function LM(e){return Xn(this,e).get(e)}var TM=LM;function OM(e){return Xn(this,e).has(e)}var NM=OM;function DM(e,t){var r=Xn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var PM=DM;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=MM;_t.prototype.delete=EM;_t.prototype.get=TM;_t.prototype.has=NM;_t.prototype.set=PM;var Od=_t;function zM(){this.__data__=new Jn,this.size=0}var UM=zM;function RM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var FM=RM;function VM(e){return this.__data__.get(e)}var BM=VM;function qM(e){return this.__data__.has(e)}var GM=qM,YM=200;function HM(e,t){var r=this.__data__;if(r instanceof Jn){var i=r.__data__;if(!ai||i.length<YM-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 ZM=HM;function gi(e){var t=this.__data__=new Jn(e);this.size=t.size}gi.prototype.clear=UM;gi.prototype.delete=FM;gi.prototype.get=BM;gi.prototype.has=GM;gi.prototype.set=ZM;var QM=Object.prototype,pX=QM.propertyIsEnumerable,WM=jt(re,"DataView"),Oa=WM,KM=jt(re,"Promise"),Na=KM,JM=jt(re,"Set"),Da=JM,Wc="[object Map]",XM="[object Object]",Kc="[object Promise]",Jc="[object Set]",Xc="[object WeakMap]",ed="[object DataView]",ej=Ne(Oa),tj=Ne(ai),rj=Ne(Na),ij=Ne(Da),nj=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==XM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case ej:return ed;case tj:return Wc;case rj:return Kc;case ij:return Jc;case nj:return Xc}return t});var gX=re.Uint8Array,oj="__lodash_hash_undefined__";function aj(e){return this.__data__.set(e,oj),this}var lj=aj;function sj(e){return this.__data__.has(e)}var uj=sj;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=lj;Pa.prototype.has=uj;var td=xt?xt.prototype:void 0,fX=td?td.valueOf:void 0,cj=Object.prototype,yX=cj.hasOwnProperty,dj=Object.prototype,mX=dj.hasOwnProperty,bX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),hX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),vX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function pj(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 pj(i,t)}function gj(e){return e==null?[]:Array.isArray(e)?e:[e]}var rd=gj;function fj(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function yj(e){return typeof e?.translate=="function"}function mj(e,t,r){return e&&fj(e)&&yj(e.i18n)?e.i18n.translate(t):r}var ei="@imgly/plugin-ai-video-generation-web";var eo="createVideo",id=`ly.img.${eo}`,bj=`ly.img.plugin-ai-video-generation-web.quickAction.${eo}`,nd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${eo}`;function hj(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 vj=({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:`${bj}`,enable:aI(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${id}.button`,{label:hj(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)}}})}}),wj=vj,to="animateBetweenImages",od=`ly.img.${to}`,kj=`ly.img.plugin-ai-video-generation-web.quickAction.${to}`,ad=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${to}`;function xj(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 Ij=({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:`${kj}`,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:xj(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"})}}})}}),Cj=Ij,be="ly.img.ai.video-generation";function Aj(e){return{async initialize({cesdk:t}){if(t==null)return;rI(t,ei,"1.68.0-rc.3"),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."}}),Mj(e);let i=Hn.get().register({type:"plugin",sceneMode:"Video",id:ei,pluginId:ei,label:mj(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 yC("video",{fromText:o,fromImage:s},{cesdk:t},e);Hn.get().register(wj({cesdk:t})),Hn.get().register(Cj({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(be,c.panel.builderRenderFunction),nI({cesdk:t,panelId:be})):i()}}}function Mj(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 jj=Aj,Sj=e=>({name:ei,version:"1.68.0-rc.3",...jj(e)}),Dd=Sj;var $j=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 _j=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")}},Ej=typeof global=="object"&&global&&global.Object===Object&&global,hp=Ej,Lj=typeof self=="object"&&self&&self.Object===Object&&self,Tj=hp||Lj||Function("return this")(),ie=Tj,Oj=ie.Symbol,Ot=Oj,vp=Object.prototype,Nj=vp.hasOwnProperty,Dj=vp.toString,fi=Ot?Ot.toStringTag:void 0;function Pj(e){var t=Nj.call(e,fi),r=e[fi];try{e[fi]=void 0;var i=!0}catch{}var n=Dj.call(e);return i&&(t?e[fi]=r:delete e[fi]),n}var zj=Pj,Uj=Object.prototype,Rj=Uj.toString;function Fj(e){return Rj.call(e)}var Vj=Fj,Bj="[object Null]",qj="[object Undefined]",Pd=Ot?Ot.toStringTag:void 0;function Gj(e){return e==null?e===void 0?qj:Bj:Pd&&Pd in Object(e)?zj(e):Vj(e)}var Ai=Gj;function Yj(e){return e!=null&&typeof e=="object"}var ll=Yj,IX=Array.isArray;function Hj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var wp=Hj,Zj="[object AsyncFunction]",Qj="[object Function]",Wj="[object GeneratorFunction]",Kj="[object Proxy]";function Jj(e){if(!wp(e))return!1;var t=Ai(e);return t==Qj||t==Wj||t==Zj||t==Kj}var Xj=Jj,eS=ie["__core-js_shared__"],Ba=eS,zd=function(){var e=/[^.]+$/.exec(Ba&&Ba.keys&&Ba.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tS(e){return!!zd&&zd in e}var rS=tS,iS=Function.prototype,nS=iS.toString;function oS(e){if(e!=null){try{return nS.call(e)}catch{}try{return e+""}catch{}}return""}var ze=oS,aS=/[\\^$.*+?()[\]{}|]/g,lS=/^\[object .+?Constructor\]$/,sS=Function.prototype,uS=Object.prototype,cS=sS.toString,dS=uS.hasOwnProperty,pS=RegExp("^"+cS.call(dS).replace(aS,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gS(e){if(!wp(e)||rS(e))return!1;var t=Xj(e)?pS:lS;return t.test(ze(e))}var fS=gS;function yS(e,t){return e?.[t]}var mS=yS;function bS(e,t){var r=mS(e,t);return fS(r)?r:void 0}var Dt=bS,hS=Dt(ie,"WeakMap"),Wa=hS;function vS(e,t){return e===t||e!==e&&t!==t}var wS=vS,kS=9007199254740991;function xS(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kS}var IS=xS,CX=Object.prototype,CS="[object Arguments]";function AS(e){return ll(e)&&Ai(e)==CS}var Ud=AS,kp=Object.prototype,MS=kp.hasOwnProperty,jS=kp.propertyIsEnumerable,AX=Ud(function(){return arguments}())?Ud:function(e){return ll(e)&&MS.call(e,"callee")&&!jS.call(e,"callee")},xp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Rd=xp&&typeof module=="object"&&module&&!module.nodeType&&module,SS=Rd&&Rd.exports===xp,Fd=SS?ie.Buffer:void 0,MX=Fd?Fd.isBuffer:void 0,$S="[object Arguments]",_S="[object Array]",ES="[object Boolean]",LS="[object Date]",TS="[object Error]",OS="[object Function]",NS="[object Map]",DS="[object Number]",PS="[object Object]",zS="[object RegExp]",US="[object Set]",RS="[object String]",FS="[object WeakMap]",VS="[object ArrayBuffer]",BS="[object DataView]",qS="[object Float32Array]",GS="[object Float64Array]",YS="[object Int8Array]",HS="[object Int16Array]",ZS="[object Int32Array]",QS="[object Uint8Array]",WS="[object Uint8ClampedArray]",KS="[object Uint16Array]",JS="[object Uint32Array]",z={};z[qS]=z[GS]=z[YS]=z[HS]=z[ZS]=z[QS]=z[WS]=z[KS]=z[JS]=!0;z[$S]=z[_S]=z[VS]=z[ES]=z[BS]=z[LS]=z[TS]=z[OS]=z[NS]=z[DS]=z[PS]=z[zS]=z[US]=z[RS]=z[FS]=!1;function XS(e){return ll(e)&&IS(e.length)&&!!z[Ai(e)]}var e$=XS;function t$(e){return function(t){return e(t)}}var r$=t$,Ip=typeof exports=="object"&&exports&&!exports.nodeType&&exports,vi=Ip&&typeof module=="object"&&module&&!module.nodeType&&module,i$=vi&&vi.exports===Ip,qa=i$&&hp.process,n$=function(){try{var e=vi&&vi.require&&vi.require("util").types;return e||qa&&qa.binding&&qa.binding("util")}catch{}}(),Vd=n$,Bd=Vd&&Vd.isTypedArray,jX=Bd?r$(Bd):e$,o$=Object.prototype,SX=o$.hasOwnProperty;function a$(e,t){return function(r){return e(t(r))}}var l$=a$,$X=l$(Object.keys,Object),s$=Object.prototype,_X=s$.hasOwnProperty,u$=Dt(Object,"create"),ki=u$;function c$(){this.__data__=ki?ki(null):{},this.size=0}var d$=c$;function p$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var g$=p$,f$="__lodash_hash_undefined__",y$=Object.prototype,m$=y$.hasOwnProperty;function b$(e){var t=this.__data__;if(ki){var r=t[e];return r===f$?void 0:r}return m$.call(t,e)?t[e]:void 0}var h$=b$,v$=Object.prototype,w$=v$.hasOwnProperty;function k$(e){var t=this.__data__;return ki?t[e]!==void 0:w$.call(t,e)}var x$=k$,I$="__lodash_hash_undefined__";function C$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ki&&t===void 0?I$:t,this}var A$=C$;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=d$;Pt.prototype.delete=g$;Pt.prototype.get=h$;Pt.prototype.has=x$;Pt.prototype.set=A$;var qd=Pt;function M$(){this.__data__=[],this.size=0}var j$=M$;function S$(e,t){for(var r=e.length;r--;)if(wS(e[r][0],t))return r;return-1}var ro=S$,$$=Array.prototype,_$=$$.splice;function E$(e){var t=this.__data__,r=ro(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():_$.call(t,r,1),--this.size,!0}var L$=E$;function T$(e){var t=this.__data__,r=ro(t,e);return r<0?void 0:t[r][1]}var O$=T$;function N$(e){return ro(this.__data__,e)>-1}var D$=N$;function P$(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 z$=P$;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=j$;zt.prototype.delete=L$;zt.prototype.get=O$;zt.prototype.has=D$;zt.prototype.set=z$;var io=zt,U$=Dt(ie,"Map"),xi=U$;function R$(){this.size=0,this.__data__={hash:new qd,map:new(xi||io),string:new qd}}var F$=R$;function V$(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var B$=V$;function q$(e,t){var r=e.__data__;return B$(t)?r[typeof t=="string"?"string":"hash"]:r.map}var no=q$;function G$(e){var t=no(this,e).delete(e);return this.size-=t?1:0,t}var Y$=G$;function H$(e){return no(this,e).get(e)}var Z$=H$;function Q$(e){return no(this,e).has(e)}var W$=Q$;function K$(e,t){var r=no(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var J$=K$;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=F$;Ut.prototype.delete=Y$;Ut.prototype.get=Z$;Ut.prototype.has=W$;Ut.prototype.set=J$;var Cp=Ut;function X$(){this.__data__=new io,this.size=0}var e_=X$;function t_(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var r_=t_;function i_(e){return this.__data__.get(e)}var n_=i_;function o_(e){return this.__data__.has(e)}var a_=o_,l_=200;function s_(e,t){var r=this.__data__;if(r instanceof io){var i=r.__data__;if(!xi||i.length<l_-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 u_=s_;function Mi(e){var t=this.__data__=new io(e);this.size=t.size}Mi.prototype.clear=e_;Mi.prototype.delete=r_;Mi.prototype.get=n_;Mi.prototype.has=a_;Mi.prototype.set=u_;var c_=Object.prototype,EX=c_.propertyIsEnumerable,d_=Dt(ie,"DataView"),Ka=d_,p_=Dt(ie,"Promise"),Ja=p_,g_=Dt(ie,"Set"),Xa=g_,Gd="[object Map]",f_="[object Object]",Yd="[object Promise]",Hd="[object Set]",Zd="[object WeakMap]",Qd="[object DataView]",y_=ze(Ka),m_=ze(xi),b_=ze(Ja),h_=ze(Xa),v_=ze(Wa),Et=Ai;(Ka&&Et(new Ka(new ArrayBuffer(1)))!=Qd||xi&&Et(new xi)!=Gd||Ja&&Et(Ja.resolve())!=Yd||Xa&&Et(new Xa)!=Hd||Wa&&Et(new Wa)!=Zd)&&(Et=function(e){var t=Ai(e),r=t==f_?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case y_:return Qd;case m_:return Gd;case b_:return Yd;case h_:return Hd;case v_:return Zd}return t});var LX=ie.Uint8Array,w_="__lodash_hash_undefined__";function k_(e){return this.__data__.set(e,w_),this}var x_=k_;function I_(e){return this.__data__.has(e)}var C_=I_;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=x_;el.prototype.has=C_;var Wd=Ot?Ot.prototype:void 0,TX=Wd?Wd.valueOf:void 0,A_=Object.prototype,OX=A_.hasOwnProperty,M_=Object.prototype,NX=M_.hasOwnProperty,DX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),PX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),zX=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 j_(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 S_(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 $_(e){return e!==void 0}var __=$_;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 L_(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 T_({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 O_=T_,Ga="ly.img.ai.temp";async function N_(e,t){return e.engine.asset.findAllSources().includes(Ga)||e.engine.asset.addLocalSource(Ga),e.engine.asset.apply(Ga,t)}function D_(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 P_(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 z_(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 U_(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function R_(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 F_(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=F_;function V_(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),B_(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:D_(e)}))}function B_(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=V_,q_="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",cl=q_;function G_(e,t,r){switch(t){case"image":return Y_(e,r[t]);case"video":return H_(e,r[t]);case"sticker":return Z_(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function Y_(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 H_(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 Z_(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 Q_=G_;async function W_(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 K_(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 J_(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 X_(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 eE(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function K_(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 J_(e,t,r){let i=t.width,n=t.height,a=await P_(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 X_(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 eE(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 _p=W_;function tE(e){switch(e.userFlow){case"placeholder":return iE(e);case"generation-only":return rE(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function rE(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 _p(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 iE(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=Q_(s,a,o);if(i=await N_(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 _p(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 nE=tE;function dl(e){return`${e}.generating`}function oE(e){return`${e}.abort`}function aE(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(oE(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 nE({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;lE(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 lE(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 Ep=aE;async function sE({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 Ep(c,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var uE=sE;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 cE(e){return bi(e,{...e})}function dE(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 pE(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return gE(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function gE(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=fE(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function fE(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=pE;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?yE(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 mE(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=bE(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 yE(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 mE(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},j=(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 M=w.$ref?w.$ref.split("/").pop():w.title;h[C]=()=>tl(e,{id:C,schema:{...w,title:v[M]||M}},r,i,n,a,o,s),f.push(A(C,M))}else if(w.type==="string"&&w.enum)w.enum.forEach(M=>{f.push(A(M,M))});else if(w.type&&I[w.type]){let M=I[w.type];h[C]=()=>M(e,{id:C,schema:{...w,title:w.title}},r,i,n,a,o,s);let q=j(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 E=Si(d,y,x,t.schema.default,null),S=E!=null?f.find(w=>w.id===E)??f[0]:f[0],$=l(p,S);if(c.Select(p,{inputLabel:g,values:f,...$}),$.value.id in h){let w=h[$.value.id]();b[$.value.id]=w}return()=>{let w=b[$.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:$.value.id}}}function bE(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var hE=Np,vE={"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 wE(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={...vE,...n};Object.keys(c).length>0&&sl(r.cesdk,{en:c})}async function kE({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=cE(r.document),c=Lp(s,r.inputReference);if(!dE(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 wE(u,t,e,t.kind),d=>{let{builder:p}=d,g=[];p.Section(`${o}.schema.section`,{children:()=>{u.forEach(b=>{let v=hE(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),{});Ep(d,t,a,()=>({input:h}),()=>r.getBlockInput(h),{...e,requiredInputs:l.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var xE=kE;async function IE(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return uE(e,t);case"schema":return xE(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var CE=IE;function AE(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 $j(o,r)),o}return i}var ME=AE;function jE(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 SE=jE,Ya="@imgly/plugin-ai-generation",$E=`
@@ -271,7 +271,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
271
271
  </symbol>
272
272
  </svg>
273
273
  `,_E=$E;function EE(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 LE(t,e,r)):i(t,r)}async function LE(e,t,r){switch(t.kind){case"image":return TE(e,t,r);case"video":return OE(e,t,r);case"text":return NE(e,t,r);case"audio":return PE(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function TE(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 S_(s,r),l=await j_(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 OE(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function NE(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 DE(a,r.abortSignal)}async function*DE(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 PE(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:zE(220,i),duration:i,thumbnailUrl:void 0}}function zE(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 UE(i,44100)}function UE(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 RE=EE,FE="USER_CANCEL";function VE(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=L_([...e.provider.output.middleware??[],...r?.middlewares??[],O_({enable:r?.debug}),RE({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}:z_(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===FE?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var BE=VE;async function qE(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=ME(a),s=SE(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=BE({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await CE(a,c);U_(r.cesdk,"@imgly/plugin-ai-generation",_E);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return E_.get().register(u),u}var Ha=qE;function GE(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 _j(n,r,i);return r.engine.asset.addSource(a),a.id}var YE=GE;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 HE(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=QE({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=ZE({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=YE({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(__)}),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 ZE({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:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.builderRenderFunction})),v=i.map(({provider:C,panel:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.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],j=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,E=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(E,{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 $=d&&g&&r.length>0&&i.length>0,w=a&&$,_=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];j!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:hi(e,"providerSelect.label"),values:C,value:A,setValue:M=>{j.setValue(M.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function QE({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=HE,WE=typeof global=="object"&&global&&global.Object===Object&&global,Rp=WE,KE=typeof self=="object"&&self&&self.Object===Object&&self,JE=Rp||KE||Function("return this")(),ne=JE,XE=ne.Symbol,Nt=XE,Fp=Object.prototype,eL=Fp.hasOwnProperty,tL=Fp.toString,mi=Nt?Nt.toStringTag:void 0;function rL(e){var t=eL.call(e,mi),r=e[mi];try{e[mi]=void 0;var i=!0}catch{}var n=tL.call(e);return i&&(t?e[mi]=r:delete e[mi]),n}var iL=rL,nL=Object.prototype,oL=nL.toString;function aL(e){return oL.call(e)}var lL=aL,sL="[object Null]",uL="[object Undefined]",rp=Nt?Nt.toStringTag:void 0;function cL(e){return e==null?e===void 0?uL:sL:rp&&rp in Object(e)?iL(e):lL(e)}var $i=cL;function dL(e){return e!=null&&typeof e=="object"}var pl=dL,UX=Array.isArray;function pL(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Vp=pL,gL="[object AsyncFunction]",fL="[object Function]",yL="[object GeneratorFunction]",mL="[object Proxy]";function bL(e){if(!Vp(e))return!1;var t=$i(e);return t==fL||t==yL||t==gL||t==mL}var hL=bL,vL=ne["__core-js_shared__"],Za=vL,ip=function(){var e=/[^.]+$/.exec(Za&&Za.keys&&Za.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function wL(e){return!!ip&&ip in e}var kL=wL,xL=Function.prototype,IL=xL.toString;function CL(e){if(e!=null){try{return IL.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=CL,AL=/[\\^$.*+?()[\]{}|]/g,ML=/^\[object .+?Constructor\]$/,jL=Function.prototype,SL=Object.prototype,$L=jL.toString,_L=SL.hasOwnProperty,EL=RegExp("^"+$L.call(_L).replace(AL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function LL(e){if(!Vp(e)||kL(e))return!1;var t=hL(e)?EL:ML;return t.test(Ue(e))}var TL=LL;function OL(e,t){return e?.[t]}var NL=OL;function DL(e,t){var r=NL(e,t);return TL(r)?r:void 0}var Rt=DL,PL=Rt(ne,"WeakMap"),rl=PL;function zL(e,t){return e===t||e!==e&&t!==t}var UL=zL,RL=9007199254740991;function FL(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=RL}var VL=FL,RX=Object.prototype,BL="[object Arguments]";function qL(e){return pl(e)&&$i(e)==BL}var np=qL,Bp=Object.prototype,GL=Bp.hasOwnProperty,YL=Bp.propertyIsEnumerable,FX=np(function(){return arguments}())?np:function(e){return pl(e)&&GL.call(e,"callee")&&!YL.call(e,"callee")},qp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,op=qp&&typeof module=="object"&&module&&!module.nodeType&&module,HL=op&&op.exports===qp,ap=HL?ne.Buffer:void 0,VX=ap?ap.isBuffer:void 0,ZL="[object Arguments]",QL="[object Array]",WL="[object Boolean]",KL="[object Date]",JL="[object Error]",XL="[object Function]",eT="[object Map]",tT="[object Number]",rT="[object Object]",iT="[object RegExp]",nT="[object Set]",oT="[object String]",aT="[object WeakMap]",lT="[object ArrayBuffer]",sT="[object DataView]",uT="[object Float32Array]",cT="[object Float64Array]",dT="[object Int8Array]",pT="[object Int16Array]",gT="[object Int32Array]",fT="[object Uint8Array]",yT="[object Uint8ClampedArray]",mT="[object Uint16Array]",bT="[object Uint32Array]",U={};U[uT]=U[cT]=U[dT]=U[pT]=U[gT]=U[fT]=U[yT]=U[mT]=U[bT]=!0;U[ZL]=U[QL]=U[lT]=U[WL]=U[sT]=U[KL]=U[JL]=U[XL]=U[eT]=U[tT]=U[rT]=U[iT]=U[nT]=U[oT]=U[aT]=!1;function hT(e){return pl(e)&&VL(e.length)&&!!U[$i(e)]}var vT=hT;function wT(e){return function(t){return e(t)}}var kT=wT,Gp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Gp&&typeof module=="object"&&module&&!module.nodeType&&module,xT=wi&&wi.exports===Gp,Qa=xT&&Rp.process,IT=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Qa&&Qa.binding&&Qa.binding("util")}catch{}}(),lp=IT,sp=lp&&lp.isTypedArray,BX=sp?kT(sp):vT,CT=Object.prototype,qX=CT.hasOwnProperty;function AT(e,t){return function(r){return e(t(r))}}var MT=AT,GX=MT(Object.keys,Object),jT=Object.prototype,YX=jT.hasOwnProperty,ST=Rt(Object,"create"),Ii=ST;function $T(){this.__data__=Ii?Ii(null):{},this.size=0}var _T=$T;function ET(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var LT=ET,TT="__lodash_hash_undefined__",OT=Object.prototype,NT=OT.hasOwnProperty;function DT(e){var t=this.__data__;if(Ii){var r=t[e];return r===TT?void 0:r}return NT.call(t,e)?t[e]:void 0}var PT=DT,zT=Object.prototype,UT=zT.hasOwnProperty;function RT(e){var t=this.__data__;return Ii?t[e]!==void 0:UT.call(t,e)}var FT=RT,VT="__lodash_hash_undefined__";function BT(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ii&&t===void 0?VT:t,this}var qT=BT;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=_T;Ft.prototype.delete=LT;Ft.prototype.get=PT;Ft.prototype.has=FT;Ft.prototype.set=qT;var up=Ft;function GT(){this.__data__=[],this.size=0}var YT=GT;function HT(e,t){for(var r=e.length;r--;)if(UL(e[r][0],t))return r;return-1}var oo=HT,ZT=Array.prototype,QT=ZT.splice;function WT(e){var t=this.__data__,r=oo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():QT.call(t,r,1),--this.size,!0}var KT=WT;function JT(e){var t=this.__data__,r=oo(t,e);return r<0?void 0:t[r][1]}var XT=JT;function eO(e){return oo(this.__data__,e)>-1}var tO=eO;function rO(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 iO=rO;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=YT;Vt.prototype.delete=KT;Vt.prototype.get=XT;Vt.prototype.has=tO;Vt.prototype.set=iO;var ao=Vt,nO=Rt(ne,"Map"),Ci=nO;function oO(){this.size=0,this.__data__={hash:new up,map:new(Ci||ao),string:new up}}var aO=oO;function lO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var sO=lO;function uO(e,t){var r=e.__data__;return sO(t)?r[typeof t=="string"?"string":"hash"]:r.map}var lo=uO;function cO(e){var t=lo(this,e).delete(e);return this.size-=t?1:0,t}var dO=cO;function pO(e){return lo(this,e).get(e)}var gO=pO;function fO(e){return lo(this,e).has(e)}var yO=fO;function mO(e,t){var r=lo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var bO=mO;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=aO;Bt.prototype.delete=dO;Bt.prototype.get=gO;Bt.prototype.has=yO;Bt.prototype.set=bO;var Yp=Bt;function hO(){this.__data__=new ao,this.size=0}var vO=hO;function wO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var kO=wO;function xO(e){return this.__data__.get(e)}var IO=xO;function CO(e){return this.__data__.has(e)}var AO=CO,MO=200;function jO(e,t){var r=this.__data__;if(r instanceof ao){var i=r.__data__;if(!Ci||i.length<MO-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 SO=jO;function _i(e){var t=this.__data__=new ao(e);this.size=t.size}_i.prototype.clear=vO;_i.prototype.delete=kO;_i.prototype.get=IO;_i.prototype.has=AO;_i.prototype.set=SO;var $O=Object.prototype,HX=$O.propertyIsEnumerable,_O=Rt(ne,"DataView"),il=_O,EO=Rt(ne,"Promise"),nl=EO,LO=Rt(ne,"Set"),ol=LO,cp="[object Map]",TO="[object Object]",dp="[object Promise]",pp="[object Set]",gp="[object WeakMap]",fp="[object DataView]",OO=Ue(il),NO=Ue(Ci),DO=Ue(nl),PO=Ue(ol),zO=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==TO?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case OO:return fp;case NO:return cp;case DO:return dp;case PO:return pp;case zO:return gp}return t});var ZX=ne.Uint8Array,UO="__lodash_hash_undefined__";function RO(e){return this.__data__.set(e,UO),this}var FO=RO;function VO(e){return this.__data__.has(e)}var BO=VO;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=FO;al.prototype.has=BO;var yp=Nt?Nt.prototype:void 0,QX=yp?yp.valueOf:void 0,qO=Object.prototype,WX=qO.hasOwnProperty,GO=Object.prototype,KX=GO.hasOwnProperty,JX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),XX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),eee=new RegExp(/[A-Fa-f0-9]{2}/,"g");function YO(e){return e==null?[]:Array.isArray(e)?e:[e]}var mp=YO;function HO(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function ZO(e){return typeof e?.translate=="function"}function bp(e,t,r){return e&&HO(e)&&ZO(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 QO(e){return{async initialize({cesdk:t}){if(t==null)return;R_(t,we,"1.68.0-rc.1"),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"}}),WO(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 WO(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 KO=QO,JO=e=>({name:we,version:"1.68.0-rc.1",...KO(e)}),Hp=JO;var XO="@imgly/plugin-ai-text-generation",eN=`
274
+ `,"+")}`}}async function OE(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function NE(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 DE(a,r.abortSignal)}async function*DE(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 PE(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:zE(220,i),duration:i,thumbnailUrl:void 0}}function zE(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 UE(i,44100)}function UE(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 RE=EE,FE="USER_CANCEL";function VE(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=L_([...e.provider.output.middleware??[],...r?.middlewares??[],O_({enable:r?.debug}),RE({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}:z_(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===FE?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var BE=VE;async function qE(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=ME(a),s=SE(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=BE({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await CE(a,c);U_(r.cesdk,"@imgly/plugin-ai-generation",_E);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return E_.get().register(u),u}var Ha=qE;function GE(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 _j(n,r,i);return r.engine.asset.addSource(a),a.id}var YE=GE;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 HE(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=QE({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=ZE({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=YE({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(__)}),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 ZE({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:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.builderRenderFunction})),v=i.map(({provider:C,panel:M})=>({id:C.id,label:C.name??C.id,builderRenderFunction:M?.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],j=f.value==="fromText"?k:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?y:f.value==="fromImage"?I:void 0,E=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,S=n.feature.isEnabled(E,{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 $=d&&g&&r.length>0&&i.length>0,w=a&&$,_=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];j!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:hi(e,"providerSelect.label"),values:C,value:A,setValue:M=>{j.setValue(M.id)}})}}}),h.length>1)A?.builderRenderFunction?.(o);else{let C=h[0];C&&C.panel?.builderRenderFunction?.(o)}}}function QE({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=HE,WE=typeof global=="object"&&global&&global.Object===Object&&global,Rp=WE,KE=typeof self=="object"&&self&&self.Object===Object&&self,JE=Rp||KE||Function("return this")(),ne=JE,XE=ne.Symbol,Nt=XE,Fp=Object.prototype,eL=Fp.hasOwnProperty,tL=Fp.toString,mi=Nt?Nt.toStringTag:void 0;function rL(e){var t=eL.call(e,mi),r=e[mi];try{e[mi]=void 0;var i=!0}catch{}var n=tL.call(e);return i&&(t?e[mi]=r:delete e[mi]),n}var iL=rL,nL=Object.prototype,oL=nL.toString;function aL(e){return oL.call(e)}var lL=aL,sL="[object Null]",uL="[object Undefined]",rp=Nt?Nt.toStringTag:void 0;function cL(e){return e==null?e===void 0?uL:sL:rp&&rp in Object(e)?iL(e):lL(e)}var $i=cL;function dL(e){return e!=null&&typeof e=="object"}var pl=dL,UX=Array.isArray;function pL(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Vp=pL,gL="[object AsyncFunction]",fL="[object Function]",yL="[object GeneratorFunction]",mL="[object Proxy]";function bL(e){if(!Vp(e))return!1;var t=$i(e);return t==fL||t==yL||t==gL||t==mL}var hL=bL,vL=ne["__core-js_shared__"],Za=vL,ip=function(){var e=/[^.]+$/.exec(Za&&Za.keys&&Za.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function wL(e){return!!ip&&ip in e}var kL=wL,xL=Function.prototype,IL=xL.toString;function CL(e){if(e!=null){try{return IL.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=CL,AL=/[\\^$.*+?()[\]{}|]/g,ML=/^\[object .+?Constructor\]$/,jL=Function.prototype,SL=Object.prototype,$L=jL.toString,_L=SL.hasOwnProperty,EL=RegExp("^"+$L.call(_L).replace(AL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function LL(e){if(!Vp(e)||kL(e))return!1;var t=hL(e)?EL:ML;return t.test(Ue(e))}var TL=LL;function OL(e,t){return e?.[t]}var NL=OL;function DL(e,t){var r=NL(e,t);return TL(r)?r:void 0}var Rt=DL,PL=Rt(ne,"WeakMap"),rl=PL;function zL(e,t){return e===t||e!==e&&t!==t}var UL=zL,RL=9007199254740991;function FL(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=RL}var VL=FL,RX=Object.prototype,BL="[object Arguments]";function qL(e){return pl(e)&&$i(e)==BL}var np=qL,Bp=Object.prototype,GL=Bp.hasOwnProperty,YL=Bp.propertyIsEnumerable,FX=np(function(){return arguments}())?np:function(e){return pl(e)&&GL.call(e,"callee")&&!YL.call(e,"callee")},qp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,op=qp&&typeof module=="object"&&module&&!module.nodeType&&module,HL=op&&op.exports===qp,ap=HL?ne.Buffer:void 0,VX=ap?ap.isBuffer:void 0,ZL="[object Arguments]",QL="[object Array]",WL="[object Boolean]",KL="[object Date]",JL="[object Error]",XL="[object Function]",eT="[object Map]",tT="[object Number]",rT="[object Object]",iT="[object RegExp]",nT="[object Set]",oT="[object String]",aT="[object WeakMap]",lT="[object ArrayBuffer]",sT="[object DataView]",uT="[object Float32Array]",cT="[object Float64Array]",dT="[object Int8Array]",pT="[object Int16Array]",gT="[object Int32Array]",fT="[object Uint8Array]",yT="[object Uint8ClampedArray]",mT="[object Uint16Array]",bT="[object Uint32Array]",U={};U[uT]=U[cT]=U[dT]=U[pT]=U[gT]=U[fT]=U[yT]=U[mT]=U[bT]=!0;U[ZL]=U[QL]=U[lT]=U[WL]=U[sT]=U[KL]=U[JL]=U[XL]=U[eT]=U[tT]=U[rT]=U[iT]=U[nT]=U[oT]=U[aT]=!1;function hT(e){return pl(e)&&VL(e.length)&&!!U[$i(e)]}var vT=hT;function wT(e){return function(t){return e(t)}}var kT=wT,Gp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Gp&&typeof module=="object"&&module&&!module.nodeType&&module,xT=wi&&wi.exports===Gp,Qa=xT&&Rp.process,IT=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Qa&&Qa.binding&&Qa.binding("util")}catch{}}(),lp=IT,sp=lp&&lp.isTypedArray,BX=sp?kT(sp):vT,CT=Object.prototype,qX=CT.hasOwnProperty;function AT(e,t){return function(r){return e(t(r))}}var MT=AT,GX=MT(Object.keys,Object),jT=Object.prototype,YX=jT.hasOwnProperty,ST=Rt(Object,"create"),Ii=ST;function $T(){this.__data__=Ii?Ii(null):{},this.size=0}var _T=$T;function ET(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var LT=ET,TT="__lodash_hash_undefined__",OT=Object.prototype,NT=OT.hasOwnProperty;function DT(e){var t=this.__data__;if(Ii){var r=t[e];return r===TT?void 0:r}return NT.call(t,e)?t[e]:void 0}var PT=DT,zT=Object.prototype,UT=zT.hasOwnProperty;function RT(e){var t=this.__data__;return Ii?t[e]!==void 0:UT.call(t,e)}var FT=RT,VT="__lodash_hash_undefined__";function BT(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ii&&t===void 0?VT:t,this}var qT=BT;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=_T;Ft.prototype.delete=LT;Ft.prototype.get=PT;Ft.prototype.has=FT;Ft.prototype.set=qT;var up=Ft;function GT(){this.__data__=[],this.size=0}var YT=GT;function HT(e,t){for(var r=e.length;r--;)if(UL(e[r][0],t))return r;return-1}var oo=HT,ZT=Array.prototype,QT=ZT.splice;function WT(e){var t=this.__data__,r=oo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():QT.call(t,r,1),--this.size,!0}var KT=WT;function JT(e){var t=this.__data__,r=oo(t,e);return r<0?void 0:t[r][1]}var XT=JT;function eO(e){return oo(this.__data__,e)>-1}var tO=eO;function rO(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 iO=rO;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=YT;Vt.prototype.delete=KT;Vt.prototype.get=XT;Vt.prototype.has=tO;Vt.prototype.set=iO;var ao=Vt,nO=Rt(ne,"Map"),Ci=nO;function oO(){this.size=0,this.__data__={hash:new up,map:new(Ci||ao),string:new up}}var aO=oO;function lO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var sO=lO;function uO(e,t){var r=e.__data__;return sO(t)?r[typeof t=="string"?"string":"hash"]:r.map}var lo=uO;function cO(e){var t=lo(this,e).delete(e);return this.size-=t?1:0,t}var dO=cO;function pO(e){return lo(this,e).get(e)}var gO=pO;function fO(e){return lo(this,e).has(e)}var yO=fO;function mO(e,t){var r=lo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var bO=mO;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=aO;Bt.prototype.delete=dO;Bt.prototype.get=gO;Bt.prototype.has=yO;Bt.prototype.set=bO;var Yp=Bt;function hO(){this.__data__=new ao,this.size=0}var vO=hO;function wO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var kO=wO;function xO(e){return this.__data__.get(e)}var IO=xO;function CO(e){return this.__data__.has(e)}var AO=CO,MO=200;function jO(e,t){var r=this.__data__;if(r instanceof ao){var i=r.__data__;if(!Ci||i.length<MO-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 SO=jO;function _i(e){var t=this.__data__=new ao(e);this.size=t.size}_i.prototype.clear=vO;_i.prototype.delete=kO;_i.prototype.get=IO;_i.prototype.has=AO;_i.prototype.set=SO;var $O=Object.prototype,HX=$O.propertyIsEnumerable,_O=Rt(ne,"DataView"),il=_O,EO=Rt(ne,"Promise"),nl=EO,LO=Rt(ne,"Set"),ol=LO,cp="[object Map]",TO="[object Object]",dp="[object Promise]",pp="[object Set]",gp="[object WeakMap]",fp="[object DataView]",OO=Ue(il),NO=Ue(Ci),DO=Ue(nl),PO=Ue(ol),zO=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==TO?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case OO:return fp;case NO:return cp;case DO:return dp;case PO:return pp;case zO:return gp}return t});var ZX=ne.Uint8Array,UO="__lodash_hash_undefined__";function RO(e){return this.__data__.set(e,UO),this}var FO=RO;function VO(e){return this.__data__.has(e)}var BO=VO;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=FO;al.prototype.has=BO;var yp=Nt?Nt.prototype:void 0,QX=yp?yp.valueOf:void 0,qO=Object.prototype,WX=qO.hasOwnProperty,GO=Object.prototype,KX=GO.hasOwnProperty,JX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),XX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),eee=new RegExp(/[A-Fa-f0-9]{2}/,"g");function YO(e){return e==null?[]:Array.isArray(e)?e:[e]}var mp=YO;function HO(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function ZO(e){return typeof e?.translate=="function"}function bp(e,t,r){return e&&HO(e)&&ZO(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 QO(e){return{async initialize({cesdk:t}){if(t==null)return;R_(t,we,"1.68.0-rc.3"),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"}}),WO(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 WO(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 KO=QO,JO=e=>({name:we,version:"1.68.0-rc.3",...KO(e)}),Hp=JO;var XO="@imgly/plugin-ai-text-generation",eN=`
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 EB=_B,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 LB=({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:EB(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})}}),TB=LB,f1="@imgly/plugin-ai-text-generation-web",OB=["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 NB(e){return{async initialize({cesdk:t}){if(t==null)return;pz(t,f1,"1.68.0-rc.1"),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(XO,tN),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),DB(e);let r=Ol.get();r.register(QV({cesdk:t})),r.register(rB({cesdk:t})),r.register(uB({cesdk:t})),r.register(mB({cesdk:t})),r.register(xB({cesdk:t})),r.register($B({cesdk:t})),r.register(TB({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(VV(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await wU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await qU({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:OB});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:go}))}}}function DB(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 PB=NB,zB=e=>({name:f1,version:"1.68.0-rc.1",...PB(e)}),y1=zB;var UB=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 RB=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")}},FB=typeof global=="object"&&global&&global.Object===Object&&global,H1=FB,VB=typeof self=="object"&&self&&self.Object===Object&&self,BB=H1||VB||Function("return this")(),le=BB,qB=le.Symbol,ar=qB,Z1=Object.prototype,GB=Z1.hasOwnProperty,YB=Z1.toString,Wi=ar?ar.toStringTag:void 0;function HB(e){var t=GB.call(e,Wi),r=e[Wi];try{e[Wi]=void 0;var i=!0}catch{}var n=YB.call(e);return i&&(t?e[Wi]=r:delete e[Wi]),n}var ZB=HB,QB=Object.prototype,WB=QB.toString;function KB(e){return WB.call(e)}var JB=KB,XB="[object Null]",eq="[object Undefined]",m1=ar?ar.toStringTag:void 0;function tq(e){return e==null?e===void 0?eq:XB:m1&&m1 in Object(e)?ZB(e):JB(e)}var un=tq;function rq(e){return e!=null&&typeof e=="object"}var is=rq,Ree=Array.isArray;function iq(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Q1=iq,nq="[object AsyncFunction]",oq="[object Function]",aq="[object GeneratorFunction]",lq="[object Proxy]";function sq(e){if(!Q1(e))return!1;var t=un(e);return t==oq||t==aq||t==nq||t==lq}var uq=sq,cq=le["__core-js_shared__"],Ul=cq,b1=function(){var e=/[^.]+$/.exec(Ul&&Ul.keys&&Ul.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function dq(e){return!!b1&&b1 in e}var pq=dq,gq=Function.prototype,fq=gq.toString;function yq(e){if(e!=null){try{return fq.call(e)}catch{}try{return e+""}catch{}}return""}var qe=yq,mq=/[\\^$.*+?()[\]{}|]/g,bq=/^\[object .+?Constructor\]$/,hq=Function.prototype,vq=Object.prototype,wq=hq.toString,kq=vq.hasOwnProperty,xq=RegExp("^"+wq.call(kq).replace(mq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Iq(e){if(!Q1(e)||pq(e))return!1;var t=uq(e)?xq:bq;return t.test(qe(e))}var Cq=Iq;function Aq(e,t){return e?.[t]}var Mq=Aq;function jq(e,t){var r=Mq(e,t);return Cq(r)?r:void 0}var sr=jq,Sq=sr(le,"WeakMap"),Yl=Sq;function $q(e,t){return e===t||e!==e&&t!==t}var _q=$q,Eq=9007199254740991;function Lq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Eq}var Tq=Lq,Fee=Object.prototype,Oq="[object Arguments]";function Nq(e){return is(e)&&un(e)==Oq}var h1=Nq,W1=Object.prototype,Dq=W1.hasOwnProperty,Pq=W1.propertyIsEnumerable,Vee=h1(function(){return arguments}())?h1:function(e){return is(e)&&Dq.call(e,"callee")&&!Pq.call(e,"callee")},K1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,v1=K1&&typeof module=="object"&&module&&!module.nodeType&&module,zq=v1&&v1.exports===K1,w1=zq?le.Buffer:void 0,Bee=w1?w1.isBuffer:void 0,Uq="[object Arguments]",Rq="[object Array]",Fq="[object Boolean]",Vq="[object Date]",Bq="[object Error]",qq="[object Function]",Gq="[object Map]",Yq="[object Number]",Hq="[object Object]",Zq="[object RegExp]",Qq="[object Set]",Wq="[object String]",Kq="[object WeakMap]",Jq="[object ArrayBuffer]",Xq="[object DataView]",eG="[object Float32Array]",tG="[object Float64Array]",rG="[object Int8Array]",iG="[object Int16Array]",nG="[object Int32Array]",oG="[object Uint8Array]",aG="[object Uint8ClampedArray]",lG="[object Uint16Array]",sG="[object Uint32Array]",V={};V[eG]=V[tG]=V[rG]=V[iG]=V[nG]=V[oG]=V[aG]=V[lG]=V[sG]=!0;V[Uq]=V[Rq]=V[Jq]=V[Fq]=V[Xq]=V[Vq]=V[Bq]=V[qq]=V[Gq]=V[Yq]=V[Hq]=V[Zq]=V[Qq]=V[Wq]=V[Kq]=!1;function uG(e){return is(e)&&Tq(e.length)&&!!V[un(e)]}var cG=uG;function dG(e){return function(t){return e(t)}}var pG=dG,J1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,rn=J1&&typeof module=="object"&&module&&!module.nodeType&&module,gG=rn&&rn.exports===J1,Rl=gG&&H1.process,fG=function(){try{var e=rn&&rn.require&&rn.require("util").types;return e||Rl&&Rl.binding&&Rl.binding("util")}catch{}}(),k1=fG,x1=k1&&k1.isTypedArray,qee=x1?pG(x1):cG,yG=Object.prototype,Gee=yG.hasOwnProperty;function mG(e,t){return function(r){return e(t(r))}}var bG=mG,Yee=bG(Object.keys,Object),hG=Object.prototype,Hee=hG.hasOwnProperty,vG=sr(Object,"create"),on=vG;function wG(){this.__data__=on?on(null):{},this.size=0}var kG=wG;function xG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var IG=xG,CG="__lodash_hash_undefined__",AG=Object.prototype,MG=AG.hasOwnProperty;function jG(e){var t=this.__data__;if(on){var r=t[e];return r===CG?void 0:r}return MG.call(t,e)?t[e]:void 0}var SG=jG,$G=Object.prototype,_G=$G.hasOwnProperty;function EG(e){var t=this.__data__;return on?t[e]!==void 0:_G.call(t,e)}var LG=EG,TG="__lodash_hash_undefined__";function OG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=on&&t===void 0?TG:t,this}var NG=OG;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=kG;ur.prototype.delete=IG;ur.prototype.get=SG;ur.prototype.has=LG;ur.prototype.set=NG;var I1=ur;function DG(){this.__data__=[],this.size=0}var PG=DG;function zG(e,t){for(var r=e.length;r--;)if(_q(e[r][0],t))return r;return-1}var Co=zG,UG=Array.prototype,RG=UG.splice;function FG(e){var t=this.__data__,r=Co(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():RG.call(t,r,1),--this.size,!0}var VG=FG;function BG(e){var t=this.__data__,r=Co(t,e);return r<0?void 0:t[r][1]}var qG=BG;function GG(e){return Co(this.__data__,e)>-1}var YG=GG;function HG(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 ZG=HG;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=PG;cr.prototype.delete=VG;cr.prototype.get=qG;cr.prototype.has=YG;cr.prototype.set=ZG;var Ao=cr,QG=sr(le,"Map"),an=QG;function WG(){this.size=0,this.__data__={hash:new I1,map:new(an||Ao),string:new I1}}var KG=WG;function JG(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var XG=JG;function eY(e,t){var r=e.__data__;return XG(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Mo=eY;function tY(e){var t=Mo(this,e).delete(e);return this.size-=t?1:0,t}var rY=tY;function iY(e){return Mo(this,e).get(e)}var nY=iY;function oY(e){return Mo(this,e).has(e)}var aY=oY;function lY(e,t){var r=Mo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var sY=lY;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=KG;dr.prototype.delete=rY;dr.prototype.get=nY;dr.prototype.has=aY;dr.prototype.set=sY;var X1=dr;function uY(){this.__data__=new Ao,this.size=0}var cY=uY;function dY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var pY=dY;function gY(e){return this.__data__.get(e)}var fY=gY;function yY(e){return this.__data__.has(e)}var mY=yY,bY=200;function hY(e,t){var r=this.__data__;if(r instanceof Ao){var i=r.__data__;if(!an||i.length<bY-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 vY=hY;function cn(e){var t=this.__data__=new Ao(e);this.size=t.size}cn.prototype.clear=cY;cn.prototype.delete=pY;cn.prototype.get=fY;cn.prototype.has=mY;cn.prototype.set=vY;var wY=Object.prototype,Zee=wY.propertyIsEnumerable,kY=sr(le,"DataView"),Hl=kY,xY=sr(le,"Promise"),Zl=xY,IY=sr(le,"Set"),Ql=IY,C1="[object Map]",CY="[object Object]",A1="[object Promise]",M1="[object Set]",j1="[object WeakMap]",S1="[object DataView]",AY=qe(Hl),MY=qe(an),jY=qe(Zl),SY=qe(Ql),$Y=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==CY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case AY:return S1;case MY:return C1;case jY:return A1;case SY:return M1;case $Y:return j1}return t});var Qee=le.Uint8Array,_Y="__lodash_hash_undefined__";function EY(e){return this.__data__.set(e,_Y),this}var LY=EY;function TY(e){return this.__data__.has(e)}var OY=TY;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=LY;Wl.prototype.has=OY;var $1=ar?ar.prototype:void 0,Wee=$1?$1.valueOf:void 0,NY=Object.prototype,Kee=NY.hasOwnProperty,DY=Object.prototype,Jee=DY.hasOwnProperty,Xee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),ete=new RegExp(/[A-Fa-f0-9]{1}/,"g"),tte=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 PY(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 zY(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 UY(e){return e!==void 0}var RY=UY;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))}},FY=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 VY(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 BY({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 qY=BY,Fl="ly.img.ai.temp";async function GY(e,t){return e.engine.asset.findAllSources().includes(Fl)||e.engine.asset.addLocalSource(Fl),e.engine.asset.apply(Fl,t)}function YY(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 HY(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 ZY(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 QY(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function WY(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 EB=_B,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 LB=({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:EB(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})}}),TB=LB,f1="@imgly/plugin-ai-text-generation-web",OB=["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 NB(e){return{async initialize({cesdk:t}){if(t==null)return;pz(t,f1,"1.68.0-rc.3"),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(XO,tN),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),DB(e);let r=Ol.get();r.register(QV({cesdk:t})),r.register(rB({cesdk:t})),r.register(uB({cesdk:t})),r.register(mB({cesdk:t})),r.register(xB({cesdk:t})),r.register($B({cesdk:t})),r.register(TB({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(VV(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await wU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await qU({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:OB});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:go}))}}}function DB(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 PB=NB,zB=e=>({name:f1,version:"1.68.0-rc.3",...PB(e)}),y1=zB;var UB=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 RB=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")}},FB=typeof global=="object"&&global&&global.Object===Object&&global,H1=FB,VB=typeof self=="object"&&self&&self.Object===Object&&self,BB=H1||VB||Function("return this")(),le=BB,qB=le.Symbol,ar=qB,Z1=Object.prototype,GB=Z1.hasOwnProperty,YB=Z1.toString,Wi=ar?ar.toStringTag:void 0;function HB(e){var t=GB.call(e,Wi),r=e[Wi];try{e[Wi]=void 0;var i=!0}catch{}var n=YB.call(e);return i&&(t?e[Wi]=r:delete e[Wi]),n}var ZB=HB,QB=Object.prototype,WB=QB.toString;function KB(e){return WB.call(e)}var JB=KB,XB="[object Null]",eq="[object Undefined]",m1=ar?ar.toStringTag:void 0;function tq(e){return e==null?e===void 0?eq:XB:m1&&m1 in Object(e)?ZB(e):JB(e)}var un=tq;function rq(e){return e!=null&&typeof e=="object"}var is=rq,Ree=Array.isArray;function iq(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Q1=iq,nq="[object AsyncFunction]",oq="[object Function]",aq="[object GeneratorFunction]",lq="[object Proxy]";function sq(e){if(!Q1(e))return!1;var t=un(e);return t==oq||t==aq||t==nq||t==lq}var uq=sq,cq=le["__core-js_shared__"],Ul=cq,b1=function(){var e=/[^.]+$/.exec(Ul&&Ul.keys&&Ul.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function dq(e){return!!b1&&b1 in e}var pq=dq,gq=Function.prototype,fq=gq.toString;function yq(e){if(e!=null){try{return fq.call(e)}catch{}try{return e+""}catch{}}return""}var qe=yq,mq=/[\\^$.*+?()[\]{}|]/g,bq=/^\[object .+?Constructor\]$/,hq=Function.prototype,vq=Object.prototype,wq=hq.toString,kq=vq.hasOwnProperty,xq=RegExp("^"+wq.call(kq).replace(mq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Iq(e){if(!Q1(e)||pq(e))return!1;var t=uq(e)?xq:bq;return t.test(qe(e))}var Cq=Iq;function Aq(e,t){return e?.[t]}var Mq=Aq;function jq(e,t){var r=Mq(e,t);return Cq(r)?r:void 0}var sr=jq,Sq=sr(le,"WeakMap"),Yl=Sq;function $q(e,t){return e===t||e!==e&&t!==t}var _q=$q,Eq=9007199254740991;function Lq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Eq}var Tq=Lq,Fee=Object.prototype,Oq="[object Arguments]";function Nq(e){return is(e)&&un(e)==Oq}var h1=Nq,W1=Object.prototype,Dq=W1.hasOwnProperty,Pq=W1.propertyIsEnumerable,Vee=h1(function(){return arguments}())?h1:function(e){return is(e)&&Dq.call(e,"callee")&&!Pq.call(e,"callee")},K1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,v1=K1&&typeof module=="object"&&module&&!module.nodeType&&module,zq=v1&&v1.exports===K1,w1=zq?le.Buffer:void 0,Bee=w1?w1.isBuffer:void 0,Uq="[object Arguments]",Rq="[object Array]",Fq="[object Boolean]",Vq="[object Date]",Bq="[object Error]",qq="[object Function]",Gq="[object Map]",Yq="[object Number]",Hq="[object Object]",Zq="[object RegExp]",Qq="[object Set]",Wq="[object String]",Kq="[object WeakMap]",Jq="[object ArrayBuffer]",Xq="[object DataView]",eG="[object Float32Array]",tG="[object Float64Array]",rG="[object Int8Array]",iG="[object Int16Array]",nG="[object Int32Array]",oG="[object Uint8Array]",aG="[object Uint8ClampedArray]",lG="[object Uint16Array]",sG="[object Uint32Array]",V={};V[eG]=V[tG]=V[rG]=V[iG]=V[nG]=V[oG]=V[aG]=V[lG]=V[sG]=!0;V[Uq]=V[Rq]=V[Jq]=V[Fq]=V[Xq]=V[Vq]=V[Bq]=V[qq]=V[Gq]=V[Yq]=V[Hq]=V[Zq]=V[Qq]=V[Wq]=V[Kq]=!1;function uG(e){return is(e)&&Tq(e.length)&&!!V[un(e)]}var cG=uG;function dG(e){return function(t){return e(t)}}var pG=dG,J1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,rn=J1&&typeof module=="object"&&module&&!module.nodeType&&module,gG=rn&&rn.exports===J1,Rl=gG&&H1.process,fG=function(){try{var e=rn&&rn.require&&rn.require("util").types;return e||Rl&&Rl.binding&&Rl.binding("util")}catch{}}(),k1=fG,x1=k1&&k1.isTypedArray,qee=x1?pG(x1):cG,yG=Object.prototype,Gee=yG.hasOwnProperty;function mG(e,t){return function(r){return e(t(r))}}var bG=mG,Yee=bG(Object.keys,Object),hG=Object.prototype,Hee=hG.hasOwnProperty,vG=sr(Object,"create"),on=vG;function wG(){this.__data__=on?on(null):{},this.size=0}var kG=wG;function xG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var IG=xG,CG="__lodash_hash_undefined__",AG=Object.prototype,MG=AG.hasOwnProperty;function jG(e){var t=this.__data__;if(on){var r=t[e];return r===CG?void 0:r}return MG.call(t,e)?t[e]:void 0}var SG=jG,$G=Object.prototype,_G=$G.hasOwnProperty;function EG(e){var t=this.__data__;return on?t[e]!==void 0:_G.call(t,e)}var LG=EG,TG="__lodash_hash_undefined__";function OG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=on&&t===void 0?TG:t,this}var NG=OG;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=kG;ur.prototype.delete=IG;ur.prototype.get=SG;ur.prototype.has=LG;ur.prototype.set=NG;var I1=ur;function DG(){this.__data__=[],this.size=0}var PG=DG;function zG(e,t){for(var r=e.length;r--;)if(_q(e[r][0],t))return r;return-1}var Co=zG,UG=Array.prototype,RG=UG.splice;function FG(e){var t=this.__data__,r=Co(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():RG.call(t,r,1),--this.size,!0}var VG=FG;function BG(e){var t=this.__data__,r=Co(t,e);return r<0?void 0:t[r][1]}var qG=BG;function GG(e){return Co(this.__data__,e)>-1}var YG=GG;function HG(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 ZG=HG;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=PG;cr.prototype.delete=VG;cr.prototype.get=qG;cr.prototype.has=YG;cr.prototype.set=ZG;var Ao=cr,QG=sr(le,"Map"),an=QG;function WG(){this.size=0,this.__data__={hash:new I1,map:new(an||Ao),string:new I1}}var KG=WG;function JG(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var XG=JG;function eY(e,t){var r=e.__data__;return XG(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Mo=eY;function tY(e){var t=Mo(this,e).delete(e);return this.size-=t?1:0,t}var rY=tY;function iY(e){return Mo(this,e).get(e)}var nY=iY;function oY(e){return Mo(this,e).has(e)}var aY=oY;function lY(e,t){var r=Mo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var sY=lY;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=KG;dr.prototype.delete=rY;dr.prototype.get=nY;dr.prototype.has=aY;dr.prototype.set=sY;var X1=dr;function uY(){this.__data__=new Ao,this.size=0}var cY=uY;function dY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var pY=dY;function gY(e){return this.__data__.get(e)}var fY=gY;function yY(e){return this.__data__.has(e)}var mY=yY,bY=200;function hY(e,t){var r=this.__data__;if(r instanceof Ao){var i=r.__data__;if(!an||i.length<bY-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 vY=hY;function cn(e){var t=this.__data__=new Ao(e);this.size=t.size}cn.prototype.clear=cY;cn.prototype.delete=pY;cn.prototype.get=fY;cn.prototype.has=mY;cn.prototype.set=vY;var wY=Object.prototype,Zee=wY.propertyIsEnumerable,kY=sr(le,"DataView"),Hl=kY,xY=sr(le,"Promise"),Zl=xY,IY=sr(le,"Set"),Ql=IY,C1="[object Map]",CY="[object Object]",A1="[object Promise]",M1="[object Set]",j1="[object WeakMap]",S1="[object DataView]",AY=qe(Hl),MY=qe(an),jY=qe(Zl),SY=qe(Ql),$Y=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==CY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case AY:return S1;case MY:return C1;case jY:return A1;case SY:return M1;case $Y:return j1}return t});var Qee=le.Uint8Array,_Y="__lodash_hash_undefined__";function EY(e){return this.__data__.set(e,_Y),this}var LY=EY;function TY(e){return this.__data__.has(e)}var OY=TY;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=LY;Wl.prototype.has=OY;var $1=ar?ar.prototype:void 0,Wee=$1?$1.valueOf:void 0,NY=Object.prototype,Kee=NY.hasOwnProperty,DY=Object.prototype,Jee=DY.hasOwnProperty,Xee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),ete=new RegExp(/[A-Fa-f0-9]{1}/,"g"),tte=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 PY(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 zY(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 UY(e){return e!==void 0}var RY=UY;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))}},FY=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 VY(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 BY({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 qY=BY,Fl="ly.img.ai.temp";async function GY(e,t){return e.engine.asset.findAllSources().includes(Fl)||e.engine.asset.addLocalSource(Fl),e.engine.asset.apply(Fl,t)}function YY(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 HY(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 ZY(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 QY(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function WY(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 KY(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 JY=KY;function XY(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),eH(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:YY(e)}))}function eH(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 _1=XY,tH="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",as=tH;function rH(e,t,r){switch(t){case"image":return iH(e,r[t]);case"video":return nH(e,r[t]);case"sticker":return oH(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function iH(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 nH(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 oH(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 aH=rH;async function lH(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 sH(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 uH(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 cH(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 dH(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function sH(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 uH(e,t,r){let i=t.width,n=t.height,a=await HY(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 cH(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 dH(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=lH;function pH(e){switch(e.userFlow){case"placeholder":return fH(e);case"generation-only":return gH(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function gH(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 fH(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=aH(s,a,o);if(i=await GY(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 yH=pH;function ls(e){return`${e}.generating`}function mH(e){return`${e}.abort`}function bH(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(mH(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 yH({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"){_1(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;hH(l,I,()=>({input:i().input,output:y.output}))}}catch(y){if(os(y))return;_1(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 hH(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=bH;async function vH({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 wH=vH;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 kH(e){return Xi(e,{...e})}function xH(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 IH(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return CH(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function CH(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=AH(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function AH(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=IH;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?MH(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 jH(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=SH(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 MH(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 jH(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},j=(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 M=w.$ref?w.$ref.split("/").pop():w.title;h[C]=()=>Kl(e,{id:C,schema:{...w,title:v[M]||M}},r,i,n,a,o,s),f.push(A(C,M))}else if(w.type==="string"&&w.enum)w.enum.forEach(M=>{f.push(A(M,M))});else if(w.type&&I[w.type]){let M=I[w.type];h[C]=()=>M(e,{id:C,schema:{...w,title:w.title}},r,i,n,a,o,s);let q=j(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 E=pn(d,y,x,t.schema.default,null),S=E!=null?f.find(w=>w.id===E)??f[0]:f[0],$=l(p,S);if(c.Select(p,{inputLabel:g,values:f,...$}),$.value.id in h){let w=h[$.value.id]();b[$.value.id]=w}return()=>{let w=b[$.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:$.value.id}}}function SH(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var $H=df,_H={"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 E1(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function EH(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]||E1(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]||E1(g);n[a(l.id,g)]=m}})}});let c={..._H,...n};Object.keys(c).length>0&&ns(r.cesdk,{en:c})}async function LH({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=kH(r.document),c=sf(s,r.inputReference);if(!xH(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 EH(u,t,e,t.kind),d=>{let{builder:p}=d,g=[];p.Section(`${o}.schema.section`,{children:()=>{u.forEach(b=>{let v=$H(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 TH=LH;async function OH(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return wH(e,t);case"schema":return TH(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var NH=OH;function DH(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 UB(o,r)),o}return i}var PH=DH;function zH(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 UH=zH,Vl="@imgly/plugin-ai-generation",RH=`
@@ -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
- `,cZ=uZ,dZ=typeof global=="object"&&global&&global.Object===Object&&global,mf=dZ,pZ=typeof self=="object"&&self&&self.Object===Object&&self,gZ=mf||pZ||Function("return this")(),se=gZ,fZ=se.Symbol,lr=fZ,bf=Object.prototype,yZ=bf.hasOwnProperty,mZ=bf.toString,Ji=lr?lr.toStringTag:void 0;function bZ(e){var t=yZ.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=mZ.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var hZ=bZ,vZ=Object.prototype,wZ=vZ.toString;function kZ(e){return wZ.call(e)}var xZ=kZ,IZ="[object Null]",CZ="[object Undefined]",T1=lr?lr.toStringTag:void 0;function AZ(e){return e==null?e===void 0?CZ:IZ:T1&&T1 in Object(e)?hZ(e):xZ(e)}var gn=AZ;function MZ(e){return e!=null&&typeof e=="object"}var ss=MZ,rte=Array.isArray;function jZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var hf=jZ,SZ="[object AsyncFunction]",$Z="[object Function]",_Z="[object GeneratorFunction]",EZ="[object Proxy]";function LZ(e){if(!hf(e))return!1;var t=gn(e);return t==$Z||t==_Z||t==SZ||t==EZ}var TZ=LZ,OZ=se["__core-js_shared__"],ql=OZ,O1=function(){var e=/[^.]+$/.exec(ql&&ql.keys&&ql.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function NZ(e){return!!O1&&O1 in e}var DZ=NZ,PZ=Function.prototype,zZ=PZ.toString;function UZ(e){if(e!=null){try{return zZ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=UZ,RZ=/[\\^$.*+?()[\]{}|]/g,FZ=/^\[object .+?Constructor\]$/,VZ=Function.prototype,BZ=Object.prototype,qZ=VZ.toString,GZ=BZ.hasOwnProperty,YZ=RegExp("^"+qZ.call(GZ).replace(RZ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function HZ(e){if(!hf(e)||DZ(e))return!1;var t=TZ(e)?YZ:FZ;return t.test(Ge(e))}var ZZ=HZ;function QZ(e,t){return e?.[t]}var WZ=QZ;function KZ(e,t){var r=WZ(e,t);return ZZ(r)?r:void 0}var pr=KZ,JZ=pr(se,"WeakMap"),Jl=JZ;function XZ(e,t){return e===t||e!==e&&t!==t}var eQ=XZ,tQ=9007199254740991;function rQ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=tQ}var iQ=rQ,ite=Object.prototype,nQ="[object Arguments]";function oQ(e){return ss(e)&&gn(e)==nQ}var N1=oQ,vf=Object.prototype,aQ=vf.hasOwnProperty,lQ=vf.propertyIsEnumerable,nte=N1(function(){return arguments}())?N1:function(e){return ss(e)&&aQ.call(e,"callee")&&!lQ.call(e,"callee")},wf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,D1=wf&&typeof module=="object"&&module&&!module.nodeType&&module,sQ=D1&&D1.exports===wf,P1=sQ?se.Buffer:void 0,ote=P1?P1.isBuffer:void 0,uQ="[object Arguments]",cQ="[object Array]",dQ="[object Boolean]",pQ="[object Date]",gQ="[object Error]",fQ="[object Function]",yQ="[object Map]",mQ="[object Number]",bQ="[object Object]",hQ="[object RegExp]",vQ="[object Set]",wQ="[object String]",kQ="[object WeakMap]",xQ="[object ArrayBuffer]",IQ="[object DataView]",CQ="[object Float32Array]",AQ="[object Float64Array]",MQ="[object Int8Array]",jQ="[object Int16Array]",SQ="[object Int32Array]",$Q="[object Uint8Array]",_Q="[object Uint8ClampedArray]",EQ="[object Uint16Array]",LQ="[object Uint32Array]",B={};B[CQ]=B[AQ]=B[MQ]=B[jQ]=B[SQ]=B[$Q]=B[_Q]=B[EQ]=B[LQ]=!0;B[uQ]=B[cQ]=B[xQ]=B[dQ]=B[IQ]=B[pQ]=B[gQ]=B[fQ]=B[yQ]=B[mQ]=B[bQ]=B[hQ]=B[vQ]=B[wQ]=B[kQ]=!1;function TQ(e){return ss(e)&&iQ(e.length)&&!!B[gn(e)]}var OQ=TQ;function NQ(e){return function(t){return e(t)}}var DQ=NQ,kf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nn=kf&&typeof module=="object"&&module&&!module.nodeType&&module,PQ=nn&&nn.exports===kf,Gl=PQ&&mf.process,zQ=function(){try{var e=nn&&nn.require&&nn.require("util").types;return e||Gl&&Gl.binding&&Gl.binding("util")}catch{}}(),z1=zQ,U1=z1&&z1.isTypedArray,ate=U1?DQ(U1):OQ,UQ=Object.prototype,lte=UQ.hasOwnProperty;function RQ(e,t){return function(r){return e(t(r))}}var FQ=RQ,ste=FQ(Object.keys,Object),VQ=Object.prototype,ute=VQ.hasOwnProperty,BQ=pr(Object,"create"),ln=BQ;function qQ(){this.__data__=ln?ln(null):{},this.size=0}var GQ=qQ;function YQ(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var HQ=YQ,ZQ="__lodash_hash_undefined__",QQ=Object.prototype,WQ=QQ.hasOwnProperty;function KQ(e){var t=this.__data__;if(ln){var r=t[e];return r===ZQ?void 0:r}return WQ.call(t,e)?t[e]:void 0}var JQ=KQ,XQ=Object.prototype,eW=XQ.hasOwnProperty;function tW(e){var t=this.__data__;return ln?t[e]!==void 0:eW.call(t,e)}var rW=tW,iW="__lodash_hash_undefined__";function nW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?iW:t,this}var oW=nW;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=GQ;gr.prototype.delete=HQ;gr.prototype.get=JQ;gr.prototype.has=rW;gr.prototype.set=oW;var R1=gr;function aW(){this.__data__=[],this.size=0}var lW=aW;function sW(e,t){for(var r=e.length;r--;)if(eQ(e[r][0],t))return r;return-1}var jo=sW,uW=Array.prototype,cW=uW.splice;function dW(e){var t=this.__data__,r=jo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():cW.call(t,r,1),--this.size,!0}var pW=dW;function gW(e){var t=this.__data__,r=jo(t,e);return r<0?void 0:t[r][1]}var fW=gW;function yW(e){return jo(this.__data__,e)>-1}var mW=yW;function bW(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 hW=bW;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=lW;fr.prototype.delete=pW;fr.prototype.get=fW;fr.prototype.has=mW;fr.prototype.set=hW;var So=fr,vW=pr(se,"Map"),sn=vW;function wW(){this.size=0,this.__data__={hash:new R1,map:new(sn||So),string:new R1}}var kW=wW;function xW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var IW=xW;function CW(e,t){var r=e.__data__;return IW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var $o=CW;function AW(e){var t=$o(this,e).delete(e);return this.size-=t?1:0,t}var MW=AW;function jW(e){return $o(this,e).get(e)}var SW=jW;function $W(e){return $o(this,e).has(e)}var _W=$W;function EW(e,t){var r=$o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var LW=EW;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=kW;yr.prototype.delete=MW;yr.prototype.get=SW;yr.prototype.has=_W;yr.prototype.set=LW;var xf=yr;function TW(){this.__data__=new So,this.size=0}var OW=TW;function NW(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var DW=NW;function PW(e){return this.__data__.get(e)}var zW=PW;function UW(e){return this.__data__.has(e)}var RW=UW,FW=200;function VW(e,t){var r=this.__data__;if(r instanceof So){var i=r.__data__;if(!sn||i.length<FW-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 BW=VW;function fn(e){var t=this.__data__=new So(e);this.size=t.size}fn.prototype.clear=OW;fn.prototype.delete=DW;fn.prototype.get=zW;fn.prototype.has=RW;fn.prototype.set=BW;var qW=Object.prototype,cte=qW.propertyIsEnumerable,GW=pr(se,"DataView"),Xl=GW,YW=pr(se,"Promise"),es=YW,HW=pr(se,"Set"),ts=HW,F1="[object Map]",ZW="[object Object]",V1="[object Promise]",B1="[object Set]",q1="[object WeakMap]",G1="[object DataView]",QW=Ge(Xl),WW=Ge(sn),KW=Ge(es),JW=Ge(ts),XW=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==ZW?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case QW:return G1;case WW:return F1;case KW:return V1;case JW:return B1;case XW:return q1}return t});var dte=se.Uint8Array,eK="__lodash_hash_undefined__";function tK(e){return this.__data__.set(e,eK),this}var rK=tK;function iK(e){return this.__data__.has(e)}var nK=iK;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=rK;rs.prototype.has=nK;var Y1=lr?lr.prototype:void 0,pte=Y1?Y1.valueOf:void 0,oK=Object.prototype,gte=oK.hasOwnProperty,aK=Object.prototype,fte=aK.hasOwnProperty,yte=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),mte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),bte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function lK(e){return e==null?[]:Array.isArray(e)?e:[e]}var sK=lK;function uK(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function cK(e){return typeof e?.translate=="function"}function dK(e,t,r){return e&&uK(e)&&cK(e.i18n)?e.i18n.translate(t):r}var tn="@imgly/plugin-ai-sticker-generation-web",Me="ly.img.ai.sticker-generation";function pK(e){return{async initialize({cesdk:t}){if(t==null)return;WY(t,tn,"1.68.0-rc.1"),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(sZ,cZ),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:dK(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(sK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await lZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Me,s.panel.builderRenderFunction),JY({cesdk:t,panelId:Me})):n()}}}var gK=pK,fK=e=>({name:tn,version:"1.68.0-rc.1",...gK(e)}),If=fK;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(j=>j.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=yK(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 yK(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"),mK=512,bK=128,Af=e=>({async initialize({cesdk:t}){if(t==null)return;ru(t,yn,"1.68.0-rc.1");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})),xK(t),hK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function hK(e,t){kK(e);let r=vK(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 vK(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?wK(t.baseURL,o):void 0,width:mK,height:bK}}).filter(Es)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function wK(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 kK(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 xK(e){Xs(e,iu)}var IK=e=>({name:yn,version:"1.68.0-rc.1",...Af(e)}),Dte=IK;export{Dte as default};
665
+ `,cZ=uZ,dZ=typeof global=="object"&&global&&global.Object===Object&&global,mf=dZ,pZ=typeof self=="object"&&self&&self.Object===Object&&self,gZ=mf||pZ||Function("return this")(),se=gZ,fZ=se.Symbol,lr=fZ,bf=Object.prototype,yZ=bf.hasOwnProperty,mZ=bf.toString,Ji=lr?lr.toStringTag:void 0;function bZ(e){var t=yZ.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=mZ.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var hZ=bZ,vZ=Object.prototype,wZ=vZ.toString;function kZ(e){return wZ.call(e)}var xZ=kZ,IZ="[object Null]",CZ="[object Undefined]",T1=lr?lr.toStringTag:void 0;function AZ(e){return e==null?e===void 0?CZ:IZ:T1&&T1 in Object(e)?hZ(e):xZ(e)}var gn=AZ;function MZ(e){return e!=null&&typeof e=="object"}var ss=MZ,rte=Array.isArray;function jZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var hf=jZ,SZ="[object AsyncFunction]",$Z="[object Function]",_Z="[object GeneratorFunction]",EZ="[object Proxy]";function LZ(e){if(!hf(e))return!1;var t=gn(e);return t==$Z||t==_Z||t==SZ||t==EZ}var TZ=LZ,OZ=se["__core-js_shared__"],ql=OZ,O1=function(){var e=/[^.]+$/.exec(ql&&ql.keys&&ql.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function NZ(e){return!!O1&&O1 in e}var DZ=NZ,PZ=Function.prototype,zZ=PZ.toString;function UZ(e){if(e!=null){try{return zZ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=UZ,RZ=/[\\^$.*+?()[\]{}|]/g,FZ=/^\[object .+?Constructor\]$/,VZ=Function.prototype,BZ=Object.prototype,qZ=VZ.toString,GZ=BZ.hasOwnProperty,YZ=RegExp("^"+qZ.call(GZ).replace(RZ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function HZ(e){if(!hf(e)||DZ(e))return!1;var t=TZ(e)?YZ:FZ;return t.test(Ge(e))}var ZZ=HZ;function QZ(e,t){return e?.[t]}var WZ=QZ;function KZ(e,t){var r=WZ(e,t);return ZZ(r)?r:void 0}var pr=KZ,JZ=pr(se,"WeakMap"),Jl=JZ;function XZ(e,t){return e===t||e!==e&&t!==t}var eQ=XZ,tQ=9007199254740991;function rQ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=tQ}var iQ=rQ,ite=Object.prototype,nQ="[object Arguments]";function oQ(e){return ss(e)&&gn(e)==nQ}var N1=oQ,vf=Object.prototype,aQ=vf.hasOwnProperty,lQ=vf.propertyIsEnumerable,nte=N1(function(){return arguments}())?N1:function(e){return ss(e)&&aQ.call(e,"callee")&&!lQ.call(e,"callee")},wf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,D1=wf&&typeof module=="object"&&module&&!module.nodeType&&module,sQ=D1&&D1.exports===wf,P1=sQ?se.Buffer:void 0,ote=P1?P1.isBuffer:void 0,uQ="[object Arguments]",cQ="[object Array]",dQ="[object Boolean]",pQ="[object Date]",gQ="[object Error]",fQ="[object Function]",yQ="[object Map]",mQ="[object Number]",bQ="[object Object]",hQ="[object RegExp]",vQ="[object Set]",wQ="[object String]",kQ="[object WeakMap]",xQ="[object ArrayBuffer]",IQ="[object DataView]",CQ="[object Float32Array]",AQ="[object Float64Array]",MQ="[object Int8Array]",jQ="[object Int16Array]",SQ="[object Int32Array]",$Q="[object Uint8Array]",_Q="[object Uint8ClampedArray]",EQ="[object Uint16Array]",LQ="[object Uint32Array]",B={};B[CQ]=B[AQ]=B[MQ]=B[jQ]=B[SQ]=B[$Q]=B[_Q]=B[EQ]=B[LQ]=!0;B[uQ]=B[cQ]=B[xQ]=B[dQ]=B[IQ]=B[pQ]=B[gQ]=B[fQ]=B[yQ]=B[mQ]=B[bQ]=B[hQ]=B[vQ]=B[wQ]=B[kQ]=!1;function TQ(e){return ss(e)&&iQ(e.length)&&!!B[gn(e)]}var OQ=TQ;function NQ(e){return function(t){return e(t)}}var DQ=NQ,kf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nn=kf&&typeof module=="object"&&module&&!module.nodeType&&module,PQ=nn&&nn.exports===kf,Gl=PQ&&mf.process,zQ=function(){try{var e=nn&&nn.require&&nn.require("util").types;return e||Gl&&Gl.binding&&Gl.binding("util")}catch{}}(),z1=zQ,U1=z1&&z1.isTypedArray,ate=U1?DQ(U1):OQ,UQ=Object.prototype,lte=UQ.hasOwnProperty;function RQ(e,t){return function(r){return e(t(r))}}var FQ=RQ,ste=FQ(Object.keys,Object),VQ=Object.prototype,ute=VQ.hasOwnProperty,BQ=pr(Object,"create"),ln=BQ;function qQ(){this.__data__=ln?ln(null):{},this.size=0}var GQ=qQ;function YQ(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var HQ=YQ,ZQ="__lodash_hash_undefined__",QQ=Object.prototype,WQ=QQ.hasOwnProperty;function KQ(e){var t=this.__data__;if(ln){var r=t[e];return r===ZQ?void 0:r}return WQ.call(t,e)?t[e]:void 0}var JQ=KQ,XQ=Object.prototype,eW=XQ.hasOwnProperty;function tW(e){var t=this.__data__;return ln?t[e]!==void 0:eW.call(t,e)}var rW=tW,iW="__lodash_hash_undefined__";function nW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?iW:t,this}var oW=nW;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=GQ;gr.prototype.delete=HQ;gr.prototype.get=JQ;gr.prototype.has=rW;gr.prototype.set=oW;var R1=gr;function aW(){this.__data__=[],this.size=0}var lW=aW;function sW(e,t){for(var r=e.length;r--;)if(eQ(e[r][0],t))return r;return-1}var jo=sW,uW=Array.prototype,cW=uW.splice;function dW(e){var t=this.__data__,r=jo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():cW.call(t,r,1),--this.size,!0}var pW=dW;function gW(e){var t=this.__data__,r=jo(t,e);return r<0?void 0:t[r][1]}var fW=gW;function yW(e){return jo(this.__data__,e)>-1}var mW=yW;function bW(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 hW=bW;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=lW;fr.prototype.delete=pW;fr.prototype.get=fW;fr.prototype.has=mW;fr.prototype.set=hW;var So=fr,vW=pr(se,"Map"),sn=vW;function wW(){this.size=0,this.__data__={hash:new R1,map:new(sn||So),string:new R1}}var kW=wW;function xW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var IW=xW;function CW(e,t){var r=e.__data__;return IW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var $o=CW;function AW(e){var t=$o(this,e).delete(e);return this.size-=t?1:0,t}var MW=AW;function jW(e){return $o(this,e).get(e)}var SW=jW;function $W(e){return $o(this,e).has(e)}var _W=$W;function EW(e,t){var r=$o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var LW=EW;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=kW;yr.prototype.delete=MW;yr.prototype.get=SW;yr.prototype.has=_W;yr.prototype.set=LW;var xf=yr;function TW(){this.__data__=new So,this.size=0}var OW=TW;function NW(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var DW=NW;function PW(e){return this.__data__.get(e)}var zW=PW;function UW(e){return this.__data__.has(e)}var RW=UW,FW=200;function VW(e,t){var r=this.__data__;if(r instanceof So){var i=r.__data__;if(!sn||i.length<FW-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 BW=VW;function fn(e){var t=this.__data__=new So(e);this.size=t.size}fn.prototype.clear=OW;fn.prototype.delete=DW;fn.prototype.get=zW;fn.prototype.has=RW;fn.prototype.set=BW;var qW=Object.prototype,cte=qW.propertyIsEnumerable,GW=pr(se,"DataView"),Xl=GW,YW=pr(se,"Promise"),es=YW,HW=pr(se,"Set"),ts=HW,F1="[object Map]",ZW="[object Object]",V1="[object Promise]",B1="[object Set]",q1="[object WeakMap]",G1="[object DataView]",QW=Ge(Xl),WW=Ge(sn),KW=Ge(es),JW=Ge(ts),XW=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==ZW?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case QW:return G1;case WW:return F1;case KW:return V1;case JW:return B1;case XW:return q1}return t});var dte=se.Uint8Array,eK="__lodash_hash_undefined__";function tK(e){return this.__data__.set(e,eK),this}var rK=tK;function iK(e){return this.__data__.has(e)}var nK=iK;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=rK;rs.prototype.has=nK;var Y1=lr?lr.prototype:void 0,pte=Y1?Y1.valueOf:void 0,oK=Object.prototype,gte=oK.hasOwnProperty,aK=Object.prototype,fte=aK.hasOwnProperty,yte=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),mte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),bte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function lK(e){return e==null?[]:Array.isArray(e)?e:[e]}var sK=lK;function uK(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function cK(e){return typeof e?.translate=="function"}function dK(e,t,r){return e&&uK(e)&&cK(e.i18n)?e.i18n.translate(t):r}var tn="@imgly/plugin-ai-sticker-generation-web",Me="ly.img.ai.sticker-generation";function pK(e){return{async initialize({cesdk:t}){if(t==null)return;WY(t,tn,"1.68.0-rc.3"),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(sZ,cZ),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:dK(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(sK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await lZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Me,s.panel.builderRenderFunction),JY({cesdk:t,panelId:Me})):n()}}}var gK=pK,fK=e=>({name:tn,version:"1.68.0-rc.3",...gK(e)}),If=fK;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(j=>j.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=yK(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 yK(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"),mK=512,bK=128,Af=e=>({async initialize({cesdk:t}){if(t==null)return;ru(t,yn,"1.68.0-rc.3");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})),xK(t),hK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function hK(e,t){kK(e);let r=vK(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 vK(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?wK(t.baseURL,o):void 0,width:mK,height:bK}}).filter(Es)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function wK(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 kK(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 xK(e){Xs(e,iu)}var IK=e=>({name:yn,version:"1.68.0-rc.3",...Af(e)}),Dte=IK;export{Dte as default};
666
666
  /*! Bundled license information:
667
667
 
668
668
  lodash-es/lodash.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imgly/plugin-ai-apps-web",
3
- "version": "1.68.0-rc.1",
3
+ "version": "1.68.0-rc.3",
4
4
  "description": "AI apps orchestration plugin for the CE.SDK editor",
5
5
  "keywords": [
6
6
  "CE.SDK",
@@ -43,16 +43,16 @@
43
43
  "openapi-types": "^12.1.3",
44
44
  "typescript": "^5.3.3",
45
45
  "@imgly/plugin-utils": "0.0.0",
46
- "@imgly/plugin-ai-image-generation-web": "1.68.0-rc.1",
47
- "@imgly/plugin-ai-generation-web": "1.68.0-rc.1",
48
- "@imgly/plugin-ai-audio-generation-web": "1.68.0-rc.1",
49
- "@imgly/plugin-ai-video-generation-web": "1.68.0-rc.1",
50
- "@imgly/plugin-ai-text-generation-web": "1.68.0-rc.1",
51
- "@imgly/plugin-ai-sticker-generation-web": "1.68.0-rc.1"
46
+ "@imgly/plugin-ai-image-generation-web": "1.68.0-rc.3",
47
+ "@imgly/plugin-ai-video-generation-web": "1.68.0-rc.3",
48
+ "@imgly/plugin-ai-generation-web": "1.68.0-rc.3",
49
+ "@imgly/plugin-ai-audio-generation-web": "1.68.0-rc.3",
50
+ "@imgly/plugin-ai-sticker-generation-web": "1.68.0-rc.3",
51
+ "@imgly/plugin-ai-text-generation-web": "1.68.0-rc.3"
52
52
  },
53
53
  "dependencies": {},
54
54
  "peerDependencies": {
55
- "@cesdk/cesdk-js": "1.68.0-rc.1"
55
+ "@cesdk/cesdk-js": "1.68.0-rc.3"
56
56
  },
57
57
  "scripts": {
58
58
  "start": "pnpm run watch",