@grapesjs/studio-sdk-plugins 1.0.28 → 1.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  2. package/dist/canvasAbsoluteMode/index.es.js +98 -97
  3. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  4. package/dist/canvasFullSize/index.cjs.js +8 -7
  5. package/dist/canvasFullSize/index.es.js +145 -138
  6. package/dist/canvasFullSize/index.umd.js +9 -8
  7. package/dist/canvasFullSize/typesSchema.d.ts +5 -0
  8. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  9. package/dist/googleFontsAssetProvider/index.es.js +11 -11
  10. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  11. package/dist/iconifyComponent/index.cjs.js +2 -2
  12. package/dist/iconifyComponent/index.es.js +13 -13
  13. package/dist/iconifyComponent/index.umd.js +2 -2
  14. package/dist/index.cjs.d.ts +1 -0
  15. package/dist/index.cjs.js +192 -95
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.es.d.ts +1 -0
  18. package/dist/index.es.js +7577 -7242
  19. package/dist/index.umd.js +192 -95
  20. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  21. package/dist/layoutSidebarButtons/index.es.js +156 -154
  22. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  23. package/dist/presetPrintable/index.cjs.js +4 -4
  24. package/dist/presetPrintable/index.es.js +59 -59
  25. package/dist/presetPrintable/index.umd.js +1 -1
  26. package/dist/prosemirror/index.cjs.js +5 -5
  27. package/dist/prosemirror/index.es.js +100 -100
  28. package/dist/prosemirror/index.umd.js +1 -1
  29. package/dist/rteTinyMce/index.cjs.js +2 -2
  30. package/dist/rteTinyMce/index.es.js +10 -10
  31. package/dist/rteTinyMce/index.umd.js +1 -1
  32. package/dist/shapeDividerComponent/index.cjs.d.ts +3 -0
  33. package/dist/shapeDividerComponent/index.cjs.js +97 -0
  34. package/dist/shapeDividerComponent/index.d.ts +3 -0
  35. package/dist/shapeDividerComponent/index.es.d.ts +3 -0
  36. package/dist/shapeDividerComponent/index.es.js +427 -0
  37. package/dist/shapeDividerComponent/index.umd.js +97 -0
  38. package/dist/shapeDividerComponent/shared.d.ts +3 -0
  39. package/dist/shapeDividerComponent/types.d.ts +10 -0
  40. package/dist/shapeDividerComponent/typesSchema.d.ts +9 -0
  41. package/dist/swiperComponent/index.cjs.js +9 -9
  42. package/dist/swiperComponent/index.es.js +130 -122
  43. package/dist/swiperComponent/index.umd.js +5 -5
  44. package/dist/tableComponent/index.cjs.js +1 -1
  45. package/dist/tableComponent/index.es.js +9 -9
  46. package/dist/tableComponent/index.umd.js +1 -1
  47. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  48. package/dist/youtubeAssetProvider/index.es.js +34 -34
  49. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  50. package/package.json +2 -2
