@grapesjs/studio-sdk-plugins 1.0.25 → 1.0.26-rc.1

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 (65) hide show
  1. package/dist/dataSourceEjs/EjsExporter.d.ts +2 -2
  2. package/dist/dataSourceHandlebars/HandlebarsExporter.d.ts +2 -2
  3. package/dist/flexComponent/index.cjs.js +1 -1
  4. package/dist/flexComponent/index.es.js +1 -1
  5. package/dist/flexComponent/index.umd.js +1 -1
  6. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  7. package/dist/googleFontsAssetProvider/index.es.js +4 -4
  8. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  9. package/dist/iconifyComponent/index.cjs.js +1 -1
  10. package/dist/iconifyComponent/index.es.js +1 -1
  11. package/dist/iconifyComponent/index.umd.js +1 -1
  12. package/dist/index.cjs.js +21 -21
  13. package/dist/index.es.js +219 -216
  14. package/dist/index.umd.js +2 -2
  15. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  16. package/dist/layoutSidebarButtons/index.es.js +19 -19
  17. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  18. package/dist/layoutSidebarButtons/types.d.ts +2 -1
  19. package/dist/presetPrintable/index.cjs.js +3 -3
  20. package/dist/presetPrintable/index.es.js +101 -101
  21. package/dist/presetPrintable/index.umd.js +1 -1
  22. package/dist/prosemirror/index.cjs.js +1 -1
  23. package/dist/prosemirror/index.es.js +1 -1
  24. package/dist/prosemirror/index.umd.js +1 -1
  25. package/dist/rendererReact/index.cjs.d.ts +3 -2
  26. package/dist/rendererReact/index.cjs.js +1 -1
  27. package/dist/rendererReact/index.d.ts +3 -2
  28. package/dist/rendererReact/index.es.d.ts +3 -2
  29. package/dist/rendererReact/index.es.js +219 -153
  30. package/dist/rendererReact/index.js +1 -0
  31. package/dist/rendererReact/index.umd.js +1 -1
  32. package/dist/rendererReact/rendererCanvas/RenderCanvasComponent.d.ts +4 -2
  33. package/dist/rendererReact/rendererCanvas/customRenderer.d.ts +2 -2
  34. package/dist/rendererReact/rendererCanvas/util.d.ts +27 -7
  35. package/dist/rendererReact/rendererProject/RenderComponent.d.ts +2 -0
  36. package/dist/rendererReact/rendererProject/RenderError.d.ts +2 -0
  37. package/dist/rendererReact/rendererProject/RenderPage.d.ts +2 -0
  38. package/dist/rendererReact/rendererProject/RenderProject.d.ts +3 -0
  39. package/dist/rendererReact/rendererProject/index.cjs.d.ts +1 -2
  40. package/dist/rendererReact/rendererProject/index.cjs.js +2 -10
  41. package/dist/rendererReact/rendererProject/index.d.ts +1 -2
  42. package/dist/rendererReact/rendererProject/index.es.d.ts +1 -2
  43. package/dist/rendererReact/rendererProject/index.es.js +206 -227
  44. package/dist/rendererReact/rendererProject/index.js +2 -10
  45. package/dist/rendererReact/rendererProject/index.umd.js +2 -10
  46. package/dist/rendererReact/rendererProject/parser/parser.d.ts +34 -53
  47. package/dist/rendererReact/rendererProject/types.d.ts +18 -4
  48. package/dist/rendererReact/rendererProject/util.d.ts +0 -11
  49. package/dist/rendererReact/shared/shared.d.ts +3 -0
  50. package/dist/rendererReact/shared/types.d.ts +150 -44
  51. package/dist/rendererReact/shared/util.d.ts +7 -1
  52. package/dist/rendererReact/types.d.ts +9 -12
  53. package/dist/rendererReact/typesSchema.d.ts +116 -49
  54. package/dist/rteTinyMce/index.cjs.js +1 -1
  55. package/dist/rteTinyMce/index.es.js +1 -1
  56. package/dist/rteTinyMce/index.umd.js +1 -1
  57. package/dist/tableComponent/index.cjs.js +1 -1
  58. package/dist/tableComponent/index.es.js +15 -12
  59. package/dist/tableComponent/index.umd.js +1 -1
  60. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  61. package/dist/youtubeAssetProvider/index.es.js +6 -6
  62. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  63. package/package.json +14 -2
  64. package/dist/rendererReact/rendererProject/GrapesJSProject.d.ts +0 -3
  65. package/dist/rendererReact/rendererProject/RenderProjectComponent.d.ts +0 -12
