@imgly/plugin-ai-apps-web 1.73.0-rc.3 → 1.73.1-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.mjs +5 -5
- 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
|
-
`,Pv=Dv,zv=typeof global=="object"&&global&&global.Object===Object&&global,Sc=zv,Uv=typeof self=="object"&&self&&self.Object===Object&&self,Rv=Sc||Uv||Function("return this")(),ee=Rv,Fv=ee.Symbol,st=Fv,Mc=Object.prototype,Vv=Mc.hasOwnProperty,Bv=Mc.toString,Er=st?st.toStringTag:void 0;function qv(e){var t=Vv.call(e,Er),r=e[Er];try{e[Er]=void 0;var i=!0}catch{}var n=Bv.call(e);return i&&(t?e[Er]=r:delete e[Er]),n}var Gv=qv,Yv=Object.prototype,Hv=Yv.toString;function Zv(e){return Hv.call(e)}var Qv=Zv,Wv="[object Null]",Kv="[object Undefined]",_u=st?st.toStringTag:void 0;function Jv(e){return e==null?e===void 0?Kv:Wv:_u&&_u in Object(e)?Gv(e):Qv(e)}var Zr=Jv;function Xv(e){return e!=null&&typeof e=="object"}var ka=Xv,zJ=Array.isArray;function e7(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var jc=e7,t7="[object AsyncFunction]",r7="[object Function]",i7="[object GeneratorFunction]",n7="[object Proxy]";function o7(e){if(!jc(e))return!1;var t=Zr(e);return t==r7||t==i7||t==t7||t==n7}var a7=o7,l7=ee["__core-js_shared__"],ea=l7,Lu=function(){var e=/[^.]+$/.exec(ea&&ea.keys&&ea.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function s7(e){return!!Lu&&Lu in e}var u7=s7,c7=Function.prototype,d7=c7.toString;function p7(e){if(e!=null){try{return d7.call(e)}catch{}try{return e+""}catch{}}return""}var Te=p7,g7=/[\\^$.*+?()[\]{}|]/g,f7=/^\[object .+?Constructor\]$/,y7=Function.prototype,m7=Object.prototype,b7=y7.toString,h7=m7.hasOwnProperty,v7=RegExp("^"+b7.call(h7).replace(g7,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function w7(e){if(!jc(e)||u7(e))return!1;var t=a7(e)?v7:f7;return t.test(Te(e))}var k7=w7;function x7(e,t){return e?.[t]}var I7=x7;function C7(e,t){var r=I7(e,t);return k7(r)?r:void 0}var gt=C7,A7=gt(ee,"WeakMap"),da=A7;function S7(e,t){return e===t||e!==e&&t!==t}var M7=S7,j7=9007199254740991;function $7(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=j7}var E7=$7,UJ=Object.prototype,_7="[object Arguments]";function L7(e){return ka(e)&&Zr(e)==_7}var Tu=L7,$c=Object.prototype,T7=$c.hasOwnProperty,O7=$c.propertyIsEnumerable,RJ=Tu(function(){return arguments}())?Tu:function(e){return ka(e)&&T7.call(e,"callee")&&!O7.call(e,"callee")},Ec=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ou=Ec&&typeof module=="object"&&module&&!module.nodeType&&module,N7=Ou&&Ou.exports===Ec,Nu=N7?ee.Buffer:void 0,FJ=Nu?Nu.isBuffer:void 0,D7="[object Arguments]",P7="[object Array]",z7="[object Boolean]",U7="[object Date]",R7="[object Error]",F7="[object Function]",V7="[object Map]",B7="[object Number]",q7="[object Object]",G7="[object RegExp]",Y7="[object Set]",H7="[object String]",Z7="[object WeakMap]",Q7="[object ArrayBuffer]",W7="[object DataView]",K7="[object Float32Array]",J7="[object Float64Array]",X7="[object Int8Array]",e8="[object Int16Array]",t8="[object Int32Array]",r8="[object Uint8Array]",i8="[object Uint8ClampedArray]",n8="[object Uint16Array]",o8="[object Uint32Array]",N={};N[K7]=N[J7]=N[X7]=N[e8]=N[t8]=N[r8]=N[i8]=N[n8]=N[o8]=!0;N[D7]=N[P7]=N[Q7]=N[z7]=N[W7]=N[U7]=N[R7]=N[F7]=N[V7]=N[B7]=N[q7]=N[G7]=N[Y7]=N[H7]=N[Z7]=!1;function a8(e){return ka(e)&&E7(e.length)&&!!N[Zr(e)]}var l8=a8;function s8(e){return function(t){return e(t)}}var u8=s8,_c=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=_c&&typeof module=="object"&&module&&!module.nodeType&&module,c8=Pr&&Pr.exports===_c,ta=c8&&Sc.process,d8=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||ta&&ta.binding&&ta.binding("util")}catch{}}(),Du=d8,Pu=Du&&Du.isTypedArray,VJ=Pu?u8(Pu):l8,p8=Object.prototype,BJ=p8.hasOwnProperty;function g8(e,t){return function(r){return e(t(r))}}var f8=g8,qJ=f8(Object.keys,Object),y8=Object.prototype,GJ=y8.hasOwnProperty,m8=gt(Object,"create"),Fr=m8;function b8(){this.__data__=Fr?Fr(null):{},this.size=0}var h8=b8;function v8(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var w8=v8,k8="__lodash_hash_undefined__",x8=Object.prototype,I8=x8.hasOwnProperty;function C8(e){var t=this.__data__;if(Fr){var r=t[e];return r===k8?void 0:r}return I8.call(t,e)?t[e]:void 0}var A8=C8,S8=Object.prototype,M8=S8.hasOwnProperty;function j8(e){var t=this.__data__;return Fr?t[e]!==void 0:M8.call(t,e)}var $8=j8,E8="__lodash_hash_undefined__";function _8(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Fr&&t===void 0?E8:t,this}var L8=_8;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=h8;ft.prototype.delete=w8;ft.prototype.get=A8;ft.prototype.has=$8;ft.prototype.set=L8;var zu=ft;function T8(){this.__data__=[],this.size=0}var O8=T8;function N8(e,t){for(var r=e.length;r--;)if(M7(e[r][0],t))return r;return-1}var zn=N8,D8=Array.prototype,P8=D8.splice;function z8(e){var t=this.__data__,r=zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():P8.call(t,r,1),--this.size,!0}var U8=z8;function R8(e){var t=this.__data__,r=zn(t,e);return r<0?void 0:t[r][1]}var F8=R8;function V8(e){return zn(this.__data__,e)>-1}var B8=V8;function q8(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 G8=q8;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=O8;yt.prototype.delete=U8;yt.prototype.get=F8;yt.prototype.has=B8;yt.prototype.set=G8;var Un=yt,Y8=gt(ee,"Map"),Vr=Y8;function H8(){this.size=0,this.__data__={hash:new zu,map:new(Vr||Un),string:new zu}}var Z8=H8;function Q8(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var W8=Q8;function K8(e,t){var r=e.__data__;return W8(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Rn=K8;function J8(e){var t=Rn(this,e).delete(e);return this.size-=t?1:0,t}var X8=J8;function e6(e){return Rn(this,e).get(e)}var t6=e6;function r6(e){return Rn(this,e).has(e)}var i6=r6;function n6(e,t){var r=Rn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var o6=n6;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=Z8;mt.prototype.delete=X8;mt.prototype.get=t6;mt.prototype.has=i6;mt.prototype.set=o6;var Lc=mt;function a6(){this.__data__=new Un,this.size=0}var l6=a6;function s6(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var u6=s6;function c6(e){return this.__data__.get(e)}var d6=c6;function p6(e){return this.__data__.has(e)}var g6=p6,f6=200;function y6(e,t){var r=this.__data__;if(r instanceof Un){var i=r.__data__;if(!Vr||i.length<f6-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Lc(i)}return r.set(e,t),this.size=r.size,this}var m6=y6;function Qr(e){var t=this.__data__=new Un(e);this.size=t.size}Qr.prototype.clear=l6;Qr.prototype.delete=u6;Qr.prototype.get=d6;Qr.prototype.has=g6;Qr.prototype.set=m6;var b6=Object.prototype,YJ=b6.propertyIsEnumerable,h6=gt(ee,"DataView"),pa=h6,v6=gt(ee,"Promise"),ga=v6,w6=gt(ee,"Set"),fa=w6,Uu="[object Map]",k6="[object Object]",Ru="[object Promise]",Fu="[object Set]",Vu="[object WeakMap]",Bu="[object DataView]",x6=Te(pa),I6=Te(Vr),C6=Te(ga),A6=Te(fa),S6=Te(da),ot=Zr;(pa&&ot(new pa(new ArrayBuffer(1)))!=Bu||Vr&&ot(new Vr)!=Uu||ga&&ot(ga.resolve())!=Ru||fa&&ot(new fa)!=Fu||da&&ot(new da)!=Vu)&&(ot=function(e){var t=Zr(e),r=t==k6?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case x6:return Bu;case I6:return Uu;case C6:return Ru;case A6:return Fu;case S6:return Vu}return t});var HJ=ee.Uint8Array,M6="__lodash_hash_undefined__";function j6(e){return this.__data__.set(e,M6),this}var $6=j6;function E6(e){return this.__data__.has(e)}var _6=E6;function ya(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Lc;++t<r;)this.add(e[t])}ya.prototype.add=ya.prototype.push=$6;ya.prototype.has=_6;var qu=st?st.prototype:void 0,ZJ=qu?qu.valueOf:void 0,L6=Object.prototype,QJ=L6.hasOwnProperty,T6=Object.prototype,WJ=T6.hasOwnProperty,KJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),JJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),XJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function O6(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 O6(i,t)}function N6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Gu=N6;function D6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function P6(e){return typeof e?.translate=="function"}function z6(e,t,r){return e&&D6(e)&&P6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",U6=["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"],Fn="editImage",ue=`ly.img.${Fn}`,Yu=`ly.img.plugin-ai-image-generation-web.quickAction.${Fn}`,An=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Fn}`;function Sn(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 R6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),H(e,{en:{[`${An}`]:"Edit Image...",[`${An}.description`]:"Change image based on description",[`${An}.prompt`]:"Edit Image...",[`${Yu}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${An}.apply`]:"Change"}}),{id:ue,type:"quick",kind:"image",label:`${Yu}`,enable:Hr(),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:Sn(l,"prompt"),placeholder:Sn(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:Sn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await bt(g,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:p}),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:Sn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),F6=R6,Vn="swapBackground",ce=`ly.img.${Vn}`,Hu=`ly.img.plugin-ai-image-generation-web.quickAction.${Vn}`,Mn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Vn}`;function jn(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 V6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),H(e,{en:{[`${Mn}`]:"Swap Background...",[`${Mn}.description`]:"Change the background of the image",[`${Mn}.prompt`]:"Swap Background...",[`${Hu}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Mn}.apply`]:"Change"}}),{id:ce,type:"quick",kind:"image",label:`${Hu}`,enable:Hr(),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:jn(l,"prompt"),placeholder:jn(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:jn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await bt(g,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${d}`,uri:p}),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:jn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),B6=V6,Bn="styleTransfer",_r=`ly.img.${Bn}`,q6=`ly.img.plugin-ai-image-generation-web.quickAction.${Bn}`,W=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Bn}`;function Zu(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 G6=[{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."}],Y6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),H(e,{en:{[`${W}`]:"Change Art Style",[`${W}.description`]:"Transform image into different art styles",[`${W}.water`]:"Watercolor Painting",[`${W}.oil`]:"Oil Painting",[`${W}.charcoal`]:"Charcoal Sketch",[`${W}.pencil`]:"Pencil Drawing",[`${W}.pastel`]:"Pastel Artwork",[`${W}.ink`]:"Ink Wash",[`${W}.stained-glass`]:"Stained Glass Window",[`${W}.japanese`]:"Japanese Woodblock Print"}}),{id:_r,type:"quick",kind:"image",label:`${q6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${_r}.popover`,{label:Zu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${_r}.popover.section`,{children:()=>{r.builder.Menu(`${_r}.popover.menu`,{children:()=>{G6.forEach(s=>{t.Button(`${_r}.popover.menu.${s.id}`,{label:Zu(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"})}}})})}})}})}})}}),H6=Y6,qn="artistTransfer",Lr=`ly.img.${qn}`,Z6=`ly.img.plugin-ai-image-generation-web.quickAction.${qn}`,G=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qn}`;function Qu(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 Q6=[{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."}],W6=({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:`${Z6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Lr}.popover`,{label:Qu(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:()=>{Q6.forEach(s=>{t.Button(`${Lr}.popover.menu.${s.id}`,{label:Qu(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"})}}})})}})}})}})}}),K6=W6,Gn="createVariant",de=`ly.img.${Gn}`,Wu=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,$n=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function En(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 J6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),H(e,{en:{[`${$n}`]:"Create Variant...",[`${$n}.description`]:"Create a variation of the image",[`${$n}.prompt`]:"Create Variant...",[`${Wu}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${$n}.apply`]:"Create"}}),{id:de,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Wu}`,enable:t=>{if(!Hr()(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:En(l,"prompt"),placeholder:En(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:En(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=o.block.getType(g),y=o.block.duplicate(g);p==="//ly.img.ubq/page"&&o.block.getChildren(y).forEach(v=>{o.block.destroy(v)}),o.block.setSelected(g,!1),o.block.setSelected(y,!0);let f=o.block.getParent(y);if(f==null)throw new Error("Parent not found");if(!(f!=null&&o.block.getType(f)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(f))&&p!=="//ly.img.ubq/page"){let v=o.block.getWidth(f),k=o.block.getHeight(f),w=.02*Math.min(v,k)*1;o.block.setPositionX(y,o.block.getPositionX(y)+w),o.block.setPositionY(y,o.block.getPositionY(y)+w)}let m=await bt(y,o,{throwErrorIfSvg:!0});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 create variant. Please try again.",duration:"medium"})}}})}})}else t.Button(`${de}.button`,{label:En(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),X6=J6,Yn="combineImages",pe=`ly.img.${Yn}`,Ku=`ly.img.plugin-ai-image-generation-web.quickAction.${Yn}`,ra=`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 ew=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),H(e,{en:{[`${ra}.apply`]:"Combine",[`${ra}`]:"Combine Images...",[`${ra}.prompt`]:"Image Combination Instructions",[`${Ku}.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:`${Ku}`,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 g=o.block.findAllSelected(),p=o.block.duplicate(g[0]);g.forEach(x=>{o.block.setSelected(x,!1)}),o.block.setSelected(p,!0);let y=o.block.getParent(p);if(y==null)throw new Error("Parent not found");let f=1,m=o.block.getWidth(y),v=o.block.getHeight(y),k=.02*Math.min(m,v)*f;o.block.setPositionX(p,o.block.getPositionX(p)+k),o.block.setPositionY(p,o.block.getPositionY(p)+k);let w=await Promise.all(g.map(x=>bt(x,o,{throwErrorIfSvg:!0})));await a({prompt:d,uris:w,exportFromBlockIds:g},{blockIds:[p]}),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})}}),tw=ew,Hn="remixPage",Ju=`ly.img.${Hn}`,rw=`ly.img.plugin-ai-image-generation-web.quickAction.${Hn}`,iw=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Hn}`;function nw(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Hn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var ow=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${iw}`]:"Turn Page into Image"}}),{id:Ju,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${rw}`,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(`${Ju}.button`,{label:nw(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(v=>{i.block.destroy(v)}),i.block.setSelected(o,!1);let u=i.block.getFrameWidth(o),d=i.block.getFrameHeight(o),g=i.block.getPositionX(o),p=i.block.getPositionY(o),y=i.block.createShape("rect"),f=i.block.create("graphic");i.block.setShape(f,y),i.block.appendChild(l,f),i.block.setWidth(f,u),i.block.setHeight(f,d),i.block.setPositionX(f,g),i.block.setPositionY(f,p);let m=i.block.createFill("image");i.block.setFill(f,m),i.block.setString(m,"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"})}}})}}),aw=ow,Zn="remixPageWithPrompt",ge=`ly.img.${Zn}`,Xu=`ly.img.plugin-ai-image-generation-web.quickAction.${Zn}`,ia=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Zn}`;function Ln(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Zn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var lw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),H(e,{en:{[`${ia}`]:"Remix Page...",[`${ia}.prompt`]:"Remix Page Prompt",[`${Xu}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${ia}.apply`]:"Remix"}}),{id:ge,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Xu}`,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:Ln(l,"prompt"),placeholder:Ln(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:Ln(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await o.block.export(g),y=URL.createObjectURL(p),f=o.block.duplicate(g);o.block.getChildren(f).forEach(S=>{o.block.destroy(S)}),o.block.setSelected(g,!1);let m=o.block.getFrameWidth(g),v=o.block.getFrameHeight(g),k=o.block.getPositionX(g),w=o.block.getPositionY(g),x=o.block.createShape("rect"),b=o.block.create("graphic");o.block.setShape(b,x),o.block.appendChild(f,b),o.block.setWidth(b,m),o.block.setHeight(b,v),o.block.setPositionX(b,k),o.block.setPositionY(b,w);let I=o.block.createFill("image");o.block.setFill(b,I),o.block.setString(I,"fill/image/imageFileURI",y),o.block.setSelected(b,!0),o.scene.zoomToBlock(b),await a({prompt:d,uri:y},{blockIds:[b]}),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:Ln(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),sw=lw,fe="ly.img.ai.image-generation";function uw(e){return{async initialize({cesdk:t}){if(t==null)return;t3(t,Nr,"1.73.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=ba.get(),i=`${Nr}.action.label`;t.ui.addIconSet(Nv,Pv),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:z6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});cw(e),r.register(F6({cesdk:t})),r.register(B6({cesdk:t})),r.register(H6({cesdk:t})),r.register(K6({cesdk:t})),r.register(X6({cesdk:t})),r.register(tw({cesdk:t})),r.register(aw({cesdk:t})),r.register(sw({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,s=await Promise.all(Gu(a).map(d=>d({cesdk:t}))),c=await Promise.all(Gu(o).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let l=await dv("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await Ov({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:U6});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:Pn})),l.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,l.panel.builderRenderFunction),i3({cesdk:t,panelId:fe})):n()}}}function cw(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 dw=uw,pw=e=>({name:Nr,version:"1.73.0-rc.3",...dw(e)}),Tc=pw;var gw=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="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(g=l.tags[u]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&c.push(p),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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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 fw=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 g=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});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")}},yw=typeof global=="object"&&global&&global.Object===Object&&global,wd=yw,mw=typeof self=="object"&&self&&self.Object===Object&&self,bw=wd||mw||Function("return this")(),te=bw,hw=te.Symbol,kt=hw,kd=Object.prototype,vw=kd.hasOwnProperty,ww=kd.toString,Wr=kt?kt.toStringTag:void 0;function kw(e){var t=vw.call(e,Wr),r=e[Wr];try{e[Wr]=void 0;var i=!0}catch{}var n=ww.call(e);return i&&(t?e[Wr]=r:delete e[Wr]),n}var xw=kw,Iw=Object.prototype,Cw=Iw.toString;function Aw(e){return Cw.call(e)}var Sw=Aw,Mw="[object Null]",jw="[object Undefined]",Oc=kt?kt.toStringTag:void 0;function $w(e){return e==null?e===void 0?jw:Mw:Oc&&Oc in Object(e)?xw(e):Sw(e)}var si=$w;function Ew(e){return e!=null&&typeof e=="object"}var Fa=Ew,nX=Array.isArray;function _w(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var xd=_w,Lw="[object AsyncFunction]",Tw="[object Function]",Ow="[object GeneratorFunction]",Nw="[object Proxy]";function Dw(e){if(!xd(e))return!1;var t=si(e);return t==Tw||t==Ow||t==Lw||t==Nw}var Pw=Dw,zw=te["__core-js_shared__"],xa=zw,Nc=function(){var e=/[^.]+$/.exec(xa&&xa.keys&&xa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Uw(e){return!!Nc&&Nc in e}var Rw=Uw,Fw=Function.prototype,Vw=Fw.toString;function Bw(e){if(e!=null){try{return Vw.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=Bw,qw=/[\\^$.*+?()[\]{}|]/g,Gw=/^\[object .+?Constructor\]$/,Yw=Function.prototype,Hw=Object.prototype,Zw=Yw.toString,Qw=Hw.hasOwnProperty,Ww=RegExp("^"+Zw.call(Qw).replace(qw,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Kw(e){if(!xd(e)||Rw(e))return!1;var t=Pw(e)?Ww:Gw;return t.test(Oe(e))}var Jw=Kw;function Xw(e,t){return e?.[t]}var ek=Xw;function tk(e,t){var r=ek(e,t);return Jw(r)?r:void 0}var It=tk,rk=It(te,"WeakMap"),$a=rk;function ik(e,t){return e===t||e!==e&&t!==t}var nk=ik,ok=9007199254740991;function ak(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ok}var lk=ak,oX=Object.prototype,sk="[object Arguments]";function uk(e){return Fa(e)&&si(e)==sk}var Dc=uk,Id=Object.prototype,ck=Id.hasOwnProperty,dk=Id.propertyIsEnumerable,aX=Dc(function(){return arguments}())?Dc:function(e){return Fa(e)&&ck.call(e,"callee")&&!dk.call(e,"callee")},Cd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pc=Cd&&typeof module=="object"&&module&&!module.nodeType&&module,pk=Pc&&Pc.exports===Cd,zc=pk?te.Buffer:void 0,lX=zc?zc.isBuffer:void 0,gk="[object Arguments]",fk="[object Array]",yk="[object Boolean]",mk="[object Date]",bk="[object Error]",hk="[object Function]",vk="[object Map]",wk="[object Number]",kk="[object Object]",xk="[object RegExp]",Ik="[object Set]",Ck="[object String]",Ak="[object WeakMap]",Sk="[object ArrayBuffer]",Mk="[object DataView]",jk="[object Float32Array]",$k="[object Float64Array]",Ek="[object Int8Array]",_k="[object Int16Array]",Lk="[object Int32Array]",Tk="[object Uint8Array]",Ok="[object Uint8ClampedArray]",Nk="[object Uint16Array]",Dk="[object Uint32Array]",D={};D[jk]=D[$k]=D[Ek]=D[_k]=D[Lk]=D[Tk]=D[Ok]=D[Nk]=D[Dk]=!0;D[gk]=D[fk]=D[Sk]=D[yk]=D[Mk]=D[mk]=D[bk]=D[hk]=D[vk]=D[wk]=D[kk]=D[xk]=D[Ik]=D[Ck]=D[Ak]=!1;function Pk(e){return Fa(e)&&lk(e.length)&&!!D[si(e)]}var zk=Pk;function Uk(e){return function(t){return e(t)}}var Rk=Uk,Ad=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Ad&&typeof module=="object"&&module&&!module.nodeType&&module,Fk=ri&&ri.exports===Ad,Ia=Fk&&wd.process,Vk=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Ia&&Ia.binding&&Ia.binding("util")}catch{}}(),Uc=Vk,Rc=Uc&&Uc.isTypedArray,sX=Rc?Rk(Rc):zk,Bk=Object.prototype,uX=Bk.hasOwnProperty;function qk(e,t){return function(r){return e(t(r))}}var Gk=qk,cX=Gk(Object.keys,Object),Yk=Object.prototype,dX=Yk.hasOwnProperty,Hk=It(Object,"create"),ni=Hk;function Zk(){this.__data__=ni?ni(null):{},this.size=0}var Qk=Zk;function Wk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Kk=Wk,Jk="__lodash_hash_undefined__",Xk=Object.prototype,ex=Xk.hasOwnProperty;function tx(e){var t=this.__data__;if(ni){var r=t[e];return r===Jk?void 0:r}return ex.call(t,e)?t[e]:void 0}var rx=tx,ix=Object.prototype,nx=ix.hasOwnProperty;function ox(e){var t=this.__data__;return ni?t[e]!==void 0:nx.call(t,e)}var ax=ox,lx="__lodash_hash_undefined__";function sx(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ni&&t===void 0?lx:t,this}var ux=sx;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=Qk;Ct.prototype.delete=Kk;Ct.prototype.get=rx;Ct.prototype.has=ax;Ct.prototype.set=ux;var Fc=Ct;function cx(){this.__data__=[],this.size=0}var dx=cx;function px(e,t){for(var r=e.length;r--;)if(nk(e[r][0],t))return r;return-1}var Wn=px,gx=Array.prototype,fx=gx.splice;function yx(e){var t=this.__data__,r=Wn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():fx.call(t,r,1),--this.size,!0}var mx=yx;function bx(e){var t=this.__data__,r=Wn(t,e);return r<0?void 0:t[r][1]}var hx=bx;function vx(e){return Wn(this.__data__,e)>-1}var wx=vx;function kx(e,t){var r=this.__data__,i=Wn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var xx=kx;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=dx;At.prototype.delete=mx;At.prototype.get=hx;At.prototype.has=wx;At.prototype.set=xx;var Kn=At,Ix=It(te,"Map"),oi=Ix;function Cx(){this.size=0,this.__data__={hash:new Fc,map:new(oi||Kn),string:new Fc}}var Ax=Cx;function Sx(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Mx=Sx;function jx(e,t){var r=e.__data__;return Mx(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Jn=jx;function $x(e){var t=Jn(this,e).delete(e);return this.size-=t?1:0,t}var Ex=$x;function _x(e){return Jn(this,e).get(e)}var Lx=_x;function Tx(e){return Jn(this,e).has(e)}var Ox=Tx;function Nx(e,t){var r=Jn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Dx=Nx;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=Ax;St.prototype.delete=Ex;St.prototype.get=Lx;St.prototype.has=Ox;St.prototype.set=Dx;var Sd=St;function Px(){this.__data__=new Kn,this.size=0}var zx=Px;function Ux(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Rx=Ux;function Fx(e){return this.__data__.get(e)}var Vx=Fx;function Bx(e){return this.__data__.has(e)}var qx=Bx,Gx=200;function Yx(e,t){var r=this.__data__;if(r instanceof Kn){var i=r.__data__;if(!oi||i.length<Gx-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Sd(i)}return r.set(e,t),this.size=r.size,this}var Hx=Yx;function ui(e){var t=this.__data__=new Kn(e);this.size=t.size}ui.prototype.clear=zx;ui.prototype.delete=Rx;ui.prototype.get=Vx;ui.prototype.has=qx;ui.prototype.set=Hx;var Zx=Object.prototype,pX=Zx.propertyIsEnumerable,Qx=It(te,"DataView"),Ea=Qx,Wx=It(te,"Promise"),_a=Wx,Kx=It(te,"Set"),La=Kx,Vc="[object Map]",Jx="[object Object]",Bc="[object Promise]",qc="[object Set]",Gc="[object WeakMap]",Yc="[object DataView]",Xx=Oe(Ea),eI=Oe(oi),tI=Oe(_a),rI=Oe(La),iI=Oe($a),ht=si;(Ea&&ht(new Ea(new ArrayBuffer(1)))!=Yc||oi&&ht(new oi)!=Vc||_a&&ht(_a.resolve())!=Bc||La&&ht(new La)!=qc||$a&&ht(new $a)!=Gc)&&(ht=function(e){var t=si(e),r=t==Jx?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case Xx:return Yc;case eI:return Vc;case tI:return Bc;case rI:return qc;case iI:return Gc}return t});var gX=te.Uint8Array,nI="__lodash_hash_undefined__";function oI(e){return this.__data__.set(e,nI),this}var aI=oI;function lI(e){return this.__data__.has(e)}var sI=lI;function Ta(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Sd;++t<r;)this.add(e[t])}Ta.prototype.add=Ta.prototype.push=aI;Ta.prototype.has=sI;var Hc=kt?kt.prototype:void 0,fX=Hc?Hc.valueOf:void 0,uI=Object.prototype,yX=uI.hasOwnProperty,cI=Object.prototype,mX=cI.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 Md(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 dI(e,t){let r=await Md(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 pI(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 Md(i,t)}function gI(e){return e!==void 0}var fI=gI;function ci(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 di(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function pi(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 Qn=class jd{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 jd),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))}},yI=class $d{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new $d),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 mI(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 g=t[l],p=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return g(u,y,p)},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 bI({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 hI=bI,Ca="ly.img.ai.temp";async function vI(e,t){return e.engine.asset.findAllSources().includes(Ca)||e.engine.asset.addLocalSource(Ca),e.engine.asset.apply(Ca,t)}function wI(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 Ed(){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 kI(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 xI(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 Va(e){return e instanceof Error&&e.name==="AbortError"}function II(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function CI(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
|
+
`,Pv=Dv,zv=typeof global=="object"&&global&&global.Object===Object&&global,Sc=zv,Uv=typeof self=="object"&&self&&self.Object===Object&&self,Rv=Sc||Uv||Function("return this")(),ee=Rv,Fv=ee.Symbol,st=Fv,Mc=Object.prototype,Vv=Mc.hasOwnProperty,Bv=Mc.toString,Er=st?st.toStringTag:void 0;function qv(e){var t=Vv.call(e,Er),r=e[Er];try{e[Er]=void 0;var i=!0}catch{}var n=Bv.call(e);return i&&(t?e[Er]=r:delete e[Er]),n}var Gv=qv,Yv=Object.prototype,Hv=Yv.toString;function Zv(e){return Hv.call(e)}var Qv=Zv,Wv="[object Null]",Kv="[object Undefined]",_u=st?st.toStringTag:void 0;function Jv(e){return e==null?e===void 0?Kv:Wv:_u&&_u in Object(e)?Gv(e):Qv(e)}var Zr=Jv;function Xv(e){return e!=null&&typeof e=="object"}var ka=Xv,zJ=Array.isArray;function e7(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var jc=e7,t7="[object AsyncFunction]",r7="[object Function]",i7="[object GeneratorFunction]",n7="[object Proxy]";function o7(e){if(!jc(e))return!1;var t=Zr(e);return t==r7||t==i7||t==t7||t==n7}var a7=o7,l7=ee["__core-js_shared__"],ea=l7,Lu=function(){var e=/[^.]+$/.exec(ea&&ea.keys&&ea.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function s7(e){return!!Lu&&Lu in e}var u7=s7,c7=Function.prototype,d7=c7.toString;function p7(e){if(e!=null){try{return d7.call(e)}catch{}try{return e+""}catch{}}return""}var Te=p7,g7=/[\\^$.*+?()[\]{}|]/g,f7=/^\[object .+?Constructor\]$/,y7=Function.prototype,m7=Object.prototype,b7=y7.toString,h7=m7.hasOwnProperty,v7=RegExp("^"+b7.call(h7).replace(g7,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function w7(e){if(!jc(e)||u7(e))return!1;var t=a7(e)?v7:f7;return t.test(Te(e))}var k7=w7;function x7(e,t){return e?.[t]}var I7=x7;function C7(e,t){var r=I7(e,t);return k7(r)?r:void 0}var gt=C7,A7=gt(ee,"WeakMap"),da=A7;function S7(e,t){return e===t||e!==e&&t!==t}var M7=S7,j7=9007199254740991;function $7(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=j7}var E7=$7,UJ=Object.prototype,_7="[object Arguments]";function L7(e){return ka(e)&&Zr(e)==_7}var Tu=L7,$c=Object.prototype,T7=$c.hasOwnProperty,O7=$c.propertyIsEnumerable,RJ=Tu(function(){return arguments}())?Tu:function(e){return ka(e)&&T7.call(e,"callee")&&!O7.call(e,"callee")},Ec=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ou=Ec&&typeof module=="object"&&module&&!module.nodeType&&module,N7=Ou&&Ou.exports===Ec,Nu=N7?ee.Buffer:void 0,FJ=Nu?Nu.isBuffer:void 0,D7="[object Arguments]",P7="[object Array]",z7="[object Boolean]",U7="[object Date]",R7="[object Error]",F7="[object Function]",V7="[object Map]",B7="[object Number]",q7="[object Object]",G7="[object RegExp]",Y7="[object Set]",H7="[object String]",Z7="[object WeakMap]",Q7="[object ArrayBuffer]",W7="[object DataView]",K7="[object Float32Array]",J7="[object Float64Array]",X7="[object Int8Array]",e8="[object Int16Array]",t8="[object Int32Array]",r8="[object Uint8Array]",i8="[object Uint8ClampedArray]",n8="[object Uint16Array]",o8="[object Uint32Array]",N={};N[K7]=N[J7]=N[X7]=N[e8]=N[t8]=N[r8]=N[i8]=N[n8]=N[o8]=!0;N[D7]=N[P7]=N[Q7]=N[z7]=N[W7]=N[U7]=N[R7]=N[F7]=N[V7]=N[B7]=N[q7]=N[G7]=N[Y7]=N[H7]=N[Z7]=!1;function a8(e){return ka(e)&&E7(e.length)&&!!N[Zr(e)]}var l8=a8;function s8(e){return function(t){return e(t)}}var u8=s8,_c=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=_c&&typeof module=="object"&&module&&!module.nodeType&&module,c8=Pr&&Pr.exports===_c,ta=c8&&Sc.process,d8=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||ta&&ta.binding&&ta.binding("util")}catch{}}(),Du=d8,Pu=Du&&Du.isTypedArray,VJ=Pu?u8(Pu):l8,p8=Object.prototype,BJ=p8.hasOwnProperty;function g8(e,t){return function(r){return e(t(r))}}var f8=g8,qJ=f8(Object.keys,Object),y8=Object.prototype,GJ=y8.hasOwnProperty,m8=gt(Object,"create"),Fr=m8;function b8(){this.__data__=Fr?Fr(null):{},this.size=0}var h8=b8;function v8(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var w8=v8,k8="__lodash_hash_undefined__",x8=Object.prototype,I8=x8.hasOwnProperty;function C8(e){var t=this.__data__;if(Fr){var r=t[e];return r===k8?void 0:r}return I8.call(t,e)?t[e]:void 0}var A8=C8,S8=Object.prototype,M8=S8.hasOwnProperty;function j8(e){var t=this.__data__;return Fr?t[e]!==void 0:M8.call(t,e)}var $8=j8,E8="__lodash_hash_undefined__";function _8(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Fr&&t===void 0?E8:t,this}var L8=_8;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=h8;ft.prototype.delete=w8;ft.prototype.get=A8;ft.prototype.has=$8;ft.prototype.set=L8;var zu=ft;function T8(){this.__data__=[],this.size=0}var O8=T8;function N8(e,t){for(var r=e.length;r--;)if(M7(e[r][0],t))return r;return-1}var zn=N8,D8=Array.prototype,P8=D8.splice;function z8(e){var t=this.__data__,r=zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():P8.call(t,r,1),--this.size,!0}var U8=z8;function R8(e){var t=this.__data__,r=zn(t,e);return r<0?void 0:t[r][1]}var F8=R8;function V8(e){return zn(this.__data__,e)>-1}var B8=V8;function q8(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 G8=q8;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=O8;yt.prototype.delete=U8;yt.prototype.get=F8;yt.prototype.has=B8;yt.prototype.set=G8;var Un=yt,Y8=gt(ee,"Map"),Vr=Y8;function H8(){this.size=0,this.__data__={hash:new zu,map:new(Vr||Un),string:new zu}}var Z8=H8;function Q8(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var W8=Q8;function K8(e,t){var r=e.__data__;return W8(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Rn=K8;function J8(e){var t=Rn(this,e).delete(e);return this.size-=t?1:0,t}var X8=J8;function e6(e){return Rn(this,e).get(e)}var t6=e6;function r6(e){return Rn(this,e).has(e)}var i6=r6;function n6(e,t){var r=Rn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var o6=n6;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=Z8;mt.prototype.delete=X8;mt.prototype.get=t6;mt.prototype.has=i6;mt.prototype.set=o6;var Lc=mt;function a6(){this.__data__=new Un,this.size=0}var l6=a6;function s6(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var u6=s6;function c6(e){return this.__data__.get(e)}var d6=c6;function p6(e){return this.__data__.has(e)}var g6=p6,f6=200;function y6(e,t){var r=this.__data__;if(r instanceof Un){var i=r.__data__;if(!Vr||i.length<f6-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Lc(i)}return r.set(e,t),this.size=r.size,this}var m6=y6;function Qr(e){var t=this.__data__=new Un(e);this.size=t.size}Qr.prototype.clear=l6;Qr.prototype.delete=u6;Qr.prototype.get=d6;Qr.prototype.has=g6;Qr.prototype.set=m6;var b6=Object.prototype,YJ=b6.propertyIsEnumerable,h6=gt(ee,"DataView"),pa=h6,v6=gt(ee,"Promise"),ga=v6,w6=gt(ee,"Set"),fa=w6,Uu="[object Map]",k6="[object Object]",Ru="[object Promise]",Fu="[object Set]",Vu="[object WeakMap]",Bu="[object DataView]",x6=Te(pa),I6=Te(Vr),C6=Te(ga),A6=Te(fa),S6=Te(da),ot=Zr;(pa&&ot(new pa(new ArrayBuffer(1)))!=Bu||Vr&&ot(new Vr)!=Uu||ga&&ot(ga.resolve())!=Ru||fa&&ot(new fa)!=Fu||da&&ot(new da)!=Vu)&&(ot=function(e){var t=Zr(e),r=t==k6?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case x6:return Bu;case I6:return Uu;case C6:return Ru;case A6:return Fu;case S6:return Vu}return t});var HJ=ee.Uint8Array,M6="__lodash_hash_undefined__";function j6(e){return this.__data__.set(e,M6),this}var $6=j6;function E6(e){return this.__data__.has(e)}var _6=E6;function ya(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Lc;++t<r;)this.add(e[t])}ya.prototype.add=ya.prototype.push=$6;ya.prototype.has=_6;var qu=st?st.prototype:void 0,ZJ=qu?qu.valueOf:void 0,L6=Object.prototype,QJ=L6.hasOwnProperty,T6=Object.prototype,WJ=T6.hasOwnProperty,KJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),JJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),XJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function O6(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 O6(i,t)}function N6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Gu=N6;function D6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function P6(e){return typeof e?.translate=="function"}function z6(e,t,r){return e&&D6(e)&&P6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",U6=["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"],Fn="editImage",ue=`ly.img.${Fn}`,Yu=`ly.img.plugin-ai-image-generation-web.quickAction.${Fn}`,An=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Fn}`;function Sn(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 R6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),H(e,{en:{[`${An}`]:"Edit Image...",[`${An}.description`]:"Change image based on description",[`${An}.prompt`]:"Edit Image...",[`${Yu}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${An}.apply`]:"Change"}}),{id:ue,type:"quick",kind:"image",label:`${Yu}`,enable:Hr(),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:Sn(l,"prompt"),placeholder:Sn(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:Sn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await bt(g,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:p}),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:Sn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),F6=R6,Vn="swapBackground",ce=`ly.img.${Vn}`,Hu=`ly.img.plugin-ai-image-generation-web.quickAction.${Vn}`,Mn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Vn}`;function jn(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 V6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),H(e,{en:{[`${Mn}`]:"Swap Background...",[`${Mn}.description`]:"Change the background of the image",[`${Mn}.prompt`]:"Swap Background...",[`${Hu}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Mn}.apply`]:"Change"}}),{id:ce,type:"quick",kind:"image",label:`${Hu}`,enable:Hr(),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:jn(l,"prompt"),placeholder:jn(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:jn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await bt(g,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${d}`,uri:p}),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:jn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),B6=V6,Bn="styleTransfer",_r=`ly.img.${Bn}`,q6=`ly.img.plugin-ai-image-generation-web.quickAction.${Bn}`,W=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Bn}`;function Zu(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 G6=[{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."}],Y6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),H(e,{en:{[`${W}`]:"Change Art Style",[`${W}.description`]:"Transform image into different art styles",[`${W}.water`]:"Watercolor Painting",[`${W}.oil`]:"Oil Painting",[`${W}.charcoal`]:"Charcoal Sketch",[`${W}.pencil`]:"Pencil Drawing",[`${W}.pastel`]:"Pastel Artwork",[`${W}.ink`]:"Ink Wash",[`${W}.stained-glass`]:"Stained Glass Window",[`${W}.japanese`]:"Japanese Woodblock Print"}}),{id:_r,type:"quick",kind:"image",label:`${q6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${_r}.popover`,{label:Zu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${_r}.popover.section`,{children:()=>{r.builder.Menu(`${_r}.popover.menu`,{children:()=>{G6.forEach(s=>{t.Button(`${_r}.popover.menu.${s.id}`,{label:Zu(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"})}}})})}})}})}})}}),H6=Y6,qn="artistTransfer",Lr=`ly.img.${qn}`,Z6=`ly.img.plugin-ai-image-generation-web.quickAction.${qn}`,G=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qn}`;function Qu(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 Q6=[{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."}],W6=({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:`${Z6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Lr}.popover`,{label:Qu(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:()=>{Q6.forEach(s=>{t.Button(`${Lr}.popover.menu.${s.id}`,{label:Qu(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"})}}})})}})}})}})}}),K6=W6,Gn="createVariant",de=`ly.img.${Gn}`,Wu=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,$n=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function En(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 J6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),H(e,{en:{[`${$n}`]:"Create Variant...",[`${$n}.description`]:"Create a variation of the image",[`${$n}.prompt`]:"Create Variant...",[`${Wu}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${$n}.apply`]:"Create"}}),{id:de,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Wu}`,enable:t=>{if(!Hr()(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:En(l,"prompt"),placeholder:En(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:En(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=o.block.getType(g),y=o.block.duplicate(g);p==="//ly.img.ubq/page"&&o.block.getChildren(y).forEach(v=>{o.block.destroy(v)}),o.block.setSelected(g,!1),o.block.setSelected(y,!0);let f=o.block.getParent(y);if(f==null)throw new Error("Parent not found");if(!(f!=null&&o.block.getType(f)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(f))&&p!=="//ly.img.ubq/page"){let v=o.block.getWidth(f),k=o.block.getHeight(f),w=.02*Math.min(v,k)*1;o.block.setPositionX(y,o.block.getPositionX(y)+w),o.block.setPositionY(y,o.block.getPositionY(y)+w)}let m=await bt(y,o,{throwErrorIfSvg:!0});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 create variant. Please try again.",duration:"medium"})}}})}})}else t.Button(`${de}.button`,{label:En(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),X6=J6,Yn="combineImages",pe=`ly.img.${Yn}`,Ku=`ly.img.plugin-ai-image-generation-web.quickAction.${Yn}`,ra=`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 ew=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),H(e,{en:{[`${ra}.apply`]:"Combine",[`${ra}`]:"Combine Images...",[`${ra}.prompt`]:"Image Combination Instructions",[`${Ku}.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:`${Ku}`,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 g=o.block.findAllSelected(),p=o.block.duplicate(g[0]);g.forEach(x=>{o.block.setSelected(x,!1)}),o.block.setSelected(p,!0);let y=o.block.getParent(p);if(y==null)throw new Error("Parent not found");let f=1,m=o.block.getWidth(y),v=o.block.getHeight(y),k=.02*Math.min(m,v)*f;o.block.setPositionX(p,o.block.getPositionX(p)+k),o.block.setPositionY(p,o.block.getPositionY(p)+k);let w=await Promise.all(g.map(x=>bt(x,o,{throwErrorIfSvg:!0})));await a({prompt:d,uris:w,exportFromBlockIds:g},{blockIds:[p]}),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})}}),tw=ew,Hn="remixPage",Ju=`ly.img.${Hn}`,rw=`ly.img.plugin-ai-image-generation-web.quickAction.${Hn}`,iw=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Hn}`;function nw(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Hn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var ow=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${iw}`]:"Turn Page into Image"}}),{id:Ju,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${rw}`,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(`${Ju}.button`,{label:nw(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(v=>{i.block.destroy(v)}),i.block.setSelected(o,!1);let u=i.block.getFrameWidth(o),d=i.block.getFrameHeight(o),g=i.block.getPositionX(o),p=i.block.getPositionY(o),y=i.block.createShape("rect"),f=i.block.create("graphic");i.block.setShape(f,y),i.block.appendChild(l,f),i.block.setWidth(f,u),i.block.setHeight(f,d),i.block.setPositionX(f,g),i.block.setPositionY(f,p);let m=i.block.createFill("image");i.block.setFill(f,m),i.block.setString(m,"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"})}}})}}),aw=ow,Zn="remixPageWithPrompt",ge=`ly.img.${Zn}`,Xu=`ly.img.plugin-ai-image-generation-web.quickAction.${Zn}`,ia=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Zn}`;function Ln(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Zn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var lw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),H(e,{en:{[`${ia}`]:"Remix Page...",[`${ia}.prompt`]:"Remix Page Prompt",[`${Xu}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${ia}.apply`]:"Remix"}}),{id:ge,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Xu}`,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:Ln(l,"prompt"),placeholder:Ln(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:Ln(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await o.block.export(g),y=URL.createObjectURL(p),f=o.block.duplicate(g);o.block.getChildren(f).forEach(S=>{o.block.destroy(S)}),o.block.setSelected(g,!1);let m=o.block.getFrameWidth(g),v=o.block.getFrameHeight(g),k=o.block.getPositionX(g),w=o.block.getPositionY(g),x=o.block.createShape("rect"),b=o.block.create("graphic");o.block.setShape(b,x),o.block.appendChild(f,b),o.block.setWidth(b,m),o.block.setHeight(b,v),o.block.setPositionX(b,k),o.block.setPositionY(b,w);let I=o.block.createFill("image");o.block.setFill(b,I),o.block.setString(I,"fill/image/imageFileURI",y),o.block.setSelected(b,!0),o.scene.zoomToBlock(b),await a({prompt:d,uri:y},{blockIds:[b]}),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:Ln(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),sw=lw,fe="ly.img.ai.image-generation";function uw(e){return{async initialize({cesdk:t}){if(t==null)return;t3(t,Nr,"1.73.1-rc.0"),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.providerSelect",!0);let r=ba.get(),i=`${Nr}.action.label`;t.ui.addIconSet(Nv,Pv),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:z6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});cw(e),r.register(F6({cesdk:t})),r.register(B6({cesdk:t})),r.register(H6({cesdk:t})),r.register(K6({cesdk:t})),r.register(X6({cesdk:t})),r.register(tw({cesdk:t})),r.register(aw({cesdk:t})),r.register(sw({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,s=await Promise.all(Gu(a).map(d=>d({cesdk:t}))),c=await Promise.all(Gu(o).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let l=await dv("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await Ov({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:U6});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:Pn})),l.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,l.panel.builderRenderFunction),i3({cesdk:t,panelId:fe})):n()}}}function cw(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 dw=uw,pw=e=>({name:Nr,version:"1.73.1-rc.0",...dw(e)}),Tc=pw;var gw=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="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(g=l.tags[u]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&c.push(p),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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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 fw=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 g=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});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")}},yw=typeof global=="object"&&global&&global.Object===Object&&global,wd=yw,mw=typeof self=="object"&&self&&self.Object===Object&&self,bw=wd||mw||Function("return this")(),te=bw,hw=te.Symbol,kt=hw,kd=Object.prototype,vw=kd.hasOwnProperty,ww=kd.toString,Wr=kt?kt.toStringTag:void 0;function kw(e){var t=vw.call(e,Wr),r=e[Wr];try{e[Wr]=void 0;var i=!0}catch{}var n=ww.call(e);return i&&(t?e[Wr]=r:delete e[Wr]),n}var xw=kw,Iw=Object.prototype,Cw=Iw.toString;function Aw(e){return Cw.call(e)}var Sw=Aw,Mw="[object Null]",jw="[object Undefined]",Oc=kt?kt.toStringTag:void 0;function $w(e){return e==null?e===void 0?jw:Mw:Oc&&Oc in Object(e)?xw(e):Sw(e)}var si=$w;function Ew(e){return e!=null&&typeof e=="object"}var Fa=Ew,nX=Array.isArray;function _w(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var xd=_w,Lw="[object AsyncFunction]",Tw="[object Function]",Ow="[object GeneratorFunction]",Nw="[object Proxy]";function Dw(e){if(!xd(e))return!1;var t=si(e);return t==Tw||t==Ow||t==Lw||t==Nw}var Pw=Dw,zw=te["__core-js_shared__"],xa=zw,Nc=function(){var e=/[^.]+$/.exec(xa&&xa.keys&&xa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Uw(e){return!!Nc&&Nc in e}var Rw=Uw,Fw=Function.prototype,Vw=Fw.toString;function Bw(e){if(e!=null){try{return Vw.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=Bw,qw=/[\\^$.*+?()[\]{}|]/g,Gw=/^\[object .+?Constructor\]$/,Yw=Function.prototype,Hw=Object.prototype,Zw=Yw.toString,Qw=Hw.hasOwnProperty,Ww=RegExp("^"+Zw.call(Qw).replace(qw,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Kw(e){if(!xd(e)||Rw(e))return!1;var t=Pw(e)?Ww:Gw;return t.test(Oe(e))}var Jw=Kw;function Xw(e,t){return e?.[t]}var ek=Xw;function tk(e,t){var r=ek(e,t);return Jw(r)?r:void 0}var It=tk,rk=It(te,"WeakMap"),$a=rk;function ik(e,t){return e===t||e!==e&&t!==t}var nk=ik,ok=9007199254740991;function ak(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ok}var lk=ak,oX=Object.prototype,sk="[object Arguments]";function uk(e){return Fa(e)&&si(e)==sk}var Dc=uk,Id=Object.prototype,ck=Id.hasOwnProperty,dk=Id.propertyIsEnumerable,aX=Dc(function(){return arguments}())?Dc:function(e){return Fa(e)&&ck.call(e,"callee")&&!dk.call(e,"callee")},Cd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pc=Cd&&typeof module=="object"&&module&&!module.nodeType&&module,pk=Pc&&Pc.exports===Cd,zc=pk?te.Buffer:void 0,lX=zc?zc.isBuffer:void 0,gk="[object Arguments]",fk="[object Array]",yk="[object Boolean]",mk="[object Date]",bk="[object Error]",hk="[object Function]",vk="[object Map]",wk="[object Number]",kk="[object Object]",xk="[object RegExp]",Ik="[object Set]",Ck="[object String]",Ak="[object WeakMap]",Sk="[object ArrayBuffer]",Mk="[object DataView]",jk="[object Float32Array]",$k="[object Float64Array]",Ek="[object Int8Array]",_k="[object Int16Array]",Lk="[object Int32Array]",Tk="[object Uint8Array]",Ok="[object Uint8ClampedArray]",Nk="[object Uint16Array]",Dk="[object Uint32Array]",D={};D[jk]=D[$k]=D[Ek]=D[_k]=D[Lk]=D[Tk]=D[Ok]=D[Nk]=D[Dk]=!0;D[gk]=D[fk]=D[Sk]=D[yk]=D[Mk]=D[mk]=D[bk]=D[hk]=D[vk]=D[wk]=D[kk]=D[xk]=D[Ik]=D[Ck]=D[Ak]=!1;function Pk(e){return Fa(e)&&lk(e.length)&&!!D[si(e)]}var zk=Pk;function Uk(e){return function(t){return e(t)}}var Rk=Uk,Ad=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Ad&&typeof module=="object"&&module&&!module.nodeType&&module,Fk=ri&&ri.exports===Ad,Ia=Fk&&wd.process,Vk=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Ia&&Ia.binding&&Ia.binding("util")}catch{}}(),Uc=Vk,Rc=Uc&&Uc.isTypedArray,sX=Rc?Rk(Rc):zk,Bk=Object.prototype,uX=Bk.hasOwnProperty;function qk(e,t){return function(r){return e(t(r))}}var Gk=qk,cX=Gk(Object.keys,Object),Yk=Object.prototype,dX=Yk.hasOwnProperty,Hk=It(Object,"create"),ni=Hk;function Zk(){this.__data__=ni?ni(null):{},this.size=0}var Qk=Zk;function Wk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Kk=Wk,Jk="__lodash_hash_undefined__",Xk=Object.prototype,ex=Xk.hasOwnProperty;function tx(e){var t=this.__data__;if(ni){var r=t[e];return r===Jk?void 0:r}return ex.call(t,e)?t[e]:void 0}var rx=tx,ix=Object.prototype,nx=ix.hasOwnProperty;function ox(e){var t=this.__data__;return ni?t[e]!==void 0:nx.call(t,e)}var ax=ox,lx="__lodash_hash_undefined__";function sx(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ni&&t===void 0?lx:t,this}var ux=sx;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=Qk;Ct.prototype.delete=Kk;Ct.prototype.get=rx;Ct.prototype.has=ax;Ct.prototype.set=ux;var Fc=Ct;function cx(){this.__data__=[],this.size=0}var dx=cx;function px(e,t){for(var r=e.length;r--;)if(nk(e[r][0],t))return r;return-1}var Wn=px,gx=Array.prototype,fx=gx.splice;function yx(e){var t=this.__data__,r=Wn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():fx.call(t,r,1),--this.size,!0}var mx=yx;function bx(e){var t=this.__data__,r=Wn(t,e);return r<0?void 0:t[r][1]}var hx=bx;function vx(e){return Wn(this.__data__,e)>-1}var wx=vx;function kx(e,t){var r=this.__data__,i=Wn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var xx=kx;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=dx;At.prototype.delete=mx;At.prototype.get=hx;At.prototype.has=wx;At.prototype.set=xx;var Kn=At,Ix=It(te,"Map"),oi=Ix;function Cx(){this.size=0,this.__data__={hash:new Fc,map:new(oi||Kn),string:new Fc}}var Ax=Cx;function Sx(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Mx=Sx;function jx(e,t){var r=e.__data__;return Mx(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Jn=jx;function $x(e){var t=Jn(this,e).delete(e);return this.size-=t?1:0,t}var Ex=$x;function _x(e){return Jn(this,e).get(e)}var Lx=_x;function Tx(e){return Jn(this,e).has(e)}var Ox=Tx;function Nx(e,t){var r=Jn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Dx=Nx;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=Ax;St.prototype.delete=Ex;St.prototype.get=Lx;St.prototype.has=Ox;St.prototype.set=Dx;var Sd=St;function Px(){this.__data__=new Kn,this.size=0}var zx=Px;function Ux(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Rx=Ux;function Fx(e){return this.__data__.get(e)}var Vx=Fx;function Bx(e){return this.__data__.has(e)}var qx=Bx,Gx=200;function Yx(e,t){var r=this.__data__;if(r instanceof Kn){var i=r.__data__;if(!oi||i.length<Gx-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Sd(i)}return r.set(e,t),this.size=r.size,this}var Hx=Yx;function ui(e){var t=this.__data__=new Kn(e);this.size=t.size}ui.prototype.clear=zx;ui.prototype.delete=Rx;ui.prototype.get=Vx;ui.prototype.has=qx;ui.prototype.set=Hx;var Zx=Object.prototype,pX=Zx.propertyIsEnumerable,Qx=It(te,"DataView"),Ea=Qx,Wx=It(te,"Promise"),_a=Wx,Kx=It(te,"Set"),La=Kx,Vc="[object Map]",Jx="[object Object]",Bc="[object Promise]",qc="[object Set]",Gc="[object WeakMap]",Yc="[object DataView]",Xx=Oe(Ea),eI=Oe(oi),tI=Oe(_a),rI=Oe(La),iI=Oe($a),ht=si;(Ea&&ht(new Ea(new ArrayBuffer(1)))!=Yc||oi&&ht(new oi)!=Vc||_a&&ht(_a.resolve())!=Bc||La&&ht(new La)!=qc||$a&&ht(new $a)!=Gc)&&(ht=function(e){var t=si(e),r=t==Jx?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case Xx:return Yc;case eI:return Vc;case tI:return Bc;case rI:return qc;case iI:return Gc}return t});var gX=te.Uint8Array,nI="__lodash_hash_undefined__";function oI(e){return this.__data__.set(e,nI),this}var aI=oI;function lI(e){return this.__data__.has(e)}var sI=lI;function Ta(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Sd;++t<r;)this.add(e[t])}Ta.prototype.add=Ta.prototype.push=aI;Ta.prototype.has=sI;var Hc=kt?kt.prototype:void 0,fX=Hc?Hc.valueOf:void 0,uI=Object.prototype,yX=uI.hasOwnProperty,cI=Object.prototype,mX=cI.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 Md(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 dI(e,t){let r=await Md(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 pI(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 Md(i,t)}function gI(e){return e!==void 0}var fI=gI;function ci(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 di(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function pi(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 Qn=class jd{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 jd),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))}},yI=class $d{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new $d),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 mI(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 g=t[l],p=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return g(u,y,p)},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 bI({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 hI=bI,Ca="ly.img.ai.temp";async function vI(e,t){return e.engine.asset.findAllSources().includes(Ca)||e.engine.asset.addLocalSource(Ca),e.engine.asset.apply(Ca,t)}function wI(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 Ed(){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 kI(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 xI(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 Va(e){return e instanceof Error&&e.name==="AbortError"}function II(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function CI(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 AI(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 SI=AI;function MI(){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 jI=MI;function $I(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),EI(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:wI(e)}))}function EI(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 Zc=$I,_I="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Ba=_I;function LI(e,t,r){switch(t){case"image":return TI(e,r[t]);case"video":return OI(e,r[t]);case"sticker":return NI(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function TI(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ba,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function OI(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:Ba,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function NI(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ba,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var DI=LI;async function PI(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 zI(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 UI(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 RI(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 FI(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function zI(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 UI(e,t,r){let i=t.width,n=t.height,a=await kI(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 RI(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 FI(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var _d=PI;function VI(e){switch(e.userFlow){case"placeholder":return qI(e);case"generation-only":return BI(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function BI(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=Ed(),c=await _d(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 qI(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=Ed(),c=DI(s,a,o);if(i=await vI(t,c),he(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}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 _d(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)&&(Va(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 GI=VI;function qa(e){return`${e}.generating`}function YI(e){return`${e}.abort`}function HI(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:g}}=t,p=c.global(YI(d),()=>{}),y=c.global(qa(d),!1),f,m=y.value&&g,v=()=>{m&&(p.value(),y.setValue(!1),p.setValue(()=>{}))},k;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let x=i();k=a.requiredInputs.every(b=>!x.input[b])}let w=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:y.value,color:"accent",isDisabled:k,suffix:m?{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:b})=>{l.ui.closeDialog(b),w.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:b})=>{v(),l.ui.closeDialog(b),w.setValue(void 0)}}});w.setValue(x)}}:void 0,onClick:async()=>{f=new AbortController;let x=f.signal;await(async()=>{try{y.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let b=await GI({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(b.status==="aborted")return;if(b.status==="error"){Zc(b.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:b.middlewareOptions});return}if(b.status==="success"&&b.type==="sync"&&!b.middlewareOptions?.defaultPrevented()){let I=t.output.notification;ZI(l,I,()=>({input:i().input,output:b.output}))}}catch(b){if(Va(b))return;Zc(b,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,y.setValue(!1),p.setValue(()=>{}),w.value!=null&&(l.ui.closeDialog(w.value),w.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 ZI(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 Ld=HI;function Oa(e){let{name:t}=e;return(typeof t=="function"?t():t)??e.id}async function QI({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(qa(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(c,{cesdk:a,isGenerating:u});return Ld(c,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var WI=QI;function Td(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 Xr(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=Td(e,t.$ref),n={...Xr(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Xr(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Xr(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Xr(e,t[n],r));return i}return t}function KI(e){return Xr(e,{...e})}function JI(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 XI(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return eC(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function eC(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=tC(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function tC(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 Od=XI;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 Nd(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 Dd(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?rC(e,c,r,i,n,a,o,s):Pd(e,c,r,i,n,a,o,s);case"boolean":return zd(e,c,r,i,n,a,o,s);case"number":case"integer":return Ud(e,c,r,i,n,a,o,s);case"object":return Na(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 iC(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function Na(e,t,r,i,n,a,o,s){let c=Od(t.schema??{},i).reduce((l,u)=>{let d=Dd(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 Pd(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=ve(t,r,o),y=ve(t,r,o,"placeholder"),f=di(u,n.cesdk),m=s?.properties?.[d]??a.properties?.[d],v=pi(d,m,f,t.schema.default,""),k=l(g,v),w=nC(t.schema),x=w?.component!=null&&w?.component==="TextArea"?"TextArea":"TextInput",b=y.length>0?y:void 0;return c[x](g,{inputLabel:p,...b&&{placeholder:b},...k}),()=>({id:t.id,type:"string",value:k.value})}function rC(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=ve(t,r,o),{labels:y,icons:f}=Nd(t.schema),m=(t.schema.enum??[]).map(I=>({id:I,label:ve(t,r,o,I),icon:f[I]})),v=di(u,n.cesdk),k=s?.properties?.[d]??a.properties?.[d],w=pi(d,k,v,t.schema.default,m[0]?.id),x=w!=null?m.find(I=>I.id===w)??m[0]:m[0],b=l(g,x);return c.Select(g,{inputLabel:p,values:m,...b}),()=>({id:t.id,type:"string",value:b.value.id})}function zd(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=ve(t,r,o),y=di(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],m=!!pi(d,f,y,t.schema.default,!1),v=l(g,m);return c.Checkbox(g,{inputLabel:p,...v}),()=>({id:t.id,type:"boolean",value:v.value})}function Ud(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=ve(t,r,o),y=t.schema.minimum,f=t.schema.maximum,m=di(u,n.cesdk),v=s?.properties?.[d]??a.properties?.[d],k=t.schema.default;k==null&&(y!=null?k=y:f!=null?k=f:k=0);let w=pi(d,v,m,k,k),x=l(g,w);if(y!=null&&f!=null){let b=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(b=t.schema["x-imgly-step"]),c.Slider(g,{inputLabel:p,min:y,max:f,step:b,...x})}else c.NumberInput(g,{inputLabel:p,min:y,max:f,...x});return()=>({id:t.id,type:"integer",value:x.value})}function iC(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=ve(t,r,o),y=t.schema.anyOf??[],f=[],m={},v={},{labels:k,icons:w}=Nd(t.schema),x=di(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],I={string:Pd,boolean:zd,integer:Ud,object:Na},S=(h,$)=>h.$ref?h.$ref.split("/").pop():$.split(".").pop()??$,A=(h,$)=>({id:h,label:ve(t,r,o,$),icon:w[$]??w[h]});y.forEach((h,$)=>{let C=`${r.id}.${d}.anyOf[${$}]`;if(h.$ref||h.title){let M=h.$ref?h.$ref.split("/").pop():h.title;m[C]=()=>Na(e,{id:C,schema:{...h,title:k[M]||M}},r,i,n,a,o,s),f.push(A(C,M))}else if(h.type==="string"&&h.enum)h.enum.forEach(M=>{f.push(A(M,M))});else if(h.type&&I[h.type]){let M=I[h.type];m[C]=()=>M(e,{id:C,schema:{...h,title:h.title}},r,i,n,a,o,s);let q=S(h,C);f.push(h.type==="string"&&!h.enum?{id:C,label:h.title||q,icon:h.title&&w[h.title]||w[q]}:A(C,q))}});let _=pi(d,b,x,t.schema.default,null),j=_!=null?f.find(h=>h.id===_)??f[0]:f[0],E=l(g,j);if(c.Select(g,{inputLabel:p,values:f,...E}),E.value.id in m){let h=m[E.value.id]();v[E.value.id]=h}return()=>{let h=v[E.value.id];return h!=null?{...h(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function nC(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var oC=Dd,aC={"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 Qc(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function Wc(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(g=>{let p=String(g),y=d[p]||Qc(p);n[a(u,p)]=y})};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 g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,u);else if(g.$ref){let p=g.$ref.split("/").pop();p&&u[p]&&(n[a(l.id,p)]=u[p])}else if(g.title){let p=g.title,y=u[p]||Qc(p);n[a(l.id,p)]=y}})}});let c={...aC,...n};Object.keys(c).length>0&&ci(r.cesdk,{en:c})}function Kc(e){return typeof e.document=="function"?e.document():e.document}function Jc(e,t,r){let i=KI(e),n=Td(i,t.inputReference);if(!JI(n,r))throw new Error(`Input reference '${t.inputReference}' does not resolve to a valid OpenAPI schema`);let a=n,o=Od(a,t);return{inputSchema:a,properties:o}}function Xc(e,t,r,{options:i,provider:n,config:a,providerConfig:o},s){let{id:c}=n;return l=>{let{builder:u}=l,d=[];u.Section(`${c}.schema.section`,{children:()=>{t.forEach(f=>{let m=oC(l,f,n,r,i,a,n.kind,o);m!=null&&(Array.isArray(m)?d.push(...m):d.push(m))})}});let g=d.map(f=>f()),p=f=>f.type==="object"?Object.entries(f.value).reduce((m,[v,k])=>(m[v]=p(k),m),{}):f.value,y=g.reduce((f,m)=>(f[m.id]=p(m),f),{});Ld(l,n,s,()=>({input:y}),()=>r.getBlockInput(y),{...i,requiredInputs:e.required,createPlaceholderBlock:r.userFlow==="placeholder"},a)}}async function lC(e,t){let{options:r,provider:i,panelInput:n,config:a}=e,{id:o}=i;if(n==null)return;let s=n;a.debug&&console.log(`Provider: ${o} (schema-based)`);let c=Kc(s);if(!(c instanceof Promise)){let{inputSchema:p,properties:y}=Jc(c,s,a.debug);return Wc(y,i,r,i.kind),Xc(p,y,s,e,t)}let l=null,u=null,d=`${o}.schema.loading`;function g(){l=null,u=null,r.cesdk.ui.experimental.setGlobalStateValue(d,!0),Promise.resolve(Kc(s)).then(p=>{let{inputSchema:y,properties:f}=Jc(p,s,a.debug);Wc(f,i,r,i.kind),u=Xc(y,f,s,e,t)}).catch(p=>{l=p instanceof Error?p:new Error(String(p))}).finally(()=>{r.cesdk.ui.experimental.setGlobalStateValue(d,!1)})}return g(),p=>{let{builder:y}=p;if(u!=null){u(p);return}if(l!=null){y.Section(`${o}.schema.error`,{children:()=>{y.Text(`${o}.schema.error.title`,{content:"ly.img.plugin-ai-generation-web.schema.error.title"}),y.Text(`${o}.schema.error.details`,{content:l.message}),y.Button(`${o}.schema.error.retry`,{label:"ly.img.plugin-ai-generation-web.schema.error.retry",onClick:()=>{g()}})}});return}y.Section(`${o}.schema.loading`,{children:()=>{y.Button(`${o}.schema.loading.indicator`,{label:"ly.img.plugin-ai-generation-web.schema.loading.label",isLoading:!0,isDisabled:!0})}})}}var sC=lC;async function uC(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return WI(e,t);case"schema":return sC(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var cC=uC;function dC(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 gw(o,r)),o}return i}var pC=dC;function gC(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 fC=gC,Aa="@imgly/plugin-ai-generation",yC=`
|
|
@@ -206,7 +206,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
206
206
|
</symbol>
|
|
207
207
|
</svg>
|
|
208
208
|
`,mC=yC;function bC(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 Rd(2e3),await hC(t,e,r)):i(t,r)}async function hC(e,t,r){switch(t.kind){case"image":return vC(e,t,r);case"video":return wC(e,t,r);case"text":return kC(e,t,r);case"audio":return IC(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function vC(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 pI(s,r),l=await dI(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 wC(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function kC(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=Kr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Kr(n,o)}else"customPrompt"in e?a=Kr(n,"custom"):a=Kr(n,"improved");else a=Kr(n,"generated");return xC(a,r.abortSignal)}async function*xC(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 Rd(100)}return{kind:"text",text:e}}function Kr(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 IC(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:CC(220,i),duration:i,thumbnailUrl:void 0}}function CC(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 AC(i,44100)}function AC(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,m)=>{for(let v=0;v<m.length;v++)u.setUint8(f+v,m.charCodeAt(v))};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 g=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),v=Math.round(m*32767);u.setInt16(g,v,!0),g+=2}let p=new Uint8Array(l),y="";for(let f=0;f<p.length;f++)y+=String.fromCharCode(p[f]);return`data:audio/wav;base64,${btoa(y)}`}async function Rd(e){return new Promise(t=>{setTimeout(t,e)})}var SC=bC,MC="USER_CANCEL";function jC(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=mI([...e.provider.output.middleware??[],...r?.middlewares??[],hI({enable:r?.debug}),SC({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}:xI(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return Va(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===MC?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var $C=jC;async function EC(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,g=Qn.get();Object.keys(t.input.quickActions.supported).forEach(p=>{if(!g.getBy({id:p,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${p}`;r.cesdk.feature.enable(y,!0)}})}let o=pC(a),s=fC(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=$C({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await cC(a,c);II(r.cesdk,"@imgly/plugin-ai-generation",mC);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return yI.get().register(u),u}var Sa=EC;function _C(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 fw(n,r,i);return r.engine.asset.addSource(a),a.id}var LC=_C;function ei(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 TC(e,t,r,i){let{cesdk:n}=r;ci(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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Sa(e,u,r,i)));o.push(...l),a=NC({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Sa(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Sa(e,d,r,i)));o.push(...u),a=OC({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=LC({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(fI)}),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 OC({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}),g=`ly.img.plugin-ai-${e}-generation-web.fromImage`,p=n.feature.isEnabled(g,{engine:l}),y;d&&r.length>0&&(!p||i.length===0)?y="fromText":p&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&p&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let v=r.map(({provider:C,panel:M})=>({id:C.id,label:Oa(C),builderRenderFunction:M?.builderRenderFunction})),k=i.map(({provider:C,panel:M})=>({id:C.id,label:Oa(C),builderRenderFunction:M?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,v[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),b=v.find(C=>C.id===w.value)??v[0],I=k.find(C=>C.id===x.value)??k[0],S=f.value==="fromText"?w:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?b:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,j=n.feature.isEnabled(_,{engine:l});if(!d&&!p){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&p&&r.length>0&&i.length>0,h=a&&E,$=m.length>1&&j;if((h||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:ei(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:ei(e,"fromText.label"),icon:f.value!=="fromText"&&ed(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),p&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:ei(e,"fromImage.label"),icon:f.value!=="fromImage"&&ed(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?v:f.value==="fromImage"?k:[...v,...k];S!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:ei(e,"providerSelect.label"),values:C,value:A,setValue:M=>{S.setValue(M.id)}})}}}),m.length>1)A?.builderRenderFunction?.(o);else{let C=m[0];C&&C.panel?.builderRenderFunction?.(o)}}}function NC({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:g,panel:p})=>({id:g.id,label:Oa(g),builderRenderFunction:p?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(g=>g.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:ei(e,"providerSelect.label"),values:l,value:d,setValue:g=>{u.setValue(g.id)}})}}),d?.builderRenderFunction?.(n)}}function ed(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(qa(r.id),!1).value)}var DC=TC,PC=typeof global=="object"&&global&&global.Object===Object&&global,Fd=PC,zC=typeof self=="object"&&self&&self.Object===Object&&self,UC=Fd||zC||Function("return this")(),re=UC,RC=re.Symbol,xt=RC,Vd=Object.prototype,FC=Vd.hasOwnProperty,VC=Vd.toString,Jr=xt?xt.toStringTag:void 0;function BC(e){var t=FC.call(e,Jr),r=e[Jr];try{e[Jr]=void 0;var i=!0}catch{}var n=VC.call(e);return i&&(t?e[Jr]=r:delete e[Jr]),n}var qC=BC,GC=Object.prototype,YC=GC.toString;function HC(e){return YC.call(e)}var ZC=HC,QC="[object Null]",WC="[object Undefined]",td=xt?xt.toStringTag:void 0;function KC(e){return e==null?e===void 0?WC:QC:td&&td in Object(e)?qC(e):ZC(e)}var gi=KC;function JC(e){return e!=null&&typeof e=="object"}var Ga=JC,wX=Array.isArray;function XC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Bd=XC,eA="[object AsyncFunction]",tA="[object Function]",rA="[object GeneratorFunction]",iA="[object Proxy]";function nA(e){if(!Bd(e))return!1;var t=gi(e);return t==tA||t==rA||t==eA||t==iA}var oA=nA,aA=re["__core-js_shared__"],Ma=aA,rd=function(){var e=/[^.]+$/.exec(Ma&&Ma.keys&&Ma.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lA(e){return!!rd&&rd in e}var sA=lA,uA=Function.prototype,cA=uA.toString;function dA(e){if(e!=null){try{return cA.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=dA,pA=/[\\^$.*+?()[\]{}|]/g,gA=/^\[object .+?Constructor\]$/,fA=Function.prototype,yA=Object.prototype,mA=fA.toString,bA=yA.hasOwnProperty,hA=RegExp("^"+mA.call(bA).replace(pA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function vA(e){if(!Bd(e)||sA(e))return!1;var t=oA(e)?hA:gA;return t.test(Ne(e))}var wA=vA;function kA(e,t){return e?.[t]}var xA=kA;function IA(e,t){var r=xA(e,t);return wA(r)?r:void 0}var Mt=IA,CA=Mt(re,"WeakMap"),Da=CA;function AA(e,t){return e===t||e!==e&&t!==t}var SA=AA,MA=9007199254740991;function jA(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=MA}var $A=jA,kX=Object.prototype,EA="[object Arguments]";function _A(e){return Ga(e)&&gi(e)==EA}var id=_A,qd=Object.prototype,LA=qd.hasOwnProperty,TA=qd.propertyIsEnumerable,xX=id(function(){return arguments}())?id:function(e){return Ga(e)&&LA.call(e,"callee")&&!TA.call(e,"callee")},Gd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nd=Gd&&typeof module=="object"&&module&&!module.nodeType&&module,OA=nd&&nd.exports===Gd,od=OA?re.Buffer:void 0,IX=od?od.isBuffer:void 0,NA="[object Arguments]",DA="[object Array]",PA="[object Boolean]",zA="[object Date]",UA="[object Error]",RA="[object Function]",FA="[object Map]",VA="[object Number]",BA="[object Object]",qA="[object RegExp]",GA="[object Set]",YA="[object String]",HA="[object WeakMap]",ZA="[object ArrayBuffer]",QA="[object DataView]",WA="[object Float32Array]",KA="[object Float64Array]",JA="[object Int8Array]",XA="[object Int16Array]",eS="[object Int32Array]",tS="[object Uint8Array]",rS="[object Uint8ClampedArray]",iS="[object Uint16Array]",nS="[object Uint32Array]",P={};P[WA]=P[KA]=P[JA]=P[XA]=P[eS]=P[tS]=P[rS]=P[iS]=P[nS]=!0;P[NA]=P[DA]=P[ZA]=P[PA]=P[QA]=P[zA]=P[UA]=P[RA]=P[FA]=P[VA]=P[BA]=P[qA]=P[GA]=P[YA]=P[HA]=!1;function oS(e){return Ga(e)&&$A(e.length)&&!!P[gi(e)]}var aS=oS;function lS(e){return function(t){return e(t)}}var sS=lS,Yd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ii=Yd&&typeof module=="object"&&module&&!module.nodeType&&module,uS=ii&&ii.exports===Yd,ja=uS&&Fd.process,cS=function(){try{var e=ii&&ii.require&&ii.require("util").types;return e||ja&&ja.binding&&ja.binding("util")}catch{}}(),ad=cS,ld=ad&&ad.isTypedArray,CX=ld?sS(ld):aS,dS=Object.prototype,AX=dS.hasOwnProperty;function pS(e,t){return function(r){return e(t(r))}}var gS=pS,SX=gS(Object.keys,Object),fS=Object.prototype,MX=fS.hasOwnProperty,yS=Mt(Object,"create"),ai=yS;function mS(){this.__data__=ai?ai(null):{},this.size=0}var bS=mS;function hS(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var vS=hS,wS="__lodash_hash_undefined__",kS=Object.prototype,xS=kS.hasOwnProperty;function IS(e){var t=this.__data__;if(ai){var r=t[e];return r===wS?void 0:r}return xS.call(t,e)?t[e]:void 0}var CS=IS,AS=Object.prototype,SS=AS.hasOwnProperty;function MS(e){var t=this.__data__;return ai?t[e]!==void 0:SS.call(t,e)}var jS=MS,$S="__lodash_hash_undefined__";function ES(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ai&&t===void 0?$S:t,this}var _S=ES;function jt(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])}}jt.prototype.clear=bS;jt.prototype.delete=vS;jt.prototype.get=CS;jt.prototype.has=jS;jt.prototype.set=_S;var sd=jt;function LS(){this.__data__=[],this.size=0}var TS=LS;function OS(e,t){for(var r=e.length;r--;)if(SA(e[r][0],t))return r;return-1}var Xn=OS,NS=Array.prototype,DS=NS.splice;function PS(e){var t=this.__data__,r=Xn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():DS.call(t,r,1),--this.size,!0}var zS=PS;function US(e){var t=this.__data__,r=Xn(t,e);return r<0?void 0:t[r][1]}var RS=US;function FS(e){return Xn(this.__data__,e)>-1}var VS=FS;function BS(e,t){var r=this.__data__,i=Xn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var qS=BS;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=TS;$t.prototype.delete=zS;$t.prototype.get=RS;$t.prototype.has=VS;$t.prototype.set=qS;var eo=$t,GS=Mt(re,"Map"),li=GS;function YS(){this.size=0,this.__data__={hash:new sd,map:new(li||eo),string:new sd}}var HS=YS;function ZS(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var QS=ZS;function WS(e,t){var r=e.__data__;return QS(t)?r[typeof t=="string"?"string":"hash"]:r.map}var to=WS;function KS(e){var t=to(this,e).delete(e);return this.size-=t?1:0,t}var JS=KS;function XS(e){return to(this,e).get(e)}var eM=XS;function tM(e){return to(this,e).has(e)}var rM=tM;function iM(e,t){var r=to(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nM=iM;function Et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Et.prototype.clear=HS;Et.prototype.delete=JS;Et.prototype.get=eM;Et.prototype.has=rM;Et.prototype.set=nM;var Hd=Et;function oM(){this.__data__=new eo,this.size=0}var aM=oM;function lM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var sM=lM;function uM(e){return this.__data__.get(e)}var cM=uM;function dM(e){return this.__data__.has(e)}var pM=dM,gM=200;function fM(e,t){var r=this.__data__;if(r instanceof eo){var i=r.__data__;if(!li||i.length<gM-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Hd(i)}return r.set(e,t),this.size=r.size,this}var yM=fM;function fi(e){var t=this.__data__=new eo(e);this.size=t.size}fi.prototype.clear=aM;fi.prototype.delete=sM;fi.prototype.get=cM;fi.prototype.has=pM;fi.prototype.set=yM;var mM=Object.prototype,jX=mM.propertyIsEnumerable,bM=Mt(re,"DataView"),Pa=bM,hM=Mt(re,"Promise"),za=hM,vM=Mt(re,"Set"),Ua=vM,ud="[object Map]",wM="[object Object]",cd="[object Promise]",dd="[object Set]",pd="[object WeakMap]",gd="[object DataView]",kM=Ne(Pa),xM=Ne(li),IM=Ne(za),CM=Ne(Ua),AM=Ne(Da),vt=gi;(Pa&&vt(new Pa(new ArrayBuffer(1)))!=gd||li&&vt(new li)!=ud||za&&vt(za.resolve())!=cd||Ua&&vt(new Ua)!=dd||Da&&vt(new Da)!=pd)&&(vt=function(e){var t=gi(e),r=t==wM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case kM:return gd;case xM:return ud;case IM:return cd;case CM:return dd;case AM:return pd}return t});var $X=re.Uint8Array,SM="__lodash_hash_undefined__";function MM(e){return this.__data__.set(e,SM),this}var jM=MM;function $M(e){return this.__data__.has(e)}var EM=$M;function Ra(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Hd;++t<r;)this.add(e[t])}Ra.prototype.add=Ra.prototype.push=jM;Ra.prototype.has=EM;var fd=xt?xt.prototype:void 0,EX=fd?fd.valueOf:void 0,_M=Object.prototype,_X=_M.hasOwnProperty,LM=Object.prototype,LX=LM.hasOwnProperty,TX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),OX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),NX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function TM(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 Zd(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 TM(i,t)}function OM(e){return e==null?[]:Array.isArray(e)?e:[e]}var yd=OM;function NM(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function DM(e){return typeof e?.translate=="function"}function PM(e,t,r){return e&&NM(e)&&DM(e.i18n)?e.i18n.translate(t):r}var ti="@imgly/plugin-ai-video-generation-web";var ro="createVideo",md=`ly.img.${ro}`,zM=`ly.img.plugin-ai-video-generation-web.quickAction.${ro}`,bd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${ro}`;function UM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${ro}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var RM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),ci(e,{en:{[`${bd}`]:"Create Video...",[`${bd}.description`]:"Create a video from the image"}}),{id:md,type:"quick",kind:"image",label:`${zM}`,enable:jI(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${md}.button`,{label:UM(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await Zd(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_urls`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),FM=RM,io="animateBetweenImages",hd=`ly.img.${io}`,VM=`ly.img.plugin-ai-video-generation-web.quickAction.${io}`,vd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${io}`;function BM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${io}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var qM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),ci(e,{en:{[`${vd}`]:"Animate Between Images...",[`${vd}.description`]:"Create a video transitioning between two images"}}),{id:hd,type:"quick",kind:"image",label:`${VM}`,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(`${hd}.button`,{label:BM(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=>Zd(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"})}}})}}),GM=qM,be="ly.img.ai.video-generation";function YM(e){return{async initialize({cesdk:t}){if(t==null)return;CI(t,ti,"1.73.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=`${ti}.action.label`;ci(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."}}),HM(e);let i=Qn.get().register({type:"plugin",sceneMode:"Video",id:ti,pluginId:ti,label:PM(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(yd(n).map(l=>l({cesdk:t}))),s=await Promise.all(yd(a).map(l=>l({cesdk:t})));if(!(o.length>0||s.length>0)){i();return}let c=await DC("video",{fromText:o,fromImage:s},{cesdk:t},e);Qn.get().register(FM({cesdk:t})),Qn.get().register(GM({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(be,c.panel.builderRenderFunction),SI({cesdk:t,panelId:be})):i()}}}function HM(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 ZM=YM,QM=e=>({name:ti,version:"1.73.0-rc.3",...ZM(e)}),Qd=QM;var WM=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="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(g=l.tags[u]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&c.push(p),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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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 KM=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 g=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});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")}},JM=typeof global=="object"&&global&&global.Object===Object&&global,Np=JM,XM=typeof self=="object"&&self&&self.Object===Object&&self,ej=Np||XM||Function("return this")(),ie=ej,tj=ie.Symbol,Ot=tj,Dp=Object.prototype,rj=Dp.hasOwnProperty,ij=Dp.toString,yi=Ot?Ot.toStringTag:void 0;function nj(e){var t=rj.call(e,yi),r=e[yi];try{e[yi]=void 0;var i=!0}catch{}var n=ij.call(e);return i&&(t?e[yi]=r:delete e[yi]),n}var oj=nj,aj=Object.prototype,lj=aj.toString;function sj(e){return lj.call(e)}var uj=sj,cj="[object Null]",dj="[object Undefined]",Wd=Ot?Ot.toStringTag:void 0;function pj(e){return e==null?e===void 0?dj:cj:Wd&&Wd in Object(e)?oj(e):uj(e)}var Si=pj;function gj(e){return e!=null&&typeof e=="object"}var dl=gj,UX=Array.isArray;function fj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Pp=fj,yj="[object AsyncFunction]",mj="[object Function]",bj="[object GeneratorFunction]",hj="[object Proxy]";function vj(e){if(!Pp(e))return!1;var t=Si(e);return t==mj||t==bj||t==yj||t==hj}var wj=vj,kj=ie["__core-js_shared__"],Ya=kj,Kd=function(){var e=/[^.]+$/.exec(Ya&&Ya.keys&&Ya.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xj(e){return!!Kd&&Kd in e}var Ij=xj,Cj=Function.prototype,Aj=Cj.toString;function Sj(e){if(e!=null){try{return Aj.call(e)}catch{}try{return e+""}catch{}}return""}var ze=Sj,Mj=/[\\^$.*+?()[\]{}|]/g,jj=/^\[object .+?Constructor\]$/,$j=Function.prototype,Ej=Object.prototype,_j=$j.toString,Lj=Ej.hasOwnProperty,Tj=RegExp("^"+_j.call(Lj).replace(Mj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Oj(e){if(!Pp(e)||Ij(e))return!1;var t=wj(e)?Tj:jj;return t.test(ze(e))}var Nj=Oj;function Dj(e,t){return e?.[t]}var Pj=Dj;function zj(e,t){var r=Pj(e,t);return Nj(r)?r:void 0}var Dt=zj,Uj=Dt(ie,"WeakMap"),Xa=Uj;function Rj(e,t){return e===t||e!==e&&t!==t}var Fj=Rj,Vj=9007199254740991;function Bj(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Vj}var qj=Bj,RX=Object.prototype,Gj="[object Arguments]";function Yj(e){return dl(e)&&Si(e)==Gj}var Jd=Yj,zp=Object.prototype,Hj=zp.hasOwnProperty,Zj=zp.propertyIsEnumerable,FX=Jd(function(){return arguments}())?Jd:function(e){return dl(e)&&Hj.call(e,"callee")&&!Zj.call(e,"callee")},Up=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Xd=Up&&typeof module=="object"&&module&&!module.nodeType&&module,Qj=Xd&&Xd.exports===Up,ep=Qj?ie.Buffer:void 0,VX=ep?ep.isBuffer:void 0,Wj="[object Arguments]",Kj="[object Array]",Jj="[object Boolean]",Xj="[object Date]",e$="[object Error]",t$="[object Function]",r$="[object Map]",i$="[object Number]",n$="[object Object]",o$="[object RegExp]",a$="[object Set]",l$="[object String]",s$="[object WeakMap]",u$="[object ArrayBuffer]",c$="[object DataView]",d$="[object Float32Array]",p$="[object Float64Array]",g$="[object Int8Array]",f$="[object Int16Array]",y$="[object Int32Array]",m$="[object Uint8Array]",b$="[object Uint8ClampedArray]",h$="[object Uint16Array]",v$="[object Uint32Array]",z={};z[d$]=z[p$]=z[g$]=z[f$]=z[y$]=z[m$]=z[b$]=z[h$]=z[v$]=!0;z[Wj]=z[Kj]=z[u$]=z[Jj]=z[c$]=z[Xj]=z[e$]=z[t$]=z[r$]=z[i$]=z[n$]=z[o$]=z[a$]=z[l$]=z[s$]=!1;function w$(e){return dl(e)&&qj(e.length)&&!!z[Si(e)]}var k$=w$;function x$(e){return function(t){return e(t)}}var I$=x$,Rp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Rp&&typeof module=="object"&&module&&!module.nodeType&&module,C$=wi&&wi.exports===Rp,Ha=C$&&Np.process,A$=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Ha&&Ha.binding&&Ha.binding("util")}catch{}}(),tp=A$,rp=tp&&tp.isTypedArray,BX=rp?I$(rp):k$,S$=Object.prototype,qX=S$.hasOwnProperty;function M$(e,t){return function(r){return e(t(r))}}var j$=M$,GX=j$(Object.keys,Object),$$=Object.prototype,YX=$$.hasOwnProperty,E$=Dt(Object,"create"),xi=E$;function _$(){this.__data__=xi?xi(null):{},this.size=0}var L$=_$;function T$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var O$=T$,N$="__lodash_hash_undefined__",D$=Object.prototype,P$=D$.hasOwnProperty;function z$(e){var t=this.__data__;if(xi){var r=t[e];return r===N$?void 0:r}return P$.call(t,e)?t[e]:void 0}var U$=z$,R$=Object.prototype,F$=R$.hasOwnProperty;function V$(e){var t=this.__data__;return xi?t[e]!==void 0:F$.call(t,e)}var B$=V$,q$="__lodash_hash_undefined__";function G$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=xi&&t===void 0?q$:t,this}var Y$=G$;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=L$;Pt.prototype.delete=O$;Pt.prototype.get=U$;Pt.prototype.has=B$;Pt.prototype.set=Y$;var ip=Pt;function H$(){this.__data__=[],this.size=0}var Z$=H$;function Q$(e,t){for(var r=e.length;r--;)if(Fj(e[r][0],t))return r;return-1}var no=Q$,W$=Array.prototype,K$=W$.splice;function J$(e){var t=this.__data__,r=no(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():K$.call(t,r,1),--this.size,!0}var X$=J$;function eE(e){var t=this.__data__,r=no(t,e);return r<0?void 0:t[r][1]}var tE=eE;function rE(e){return no(this.__data__,e)>-1}var iE=rE;function nE(e,t){var r=this.__data__,i=no(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var oE=nE;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=Z$;zt.prototype.delete=X$;zt.prototype.get=tE;zt.prototype.has=iE;zt.prototype.set=oE;var oo=zt,aE=Dt(ie,"Map"),Ii=aE;function lE(){this.size=0,this.__data__={hash:new ip,map:new(Ii||oo),string:new ip}}var sE=lE;function uE(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var cE=uE;function dE(e,t){var r=e.__data__;return cE(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ao=dE;function pE(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t}var gE=pE;function fE(e){return ao(this,e).get(e)}var yE=fE;function mE(e){return ao(this,e).has(e)}var bE=mE;function hE(e,t){var r=ao(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var vE=hE;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=sE;Ut.prototype.delete=gE;Ut.prototype.get=yE;Ut.prototype.has=bE;Ut.prototype.set=vE;var Fp=Ut;function wE(){this.__data__=new oo,this.size=0}var kE=wE;function xE(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var IE=xE;function CE(e){return this.__data__.get(e)}var AE=CE;function SE(e){return this.__data__.has(e)}var ME=SE,jE=200;function $E(e,t){var r=this.__data__;if(r instanceof oo){var i=r.__data__;if(!Ii||i.length<jE-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Fp(i)}return r.set(e,t),this.size=r.size,this}var EE=$E;function Mi(e){var t=this.__data__=new oo(e);this.size=t.size}Mi.prototype.clear=kE;Mi.prototype.delete=IE;Mi.prototype.get=AE;Mi.prototype.has=ME;Mi.prototype.set=EE;var _E=Object.prototype,HX=_E.propertyIsEnumerable,LE=Dt(ie,"DataView"),el=LE,TE=Dt(ie,"Promise"),tl=TE,OE=Dt(ie,"Set"),rl=OE,np="[object Map]",NE="[object Object]",op="[object Promise]",ap="[object Set]",lp="[object WeakMap]",sp="[object DataView]",DE=ze(el),PE=ze(Ii),zE=ze(tl),UE=ze(rl),RE=ze(Xa),_t=Si;(el&&_t(new el(new ArrayBuffer(1)))!=sp||Ii&&_t(new Ii)!=np||tl&&_t(tl.resolve())!=op||rl&&_t(new rl)!=ap||Xa&&_t(new Xa)!=lp)&&(_t=function(e){var t=Si(e),r=t==NE?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case DE:return sp;case PE:return np;case zE:return op;case UE:return ap;case RE:return lp}return t});var ZX=ie.Uint8Array,FE="__lodash_hash_undefined__";function VE(e){return this.__data__.set(e,FE),this}var BE=VE;function qE(e){return this.__data__.has(e)}var GE=qE;function il(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Fp;++t<r;)this.add(e[t])}il.prototype.add=il.prototype.push=BE;il.prototype.has=GE;var up=Ot?Ot.prototype:void 0,QX=up?up.valueOf:void 0,YE=Object.prototype,WX=YE.hasOwnProperty,HE=Object.prototype,KX=HE.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");async function Vp(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 ZE(e,t){let r=await Vp(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 QE(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 Vp(i,t)}function WE(e){return e!==void 0}var KE=WE;function pl(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 $i(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 Bp=class qp{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 qp),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))}},JE=class Gp{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Gp),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 XE(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 g=t[l],p=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return g(u,y,p)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function e_({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var t_=e_,Za="ly.img.ai.temp";async function r_(e,t){return e.engine.asset.findAllSources().includes(Za)||e.engine.asset.addLocalSource(Za),e.engine.asset.apply(Za,t)}function i_(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 Yp(){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 n_(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 o_(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 gl(e){return e instanceof Error&&e.name==="AbortError"}function a_(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function l_(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 wC(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function kC(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=Kr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Kr(n,o)}else"customPrompt"in e?a=Kr(n,"custom"):a=Kr(n,"improved");else a=Kr(n,"generated");return xC(a,r.abortSignal)}async function*xC(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 Rd(100)}return{kind:"text",text:e}}function Kr(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 IC(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:CC(220,i),duration:i,thumbnailUrl:void 0}}function CC(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 AC(i,44100)}function AC(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,m)=>{for(let v=0;v<m.length;v++)u.setUint8(f+v,m.charCodeAt(v))};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 g=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),v=Math.round(m*32767);u.setInt16(g,v,!0),g+=2}let p=new Uint8Array(l),y="";for(let f=0;f<p.length;f++)y+=String.fromCharCode(p[f]);return`data:audio/wav;base64,${btoa(y)}`}async function Rd(e){return new Promise(t=>{setTimeout(t,e)})}var SC=bC,MC="USER_CANCEL";function jC(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=mI([...e.provider.output.middleware??[],...r?.middlewares??[],hI({enable:r?.debug}),SC({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}:xI(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return Va(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===MC?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var $C=jC;async function EC(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,g=Qn.get();Object.keys(t.input.quickActions.supported).forEach(p=>{if(!g.getBy({id:p,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${p}`;r.cesdk.feature.enable(y,!0)}})}let o=pC(a),s=fC(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=$C({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await cC(a,c);II(r.cesdk,"@imgly/plugin-ai-generation",mC);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return yI.get().register(u),u}var Sa=EC;function _C(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 fw(n,r,i);return r.engine.asset.addSource(a),a.id}var LC=_C;function ei(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 TC(e,t,r,i){let{cesdk:n}=r;ci(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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Sa(e,u,r,i)));o.push(...l),a=NC({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Sa(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Sa(e,d,r,i)));o.push(...u),a=OC({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=LC({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(fI)}),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 OC({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}),g=`ly.img.plugin-ai-${e}-generation-web.fromImage`,p=n.feature.isEnabled(g,{engine:l}),y;d&&r.length>0&&(!p||i.length===0)?y="fromText":p&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&p&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let v=r.map(({provider:C,panel:M})=>({id:C.id,label:Oa(C),builderRenderFunction:M?.builderRenderFunction})),k=i.map(({provider:C,panel:M})=>({id:C.id,label:Oa(C),builderRenderFunction:M?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,v[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),b=v.find(C=>C.id===w.value)??v[0],I=k.find(C=>C.id===x.value)??k[0],S=f.value==="fromText"?w:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?b:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,j=n.feature.isEnabled(_,{engine:l});if(!d&&!p){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&p&&r.length>0&&i.length>0,h=a&&E,$=m.length>1&&j;if((h||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:ei(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:ei(e,"fromText.label"),icon:f.value!=="fromText"&&ed(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),p&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:ei(e,"fromImage.label"),icon:f.value!=="fromImage"&&ed(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?v:f.value==="fromImage"?k:[...v,...k];S!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:ei(e,"providerSelect.label"),values:C,value:A,setValue:M=>{S.setValue(M.id)}})}}}),m.length>1)A?.builderRenderFunction?.(o);else{let C=m[0];C&&C.panel?.builderRenderFunction?.(o)}}}function NC({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:g,panel:p})=>({id:g.id,label:Oa(g),builderRenderFunction:p?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(g=>g.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:ei(e,"providerSelect.label"),values:l,value:d,setValue:g=>{u.setValue(g.id)}})}}),d?.builderRenderFunction?.(n)}}function ed(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(qa(r.id),!1).value)}var DC=TC,PC=typeof global=="object"&&global&&global.Object===Object&&global,Fd=PC,zC=typeof self=="object"&&self&&self.Object===Object&&self,UC=Fd||zC||Function("return this")(),re=UC,RC=re.Symbol,xt=RC,Vd=Object.prototype,FC=Vd.hasOwnProperty,VC=Vd.toString,Jr=xt?xt.toStringTag:void 0;function BC(e){var t=FC.call(e,Jr),r=e[Jr];try{e[Jr]=void 0;var i=!0}catch{}var n=VC.call(e);return i&&(t?e[Jr]=r:delete e[Jr]),n}var qC=BC,GC=Object.prototype,YC=GC.toString;function HC(e){return YC.call(e)}var ZC=HC,QC="[object Null]",WC="[object Undefined]",td=xt?xt.toStringTag:void 0;function KC(e){return e==null?e===void 0?WC:QC:td&&td in Object(e)?qC(e):ZC(e)}var gi=KC;function JC(e){return e!=null&&typeof e=="object"}var Ga=JC,wX=Array.isArray;function XC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Bd=XC,eA="[object AsyncFunction]",tA="[object Function]",rA="[object GeneratorFunction]",iA="[object Proxy]";function nA(e){if(!Bd(e))return!1;var t=gi(e);return t==tA||t==rA||t==eA||t==iA}var oA=nA,aA=re["__core-js_shared__"],Ma=aA,rd=function(){var e=/[^.]+$/.exec(Ma&&Ma.keys&&Ma.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lA(e){return!!rd&&rd in e}var sA=lA,uA=Function.prototype,cA=uA.toString;function dA(e){if(e!=null){try{return cA.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=dA,pA=/[\\^$.*+?()[\]{}|]/g,gA=/^\[object .+?Constructor\]$/,fA=Function.prototype,yA=Object.prototype,mA=fA.toString,bA=yA.hasOwnProperty,hA=RegExp("^"+mA.call(bA).replace(pA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function vA(e){if(!Bd(e)||sA(e))return!1;var t=oA(e)?hA:gA;return t.test(Ne(e))}var wA=vA;function kA(e,t){return e?.[t]}var xA=kA;function IA(e,t){var r=xA(e,t);return wA(r)?r:void 0}var Mt=IA,CA=Mt(re,"WeakMap"),Da=CA;function AA(e,t){return e===t||e!==e&&t!==t}var SA=AA,MA=9007199254740991;function jA(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=MA}var $A=jA,kX=Object.prototype,EA="[object Arguments]";function _A(e){return Ga(e)&&gi(e)==EA}var id=_A,qd=Object.prototype,LA=qd.hasOwnProperty,TA=qd.propertyIsEnumerable,xX=id(function(){return arguments}())?id:function(e){return Ga(e)&&LA.call(e,"callee")&&!TA.call(e,"callee")},Gd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nd=Gd&&typeof module=="object"&&module&&!module.nodeType&&module,OA=nd&&nd.exports===Gd,od=OA?re.Buffer:void 0,IX=od?od.isBuffer:void 0,NA="[object Arguments]",DA="[object Array]",PA="[object Boolean]",zA="[object Date]",UA="[object Error]",RA="[object Function]",FA="[object Map]",VA="[object Number]",BA="[object Object]",qA="[object RegExp]",GA="[object Set]",YA="[object String]",HA="[object WeakMap]",ZA="[object ArrayBuffer]",QA="[object DataView]",WA="[object Float32Array]",KA="[object Float64Array]",JA="[object Int8Array]",XA="[object Int16Array]",eS="[object Int32Array]",tS="[object Uint8Array]",rS="[object Uint8ClampedArray]",iS="[object Uint16Array]",nS="[object Uint32Array]",P={};P[WA]=P[KA]=P[JA]=P[XA]=P[eS]=P[tS]=P[rS]=P[iS]=P[nS]=!0;P[NA]=P[DA]=P[ZA]=P[PA]=P[QA]=P[zA]=P[UA]=P[RA]=P[FA]=P[VA]=P[BA]=P[qA]=P[GA]=P[YA]=P[HA]=!1;function oS(e){return Ga(e)&&$A(e.length)&&!!P[gi(e)]}var aS=oS;function lS(e){return function(t){return e(t)}}var sS=lS,Yd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ii=Yd&&typeof module=="object"&&module&&!module.nodeType&&module,uS=ii&&ii.exports===Yd,ja=uS&&Fd.process,cS=function(){try{var e=ii&&ii.require&&ii.require("util").types;return e||ja&&ja.binding&&ja.binding("util")}catch{}}(),ad=cS,ld=ad&&ad.isTypedArray,CX=ld?sS(ld):aS,dS=Object.prototype,AX=dS.hasOwnProperty;function pS(e,t){return function(r){return e(t(r))}}var gS=pS,SX=gS(Object.keys,Object),fS=Object.prototype,MX=fS.hasOwnProperty,yS=Mt(Object,"create"),ai=yS;function mS(){this.__data__=ai?ai(null):{},this.size=0}var bS=mS;function hS(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var vS=hS,wS="__lodash_hash_undefined__",kS=Object.prototype,xS=kS.hasOwnProperty;function IS(e){var t=this.__data__;if(ai){var r=t[e];return r===wS?void 0:r}return xS.call(t,e)?t[e]:void 0}var CS=IS,AS=Object.prototype,SS=AS.hasOwnProperty;function MS(e){var t=this.__data__;return ai?t[e]!==void 0:SS.call(t,e)}var jS=MS,$S="__lodash_hash_undefined__";function ES(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ai&&t===void 0?$S:t,this}var _S=ES;function jt(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])}}jt.prototype.clear=bS;jt.prototype.delete=vS;jt.prototype.get=CS;jt.prototype.has=jS;jt.prototype.set=_S;var sd=jt;function LS(){this.__data__=[],this.size=0}var TS=LS;function OS(e,t){for(var r=e.length;r--;)if(SA(e[r][0],t))return r;return-1}var Xn=OS,NS=Array.prototype,DS=NS.splice;function PS(e){var t=this.__data__,r=Xn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():DS.call(t,r,1),--this.size,!0}var zS=PS;function US(e){var t=this.__data__,r=Xn(t,e);return r<0?void 0:t[r][1]}var RS=US;function FS(e){return Xn(this.__data__,e)>-1}var VS=FS;function BS(e,t){var r=this.__data__,i=Xn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var qS=BS;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=TS;$t.prototype.delete=zS;$t.prototype.get=RS;$t.prototype.has=VS;$t.prototype.set=qS;var eo=$t,GS=Mt(re,"Map"),li=GS;function YS(){this.size=0,this.__data__={hash:new sd,map:new(li||eo),string:new sd}}var HS=YS;function ZS(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var QS=ZS;function WS(e,t){var r=e.__data__;return QS(t)?r[typeof t=="string"?"string":"hash"]:r.map}var to=WS;function KS(e){var t=to(this,e).delete(e);return this.size-=t?1:0,t}var JS=KS;function XS(e){return to(this,e).get(e)}var eM=XS;function tM(e){return to(this,e).has(e)}var rM=tM;function iM(e,t){var r=to(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nM=iM;function Et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Et.prototype.clear=HS;Et.prototype.delete=JS;Et.prototype.get=eM;Et.prototype.has=rM;Et.prototype.set=nM;var Hd=Et;function oM(){this.__data__=new eo,this.size=0}var aM=oM;function lM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var sM=lM;function uM(e){return this.__data__.get(e)}var cM=uM;function dM(e){return this.__data__.has(e)}var pM=dM,gM=200;function fM(e,t){var r=this.__data__;if(r instanceof eo){var i=r.__data__;if(!li||i.length<gM-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Hd(i)}return r.set(e,t),this.size=r.size,this}var yM=fM;function fi(e){var t=this.__data__=new eo(e);this.size=t.size}fi.prototype.clear=aM;fi.prototype.delete=sM;fi.prototype.get=cM;fi.prototype.has=pM;fi.prototype.set=yM;var mM=Object.prototype,jX=mM.propertyIsEnumerable,bM=Mt(re,"DataView"),Pa=bM,hM=Mt(re,"Promise"),za=hM,vM=Mt(re,"Set"),Ua=vM,ud="[object Map]",wM="[object Object]",cd="[object Promise]",dd="[object Set]",pd="[object WeakMap]",gd="[object DataView]",kM=Ne(Pa),xM=Ne(li),IM=Ne(za),CM=Ne(Ua),AM=Ne(Da),vt=gi;(Pa&&vt(new Pa(new ArrayBuffer(1)))!=gd||li&&vt(new li)!=ud||za&&vt(za.resolve())!=cd||Ua&&vt(new Ua)!=dd||Da&&vt(new Da)!=pd)&&(vt=function(e){var t=gi(e),r=t==wM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case kM:return gd;case xM:return ud;case IM:return cd;case CM:return dd;case AM:return pd}return t});var $X=re.Uint8Array,SM="__lodash_hash_undefined__";function MM(e){return this.__data__.set(e,SM),this}var jM=MM;function $M(e){return this.__data__.has(e)}var EM=$M;function Ra(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Hd;++t<r;)this.add(e[t])}Ra.prototype.add=Ra.prototype.push=jM;Ra.prototype.has=EM;var fd=xt?xt.prototype:void 0,EX=fd?fd.valueOf:void 0,_M=Object.prototype,_X=_M.hasOwnProperty,LM=Object.prototype,LX=LM.hasOwnProperty,TX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),OX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),NX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function TM(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 Zd(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 TM(i,t)}function OM(e){return e==null?[]:Array.isArray(e)?e:[e]}var yd=OM;function NM(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function DM(e){return typeof e?.translate=="function"}function PM(e,t,r){return e&&NM(e)&&DM(e.i18n)?e.i18n.translate(t):r}var ti="@imgly/plugin-ai-video-generation-web";var ro="createVideo",md=`ly.img.${ro}`,zM=`ly.img.plugin-ai-video-generation-web.quickAction.${ro}`,bd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${ro}`;function UM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${ro}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var RM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),ci(e,{en:{[`${bd}`]:"Create Video...",[`${bd}.description`]:"Create a video from the image"}}),{id:md,type:"quick",kind:"image",label:`${zM}`,enable:jI(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${md}.button`,{label:UM(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await Zd(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_urls`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),FM=RM,io="animateBetweenImages",hd=`ly.img.${io}`,VM=`ly.img.plugin-ai-video-generation-web.quickAction.${io}`,vd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${io}`;function BM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${io}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var qM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),ci(e,{en:{[`${vd}`]:"Animate Between Images...",[`${vd}.description`]:"Create a video transitioning between two images"}}),{id:hd,type:"quick",kind:"image",label:`${VM}`,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(`${hd}.button`,{label:BM(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=>Zd(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"})}}})}}),GM=qM,be="ly.img.ai.video-generation";function YM(e){return{async initialize({cesdk:t}){if(t==null)return;CI(t,ti,"1.73.1-rc.0"),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=`${ti}.action.label`;ci(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."}}),HM(e);let i=Qn.get().register({type:"plugin",sceneMode:"Video",id:ti,pluginId:ti,label:PM(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(yd(n).map(l=>l({cesdk:t}))),s=await Promise.all(yd(a).map(l=>l({cesdk:t})));if(!(o.length>0||s.length>0)){i();return}let c=await DC("video",{fromText:o,fromImage:s},{cesdk:t},e);Qn.get().register(FM({cesdk:t})),Qn.get().register(GM({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(be,c.panel.builderRenderFunction),SI({cesdk:t,panelId:be})):i()}}}function HM(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 ZM=YM,QM=e=>({name:ti,version:"1.73.1-rc.0",...ZM(e)}),Qd=QM;var WM=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="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(g=l.tags[u]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&c.push(p),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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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 KM=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 g=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});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")}},JM=typeof global=="object"&&global&&global.Object===Object&&global,Np=JM,XM=typeof self=="object"&&self&&self.Object===Object&&self,ej=Np||XM||Function("return this")(),ie=ej,tj=ie.Symbol,Ot=tj,Dp=Object.prototype,rj=Dp.hasOwnProperty,ij=Dp.toString,yi=Ot?Ot.toStringTag:void 0;function nj(e){var t=rj.call(e,yi),r=e[yi];try{e[yi]=void 0;var i=!0}catch{}var n=ij.call(e);return i&&(t?e[yi]=r:delete e[yi]),n}var oj=nj,aj=Object.prototype,lj=aj.toString;function sj(e){return lj.call(e)}var uj=sj,cj="[object Null]",dj="[object Undefined]",Wd=Ot?Ot.toStringTag:void 0;function pj(e){return e==null?e===void 0?dj:cj:Wd&&Wd in Object(e)?oj(e):uj(e)}var Si=pj;function gj(e){return e!=null&&typeof e=="object"}var dl=gj,UX=Array.isArray;function fj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Pp=fj,yj="[object AsyncFunction]",mj="[object Function]",bj="[object GeneratorFunction]",hj="[object Proxy]";function vj(e){if(!Pp(e))return!1;var t=Si(e);return t==mj||t==bj||t==yj||t==hj}var wj=vj,kj=ie["__core-js_shared__"],Ya=kj,Kd=function(){var e=/[^.]+$/.exec(Ya&&Ya.keys&&Ya.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xj(e){return!!Kd&&Kd in e}var Ij=xj,Cj=Function.prototype,Aj=Cj.toString;function Sj(e){if(e!=null){try{return Aj.call(e)}catch{}try{return e+""}catch{}}return""}var ze=Sj,Mj=/[\\^$.*+?()[\]{}|]/g,jj=/^\[object .+?Constructor\]$/,$j=Function.prototype,Ej=Object.prototype,_j=$j.toString,Lj=Ej.hasOwnProperty,Tj=RegExp("^"+_j.call(Lj).replace(Mj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Oj(e){if(!Pp(e)||Ij(e))return!1;var t=wj(e)?Tj:jj;return t.test(ze(e))}var Nj=Oj;function Dj(e,t){return e?.[t]}var Pj=Dj;function zj(e,t){var r=Pj(e,t);return Nj(r)?r:void 0}var Dt=zj,Uj=Dt(ie,"WeakMap"),Xa=Uj;function Rj(e,t){return e===t||e!==e&&t!==t}var Fj=Rj,Vj=9007199254740991;function Bj(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Vj}var qj=Bj,RX=Object.prototype,Gj="[object Arguments]";function Yj(e){return dl(e)&&Si(e)==Gj}var Jd=Yj,zp=Object.prototype,Hj=zp.hasOwnProperty,Zj=zp.propertyIsEnumerable,FX=Jd(function(){return arguments}())?Jd:function(e){return dl(e)&&Hj.call(e,"callee")&&!Zj.call(e,"callee")},Up=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Xd=Up&&typeof module=="object"&&module&&!module.nodeType&&module,Qj=Xd&&Xd.exports===Up,ep=Qj?ie.Buffer:void 0,VX=ep?ep.isBuffer:void 0,Wj="[object Arguments]",Kj="[object Array]",Jj="[object Boolean]",Xj="[object Date]",e$="[object Error]",t$="[object Function]",r$="[object Map]",i$="[object Number]",n$="[object Object]",o$="[object RegExp]",a$="[object Set]",l$="[object String]",s$="[object WeakMap]",u$="[object ArrayBuffer]",c$="[object DataView]",d$="[object Float32Array]",p$="[object Float64Array]",g$="[object Int8Array]",f$="[object Int16Array]",y$="[object Int32Array]",m$="[object Uint8Array]",b$="[object Uint8ClampedArray]",h$="[object Uint16Array]",v$="[object Uint32Array]",z={};z[d$]=z[p$]=z[g$]=z[f$]=z[y$]=z[m$]=z[b$]=z[h$]=z[v$]=!0;z[Wj]=z[Kj]=z[u$]=z[Jj]=z[c$]=z[Xj]=z[e$]=z[t$]=z[r$]=z[i$]=z[n$]=z[o$]=z[a$]=z[l$]=z[s$]=!1;function w$(e){return dl(e)&&qj(e.length)&&!!z[Si(e)]}var k$=w$;function x$(e){return function(t){return e(t)}}var I$=x$,Rp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Rp&&typeof module=="object"&&module&&!module.nodeType&&module,C$=wi&&wi.exports===Rp,Ha=C$&&Np.process,A$=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Ha&&Ha.binding&&Ha.binding("util")}catch{}}(),tp=A$,rp=tp&&tp.isTypedArray,BX=rp?I$(rp):k$,S$=Object.prototype,qX=S$.hasOwnProperty;function M$(e,t){return function(r){return e(t(r))}}var j$=M$,GX=j$(Object.keys,Object),$$=Object.prototype,YX=$$.hasOwnProperty,E$=Dt(Object,"create"),xi=E$;function _$(){this.__data__=xi?xi(null):{},this.size=0}var L$=_$;function T$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var O$=T$,N$="__lodash_hash_undefined__",D$=Object.prototype,P$=D$.hasOwnProperty;function z$(e){var t=this.__data__;if(xi){var r=t[e];return r===N$?void 0:r}return P$.call(t,e)?t[e]:void 0}var U$=z$,R$=Object.prototype,F$=R$.hasOwnProperty;function V$(e){var t=this.__data__;return xi?t[e]!==void 0:F$.call(t,e)}var B$=V$,q$="__lodash_hash_undefined__";function G$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=xi&&t===void 0?q$:t,this}var Y$=G$;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=L$;Pt.prototype.delete=O$;Pt.prototype.get=U$;Pt.prototype.has=B$;Pt.prototype.set=Y$;var ip=Pt;function H$(){this.__data__=[],this.size=0}var Z$=H$;function Q$(e,t){for(var r=e.length;r--;)if(Fj(e[r][0],t))return r;return-1}var no=Q$,W$=Array.prototype,K$=W$.splice;function J$(e){var t=this.__data__,r=no(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():K$.call(t,r,1),--this.size,!0}var X$=J$;function eE(e){var t=this.__data__,r=no(t,e);return r<0?void 0:t[r][1]}var tE=eE;function rE(e){return no(this.__data__,e)>-1}var iE=rE;function nE(e,t){var r=this.__data__,i=no(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var oE=nE;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=Z$;zt.prototype.delete=X$;zt.prototype.get=tE;zt.prototype.has=iE;zt.prototype.set=oE;var oo=zt,aE=Dt(ie,"Map"),Ii=aE;function lE(){this.size=0,this.__data__={hash:new ip,map:new(Ii||oo),string:new ip}}var sE=lE;function uE(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var cE=uE;function dE(e,t){var r=e.__data__;return cE(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ao=dE;function pE(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t}var gE=pE;function fE(e){return ao(this,e).get(e)}var yE=fE;function mE(e){return ao(this,e).has(e)}var bE=mE;function hE(e,t){var r=ao(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var vE=hE;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=sE;Ut.prototype.delete=gE;Ut.prototype.get=yE;Ut.prototype.has=bE;Ut.prototype.set=vE;var Fp=Ut;function wE(){this.__data__=new oo,this.size=0}var kE=wE;function xE(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var IE=xE;function CE(e){return this.__data__.get(e)}var AE=CE;function SE(e){return this.__data__.has(e)}var ME=SE,jE=200;function $E(e,t){var r=this.__data__;if(r instanceof oo){var i=r.__data__;if(!Ii||i.length<jE-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Fp(i)}return r.set(e,t),this.size=r.size,this}var EE=$E;function Mi(e){var t=this.__data__=new oo(e);this.size=t.size}Mi.prototype.clear=kE;Mi.prototype.delete=IE;Mi.prototype.get=AE;Mi.prototype.has=ME;Mi.prototype.set=EE;var _E=Object.prototype,HX=_E.propertyIsEnumerable,LE=Dt(ie,"DataView"),el=LE,TE=Dt(ie,"Promise"),tl=TE,OE=Dt(ie,"Set"),rl=OE,np="[object Map]",NE="[object Object]",op="[object Promise]",ap="[object Set]",lp="[object WeakMap]",sp="[object DataView]",DE=ze(el),PE=ze(Ii),zE=ze(tl),UE=ze(rl),RE=ze(Xa),_t=Si;(el&&_t(new el(new ArrayBuffer(1)))!=sp||Ii&&_t(new Ii)!=np||tl&&_t(tl.resolve())!=op||rl&&_t(new rl)!=ap||Xa&&_t(new Xa)!=lp)&&(_t=function(e){var t=Si(e),r=t==NE?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case DE:return sp;case PE:return np;case zE:return op;case UE:return ap;case RE:return lp}return t});var ZX=ie.Uint8Array,FE="__lodash_hash_undefined__";function VE(e){return this.__data__.set(e,FE),this}var BE=VE;function qE(e){return this.__data__.has(e)}var GE=qE;function il(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Fp;++t<r;)this.add(e[t])}il.prototype.add=il.prototype.push=BE;il.prototype.has=GE;var up=Ot?Ot.prototype:void 0,QX=up?up.valueOf:void 0,YE=Object.prototype,WX=YE.hasOwnProperty,HE=Object.prototype,KX=HE.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");async function Vp(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 ZE(e,t){let r=await Vp(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 QE(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 Vp(i,t)}function WE(e){return e!==void 0}var KE=WE;function pl(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 $i(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 Bp=class qp{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 qp),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))}},JE=class Gp{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Gp),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 XE(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 g=t[l],p=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return g(u,y,p)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function e_({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var t_=e_,Za="ly.img.ai.temp";async function r_(e,t){return e.engine.asset.findAllSources().includes(Za)||e.engine.asset.addLocalSource(Za),e.engine.asset.apply(Za,t)}function i_(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 Yp(){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 n_(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 o_(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 gl(e){return e instanceof Error&&e.name==="AbortError"}function a_(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function l_(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 s_(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 cp=s_;function u_(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),c_(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:i_(e)}))}function c_(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 dp=u_,d_="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",fl=d_;function p_(e,t,r){switch(t){case"image":return g_(e,r[t]);case"video":return f_(e,r[t]);case"sticker":return y_(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function g_(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:fl,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function f_(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:fl,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function y_(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:fl,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var m_=p_;async function b_(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 h_(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 v_(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 w_(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 k_(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function h_(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 v_(e,t,r){let i=t.width,n=t.height,a=await n_(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 w_(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 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:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var Hp=b_;function x_(e){switch(e.userFlow){case"placeholder":return C_(e);case"generation-only":return I_(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function I_(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=Yp(),c=await Hp(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 C_(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=Yp(),c=m_(s,a,o);if(i=await r_(t,c),ke(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}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 Hp(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)&&(gl(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 A_=x_;function yl(e){return`${e}.generating`}function S_(e){return`${e}.abort`}function M_(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:g}}=t,p=c.global(S_(d),()=>{}),y=c.global(yl(d),!1),f,m=y.value&&g,v=()=>{m&&(p.value(),y.setValue(!1),p.setValue(()=>{}))},k;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let x=i();k=a.requiredInputs.every(b=>!x.input[b])}let w=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:y.value,color:"accent",isDisabled:k,suffix:m?{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:b})=>{l.ui.closeDialog(b),w.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:b})=>{v(),l.ui.closeDialog(b),w.setValue(void 0)}}});w.setValue(x)}}:void 0,onClick:async()=>{f=new AbortController;let x=f.signal;await(async()=>{try{y.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let b=await A_({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(b.status==="aborted")return;if(b.status==="error"){dp(b.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:b.middlewareOptions});return}if(b.status==="success"&&b.type==="sync"&&!b.middlewareOptions?.defaultPrevented()){let I=t.output.notification;j_(l,I,()=>({input:i().input,output:b.output}))}}catch(b){if(gl(b))return;dp(b,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,y.setValue(!1),p.setValue(()=>{}),w.value!=null&&(l.ui.closeDialog(w.value),w.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 j_(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 Zp=M_;function nl(e){let{name:t}=e;return(typeof t=="function"?t():t)??e.id}async function $_({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(yl(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(c,{cesdk:a,isGenerating:u});return Zp(c,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var E_=$_;function Qp(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 hi(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=Qp(e,t.$ref),n={...hi(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=hi(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>hi(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=hi(e,t[n],r));return i}return t}function __(e){return hi(e,{...e})}function L_(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 T_(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return O_(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function O_(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=N_(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function N_(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 Wp=T_;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 Kp(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 Jp(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?D_(e,c,r,i,n,a,o,s):Xp(e,c,r,i,n,a,o,s);case"boolean":return eg(e,c,r,i,n,a,o,s);case"number":case"integer":return tg(e,c,r,i,n,a,o,s);case"object":return ol(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 P_(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function ol(e,t,r,i,n,a,o,s){let c=Wp(t.schema??{},i).reduce((l,u)=>{let d=Jp(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 Xp(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=xe(t,r,o),y=xe(t,r,o,"placeholder"),f=ji(u,n.cesdk),m=s?.properties?.[d]??a.properties?.[d],v=$i(d,m,f,t.schema.default,""),k=l(g,v),w=z_(t.schema),x=w?.component!=null&&w?.component==="TextArea"?"TextArea":"TextInput",b=y.length>0?y:void 0;return c[x](g,{inputLabel:p,...b&&{placeholder:b},...k}),()=>({id:t.id,type:"string",value:k.value})}function D_(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=xe(t,r,o),{labels:y,icons:f}=Kp(t.schema),m=(t.schema.enum??[]).map(I=>({id:I,label:xe(t,r,o,I),icon:f[I]})),v=ji(u,n.cesdk),k=s?.properties?.[d]??a.properties?.[d],w=$i(d,k,v,t.schema.default,m[0]?.id),x=w!=null?m.find(I=>I.id===w)??m[0]:m[0],b=l(g,x);return c.Select(g,{inputLabel:p,values:m,...b}),()=>({id:t.id,type:"string",value:b.value.id})}function eg(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=xe(t,r,o),y=ji(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],m=!!$i(d,f,y,t.schema.default,!1),v=l(g,m);return c.Checkbox(g,{inputLabel:p,...v}),()=>({id:t.id,type:"boolean",value:v.value})}function tg(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=xe(t,r,o),y=t.schema.minimum,f=t.schema.maximum,m=ji(u,n.cesdk),v=s?.properties?.[d]??a.properties?.[d],k=t.schema.default;k==null&&(y!=null?k=y:f!=null?k=f:k=0);let w=$i(d,v,m,k,k),x=l(g,w);if(y!=null&&f!=null){let b=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(b=t.schema["x-imgly-step"]),c.Slider(g,{inputLabel:p,min:y,max:f,step:b,...x})}else c.NumberInput(g,{inputLabel:p,min:y,max:f,...x});return()=>({id:t.id,type:"integer",value:x.value})}function P_(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=xe(t,r,o),y=t.schema.anyOf??[],f=[],m={},v={},{labels:k,icons:w}=Kp(t.schema),x=ji(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],I={string:Xp,boolean:eg,integer:tg,object:ol},S=(h,$)=>h.$ref?h.$ref.split("/").pop():$.split(".").pop()??$,A=(h,$)=>({id:h,label:xe(t,r,o,$),icon:w[$]??w[h]});y.forEach((h,$)=>{let C=`${r.id}.${d}.anyOf[${$}]`;if(h.$ref||h.title){let M=h.$ref?h.$ref.split("/").pop():h.title;m[C]=()=>ol(e,{id:C,schema:{...h,title:k[M]||M}},r,i,n,a,o,s),f.push(A(C,M))}else if(h.type==="string"&&h.enum)h.enum.forEach(M=>{f.push(A(M,M))});else if(h.type&&I[h.type]){let M=I[h.type];m[C]=()=>M(e,{id:C,schema:{...h,title:h.title}},r,i,n,a,o,s);let q=S(h,C);f.push(h.type==="string"&&!h.enum?{id:C,label:h.title||q,icon:h.title&&w[h.title]||w[q]}:A(C,q))}});let _=$i(d,b,x,t.schema.default,null),j=_!=null?f.find(h=>h.id===_)??f[0]:f[0],E=l(g,j);if(c.Select(g,{inputLabel:p,values:f,...E}),E.value.id in m){let h=m[E.value.id]();v[E.value.id]=h}return()=>{let h=v[E.value.id];return h!=null?{...h(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function z_(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var U_=Jp,R_={"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 pp(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function gp(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(g=>{let p=String(g),y=d[p]||pp(p);n[a(u,p)]=y})};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 g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,u);else if(g.$ref){let p=g.$ref.split("/").pop();p&&u[p]&&(n[a(l.id,p)]=u[p])}else if(g.title){let p=g.title,y=u[p]||pp(p);n[a(l.id,p)]=y}})}});let c={...R_,...n};Object.keys(c).length>0&&pl(r.cesdk,{en:c})}function fp(e){return typeof e.document=="function"?e.document():e.document}function yp(e,t,r){let i=__(e),n=Qp(i,t.inputReference);if(!L_(n,r))throw new Error(`Input reference '${t.inputReference}' does not resolve to a valid OpenAPI schema`);let a=n,o=Wp(a,t);return{inputSchema:a,properties:o}}function mp(e,t,r,{options:i,provider:n,config:a,providerConfig:o},s){let{id:c}=n;return l=>{let{builder:u}=l,d=[];u.Section(`${c}.schema.section`,{children:()=>{t.forEach(f=>{let m=U_(l,f,n,r,i,a,n.kind,o);m!=null&&(Array.isArray(m)?d.push(...m):d.push(m))})}});let g=d.map(f=>f()),p=f=>f.type==="object"?Object.entries(f.value).reduce((m,[v,k])=>(m[v]=p(k),m),{}):f.value,y=g.reduce((f,m)=>(f[m.id]=p(m),f),{});Zp(l,n,s,()=>({input:y}),()=>r.getBlockInput(y),{...i,requiredInputs:e.required,createPlaceholderBlock:r.userFlow==="placeholder"},a)}}async function F_(e,t){let{options:r,provider:i,panelInput:n,config:a}=e,{id:o}=i;if(n==null)return;let s=n;a.debug&&console.log(`Provider: ${o} (schema-based)`);let c=fp(s);if(!(c instanceof Promise)){let{inputSchema:p,properties:y}=yp(c,s,a.debug);return gp(y,i,r,i.kind),mp(p,y,s,e,t)}let l=null,u=null,d=`${o}.schema.loading`;function g(){l=null,u=null,r.cesdk.ui.experimental.setGlobalStateValue(d,!0),Promise.resolve(fp(s)).then(p=>{let{inputSchema:y,properties:f}=yp(p,s,a.debug);gp(f,i,r,i.kind),u=mp(y,f,s,e,t)}).catch(p=>{l=p instanceof Error?p:new Error(String(p))}).finally(()=>{r.cesdk.ui.experimental.setGlobalStateValue(d,!1)})}return g(),p=>{let{builder:y}=p;if(u!=null){u(p);return}if(l!=null){y.Section(`${o}.schema.error`,{children:()=>{y.Text(`${o}.schema.error.title`,{content:"ly.img.plugin-ai-generation-web.schema.error.title"}),y.Text(`${o}.schema.error.details`,{content:l.message}),y.Button(`${o}.schema.error.retry`,{label:"ly.img.plugin-ai-generation-web.schema.error.retry",onClick:()=>{g()}})}});return}y.Section(`${o}.schema.loading`,{children:()=>{y.Button(`${o}.schema.loading.indicator`,{label:"ly.img.plugin-ai-generation-web.schema.loading.label",isLoading:!0,isDisabled:!0})}})}}var V_=F_;async function B_(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return E_(e,t);case"schema":return V_(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var q_=B_;function G_(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 WM(o,r)),o}return i}var Y_=G_;function H_(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 Z_=H_,Qa="@imgly/plugin-ai-generation",Q_=`
|
|
@@ -271,7 +271,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
271
271
|
</symbol>
|
|
272
272
|
</svg>
|
|
273
273
|
`,W_=Q_;function K_(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 rg(2e3),await J_(t,e,r)):i(t,r)}async function J_(e,t,r){switch(t.kind){case"image":return X_(e,t,r);case"video":return eL(e,t,r);case"text":return tL(e,t,r);case"audio":return iL(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function X_(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 QE(s,r),l=await ZE(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 eL(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function tL(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=mi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=mi(n,o)}else"customPrompt"in e?a=mi(n,"custom"):a=mi(n,"improved");else a=mi(n,"generated");return rL(a,r.abortSignal)}async function*rL(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 rg(100)}return{kind:"text",text:e}}function mi(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 iL(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:nL(220,i),duration:i,thumbnailUrl:void 0}}function nL(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 oL(i,44100)}function oL(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,m)=>{for(let v=0;v<m.length;v++)u.setUint8(f+v,m.charCodeAt(v))};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 g=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),v=Math.round(m*32767);u.setInt16(g,v,!0),g+=2}let p=new Uint8Array(l),y="";for(let f=0;f<p.length;f++)y+=String.fromCharCode(p[f]);return`data:audio/wav;base64,${btoa(y)}`}async function rg(e){return new Promise(t=>{setTimeout(t,e)})}var aL=K_,lL="USER_CANCEL";function sL(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=XE([...e.provider.output.middleware??[],...r?.middlewares??[],t_({enable:r?.debug}),aL({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}:o_(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return gl(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===lL?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var uL=sL;async function cL(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,g=Bp.get();Object.keys(t.input.quickActions.supported).forEach(p=>{if(!g.getBy({id:p,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${p}`;r.cesdk.feature.enable(y,!0)}})}let o=Y_(a),s=Z_(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=uL({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await q_(a,c);a_(r.cesdk,"@imgly/plugin-ai-generation",W_);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return JE.get().register(u),u}var Wa=cL;function dL(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 KM(n,r,i);return r.engine.asset.addSource(a),a.id}var pL=dL;function vi(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 gL(e,t,r,i){let{cesdk:n}=r;pl(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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Wa(e,u,r,i)));o.push(...l),a=yL({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Wa(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Wa(e,d,r,i)));o.push(...u),a=fL({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=pL({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(KE)}),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 fL({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}),g=`ly.img.plugin-ai-${e}-generation-web.fromImage`,p=n.feature.isEnabled(g,{engine:l}),y;d&&r.length>0&&(!p||i.length===0)?y="fromText":p&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&p&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let v=r.map(({provider:C,panel:M})=>({id:C.id,label:nl(C),builderRenderFunction:M?.builderRenderFunction})),k=i.map(({provider:C,panel:M})=>({id:C.id,label:nl(C),builderRenderFunction:M?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,v[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),b=v.find(C=>C.id===w.value)??v[0],I=k.find(C=>C.id===x.value)??k[0],S=f.value==="fromText"?w:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?b:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,j=n.feature.isEnabled(_,{engine:l});if(!d&&!p){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&p&&r.length>0&&i.length>0,h=a&&E,$=m.length>1&&j;if((h||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:vi(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:vi(e,"fromText.label"),icon:f.value!=="fromText"&&bp(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),p&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:vi(e,"fromImage.label"),icon:f.value!=="fromImage"&&bp(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?v:f.value==="fromImage"?k:[...v,...k];S!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:vi(e,"providerSelect.label"),values:C,value:A,setValue:M=>{S.setValue(M.id)}})}}}),m.length>1)A?.builderRenderFunction?.(o);else{let C=m[0];C&&C.panel?.builderRenderFunction?.(o)}}}function yL({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:g,panel:p})=>({id:g.id,label:nl(g),builderRenderFunction:p?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(g=>g.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:vi(e,"providerSelect.label"),values:l,value:d,setValue:g=>{u.setValue(g.id)}})}}),d?.builderRenderFunction?.(n)}}function bp(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(yl(r.id),!1).value)}var hp=gL,mL=typeof global=="object"&&global&&global.Object===Object&&global,ig=mL,bL=typeof self=="object"&&self&&self.Object===Object&&self,hL=ig||bL||Function("return this")(),ne=hL,vL=ne.Symbol,Nt=vL,ng=Object.prototype,wL=ng.hasOwnProperty,kL=ng.toString,bi=Nt?Nt.toStringTag:void 0;function xL(e){var t=wL.call(e,bi),r=e[bi];try{e[bi]=void 0;var i=!0}catch{}var n=kL.call(e);return i&&(t?e[bi]=r:delete e[bi]),n}var IL=xL,CL=Object.prototype,AL=CL.toString;function SL(e){return AL.call(e)}var ML=SL,jL="[object Null]",$L="[object Undefined]",vp=Nt?Nt.toStringTag:void 0;function EL(e){return e==null?e===void 0?$L:jL:vp&&vp in Object(e)?IL(e):ML(e)}var Ei=EL;function _L(e){return e!=null&&typeof e=="object"}var ml=_L,tee=Array.isArray;function LL(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var og=LL,TL="[object AsyncFunction]",OL="[object Function]",NL="[object GeneratorFunction]",DL="[object Proxy]";function PL(e){if(!og(e))return!1;var t=Ei(e);return t==OL||t==NL||t==TL||t==DL}var zL=PL,UL=ne["__core-js_shared__"],Ka=UL,wp=function(){var e=/[^.]+$/.exec(Ka&&Ka.keys&&Ka.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function RL(e){return!!wp&&wp in e}var FL=RL,VL=Function.prototype,BL=VL.toString;function qL(e){if(e!=null){try{return BL.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=qL,GL=/[\\^$.*+?()[\]{}|]/g,YL=/^\[object .+?Constructor\]$/,HL=Function.prototype,ZL=Object.prototype,QL=HL.toString,WL=ZL.hasOwnProperty,KL=RegExp("^"+QL.call(WL).replace(GL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function JL(e){if(!og(e)||FL(e))return!1;var t=zL(e)?KL:YL;return t.test(Ue(e))}var XL=JL;function eT(e,t){return e?.[t]}var tT=eT;function rT(e,t){var r=tT(e,t);return XL(r)?r:void 0}var Rt=rT,iT=Rt(ne,"WeakMap"),al=iT;function nT(e,t){return e===t||e!==e&&t!==t}var oT=nT,aT=9007199254740991;function lT(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=aT}var sT=lT,ree=Object.prototype,uT="[object Arguments]";function cT(e){return ml(e)&&Ei(e)==uT}var kp=cT,ag=Object.prototype,dT=ag.hasOwnProperty,pT=ag.propertyIsEnumerable,iee=kp(function(){return arguments}())?kp:function(e){return ml(e)&&dT.call(e,"callee")&&!pT.call(e,"callee")},lg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xp=lg&&typeof module=="object"&&module&&!module.nodeType&&module,gT=xp&&xp.exports===lg,Ip=gT?ne.Buffer:void 0,nee=Ip?Ip.isBuffer:void 0,fT="[object Arguments]",yT="[object Array]",mT="[object Boolean]",bT="[object Date]",hT="[object Error]",vT="[object Function]",wT="[object Map]",kT="[object Number]",xT="[object Object]",IT="[object RegExp]",CT="[object Set]",AT="[object String]",ST="[object WeakMap]",MT="[object ArrayBuffer]",jT="[object DataView]",$T="[object Float32Array]",ET="[object Float64Array]",_T="[object Int8Array]",LT="[object Int16Array]",TT="[object Int32Array]",OT="[object Uint8Array]",NT="[object Uint8ClampedArray]",DT="[object Uint16Array]",PT="[object Uint32Array]",U={};U[$T]=U[ET]=U[_T]=U[LT]=U[TT]=U[OT]=U[NT]=U[DT]=U[PT]=!0;U[fT]=U[yT]=U[MT]=U[mT]=U[jT]=U[bT]=U[hT]=U[vT]=U[wT]=U[kT]=U[xT]=U[IT]=U[CT]=U[AT]=U[ST]=!1;function zT(e){return ml(e)&&sT(e.length)&&!!U[Ei(e)]}var UT=zT;function RT(e){return function(t){return e(t)}}var FT=RT,sg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ki=sg&&typeof module=="object"&&module&&!module.nodeType&&module,VT=ki&&ki.exports===sg,Ja=VT&&ig.process,BT=function(){try{var e=ki&&ki.require&&ki.require("util").types;return e||Ja&&Ja.binding&&Ja.binding("util")}catch{}}(),Cp=BT,Ap=Cp&&Cp.isTypedArray,oee=Ap?FT(Ap):UT,qT=Object.prototype,aee=qT.hasOwnProperty;function GT(e,t){return function(r){return e(t(r))}}var YT=GT,lee=YT(Object.keys,Object),HT=Object.prototype,see=HT.hasOwnProperty,ZT=Rt(Object,"create"),Ci=ZT;function QT(){this.__data__=Ci?Ci(null):{},this.size=0}var WT=QT;function KT(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var JT=KT,XT="__lodash_hash_undefined__",eO=Object.prototype,tO=eO.hasOwnProperty;function rO(e){var t=this.__data__;if(Ci){var r=t[e];return r===XT?void 0:r}return tO.call(t,e)?t[e]:void 0}var iO=rO,nO=Object.prototype,oO=nO.hasOwnProperty;function aO(e){var t=this.__data__;return Ci?t[e]!==void 0:oO.call(t,e)}var lO=aO,sO="__lodash_hash_undefined__";function uO(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ci&&t===void 0?sO:t,this}var cO=uO;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=WT;Ft.prototype.delete=JT;Ft.prototype.get=iO;Ft.prototype.has=lO;Ft.prototype.set=cO;var Sp=Ft;function dO(){this.__data__=[],this.size=0}var pO=dO;function gO(e,t){for(var r=e.length;r--;)if(oT(e[r][0],t))return r;return-1}var lo=gO,fO=Array.prototype,yO=fO.splice;function mO(e){var t=this.__data__,r=lo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():yO.call(t,r,1),--this.size,!0}var bO=mO;function hO(e){var t=this.__data__,r=lo(t,e);return r<0?void 0:t[r][1]}var vO=hO;function wO(e){return lo(this.__data__,e)>-1}var kO=wO;function xO(e,t){var r=this.__data__,i=lo(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var IO=xO;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=pO;Vt.prototype.delete=bO;Vt.prototype.get=vO;Vt.prototype.has=kO;Vt.prototype.set=IO;var so=Vt,CO=Rt(ne,"Map"),Ai=CO;function AO(){this.size=0,this.__data__={hash:new Sp,map:new(Ai||so),string:new Sp}}var SO=AO;function MO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var jO=MO;function $O(e,t){var r=e.__data__;return jO(t)?r[typeof t=="string"?"string":"hash"]:r.map}var uo=$O;function EO(e){var t=uo(this,e).delete(e);return this.size-=t?1:0,t}var _O=EO;function LO(e){return uo(this,e).get(e)}var TO=LO;function OO(e){return uo(this,e).has(e)}var NO=OO;function DO(e,t){var r=uo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var PO=DO;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=SO;Bt.prototype.delete=_O;Bt.prototype.get=TO;Bt.prototype.has=NO;Bt.prototype.set=PO;var ug=Bt;function zO(){this.__data__=new so,this.size=0}var UO=zO;function RO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var FO=RO;function VO(e){return this.__data__.get(e)}var BO=VO;function qO(e){return this.__data__.has(e)}var GO=qO,YO=200;function HO(e,t){var r=this.__data__;if(r instanceof so){var i=r.__data__;if(!Ai||i.length<YO-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new ug(i)}return r.set(e,t),this.size=r.size,this}var ZO=HO;function _i(e){var t=this.__data__=new so(e);this.size=t.size}_i.prototype.clear=UO;_i.prototype.delete=FO;_i.prototype.get=BO;_i.prototype.has=GO;_i.prototype.set=ZO;var QO=Object.prototype,uee=QO.propertyIsEnumerable,WO=Rt(ne,"DataView"),ll=WO,KO=Rt(ne,"Promise"),sl=KO,JO=Rt(ne,"Set"),ul=JO,Mp="[object Map]",XO="[object Object]",jp="[object Promise]",$p="[object Set]",Ep="[object WeakMap]",_p="[object DataView]",eN=Ue(ll),tN=Ue(Ai),rN=Ue(sl),iN=Ue(ul),nN=Ue(al),Lt=Ei;(ll&&Lt(new ll(new ArrayBuffer(1)))!=_p||Ai&&Lt(new Ai)!=Mp||sl&&Lt(sl.resolve())!=jp||ul&&Lt(new ul)!=$p||al&&Lt(new al)!=Ep)&&(Lt=function(e){var t=Ei(e),r=t==XO?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case eN:return _p;case tN:return Mp;case rN:return jp;case iN:return $p;case nN:return Ep}return t});var cee=ne.Uint8Array,oN="__lodash_hash_undefined__";function aN(e){return this.__data__.set(e,oN),this}var lN=aN;function sN(e){return this.__data__.has(e)}var uN=sN;function cl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ug;++t<r;)this.add(e[t])}cl.prototype.add=cl.prototype.push=lN;cl.prototype.has=uN;var Lp=Nt?Nt.prototype:void 0,dee=Lp?Lp.valueOf:void 0,cN=Object.prototype,pee=cN.hasOwnProperty,dN=Object.prototype,gee=dN.hasOwnProperty,fee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),yee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),mee=new RegExp(/[A-Fa-f0-9]{2}/,"g");function pN(e){return e==null?[]:Array.isArray(e)?e:[e]}var Tp=pN;function gN(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function fN(e){return typeof e?.translate=="function"}function Op(e,t,r){return e&&gN(e)&&fN(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 yN(e){return{async initialize({cesdk:t}){if(t==null)return;l_(t,we,"1.73.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`;pl(t,{en:{[`panel.${De}`]:"AI Voice",[`panel.${Pe}`]:"Sound Generation",[r]:"Generate Sound",[i]:"AI Voice"}}),mN(e);let n=Bp.get(),a=n.register({type:"plugin",sceneMode:"Video",id:`${we}/sound`,pluginId:we,label:Op(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:Op(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(Tp(s).map(f=>f({cesdk:t}))),u=await Promise.all(Tp(c).map(f=>f({cesdk:t}))),d=l.length>0,g=u.length>0;if(!d&&!g){a(),o();return}g||a(),d||o();let p=await hp("audio",l,{cesdk:t},e),y=await hp("audio",u,{cesdk:t},e);y.panel.builderRenderFunction!=null?(t.ui.registerPanel(Pe,y.panel.builderRenderFunction),cp({cesdk:t,panelId:Pe})):a(),p.panel.builderRenderFunction!=null?(t.ui.registerPanel(De,p.panel.builderRenderFunction),cp({cesdk:t,panelId:De})):o()}}}function mN(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 bN=yN,hN=e=>({name:we,version:"1.73.0-rc.3",...bN(e)}),cg=hN;var vN="@imgly/plugin-ai-text-generation",wN=`
|
|
274
|
+
`,"+")}`}}async function eL(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function tL(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=mi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=mi(n,o)}else"customPrompt"in e?a=mi(n,"custom"):a=mi(n,"improved");else a=mi(n,"generated");return rL(a,r.abortSignal)}async function*rL(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 rg(100)}return{kind:"text",text:e}}function mi(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 iL(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:nL(220,i),duration:i,thumbnailUrl:void 0}}function nL(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 oL(i,44100)}function oL(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,m)=>{for(let v=0;v<m.length;v++)u.setUint8(f+v,m.charCodeAt(v))};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 g=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),v=Math.round(m*32767);u.setInt16(g,v,!0),g+=2}let p=new Uint8Array(l),y="";for(let f=0;f<p.length;f++)y+=String.fromCharCode(p[f]);return`data:audio/wav;base64,${btoa(y)}`}async function rg(e){return new Promise(t=>{setTimeout(t,e)})}var aL=K_,lL="USER_CANCEL";function sL(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=XE([...e.provider.output.middleware??[],...r?.middlewares??[],t_({enable:r?.debug}),aL({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}:o_(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return gl(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===lL?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),middlewareOptions:a}}}}var uL=sL;async function cL(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,g=Bp.get();Object.keys(t.input.quickActions.supported).forEach(p=>{if(!g.getBy({id:p,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${p}`;r.cesdk.feature.enable(y,!0)}})}let o=Y_(a),s=Z_(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=uL({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await q_(a,c);a_(r.cesdk,"@imgly/plugin-ai-generation",W_);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return JE.get().register(u),u}var Wa=cL;function dL(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 KM(n,r,i);return r.engine.asset.addSource(a),a.id}var pL=dL;function vi(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 gL(e,t,r,i){let{cesdk:n}=r;pl(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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry"}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Wa(e,u,r,i)));o.push(...l),a=yL({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Wa(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Wa(e,d,r,i)));o.push(...u),a=fL({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=pL({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(KE)}),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 fL({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}),g=`ly.img.plugin-ai-${e}-generation-web.fromImage`,p=n.feature.isEnabled(g,{engine:l}),y;d&&r.length>0&&(!p||i.length===0)?y="fromText":p&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&p&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let v=r.map(({provider:C,panel:M})=>({id:C.id,label:nl(C),builderRenderFunction:M?.builderRenderFunction})),k=i.map(({provider:C,panel:M})=>({id:C.id,label:nl(C),builderRenderFunction:M?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,v[0]?.id),x=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),b=v.find(C=>C.id===w.value)??v[0],I=k.find(C=>C.id===x.value)??k[0],S=f.value==="fromText"?w:f.value==="fromImage"?x:void 0,A=f.value==="fromText"?b:f.value==="fromImage"?I:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,j=n.feature.isEnabled(_,{engine:l});if(!d&&!p){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&p&&r.length>0&&i.length>0,h=a&&E,$=m.length>1&&j;if((h||$)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:vi(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:vi(e,"fromText.label"),icon:f.value!=="fromText"&&bp(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),p&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:vi(e,"fromImage.label"),icon:f.value!=="fromImage"&&bp(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),$){let C=f.value==="fromText"?v:f.value==="fromImage"?k:[...v,...k];S!=null&&A!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:vi(e,"providerSelect.label"),values:C,value:A,setValue:M=>{S.setValue(M.id)}})}}}),m.length>1)A?.builderRenderFunction?.(o);else{let C=m[0];C&&C.panel?.builderRenderFunction?.(o)}}}function yL({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:g,panel:p})=>({id:g.id,label:nl(g),builderRenderFunction:p?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(g=>g.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:vi(e,"providerSelect.label"),values:l,value:d,setValue:g=>{u.setValue(g.id)}})}}),d?.builderRenderFunction?.(n)}}function bp(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(yl(r.id),!1).value)}var hp=gL,mL=typeof global=="object"&&global&&global.Object===Object&&global,ig=mL,bL=typeof self=="object"&&self&&self.Object===Object&&self,hL=ig||bL||Function("return this")(),ne=hL,vL=ne.Symbol,Nt=vL,ng=Object.prototype,wL=ng.hasOwnProperty,kL=ng.toString,bi=Nt?Nt.toStringTag:void 0;function xL(e){var t=wL.call(e,bi),r=e[bi];try{e[bi]=void 0;var i=!0}catch{}var n=kL.call(e);return i&&(t?e[bi]=r:delete e[bi]),n}var IL=xL,CL=Object.prototype,AL=CL.toString;function SL(e){return AL.call(e)}var ML=SL,jL="[object Null]",$L="[object Undefined]",vp=Nt?Nt.toStringTag:void 0;function EL(e){return e==null?e===void 0?$L:jL:vp&&vp in Object(e)?IL(e):ML(e)}var Ei=EL;function _L(e){return e!=null&&typeof e=="object"}var ml=_L,tee=Array.isArray;function LL(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var og=LL,TL="[object AsyncFunction]",OL="[object Function]",NL="[object GeneratorFunction]",DL="[object Proxy]";function PL(e){if(!og(e))return!1;var t=Ei(e);return t==OL||t==NL||t==TL||t==DL}var zL=PL,UL=ne["__core-js_shared__"],Ka=UL,wp=function(){var e=/[^.]+$/.exec(Ka&&Ka.keys&&Ka.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function RL(e){return!!wp&&wp in e}var FL=RL,VL=Function.prototype,BL=VL.toString;function qL(e){if(e!=null){try{return BL.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=qL,GL=/[\\^$.*+?()[\]{}|]/g,YL=/^\[object .+?Constructor\]$/,HL=Function.prototype,ZL=Object.prototype,QL=HL.toString,WL=ZL.hasOwnProperty,KL=RegExp("^"+QL.call(WL).replace(GL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function JL(e){if(!og(e)||FL(e))return!1;var t=zL(e)?KL:YL;return t.test(Ue(e))}var XL=JL;function eT(e,t){return e?.[t]}var tT=eT;function rT(e,t){var r=tT(e,t);return XL(r)?r:void 0}var Rt=rT,iT=Rt(ne,"WeakMap"),al=iT;function nT(e,t){return e===t||e!==e&&t!==t}var oT=nT,aT=9007199254740991;function lT(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=aT}var sT=lT,ree=Object.prototype,uT="[object Arguments]";function cT(e){return ml(e)&&Ei(e)==uT}var kp=cT,ag=Object.prototype,dT=ag.hasOwnProperty,pT=ag.propertyIsEnumerable,iee=kp(function(){return arguments}())?kp:function(e){return ml(e)&&dT.call(e,"callee")&&!pT.call(e,"callee")},lg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xp=lg&&typeof module=="object"&&module&&!module.nodeType&&module,gT=xp&&xp.exports===lg,Ip=gT?ne.Buffer:void 0,nee=Ip?Ip.isBuffer:void 0,fT="[object Arguments]",yT="[object Array]",mT="[object Boolean]",bT="[object Date]",hT="[object Error]",vT="[object Function]",wT="[object Map]",kT="[object Number]",xT="[object Object]",IT="[object RegExp]",CT="[object Set]",AT="[object String]",ST="[object WeakMap]",MT="[object ArrayBuffer]",jT="[object DataView]",$T="[object Float32Array]",ET="[object Float64Array]",_T="[object Int8Array]",LT="[object Int16Array]",TT="[object Int32Array]",OT="[object Uint8Array]",NT="[object Uint8ClampedArray]",DT="[object Uint16Array]",PT="[object Uint32Array]",U={};U[$T]=U[ET]=U[_T]=U[LT]=U[TT]=U[OT]=U[NT]=U[DT]=U[PT]=!0;U[fT]=U[yT]=U[MT]=U[mT]=U[jT]=U[bT]=U[hT]=U[vT]=U[wT]=U[kT]=U[xT]=U[IT]=U[CT]=U[AT]=U[ST]=!1;function zT(e){return ml(e)&&sT(e.length)&&!!U[Ei(e)]}var UT=zT;function RT(e){return function(t){return e(t)}}var FT=RT,sg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ki=sg&&typeof module=="object"&&module&&!module.nodeType&&module,VT=ki&&ki.exports===sg,Ja=VT&&ig.process,BT=function(){try{var e=ki&&ki.require&&ki.require("util").types;return e||Ja&&Ja.binding&&Ja.binding("util")}catch{}}(),Cp=BT,Ap=Cp&&Cp.isTypedArray,oee=Ap?FT(Ap):UT,qT=Object.prototype,aee=qT.hasOwnProperty;function GT(e,t){return function(r){return e(t(r))}}var YT=GT,lee=YT(Object.keys,Object),HT=Object.prototype,see=HT.hasOwnProperty,ZT=Rt(Object,"create"),Ci=ZT;function QT(){this.__data__=Ci?Ci(null):{},this.size=0}var WT=QT;function KT(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var JT=KT,XT="__lodash_hash_undefined__",eO=Object.prototype,tO=eO.hasOwnProperty;function rO(e){var t=this.__data__;if(Ci){var r=t[e];return r===XT?void 0:r}return tO.call(t,e)?t[e]:void 0}var iO=rO,nO=Object.prototype,oO=nO.hasOwnProperty;function aO(e){var t=this.__data__;return Ci?t[e]!==void 0:oO.call(t,e)}var lO=aO,sO="__lodash_hash_undefined__";function uO(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ci&&t===void 0?sO:t,this}var cO=uO;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=WT;Ft.prototype.delete=JT;Ft.prototype.get=iO;Ft.prototype.has=lO;Ft.prototype.set=cO;var Sp=Ft;function dO(){this.__data__=[],this.size=0}var pO=dO;function gO(e,t){for(var r=e.length;r--;)if(oT(e[r][0],t))return r;return-1}var lo=gO,fO=Array.prototype,yO=fO.splice;function mO(e){var t=this.__data__,r=lo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():yO.call(t,r,1),--this.size,!0}var bO=mO;function hO(e){var t=this.__data__,r=lo(t,e);return r<0?void 0:t[r][1]}var vO=hO;function wO(e){return lo(this.__data__,e)>-1}var kO=wO;function xO(e,t){var r=this.__data__,i=lo(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var IO=xO;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=pO;Vt.prototype.delete=bO;Vt.prototype.get=vO;Vt.prototype.has=kO;Vt.prototype.set=IO;var so=Vt,CO=Rt(ne,"Map"),Ai=CO;function AO(){this.size=0,this.__data__={hash:new Sp,map:new(Ai||so),string:new Sp}}var SO=AO;function MO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var jO=MO;function $O(e,t){var r=e.__data__;return jO(t)?r[typeof t=="string"?"string":"hash"]:r.map}var uo=$O;function EO(e){var t=uo(this,e).delete(e);return this.size-=t?1:0,t}var _O=EO;function LO(e){return uo(this,e).get(e)}var TO=LO;function OO(e){return uo(this,e).has(e)}var NO=OO;function DO(e,t){var r=uo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var PO=DO;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=SO;Bt.prototype.delete=_O;Bt.prototype.get=TO;Bt.prototype.has=NO;Bt.prototype.set=PO;var ug=Bt;function zO(){this.__data__=new so,this.size=0}var UO=zO;function RO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var FO=RO;function VO(e){return this.__data__.get(e)}var BO=VO;function qO(e){return this.__data__.has(e)}var GO=qO,YO=200;function HO(e,t){var r=this.__data__;if(r instanceof so){var i=r.__data__;if(!Ai||i.length<YO-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new ug(i)}return r.set(e,t),this.size=r.size,this}var ZO=HO;function _i(e){var t=this.__data__=new so(e);this.size=t.size}_i.prototype.clear=UO;_i.prototype.delete=FO;_i.prototype.get=BO;_i.prototype.has=GO;_i.prototype.set=ZO;var QO=Object.prototype,uee=QO.propertyIsEnumerable,WO=Rt(ne,"DataView"),ll=WO,KO=Rt(ne,"Promise"),sl=KO,JO=Rt(ne,"Set"),ul=JO,Mp="[object Map]",XO="[object Object]",jp="[object Promise]",$p="[object Set]",Ep="[object WeakMap]",_p="[object DataView]",eN=Ue(ll),tN=Ue(Ai),rN=Ue(sl),iN=Ue(ul),nN=Ue(al),Lt=Ei;(ll&&Lt(new ll(new ArrayBuffer(1)))!=_p||Ai&&Lt(new Ai)!=Mp||sl&&Lt(sl.resolve())!=jp||ul&&Lt(new ul)!=$p||al&&Lt(new al)!=Ep)&&(Lt=function(e){var t=Ei(e),r=t==XO?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case eN:return _p;case tN:return Mp;case rN:return jp;case iN:return $p;case nN:return Ep}return t});var cee=ne.Uint8Array,oN="__lodash_hash_undefined__";function aN(e){return this.__data__.set(e,oN),this}var lN=aN;function sN(e){return this.__data__.has(e)}var uN=sN;function cl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ug;++t<r;)this.add(e[t])}cl.prototype.add=cl.prototype.push=lN;cl.prototype.has=uN;var Lp=Nt?Nt.prototype:void 0,dee=Lp?Lp.valueOf:void 0,cN=Object.prototype,pee=cN.hasOwnProperty,dN=Object.prototype,gee=dN.hasOwnProperty,fee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),yee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),mee=new RegExp(/[A-Fa-f0-9]{2}/,"g");function pN(e){return e==null?[]:Array.isArray(e)?e:[e]}var Tp=pN;function gN(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function fN(e){return typeof e?.translate=="function"}function Op(e,t,r){return e&&gN(e)&&fN(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 yN(e){return{async initialize({cesdk:t}){if(t==null)return;l_(t,we,"1.73.1-rc.0"),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`;pl(t,{en:{[`panel.${De}`]:"AI Voice",[`panel.${Pe}`]:"Sound Generation",[r]:"Generate Sound",[i]:"AI Voice"}}),mN(e);let n=Bp.get(),a=n.register({type:"plugin",sceneMode:"Video",id:`${we}/sound`,pluginId:we,label:Op(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:Op(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(Tp(s).map(f=>f({cesdk:t}))),u=await Promise.all(Tp(c).map(f=>f({cesdk:t}))),d=l.length>0,g=u.length>0;if(!d&&!g){a(),o();return}g||a(),d||o();let p=await hp("audio",l,{cesdk:t},e),y=await hp("audio",u,{cesdk:t},e);y.panel.builderRenderFunction!=null?(t.ui.registerPanel(Pe,y.panel.builderRenderFunction),cp({cesdk:t,panelId:Pe})):a(),p.panel.builderRenderFunction!=null?(t.ui.registerPanel(De,p.panel.builderRenderFunction),cp({cesdk:t,panelId:De})):o()}}}function mN(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 bN=yN,hN=e=>({name:we,version:"1.73.1-rc.0",...bN(e)}),cg=hN;var vN="@imgly/plugin-ai-text-generation",wN=`
|
|
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 ZB=HB,Ao="changeTextTo",Ie=`ly.img.${Ao}`,Xg=`ly.img.plugin-ai-text-generation-web.quickAction.${Ao}`,e1=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Ao}`;function Cl(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Ao}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var QB=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.changeTextTo",!0),Z(e,{en:{[`${e1}`]:"Change Text to...",[`${e1}.prompt`]:"Change Text to...",[`${Xg}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:Ie,type:"quick",kind:"text",scopes:["text/edit"],label:`${Xg}`,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:Cl(l,"prompt"),placeholder:Cl(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[g]=o.block.findAllSelected(),p=o.block.getString(g,"text/text");await a({prompt:ZB(p,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:Cl(l),icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),WB=QB,N1="@imgly/plugin-ai-text-generation-web",KB=["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 JB(e){return{async initialize({cesdk:t}){if(t==null)return;_z(t,N1,"1.73.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(vN,kN),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),XB(e);let r=zl.get();r.register(pB({cesdk:t})),r.register(vB({cesdk:t})),r.register(SB({cesdk:t})),r.register(TB({cesdk:t})),r.register(UB({cesdk:t})),r.register(YB({cesdk:t})),r.register(WB({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(oB(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await zU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await lR({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:KB});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:yo}))}}}function XB(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 eq=JB,tq=e=>({name:N1,version:"1.73.0-rc.3",...eq(e)}),D1=tq;var rq=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="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(g=l.tags[u]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&c.push(p),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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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 iq=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 g=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});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")}},nq=typeof global=="object"&&global&&global.Object===Object&&global,vf=nq,oq=typeof self=="object"&&self&&self.Object===Object&&self,aq=vf||oq||Function("return this")(),le=aq,lq=le.Symbol,ar=lq,wf=Object.prototype,sq=wf.hasOwnProperty,uq=wf.toString,Ji=ar?ar.toStringTag:void 0;function cq(e){var t=sq.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=uq.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var dq=cq,pq=Object.prototype,gq=pq.toString;function fq(e){return gq.call(e)}var yq=fq,mq="[object Null]",bq="[object Undefined]",P1=ar?ar.toStringTag:void 0;function hq(e){return e==null?e===void 0?bq:mq:P1&&P1 in Object(e)?dq(e):yq(e)}var dn=hq;function vq(e){return e!=null&&typeof e=="object"}var ss=vq,rte=Array.isArray;function wq(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var kf=wq,kq="[object AsyncFunction]",xq="[object Function]",Iq="[object GeneratorFunction]",Cq="[object Proxy]";function Aq(e){if(!kf(e))return!1;var t=dn(e);return t==xq||t==Iq||t==kq||t==Cq}var Sq=Aq,Mq=le["__core-js_shared__"],Bl=Mq,z1=function(){var e=/[^.]+$/.exec(Bl&&Bl.keys&&Bl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function jq(e){return!!z1&&z1 in e}var $q=jq,Eq=Function.prototype,_q=Eq.toString;function Lq(e){if(e!=null){try{return _q.call(e)}catch{}try{return e+""}catch{}}return""}var qe=Lq,Tq=/[\\^$.*+?()[\]{}|]/g,Oq=/^\[object .+?Constructor\]$/,Nq=Function.prototype,Dq=Object.prototype,Pq=Nq.toString,zq=Dq.hasOwnProperty,Uq=RegExp("^"+Pq.call(zq).replace(Tq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Rq(e){if(!kf(e)||$q(e))return!1;var t=Sq(e)?Uq:Oq;return t.test(qe(e))}var Fq=Rq;function Vq(e,t){return e?.[t]}var Bq=Vq;function qq(e,t){var r=Bq(e,t);return Fq(r)?r:void 0}var sr=qq,Gq=sr(le,"WeakMap"),Wl=Gq;function Yq(e,t){return e===t||e!==e&&t!==t}var Hq=Yq,Zq=9007199254740991;function Qq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Zq}var Wq=Qq,ite=Object.prototype,Kq="[object Arguments]";function Jq(e){return ss(e)&&dn(e)==Kq}var U1=Jq,xf=Object.prototype,Xq=xf.hasOwnProperty,eG=xf.propertyIsEnumerable,nte=U1(function(){return arguments}())?U1:function(e){return ss(e)&&Xq.call(e,"callee")&&!eG.call(e,"callee")},If=typeof exports=="object"&&exports&&!exports.nodeType&&exports,R1=If&&typeof module=="object"&&module&&!module.nodeType&&module,tG=R1&&R1.exports===If,F1=tG?le.Buffer:void 0,ote=F1?F1.isBuffer:void 0,rG="[object Arguments]",iG="[object Array]",nG="[object Boolean]",oG="[object Date]",aG="[object Error]",lG="[object Function]",sG="[object Map]",uG="[object Number]",cG="[object Object]",dG="[object RegExp]",pG="[object Set]",gG="[object String]",fG="[object WeakMap]",yG="[object ArrayBuffer]",mG="[object DataView]",bG="[object Float32Array]",hG="[object Float64Array]",vG="[object Int8Array]",wG="[object Int16Array]",kG="[object Int32Array]",xG="[object Uint8Array]",IG="[object Uint8ClampedArray]",CG="[object Uint16Array]",AG="[object Uint32Array]",V={};V[bG]=V[hG]=V[vG]=V[wG]=V[kG]=V[xG]=V[IG]=V[CG]=V[AG]=!0;V[rG]=V[iG]=V[yG]=V[nG]=V[mG]=V[oG]=V[aG]=V[lG]=V[sG]=V[uG]=V[cG]=V[dG]=V[pG]=V[gG]=V[fG]=!1;function SG(e){return ss(e)&&Wq(e.length)&&!!V[dn(e)]}var MG=SG;function jG(e){return function(t){return e(t)}}var $G=jG,Cf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,on=Cf&&typeof module=="object"&&module&&!module.nodeType&&module,EG=on&&on.exports===Cf,ql=EG&&vf.process,_G=function(){try{var e=on&&on.require&&on.require("util").types;return e||ql&&ql.binding&&ql.binding("util")}catch{}}(),V1=_G,B1=V1&&V1.isTypedArray,ate=B1?$G(B1):MG,LG=Object.prototype,lte=LG.hasOwnProperty;function TG(e,t){return function(r){return e(t(r))}}var OG=TG,ste=OG(Object.keys,Object),NG=Object.prototype,ute=NG.hasOwnProperty,DG=sr(Object,"create"),ln=DG;function PG(){this.__data__=ln?ln(null):{},this.size=0}var zG=PG;function UG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var RG=UG,FG="__lodash_hash_undefined__",VG=Object.prototype,BG=VG.hasOwnProperty;function qG(e){var t=this.__data__;if(ln){var r=t[e];return r===FG?void 0:r}return BG.call(t,e)?t[e]:void 0}var GG=qG,YG=Object.prototype,HG=YG.hasOwnProperty;function ZG(e){var t=this.__data__;return ln?t[e]!==void 0:HG.call(t,e)}var QG=ZG,WG="__lodash_hash_undefined__";function KG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?WG:t,this}var JG=KG;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=zG;ur.prototype.delete=RG;ur.prototype.get=GG;ur.prototype.has=QG;ur.prototype.set=JG;var q1=ur;function XG(){this.__data__=[],this.size=0}var eY=XG;function tY(e,t){for(var r=e.length;r--;)if(Hq(e[r][0],t))return r;return-1}var So=tY,rY=Array.prototype,iY=rY.splice;function nY(e){var t=this.__data__,r=So(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():iY.call(t,r,1),--this.size,!0}var oY=nY;function aY(e){var t=this.__data__,r=So(t,e);return r<0?void 0:t[r][1]}var lY=aY;function sY(e){return So(this.__data__,e)>-1}var uY=sY;function cY(e,t){var r=this.__data__,i=So(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var dY=cY;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=eY;cr.prototype.delete=oY;cr.prototype.get=lY;cr.prototype.has=uY;cr.prototype.set=dY;var Mo=cr,pY=sr(le,"Map"),sn=pY;function gY(){this.size=0,this.__data__={hash:new q1,map:new(sn||Mo),string:new q1}}var fY=gY;function yY(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var mY=yY;function bY(e,t){var r=e.__data__;return mY(t)?r[typeof t=="string"?"string":"hash"]:r.map}var jo=bY;function hY(e){var t=jo(this,e).delete(e);return this.size-=t?1:0,t}var vY=hY;function wY(e){return jo(this,e).get(e)}var kY=wY;function xY(e){return jo(this,e).has(e)}var IY=xY;function CY(e,t){var r=jo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var AY=CY;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=fY;dr.prototype.delete=vY;dr.prototype.get=kY;dr.prototype.has=IY;dr.prototype.set=AY;var Af=dr;function SY(){this.__data__=new Mo,this.size=0}var MY=SY;function jY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var $Y=jY;function EY(e){return this.__data__.get(e)}var _Y=EY;function LY(e){return this.__data__.has(e)}var TY=LY,OY=200;function NY(e,t){var r=this.__data__;if(r instanceof Mo){var i=r.__data__;if(!sn||i.length<OY-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Af(i)}return r.set(e,t),this.size=r.size,this}var DY=NY;function pn(e){var t=this.__data__=new Mo(e);this.size=t.size}pn.prototype.clear=MY;pn.prototype.delete=$Y;pn.prototype.get=_Y;pn.prototype.has=TY;pn.prototype.set=DY;var PY=Object.prototype,cte=PY.propertyIsEnumerable,zY=sr(le,"DataView"),Kl=zY,UY=sr(le,"Promise"),Jl=UY,RY=sr(le,"Set"),Xl=RY,G1="[object Map]",FY="[object Object]",Y1="[object Promise]",H1="[object Set]",Z1="[object WeakMap]",Q1="[object DataView]",VY=qe(Kl),BY=qe(sn),qY=qe(Jl),GY=qe(Xl),YY=qe(Wl),ir=dn;(Kl&&ir(new Kl(new ArrayBuffer(1)))!=Q1||sn&&ir(new sn)!=G1||Jl&&ir(Jl.resolve())!=Y1||Xl&&ir(new Xl)!=H1||Wl&&ir(new Wl)!=Z1)&&(ir=function(e){var t=dn(e),r=t==FY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case VY:return Q1;case BY:return G1;case qY:return Y1;case GY:return H1;case YY:return Z1}return t});var dte=le.Uint8Array,HY="__lodash_hash_undefined__";function ZY(e){return this.__data__.set(e,HY),this}var QY=ZY;function WY(e){return this.__data__.has(e)}var KY=WY;function es(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Af;++t<r;)this.add(e[t])}es.prototype.add=es.prototype.push=QY;es.prototype.has=KY;var W1=ar?ar.prototype:void 0,pte=W1?W1.valueOf:void 0,JY=Object.prototype,gte=JY.hasOwnProperty,XY=Object.prototype,fte=XY.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");async function Sf(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 eH(e,t){let r=await Sf(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 tH(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 Sf(i,t)}function rH(e){return e!==void 0}var iH=rH;function us(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 gn(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function fn(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 Mf=class jf{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 jf),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))}},nH=class $f{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new $f),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 oH(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 g=t[l],p=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return g(u,y,p)},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 aH({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 lH=aH,Gl="ly.img.ai.temp";async function sH(e,t){return e.engine.asset.findAllSources().includes(Gl)||e.engine.asset.addLocalSource(Gl),e.engine.asset.apply(Gl,t)}function uH(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 Ef(){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 cH(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 dH(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 cs(e){return e instanceof Error&&e.name==="AbortError"}function pH(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function gH(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 ZB=HB,Ao="changeTextTo",Ie=`ly.img.${Ao}`,Xg=`ly.img.plugin-ai-text-generation-web.quickAction.${Ao}`,e1=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Ao}`;function Cl(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Ao}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var QB=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.changeTextTo",!0),Z(e,{en:{[`${e1}`]:"Change Text to...",[`${e1}.prompt`]:"Change Text to...",[`${Xg}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:Ie,type:"quick",kind:"text",scopes:["text/edit"],label:`${Xg}`,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:Cl(l,"prompt"),placeholder:Cl(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[g]=o.block.findAllSelected(),p=o.block.getString(g,"text/text");await a({prompt:ZB(p,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:Cl(l),icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),WB=QB,N1="@imgly/plugin-ai-text-generation-web",KB=["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 JB(e){return{async initialize({cesdk:t}){if(t==null)return;_z(t,N1,"1.73.1-rc.0"),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(vN,kN),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),XB(e);let r=zl.get();r.register(pB({cesdk:t})),r.register(vB({cesdk:t})),r.register(SB({cesdk:t})),r.register(TB({cesdk:t})),r.register(UB({cesdk:t})),r.register(YB({cesdk:t})),r.register(WB({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(oB(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await zU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await lR({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:KB});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:yo}))}}}function XB(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 eq=JB,tq=e=>({name:N1,version:"1.73.1-rc.0",...eq(e)}),D1=tq;var rq=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="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(g=l.tags[u]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&c.push(p),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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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 iq=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 g=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});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")}},nq=typeof global=="object"&&global&&global.Object===Object&&global,vf=nq,oq=typeof self=="object"&&self&&self.Object===Object&&self,aq=vf||oq||Function("return this")(),le=aq,lq=le.Symbol,ar=lq,wf=Object.prototype,sq=wf.hasOwnProperty,uq=wf.toString,Ji=ar?ar.toStringTag:void 0;function cq(e){var t=sq.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=uq.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var dq=cq,pq=Object.prototype,gq=pq.toString;function fq(e){return gq.call(e)}var yq=fq,mq="[object Null]",bq="[object Undefined]",P1=ar?ar.toStringTag:void 0;function hq(e){return e==null?e===void 0?bq:mq:P1&&P1 in Object(e)?dq(e):yq(e)}var dn=hq;function vq(e){return e!=null&&typeof e=="object"}var ss=vq,rte=Array.isArray;function wq(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var kf=wq,kq="[object AsyncFunction]",xq="[object Function]",Iq="[object GeneratorFunction]",Cq="[object Proxy]";function Aq(e){if(!kf(e))return!1;var t=dn(e);return t==xq||t==Iq||t==kq||t==Cq}var Sq=Aq,Mq=le["__core-js_shared__"],Bl=Mq,z1=function(){var e=/[^.]+$/.exec(Bl&&Bl.keys&&Bl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function jq(e){return!!z1&&z1 in e}var $q=jq,Eq=Function.prototype,_q=Eq.toString;function Lq(e){if(e!=null){try{return _q.call(e)}catch{}try{return e+""}catch{}}return""}var qe=Lq,Tq=/[\\^$.*+?()[\]{}|]/g,Oq=/^\[object .+?Constructor\]$/,Nq=Function.prototype,Dq=Object.prototype,Pq=Nq.toString,zq=Dq.hasOwnProperty,Uq=RegExp("^"+Pq.call(zq).replace(Tq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Rq(e){if(!kf(e)||$q(e))return!1;var t=Sq(e)?Uq:Oq;return t.test(qe(e))}var Fq=Rq;function Vq(e,t){return e?.[t]}var Bq=Vq;function qq(e,t){var r=Bq(e,t);return Fq(r)?r:void 0}var sr=qq,Gq=sr(le,"WeakMap"),Wl=Gq;function Yq(e,t){return e===t||e!==e&&t!==t}var Hq=Yq,Zq=9007199254740991;function Qq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Zq}var Wq=Qq,ite=Object.prototype,Kq="[object Arguments]";function Jq(e){return ss(e)&&dn(e)==Kq}var U1=Jq,xf=Object.prototype,Xq=xf.hasOwnProperty,eG=xf.propertyIsEnumerable,nte=U1(function(){return arguments}())?U1:function(e){return ss(e)&&Xq.call(e,"callee")&&!eG.call(e,"callee")},If=typeof exports=="object"&&exports&&!exports.nodeType&&exports,R1=If&&typeof module=="object"&&module&&!module.nodeType&&module,tG=R1&&R1.exports===If,F1=tG?le.Buffer:void 0,ote=F1?F1.isBuffer:void 0,rG="[object Arguments]",iG="[object Array]",nG="[object Boolean]",oG="[object Date]",aG="[object Error]",lG="[object Function]",sG="[object Map]",uG="[object Number]",cG="[object Object]",dG="[object RegExp]",pG="[object Set]",gG="[object String]",fG="[object WeakMap]",yG="[object ArrayBuffer]",mG="[object DataView]",bG="[object Float32Array]",hG="[object Float64Array]",vG="[object Int8Array]",wG="[object Int16Array]",kG="[object Int32Array]",xG="[object Uint8Array]",IG="[object Uint8ClampedArray]",CG="[object Uint16Array]",AG="[object Uint32Array]",V={};V[bG]=V[hG]=V[vG]=V[wG]=V[kG]=V[xG]=V[IG]=V[CG]=V[AG]=!0;V[rG]=V[iG]=V[yG]=V[nG]=V[mG]=V[oG]=V[aG]=V[lG]=V[sG]=V[uG]=V[cG]=V[dG]=V[pG]=V[gG]=V[fG]=!1;function SG(e){return ss(e)&&Wq(e.length)&&!!V[dn(e)]}var MG=SG;function jG(e){return function(t){return e(t)}}var $G=jG,Cf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,on=Cf&&typeof module=="object"&&module&&!module.nodeType&&module,EG=on&&on.exports===Cf,ql=EG&&vf.process,_G=function(){try{var e=on&&on.require&&on.require("util").types;return e||ql&&ql.binding&&ql.binding("util")}catch{}}(),V1=_G,B1=V1&&V1.isTypedArray,ate=B1?$G(B1):MG,LG=Object.prototype,lte=LG.hasOwnProperty;function TG(e,t){return function(r){return e(t(r))}}var OG=TG,ste=OG(Object.keys,Object),NG=Object.prototype,ute=NG.hasOwnProperty,DG=sr(Object,"create"),ln=DG;function PG(){this.__data__=ln?ln(null):{},this.size=0}var zG=PG;function UG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var RG=UG,FG="__lodash_hash_undefined__",VG=Object.prototype,BG=VG.hasOwnProperty;function qG(e){var t=this.__data__;if(ln){var r=t[e];return r===FG?void 0:r}return BG.call(t,e)?t[e]:void 0}var GG=qG,YG=Object.prototype,HG=YG.hasOwnProperty;function ZG(e){var t=this.__data__;return ln?t[e]!==void 0:HG.call(t,e)}var QG=ZG,WG="__lodash_hash_undefined__";function KG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?WG:t,this}var JG=KG;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=zG;ur.prototype.delete=RG;ur.prototype.get=GG;ur.prototype.has=QG;ur.prototype.set=JG;var q1=ur;function XG(){this.__data__=[],this.size=0}var eY=XG;function tY(e,t){for(var r=e.length;r--;)if(Hq(e[r][0],t))return r;return-1}var So=tY,rY=Array.prototype,iY=rY.splice;function nY(e){var t=this.__data__,r=So(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():iY.call(t,r,1),--this.size,!0}var oY=nY;function aY(e){var t=this.__data__,r=So(t,e);return r<0?void 0:t[r][1]}var lY=aY;function sY(e){return So(this.__data__,e)>-1}var uY=sY;function cY(e,t){var r=this.__data__,i=So(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var dY=cY;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=eY;cr.prototype.delete=oY;cr.prototype.get=lY;cr.prototype.has=uY;cr.prototype.set=dY;var Mo=cr,pY=sr(le,"Map"),sn=pY;function gY(){this.size=0,this.__data__={hash:new q1,map:new(sn||Mo),string:new q1}}var fY=gY;function yY(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var mY=yY;function bY(e,t){var r=e.__data__;return mY(t)?r[typeof t=="string"?"string":"hash"]:r.map}var jo=bY;function hY(e){var t=jo(this,e).delete(e);return this.size-=t?1:0,t}var vY=hY;function wY(e){return jo(this,e).get(e)}var kY=wY;function xY(e){return jo(this,e).has(e)}var IY=xY;function CY(e,t){var r=jo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var AY=CY;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=fY;dr.prototype.delete=vY;dr.prototype.get=kY;dr.prototype.has=IY;dr.prototype.set=AY;var Af=dr;function SY(){this.__data__=new Mo,this.size=0}var MY=SY;function jY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var $Y=jY;function EY(e){return this.__data__.get(e)}var _Y=EY;function LY(e){return this.__data__.has(e)}var TY=LY,OY=200;function NY(e,t){var r=this.__data__;if(r instanceof Mo){var i=r.__data__;if(!sn||i.length<OY-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Af(i)}return r.set(e,t),this.size=r.size,this}var DY=NY;function pn(e){var t=this.__data__=new Mo(e);this.size=t.size}pn.prototype.clear=MY;pn.prototype.delete=$Y;pn.prototype.get=_Y;pn.prototype.has=TY;pn.prototype.set=DY;var PY=Object.prototype,cte=PY.propertyIsEnumerable,zY=sr(le,"DataView"),Kl=zY,UY=sr(le,"Promise"),Jl=UY,RY=sr(le,"Set"),Xl=RY,G1="[object Map]",FY="[object Object]",Y1="[object Promise]",H1="[object Set]",Z1="[object WeakMap]",Q1="[object DataView]",VY=qe(Kl),BY=qe(sn),qY=qe(Jl),GY=qe(Xl),YY=qe(Wl),ir=dn;(Kl&&ir(new Kl(new ArrayBuffer(1)))!=Q1||sn&&ir(new sn)!=G1||Jl&&ir(Jl.resolve())!=Y1||Xl&&ir(new Xl)!=H1||Wl&&ir(new Wl)!=Z1)&&(ir=function(e){var t=dn(e),r=t==FY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case VY:return Q1;case BY:return G1;case qY:return Y1;case GY:return H1;case YY:return Z1}return t});var dte=le.Uint8Array,HY="__lodash_hash_undefined__";function ZY(e){return this.__data__.set(e,HY),this}var QY=ZY;function WY(e){return this.__data__.has(e)}var KY=WY;function es(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Af;++t<r;)this.add(e[t])}es.prototype.add=es.prototype.push=QY;es.prototype.has=KY;var W1=ar?ar.prototype:void 0,pte=W1?W1.valueOf:void 0,JY=Object.prototype,gte=JY.hasOwnProperty,XY=Object.prototype,fte=XY.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");async function Sf(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 eH(e,t){let r=await Sf(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 tH(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 Sf(i,t)}function rH(e){return e!==void 0}var iH=rH;function us(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 gn(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function fn(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 Mf=class jf{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 jf),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))}},nH=class $f{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new $f),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 oH(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 g=t[l],p=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return g(u,y,p)},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 aH({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 lH=aH,Gl="ly.img.ai.temp";async function sH(e,t){return e.engine.asset.findAllSources().includes(Gl)||e.engine.asset.addLocalSource(Gl),e.engine.asset.apply(Gl,t)}function uH(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 Ef(){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 cH(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 dH(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 cs(e){return e instanceof Error&&e.name==="AbortError"}function pH(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function gH(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 fH(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 yH=fH;function mH(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),bH(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:uH(e)}))}function bH(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 K1=mH,hH="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",ds=hH;function vH(e,t,r){switch(t){case"image":return wH(e,r[t]);case"video":return kH(e,r[t]);case"sticker":return xH(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function wH(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:ds,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function kH(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:ds,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function xH(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:ds,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var IH=vH;async function CH(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 AH(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 SH(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 MH(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 jH(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function AH(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 SH(e,t,r){let i=t.width,n=t.height,a=await cH(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 MH(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 jH(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 _f=CH;function $H(e){switch(e.userFlow){case"placeholder":return _H(e);case"generation-only":return EH(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function EH(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(Me(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(Me(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(Me(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=Ef(),c=await _f(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 _H(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(Me(t,r))return{status:"aborted"};let s=Ef(),c=IH(s,a,o);if(i=await sH(t,c),Me(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}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(Me(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 _f(s,a,o,l.output);if(Me(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),Me(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)&&(cs(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 Me(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var LH=$H;function ps(e){return`${e}.generating`}function TH(e){return`${e}.abort`}function OH(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:g}}=t,p=c.global(TH(d),()=>{}),y=c.global(ps(d),!1),f,m=y.value&&g,v=()=>{m&&(p.value(),y.setValue(!1),p.setValue(()=>{}))},k;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let x=i();k=a.requiredInputs.every(b=>!x.input[b])}let w=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:y.value,color:"accent",isDisabled:k,suffix:m?{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:b})=>{l.ui.closeDialog(b),w.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:b})=>{v(),l.ui.closeDialog(b),w.setValue(void 0)}}});w.setValue(x)}}:void 0,onClick:async()=>{f=new AbortController;let x=f.signal;await(async()=>{try{y.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let b=await LH({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(b.status==="aborted")return;if(b.status==="error"){K1(b.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:b.middlewareOptions});return}if(b.status==="success"&&b.type==="sync"&&!b.middlewareOptions?.defaultPrevented()){let I=t.output.notification;NH(l,I,()=>({input:i().input,output:b.output}))}}catch(b){if(cs(b))return;K1(b,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,y.setValue(!1),p.setValue(()=>{}),w.value!=null&&(l.ui.closeDialog(w.value),w.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 NH(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=OH;function ts(e){let{name:t}=e;return(typeof t=="function"?t():t)??e.id}async function DH({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(ps(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(c,{cesdk:a,isGenerating:u});return Lf(c,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var PH=DH;function Tf(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 tn(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=Tf(e,t.$ref),n={...tn(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=tn(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>tn(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=tn(e,t[n],r));return i}return t}function zH(e){return tn(e,{...e})}function UH(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 RH(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return FH(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function FH(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=VH(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function VH(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 Of=RH;function je(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 Nf(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?BH(e,c,r,i,n,a,o,s):Pf(e,c,r,i,n,a,o,s);case"boolean":return zf(e,c,r,i,n,a,o,s);case"number":case"integer":return Uf(e,c,r,i,n,a,o,s);case"object":return rs(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 qH(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function rs(e,t,r,i,n,a,o,s){let c=Of(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,g=`${r.id}.${d}`,p=je(t,r,o),y=je(t,r,o,"placeholder"),f=gn(u,n.cesdk),m=s?.properties?.[d]??a.properties?.[d],v=fn(d,m,f,t.schema.default,""),k=l(g,v),w=GH(t.schema),x=w?.component!=null&&w?.component==="TextArea"?"TextArea":"TextInput",b=y.length>0?y:void 0;return c[x](g,{inputLabel:p,...b&&{placeholder:b},...k}),()=>({id:t.id,type:"string",value:k.value})}function BH(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=je(t,r,o),{labels:y,icons:f}=Nf(t.schema),m=(t.schema.enum??[]).map(I=>({id:I,label:je(t,r,o,I),icon:f[I]})),v=gn(u,n.cesdk),k=s?.properties?.[d]??a.properties?.[d],w=fn(d,k,v,t.schema.default,m[0]?.id),x=w!=null?m.find(I=>I.id===w)??m[0]:m[0],b=l(g,x);return c.Select(g,{inputLabel:p,values:m,...b}),()=>({id:t.id,type:"string",value:b.value.id})}function zf(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=je(t,r,o),y=gn(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],m=!!fn(d,f,y,t.schema.default,!1),v=l(g,m);return c.Checkbox(g,{inputLabel:p,...v}),()=>({id:t.id,type:"boolean",value:v.value})}function Uf(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=je(t,r,o),y=t.schema.minimum,f=t.schema.maximum,m=gn(u,n.cesdk),v=s?.properties?.[d]??a.properties?.[d],k=t.schema.default;k==null&&(y!=null?k=y:f!=null?k=f:k=0);let w=fn(d,v,m,k,k),x=l(g,w);if(y!=null&&f!=null){let b=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(b=t.schema["x-imgly-step"]),c.Slider(g,{inputLabel:p,min:y,max:f,step:b,...x})}else c.NumberInput(g,{inputLabel:p,min:y,max:f,...x});return()=>({id:t.id,type:"integer",value:x.value})}function qH(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,g=`${r.id}.${d}`,p=je(t,r,o),y=t.schema.anyOf??[],f=[],m={},v={},{labels:k,icons:w}=Nf(t.schema),x=gn(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],I={string:Pf,boolean:zf,integer:Uf,object:rs},S=(h,$)=>h.$ref?h.$ref.split("/").pop():$.split(".").pop()??$,A=(h,$)=>({id:h,label:je(t,r,o,$),icon:w[$]??w[h]});y.forEach((h,$)=>{let C=`${r.id}.${d}.anyOf[${$}]`;if(h.$ref||h.title){let M=h.$ref?h.$ref.split("/").pop():h.title;m[C]=()=>rs(e,{id:C,schema:{...h,title:k[M]||M}},r,i,n,a,o,s),f.push(A(C,M))}else if(h.type==="string"&&h.enum)h.enum.forEach(M=>{f.push(A(M,M))});else if(h.type&&I[h.type]){let M=I[h.type];m[C]=()=>M(e,{id:C,schema:{...h,title:h.title}},r,i,n,a,o,s);let q=S(h,C);f.push(h.type==="string"&&!h.enum?{id:C,label:h.title||q,icon:h.title&&w[h.title]||w[q]}:A(C,q))}});let _=fn(d,b,x,t.schema.default,null),j=_!=null?f.find(h=>h.id===_)??f[0]:f[0],E=l(g,j);if(c.Select(g,{inputLabel:p,values:f,...E}),E.value.id in m){let h=m[E.value.id]();v[E.value.id]=h}return()=>{let h=v[E.value.id];return h!=null?{...h(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function GH(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var YH=Df,HH={"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 J1(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function X1(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(g=>{let p=String(g),y=d[p]||J1(p);n[a(u,p)]=y})};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 g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,u);else if(g.$ref){let p=g.$ref.split("/").pop();p&&u[p]&&(n[a(l.id,p)]=u[p])}else if(g.title){let p=g.title,y=u[p]||J1(p);n[a(l.id,p)]=y}})}});let c={...HH,...n};Object.keys(c).length>0&&us(r.cesdk,{en:c})}function ef(e){return typeof e.document=="function"?e.document():e.document}function tf(e,t,r){let i=zH(e),n=Tf(i,t.inputReference);if(!UH(n,r))throw new Error(`Input reference '${t.inputReference}' does not resolve to a valid OpenAPI schema`);let a=n,o=Of(a,t);return{inputSchema:a,properties:o}}function rf(e,t,r,{options:i,provider:n,config:a,providerConfig:o},s){let{id:c}=n;return l=>{let{builder:u}=l,d=[];u.Section(`${c}.schema.section`,{children:()=>{t.forEach(f=>{let m=YH(l,f,n,r,i,a,n.kind,o);m!=null&&(Array.isArray(m)?d.push(...m):d.push(m))})}});let g=d.map(f=>f()),p=f=>f.type==="object"?Object.entries(f.value).reduce((m,[v,k])=>(m[v]=p(k),m),{}):f.value,y=g.reduce((f,m)=>(f[m.id]=p(m),f),{});Lf(l,n,s,()=>({input:y}),()=>r.getBlockInput(y),{...i,requiredInputs:e.required,createPlaceholderBlock:r.userFlow==="placeholder"},a)}}async function ZH(e,t){let{options:r,provider:i,panelInput:n,config:a}=e,{id:o}=i;if(n==null)return;let s=n;a.debug&&console.log(`Provider: ${o} (schema-based)`);let c=ef(s);if(!(c instanceof Promise)){let{inputSchema:p,properties:y}=tf(c,s,a.debug);return X1(y,i,r,i.kind),rf(p,y,s,e,t)}let l=null,u=null,d=`${o}.schema.loading`;function g(){l=null,u=null,r.cesdk.ui.experimental.setGlobalStateValue(d,!0),Promise.resolve(ef(s)).then(p=>{let{inputSchema:y,properties:f}=tf(p,s,a.debug);X1(f,i,r,i.kind),u=rf(y,f,s,e,t)}).catch(p=>{l=p instanceof Error?p:new Error(String(p))}).finally(()=>{r.cesdk.ui.experimental.setGlobalStateValue(d,!1)})}return g(),p=>{let{builder:y}=p;if(u!=null){u(p);return}if(l!=null){y.Section(`${o}.schema.error`,{children:()=>{y.Text(`${o}.schema.error.title`,{content:"ly.img.plugin-ai-generation-web.schema.error.title"}),y.Text(`${o}.schema.error.details`,{content:l.message}),y.Button(`${o}.schema.error.retry`,{label:"ly.img.plugin-ai-generation-web.schema.error.retry",onClick:()=>{g()}})}});return}y.Section(`${o}.schema.loading`,{children:()=>{y.Button(`${o}.schema.loading.indicator`,{label:"ly.img.plugin-ai-generation-web.schema.loading.label",isLoading:!0,isDisabled:!0})}})}}var QH=ZH;async function WH(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return PH(e,t);case"schema":return QH(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var KH=WH;function JH(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 rq(o,r)),o}return i}var XH=JH;function eZ(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 tZ=eZ,Yl="@imgly/plugin-ai-generation",rZ=`
|
|
@@ -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
|
-
`,SZ=AZ,MZ=typeof global=="object"&&global&&global.Object===Object&&global,Ff=MZ,jZ=typeof self=="object"&&self&&self.Object===Object&&self,$Z=Ff||jZ||Function("return this")(),se=$Z,EZ=se.Symbol,lr=EZ,Vf=Object.prototype,_Z=Vf.hasOwnProperty,LZ=Vf.toString,en=lr?lr.toStringTag:void 0;function TZ(e){var t=_Z.call(e,en),r=e[en];try{e[en]=void 0;var i=!0}catch{}var n=LZ.call(e);return i&&(t?e[en]=r:delete e[en]),n}var OZ=TZ,NZ=Object.prototype,DZ=NZ.toString;function PZ(e){return DZ.call(e)}var zZ=PZ,UZ="[object Null]",RZ="[object Undefined]",of=lr?lr.toStringTag:void 0;function FZ(e){return e==null?e===void 0?RZ:UZ:of&&of in Object(e)?OZ(e):zZ(e)}var yn=FZ;function VZ(e){return e!=null&&typeof e=="object"}var gs=VZ,hte=Array.isArray;function BZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Bf=BZ,qZ="[object AsyncFunction]",GZ="[object Function]",YZ="[object GeneratorFunction]",HZ="[object Proxy]";function ZZ(e){if(!Bf(e))return!1;var t=yn(e);return t==GZ||t==YZ||t==qZ||t==HZ}var QZ=ZZ,WZ=se["__core-js_shared__"],Zl=WZ,af=function(){var e=/[^.]+$/.exec(Zl&&Zl.keys&&Zl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function KZ(e){return!!af&&af in e}var JZ=KZ,XZ=Function.prototype,eQ=XZ.toString;function tQ(e){if(e!=null){try{return eQ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=tQ,rQ=/[\\^$.*+?()[\]{}|]/g,iQ=/^\[object .+?Constructor\]$/,nQ=Function.prototype,oQ=Object.prototype,aQ=nQ.toString,lQ=oQ.hasOwnProperty,sQ=RegExp("^"+aQ.call(lQ).replace(rQ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function uQ(e){if(!Bf(e)||JZ(e))return!1;var t=QZ(e)?sQ:iQ;return t.test(Ge(e))}var cQ=uQ;function dQ(e,t){return e?.[t]}var pQ=dQ;function gQ(e,t){var r=pQ(e,t);return cQ(r)?r:void 0}var pr=gQ,fQ=pr(se,"WeakMap"),is=fQ;function yQ(e,t){return e===t||e!==e&&t!==t}var mQ=yQ,bQ=9007199254740991;function hQ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=bQ}var vQ=hQ,vte=Object.prototype,wQ="[object Arguments]";function kQ(e){return gs(e)&&yn(e)==wQ}var lf=kQ,qf=Object.prototype,xQ=qf.hasOwnProperty,IQ=qf.propertyIsEnumerable,wte=lf(function(){return arguments}())?lf:function(e){return gs(e)&&xQ.call(e,"callee")&&!IQ.call(e,"callee")},Gf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sf=Gf&&typeof module=="object"&&module&&!module.nodeType&&module,CQ=sf&&sf.exports===Gf,uf=CQ?se.Buffer:void 0,kte=uf?uf.isBuffer:void 0,AQ="[object Arguments]",SQ="[object Array]",MQ="[object Boolean]",jQ="[object Date]",$Q="[object Error]",EQ="[object Function]",_Q="[object Map]",LQ="[object Number]",TQ="[object Object]",OQ="[object RegExp]",NQ="[object Set]",DQ="[object String]",PQ="[object WeakMap]",zQ="[object ArrayBuffer]",UQ="[object DataView]",RQ="[object Float32Array]",FQ="[object Float64Array]",VQ="[object Int8Array]",BQ="[object Int16Array]",qQ="[object Int32Array]",GQ="[object Uint8Array]",YQ="[object Uint8ClampedArray]",HQ="[object Uint16Array]",ZQ="[object Uint32Array]",B={};B[RQ]=B[FQ]=B[VQ]=B[BQ]=B[qQ]=B[GQ]=B[YQ]=B[HQ]=B[ZQ]=!0;B[AQ]=B[SQ]=B[zQ]=B[MQ]=B[UQ]=B[jQ]=B[$Q]=B[EQ]=B[_Q]=B[LQ]=B[TQ]=B[OQ]=B[NQ]=B[DQ]=B[PQ]=!1;function QQ(e){return gs(e)&&vQ(e.length)&&!!B[yn(e)]}var WQ=QQ;function KQ(e){return function(t){return e(t)}}var JQ=KQ,Yf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,an=Yf&&typeof module=="object"&&module&&!module.nodeType&&module,XQ=an&&an.exports===Yf,Ql=XQ&&Ff.process,eW=function(){try{var e=an&&an.require&&an.require("util").types;return e||Ql&&Ql.binding&&Ql.binding("util")}catch{}}(),cf=eW,df=cf&&cf.isTypedArray,xte=df?JQ(df):WQ,tW=Object.prototype,Ite=tW.hasOwnProperty;function rW(e,t){return function(r){return e(t(r))}}var iW=rW,Cte=iW(Object.keys,Object),nW=Object.prototype,Ate=nW.hasOwnProperty,oW=pr(Object,"create"),un=oW;function aW(){this.__data__=un?un(null):{},this.size=0}var lW=aW;function sW(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var uW=sW,cW="__lodash_hash_undefined__",dW=Object.prototype,pW=dW.hasOwnProperty;function gW(e){var t=this.__data__;if(un){var r=t[e];return r===cW?void 0:r}return pW.call(t,e)?t[e]:void 0}var fW=gW,yW=Object.prototype,mW=yW.hasOwnProperty;function bW(e){var t=this.__data__;return un?t[e]!==void 0:mW.call(t,e)}var hW=bW,vW="__lodash_hash_undefined__";function wW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=un&&t===void 0?vW:t,this}var kW=wW;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=lW;gr.prototype.delete=uW;gr.prototype.get=fW;gr.prototype.has=hW;gr.prototype.set=kW;var pf=gr;function xW(){this.__data__=[],this.size=0}var IW=xW;function CW(e,t){for(var r=e.length;r--;)if(mQ(e[r][0],t))return r;return-1}var $o=CW,AW=Array.prototype,SW=AW.splice;function MW(e){var t=this.__data__,r=$o(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():SW.call(t,r,1),--this.size,!0}var jW=MW;function $W(e){var t=this.__data__,r=$o(t,e);return r<0?void 0:t[r][1]}var EW=$W;function _W(e){return $o(this.__data__,e)>-1}var LW=_W;function TW(e,t){var r=this.__data__,i=$o(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var OW=TW;function fr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}fr.prototype.clear=IW;fr.prototype.delete=jW;fr.prototype.get=EW;fr.prototype.has=LW;fr.prototype.set=OW;var Eo=fr,NW=pr(se,"Map"),cn=NW;function DW(){this.size=0,this.__data__={hash:new pf,map:new(cn||Eo),string:new pf}}var PW=DW;function zW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var UW=zW;function RW(e,t){var r=e.__data__;return UW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var _o=RW;function FW(e){var t=_o(this,e).delete(e);return this.size-=t?1:0,t}var VW=FW;function BW(e){return _o(this,e).get(e)}var qW=BW;function GW(e){return _o(this,e).has(e)}var YW=GW;function HW(e,t){var r=_o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var ZW=HW;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=PW;yr.prototype.delete=VW;yr.prototype.get=qW;yr.prototype.has=YW;yr.prototype.set=ZW;var Hf=yr;function QW(){this.__data__=new Eo,this.size=0}var WW=QW;function KW(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var JW=KW;function XW(e){return this.__data__.get(e)}var eK=XW;function tK(e){return this.__data__.has(e)}var rK=tK,iK=200;function nK(e,t){var r=this.__data__;if(r instanceof Eo){var i=r.__data__;if(!cn||i.length<iK-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Hf(i)}return r.set(e,t),this.size=r.size,this}var oK=nK;function mn(e){var t=this.__data__=new Eo(e);this.size=t.size}mn.prototype.clear=WW;mn.prototype.delete=JW;mn.prototype.get=eK;mn.prototype.has=rK;mn.prototype.set=oK;var aK=Object.prototype,Ste=aK.propertyIsEnumerable,lK=pr(se,"DataView"),ns=lK,sK=pr(se,"Promise"),os=sK,uK=pr(se,"Set"),as=uK,gf="[object Map]",cK="[object Object]",ff="[object Promise]",yf="[object Set]",mf="[object WeakMap]",bf="[object DataView]",dK=Ge(ns),pK=Ge(cn),gK=Ge(os),fK=Ge(as),yK=Ge(is),nr=yn;(ns&&nr(new ns(new ArrayBuffer(1)))!=bf||cn&&nr(new cn)!=gf||os&&nr(os.resolve())!=ff||as&&nr(new as)!=yf||is&&nr(new is)!=mf)&&(nr=function(e){var t=yn(e),r=t==cK?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case dK:return bf;case pK:return gf;case gK:return ff;case fK:return yf;case yK:return mf}return t});var Mte=se.Uint8Array,mK="__lodash_hash_undefined__";function bK(e){return this.__data__.set(e,mK),this}var hK=bK;function vK(e){return this.__data__.has(e)}var wK=vK;function ls(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Hf;++t<r;)this.add(e[t])}ls.prototype.add=ls.prototype.push=hK;ls.prototype.has=wK;var hf=lr?lr.prototype:void 0,jte=hf?hf.valueOf:void 0,kK=Object.prototype,$te=kK.hasOwnProperty,xK=Object.prototype,Ete=xK.hasOwnProperty,_te=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Lte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Tte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function IK(e){return e==null?[]:Array.isArray(e)?e:[e]}var CK=IK;function AK(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function SK(e){return typeof e?.translate=="function"}function MK(e,t,r){return e&&AK(e)&&SK(e.i18n)?e.i18n.translate(t):r}var nn="@imgly/plugin-ai-sticker-generation-web",Se="ly.img.ai.sticker-generation";function jK(e){return{async initialize({cesdk:t}){if(t==null)return;gH(t,nn,"1.73.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=Mf.get(),i=`${nn}.action.label`;t.ui.addIconSet(CZ,SZ),us(t,{en:{[`panel.${Se}`]:"Sticker Generation",[`${Se}.dock.label`]:"AI Sticker",[i]:"Generate Sticker"}});let n=r.register({type:"plugin",sceneMode:"Design",id:nn,pluginId:nn,label:MK(t,i,"Generate Sticker"),labelKey:i,meta:{panelId:Se},execute:()=>{t.ui.isPanelOpen(Se)?t.ui.closePanel(Se):t.ui.openPanel(Se)}}),a=e.providers?.text2sticker,o=await Promise.all(CK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await IZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Se,s.panel.builderRenderFunction),yH({cesdk:t,panelId:Se})):n()}}}var $K=jK,EK=e=>({name:nn,version:"1.73.0-rc.3",...$K(e)}),Zf=EK;var fs=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,g=[...this.getCurrentAssets()];if(c&&c.length>0&&(g=g.filter(w=>w.groups&&c.some(x=>w.groups?.includes(x)))),l&&l.length>0&&(g=g.filter(w=>!w.groups||!l.some(x=>w.groups?.includes(x)))),o){let w=o.toLowerCase();g=g.filter(x=>{let b=x.label?.[n]?.toLowerCase(),I=x.tags?.[n]||[];return b&&b.includes(w)||I.some(S=>S.toLowerCase().includes(w))})}if(s&&s.length>0){let w=Array.isArray(s)?s:[s];g=g.filter(x=>{let b=x.tags?.[n]||[];return w.some(I=>b.includes(I))})}a&&g.sort((w,x)=>{let b=this.activeAssetIds.has(w.id),I=this.activeAssetIds.has(x.id);return b&&!I?-1:!b&&I?1:0}),d&&d!=="id"?g.sort((w,x)=>{let b=w.meta?.[d],I=x.meta?.[d];return b===void 0?1:I===void 0?-1:typeof b=="string"&&typeof I=="string"?u==="Descending"?I.localeCompare(b):b.localeCompare(I):typeof b=="number"&&typeof I=="number"?u==="Descending"?I-b:b-I:0}):d==="id"&&g.sort((w,x)=>u==="Descending"?x.id.localeCompare(w.id):w.id.localeCompare(x.id));let p=g.length,y=r*i,f=y+i,v=g.slice(y,f).map(w=>({id:w.id,groups:w.groups,meta:w.meta,payload:w.payload,locale:n,label:w.label?.[n],tags:w.tags?.[n],active:this.activeAssetIds.has(w.id)})),k=f<p?r+1:void 0;return{assets:v,currentPage:r,nextPage:k,total:p}}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=_K(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 Qf(e,t,r=[]){return new fs(e,t,r)}function _K(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 bn="ly.img.ai.apps";var Y=au("apps"),LK=512,TK=128,Wf=e=>({async initialize({cesdk:t}){if(t==null)return;lu(t,bn,"1.73.0-rc.3");let{providers:r}=e;await t.addPlugin(D1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Tc({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Qd({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(cg({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Zf({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),zK(t),OK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function OK(e,t){PK(e);let r=NK(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(Y,({builder:a})=>{a.Library(Y,{entries:[Y],onSelect:async o=>{Cn.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?Cn.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(g=>{g.startsWith("ly.img.ai.")&&g!==l&&e.ui.closePanel(g),!u&&g==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(g)}),c!=null?c.execute():u?e.ui.closePanel(Y):e.ui.openPanel(Y)}})})}function NK(e,t){let r=Cn.get(),i=Qf(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?DK(t.baseURL,o):void 0,width:LK,height:TK}}).filter(Ds)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function DK(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 PK(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(m=>typeof m!="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(m=>{let v=e.ui.getAssetLibraryEntry(m);if(v==null)return!1;if(u==null)return!0;let k=v.sceneMode;return typeof k=="string"?v.sceneMode===u||v.sceneMode==="All":typeof k=="function"?(typeof v.sourceIds=="function"?v.sourceIds({cesdk:e,engine:r}):v.sourceIds).some(x=>{let b=k(e.version.startsWith("1.51.")?x:{sourceId:x});return b===u||b==="All"}):!0});if(d.length===0)return;let g=s;g==null&&(g=`libraries.${a}.label`);let p=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:g}}),y=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:g,icon:f,isDisabled:y,isSelected:p,onClick:()=>{p?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(m=>{(m===Y||m.startsWith("ly.img.ai."))&&e.ui.closePanel(m)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:g}}))}})})}function zK(e){nu(e,su)}var UK=e=>({name:bn,version:"1.73.0-rc.3",...Wf(e)}),Jte=UK;export{Jte as default};
|
|
665
|
+
`,SZ=AZ,MZ=typeof global=="object"&&global&&global.Object===Object&&global,Ff=MZ,jZ=typeof self=="object"&&self&&self.Object===Object&&self,$Z=Ff||jZ||Function("return this")(),se=$Z,EZ=se.Symbol,lr=EZ,Vf=Object.prototype,_Z=Vf.hasOwnProperty,LZ=Vf.toString,en=lr?lr.toStringTag:void 0;function TZ(e){var t=_Z.call(e,en),r=e[en];try{e[en]=void 0;var i=!0}catch{}var n=LZ.call(e);return i&&(t?e[en]=r:delete e[en]),n}var OZ=TZ,NZ=Object.prototype,DZ=NZ.toString;function PZ(e){return DZ.call(e)}var zZ=PZ,UZ="[object Null]",RZ="[object Undefined]",of=lr?lr.toStringTag:void 0;function FZ(e){return e==null?e===void 0?RZ:UZ:of&&of in Object(e)?OZ(e):zZ(e)}var yn=FZ;function VZ(e){return e!=null&&typeof e=="object"}var gs=VZ,hte=Array.isArray;function BZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Bf=BZ,qZ="[object AsyncFunction]",GZ="[object Function]",YZ="[object GeneratorFunction]",HZ="[object Proxy]";function ZZ(e){if(!Bf(e))return!1;var t=yn(e);return t==GZ||t==YZ||t==qZ||t==HZ}var QZ=ZZ,WZ=se["__core-js_shared__"],Zl=WZ,af=function(){var e=/[^.]+$/.exec(Zl&&Zl.keys&&Zl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function KZ(e){return!!af&&af in e}var JZ=KZ,XZ=Function.prototype,eQ=XZ.toString;function tQ(e){if(e!=null){try{return eQ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=tQ,rQ=/[\\^$.*+?()[\]{}|]/g,iQ=/^\[object .+?Constructor\]$/,nQ=Function.prototype,oQ=Object.prototype,aQ=nQ.toString,lQ=oQ.hasOwnProperty,sQ=RegExp("^"+aQ.call(lQ).replace(rQ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function uQ(e){if(!Bf(e)||JZ(e))return!1;var t=QZ(e)?sQ:iQ;return t.test(Ge(e))}var cQ=uQ;function dQ(e,t){return e?.[t]}var pQ=dQ;function gQ(e,t){var r=pQ(e,t);return cQ(r)?r:void 0}var pr=gQ,fQ=pr(se,"WeakMap"),is=fQ;function yQ(e,t){return e===t||e!==e&&t!==t}var mQ=yQ,bQ=9007199254740991;function hQ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=bQ}var vQ=hQ,vte=Object.prototype,wQ="[object Arguments]";function kQ(e){return gs(e)&&yn(e)==wQ}var lf=kQ,qf=Object.prototype,xQ=qf.hasOwnProperty,IQ=qf.propertyIsEnumerable,wte=lf(function(){return arguments}())?lf:function(e){return gs(e)&&xQ.call(e,"callee")&&!IQ.call(e,"callee")},Gf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sf=Gf&&typeof module=="object"&&module&&!module.nodeType&&module,CQ=sf&&sf.exports===Gf,uf=CQ?se.Buffer:void 0,kte=uf?uf.isBuffer:void 0,AQ="[object Arguments]",SQ="[object Array]",MQ="[object Boolean]",jQ="[object Date]",$Q="[object Error]",EQ="[object Function]",_Q="[object Map]",LQ="[object Number]",TQ="[object Object]",OQ="[object RegExp]",NQ="[object Set]",DQ="[object String]",PQ="[object WeakMap]",zQ="[object ArrayBuffer]",UQ="[object DataView]",RQ="[object Float32Array]",FQ="[object Float64Array]",VQ="[object Int8Array]",BQ="[object Int16Array]",qQ="[object Int32Array]",GQ="[object Uint8Array]",YQ="[object Uint8ClampedArray]",HQ="[object Uint16Array]",ZQ="[object Uint32Array]",B={};B[RQ]=B[FQ]=B[VQ]=B[BQ]=B[qQ]=B[GQ]=B[YQ]=B[HQ]=B[ZQ]=!0;B[AQ]=B[SQ]=B[zQ]=B[MQ]=B[UQ]=B[jQ]=B[$Q]=B[EQ]=B[_Q]=B[LQ]=B[TQ]=B[OQ]=B[NQ]=B[DQ]=B[PQ]=!1;function QQ(e){return gs(e)&&vQ(e.length)&&!!B[yn(e)]}var WQ=QQ;function KQ(e){return function(t){return e(t)}}var JQ=KQ,Yf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,an=Yf&&typeof module=="object"&&module&&!module.nodeType&&module,XQ=an&&an.exports===Yf,Ql=XQ&&Ff.process,eW=function(){try{var e=an&&an.require&&an.require("util").types;return e||Ql&&Ql.binding&&Ql.binding("util")}catch{}}(),cf=eW,df=cf&&cf.isTypedArray,xte=df?JQ(df):WQ,tW=Object.prototype,Ite=tW.hasOwnProperty;function rW(e,t){return function(r){return e(t(r))}}var iW=rW,Cte=iW(Object.keys,Object),nW=Object.prototype,Ate=nW.hasOwnProperty,oW=pr(Object,"create"),un=oW;function aW(){this.__data__=un?un(null):{},this.size=0}var lW=aW;function sW(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var uW=sW,cW="__lodash_hash_undefined__",dW=Object.prototype,pW=dW.hasOwnProperty;function gW(e){var t=this.__data__;if(un){var r=t[e];return r===cW?void 0:r}return pW.call(t,e)?t[e]:void 0}var fW=gW,yW=Object.prototype,mW=yW.hasOwnProperty;function bW(e){var t=this.__data__;return un?t[e]!==void 0:mW.call(t,e)}var hW=bW,vW="__lodash_hash_undefined__";function wW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=un&&t===void 0?vW:t,this}var kW=wW;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=lW;gr.prototype.delete=uW;gr.prototype.get=fW;gr.prototype.has=hW;gr.prototype.set=kW;var pf=gr;function xW(){this.__data__=[],this.size=0}var IW=xW;function CW(e,t){for(var r=e.length;r--;)if(mQ(e[r][0],t))return r;return-1}var $o=CW,AW=Array.prototype,SW=AW.splice;function MW(e){var t=this.__data__,r=$o(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():SW.call(t,r,1),--this.size,!0}var jW=MW;function $W(e){var t=this.__data__,r=$o(t,e);return r<0?void 0:t[r][1]}var EW=$W;function _W(e){return $o(this.__data__,e)>-1}var LW=_W;function TW(e,t){var r=this.__data__,i=$o(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var OW=TW;function fr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}fr.prototype.clear=IW;fr.prototype.delete=jW;fr.prototype.get=EW;fr.prototype.has=LW;fr.prototype.set=OW;var Eo=fr,NW=pr(se,"Map"),cn=NW;function DW(){this.size=0,this.__data__={hash:new pf,map:new(cn||Eo),string:new pf}}var PW=DW;function zW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var UW=zW;function RW(e,t){var r=e.__data__;return UW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var _o=RW;function FW(e){var t=_o(this,e).delete(e);return this.size-=t?1:0,t}var VW=FW;function BW(e){return _o(this,e).get(e)}var qW=BW;function GW(e){return _o(this,e).has(e)}var YW=GW;function HW(e,t){var r=_o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var ZW=HW;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=PW;yr.prototype.delete=VW;yr.prototype.get=qW;yr.prototype.has=YW;yr.prototype.set=ZW;var Hf=yr;function QW(){this.__data__=new Eo,this.size=0}var WW=QW;function KW(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var JW=KW;function XW(e){return this.__data__.get(e)}var eK=XW;function tK(e){return this.__data__.has(e)}var rK=tK,iK=200;function nK(e,t){var r=this.__data__;if(r instanceof Eo){var i=r.__data__;if(!cn||i.length<iK-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Hf(i)}return r.set(e,t),this.size=r.size,this}var oK=nK;function mn(e){var t=this.__data__=new Eo(e);this.size=t.size}mn.prototype.clear=WW;mn.prototype.delete=JW;mn.prototype.get=eK;mn.prototype.has=rK;mn.prototype.set=oK;var aK=Object.prototype,Ste=aK.propertyIsEnumerable,lK=pr(se,"DataView"),ns=lK,sK=pr(se,"Promise"),os=sK,uK=pr(se,"Set"),as=uK,gf="[object Map]",cK="[object Object]",ff="[object Promise]",yf="[object Set]",mf="[object WeakMap]",bf="[object DataView]",dK=Ge(ns),pK=Ge(cn),gK=Ge(os),fK=Ge(as),yK=Ge(is),nr=yn;(ns&&nr(new ns(new ArrayBuffer(1)))!=bf||cn&&nr(new cn)!=gf||os&&nr(os.resolve())!=ff||as&&nr(new as)!=yf||is&&nr(new is)!=mf)&&(nr=function(e){var t=yn(e),r=t==cK?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case dK:return bf;case pK:return gf;case gK:return ff;case fK:return yf;case yK:return mf}return t});var Mte=se.Uint8Array,mK="__lodash_hash_undefined__";function bK(e){return this.__data__.set(e,mK),this}var hK=bK;function vK(e){return this.__data__.has(e)}var wK=vK;function ls(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Hf;++t<r;)this.add(e[t])}ls.prototype.add=ls.prototype.push=hK;ls.prototype.has=wK;var hf=lr?lr.prototype:void 0,jte=hf?hf.valueOf:void 0,kK=Object.prototype,$te=kK.hasOwnProperty,xK=Object.prototype,Ete=xK.hasOwnProperty,_te=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Lte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Tte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function IK(e){return e==null?[]:Array.isArray(e)?e:[e]}var CK=IK;function AK(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function SK(e){return typeof e?.translate=="function"}function MK(e,t,r){return e&&AK(e)&&SK(e.i18n)?e.i18n.translate(t):r}var nn="@imgly/plugin-ai-sticker-generation-web",Se="ly.img.ai.sticker-generation";function jK(e){return{async initialize({cesdk:t}){if(t==null)return;gH(t,nn,"1.73.1-rc.0"),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=Mf.get(),i=`${nn}.action.label`;t.ui.addIconSet(CZ,SZ),us(t,{en:{[`panel.${Se}`]:"Sticker Generation",[`${Se}.dock.label`]:"AI Sticker",[i]:"Generate Sticker"}});let n=r.register({type:"plugin",sceneMode:"Design",id:nn,pluginId:nn,label:MK(t,i,"Generate Sticker"),labelKey:i,meta:{panelId:Se},execute:()=>{t.ui.isPanelOpen(Se)?t.ui.closePanel(Se):t.ui.openPanel(Se)}}),a=e.providers?.text2sticker,o=await Promise.all(CK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await IZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Se,s.panel.builderRenderFunction),yH({cesdk:t,panelId:Se})):n()}}}var $K=jK,EK=e=>({name:nn,version:"1.73.1-rc.0",...$K(e)}),Zf=EK;var fs=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,g=[...this.getCurrentAssets()];if(c&&c.length>0&&(g=g.filter(w=>w.groups&&c.some(x=>w.groups?.includes(x)))),l&&l.length>0&&(g=g.filter(w=>!w.groups||!l.some(x=>w.groups?.includes(x)))),o){let w=o.toLowerCase();g=g.filter(x=>{let b=x.label?.[n]?.toLowerCase(),I=x.tags?.[n]||[];return b&&b.includes(w)||I.some(S=>S.toLowerCase().includes(w))})}if(s&&s.length>0){let w=Array.isArray(s)?s:[s];g=g.filter(x=>{let b=x.tags?.[n]||[];return w.some(I=>b.includes(I))})}a&&g.sort((w,x)=>{let b=this.activeAssetIds.has(w.id),I=this.activeAssetIds.has(x.id);return b&&!I?-1:!b&&I?1:0}),d&&d!=="id"?g.sort((w,x)=>{let b=w.meta?.[d],I=x.meta?.[d];return b===void 0?1:I===void 0?-1:typeof b=="string"&&typeof I=="string"?u==="Descending"?I.localeCompare(b):b.localeCompare(I):typeof b=="number"&&typeof I=="number"?u==="Descending"?I-b:b-I:0}):d==="id"&&g.sort((w,x)=>u==="Descending"?x.id.localeCompare(w.id):w.id.localeCompare(x.id));let p=g.length,y=r*i,f=y+i,v=g.slice(y,f).map(w=>({id:w.id,groups:w.groups,meta:w.meta,payload:w.payload,locale:n,label:w.label?.[n],tags:w.tags?.[n],active:this.activeAssetIds.has(w.id)})),k=f<p?r+1:void 0;return{assets:v,currentPage:r,nextPage:k,total:p}}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=_K(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 Qf(e,t,r=[]){return new fs(e,t,r)}function _K(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 bn="ly.img.ai.apps";var Y=au("apps"),LK=512,TK=128,Wf=e=>({async initialize({cesdk:t}){if(t==null)return;lu(t,bn,"1.73.1-rc.0");let{providers:r}=e;await t.addPlugin(D1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Tc({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Qd({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(cg({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Zf({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),zK(t),OK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function OK(e,t){PK(e);let r=NK(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(Y,({builder:a})=>{a.Library(Y,{entries:[Y],onSelect:async o=>{Cn.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?Cn.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(g=>{g.startsWith("ly.img.ai.")&&g!==l&&e.ui.closePanel(g),!u&&g==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(g)}),c!=null?c.execute():u?e.ui.closePanel(Y):e.ui.openPanel(Y)}})})}function NK(e,t){let r=Cn.get(),i=Qf(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?DK(t.baseURL,o):void 0,width:LK,height:TK}}).filter(Ds)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function DK(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 PK(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(m=>typeof m!="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(m=>{let v=e.ui.getAssetLibraryEntry(m);if(v==null)return!1;if(u==null)return!0;let k=v.sceneMode;return typeof k=="string"?v.sceneMode===u||v.sceneMode==="All":typeof k=="function"?(typeof v.sourceIds=="function"?v.sourceIds({cesdk:e,engine:r}):v.sourceIds).some(x=>{let b=k(e.version.startsWith("1.51.")?x:{sourceId:x});return b===u||b==="All"}):!0});if(d.length===0)return;let g=s;g==null&&(g=`libraries.${a}.label`);let p=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:g}}),y=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:g,icon:f,isDisabled:y,isSelected:p,onClick:()=>{p?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(m=>{(m===Y||m.startsWith("ly.img.ai."))&&e.ui.closePanel(m)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:g}}))}})})}function zK(e){nu(e,su)}var UK=e=>({name:bn,version:"1.73.1-rc.0",...Wf(e)}),Jte=UK;export{Jte as default};
|
|
666
666
|
/*! Bundled license information:
|
|
667
667
|
|
|
668
668
|
lodash-es/lodash.js:
|