@grapesjs/studio-sdk-plugins 1.0.21 → 1.0.22

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 (66) hide show
  1. package/dist/animationComponent/components/Animation.d.ts +6 -0
  2. package/dist/animationComponent/components/AnimationGroup.d.ts +4 -0
  3. package/dist/animationComponent/index.cjs.d.ts +3 -0
  4. package/dist/animationComponent/index.cjs.js +507 -0
  5. package/dist/animationComponent/index.d.ts +3 -0
  6. package/dist/animationComponent/index.es.d.ts +3 -0
  7. package/dist/animationComponent/index.es.js +1111 -0
  8. package/dist/animationComponent/index.umd.js +507 -0
  9. package/dist/animationComponent/shared.d.ts +3 -0
  10. package/dist/animationComponent/types.d.ts +28 -0
  11. package/dist/animationComponent/typesSchema.d.ts +48 -0
  12. package/dist/animationComponent/utils.d.ts +19 -0
  13. package/dist/dataSourceEjs/EjsExporter.d.ts +13 -0
  14. package/dist/dataSourceEjs/EjsImporter.d.ts +29 -0
  15. package/dist/dataSourceEjs/index.cjs.d.ts +2 -2
  16. package/dist/dataSourceEjs/index.cjs.js +24 -3
  17. package/dist/dataSourceEjs/index.d.ts +2 -2
  18. package/dist/dataSourceEjs/index.es.d.ts +2 -2
  19. package/dist/dataSourceEjs/index.es.js +697 -114
  20. package/dist/dataSourceEjs/index.umd.js +24 -3
  21. package/dist/dataSourceEjs/shared.d.ts +3 -0
  22. package/dist/dataSourceEjs/types.d.ts +2 -2
  23. package/dist/dataSourceEjs/typesSchema.d.ts +3 -0
  24. package/dist/dataSourceHandlebars/HandlebarsExporter.d.ts +16 -0
  25. package/dist/dataSourceHandlebars/HandlebarsImporter.d.ts +20 -0
  26. package/dist/dataSourceHandlebars/helperImplementations.d.ts +1 -0
  27. package/dist/dataSourceHandlebars/index.cjs.js +20 -1
  28. package/dist/dataSourceHandlebars/index.es.js +401 -99
  29. package/dist/dataSourceHandlebars/index.umd.js +20 -1
  30. package/dist/dataSourceHandlebars/shared.d.ts +3 -0
  31. package/dist/dataSourceHandlebars/types.d.ts +2 -2
  32. package/dist/dataSourceHandlebars/typesSchema.d.ts +3 -0
  33. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  34. package/dist/googleFontsAssetProvider/index.es.js +29 -29
  35. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  36. package/dist/iconifyComponent/index.cjs.js +2 -2
  37. package/dist/iconifyComponent/index.es.js +64 -64
  38. package/dist/iconifyComponent/index.umd.js +2 -2
  39. package/dist/index.cjs.d.ts +1 -0
  40. package/dist/index.cjs.js +587 -51
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.es.d.ts +1 -0
  43. package/dist/index.es.js +4809 -3046
  44. package/dist/index.umd.js +584 -48
  45. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  46. package/dist/layoutSidebarButtons/index.es.js +59 -59
  47. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  48. package/dist/presetPrintable/index.cjs.js +3 -3
  49. package/dist/presetPrintable/index.es.js +136 -131
  50. package/dist/presetPrintable/index.umd.js +4 -4
  51. package/dist/prosemirror/index.cjs.js +1 -1
  52. package/dist/prosemirror/index.es.js +1 -1
  53. package/dist/prosemirror/index.umd.js +1 -1
  54. package/dist/rteTinyMce/index.cjs.js +2 -2
  55. package/dist/rteTinyMce/index.es.js +67 -67
  56. package/dist/rteTinyMce/index.umd.js +2 -2
  57. package/dist/tableComponent/index.cjs.js +1 -1
  58. package/dist/tableComponent/index.es.js +14 -14
  59. package/dist/tableComponent/index.umd.js +1 -1
  60. package/dist/utilsDataSources.d.ts +28 -0
  61. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  62. package/dist/youtubeAssetProvider/index.es.js +26 -26
  63. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  64. package/package.json +2 -1
  65. package/dist/dataSourceEjs/EjsStrategy.d.ts +0 -15
  66. package/dist/dataSourceHandlebars/HandlebarsStrategy.d.ts +0 -17