package/dist/index.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(F,wn){typeof exports=="object"&&typeof module<"u"?wn(exports,require("handlebars/dist/cjs/handlebars")):typeof define=="function"&&define.amd?define(["exports","handlebars/dist/cjs/handlebars"],wn):(F=typeof globalThis<"u"?globalThis:F||self,wn(F.StudioSdkPlugins={},F.Handlebars))})(this,function(F,wn){"use strict";const yr="app.grapesjs.com",br="app-stage.grapesjs.com",Sr=[yr,br,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],mu="license:check:start",gu="license:check:end",yu=()=>typeof window<"u",vr=(n,e={})=>{const t=wu(n)?{id:n,src:n}:n;return new Promise((o,s)=>{var a,c;const i=document.querySelector(`script[src="${t.src}"]`),{id:r}=t;if(i)return(a=e.onScript)==null||a.call(e,i),o(r);const l=document.createElement("script");l.src=t.src,l.onload=()=>o(r),l.onerror=()=>s(r),document.head.appendChild(l),(c=e.onScript)==null||c.call(e,l)})},bu=({isDev:n,isStage:e})=>`${n?"":`https://${e?br:yr}`}/api`,Su=()=>{const n=yu()&&window.location.hostname;return!!n&&(Sr.includes(n)||Sr.some(e=>n.endsWith(e)))},vu=n=>n.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?"-":"")+e.toLowerCase()),xu=n=>typeof n<"u",wu=n=>typeof n=="string";function yt(n){return typeof n=="function"}async function Cu({path:n,baseApiUrl:e,method:t="GET",headers:o={},params:s,body:i}){const l=`${e||bu({isDev:!1,isStage:!1})}${n}`,a={method:t,headers:{"Content-Type":"application/json",...o}};i&&(a.body=JSON.stringify(i));const c=s?new URLSearchParams(s).toString():"",d=c?`?${c}`:"",u=await fetch(`${l}${d}`,a);if(!u.ok)throw new Error(`HTTP error! status: ${u.status}`);return u.json()}var _=(n=>(n.free="free",n.startup="startup",n.business="business",n.enterprise="enterprise",n))(_||{}),xr=(n=>(n.Info="info",n.Error="error",n.Success="success",n.Warning="warning",n))(xr||{}),G=(n=>(n.toastAdd="studio:toastAdd",n.dialogOpen="studio:dialogOpen",n.dialogClose="studio:dialogClose",n.sidebarLeftSet="studio:sidebarLeft:set",n.sidebarLeftGet="studio:sidebarLeft:get",n.sidebarLeftToggle="studio:sidebarLeft:toggle",n.sidebarRightSet="studio:sidebarRight:set",n.sidebarRightGet="studio:sidebarRight:get",n.sidebarRightToggle="studio:sidebarRight:toggle",n.sidebarTopSet="studio:sidebarTop:set",n.sidebarTopGet="studio:sidebarTop:get",n.sidebarTopToggle="studio:sidebarTop:toggle",n.sidebarBottomSet="studio:sidebarBottom:set",n.sidebarBottomGet="studio:sidebarBottom:get",n.sidebarBottomToggle="studio:sidebarBottom:toggle",n.symbolAdd="studio:symbolAdd",n.symbolDetach="studio:symbolDetach",n.symbolOverride="studio:symbolOverride",n.symbolPropagateStyles="studio:propagateStyles",n.getPagesConfig="studio:getPagesConfig",n.setPagesConfig="studio:setPagesConfig",n.getPageSettings="studio:getPageSettings",n.setPageSettings="studio:setPageSettings",n.projectFiles="studio:projectFiles",n.canvasReload="studio:canvasReload",n.getBlocksPanel="studio:getBlocksPanel",n.setBlocksPanel="studio:setBlocksPanel",n.getStateContextMenu="studio:getStateContextMenu",n.setStateContextMenu="studio:setStateContextMenu",n.contextMenuComponent="studio:contextMenuComponent",n.layoutAdd="studio:layoutAdd",n.layoutRemove="studio:layoutRemove",n.layoutToggle="studio:layoutToggle",n.layoutUpdate="studio:layoutUpdate",n.layoutGet="studio:layoutGet",n.layoutConfigGet="studio:layoutConfigGet",n.layoutConfigSet="studio:layoutConfigSet",n.getStateTheme="studio:getStateTheme",n.setStateTheme="studio:setStateTheme",n.assetProviderGet="studio:assetProviderGet",n.assetProviderAdd="studio:assetProviderAdd",n.assetProviderRemove="studio:assetProviderRemove",n.fontGet="studio:fontGet",n.fontAdd="studio:fontAdd",n.fontRemove="studio:fontRemove",n.fontManagerOpen="studio:fontManagerOpen",n.menuFontLoad="studio:menuFontLoad",n.toggleStateDataSource="studio:toggleStateDataSource",n.getStateDataSource="studio:getStateDataSource",n.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",n.dataSourceSetImporter="studio:dataSourceSetImporter",n.dataSourceSetExporter="studio:dataSourceSetExporter",n.setDragAbsolute="studio:setDragAbsolute",n))(G||{}),wr=(n=>(n.layoutToggleId="studio:layoutToggle:",n.toggleBlocksPanel="studio:toggleBlocksPanel",n.pageSettingsUpdate="studio:pageSettingsUpdate",n.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",n))(wr||{}),Cr=(n=>(n.dark="dark",n.light="light",n.auto="auto",n))(Cr||{}),kr=(n=>(n.web="web",n.email="email",n.document="document",n))(kr||{});const Er={[_.free]:0,[_.startup]:10,[_.business]:20,[_.enterprise]:30};function ku(n){const e=n;return e.init=t=>o=>n(o,t),e}const j=n=>ku(n);async function q({editor:n,plan:e,pluginName:t,licenseKey:o,cleanup:s}){let i="",r=!1;const l=Su(),a=d=>{console.warn("Cleanup plugin:",t,"Reason:",d),s()},c=(d={})=>{var m;const{error:u,sdkLicense:p}=d,h=(m=d.plan)==null?void 0:m.category;if(!(p||d.license)||u)a(u||"Invalid license");else if(h){const g=Er[e],b=Er[h];g>b&&a({pluginRequiredPlan:e,licensePlan:h})}};n.on(mu,d=>{i=d==null?void 0:d.baseApiUrl,r=!0}),n.on(gu,d=>{c(d)}),setTimeout(async()=>{if(!r){if(l)return;if(o){const d=await Eu({licenseKey:o,pluginName:t,baseApiUrl:i});d&&c(d)}else a("The `licenseKey` option not provided")}},2e3)}async function Eu(n){const{licenseKey:e,pluginName:t,baseApiUrl:o}=n;try{return(await Cu({baseApiUrl:o,path:`/sdk/${e||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const uo=(n,e)=>{var t;return!!((t=n==null?void 0:n.hasAttribute)!=null&&t.call(n,e))},bt=(n,e)=>{var t;return!!((t=n==null?void 0:n.classList)!=null&&t.contains(e))},Xe=n=>e=>{var t;return((t=e.getAttribute)==null?void 0:t.call(e,_e))===n},po=(...n)=>e=>n.some(t=>e.is(t)),xs=(...n)=>(e,t)=>n.some(o=>t.is(o)),Tu=(n,e={})=>{var i;const t={},o=[],s=[];for(const r in n){const{value:l,...a}=n[r];o.push({id:r,name:r,changeProp:!0,category:e.category,...a}),t[r]=l,!xu(l)&&s.push(r);const{subTraits:c={}}=a;for(const d in a.subTraits)(i=c[d])==null||i.forEach(u=>{const p=u.id||u.name;t[p]=u.value})}return{propKeys:Object.keys(t),propsNoValues:s,props:t,traits:o}},Mu=(n,e)=>{e.forEach(t=>{if(t.subTraits){const o=`${t.id||t.name}`,s=t.changeProp?`change:${o}`:`change:attributes:${o}`;n.on(s,()=>Tr(n,o)),Tr(n,o)}})},Tr=(n,e)=>{const t=n.getTrait(e),o=t.get("category"),s=t.get("subTraits")||{},r=(Object.values(s).flat()||[]).map(c=>c.id||c.name);n.removeTrait(r);const l=s[t.getValue()],a=n.getTraitIndex(e)+1;l&&n.addTrait(l.map(c=>({category:o,...c})),{at:a})},ws=(n,e,t)=>{const{doc:o=document}=t,s=t.target||o.head,i=s.querySelector(`style[${n}]`)||o.createElement("style");i.setAttribute(n,"true"),i.innerHTML=e,!s.contains(i)&&s.appendChild(i)},Au=(n,e)=>{e.forEach(t=>{const o=vu(t);o!==t&&n.has(o)&&n.set({[t]:n.get(o),[o]:void 0})})},Ne="gjs-plg-",Mr="data-gs-plg-",_e="data-type-role",Ar=(...n)=>n.map(e=>`[data-gjs-type="${e}"]`).join(","),Pu="dialogComponent",Ou=j(function(n,e={}){const{Blocks:t,Components:o}=n,{licenseKey:s}=e,i="gjs-plg-dialog",r="gjs-plg-dialog-overlay",l="gjs-plg-dialog-content",a="gjs-plg-dialog-close",c="gjs-plg-dialog-title",d="gjs-plg-dialog-body",u="gjs-plg-dialog-description",p="gjs-plg-dialog-placeholder";t.add(i,{label:"Dialog",media:`
1
+ (function(F,wn){typeof exports=="object"&&typeof module<"u"?wn(exports,require("handlebars/dist/cjs/handlebars")):typeof define=="function"&&define.amd?define(["exports","handlebars/dist/cjs/handlebars"],wn):(F=typeof globalThis<"u"?globalThis:F||self,wn(F.StudioSdkPlugins={},F.Handlebars))})(this,function(F,wn){"use strict";const yr="app.grapesjs.com",br="app-stage.grapesjs.com",Sr=[yr,br,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],mu="license:check:start",gu="license:check:end",yu=()=>typeof window<"u",vr=(n,e={})=>{const t=wu(n)?{id:n,src:n}:n;return new Promise((o,s)=>{var a,c;const i=document.querySelector(`script[src="${t.src}"]`),{id:r}=t;if(i)return(a=e.onScript)==null||a.call(e,i),o(r);const l=document.createElement("script");l.src=t.src,l.onload=()=>o(r),l.onerror=()=>s(r),document.head.appendChild(l),(c=e.onScript)==null||c.call(e,l)})},bu=({isDev:n,isStage:e})=>`${n?"":`https://${e?br:yr}`}/api`,Su=()=>{const n=yu()&&window.location.hostname;return!!n&&(Sr.includes(n)||Sr.some(e=>n.endsWith(e)))},vu=n=>n.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?"-":"")+e.toLowerCase()),xu=n=>typeof n<"u",wu=n=>typeof n=="string";function yt(n){return typeof n=="function"}async function Cu({path:n,baseApiUrl:e,method:t="GET",headers:o={},params:s,body:i}){const l=`${e||bu({isDev:!1,isStage:!1})}${n}`,a={method:t,headers:{"Content-Type":"application/json",...o}};i&&(a.body=JSON.stringify(i));const c=s?new URLSearchParams(s).toString():"",d=c?`?${c}`:"",u=await fetch(`${l}${d}`,a);if(!u.ok)throw new Error(`HTTP error! status: ${u.status}`);return u.json()}var _=(n=>(n.free="free",n.startup="startup",n.business="business",n.enterprise="enterprise",n))(_||{}),xr=(n=>(n.Info="info",n.Error="error",n.Success="success",n.Warning="warning",n))(xr||{}),G=(n=>(n.toastAdd="studio:toastAdd",n.toastRemove="studio:toastRemove",n.dialogOpen="studio:dialogOpen",n.dialogClose="studio:dialogClose",n.sidebarLeftSet="studio:sidebarLeft:set",n.sidebarLeftGet="studio:sidebarLeft:get",n.sidebarLeftToggle="studio:sidebarLeft:toggle",n.sidebarRightSet="studio:sidebarRight:set",n.sidebarRightGet="studio:sidebarRight:get",n.sidebarRightToggle="studio:sidebarRight:toggle",n.sidebarTopSet="studio:sidebarTop:set",n.sidebarTopGet="studio:sidebarTop:get",n.sidebarTopToggle="studio:sidebarTop:toggle",n.sidebarBottomSet="studio:sidebarBottom:set",n.sidebarBottomGet="studio:sidebarBottom:get",n.sidebarBottomToggle="studio:sidebarBottom:toggle",n.symbolAdd="studio:symbolAdd",n.symbolDetach="studio:symbolDetach",n.symbolOverride="studio:symbolOverride",n.symbolPropagateStyles="studio:propagateStyles",n.getPagesConfig="studio:getPagesConfig",n.setPagesConfig="studio:setPagesConfig",n.getPageSettings="studio:getPageSettings",n.setPageSettings="studio:setPageSettings",n.projectFiles="studio:projectFiles",n.canvasReload="studio:canvasReload",n.getBlocksPanel="studio:getBlocksPanel",n.setBlocksPanel="studio:setBlocksPanel",n.getStateContextMenu="studio:getStateContextMenu",n.setStateContextMenu="studio:setStateContextMenu",n.contextMenuComponent="studio:contextMenuComponent",n.layoutAdd="studio:layoutAdd",n.layoutRemove="studio:layoutRemove",n.layoutToggle="studio:layoutToggle",n.layoutUpdate="studio:layoutUpdate",n.layoutGet="studio:layoutGet",n.layoutConfigGet="studio:layoutConfigGet",n.layoutConfigSet="studio:layoutConfigSet",n.getStateTheme="studio:getStateTheme",n.setStateTheme="studio:setStateTheme",n.assetProviderGet="studio:assetProviderGet",n.assetProviderAdd="studio:assetProviderAdd",n.assetProviderRemove="studio:assetProviderRemove",n.fontGet="studio:fontGet",n.fontAdd="studio:fontAdd",n.fontRemove="studio:fontRemove",n.fontManagerOpen="studio:fontManagerOpen",n.menuFontLoad="studio:menuFontLoad",n.toggleStateDataSource="studio:toggleStateDataSource",n.getStateDataSource="studio:getStateDataSource",n.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",n.dataSourceSetImporter="studio:dataSourceSetImporter",n.dataSourceSetExporter="studio:dataSourceSetExporter",n.setDragAbsolute="studio:setDragAbsolute",n))(G||{}),wr=(n=>(n.layoutToggleId="studio:layoutToggle:",n.toggleBlocksPanel="studio:toggleBlocksPanel",n.pageSettingsUpdate="studio:pageSettingsUpdate",n.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",n))(wr||{}),Cr=(n=>(n.dark="dark",n.light="light",n.auto="auto",n))(Cr||{}),kr=(n=>(n.web="web",n.email="email",n.document="document",n.react="react",n))(kr||{});const Er={[_.free]:0,[_.startup]:10,[_.business]:20,[_.enterprise]:30};function ku(n){const e=n;return e.init=t=>o=>n(o,t),e}const j=n=>ku(n);async function q({editor:n,plan:e,pluginName:t,licenseKey:o,cleanup:s}){let i="",r=!1;const l=Su(),a=d=>{console.warn("Cleanup plugin:",t,"Reason:",d),s()},c=(d={})=>{var m;const{error:u,sdkLicense:p}=d,h=(m=d.plan)==null?void 0:m.category;if(!(p||d.license)||u)a(u||"Invalid license");else if(h){const g=Er[e],b=Er[h];g>b&&a({pluginRequiredPlan:e,licensePlan:h})}};n.on(mu,d=>{i=d==null?void 0:d.baseApiUrl,r=!0}),n.on(gu,d=>{c(d)}),setTimeout(async()=>{if(!r){if(l)return;if(o){const d=await Eu({licenseKey:o,pluginName:t,baseApiUrl:i});d&&c(d)}else a("The `licenseKey` option not provided")}},2e3)}async function Eu(n){const{licenseKey:e,pluginName:t,baseApiUrl:o}=n;try{return(await Cu({baseApiUrl:o,path:`/sdk/${e||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const uo=(n,e)=>{var t;return!!((t=n==null?void 0:n.hasAttribute)!=null&&t.call(n,e))},bt=(n,e)=>{var t;return!!((t=n==null?void 0:n.classList)!=null&&t.contains(e))},Xe=n=>e=>{var t;return((t=e.getAttribute)==null?void 0:t.call(e,_e))===n},po=(...n)=>e=>n.some(t=>e.is(t)),xs=(...n)=>(e,t)=>n.some(o=>t.is(o)),Tu=(n,e={})=>{var i;const t={},o=[],s=[];for(const r in n){const{value:l,...a}=n[r];o.push({id:r,name:r,changeProp:!0,category:e.category,...a}),t[r]=l,!xu(l)&&s.push(r);const{subTraits:c={}}=a;for(const d in a.subTraits)(i=c[d])==null||i.forEach(u=>{const p=u.id||u.name;t[p]=u.value})}return{propKeys:Object.keys(t),propsNoValues:s,props:t,traits:o}},Mu=(n,e)=>{e.forEach(t=>{if(t.subTraits){const o=`${t.id||t.name}`,s=t.changeProp?`change:${o}`:`change:attributes:${o}`;n.on(s,()=>Tr(n,o)),Tr(n,o)}})},Tr=(n,e)=>{const t=n.getTrait(e),o=t.get("category"),s=t.get("subTraits")||{},r=(Object.values(s).flat()||[]).map(c=>c.id||c.name);n.removeTrait(r);const l=s[t.getValue()],a=n.getTraitIndex(e)+1;l&&n.addTrait(l.map(c=>({category:o,...c})),{at:a})},ws=(n,e,t)=>{const{doc:o=document}=t,s=t.target||o.head,i=s.querySelector(`style[${n}]`)||o.createElement("style");i.setAttribute(n,"true"),i.innerHTML=e,!s.contains(i)&&s.appendChild(i)},Au=(n,e)=>{e.forEach(t=>{const o=vu(t);o!==t&&n.has(o)&&n.set({[t]:n.get(o),[o]:void 0})})},Ne="gjs-plg-",Mr="data-gs-plg-",_e="data-type-role",Ar=(...n)=>n.map(e=>`[data-gjs-type="${e}"]`).join(","),Pu="dialogComponent",Ou=j(function(n,e={}){const{Blocks:t,Components:o}=n,{licenseKey:s}=e,i="gjs-plg-dialog",r="gjs-plg-dialog-overlay",l="gjs-plg-dialog-content",a="gjs-plg-dialog-close",c="gjs-plg-dialog-title",d="gjs-plg-dialog-body",u="gjs-plg-dialog-description",p="gjs-plg-dialog-placeholder";t.add(i,{label:"Dialog",media:`
2
2
  <svg viewBox="0 0 24 24">
3
3
  <path d="M4 4h16v10H8l-4 4V4z"></path>
4
4
  </svg>
@@ -850,7 +850,7 @@
850
850
  outline-offset: -1px;
851
851
  opacity: 0.35;
852
852
  }
853
- `,e.head.appendChild(s)};function _d(n){const{editor:e,type:t}=n,o=U0(e,n.component),s=ir(e,o.component);if(!K0(e,o,s,t))return{target:o,container:s,startScroll:rr(e).scroll,shadowContainerEl:document.createElement("div"),shadowSnappedEl:document.createElement("div"),shadowTargetEl:document.createElement("div"),spot:e.Canvas.addSpot({type:oo,component:s.component})}}function Gd(n){const{editor:e,shadowTargetEl:t,shadowSnappedEl:o,shadowContainerEl:s,spotEl:i,target:r,container:l}=n,{Canvas:a}=e,c=e.config.stylePrefix;i==null||i.appendChild(s),s==null||s.appendChild(t),s==null||s.appendChild(o),G0(s,l),W0(t,r,l),j0(o,r),q0(s,l.el),r.el.style.opacity="0";const d=a.getSpots().filter(u=>u.type!==oo);e.em.stopDefault({preserveSelected:!0}),a.removeSpots(d),a.startAutoscroll(),a.getBody().classList.add(`${c}is__grabbing`)}function Wd(n){const{editor:e,shadowSnappedEl:t,shadowContainerEl:o,target:s,cancelled:i}=n,{Canvas:r}=e,l=e.config.stylePrefix,{component:a}=s;if(!i){const c=window.getComputedStyle(t);a.addStyle({"grid-area":c.gridArea,width:"",height:""})}s.el.style.opacity="",o.contains(t)&&(o==null||o.removeChild(t)),e.getModel().runDefault({preserveSelected:1}),r.stopAutoscroll(),r.getBody().classList.remove(`${l}is__grabbing`),r.removeSpots({type:oo}),e.select(a)}function G0(n,{rows:e,columns:t}){const o=[];for(let s=0;s<t.length;s++){o[s]=[];for(let i=0;i<e.length;i++){const r=document.createElement("div");r.className=Vd,r.style.gridArea=`${i+1} / ${s+1}`,o[s][i]=r,n.appendChild(r)}}return o}function W0(n,e,t){return n.className=Hd,n.style.top=`${e.offset.top-t.offset.top}px`,n.style.left=`${e.offset.left-t.offset.left}px`,n.style.width=`${e.offset.width+e.margin.left+e.margin.right}px`,n.style.height=`${e.offset.height+e.margin.top+e.margin.bottom}px`,n}function j0(n,e){const t=Ud(e.el,e.computedStyles);return n.className=Fd,n.style.gridArea=`${t.row.start} / ${t.column.start} / ${t.row.end} / ${t.column.end}`,n}function q0(n,e){const t=window.getComputedStyle(e);n.className=F0,n.style.position="relative",n.style.display=t.display,n.style.gap=t.gap,n.style.padding=t.padding,n.style.border=t.border,n.style.gridTemplateColumns=t.gridTemplateColumns,n.style.gridTemplateRows=t.gridTemplateRows}function jd(n,e){if(e){if(Array.isArray(e))return[...e].pop()}else return[...n.getSelectedAll()].pop();return e}function U0(n,e){const t=jd(n,e),o=t.getEl(),s=window.getComputedStyle(o);return{component:t,el:o,offset:n.Canvas.offset(o),margin:{top:parseFloat(s.marginTop),right:parseFloat(s.marginRight),bottom:parseFloat(s.marginBottom),left:parseFloat(s.marginLeft)},computedStyles:s}}function ir(n,e){const t=e.parent(),o=t.getEl(),s=window.getComputedStyle(o);return{component:t,el:o,offset:n.Canvas.offset(o),computedStyles:s,padding:{top:parseFloat(s.paddingTop),right:parseFloat(s.paddingRight),bottom:parseFloat(s.paddingBottom),left:parseFloat(s.paddingLeft)},columns:s.gridTemplateColumns.split(" ").map(r=>parseFloat(r)),rows:s.gridTemplateRows.split(" ").map(r=>parseFloat(r)),gap:{column:parseInt(s.columnGap),row:parseInt(s.rowGap)}}}function gt(n,e,t,o,s=1){let i=0;for(let r=e;r<=n.length;r++){if(i+(n[r-1]+o)*s>t)return r;i+=o+n[r-1]}return n.length+1}function rr(n){const{scrollY:e,scrollX:t}=n.Canvas.getWindow();return{scroll:{top:e,left:t}}}function K0(n,e,t,o){const s=i=>n.em.logWarning(i);return o==="draggable"&&e.component.get(o)===!1?(s(`[${or}] The element is not ${o}`),!0):t.computedStyles.display!=="grid"?(s(`[${or}] The container does not have style display:grid`),!0):!1}function lr(n,e,t={}){const o=jd(n,e),s=o==null?void 0:o.parent(),i=s==null?void 0:s.getEl();if(!s||!i)return!1;const{enableGrid:r}=t,l=window.getComputedStyle(i).display==="grid";return yt(r)?r({component:o,parent:s,isParentGrid:l}):l}const qd=n=>n.split(" ").map(e=>parseFloat(e));function Ud(n,e){const t=n.ownerDocument.defaultView,o=e||t.getComputedStyle(n),s=o.gridArea.split("/").some(x=>isNaN(parseInt(x.trim()))),i={isComputed:s,raw:o.gridArea};if(!s)return{...i,row:{start:parseInt(o.gridRowStart),end:parseInt(o.gridRowEnd)},column:{start:parseInt(o.gridColumnStart),end:parseInt(o.gridColumnEnd)}};const r=n.parentElement,l=t.getComputedStyle(r),a=parseFloat(l.columnGap)||0,c=parseFloat(l.rowGap)||0,d=qd(l.gridTemplateColumns),u=qd(l.gridTemplateRows),p=parseFloat(l.paddingLeft)||0,h=parseFloat(l.paddingTop)||0,f=r.getBoundingClientRect(),m=n.getBoundingClientRect(),g=(x,w,v,T,k)=>{let M=1,P=T+k;for(let O=0;O<w.length;O++){const N=w[O],$=P+N;if(x>=P&&x<$)return M;P=$+v,M++}return-1},b=g(m.left,d,a,f.left,p),C=g(m.right-1,d,a,f.left,p)+1,y=g(m.top,u,c,f.top,h),S=g(m.bottom-1,u,c,f.top,h)+1;return{...i,row:{start:y,end:S},column:{start:b,end:C}}}function J0(n){n.Commands.add(sr,{stop(){},run(e,t,o={}){const s=_d({editor:e,component:o.target,type:"draggable"});if(!s){this.stopCommand();return}const{spot:i,target:r,shadowContainerEl:l,shadowSnappedEl:a,shadowTargetEl:c,startScroll:d}=s;let{container:u}=s,p;new e.Utils.Dragger({doc:r.el.ownerDocument,onStart:()=>{p=setTimeout(()=>{Gd({editor:e,shadowTargetEl:c,shadowSnappedEl:a,shadowContainerEl:l,spotEl:i.attributes.spotEl,target:r,container:u}),u=ir(e,r.component)},10)},onEnd:(f,m,{cancelled:g})=>{clearTimeout(p),Wd({editor:e,shadowSnappedEl:a,shadowContainerEl:l,target:r,cancelled:g}),this.stopCommand(),e.em.set("_cmpDrag",1)},setPosition:({x:f,y:m})=>{const{scroll:g}=rr(e),{columns:b,rows:C,gap:y,offset:S,padding:x}=u,{offset:w,margin:v}=r,T=w.top-S.top-x.top-v.top+m-d.top+g.top,k=w.left-S.left-x.left-v.left+f-d.left+g.left,M=Math.min(gt(b,1,k,y.column,.5),b.length),P=Math.min(gt(C,1,T,y.row,.5),C.length),O=Math.min(gt(b,M,w.width,y.column)+1,b.length+1),N=Math.min(gt(C,P,w.height,y.row)+1,C.length+1);a.style.gridArea=`${P} / ${M} / ${N} / ${O}`,c.style.top=`${T+x.top}px`,c.style.left=`${k+x.left}px`}}).start(o.event)}})}function Z0(n,e){const t=_d({editor:n,component:e.target,type:"resizable"});if(!t)return;const{onMove:o,onEnd:s}=e.options||{},{spot:i,target:r,shadowContainerEl:l,shadowSnappedEl:a,shadowTargetEl:c}=t;let{container:d}=t,u="",p;return{onStart:h=>{u=h.target.dataset.gjsHandler||"",p=setTimeout(()=>{Gd({editor:n,shadowTargetEl:c,shadowSnappedEl:a,shadowContainerEl:l,spotEl:i.attributes.spotEl,target:r,container:d}),d=ir(n,r.component)},10),n.trigger("component:resize",{...r,type:"start"})},onEnd:(h,f)=>{const{startDim:m,rectDim:g}=f.resizer,b=JSON.stringify(m)===JSON.stringify(g);clearTimeout(p),Wd({editor:n,shadowSnappedEl:a,shadowContainerEl:l,target:r,cancelled:b}),s==null||s(h,f)},onMove:h=>{var Q;const f=h;if(((Q=f.target)==null?void 0:Q.nodeName)==="I")return;const{scroll:m}=rr(n),g=Ud(a);let b=0,C=0,y=0,S=0;const x=r.margin.left,w=r.margin.top,v=r.margin.bottom,T=r.margin.right,{width:k,top:M,left:P,height:O}=r.offset,N=f.clientX,$=f.clientY,B={t:M-w,l:P-x,h:O+w+v,w:k+x+T};u.startsWith("t")?(B.t=$-w,B.h=M+O+w+v-$):u.startsWith("b")&&(B.h=$-M+w+v),u.endsWith("l")?(B.l=N-x,B.w=P+k+x+T-N):u.endsWith("r")&&(B.w=N-P+x+T),u.endsWith("l")&&(y=m.left,g.column.start=gt(d.columns,1,B.l-d.offset.left-y-d.padding.left,d.gap.column,.5)),u.startsWith("t")&&(b=m.top,g.row.start=gt(d.rows,1,B.t-d.offset.top+b-d.padding.top,d.gap.row,.5)),u.endsWith("r")&&(S=m.left,g.column.end=Math.max(gt(d.columns,g.column.start,B.w-S,d.gap.column,.5),g.column.start+1)),u.startsWith("b")&&(C=m.top,g.row.end=Math.max(gt(d.rows,g.row.start,B.h+C,d.gap.row,.5),g.row.start+1)),a.style.gridArea=`${g.row.start} / ${g.column.start} / ${g.row.end} / ${g.column.end}`,c.style.width=`${B.w+S+y}px`,c.style.height=`${B.h+C-b}px`,c.style.left=`${B.l-d.offset.left-y}px`,c.style.top=`${B.t-d.offset.top+b}px`,o==null||o(h)}}}const Kd=["px","%","em","rem","vw","vh"],Y0=(n,e)=>{const t=n.Styles.getSectors().find(o=>!!o.getProperty(e));return{sector:t,property:t?t.getProperty(e):void 0}},X0=(n,e)=>Y0(n,e),Q0=(n,{x:e,y:t,mergable:o}={})=>{const s={property:`${n}-x`,type:"integer",units:Kd,...e},i={property:`${n}-y`,type:"integer",units:Kd,...t};return{property:n,type:"composite",properties:[s,i],...o&&{fromStyle(r,{name:l,separator:a,property:c}){const[d,u]=c.getProperties(),[p,h]=(r[l]||"").split(a);return{[d.getId()]:r[d.getName()]||p||"",[u.getId()]:r[u.getName()]||h||p||""}},toStyle(r,{name:l,property:a}){const[c,d]=a.getProperties(),u=r[c.getId()],p=r[d.getId()];return{[l]:u===p?u:`${u} ${p}`}}}}},ar={display:["grid"]};function ey(n=""){const e=/^repeat\(\s*(\d+)\s*,\s*(.+)\s*\)$/i,t=/^minmax\(\s*(.+?)\s*,\s*(.+?)\s*\)$/i,o=n.match(e);if(!o)return null;const s=parseInt(o[1],10),i=o[2];let r=i,l=i;const a=i.match(t);return a&&(r=a[1],l=a[2]),{total:s,min:r===l?"":r,max:l}}function ty(n={}){let e="",t="",o="",s="";const i=m=>m.split("/").map(g=>g.trim()).filter(Boolean),r=n["grid-area"]||"",l=n["grid-column"]||"",a=n["grid-row"]||"",c=i(r),d=i(l),u=i(a),p=c.length,h=d.length,f=u.length;return p===4?(o=c[0],e=c[1],s=c[2],t=c[3]):p===3?(o=c[0],e=c[1],s=c[2]):p===2?(o=c[0],e=c[1]):p===1&&(o=c[0]),h===2?(e=d[0],t=d[1]):h===1&&(e=d[0]),f===2?(o=u[0],s=u[1]):f===1&&(o=u[0]),{columnStart:e,columnEnd:t,rowStart:o,rowEnd:s}}function Jd(n){const{property:e,label:t}=n,o="1",s="1fr";return{property:e,label:t,type:"composite",requires:ar,generic:!0,properties:[{name:" ",property:`${e}-repeat`,type:"number",full:!0,min:1,default:"1"},{label:"Min size",property:`${e}-min`,type:"number",min:0,units:["px","%"],default:"0"},{label:"Max size",property:`${e}-max`,type:"number",min:1,units:["fr","px","%"],default:"1"}],fromStyle(i,r){const{name:l,property:a}=r,[c,d,u]=a.getProperties(),p=i[l],h=ey(p),f=(h==null?void 0:h.max)??s;return{[c.id]:(h==null?void 0:h.total)??o,[d.id]:(h==null?void 0:h.min)??"",[u.id]:f===s?"":f}},toStyle(i,{name:r,property:l}){const[a,c,d]=l.getProperties(),u=i[a.id],p=i[c.id],h=i[d.id]||s,f=p&&h?`minmax(${p}, ${h})`:h;return{[r]:`repeat(${u||o}, ${f})`}}}}function ny(n,e){if(!e.styleableGrid)return;const{property:t,...o}=X0(n,"display");if(!t)return;const s=t.getOption("grid"),i=o.sector;s||t.addOption({id:"grid",label:"Grid"}),i.addProperty(Jd({label:"Columns",property:"grid-template-columns"}),{}),i.addProperty(Jd({label:"Rows",property:"grid-template-rows"}),{}),i.addProperty({id:"grid-gap",requires:ar,...Q0("gap",{x:{id:"grid-row-gap",label:"Row",property:"row-gap",min:0,default:"0"},y:{id:"grid-column-gap",label:"Column",property:"column-gap",min:0,default:"0"},mergable:!0})},{}),i.addProperty({type:"composite",property:"grid-area",label:"Grid area",requiresParent:ar,generic:!0,properties:[{label:"Row start",property:"grid-row-start",type:"integer",default:"auto"},{label:"Row end",property:"grid-row-end",type:"integer",default:"auto"},{label:"Column start",property:"grid-column-start",type:"integer",default:"auto"},{label:"Column end",property:"grid-column-end",type:"integer",default:"auto"}],fromStyle(r){const l=ty(r);return{"grid-column-start":r["grid-column-start"]||l.columnStart,"grid-column-end":r["grid-column-end"]||l.columnEnd,"grid-row-start":r["grid-row-start"]||l.rowStart,"grid-row-end":r["grid-row-end"]||l.rowEnd}},toStyle(r,{name:l}){const a=r["grid-row-start"]||"auto",c=r["grid-row-end"]||"auto",d=r["grid-column-start"]||"auto",u=r["grid-column-end"]||"auto";return{[l]:`${a} / ${d} / ${c} / ${u}`}}},{})}const oy=j(function(n,e={}){const t={itemResizable:!0,...e},{Canvas:o,Commands:s,Components:i}=n,{itemResizable:r}=t,l=o.events,a=s.events,c=i.events,d=`${a.runBeforeCommand}tlb-move`,u=`${a.runBeforeCommand}resize`;let p;J0(n);const h=({options:y})=>{lr(n,y.target,t)&&(n.runCommand(sr,{...y}),y.abort=!0)},f=({options:y})=>{lr(n,y.target,t)&&Object.assign(y.options,Z0(n,y))},m=()=>{const y=o.getSpots({type:oo}).pop();if(!y)return;let S=y.attributes.spotEl;S||(S=document.createElement("div"),S.className=so,y.set({spotEl:S})),Object.entries(y.getStyle()).forEach(([x,w])=>S.style.setProperty(x,w)),p==null||p.appendChild(S)},g=({spot:y})=>{const S=y.attributes.spotEl;y.type!==oo||!S||p==null||p.removeChild(S)};if(r){const y=S=>{const x=yt(r)?r({component:S}):r;return typeof x=="boolean"?x:{tl:!1,tc:!1,tr:!1,cl:!1,cr:!1,bl:!1,bc:!1,br:!1,...x}};n.on(c.resizeInit,S=>{const{component:x}=S;if(lr(n,x,t)){const w=y(x);S.resizable=w}})}const b=[[d,h],[u,f],[l.spot,m],[l.spotRemove,g]];b.forEach(([y,S])=>{n.on(y,S)}),n.onReady(()=>{p=o.getSpotsEl(),_0(),ny(n,t)});const C=()=>{delete n.Commands.commands[sr],b.forEach(([y,S])=>{n.off(y,S)})};q({editor:n,licenseKey:t.licenseKey,plan:H0,pluginName:or,cleanup:C})});var Ve=(n=>(n.panelBlocks="panelBlocks",n.panelPagesLayers="panelPagesLayers",n.panelGlobalStyles="panelGlobalStyles",n.panelSidebarTabs="panelSidebarTabs",n.panelAssets="panelAssets",n))(Ve||{});const Zd="sidebarButtonsTarget",hs=n=>{const{id:e,icon:t,label:o,tooltip:s,className:i,skipSelfClose:r,removeLayouts:l,layoutComponent:a,layoutCommand:c}=n,d=e;return{id:Yd(e),type:"button",icon:t,tooltip:o||s,className:i,editorEvents:{[`${wr.layoutToggleId}${d}`]:({fromEvent:u,setState:p,editor:h})=>{p({active:u.isOpen}),setTimeout(()=>h.refresh({tools:!0}),20)}},onClick:({editor:u,state:p})=>{if(p.active&&r)return;const h=(c==null?void 0:c.placer)||{type:"static",layoutId:Zd},f={...h,skipCleanup:h.type==="static"},m=l||Object.keys(Ve).filter(b=>b!==d);Xd(u,{removeLayouts:m,layout:{placer:f}});const g={id:d,placer:h,header:(c==null?void 0:c.header)??{label:o,close:!r},layout:a,style:{width:280,height:"100%",borderRightWidth:1,...c==null?void 0:c.style}};u.runCommand(G.layoutToggle,g)}}},Yd=n=>`button__${n}`,Xd=(n,e={})=>{(e.removeLayouts||Object.keys(Ve)).forEach(o=>n.runCommand(G.layoutRemove,{id:o,layout:e.layout}))},Qd=n=>{const e=(n==null?void 0:n.breakpointTablet)??1024,t=(n==null?void 0:n.breakpointMobile)??768,o={breakpointTablet:e,breakpointMobile:t},s={},i=[{id:Ve.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:Ve.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:Ve.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:Ve.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:h,editor:f})=>{var b;const m=f.getSelected(),g={type:"image",src:h.src};if(m!=null&&m.is("image"))return m.set("src",h.src);if(m&&f.Components.canMove(m,g)){const C=m.append(g)[0];C&&f.select(C)}else if(!m){const C=(b=f.getWrapper())==null?void 0:b.append(g)[0];C&&f.select(C)}}}}],r=[...i,{id:Ve.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"}}],l={id:Zd,type:"column",style:{overflow:"hidden"}},a={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},c={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},d=(h,f)=>{const m=h.map(b=>{const C=hs(b);return n!=null&&n.sidebarButton?n.sidebarButton({id:b.id,buttonIds:Ve,breakpoint:f,buttonProps:C,sidebarButtonProps:b,...o,createSidebarButton:y=>hs({...b,...y})}):C}).filter(Boolean);return(n!=null&&n.sidebarButtons?n==null?void 0:n.sidebarButtons({buttonIds:Ve,breakpoint:f,sidebarButtons:m,...o,createSidebarButton:b=>hs({...b})}):m).filter(Boolean)},u=(h,f,m)=>{var g;return((g=n==null?void 0:n.rootLayout)==null?void 0:g.call(n,{breakpoint:m,sidebarButtons:f,rootLayout:h,layoutSidebarLeft:a,layoutSidebarTarget:l,...o,createSidebarButton:b=>hs({...b})}))??h};if(e){const h=d(r,e);s[e]=u({type:"row",style:{height:"100%"},children:[{...a,children:h},l,c]},h,e)}if(t){const h=r.map(m=>({...m,layoutCommand:{placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}}})),f=d(h,t);s[t]=u({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:f}]},f,t)}const p=d(i,0);return{default:u({type:"row",style:{height:"100%"},children:[{...a,children:p},l,c,{type:"sidebarRight"}]},p,0),responsive:s}},eu="layoutSidebarButtons",sy=_.free,tu=j(function(n,e={}){const{Commands:t}=n,o=t.events,s={...e};(()=>{if(n.runCommand(G.layoutConfigGet)||s.skipLayoutConfig===!0)return;const l=Qd(s);n.runCommand(G.layoutConfigSet,{...l})})(),t.add(`${eu}:toggleButton`,(r,l,a)=>{const c=document.getElementById(Yd(a==null?void 0:a.id));c==null||c.click()}),n.on(`${o.runCommand}core:preview`,()=>{Xd(n)}),q({editor:n,licenseKey:s.licenseKey,plan:sy,pluginName:eu,cleanup:()=>{n.runCommand(G.layoutConfigSet)}})});tu.createLayoutConfig=n=>Qd(n);const Ft="page-break";var Oe=(n=>(n.A5="a5",n.A5Portrait="a5-portrait",n.A4="a4",n.A3="a3",n.B5="b5",n.B4="b4",n.letter="letter",n.legal="legal",n.ledger="ledger",n))(Oe||{});function cr(n,e){const o={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return o[e]?n*o[e]:null}const iy=(n,e)=>{const{name:t,id:o,width:s,height:i,unit:r}=n,{fixedHeight:l}=e,a=`${s}${r}`,c=`${i}${r}`;return{id:o||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${a} x ${c})`,sizeH:i,sizeW:s,sizeUnit:r,widthMedia:"",width:a,minHeight:l?"0":`${cr(i,r)}px`,height:l?c:void 0}},dr="page-breaks",fs="gjs-page-breaks-spot",ur=n=>n.type===dr;function ry(n){const{Devices:e}=n,{height:t,minHeight:o}=e.getSelected().attributes,i=parseFloat(`${t&&t!=="auto"?t:o}`),r=n.getWrapper(),l=r==null?void 0:r.getEl(),a=[];if(!r||!l)return a;const c=l.getBoundingClientRect().height,u=r.findType(Ft).map(h=>h.getEl()).filter(Boolean).map(h=>({top:h.offsetTop,height:h.offsetHeight}));let p=0;for(;p<c;){const h=u.find(f=>f.top>p&&f.top<p+i);h?(p=h.top+h.height,a.push(h.top)):(p+=i,p<c&&a.push(p))}return a}function ly(n,e){const{Canvas:t}=n,o=t.events,s=n.events;let i;const r=()=>{ws(`${Mr}preset-printable-spots`,`.${fs} {
853
+ `,e.head.appendChild(s)};function _d(n){const{editor:e,type:t}=n,o=U0(e,n.component),s=ir(e,o.component);if(!K0(e,o,s,t))return{target:o,container:s,startScroll:rr(e).scroll,shadowContainerEl:document.createElement("div"),shadowSnappedEl:document.createElement("div"),shadowTargetEl:document.createElement("div"),spot:e.Canvas.addSpot({type:oo,component:s.component})}}function Gd(n){const{editor:e,shadowTargetEl:t,shadowSnappedEl:o,shadowContainerEl:s,spotEl:i,target:r,container:l}=n,{Canvas:a}=e,c=e.config.stylePrefix;i==null||i.appendChild(s),s==null||s.appendChild(t),s==null||s.appendChild(o),G0(s,l),W0(t,r,l),j0(o,r),q0(s,l.el),r.el.style.opacity="0";const d=a.getSpots().filter(u=>u.type!==oo);e.em.stopDefault({preserveSelected:!0}),a.removeSpots(d),a.startAutoscroll(),a.getBody().classList.add(`${c}is__grabbing`)}function Wd(n){const{editor:e,shadowSnappedEl:t,shadowContainerEl:o,target:s,cancelled:i}=n,{Canvas:r}=e,l=e.config.stylePrefix,{component:a}=s;if(!i){const c=window.getComputedStyle(t);a.addStyle({"grid-area":c.gridArea,width:"",height:""})}s.el.style.opacity="",o.contains(t)&&(o==null||o.removeChild(t)),e.getModel().runDefault({preserveSelected:1}),r.stopAutoscroll(),r.getBody().classList.remove(`${l}is__grabbing`),r.removeSpots({type:oo}),e.select(a)}function G0(n,{rows:e,columns:t}){const o=[];for(let s=0;s<t.length;s++){o[s]=[];for(let i=0;i<e.length;i++){const r=document.createElement("div");r.className=Vd,r.style.gridArea=`${i+1} / ${s+1}`,o[s][i]=r,n.appendChild(r)}}return o}function W0(n,e,t){return n.className=Hd,n.style.top=`${e.offset.top-t.offset.top}px`,n.style.left=`${e.offset.left-t.offset.left}px`,n.style.width=`${e.offset.width+e.margin.left+e.margin.right}px`,n.style.height=`${e.offset.height+e.margin.top+e.margin.bottom}px`,n}function j0(n,e){const t=Ud(e.el,e.computedStyles);return n.className=Fd,n.style.gridArea=`${t.row.start} / ${t.column.start} / ${t.row.end} / ${t.column.end}`,n}function q0(n,e){const t=window.getComputedStyle(e);n.className=F0,n.style.position="relative",n.style.display=t.display,n.style.gap=t.gap,n.style.padding=t.padding,n.style.border=t.border,n.style.gridTemplateColumns=t.gridTemplateColumns,n.style.gridTemplateRows=t.gridTemplateRows}function jd(n,e){if(e){if(Array.isArray(e))return[...e].pop()}else return[...n.getSelectedAll()].pop();return e}function U0(n,e){const t=jd(n,e),o=t.getEl(),s=window.getComputedStyle(o);return{component:t,el:o,offset:n.Canvas.offset(o),margin:{top:parseFloat(s.marginTop),right:parseFloat(s.marginRight),bottom:parseFloat(s.marginBottom),left:parseFloat(s.marginLeft)},computedStyles:s}}function ir(n,e){const t=e.parent(),o=t.getEl(),s=window.getComputedStyle(o);return{component:t,el:o,offset:n.Canvas.offset(o),computedStyles:s,padding:{top:parseFloat(s.paddingTop),right:parseFloat(s.paddingRight),bottom:parseFloat(s.paddingBottom),left:parseFloat(s.paddingLeft)},columns:s.gridTemplateColumns.split(" ").map(r=>parseFloat(r)),rows:s.gridTemplateRows.split(" ").map(r=>parseFloat(r)),gap:{column:parseInt(s.columnGap),row:parseInt(s.rowGap)}}}function gt(n,e,t,o,s=1){let i=0;for(let r=e;r<=n.length;r++){if(i+(n[r-1]+o)*s>t)return r;i+=o+n[r-1]}return n.length+1}function rr(n){const{scrollY:e,scrollX:t}=n.Canvas.getWindow();return{scroll:{top:e,left:t}}}function K0(n,e,t,o){const s=i=>n.em.logWarning(i);return o==="draggable"&&e.component.get(o)===!1?(s(`[${or}] The element is not ${o}`),!0):t.computedStyles.display!=="grid"?(s(`[${or}] The container does not have style display:grid`),!0):!1}function lr(n,e,t={}){const o=jd(n,e),s=o==null?void 0:o.parent(),i=s==null?void 0:s.getEl();if(!s||!i)return!1;const{enableGrid:r}=t,l=window.getComputedStyle(i).display==="grid";return yt(r)?r({component:o,parent:s,isParentGrid:l}):l}const qd=n=>n.split(" ").map(e=>parseFloat(e));function Ud(n,e){const t=n.ownerDocument.defaultView,o=e||t.getComputedStyle(n),s=o.gridArea.split("/").some(x=>isNaN(parseInt(x.trim()))),i={isComputed:s,raw:o.gridArea};if(!s)return{...i,row:{start:parseInt(o.gridRowStart),end:parseInt(o.gridRowEnd)},column:{start:parseInt(o.gridColumnStart),end:parseInt(o.gridColumnEnd)}};const r=n.parentElement,l=t.getComputedStyle(r),a=parseFloat(l.columnGap)||0,c=parseFloat(l.rowGap)||0,d=qd(l.gridTemplateColumns),u=qd(l.gridTemplateRows),p=parseFloat(l.paddingLeft)||0,h=parseFloat(l.paddingTop)||0,f=r.getBoundingClientRect(),m=n.getBoundingClientRect(),g=(x,w,v,T,k)=>{let M=1,P=T+k;for(let O=0;O<w.length;O++){const N=w[O],$=P+N;if(x>=P&&x<$)return M;P=$+v,M++}return-1},b=g(m.left,d,a,f.left,p),C=g(m.right-1,d,a,f.left,p)+1,y=g(m.top,u,c,f.top,h),S=g(m.bottom-1,u,c,f.top,h)+1;return{...i,row:{start:y,end:S},column:{start:b,end:C}}}function J0(n){n.Commands.add(sr,{stop(){},run(e,t,o={}){const s=_d({editor:e,component:o.target,type:"draggable"});if(!s){this.stopCommand();return}const{spot:i,target:r,shadowContainerEl:l,shadowSnappedEl:a,shadowTargetEl:c,startScroll:d}=s;let{container:u}=s,p;new e.Utils.Dragger({doc:r.el.ownerDocument,onStart:()=>{p=setTimeout(()=>{Gd({editor:e,shadowTargetEl:c,shadowSnappedEl:a,shadowContainerEl:l,spotEl:i.attributes.spotEl,target:r,container:u}),u=ir(e,r.component)},10)},onEnd:(f,m,{cancelled:g})=>{clearTimeout(p),Wd({editor:e,shadowSnappedEl:a,shadowContainerEl:l,target:r,cancelled:g}),this.stopCommand(),e.em.set("_cmpDrag",1)},setPosition:({x:f,y:m})=>{const{scroll:g}=rr(e),{columns:b,rows:C,gap:y,offset:S,padding:x}=u,{offset:w,margin:v}=r,T=w.top-S.top-x.top-v.top+m-d.top+g.top,k=w.left-S.left-x.left-v.left+f-d.left+g.left,M=Math.min(gt(b,1,k,y.column,.5),b.length),P=Math.min(gt(C,1,T,y.row,.5),C.length),O=Math.min(gt(b,M,w.width,y.column)+1,b.length+1),N=Math.min(gt(C,P,w.height,y.row)+1,C.length+1);a.style.gridArea=`${P} / ${M} / ${N} / ${O}`,c.style.top=`${T+x.top}px`,c.style.left=`${k+x.left}px`}}).start(o.event)}})}function Z0(n,e){const t=_d({editor:n,component:e.target,type:"resizable"});if(!t)return;const{onMove:o,onEnd:s}=e.options||{},{spot:i,target:r,shadowContainerEl:l,shadowSnappedEl:a,shadowTargetEl:c}=t;let{container:d}=t,u="",p;return{onStart:h=>{u=h.target.dataset.gjsHandler||"",p=setTimeout(()=>{Gd({editor:n,shadowTargetEl:c,shadowSnappedEl:a,shadowContainerEl:l,spotEl:i.attributes.spotEl,target:r,container:d}),d=ir(n,r.component)},10),n.trigger("component:resize",{...r,type:"start"})},onEnd:(h,f)=>{const{startDim:m,rectDim:g}=f.resizer,b=JSON.stringify(m)===JSON.stringify(g);clearTimeout(p),Wd({editor:n,shadowSnappedEl:a,shadowContainerEl:l,target:r,cancelled:b}),s==null||s(h,f)},onMove:h=>{var Q;const f=h;if(((Q=f.target)==null?void 0:Q.nodeName)==="I")return;const{scroll:m}=rr(n),g=Ud(a);let b=0,C=0,y=0,S=0;const x=r.margin.left,w=r.margin.top,v=r.margin.bottom,T=r.margin.right,{width:k,top:M,left:P,height:O}=r.offset,N=f.clientX,$=f.clientY,B={t:M-w,l:P-x,h:O+w+v,w:k+x+T};u.startsWith("t")?(B.t=$-w,B.h=M+O+w+v-$):u.startsWith("b")&&(B.h=$-M+w+v),u.endsWith("l")?(B.l=N-x,B.w=P+k+x+T-N):u.endsWith("r")&&(B.w=N-P+x+T),u.endsWith("l")&&(y=m.left,g.column.start=gt(d.columns,1,B.l-d.offset.left-y-d.padding.left,d.gap.column,.5)),u.startsWith("t")&&(b=m.top,g.row.start=gt(d.rows,1,B.t-d.offset.top+b-d.padding.top,d.gap.row,.5)),u.endsWith("r")&&(S=m.left,g.column.end=Math.max(gt(d.columns,g.column.start,B.w-S,d.gap.column,.5),g.column.start+1)),u.startsWith("b")&&(C=m.top,g.row.end=Math.max(gt(d.rows,g.row.start,B.h+C,d.gap.row,.5),g.row.start+1)),a.style.gridArea=`${g.row.start} / ${g.column.start} / ${g.row.end} / ${g.column.end}`,c.style.width=`${B.w+S+y}px`,c.style.height=`${B.h+C-b}px`,c.style.left=`${B.l-d.offset.left-y}px`,c.style.top=`${B.t-d.offset.top+b}px`,o==null||o(h)}}}const Kd=["px","%","em","rem","vw","vh"],Y0=(n,e)=>{const t=n.Styles.getSectors().find(o=>!!o.getProperty(e));return{sector:t,property:t?t.getProperty(e):void 0}},X0=(n,e)=>Y0(n,e),Q0=(n,{x:e,y:t,mergable:o}={})=>{const s={property:`${n}-x`,type:"integer",units:Kd,...e},i={property:`${n}-y`,type:"integer",units:Kd,...t};return{property:n,type:"composite",properties:[s,i],...o&&{fromStyle(r,{name:l,separator:a,property:c}){const[d,u]=c.getProperties(),[p,h]=(r[l]||"").split(a);return{[d.getId()]:r[d.getName()]||p||"",[u.getId()]:r[u.getName()]||h||p||""}},toStyle(r,{name:l,property:a}){const[c,d]=a.getProperties(),u=r[c.getId()],p=r[d.getId()];return{[l]:u===p?u:`${u} ${p}`}}}}},ar={display:["grid"]};function ey(n=""){const e=/^repeat\(\s*(\d+)\s*,\s*(.+)\s*\)$/i,t=/^minmax\(\s*(.+?)\s*,\s*(.+?)\s*\)$/i,o=n.match(e);if(!o)return null;const s=parseInt(o[1],10),i=o[2];let r=i,l=i;const a=i.match(t);return a&&(r=a[1],l=a[2]),{total:s,min:r===l?"":r,max:l}}function ty(n={}){let e="",t="",o="",s="";const i=m=>m.split("/").map(g=>g.trim()).filter(Boolean),r=n["grid-area"]||"",l=n["grid-column"]||"",a=n["grid-row"]||"",c=i(r),d=i(l),u=i(a),p=c.length,h=d.length,f=u.length;return p===4?(o=c[0],e=c[1],s=c[2],t=c[3]):p===3?(o=c[0],e=c[1],s=c[2]):p===2?(o=c[0],e=c[1]):p===1&&(o=c[0]),h===2?(e=d[0],t=d[1]):h===1&&(e=d[0]),f===2?(o=u[0],s=u[1]):f===1&&(o=u[0]),{columnStart:e,columnEnd:t,rowStart:o,rowEnd:s}}function Jd(n){const{property:e,label:t}=n,o="1",s="1fr";return{property:e,label:t,type:"composite",requires:ar,generic:!0,properties:[{name:" ",property:`${e}-repeat`,type:"number",full:!0,min:1,default:"1"},{label:"Min size",property:`${e}-min`,type:"number",min:0,units:["px","%"],default:"0"},{label:"Max size",property:`${e}-max`,type:"number",min:1,units:["fr","px","%"],default:"1"}],fromStyle(i,r){const{name:l,property:a}=r,[c,d,u]=a.getProperties(),p=i[l],h=ey(p),f=(h==null?void 0:h.max)??s;return{[c.id]:(h==null?void 0:h.total)??o,[d.id]:(h==null?void 0:h.min)??"",[u.id]:f===s?"":f}},toStyle(i,{name:r,property:l}){const[a,c,d]=l.getProperties(),u=i[a.id],p=i[c.id],h=i[d.id]||s,f=p&&h?`minmax(${p}, ${h})`:h;return{[r]:`repeat(${u||o}, ${f})`}}}}function ny(n,e){if(!e.styleableGrid)return;const{property:t,...o}=X0(n,"display");if(!t)return;const s=t.getOption("grid"),i=o.sector;s||t.addOption({id:"grid",label:"Grid"}),i.addProperty(Jd({label:"Columns",property:"grid-template-columns"}),{}),i.addProperty(Jd({label:"Rows",property:"grid-template-rows"}),{}),i.addProperty({id:"grid-gap",requires:ar,...Q0("gap",{x:{id:"grid-row-gap",label:"Row",property:"row-gap",min:0,default:"0"},y:{id:"grid-column-gap",label:"Column",property:"column-gap",min:0,default:"0"},mergable:!0})},{}),i.addProperty({type:"composite",property:"grid-area",label:"Grid area",requiresParent:ar,generic:!0,properties:[{label:"Row start",property:"grid-row-start",type:"integer",default:"auto"},{label:"Row end",property:"grid-row-end",type:"integer",default:"auto"},{label:"Column start",property:"grid-column-start",type:"integer",default:"auto"},{label:"Column end",property:"grid-column-end",type:"integer",default:"auto"}],fromStyle(r){const l=ty(r);return{"grid-column-start":r["grid-column-start"]||l.columnStart,"grid-column-end":r["grid-column-end"]||l.columnEnd,"grid-row-start":r["grid-row-start"]||l.rowStart,"grid-row-end":r["grid-row-end"]||l.rowEnd}},toStyle(r,{name:l}){const a=r["grid-row-start"]||"auto",c=r["grid-row-end"]||"auto",d=r["grid-column-start"]||"auto",u=r["grid-column-end"]||"auto";return{[l]:`${a} / ${d} / ${c} / ${u}`}}},{})}const oy=j(function(n,e={}){const t={itemResizable:!0,...e},{Canvas:o,Commands:s,Components:i}=n,{itemResizable:r}=t,l=o.events,a=s.events,c=i.events,d=`${a.runBeforeCommand}tlb-move`,u=`${a.runBeforeCommand}resize`;let p;J0(n);const h=({options:y})=>{lr(n,y.target,t)&&(n.runCommand(sr,{...y}),y.abort=!0)},f=({options:y})=>{lr(n,y.target,t)&&Object.assign(y.options,Z0(n,y))},m=()=>{const y=o.getSpots({type:oo}).pop();if(!y)return;let S=y.attributes.spotEl;S||(S=document.createElement("div"),S.className=so,y.set({spotEl:S})),Object.entries(y.getStyle()).forEach(([x,w])=>S.style.setProperty(x,w)),p==null||p.appendChild(S)},g=({spot:y})=>{const S=y.attributes.spotEl;y.type!==oo||!S||p==null||p.removeChild(S)};if(r){const y=S=>{const x=yt(r)?r({component:S}):r;return typeof x=="boolean"?x:{tl:!1,tc:!1,tr:!1,cl:!1,cr:!1,bl:!1,bc:!1,br:!1,...x}};n.on(c.resizeInit,S=>{const{component:x}=S;if(lr(n,x,t)){const w=y(x);S.resizable=w}})}const b=[[d,h],[u,f],[l.spot,m],[l.spotRemove,g]];b.forEach(([y,S])=>{n.on(y,S)}),n.onReady(()=>{p=o.getSpotsEl(),_0(),ny(n,t)});const C=()=>{delete n.Commands.commands[sr],b.forEach(([y,S])=>{n.off(y,S)})};q({editor:n,licenseKey:t.licenseKey,plan:H0,pluginName:or,cleanup:C})});var Ve=(n=>(n.panelBlocks="panelBlocks",n.panelPagesLayers="panelPagesLayers",n.panelGlobalStyles="panelGlobalStyles",n.panelSidebarTabs="panelSidebarTabs",n.panelAssets="panelAssets",n.aiChatPanel="aiChatPanel",n))(Ve||{});const Zd="sidebarButtonsTarget",hs=n=>{const{id:e,icon:t,label:o,tooltip:s,className:i,skipSelfClose:r,removeLayouts:l,layoutComponent:a,layoutCommand:c}=n,d=e;return{id:Yd(e),type:"button",icon:t,tooltip:o||s,className:i,editorEvents:{[`${wr.layoutToggleId}${d}`]:({fromEvent:u,setState:p,editor:h})=>{p({active:u.isOpen}),setTimeout(()=>h.refresh({tools:!0}),20)}},onClick:({editor:u,state:p})=>{if(p.active&&r)return;const h=(c==null?void 0:c.placer)||{type:"static",layoutId:Zd},f={...h,skipCleanup:h.type==="static"},m=l||Object.keys(Ve).filter(b=>b!==d);Xd(u,{removeLayouts:m,layout:{placer:f}});const g={id:d,placer:h,header:(c==null?void 0:c.header)??{label:o,close:!r},layout:a,style:{width:280,height:"100%",borderRightWidth:1,...c==null?void 0:c.style}};u.runCommand(G.layoutToggle,g)}}},Yd=n=>`button__${n}`,Xd=(n,e={})=>{(e.removeLayouts||Object.keys(Ve)).forEach(o=>n.runCommand(G.layoutRemove,{id:o,layout:e.layout}))},Qd=n=>{const e=(n==null?void 0:n.breakpointTablet)??1024,t=(n==null?void 0:n.breakpointMobile)??768,o={breakpointTablet:e,breakpointMobile:t},s={},i=[{id:Ve.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:Ve.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:Ve.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:Ve.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:h,editor:f})=>{var b;const m=f.getSelected(),g={type:"image",src:h.src};if(m!=null&&m.is("image"))return m.set("src",h.src);if(m&&f.Components.canMove(m,g)){const C=m.append(g)[0];C&&f.select(C)}else if(!m){const C=(b=f.getWrapper())==null?void 0:b.append(g)[0];C&&f.select(C)}}}}],r=[...i,{id:Ve.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"}}],l={id:Zd,type:"column",style:{overflow:"hidden"}},a={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},c={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},d=(h,f)=>{const m=h.map(b=>{const C=hs(b);return n!=null&&n.sidebarButton?n.sidebarButton({id:b.id,buttonIds:Ve,breakpoint:f,buttonProps:C,sidebarButtonProps:b,...o,createSidebarButton:y=>hs({...b,...y})}):C}).filter(Boolean);return(n!=null&&n.sidebarButtons?n==null?void 0:n.sidebarButtons({buttonIds:Ve,breakpoint:f,sidebarButtons:m,...o,createSidebarButton:b=>hs({...b})}):m).filter(Boolean)},u=(h,f,m)=>{var g;return((g=n==null?void 0:n.rootLayout)==null?void 0:g.call(n,{breakpoint:m,sidebarButtons:f,rootLayout:h,layoutSidebarLeft:a,layoutSidebarTarget:l,...o,createSidebarButton:b=>hs({...b})}))??h};if(e){const h=d(r,e);s[e]=u({type:"row",style:{height:"100%"},children:[{...a,children:h},l,c]},h,e)}if(t){const h=r.map(m=>({...m,layoutCommand:{placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}}})),f=d(h,t);s[t]=u({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:f}]},f,t)}const p=d(i,0);return{default:u({type:"row",style:{height:"100%"},children:[{...a,children:p},l,c,{type:"sidebarRight"}]},p,0),responsive:s}},eu="layoutSidebarButtons",sy=_.free,tu=j(function(n,e={}){const{Commands:t}=n,o=t.events,s={...e};(()=>{if(n.runCommand(G.layoutConfigGet)||s.skipLayoutConfig===!0)return;const l=Qd(s);n.runCommand(G.layoutConfigSet,{...l})})(),t.add(`${eu}:toggleButton`,(r,l,a)=>{const c=document.getElementById(Yd(a==null?void 0:a.id));c==null||c.click()}),n.on(`${o.runCommand}core:preview`,()=>{Xd(n)}),q({editor:n,licenseKey:s.licenseKey,plan:sy,pluginName:eu,cleanup:()=>{n.runCommand(G.layoutConfigSet)}})});tu.createLayoutConfig=n=>Qd(n);const Ft="page-break";var Oe=(n=>(n.A5="a5",n.A5Portrait="a5-portrait",n.A4="a4",n.A3="a3",n.B5="b5",n.B4="b4",n.letter="letter",n.legal="legal",n.ledger="ledger",n))(Oe||{});function cr(n,e){const o={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return o[e]?n*o[e]:null}const iy=(n,e)=>{const{name:t,id:o,width:s,height:i,unit:r}=n,{fixedHeight:l}=e,a=`${s}${r}`,c=`${i}${r}`;return{id:o||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${a} x ${c})`,sizeH:i,sizeW:s,sizeUnit:r,widthMedia:"",width:a,minHeight:l?"0":`${cr(i,r)}px`,height:l?c:void 0}},dr="page-breaks",fs="gjs-page-breaks-spot",ur=n=>n.type===dr;function ry(n){const{Devices:e}=n,{height:t,minHeight:o}=e.getSelected().attributes,i=parseFloat(`${t&&t!=="auto"?t:o}`),r=n.getWrapper(),l=r==null?void 0:r.getEl(),a=[];if(!r||!l)return a;const c=l.getBoundingClientRect().height,u=r.findType(Ft).map(h=>h.getEl()).filter(Boolean).map(h=>({top:h.offsetTop,height:h.offsetHeight}));let p=0;for(;p<c;){const h=u.find(f=>f.top>p&&f.top<p+i);h?(p=h.top+h.height,a.push(h.top)):(p+=i,p<c&&a.push(p))}return a}function ly(n,e){const{Canvas:t}=n,o=t.events,s=n.events;let i;const r=()=>{ws(`${Mr}preset-printable-spots`,`.${fs} {
854
854
  position: absolute;
855
855
  left: 0;
856
856
  width: 100%;
@@ -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.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
+ "use strict";var L=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(L||{}),P=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.projectFiles="studio:projectFiles",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(P||{}),R=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(R||{});const 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 s=c?new URLSearchParams(c).toString():"",a=s?`?${s}`:"",g=await fetch(`${y}${a}`,r);if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);return g.json()}const k={[L.free]:0,[L.startup]:10,[L.business]:20,[L.enterprise]:30};function 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=a=>{console.warn("Cleanup plugin:",n,"Reason:",a),c()},s=(a={})=>{var i;const{error:g,sdkLicense:v}=a,o=(i=a.plan)==null?void 0:i.category;if(!(v||a.license)||g)r(g||"Invalid license");else if(o){const f=k[t],d=k[o];f>d&&r({pluginRequiredPlan:t,licensePlan:o})}};e.on(O,a=>{b=a==null?void 0:a.baseApiUrl,p=!0}),e.on($,a=>{s(a)}),setTimeout(async()=>{if(!p){if(y)return;if(l){const a=await F({licenseKey:l,pluginName:n,baseApiUrl:b});a&&s(a)}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.aiChatPanel="aiChatPanel",e))(h||{});const D="sidebarButtonsTarget",B=e=>{const{id:t,icon:n,label:l,tooltip:c,className:b,skipSelfClose:p,removeLayouts:y,layoutComponent:r,layoutCommand:s}=e,a=t;return{id:I(t),type:"button",icon:n,tooltip:l||c,className:b,editorEvents:{[`${R.layoutToggleId}${a}`]:({fromEvent:g,setState:v,editor:o})=>{v({active:g.isOpen}),setTimeout(()=>o.refresh({tools:!0}),20)}},onClick:({editor:g,state:v})=>{if(v.active&&p)return;const o=(s==null?void 0:s.placer)||{type:"static",layoutId:D},u={...o,skipCleanup:o.type==="static"},i=y||Object.keys(h).filter(d=>d!==a);x(g,{removeLayouts:i,layout:{placer:u}});const f={id:a,placer:o,header:(s==null?void 0:s.header)??{label:l,close:!p},layout:r,style:{width:280,height:"100%",borderRightWidth:1,...s==null?void 0:s.style}};g.runCommand(P.layoutToggle,f)}}},I=e=>`button__${e}`,x=(e,t={})=>{(t.removeLayouts||Object.keys(h)).forEach(l=>e.runCommand(P.layoutRemove,{id:l,layout:t.layout}))},S=e=>{const t=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,l={breakpointTablet:t,breakpointMobile:n},c={},b=[{id:h.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:h.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:h.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:h.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:o,editor:u})=>{var d;const i=u.getSelected(),f={type:"image",src:o.src};if(i!=null&&i.is("image"))return i.set("src",o.src);if(i&&u.Components.canMove(i,f)){const T=i.append(f)[0];T&&u.select(T)}else if(!i){const T=(d=u.getWrapper())==null?void 0:d.append(f)[0];T&&u.select(T)}}}}],p=[...b,{id:h.panelSidebarTabs,layoutCommand:{header:!1},icon:'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.4-.2-.7-.4-1-.2-.3-.4-.6-.4-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Z"/></svg>',label:"Styles & Props",layoutComponent:{type:"panelSidebarTabs"}}],y={id:D,type:"column",style:{overflow:"hidden"}},r={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},s={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},a=(o,u)=>{const i=o.map(d=>{const T=B(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:h,breakpoint:u,buttonProps:T,sidebarButtonProps:d,...l,createSidebarButton:E=>B({...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=>B({...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=>B({...d})}))??o};if(t){const o=a(p,t);c[t]=g({type:"row",style:{height:"100%"},children:[{...r,children:o},y,s]},o,t)}if(n){const o=p.map(i=>({...i,layoutCommand:{placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}}})),u=a(o,n);c[n]=g({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:u}]},u,n)}const v=a(b,0);return{default:g({type:"row",style:{height:"100%"},children:[{...r,children:v},y,s,{type:"sidebarRight"}]},v,0),responsive:c}},w="layoutSidebarButtons",q=L.free,Z=function(e,t={}){const{Commands:n}=e,l=n.events,c={...t};(()=>{if(e.runCommand(P.layoutConfigGet)||c.skipLayoutConfig===!0)return;const y=S(c);e.runCommand(P.layoutConfigSet,{...y})})(),n.add(`${w}:toggleButton`,(p,y,r)=>{const s=document.getElementById(I(r==null?void 0:r.id));s==null||s.click()}),e.on(`${l.runCommand}core:preview`,()=>{x(e)}),V({editor:e,licenseKey:c.licenseKey,plan:q,pluginName:w,cleanup:()=>{e.runCommand(P.layoutConfigSet)}})},U=K(Z);U.createLayoutConfig=e=>S(e);module.exports=U;
@@ -1,4 +1,4 @@
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 || {});
1
+ var L = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(L || {}), P = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.projectFiles = "studio:projectFiles", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(P || {}), R = /* @__PURE__ */ ((e) => (e.layoutToggleId = "studio:layoutToggle:", e.toggleBlocksPanel = "studio:toggleBlocksPanel", e.pageSettingsUpdate = "studio:pageSettingsUpdate", e.toggleDataSourcesPreview = "studio:toggleDataSourcesPreview", e))(R || {});
2
2
  const G = "app.grapesjs.com", M = "app-stage.grapesjs.com", A = [
3
3
  G,
4
4
  M,
@@ -97,8 +97,8 @@ async function V(e) {
97
97
  return console.error("Error during SDK license check:", c), !1;
98
98
  }
99
99
  }
