@grapesjs/studio-sdk-plugins 1.0.35 → 1.0.36

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 (88) hide show
  1. package/dist/accordionComponent/index.cjs.js +7 -7
  2. package/dist/accordionComponent/index.es.js +175 -162
  3. package/dist/accordionComponent/index.umd.js +7 -7
  4. package/dist/aiChat/index.cjs.js +64 -64
  5. package/dist/aiChat/index.es.js +5785 -5757
  6. package/dist/aiChat/index.js +64 -64
  7. package/dist/aiChat/index.umd.js +63 -63
  8. package/dist/animationComponent/index.cjs.js +3 -3
  9. package/dist/animationComponent/index.es.js +204 -191
  10. package/dist/animationComponent/index.umd.js +3 -3
  11. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  12. package/dist/canvasAbsoluteMode/index.es.js +183 -170
  13. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  14. package/dist/canvasEmptyState/index.cjs.js +1 -1
  15. package/dist/canvasEmptyState/index.es.js +134 -121
  16. package/dist/canvasEmptyState/index.umd.js +1 -1
  17. package/dist/canvasFullSize/index.cjs.js +9 -9
  18. package/dist/canvasFullSize/index.es.js +165 -152
  19. package/dist/canvasFullSize/index.umd.js +9 -9
  20. package/dist/canvasGridMode/index.cjs.js +5 -5
  21. package/dist/canvasGridMode/index.es.js +245 -232
  22. package/dist/canvasGridMode/index.umd.js +4 -4
  23. package/dist/canvasScreenshot/index.cjs.js +1 -1
  24. package/dist/canvasScreenshot/index.es.js +155 -142
  25. package/dist/canvasScreenshot/index.umd.js +1 -1
  26. package/dist/dataSourceEjs/index.cjs.js +9 -9
  27. package/dist/dataSourceEjs/index.es.js +257 -244
  28. package/dist/dataSourceEjs/index.umd.js +9 -9
  29. package/dist/dataSourceHandlebars/index.cjs.js +8 -8
  30. package/dist/dataSourceHandlebars/index.es.js +216 -203
  31. package/dist/dataSourceHandlebars/index.umd.js +7 -7
  32. package/dist/dialogComponent/index.cjs.js +14 -14
  33. package/dist/dialogComponent/index.es.js +141 -128
  34. package/dist/dialogComponent/index.umd.js +14 -14
  35. package/dist/flexComponent/index.cjs.js +13 -13
  36. package/dist/flexComponent/index.es.js +484 -471
  37. package/dist/flexComponent/index.umd.js +13 -13
  38. package/dist/fsLightboxComponent/index.cjs.js +3 -3
  39. package/dist/fsLightboxComponent/index.es.js +173 -160
  40. package/dist/fsLightboxComponent/index.umd.js +3 -3
  41. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  42. package/dist/googleFontsAssetProvider/index.es.js +160 -147
  43. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  44. package/dist/iconifyComponent/index.cjs.js +2 -2
  45. package/dist/iconifyComponent/index.es.js +196 -183
  46. package/dist/iconifyComponent/index.umd.js +2 -2
  47. package/dist/index.cjs.js +25 -25
  48. package/dist/index.es.js +121 -108
  49. package/dist/index.umd.js +18 -18
  50. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  51. package/dist/layoutSidebarButtons/index.es.js +157 -144
  52. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  53. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  54. package/dist/lightGalleryComponent/index.es.js +245 -232
  55. package/dist/lightGalleryComponent/index.umd.js +1 -1
  56. package/dist/linkImageComponent/index.cjs.js +2 -2
  57. package/dist/linkImageComponent/index.es.js +106 -93
  58. package/dist/linkImageComponent/index.umd.js +2 -2
  59. package/dist/listPagesComponent/index.cjs.js +5 -5
  60. package/dist/listPagesComponent/index.es.js +157 -144
  61. package/dist/listPagesComponent/index.umd.js +5 -5
  62. package/dist/presetPrintable/index.cjs.js +3 -3
  63. package/dist/presetPrintable/index.es.js +181 -168
  64. package/dist/presetPrintable/index.umd.js +3 -3
  65. package/dist/prosemirror/index.cjs.js +7 -7
  66. package/dist/prosemirror/index.es.js +385 -372
  67. package/dist/prosemirror/index.umd.js +8 -8
  68. package/dist/rendererReact/index.cjs.js +1 -1
  69. package/dist/rendererReact/index.es.js +200 -187
  70. package/dist/rendererReact/index.js +1 -1
  71. package/dist/rendererReact/index.umd.js +1 -1
  72. package/dist/rteTinyMce/index.cjs.js +2 -2
  73. package/dist/rteTinyMce/index.es.js +118 -105
  74. package/dist/rteTinyMce/index.umd.js +2 -2
  75. package/dist/shapeDividerComponent/index.cjs.js +4 -4
  76. package/dist/shapeDividerComponent/index.es.js +129 -116
  77. package/dist/shapeDividerComponent/index.umd.js +4 -4
  78. package/dist/swiperComponent/index.cjs.js +9 -9
  79. package/dist/swiperComponent/index.es.js +203 -190
  80. package/dist/swiperComponent/index.umd.js +7 -7
  81. package/dist/tableComponent/index.cjs.js +1 -1
  82. package/dist/tableComponent/index.es.js +257 -244
  83. package/dist/tableComponent/index.umd.js +1 -1
  84. package/dist/types.d.ts +1 -1
  85. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  86. package/dist/youtubeAssetProvider/index.es.js +121 -108
  87. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  88. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
