@grapesjs/studio-sdk-plugins 1.0.35 → 1.0.37

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 (92) hide show
  1. package/dist/accordionComponent/index.cjs.js +7 -7
  2. package/dist/accordionComponent/index.es.js +185 -159
  3. package/dist/accordionComponent/index.umd.js +7 -7
  4. package/dist/aiChat/clientToolsProcessors.d.ts +1 -2
  5. package/dist/aiChat/components/utils.d.ts +1 -0
  6. package/dist/aiChat/components/utilsTw.d.ts +11 -0
  7. package/dist/aiChat/index.cjs.js +75 -75
  8. package/dist/aiChat/index.es.js +9122 -8628
  9. package/dist/aiChat/index.js +75 -75
  10. package/dist/aiChat/index.umd.js +75 -75
  11. package/dist/aiChat/projectGeneration.d.ts +17 -0
  12. package/dist/animationComponent/index.cjs.js +3 -3
  13. package/dist/animationComponent/index.es.js +221 -195
  14. package/dist/animationComponent/index.umd.js +3 -3
  15. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  16. package/dist/canvasAbsoluteMode/index.es.js +199 -173
  17. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  18. package/dist/canvasEmptyState/index.cjs.js +1 -1
  19. package/dist/canvasEmptyState/index.es.js +149 -123
  20. package/dist/canvasEmptyState/index.umd.js +1 -1
  21. package/dist/canvasFullSize/index.cjs.js +9 -9
  22. package/dist/canvasFullSize/index.es.js +186 -160
  23. package/dist/canvasFullSize/index.umd.js +9 -9
  24. package/dist/canvasGridMode/index.cjs.js +5 -5
  25. package/dist/canvasGridMode/index.es.js +263 -237
  26. package/dist/canvasGridMode/index.umd.js +2 -2
  27. package/dist/canvasScreenshot/index.cjs.js +1 -1
  28. package/dist/canvasScreenshot/index.es.js +168 -142
  29. package/dist/canvasScreenshot/index.umd.js +1 -1
  30. package/dist/dataSourceEjs/index.cjs.js +9 -9
  31. package/dist/dataSourceEjs/index.es.js +271 -245
  32. package/dist/dataSourceEjs/index.umd.js +9 -9
  33. package/dist/dataSourceHandlebars/index.cjs.js +8 -8
  34. package/dist/dataSourceHandlebars/index.es.js +232 -206
  35. package/dist/dataSourceHandlebars/index.umd.js +8 -8
  36. package/dist/dialogComponent/index.cjs.js +14 -14
  37. package/dist/dialogComponent/index.es.js +157 -131
  38. package/dist/dialogComponent/index.umd.js +14 -14
  39. package/dist/flexComponent/index.cjs.js +13 -13
  40. package/dist/flexComponent/index.es.js +497 -471
  41. package/dist/flexComponent/index.umd.js +13 -13
  42. package/dist/fsLightboxComponent/index.cjs.js +3 -3
  43. package/dist/fsLightboxComponent/index.es.js +189 -163
  44. package/dist/fsLightboxComponent/index.umd.js +3 -3
  45. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  46. package/dist/googleFontsAssetProvider/index.es.js +175 -149
  47. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  48. package/dist/iconifyComponent/index.cjs.js +2 -2
  49. package/dist/iconifyComponent/index.es.js +207 -181
  50. package/dist/iconifyComponent/index.umd.js +2 -2
  51. package/dist/index.cjs.js +36 -36
  52. package/dist/index.es.js +917 -891
  53. package/dist/index.umd.js +36 -36
  54. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  55. package/dist/layoutSidebarButtons/index.es.js +192 -166
  56. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  57. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  58. package/dist/lightGalleryComponent/index.es.js +265 -239
  59. package/dist/lightGalleryComponent/index.umd.js +1 -1
  60. package/dist/linkImageComponent/index.cjs.js +2 -2
  61. package/dist/linkImageComponent/index.es.js +121 -95
  62. package/dist/linkImageComponent/index.umd.js +2 -2
  63. package/dist/listPagesComponent/index.cjs.js +5 -5
  64. package/dist/listPagesComponent/index.es.js +171 -145
  65. package/dist/listPagesComponent/index.umd.js +5 -5
  66. package/dist/presetPrintable/index.cjs.js +3 -3
  67. package/dist/presetPrintable/index.es.js +227 -201
  68. package/dist/presetPrintable/index.umd.js +3 -3
  69. package/dist/prosemirror/index.cjs.js +7 -7
  70. package/dist/prosemirror/index.es.js +457 -431
  71. package/dist/prosemirror/index.umd.js +8 -8
  72. package/dist/rendererReact/index.cjs.js +1 -1
  73. package/dist/rendererReact/index.es.js +248 -223
  74. package/dist/rendererReact/index.js +1 -1
  75. package/dist/rendererReact/index.umd.js +1 -1
  76. package/dist/rteTinyMce/index.cjs.js +2 -2
  77. package/dist/rteTinyMce/index.es.js +150 -124
  78. package/dist/rteTinyMce/index.umd.js +2 -2
  79. package/dist/shapeDividerComponent/index.cjs.js +4 -4
  80. package/dist/shapeDividerComponent/index.es.js +143 -117
  81. package/dist/shapeDividerComponent/index.umd.js +4 -4
  82. package/dist/swiperComponent/index.cjs.js +9 -9
  83. package/dist/swiperComponent/index.es.js +218 -192
  84. package/dist/swiperComponent/index.umd.js +7 -7
  85. package/dist/tableComponent/index.cjs.js +1 -1
  86. package/dist/tableComponent/index.es.js +275 -249
  87. package/dist/tableComponent/index.umd.js +1 -1
  88. package/dist/types.d.ts +1 -1
  89. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  90. package/dist/youtubeAssetProvider/index.es.js +134 -108
  91. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  92. package/package.json +2 -2