100
- var h = /* @__PURE__ */ ((e) => (e.panelBlocks = "panelBlocks", e.panelPagesLayers = "panelPagesLayers", e.panelGlobalStyles = "panelGlobalStyles", e.panelSidebarTabs = "panelSidebarTabs", e.panelAssets = "panelAssets", e))(h || {});
101
- const D = "sidebarButtonsTarget", P = (e) => {
100
+ var h = /* @__PURE__ */ ((e) => (e.panelBlocks = "panelBlocks", e.panelPagesLayers = "panelPagesLayers", e.panelGlobalStyles = "panelGlobalStyles", e.panelSidebarTabs = "panelSidebarTabs", e.panelAssets = "panelAssets", e.aiChatPanel = "aiChatPanel", e))(h || {});
101
+ const D = "sidebarButtonsTarget", B = (e) => {
102
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),
@@ -117,7 +117,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
117
117
  type: "static",
118
118
  layoutId: D
119
119
  }, u = { ...o, skipCleanup: o.type === "static" }, i = y || Object.keys(h).filter((d) => d !== a);
120
- S(g, { removeLayouts: i, layout: { placer: u } });
120
+ x(g, { removeLayouts: i, layout: { placer: u } });
121
121
  const f = {
122
122
  id: a,
123
123
  placer: o,
@@ -130,12 +130,12 @@ const D = "sidebarButtonsTarget", P = (e) => {
130
130
  ...s == null ? void 0 : s.style
131
131
  }
132
132
  };