@@ -1 +1 @@
1
- "use strict";var L=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(L||{}),P=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.projectFiles="studio:projectFiles",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(P||{}),R=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(R||{});const D="app.grapesjs.com",M="app-stage.grapesjs.com",U="app2.grapesjs.com",N="app-stage2.grapesjs.com",B=[D,U,M,N,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],_="license:check:start",$="license:check:end",H=()=>typeof window<"u",j=({isDev:e,isStage:t})=>`${e?"":`https://${t?M:D}`}/api`,W=()=>{const e=H()&&window.location.hostname;return!!e&&(B.includes(e)||B.some(t=>e.endsWith(t)))};async function K({path:e,baseApiUrl:t,method:n="GET",headers:l={},params:c,body:b}){const y=`${t||j({isDev:!1,isStage:!1})}${e}`,r={method:n,headers:{"Content-Type":"application/json",...l}};b&&(r.body=JSON.stringify(b));const s=c?new URLSearchParams(c).toString():"",a=s?`?${s}`:"",g=await fetch(`${y}${a}`,r);if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);return g.json()}const k={[L.free]:0,[L.startup]:10,[L.business]:20,[L.enterprise]:30};function V(e){const t=e;return t.init=n=>l=>e(l,n),t}const F=e=>V(e);async function q({editor:e,plan:t,pluginName:n,licenseKey:l,cleanup:c}){let b="",p=!1;const y=W(),r=a=>{console.warn("Cleanup plugin:",n,"Reason:",a),c()},s=(a={})=>{var i;const{error:g,sdkLicense:v}=a,o=(i=a.plan)==null?void 0:i.category;if(!(v||a.license)||g)r(g||"Invalid license");else if(o){const f=k[t],d=k[o];f>d&&r({pluginRequiredPlan:t,licensePlan:o})}};e.on(_,a=>{b=a==null?void 0:a.baseApiUrl,p=!0}),e.on($,a=>{s(a)}),setTimeout(async()=>{if(!p){if(y)return;if(l){const a=await Z({licenseKey:l,pluginName:n,baseApiUrl:b});a&&s(a)}else r("The `licenseKey` option not provided")}},2e3)}async function Z(e){const{licenseKey:t,pluginName:n,baseApiUrl:l}=e;try{return(await K({baseApiUrl:l,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var h=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e))(h||{});const G="sidebarButtonsTarget",A=e=>{const{id:t,icon:n,label:l,tooltip:c,className:b,skipSelfClose:p,removeLayouts:y,layoutComponent:r,layoutCommand:s}=e,a=t;return{id:I(t),type:"button",icon:n,tooltip:l||c,className:b,editorEvents:{[`${R.layoutToggleId}${a}`]:({fromEvent:g,setState:v,editor:o})=>{v({active:g.isOpen}),setTimeout(()=>o.refresh({tools:!0}),20)}},onClick:({editor:g,state:v})=>{if(v.active&&p)return;const o=(s==null?void 0:s.placer)||{type:"static",layoutId:G},u={...o,skipCleanup:o.type==="static"},i=y||Object.keys(h).filter(d=>d!==a);x(g,{removeLayouts:i,layout:{placer:u}});const f={id:a,placer:o,header:(s==null?void 0:s.header)??{label:l,close:!p},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...s==null?void 0:s.style}};g.runCommand(P.layoutToggle,f)}}},I=e=>`button__${e}`,x=(e,t={})=>{(t.removeLayouts||Object.keys(h)).forEach(l=>e.runCommand(P.layoutRemove,{id:l,layout:t.layout}))},S=e=>{const t=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,l={breakpointTablet:t,breakpointMobile:n},c={},b=[{id:h.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:h.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:h.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:h.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:o,editor:u})=>{var d;const i=u.getSelected(),f={type:"image",src:o.src};if(i!=null&&i.is("image"))return i.set("src",o.src);if(i&&u.Components.canMove(i,f)){const T=i.append(f)[0];T&&u.select(T)}else if(!i){const T=(d=u.getWrapper())==null?void 0:d.append(f)[0];T&&u.select(T)}}}}],p=[...b,{id:h.panelSidebarTabs,layoutCommand:{header:!1},icon:'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.4-.2-.7-.4-1-.2-.3-.4-.6-.4-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Z"/></svg>',label:"Styles & Props",layoutComponent:{type:"panelSidebarTabs"}}],y={id:G,type:"column",style:{overflow:"hidden"}},r={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},s={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},a=(o,u)=>{const i=o.map(d=>{const T=A(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:h,breakpoint:u,buttonProps:T,sidebarButtonProps:d,...l,createSidebarButton:E=>A({...d,...E})}):T}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:h,breakpoint:u,sidebarButtons:i,...l,createSidebarButton:d=>A({...d})}):i).filter(Boolean)},g=(o,u,i)=>{var f;return((f=e==null?void 0:e.rootLayout)==null?void 0:f.call(e,{breakpoint:i,sidebarButtons:u,rootLayout:o,layoutSidebarLeft:r,layoutSidebarTarget:y,...l,createSidebarButton:d=>A({...d})}))??o};if(t){const o=a(p,t);c[t]=g({type:"row",style:{height:"100%"},children:[{...r,children:o},y,s]},o,t)}if(n){const o=p.map(i=>({...i,layoutCommand:{placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}}})),u=a(o,n);c[n]=g({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:u}]},u,n)}const v=a(b,0);return{default:g({type:"row",style:{height:"100%"},children:[{...r,children:v},y,s,{type:"sidebarRight"}]},v,0),responsive:c}},w="layoutSidebarButtons",z=L.free,J=function(e,t={}){const{Commands:n}=e,l=n.events,c={...t};(()=>{if(e.runCommand(P.layoutConfigGet)||c.skipLayoutConfig===!0)return;const y=S(c);e.runCommand(P.layoutConfigSet,{...y})})(),n.add(`${w}:toggleButton`,(p,y,r)=>{const s=document.getElementById(I(r==null?void 0:r.id));s==null||s.click()}),e.on(`${l.runCommand}core:preview`,()=>{x(e)}),q({editor:e,licenseKey:c.licenseKey,plan:z,pluginName:w,cleanup:()=>{e.runCommand(P.layoutConfigSet)}})},O=F(J);O.createLayoutConfig=e=>S(e);module.exports=O;
1
+ "use strict";var L=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(L||{}),P=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(P||{}),D=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(D||{});const M="app.grapesjs.com",G="app-stage.grapesjs.com",N="app2.grapesjs.com",_="app-stage2.grapesjs.com",k=[M,N,G,_,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],$="license:check:start",H="license:check:end",j=()=>typeof window<"u",W=({isDev:e,isStage:t})=>`${e?"":`https://${t?G:M}`}/api`,K=()=>{const e=j()&&window.location.hostname;return!!e&&(k.includes(e)||k.some(t=>e.endsWith(t)))};async function V({path:e,baseApiUrl:t,method:l="GET",headers:i={},params:c,body:p}){const b=`${t||W({isDev:!1,isStage:!1})}${e}`,r={method:l,headers:{"Content-Type":"application/json",...i}};p&&(r.body=JSON.stringify(p));const o=c?new URLSearchParams(c).toString():"",a=o?`?${o}`:"",u=await fetch(`${b}${a}`,r);if(!u.ok)throw new Error(`HTTP error! status: ${u.status}`);return u.json()}const w={[L.free]:0,[L.startup]:10,[L.business]:20,[L.enterprise]:30};function F(e){const t=e;return t.init=l=>i=>e(i,l),t}const q=e=>F(e);async function C({editor:e,plan:t,pluginName:l,licenseKey:i,cleanup:c}){let p="",f=!1;const b=K(),r=a=>{console.warn("Cleanup plugin:",l,"Reason:",a),c()},o=(a={})=>{var n;const{error:u,sdkLicense:T}=a,s=(n=a.plan)==null?void 0:n.category;if(!(T||a.license)||u)r(u||"Invalid license");else if(s){const d=w[t],v=w[s];d>v&&r({pluginRequiredPlan:t,licensePlan:s})}};e.on($,a=>{p=a==null?void 0:a.baseApiUrl,f=!0}),e.on(H,a=>{o(a)}),setTimeout(async()=>{if(!f){if(b)return;if(i){const a=await Z({licenseKey:i,pluginName:l,baseApiUrl:p});a&&o(a)}else r("The `licenseKey` option not provided")}},2e3)}async function Z(e){const{licenseKey:t,pluginName:l,baseApiUrl:i}=e;try{return(await V({baseApiUrl:i,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:l}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var h=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e))(h||{});const I="sidebarButtonsTarget",A=e=>{const{id:t,icon:l,label:i,tooltip:c,className:p,skipSelfClose:f,removeLayouts:b,layoutComponent:r,layoutCommand:o}=e,a=t;return{id:x(t),type:"button",icon:l,tooltip:i||c,className:p,editorEvents:{[`${D.layoutToggleId}${a}`]:({fromEvent:u,setState:T,editor:s})=>{T({active:u.isOpen}),setTimeout(()=>s.refresh({tools:!0}),20)}},onClick:({editor:u,state:T})=>{if(T.active&&f)return;const s=(o==null?void 0:o.placer)||{type:"static",layoutId:I},g={...s,skipCleanup:s.type==="static"},n=b||Object.keys(h).filter(v=>v!==a);O(u,{removeLayouts:n,layout:{placer:g}});const d={id:a,placer:s,header:(o==null?void 0:o.header)??{label:i,close:!f},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...o==null?void 0:o.style}};u.runCommand(P.layoutToggle,d)}}},x=e=>`button__${e}`,O=(e,t={})=>{(t.removeLayouts||Object.keys(h)).forEach(i=>e.runCommand(P.layoutRemove,{id:i,layout:t.layout}))},E=e=>{const t=(e==null?void 0:e.breakpointTablet)??1024,l=(e==null?void 0:e.breakpointMobile)??768,i={breakpointTablet:t,breakpointMobile:l},c={},p=[{id:h.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:h.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:h.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:h.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:s,editor:g})=>{var v;const n=g.getSelected(),d={type:"image",src:s.src};if(n!=null&&n.is("image"))return n.set("src",s.src);if(n&&g.Components.canMove(n,d)){const y=n.append(d)[0];y&&g.select(y)}else if(!n){const y=(v=g.getWrapper())==null?void 0:v.append(d)[0];y&&g.select(y)}}}}],f=[...p,{id:h.panelSidebarTabs,layoutCommand:{header:!1},icon:'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.4-.2-.7-.4-1-.2-.3-.4-.6-.4-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Z"/></svg>',label:"Styles & Props",layoutComponent:{type:"panelSidebarTabs"}}],b={id:I,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},r={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},o={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},a=(s,g,n)=>{const d=s.map(y=>{const B=A(y);return e!=null&&e.sidebarButton?e.sidebarButton({id:y.id,buttonIds:h,breakpoint:g,buttonProps:B,sidebarButtonProps:y,...i,createSidebarButton:U=>A({...y,...U})}):B}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:h,breakpoint:g,sidebarButtons:d,...i,createSidebarButton:y=>A({...y,layoutCommand:{...n==null?void 0:n.layoutCommand,...y.layoutCommand}})}):d).filter(Boolean)},u=(s,g,n)=>{var d;return((d=e==null?void 0:e.rootLayout)==null?void 0:d.call(e,{breakpoint:n,sidebarButtons:g,rootLayout:s,layoutSidebarLeft:r,layoutSidebarTarget:b,...i,createSidebarButton:v=>A({...v})}))??s};if(t){const s=a(f,t);c[t]=u({type:"row",style:{height:"100%"},children:[{...r,children:s},b,o]},s,t)}if(l){const s={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},g=f.map(d=>({...d,layoutCommand:s})),n=a(g,l,{layoutCommand:s});c[l]=u({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:n}]},n,l)}const T=a(p,0);return{default:u({type:"row",style:{height:"100%"},children:[{...r,children:T},b,o,{type:"sidebarRight"}]},T,0),responsive:c}},R="layoutSidebarButtons",z=L.free,J=function(e,t={}){const{Commands:l}=e,i=l.events,c={...t};(()=>{if(e.runCommand(P.layoutConfigGet)||c.skipLayoutConfig===!0)return;const b=E(c);e.runCommand(P.layoutConfigSet,{...b})})(),l.add(`${R}:toggleButton`,(f,b,r)=>{const o=document.getElementById(x(r==null?void 0:r.id));o==null||o.click()}),e.on(`${i.runCommand}core:preview`,()=>{O(e)}),C({editor:e,licenseKey:c.licenseKey,plan:z,pluginName:R,cleanup:()=>{e.runCommand(P.layoutConfigSet)}})},S=q(J);S.createLayoutConfig=e=>E(e);module.exports=S;
@@ -1,9 +1,9 @@
1
- var L = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(L || {}), P = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.projectFiles = "studio:projectFiles", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(P || {}), R = /* @__PURE__ */ ((e) => (e.layoutToggleId = "studio:layoutToggle:", e.toggleBlocksPanel = "studio:toggleBlocksPanel", e.pageSettingsUpdate = "studio:pageSettingsUpdate", e.toggleDataSourcesPreview = "studio:toggleDataSourcesPreview", e))(R || {});
2
- const D = "app.grapesjs.com", M = "app-stage.grapesjs.com", E = "app2.grapesjs.com", U = "app-stage2.grapesjs.com", B = [
3
- D,
4
- E,
1
+ var L = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(L || {}), P = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(P || {}), D = /* @__PURE__ */ ((e) => (e.layoutToggleId = "studio:layoutToggle:", e.toggleBlocksPanel = "studio:toggleBlocksPanel", e.pageSettingsUpdate = "studio:pageSettingsUpdate", e.toggleDataSourcesPreview = "studio:toggleDataSourcesPreview", e))(D || {});
2
+ const M = "app.grapesjs.com", G = "app-stage.grapesjs.com", U = "app2.grapesjs.com", N = "app-stage2.grapesjs.com", k = [
5
3
  M,
6
4
  U,
5
+ G,
6
+ N,
7
7
  "localhost",
8
8
  "127.0.0.1",
9
9
  ".local-credentialless.webcontainer.io",
@@ -12,87 +12,87 @@ const D = "app.grapesjs.com", M = "app-stage.grapesjs.com", E = "app2.grapesjs.c
12
12
  // For stackblitz.com demos
13
13
  "-sandpack.codesandbox.io"
14
14
  // For Sandpack demos
15
- ], N = "license:check:start", _ = "license:check:end", $ = () => typeof window < "u", H = ({ isDev: e, isStage: t }) => `${e ? "" : `https://${t ? M : D}`}/api`, j = () => {
16
- const e = $() && window.location.hostname;
17
- return !!e && (B.includes(e) || B.some((t) => e.endsWith(t)));
15
+ ], _ = "license:check:start", $ = "license:check:end", H = () => typeof window < "u", j = ({ isDev: e, isStage: t }) => `${e ? "" : `https://${t ? G : M}`}/api`, W = () => {
16
+ const e = H() && window.location.hostname;
17
+ return !!e && (k.includes(e) || k.some((t) => e.endsWith(t)));
18
18
  };