@@ -1 +1 @@
1
- "use strict";var A=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(A||{}),B=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.dialogImportCode="studio:dialogImportCode",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.layoutComponentAdd="studio:layoutComponentAdd",e.layoutComponentGet="studio:layoutComponentGet",e.layoutComponentRemove="studio:layoutComponentRemove",e.layoutComponentRender="studio:layoutComponentRender",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))(B||{}),I=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(I||{});const x="app.grapesjs.com",E="app-stage.grapesjs.com",H="app2.grapesjs.com",S="app-stage2.grapesjs.com",k=[x,H,E,S,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],j="license:check:start",W="license:check:end",K=()=>typeof window<"u",V=({isDev:e,isStage:a,isPlatform:o})=>`${e?"":`https://${a?E:x}`}/${o?"platform-api":"api"}`,m=()=>{const e=K()&&window.location.hostname;return!!e&&(k.includes(e)||k.some(a=>e.endsWith(a)))};async function F({path:e,baseApiUrl:a,method:o="GET",headers:r={},params:s,body:h}){const d=`${a||V({isDev:!1,isStage:!1})}${e}`,b={method:o,headers:{"Content-Type":"application/json",...r}};h&&(b.body=JSON.stringify(h));const g=s?new URLSearchParams(s).toString():"",u=g?`?${g}`:"",t=await fetch(`${d}${u}`,b);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()}const M={[A.free]:0,[A.startup]:10,[A.business]:20,[A.enterprise]:30};function q(e){const a=e;return a.init=o=>r=>e(r,o),a}const C=e=>q(e);async function Z({editor:e,plan:a,pluginName:o,licenseKey:r,onLicenseCheckResponse:s,cleanup:h}){let f="",d=!1;const b=m(),g=t=>{console.warn("Cleanup plugin:",o,"Reason:",t),h()},u=(t={})=>{var i;const{error:P,sdkLicense:l}=t,c=(i=t.plan)==null?void 0:i.category;if(!(l||t.license)||P)g(P||"Invalid license");else if(c){const y=M[a],p=M[c];y>p&&g({pluginRequiredPlan:a,licensePlan:c})}};e.on(j,t=>{f=t==null?void 0:t.baseApiUrl,d=!0}),e.on(W,t=>{s==null||s(t),u(t)}),setTimeout(async()=>{if(!d){if(b)return;if(r){const t=await z({licenseKey:r,pluginName:o,baseApiUrl:f});s==null||s(t),t&&u(t)}else g("The `licenseKey` option not provided")}},2e3)}async function z(e){const{licenseKey:a,pluginName:o,baseApiUrl:r}=e;try{return(await F({baseApiUrl:r,path:`/sdk/${a||"na"}`,method:"POST",params:{d:window.location.hostname,pn:o}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}var v=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e.panelDataSources="panelDataSources",e))(v||{});const O="sidebarButtonsTarget",D=(e,a)=>{const{id:o,icon:r,label:s,tooltip:h,className:f,skipSelfClose:d,removeLayouts:b,layoutComponent:g,layoutCommand:u}=e,{pluginOpts:t,breakpointProps:P}=a,l=o;return{id:U(o),type:"button",icon:r,tooltip:s||h,className:f,editorEvents:{[`${I.layoutToggleId}${l}`]:({fromEvent:c,setState:n,editor:i})=>{n({active:c.isOpen}),setTimeout(()=>i.refresh({tools:!0}),20)}},onClick:({editor:c,state:n})=>{var w;if(n.active&&d)return;const i=(u==null?void 0:u.placer)||{type:"static",layoutId:O},y={...i,skipCleanup:i.type==="static"},p=b||Object.keys(v).filter(G=>G!==l);N(c,{removeLayouts:p,layout:{placer:y}});const L={id:l,placer:i,header:(u==null?void 0:u.header)??{label:s,close:!d},layout:g,style:{width:280,height:"100%",borderRightWidth:1,...u==null?void 0:u.style}},T=((w=t==null?void 0:t.sidebarLayoutCommand)==null?void 0:w.call(t,{...P,layoutCommand:L,sidebarButtonProps:e}))||L;c.runCommand(B.layoutToggle,{...T})}}},U=e=>`button__${e}`,N=(e,a={})=>{(a.removeLayouts||Object.keys(v)).forEach(r=>e.runCommand(B.layoutRemove,{id:r,layout:a.layout}))},$=e=>{const a=(e==null?void 0:e.breakpointTablet)??1024,o=(e==null?void 0:e.breakpointMobile)??768,r={},s=[{id:v.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:v.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:v.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:v.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:l,editor:c})=>{var p;const n=c.getSelected(),i={type:"image",src:l.src};let y;if(n!=null&&n.is("image"))return n.set("src",l.src);n&&c.Components.canMove(n,i)?y=n.append(i)[0]:n||(y=(p=c.getWrapper())==null?void 0:p.append(i)[0]),y&&c.select(y,{scroll:!0})}}}],h=[...s,{id:v.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"}}],f={id:O,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},d={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},b={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},g=l=>({breakpoint:l,breakpointTablet:a,breakpointMobile:o}),u=(l,c,n)=>{const i=g(c),y={pluginOpts:e,breakpointProps:i},p=l.map(T=>{const w=D(T,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:T.id,buttonIds:v,buttonProps:w,sidebarButtonProps:T,...i,createSidebarButton:G=>D({...T,...G},y)}):w}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:v,sidebarButtons:p,...i,createSidebarButton:T=>D({...T,layoutCommand:{...n==null?void 0:n.layoutCommand,...T.layoutCommand}},y)}):p).filter(Boolean)},t=(l,c,n)=>{var p;const i=g(n),y={pluginOpts:e,breakpointProps:i};return((p=e==null?void 0:e.rootLayout)==null?void 0:p.call(e,{sidebarButtons:c,rootLayout:l,layoutSidebarLeft:d,layoutSidebarTarget:f,...i,createSidebarButton:L=>D({...L},y)}))??l};if(a){const l=u(h,a);r[a]=t({type:"row",style:{height:"100%"},children:[{...d,children:l},f,b]},l,a)}if(o){const l={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},c=h.map(i=>({...i,layoutCommand:l})),n=u(c,o,{layoutCommand:l});r[o]=t({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,o)}const P=u(s,0);return{default:t({type:"row",style:{height:"100%"},children:[{...d,children:P},f,b,{type:"sidebarRight"}]},P,0),responsive:r}},R="layoutSidebarButtons",J=A.free,Q=function(e,a={}){const{Commands:o}=e,r=o.events,s={...a};(()=>{if(e.runCommand(B.layoutConfigGet)||s.skipLayoutConfig===!0)return;const d=$(s);e.runCommand(B.layoutConfigSet,{...d})})(),o.add(`${R}:toggleButton`,(f,d,b)=>{const g=document.getElementById(U(b==null?void 0:b.id));g==null||g.click()}),e.on(`${r.runCommand}core:preview`,()=>{N(e)}),Z({editor:e,licenseKey:s.licenseKey,plan:J,pluginName:R,cleanup:()=>{e.runCommand(B.layoutConfigSet)}})},_=C(Q);_.createLayoutConfig=e=>$(e);module.exports=_;
1
+ "use strict";var B=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(B||{}),T=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.dialogImportCode="studio:dialogImportCode",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.layoutComponentAdd="studio:layoutComponentAdd",e.layoutComponentGet="studio:layoutComponentGet",e.layoutComponentRemove="studio:layoutComponentRemove",e.layoutComponentRender="studio:layoutComponentRender",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.settings="studio:settings",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))(T||{}),I=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(I||{});const x="app.grapesjs.com",O="app-stage.grapesjs.com",_="app2.grapesjs.com",m="app-stage2.grapesjs.com",D=[x,_,O,m,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io",".claudemcpcontent.com",".web-sandbox.oaiusercontent.com"],j="license:check:end",W=()=>typeof window<"u",S=({isDev:e,isStage:o,isPlatform:a})=>`${e?"":`https://${o?O:x}`}/${a?"platform-api":"api"}`,F=()=>{if(!W())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},V=()=>{const e=F();return!!e&&(D.includes(e)||D.some(o=>e.endsWith(o)))};async function C({path:e,baseApiUrl:o,method:a="GET",headers:c={},params:i,body:h}){const r=`${o||S({isDev:!1,isStage:!1})}${e}`,d={method:a,headers:{"Content-Type":"application/json",...c}};h&&(d.body=JSON.stringify(h));const b=i?new URLSearchParams(i).toString():"",u=b?`?${b}`:"",t=await fetch(`${r}${u}`,d);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()}const G={[B.free]:0,[B.startup]:10,[B.business]:20,[B.enterprise]:30};function K(e){const o=e;return o.init=a=>c=>e(c,a),o}const q=e=>K(e);async function Z({editor:e,plan:o,pluginName:a,licenseKey:c,onLicenseCheckResponse:i,cleanup:h}){let f="",r;const d=t=>{console.warn("Cleanup plugin:",a,"Reason:",t),h()},b=(t={})=>{var l;const{error:L,sdkLicense:n}=t,g=(l=t.plan)==null?void 0:l.category;if(!(n||t.license)||L)d(L||"Invalid license");else if(g){const y=G[o],p=G[g];y>p&&d({pluginRequiredPlan:o,licensePlan:g})}};e.Commands.has(T.settings)&&(r=e.runCommand(T.settings),f=(r==null?void 0:r.baseUrl)||"");const u=t=>{i==null||i(t),t&&b(t)};if(!r){e.onReady(async()=>{if(!V())if(c){const t=await J({licenseKey:c,pluginName:a,baseApiUrl:f});u(t)}else d("The `licenseKey` option not provided")});return}if(r.licensePlan||r.licenseError){const t=z(r);u(t);return}e.on(j,t=>u(t))}const z=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function J(e){const{licenseKey:o,pluginName:a,baseApiUrl:c}=e;try{return(await C({baseApiUrl:c,path:`/sdk/${o||"na"}`,method:"POST",params:{d:window.location.hostname,pn:a}})).result||{}}catch(i){return console.error("Error during SDK license check:",i),!1}}var v=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e.panelDataSources="panelDataSources",e))(v||{});const E="sidebarButtonsTarget",R=(e,o)=>{const{id:a,icon:c,label:i,tooltip:h,className:f,skipSelfClose:r,removeLayouts:d,layoutComponent:b,layoutCommand:u}=e,{pluginOpts:t,breakpointProps:L}=o,n=a;return{id:U(a),type:"button",icon:c,tooltip:i||h,className:f,editorEvents:{[`${I.layoutToggleId}${n}`]:({fromEvent:g,setState:s,editor:l})=>{s({active:g.isOpen}),setTimeout(()=>l.refresh({tools:!0}),20)}},onClick:({editor:g,state:s})=>{var w;if(s.active&&r)return;const l=(u==null?void 0:u.placer)||{type:"static",layoutId:E},y={...l,skipCleanup:l.type==="static"},p=d||Object.keys(v).filter(k=>k!==n);$(g,{removeLayouts:p,layout:{placer:y}});const A={id:n,placer:l,header:(u==null?void 0:u.header)??{label:i,close:!r},layout:b,style:{width:280,height:"100%",borderRightWidth:1,...u==null?void 0:u.style}},P=((w=t==null?void 0:t.sidebarLayoutCommand)==null?void 0:w.call(t,{...L,layoutCommand:A,sidebarButtonProps:e}))||A;g.runCommand(T.layoutToggle,{...P})}}},U=e=>`button__${e}`,$=(e,o={})=>{(o.removeLayouts||Object.keys(v)).forEach(c=>e.runCommand(T.layoutRemove,{id:c,layout:o.layout}))},N=e=>{const o=(e==null?void 0:e.breakpointTablet)??1024,a=(e==null?void 0:e.breakpointMobile)??768,c={},i=[{id:v.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:v.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:v.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:v.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:n,editor:g})=>{var p;const s=g.getSelected(),l={type:"image",src:n.src};let y;if(s!=null&&s.is("image"))return s.set("src",n.src);s&&g.Components.canMove(s,l)?y=s.append(l)[0]:s||(y=(p=g.getWrapper())==null?void 0:p.append(l)[0]),y&&g.select(y,{scroll:!0})}}}],h=[...i,{id:v.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"}}],f={id:E,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:[]},d={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},b=n=>({breakpoint:n,breakpointTablet:o,breakpointMobile:a}),u=(n,g,s)=>{const l=b(g),y={pluginOpts:e,breakpointProps:l},p=n.map(P=>{const w=R(P,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:P.id,buttonIds:v,buttonProps:w,sidebarButtonProps:P,...l,createSidebarButton:k=>R({...P,...k},y)}):w}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:v,sidebarButtons:p,...l,createSidebarButton:P=>R({...P,layoutCommand:{...s==null?void 0:s.layoutCommand,...P.layoutCommand}},y)}):p).filter(Boolean)},t=(n,g,s)=>{var p;const l=b(s),y={pluginOpts:e,breakpointProps:l};return((p=e==null?void 0:e.rootLayout)==null?void 0:p.call(e,{sidebarButtons:g,rootLayout:n,layoutSidebarLeft:r,layoutSidebarTarget:f,...l,createSidebarButton:A=>R({...A},y)}))??n};if(o){const n=u(h,o);c[o]=t({type:"row",style:{height:"100%"},children:[{...r,children:n},f,d]},n,o)}if(a){const n={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},g=h.map(l=>({...l,layoutCommand:n})),s=u(g,a,{layoutCommand:n});c[a]=t({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:s}]},s,a)}const L=u(i,0);return{default:t({type:"row",style:{height:"100%"},children:[{...r,children:L},f,d,{type:"sidebarRight"}]},L,0),responsive:c}},M="layoutSidebarButtons",Q=B.free,X=function(e,o={}){const{Commands:a}=e,c=a.events,i={...o};(()=>{if(e.runCommand(T.layoutConfigGet)||i.skipLayoutConfig===!0)return;const r=N(i);e.runCommand(T.layoutConfigSet,{...r})})(),a.add(`${M}:toggleButton`,(f,r,d)=>{const b=document.getElementById(U(d==null?void 0:d.id));b==null||b.click()}),e.on(`${c.runCommand}core:preview`,()=>{$(e)}),Z({editor:e,licenseKey:i.licenseKey,plan:Q,pluginName:M,cleanup:()=>{e.runCommand(T.layoutConfigSet)}})},H=q(X);H.createLayoutConfig=e=>N(e);module.exports=H;
@@ -1,151 +1,177 @@
1
- var A = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(A || {}), B = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.dialogImportCode = "studio:dialogImportCode", 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.layoutComponentAdd = "studio:layoutComponentAdd", e.layoutComponentGet = "studio:layoutComponentGet", e.layoutComponentRemove = "studio:layoutComponentRemove", e.layoutComponentRender = "studio:layoutComponentRender", 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))(B || {}), I = /* @__PURE__ */ ((e) => (e.layoutToggleId = "studio:layoutToggle:", e.toggleBlocksPanel = "studio:toggleBlocksPanel", e.pageSettingsUpdate = "studio:pageSettingsUpdate", e.toggleDataSourcesPreview = "studio:toggleDataSourcesPreview", e))(I || {});
2
- const x = "app.grapesjs.com", E = "app-stage.grapesjs.com", _ = "app2.grapesjs.com", H = "app-stage2.grapesjs.com", k = [
1
+ var B = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(B || {}), T = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.dialogImportCode = "studio:dialogImportCode", 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.layoutComponentAdd = "studio:layoutComponentAdd", e.layoutComponentGet = "studio:layoutComponentGet", e.layoutComponentRemove = "studio:layoutComponentRemove", e.layoutComponentRender = "studio:layoutComponentRender", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.settings = "studio:settings", 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))(T || {}), I = /* @__PURE__ */ ((e) => (e.layoutToggleId = "studio:layoutToggle:", e.toggleBlocksPanel = "studio:toggleBlocksPanel", e.pageSettingsUpdate = "studio:pageSettingsUpdate", e.toggleDataSourcesPreview = "studio:toggleDataSourcesPreview", e))(I || {});
2
+ const x = "app.grapesjs.com", O = "app-stage.grapesjs.com", H = "app2.grapesjs.com", _ = "app-stage2.grapesjs.com", D = [
3
3
  x,
4
- _,
5
- E,
6
4
  H,
5
+ O,
6
+ _,
7
7
  "localhost",
8
8
  "127.0.0.1",
9
9
  ".local-credentialless.webcontainer.io",
10
10
  // For stackblitz.com demos
11
11
  ".local.webcontainer.io",
12
12
  // For stackblitz.com demos
13
- "-sandpack.codesandbox.io"
13
+ "-sandpack.codesandbox.io",
14
14
  // For Sandpack demos
15
- ], S = "license:check:start", j = "license:check:end", W = () => typeof window < "u", K = ({
15
+ ".claudemcpcontent.com",
16
+ // For Claude mcp app
17
+ ".web-sandbox.oaiusercontent.com"
18
+ // For OpenAI mcp app
19
+ ], m = "license:check:end", j = () => typeof window < "u", W = ({
16
20
  isDev: e,
17
- isStage: a,
18
- isPlatform: o
19
- }) => `${e ? "" : `https://${a ? E : x}`}/${o ? "platform-api" : "api"}`, V = () => {
20
- const e = W() && window.location.hostname;
21
- return !!e && (k.includes(e) || k.some((a) => e.endsWith(a)));
21
+ isStage: o,
22
+ isPlatform: a
23
+ }) => `${e ? "" : `https://${o ? O : x}`}/${a ? "platform-api" : "api"}`, S = () => {
24
+ if (!j()) return "";
25
+ const { hostname: e } = window.location;
26
+ if (e) return e;
27
+ try {
28
+ return window.parent.location.hostname || "";
29
+ } catch {
30
+ return "";
31
+ }
32
+ }, F = () => {
33
+ const e = S();
34
+ return !!e && (D.includes(e) || D.some((o) => e.endsWith(o)));
22
35
  };