133
- g.runCommand(B.layoutToggle, f);
133
+ g.runCommand(P.layoutToggle, f);
134
134
  }
135
135
  };
136
- }, I = (e) => `button__${e}`, S = (e, t = {}) => {
137
- (t.removeLayouts || Object.keys(h)).forEach((l) => e.runCommand(B.layoutRemove, { id: l, layout: t.layout }));
138
- }, x = (e) => {
136
+ }, I = (e) => `button__${e}`, x = (e, t = {}) => {
137
+ (t.removeLayouts || Object.keys(h)).forEach((l) => e.runCommand(P.layoutRemove, { id: l, layout: t.layout }));
138
+ }, S = (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,
@@ -205,7 +205,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
205
205
  }
206
206
  }, a = (o, u) => {
207
207
  const i = o.map((d) => {
208
- const T = P(d);
208
+ const T = B(d);
209
209
  return e != null && e.sidebarButton ? e.sidebarButton({
210
210
  id: d.id,
211
211
  buttonIds: h,
@@ -213,7 +213,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
213
213
  buttonProps: T,
214
214
  sidebarButtonProps: d,
215
215
  ...l,
216
- createSidebarButton: (U) => P({ ...d, ...U })
216
+ createSidebarButton: (U) => B({ ...d, ...U })
217
217
  }) : T;
218
218
  }).filter(Boolean);
219
219
  return (e != null && e.sidebarButtons ? e == null ? void 0 : e.sidebarButtons({
@@ -221,7 +221,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
221
221
  breakpoint: u,
222
222
  sidebarButtons: i,
223
223
  ...l,
224
- createSidebarButton: (d) => P({ ...d })
224
+ createSidebarButton: (d) => B({ ...d })
225
225
  }) : i).filter(Boolean);
226
226
  }, g = (o, u, i) => {
227
227
  var f;
@@ -232,7 +232,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
232
232
  layoutSidebarLeft: r,
233
233
  layoutSidebarTarget: y,
234
234
  ...l,
235
- createSidebarButton: (d) => P({ ...d })
235
+ createSidebarButton: (d) => B({ ...d })
236
236
  })) ?? o;
