@grapesjs/studio-sdk-plugins 1.0.31 → 1.0.32

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.
@@ -1 +1 @@
1
- "use strict";var P=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(P||{}),B=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(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",O="app-stage.grapesjs.com",$="app2.grapesjs.com",H="app-stage2.grapesjs.com",M=[x,$,O,H,"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})=>`${e?"":`https://${a?O:x}`}/api`,C=()=>{const e=K()&&window.location.hostname;return!!e&&(M.includes(e)||M.some(a=>e.endsWith(a)))};async function F({path:e,baseApiUrl:a,method:n="GET",headers:i={},params:c,body:p}){const b=`${a||V({isDev:!1,isStage:!1})}${e}`,g={method:n,headers:{"Content-Type":"application/json",...i}};p&&(g.body=JSON.stringify(p));const d=c?new URLSearchParams(c).toString():"",t=d?`?${d}`:"",r=await fetch(`${b}${t}`,g);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}const D={[P.free]:0,[P.startup]:10,[P.business]:20,[P.enterprise]:30};function m(e){const a=e;return a.init=n=>i=>e(i,n),a}const q=e=>m(e);async function Z({editor:e,plan:a,pluginName:n,licenseKey:i,cleanup:c}){let p="",f=!1;const b=C(),g=t=>{console.warn("Cleanup plugin:",n,"Reason:",t),c()},d=(t={})=>{var o;const{error:r,sdkLicense:L}=t,s=(o=t.plan)==null?void 0:o.category;if(!(L||t.license)||r)g(r||"Invalid license");else if(s){const l=D[a],y=D[s];l>y&&g({pluginRequiredPlan:a,licensePlan:s})}};e.on(j,t=>{p=t==null?void 0:t.baseApiUrl,f=!0}),e.on(W,t=>{d(t)}),setTimeout(async()=>{if(!f){if(b)return;if(i){const t=await z({licenseKey:i,pluginName:n,baseApiUrl:p});t&&d(t)}else g("The `licenseKey` option not provided")}},2e3)}async function z(e){const{licenseKey:a,pluginName:n,baseApiUrl:i}=e;try{return(await F({baseApiUrl:i,path:`/sdk/${a||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var v=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e.dataSourceManagerPanel="dataSourceManagerPanel",e))(v||{});const S="sidebarButtonsTarget",w=(e,a)=>{const{id:n,icon:i,label:c,tooltip:p,className:f,skipSelfClose:b,removeLayouts:g,layoutComponent:d,layoutCommand:t}=e,{pluginOpts:r,breakpointProps:L}=a,s=n;return{id:E(n),type:"button",icon:i,tooltip:c||p,className:f,editorEvents:{[`${I.layoutToggleId}${s}`]:({fromEvent:u,setState:o,editor:l})=>{o({active:u.isOpen}),setTimeout(()=>l.refresh({tools:!0}),20)}},onClick:({editor:u,state:o})=>{var k;if(o.active&&b)return;const l=(t==null?void 0:t.placer)||{type:"static",layoutId:S},y={...l,skipCleanup:l.type==="static"},h=g||Object.keys(v).filter(R=>R!==s);U(u,{removeLayouts:h,layout:{placer:y}});const A={id:s,placer:l,header:(t==null?void 0:t.header)??{label:c,close:!b},layout:d,style:{width:280,height:"100%",borderRightWidth:1,...t==null?void 0:t.style}},T=((k=r==null?void 0:r.sidebarLayoutCommand)==null?void 0:k.call(r,{...L,layoutCommand:A,sidebarButtonProps:e}))||A;u.runCommand(B.layoutToggle,{...T})}}},E=e=>`button__${e}`,U=(e,a={})=>{(a.removeLayouts||Object.keys(v)).forEach(i=>e.runCommand(B.layoutRemove,{id:i,layout:a.layout}))},N=e=>{const a=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,i={},c=[{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:s,editor:u})=>{var h;const o=u.getSelected(),l={type:"image",src:s.src};let y;if(o!=null&&o.is("image"))return o.set("src",s.src);o&&u.Components.canMove(o,l)?y=o.append(l)[0]:o||(y=(h=u.getWrapper())==null?void 0:h.append(l)[0]),y&&u.select(y,{scroll:!0})}}}],p=[...c,{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:S,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},b={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},g={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},d=s=>({breakpoint:s,breakpointTablet:a,breakpointMobile:n}),t=(s,u,o)=>{const l=d(u),y={pluginOpts:e,breakpointProps:l},h=s.map(T=>{const k=w(T,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:T.id,buttonIds:v,buttonProps:k,sidebarButtonProps:T,...l,createSidebarButton:R=>w({...T,...R},y)}):k}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:v,sidebarButtons:h,...l,createSidebarButton:T=>w({...T,layoutCommand:{...o==null?void 0:o.layoutCommand,...T.layoutCommand}},y)}):h).filter(Boolean)},r=(s,u,o)=>{var h;const l=d(o),y={pluginOpts:e,breakpointProps:l};return((h=e==null?void 0:e.rootLayout)==null?void 0:h.call(e,{sidebarButtons:u,rootLayout:s,layoutSidebarLeft:b,layoutSidebarTarget:f,...l,createSidebarButton:A=>w({...A},y)}))??s};if(a){const s=t(p,a);i[a]=r({type:"row",style:{height:"100%"},children:[{...b,children:s},f,g]},s,a)}if(n){const s={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},u=p.map(l=>({...l,layoutCommand:s})),o=t(u,n,{layoutCommand:s});i[n]=r({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:o}]},o,n)}const L=t(c,0);return{default:r({type:"row",style:{height:"100%"},children:[{...b,children:L},f,g,{type:"sidebarRight"}]},L,0),responsive:i}},G="layoutSidebarButtons",J=P.free,Q=function(e,a={}){const{Commands:n}=e,i=n.events,c={...a};(()=>{if(e.runCommand(B.layoutConfigGet)||c.skipLayoutConfig===!0)return;const b=N(c);e.runCommand(B.layoutConfigSet,{...b})})(),n.add(`${G}:toggleButton`,(f,b,g)=>{const d=document.getElementById(E(g==null?void 0:g.id));d==null||d.click()}),e.on(`${i.runCommand}core:preview`,()=>{U(e)}),Z({editor:e,licenseKey:c.licenseKey,plan:J,pluginName:G,cleanup:()=>{e.runCommand(B.layoutConfigSet)}})},_=q(Q);_.createLayoutConfig=e=>N(e);module.exports=_;
1
+ "use strict";var P=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(P||{}),B=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(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",$="app2.grapesjs.com",H="app-stage2.grapesjs.com",D=[x,$,E,H,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],j="license:check:start",W="license:check:end",C=()=>typeof window<"u",K=({isDev:e,isStage:a})=>`${e?"":`https://${a?E:x}`}/api`,V=()=>{const e=C()&&window.location.hostname;return!!e&&(D.includes(e)||D.some(a=>e.endsWith(a)))};async function F({path:e,baseApiUrl:a,method:n="GET",headers:i={},params:c,body:p}){const b=`${a||K({isDev:!1,isStage:!1})}${e}`,g={method:n,headers:{"Content-Type":"application/json",...i}};p&&(g.body=JSON.stringify(p));const d=c?new URLSearchParams(c).toString():"",t=d?`?${d}`:"",r=await fetch(`${b}${t}`,g);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}const M={[P.free]:0,[P.startup]:10,[P.business]:20,[P.enterprise]:30};function m(e){const a=e;return a.init=n=>i=>e(i,n),a}const q=e=>m(e);async function Z({editor:e,plan:a,pluginName:n,licenseKey:i,cleanup:c}){let p="",f=!1;const b=V(),g=t=>{console.warn("Cleanup plugin:",n,"Reason:",t),c()},d=(t={})=>{var o;const{error:r,sdkLicense:L}=t,s=(o=t.plan)==null?void 0:o.category;if(!(L||t.license)||r)g(r||"Invalid license");else if(s){const l=M[a],y=M[s];l>y&&g({pluginRequiredPlan:a,licensePlan:s})}};e.on(j,t=>{p=t==null?void 0:t.baseApiUrl,f=!0}),e.on(W,t=>{d(t)}),setTimeout(async()=>{if(!f){if(b)return;if(i){const t=await z({licenseKey:i,pluginName:n,baseApiUrl:p});t&&d(t)}else g("The `licenseKey` option not provided")}},2e3)}async function z(e){const{licenseKey:a,pluginName:n,baseApiUrl:i}=e;try{return(await F({baseApiUrl:i,path:`/sdk/${a||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!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",w=(e,a)=>{const{id:n,icon:i,label:c,tooltip:p,className:f,skipSelfClose:b,removeLayouts:g,layoutComponent:d,layoutCommand:t}=e,{pluginOpts:r,breakpointProps:L}=a,s=n;return{id:S(n),type:"button",icon:i,tooltip:c||p,className:f,editorEvents:{[`${I.layoutToggleId}${s}`]:({fromEvent:u,setState:o,editor:l})=>{o({active:u.isOpen}),setTimeout(()=>l.refresh({tools:!0}),20)}},onClick:({editor:u,state:o})=>{var k;if(o.active&&b)return;const l=(t==null?void 0:t.placer)||{type:"static",layoutId:O},y={...l,skipCleanup:l.type==="static"},h=g||Object.keys(v).filter(R=>R!==s);U(u,{removeLayouts:h,layout:{placer:y}});const A={id:s,placer:l,header:(t==null?void 0:t.header)??{label:c,close:!b},layout:d,style:{width:280,height:"100%",borderRightWidth:1,...t==null?void 0:t.style}},T=((k=r==null?void 0:r.sidebarLayoutCommand)==null?void 0:k.call(r,{...L,layoutCommand:A,sidebarButtonProps:e}))||A;u.runCommand(B.layoutToggle,{...T})}}},S=e=>`button__${e}`,U=(e,a={})=>{(a.removeLayouts||Object.keys(v)).forEach(i=>e.runCommand(B.layoutRemove,{id:i,layout:a.layout}))},N=e=>{const a=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,i={},c=[{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:s,editor:u})=>{var h;const o=u.getSelected(),l={type:"image",src:s.src};let y;if(o!=null&&o.is("image"))return o.set("src",s.src);o&&u.Components.canMove(o,l)?y=o.append(l)[0]:o||(y=(h=u.getWrapper())==null?void 0:h.append(l)[0]),y&&u.select(y,{scroll:!0})}}}],p=[...c,{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"}},b={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},g={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},d=s=>({breakpoint:s,breakpointTablet:a,breakpointMobile:n}),t=(s,u,o)=>{const l=d(u),y={pluginOpts:e,breakpointProps:l},h=s.map(T=>{const k=w(T,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:T.id,buttonIds:v,buttonProps:k,sidebarButtonProps:T,...l,createSidebarButton:R=>w({...T,...R},y)}):k}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:v,sidebarButtons:h,...l,createSidebarButton:T=>w({...T,layoutCommand:{...o==null?void 0:o.layoutCommand,...T.layoutCommand}},y)}):h).filter(Boolean)},r=(s,u,o)=>{var h;const l=d(o),y={pluginOpts:e,breakpointProps:l};return((h=e==null?void 0:e.rootLayout)==null?void 0:h.call(e,{sidebarButtons:u,rootLayout:s,layoutSidebarLeft:b,layoutSidebarTarget:f,...l,createSidebarButton:A=>w({...A},y)}))??s};if(a){const s=t(p,a);i[a]=r({type:"row",style:{height:"100%"},children:[{...b,children:s},f,g]},s,a)}if(n){const s={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},u=p.map(l=>({...l,layoutCommand:s})),o=t(u,n,{layoutCommand:s});i[n]=r({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:o}]},o,n)}const L=t(c,0);return{default:r({type:"row",style:{height:"100%"},children:[{...b,children:L},f,g,{type:"sidebarRight"}]},L,0),responsive:i}},G="layoutSidebarButtons",J=P.free,Q=function(e,a={}){const{Commands:n}=e,i=n.events,c={...a};(()=>{if(e.runCommand(B.layoutConfigGet)||c.skipLayoutConfig===!0)return;const b=N(c);e.runCommand(B.layoutConfigSet,{...b})})(),n.add(`${G}:toggleButton`,(f,b,g)=>{const d=document.getElementById(S(g==null?void 0:g.id));d==null||d.click()}),e.on(`${i.runCommand}core:preview`,()=>{U(e)}),Z({editor:e,licenseKey:c.licenseKey,plan:J,pluginName:G,cleanup:()=>{e.runCommand(B.layoutConfigSet)}})},_=q(Q);_.createLayoutConfig=e=>N(e);module.exports=_;
@@ -1,8 +1,8 @@
1
- var P = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(P || {}), B = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(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", O = "app-stage.grapesjs.com", _ = "app2.grapesjs.com", $ = "app-stage2.grapesjs.com", M = [
1
+ var P = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(P || {}), B = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(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", $ = "app-stage2.grapesjs.com", D = [
3
3
  x,
4
4
  _,
5
- O,
5
+ E,
6
6
  $,
7
7
  "localhost",
8
8
  "127.0.0.1",
@@ -12,11 +12,11 @@ const x = "app.grapesjs.com", O = "app-stage.grapesjs.com", _ = "app2.grapesjs.c
12
12
  // For stackblitz.com demos
13
13
  "-sandpack.codesandbox.io"
14
14
  // For Sandpack demos
15
- ], H = "license:check:start", j = "license:check:end", W = () => typeof window < "u", K = ({ isDev: e, isStage: a }) => `${e ? "" : `https://${a ? O : x}`}/api`, V = () => {
15
+ ], H = "license:check:start", j = "license:check:end", W = () => typeof window < "u", C = ({ isDev: e, isStage: a }) => `${e ? "" : `https://${a ? E : x}`}/api`, K = () => {
16
16
  const e = W() && window.location.hostname;
17
- return !!e && (M.includes(e) || M.some((a) => e.endsWith(a)));
17
+ return !!e && (D.includes(e) || D.some((a) => e.endsWith(a)));
18
18
  };
19
- async function C({
19
+ async function V({
20
20
  path: e,
21
21
  baseApiUrl: a,
22
22
  method: n = "GET",
@@ -24,7 +24,7 @@ async function C({
24
24
  params: c,
25
25
  body: p
26
26
  }) {
27
- const b = `${a || K({ isDev: !1, isStage: !1 })}${e}`, g = {
27
+ const b = `${a || C({ isDev: !1, isStage: !1 })}${e}`, g = {
28
28
  method: n,
29
29
  headers: {
30
30
  "Content-Type": "application/json",
@@ -37,7 +37,7 @@ async function C({
37
37
  throw new Error(`HTTP error! status: ${r.status}`);
38
38
  return r.json();
39
39
  }
40
- const D = {
40
+ const M = {
41
41
  [P.free]: 0,
42
42
  [P.startup]: 10,
43
43
  [P.business]: 20,
@@ -56,7 +56,7 @@ async function q({
56
56
  cleanup: c
57
57
  }) {
58
58
  let p = "", f = !1;
59
- const b = V(), g = (t) => {
59
+ const b = K(), g = (t) => {
60
60
  console.warn("Cleanup plugin:", n, "Reason:", t), c();
61
61
  }, d = (t = {}) => {
62
62
  var o;
@@ -64,7 +64,7 @@ async function q({
64
64
  if (!(L || t.license) || r)
65
65
  g(r || "Invalid license");
66
66
  else if (s) {
67
- const l = D[a], y = D[s];
67
+ const l = M[a], y = M[s];
68
68
  l > y && g({ pluginRequiredPlan: a, licensePlan: s });
69
69
  }
70
70
  };
@@ -86,7 +86,7 @@ async function q({
86
86
  async function Z(e) {
87
87
  const { licenseKey: a, pluginName: n, baseApiUrl: i } = e;
88
88
  try {
89
- return (await C({
89
+ return (await V({
90
90
  baseApiUrl: i,
91
91
  path: `/sdk/${a || "na"}`,
92
92
  method: "POST",
@@ -99,11 +99,11 @@ async function Z(e) {
99
99
  return console.error("Error during SDK license check:", c), !1;
100
100
  }
101
101
  }
102
- var v = /* @__PURE__ */ ((e) => (e.panelBlocks = "panelBlocks", e.panelPagesLayers = "panelPagesLayers", e.panelGlobalStyles = "panelGlobalStyles", e.panelSidebarTabs = "panelSidebarTabs", e.panelAssets = "panelAssets", e.aiChatPanel = "aiChatPanel", e.dataSourceManagerPanel = "dataSourceManagerPanel", e))(v || {});
103
- const S = "sidebarButtonsTarget", w = (e, a) => {
102
+ 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 || {});
103
+ const O = "sidebarButtonsTarget", w = (e, a) => {
104
104
  const { id: n, icon: i, label: c, tooltip: p, className: f, skipSelfClose: b, removeLayouts: g, layoutComponent: d, layoutCommand: t } = e, { pluginOpts: r, breakpointProps: L } = a, s = n;
105
105
  return {
106
- id: E(n),
106
+ id: S(n),
107
107
  type: "button",
108
108
  icon: i,
109
109
  tooltip: c || p,
@@ -116,7 +116,7 @@ const S = "sidebarButtonsTarget", w = (e, a) => {
116
116
  onClick: ({ editor: u, state: o }) => {
117
117
  var k;
118
118
  if (o.active && b) return;
119
- const l = (t == null ? void 0 : t.placer) || { type: "static", layoutId: S }, y = { ...l, skipCleanup: l.type === "static" }, h = g || Object.keys(v).filter((R) => R !== s);
119
+ const l = (t == null ? void 0 : t.placer) || { type: "static", layoutId: O }, y = { ...l, skipCleanup: l.type === "static" }, h = g || Object.keys(v).filter((R) => R !== s);
120
120
  U(u, { removeLayouts: h, layout: { placer: y } });
121
121
  const A = {
122
122
  id: s,
@@ -137,7 +137,7 @@ const S = "sidebarButtonsTarget", w = (e, a) => {
137
137
  u.runCommand(B.layoutToggle, { ...T });
138
138
  }
139
139
  };
140
- }, E = (e) => `button__${e}`, U = (e, a = {}) => {
140
+ }, S = (e) => `button__${e}`, U = (e, a = {}) => {
141
141
  (a.removeLayouts || Object.keys(v)).forEach((i) => e.runCommand(B.layoutRemove, { id: i, layout: a.layout }));
142
142
  }, N = (e) => {
143
143
  const a = (e == null ? void 0 : e.breakpointTablet) ?? 1024, n = (e == null ? void 0 : e.breakpointMobile) ?? 768, i = {}, c = [
@@ -187,7 +187,7 @@ const S = "sidebarButtonsTarget", w = (e, a) => {
187
187
  layoutComponent: { type: "panelSidebarTabs" }
188
188
  }
189
189
  ], f = {
190
- id: S,
190
+ id: O,
191
191
  type: "column",
192
192
  className: "gs-cmp-layout-sidebar-target",
193
193
  style: { overflow: "hidden" }
@@ -318,7 +318,7 @@ const S = "sidebarButtonsTarget", w = (e, a) => {
318
318
  const b = N(c);
319
319
  e.runCommand(B.layoutConfigSet, { ...b });
320
320
  })(), n.add(`${G}:toggleButton`, (f, b, g) => {
321
- const d = document.getElementById(E(g == null ? void 0 : g.id));
321
+ const d = document.getElementById(S(g == null ? void 0 : g.id));
322
322
  d == null || d.click();
323
323
  }), e.on(`${i.runCommand}core:preview`, () => {
324
324
  U(e);
@@ -1 +1 @@
1
- (function(h,v){typeof exports=="object"&&typeof module<"u"?module.exports=v():typeof define=="function"&&define.amd?define(v):(h=typeof globalThis<"u"?globalThis:h||self,h.StudioSdkPlugins_layoutSidebarButtons=v())})(this,function(){"use strict";var h=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(h||{}),v=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(v||{}),M=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(M||{});const D="app.grapesjs.com",G="app-stage.grapesjs.com",I=[D,"app2.grapesjs.com",G,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],$="license:check:start",H="license:check:end",j=()=>typeof window<"u",W=({isDev:e,isStage:a})=>`${e?"":`https://${a?G:D}`}/api`,m=()=>{const e=j()&&window.location.hostname;return!!e&&(I.includes(e)||I.some(a=>e.endsWith(a)))};async function K({path:e,baseApiUrl:a,method:n="GET",headers:i={},params:c,body:p}){const b=`${a||W({isDev:!1,isStage:!1})}${e}`,g={method:n,headers:{"Content-Type":"application/json",...i}};p&&(g.body=JSON.stringify(p));const d=c?new URLSearchParams(c).toString():"",t=d?`?${d}`:"",r=await fetch(`${b}${t}`,g);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}const O={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function V(e){const a=e;return a.init=n=>i=>e(i,n),a}const C=e=>V(e);async function F({editor:e,plan:a,pluginName:n,licenseKey:i,cleanup:c}){let p="",f=!1;const b=m(),g=t=>{console.warn("Cleanup plugin:",n,"Reason:",t),c()},d=(t={})=>{var o;const{error:r,sdkLicense:A}=t,s=(o=t.plan)==null?void 0:o.category;if(!(A||t.license)||r)g(r||"Invalid license");else if(s){const l=O[a],y=O[s];l>y&&g({pluginRequiredPlan:a,licensePlan:s})}};e.on($,t=>{p=t==null?void 0:t.baseApiUrl,f=!0}),e.on(H,t=>{d(t)}),setTimeout(async()=>{if(!f){if(b)return;if(i){const t=await q({licenseKey:i,pluginName:n,baseApiUrl:p});t&&d(t)}else g("The `licenseKey` option not provided")}},2e3)}async function q(e){const{licenseKey:a,pluginName:n,baseApiUrl:i}=e;try{return(await K({baseApiUrl:i,path:`/sdk/${a||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var T=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e.dataSourceManagerPanel="dataSourceManagerPanel",e))(T||{});const S="sidebarButtonsTarget",R=(e,a)=>{const{id:n,icon:i,label:c,tooltip:p,className:f,skipSelfClose:b,removeLayouts:g,layoutComponent:d,layoutCommand:t}=e,{pluginOpts:r,breakpointProps:A}=a,s=n;return{id:x(n),type:"button",icon:i,tooltip:c||p,className:f,editorEvents:{[`${M.layoutToggleId}${s}`]:({fromEvent:u,setState:o,editor:l})=>{o({active:u.isOpen}),setTimeout(()=>l.refresh({tools:!0}),20)}},onClick:({editor:u,state:o})=>{var k;if(o.active&&b)return;const l=(t==null?void 0:t.placer)||{type:"static",layoutId:S},y={...l,skipCleanup:l.type==="static"},P=g||Object.keys(T).filter(w=>w!==s);E(u,{removeLayouts:P,layout:{placer:y}});const B={id:s,placer:l,header:(t==null?void 0:t.header)??{label:c,close:!b},layout:d,style:{width:280,height:"100%",borderRightWidth:1,...t==null?void 0:t.style}},L=((k=r==null?void 0:r.sidebarLayoutCommand)==null?void 0:k.call(r,{...A,layoutCommand:B,sidebarButtonProps:e}))||B;u.runCommand(v.layoutToggle,{...L})}}},x=e=>`button__${e}`,E=(e,a={})=>{(a.removeLayouts||Object.keys(T)).forEach(i=>e.runCommand(v.layoutRemove,{id:i,layout:a.layout}))},N=e=>{const a=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,i={},c=[{id:T.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:T.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:T.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:T.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:s,editor:u})=>{var P;const o=u.getSelected(),l={type:"image",src:s.src};let y;if(o!=null&&o.is("image"))return o.set("src",s.src);o&&u.Components.canMove(o,l)?y=o.append(l)[0]:o||(y=(P=u.getWrapper())==null?void 0:P.append(l)[0]),y&&u.select(y,{scroll:!0})}}}],p=[...c,{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"}}],f={id:S,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},b={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},g={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},d=s=>({breakpoint:s,breakpointTablet:a,breakpointMobile:n}),t=(s,u,o)=>{const l=d(u),y={pluginOpts:e,breakpointProps:l},P=s.map(L=>{const k=R(L,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:L.id,buttonIds:T,buttonProps:k,sidebarButtonProps:L,...l,createSidebarButton:w=>R({...L,...w},y)}):k}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:T,sidebarButtons:P,...l,createSidebarButton:L=>R({...L,layoutCommand:{...o==null?void 0:o.layoutCommand,...L.layoutCommand}},y)}):P).filter(Boolean)},r=(s,u,o)=>{var P;const l=d(o),y={pluginOpts:e,breakpointProps:l};return((P=e==null?void 0:e.rootLayout)==null?void 0:P.call(e,{sidebarButtons:u,rootLayout:s,layoutSidebarLeft:b,layoutSidebarTarget:f,...l,createSidebarButton:B=>R({...B},y)}))??s};if(a){const s=t(p,a);i[a]=r({type:"row",style:{height:"100%"},children:[{...b,children:s},f,g]},s,a)}if(n){const s={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},u=p.map(l=>({...l,layoutCommand:s})),o=t(u,n,{layoutCommand:s});i[n]=r({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:o}]},o,n)}const A=t(c,0);return{default:r({type:"row",style:{height:"100%"},children:[{...b,children:A},f,g,{type:"sidebarRight"}]},A,0),responsive:i}},_="layoutSidebarButtons",Z=h.free,U=C(function(e,a={}){const{Commands:n}=e,i=n.events,c={...a};(()=>{if(e.runCommand(v.layoutConfigGet)||c.skipLayoutConfig===!0)return;const b=N(c);e.runCommand(v.layoutConfigSet,{...b})})(),n.add(`${_}:toggleButton`,(f,b,g)=>{const d=document.getElementById(x(g==null?void 0:g.id));d==null||d.click()}),e.on(`${i.runCommand}core:preview`,()=>{E(e)}),F({editor:e,licenseKey:c.licenseKey,plan:Z,pluginName:_,cleanup:()=>{e.runCommand(v.layoutConfigSet)}})});return U.createLayoutConfig=e=>N(e),U});
1
+ (function(h,v){typeof exports=="object"&&typeof module<"u"?module.exports=v():typeof define=="function"&&define.amd?define(v):(h=typeof globalThis<"u"?globalThis:h||self,h.StudioSdkPlugins_layoutSidebarButtons=v())})(this,function(){"use strict";var h=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(h||{}),v=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(v||{}),D=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(D||{});const M="app.grapesjs.com",G="app-stage.grapesjs.com",I=[M,"app2.grapesjs.com",G,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],$="license:check:start",H="license:check:end",j=()=>typeof window<"u",W=({isDev:e,isStage:a})=>`${e?"":`https://${a?G:M}`}/api`,C=()=>{const e=j()&&window.location.hostname;return!!e&&(I.includes(e)||I.some(a=>e.endsWith(a)))};async function K({path:e,baseApiUrl:a,method:n="GET",headers:i={},params:c,body:p}){const b=`${a||W({isDev:!1,isStage:!1})}${e}`,g={method:n,headers:{"Content-Type":"application/json",...i}};p&&(g.body=JSON.stringify(p));const d=c?new URLSearchParams(c).toString():"",t=d?`?${d}`:"",r=await fetch(`${b}${t}`,g);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}const x={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function V(e){const a=e;return a.init=n=>i=>e(i,n),a}const m=e=>V(e);async function F({editor:e,plan:a,pluginName:n,licenseKey:i,cleanup:c}){let p="",f=!1;const b=C(),g=t=>{console.warn("Cleanup plugin:",n,"Reason:",t),c()},d=(t={})=>{var o;const{error:r,sdkLicense:A}=t,s=(o=t.plan)==null?void 0:o.category;if(!(A||t.license)||r)g(r||"Invalid license");else if(s){const l=x[a],y=x[s];l>y&&g({pluginRequiredPlan:a,licensePlan:s})}};e.on($,t=>{p=t==null?void 0:t.baseApiUrl,f=!0}),e.on(H,t=>{d(t)}),setTimeout(async()=>{if(!f){if(b)return;if(i){const t=await q({licenseKey:i,pluginName:n,baseApiUrl:p});t&&d(t)}else g("The `licenseKey` option not provided")}},2e3)}async function q(e){const{licenseKey:a,pluginName:n,baseApiUrl:i}=e;try{return(await K({baseApiUrl:i,path:`/sdk/${a||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var T=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e.panelDataSources="panelDataSources",e))(T||{});const O="sidebarButtonsTarget",R=(e,a)=>{const{id:n,icon:i,label:c,tooltip:p,className:f,skipSelfClose:b,removeLayouts:g,layoutComponent:d,layoutCommand:t}=e,{pluginOpts:r,breakpointProps:A}=a,s=n;return{id:S(n),type:"button",icon:i,tooltip:c||p,className:f,editorEvents:{[`${D.layoutToggleId}${s}`]:({fromEvent:u,setState:o,editor:l})=>{o({active:u.isOpen}),setTimeout(()=>l.refresh({tools:!0}),20)}},onClick:({editor:u,state:o})=>{var k;if(o.active&&b)return;const l=(t==null?void 0:t.placer)||{type:"static",layoutId:O},y={...l,skipCleanup:l.type==="static"},L=g||Object.keys(T).filter(w=>w!==s);E(u,{removeLayouts:L,layout:{placer:y}});const B={id:s,placer:l,header:(t==null?void 0:t.header)??{label:c,close:!b},layout:d,style:{width:280,height:"100%",borderRightWidth:1,...t==null?void 0:t.style}},P=((k=r==null?void 0:r.sidebarLayoutCommand)==null?void 0:k.call(r,{...A,layoutCommand:B,sidebarButtonProps:e}))||B;u.runCommand(v.layoutToggle,{...P})}}},S=e=>`button__${e}`,E=(e,a={})=>{(a.removeLayouts||Object.keys(T)).forEach(i=>e.runCommand(v.layoutRemove,{id:i,layout:a.layout}))},N=e=>{const a=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,i={},c=[{id:T.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:T.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:T.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:T.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:s,editor:u})=>{var L;const o=u.getSelected(),l={type:"image",src:s.src};let y;if(o!=null&&o.is("image"))return o.set("src",s.src);o&&u.Components.canMove(o,l)?y=o.append(l)[0]:o||(y=(L=u.getWrapper())==null?void 0:L.append(l)[0]),y&&u.select(y,{scroll:!0})}}}],p=[...c,{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"}}],f={id:O,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},b={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},g={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},d=s=>({breakpoint:s,breakpointTablet:a,breakpointMobile:n}),t=(s,u,o)=>{const l=d(u),y={pluginOpts:e,breakpointProps:l},L=s.map(P=>{const k=R(P,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:P.id,buttonIds:T,buttonProps:k,sidebarButtonProps:P,...l,createSidebarButton:w=>R({...P,...w},y)}):k}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:T,sidebarButtons:L,...l,createSidebarButton:P=>R({...P,layoutCommand:{...o==null?void 0:o.layoutCommand,...P.layoutCommand}},y)}):L).filter(Boolean)},r=(s,u,o)=>{var L;const l=d(o),y={pluginOpts:e,breakpointProps:l};return((L=e==null?void 0:e.rootLayout)==null?void 0:L.call(e,{sidebarButtons:u,rootLayout:s,layoutSidebarLeft:b,layoutSidebarTarget:f,...l,createSidebarButton:B=>R({...B},y)}))??s};if(a){const s=t(p,a);i[a]=r({type:"row",style:{height:"100%"},children:[{...b,children:s},f,g]},s,a)}if(n){const s={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},u=p.map(l=>({...l,layoutCommand:s})),o=t(u,n,{layoutCommand:s});i[n]=r({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:o}]},o,n)}const A=t(c,0);return{default:r({type:"row",style:{height:"100%"},children:[{...b,children:A},f,g,{type:"sidebarRight"}]},A,0),responsive:i}},_="layoutSidebarButtons",Z=h.free,U=m(function(e,a={}){const{Commands:n}=e,i=n.events,c={...a};(()=>{if(e.runCommand(v.layoutConfigGet)||c.skipLayoutConfig===!0)return;const b=N(c);e.runCommand(v.layoutConfigSet,{...b})})(),n.add(`${_}:toggleButton`,(f,b,g)=>{const d=document.getElementById(S(g==null?void 0:g.id));d==null||d.click()}),e.on(`${i.runCommand}core:preview`,()=>{E(e)}),F({editor:e,licenseKey:c.licenseKey,plan:Z,pluginName:_,cleanup:()=>{e.runCommand(v.layoutConfigSet)}})});return U.createLayoutConfig=e=>N(e),U});
@@ -98,7 +98,7 @@ export declare enum SidebarButtonIds {
98
98
  panelSidebarTabs = "panelSidebarTabs",
99
99
  panelAssets = "panelAssets",
100
100
  aiChatPanel = "aiChatPanel",
101
- dataSourceManagerPanel = "dataSourceManagerPanel"
101
+ panelDataSources = "panelDataSources"
102
102
  }
103
103
  export interface SDKPluginWithLayoutConfig extends PluginWithInit<LayoutSidebarButtonsOptions> {
104
104
  createLayoutConfig: (options?: Pick<LayoutSidebarButtonsOptions, 'sidebarLayoutCommand' | 'sidebarButton' | 'sidebarButtons' | 'rootLayout'>) => LayoutConfig;
@@ -1,4 +1,4 @@
1
- "use strict";const F="app.grapesjs.com",W="app-stage.grapesjs.com",V="app2.grapesjs.com",Y="app-stage2.grapesjs.com",G=[F,V,W,Y,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],J="license:check:start",X="license:check:end",Z=()=>typeof window<"u",U=(e,n={})=>{const t=te(e)?{id:e,src:e}:e;return new Promise((s,a)=>{var g,h;const{loadedScripts:o}=n,{id:i,src:d}=t,c=document.querySelector(`script[src="${d}"]`);if(c){if((g=n.onScript)==null||g.call(n,c),o&&!o.get(d)){c.addEventListener("load",()=>s(i)),c.addEventListener("error",()=>a(i));return}return s(i)}const u=window.define;window.define=void 0;const l=()=>{o==null||o.set(d,!0),window.define=u},r=document.createElement("script");r.src=d,r.onload=()=>{s(i),l()},r.onerror=()=>{a(i),l()},document.head.appendChild(r),(h=n.onScript)==null||h.call(n,r)})},Q=({isDev:e,isStage:n})=>`${e?"":`https://${n?W:F}`}/api`,ee=()=>{const e=Z()&&window.location.hostname;return!!e&&(G.includes(e)||G.some(n=>e.endsWith(n)))},te=e=>typeof e=="string";async function se({path:e,baseApiUrl:n,method:t="GET",headers:s={},params:a,body:o}){const d=`${n||Q({isDev:!1,isStage:!1})}${e}`,c={method:t,headers:{"Content-Type":"application/json",...s}};o&&(c.body=JSON.stringify(o));const u=a?new URLSearchParams(a).toString():"",l=u?`?${u}`:"",r=await fetch(`${d}${l}`,c);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}var B=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(B||{}),z=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(z||{});const O={[B.free]:0,[B.startup]:10,[B.business]:20,[B.enterprise]:30};function ne(e){const n=e;return n.init=t=>s=>e(s,t),n}const oe=e=>ne(e);async function ae({editor:e,plan:n,pluginName:t,licenseKey:s,cleanup:a}){let o="",i=!1;const d=ee(),c=l=>{console.warn("Cleanup plugin:",t,"Reason:",l),a()},u=(l={})=>{var w;const{error:r,sdkLicense:g}=l,h=(w=l.plan)==null?void 0:w.category;if(!(g||l.license)||r)c(r||"Invalid license");else if(h){const p=O[n],f=O[h];p>f&&c({pluginRequiredPlan:n,licensePlan:h})}};e.on(J,l=>{o=l==null?void 0:l.baseApiUrl,i=!0}),e.on(X,l=>{u(l)}),setTimeout(async()=>{if(!i){if(d)return;if(s){const l=await ie({licenseKey:s,pluginName:t,baseApiUrl:o});l&&u(l)}else c("The `licenseKey` option not provided")}},2e3)}async function ie(e){const{licenseKey:n,pluginName:t,baseApiUrl:s}=e;try{return(await se({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 re=e=>n=>{var t;return((t=n.getAttribute)==null?void 0:t.call(n,q))===e},ce=(...e)=>(n,t)=>e.some(s=>t.is(s)),K=(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)},le="gjs-plg-",C="data-gs-plg-",q="data-type-role";function I(e,n,t){let s,a,o,i,d;const c=n===void 0?100:n;function u(){const r=Date.now()-i;r<c&&r>=0?s=setTimeout(u,c-r):(s=null,d=e.apply(o,a),o=a=null)}const l=function(){return o=this,a=arguments,i=Date.now(),s||(s=setTimeout(u,c)),d};return l.clear=function(){s&&(clearTimeout(s),s=null)},l.flush=function(){s&&(d=e.apply(o,a),o=a=null,clearTimeout(s),s=null)},l}const A="page-break";var m=(e=>(e.A5="a5",e.A5Portrait="a5-portrait",e.A4="a4",e.A3="a3",e.B5="b5",e.B4="b4",e.letter="letter",e.legal="legal",e.ledger="ledger",e))(m||{});function j(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 pe=(e,n)=>{const{name:t,id:s,width:a,height:o,unit:i}=e,{fixedHeight:d}=n,c=`${a}${i}`,u=`${o}${i}`;return{id:s||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${c} x ${u})`,sizeH:o,sizeW:a,sizeUnit:i,widthMedia:"",width:c,minHeight:d?"0":`${j(o,i)}px`,height:d?u:void 0}},_="page-breaks",S="gjs-page-breaks-spot",D=e=>e.type===_;function de(e){const{Devices:n}=e,{height:t,minHeight:s}=n.getSelected().attributes,o=parseFloat(`${t&&t!=="auto"?t:s}`),i=e.getWrapper(),d=i==null?void 0:i.getEl(),c=[];if(!i||!d)return c;const u=d.getBoundingClientRect().height,r=i.findType(A).map(h=>h.getEl()).filter(Boolean).map(h=>({top:h.offsetTop,height:h.offsetHeight}));let g=0;for(;g<u;){const h=r.find(y=>y.top>g&&y.top<g+o);h?(g=h.top+h.height,c.push(h.top)):(g+=o,g<u&&c.push(g))}return c}function ge(e,n){const{Canvas:t}=e,s=t.events,a=e.events;let o;const i=()=>{K(`${C}preset-printable-spots`,`.${S} {
1
+ "use strict";const W="app.grapesjs.com",C="app-stage.grapesjs.com",X="app2.grapesjs.com",Z="app-stage2.grapesjs.com",U=[W,X,C,Z,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],Q="license:check:start",ee="license:check:end",te=()=>typeof window<"u",O=(e,o={})=>{const t=ne(e)?{id:e,src:e}:e;return new Promise((s,a)=>{var g,h;const{loadedScripts:n}=o,{id:i,src:p}=t,c=document.querySelector(`script[src="${p}"]`);if(c){if((g=o.onScript)==null||g.call(o,c),n&&!n.get(p)){c.addEventListener("load",()=>s(i)),c.addEventListener("error",()=>a(i));return}return s(i)}const u=window.define;window.define=void 0;const l=()=>{n==null||n.set(p,!0),window.define=u},r=document.createElement("script");r.src=p,r.onload=()=>{s(i),l()},r.onerror=()=>{a(i),l()},document.head.appendChild(r),(h=o.onScript)==null||h.call(o,r)})},se=({isDev:e,isStage:o})=>`${e?"":`https://${o?C:W}`}/api`,oe=()=>{const e=te()&&window.location.hostname;return!!e&&(U.includes(e)||U.some(o=>e.endsWith(o)))},ne=e=>typeof e=="string";async function ae({path:e,baseApiUrl:o,method:t="GET",headers:s={},params:a,body:n}){const p=`${o||se({isDev:!1,isStage:!1})}${e}`,c={method:t,headers:{"Content-Type":"application/json",...s}};n&&(c.body=JSON.stringify(n));const u=a?new URLSearchParams(a).toString():"",l=u?`?${u}`:"",r=await fetch(`${p}${l}`,c);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}var R=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(R||{}),z=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(z||{});const I={[R.free]:0,[R.startup]:10,[R.business]:20,[R.enterprise]:30};function ie(e){const o=e;return o.init=t=>s=>e(s,t),o}const re=e=>ie(e);async function ce({editor:e,plan:o,pluginName:t,licenseKey:s,cleanup:a}){let n="",i=!1;const p=oe(),c=l=>{console.warn("Cleanup plugin:",t,"Reason:",l),a()},u=(l={})=>{var w;const{error:r,sdkLicense:g}=l,h=(w=l.plan)==null?void 0:w.category;if(!(g||l.license)||r)c(r||"Invalid license");else if(h){const d=I[o],f=I[h];d>f&&c({pluginRequiredPlan:o,licensePlan:h})}};e.on(Q,l=>{n=l==null?void 0:l.baseApiUrl,i=!0}),e.on(ee,l=>{u(l)}),setTimeout(async()=>{if(!i){if(p)return;if(s){const l=await le({licenseKey:s,pluginName:t,baseApiUrl:n});l&&u(l)}else c("The `licenseKey` option not provided")}},2e3)}async function le(e){const{licenseKey:o,pluginName:t,baseApiUrl:s}=e;try{return(await ae({baseApiUrl:s,path:`/sdk/${o||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const de=e=>o=>{var t;return((t=o.getAttribute)==null?void 0:t.call(o,V))===e},pe=(...e)=>(o,t)=>e.some(s=>t.is(s)),K=(e,o,t)=>{const{doc:s=document}=t,a=t.target||s.head,n=a.querySelector(`style[${e}]`)||s.createElement("style");n.setAttribute(e,"true"),n.innerHTML=o,!a.contains(n)&&a.appendChild(n)},ge="gjs-plg-",q="data-gs-plg-",V="data-type-role";function N(e,o,t){let s,a,n,i,p;const c=o===void 0?100:o;function u(){const r=Date.now()-i;r<c&&r>=0?s=setTimeout(u,c-r):(s=null,p=e.apply(n,a),n=a=null)}const l=function(){return n=this,a=arguments,i=Date.now(),s||(s=setTimeout(u,c)),p};return l.clear=function(){s&&(clearTimeout(s),s=null)},l.flush=function(){s&&(p=e.apply(n,a),n=a=null,clearTimeout(s),s=null)},l}const A="page-break";var m=(e=>(e.A5="a5",e.A5Portrait="a5-portrait",e.A4="a4",e.A3="a3",e.B5="b5",e.B4="b4",e.letter="letter",e.legal="legal",e.ledger="ledger",e))(m||{});function _(e,o){const s={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return s[o]?e*s[o]:null}const ue=(e,o)=>{const{name:t,id:s,width:a,height:n,unit:i}=e,{fixedHeight:p}=o,c=`${a}${i}`,u=`${n}${i}`;return{id:s||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${c} x ${u})`,sizeH:n,sizeW:a,sizeUnit:i,widthMedia:"",width:c,minHeight:p?"0":`${_(n,i)}px`,height:p?u:void 0}},H="page-breaks",S="gjs-page-breaks-spot",j=e=>e.type===H;function he(e){const{Devices:o}=e,{height:t,minHeight:s}=o.getSelected().attributes,n=parseFloat(`${t&&t!=="auto"?t:s}`),i=e.getWrapper(),p=i==null?void 0:i.getEl(),c=[];if(!i||!p)return c;const u=p.getBoundingClientRect().height,r=i.findType(A).map(h=>h.getEl()).filter(Boolean).map(h=>({top:h.offsetTop,height:h.offsetHeight}));let g=0;for(;g<u;){const h=r.find(y=>y.top>g&&y.top<g+n);h?(g=h.top+h.height,c.push(h.top)):(g+=n,g<u&&c.push(g))}return c}function fe(e,o){const{Canvas:t}=e,s=t.events,a=e.events;let n;const i=()=>{K(`${q}preset-printable-spots`,`.${S} {
2
2
  position: absolute;
3
3
  left: 0;
4
4
  width: 100%;
@@ -16,9 +16,9 @@
16
16
  right: 0;
17
17
  transform: translate(100%, -50%);
18
18
  }
19
- `,{target:window.document.head})},d=()=>{if(n.enablePageBreaksSpot===!1)return;const p={id:_,type:_,component:e.getWrapper()};return t.getSpots(p).pop()||t.addSpot(p)},c=({spot:p})=>{const{spotEl:f}=p.attributes;!D(p)||!f||!o||o.removeChild(f)},u=({spot:p})=>{if(!D(p)||!o)return;let{spotEl:f}=p.attributes;f||(f=document.createElement("div"),f.className=`${S}__items`,p.set({spotEl:f})),o.appendChild(f)},l=({spot:p})=>{const{spotEl:f,pageBreaks:x=[]}=p.attributes;!D(p)||!f||!o||(Object.entries(p.getStyle()).forEach(([k,R])=>f.style.setProperty(k,R)),f.innerHTML="",x.forEach((k,R)=>{const T=document.createElement("div");T.setAttribute("data-page-number",`${R+2}`),T.className=S,T.style.top=`${k}px`,f.appendChild(T)}))},r=I(()=>{if(e.em.destroyed)return;const p=d();p&&p.set({pageBreaks:de(e),up:(p.attributes.up||0)+1})},150),g=I(r,200),h=()=>{o=t.getSpotsEl(),d()},y=()=>{const p=d();p&&p.set({up:(p.attributes.up||0)+1})},w=[["component:input",r],["frame:scroll",y],[a.update,r],[s.spotAdd,u],[s.spotUpdate,l],[s.spotRemove,c],[s.frameLoadBody,h]];return w.forEach(([p,f])=>e.on(p,f)),e.onReady(()=>{i(),new ResizeObserver(y).observe(t.getElement().parentElement)}),()=>{w.forEach(([p,f])=>e.off(p,f)),r.clear(),g.clear()}}var H=(e=>(e.print="presetPrintable:print",e))(H||{});const N=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 ue(e,n){const{Commands:t,Pages:s}=e;return t.add(H.print,async(a,o,i={})=>{const d={page:i.allPages?void 0:s.getSelected(),styles:"inline",optionsHtml:{exporter:null}},u=(await t.run(z.projectFiles,d)).filter(g=>g.filename.endsWith(".html")),l=u.map(g=>g.content).join('<div style="break-before: page;"></div>'),r=[];if(i.separatePrints)for(const g of u)r.push(await N(g));else r.push(await N({content:l,filename:"",mimeType:""}));for(const g of r){const h=g.contentWindow;h.focus(),h.print()}setTimeout(()=>r.forEach(g=>g.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await U("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await U("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:o,Canvas:i}=a,{sizeW:d,sizeH:c,sizeUnit:u}=o.getSelected().attributes,l=i.getFrameEl().contentDocument,r="px",g=[j(d,u),j(c,u)],h=new window.jspdf.jsPDF({unit:r,format:g}),y=l.body;h.html(y,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[H.print]}}function he(e,n){const{blockPageBreak:t={}}=n,{Components:s,Blocks:a}=e,o="Page Break",i=`${le}${A}`;return s.addType(A,{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:re(A),model:{defaults:{name:o,classes:i,attributes:{[q]:A},emptyState:!0,stylable:!1,droppable:!1,draggable:ce("wrapper"),styles:`.${i} { break-before: page; }`,traits:[]}}}),()=>{s.removeType(A),a.remove(A)}}const fe="presetPrintable",ve=B.free,be=function(e,n={}){var M;const t={selectedDevice:m.A4,...n},{Canvas:s,Devices:a,Blocks:o}=e,i=s.events,d=e.events,c=t.selectedDevice||a.getConfig().default,u=[{id:m.A5,name:"A5",width:148,height:210,unit:"mm"},{id:m.A5Portrait,name:"A5 Portrait",width:210,height:148,unit:"mm"},{id:m.A4,name:"A4",width:210,height:297,unit:"mm"},{id:m.A3,name:"A3",width:297,height:420,unit:"mm"},{id:m.B5,name:"B5",width:176,height:250,unit:"mm"},{id:m.B4,name:"B4",width:250,height:353,unit:"mm"},{id:m.letter,name:"Letter",width:8.5,height:11,unit:"in"},{id:m.legal,name:"Legal",width:8.5,height:14,unit:"in"},{id:m.ledger,name:"Ledger",width:11,height:17,unit:"in"}],r=(((M=t.devices)==null?void 0:M.call(t,{items:u}))||u).map(v=>pe(v,t));a.devices.reset(r);const g=c&&a.get(c)||a.getAll().at(0);a.select(g),["map","video"].forEach(v=>o.remove(v));const y=()=>{const v="page-rule",{rules:b}=e.Css,{width:E,height:P,minHeight:L}=a.getSelected().attributes,$=P&&P!=="auto"?P:L;(b.where({id:v}).pop()||b.add({id:v,selectors:[],selectorsAdd:"@page"},{at:0})).setStyle({size:`${E} ${$}`,margin:"0"})},w=v=>{const b=v.document,{minHeight:E}=a.getSelected().attributes,L=`
20
- ${!!parseFloat(`${E}`)?`
21
- [data-gjs-type="wrapper"] { min-height: ${E}; }
19
+ `,{target:window.document.head})},p=()=>{if(o.enablePageBreaksSpot===!1)return;const d={id:H,type:H,component:e.getWrapper()};return t.getSpots(d).pop()||t.addSpot(d)},c=({spot:d})=>{const{spotEl:f}=d.attributes;!j(d)||!f||!n||n.removeChild(f)},u=({spot:d})=>{if(!j(d)||!n)return;let{spotEl:f}=d.attributes;f||(f=document.createElement("div"),f.className=`${S}__items`,d.set({spotEl:f})),n.appendChild(f)},l=({spot:d})=>{const{spotEl:f,pageBreaks:x=[]}=d.attributes;!j(d)||!f||!n||(Object.entries(d.getStyle()).forEach(([L,$])=>f.style.setProperty(L,$)),f.innerHTML="",x.forEach((L,$)=>{const E=document.createElement("div");E.setAttribute("data-page-number",`${$+2}`),E.className=S,E.style.top=`${L}px`,f.appendChild(E)}))},r=N(()=>{if(e.em.destroyed)return;const d=p();d&&d.set({pageBreaks:he(e),up:(d.attributes.up||0)+1})},150),g=N(r,200),h=()=>{n=t.getSpotsEl(),p()},y=()=>{const d=p();d&&d.set({up:(d.attributes.up||0)+1})},w=[["component:input",r],["frame:scroll",y],[a.update,r],[s.spotAdd,u],[s.spotUpdate,l],[s.spotRemove,c],[s.frameLoadBody,h]];return w.forEach(([d,f])=>e.on(d,f)),e.onReady(()=>{i(),new ResizeObserver(y).observe(t.getElement().parentElement)}),()=>{w.forEach(([d,f])=>e.off(d,f)),r.clear(),g.clear()}}var M=(e=>(e.print="presetPrintable:print",e))(M||{});const F=e=>new Promise(o=>{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=()=>o(t),document.body.appendChild(t)});function ve(e,o){const{Commands:t,Pages:s}=e;return t.add(M.print,async(a,n,i={})=>{const p={page:i.allPages?void 0:s.getSelected(),styles:"inline",optionsHtml:{exporter:null}},u=(await t.run(z.projectFiles,p)).filter(g=>g.filename.endsWith(".html")),l=u.map(g=>g.content).join('<div style="break-before: page;"></div>'),r=[];if(i.separatePrints)for(const g of u)r.push(await F(g));else r.push(await F({content:l,filename:"",mimeType:""}));for(const g of r){const h=g.contentWindow;h.focus(),h.print()}setTimeout(()=>r.forEach(g=>g.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await O("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await O("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:n,Canvas:i}=a,{sizeW:p,sizeH:c,sizeUnit:u}=n.getSelected().attributes,l=i.getFrameEl().contentDocument,r="px",g=[_(p,u),_(c,u)],h=new window.jspdf.jsPDF({unit:r,format:g}),y=l.body;h.html(y,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[M.print]}}function be(e,o){const{blockPageBreak:t={}}=o,{Components:s,Blocks:a}=e,n="Page Break",i=`${ge}${A}`;return s.addType(A,{block:t&&{label:n,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:de(A),model:{defaults:{name:n,classes:i,attributes:{[V]:A},emptyState:!0,stylable:!1,droppable:!1,draggable:pe("wrapper"),styles:`.${i} { break-before: page; }`,traits:[]}}}),()=>{s.removeType(A),a.remove(A)}}const me="presetPrintable",ye=R.free,we=function(e,o={}){var G;const t={selectedDevice:m.A4,...o},{Canvas:s,Devices:a,Blocks:n}=e,i=s.events,p=e.events,c=t.selectedDevice||a.getConfig().default,u=[{id:m.A5,name:"A5",width:148,height:210,unit:"mm"},{id:m.A5Portrait,name:"A5 Portrait",width:210,height:148,unit:"mm"},{id:m.A4,name:"A4",width:210,height:297,unit:"mm"},{id:m.A3,name:"A3",width:297,height:420,unit:"mm"},{id:m.B5,name:"B5",width:176,height:250,unit:"mm"},{id:m.B4,name:"B4",width:250,height:353,unit:"mm"},{id:m.letter,name:"Letter",width:8.5,height:11,unit:"in"},{id:m.legal,name:"Legal",width:8.5,height:14,unit:"in"},{id:m.ledger,name:"Ledger",width:11,height:17,unit:"in"}],r=(((G=t.devices)==null?void 0:G.call(t,{items:u}))||u).map(v=>ue(v,t));a.devices.reset(r);const g=c&&a.get(c)||a.getAll().at(0);a.select(g),["map","video"].forEach(v=>n.remove(v));const y=(v={})=>{const b="page-rule",{rules:P}=e.Css,{width:T,height:B,minHeight:k}=a.getSelected().attributes,Y=B&&B!=="auto"?B:k,D=P.where({id:b}).pop(),J=D||P.add({id:b,selectors:[],selectorsAdd:"@page"},{at:0});(v.fromDeviceChange||!D)&&J.addStyle({size:`${T} ${Y}`,...!D&&{margin:"0"}})},w=(v,b={})=>{const P=v.document,{minHeight:T}=a.getSelected().attributes,k=`
20
+ ${!!parseFloat(`${T}`)?`
21
+ [data-gjs-type="wrapper"] { min-height: ${T}; }
22
22
  `:`
23
23
  body {
24
24
  overflow: hidden;
@@ -29,4 +29,4 @@
29
29
  height: 100dvh;
30
30
  }
31
31
  `}
32
- `;K(`${C}preset-printable`,L,{doc:b,target:b.head}),y()};e.on(i.frameLoadBody,v=>{const b=v.window;if(w(b),t.fixedHeight){const P=v.model.getComponent().getEl();P==null||P.addEventListener("scroll",L=>{const $=L.target;$.scrollTop>0&&$.scrollTo(0,0)})}}),e.on(a.events.select,()=>{var b;const v=(b=s.getFrameEl().contentDocument)==null?void 0:b.defaultView;v&&w(v)});const p=()=>{const b=e.Css.getRules().filter(E=>E.selectorsToString()==="body").pop();b==null||b.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},f=[[d.projectLoad,p]];f.forEach(([v,b])=>e.on(v,b));const x=ge(e,t),k=ue(e),R=he(e,t);e.onReady(()=>{e.UndoManager.clear()});const T=()=>{f.forEach(([v,b])=>e.off(v,b)),x(),k(),R()};e.on(d.destroy,T),ae({editor:e,licenseKey:t.licenseKey,plan:ve,pluginName:fe,cleanup:T})},me=oe(be);module.exports=me;
32
+ `;K(`${q}preset-printable`,k,{doc:P,target:P.head}),y(b)};e.on(i.frameLoadBody,v=>{const b=v.window;if(w(b),t.fixedHeight){const T=v.model.getComponent().getEl();T==null||T.addEventListener("scroll",B=>{const k=B.target;k.scrollTop>0&&k.scrollTo(0,0)})}}),e.on(a.events.select,()=>{var b;const v=(b=s.getFrameEl().contentDocument)==null?void 0:b.defaultView;v&&w(v,{fromDeviceChange:!0})});const d=()=>{const b=e.Css.getRules().filter(P=>P.selectorsToString()==="body").pop();b==null||b.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},f=[[p.projectLoad,d]];f.forEach(([v,b])=>e.on(v,b));const x=fe(e,t),L=ve(e),$=be(e,t);e.onReady(()=>{e.UndoManager.clear()});const E=()=>{f.forEach(([v,b])=>e.off(v,b)),x(),L(),$()};e.on(p.destroy,E),ce({editor:e,licenseKey:t.licenseKey,plan:ye,pluginName:me,cleanup:E})},Pe=re(we);module.exports=Pe;