@grapesjs/studio-sdk-plugins 1.0.36 → 1.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/accordionComponent/index.cjs.js +4 -4
  2. package/dist/accordionComponent/index.es.js +83 -70
  3. package/dist/accordionComponent/index.umd.js +4 -4
  4. package/dist/aiChat/clientToolsProcessors.d.ts +1 -2
  5. package/dist/aiChat/components/utils.d.ts +1 -0
  6. package/dist/aiChat/components/utilsTw.d.ts +11 -0
  7. package/dist/aiChat/index.cjs.js +70 -70
  8. package/dist/aiChat/index.es.js +8627 -8161
  9. package/dist/aiChat/index.js +70 -70
  10. package/dist/aiChat/index.umd.js +70 -70
  11. package/dist/aiChat/projectGeneration.d.ts +17 -0
  12. package/dist/animationComponent/index.cjs.js +3 -3
  13. package/dist/animationComponent/index.es.js +55 -42
  14. package/dist/animationComponent/index.umd.js +3 -3
  15. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  16. package/dist/canvasAbsoluteMode/index.es.js +67 -54
  17. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  18. package/dist/canvasEmptyState/index.cjs.js +1 -1
  19. package/dist/canvasEmptyState/index.es.js +59 -46
  20. package/dist/canvasEmptyState/index.umd.js +1 -1
  21. package/dist/canvasFullSize/index.cjs.js +4 -4
  22. package/dist/canvasFullSize/index.es.js +59 -46
  23. package/dist/canvasFullSize/index.umd.js +4 -4
  24. package/dist/canvasGridMode/index.cjs.js +2 -2
  25. package/dist/canvasGridMode/index.es.js +70 -57
  26. package/dist/canvasGridMode/index.umd.js +4 -4
  27. package/dist/canvasScreenshot/index.cjs.js +1 -1
  28. package/dist/canvasScreenshot/index.es.js +37 -24
  29. package/dist/canvasScreenshot/index.umd.js +1 -1
  30. package/dist/dataSourceEjs/index.cjs.js +3 -3
  31. package/dist/dataSourceEjs/index.es.js +51 -38
  32. package/dist/dataSourceEjs/index.umd.js +3 -3
  33. package/dist/dataSourceHandlebars/index.cjs.js +2 -2
  34. package/dist/dataSourceHandlebars/index.es.js +50 -37
  35. package/dist/dataSourceHandlebars/index.umd.js +6 -6
  36. package/dist/dialogComponent/index.cjs.js +9 -9
  37. package/dist/dialogComponent/index.es.js +58 -45
  38. package/dist/dialogComponent/index.umd.js +3 -3
  39. package/dist/flexComponent/index.cjs.js +6 -6
  40. package/dist/flexComponent/index.es.js +82 -69
  41. package/dist/flexComponent/index.umd.js +6 -6
  42. package/dist/fsLightboxComponent/index.cjs.js +2 -2
  43. package/dist/fsLightboxComponent/index.es.js +70 -57
  44. package/dist/fsLightboxComponent/index.umd.js +2 -2
  45. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  46. package/dist/googleFontsAssetProvider/index.es.js +84 -71
  47. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  48. package/dist/iconifyComponent/index.cjs.js +2 -2
  49. package/dist/iconifyComponent/index.es.js +82 -69
  50. package/dist/iconifyComponent/index.umd.js +2 -2
  51. package/dist/index.cjs.js +36 -36
  52. package/dist/index.es.js +843 -830
  53. package/dist/index.umd.js +36 -36
  54. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  55. package/dist/layoutSidebarButtons/index.es.js +81 -68
  56. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  57. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  58. package/dist/lightGalleryComponent/index.es.js +86 -73
  59. package/dist/lightGalleryComponent/index.umd.js +1 -1
  60. package/dist/linkImageComponent/index.cjs.js +2 -2
  61. package/dist/linkImageComponent/index.es.js +70 -57
  62. package/dist/linkImageComponent/index.umd.js +2 -2
  63. package/dist/listPagesComponent/index.cjs.js +3 -3
  64. package/dist/listPagesComponent/index.es.js +49 -36
  65. package/dist/listPagesComponent/index.umd.js +3 -3
  66. package/dist/presetPrintable/index.cjs.js +3 -3
  67. package/dist/presetPrintable/index.es.js +130 -117
  68. package/dist/presetPrintable/index.umd.js +3 -3
  69. package/dist/prosemirror/index.cjs.js +1 -1
  70. package/dist/prosemirror/index.es.js +96 -83
  71. package/dist/prosemirror/index.umd.js +1 -1
  72. package/dist/rendererReact/index.cjs.js +1 -1
  73. package/dist/rendererReact/index.es.js +143 -131
  74. package/dist/rendererReact/index.js +1 -1
  75. package/dist/rendererReact/index.umd.js +1 -1
  76. package/dist/rteTinyMce/index.cjs.js +2 -2
  77. package/dist/rteTinyMce/index.es.js +74 -61
  78. package/dist/rteTinyMce/index.umd.js +2 -2
  79. package/dist/shapeDividerComponent/index.cjs.js +3 -3
  80. package/dist/shapeDividerComponent/index.es.js +33 -20
  81. package/dist/shapeDividerComponent/index.umd.js +3 -3
  82. package/dist/swiperComponent/index.cjs.js +5 -5
  83. package/dist/swiperComponent/index.es.js +105 -92
  84. package/dist/swiperComponent/index.umd.js +5 -5
  85. package/dist/tableComponent/index.cjs.js +1 -1
  86. package/dist/tableComponent/index.es.js +163 -150
  87. package/dist/tableComponent/index.umd.js +1 -1
  88. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  89. package/dist/youtubeAssetProvider/index.es.js +36 -23
  90. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  91. package/package.json +2 -2
@@ -9,25 +9,38 @@ const w = "app.grapesjs.com", D = "app-stage.grapesjs.com", G = "app2.grapesjs.c
9
9
  // For stackblitz.com demos
10
10
  ".local.webcontainer.io",
11
11
  // For stackblitz.com demos
12
- "-sandpack.codesandbox.io"
12
+ "-sandpack.codesandbox.io",
13
13
  // For Sandpack demos
14
+ ".claudemcpcontent.com",
15
+ // For Claude mcp app
16
+ ".web-sandbox.oaiusercontent.com"
17
+ // For OpenAI mcp app
14
18
  ], I = "license:check:end", L = () => typeof window < "u", x = ({
15
19
  isDev: e,
16
- isStage: o,
20
+ isStage: s,
17
21
  isPlatform: a
18
- }) => `${e ? "" : `https://${o ? D : w}`}/${a ? "platform-api" : "api"}`, E = () => {
19
- const e = L() && window.location.hostname;
20
- return !!e && (P.includes(e) || P.some((o) => e.endsWith(o)));
22
+ }) => `${e ? "" : `https://${s ? D : w}`}/${a ? "platform-api" : "api"}`, E = () => {
23
+ if (!L()) return "";
24
+ const { hostname: e } = window.location;
25
+ if (e) return e;
26
+ try {
27
+ return window.parent.location.hostname || "";
28
+ } catch {
29
+ return "";
30
+ }
31
+ }, M = () => {
32
+ const e = E();
33
+ return !!e && (P.includes(e) || P.some((s) => e.endsWith(s)));
21
34
  };