@@ -1 +1 @@
1
- "use strict";var L=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(L||{}),B=(e=>(e.toastAdd="studio:toastAdd",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.setDragAbsolute="studio:setDragAbsolute",e))(B||{}),R=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(R||{});const M="app.grapesjs.com",G="app-stage.grapesjs.com",A=[M,G,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],E="license:check:start",H="license:check:end",N=()=>typeof window<"u",_=({isDev:e,isStage:t})=>`${e?"":`https://${t?G:M}`}/api`,S=()=>{const e=N()&&window.location.hostname;return!!e&&(A.includes(e)||A.some(t=>e.endsWith(t)))};async function W({path:e,baseApiUrl:t,method:n="GET",headers:l={},params:c,body:b}){const y=`${t||_({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 k={[L.free]:0,[L.startup]:10,[L.business]:20,[L.enterprise]:30};function j(e){const t=e;return t.init=n=>l=>e(l,n),t}const K=e=>j(e);async function V({editor:e,plan:t,pluginName:n,licenseKey:l,cleanup:c}){let b="",f=!1;const y=S(),r=s=>{console.warn("Cleanup plugin:",n,"Reason:",s),c()},o=(s={})=>{var i;const{error:g,sdkLicense:v}=s,a=(i=s.plan)==null?void 0:i.category;if(!(v||s.license)||g)r(g||"Invalid license");else if(a){const p=k[t],d=k[a];p>d&&r({pluginRequiredPlan:t,licensePlan:a})}};e.on(E,s=>{b=s==null?void 0:s.baseApiUrl,f=!0}),e.on(H,s=>{o(s)}),setTimeout(async()=>{if(!f){if(y)return;if(l){const s=await F({licenseKey:l,pluginName:n,baseApiUrl:b});s&&o(s)}else r("The `licenseKey` option not provided")}},2e3)}async function F(e){const{licenseKey:t,pluginName:n,baseApiUrl:l}=e;try{return(await W({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))(h||{});const D="sidebarButtonsTarget",P=e=>{const{id:t,icon:n,label:l,tooltip:c,className:b,skipSelfClose:f,removeLayouts:y,layoutComponent:r,layoutCommand:o}=e,s=t;return{id:I(t),type:"button",icon:n,tooltip:l||c,className:b,editorEvents:{[`${R.layoutToggleId}${s}`]:({fromEvent:g,setState:v,editor:a})=>{v({active:g.isOpen}),setTimeout(()=>a.refresh({tools:!0}),20)}},onClick:({editor:g,state:v})=>{if(v.active&&f)return;const a=(o==null?void 0:o.placer)||{type:"static",layoutId:D},u={...a,skipCleanup:a.type==="static"},i=y||Object.keys(h).filter(d=>d!==s);x(g,{removeLayouts:i,layout:{placer:u}});const p={id:s,placer:a,header:(o==null?void 0:o.header)??{label:l,close:!f},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...o==null?void 0:o.style}};g.runCommand(B.layoutToggle,p)}}},I=e=>`button__${e}`,x=(e,t={})=>{(t.removeLayouts||Object.keys(h)).forEach(l=>e.runCommand(B.layoutRemove,{id:l,layout:t.layout}))},U=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:a,editor:u})=>{var d;const i=u.getSelected(),p={type:"image",src:a.src};if(i!=null&&i.is("image"))return i.set("src",a.src);if(i&&u.Components.canMove(i,p)){const T=i.append(p)[0];T&&u.select(T)}else if(!i){const T=(d=u.getWrapper())==null?void 0:d.append(p)[0];T&&u.select(T)}}}}],f=[...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:D,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 T=P(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:h,breakpoint:u,buttonProps:T,sidebarButtonProps:d,...l,createSidebarButton:$=>P({...d,...$})}):T}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:h,breakpoint:u,sidebarButtons:i,...l,createSidebarButton:d=>P({...d})}):i).filter(Boolean)},g=(a,u,i)=>{var p;return((p=e==null?void 0:e.rootLayout)==null?void 0:p.call(e,{breakpoint:i,sidebarButtons:u,rootLayout:a,layoutSidebarLeft:r,layoutSidebarTarget:y,...l,createSidebarButton:d=>P({...d})}))??a};if(t){const a=s(f,t);c[t]=g({type:"row",style:{height:"100%"},children:[{...r,children:a},y,o]},a,t)}if(n){const a=f.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"},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:u}]},u,n)}const v=s(b,0);return{default:g({type:"row",style:{height:"100%"},children:[{...r,children:v},y,o,{type:"sidebarRight"}]},v,0),responsive:c}},w="layoutSidebarButtons",q=L.free,Z=function(e,t={}){const{Commands:n}=e,l=n.events,c={...t};(()=>{if(e.runCommand(B.layoutConfigGet)||c.skipLayoutConfig===!0)return;const y=U(c);e.runCommand(B.layoutConfigSet,{...y})})(),n.add(`${w}:toggleButton`,(f,y,r)=>{const o=document.getElementById(I(r==null?void 0:r.id));o==null||o.click()}),e.on(`${l.runCommand}core:preview`,()=>{x(e)}),V({editor:e,licenseKey:c.licenseKey,plan:q,pluginName:w,cleanup:()=>{e.runCommand(B.layoutConfigSet)}})},O=K(Z);O.createLayoutConfig=e=>U(e);module.exports=O;
1
+ "use strict";var L=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(L||{}),B=(e=>(e.toastAdd="studio:toastAdd",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))(B||{}),R=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(R||{});const G="app.grapesjs.com",M="app-stage.grapesjs.com",A=[G,M,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],O="license:check:start",$="license:check:end",H=()=>typeof window<"u",N=({isDev:e,isStage:t})=>`${e?"":`https://${t?M:G}`}/api`,_=()=>{const e=H()&&window.location.hostname;return!!e&&(A.includes(e)||A.some(t=>e.endsWith(t)))};async function W({path:e,baseApiUrl:t,method:n="GET",headers:l={},params:c,body:b}){const y=`${t||N({isDev:!1,isStage:!1})}${e}`,r={method:n,headers:{"Content-Type":"application/json",...l}};b&&(r.body=JSON.stringify(b));const a=c?new URLSearchParams(c).toString():"",s=a?`?${a}`:"",g=await fetch(`${y}${s}`,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 j(e){const t=e;return t.init=n=>l=>e(l,n),t}const K=e=>j(e);async function V({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()},a=(s={})=>{var i;const{error:g,sdkLicense:v}=s,o=(i=s.plan)==null?void 0:i.category;if(!(v||s.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(O,s=>{b=s==null?void 0:s.baseApiUrl,p=!0}),e.on($,s=>{a(s)}),setTimeout(async()=>{if(!p){if(y)return;if(l){const s=await F({licenseKey:l,pluginName:n,baseApiUrl:b});s&&a(s)}else r("The `licenseKey` option not provided")}},2e3)}async function F(e){const{licenseKey:t,pluginName:n,baseApiUrl:l}=e;try{return(await W({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))(h||{});const D="sidebarButtonsTarget",P=e=>{const{id:t,icon:n,label:l,tooltip:c,className:b,skipSelfClose:p,removeLayouts:y,layoutComponent:r,layoutCommand:a}=e,s=t;return{id:I(t),type:"button",icon:n,tooltip:l||c,className:b,editorEvents:{[`${R.layoutToggleId}${s}`]:({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=(a==null?void 0:a.placer)||{type:"static",layoutId:D},u={...o,skipCleanup:o.type==="static"},i=y||Object.keys(h).filter(d=>d!==s);S(g,{removeLayouts:i,layout:{placer:u}});const f={id:s,placer:o,header:(a==null?void 0:a.header)??{label:l,close:!p},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...a==null?void 0:a.style}};g.runCommand(B.layoutToggle,f)}}},I=e=>`button__${e}`,S=(e,t={})=>{(t.removeLayouts||Object.keys(h)).forEach(l=>e.runCommand(B.layoutRemove,{id:l,layout:t.layout}))},x=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:D,type:"column",style:{overflow:"hidden"}},r={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},a={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},s=(o,u)=>{const i=o.map(d=>{const T=P(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:h,breakpoint:u,buttonProps:T,sidebarButtonProps:d,...l,createSidebarButton:E=>P({...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=>P({...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=>P({...d})}))??o};if(t){const o=s(p,t);c[t]=g({type:"row",style:{height:"100%"},children:[{...r,children:o},y,a]},o,t)}if(n){const o=p.map(i=>({...i,layoutCommand:{placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}}})),u=s(o,n);c[n]=g({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas"},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:u}]},u,n)}const v=s(b,0);return{default:g({type:"row",style:{height:"100%"},children:[{...r,children:v},y,a,{type:"sidebarRight"}]},v,0),responsive:c}},w="layoutSidebarButtons",q=L.free,Z=function(e,t={}){const{Commands:n}=e,l=n.events,c={...t};(()=>{if(e.runCommand(B.layoutConfigGet)||c.skipLayoutConfig===!0)return;const y=x(c);e.runCommand(B.layoutConfigSet,{...y})})(),n.add(`${w}:toggleButton`,(p,y,r)=>{const a=document.getElementById(I(r==null?void 0:r.id));a==null||a.click()}),e.on(`${l.runCommand}core:preview`,()=>{S(e)}),V({editor:e,licenseKey:c.licenseKey,plan:q,pluginName:w,cleanup:()=>{e.runCommand(B.layoutConfigSet)}})},U=K(Z);U.createLayoutConfig=e=>x(e);module.exports=U;
@@ -1,7 +1,7 @@
1
- var L = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(L || {}), B = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", 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.setDragAbsolute = "studio:setDragAbsolute", e))(B || {}), R = /* @__PURE__ */ ((e) => (e.layoutToggleId = "studio:layoutToggle:", e.toggleBlocksPanel = "studio:toggleBlocksPanel", e.pageSettingsUpdate = "studio:pageSettingsUpdate", e.toggleDataSourcesPreview = "studio:toggleDataSourcesPreview", e))(R || {});
2
- const M = "app.grapesjs.com", G = "app-stage.grapesjs.com", A = [
3
- M,
1
+ var L = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(L || {}), B = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", 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))(B || {}), R = /* @__PURE__ */ ((e) => (e.layoutToggleId = "studio:layoutToggle:", e.toggleBlocksPanel = "studio:toggleBlocksPanel", e.pageSettingsUpdate = "studio:pageSettingsUpdate", e.toggleDataSourcesPreview = "studio:toggleDataSourcesPreview", e))(R || {});
2
+ const G = "app.grapesjs.com", M = "app-stage.grapesjs.com", A = [
4
3
  G,
4
+ M,
5
5
  "localhost",
6
6
  "127.0.0.1",
7
7
  ".local-credentialless.webcontainer.io",
@@ -10,11 +10,11 @@ const M = "app.grapesjs.com", G = "app-stage.grapesjs.com", A = [
10
10
  // For stackblitz.com demos
11
11
  "-sandpack.codesandbox.io"
12
12
  // For Sandpack demos
13
- ], $ = "license:check:start", E = "license:check:end", H = () => typeof window < "u", N = ({ isDev: e, isStage: t }) => `${e ? "" : `https://${t ? G : M}`}/api`, _ = () => {
14
- const e = H() && window.location.hostname;
13
+ ], E = "license:check:start", O = "license:check:end", $ = () => typeof window < "u", H = ({ isDev: e, isStage: t }) => `${e ? "" : `https://${t ? M : G}`}/api`, N = () => {
14
+ const e = $() && window.location.hostname;
15
15
  return !!e && (A.includes(e) || A.some((t) => e.endsWith(t)));
16
16
  };