237
237
  };
238
238
  if (t) {
@@ -270,7 +270,7 @@ const D = "sidebarButtonsTarget", P = (e) => {
270
270
  style: { height: "100%" },
271
271
  children: [
272
272
  { type: "sidebarTop", leftContainer: { buttons: [] } },
273
- { type: "canvas" },
273
+ { type: "canvas", grow: !0 },
274
274
  {
275
275
  type: "sidebarBottom",
276
276
  style: { padding: "0 5px", alignItems: "center", gap: 10, minHeight: 39 },
@@ -308,25 +308,25 @@ const D = "sidebarButtonsTarget", P = (e) => {
308
308
  ...t
309
309
  };
310
310
  (() => {
311
- if (e.runCommand(B.layoutConfigGet) || c.skipLayoutConfig === !0) return;
312
- const y = x(c);
313
- e.runCommand(B.layoutConfigSet, { ...y });
311
+ if (e.runCommand(P.layoutConfigGet) || c.skipLayoutConfig === !0) return;
312
+ const y = S(c);
313
+ e.runCommand(P.layoutConfigSet, { ...y });
314
314
  })(), n.add(`${w}:toggleButton`, (p, y, r) => {
315
315
  const s = document.getElementById(I(r == null ? void 0 : r.id));
316
316
  s == null || s.click();
317
317
  }), e.on(`${l.runCommand}core:preview`, () => {
318
- S(e);
318
+ x(e);
319
319
  }), K({
320
320
  editor: e,
321
321
  licenseKey: c.licenseKey,
322
322
  plan: F,
323
323
  pluginName: w,
324
324
  cleanup: () => {
325
- e.runCommand(B.layoutConfigSet);
325
+ e.runCommand(P.layoutConfigSet);
326
326
  }
327
327
  });
328
328
  }, Z = j(q);
329
- Z.createLayoutConfig = (e) => x(e);
329
+ Z.createLayoutConfig = (e) => S(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.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
+ (function(h,v){typeof exports=="object"&&typeof module<"u"?module.exports=v():typeof define=="function"&&define.amd?define(v):(h=typeof globalThis<"u"?globalThis:h||self,h.StudioSdkPlugins_layoutSidebarButtons=v())})(this,function(){"use strict";var h=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(h||{}),v=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.projectFiles="studio:projectFiles",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(v||{}),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.aiChatPanel="aiChatPanel",e))(T||{});const M="sidebarButtonsTarget",B=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);I(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}`,I=(e,t={})=>{(t.removeLayouts||Object.keys(T)).forEach(l=>e.runCommand(v.layoutRemove,{id:l,layout:t.layout}))},S=e=>{const t=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,l={breakpointTablet:t,breakpointMobile:n},c={},b=[{id:T.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:T.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:T.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:T.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:a,editor:u})=>{var d;const i=u.getSelected(),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 P=i.append(p)[0];P&&u.select(P)}else if(!i){const P=(d=u.getWrapper())==null?void 0:d.append(p)[0];P&&u.select(P)}}}}],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 P=B(d);return e!=null&&e.sidebarButton?e.sidebarButton({id:d.id,buttonIds:T,breakpoint:u,buttonProps:P,sidebarButtonProps:d,...l,createSidebarButton:q=>B({...d,...q})}):P}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:T,breakpoint:u,sidebarButtons:i,...l,createSidebarButton:d=>B({...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=>B({...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",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:u}]},u,n)}const L=s(b,0);return{default:g({type:"row",style:{height:"100%"},children:[{...r,children:L},y,o,{type:"sidebarRight"}]},L,0),responsive:c}},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=S(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`,()=>{I(e)}),K({editor:e,licenseKey:c.licenseKey,plan:F,pluginName:x,cleanup:()=>{e.runCommand(v.layoutConfigSet)}})});return U.createLayoutConfig=e=>S(e),U});
@@ -74,7 +74,8 @@ export declare enum SidebarButtonIds {
74
74
  panelPagesLayers = "panelPagesLayers",
75
75
  panelGlobalStyles = "panelGlobalStyles",
76
76
  panelSidebarTabs = "panelSidebarTabs",
77
- panelAssets = "panelAssets"
77
+ panelAssets = "panelAssets",
78
+ aiChatPanel = "aiChatPanel"
78
79
  }
