@grapesjs/studio-sdk-plugins 1.0.36 → 1.0.38-rc.0

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 (97) 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 +5 -5
  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 +85 -85
  8. package/dist/aiChat/index.es.js +11151 -10258
  9. package/dist/aiChat/index.js +85 -85
  10. package/dist/aiChat/index.umd.js +86 -86
  11. package/dist/aiChat/locales/en.d.ts +11 -0
  12. package/dist/aiChat/projectGeneration.d.ts +17 -0
  13. package/dist/aiChat/server/index.cjs.js +1 -1
  14. package/dist/aiChat/server/index.es.js +1 -1
  15. package/dist/aiChat/server/index.js +1 -1
  16. package/dist/aiChat/server/index.umd.js +1 -1
  17. package/dist/aiChat/types.d.ts +1 -1
  18. package/dist/animationComponent/index.cjs.js +3 -3
  19. package/dist/animationComponent/index.es.js +57 -44
  20. package/dist/animationComponent/index.umd.js +3 -3
  21. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  22. package/dist/canvasAbsoluteMode/index.es.js +63 -50
  23. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  24. package/dist/canvasEmptyState/index.cjs.js +1 -1
  25. package/dist/canvasEmptyState/index.es.js +60 -47
  26. package/dist/canvasEmptyState/index.umd.js +1 -1
  27. package/dist/canvasFullSize/index.cjs.js +3 -3
  28. package/dist/canvasFullSize/index.es.js +49 -36
  29. package/dist/canvasFullSize/index.umd.js +5 -5
  30. package/dist/canvasGridMode/index.cjs.js +2 -2
  31. package/dist/canvasGridMode/index.es.js +251 -233
  32. package/dist/canvasGridMode/index.umd.js +4 -4
  33. package/dist/canvasScreenshot/index.cjs.js +1 -1
  34. package/dist/canvasScreenshot/index.es.js +42 -29
  35. package/dist/canvasScreenshot/index.umd.js +1 -1
  36. package/dist/dataSourceEjs/index.cjs.js +3 -3
  37. package/dist/dataSourceEjs/index.es.js +51 -38
  38. package/dist/dataSourceEjs/index.umd.js +3 -3
  39. package/dist/dataSourceHandlebars/index.cjs.js +2 -2
  40. package/dist/dataSourceHandlebars/index.es.js +152 -139
  41. package/dist/dataSourceHandlebars/index.umd.js +4 -4
  42. package/dist/dialogComponent/index.cjs.js +9 -9
  43. package/dist/dialogComponent/index.es.js +73 -60
  44. package/dist/dialogComponent/index.umd.js +3 -3
  45. package/dist/flexComponent/index.cjs.js +6 -6
  46. package/dist/flexComponent/index.es.js +83 -70
  47. package/dist/flexComponent/index.umd.js +6 -6
  48. package/dist/fsLightboxComponent/index.cjs.js +2 -2
  49. package/dist/fsLightboxComponent/index.es.js +67 -54
  50. package/dist/fsLightboxComponent/index.umd.js +2 -2
  51. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  52. package/dist/googleFontsAssetProvider/index.es.js +92 -79
  53. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  54. package/dist/iconifyComponent/index.cjs.js +2 -2
  55. package/dist/iconifyComponent/index.es.js +52 -39
  56. package/dist/iconifyComponent/index.umd.js +2 -2
  57. package/dist/index.cjs.js +42 -42
  58. package/dist/index.es.js +1167 -1149
  59. package/dist/index.umd.js +42 -42
  60. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  61. package/dist/layoutSidebarButtons/index.es.js +82 -69
  62. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  63. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  64. package/dist/lightGalleryComponent/index.es.js +98 -85
  65. package/dist/lightGalleryComponent/index.umd.js +1 -1
  66. package/dist/linkImageComponent/index.cjs.js +2 -2
  67. package/dist/linkImageComponent/index.es.js +71 -58
  68. package/dist/linkImageComponent/index.umd.js +2 -2
  69. package/dist/listPagesComponent/index.cjs.js +3 -3
  70. package/dist/listPagesComponent/index.es.js +49 -36
  71. package/dist/listPagesComponent/index.umd.js +3 -3
  72. package/dist/presetPrintable/index.cjs.js +5 -5
  73. package/dist/presetPrintable/index.es.js +126 -113
  74. package/dist/presetPrintable/index.umd.js +4 -4
  75. package/dist/prosemirror/index.cjs.js +1 -1
  76. package/dist/prosemirror/index.es.js +97 -84
  77. package/dist/prosemirror/index.umd.js +1 -1
  78. package/dist/rendererReact/index.cjs.js +1 -1
  79. package/dist/rendererReact/index.es.js +149 -137
  80. package/dist/rendererReact/index.js +1 -1
  81. package/dist/rendererReact/index.umd.js +1 -1
  82. package/dist/rteTinyMce/index.cjs.js +2 -2
  83. package/dist/rteTinyMce/index.es.js +92 -79
  84. package/dist/rteTinyMce/index.umd.js +2 -2
  85. package/dist/shapeDividerComponent/index.cjs.js +3 -3
  86. package/dist/shapeDividerComponent/index.es.js +38 -25
  87. package/dist/shapeDividerComponent/index.umd.js +3 -3
  88. package/dist/swiperComponent/index.cjs.js +5 -5
  89. package/dist/swiperComponent/index.es.js +106 -93
  90. package/dist/swiperComponent/index.umd.js +5 -5
  91. package/dist/tableComponent/index.cjs.js +1 -1
  92. package/dist/tableComponent/index.es.js +167 -154
  93. package/dist/tableComponent/index.umd.js +1 -1
  94. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  95. package/dist/youtubeAssetProvider/index.es.js +35 -22
  96. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  97. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
- const O = "app.grapesjs.com", x = "app-stage.grapesjs.com", k = "app2.grapesjs.com", B = "app-stage2.grapesjs.com", I = [
2
- O,
3
- k,
1
+ const x = "app.grapesjs.com", O = "app-stage.grapesjs.com", k = "app2.grapesjs.com", B = "app-stage2.grapesjs.com", I = [
4
2
  x,
3
+ k,
4
+ O,
5
5
  B,
6
6
  "localhost",
7
7
  "127.0.0.1",
@@ -9,63 +9,76 @@ const O = "app.grapesjs.com", x = "app-stage.grapesjs.com", k = "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
  ], N = "license:check:end", W = () => typeof window < "u", $ = ({
15
19
  isDev: e,
16
20
  isStage: o,
17
- isPlatform: n
18
- }) => `${e ? "" : `https://${o ? x : O}`}/${n ? "platform-api" : "api"}`, j = () => {
19
- const e = W() && window.location.hostname;
21
+ isPlatform: a
22
+ }) => `${e ? "" : `https://${o ? O : x}`}/${a ? "platform-api" : "api"}`, j = () => {
23
+ if (!W()) 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
+ }, F = () => {
32
+ const e = j();
20
33
  return !!e && (I.includes(e) || I.some((o) => e.endsWith(o)));
21
34
  };