22
- async function M({
35
+ async function N({
23
36
  path: e,
24
- baseApiUrl: o,
37
+ baseApiUrl: s,
25
38
  method: a = "GET",
26
39
  headers: r = {},
27
- params: i,
40
+ params: n,
28
41
  body: g
29
42
  }) {
30
- const n = `${o || x({ isDev: !1, isStage: !1 })}${e}`, c = {
43
+ const i = `${s || x({ isDev: !1, isStage: !1 })}${e}`, c = {
31
44
  method: a,
32
45
  headers: {
33
46
  "Content-Type": "application/json",
@@ -35,10 +48,10 @@ async function M({
35
48
  }
36
49
  };
37
50
  g && (c.body = JSON.stringify(g));
38
- const d = i ? new URLSearchParams(i).toString() : "", u = d ? `?${d}` : "", s = await fetch(`${n}${u}`, c);
39
- if (!s.ok)
40
- throw new Error(`HTTP error! status: ${s.status}`);
41
- return s.json();
51
+ const d = n ? new URLSearchParams(n).toString() : "", u = d ? `?${d}` : "", o = await fetch(`${i}${u}`, c);
52
+ if (!o.ok)
53
+ throw new Error(`HTTP error! status: ${o.status}`);
54
+ return o.json();
42
55
  }
43
56
  var b = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(b || {}), T = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.dialogImportCode = "studio:dialogImportCode", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.layoutComponentAdd = "studio:layoutComponentAdd", e.layoutComponentGet = "studio:layoutComponentGet", e.layoutComponentRemove = "studio:layoutComponentRemove", e.layoutComponentRender = "studio:layoutComponentRender", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.settings = "studio:settings", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(T || {});
44
57
  const A = {
@@ -47,78 +60,78 @@ const A = {
47
60
  [b.business]: 20,
48
61
  [b.enterprise]: 30
49
62
  };
50
- function N(e) {
51
- const o = e;
52
- return o.init = (a) => (r) => e(r, a), o;
63
+ function O(e) {
64
+ const s = e;
65
+ return s.init = (a) => (r) => e(r, a), s;
53
66
  }
54
- const O = (e) => /* @__PURE__ */ N(e);
55
- async function B({
67
+ const B = (e) => /* @__PURE__ */ O(e);
68
+ async function U({
56
69
  editor: e,
57
- plan: o,
70
+ plan: s,
58
71
  pluginName: a,
59
72
  licenseKey: r,
60
- onLicenseCheckResponse: i,
73
+ onLicenseCheckResponse: n,
61
74
  cleanup: g
62
75
  }) {
63
- let p = "", n;
64
- const c = (s) => {
65
- console.warn("Cleanup plugin:", a, "Reason:", s), g();
66
- }, d = (s = {}) => {
76
+ let p = "", i;
77
+ const c = (o) => {
78
+ console.warn("Cleanup plugin:", a, "Reason:", o), g();
79
+ }, d = (o = {}) => {
67
80
  var y;
68
- const { error: f, sdkLicense: t } = s, l = (y = s.plan) == null ? void 0 : y.category;
69
- if (!(t || s.license) || f)
81
+ const { error: f, sdkLicense: t } = o, l = (y = o.plan) == null ? void 0 : y.category;
82
+ if (!(t || o.license) || f)
70
83
  c(f || "Invalid license");
71
84
  else if (l) {
72
- const v = A[o], R = A[l];
73
- v > R && c({ pluginRequiredPlan: o, licensePlan: l });
85
+ const v = A[s], R = A[l];
86
+ v > R && c({ pluginRequiredPlan: s, licensePlan: l });
74
87
  }
75
88
  };
76
- e.Commands.has(T.settings) && (n = e.runCommand(T.settings), p = (n == null ? void 0 : n.baseUrl) || "");
77
- const u = (s) => {
78
- i == null || i(s), s && d(s);
89
+ e.Commands.has(T.settings) && (i = e.runCommand(T.settings), p = (i == null ? void 0 : i.baseUrl) || "");
90
+ const u = (o) => {
91
+ n == null || n(o), o && d(o);
79
92
  };
80
- if (!n) {
93
+ if (!i) {
81
94
  e.onReady(async () => {
82
- if (!E())
95
+ if (!M())
83
96
  if (r) {
84
- const s = await $({ licenseKey: r, pluginName: a, baseApiUrl: p });
85
- u(s);
97
+ const o = await j({ licenseKey: r, pluginName: a, baseApiUrl: p });
98
+ u(o);
86
99
  } else
87
100
  c("The `licenseKey` option not provided");
88
101
  });
89
102
  return;
90
103
  }
91
- if (n.licensePlan || n.licenseError) {
92
- const s = U(n);
93
- u(s);
104
+ if (i.licensePlan || i.licenseError) {
105
+ const o = $(i);
106
+ u(o);
94
107
  return;
95
108
  }
96
- e.on(I, (s) => u(s));
109
+ e.on(I, (o) => u(o));
97
110
  }
98
- const U = (e) => ({
111
+ const $ = (e) => ({
99
112
  sdkLicense: e.license,
100
113
  license: e.license,
101
114
  error: e.licenseError,
102
115
  plan: e.licensePlan
103
116
  });
104
- async function $(e) {
105
- const { licenseKey: o, pluginName: a, baseApiUrl: r } = e;
117
+ async function j(e) {
118
+ const { licenseKey: s, pluginName: a, baseApiUrl: r } = e;
106
119
  try {
107
- return (await M({
120
+ return (await N({
108
121
  baseApiUrl: r,
109
- path: `/sdk/${o || "na"}`,
122
+ path: `/sdk/${s || "na"}`,
110
123
  method: "POST",
111
124
  params: {
112
125
  d: window.location.hostname,
113
126
  pn: a
114
127
  }
115
128
  })).result || {};
116
- } catch (i) {
117
- return console.error("Error during SDK license check:", i), !1;
129
+ } catch (n) {
130
+ return console.error("Error during SDK license check:", n), !1;
118
131
  }
119
132
  }
120
- const j = "linkImageComponent", _ = b.startup, F = function(e, o = {}) {
121
- const { Components: a, Blocks: r } = e, i = "link-image", g = "Link Image", p = "link-image", { model: n, view: c } = e.Components.getType("image"), d = a.getType("link").model.getDefaults().traits, u = n.getDefaults().traits, s = d.filter((t) => t !== "title"), f = u.filter((t) => t.name !== "customAttributes").map((t) => typeof t == "string" ? { name: t } : t).map(
133
+ const _ = "linkImageComponent", F = b.startup, W = function(e, s = {}) {
134
+ const { Components: a, Blocks: r } = e, n = "link-image", g = "Link Image", p = "link-image", { model: i, view: c } = e.Components.getType("image"), d = a.getType("link").model.getDefaults().traits, u = i.getDefaults().traits, o = d.filter((t) => t !== "title"), f = u.filter((t) => t.name !== "customAttributes").map((t) => typeof t == "string" ? { name: t } : t).map(
122
135
  (t) => ({
123
136
  ...t,
124
137
  getValue({ component: l }) {
@@ -131,7 +144,7 @@ const j = "linkImageComponent", _ = b.startup, F = function(e, o = {}) {
131
144
  }
132
145
  })
133
146
  );
134
- a.addType(i, {
147
+ a.addType(n, {
135
148
  isComponent: (t) => {
136
149
  var l;
137
150
  return t.tagName === "A" && ((l = t.children) == null ? void 0 : l.length) === 1 && t.children[0].tagName === "IMG";
@@ -147,7 +160,7 @@ const j = "linkImageComponent", _ = b.startup, F = function(e, o = {}) {
147
160
  name: g,
148
161
  classes: p,
149
162
  resizable: { ratioDefault: !0 },
150
- traits: [...f, ...s],
163
+ traits: [...f, ...o],
151
164
  droppable: !1,
152
165
  stylable: [
153
166
  "width",
@@ -192,16 +205,16 @@ const j = "linkImageComponent", _ = b.startup, F = function(e, o = {}) {
192
205
  c.prototype.onActive.call(this, t);
193
206
  }
194
207
  }
195
- }), B({
208
+ }), U({
196
209
  editor: e,
197
- licenseKey: o.licenseKey,
198
- plan: _,
199
- pluginName: j,
210
+ licenseKey: s.licenseKey,
211
+ plan: F,
212
+ pluginName: _,
200
213
  cleanup: () => {
201
- a.removeType(i), r.remove(i);
214
+ a.removeType(n), r.remove(n);
202
215
  }
203
216
  });
204
- }, W = O(F);
217
+ }, H = B(W);
205
218
  export {
206
- W as default
219
+ H as default
207
220
  };
@@ -1,4 +1,4 @@
1
- (function(d,f){typeof exports=="object"&&typeof module<"u"?module.exports=f():typeof define=="function"&&define.amd?define(f):(d=typeof globalThis<"u"?globalThis:d||self,d.StudioSdkPlugins_linkImageComponent=f())})(this,function(){"use strict";const d="app.grapesjs.com",f="app-stage.grapesjs.com",w=[d,"app2.grapesjs.com",f,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],R="license:check:end",I=()=>typeof window<"u",k=({isDev:e,isStage:s,isPlatform:n})=>`${e?"":`https://${s?f:d}`}/${n?"platform-api":"api"}`,G=()=>{const e=I()&&window.location.hostname;return!!e&&(w.includes(e)||w.some(s=>e.endsWith(s)))};async function x({path:e,baseApiUrl:s,method:n="GET",headers:r={},params:i,body:g}){const a=`${s||k({isDev:!1,isStage:!1})}${e}`,c={method:n,headers:{"Content-Type":"application/json",...r}};g&&(c.body=JSON.stringify(g));const b=i?new URLSearchParams(i).toString():"",u=b?`?${b}`:"",o=await fetch(`${a}${u}`,c);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var h=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(h||{}),P=(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))(P||{});const D={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function L(e){const s=e;return s.init=n=>r=>e(r,n),s}const E=e=>L(e);async function M({editor:e,plan:s,pluginName:n,licenseKey:r,onLicenseCheckResponse:i,cleanup:g}){let p="",a;const c=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),g()},b=(o={})=>{var T;const{error:v,sdkLicense:t}=o,l=(T=o.plan)==null?void 0:T.category;if(!(t||o.license)||v)c(v||"Invalid license");else if(l){const A=D[s],$=D[l];A>$&&c({pluginRequiredPlan:s,licensePlan:l})}};e.Commands.has(P.settings)&&(a=e.runCommand(P.settings),p=(a==null?void 0:a.baseUrl)||"");const u=o=>{i==null||i(o),o&&b(o)};if(!a){e.onReady(async()=>{if(!G())if(r){const o=await N({licenseKey:r,pluginName:n,baseApiUrl:p});u(o)}else c("The `licenseKey` option not provided")});return}if(a.licensePlan||a.licenseError){const o=O(a);u(o);return}e.on(R,o=>u(o))}const O=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function N(e){const{licenseKey:s,pluginName:n,baseApiUrl:r}=e;try{return(await x({baseApiUrl:r,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(i){return console.error("Error during SDK license check:",i),!1}}const B="linkImageComponent",U=h.startup;return E(function(e,s={}){const{Components:n,Blocks:r}=e,i="link-image",g="Link Image",p="link-image",{model:a,view:c}=e.Components.getType("image"),b=n.getType("link").model.getDefaults().traits,u=a.getDefaults().traits,o=b.filter(t=>t!=="title"),v=u.filter(t=>t.name!=="customAttributes").map(t=>typeof t=="string"?{name:t}:t).map(t=>({...t,getValue({component:l}){var y;return(y=l.components().at(0).getTrait(t.name))==null?void 0:y.getValue()},setValue({component:l,value:y,options:T}){var A;(A=l.components().at(0).getTrait(t.name))==null||A.setValue(y,T)}}));n.addType(i,{isComponent:t=>{var l;return t.tagName==="A"&&((l=t.children)==null?void 0:l.length)===1&&t.children[0].tagName==="IMG"},block:{label:g,media:'<svg viewBox="0 0 24 24"><path fill="currentColor" d="M2 6.3A2.3 2.3 0 0 1 4.3 4h15.4A2.3 2.3 0 0 1 22 6.3v7a4.7 4.7 0 0 0-2.8-.8h-3.4a4.8 4.8 0 0 0-4 7.5H4.3A2.3 2.3 0 0 1 2 17.7zm21 11a3.8 3.8 0 0 0-3.8-3.8.8.8 0 0 0 0 1.5h.2a2.3 2.3 0 0 1-.1 4.5H19a.8.8 0 0 0 .2 1.5h.2a3.8 3.8 0 0 0 3.5-3.8m-6.5-3a.8.8 0 0 0-.8-.7h-.1a3.8 3.8 0 0 0 .2 7.5.8.8 0 0 0 0-1.5h-.2a2.3 2.3 0 0 1 .2-4.5.8.8 0 0 0 .7-.7m3.5 3a.8.8 0 0 0-.8-.8h-3.6a.8.8 0 0 0 .2 1.5h3.6a.8.8 0 0 0 .6-.8"/></svg>'},extend:"link",extendFn:["init"],model:{defaults:{name:g,classes:p,resizable:{ratioDefault:!0},traits:[...v,...o],droppable:!1,stylable:["width","min-width","max-width","height","min-height","max-height","padding","margin","position","border-radius","border-width","border-style","border-color","opacity","box-shadow","filter","transform"],components:{type:"image"},styles:`
1
+ (function(d,f){typeof exports=="object"&&typeof module<"u"?module.exports=f():typeof define=="function"&&define.amd?define(f):(d=typeof globalThis<"u"?globalThis:d||self,d.StudioSdkPlugins_linkImageComponent=f())})(this,function(){"use strict";const d="app.grapesjs.com",f="app-stage.grapesjs.com",w=[d,"app2.grapesjs.com",f,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io",".claudemcpcontent.com",".web-sandbox.oaiusercontent.com"],R="license:check:end",I=()=>typeof window<"u",k=({isDev:e,isStage:s,isPlatform:n})=>`${e?"":`https://${s?f:d}`}/${n?"platform-api":"api"}`,G=()=>{if(!I())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},x=()=>{const e=G();return!!e&&(w.includes(e)||w.some(s=>e.endsWith(s)))};async function L({path:e,baseApiUrl:s,method:n="GET",headers:r={},params:a,body:g}){const i=`${s||k({isDev:!1,isStage:!1})}${e}`,c={method:n,headers:{"Content-Type":"application/json",...r}};g&&(c.body=JSON.stringify(g));const b=a?new URLSearchParams(a).toString():"",u=b?`?${b}`:"",o=await fetch(`${i}${u}`,c);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var h=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(h||{}),P=(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))(P||{});const D={[h.free]:0,[h.startup]:10,[h.business]:20,[h.enterprise]:30};function E(e){const s=e;return s.init=n=>r=>e(r,n),s}const M=e=>E(e);async function O({editor:e,plan:s,pluginName:n,licenseKey:r,onLicenseCheckResponse:a,cleanup:g}){let p="",i;const c=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),g()},b=(o={})=>{var T;const{error:v,sdkLicense:t}=o,l=(T=o.plan)==null?void 0:T.category;if(!(t||o.license)||v)c(v||"Invalid license");else if(l){const A=D[s],_=D[l];A>_&&c({pluginRequiredPlan:s,licensePlan:l})}};e.Commands.has(P.settings)&&(i=e.runCommand(P.settings),p=(i==null?void 0:i.baseUrl)||"");const u=o=>{a==null||a(o),o&&b(o)};if(!i){e.onReady(async()=>{if(!x())if(r){const o=await B({licenseKey:r,pluginName:n,baseApiUrl:p});u(o)}else c("The `licenseKey` option not provided")});return}if(i.licensePlan||i.licenseError){const o=N(i);u(o);return}e.on(R,o=>u(o))}const N=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function B(e){const{licenseKey:s,pluginName:n,baseApiUrl:r}=e;try{return(await L({baseApiUrl:r,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const U="linkImageComponent",$=h.startup;return M(function(e,s={}){const{Components:n,Blocks:r}=e,a="link-image",g="Link Image",p="link-image",{model:i,view:c}=e.Components.getType("image"),b=n.getType("link").model.getDefaults().traits,u=i.getDefaults().traits,o=b.filter(t=>t!=="title"),v=u.filter(t=>t.name!=="customAttributes").map(t=>typeof t=="string"?{name:t}:t).map(t=>({...t,getValue({component:l}){var y;return(y=l.components().at(0).getTrait(t.name))==null?void 0:y.getValue()},setValue({component:l,value:y,options:T}){var A;(A=l.components().at(0).getTrait(t.name))==null||A.setValue(y,T)}}));n.addType(a,{isComponent:t=>{var l;return t.tagName==="A"&&((l=t.children)==null?void 0:l.length)===1&&t.children[0].tagName==="IMG"},block:{label:g,media:'<svg viewBox="0 0 24 24"><path fill="currentColor" d="M2 6.3A2.3 2.3 0 0 1 4.3 4h15.4A2.3 2.3 0 0 1 22 6.3v7a4.7 4.7 0 0 0-2.8-.8h-3.4a4.8 4.8 0 0 0-4 7.5H4.3A2.3 2.3 0 0 1 2 17.7zm21 11a3.8 3.8 0 0 0-3.8-3.8.8.8 0 0 0 0 1.5h.2a2.3 2.3 0 0 1-.1 4.5H19a.8.8 0 0 0 .2 1.5h.2a3.8 3.8 0 0 0 3.5-3.8m-6.5-3a.8.8 0 0 0-.8-.7h-.1a3.8 3.8 0 0 0 .2 7.5.8.8 0 0 0 0-1.5h-.2a2.3 2.3 0 0 1 .2-4.5.8.8 0 0 0 .7-.7m3.5 3a.8.8 0 0 0-.8-.8h-3.6a.8.8 0 0 0 .2 1.5h3.6a.8.8 0 0 0 .6-.8"/></svg>'},extend:"link",extendFn:["init"],model:{defaults:{name:g,classes:p,resizable:{ratioDefault:!0},traits:[...v,...o],droppable:!1,stylable:["width","min-width","max-width","height","min-height","max-height","padding","margin","position","border-radius","border-width","border-style","border-color","opacity","box-shadow","filter","transform"],components:{type:"image"},styles:`
2
2
  .${p} {
3
3
  display: inline-block;
4
4
  overflow: hidden;
@@ -9,4 +9,4 @@
9
9
  width: 100%;
10
10
  height: 100%;
11
11
  }
12
- `},init(){const t=this.components().at(0);t==null||t.set({layerable:!1,locked:!0})}},view:{onActive(t){c.prototype.onActive.call(this,t)}}}),M({editor:e,licenseKey:s.licenseKey,plan:U,pluginName:B,cleanup:()=>{n.removeType(i),r.remove(i)}})})});
12
+ `},init(){const t=this.components().at(0);t==null||t.set({layerable:!1,locked:!0})}},view:{onActive(t){c.prototype.onActive.call(this,t)}}}),O({editor:e,licenseKey:s.licenseKey,plan:$,pluginName:U,cleanup:()=>{n.removeType(a),r.remove(a)}})})});
@@ -1,11 +1,11 @@
1
- "use strict";const B="app.grapesjs.com",O="app-stage.grapesjs.com",$="app2.grapesjs.com",N="app-stage2.grapesjs.com",G=[B,$,O,N,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],_="license:check:end",U=()=>typeof window<"u",F=({isDev:e,isStage:s,isPlatform:a})=>`${e?"":`https://${s?O:B}`}/${a?"platform-api":"api"}`,j=()=>{const e=U()&&window.location.hostname;return!!e&&(G.includes(e)||G.some(s=>e.endsWith(s)))};async function W({path:e,baseApiUrl:s,method:a="GET",headers:t={},params:n,body:r}){const i=`${s||F({isDev:!1,isStage:!1})}${e}`,l={method:a,headers:{"Content-Type":"application/json",...t}};r&&(l.body=JSON.stringify(r));const p=n?new URLSearchParams(n).toString():"",c=p?`?${p}`:"",o=await fetch(`${i}${c}`,l);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var b=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(b||{}),E=(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))(E||{});const V={[b.free]:0,[b.startup]:10,[b.business]:20,[b.enterprise]:30};function K(e){const s=e;return s.init=a=>t=>e(t,a),s}const m=e=>K(e);async function q({editor:e,plan:s,pluginName:a,licenseKey:t,onLicenseCheckResponse:n,cleanup:r}){let g="",i;const l=o=>{console.warn("Cleanup plugin:",a,"Reason:",o),r()},p=(o={})=>{var h;const{error:P,sdkLicense:L}=o,u=(h=o.plan)==null?void 0:h.category;if(!(L||o.license)||P)l(P||"Invalid license");else if(u){const T=V[s],I=V[u];T>I&&l({pluginRequiredPlan:s,licensePlan:u})}};e.Commands.has(E.settings)&&(i=e.runCommand(E.settings),g=(i==null?void 0:i.baseUrl)||"");const c=o=>{n==null||n(o),o&&p(o)};if(!i){e.onReady(async()=>{if(!j())if(t){const o=await Y({licenseKey:t,pluginName:a,baseApiUrl:g});c(o)}else l("The `licenseKey` option not provided")});return}if(i.licensePlan||i.licenseError){const o=X(i);c(o);return}e.on(_,o=>c(o))}const X=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function Y(e){const{licenseKey:s,pluginName:a,baseApiUrl:t}=e;try{return(await W({baseApiUrl:t,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:a}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const x="gjs-plg-",Z="listPagesComponent",J=b.startup;function z(e,s,a){let t,n,r,g,i;const l=s;function p(){const o=Date.now()-g;o<l&&o>=0?t=setTimeout(p,l-o):(t=null,i=e.apply(r,n),r=n=null)}const c=function(){return r=this,n=arguments,g=Date.now(),t||(t=setTimeout(p,l)),i};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(i=e.apply(r,n),r=n=null,clearTimeout(t),t=null)},c}const k="page://",d="list-pages",f="list-pages-item",y="list-pages-link",Q=e=>e.components().reduce((s,a)=>{var g;const t=a.findFirstType(y),n=(g=t==null?void 0:t.attributes.attributes)==null?void 0:g.href,r=n!=null&&n.startsWith(k)?n.replace(k,""):"";if(r&&t){const i=s[r];i?i.push(t):s[r]=[t]}return s},{}),A="data-type-role",S="page_root",C=e=>s=>s.is(e),ee=e=>(s,a)=>a.is(e),M=e=>s=>{var a;return((a=s.getAttribute)==null?void 0:a.call(s,A))===e},te=function(e,s={}){const{Blocks:a,Components:t,Pages:n}=e,{licenseKey:r,block:g={}}=s,i="List Pages",l="List Pages Item",p="Link",c=`${x}${d}`,o=`${x}${y}`,P='<svg viewBox="0 0 24 24"><path d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z"/></svg>',L='<svg viewBox="0 0 24 24"><path d="M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z" /></svg>';t.addType(d,{block:g&&{label:i,media:P,category:"Extra",select:!0,...s.block},isComponent:M(d),model:{defaults:{tagName:"ul",name:i,[S]:"",classes:c,attributes:{[A]:d,role:"navigation"},droppable:C(f),styles:`
1
+ "use strict";const B="app.grapesjs.com",O="app-stage.grapesjs.com",$="app2.grapesjs.com",N="app-stage2.grapesjs.com",x=[B,$,O,N,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io",".claudemcpcontent.com",".web-sandbox.oaiusercontent.com"],_="license:check:end",U=()=>typeof window<"u",F=({isDev:e,isStage:s,isPlatform:a})=>`${e?"":`https://${s?O:B}`}/${a?"platform-api":"api"}`,j=()=>{if(!U())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},m=()=>{const e=j();return!!e&&(x.includes(e)||x.some(s=>e.endsWith(s)))};async function W({path:e,baseApiUrl:s,method:a="GET",headers:t={},params:n,body:r}){const i=`${s||F({isDev:!1,isStage:!1})}${e}`,l={method:a,headers:{"Content-Type":"application/json",...t}};r&&(l.body=JSON.stringify(r));const p=n?new URLSearchParams(n).toString():"",c=p?`?${p}`:"",o=await fetch(`${i}${c}`,l);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var b=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(b||{}),H=(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))(H||{});const G={[b.free]:0,[b.startup]:10,[b.business]:20,[b.enterprise]:30};function K(e){const s=e;return s.init=a=>t=>e(t,a),s}const q=e=>K(e);async function X({editor:e,plan:s,pluginName:a,licenseKey:t,onLicenseCheckResponse:n,cleanup:r}){let g="",i;const l=o=>{console.warn("Cleanup plugin:",a,"Reason:",o),r()},p=(o={})=>{var h;const{error:P,sdkLicense:L}=o,u=(h=o.plan)==null?void 0:h.category;if(!(L||o.license)||P)l(P||"Invalid license");else if(u){const T=G[s],I=G[u];T>I&&l({pluginRequiredPlan:s,licensePlan:u})}};e.Commands.has(H.settings)&&(i=e.runCommand(H.settings),g=(i==null?void 0:i.baseUrl)||"");const c=o=>{n==null||n(o),o&&p(o)};if(!i){e.onReady(async()=>{if(!m())if(t){const o=await Z({licenseKey:t,pluginName:a,baseApiUrl:g});c(o)}else l("The `licenseKey` option not provided")});return}if(i.licensePlan||i.licenseError){const o=Y(i);c(o);return}e.on(_,o=>c(o))}const Y=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function Z(e){const{licenseKey:s,pluginName:a,baseApiUrl:t}=e;try{return(await W({baseApiUrl:t,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:a}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const V="gjs-plg-",J="listPagesComponent",z=b.startup;function Q(e,s,a){let t,n,r,g,i;const l=s;function p(){const o=Date.now()-g;o<l&&o>=0?t=setTimeout(p,l-o):(t=null,i=e.apply(r,n),r=n=null)}const c=function(){return r=this,n=arguments,g=Date.now(),t||(t=setTimeout(p,l)),i};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(i=e.apply(r,n),r=n=null,clearTimeout(t),t=null)},c}const k="page://",d="list-pages",f="list-pages-item",y="list-pages-link",S=e=>e.components().reduce((s,a)=>{var g;const t=a.findFirstType(y),n=(g=t==null?void 0:t.attributes.attributes)==null?void 0:g.href,r=n!=null&&n.startsWith(k)?n.replace(k,""):"";if(r&&t){const i=s[r];i?i.push(t):s[r]=[t]}return s},{}),A="data-type-role",C="page_root",ee=e=>s=>s.is(e),te=e=>(s,a)=>a.is(e),M=e=>s=>{var a;return((a=s.getAttribute)==null?void 0:a.call(s,A))===e},se=function(e,s={}){const{Blocks:a,Components:t,Pages:n}=e,{licenseKey:r,block:g={}}=s,i="List Pages",l="List Pages Item",p="Link",c=`${V}${d}`,o=`${V}${y}`,P='<svg viewBox="0 0 24 24"><path d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z"/></svg>',L='<svg viewBox="0 0 24 24"><path d="M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z" /></svg>';t.addType(d,{block:g&&{label:i,media:P,category:"Extra",select:!0,...s.block},isComponent:M(d),model:{defaults:{tagName:"ul",name:i,[C]:"",classes:c,attributes:{[A]:d,role:"navigation"},droppable:ee(f),styles:`
2
2
  .${c} {
3
3
  list-style: none;
4
4
  margin: 0;
5
5
  padding: 0;
6
6
  }
7
- `},init(){this.syncPageItems=z(this.syncPageItems.bind(this),0),this.listenTo(this.em,n.events.all,this.syncPageItems),this.syncPageItems()},syncPageItems(){if(e.Components.getSymbolInfo(this).isInstance)return;const u=this.em.Pages.getAll(),H=this.components(),h=Q(this);u.forEach((T,I)=>{const D=T.id,R=T.getName(),v=h[D];v?v==null||v.forEach(w=>{w.getInnerHTML()!==R&&w.components(R)}):H.add({type:f,components:[{type:y,attributes:{href:`page://${D}`},components:{type:"textnode",content:R}}]},{at:I})})}}}),t.addType(f,{isComponent:M(f),model:{defaults:{name:l,tagName:"li",icon:L,attributes:{[A]:f},components:{type:y},draggable:ee(d)}}}),t.addType(y,{extend:"link",isComponent:M(y),model:{defaults:{removable:!1,copyable:!1,delegate:{move:u=>u.closestType(f)},name:p,classes:o,attributes:{[A]:y},components:{type:"textnode",content:"Item"},styles:`
7
+ `},init(){this.syncPageItems=Q(this.syncPageItems.bind(this),0),this.listenTo(this.em,n.events.all,this.syncPageItems),this.syncPageItems()},syncPageItems(){if(e.Components.getSymbolInfo(this).isInstance)return;const u=this.em.Pages.getAll(),w=this.components(),h=S(this);u.forEach((T,I)=>{const E=T.id,R=T.getName(),v=h[E];v?v==null||v.forEach(D=>{D.getInnerHTML()!==R&&D.components(R)}):w.add({type:f,components:[{type:y,attributes:{href:`page://${E}`},components:{type:"textnode",content:R}}]},{at:I})})}}}),t.addType(f,{isComponent:M(f),model:{defaults:{name:l,tagName:"li",icon:L,attributes:{[A]:f},components:{type:y},draggable:te(d)}}}),t.addType(y,{extend:"link",isComponent:M(y),model:{defaults:{removable:!1,copyable:!1,delegate:{move:u=>u.closestType(f)},name:p,classes:o,attributes:{[A]:y},components:{type:"textnode",content:"Item"},styles:`
8
8
  .${o} {
9
9
  text-decoration: none;
10
10
  }
11
- `}}}),q({editor:e,licenseKey:r,plan:J,pluginName:Z,cleanup:()=>{a.remove(d),t.removeType(d)}})},se=m(te);module.exports=se;
11
+ `}}}),X({editor:e,licenseKey:r,plan:z,pluginName:J,cleanup:()=>{a.remove(d),t.removeType(d)}})},oe=q(se);module.exports=oe;
@@ -1,4 +1,4 @@
1
- const B = "app.grapesjs.com", O = "app-stage.grapesjs.com", $ = "app2.grapesjs.com", N = "app-stage2.grapesjs.com", G = [
1
+ const B = "app.grapesjs.com", O = "app-stage.grapesjs.com", $ = "app2.grapesjs.com", N = "app-stage2.grapesjs.com", x = [
2
2
  B,
3
3
  $,
4
4
  O,
@@ -9,15 +9,28 @@ const B = "app.grapesjs.com", O = "app-stage.grapesjs.com", $ = "app2.grapesjs.c
9
9
  // For stackblitz.com demos
10
10
  ".local.webcontainer.io",
11
11
  // For stackblitz.com demos
12
- "-sandpack.codesandbox.io"
12
+ "-sandpack.codesandbox.io",
13
13
  // For Sandpack demos
14
+ ".claudemcpcontent.com",
15
+ // For Claude mcp app
16
+ ".web-sandbox.oaiusercontent.com"
17
+ // For OpenAI mcp app
14
18
  ], _ = "license:check:end", U = () => typeof window < "u", F = ({
15
19
  isDev: e,
16
20
  isStage: s,
17
21
  isPlatform: a
18
22
  }) => `${e ? "" : `https://${s ? O : B}`}/${a ? "platform-api" : "api"}`, j = () => {
19
- const e = U() && window.location.hostname;
20
- return !!e && (G.includes(e) || G.some((s) => e.endsWith(s)));
23
+ if (!U()) return "";
24
+ const { hostname: e } = window.location;
25
+ if (e) return e;
26
+ try {
27
+ return window.parent.location.hostname || "";
28
+ } catch {
29
+ return "";
30
+ }
31
+ }, m = () => {
32
+ const e = j();
33
+ return !!e && (x.includes(e) || x.some((s) => e.endsWith(s)));
21
34
  };
22
35
  async function W({
23
36
  path: e,
@@ -40,8 +53,8 @@ async function W({
40
53
  throw new Error(`HTTP error! status: ${o.status}`);
41
54
  return o.json();
42
55
  }
43
- var b = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(b || {}), E = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.dialogImportCode = "studio:dialogImportCode", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.layoutComponentAdd = "studio:layoutComponentAdd", e.layoutComponentGet = "studio:layoutComponentGet", e.layoutComponentRemove = "studio:layoutComponentRemove", e.layoutComponentRender = "studio:layoutComponentRender", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.settings = "studio:settings", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(E || {});
44
- const V = {
56
+ var b = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(b || {}), H = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.dialogImportCode = "studio:dialogImportCode", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.layoutComponentAdd = "studio:layoutComponentAdd", e.layoutComponentGet = "studio:layoutComponentGet", e.layoutComponentRemove = "studio:layoutComponentRemove", e.layoutComponentRender = "studio:layoutComponentRender", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.settings = "studio:settings", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(H || {});
57
+ const G = {
45
58
  [b.free]: 0,
46
59
  [b.startup]: 10,
47
60
  [b.business]: 20,
@@ -51,8 +64,8 @@ function K(e) {
51
64
  const s = e;
52
65
  return s.init = (a) => (t) => e(t, a), s;
53
66
  }
54
- const m = (e) => /* @__PURE__ */ K(e);
55
- async function q({
67
+ const q = (e) => /* @__PURE__ */ K(e);
68
+ async function X({
56
69
  editor: e,
57
70
  plan: s,
58
71
  pluginName: a,
@@ -69,19 +82,19 @@ async function q({
69
82
  if (!(L || o.license) || P)
70
83
  l(P || "Invalid license");
71
84
  else if (u) {
72
- const T = V[s], I = V[u];
85
+ const T = G[s], I = G[u];
73
86
  T > I && l({ pluginRequiredPlan: s, licensePlan: u });
74
87
  }
75
88
  };
76
- e.Commands.has(E.settings) && (i = e.runCommand(E.settings), g = (i == null ? void 0 : i.baseUrl) || "");
89
+ e.Commands.has(H.settings) && (i = e.runCommand(H.settings), g = (i == null ? void 0 : i.baseUrl) || "");
77
90
  const c = (o) => {
78
91
  n == null || n(o), o && p(o);
79
92
  };
80
93
  if (!i) {
81
94
  e.onReady(async () => {
82
- if (!j())
95
+ if (!m())
83
96
  if (t) {
84
- const o = await Y({ licenseKey: t, pluginName: a, baseApiUrl: g });
97
+ const o = await Z({ licenseKey: t, pluginName: a, baseApiUrl: g });
85
98
  c(o);
86
99
  } else
87
100
  l("The `licenseKey` option not provided");
@@ -89,19 +102,19 @@ async function q({
89
102
  return;
90
103
  }
91
104
  if (i.licensePlan || i.licenseError) {
92
- const o = X(i);
105
+ const o = Y(i);
93
106
  c(o);
94
107
  return;
95
108
  }
96
109
  e.on(_, (o) => c(o));
97
110
  }
98
- const X = (e) => ({
111
+ const Y = (e) => ({
99
112
  sdkLicense: e.license,
100
113
  license: e.license,
101
114
  error: e.licenseError,
102
115
  plan: e.licensePlan
103
116
  });
104
- async function Y(e) {
117
+ async function Z(e) {
105
118
  const { licenseKey: s, pluginName: a, baseApiUrl: t } = e;
106
119
  try {
107
120
  return (await W({
@@ -117,8 +130,8 @@ async function Y(e) {
117
130
  return console.error("Error during SDK license check:", n), !1;
118
131
  }
119
132
  }
120
- const x = "gjs-plg-", Z = "listPagesComponent", J = b.startup;
121
- function z(e, s, a) {
133
+ const V = "gjs-plg-", J = "listPagesComponent", z = b.startup;
134
+ function Q(e, s, a) {
122
135
  let t, n, r, g, i;
123
136
  const l = s;
124
137
  function p() {
@@ -134,7 +147,7 @@ function z(e, s, a) {
134
147
  t && (i = e.apply(r, n), r = n = null, clearTimeout(t), t = null);
135
148
  }, c;
136
149
  }
137
- const k = "page://", d = "list-pages", f = "list-pages-item", y = "list-pages-link", Q = (e) => e.components().reduce(
150
+ const k = "page://", d = "list-pages", f = "list-pages-item", y = "list-pages-link", S = (e) => e.components().reduce(
138
151
  (s, a) => {
139
152
  var g;
140
153
  const t = a.findFirstType(y), n = (g = t == null ? void 0 : t.attributes.attributes) == null ? void 0 : g.href, r = n != null && n.startsWith(k) ? n.replace(k, "") : "";
@@ -145,11 +158,11 @@ const k = "page://", d = "list-pages", f = "list-pages-item", y = "list-pages-li
145
158
  return s;
146
159
  },
147
160
  {}
148
- ), A = "data-type-role", S = "page_root", C = (e) => (s) => s.is(e), ee = (e) => (s, a) => a.is(e), M = (e) => (s) => {
161
+ ), A = "data-type-role", C = "page_root", ee = (e) => (s) => s.is(e), te = (e) => (s, a) => a.is(e), M = (e) => (s) => {
149
162
  var a;
150
163
  return ((a = s.getAttribute) == null ? void 0 : a.call(s, A)) === e;
151
- }, te = function(e, s = {}) {
152
- const { Blocks: a, Components: t, Pages: n } = e, { licenseKey: r, block: g = {} } = s, i = "List Pages", l = "List Pages Item", p = "Link", c = `${x}${d}`, o = `${x}${y}`, P = '<svg viewBox="0 0 24 24"><path d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z"/></svg>', L = '<svg viewBox="0 0 24 24"><path d="M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z" /></svg>';
164
+ }, se = function(e, s = {}) {
165
+ const { Blocks: a, Components: t, Pages: n } = e, { licenseKey: r, block: g = {} } = s, i = "List Pages", l = "List Pages Item", p = "Link", c = `${V}${d}`, o = `${V}${y}`, P = '<svg viewBox="0 0 24 24"><path d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z"/></svg>', L = '<svg viewBox="0 0 24 24"><path d="M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z" /></svg>';
153
166
  t.addType(d, {
154
167
  block: g && {
155
168
  label: i,
@@ -163,10 +176,10 @@ const k = "page://", d = "list-pages", f = "list-pages-item", y = "list-pages-li
163
176
  defaults: {
164
177
  tagName: "ul",
165
178
  name: i,
166
- [S]: "",
179
+ [C]: "",
167
180
  classes: c,
168
181
  attributes: { [A]: d, role: "navigation" },
169
- droppable: C(f),
182
+ droppable: ee(f),
170
183
  styles: `
171
184
  .${c} {
172
185
  list-style: none;
@@ -176,22 +189,22 @@ const k = "page://", d = "list-pages", f = "list-pages-item", y = "list-pages-li
176
189
  `
177
190
  },
178
191
  init() {
179
- this.syncPageItems = z(this.syncPageItems.bind(this), 0), this.listenTo(this.em, n.events.all, this.syncPageItems), this.syncPageItems();
192
+ this.syncPageItems = Q(this.syncPageItems.bind(this), 0), this.listenTo(this.em, n.events.all, this.syncPageItems), this.syncPageItems();
180
193
  },
181
194
  syncPageItems() {
182
195
  if (e.Components.getSymbolInfo(this).isInstance) return;
183
- const u = this.em.Pages.getAll(), H = this.components(), h = Q(this);
196
+ const u = this.em.Pages.getAll(), w = this.components(), h = S(this);
184
197
  u.forEach((T, I) => {
185
- const D = T.id, R = T.getName(), v = h[D];
186
- v ? v == null || v.forEach((w) => {
187
- w.getInnerHTML() !== R && w.components(R);
188
- }) : H.add(
198
+ const E = T.id, R = T.getName(), v = h[E];
199
+ v ? v == null || v.forEach((D) => {
200
+ D.getInnerHTML() !== R && D.components(R);
201
+ }) : w.add(
189
202
  {
190
203
  type: f,
191
204
  components: [
192
205
  {
193
206
  type: y,
194
- attributes: { href: `page://${D}` },
207
+ attributes: { href: `page://${E}` },
195
208
  components: { type: "textnode", content: R }
196
209
  }
197
210
  ]
@@ -210,7 +223,7 @@ const k = "page://", d = "list-pages", f = "list-pages-item", y = "list-pages-li
210
223
  icon: L,
211
224
  attributes: { [A]: f },
212
225
  components: { type: y },
213
- draggable: ee(d)
226
+ draggable: te(d)
214
227
  }
215
228
  }
216
229
  }), t.addType(y, {
@@ -234,16 +247,16 @@ const k = "page://", d = "list-pages", f = "list-pages-item", y = "list-pages-li
234
247
  `
235
248
  }
236
249
  }
237
- }), q({
250
+ }), X({
238
251
  editor: e,
239
252
  licenseKey: r,
240
- plan: J,
241
- pluginName: Z,
253
+ plan: z,
254
+ pluginName: J,
242
255
  cleanup: () => {
243
256
  a.remove(d), t.removeType(d);
244
257
  }
245
258
  });
246
- }, se = m(te);
259
+ }, oe = q(se);
247
260
  export {
248
- se as default
261
+ oe as default
249
262
  };
@@ -1,11 +1,11 @@
1
- (function(y,b){typeof exports=="object"&&typeof module<"u"?module.exports=b():typeof define=="function"&&define.amd?define(b):(y=typeof globalThis<"u"?globalThis:y||self,y.StudioSdkPlugins_listPagesComponent=b())})(this,function(){"use strict";const y="app.grapesjs.com",b="app-stage.grapesjs.com",x=[y,"app2.grapesjs.com",b,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],N="license:check:end",B=()=>typeof window<"u",$=({isDev:e,isStage:s,isPlatform:i})=>`${e?"":`https://${s?b:y}`}/${i?"platform-api":"api"}`,U=()=>{const e=B()&&window.location.hostname;return!!e&&(x.includes(e)||x.some(s=>e.endsWith(s)))};async function j({path:e,baseApiUrl:s,method:i="GET",headers:t={},params:n,body:r}){const a=`${s||$({isDev:!1,isStage:!1})}${e}`,l={method:i,headers:{"Content-Type":"application/json",...t}};r&&(l.body=JSON.stringify(r));const p=n?new URLSearchParams(n).toString():"",c=p?`?${p}`:"",o=await fetch(`${a}${c}`,l);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var P=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(P||{}),R=(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))(R||{});const G={[P.free]:0,[P.startup]:10,[P.business]:20,[P.enterprise]:30};function F(e){const s=e;return s.init=i=>t=>e(t,i),s}const W=e=>F(e);async function m({editor:e,plan:s,pluginName:i,licenseKey:t,onLicenseCheckResponse:n,cleanup:r}){let g="",a;const l=o=>{console.warn("Cleanup plugin:",i,"Reason:",o),r()},p=(o={})=>{var v;const{error:A,sdkLicense:D}=o,f=(v=o.plan)==null?void 0:v.category;if(!(D||o.license)||A)l(A||"Invalid license");else if(f){const L=G[s],E=G[f];L>E&&l({pluginRequiredPlan:s,licensePlan:f})}};e.Commands.has(R.settings)&&(a=e.runCommand(R.settings),g=(a==null?void 0:a.baseUrl)||"");const c=o=>{n==null||n(o),o&&p(o)};if(!a){e.onReady(async()=>{if(!U())if(t){const o=await q({licenseKey:t,pluginName:i,baseApiUrl:g});c(o)}else l("The `licenseKey` option not provided")});return}if(a.licensePlan||a.licenseError){const o=K(a);c(o);return}e.on(N,o=>c(o))}const K=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function q(e){const{licenseKey:s,pluginName:i,baseApiUrl:t}=e;try{return(await j({baseApiUrl:t,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:i}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const w="gjs-plg-",X="listPagesComponent",Y=P.startup;function Z(e,s,i){let t,n,r,g,a;const l=s;function p(){const o=Date.now()-g;o<l&&o>=0?t=setTimeout(p,l-o):(t=null,a=e.apply(r,n),r=n=null)}const c=function(){return r=this,n=arguments,g=Date.now(),t||(t=setTimeout(p,l)),a};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(a=e.apply(r,n),r=n=null,clearTimeout(t),t=null)},c}const V="page://",u="list-pages",h="list-pages-item",d="list-pages-link",J=e=>e.components().reduce((s,i)=>{var g;const t=i.findFirstType(d),n=(g=t==null?void 0:t.attributes.attributes)==null?void 0:g.href,r=n!=null&&n.startsWith(V)?n.replace(V,""):"";if(r&&t){const a=s[r];a?a.push(t):s[r]=[t]}return s},{}),T="data-type-role",z="page_root",Q=e=>s=>s.is(e),S=e=>(s,i)=>i.is(e),M=e=>s=>{var i;return((i=s.getAttribute)==null?void 0:i.call(s,T))===e};return W(function(e,s={}){const{Blocks:i,Components:t,Pages:n}=e,{licenseKey:r,block:g={}}=s,a="List Pages",l="List Pages Item",p="Link",c=`${w}${u}`,o=`${w}${d}`,A='<svg viewBox="0 0 24 24"><path d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z"/></svg>',D='<svg viewBox="0 0 24 24"><path d="M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z" /></svg>';t.addType(u,{block:g&&{label:a,media:A,category:"Extra",select:!0,...s.block},isComponent:M(u),model:{defaults:{tagName:"ul",name:a,[z]:"",classes:c,attributes:{[T]:u,role:"navigation"},droppable:Q(h),styles:`
1
+ (function(y,b){typeof exports=="object"&&typeof module<"u"?module.exports=b():typeof define=="function"&&define.amd?define(b):(y=typeof globalThis<"u"?globalThis:y||self,y.StudioSdkPlugins_listPagesComponent=b())})(this,function(){"use strict";const y="app.grapesjs.com",b="app-stage.grapesjs.com",w=[y,"app2.grapesjs.com",b,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io",".claudemcpcontent.com",".web-sandbox.oaiusercontent.com"],N="license:check:end",B=()=>typeof window<"u",$=({isDev:e,isStage:s,isPlatform:i})=>`${e?"":`https://${s?b:y}`}/${i?"platform-api":"api"}`,U=()=>{if(!B())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},m=()=>{const e=U();return!!e&&(w.includes(e)||w.some(s=>e.endsWith(s)))};async function j({path:e,baseApiUrl:s,method:i="GET",headers:t={},params:n,body:r}){const a=`${s||$({isDev:!1,isStage:!1})}${e}`,l={method:i,headers:{"Content-Type":"application/json",...t}};r&&(l.body=JSON.stringify(r));const u=n?new URLSearchParams(n).toString():"",c=u?`?${u}`:"",o=await fetch(`${a}${c}`,l);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}var P=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(P||{}),R=(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))(R||{});const x={[P.free]:0,[P.startup]:10,[P.business]:20,[P.enterprise]:30};function F(e){const s=e;return s.init=i=>t=>e(t,i),s}const W=e=>F(e);async function K({editor:e,plan:s,pluginName:i,licenseKey:t,onLicenseCheckResponse:n,cleanup:r}){let g="",a;const l=o=>{console.warn("Cleanup plugin:",i,"Reason:",o),r()},u=(o={})=>{var v;const{error:A,sdkLicense:D}=o,f=(v=o.plan)==null?void 0:v.category;if(!(D||o.license)||A)l(A||"Invalid license");else if(f){const L=x[s],E=x[f];L>E&&l({pluginRequiredPlan:s,licensePlan:f})}};e.Commands.has(R.settings)&&(a=e.runCommand(R.settings),g=(a==null?void 0:a.baseUrl)||"");const c=o=>{n==null||n(o),o&&u(o)};if(!a){e.onReady(async()=>{if(!m())if(t){const o=await X({licenseKey:t,pluginName:i,baseApiUrl:g});c(o)}else l("The `licenseKey` option not provided")});return}if(a.licensePlan||a.licenseError){const o=q(a);c(o);return}e.on(N,o=>c(o))}const q=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function X(e){const{licenseKey:s,pluginName:i,baseApiUrl:t}=e;try{return(await j({baseApiUrl:t,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:i}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const G="gjs-plg-",Y="listPagesComponent",Z=P.startup;function J(e,s,i){let t,n,r,g,a;const l=s;function u(){const o=Date.now()-g;o<l&&o>=0?t=setTimeout(u,l-o):(t=null,a=e.apply(r,n),r=n=null)}const c=function(){return r=this,n=arguments,g=Date.now(),t||(t=setTimeout(u,l)),a};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(a=e.apply(r,n),r=n=null,clearTimeout(t),t=null)},c}const V="page://",p="list-pages",h="list-pages-item",d="list-pages-link",z=e=>e.components().reduce((s,i)=>{var g;const t=i.findFirstType(d),n=(g=t==null?void 0:t.attributes.attributes)==null?void 0:g.href,r=n!=null&&n.startsWith(V)?n.replace(V,""):"";if(r&&t){const a=s[r];a?a.push(t):s[r]=[t]}return s},{}),T="data-type-role",Q="page_root",S=e=>s=>s.is(e),C=e=>(s,i)=>i.is(e),M=e=>s=>{var i;return((i=s.getAttribute)==null?void 0:i.call(s,T))===e};return W(function(e,s={}){const{Blocks:i,Components:t,Pages:n}=e,{licenseKey:r,block:g={}}=s,a="List Pages",l="List Pages Item",u="Link",c=`${G}${p}`,o=`${G}${d}`,A='<svg viewBox="0 0 24 24"><path d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z"/></svg>',D='<svg viewBox="0 0 24 24"><path d="M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z" /></svg>';t.addType(p,{block:g&&{label:a,media:A,category:"Extra",select:!0,...s.block},isComponent:M(p),model:{defaults:{tagName:"ul",name:a,[Q]:"",classes:c,attributes:{[T]:p,role:"navigation"},droppable:S(h),styles:`
2
2
  .${c} {
3
3
  list-style: none;
4
4
  margin: 0;
5
5
  padding: 0;
6
6
  }
7
- `},init(){this.syncPageItems=Z(this.syncPageItems.bind(this),0),this.listenTo(this.em,n.events.all,this.syncPageItems),this.syncPageItems()},syncPageItems(){if(e.Components.getSymbolInfo(this).isInstance)return;const f=this.em.Pages.getAll(),O=this.components(),v=J(this);f.forEach((L,E)=>{const _=L.id,H=L.getName(),I=v[_];I?I==null||I.forEach(k=>{k.getInnerHTML()!==H&&k.components(H)}):O.add({type:h,components:[{type:d,attributes:{href:`page://${_}`},components:{type:"textnode",content:H}}]},{at:E})})}}}),t.addType(h,{isComponent:M(h),model:{defaults:{name:l,tagName:"li",icon:D,attributes:{[T]:h},components:{type:d},draggable:S(u)}}}),t.addType(d,{extend:"link",isComponent:M(d),model:{defaults:{removable:!1,copyable:!1,delegate:{move:f=>f.closestType(h)},name:p,classes:o,attributes:{[T]:d},components:{type:"textnode",content:"Item"},styles:`
7
+ `},init(){this.syncPageItems=J(this.syncPageItems.bind(this),0),this.listenTo(this.em,n.events.all,this.syncPageItems),this.syncPageItems()},syncPageItems(){if(e.Components.getSymbolInfo(this).isInstance)return;const f=this.em.Pages.getAll(),O=this.components(),v=z(this);f.forEach((L,E)=>{const _=L.id,H=L.getName(),I=v[_];I?I==null||I.forEach(k=>{k.getInnerHTML()!==H&&k.components(H)}):O.add({type:h,components:[{type:d,attributes:{href:`page://${_}`},components:{type:"textnode",content:H}}]},{at:E})})}}}),t.addType(h,{isComponent:M(h),model:{defaults:{name:l,tagName:"li",icon:D,attributes:{[T]:h},components:{type:d},draggable:C(p)}}}),t.addType(d,{extend:"link",isComponent:M(d),model:{defaults:{removable:!1,copyable:!1,delegate:{move:f=>f.closestType(h)},name:u,classes:o,attributes:{[T]:d},components:{type:"textnode",content:"Item"},styles:`
8
8
  .${o} {
9
9
  text-decoration: none;
10
10
  }
11
- `}}}),m({editor:e,licenseKey:r,plan:Y,pluginName:X,cleanup:()=>{i.remove(u),t.removeType(u)}})})});
11
+ `}}}),K({editor:e,licenseKey:r,plan:Z,pluginName:Y,cleanup:()=>{i.remove(p),t.removeType(p)}})})});