79
80
  export interface SDKPluginWithLayoutConfig extends PluginWithInit<LayoutSidebarButtonsOptions> {
80
81
  createLayoutConfig: (options?: Pick<LayoutSidebarButtonsOptions, 'sidebarButton' | 'sidebarButtons' | 'rootLayout'>) => LayoutConfig;
@@ -1,4 +1,4 @@
1
- "use strict";const N="app.grapesjs.com",W="app-stage.grapesjs.com",G=[N,W,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],V="license:check:start",Y="license:check:end",J=()=>typeof window<"u",M=(e,n={})=>{const t=Q(e)?{id:e,src:e}:e;return new Promise((s,a)=>{var l,p;const o=document.querySelector(`script[src="${t.src}"]`),{id:r}=t;if(o)return(l=n.onScript)==null||l.call(n,o),s(r);const i=document.createElement("script");i.src=t.src,i.onload=()=>s(r),i.onerror=()=>a(r),document.head.appendChild(i),(p=n.onScript)==null||p.call(n,i)})},X=({isDev:e,isStage:n})=>`${e?"":`https://${n?W:N}`}/api`,Z=()=>{const e=J()&&window.location.hostname;return!!e&&(G.includes(e)||G.some(n=>e.endsWith(n)))},Q=e=>typeof e=="string";async function ee({path:e,baseApiUrl:n,method:t="GET",headers:s={},params:a,body:o}){const i=`${n||X({isDev:!1,isStage:!1})}${e}`,l={method:t,headers:{"Content-Type":"application/json",...s}};o&&(l.body=JSON.stringify(o));const p=a?new URLSearchParams(a).toString():"",g=p?`?${p}`:"",d=await fetch(`${i}${g}`,l);if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);return d.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.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))(z||{});const O={[B.free]:0,[B.startup]:10,[B.business]:20,[B.enterprise]:30};function te(e){const n=e;return n.init=t=>s=>e(s,t),n}const se=e=>te(e);async function ne({editor:e,plan:n,pluginName:t,licenseKey:s,cleanup:a}){let o="",r=!1;const i=Z(),l=g=>{console.warn("Cleanup plugin:",t,"Reason:",g),a()},p=(g={})=>{var w;const{error:d,sdkLicense:u}=g,f=(w=g.plan)==null?void 0:w.category;if(!(u||g.license)||d)l(d||"Invalid license");else if(f){const c=O[n],h=O[f];c>h&&l({pluginRequiredPlan:n,licensePlan:f})}};e.on(V,g=>{o=g==null?void 0:g.baseApiUrl,r=!0}),e.on(Y,g=>{p(g)}),setTimeout(async()=>{if(!r){if(i)return;if(s){const g=await oe({licenseKey:s,pluginName:t,baseApiUrl:o});g&&p(g)}else l("The `licenseKey` option not provided")}},2e3)}async function oe(e){const{licenseKey:n,pluginName:t,baseApiUrl:s}=e;try{return(await ee({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 ae=e=>n=>{var t;return((t=n.getAttribute)==null?void 0:t.call(n,q))===e},re=(...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)},ie="gjs-plg-",C="data-gs-plg-",q="data-type-role";function I(e,n,t){let s,a,o,r,i;const l=n===void 0?100:n;function p(){const d=Date.now()-r;d<l&&d>=0?s=setTimeout(p,l-d):(s=null,i=e.apply(o,a),o=a=null)}const g=function(){return o=this,a=arguments,r=Date.now(),s||(s=setTimeout(p,l)),i};return g.clear=function(){s&&(clearTimeout(s),s=null)},g.flush=function(){s&&(i=e.apply(o,a),o=a=null,clearTimeout(s),s=null)},g}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 D(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 ce=(e,n)=>{const{name:t,id:s,width:a,height:o,unit:r}=e,{fixedHeight:i}=n,l=`${a}${r}`,p=`${o}${r}`;return{id:s||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${l} x ${p})`,sizeH:o,sizeW:a,sizeUnit:r,widthMedia:"",width:l,minHeight:i?"0":`${D(o,r)}px`,height:i?p:void 0}},H="page-breaks",$="gjs-page-breaks-spot",j=e=>e.type===H;function le(e){const{Devices:n}=e,{height:t,minHeight:s}=n.getSelected().attributes,o=parseFloat(`${t&&t!=="auto"?t:s}`),r=e.getWrapper(),i=r==null?void 0:r.getEl(),l=[];if(!r||!i)return l;const p=i.getBoundingClientRect().height,d=r.findType(A).map(f=>f.getEl()).filter(Boolean).map(f=>({top:f.offsetTop,height:f.offsetHeight}));let u=0;for(;u<p;){const f=d.find(y=>y.top>u&&y.top<u+o);f?(u=f.top+f.height,l.push(f.top)):(u+=o,u<p&&l.push(u))}return l}function pe(e,n){const{Canvas:t}=e,s=t.events,a=e.events;let o;const r=()=>{K(`${C}preset-printable-spots`,`.${$} {
1
+ "use strict";const N="app.grapesjs.com",W="app-stage.grapesjs.com",G=[N,W,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],V="license:check:start",Y="license:check:end",J=()=>typeof window<"u",M=(e,o={})=>{const t=Q(e)?{id:e,src:e}:e;return new Promise((s,a)=>{var l,p;const n=document.querySelector(`script[src="${t.src}"]`),{id:r}=t;if(n)return(l=o.onScript)==null||l.call(o,n),s(r);const i=document.createElement("script");i.src=t.src,i.onload=()=>s(r),i.onerror=()=>a(r),document.head.appendChild(i),(p=o.onScript)==null||p.call(o,i)})},X=({isDev:e,isStage:o})=>`${e?"":`https://${o?W:N}`}/api`,Z=()=>{const e=J()&&window.location.hostname;return!!e&&(G.includes(e)||G.some(o=>e.endsWith(o)))},Q=e=>typeof e=="string";async function ee({path:e,baseApiUrl:o,method:t="GET",headers:s={},params:a,body:n}){const i=`${o||X({isDev:!1,isStage:!1})}${e}`,l={method:t,headers:{"Content-Type":"application/json",...s}};n&&(l.body=JSON.stringify(n));const p=a?new URLSearchParams(a).toString():"",g=p?`?${p}`:"",d=await fetch(`${i}${g}`,l);if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);return d.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.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))(z||{});const O={[B.free]:0,[B.startup]:10,[B.business]:20,[B.enterprise]:30};function te(e){const o=e;return o.init=t=>s=>e(s,t),o}const se=e=>te(e);async function oe({editor:e,plan:o,pluginName:t,licenseKey:s,cleanup:a}){let n="",r=!1;const i=Z(),l=g=>{console.warn("Cleanup plugin:",t,"Reason:",g),a()},p=(g={})=>{var w;const{error:d,sdkLicense:u}=g,f=(w=g.plan)==null?void 0:w.category;if(!(u||g.license)||d)l(d||"Invalid license");else if(f){const c=O[o],h=O[f];c>h&&l({pluginRequiredPlan:o,licensePlan:f})}};e.on(V,g=>{n=g==null?void 0:g.baseApiUrl,r=!0}),e.on(Y,g=>{p(g)}),setTimeout(async()=>{if(!r){if(i)return;if(s){const g=await ne({licenseKey:s,pluginName:t,baseApiUrl:n});g&&p(g)}else l("The `licenseKey` option not provided")}},2e3)}async function ne(e){const{licenseKey:o,pluginName:t,baseApiUrl:s}=e;try{return(await ee({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 ae=e=>o=>{var t;return((t=o.getAttribute)==null?void 0:t.call(o,q))===e},re=(...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)},ie="gjs-plg-",C="data-gs-plg-",q="data-type-role";function I(e,o,t){let s,a,n,r,i;const l=o===void 0?100:o;function p(){const d=Date.now()-r;d<l&&d>=0?s=setTimeout(p,l-d):(s=null,i=e.apply(n,a),n=a=null)}const g=function(){return n=this,a=arguments,r=Date.now(),s||(s=setTimeout(p,l)),i};return g.clear=function(){s&&(clearTimeout(s),s=null)},g.flush=function(){s&&(i=e.apply(n,a),n=a=null,clearTimeout(s),s=null)},g}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 D(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 ce=(e,o)=>{const{name:t,id:s,width:a,height:n,unit:r}=e,{fixedHeight:i}=o,l=`${a}${r}`,p=`${n}${r}`;return{id:s||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${l} x ${p})`,sizeH:n,sizeW:a,sizeUnit:r,widthMedia:"",width:l,minHeight:i?"0":`${D(n,r)}px`,height:i?p:void 0}},H="page-breaks",$="gjs-page-breaks-spot",j=e=>e.type===H;function le(e){const{Devices:o}=e,{height:t,minHeight:s}=o.getSelected().attributes,n=parseFloat(`${t&&t!=="auto"?t:s}`),r=e.getWrapper(),i=r==null?void 0:r.getEl(),l=[];if(!r||!i)return l;const p=i.getBoundingClientRect().height,d=r.findType(A).map(f=>f.getEl()).filter(Boolean).map(f=>({top:f.offsetTop,height:f.offsetHeight}));let u=0;for(;u<p;){const f=d.find(y=>y.top>u&&y.top<u+n);f?(u=f.top+f.height,l.push(f.top)):(u+=n,u<p&&l.push(u))}return l}function pe(e,o){const{Canvas:t}=e,s=t.events,a=e.events;let n;const r=()=>{K(`${C}preset-printable-spots`,`.${$} {
2
2
  position: absolute;
3
3
  left: 0;
4
4
  width: 100%;
@@ -16,7 +16,7 @@
16
16
  right: 0;
17
17
  transform: translate(100%, -50%);
18
18
  }