22
- function F(e) {
35
+ function _(e) {
23
36
  return typeof e == "function";
24
37
  }
25
- async function _({
38
+ async function K({
26
39
  path: e,
27
40
  baseApiUrl: o,
28
- method: n = "GET",
41
+ method: a = "GET",
29
42
  headers: i = {},
30
- params: a,
43
+ params: n,
31
44
  body: g
32
45
  }) {
33
46
  const r = `${o || $({ isDev: !1, isStage: !1 })}${e}`, p = {
34
- method: n,
47
+ method: a,
35
48
  headers: {
36
49
  "Content-Type": "application/json",
37
50
  ...i
38
51
  }
39
52
  };
40
53
  g && (p.body = JSON.stringify(g));
41
- const y = a ? new URLSearchParams(a).toString() : "", f = y ? `?${y}` : "", s = await fetch(`${r}${f}`, p);
54
+ const y = n ? new URLSearchParams(n).toString() : "", f = y ? `?${y}` : "", s = await fetch(`${r}${f}`, p);
42
55
  if (!s.ok)
43
56
  throw new Error(`HTTP error! status: ${s.status}`);
44
57
  return s.json();
45
58
  }
46
- var P = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(P || {}), M = /* @__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))(M || {});
59
+ var P = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(P || {}), M = /* @__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.openEditCode = "studio:openEditCode", 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))(M || {});
47
60
  const U = {
48
61
  [P.free]: 0,
49
62
  [P.startup]: 10,
50
63
  [P.business]: 20,
51
64
  [P.enterprise]: 30
52
65
  };
53
- function K(e) {
66
+ function H(e) {
54
67
  const o = e;
55
- return o.init = (n) => (i) => e(i, n), o;
68
+ return o.init = (a) => (i) => e(i, a), o;
56
69
  }
57
- const q = (e) => /* @__PURE__ */ K(e);
58
- async function H({
70
+ const q = (e) => /* @__PURE__ */ H(e);
71
+ async function J({
59
72
  editor: e,
60
73
  plan: o,
61
- pluginName: n,
74
+ pluginName: a,
62
75
  licenseKey: i,
63
- onLicenseCheckResponse: a,
76
+ onLicenseCheckResponse: n,
64
77
  cleanup: g
65
78
  }) {
66
79
  let d = "", r;
67
80
  const p = (s) => {
68
- console.warn("Cleanup plugin:", n, "Reason:", s), g();
81
+ console.warn("Cleanup plugin:", a, "Reason:", s), g();
69
82
  }, y = (s = {}) => {
70
83
  var A;
71
84
  const { error: T, sdkLicense: R } = s, h = (A = s.plan) == null ? void 0 : A.category;
@@ -78,13 +91,13 @@ async function H({
78
91
  };
79
92
  e.Commands.has(M.settings) && (r = e.runCommand(M.settings), d = (r == null ? void 0 : r.baseUrl) || "");
80
93
  const f = (s) => {
81
- a == null || a(s), s && y(s);
94
+ n == null || n(s), s && y(s);
82
95
  };
83
96
  if (!r) {
84
97
  e.onReady(async () => {
85
- if (!j())
98
+ if (!F())
86
99
  if (i) {
87
- const s = await z({ licenseKey: i, pluginName: n, baseApiUrl: d });
100
+ const s = await Q({ licenseKey: i, pluginName: a, baseApiUrl: d });
88
101
  f(s);
89
102
  } else
90
103
  p("The `licenseKey` option not provided");
@@ -92,52 +105,52 @@ async function H({
92
105
  return;
93
106
  }
94
107
  if (r.licensePlan || r.licenseError) {
95
- const s = J(r);
108
+ const s = z(r);
96
109
  f(s);
97
110
  return;
98
111
  }
99
112
  e.on(N, (s) => f(s));
100
113
  }
101
- const J = (e) => ({
114
+ const z = (e) => ({
102
115
  sdkLicense: e.license,
103
116
  license: e.license,
104
117
  error: e.licenseError,
105
118
  plan: e.licensePlan
106
119
  });
107
- async function z(e) {
108
- const { licenseKey: o, pluginName: n, baseApiUrl: i } = e;
120
+ async function Q(e) {
121
+ const { licenseKey: o, pluginName: a, baseApiUrl: i } = e;
109
122
  try {
110
- return (await _({
123
+ return (await K({
111
124
  baseApiUrl: i,
112
125
  path: `/sdk/${o || "na"}`,
113
126
  method: "POST",
114
127
  params: {
115
128
  d: window.location.hostname,
116
- pn: n
129
+ pn: a
117
130
  }
118
131
  })).result || {};
119
- } catch (a) {
120
- return console.error("Error during SDK license check:", a), !1;
132
+ } catch (n) {
133
+ return console.error("Error during SDK license check:", n), !1;
121
134
  }
122
135
  }
123
- const Q = "canvasEmptyState", X = P.startup, Y = function(e, o = {}) {
124
- const n = /* @__PURE__ */ new WeakMap(), i = /* @__PURE__ */ new WeakMap(), a = /* @__PURE__ */ new WeakMap(), g = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new WeakMap(), r = {
136
+ const X = "canvasEmptyState", Y = P.startup, Z = function(e, o = {}) {
137
+ const a = /* @__PURE__ */ new WeakMap(), i = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakMap(), g = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new WeakMap(), r = {
125
138
  emptyStates: [],
126
139
  ...o
127
140
  }, p = (t, l) => {
128
141
  let b = !1;
129
142
  const { isValid: u } = l;
130
- return Array.isArray(u) ? b = u.some((c) => t.is(c)) : F(u) ? b = u({ component: t, editor: e }) : b = t.is(u), b;
143
+ return Array.isArray(u) ? b = u.some((c) => t.is(c)) : _(u) ? b = u({ component: t, editor: e }) : b = t.is(u), b;
131
144
  }, y = (t) => {
132
- const l = n.get(t);
133
- n.delete(t), l == null || l();
145
+ const l = a.get(t);
146
+ a.delete(t), l == null || l();
134
147
  }, f = (t) => {
135
- t.views.forEach((l) => y(l)), a.delete(t);
148
+ t.views.forEach((l) => y(l)), n.delete(t);
136
149
  }, s = (t) => {
137
150
  if (!(!t || g.has(t)))
138
151
  try {
139
152
  g.add(t);
140
- const l = t.components().length > 0, b = a.get(t);
153
+ const l = t.components().length > 0, b = n.get(t);
141
154
  if (l && b)
142
155
  f(t);
143
156
  else if (!l && !b) {
@@ -149,13 +162,13 @@ const Q = "canvasEmptyState", X = P.startup, Y = function(e, o = {}) {
149
162
  component: t,
150
163
  componentView: c,
151
164
  mount: (v) => {
152
- i.set(c, v), a.set(t, !0);
165
+ i.set(c, v), n.set(t, !0);
153
166
  const G = c.getChildrenContainer();
154
167
  G == null || G.appendChild(v);
155
168
  },
156
169
  unmount: () => y(c)
157
170
  });
158
- n.set(c, () => {
171
+ a.set(c, () => {
159
172
  D == null || D();
160
173
  const v = i.get(c);
161
174
  v == null || v.remove();
@@ -166,20 +179,20 @@ const Q = "canvasEmptyState", X = P.startup, Y = function(e, o = {}) {
166
179
  g.delete(t);
167
180
  }
168
181
  }, T = (t) => {
169
- a.has(t) && f(t);
182
+ n.has(t) && f(t);
170
183
  }, R = ({ model: t }) => {
171
184
  s(t.getComponent());
172
185
  }, h = e.Components.events, L = `${h.update}:components`, A = "component:mount", w = e.Canvas.events.frameLoadBody, E = h.removed;
173
- e.on(L, s), e.on(A, s), e.on(E, T), e.on(w, R), H({
186
+ e.on(L, s), e.on(A, s), e.on(E, T), e.on(w, R), J({
174
187
  editor: e,
175
188
  licenseKey: r.licenseKey,
176
- plan: X,
177
- pluginName: Q,
189
+ plan: Y,
190
+ pluginName: X,
178
191
  cleanup: () => {
179
192
  e.off(L, s), e.off(A, s), e.off(E, T), e.off(w, R);
180
193
  }
181
194
  });
182
- }, Z = q(Y);
195
+ }, V = q(Z);
183
196
  export {
184
- Z as default
197
+ V as default
185
198
  };
@@ -1 +1 @@
1
- (function(h,v){typeof exports=="object"&&typeof module<"u"?module.exports=v():typeof define=="function"&&define.amd?define(v):(h=typeof globalThis<"u"?globalThis:h||self,h.StudioSdkPlugins_canvasEmptyState=v())})(this,function(){"use strict";const h="app.grapesjs.com",v="app-stage.grapesjs.com",x=[h,"app2.grapesjs.com",v,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],N="license:check:end",k=()=>typeof window<"u",B=({isDev:e,isStage:o,isPlatform:a})=>`${e?"":`https://${o?v:h}`}/${a?"platform-api":"api"}`,W=()=>{const e=k()&&window.location.hostname;return!!e&&(x.includes(e)||x.some(o=>e.endsWith(o)))};function _(e){return typeof e=="function"}async function $({path:e,baseApiUrl:o,method:a="GET",headers:r={},params:n,body:g}){const i=`${o||B({isDev:!1,isStage:!1})}${e}`,p={method:a,headers:{"Content-Type":"application/json",...r}};g&&(p.body=JSON.stringify(g));const y=n?new URLSearchParams(n).toString():"",f=y?`?${y}`:"",s=await fetch(`${i}${f}`,p);if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s.json()}var P=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(P||{}),L=(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))(L||{});const U={[P.free]:0,[P.startup]:10,[P.business]:20,[P.enterprise]:30};function j(e){const o=e;return o.init=a=>r=>e(r,a),o}const F=e=>j(e);async function K({editor:e,plan:o,pluginName:a,licenseKey:r,onLicenseCheckResponse:n,cleanup:g}){let d="",i;const p=s=>{console.warn("Cleanup plugin:",a,"Reason:",s),g()},y=(s={})=>{var D;const{error:R,sdkLicense:E}=s,T=(D=s.plan)==null?void 0:D.category;if(!(E||s.license)||R)p(R||"Invalid license");else if(T){const w=U[o],G=U[T];w>G&&p({pluginRequiredPlan:o,licensePlan:T})}};e.Commands.has(L.settings)&&(i=e.runCommand(L.settings),d=(i==null?void 0:i.baseUrl)||"");const f=s=>{n==null||n(s),s&&y(s)};if(!i){e.onReady(async()=>{if(!W())if(r){const s=await H({licenseKey:r,pluginName:a,baseApiUrl:d});f(s)}else p("The `licenseKey` option not provided")});return}if(i.licensePlan||i.licenseError){const s=q(i);f(s);return}e.on(N,s=>f(s))}const q=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function H(e){const{licenseKey:o,pluginName:a,baseApiUrl:r}=e;try{return(await $({baseApiUrl:r,path:`/sdk/${o||"na"}`,method:"POST",params:{d:window.location.hostname,pn:a}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const J="canvasEmptyState",z=P.startup;return F(function(e,o={}){const a=new WeakMap,r=new WeakMap,n=new WeakMap,g=new Set,d=new WeakMap,i={emptyStates:[],...o},p=(t,l)=>{let b=!1;const{isValid:u}=l;return Array.isArray(u)?b=u.some(c=>t.is(c)):_(u)?b=u({component:t,editor:e}):b=t.is(u),b},y=t=>{const l=a.get(t);a.delete(t),l==null||l()},f=t=>{t.views.forEach(l=>y(l)),n.delete(t)},s=t=>{if(!(!t||g.has(t)))try{g.add(t);const l=t.components().length>0,b=n.get(t);if(l&&b)f(t);else if(!l&&!b){const u=d.has(t)?d.get(t):i.emptyStates.find(c=>p(t,c));if(d.set(t,u),!u)return;t.views.forEach(c=>{const I=u.render({editor:e,component:t,componentView:c,mount:A=>{r.set(c,A),n.set(t,!0);const O=c.getChildrenContainer();O==null||O.appendChild(A)},unmount:()=>y(c)});a.set(c,()=>{I==null||I();const A=r.get(c);A==null||A.remove()})})}}finally{g.delete(t)}},R=t=>{n.has(t)&&f(t)},E=({model:t})=>{s(t.getComponent())},T=e.Components.events,M=`${T.update}:components`,D="component:mount",w=e.Canvas.events.frameLoadBody,G=T.removed;e.on(M,s),e.on(D,s),e.on(G,R),e.on(w,E),K({editor:e,licenseKey:i.licenseKey,plan:z,pluginName:J,cleanup:()=>{e.off(M,s),e.off(D,s),e.off(G,R),e.off(w,E)}})})});
1
+ (function(h,v){typeof exports=="object"&&typeof module<"u"?module.exports=v():typeof define=="function"&&define.amd?define(v):(h=typeof globalThis<"u"?globalThis:h||self,h.StudioSdkPlugins_canvasEmptyState=v())})(this,function(){"use strict";const h="app.grapesjs.com",v="app-stage.grapesjs.com",x=[h,"app2.grapesjs.com",v,"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",k=()=>typeof window<"u",B=({isDev:e,isStage:o,isPlatform:a})=>`${e?"":`https://${o?v:h}`}/${a?"platform-api":"api"}`,W=()=>{if(!k())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},_=()=>{const e=W();return!!e&&(x.includes(e)||x.some(o=>e.endsWith(o)))};function $(e){return typeof e=="function"}async function j({path:e,baseApiUrl:o,method:a="GET",headers:i={},params:n,body:g}){const r=`${o||B({isDev:!1,isStage:!1})}${e}`,p={method:a,headers:{"Content-Type":"application/json",...i}};g&&(p.body=JSON.stringify(g));const y=n?new URLSearchParams(n).toString():"",f=y?`?${y}`:"",s=await fetch(`${r}${f}`,p);if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s.json()}var P=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(P||{}),L=(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.openEditCode="studio:openEditCode",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))(L||{});const U={[P.free]:0,[P.startup]:10,[P.business]:20,[P.enterprise]:30};function F(e){const o=e;return o.init=a=>i=>e(i,a),o}const K=e=>F(e);async function H({editor:e,plan:o,pluginName:a,licenseKey:i,onLicenseCheckResponse:n,cleanup:g}){let d="",r;const p=s=>{console.warn("Cleanup plugin:",a,"Reason:",s),g()},y=(s={})=>{var E;const{error:R,sdkLicense:w}=s,T=(E=s.plan)==null?void 0:E.category;if(!(w||s.license)||R)p(R||"Invalid license");else if(T){const D=U[o],G=U[T];D>G&&p({pluginRequiredPlan:o,licensePlan:T})}};e.Commands.has(L.settings)&&(r=e.runCommand(L.settings),d=(r==null?void 0:r.baseUrl)||"");const f=s=>{n==null||n(s),s&&y(s)};if(!r){e.onReady(async()=>{if(!_())if(i){const s=await J({licenseKey:i,pluginName:a,baseApiUrl:d});f(s)}else p("The `licenseKey` option not provided")});return}if(r.licensePlan||r.licenseError){const s=q(r);f(s);return}e.on(N,s=>f(s))}const q=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function J(e){const{licenseKey:o,pluginName:a,baseApiUrl:i}=e;try{return(await j({baseApiUrl:i,path:`/sdk/${o||"na"}`,method:"POST",params:{d:window.location.hostname,pn:a}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const z="canvasEmptyState",Q=P.startup;return K(function(e,o={}){const a=new WeakMap,i=new WeakMap,n=new WeakMap,g=new Set,d=new WeakMap,r={emptyStates:[],...o},p=(t,l)=>{let b=!1;const{isValid:u}=l;return Array.isArray(u)?b=u.some(c=>t.is(c)):$(u)?b=u({component:t,editor:e}):b=t.is(u),b},y=t=>{const l=a.get(t);a.delete(t),l==null||l()},f=t=>{t.views.forEach(l=>y(l)),n.delete(t)},s=t=>{if(!(!t||g.has(t)))try{g.add(t);const l=t.components().length>0,b=n.get(t);if(l&&b)f(t);else if(!l&&!b){const u=d.has(t)?d.get(t):r.emptyStates.find(c=>p(t,c));if(d.set(t,u),!u)return;t.views.forEach(c=>{const I=u.render({editor:e,component:t,componentView:c,mount:A=>{i.set(c,A),n.set(t,!0);const O=c.getChildrenContainer();O==null||O.appendChild(A)},unmount:()=>y(c)});a.set(c,()=>{I==null||I();const A=i.get(c);A==null||A.remove()})})}}finally{g.delete(t)}},R=t=>{n.has(t)&&f(t)},w=({model:t})=>{s(t.getComponent())},T=e.Components.events,M=`${T.update}:components`,E="component:mount",D=e.Canvas.events.frameLoadBody,G=T.removed;e.on(M,s),e.on(E,s),e.on(G,R),e.on(D,w),H({editor:e,licenseKey:r.licenseKey,plan:Q,pluginName:z,cleanup:()=>{e.off(M,s),e.off(E,s),e.off(G,R),e.off(D,w)}})})});
@@ -1,10 +1,10 @@
1
- "use strict";function J(e,i,t){let o,n,l,d,r;const c=i;function f(){const a=Date.now()-d;a<c&&a>=0?o=setTimeout(f,c-a):(o=null,r=e.apply(l,n),l=n=null)}const p=function(){return l=this,n=arguments,d=Date.now(),o||(o=setTimeout(f,c)),r};return p.clear=function(){o&&(clearTimeout(o),o=null)},p.flush=function(){o&&(r=e.apply(l,n),l=n=null,clearTimeout(o),o=null)},p}const k="app.grapesjs.com",z="app-stage.grapesjs.com",Q="app2.grapesjs.com",C="app-stage2.grapesjs.com",B=[k,Q,z,C,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],ee="license:check:end",te=()=>typeof window<"u",se=({isDev:e,isStage:i,isPlatform:t})=>`${e?"":`https://${i?z:k}`}/${t?"platform-api":"api"}`,oe=()=>{const e=te()&&window.location.hostname;return!!e&&(B.includes(e)||B.some(i=>e.endsWith(i)))};async function ne({path:e,baseApiUrl:i,method:t="GET",headers:o={},params:n,body:l}){const r=`${i||se({isDev:!1,isStage:!1})}${e}`,c={method:t,headers:{"Content-Type":"application/json",...o}};l&&(c.body=JSON.stringify(l));const f=n?new URLSearchParams(n).toString():"",p=f?`?${f}`:"",a=await fetch(`${r}${p}`,c);if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);return a.json()}var y=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(y||{}),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 F={[y.free]:0,[y.startup]:10,[y.business]:20,[y.enterprise]:30};function ae(e){const i=e;return i.init=t=>o=>e(o,t),i}const ie=e=>ae(e);async function re({editor:e,plan:i,pluginName:t,licenseKey:o,onLicenseCheckResponse:n,cleanup:l}){let d="",r;const c=a=>{console.warn("Cleanup plugin:",t,"Reason:",a),l()},f=(a={})=>{var T;const{error:v,sdkLicense:R}=a,b=(T=a.plan)==null?void 0:T.category;if(!(R||a.license)||v)c(v||"Invalid license");else if(b){const D=F[i],M=F[b];D>M&&c({pluginRequiredPlan:i,licensePlan:b})}};e.Commands.has(H.settings)&&(r=e.runCommand(H.settings),d=(r==null?void 0:r.baseUrl)||"");const p=a=>{n==null||n(a),a&&f(a)};if(!r){e.onReady(async()=>{if(!oe())if(o){const a=await ce({licenseKey:o,pluginName:t,baseApiUrl:d});p(a)}else c("The `licenseKey` option not provided")});return}if(r.licensePlan||r.licenseError){const a=le(r);p(a);return}e.on(ee,a=>p(a))}const le=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function ce(e){const{licenseKey:i,pluginName:t,baseApiUrl:o}=e;try{return(await ne({baseApiUrl:o,path:`/sdk/${i||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const N="data-gs-plg-",_="canvasFullSize",ue=y.startup,ge=(e,i)=>{const{rule:t,ruleView:o}=i,{style:n}=t.attributes;if(n&&n[e]){const l=n[e],d=/([0-9.]+)(vh|dvh|lvh|svh)/g,r=d.test(l),c=o.frameView.model;if(r&&c.hasAutoHeight()){const f=l.replace(d,(a,v)=>`${window.innerHeight*(parseFloat(v)/100)}px`),p=t.toCSS({style:{...n,[e]:f}});i.css=p}}},pe=e=>{["height","min-height","max-height"].forEach(i=>ge(i,e))},de=function(e,i={}){const{Canvas:t,Commands:o,Devices:n,Css:l}=e,d={deviceMaxWidth:1200,deviceMinHeigth:500,canvasOffsetY:30,canvasOffsetX:50,canvasTransition:.3,frameBorderRadius:5,frameTransition:.3,...i},{canvasOffsetY:r,canvasOffsetX:c,canvasTransition:f,deviceMaxWidth:p,deviceMinHeigth:a,deviceFixedHeight:v,frameBorderRadius:R,frameTransition:b}=d,w=`${a}px`,T=t.events,D="core:preview",M=`${o.events.stopCommand}${D}`,L=t.getConfig(),I=`${_}:disable`,W=n.getAll().map(s=>({...s.attributes})),K=f*1e3,m={x:c,y:r};let P={},G,A;L.scrollableCanvas=!v,n.getAll().map(s=>{!s.get("width")&&s.set("width",`${p}px`),!s.get("height")&&s.set("height",v?"100vh":"auto"),!s.get("minHeight")&&s.set("minHeight",w)});const O=s=>{const u=`${N}canvas-full-size`,g=document.querySelector(`style[${u}]`);if(s&&g)return g.remove();const h=g||document.createElement("style"),x=t.getZoomMultiplier();h.setAttribute(u,"true"),h.innerHTML=`
1
+ "use strict";function J(e,i,t){let o,n,l,d,r;const c=i;function f(){const a=Date.now()-d;a<c&&a>=0?o=setTimeout(f,c-a):(o=null,r=e.apply(l,n),l=n=null)}const p=function(){return l=this,n=arguments,d=Date.now(),o||(o=setTimeout(f,c)),r};return p.clear=function(){o&&(clearTimeout(o),o=null)},p.flush=function(){o&&(r=e.apply(l,n),l=n=null,clearTimeout(o),o=null)},p}const k="app.grapesjs.com",z="app-stage.grapesjs.com",Q="app2.grapesjs.com",C="app-stage2.grapesjs.com",B=[k,Q,z,C,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io",".claudemcpcontent.com",".web-sandbox.oaiusercontent.com"],ee="license:check:end",te=()=>typeof window<"u",se=({isDev:e,isStage:i,isPlatform:t})=>`${e?"":`https://${i?z:k}`}/${t?"platform-api":"api"}`,oe=()=>{if(!te())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},ne=()=>{const e=oe();return!!e&&(B.includes(e)||B.some(i=>e.endsWith(i)))};async function ae({path:e,baseApiUrl:i,method:t="GET",headers:o={},params:n,body:l}){const r=`${i||se({isDev:!1,isStage:!1})}${e}`,c={method:t,headers:{"Content-Type":"application/json",...o}};l&&(c.body=JSON.stringify(l));const f=n?new URLSearchParams(n).toString():"",p=f?`?${f}`:"",a=await fetch(`${r}${p}`,c);if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);return a.json()}var y=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(y||{}),O=(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.openEditCode="studio:openEditCode",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))(O||{});const F={[y.free]:0,[y.startup]:10,[y.business]:20,[y.enterprise]:30};function ie(e){const i=e;return i.init=t=>o=>e(o,t),i}const re=e=>ie(e);async function le({editor:e,plan:i,pluginName:t,licenseKey:o,onLicenseCheckResponse:n,cleanup:l}){let d="",r;const c=a=>{console.warn("Cleanup plugin:",t,"Reason:",a),l()},f=(a={})=>{var T;const{error:v,sdkLicense:R}=a,b=(T=a.plan)==null?void 0:T.category;if(!(R||a.license)||v)c(v||"Invalid license");else if(b){const D=F[i],m=F[b];D>m&&c({pluginRequiredPlan:i,licensePlan:b})}};e.Commands.has(O.settings)&&(r=e.runCommand(O.settings),d=(r==null?void 0:r.baseUrl)||"");const p=a=>{n==null||n(a),a&&f(a)};if(!r){e.onReady(async()=>{if(!ne())if(o){const a=await ue({licenseKey:o,pluginName:t,baseApiUrl:d});p(a)}else c("The `licenseKey` option not provided")});return}if(r.licensePlan||r.licenseError){const a=ce(r);p(a);return}e.on(ee,a=>p(a))}const ce=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function ue(e){const{licenseKey:i,pluginName:t,baseApiUrl:o}=e;try{return(await ae({baseApiUrl:o,path:`/sdk/${i||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const N="data-gs-plg-",_="canvasFullSize",ge=y.startup,pe=(e,i)=>{const{rule:t,ruleView:o}=i,{style:n}=t.attributes;if(n&&n[e]){const l=n[e],d=/([0-9.]+)(vh|dvh|lvh|svh)/g,r=d.test(l),c=o.frameView.model;if(r&&c.hasAutoHeight()){const f=l.replace(d,(a,v)=>`${window.innerHeight*(parseFloat(v)/100)}px`),p=t.toCSS({style:{...n,[e]:f}});i.css=p}}},de=e=>{["height","min-height","max-height"].forEach(i=>pe(i,e))},fe=function(e,i={}){const{Canvas:t,Commands:o,Devices:n,Css:l}=e,d={deviceMaxWidth:1200,deviceMinHeigth:500,canvasOffsetY:30,canvasOffsetX:50,canvasTransition:.3,frameBorderRadius:5,frameTransition:.3,...i},{canvasOffsetY:r,canvasOffsetX:c,canvasTransition:f,deviceMaxWidth:p,deviceMinHeigth:a,deviceFixedHeight:v,frameBorderRadius:R,frameTransition:b}=d,w=`${a}px`,T=t.events,D="core:preview",m=`${o.events.stopCommand}${D}`,M=t.getConfig(),I=`${_}:disable`,W=n.getAll().map(s=>({...s.attributes})),K=f*1e3,L={x:c,y:r};let P={},G,A;M.scrollableCanvas=!v,n.getAll().map(s=>{!s.get("width")&&s.set("width",`${p}px`),!s.get("height")&&s.set("height",v?"100vh":"auto"),!s.get("minHeight")&&s.set("minHeight",w)});const H=s=>{const u=`${N}canvas-full-size`,g=document.querySelector(`style[${u}]`);if(s&&g)return g.remove();const h=g||document.createElement("style"),x=t.getZoomMultiplier();h.setAttribute(u,"true"),h.innerHTML=`
2
2
  .gjs-frame-wrapper { transition: width ${b}s !important; }
3
3
  .gjs-frame-wrapper__bottom { height: ${r*x}px }
4
4
  .gjs-frame { border-radius: ${R}px }
5
- `,!g&&document.body.appendChild(h)};e.on(T.frameLoadHead,s=>{if(!L.scrollableCanvas)return;const{window:u}=s,g=u.document,h=g.head,x=`${N}canvas-full-size-wrappers`,$=h.querySelector(`style[${x}]`)||g.createElement("style");$.setAttribute(x,"true"),$.innerHTML=`
5
+ `,!g&&document.body.appendChild(h)};e.on(T.frameLoadHead,s=>{if(!M.scrollableCanvas)return;const{window:u}=s,g=u.document,h=g.head,x=`${N}canvas-full-size-wrappers`,$=h.querySelector(`style[${x}]`)||g.createElement("style");$.setAttribute(x,"true"),$.innerHTML=`
6
6
  body { height: auto !important; }
7
7
  [data-gjs-type="wrapper"] { min-height: ${w} !important; }
8
8
  [data-gjs-type="mjml"] { min-height: ${w} !important; }
9
9
  [data-gjs-type="mj-body"] { min-height: ${w} !important; }
10
- `,!h.contains($)&&h.appendChild($)});const j=()=>G.style.display="none",Z=()=>G.style.display="",q=()=>{var h;if(!v)return;const s=t.getZoomMultiplier(),g=t.getRect().height*s-r*2;(h=n.getSelected())==null||h.set("height",`${Math.max(g,a)}px`),t.fitViewport({zoom:t.getZoom(),gap:m})},E=J(()=>{t.fitViewport({zoom:s=>s>100?100:s,ignoreHeight:!0,gap:m}),q(),O(),setTimeout(()=>{var u,g;const{em:s}=e;s.destroyed||((g=(u=e.getSelected())==null?void 0:u.getEl())==null||g.scrollIntoView({block:"nearest"}),e.refresh({tools:!0}),Z(),o.isActive(D)?s.stopDefault():s.runDefault())},K)},100),X=(s={})=>{s.options&&s.options.from!=="fitViewport"&&t.fitViewport({zoom:t.getZoom(),ignoreHeight:!0,gap:m})},Y=()=>{j(),E()},S=()=>{P.overflowX="hidden",P.overflowY="auto"},U=()=>{A==null||A.disconnect(),E.clear()},V=[[n.events.select,Y],[T.zoom,X],[M,S],[e.events.destroy,U],[l.events.mountBefore,pe]];o.add(I,()=>{n.devices.reset(W),L.scrollableCanvas=!1,t.getModel().updateDevice(),t.setZoom(100),t.setCoords(0,0),P.overflowY="hidden",O(!0),V.forEach(([s,u])=>e.off(s,u)),U(),o.run("studio:canvasReload")}),V.forEach(([s,u])=>e.on(s,u)),e.onReady(()=>{const s=t.getElement(),u=t.getFramesEl(),g=t.getCanvasView();G=t.getSpotsEl(),P=s.style,P.overflowX="hidden",u.style.transition=`transform ${f}s`,document.removeEventListener("keypress",g.onKeyPress),O(),A=new ResizeObserver(()=>{j(),E()}),A.observe(s.parentElement),E()}),re({editor:e,licenseKey:d.licenseKey,plan:ue,pluginName:_,cleanup:()=>{e.runCommand(I)}})},fe=ie(de);module.exports=fe;
10
+ `,!h.contains($)&&h.appendChild($)});const j=()=>G.style.display="none",Z=()=>G.style.display="",q=()=>{var h;if(!v)return;const s=t.getZoomMultiplier(),g=t.getRect().height*s-r*2;(h=n.getSelected())==null||h.set("height",`${Math.max(g,a)}px`),t.fitViewport({zoom:t.getZoom(),gap:L})},E=J(()=>{t.fitViewport({zoom:s=>s>100?100:s,ignoreHeight:!0,gap:L}),q(),H(),setTimeout(()=>{var u,g;const{em:s}=e;s.destroyed||((g=(u=e.getSelected())==null?void 0:u.getEl())==null||g.scrollIntoView({block:"nearest"}),e.refresh({tools:!0}),Z(),o.isActive(D)?s.stopDefault():s.runDefault())},K)},100),X=(s={})=>{s.options&&s.options.from!=="fitViewport"&&t.fitViewport({zoom:t.getZoom(),ignoreHeight:!0,gap:L})},Y=()=>{j(),E()},S=()=>{P.overflowX="hidden",P.overflowY="auto"},U=()=>{A==null||A.disconnect(),E.clear()},V=[[n.events.select,Y],[T.zoom,X],[m,S],[e.events.destroy,U],[l.events.mountBefore,de]];o.add(I,()=>{n.devices.reset(W),M.scrollableCanvas=!1,t.getModel().updateDevice(),t.setZoom(100),t.setCoords(0,0),P.overflowY="hidden",H(!0),V.forEach(([s,u])=>e.off(s,u)),U(),o.run("studio:canvasReload")}),V.forEach(([s,u])=>e.on(s,u)),e.onReady(()=>{const s=t.getElement(),u=t.getFramesEl(),g=t.getCanvasView();G=t.getSpotsEl(),P=s.style,P.overflowX="hidden",u.style.transition=`transform ${f}s`,document.removeEventListener("keypress",g.onKeyPress),H(),A=new ResizeObserver(()=>{j(),E()}),A.observe(s.parentElement),E()}),le({editor:e,licenseKey:d.licenseKey,plan:ge,pluginName:_,cleanup:()=>{e.runCommand(I)}})},he=re(fe);module.exports=he;
@@ -25,17 +25,30 @@ const k = "app.grapesjs.com", z = "app-stage.grapesjs.com", Q = "app2.grapesjs.c
25
25
  // For stackblitz.com demos
26
26
  ".local.webcontainer.io",
27
27
  // For stackblitz.com demos
28
- "-sandpack.codesandbox.io"
28
+ "-sandpack.codesandbox.io",
29
29
  // For Sandpack demos
30
+ ".claudemcpcontent.com",
31
+ // For Claude mcp app
32
+ ".web-sandbox.oaiusercontent.com"
33
+ // For OpenAI mcp app
30
34
  ], ee = "license:check:end", te = () => typeof window < "u", se = ({
31
35
  isDev: e,
32
36
  isStage: i,
33
37
  isPlatform: t
34
38
  }) => `${e ? "" : `https://${i ? z : k}`}/${t ? "platform-api" : "api"}`, oe = () => {
35
- const e = te() && window.location.hostname;
39
+ if (!te()) return "";
40
+ const { hostname: e } = window.location;
41
+ if (e) return e;
42
+ try {
43
+ return window.parent.location.hostname || "";
44
+ } catch {
45
+ return "";
46
+ }
47
+ }, ne = () => {
48
+ const e = oe();
36
49
  return !!e && (B.includes(e) || B.some((i) => e.endsWith(i)));
37
50
  };
38
- async function ne({
51
+ async function ae({
39
52
  path: e,
40
53
  baseApiUrl: i,
41
54
  method: t = "GET",
@@ -56,19 +69,19 @@ async function ne({
56
69
  throw new Error(`HTTP error! status: ${a.status}`);
57
70
  return a.json();
58
71
  }
59
- var y = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(y || {}), 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 || {});
72
+ var y = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(y || {}), O = /* @__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.openEditCode = "studio:openEditCode", 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))(O || {});
60
73
  const F = {
61
74
  [y.free]: 0,
62
75
  [y.startup]: 10,
63
76
  [y.business]: 20,
64
77
  [y.enterprise]: 30
65
78
  };
66
- function ae(e) {
79
+ function ie(e) {
67
80
  const i = e;
68
81
  return i.init = (t) => (o) => e(o, t), i;
69
82
  }
70
- const ie = (e) => /* @__PURE__ */ ae(e);
71
- async function re({
83
+ const re = (e) => /* @__PURE__ */ ie(e);
84
+ async function le({
72
85
  editor: e,
73
86
  plan: i,
74
87
  pluginName: t,
@@ -85,19 +98,19 @@ async function re({
85
98
  if (!(R || a.license) || v)
86
99
  c(v || "Invalid license");
87
100
  else if (b) {
88
- const D = F[i], M = F[b];
89
- D > M && c({ pluginRequiredPlan: i, licensePlan: b });
101
+ const D = F[i], m = F[b];
102
+ D > m && c({ pluginRequiredPlan: i, licensePlan: b });
90
103
  }
91
104
  };
92
- e.Commands.has(H.settings) && (r = e.runCommand(H.settings), d = (r == null ? void 0 : r.baseUrl) || "");
105
+ e.Commands.has(O.settings) && (r = e.runCommand(O.settings), d = (r == null ? void 0 : r.baseUrl) || "");
93
106
  const p = (a) => {
94
107
  n == null || n(a), a && f(a);
95
108
  };
96
109
  if (!r) {
97
110
  e.onReady(async () => {
98
- if (!oe())
111
+ if (!ne())
99
112
  if (o) {
100
- const a = await ce({ licenseKey: o, pluginName: t, baseApiUrl: d });
113
+ const a = await ue({ licenseKey: o, pluginName: t, baseApiUrl: d });
101
114
  p(a);
102
115
  } else
103
116
  c("The `licenseKey` option not provided");
@@ -105,22 +118,22 @@ async function re({
105
118
  return;
106
119
  }
107
120
  if (r.licensePlan || r.licenseError) {
108
- const a = le(r);
121
+ const a = ce(r);
109
122
  p(a);
110
123
  return;
111
124
  }
112
125
  e.on(ee, (a) => p(a));
113
126
  }
114
- const le = (e) => ({
127
+ const ce = (e) => ({
115
128
  sdkLicense: e.license,
116
129
  license: e.license,
117
130
  error: e.licenseError,
118
131
  plan: e.licensePlan
119
132
  });
120
- async function ce(e) {
133
+ async function ue(e) {
121
134
  const { licenseKey: i, pluginName: t, baseApiUrl: o } = e;
122
135
  try {
123
- return (await ne({
136
+ return (await ae({
124
137
  baseApiUrl: o,
125
138
  path: `/sdk/${i || "na"}`,
126
139
  method: "POST",
@@ -133,7 +146,7 @@ async function ce(e) {
133
146
  return console.error("Error during SDK license check:", n), !1;
134
147
  }
135
148
  }
136
- const N = "data-gs-plg-", _ = "canvasFullSize", ue = y.startup, ge = (e, i) => {
149
+ const N = "data-gs-plg-", _ = "canvasFullSize", ge = y.startup, pe = (e, i) => {
137
150
  const { rule: t, ruleView: o } = i, { style: n } = t.attributes;
138
151
  if (n && n[e]) {
139
152
  const l = n[e], d = /([0-9.]+)(vh|dvh|lvh|svh)/g, r = d.test(l), c = o.frameView.model;
@@ -147,9 +160,9 @@ const N = "data-gs-plg-", _ = "canvasFullSize", ue = y.startup, ge = (e, i) => {
147
160
  i.css = p;
148
161
  }
149
162
  }
150
- }, pe = (e) => {
151
- ["height", "min-height", "max-height"].forEach((i) => ge(i, e));
152
- }, de = function(e, i = {}) {
163
+ }, de = (e) => {
164
+ ["height", "min-height", "max-height"].forEach((i) => pe(i, e));
165
+ }, fe = function(e, i = {}) {
153
166
  const { Canvas: t, Commands: o, Devices: n, Css: l } = e, d = {
154
167
  deviceMaxWidth: 1200,
155
168
  deviceMinHeigth: 500,
@@ -168,12 +181,12 @@ const N = "data-gs-plg-", _ = "canvasFullSize", ue = y.startup, ge = (e, i) => {
168
181
  deviceFixedHeight: v,
169
182
  frameBorderRadius: R,
170
183
  frameTransition: b
171
- } = d, w = `${a}px`, T = t.events, D = "core:preview", M = `${o.events.stopCommand}${D}`, L = t.getConfig(), I = `${_}:disable`, W = n.getAll().map((s) => ({ ...s.attributes })), K = f * 1e3, m = { x: c, y: r };
184
+ } = d, w = `${a}px`, T = t.events, D = "core:preview", m = `${o.events.stopCommand}${D}`, M = t.getConfig(), I = `${_}:disable`, W = n.getAll().map((s) => ({ ...s.attributes })), K = f * 1e3, L = { x: c, y: r };
172
185
  let P = {}, G, A;
173
- L.scrollableCanvas = !v, n.getAll().map((s) => {
186
+ M.scrollableCanvas = !v, n.getAll().map((s) => {
174
187
  !s.get("width") && s.set("width", `${p}px`), !s.get("height") && s.set("height", v ? "100vh" : "auto"), !s.get("minHeight") && s.set("minHeight", w);
175
188
  });
176
- const O = (s) => {
189
+ const H = (s) => {
177
190
  const u = `${N}canvas-full-size`, g = document.querySelector(`style[${u}]`);
178
191
  if (s && g)
179
192
  return g.remove();
@@ -185,7 +198,7 @@ const N = "data-gs-plg-", _ = "canvasFullSize", ue = y.startup, ge = (e, i) => {
185
198
  `, !g && document.body.appendChild(h);
186
199
  };
187
200
  e.on(T.frameLoadHead, (s) => {
188
- if (!L.scrollableCanvas) return;
201
+ if (!M.scrollableCanvas) return;
189
202
  const { window: u } = s, g = u.document, h = g.head, x = `${N}canvas-full-size-wrappers`, $ = h.querySelector(`style[${x}]`) || g.createElement("style");
190
203
  $.setAttribute(x, "true"), $.innerHTML = `
191
204
  body { height: auto !important; }
@@ -198,13 +211,13 @@ const N = "data-gs-plg-", _ = "canvasFullSize", ue = y.startup, ge = (e, i) => {
198
211
  var h;
199
212
  if (!v) return;
200
213
  const s = t.getZoomMultiplier(), g = t.getRect().height * s - r * 2;
201
- (h = n.getSelected()) == null || h.set("height", `${Math.max(g, a)}px`), t.fitViewport({ zoom: t.getZoom(), gap: m });
214
+ (h = n.getSelected()) == null || h.set("height", `${Math.max(g, a)}px`), t.fitViewport({ zoom: t.getZoom(), gap: L });
202
215
  }, E = J(() => {
203
216
  t.fitViewport({
204
217
  zoom: (s) => s > 100 ? 100 : s,
205
218
  ignoreHeight: !0,
206
- gap: m
207
- }), q(), O(), setTimeout(() => {
219
+ gap: L
220
+ }), q(), H(), setTimeout(() => {
208
221
  var u, g;
209
222
  const { em: s } = e;
210
223
  s.destroyed || ((g = (u = e.getSelected()) == null ? void 0 : u.getEl()) == null || g.scrollIntoView({ block: "nearest" }), e.refresh({ tools: !0 }), Z(), o.isActive(D) ? s.stopDefault() : s.runDefault());
@@ -213,7 +226,7 @@ const N = "data-gs-plg-", _ = "canvasFullSize", ue = y.startup, ge = (e, i) => {
213
226
  s.options && s.options.from !== "fitViewport" && t.fitViewport({
214
227
  zoom: t.getZoom(),
215
228
  ignoreHeight: !0,
216
- gap: m
229
+ gap: L
217
230
  });
218
231
  }, Y = () => {
219
232
  j(), E();
@@ -224,27 +237,27 @@ const N = "data-gs-plg-", _ = "canvasFullSize", ue = y.startup, ge = (e, i) => {
224
237
  }, V = [
225
238
  [n.events.select, Y],
226
239
  [T.zoom, X],
227
- [M, S],
240
+ [m, S],
228
241
  [e.events.destroy, U],
229
- [l.events.mountBefore, pe]
242
+ [l.events.mountBefore, de]
230
243
  ];
231
244
  o.add(I, () => {
232
- n.devices.reset(W), L.scrollableCanvas = !1, t.getModel().updateDevice(), t.setZoom(100), t.setCoords(0, 0), P.overflowY = "hidden", O(!0), V.forEach(([s, u]) => e.off(s, u)), U(), o.run("studio:canvasReload");
245
+ n.devices.reset(W), M.scrollableCanvas = !1, t.getModel().updateDevice(), t.setZoom(100), t.setCoords(0, 0), P.overflowY = "hidden", H(!0), V.forEach(([s, u]) => e.off(s, u)), U(), o.run("studio:canvasReload");
233
246
  }), V.forEach(([s, u]) => e.on(s, u)), e.onReady(() => {
234
247
  const s = t.getElement(), u = t.getFramesEl(), g = t.getCanvasView();
235
- G = t.getSpotsEl(), P = s.style, P.overflowX = "hidden", u.style.transition = `transform ${f}s`, document.removeEventListener("keypress", g.onKeyPress), O(), A = new ResizeObserver(() => {
248
+ G = t.getSpotsEl(), P = s.style, P.overflowX = "hidden", u.style.transition = `transform ${f}s`, document.removeEventListener("keypress", g.onKeyPress), H(), A = new ResizeObserver(() => {
236
249
  j(), E();
237
250
  }), A.observe(s.parentElement), E();
238
- }), re({
251
+ }), le({
239
252
  editor: e,
240
253
  licenseKey: d.licenseKey,
241
- plan: ue,
254
+ plan: ge,
242
255
  pluginName: _,
243
256
  cleanup: () => {
244
257
  e.runCommand(I);
245
258
  }
246
259
  });
247
- }, fe = ie(de);
260
+ }, he = re(fe);
248
261
  export {
249
- fe as default
262
+ he as default
250
263
  };