19
- async function W({
19
+ async function K({
20
20
  path: e,
21
21
  baseApiUrl: t,
22
- method: n = "GET",
23
- headers: l = {},
22
+ method: l = "GET",
23
+ headers: i = {},
24
24
  params: c,
25
- body: b
25
+ body: p
26
26
  }) {
27
- const y = `${t || H({ isDev: !1, isStage: !1 })}${e}`, r = {
28
- method: n,
27
+ const b = `${t || j({ isDev: !1, isStage: !1 })}${e}`, r = {
28
+ method: l,
29
29
  headers: {
30
30
  "Content-Type": "application/json",
31
- ...l
31
+ ...i
32
32
  }
33
33
  };
34
- b && (r.body = JSON.stringify(b));
35
- const s = c ? new URLSearchParams(c).toString() : "", a = s ? `?${s}` : "", g = await fetch(`${y}${a}`, r);
36
- if (!g.ok)
37
- throw new Error(`HTTP error! status: ${g.status}`);
38
- return g.json();
34
+ p && (r.body = JSON.stringify(p));
35
+ const o = c ? new URLSearchParams(c).toString() : "", a = o ? `?${o}` : "", u = await fetch(`${b}${a}`, r);
36
+ if (!u.ok)
37
+ throw new Error(`HTTP error! status: ${u.status}`);
38
+ return u.json();
39
39
  }
40
- const k = {
40
+ const w = {
41
41
  [L.free]: 0,
42
42
  [L.startup]: 10,
43
43
  [L.business]: 20,
44
44
  [L.enterprise]: 30
45
45
  };
46
- function K(e) {
46
+ function V(e) {
47
47
  const t = e;
48
- return t.init = (n) => (l) => e(l, n), t;
48
+ return t.init = (l) => (i) => e(i, l), t;
49
49
  }
50
- const V = (e) => /* @__PURE__ */ K(e);
51
- async function F({
50
+ const F = (e) => /* @__PURE__ */ V(e);
51
+ async function q({
52
52
  editor: e,
53
53
  plan: t,
54
- pluginName: n,
55
- licenseKey: l,
54
+ pluginName: l,
55
+ licenseKey: i,
56
56
  cleanup: c
57
57
  }) {
58
- let b = "", p = !1;
59
- const y = j(), r = (a) => {
60
- console.warn("Cleanup plugin:", n, "Reason:", a), c();
61
- }, s = (a = {}) => {
62
- var i;
63
- const { error: g, sdkLicense: v } = a, o = (i = a.plan) == null ? void 0 : i.category;
64
- if (!(v || a.license) || g)
65
- r(g || "Invalid license");
66
- else if (o) {
67
- const f = k[t], d = k[o];
68
- f > d && r({ pluginRequiredPlan: t, licensePlan: o });
58
+ let p = "", f = !1;
59
+ const b = W(), r = (a) => {
60
+ console.warn("Cleanup plugin:", l, "Reason:", a), c();
61
+ }, o = (a = {}) => {
62
+ var n;
63
+ const { error: u, sdkLicense: T } = a, s = (n = a.plan) == null ? void 0 : n.category;
64
+ if (!(T || a.license) || u)
65
+ r(u || "Invalid license");
66
+ else if (s) {
67
+ const d = w[t], v = w[s];
68
+ d > v && r({ pluginRequiredPlan: t, licensePlan: s });
69
69
  }
70
70
  };
71
- e.on(N, (a) => {
72
- b = a == null ? void 0 : a.baseApiUrl, p = !0;
73
- }), e.on(_, (a) => {
74
- s(a);
71
+ e.on(_, (a) => {
72
+ p = a == null ? void 0 : a.baseApiUrl, f = !0;
73
+ }), e.on($, (a) => {
74
+ o(a);
75
75
  }), setTimeout(async () => {
76
- if (!p) {
77
- if (y) return;
78
- if (l) {
79
- const a = await q({ licenseKey: l, pluginName: n, baseApiUrl: b });
80
- a && s(a);
76
+ if (!f) {
77
+ if (b) return;
78
+ if (i) {
79
+ const a = await C({ licenseKey: i, pluginName: l, baseApiUrl: p });
80
+ a && o(a);
81
81
  } else
82
82
  r("The `licenseKey` option not provided");
83
83
  }
84
84
  }, 2e3);
85
85
  }
86
- async function q(e) {
87
- const { licenseKey: t, pluginName: n, baseApiUrl: l } = e;
86
+ async function C(e) {
87
+ const { licenseKey: t, pluginName: l, baseApiUrl: i } = e;
88
88
  try {
89
- return (await W({
90
- baseApiUrl: l,
89
+ return (await K({
90
+ baseApiUrl: i,
91
91
  path: `/sdk/${t || "na"}`,
92
92
  method: "POST",
93
93
  params: {
94
94
  d: window.location.hostname,
95
- pn: n
95
+ pn: l
96
96
  }
97
97
  })).result || {};
98
98
  } catch (c) {
@@ -100,45 +100,45 @@ async function q(e) {
100
100
  }
101
101
  }
102
102
  var h = /* @__PURE__ */ ((e) => (e.panelBlocks = "panelBlocks", e.panelPagesLayers = "panelPagesLayers", e.panelGlobalStyles = "panelGlobalStyles", e.panelSidebarTabs = "panelSidebarTabs", e.panelAssets = "panelAssets", e.aiChatPanel = "aiChatPanel", e))(h || {});
103
- const G = "sidebarButtonsTarget", A = (e) => {
104
- const { id: t, icon: n, label: l, tooltip: c, className: b, skipSelfClose: p, removeLayouts: y, layoutComponent: r, layoutCommand: s } = e, a = t;
103
+ const I = "sidebarButtonsTarget", A = (e) => {
104
+ const { id: t, icon: l, label: i, tooltip: c, className: p, skipSelfClose: f, removeLayouts: b, layoutComponent: r, layoutCommand: o } = e, a = t;
105
105
  return {
106
- id: I(t),
106
+ id: x(t),
107
107
  type: "button",
108
- icon: n,
109
- tooltip: l || c,
110
- className: b,
108
+ icon: l,
109
+ tooltip: i || c,
110
+ className: p,
111
111
  editorEvents: {
112
- [`${R.layoutToggleId}${a}`]: ({ fromEvent: g, setState: v, editor: o }) => {
113
- v({ active: g.isOpen }), setTimeout(() => o.refresh({ tools: !0 }), 20);
112
+ [`${D.layoutToggleId}${a}`]: ({ fromEvent: u, setState: T, editor: s }) => {
113
+ T({ active: u.isOpen }), setTimeout(() => s.refresh({ tools: !0 }), 20);
114
114
  }
115
115
  },
116
- onClick: ({ editor: g, state: v }) => {
117
- if (v.active && p) return;
118
- const o = (s == null ? void 0 : s.placer) || {
116
+ onClick: ({ editor: u, state: T }) => {
117
+ if (T.active && f) return;
118
+ const s = (o == null ? void 0 : o.placer) || {
119
119
  type: "static",
120
- layoutId: G
121
- }, u = { ...o, skipCleanup: o.type === "static" }, i = y || Object.keys(h).filter((d) => d !== a);
122
- x(g, { removeLayouts: i, layout: { placer: u } });
123
- const f = {
120
+ layoutId: I
121
+ }, g = { ...s, skipCleanup: s.type === "static" }, n = b || Object.keys(h).filter((v) => v !== a);
122
+ O(u, { removeLayouts: n, layout: { placer: g } });
123
+ const d = {
124
124
  id: a,
125
- placer: o,
126
- header: (s == null ? void 0 : s.header) ?? { label: l, close: !p },
125
+ placer: s,
126
+ header: (o == null ? void 0 : o.header) ?? { label: i, close: !f },
127
127
  layout: r,
128
128
  style: {
129
129
  width: 280,
130
130
  height: "100%",
131
131
  borderRightWidth: 1,
132
- ...s == null ? void 0 : s.style
132
+ ...o == null ? void 0 : o.style
133
133
  }
134
134
  };
135
- g.runCommand(P.layoutToggle, f);
135
+ u.runCommand(P.layoutToggle, d);
136
136
  }
137
137
  };
138
- }, I = (e) => `button__${e}`, x = (e, t = {}) => {
139
- (t.removeLayouts || Object.keys(h)).forEach((l) => e.runCommand(P.layoutRemove, { id: l, layout: t.layout }));
140
- }, S = (e) => {
141
- const t = (e == null ? void 0 : e.breakpointTablet) ?? 1024, n = (e == null ? void 0 : e.breakpointMobile) ?? 768, l = { breakpointTablet: t, breakpointMobile: n }, c = {}, b = [
138
+ }, x = (e) => `button__${e}`, O = (e, t = {}) => {
139
+ (t.removeLayouts || Object.keys(h)).forEach((i) => e.runCommand(P.layoutRemove, { id: i, layout: t.layout }));
140
+ }, E = (e) => {
141
+ const t = (e == null ? void 0 : e.breakpointTablet) ?? 1024, l = (e == null ? void 0 : e.breakpointMobile) ?? 768, i = { breakpointTablet: t, breakpointMobile: l }, c = {}, p = [
142
142
  {
143
143
  id: h.panelBlocks,
144
144
  icon: "plusBox",
@@ -165,23 +165,23 @@ const G = "sidebarButtonsTarget", A = (e) => {
165
165
  type: "panelAssets",
166
166
  content: { itemsPerRow: 2, header: { addUrl: !1 } },
167
167
  style: { padding: 7 },
168
- onSelect: ({ assetProps: o, editor: u }) => {
169
- var d;
170
- const i = u.getSelected(), f = { type: "image", src: o.src };
171
- if (i != null && i.is("image"))
172
- return i.set("src", o.src);
173
- if (i && u.Components.canMove(i, f)) {
174
- const T = i.append(f)[0];
175
- T && u.select(T);
176
- } else if (!i) {
177
- const T = (d = u.getWrapper()) == null ? void 0 : d.append(f)[0];
178
- T && u.select(T);
168
+ onSelect: ({ assetProps: s, editor: g }) => {
169
+ var v;
170
+ const n = g.getSelected(), d = { type: "image", src: s.src };
171
+ if (n != null && n.is("image"))
172
+ return n.set("src", s.src);
173
+ if (n && g.Components.canMove(n, d)) {
174
+ const y = n.append(d)[0];
175
+ y && g.select(y);
176
+ } else if (!n) {
177
+ const y = (v = g.getWrapper()) == null ? void 0 : v.append(d)[0];
178
+ y && g.select(y);
179
179
  }
180
180
  }
181
181
  }
182
182
  }
183
- ], p = [
184
- ...b,
183
+ ], f = [
184
+ ...p,
185
185
  {
186
186
  id: h.panelSidebarTabs,
187
187
  layoutCommand: { header: !1 },
@@ -189,84 +189,86 @@ const G = "sidebarButtonsTarget", A = (e) => {
189
189
  label: "Styles & Props",
190
190
  layoutComponent: { type: "panelSidebarTabs" }
191
191
  }
192
- ], y = {
193
- id: G,
192
+ ], b = {
193
+ id: I,
194
194
  type: "column",
195
+ className: "gs-cmp-layout-sidebar-target",
195
196
  style: { overflow: "hidden" }
196
197
  }, r = {
197
198
  type: "sidebarLeft",
198
199
  resizable: !1,
199
200
  style: { padding: "10px 5px", alignItems: "center", width: 45, gap: 10 },
200
201
  children: []
201
- }, s = {
202
+ }, o = {
202
203
  type: "canvasSidebarTop",
203
204
  sidebarTop: {
204
205
  leftContainer: {
205
206
  buttons: []
206
207
  }
207
208
  }
208
- }, a = (o, u) => {
209
- const i = o.map((d) => {
210
- const T = A(d);
209
+ }, a = (s, g, n) => {
210
+ const d = s.map((y) => {
211
+ const B = A(y);
211
212
  return e != null && e.sidebarButton ? e.sidebarButton({
212
- id: d.id,
213
+ id: y.id,
213
214
  buttonIds: h,
214
- breakpoint: u,
215
- buttonProps: T,
216
- sidebarButtonProps: d,
217
- ...l,
218
- createSidebarButton: (O) => A({ ...d, ...O })
219
- }) : T;
215
+ breakpoint: g,
216
+ buttonProps: B,
217
+ sidebarButtonProps: y,
218
+ ...i,
219
+ createSidebarButton: (S) => A({ ...y, ...S })
220
+ }) : B;
220
221
  }).filter(Boolean);
221
222
  return (e != null && e.sidebarButtons ? e == null ? void 0 : e.sidebarButtons({
222
223
  buttonIds: h,
223
- breakpoint: u,
224
- sidebarButtons: i,
225
- ...l,
226
- createSidebarButton: (d) => A({ ...d })
227
- }) : i).filter(Boolean);
228
- }, g = (o, u, i) => {
229
- var f;
230
- return ((f = e == null ? void 0 : e.rootLayout) == null ? void 0 : f.call(e, {
231
- breakpoint: i,
232
- sidebarButtons: u,
233
- rootLayout: o,
224
+ breakpoint: g,
225
+ sidebarButtons: d,
226
+ ...i,
227
+ createSidebarButton: (y) => A({
228
+ ...y,
229
+ layoutCommand: {
230
+ ...n == null ? void 0 : n.layoutCommand,
231
+ ...y.layoutCommand
232
+ }
233
+ })
234
+ }) : d).filter(Boolean);
235
+ }, u = (s, g, n) => {
236
+ var d;
237
+ return ((d = e == null ? void 0 : e.rootLayout) == null ? void 0 : d.call(e, {
238
+ breakpoint: n,
239
+ sidebarButtons: g,
240
+ rootLayout: s,
234
241
  layoutSidebarLeft: r,
235
- layoutSidebarTarget: y,
236
- ...l,
237
- createSidebarButton: (d) => A({ ...d })
238
- })) ?? o;
242
+ layoutSidebarTarget: b,
243
+ ...i,
244
+ createSidebarButton: (v) => A({ ...v })
245
+ })) ?? s;
239
246
  };
240
247
  if (t) {
241
- const o = a(p, t);
242
- c[t] = g(
248
+ const s = a(f, t);
249
+ c[t] = u(
243
250
  {
244
251
  type: "row",
245
252
  style: { height: "100%" },
246
253
  children: [
247
254
  {
248
255
  ...r,
249
- children: o
256
+ children: s
250
257
  },
251
- y,
252
- s
258
+ b,
259
+ o
253
260
  ]
254
261
  },
255
- o,
262
+ s,
256
263
  t
257
264
  );
258
265
  }
259
- if (n) {
260
- const o = p.map(
261
- (i) => ({
262
- ...i,
263
- layoutCommand: {
264
- placer: { type: "absolute", position: "left" },
265
- style: { height: "calc(100% - 40px)" }
266
- }
267
- })
268
- ), u = a(o, n);
269
- c[n] = g(
266
+ if (l) {
267
+ const s = {
268
+ placer: { type: "absolute", position: "left" },
269
+ style: { height: "calc(100% - 40px)" }
270
+ }, g = f.map((d) => ({ ...d, layoutCommand: s })), n = a(g, l, { layoutCommand: s });
271
+ c[l] = u(
270
272
  {
271
273
  type: "column",
272
274
  style: { height: "100%" },
@@ -276,59 +278,59 @@ const G = "sidebarButtonsTarget", A = (e) => {
276
278
  {
277
279
  type: "sidebarBottom",
278
280
  style: { padding: "0 5px", alignItems: "center", gap: 10, minHeight: 39 },
279
- children: u
281
+ children: n
280
282
  }
281
283
  ]
282
284
  },
283
- u,
284
- n
285
+ n,
286
+ l
285
287
  );
286
288
  }
287
- const v = a(b, 0);
289
+ const T = a(p, 0);
288
290
  return {
289
- default: g(
291
+ default: u(
290
292
  {
291
293
  type: "row",
292
294
  style: { height: "100%" },
293
295
  children: [
294
296
  {
295
297
  ...r,
296
- children: v
298
+ children: T
297
299
  },
298
- y,
299
- s,
300
+ b,
301
+ o,
300
302
  { type: "sidebarRight" }
301
303
  ]
302
304
  },
303
- v,
305
+ T,
304
306
  0
305
307
  ),
306
308
  responsive: c
307
309
  };
308
- }, w = "layoutSidebarButtons", Z = L.free, z = function(e, t = {}) {
309
- const { Commands: n } = e, l = n.events, c = {
310
+ }, R = "layoutSidebarButtons", Z = L.free, z = function(e, t = {}) {
311
+ const { Commands: l } = e, i = l.events, c = {
310
312
  ...t
311
313
  };
312
314
  (() => {
313
315
  if (e.runCommand(P.layoutConfigGet) || c.skipLayoutConfig === !0) return;
314
- const y = S(c);
315
- e.runCommand(P.layoutConfigSet, { ...y });
316
- })(), n.add(`${w}:toggleButton`, (p, y, r) => {
317
- const s = document.getElementById(I(r == null ? void 0 : r.id));
318
- s == null || s.click();
319
- }), e.on(`${l.runCommand}core:preview`, () => {
320
- x(e);
321
- }), F({
316
+ const b = E(c);
317
+ e.runCommand(P.layoutConfigSet, { ...b });
318
+ })(), l.add(`${R}:toggleButton`, (f, b, r) => {
319
+ const o = document.getElementById(x(r == null ? void 0 : r.id));
320
+ o == null || o.click();
321
+ }), e.on(`${i.runCommand}core:preview`, () => {
322
+ O(e);
323
+ }), q({
322
324
  editor: e,
323
325
  licenseKey: c.licenseKey,
324
326
  plan: Z,
325
- pluginName: w,
327
+ pluginName: R,
326
328
  cleanup: () => {
327
329
  e.runCommand(P.layoutConfigSet);
328
330
  }
329
331
  });
330
- }, J = V(z);
331
- J.createLayoutConfig = (e) => S(e);
332
+ }, J = F(z);
333
+ J.createLayoutConfig = (e) => E(e);
332
334
  export {
333
335
  J as default
334
336
  };
@@ -1 +1 @@
1
- (function(h,v){typeof exports=="object"&&typeof module<"u"?module.exports=v():typeof define=="function"&&define.amd?define(v):(h=typeof globalThis<"u"?globalThis:h||self,h.StudioSdkPlugins_layoutSidebarButtons=v())})(this,function(){"use strict";var h=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(h||{}),v=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.projectFiles="studio:projectFiles",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(v||{}),B=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(B||{});const k="app.grapesjs.com",R="app-stage.grapesjs.com",w=[k,"app2.grapesjs.com",R,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],E="license:check:start",_="license:check:end",N=()=>typeof window<"u",U=({isDev:e,isStage:t})=>`${e?"":`https://${t?R:k}`}/api`,$=()=>{const e=N()&&window.location.hostname;return!!e&&(w.includes(e)||w.some(t=>e.endsWith(t)))};async function H({path:e,baseApiUrl:t,method:n="GET",headers:l={},params:c,body:b}){const y=`${t||U({isDev:!1,isStage:!1})}${e}`,r={method:n,headers:{"Content-Type":"application/json",...l}};b&&(r.body=JSON.stringify(b));const o=c?new URLSearchParams(c).toString():"",s=o?`?${o}`:"",g=await fetch(`${y}${s}`,r);if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);return g.json()}const D={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function j(e){const t=e;return t.init=n=>l=>e(l,n),t}const W=e=>j(e);async function K({editor:e,plan:t,pluginName:n,licenseKey:l,cleanup:c}){let b="",p=!1;const y=$(),r=s=>{console.warn("Cleanup plugin:",n,"Reason:",s),c()},o=(s={})=>{var i;const{error:g,sdkLicense:L}=s,a=(i=s.plan)==null?void 0:i.category;if(!(L||s.license)||g)r(g||"Invalid license");else if(a){const f=D[t],d=D[a];f>d&&r({pluginRequiredPlan:t,licensePlan:a})}};e.on(E,s=>{b=s==null?void 0:s.baseApiUrl,p=!0}),e.on(_,s=>{o(s)}),setTimeout(async()=>{if(!p){if(y)return;if(l){const s=await V({licenseKey:l,pluginName:n,baseApiUrl:b});s&&o(s)}else r("The `licenseKey` option not provided")}},2e3)}async function V(e){const{licenseKey:t,pluginName:n,baseApiUrl:l}=e;try{return(await H({baseApiUrl:l,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var T=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e))(T||{});const M="sidebarButtonsTarget",P=e=>{const{id:t,icon:n,label:l,tooltip:c,className:b,skipSelfClose:p,removeLayouts:y,layoutComponent:r,layoutCommand:o}=e,s=t;return{id:G(t),type:"button",icon:n,tooltip:l||c,className:b,editorEvents:{[`${B.layoutToggleId}${s}`]:({fromEvent:g,setState:L,editor:a})=>{L({active:g.isOpen}),setTimeout(()=>a.refresh({tools:!0}),20)}},onClick:({editor:g,state:L})=>{if(L.active&&p)return;const a=(o==null?void 0:o.placer)||{type:"static",layoutId:M},u={...a,skipCleanup:a.type==="static"},i=y||Object.keys(T).filter(d=>d!==s);I(g,{removeLayouts:i,layout:{placer:u}});const f={id:s,placer:a,header:(o==null?void 0:o.header)??{label:l,close:!p},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...o==null?void 0:o.style}};g.runCommand(v.layoutToggle,f)}}},G=e=>`button__${e}`,I=(e,t={})=>{(t.removeLayouts||Object.keys(T)).forEach(l=>e.runCommand(v.layoutRemove,{id:l,layout:t.layout}))},S=e=>{const t=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,l={breakpointTablet:t,breakpointMobile:n},c={},b=[{id:T.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:T.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:T.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:T.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:a,editor:u})=>{var d;const i=u.getSelected(),f={type:"image",src:a.src};if(i!=null&&i.is("image"))return i.set("src",a.src);if(i&&u.Components.canMove(i,f)){const A=i.append(f)[0];A&&u.select(A)}else if(!i){const A=(d=u.getWrapper())==null?void 0:d.append(f)[0];A&&u.select(A)}}}}],p=[...b,{id:T.panelSidebarTabs,layoutCommand:{header:!1},icon:'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.4-.2-.7-.4-1-.2-.3-.4-.6-.4-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Z"/></svg>',label:"Styles & Props",layoutComponent:{type:"panelSidebarTabs"}}],y={id:M,type:"column",style:{overflow:"hidden"}},r={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},o={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},s=(a,u)=>{const i=a.map(d=>{const A=P(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:T,breakpoint:u,buttonProps:A,sidebarButtonProps:d,...l,createSidebarButton:q=>P({...d,...q})}):A}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:T,breakpoint:u,sidebarButtons:i,...l,createSidebarButton:d=>P({...d})}):i).filter(Boolean)},g=(a,u,i)=>{var f;return((f=e==null?void 0:e.rootLayout)==null?void 0:f.call(e,{breakpoint:i,sidebarButtons:u,rootLayout:a,layoutSidebarLeft:r,layoutSidebarTarget:y,...l,createSidebarButton:d=>P({...d})}))??a};if(t){const a=s(p,t);c[t]=g({type:"row",style:{height:"100%"},children:[{...r,children:a},y,o]},a,t)}if(n){const a=p.map(i=>({...i,layoutCommand:{placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}}})),u=s(a,n);c[n]=g({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:u}]},u,n)}const L=s(b,0);return{default:g({type:"row",style:{height:"100%"},children:[{...r,children:L},y,o,{type:"sidebarRight"}]},L,0),responsive:c}},O="layoutSidebarButtons",F=h.free,x=W(function(e,t={}){const{Commands:n}=e,l=n.events,c={...t};(()=>{if(e.runCommand(v.layoutConfigGet)||c.skipLayoutConfig===!0)return;const y=S(c);e.runCommand(v.layoutConfigSet,{...y})})(),n.add(`${O}:toggleButton`,(p,y,r)=>{const o=document.getElementById(G(r==null?void 0:r.id));o==null||o.click()}),e.on(`${l.runCommand}core:preview`,()=>{I(e)}),K({editor:e,licenseKey:c.licenseKey,plan:F,pluginName:O,cleanup:()=>{e.runCommand(v.layoutConfigSet)}})});return x.createLayoutConfig=e=>S(e),x});
1
+ (function(h,v){typeof exports=="object"&&typeof module<"u"?module.exports=v():typeof define=="function"&&define.amd?define(v):(h=typeof globalThis<"u"?globalThis:h||self,h.StudioSdkPlugins_layoutSidebarButtons=v())})(this,function(){"use strict";var h=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(h||{}),v=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(v||{}),B=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(B||{});const k="app.grapesjs.com",R="app-stage.grapesjs.com",w=[k,"app2.grapesjs.com",R,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],N="license:check:start",_="license:check:end",U=()=>typeof window<"u",$=({isDev:e,isStage:t})=>`${e?"":`https://${t?R:k}`}/api`,H=()=>{const e=U()&&window.location.hostname;return!!e&&(w.includes(e)||w.some(t=>e.endsWith(t)))};async function j({path:e,baseApiUrl:t,method:l="GET",headers:i={},params:c,body:f}){const b=`${t||$({isDev:!1,isStage:!1})}${e}`,r={method:l,headers:{"Content-Type":"application/json",...i}};f&&(r.body=JSON.stringify(f));const o=c?new URLSearchParams(c).toString():"",a=o?`?${o}`:"",u=await fetch(`${b}${a}`,r);if(!u.ok)throw new Error(`HTTP error! status: ${u.status}`);return u.json()}const D={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function W(e){const t=e;return t.init=l=>i=>e(i,l),t}const K=e=>W(e);async function V({editor:e,plan:t,pluginName:l,licenseKey:i,cleanup:c}){let f="",p=!1;const b=H(),r=a=>{console.warn("Cleanup plugin:",l,"Reason:",a),c()},o=(a={})=>{var n;const{error:u,sdkLicense:P}=a,s=(n=a.plan)==null?void 0:n.category;if(!(P||a.license)||u)r(u||"Invalid license");else if(s){const d=D[t],L=D[s];d>L&&r({pluginRequiredPlan:t,licensePlan:s})}};e.on(N,a=>{f=a==null?void 0:a.baseApiUrl,p=!0}),e.on(_,a=>{o(a)}),setTimeout(async()=>{if(!p){if(b)return;if(i){const a=await F({licenseKey:i,pluginName:l,baseApiUrl:f});a&&o(a)}else r("The `licenseKey` option not provided")}},2e3)}async function F(e){const{licenseKey:t,pluginName:l,baseApiUrl:i}=e;try{return(await j({baseApiUrl:i,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:l}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var T=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e))(T||{});const M="sidebarButtonsTarget",A=e=>{const{id:t,icon:l,label:i,tooltip:c,className:f,skipSelfClose:p,removeLayouts:b,layoutComponent:r,layoutCommand:o}=e,a=t;return{id:G(t),type:"button",icon:l,tooltip:i||c,className:f,editorEvents:{[`${B.layoutToggleId}${a}`]:({fromEvent:u,setState:P,editor:s})=>{P({active:u.isOpen}),setTimeout(()=>s.refresh({tools:!0}),20)}},onClick:({editor:u,state:P})=>{if(P.active&&p)return;const s=(o==null?void 0:o.placer)||{type:"static",layoutId:M},g={...s,skipCleanup:s.type==="static"},n=b||Object.keys(T).filter(L=>L!==a);I(u,{removeLayouts:n,layout:{placer:g}});const d={id:a,placer:s,header:(o==null?void 0:o.header)??{label:i,close:!p},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...o==null?void 0:o.style}};u.runCommand(v.layoutToggle,d)}}},G=e=>`button__${e}`,I=(e,t={})=>{(t.removeLayouts||Object.keys(T)).forEach(i=>e.runCommand(v.layoutRemove,{id:i,layout:t.layout}))},O=e=>{const t=(e==null?void 0:e.breakpointTablet)??1024,l=(e==null?void 0:e.breakpointMobile)??768,i={breakpointTablet:t,breakpointMobile:l},c={},f=[{id:T.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:T.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:T.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:T.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:s,editor:g})=>{var L;const n=g.getSelected(),d={type:"image",src:s.src};if(n!=null&&n.is("image"))return n.set("src",s.src);if(n&&g.Components.canMove(n,d)){const y=n.append(d)[0];y&&g.select(y)}else if(!n){const y=(L=g.getWrapper())==null?void 0:L.append(d)[0];y&&g.select(y)}}}}],p=[...f,{id:T.panelSidebarTabs,layoutCommand:{header:!1},icon:'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.4-.2-.7-.4-1-.2-.3-.4-.6-.4-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Z"/></svg>',label:"Styles & Props",layoutComponent:{type:"panelSidebarTabs"}}],b={id:M,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},r={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},o={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},a=(s,g,n)=>{const d=s.map(y=>{const E=A(y);return e!=null&&e.sidebarButton?e.sidebarButton({id:y.id,buttonIds:T,breakpoint:g,buttonProps:E,sidebarButtonProps:y,...i,createSidebarButton:C=>A({...y,...C})}):E}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:T,breakpoint:g,sidebarButtons:d,...i,createSidebarButton:y=>A({...y,layoutCommand:{...n==null?void 0:n.layoutCommand,...y.layoutCommand}})}):d).filter(Boolean)},u=(s,g,n)=>{var d;return((d=e==null?void 0:e.rootLayout)==null?void 0:d.call(e,{breakpoint:n,sidebarButtons:g,rootLayout:s,layoutSidebarLeft:r,layoutSidebarTarget:b,...i,createSidebarButton:L=>A({...L})}))??s};if(t){const s=a(p,t);c[t]=u({type:"row",style:{height:"100%"},children:[{...r,children:s},b,o]},s,t)}if(l){const s={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},g=p.map(d=>({...d,layoutCommand:s})),n=a(g,l,{layoutCommand:s});c[l]=u({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:n}]},n,l)}const P=a(f,0);return{default:u({type:"row",style:{height:"100%"},children:[{...r,children:P},b,o,{type:"sidebarRight"}]},P,0),responsive:c}},S="layoutSidebarButtons",q=h.free,x=K(function(e,t={}){const{Commands:l}=e,i=l.events,c={...t};(()=>{if(e.runCommand(v.layoutConfigGet)||c.skipLayoutConfig===!0)return;const b=O(c);e.runCommand(v.layoutConfigSet,{...b})})(),l.add(`${S}:toggleButton`,(p,b,r)=>{const o=document.getElementById(G(r==null?void 0:r.id));o==null||o.click()}),e.on(`${i.runCommand}core:preview`,()=>{I(e)}),V({editor:e,licenseKey:c.licenseKey,plan:q,pluginName:S,cleanup:()=>{e.runCommand(v.layoutConfigSet)}})});return x.createLayoutConfig=e=>O(e),x});