19
- `,{target:window.document.head})},i=()=>{if(n.enablePageBreaksSpot===!1)return;const c={id:H,type:H,component:e.getWrapper()};return t.getSpots(c).pop()||t.addSpot(c)},l=({spot:c})=>{const{spotEl:h}=c.attributes;!j(c)||!h||!o||o.removeChild(h)},p=({spot:c})=>{if(!j(c)||!o)return;let{spotEl:h}=c.attributes;h||(h=document.createElement("div"),h.className=`${$}__items`,c.set({spotEl:h})),o.appendChild(h)},g=({spot:c})=>{const{spotEl:h,pageBreaks:x=[]}=c.attributes;!j(c)||!h||!o||(Object.entries(c.getStyle()).forEach(([k,R])=>h.style.setProperty(k,R)),h.innerHTML="",x.forEach((k,R)=>{const T=document.createElement("div");T.setAttribute("data-page-number",`${R+2}`),T.className=$,T.style.top=`${k}px`,h.appendChild(T)}))},d=I(()=>{if(e.em.destroyed)return;const c=i();c&&c.set({pageBreaks:le(e),up:(c.attributes.up||0)+1})},150),u=I(d,200),f=()=>{o=t.getSpotsEl(),i()},y=()=>{const c=i();c&&c.set({up:(c.attributes.up||0)+1})},w=[["component:input",d],["frame:scroll",y],[a.update,d],[s.spotAdd,p],[s.spotUpdate,g],[s.spotRemove,l],[s.frameLoadBody,f]];return w.forEach(([c,h])=>e.on(c,h)),e.onReady(()=>{r(),new ResizeObserver(y).observe(t.getElement().parentElement)}),()=>{w.forEach(([c,h])=>e.off(c,h)),d.clear(),u.clear()}}var _=(e=>(e.print="presetPrintable:print",e))(_||{});const F=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 ge(e,n){const{Commands:t,Pages:s}=e;return t.add(_.print,async(a,o,r={})=>{const i={page:r.allPages?void 0:s.getSelected(),styles:"inline",optionsHtml:{exporter:null}},p=(await t.run(z.projectFiles,i)).filter(u=>u.filename.endsWith(".html")),g=p.map(u=>u.content).join('<div style="break-before: page;"></div>'),d=[];if(r.separatePrints)for(const u of p)d.push(await F(u));else d.push(await F({content:g,filename:"",mimeType:""}));for(const u of d){const f=u.contentWindow;f.focus(),f.print()}setTimeout(()=>d.forEach(u=>u.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await M("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await M("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:o,Canvas:r}=a,{sizeW:i,sizeH:l,sizeUnit:p}=o.getSelected().attributes,g=r.getFrameEl().contentDocument,d="px",u=[D(i,p),D(l,p)],f=new window.jspdf.jsPDF({unit:d,format:u}),y=g.body;f.html(y,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[_.print]}}function de(e,n){const{blockPageBreak:t={}}=n,{Components:s,Blocks:a}=e,o="Page Break",r=`${ie}${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:ae(A),model:{defaults:{name:o,classes:r,attributes:{[q]:A},emptyState:!0,stylable:!1,droppable:!1,draggable:re("wrapper"),styles:`.${r} { break-before: page; }`,traits:[]}}}),()=>{s.removeType(A),a.remove(A)}}const ue="presetPrintable",he=B.free,fe=function(e,n={}){var U;const t={selectedDevice:m.A4,...n},{Canvas:s,Devices:a,Blocks:o}=e,r=s.events,i=e.events,l=t.selectedDevice||a.getConfig().default,p=[{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"}],d=(((U=t.devices)==null?void 0:U.call(t,{items:p}))||p).map(v=>ce(v,t));a.devices.reset(d);const u=l&&a.get(l)||a.getAll().at(0);a.select(u),["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,S=P&&P!=="auto"?P:L;(b.where({id:v}).pop()||b.add({id:v,selectors:[],selectorsAdd:"@page"},{at:0})).setStyle({size:`${E} ${S}`,margin:"0"})},w=v=>{const b=v.document,{minHeight:E}=a.getSelected().attributes,L=`
19
+ `,{target:window.document.head})},i=()=>{if(o.enablePageBreaksSpot===!1)return;const c={id:H,type:H,component:e.getWrapper()};return t.getSpots(c).pop()||t.addSpot(c)},l=({spot:c})=>{const{spotEl:h}=c.attributes;!j(c)||!h||!n||n.removeChild(h)},p=({spot:c})=>{if(!j(c)||!n)return;let{spotEl:h}=c.attributes;h||(h=document.createElement("div"),h.className=`${$}__items`,c.set({spotEl:h})),n.appendChild(h)},g=({spot:c})=>{const{spotEl:h,pageBreaks:x=[]}=c.attributes;!j(c)||!h||!n||(Object.entries(c.getStyle()).forEach(([k,R])=>h.style.setProperty(k,R)),h.innerHTML="",x.forEach((k,R)=>{const T=document.createElement("div");T.setAttribute("data-page-number",`${R+2}`),T.className=$,T.style.top=`${k}px`,h.appendChild(T)}))},d=I(()=>{if(e.em.destroyed)return;const c=i();c&&c.set({pageBreaks:le(e),up:(c.attributes.up||0)+1})},150),u=I(d,200),f=()=>{n=t.getSpotsEl(),i()},y=()=>{const c=i();c&&c.set({up:(c.attributes.up||0)+1})},w=[["component:input",d],["frame:scroll",y],[a.update,d],[s.spotAdd,p],[s.spotUpdate,g],[s.spotRemove,l],[s.frameLoadBody,f]];return w.forEach(([c,h])=>e.on(c,h)),e.onReady(()=>{r(),new ResizeObserver(y).observe(t.getElement().parentElement)}),()=>{w.forEach(([c,h])=>e.off(c,h)),d.clear(),u.clear()}}var _=(e=>(e.print="presetPrintable:print",e))(_||{});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 ge(e,o){const{Commands:t,Pages:s}=e;return t.add(_.print,async(a,n,r={})=>{const i={page:r.allPages?void 0:s.getSelected(),styles:"inline",optionsHtml:{exporter:null}},p=(await t.run(z.projectFiles,i)).filter(u=>u.filename.endsWith(".html")),g=p.map(u=>u.content).join('<div style="break-before: page;"></div>'),d=[];if(r.separatePrints)for(const u of p)d.push(await F(u));else d.push(await F({content:g,filename:"",mimeType:""}));for(const u of d){const f=u.contentWindow;f.focus(),f.print()}setTimeout(()=>d.forEach(u=>u.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await M("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await M("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:n,Canvas:r}=a,{sizeW:i,sizeH:l,sizeUnit:p}=n.getSelected().attributes,g=r.getFrameEl().contentDocument,d="px",u=[D(i,p),D(l,p)],f=new window.jspdf.jsPDF({unit:d,format:u}),y=g.body;f.html(y,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[_.print]}}function de(e,o){const{blockPageBreak:t={}}=o,{Components:s,Blocks:a}=e,n="Page Break",r=`${ie}${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:ae(A),model:{defaults:{name:n,classes:r,attributes:{[q]:A},emptyState:!0,stylable:!1,droppable:!1,draggable:re("wrapper"),styles:`.${r} { break-before: page; }`,traits:[]}}}),()=>{s.removeType(A),a.remove(A)}}const ue="presetPrintable",he=B.free,fe=function(e,o={}){var U;const t={selectedDevice:m.A4,...o},{Canvas:s,Devices:a,Blocks:n}=e,r=s.events,i=e.events,l=t.selectedDevice||a.getConfig().default,p=[{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"}],d=(((U=t.devices)==null?void 0:U.call(t,{items:p}))||p).map(v=>ce(v,t));a.devices.reset(d);const u=l&&a.get(l)||a.getAll().at(0);a.select(u),["map","video"].forEach(v=>n.remove(v));const y=()=>{const v="page-rule",{rules:b}=e.Css,{width:E,height:P,minHeight:L}=a.getSelected().attributes,S=P&&P!=="auto"?P:L;(b.where({id:v}).pop()||b.add({id:v,selectors:[],selectorsAdd:"@page"},{at:0})).setStyle({size:`${E} ${S}`,margin:"0"})},w=v=>{const b=v.document,{minHeight:E}=a.getSelected().attributes,L=`
20
20
  ${!!parseFloat(`${E}`)?`
21
21
  [data-gjs-type="wrapper"] { min-height: ${E}; }
22
22
  `:`
@@ -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(r.frameLoadBody,v=>{const b=v.window;if(w(b),t.fixedHeight){const P=v.model.getComponent().getEl();P==null||P.addEventListener("scroll",L=>{const S=L.target;S.scrollTop>0&&S.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 c=()=>{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"})},h=[[i.projectLoad,c]];h.forEach(([v,b])=>e.on(v,b));const x=pe(e,t),k=ge(e),R=de(e,t);e.onReady(()=>{e.UndoManager.clear()});const T=()=>{h.forEach(([v,b])=>e.off(v,b)),x(),k(),R()};e.on(i.destroy,T),ne({editor:e,licenseKey:t.licenseKey,plan:he,pluginName:ue,cleanup:T})},ve=se(fe);module.exports=ve;
32
+ `;K(`${C}preset-printable`,L,{doc:b,target:b.head}),y()};e.on(r.frameLoadBody,v=>{const b=v.window;if(w(b),t.fixedHeight){const P=v.model.getComponent().getEl();P==null||P.addEventListener("scroll",L=>{const S=L.target;S.scrollTop>0&&S.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 c=()=>{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"})},h=[[i.projectLoad,c]];h.forEach(([v,b])=>e.on(v,b));const x=pe(e,t),k=ge(e),R=de(e,t);e.onReady(()=>{e.UndoManager.clear()});const T=()=>{h.forEach(([v,b])=>e.off(v,b)),x(),k(),R()};e.on(i.destroy,T),oe({editor:e,licenseKey:t.licenseKey,plan:he,pluginName:ue,cleanup:T})},ve=se(fe);module.exports=ve;