- (function(p,d){typeof exports=="object"&&typeof module<"u"?module.exports=d(require("handlebars/dist/cjs/handlebars")):typeof define=="function"&&define.amd?define(["handlebars/dist/cjs/handlebars"],d):(p=typeof globalThis<"u"?globalThis:p||self,p.StudioSdkPlugins_dataSourceHandlebars=d(p.Handlebars))})(this,function(p){"use strict";const d="app.grapesjs.com",P="app-stage.grapesjs.com",S=[d,"app2.grapesjs.com",P,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],x="license:check:start",I="license:check:end",N=()=>typeof window<"u",_=({isDev:a,isStage:t,isPlatform:e})=>`${a?"":`https://${t?P:d}`}/${e?"platform-api":"api"}`,T=()=>{const a=N()&&window.location.hostname;return!!a&&(S.includes(a)||S.some(t=>a.endsWith(t)))};async function v({path:a,baseApiUrl:t,method:e="GET",headers:n={},params:s,body:i}){const l=`${t||_({isDev:!1,isStage:!1})}${a}`,u={method:e,headers:{"Content-Type":"application/json",...n}};i&&(u.body=JSON.stringify(i));const c=s?new URLSearchParams(s).toString():"",h=c?`?${c}`:"",o=await fetch(`${l}${h}`,u);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var m=(a=>(a.free="free",a.startup="startup",a.business="business",a.enterprise="enterprise",a))(m||{});const y={[m.free]:0,[m.startup]:10,[m.business]:20,[m.enterprise]:30};function C(a){const t=a;return t.init=e=>n=>a(n,e),t}const k=a=>C(a);async function O({editor:a,plan:t,pluginName:e,licenseKey:n,onLicenseCheckResponse:s,cleanup:i}){let r="",l=!1;const u=T(),c=o=>{console.warn("Cleanup plugin:",e,"Reason:",o),i()},h=(o={})=>{var E;const{error:$,sdkLicense:B}=o,g=(E=o.plan)==null?void 0:E.category;if(!(B||o.license)||$)c($||"Invalid license");else if(g){const W=y[t],G=y[g];W>G&&c({pluginRequiredPlan:t,licensePlan:g})}};a.on(x,o=>{r=o==null?void 0:o.baseApiUrl,l=!0}),a.on(I,o=>{s==null||s(o),h(o)}),setTimeout(async()=>{if(!l){if(u)return;if(n){const o=await A({licenseKey:n,pluginName:e,baseApiUrl:r});s==null||s(o),o&&h(o)}else c("The `licenseKey` option not provided")}},2e3)}async function A(a){const{licenseKey:t,pluginName:e,baseApiUrl:n}=a;try{return(await v({baseApiUrl:n,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:e}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const w=(a,t)=>(a.config.optsHtml={...a.config.optsHtml,exporter:t},()=>{a.config.optsHtml.exporter=void 0}),L=(a,t)=>{const e=s=>{const{input:i}=s,{contains:r}=t;(!r||i.includes(r))&&(s.input=t.importer.import(i))},n=a.Parser.events.htmlBefore;return a.on(n,e),()=>{a.off(n,e)}},b={equals:"equals",isTruthy:"isTruthy",isFalsy:"isFalsy",isDefined:"isDefined",isNull:"isNull",isUndefined:"isUndefined",isArray:"isArray",isObject:"isObject",isString:"isString",isNumber:"isNumber",isBoolean:"isBoolean",isDefaultValue:"isDefaultValue"},j={...b,...{">":"numGt","<":"numLt",">=":"numGte","<=":"numLte","=":"numEq","!=":"numNeq"},...{contains:"strContains",startsWith:"strStartsWith",endsWith:"strEndsWith",equalsIgnoreCase:"strEqualsIgnoreCase",trimEquals:"strTrimEquals"}};class D{getHelperId(t){return j[t]||t}getFullPath({collectionId:t,path:e}){let n=e;return t&&(n=[this._sanitizeVariableName(t),e].filter(Boolean).join(".")),n||""}getVariableSyntax({dataResolver:t}){const{defaultValue:e}=t,n=this.getFullPath(t);return e?`{{#if ${n}}}{{{${n}}}}{{else}}${e}{{/if}}`:`{{{${n}}}}`}getCollectionStartSyntax({dataResolver:t}){const{collectionId:e,dataSource:n}=t,s=n==null?void 0:n.path;let i="";if(t.startIndex!==void 0||t.endIndex!==void 0){const c=t.startIndex??0,h=t.endIndex!==void 0?t.endIndex:"";h!==""?i=` (slice ${s} ${c} ${h})`:i=` (slice ${s} ${c})`}const l=` as |${this._sanitizeVariableName(e)}|`;return`{{#each ${i||s}${l}}}`}getCollectionEndSyntax(){return"{{/each}}"}getConditionalStartSyntax({dataResolver:t}){const e=t.condition;if(!e)return"";const n=e,s=e;if(s.statements&&s.logicalOperator==="and"||s.logicalOperator==="or"){const{statements:i}=s,r=s.logicalOperator,l=i.map(c=>this._parseCondition(c)).join(" ");return`{{#if ${i.length>1?`(${r} ${l})`:l}}}`}else return`{{#if ${this._parseCondition(n)}}}`}_parseCondition(t){if(!t)return"";const e=t,n=t;if(n.statements&&n.logicalOperator==="and"||n.logicalOperator==="or"){const{statements:s}=n,i=n.logicalOperator,r=n.statements.map(l=>this._parseCondition(l)).join(" ");return s.length>1?`(${i} ${r})`:r}else{const s=e.operator,i=this.getHelperId(s),r=this._parseValue(e.left),l=this._parseValue(e.right);return this.getExpressionStr(i,r,l)}}getExpressionStr(t,e,n){return b[t]?t==="isTruthy"?e:t==="isFalsy"?`!${e}`:`${t} ${e}`:`(${t} ${e} ${n})`}_parseValue(t){return typeof t=="object"?this.getFullPath(t):typeof t=="string"?`'${t.replace(/'/g,"\\'")}'`:String(t)}_sanitizeVariableName(t){return t.replace(/[^a-zA-Z0-9_$]/g,"_")}getConditionElseSyntax(){return"{{else}}"}getConditionalEndSyntax(){return"{{/if}}"}}class M{constructor(){this.messages=[],this.collectionStack=[]}import(t){this.messages=[],this.collectionStack=[];const e=this.parse(t);return this.astToGrapesJS(e)}parse(t){try{return p.parse(t)}catch(e){if(e instanceof Error&&e.message.includes("Parse error")){const n=e.message.match(/line (\d+)/),s=n?parseInt(n[1]):0,i=e.message.match(/column (\d+)/),r=i?parseInt(i[1]):0;throw new Error(`Handlebars syntax error at line ${s}, column ${r}: ${e.message}`)}throw e}}astToGrapesJS(t){switch(t.type){case"Program":return this.handleProgram(t);case"ContentStatement":return this.handleContentStatement(t);case"MustacheStatement":return this.handleMustacheStatement(t);case"BlockStatement":return this.handleBlockStatement(t);case"PartialStatement":return this.handlePartialStatement(t);case"CommentStatement":return this.handleCommentStatement(t);case"ElementNode":return this.handleElementNode(t);case"TextNode":return this.handleTextNode(t);default:return this.addMessage("warning",`Unsupported node type: ${t.type}`,t.loc),""}}handleProgram(t){let e="";if(t.body)for(const n of t.body)e+=this.astToGrapesJS(n);return e}handleContentStatement(t){return t.value||""}handleMustacheStatement(t,e={}){const n=this.getExpressionString(t.path),s={...e};return this.collectionStack.length>0?this.processPathWithCollectionContext(n,s):s.path=n,`<data-variable data-gjs-data-resolver='${JSON.stringify(s)}'></data-variable>`}processPathWithCollectionContext(t,e){t.startsWith("@")?this.handleDirectCollectionReference(t,e):this.handleRelativePathReference(t,e)}handleDirectCollectionReference(t,e){if(this.isSpecialIterationVariable(t)){this.setSpecialVariableResolver(this.collectionStack[this.collectionStack.length-1],t,e);return}const[n,...s]=t.substring(1).split("/"),i=s.join(".");this.collectionStack.includes(n)?this.setCurrentItemResolver(n,i,e):this.handleParentReferenceFallback(t,e)}isSpecialIterationVariable(t){return["index","@index","key","@key"].includes(t)}setSpecialVariableResolver(t,e,n){n.collectionId=t;const s={index:"currentIndex","@index":"currentIndex",key:"currentKey","@key":"currentKey"};n.variableType=s[e]}setCurrentItemResolver(t,e,n){n.collectionId=t,n.variableType="currentItem",e&&(n.path=e)}handleRelativePathReference(t,e){const n=f(t),{parentLevel:s,remainingPathParts:i}=this.calculateParentLevel(n),r=i.join("."),l=this.collectionStack.length-1-s;l>=0&&l<this.collectionStack.length?this.resolveRelativePath(r,l,e):e.path=i.join(".")}calculateParentLevel(t){const e=this.collectionStack.findLastIndex(i=>i===t[0]);if(e!==-1)return{parentLevel:this.collectionStack.length-1-e,remainingPathParts:t.slice(1)};let n=0;const s=[...t];for(;s[0]==="..";)n++,s.shift();return{parentLevel:n,remainingPathParts:s}}resolveRelativePath(t,e,n){const s=this.collectionStack[e];n.collectionId=s,n.variableType="currentItem",t!=="this"&&(n.path=t.startsWith("this.")?t.split(".").slice(1).join("."):t)}handleParentReferenceFallback(t,e){const n=f(t),{parentLevel:s,remainingPathParts:i}=this.calculateParentLevel(n),r=i.join("."),l=this.collectionStack.length-1-s;l>=0&&l<this.collectionStack.length?this.resolveRelativePath(r,l,e):e.path=i.join(".")}handleBlockStatement(t){const e=t.path.original;switch(e){case"if":case"unless":return this.handleConditionalBlock(t,e);case"each":return this.handleEachBlock(t);default:return this.addMessage("warning",`Unsupported block helper: ${e}`,t.loc),this.handleGenericBlock(t)}}handleConditionalBlock(t,e){const i={logicalOperator:"and",statements:[{left:{type:"data-variable",path:this.getExpressionString(t.params[0])},operator:e==="unless"?"isFalsy":"isTruthy"}]},r=this.handleProgram(t.program),l=t.inverse?this.handleProgram(t.inverse):"";return`
1
+ (function(p,g){typeof exports=="object"&&typeof module<"u"?module.exports=g(require("handlebars/dist/cjs/handlebars")):typeof define=="function"&&define.amd?define(["handlebars/dist/cjs/handlebars"],g):(p=typeof globalThis<"u"?globalThis:p||self,p.StudioSdkPlugins_dataSourceHandlebars=g(p.Handlebars))})(this,function(p){"use strict";const g="app.grapesjs.com",y="app-stage.grapesjs.com",m=[g,"app2.grapesjs.com",y,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],I="license:check:end",S=()=>typeof window<"u",T=({isDev:t,isStage:e,isPlatform:s})=>`${t?"":`https://${e?y:g}`}/${s?"platform-api":"api"}`,k=()=>{const t=S()&&window.location.hostname;return!!t&&(m.includes(t)||m.some(e=>t.endsWith(e)))};async function A({path:t,baseApiUrl:e,method:s="GET",headers:n={},params:a,body:i}){const r=`${e||T({isDev:!1,isStage:!1})}${t}`,c={method:s,headers:{"Content-Type":"application/json",...n}};i&&(c.body=JSON.stringify(i));const u=a?new URLSearchParams(a).toString():"",h=u?`?${u}`:"",l=await fetch(`${r}${h}`,c);if(!l.ok)throw new Error(`HTTP error! status: ${l.status}`);return l.json()}var d=(t=>(t.free="free",t.startup="startup",t.business="business",t.enterprise="enterprise",t))(d||{}),f=(t=>(t.toastAdd="studio:toastAdd",t.toastRemove="studio:toastRemove",t.dialogOpen="studio:dialogOpen",t.dialogClose="studio:dialogClose",t.dialogExportCode="studio:dialogExportCode",t.dialogImportCode="studio:dialogImportCode",t.sidebarLeftSet="studio:sidebarLeft:set",t.sidebarLeftGet="studio:sidebarLeft:get",t.sidebarLeftToggle="studio:sidebarLeft:toggle",t.sidebarRightSet="studio:sidebarRight:set",t.sidebarRightGet="studio:sidebarRight:get",t.sidebarRightToggle="studio:sidebarRight:toggle",t.sidebarTopSet="studio:sidebarTop:set",t.sidebarTopGet="studio:sidebarTop:get",t.sidebarTopToggle="studio:sidebarTop:toggle",t.sidebarBottomSet="studio:sidebarBottom:set",t.sidebarBottomGet="studio:sidebarBottom:get",t.sidebarBottomToggle="studio:sidebarBottom:toggle",t.symbolAdd="studio:symbolAdd",t.symbolDetach="studio:symbolDetach",t.symbolOverride="studio:symbolOverride",t.symbolPropagateStyles="studio:propagateStyles",t.getPagesConfig="studio:getPagesConfig",t.setPagesConfig="studio:setPagesConfig",t.getPageSettings="studio:getPageSettings",t.setPageSettings="studio:setPageSettings",t.clearPage="studio:clearPage",t.projectFiles="studio:projectFiles",t.validateCode="studio:validateCode",t.canvasReload="studio:canvasReload",t.getBlocksPanel="studio:getBlocksPanel",t.setBlocksPanel="studio:setBlocksPanel",t.getStateContextMenu="studio:getStateContextMenu",t.setStateContextMenu="studio:setStateContextMenu",t.contextMenuComponent="studio:contextMenuComponent",t.layoutAdd="studio:layoutAdd",t.layoutRemove="studio:layoutRemove",t.layoutToggle="studio:layoutToggle",t.layoutUpdate="studio:layoutUpdate",t.layoutGet="studio:layoutGet",t.layoutConfigGet="studio:layoutConfigGet",t.layoutConfigSet="studio:layoutConfigSet",t.layoutComponentAdd="studio:layoutComponentAdd",t.layoutComponentGet="studio:layoutComponentGet",t.layoutComponentRemove="studio:layoutComponentRemove",t.layoutComponentRender="studio:layoutComponentRender",t.getStateTheme="studio:getStateTheme",t.setStateTheme="studio:setStateTheme",t.settings="studio:settings",t.assetProviderGet="studio:assetProviderGet",t.assetProviderAdd="studio:assetProviderAdd",t.assetProviderRemove="studio:assetProviderRemove",t.fontGet="studio:fontGet",t.fontAdd="studio:fontAdd",t.fontRemove="studio:fontRemove",t.fontManagerOpen="studio:fontManagerOpen",t.menuFontLoad="studio:menuFontLoad",t.toggleStateDataSource="studio:toggleStateDataSource",t.getStateDataSource="studio:getStateDataSource",t.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",t.dataSourceSetImporter="studio:dataSourceSetImporter",t.dataSourceSetExporter="studio:dataSourceSetExporter",t.setDragAbsolute="studio:setDragAbsolute",t))(f||{});const x={[d.free]:0,[d.startup]:10,[d.business]:20,[d.enterprise]:30};function N(t){const e=t;return e.init=s=>n=>t(n,s),e}const O=t=>N(t);async function R({editor:t,plan:e,pluginName:s,licenseKey:n,onLicenseCheckResponse:a,cleanup:i}){let o="",r;const c=l=>{console.warn("Cleanup plugin:",s,"Reason:",l),i()},u=(l={})=>{var E;const{error:v,sdkLicense:H}=l,b=(E=l.plan)==null?void 0:E.category;if(!(H||l.license)||v)c(v||"Invalid license");else if(b){const W=x[e],V=x[b];W>V&&c({pluginRequiredPlan:e,licensePlan:b})}};t.Commands.has(f.settings)&&(r=t.runCommand(f.settings),o=(r==null?void 0:r.baseUrl)||"");const h=l=>{a==null||a(l),l&&u(l)};if(!r){t.onReady(async()=>{if(!k())if(n){const l=await L({licenseKey:n,pluginName:s,baseApiUrl:o});h(l)}else c("The `licenseKey` option not provided")});return}if(r.licensePlan||r.licenseError){const l=_(r);h(l);return}t.on(I,l=>h(l))}const _=t=>({sdkLicense:t.license,license:t.license,error:t.licenseError,plan:t.licensePlan});async function L(t){const{licenseKey:e,pluginName:s,baseApiUrl:n}=t;try{return(await A({baseApiUrl:n,path:`/sdk/${e||"na"}`,method:"POST",params:{d:window.location.hostname,pn:s}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const D=(t,e)=>(t.config.optsHtml={...t.config.optsHtml,exporter:e},()=>{t.config.optsHtml.exporter=void 0}),G=(t,e)=>{const s=a=>{const{input:i}=a,{contains:o}=e;(!o||i.includes(o))&&(a.input=e.importer.import(i))},n=t.Parser.events.htmlBefore;return t.on(n,s),()=>{t.off(n,s)}},$={equals:"equals",isTruthy:"isTruthy",isFalsy:"isFalsy",isDefined:"isDefined",isNull:"isNull",isUndefined:"isUndefined",isArray:"isArray",isObject:"isObject",isString:"isString",isNumber:"isNumber",isBoolean:"isBoolean",isDefaultValue:"isDefaultValue"},M={...$,...{">":"numGt","<":"numLt",">=":"numGte","<=":"numLte","=":"numEq","!=":"numNeq"},...{contains:"strContains",startsWith:"strStartsWith",endsWith:"strEndsWith",equalsIgnoreCase:"strEqualsIgnoreCase",trimEquals:"strTrimEquals"}};class w{getHelperId(e){return M[e]||e}getFullPath({collectionId:e,path:s}){let n=s;return e&&(n=[this._sanitizeVariableName(e),s].filter(Boolean).join(".")),n||""}getVariableSyntax({dataResolver:e}){const{defaultValue:s}=e,n=this.getFullPath(e);return s?`{{#if ${n}}}{{{${n}}}}{{else}}${s}{{/if}}`:`{{{${n}}}}`}getCollectionStartSyntax({dataResolver:e}){const{collectionId:s,dataSource:n}=e,a=n==null?void 0:n.path;let i="";if(e.startIndex!==void 0||e.endIndex!==void 0){const u=e.startIndex??0,h=e.endIndex!==void 0?e.endIndex:"";h!==""?i=` (slice ${a} ${u} ${h})`:i=` (slice ${a} ${u})`}const r=` as |${this._sanitizeVariableName(s)}|`;return`{{#each ${i||a}${r}}}`}getCollectionEndSyntax(){return"{{/each}}"}getConditionalStartSyntax({dataResolver:e}){const s=e.condition;if(!s)return"";const n=s,a=s;if(a.statements&&a.logicalOperator==="and"||a.logicalOperator==="or"){const{statements:i}=a,o=a.logicalOperator,r=i.map(u=>this._parseCondition(u)).join(" ");return`{{#if ${i.length>1?`(${o} ${r})`:r}}}`}else return`{{#if ${this._parseCondition(n)}}}`}_parseCondition(e){if(!e)return"";const s=e,n=e;if(n.statements&&n.logicalOperator==="and"||n.logicalOperator==="or"){const{statements:a}=n,i=n.logicalOperator,o=n.statements.map(r=>this._parseCondition(r)).join(" ");return a.length>1?`(${i} ${o})`:o}else{const a=s.operator,i=this.getHelperId(a),o=this._parseValue(s.left),r=this._parseValue(s.right);return this.getExpressionStr(i,o,r)}}getExpressionStr(e,s,n){return $[e]?e==="isTruthy"?s:e==="isFalsy"?`!${s}`:`${e} ${s}`:`(${e} ${s} ${n})`}_parseValue(e){return typeof e=="object"?this.getFullPath(e):typeof e=="string"?`'${e.replace(/'/g,"\\'")}'`:String(e)}_sanitizeVariableName(e){return e.replace(/[^a-zA-Z0-9_$]/g,"_")}getConditionElseSyntax(){return"{{else}}"}getConditionalEndSyntax(){return"{{/if}}"}}class B{constructor(){this.messages=[],this.collectionStack=[]}import(e){this.messages=[],this.collectionStack=[];const s=this.parse(e);return this.astToGrapesJS(s)}parse(e){try{return p.parse(e)}catch(s){if(s instanceof Error&&s.message.includes("Parse error")){const n=s.message.match(/line (\d+)/),a=n?parseInt(n[1]):0,i=s.message.match(/column (\d+)/),o=i?parseInt(i[1]):0;throw new Error(`Handlebars syntax error at line ${a}, column ${o}: ${s.message}`)}throw s}}astToGrapesJS(e){switch(e.type){case"Program":return this.handleProgram(e);case"ContentStatement":return this.handleContentStatement(e);case"MustacheStatement":return this.handleMustacheStatement(e);case"BlockStatement":return this.handleBlockStatement(e);case"PartialStatement":return this.handlePartialStatement(e);case"CommentStatement":return this.handleCommentStatement(e);case"ElementNode":return this.handleElementNode(e);case"TextNode":return this.handleTextNode(e);default:return this.addMessage("warning",`Unsupported node type: ${e.type}`,e.loc),""}}handleProgram(e){let s="";if(e.body)for(const n of e.body)s+=this.astToGrapesJS(n);return s}handleContentStatement(e){return e.value||""}handleMustacheStatement(e,s={}){const n=this.getExpressionString(e.path),a={...s};return this.collectionStack.length>0?this.processPathWithCollectionContext(n,a):a.path=n,`<data-variable data-gjs-data-resolver='${JSON.stringify(a)}'></data-variable>`}processPathWithCollectionContext(e,s){e.startsWith("@")?this.handleDirectCollectionReference(e,s):this.handleRelativePathReference(e,s)}handleDirectCollectionReference(e,s){if(this.isSpecialIterationVariable(e)){this.setSpecialVariableResolver(this.collectionStack[this.collectionStack.length-1],e,s);return}const[n,...a]=e.substring(1).split("/"),i=a.join(".");this.collectionStack.includes(n)?this.setCurrentItemResolver(n,i,s):this.handleParentReferenceFallback(e,s)}isSpecialIterationVariable(e){return["index","@index","key","@key"].includes(e)}setSpecialVariableResolver(e,s,n){n.collectionId=e;const a={index:"currentIndex","@index":"currentIndex",key:"currentKey","@key":"currentKey"};n.variableType=a[s]}setCurrentItemResolver(e,s,n){n.collectionId=e,n.variableType="currentItem",s&&(n.path=s)}handleRelativePathReference(e,s){const n=P(e),{parentLevel:a,remainingPathParts:i}=this.calculateParentLevel(n),o=i.join("."),r=this.collectionStack.length-1-a;r>=0&&r<this.collectionStack.length?this.resolveRelativePath(o,r,s):s.path=i.join(".")}calculateParentLevel(e){const s=this.collectionStack.findLastIndex(i=>i===e[0]);if(s!==-1)return{parentLevel:this.collectionStack.length-1-s,remainingPathParts:e.slice(1)};let n=0;const a=[...e];for(;a[0]==="..";)n++,a.shift();return{parentLevel:n,remainingPathParts:a}}resolveRelativePath(e,s,n){const a=this.collectionStack[s];n.collectionId=a,n.variableType="currentItem",e!=="this"&&(n.path=e.startsWith("this.")?e.split(".").slice(1).join("."):e)}handleParentReferenceFallback(e,s){const n=P(e),{parentLevel:a,remainingPathParts:i}=this.calculateParentLevel(n),o=i.join("."),r=this.collectionStack.length-1-a;r>=0&&r<this.collectionStack.length?this.resolveRelativePath(o,r,s):s.path=i.join(".")}handleBlockStatement(e){const s=e.path.original;switch(s){case"if":case"unless":return this.handleConditionalBlock(e,s);case"each":return this.handleEachBlock(e);default:return this.addMessage("warning",`Unsupported block helper: ${s}`,e.loc),this.handleGenericBlock(e)}}handleConditionalBlock(e,s){const i={logicalOperator:"and",statements:[{left:{type:"data-variable",path:this.getExpressionString(e.params[0])},operator:s==="unless"?"isFalsy":"isTruthy"}]},o=this.handleProgram(e.program),r=e.inverse?this.handleProgram(e.inverse):"";return`
2
2
  <data-condition data-gjs-data-resolver='${JSON.stringify({condition:i})}'>
3
- <data-condition-true-content>${r}</data-condition-true-content>
4
- <data-condition-false-content>${l}</data-condition-false-content>
3
+ <data-condition-true-content>${o}</data-condition-true-content>
4
+ <data-condition-false-content>${r}</data-condition-false-content>
5
5
  </data-condition>
6
- `}handleEachBlock(t){var i,r,l;const e=this.getExpressionString(t.params[0]);let n;t.params.length>=3&&t.params[1]==="as"&&((i=t.params[2])==null?void 0:i.type)==="PathExpression"?n=t.params[2].original:(l=(r=t.program)==null?void 0:r.blockParams)!=null&&l.length?n=t.program.blockParams[0]:n=`collection-${Math.random().toString(36).substring(2,10)}`,this.collectionStack.push(n);const s=this.handleProgram(t.program);return this.collectionStack.pop(),`
7
- <data-collection data-gjs-data-resolver='${JSON.stringify({dataSource:{type:"data-variable",path:e},collectionId:n})}'>
8
- <data-collection-item>${s}</data-collection-item>
6
+ `}handleEachBlock(e){var i,o,r;const s=this.getExpressionString(e.params[0]);let n;e.params.length>=3&&e.params[1]==="as"&&((i=e.params[2])==null?void 0:i.type)==="PathExpression"?n=e.params[2].original:(r=(o=e.program)==null?void 0:o.blockParams)!=null&&r.length?n=e.program.blockParams[0]:n=`collection-${Math.random().toString(36).substring(2,10)}`,this.collectionStack.push(n);const a=this.handleProgram(e.program);return this.collectionStack.pop(),`
7
+ <data-collection data-gjs-data-resolver='${JSON.stringify({dataSource:{type:"data-variable",path:s},collectionId:n})}'>
8
+ <data-collection-item>${a}</data-collection-item>
9
9
  </data-collection>
10
- `}handleCommentStatement(t){return`<!--${t.value}-->`}handleElementNode(t){let e="";if(t.attributes)for(const s of t.attributes)s.value.type==="TextNode"?e+=` ${s.name}="${s.value.chars}"`:(this.addMessage("warning",`Complex attribute values not fully supported: ${s.name}`,t.loc),e+=` ${s.name}="${this.getExpressionString(s.value)}"`);let n="";if(t.children)for(const s of t.children)n+=this.astToGrapesJS(s);return`<${t.tag}${e}>${n}</${t.tag}>`}handleTextNode(t){return t.chars||""}handlePartialStatement(t){return this.addMessage("warning",`Partials are not fully supported: ${t.name.original}`,t.loc),`{{> ${t.name.original}}}`}handleGenericBlock(t){const e=this.handleProgram(t.program);return`<!-- Unsupported block: ${t.path.original} -->${e}`}getExpressionString(t){return t.type==="PathExpression"?t.original:t.type==="StringLiteral"?t.value:t.type==="NumberLiteral"?t.value.toString():t.type==="BooleanLiteral"?t.value?"true":"false":t.type==="SubExpression"?this.getExpressionString(t.params[0]):t.type==="Hash"?`{${t.pairs.map(n=>`${n.key}=${this.getExpressionString(n.value)}`).join(", ")}}`:(this.addMessage("warning",`Complex expression type not fully supported: ${t.type}`,t.loc),"")}addMessage(t,e,n){this.messages.push({type:t,message:e,location:n?{line:n.start.line,column:n.start.column}:void 0})}}const f=a=>{if(a==null||a==="")return[];if(a===".")return["this"];if(a===".."||a==="../")return[".."];if(a.startsWith("../")){const r=a.substring(3);return["..",...f(r)]}const t=[];let e=0,n=a.replace(/\[(?:(['"])(.*?)\1|([^\]]*))\]/g,(r,l,u,c)=>{const h=u!==void 0?u:c||"";return t[e]=h,`__HANDLEBARS_PLACEHOLDER_${e++}__`});n=n.replace(/\//g,".");const s=n.split("."),i=[];for(const r of s){const l=/^__HANDLEBARS_PLACEHOLDER_(\d+)__$/.exec(r);if(l){const u=parseInt(l[1],10);i.push(t[u])}else r!==""&&i.push(r)}return i},H="dataSourceHandlebars",U=m.startup;return k(function(a,t={}){const e=w(a,new D),n=L(a,{contains:"{{",importer:new M});O({editor:a,licenseKey:t.licenseKey,plan:U,pluginName:H,cleanup:()=>{e(),n()}})})});
10
+ `}handleCommentStatement(e){return`<!--${e.value}-->`}handleElementNode(e){let s="";if(e.attributes)for(const a of e.attributes)a.value.type==="TextNode"?s+=` ${a.name}="${a.value.chars}"`:(this.addMessage("warning",`Complex attribute values not fully supported: ${a.name}`,e.loc),s+=` ${a.name}="${this.getExpressionString(a.value)}"`);let n="";if(e.children)for(const a of e.children)n+=this.astToGrapesJS(a);return`<${e.tag}${s}>${n}</${e.tag}>`}handleTextNode(e){return e.chars||""}handlePartialStatement(e){return this.addMessage("warning",`Partials are not fully supported: ${e.name.original}`,e.loc),`{{> ${e.name.original}}}`}handleGenericBlock(e){const s=this.handleProgram(e.program);return`<!-- Unsupported block: ${e.path.original} -->${s}`}getExpressionString(e){return e.type==="PathExpression"?e.original:e.type==="StringLiteral"?e.value:e.type==="NumberLiteral"?e.value.toString():e.type==="BooleanLiteral"?e.value?"true":"false":e.type==="SubExpression"?this.getExpressionString(e.params[0]):e.type==="Hash"?`{${e.pairs.map(n=>`${n.key}=${this.getExpressionString(n.value)}`).join(", ")}}`:(this.addMessage("warning",`Complex expression type not fully supported: ${e.type}`,e.loc),"")}addMessage(e,s,n){this.messages.push({type:e,message:s,location:n?{line:n.start.line,column:n.start.column}:void 0})}}const P=t=>{if(t==null||t==="")return[];if(t===".")return["this"];if(t===".."||t==="../")return[".."];if(t.startsWith("../")){const o=t.substring(3);return["..",...P(o)]}const e=[];let s=0,n=t.replace(/\[(?:(['"])(.*?)\1|([^\]]*))\]/g,(o,r,c,u)=>{const h=c!==void 0?c:u||"";return e[s]=h,`__HANDLEBARS_PLACEHOLDER_${s++}__`});n=n.replace(/\//g,".");const a=n.split("."),i=[];for(const o of a){const r=/^__HANDLEBARS_PLACEHOLDER_(\d+)__$/.exec(o);if(r){const c=parseInt(r[1],10);i.push(e[c])}else o!==""&&i.push(o)}return i},j="dataSourceHandlebars",U=d.startup;return O(function(t,e={}){const s=D(t,new w),n=G(t,{contains:"{{",importer:new B});R({editor:t,licenseKey:e.licenseKey,plan:U,pluginName:j,cleanup:()=>{s(),n()}})})});
@@ -1,13 +1,13 @@
1
- "use strict";const x="app.grapesjs.com",S="app-stage.grapesjs.com",C="app2.grapesjs.com",_="app-stage2.grapesjs.com",T=[x,C,S,_,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],$="license:check:start",N="license:check:end",k=()=>typeof window<"u",D=({isDev:n,isStage:l,isPlatform:r})=>`${n?"":`https://${l?S:x}`}/${r?"platform-api":"api"}`,A=()=>{const n=k()&&window.location.hostname;return!!n&&(T.includes(n)||T.some(l=>n.endsWith(l)))};async function I({path:n,baseApiUrl:l,method:r="GET",headers:o={},params:a,body:i}){const d=`${l||D({isDev:!1,isStage:!1})}${n}`,p={method:r,headers:{"Content-Type":"application/json",...o}};i&&(p.body=JSON.stringify(i));const c=a?new URLSearchParams(a).toString():"",g=c?`?${c}`:"",t=await fetch(`${d}${g}`,p);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()}var W=(n=>(n.free="free",n.startup="startup",n.business="business",n.enterprise="enterprise",n))(W||{});const O={[W.free]:0,[W.startup]:10,[W.business]:20,[W.enterprise]:30};function q(n){const l=n;return l.init=r=>o=>n(o,r),l}const U=n=>q(n);async function X({editor:n,plan:l,pluginName:r,licenseKey:o,onLicenseCheckResponse:a,cleanup:i}){let u="",d=!1;const p=A(),c=t=>{console.warn("Cleanup plugin:",r,"Reason:",t),i()},g=(t={})=>{var v;const{error:m,sdkLicense:P}=t,s=(v=t.plan)==null?void 0:v.category;if(!(P||t.license)||m)c(m||"Invalid license");else if(s){const b=O[l],w=O[s];b>w&&c({pluginRequiredPlan:l,licensePlan:s})}};n.on($,t=>{u=t==null?void 0:t.baseApiUrl,d=!0}),n.on(N,t=>{a==null||a(t),g(t)}),setTimeout(async()=>{if(!d){if(p)return;if(o){const t=await M({licenseKey:o,pluginName:r,baseApiUrl:u});a==null||a(t),t&&g(t)}else c("The `licenseKey` option not provided")}},2e3)}async function M(n){const{licenseKey:l,pluginName:r,baseApiUrl:o}=n;try{return(await I({baseApiUrl:o,path:`/sdk/${l||"na"}`,method:"POST",params:{d:window.location.hostname,pn:r}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const L=(...n)=>n.map(l=>`[data-gjs-type="${l}"]`).join(","),B="dialogComponent",z=function(n,l={}){const{Blocks:r,Components:o}=n,{licenseKey:a}=l,i="gjs-plg-dialog",u="gjs-plg-dialog-overlay",d="gjs-plg-dialog-content",p="gjs-plg-dialog-close",c="gjs-plg-dialog-title",g="gjs-plg-dialog-body",t="gjs-plg-dialog-description",m="gjs-plg-dialog-placeholder";r.add(i,{label:"Dialog",media:`
1
+ "use strict";const A="app.grapesjs.com",k="app-stage.grapesjs.com",R="app2.grapesjs.com",_="app-stage2.grapesjs.com",x=[A,R,k,_,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],$="license:check:end",G=()=>typeof window<"u",N=({isDev:e,isStage:n,isPlatform:r})=>`${e?"":`https://${n?k:A}`}/${r?"platform-api":"api"}`,B=()=>{const e=G()&&window.location.hostname;return!!e&&(x.includes(e)||x.some(n=>e.endsWith(n)))};async function M({path:e,baseApiUrl:n,method:r="GET",headers:s={},params:c,body:i}){const a=`${n||N({isDev:!1,isStage:!1})}${e}`,g={method:r,headers:{"Content-Type":"application/json",...s}};i&&(g.body=JSON.stringify(i));const p=c?new URLSearchParams(c).toString():"",d=p?`?${p}`:"",o=await fetch(`${a}${d}`,g);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var W=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(W||{}),w=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.dialogImportCode="studio:dialogImportCode",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.layoutComponentAdd="studio:layoutComponentAdd",e.layoutComponentGet="studio:layoutComponentGet",e.layoutComponentRemove="studio:layoutComponentRemove",e.layoutComponentRender="studio:layoutComponentRender",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.settings="studio:settings",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(w||{});const O={[W.free]:0,[W.startup]:10,[W.business]:20,[W.enterprise]:30};function I(e){const n=e;return n.init=r=>s=>e(s,r),n}const U=e=>I(e);async function m({editor:e,plan:n,pluginName:r,licenseKey:s,onLicenseCheckResponse:c,cleanup:i}){let u="",a;const g=o=>{console.warn("Cleanup plugin:",r,"Reason:",o),i()},p=(o={})=>{var b;const{error:v,sdkLicense:L}=o,l=(b=o.plan)==null?void 0:b.category;if(!(L||o.license)||v)g(v||"Invalid license");else if(l){const P=O[n],T=O[l];P>T&&g({pluginRequiredPlan:n,licensePlan:l})}};e.Commands.has(w.settings)&&(a=e.runCommand(w.settings),u=(a==null?void 0:a.baseUrl)||"");const d=o=>{c==null||c(o),o&&p(o)};if(!a){e.onReady(async()=>{if(!B())if(s){const o=await X({licenseKey:s,pluginName:r,baseApiUrl:u});d(o)}else g("The `licenseKey` option not provided")});return}if(a.licensePlan||a.licenseError){const o=q(a);d(o);return}e.on($,o=>d(o))}const q=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function X(e){const{licenseKey:n,pluginName:r,baseApiUrl:s}=e;try{return(await M({baseApiUrl:s,path:`/sdk/${n||"na"}`,method:"POST",params:{d:window.location.hostname,pn:r}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}const j=(...e)=>e.map(n=>`[data-gjs-type="${n}"]`).join(","),F="dialogComponent",z=function(e,n={}){const{Blocks:r,Components:s}=e,{licenseKey:c}=n,i="gjs-plg-dialog",u="gjs-plg-dialog-overlay",a="gjs-plg-dialog-content",g="gjs-plg-dialog-close",p="gjs-plg-dialog-title",d="gjs-plg-dialog-body",o="gjs-plg-dialog-description",v="gjs-plg-dialog-placeholder";r.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>
5
- `,category:"Extra",content:{type:i},activate:!0,...l.block}),o.addType(i,{model:{defaults:{tagName:"div",attributes:{class:i,"data-type-role":i},components:[{type:u},{type:m}],draggable:L("wrapper"),droppable:L(i),styles:`
5
+ `,category:"Extra",content:{type:i},activate:!0,...n.block}),s.addType(i,{model:{defaults:{tagName:"div",attributes:{class:i,"data-type-role":i},components:[{type:u},{type:v}],draggable:j("wrapper"),droppable:j(i),styles:`
6
6
  .${i} {
7
7
  position: relative;
8
8
  z-index: 1;
9
9
  }
10
- `,traits:[{type:"button",label:"Open dialog",name:"onActive",changeProp:!0,command(s){var e;(e=s.getSelected())==null||e.trigger("active")}},{type:"checkbox",label:"Close when pressing X",name:"closeWhenPressingX",default:!0,changeProp:!0},{type:"checkbox",label:"Close when pressing ESC",name:"closeWhenPressingEsc",default:!0,changeProp:!0},{type:"checkbox",label:"Open when leaving the window",name:"openWhenLeavingWindow",default:!1,changeProp:!0},{type:"number",label:"Open when scrolling to level",name:"openWhenScrollingToLevel",default:0,changeProp:!0}],"script-props":["closeWhenPressingX","closeWhenPressingEsc","openWhenLeavingWindow","openWhenScrollingToLevel"],script:function(s){const e=this;function v(h){const f=e.querySelector('[data-type-role="gjs-plg-dialog-overlay"]'),y=e.querySelector('[data-type-role="gjs-plg-dialog-close"]');function E(){f.style.display="none"}h?(e._onCloseWhenPressingX=E,y.addEventListener("click",e._onCloseWhenPressingX)):(y.removeEventListener("click",e._onCloseWhenPressingX),e._onCloseWhenPressingX=null)}function b(h){const f=e.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');function y(E){E.key==="Escape"&&(f.style.display="none")}h?(e._onCloseWhenPressingEsc=y,e.addEventListener("keydown",e._onCloseWhenPressingEsc)):(e.removeEventListener("keydown",e._onCloseWhenPressingEsc),e._onCloseWhenPressingEsc=null)}function w(h){const f=e.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');function y(){f.style.display="flex"}h?(e._onOpenWhenLeavingWindow=y,document.addEventListener("mouseleave",e._onOpenWhenLeavingWindow)):(document.removeEventListener("mouseleave",e._onOpenWhenLeavingWindow),e._onOpenWhenLeavingWindow=null)}function j(h){const f=e.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');function y(){const E=document.documentElement.scrollTop;h&&E>=Number(h)&&(f.style.display="flex")}h?(e._onOpenWhenScrollingToLevel=y,document.addEventListener("scroll",e._onOpenWhenScrollingToLevel)):(document.removeEventListener("scroll",e._onOpenWhenScrollingToLevel),e._onOpenWhenScrollingToLevel=null)}v(s.closeWhenPressingX),b(s.closeWhenPressingEsc),w(s.openWhenLeavingWindow),j(s.openWhenScrollingToLevel)}},init(){this.on("active",this.handleOpenWhenClickPlaceholder)},handleOpenWhenClickPlaceholder(){this.view.el.querySelector('[data-type-role="gjs-plg-dialog-placeholder"]').addEventListener("click",()=>{const e=this.view.el.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');e.style.display="flex"})}},view:{onActive(){const s=this.el.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');s.style.display="flex"}}}),o.addType(u,{model:{defaults:{tagName:"div",attributes:{class:u,"data-type-role":u},components:{type:d},droppable:!1,draggable:!1,styles:`
10
+ `,traits:[{type:"button",label:"Open dialog",name:"onActive",changeProp:!0,command(l){var t;(t=l.getSelected())==null||t.trigger("active")}},{type:"checkbox",label:"Close when pressing X",name:"closeWhenPressingX",default:!0,changeProp:!0},{type:"checkbox",label:"Close when pressing ESC",name:"closeWhenPressingEsc",default:!0,changeProp:!0},{type:"checkbox",label:"Open when leaving the window",name:"openWhenLeavingWindow",default:!1,changeProp:!0},{type:"number",label:"Open when scrolling to level",name:"openWhenScrollingToLevel",default:0,changeProp:!0}],"script-props":["closeWhenPressingX","closeWhenPressingEsc","openWhenLeavingWindow","openWhenScrollingToLevel"],script:function(l){const t=this;function b(y){const f=t.querySelector('[data-type-role="gjs-plg-dialog-overlay"]'),h=t.querySelector('[data-type-role="gjs-plg-dialog-close"]');function E(){f.style.display="none"}y?(t._onCloseWhenPressingX=E,h.addEventListener("click",t._onCloseWhenPressingX)):(h.removeEventListener("click",t._onCloseWhenPressingX),t._onCloseWhenPressingX=null)}function P(y){const f=t.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');function h(E){E.key==="Escape"&&(f.style.display="none")}y?(t._onCloseWhenPressingEsc=h,t.addEventListener("keydown",t._onCloseWhenPressingEsc)):(t.removeEventListener("keydown",t._onCloseWhenPressingEsc),t._onCloseWhenPressingEsc=null)}function T(y){const f=t.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');function h(){f.style.display="flex"}y?(t._onOpenWhenLeavingWindow=h,document.addEventListener("mouseleave",t._onOpenWhenLeavingWindow)):(document.removeEventListener("mouseleave",t._onOpenWhenLeavingWindow),t._onOpenWhenLeavingWindow=null)}function D(y){const f=t.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');function h(){const E=document.documentElement.scrollTop;y&&E>=Number(y)&&(f.style.display="flex")}y?(t._onOpenWhenScrollingToLevel=h,document.addEventListener("scroll",t._onOpenWhenScrollingToLevel)):(document.removeEventListener("scroll",t._onOpenWhenScrollingToLevel),t._onOpenWhenScrollingToLevel=null)}b(l.closeWhenPressingX),P(l.closeWhenPressingEsc),T(l.openWhenLeavingWindow),D(l.openWhenScrollingToLevel)}},init(){this.on("active",this.handleOpenWhenClickPlaceholder)},handleOpenWhenClickPlaceholder(){this.view.el.querySelector('[data-type-role="gjs-plg-dialog-placeholder"]').addEventListener("click",()=>{const t=this.view.el.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');t.style.display="flex"})}},view:{onActive(){const l=this.el.querySelector('[data-type-role="gjs-plg-dialog-overlay"]');l.style.display="flex"}}}),s.addType(u,{model:{defaults:{tagName:"div",attributes:{class:u,"data-type-role":u},components:{type:a},droppable:!1,draggable:!1,styles:`
11
11
  .${u} {
12
12
  position: fixed;
13
13
  top: 0;
@@ -19,8 +19,8 @@
19
19
  justify-content: center;
20
20
  background-color: rgba(0, 0, 0, 0.5);
21
21
  }
22
- `}}}),o.addType(d,{model:{defaults:{tagName:"div",attributes:{class:d,"data-type-role":d},components:[{type:p},{type:c},{type:g}],droppable:!1,draggable:!1,styles:`
23
- .${d} {
22
+ `}}}),s.addType(a,{model:{defaults:{tagName:"div",attributes:{class:a,"data-type-role":a},components:[{type:g},{type:p},{type:d}],droppable:!1,draggable:!1,styles:`
23
+ .${a} {
24
24
  position: relative;
25
25
  background-color: #fff;
26
26
  border-radius: 10px;
@@ -30,8 +30,8 @@
30
30
  height: 600px;
31
31
  box-sizing: border-box;
32
32
  }
33
- `}}}),o.addType(p,{model:{defaults:{tagName:"button",attributes:{class:p,"data-type-role":p},components:"&times;",droppable:!1,draggable:!1,styles:`
34
- .${p} {
33
+ `}}}),s.addType(g,{model:{defaults:{tagName:"button",attributes:{class:g,"data-type-role":g},components:"&times;",droppable:!1,draggable:!1,styles:`
34
+ .${g} {
35
35
  position: absolute;
36
36
  top: 10px;
37
37
  right: 10px;
@@ -42,18 +42,18 @@
42
42
  font-size: 20px;
43
43
  cursor: pointer;
44
44
  }
45
- `}}}),o.addType(c,{model:{defaults:{tagName:"h2",attributes:{class:c,"data-type-role":c},components:"Dialog Title",editable:!0,droppable:!1,draggable:!1,styles:`
46
- .${c} {
45
+ `}}}),s.addType(p,{model:{defaults:{tagName:"h2",attributes:{class:p,"data-type-role":p},components:"Dialog Title",editable:!0,droppable:!1,draggable:!1,styles:`
46
+ .${p} {
47
47
  margin: 0;
48
48
  padding: 0 40px 20px 0;
49
49
  }
50
- `}}}),o.addType(g,{model:{defaults:{tagName:"div",attributes:{class:g,"data-type-role":g},components:[{type:t}],styles:`
51
- .${g} {
50
+ `}}}),s.addType(d,{model:{defaults:{tagName:"div",attributes:{class:d,"data-type-role":d},components:[{type:o}],styles:`
51
+ .${d} {
52
52
  height: 90%;
53
53
  overflow: auto;
54
54
  }
55
- `}}}),o.addType(t,{model:{defaults:{tagName:"p",attributes:{class:t,"data-type-role":t},components:"This is a customizable dialog!",editable:!0,styles:`
56
- .${t} {
55
+ `}}}),s.addType(o,{model:{defaults:{tagName:"p",attributes:{class:o,"data-type-role":o},components:"This is a customizable dialog!",editable:!0,styles:`
56
+ .${o} {
57
57
  margin: 0;
58
58
  }
59
- `}}}),o.addType(m,{model:{toHTML(){return""},defaults:{tagName:"button",attributes:{class:m,"data-type-role":m},components:"Dialog (click me to open)",droppable:!1,draggable:!1}},view:{init(){const{em:s,el:e}=this,v="core:preview",b=s.Commands.events;this.listenTo(s,`${b.runCommand}${v}`,()=>{e.style.display="none"}),this.listenTo(s,`${b.stopCommand}${v}`,()=>{e.style.display=""})}}}),X({editor:n,licenseKey:a,plan:W.startup,pluginName:B,cleanup:()=>{r.remove(i),o.removeType(i)}})},H=U(z);module.exports=H;
59
+ `}}}),s.addType(v,{model:{toHTML(){return""},defaults:{tagName:"button",attributes:{class:v,"data-type-role":v},components:"Dialog (click me to open)",droppable:!1,draggable:!1}},view:{init(){const{em:l,el:t}=this,b="core:preview",P=l.Commands.events;this.listenTo(l,`${P.runCommand}${b}`,()=>{t.style.display="none"}),this.listenTo(l,`${P.stopCommand}${b}`,()=>{t.style.display=""})}}}),m({editor:e,licenseKey:c,plan:W.startup,pluginName:F,cleanup:()=>{r.remove(i),s.removeType(i)}})},H=U(z);module.exports=H;