17
- async function S({
17
+ async function _({
18
18
  path: e,
19
19
  baseApiUrl: t,
20
20
  method: n = "GET",
@@ -22,7 +22,7 @@ async function S({
22
22
  params: c,
23
23
  body: b
24
24
  }) {
25
- const y = `${t || N({ isDev: !1, isStage: !1 })}${e}`, r = {
25
+ const y = `${t || H({ isDev: !1, isStage: !1 })}${e}`, r = {
26
26
  method: n,
27
27
  headers: {
28
28
  "Content-Type": "application/json",
@@ -30,7 +30,7 @@ async function S({
30
30
  }
31
31
  };
32
32
  b && (r.body = JSON.stringify(b));
33
- const a = c ? new URLSearchParams(c).toString() : "", s = a ? `?${a}` : "", g = await fetch(`${y}${s}`, r);
33
+ const s = c ? new URLSearchParams(c).toString() : "", a = s ? `?${s}` : "", g = await fetch(`${y}${a}`, r);
34
34
  if (!g.ok)
35
35
  throw new Error(`HTTP error! status: ${g.status}`);
36
36
  return g.json();
@@ -53,29 +53,29 @@ async function K({
53
53
  licenseKey: l,
54
54
  cleanup: c
55
55
  }) {
56
- let b = "", f = !1;
57
- const y = _(), r = (s) => {
58
- console.warn("Cleanup plugin:", n, "Reason:", s), c();
59
- }, a = (s = {}) => {
56
+ let b = "", p = !1;
57
+ const y = N(), r = (a) => {
58
+ console.warn("Cleanup plugin:", n, "Reason:", a), c();
59
+ }, s = (a = {}) => {
60
60
  var i;
61
- const { error: g, sdkLicense: v } = s, o = (i = s.plan) == null ? void 0 : i.category;
62
- if (!(v || s.license) || g)
61
+ const { error: g, sdkLicense: v } = a, o = (i = a.plan) == null ? void 0 : i.category;
62
+ if (!(v || a.license) || g)
63
63
  r(g || "Invalid license");
64
64
  else if (o) {
65
- const p = k[t], d = k[o];
66
- p > d && r({ pluginRequiredPlan: t, licensePlan: o });
65
+ const f = k[t], d = k[o];
66
+ f > d && r({ pluginRequiredPlan: t, licensePlan: o });
67
67
  }
68
68
  };
69
- e.on($, (s) => {
70
- b = s == null ? void 0 : s.baseApiUrl, f = !0;
71
- }), e.on(E, (s) => {
72
- a(s);
69
+ e.on(E, (a) => {
70
+ b = a == null ? void 0 : a.baseApiUrl, p = !0;
71
+ }), e.on(O, (a) => {
72
+ s(a);
73
73
  }), setTimeout(async () => {
74
- if (!f) {
74
+ if (!p) {
75
75
  if (y) return;
76
76
  if (l) {
77
- const s = await V({ licenseKey: l, pluginName: n, baseApiUrl: b });
78
- s && a(s);
77
+ const a = await V({ licenseKey: l, pluginName: n, baseApiUrl: b });
78
+ a && s(a);
79
79
  } else
80
80
  r("The `licenseKey` option not provided");
81
81
  }
@@ -84,7 +84,7 @@ async function K({
84
84
  async function V(e) {
85
85
  const { licenseKey: t, pluginName: n, baseApiUrl: l } = e;
86
86
  try {
87
- return (await S({
87
+ return (await _({
88
88
  baseApiUrl: l,
89
89
  path: `/sdk/${t || "na"}`,
90
90
  method: "POST",
@@ -99,7 +99,7 @@ async function V(e) {
99
99
  }
100
100
  var h = /* @__PURE__ */ ((e) => (e.panelBlocks = "panelBlocks", e.panelPagesLayers = "panelPagesLayers", e.panelGlobalStyles = "panelGlobalStyles", e.panelSidebarTabs = "panelSidebarTabs", e.panelAssets = "panelAssets", e))(h || {});
101
101
  const D = "sidebarButtonsTarget", P = (e) => {
102
- const { id: t, icon: n, label: l, tooltip: c, className: b, skipSelfClose: f, removeLayouts: y, layoutComponent: r, layoutCommand: a } = e, s = t;
102
+ const { id: t, icon: n, label: l, tooltip: c, className: b, skipSelfClose: p, removeLayouts: y, layoutComponent: r, layoutCommand: s } = e, a = t;
103
103
  return {
104
104
  id: I(t),
105
105
  type: "button",
@@ -107,35 +107,35 @@ const D = "sidebarButtonsTarget", P = (e) => {
107
107
  tooltip: l || c,
108
108
  className: b,
109
109
  editorEvents: {
110
- [`${R.layoutToggleId}${s}`]: ({ fromEvent: g, setState: v, editor: o }) => {
110
+ [`${R.layoutToggleId}${a}`]: ({ fromEvent: g, setState: v, editor: o }) => {
111
111
  v({ active: g.isOpen }), setTimeout(() => o.refresh({ tools: !0 }), 20);
112
112
  }
113
113
  },
114
114
  onClick: ({ editor: g, state: v }) => {
115
- if (v.active && f) return;
116
- const o = (a == null ? void 0 : a.placer) || {
115
+ if (v.active && p) return;
116
+ const o = (s == null ? void 0 : s.placer) || {
117
117
  type: "static",
118
118
  layoutId: D
119
- }, u = { ...o, skipCleanup: o.type === "static" }, i = y || Object.keys(h).filter((d) => d !== s);
120
- x(g, { removeLayouts: i, layout: { placer: u } });
121
- const p = {
122
- id: s,
119
+ }, u = { ...o, skipCleanup: o.type === "static" }, i = y || Object.keys(h).filter((d) => d !== a);
120
+ S(g, { removeLayouts: i, layout: { placer: u } });
121
+ const f = {
122
+ id: a,
123
123
  placer: o,
124
- header: (a == null ? void 0 : a.header) ?? { label: l, close: !f },
124
+ header: (s == null ? void 0 : s.header) ?? { label: l, close: !p },
125
125
  layout: r,
126
126
  style: {
127
127
  width: 280,
128
128
  height: "100%",
129
129
  borderRightWidth: 1,
130
- ...a == null ? void 0 : a.style
130
+ ...s == null ? void 0 : s.style
131
131
  }
132
132
  };
133
- g.runCommand(B.layoutToggle, p);
133
+ g.runCommand(B.layoutToggle, f);
134
134
  }
135
135
  };
136
- }, I = (e) => `button__${e}`, x = (e, t = {}) => {
136
+ }, I = (e) => `button__${e}`, S = (e, t = {}) => {
137
137
  (t.removeLayouts || Object.keys(h)).forEach((l) => e.runCommand(B.layoutRemove, { id: l, layout: t.layout }));
138
- }, U = (e) => {
138
+ }, x = (e) => {
139
139
  const t = (e == null ? void 0 : e.breakpointTablet) ?? 1024, n = (e == null ? void 0 : e.breakpointMobile) ?? 768, l = { breakpointTablet: t, breakpointMobile: n }, c = {}, b = [
140
140
  {
141
141
  id: h.panelBlocks,
@@ -165,20 +165,20 @@ const D = "sidebarButtonsTarget", P = (e) => {
165
165
  style: { padding: 7 },
166
166
  onSelect: ({ assetProps: o, editor: u }) => {
167
167
  var d;
168
- const i = u.getSelected(), p = { type: "image", src: o.src };
168
+ const i = u.getSelected(), f = { type: "image", src: o.src };
169
169
  if (i != null && i.is("image"))
170
170
  return i.set("src", o.src);
171
- if (i && u.Components.canMove(i, p)) {
172
- const T = i.append(p)[0];
171
+ if (i && u.Components.canMove(i, f)) {
172
+ const T = i.append(f)[0];
173
173
  T && u.select(T);
174
174
  } else if (!i) {
175
- const T = (d = u.getWrapper()) == null ? void 0 : d.append(p)[0];
175
+ const T = (d = u.getWrapper()) == null ? void 0 : d.append(f)[0];
176
176
  T && u.select(T);
177
177
  }
178
178
  }
179
179
  }
180
180
  }
181
- ], f = [
181
+ ], p = [
182
182
  ...b,
183
183
  {
184
184
  id: h.panelSidebarTabs,
@@ -196,14 +196,14 @@ const D = "sidebarButtonsTarget", P = (e) => {
196
196
  resizable: !1,
197
197
  style: { padding: "10px 5px", alignItems: "center", width: 45, gap: 10 },
198
198
  children: []
199
- }, a = {
199
+ }, s = {
200
200
  type: "canvasSidebarTop",
201
201
  sidebarTop: {
202
202
  leftContainer: {
203
203
  buttons: []
204
204
  }
205
205
  }
206
- }, s = (o, u) => {
206
+ }, a = (o, u) => {
207
207
  const i = o.map((d) => {
208
208
  const T = P(d);
209
209
  return e != null && e.sidebarButton ? e.sidebarButton({
@@ -213,7 +213,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
213
213
  buttonProps: T,
214
214
  sidebarButtonProps: d,
215
215
  ...l,
216
- createSidebarButton: (O) => P({ ...d, ...O })
216
+ createSidebarButton: (U) => P({ ...d, ...U })
217
217
  }) : T;
218
218
  }).filter(Boolean);
219
219
  return (e != null && e.sidebarButtons ? e == null ? void 0 : e.sidebarButtons({
@@ -224,8 +224,8 @@ const D = "sidebarButtonsTarget", P = (e) => {
224
224
  createSidebarButton: (d) => P({ ...d })
225
225
  }) : i).filter(Boolean);
226
226
  }, g = (o, u, i) => {
227
- var p;
228
- return ((p = e == null ? void 0 : e.rootLayout) == null ? void 0 : p.call(e, {
227
+ var f;
228
+ return ((f = e == null ? void 0 : e.rootLayout) == null ? void 0 : f.call(e, {
229
229
  breakpoint: i,
230
230
  sidebarButtons: u,
231
231
  rootLayout: o,
@@ -236,7 +236,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
236
236
  })) ?? o;
237
237
  };
238
238
  if (t) {
239
- const o = s(f, t);
239
+ const o = a(p, t);
240
240
  c[t] = g(
241
241
  {
242
242
  type: "row",
@@ -247,7 +247,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
247
247
  children: o
248
248
  },
249
249
  y,
250
- a
250
+ s
251
251
  ]
252
252
  },
253
253
  o,
@@ -255,7 +255,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
255
255
  );
256
256
  }
257
257
  if (n) {
258
- const o = f.map(
258
+ const o = p.map(
259
259
  (i) => ({
260
260
  ...i,
261
261
  layoutCommand: {
@@ -263,7 +263,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
263
263
  style: { height: "calc(100% - 40px)" }
264
264
  }
265
265
  })
266
- ), u = s(o, n);
266
+ ), u = a(o, n);
267
267
  c[n] = g(
268
268
  {
269
269
  type: "column",
@@ -282,7 +282,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
282
282
  n
283
283
  );
284
284
  }
285
- const v = s(b, 0);
285
+ const v = a(b, 0);
286
286
  return {
287
287
  default: g(
288
288
  {
@@ -294,7 +294,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
294
294
  children: v
295
295
  },
296
296
  y,
297
- a,
297
+ s,
298
298
  { type: "sidebarRight" }
299
299
  ]
300
300
  },
@@ -309,13 +309,13 @@ const D = "sidebarButtonsTarget", P = (e) => {
309
309
  };
310
310
  (() => {
311
311
  if (e.runCommand(B.layoutConfigGet) || c.skipLayoutConfig === !0) return;
312
- const y = U(c);
312
+ const y = x(c);
313
313
  e.runCommand(B.layoutConfigSet, { ...y });
314
- })(), n.add(`${w}:toggleButton`, (f, y, r) => {
315
- const a = document.getElementById(I(r == null ? void 0 : r.id));
316
- a == null || a.click();
314
+ })(), n.add(`${w}:toggleButton`, (p, y, r) => {
315
+ const s = document.getElementById(I(r == null ? void 0 : r.id));
316
+ s == null || s.click();
317
317
  }), e.on(`${l.runCommand}core:preview`, () => {
318
- x(e);
318
+ S(e);
319
319
  }), K({
320
320
  editor: e,
321
321
  licenseKey: c.licenseKey,
@@ -326,7 +326,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
326
326
  }
327
327
  });
328
328
  }, Z = j(q);
329
- Z.createLayoutConfig = (e) => U(e);
329
+ Z.createLayoutConfig = (e) => x(e);
330
330
  export {
331
331
  Z as default
332
332
  };
@@ -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.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.setDragAbsolute="studio:setDragAbsolute",e))(v||{}),A=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(A||{});const k="app.grapesjs.com",w="app-stage.grapesjs.com",R=[k,w,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],$="license:check:start",E="license:check:end",S=()=>typeof window<"u",_=({isDev:e,isStage:t})=>`${e?"":`https://${t?w:k}`}/api`,H=()=>{const e=S()&&window.location.hostname;return!!e&&(R.includes(e)||R.some(t=>e.endsWith(t)))};async function N({path:e,baseApiUrl:t,method:a="GET",headers:l={},params:c,body:b}){const y=`${t||_({isDev:!1,isStage:!1})}${e}`,r={method:a,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 M={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function W(e){const t=e;return t.init=a=>l=>e(l,a),t}const j=e=>W(e);async function K({editor:e,plan:t,pluginName:a,licenseKey:l,cleanup:c}){let b="",f=!1;const y=H(),r=s=>{console.warn("Cleanup plugin:",a,"Reason:",s),c()},o=(s={})=>{var i;const{error:g,sdkLicense:L}=s,n=(i=s.plan)==null?void 0:i.category;if(!(L||s.license)||g)r(g||"Invalid license");else if(n){const p=M[t],d=M[n];p>d&&r({pluginRequiredPlan:t,licensePlan:n})}};e.on($,s=>{b=s==null?void 0:s.baseApiUrl,f=!0}),e.on(E,s=>{o(s)}),setTimeout(async()=>{if(!f){if(y)return;if(l){const s=await V({licenseKey:l,pluginName:a,baseApiUrl:b});s&&o(s)}else r("The `licenseKey` option not provided")}},2e3)}async function V(e){const{licenseKey:t,pluginName:a,baseApiUrl:l}=e;try{return(await N({baseApiUrl:l,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:a}})).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))(T||{});const G="sidebarButtonsTarget",P=e=>{const{id:t,icon:a,label:l,tooltip:c,className:b,skipSelfClose:f,removeLayouts:y,layoutComponent:r,layoutCommand:o}=e,s=t;return{id:D(t),type:"button",icon:a,tooltip:l||c,className:b,editorEvents:{[`${A.layoutToggleId}${s}`]:({fromEvent:g,setState:L,editor:n})=>{L({active:g.isOpen}),setTimeout(()=>n.refresh({tools:!0}),20)}},onClick:({editor:g,state:L})=>{if(L.active&&f)return;const n=(o==null?void 0:o.placer)||{type:"static",layoutId:G},u={...n,skipCleanup:n.type==="static"},i=y||Object.keys(T).filter(d=>d!==s);I(g,{removeLayouts:i,layout:{placer:u}});const p={id:s,placer:n,header:(o==null?void 0:o.header)??{label:l,close:!f},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...o==null?void 0:o.style}};g.runCommand(v.layoutToggle,p)}}},D=e=>`button__${e}`,I=(e,t={})=>{(t.removeLayouts||Object.keys(T)).forEach(l=>e.runCommand(v.layoutRemove,{id:l,layout:t.layout}))},x=e=>{const t=(e==null?void 0:e.breakpointTablet)??1024,a=(e==null?void 0:e.breakpointMobile)??768,l={breakpointTablet:t,breakpointMobile:a},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:n,editor:u})=>{var d;const i=u.getSelected(),p={type:"image",src:n.src};if(i!=null&&i.is("image"))return i.set("src",n.src);if(i&&u.Components.canMove(i,p)){const B=i.append(p)[0];B&&u.select(B)}else if(!i){const B=(d=u.getWrapper())==null?void 0:d.append(p)[0];B&&u.select(B)}}}}],f=[...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:G,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=(n,u)=>{const i=n.map(d=>{const B=P(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:T,breakpoint:u,buttonProps:B,sidebarButtonProps:d,...l,createSidebarButton:q=>P({...d,...q})}):B}).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=(n,u,i)=>{var p;return((p=e==null?void 0:e.rootLayout)==null?void 0:p.call(e,{breakpoint:i,sidebarButtons:u,rootLayout:n,layoutSidebarLeft:r,layoutSidebarTarget:y,...l,createSidebarButton:d=>P({...d})}))??n};if(t){const n=s(f,t);c[t]=g({type:"row",style:{height:"100%"},children:[{...r,children:n},y,o]},n,t)}if(a){const n=f.map(i=>({...i,layoutCommand:{placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}}})),u=s(n,a);c[a]=g({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas"},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:u}]},u,a)}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}},U="layoutSidebarButtons",F=h.free,O=j(function(e,t={}){const{Commands:a}=e,l=a.events,c={...t};(()=>{if(e.runCommand(v.layoutConfigGet)||c.skipLayoutConfig===!0)return;const y=x(c);e.runCommand(v.layoutConfigSet,{...y})})(),a.add(`${U}:toggleButton`,(f,y,r)=>{const o=document.getElementById(D(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:U,cleanup:()=>{e.runCommand(v.layoutConfigSet)}})});return O.createLayoutConfig=e=>x(e),O});
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.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||{}),A=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(A||{});const k="app.grapesjs.com",w="app-stage.grapesjs.com",R=[k,w,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],E="license:check:start",O="license:check:end",$=()=>typeof window<"u",_=({isDev:e,isStage:t})=>`${e?"":`https://${t?w:k}`}/api`,H=()=>{const e=$()&&window.location.hostname;return!!e&&(R.includes(e)||R.some(t=>e.endsWith(t)))};async function N({path:e,baseApiUrl:t,method:n="GET",headers:l={},params:c,body:b}){const y=`${t||_({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 G={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function W(e){const t=e;return t.init=n=>l=>e(l,n),t}const j=e=>W(e);async function K({editor:e,plan:t,pluginName:n,licenseKey:l,cleanup:c}){let b="",f=!1;const y=H(),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 p=G[t],d=G[a];p>d&&r({pluginRequiredPlan:t,licensePlan:a})}};e.on(E,s=>{b=s==null?void 0:s.baseApiUrl,f=!0}),e.on(O,s=>{o(s)}),setTimeout(async()=>{if(!f){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 N({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))(T||{});const M="sidebarButtonsTarget",P=e=>{const{id:t,icon:n,label:l,tooltip:c,className:b,skipSelfClose:f,removeLayouts:y,layoutComponent:r,layoutCommand:o}=e,s=t;return{id:D(t),type:"button",icon:n,tooltip:l||c,className:b,editorEvents:{[`${A.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&&f)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);S(g,{removeLayouts:i,layout:{placer:u}});const p={id:s,placer:a,header:(o==null?void 0:o.header)??{label:l,close:!f},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...o==null?void 0:o.style}};g.runCommand(v.layoutToggle,p)}}},D=e=>`button__${e}`,S=(e,t={})=>{(t.removeLayouts||Object.keys(T)).forEach(l=>e.runCommand(v.layoutRemove,{id:l,layout:t.layout}))},I=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(),p={type:"image",src:a.src};if(i!=null&&i.is("image"))return i.set("src",a.src);if(i&&u.Components.canMove(i,p)){const B=i.append(p)[0];B&&u.select(B)}else if(!i){const B=(d=u.getWrapper())==null?void 0:d.append(p)[0];B&&u.select(B)}}}}],f=[...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 B=P(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:T,breakpoint:u,buttonProps:B,sidebarButtonProps:d,...l,createSidebarButton:q=>P({...d,...q})}):B}).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 p;return((p=e==null?void 0:e.rootLayout)==null?void 0:p.call(e,{breakpoint:i,sidebarButtons:u,rootLayout:a,layoutSidebarLeft:r,layoutSidebarTarget:y,...l,createSidebarButton:d=>P({...d})}))??a};if(t){const a=s(f,t);c[t]=g({type:"row",style:{height:"100%"},children:[{...r,children:a},y,o]},a,t)}if(n){const a=f.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"},{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}},x="layoutSidebarButtons",F=h.free,U=j(function(e,t={}){const{Commands:n}=e,l=n.events,c={...t};(()=>{if(e.runCommand(v.layoutConfigGet)||c.skipLayoutConfig===!0)return;const y=I(c);e.runCommand(v.layoutConfigSet,{...y})})(),n.add(`${x}:toggleButton`,(f,y,r)=>{const o=document.getElementById(D(r==null?void 0:r.id));o==null||o.click()}),e.on(`${l.runCommand}core:preview`,()=>{S(e)}),K({editor:e,licenseKey:c.licenseKey,plan:F,pluginName:x,cleanup:()=>{e.runCommand(v.layoutConfigSet)}})});return U.createLayoutConfig=e=>I(e),U});
@@ -1,4 +1,4 @@
1
- "use strict";const M="app.grapesjs.com",U="app-stage.grapesjs.com",x=[M,U,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],I="license:check:start",N="license:check:end",C=()=>typeof window<"u",j=(e,n={})=>{const t=q(e)?{id:e,src:e}:e;return new Promise((s,a)=>{var p,g;const o=document.querySelector(`script[src="${t.src}"]`),{id:i}=t;if(o)return(p=n.onScript)==null||p.call(n,o),s(i);const c=document.createElement("script");c.src=t.src,c.onload=()=>s(i),c.onerror=()=>a(i),document.head.appendChild(c),(g=n.onScript)==null||g.call(n,c)})},K=({isDev:e,isStage:n})=>`${e?"":`https://${n?U:M}`}/api`,z=()=>{const e=C()&&window.location.hostname;return!!e&&(x.includes(e)||x.some(n=>e.endsWith(n)))},q=e=>typeof e=="string";async function V({path:e,baseApiUrl:n,method:t="GET",headers:s={},params:a,body:o}){const c=`${n||K({isDev:!1,isStage:!1})}${e}`,p={method:t,headers:{"Content-Type":"application/json",...s}};o&&(p.body=JSON.stringify(o));const g=a?new URLSearchParams(a).toString():"",l=g?`?${g}`:"",u=await fetch(`${c}${l}`,p);if(!u.ok)throw new Error(`HTTP error! status: ${u.status}`);return u.json()}var T=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(T||{}),G=(e=>(e.toastAdd="studio:toastAdd",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.setDragAbsolute="studio:setDragAbsolute",e))(G||{});const H={[T.free]:0,[T.startup]:10,[T.business]:20,[T.enterprise]:30};function Y(e){const n=e;return n.init=t=>s=>e(s,t),n}const J=e=>Y(e);async function X({editor:e,plan:n,pluginName:t,licenseKey:s,cleanup:a}){let o="",i=!1;const c=z(),p=l=>{console.warn("Cleanup plugin:",t,"Reason:",l),a()},g=(l={})=>{var h;const{error:u,sdkLicense:d}=l,f=(h=l.plan)==null?void 0:h.category;if(!(d||l.license)||u)p(u||"Invalid license");else if(f){const E=H[n],y=H[f];E>y&&p({pluginRequiredPlan:n,licensePlan:f})}};e.on(I,l=>{o=l==null?void 0:l.baseApiUrl,i=!0}),e.on(N,l=>{g(l)}),setTimeout(async()=>{if(!i){if(c)return;if(s){const l=await Z({licenseKey:s,pluginName:t,baseApiUrl:o});l&&g(l)}else p("The `licenseKey` option not provided")}},2e3)}async function Z(e){const{licenseKey:n,pluginName:t,baseApiUrl:s}=e;try{return(await V({baseApiUrl:s,path:`/sdk/${n||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const Q=e=>n=>{var t;return((t=n.getAttribute)==null?void 0:t.call(n,O))===e},ee=(...e)=>(n,t)=>e.some(s=>t.is(s)),F=(e,n,t)=>{const{doc:s=document}=t,a=t.target||s.head,o=a.querySelector(`style[${e}]`)||s.createElement("style");o.setAttribute(e,"true"),o.innerHTML=n,!a.contains(o)&&a.appendChild(o)},te="gjs-plg-",W="data-gs-plg-",O="data-type-role";function se(e,n,t){let s,a,o,i,c;const p=n;function g(){const u=Date.now()-i;u<p&&u>=0?s=setTimeout(g,p-u):(s=null,c=e.apply(o,a),o=a=null)}const l=function(){return o=this,a=arguments,i=Date.now(),s||(s=setTimeout(g,p)),c};return l.clear=function(){s&&(clearTimeout(s),s=null)},l.flush=function(){s&&(c=e.apply(o,a),o=a=null,clearTimeout(s),s=null)},l}const P="page-break";function $(e,n){const s={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return s[n]?e*s[n]:null}const ne=(e,n)=>{const{name:t,id:s,width:a,height:o,unit:i}=e,{fixedHeight:c}=n,p=`${a}${i}`,g=`${o}${i}`;return{id:s||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${p} x ${g})`,sizeH:o,sizeW:a,sizeUnit:i,widthMedia:"",width:p,minHeight:c?"0":`${$(o,i)}px`,height:c?g:void 0}},D="page-breaks",R="gjs-page-breaks-spot",L=e=>e.type===D;function oe(e){const{Devices:n}=e,{height:t,minHeight:s}=n.getSelected().attributes,o=parseFloat(`${t&&t!=="auto"?t:s}`),i=e.getWrapper(),c=i==null?void 0:i.getEl(),p=[];if(!i||!c)return p;const g=c.getBoundingClientRect().height,u=i.findType(P).map(f=>f.getEl()).filter(Boolean).map(f=>({top:f.offsetTop,height:f.offsetHeight}));let d=0;for(;d<g;){const f=u.find(r=>r.top>d&&r.top<d+o);f?(d=f.top+f.height,p.push(f.top)):(d+=o,d<g&&p.push(d))}return p}function ae(e,n){const{Canvas:t}=e,s=t.events,a=e.events;let o;const i=()=>{F(`${W}preset-printable-spots`,`.${R} {
1
+ "use strict";const U="app.grapesjs.com",G="app-stage.grapesjs.com",x=[U,G,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],N="license:check:start",z="license:check:end",K=()=>typeof window<"u",j=(e,n={})=>{const t=V(e)?{id:e,src:e}:e;return new Promise((s,a)=>{var p,g;const o=document.querySelector(`script[src="${t.src}"]`),{id:i}=t;if(o)return(p=n.onScript)==null||p.call(n,o),s(i);const r=document.createElement("script");r.src=t.src,r.onload=()=>s(i),r.onerror=()=>a(i),document.head.appendChild(r),(g=n.onScript)==null||g.call(n,r)})},C=({isDev:e,isStage:n})=>`${e?"":`https://${n?G:U}`}/api`,q=()=>{const e=K()&&window.location.hostname;return!!e&&(x.includes(e)||x.some(n=>e.endsWith(n)))},V=e=>typeof e=="string";async function Y({path:e,baseApiUrl:n,method:t="GET",headers:s={},params:a,body:o}){const r=`${n||C({isDev:!1,isStage:!1})}${e}`,p={method:t,headers:{"Content-Type":"application/json",...s}};o&&(p.body=JSON.stringify(o));const g=a?new URLSearchParams(a).toString():"",c=g?`?${g}`:"",u=await fetch(`${r}${c}`,p);if(!u.ok)throw new Error(`HTTP error! status: ${u.status}`);return u.json()}var E=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(E||{}),O=(e=>(e.toastAdd="studio:toastAdd",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))(O||{});const H={[E.free]:0,[E.startup]:10,[E.business]:20,[E.enterprise]:30};function J(e){const n=e;return n.init=t=>s=>e(s,t),n}const X=e=>J(e);async function Z({editor:e,plan:n,pluginName:t,licenseKey:s,cleanup:a}){let o="",i=!1;const r=q(),p=c=>{console.warn("Cleanup plugin:",t,"Reason:",c),a()},g=(c={})=>{var l;const{error:u,sdkLicense:d}=c,f=(l=c.plan)==null?void 0:l.category;if(!(d||c.license)||u)p(u||"Invalid license");else if(f){const v=H[n],A=H[f];v>A&&p({pluginRequiredPlan:n,licensePlan:f})}};e.on(N,c=>{o=c==null?void 0:c.baseApiUrl,i=!0}),e.on(z,c=>{g(c)}),setTimeout(async()=>{if(!i){if(r)return;if(s){const c=await Q({licenseKey:s,pluginName:t,baseApiUrl:o});c&&g(c)}else p("The `licenseKey` option not provided")}},2e3)}async function Q(e){const{licenseKey:n,pluginName:t,baseApiUrl:s}=e;try{return(await Y({baseApiUrl:s,path:`/sdk/${n||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const ee=e=>n=>{var t;return((t=n.getAttribute)==null?void 0:t.call(n,W))===e},te=(...e)=>(n,t)=>e.some(s=>t.is(s)),F=(e,n,t)=>{const{doc:s=document}=t,a=t.target||s.head,o=a.querySelector(`style[${e}]`)||s.createElement("style");o.setAttribute(e,"true"),o.innerHTML=n,!a.contains(o)&&a.appendChild(o)},se="gjs-plg-",I="data-gs-plg-",W="data-type-role";function _(e,n,t){let s,a,o,i,r;const p=n===void 0?100:n;function g(){const u=Date.now()-i;u<p&&u>=0?s=setTimeout(g,p-u):(s=null,r=e.apply(o,a),o=a=null)}const c=function(){return o=this,a=arguments,i=Date.now(),s||(s=setTimeout(g,p)),r};return c.clear=function(){s&&(clearTimeout(s),s=null)},c.flush=function(){s&&(r=e.apply(o,a),o=a=null,clearTimeout(s),s=null)},c}const P="page-break";function L(e,n){const s={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return s[n]?e*s[n]:null}const ne=(e,n)=>{const{name:t,id:s,width:a,height:o,unit:i}=e,{fixedHeight:r}=n,p=`${a}${i}`,g=`${o}${i}`;return{id:s||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${p} x ${g})`,sizeH:o,sizeW:a,sizeUnit:i,widthMedia:"",width:p,minHeight:r?"0":`${L(o,i)}px`,height:r?g:void 0}},$="page-breaks",R="gjs-page-breaks-spot",S=e=>e.type===$;function oe(e){const{Devices:n}=e,{height:t,minHeight:s}=n.getSelected().attributes,o=parseFloat(`${t&&t!=="auto"?t:s}`),i=e.getWrapper(),r=i==null?void 0:i.getEl(),p=[];if(!i||!r)return p;const g=r.getBoundingClientRect().height,u=i.findType(P).map(f=>f.getEl()).filter(Boolean).map(f=>({top:f.offsetTop,height:f.offsetHeight}));let d=0;for(;d<g;){const f=u.find(m=>m.top>d&&m.top<d+o);f?(d=f.top+f.height,p.push(f.top)):(d+=o,d<g&&p.push(d))}return p}function ae(e,n){const{Canvas:t}=e,s=t.events,a=e.events;let o;const i=()=>{F(`${I}preset-printable-spots`,`.${R} {
2
2
  position: absolute;
3
3
  left: 0;
4
4
  width: 100%;
@@ -15,7 +15,7 @@
15
15
  right: 0;
16
16
  transform: translate(100%, -50%);
17
17
  }
18
- `,{target:window.document.head})},c=()=>{if(n.enablePageBreaksSpot===!1)return;const r={id:D,type:D,component:e.getWrapper()};return t.getSpots(r).pop()||t.addSpot(r)},p=({spot:r})=>{const{spotEl:h}=r.attributes;!L(r)||!h||!o||o.removeChild(h)},g=({spot:r})=>{if(!L(r)||!o)return;let{spotEl:h}=r.attributes;h||(h=document.createElement("div"),h.className=`${R}__items`,r.set({spotEl:h})),o.appendChild(h)},l=({spot:r})=>{const{spotEl:h,pageBreaks:E=[]}=r.attributes;!L(r)||!h||!o||(Object.entries(r.getStyle()).forEach(([y,A])=>h.style.setProperty(y,A)),h.innerHTML="",E.forEach((y,A)=>{const v=document.createElement("div");v.setAttribute("data-page-number",`${A+2}`),v.className=R,v.style.top=`${y}px`,h.appendChild(v)}))},u=se(()=>{const r=c();r&&r.set({pageBreaks:oe(e),up:(r.attributes.up||0)+1})},150),d=()=>{o=t.getSpotsEl(),c()},f=[["component:input",u],[a.update,u],[s.spotAdd,g],[s.spotUpdate,l],[s.spotRemove,p],[s.frameLoadBody,d]];return f.forEach(([r,h])=>e.on(r,h)),e.onReady(()=>{i()}),()=>{f.forEach(([r,h])=>e.off(r,h)),u.clear()}}var S=(e=>(e.print="presetPrintable:print",e))(S||{});const _=e=>new Promise(n=>{const t=document.createElement("iframe");t.style.cssText="position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;",t.srcdoc=e.content,t.onload=()=>n(t),document.body.appendChild(t)});function ie(e,n){const{Commands:t,Pages:s}=e;return t.add(S.print,async(a,o,i={})=>{const c={page:i.allPages?void 0:s.getSelected(),styles:"inline"},g=(await t.run(G.projectFiles,c)).filter(d=>d.filename.endsWith(".html")),l=g.map(d=>d.content).join('<div style="break-before: page;"></div>'),u=[];if(i.separatePrints)for(const d of g)u.push(await _(d));else u.push(await _({content:l,filename:"",mimeType:""}));for(const d of u){const f=d.contentWindow;f.focus(),f.print()}setTimeout(()=>u.forEach(d=>d.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await j("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await j("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:o,Canvas:i}=a,{sizeW:c,sizeH:p,sizeUnit:g}=o.getSelected().attributes,l=i.getFrameEl().contentDocument,u="px",d=[$(c,g),$(p,g)],f=new window.jspdf.jsPDF({unit:u,format:d}),r=l.body;f.html(r,{callback:h=>h.save()})}),()=>{delete e.Commands.commands[S.print]}}function re(e,n){const{blockPageBreak:t={}}=n,{Components:s,Blocks:a}=e,o="Page Break",i=`${te}${P}`;return s.addType(P,{block:t&&{label:o,media:'<svg viewBox="0 0 24 24"><path d="M18 20H6v-2H4v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2h-2v2M14 2H6a2 2 0 0 0-2 2v8h2V4h8v4h4v4h2V8l-6-6m-3 14H8v-2h3v2m5 0h-3v-2h3v2M3 14h3v2H3v-2m18 2h-3v-2h3v2Z"/></svg>',category:"Extra",select:!0,...t},isComponent:Q(P),model:{defaults:{name:o,classes:i,attributes:{[O]:P},emptyState:!0,stylable:!1,droppable:!1,draggable:ee("wrapper"),styles:`.${i} { break-before: page; }`,traits:[]}}}),()=>{s.removeType(P),a.remove(P)}}const ce="presetPrintable",le=function(e,n={}){const t={selectedDevice:"a4",...n},{Canvas:s,Devices:a}=e,o=s.events,i=e.events,c=t.selectedDevice||a.getConfig().default,g=[{name:"A5",width:148,height:210,unit:"mm"},{name:"A5 Portrait",width:210,height:148,unit:"mm"},{name:"A4",width:210,height:297,unit:"mm"},{name:"A3",width:297,height:420,unit:"mm"},{name:"B5",width:176,height:250,unit:"mm"},{name:"B4",width:250,height:353,unit:"mm"},{name:"Letter",width:8.5,height:11,unit:"in"},{name:"Legal",width:8.5,height:14,unit:"in"},{name:"Ledger",width:11,height:17,unit:"in"}].map(v=>ne(v,t));a.devices.reset(g);const l=c&&a.get(c)||a.getAll().at(0);a.select(l);const u=()=>{const v="page-rule",{rules:b}=e.Css,{width:w,height:m,minHeight:k}=a.getSelected().attributes,B=m&&m!=="auto"?m:k;(b.where({id:v}).pop()||b.add({id:v,selectors:[],selectorsAdd:"@page"},{at:0})).setStyle({size:`${w} ${B}`,margin:"0"})},d=v=>{const b=v.document,{minHeight:w}=a.getSelected().attributes,k=`
18
+ `,{target:window.document.head})},r=()=>{if(n.enablePageBreaksSpot===!1)return;const l={id:$,type:$,component:e.getWrapper()};return t.getSpots(l).pop()||t.addSpot(l)},p=({spot:l})=>{const{spotEl:v}=l.attributes;!S(l)||!v||!o||o.removeChild(v)},g=({spot:l})=>{if(!S(l)||!o)return;let{spotEl:v}=l.attributes;v||(v=document.createElement("div"),v.className=`${R}__items`,l.set({spotEl:v})),o.appendChild(v)},c=({spot:l})=>{const{spotEl:v,pageBreaks:A=[]}=l.attributes;!S(l)||!v||!o||(Object.entries(l.getStyle()).forEach(([T,b])=>v.style.setProperty(T,b)),v.innerHTML="",A.forEach((T,b)=>{const h=document.createElement("div");h.setAttribute("data-page-number",`${b+2}`),h.className=R,h.style.top=`${T}px`,v.appendChild(h)}))},u=_(()=>{if(e.em.destroyed)return;const l=r();l&&l.set({pageBreaks:oe(e),up:(l.attributes.up||0)+1})},150),d=_(u,200),f=()=>{o=t.getSpotsEl(),r()},m=[["component:input",u],[a.update,u],[s.spotAdd,g],[s.spotUpdate,c],[s.spotRemove,p],[s.frameLoadBody,f]];return m.forEach(([l,v])=>e.on(l,v)),e.onReady(()=>{i(),new ResizeObserver(d).observe(t.getElement().parentElement)}),()=>{m.forEach(([l,v])=>e.off(l,v)),u.clear(),d.clear()}}var D=(e=>(e.print="presetPrintable:print",e))(D||{});const M=e=>new Promise(n=>{const t=document.createElement("iframe");t.style.cssText="position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;",t.srcdoc=e.content,t.onload=()=>n(t),document.body.appendChild(t)});function ie(e,n){const{Commands:t,Pages:s}=e;return t.add(D.print,async(a,o,i={})=>{const r={page:i.allPages?void 0:s.getSelected(),styles:"inline",optionsHtml:{exporter:null}},g=(await t.run(O.projectFiles,r)).filter(d=>d.filename.endsWith(".html")),c=g.map(d=>d.content).join('<div style="break-before: page;"></div>'),u=[];if(i.separatePrints)for(const d of g)u.push(await M(d));else u.push(await M({content:c,filename:"",mimeType:""}));for(const d of u){const f=d.contentWindow;f.focus(),f.print()}setTimeout(()=>u.forEach(d=>d.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await j("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await j("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:o,Canvas:i}=a,{sizeW:r,sizeH:p,sizeUnit:g}=o.getSelected().attributes,c=i.getFrameEl().contentDocument,u="px",d=[L(r,g),L(p,g)],f=new window.jspdf.jsPDF({unit:u,format:d}),m=c.body;f.html(m,{callback:l=>l.save()})}),()=>{delete e.Commands.commands[D.print]}}function re(e,n){const{blockPageBreak:t={}}=n,{Components:s,Blocks:a}=e,o="Page Break",i=`${se}${P}`;return s.addType(P,{block:t&&{label:o,media:'<svg viewBox="0 0 24 24"><path d="M18 20H6v-2H4v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2h-2v2M14 2H6a2 2 0 0 0-2 2v8h2V4h8v4h4v4h2V8l-6-6m-3 14H8v-2h3v2m5 0h-3v-2h3v2M3 14h3v2H3v-2m18 2h-3v-2h3v2Z"/></svg>',category:"Extra",select:!0,...t},isComponent:ee(P),model:{defaults:{name:o,classes:i,attributes:{[W]:P},emptyState:!0,stylable:!1,droppable:!1,draggable:te("wrapper"),styles:`.${i} { break-before: page; }`,traits:[]}}}),()=>{s.removeType(P),a.remove(P)}}const ce="presetPrintable",le=function(e,n={}){const t={selectedDevice:"a4",...n},{Canvas:s,Devices:a}=e,o=s.events,i=e.events,r=t.selectedDevice||a.getConfig().default,g=[{name:"A5",width:148,height:210,unit:"mm"},{name:"A5 Portrait",width:210,height:148,unit:"mm"},{name:"A4",width:210,height:297,unit:"mm"},{name:"A3",width:297,height:420,unit:"mm"},{name:"B5",width:176,height:250,unit:"mm"},{name:"B4",width:250,height:353,unit:"mm"},{name:"Letter",width:8.5,height:11,unit:"in"},{name:"Legal",width:8.5,height:14,unit:"in"},{name:"Ledger",width:11,height:17,unit:"in"}].map(b=>ne(b,t));a.devices.reset(g);const c=r&&a.get(r)||a.getAll().at(0);a.select(c);const u=()=>{const b="page-rule",{rules:h}=e.Css,{width:w,height:y,minHeight:k}=a.getSelected().attributes,B=y&&y!=="auto"?y:k;(h.where({id:b}).pop()||h.add({id:b,selectors:[],selectorsAdd:"@page"},{at:0})).setStyle({size:`${w} ${B}`,margin:"0"})},d=b=>{const h=b.document,{minHeight:w}=a.getSelected().attributes,k=`
19
19
  ${!!parseFloat(`${w}`)?`
20
20
  [data-gjs-type="wrapper"] { min-height: ${w}; }
21
21
  `:`
@@ -28,4 +28,4 @@
28
28
  height: 100dvh;
29
29
  }
30
30
  `}
31
- `;F(`${W}preset-printable`,k,{doc:b,target:b.head}),u()};e.on(o.frameLoadBody,v=>{const b=v.window;if(d(b),t.fixedHeight){const m=v.model.getComponent().getEl();m==null||m.addEventListener("scroll",k=>{const B=k.target;B.scrollTop>0&&B.scrollTo(0,0)})}}),e.on(a.events.select,()=>{var b;const v=(b=s.getFrameEl().contentDocument)==null?void 0:b.defaultView;v&&d(v)});const f=()=>{const b=e.Css.getRules().filter(w=>w.selectorsToString()==="body").pop();b==null||b.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},r=[[i.projectLoad,f]];r.forEach(([v,b])=>e.on(v,b));const h=ae(e,t),E=ie(e),y=re(e,t);e.onReady(()=>{e.UndoManager.clear()});const A=()=>{r.forEach(([v,b])=>e.off(v,b)),h(),E(),y()};X({editor:e,licenseKey:t.licenseKey,plan:T.startup,pluginName:ce,cleanup:A})},pe=J(le);module.exports=pe;
31
+ `;F(`${I}preset-printable`,k,{doc:h,target:h.head}),u()};e.on(o.frameLoadBody,b=>{const h=b.window;if(d(h),t.fixedHeight){const y=b.model.getComponent().getEl();y==null||y.addEventListener("scroll",k=>{const B=k.target;B.scrollTop>0&&B.scrollTo(0,0)})}}),e.on(a.events.select,()=>{var h;const b=(h=s.getFrameEl().contentDocument)==null?void 0:h.defaultView;b&&d(b)});const f=()=>{const h=e.Css.getRules().filter(w=>w.selectorsToString()==="body").pop();h==null||h.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},m=[[i.projectLoad,f]];m.forEach(([b,h])=>e.on(b,h));const l=ae(e,t),v=ie(e),A=re(e,t);e.onReady(()=>{e.UndoManager.clear()});const T=()=>{m.forEach(([b,h])=>e.off(b,h)),l(),v(),A()};e.on(i.destroy,T),Z({editor:e,licenseKey:t.licenseKey,plan:E.startup,pluginName:ce,cleanup:T})},pe=X(le);module.exports=pe;