23
- async function m({
36
+ async function V({
24
37
  path: e,
25
- baseApiUrl: a,
26
- method: o = "GET",
27
- headers: r = {},
28
- params: s,
38
+ baseApiUrl: o,
39
+ method: a = "GET",
40
+ headers: c = {},
41
+ params: i,
29
42
  body: h
30
43
  }) {
31
- const d = `${a || K({ isDev: !1, isStage: !1 })}${e}`, b = {
32
- method: o,
44
+ const r = `${o || W({ isDev: !1, isStage: !1 })}${e}`, d = {
45
+ method: a,
33
46
  headers: {
34
47
  "Content-Type": "application/json",
35
- ...r
48
+ ...c
36
49
  }
37
50
  };
38
- h && (b.body = JSON.stringify(h));
39
- const g = s ? new URLSearchParams(s).toString() : "", u = g ? `?${g}` : "", t = await fetch(`${d}${u}`, b);
51
+ h && (d.body = JSON.stringify(h));
52
+ const b = i ? new URLSearchParams(i).toString() : "", u = b ? `?${b}` : "", t = await fetch(`${r}${u}`, d);
40
53
  if (!t.ok)
41
54
  throw new Error(`HTTP error! status: ${t.status}`);
42
55
  return t.json();
43
56
  }
44
- const M = {
45
- [A.free]: 0,
46
- [A.startup]: 10,
47
- [A.business]: 20,
48
- [A.enterprise]: 30
57
+ const G = {
58
+ [B.free]: 0,
59
+ [B.startup]: 10,
60
+ [B.business]: 20,
61
+ [B.enterprise]: 30
49
62
  };
50
- function F(e) {
51
- const a = e;
52
- return a.init = (o) => (r) => e(r, o), a;
63
+ function C(e) {
64
+ const o = e;
65
+ return o.init = (a) => (c) => e(c, a), o;
53
66
  }
54
- const q = (e) => /* @__PURE__ */ F(e);
55
- async function C({
67
+ const K = (e) => /* @__PURE__ */ C(e);
68
+ async function q({
56
69
  editor: e,
57
- plan: a,
58
- pluginName: o,
59
- licenseKey: r,
60
- onLicenseCheckResponse: s,
70
+ plan: o,
71
+ pluginName: a,
72
+ licenseKey: c,
73
+ onLicenseCheckResponse: i,
61
74
  cleanup: h
62
75
  }) {
63
- let f = "", d = !1;
64
- const b = V(), g = (t) => {
65
- console.warn("Cleanup plugin:", o, "Reason:", t), h();
66
- }, u = (t = {}) => {
67
- var i;
68
- const { error: P, sdkLicense: l } = t, c = (i = t.plan) == null ? void 0 : i.category;
69
- if (!(l || t.license) || P)
70
- g(P || "Invalid license");
71
- else if (c) {
72
- const y = M[a], p = M[c];
73
- y > p && g({ pluginRequiredPlan: a, licensePlan: c });
76
+ let f = "", r;
77
+ const d = (t) => {
78
+ console.warn("Cleanup plugin:", a, "Reason:", t), h();
79
+ }, b = (t = {}) => {
80
+ var l;
81
+ const { error: L, sdkLicense: n } = t, g = (l = t.plan) == null ? void 0 : l.category;
82
+ if (!(n || t.license) || L)
83
+ d(L || "Invalid license");
84
+ else if (g) {
85
+ const y = G[o], p = G[g];
86
+ y > p && d({ pluginRequiredPlan: o, licensePlan: g });
74
87
  }
75
88
  };
76
- e.on(S, (t) => {
77
- f = t == null ? void 0 : t.baseApiUrl, d = !0;
78
- }), e.on(j, (t) => {
79
- s == null || s(t), u(t);
80
- }), setTimeout(async () => {
81
- if (!d) {
82
- if (b) return;
83
- if (r) {
84
- const t = await Z({ licenseKey: r, pluginName: o, baseApiUrl: f });
85
- s == null || s(t), t && u(t);
86
- } else
87
- g("The `licenseKey` option not provided");
88
- }
89
- }, 2e3);
89
+ e.Commands.has(T.settings) && (r = e.runCommand(T.settings), f = (r == null ? void 0 : r.baseUrl) || "");
90
+ const u = (t) => {
91
+ i == null || i(t), t && b(t);
92
+ };
93
+ if (!r) {
94
+ e.onReady(async () => {
95
+ if (!F())
96
+ if (c) {
97
+ const t = await z({ licenseKey: c, pluginName: a, baseApiUrl: f });
98
+ u(t);
99
+ } else
100
+ d("The `licenseKey` option not provided");
101
+ });
102
+ return;
103
+ }
104
+ if (r.licensePlan || r.licenseError) {
105
+ const t = Z(r);
106
+ u(t);
107
+ return;
108
+ }
109
+ e.on(m, (t) => u(t));
90
110
  }
91
- async function Z(e) {
92
- const { licenseKey: a, pluginName: o, baseApiUrl: r } = e;
111
+ const Z = (e) => ({
112
+ sdkLicense: e.license,
113
+ license: e.license,
114
+ error: e.licenseError,
115
+ plan: e.licensePlan
116
+ });
117
+ async function z(e) {
118
+ const { licenseKey: o, pluginName: a, baseApiUrl: c } = e;
93
119
  try {
94
- return (await m({
95
- baseApiUrl: r,
96
- path: `/sdk/${a || "na"}`,
120
+ return (await V({
121
+ baseApiUrl: c,
122
+ path: `/sdk/${o || "na"}`,
97
123
  method: "POST",
98
124
  params: {
99
125
  d: window.location.hostname,
100
- pn: o
126
+ pn: a
101
127
  }
102
128
  })).result || {};
103
- } catch (s) {
104
- return console.error("Error during SDK license check:", s), !1;
129
+ } catch (i) {
130
+ return console.error("Error during SDK license check:", i), !1;
105
131
  }
106
132
  }
107
133
  var v = /* @__PURE__ */ ((e) => (e.panelBlocks = "panelBlocks", e.panelPagesLayers = "panelPagesLayers", e.panelGlobalStyles = "panelGlobalStyles", e.panelSidebarTabs = "panelSidebarTabs", e.panelAssets = "panelAssets", e.aiChatPanel = "aiChatPanel", e.panelDataSources = "panelDataSources", e))(v || {});
108
- const O = "sidebarButtonsTarget", D = (e, a) => {
109
- const { id: o, icon: r, label: s, tooltip: h, className: f, skipSelfClose: d, removeLayouts: b, layoutComponent: g, layoutCommand: u } = e, { pluginOpts: t, breakpointProps: P } = a, l = o;
134
+ const E = "sidebarButtonsTarget", R = (e, o) => {
135
+ const { id: a, icon: c, label: i, tooltip: h, className: f, skipSelfClose: r, removeLayouts: d, layoutComponent: b, layoutCommand: u } = e, { pluginOpts: t, breakpointProps: L } = o, n = a;
110
136
  return {
111
- id: U(o),
137
+ id: U(a),
112
138
  type: "button",
113
- icon: r,
114
- tooltip: s || h,
139
+ icon: c,
140
+ tooltip: i || h,
115
141
  className: f,
116
142
  editorEvents: {
117
- [`${I.layoutToggleId}${l}`]: ({ fromEvent: c, setState: n, editor: i }) => {
118
- n({ active: c.isOpen }), setTimeout(() => i.refresh({ tools: !0 }), 20);
143
+ [`${I.layoutToggleId}${n}`]: ({ fromEvent: g, setState: s, editor: l }) => {
144
+ s({ active: g.isOpen }), setTimeout(() => l.refresh({ tools: !0 }), 20);
119
145
  }
120
146
  },
121
- onClick: ({ editor: c, state: n }) => {
147
+ onClick: ({ editor: g, state: s }) => {
122
148
  var w;
123
- if (n.active && d) return;
124
- const i = (u == null ? void 0 : u.placer) || { type: "static", layoutId: O }, y = { ...i, skipCleanup: i.type === "static" }, p = b || Object.keys(v).filter((G) => G !== l);
125
- N(c, { removeLayouts: p, layout: { placer: y } });
126
- const L = {
127
- id: l,
128
- placer: i,
129
- header: (u == null ? void 0 : u.header) ?? { label: s, close: !d },
130
- layout: g,
149
+ if (s.active && r) return;
150
+ const l = (u == null ? void 0 : u.placer) || { type: "static", layoutId: E }, y = { ...l, skipCleanup: l.type === "static" }, p = d || Object.keys(v).filter((k) => k !== n);
151
+ $(g, { removeLayouts: p, layout: { placer: y } });
152
+ const A = {
153
+ id: n,
154
+ placer: l,
155
+ header: (u == null ? void 0 : u.header) ?? { label: i, close: !r },
156
+ layout: b,
131
157
  style: {
132
158
  width: 280,
133
159
  height: "100%",
134
160
  borderRightWidth: 1,
135
161
  ...u == null ? void 0 : u.style
136
162
  }
137
- }, T = ((w = t == null ? void 0 : t.sidebarLayoutCommand) == null ? void 0 : w.call(t, {
138
- ...P,
139
- layoutCommand: L,
163
+ }, P = ((w = t == null ? void 0 : t.sidebarLayoutCommand) == null ? void 0 : w.call(t, {
164
+ ...L,
165
+ layoutCommand: A,
140
166
  sidebarButtonProps: e
141
- })) || L;
142
- c.runCommand(B.layoutToggle, { ...T });
167
+ })) || A;
168
+ g.runCommand(T.layoutToggle, { ...P });
143
169
  }
144
170
  };
145
- }, U = (e) => `button__${e}`, N = (e, a = {}) => {
146
- (a.removeLayouts || Object.keys(v)).forEach((r) => e.runCommand(B.layoutRemove, { id: r, layout: a.layout }));
147
- }, $ = (e) => {
148
- const a = (e == null ? void 0 : e.breakpointTablet) ?? 1024, o = (e == null ? void 0 : e.breakpointMobile) ?? 768, r = {}, s = [
171
+ }, U = (e) => `button__${e}`, $ = (e, o = {}) => {
172
+ (o.removeLayouts || Object.keys(v)).forEach((c) => e.runCommand(T.layoutRemove, { id: c, layout: o.layout }));
173
+ }, N = (e) => {
174
+ const o = (e == null ? void 0 : e.breakpointTablet) ?? 1024, a = (e == null ? void 0 : e.breakpointMobile) ?? 768, c = {}, i = [
149
175
  {
150
176
  id: v.panelBlocks,
151
177
  icon: "plusBox",
@@ -172,18 +198,18 @@ const O = "sidebarButtonsTarget", D = (e, a) => {
172
198
  type: "panelAssets",
173
199
  content: { itemsPerRow: 2, header: { addUrl: !1 } },
174
200
  style: { padding: 7 },
175
- onSelect: ({ assetProps: l, editor: c }) => {
201
+ onSelect: ({ assetProps: n, editor: g }) => {
176
202
  var p;
177
- const n = c.getSelected(), i = { type: "image", src: l.src };
203
+ const s = g.getSelected(), l = { type: "image", src: n.src };
178
204
  let y;
179
- if (n != null && n.is("image"))
180
- return n.set("src", l.src);
181
- n && c.Components.canMove(n, i) ? y = n.append(i)[0] : n || (y = (p = c.getWrapper()) == null ? void 0 : p.append(i)[0]), y && c.select(y, { scroll: !0 });
205
+ if (s != null && s.is("image"))
206
+ return s.set("src", n.src);
207
+ s && g.Components.canMove(s, l) ? y = s.append(l)[0] : s || (y = (p = g.getWrapper()) == null ? void 0 : p.append(l)[0]), y && g.select(y, { scroll: !0 });
182
208
  }
183
209
  }
184
210
  }
185
211
  ], h = [
186
- ...s,
212
+ ...i,
187
213
  {
188
214
  id: v.panelSidebarTabs,
189
215
  layoutCommand: { header: !1 },
@@ -192,90 +218,90 @@ const O = "sidebarButtonsTarget", D = (e, a) => {
192
218
  layoutComponent: { type: "panelSidebarTabs" }
193
219
  }
194
220
  ], f = {
195
- id: O,
221
+ id: E,
196
222
  type: "column",
197
223
  className: "gs-cmp-layout-sidebar-target",
198
224
  style: { overflow: "hidden" }
199
- }, d = {
225
+ }, r = {
200
226
  type: "sidebarLeft",
201
227
  resizable: !1,
202
228
  style: { padding: "10px 5px", alignItems: "center", width: 45, gap: 10 },
203
229
  children: []
204
- }, b = {
230
+ }, d = {
205
231
  type: "canvasSidebarTop",
206
232
  sidebarTop: {
207
233
  leftContainer: {
208
234
  buttons: []
209
235
  }
210
236
  }
211
- }, g = (l) => ({
212
- breakpoint: l,
213
- breakpointTablet: a,
214
- breakpointMobile: o
215
- }), u = (l, c, n) => {
216
- const i = g(c), y = { pluginOpts: e, breakpointProps: i }, p = l.map((T) => {
217
- const w = D(T, y);
237
+ }, b = (n) => ({
238
+ breakpoint: n,
239
+ breakpointTablet: o,
240
+ breakpointMobile: a
241
+ }), u = (n, g, s) => {
242
+ const l = b(g), y = { pluginOpts: e, breakpointProps: l }, p = n.map((P) => {
243
+ const w = R(P, y);
218
244
  return e != null && e.sidebarButton ? e.sidebarButton({
219
- id: T.id,
245
+ id: P.id,
220
246
  buttonIds: v,
221
247
  buttonProps: w,
222
- sidebarButtonProps: T,
223
- ...i,
224
- createSidebarButton: (G) => D({ ...T, ...G }, y)
248
+ sidebarButtonProps: P,
249
+ ...l,
250
+ createSidebarButton: (k) => R({ ...P, ...k }, y)
225
251
  }) : w;
226
252
  }).filter(Boolean);
227
253
  return (e != null && e.sidebarButtons ? e == null ? void 0 : e.sidebarButtons({
228
254
  buttonIds: v,
229
255
  sidebarButtons: p,
230
- ...i,
231
- createSidebarButton: (T) => D(
256
+ ...l,
257
+ createSidebarButton: (P) => R(
232
258
  {
233
- ...T,
259
+ ...P,
234
260
  layoutCommand: {
235
- ...n == null ? void 0 : n.layoutCommand,
236
- ...T.layoutCommand
261
+ ...s == null ? void 0 : s.layoutCommand,
262
+ ...P.layoutCommand
237
263
  }
238
264
  },
239
265
  y
240
266
  )
241
267
  }) : p).filter(Boolean);
242
- }, t = (l, c, n) => {
268
+ }, t = (n, g, s) => {
243
269
  var p;
244
- const i = g(n), y = { pluginOpts: e, breakpointProps: i };
270
+ const l = b(s), y = { pluginOpts: e, breakpointProps: l };
245
271
  return ((p = e == null ? void 0 : e.rootLayout) == null ? void 0 : p.call(e, {
246
- sidebarButtons: c,
247
- rootLayout: l,
248
- layoutSidebarLeft: d,
272
+ sidebarButtons: g,
273
+ rootLayout: n,
274
+ layoutSidebarLeft: r,
249
275
  layoutSidebarTarget: f,
250
- ...i,
251
- createSidebarButton: (L) => D({ ...L }, y)
252
- })) ?? l;
276
+ ...l,
277
+ createSidebarButton: (A) => R({ ...A }, y)
278
+ })) ?? n;
253
279
  };
254
- if (a) {
255
- const l = u(h, a);
256
- r[a] = t(
280
+ if (o) {
281
+ const n = u(h, o);
282
+ c[o] = t(
257
283
  {
258
284
  type: "row",
259
285
  style: { height: "100%" },
260
286
  children: [
261
287
  {
262
- ...d,
263
- children: l
288
+ ...r,
289
+ children: n
264
290
  },
265
291
  f,
266
- b
292
+ d
267
293
  ]
268
294
  },
269
- l,
270
- a
295
+ n,
296
+ o
271
297
  );
272
298
  }
273
- if (o) {
274
- const l = {
299
+ if (a) {
300
+ const n = {
275
301
  placer: { type: "absolute", position: "left" },
276
302
  style: { height: "calc(100% - 40px)" }
277
- }, c = h.map((i) => ({ ...i, layoutCommand: l })), n = u(c, o, { layoutCommand: l });
278
- r[o] = t(
303
+ }, g = h.map((l) => ({ ...l, layoutCommand: n })), s = u(g, a, { layoutCommand: n });
304
+ c[a] = t(
279
305
  {
280
306
  type: "column",
281
307
  style: { height: "100%" },
@@ -285,15 +311,15 @@ const O = "sidebarButtonsTarget", D = (e, a) => {
285
311
  {
286
312
  type: "sidebarBottom",
287
313
  style: { padding: "0 5px", alignItems: "center", gap: 10, minHeight: 39 },
288
- children: n
314
+ children: s
289
315
  }
290
316
  ]
291
317
  },
292
- n,
293
- o
318
+ s,
319
+ a
294
320
  );
295
321
  }
296
- const P = u(s, 0);
322
+ const L = u(i, 0);
297
323
  return {
298
324
  default: t(
299
325
  {
@@ -301,43 +327,43 @@ const O = "sidebarButtonsTarget", D = (e, a) => {
301
327
  style: { height: "100%" },
302
328
  children: [
303
329
  {
304
- ...d,
305
- children: P
330
+ ...r,
331
+ children: L
306
332
  },
307
333
  f,
308
- b,
334
+ d,
309
335
  { type: "sidebarRight" }
310
336
  ]
311
337
  },
312
- P,
338
+ L,
313
339
  0
314
340
  ),
315
- responsive: r
341
+ responsive: c
316
342
  };
317
- }, R = "layoutSidebarButtons", z = A.free, J = function(e, a = {}) {
318
- const { Commands: o } = e, r = o.events, s = {
319
- ...a
343
+ }, M = "layoutSidebarButtons", J = B.free, Q = function(e, o = {}) {
344
+ const { Commands: a } = e, c = a.events, i = {
345
+ ...o
320
346
  };
321
347
  (() => {
322
- if (e.runCommand(B.layoutConfigGet) || s.skipLayoutConfig === !0) return;
323
- const d = $(s);
324
- e.runCommand(B.layoutConfigSet, { ...d });
325
- })(), o.add(`${R}:toggleButton`, (f, d, b) => {
326
- const g = document.getElementById(U(b == null ? void 0 : b.id));
327
- g == null || g.click();
328
- }), e.on(`${r.runCommand}core:preview`, () => {
329
- N(e);
330
- }), C({
348
+ if (e.runCommand(T.layoutConfigGet) || i.skipLayoutConfig === !0) return;
349
+ const r = N(i);
350
+ e.runCommand(T.layoutConfigSet, { ...r });
351
+ })(), a.add(`${M}:toggleButton`, (f, r, d) => {
352
+ const b = document.getElementById(U(d == null ? void 0 : d.id));
353
+ b == null || b.click();
354
+ }), e.on(`${c.runCommand}core:preview`, () => {
355
+ $(e);
356
+ }), q({
331
357
  editor: e,
332
- licenseKey: s.licenseKey,
333
- plan: z,
334
- pluginName: R,
358
+ licenseKey: i.licenseKey,
359
+ plan: J,
360
+ pluginName: M,
335
361
  cleanup: () => {
336
- e.runCommand(B.layoutConfigSet);
362
+ e.runCommand(T.layoutConfigSet);
337
363
  }
338
364
  });
339
- }, Q = q(J);
340
- Q.createLayoutConfig = (e) => $(e);
365
+ }, X = K(Q);
366
+ X.createLayoutConfig = (e) => N(e);
341
367
  export {
342
- Q as default
368
+ X as default
343
369
  };