@grapesjs/studio-sdk-plugins 1.0.35 → 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 (92) hide show
  1. package/dist/accordionComponent/index.cjs.js +7 -7
  2. package/dist/accordionComponent/index.es.js +185 -159
  3. package/dist/accordionComponent/index.umd.js +7 -7
  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 +75 -75
  8. package/dist/aiChat/index.es.js +9122 -8628
  9. package/dist/aiChat/index.js +75 -75
  10. package/dist/aiChat/index.umd.js +75 -75
  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 +221 -195
  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 +199 -173
  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 +149 -123
  20. package/dist/canvasEmptyState/index.umd.js +1 -1
  21. package/dist/canvasFullSize/index.cjs.js +9 -9
  22. package/dist/canvasFullSize/index.es.js +186 -160
  23. package/dist/canvasFullSize/index.umd.js +9 -9
  24. package/dist/canvasGridMode/index.cjs.js +5 -5
  25. package/dist/canvasGridMode/index.es.js +263 -237
  26. package/dist/canvasGridMode/index.umd.js +2 -2
  27. package/dist/canvasScreenshot/index.cjs.js +1 -1
  28. package/dist/canvasScreenshot/index.es.js +168 -142
  29. package/dist/canvasScreenshot/index.umd.js +1 -1
  30. package/dist/dataSourceEjs/index.cjs.js +9 -9
  31. package/dist/dataSourceEjs/index.es.js +271 -245
  32. package/dist/dataSourceEjs/index.umd.js +9 -9
  33. package/dist/dataSourceHandlebars/index.cjs.js +8 -8
  34. package/dist/dataSourceHandlebars/index.es.js +232 -206
  35. package/dist/dataSourceHandlebars/index.umd.js +8 -8
  36. package/dist/dialogComponent/index.cjs.js +14 -14
  37. package/dist/dialogComponent/index.es.js +157 -131
  38. package/dist/dialogComponent/index.umd.js +14 -14
  39. package/dist/flexComponent/index.cjs.js +13 -13
  40. package/dist/flexComponent/index.es.js +497 -471
  41. package/dist/flexComponent/index.umd.js +13 -13
  42. package/dist/fsLightboxComponent/index.cjs.js +3 -3
  43. package/dist/fsLightboxComponent/index.es.js +189 -163
  44. package/dist/fsLightboxComponent/index.umd.js +3 -3
  45. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  46. package/dist/googleFontsAssetProvider/index.es.js +175 -149
  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 +207 -181
  50. package/dist/iconifyComponent/index.umd.js +2 -2
  51. package/dist/index.cjs.js +36 -36
  52. package/dist/index.es.js +917 -891
  53. package/dist/index.umd.js +36 -36
  54. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  55. package/dist/layoutSidebarButtons/index.es.js +192 -166
  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 +265 -239
  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 +121 -95
  62. package/dist/linkImageComponent/index.umd.js +2 -2
  63. package/dist/listPagesComponent/index.cjs.js +5 -5
  64. package/dist/listPagesComponent/index.es.js +171 -145
  65. package/dist/listPagesComponent/index.umd.js +5 -5
  66. package/dist/presetPrintable/index.cjs.js +3 -3
  67. package/dist/presetPrintable/index.es.js +227 -201
  68. package/dist/presetPrintable/index.umd.js +3 -3
  69. package/dist/prosemirror/index.cjs.js +7 -7
  70. package/dist/prosemirror/index.es.js +457 -431
  71. package/dist/prosemirror/index.umd.js +8 -8
  72. package/dist/rendererReact/index.cjs.js +1 -1
  73. package/dist/rendererReact/index.es.js +248 -223
  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 +150 -124
  78. package/dist/rteTinyMce/index.umd.js +2 -2
  79. package/dist/shapeDividerComponent/index.cjs.js +4 -4
  80. package/dist/shapeDividerComponent/index.es.js +143 -117
  81. package/dist/shapeDividerComponent/index.umd.js +4 -4
  82. package/dist/swiperComponent/index.cjs.js +9 -9
  83. package/dist/swiperComponent/index.es.js +218 -192
  84. package/dist/swiperComponent/index.umd.js +7 -7
  85. package/dist/tableComponent/index.cjs.js +1 -1
  86. package/dist/tableComponent/index.es.js +275 -249
  87. package/dist/tableComponent/index.umd.js +1 -1
  88. package/dist/types.d.ts +1 -1
  89. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  90. package/dist/youtubeAssetProvider/index.es.js +134 -108
  91. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  92. package/package.json +2 -2
@@ -1,98 +1,124 @@
1
- var v = /* @__PURE__ */ ((t) => (t.free = "free", t.startup = "startup", t.business = "business", t.enterprise = "enterprise", t))(v || {}), m = /* @__PURE__ */ ((t) => (t.toastAdd = "studio:toastAdd", t.toastRemove = "studio:toastRemove", t.dialogOpen = "studio:dialogOpen", t.dialogClose = "studio:dialogClose", t.dialogExportCode = "studio:dialogExportCode", t.dialogImportCode = "studio:dialogImportCode", t.sidebarLeftSet = "studio:sidebarLeft:set", t.sidebarLeftGet = "studio:sidebarLeft:get", t.sidebarLeftToggle = "studio:sidebarLeft:toggle", t.sidebarRightSet = "studio:sidebarRight:set", t.sidebarRightGet = "studio:sidebarRight:get", t.sidebarRightToggle = "studio:sidebarRight:toggle", t.sidebarTopSet = "studio:sidebarTop:set", t.sidebarTopGet = "studio:sidebarTop:get", t.sidebarTopToggle = "studio:sidebarTop:toggle", t.sidebarBottomSet = "studio:sidebarBottom:set", t.sidebarBottomGet = "studio:sidebarBottom:get", t.sidebarBottomToggle = "studio:sidebarBottom:toggle", t.symbolAdd = "studio:symbolAdd", t.symbolDetach = "studio:symbolDetach", t.symbolOverride = "studio:symbolOverride", t.symbolPropagateStyles = "studio:propagateStyles", t.getPagesConfig = "studio:getPagesConfig", t.setPagesConfig = "studio:setPagesConfig", t.getPageSettings = "studio:getPageSettings", t.setPageSettings = "studio:setPageSettings", t.clearPage = "studio:clearPage", t.projectFiles = "studio:projectFiles", t.validateCode = "studio:validateCode", t.canvasReload = "studio:canvasReload", t.getBlocksPanel = "studio:getBlocksPanel", t.setBlocksPanel = "studio:setBlocksPanel", t.getStateContextMenu = "studio:getStateContextMenu", t.setStateContextMenu = "studio:setStateContextMenu", t.contextMenuComponent = "studio:contextMenuComponent", t.layoutAdd = "studio:layoutAdd", t.layoutRemove = "studio:layoutRemove", t.layoutToggle = "studio:layoutToggle", t.layoutUpdate = "studio:layoutUpdate", t.layoutGet = "studio:layoutGet", t.layoutConfigGet = "studio:layoutConfigGet", t.layoutConfigSet = "studio:layoutConfigSet", t.layoutComponentAdd = "studio:layoutComponentAdd", t.layoutComponentGet = "studio:layoutComponentGet", t.layoutComponentRemove = "studio:layoutComponentRemove", t.layoutComponentRender = "studio:layoutComponentRender", t.getStateTheme = "studio:getStateTheme", t.setStateTheme = "studio:setStateTheme", t.assetProviderGet = "studio:assetProviderGet", t.assetProviderAdd = "studio:assetProviderAdd", t.assetProviderRemove = "studio:assetProviderRemove", t.fontGet = "studio:fontGet", t.fontAdd = "studio:fontAdd", t.fontRemove = "studio:fontRemove", t.fontManagerOpen = "studio:fontManagerOpen", t.menuFontLoad = "studio:menuFontLoad", t.toggleStateDataSource = "studio:toggleStateDataSource", t.getStateDataSource = "studio:getStateDataSource", t.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", t.dataSourceSetImporter = "studio:dataSourceSetImporter", t.dataSourceSetExporter = "studio:dataSourceSetExporter", t.setDragAbsolute = "studio:setDragAbsolute", t))(m || {}), I = /* @__PURE__ */ ((t) => (t.dark = "dark", t.light = "light", t.auto = "auto", t))(I || {});
2
- const O = "app.grapesjs.com", L = "app-stage.grapesjs.com", M = "app2.grapesjs.com", N = "app-stage2.grapesjs.com", R = [
3
- O,
1
+ var v = /* @__PURE__ */ ((t) => (t.free = "free", t.startup = "startup", t.business = "business", t.enterprise = "enterprise", t))(v || {}), y = /* @__PURE__ */ ((t) => (t.toastAdd = "studio:toastAdd", t.toastRemove = "studio:toastRemove", t.dialogOpen = "studio:dialogOpen", t.dialogClose = "studio:dialogClose", t.dialogExportCode = "studio:dialogExportCode", t.dialogImportCode = "studio:dialogImportCode", t.sidebarLeftSet = "studio:sidebarLeft:set", t.sidebarLeftGet = "studio:sidebarLeft:get", t.sidebarLeftToggle = "studio:sidebarLeft:toggle", t.sidebarRightSet = "studio:sidebarRight:set", t.sidebarRightGet = "studio:sidebarRight:get", t.sidebarRightToggle = "studio:sidebarRight:toggle", t.sidebarTopSet = "studio:sidebarTop:set", t.sidebarTopGet = "studio:sidebarTop:get", t.sidebarTopToggle = "studio:sidebarTop:toggle", t.sidebarBottomSet = "studio:sidebarBottom:set", t.sidebarBottomGet = "studio:sidebarBottom:get", t.sidebarBottomToggle = "studio:sidebarBottom:toggle", t.symbolAdd = "studio:symbolAdd", t.symbolDetach = "studio:symbolDetach", t.symbolOverride = "studio:symbolOverride", t.symbolPropagateStyles = "studio:propagateStyles", t.getPagesConfig = "studio:getPagesConfig", t.setPagesConfig = "studio:setPagesConfig", t.getPageSettings = "studio:getPageSettings", t.setPageSettings = "studio:setPageSettings", t.clearPage = "studio:clearPage", t.projectFiles = "studio:projectFiles", t.validateCode = "studio:validateCode", t.canvasReload = "studio:canvasReload", t.getBlocksPanel = "studio:getBlocksPanel", t.setBlocksPanel = "studio:setBlocksPanel", t.getStateContextMenu = "studio:getStateContextMenu", t.setStateContextMenu = "studio:setStateContextMenu", t.contextMenuComponent = "studio:contextMenuComponent", t.layoutAdd = "studio:layoutAdd", t.layoutRemove = "studio:layoutRemove", t.layoutToggle = "studio:layoutToggle", t.layoutUpdate = "studio:layoutUpdate", t.layoutGet = "studio:layoutGet", t.layoutConfigGet = "studio:layoutConfigGet", t.layoutConfigSet = "studio:layoutConfigSet", t.layoutComponentAdd = "studio:layoutComponentAdd", t.layoutComponentGet = "studio:layoutComponentGet", t.layoutComponentRemove = "studio:layoutComponentRemove", t.layoutComponentRender = "studio:layoutComponentRender", t.getStateTheme = "studio:getStateTheme", t.setStateTheme = "studio:setStateTheme", t.settings = "studio:settings", t.assetProviderGet = "studio:assetProviderGet", t.assetProviderAdd = "studio:assetProviderAdd", t.assetProviderRemove = "studio:assetProviderRemove", t.fontGet = "studio:fontGet", t.fontAdd = "studio:fontAdd", t.fontRemove = "studio:fontRemove", t.fontManagerOpen = "studio:fontManagerOpen", t.menuFontLoad = "studio:menuFontLoad", t.toggleStateDataSource = "studio:toggleStateDataSource", t.getStateDataSource = "studio:getStateDataSource", t.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", t.dataSourceSetImporter = "studio:dataSourceSetImporter", t.dataSourceSetExporter = "studio:dataSourceSetExporter", t.setDragAbsolute = "studio:setDragAbsolute", t))(y || {}), L = /* @__PURE__ */ ((t) => (t.dark = "dark", t.light = "light", t.auto = "auto", t))(L || {});
2
+ const I = "app.grapesjs.com", O = "app-stage.grapesjs.com", M = "app2.grapesjs.com", B = "app-stage2.grapesjs.com", k = [
3
+ I,
4
4
  M,
5
- L,
6
- N,
5
+ O,
6
+ B,
7
7
  "localhost",
8
8
  "127.0.0.1",
9
9
  ".local-credentialless.webcontainer.io",
10
10
  // For stackblitz.com demos
11
11
  ".local.webcontainer.io",
12
12
  // For stackblitz.com demos
13
- "-sandpack.codesandbox.io"
13
+ "-sandpack.codesandbox.io",
14
14
  // For Sandpack demos
15
- ], B = "license:check:start", U = "license:check:end", j = () => typeof window < "u", W = ({
15
+ ".claudemcpcontent.com",
16
+ // For Claude mcp app
17
+ ".web-sandbox.oaiusercontent.com"
18
+ // For OpenAI mcp app
19
+ ], N = "license:check:end", U = () => typeof window < "u", j = ({
16
20
  isDev: t,
17
21
  isStage: s,
18
22
  isPlatform: n
19
- }) => `${t ? "" : `https://${s ? L : O}`}/${n ? "platform-api" : "api"}`, $ = () => {
20
- const t = j() && window.location.hostname;
21
- return !!t && (R.includes(t) || R.some((s) => t.endsWith(s)));
23
+ }) => `${t ? "" : `https://${s ? O : I}`}/${n ? "platform-api" : "api"}`, F = () => {
24
+ if (!U()) return "";
25
+ const { hostname: t } = window.location;
26
+ if (t) return t;
27
+ try {
28
+ return window.parent.location.hostname || "";
29
+ } catch {
30
+ return "";
31
+ }
32
+ }, W = () => {
33
+ const t = F();
34
+ return !!t && (k.includes(t) || k.some((s) => t.endsWith(s)));
22
35
  };
23
- async function F({
36
+ async function $({
24
37
  path: t,
25
38
  baseApiUrl: s,
26
39
  method: n = "GET",
27
- headers: a = {},
28
- params: r,
29
- body: c
40
+ headers: i = {},
41
+ params: a,
42
+ body: l
30
43
  }) {
31
- const l = `${s || W({ isDev: !1, isStage: !1 })}${t}`, i = {
44
+ const r = `${s || j({ isDev: !1, isStage: !1 })}${t}`, c = {
32
45
  method: n,
33
46
  headers: {
34
47
  "Content-Type": "application/json",
35
- ...a
48
+ ...i
36
49
  }
37
50
  };
38
- c && (i.body = JSON.stringify(c));
39
- const u = r ? new URLSearchParams(r).toString() : "", e = u ? `?${u}` : "", o = await fetch(`${l}${e}`, i);
51
+ l && (c.body = JSON.stringify(l));
52
+ const b = a ? new URLSearchParams(a).toString() : "", e = b ? `?${b}` : "", o = await fetch(`${r}${e}`, c);
40
53
  if (!o.ok)
41
54
  throw new Error(`HTTP error! status: ${o.status}`);
42
55
  return o.json();
43
56
  }
44
- const k = {
57
+ const _ = {
45
58
  [v.free]: 0,
46
59
  [v.startup]: 10,
47
60
  [v.business]: 20,
48
61
  [v.enterprise]: 30
49
62
  };
50
- function K(t) {
63
+ function C(t) {
51
64
  const s = t;
52
- return s.init = (n) => (a) => t(a, n), s;
65
+ return s.init = (n) => (i) => t(i, n), s;
53
66
  }
54
- const S = (t) => /* @__PURE__ */ K(t);
55
- async function q({
67
+ const q = (t) => /* @__PURE__ */ C(t);
68
+ async function H({
56
69
  editor: t,
57
70
  plan: s,
58
71
  pluginName: n,
59
- licenseKey: a,
60
- onLicenseCheckResponse: r,
61
- cleanup: c
72
+ licenseKey: i,
73
+ onLicenseCheckResponse: a,
74
+ cleanup: l
62
75
  }) {
63
- let d = "", l = !1;
64
- const i = $(), u = (o) => {
65
- console.warn("Cleanup plugin:", n, "Reason:", o), c();
66
- }, e = (o = {}) => {
76
+ let d = "", r;
77
+ const c = (o) => {
78
+ console.warn("Cleanup plugin:", n, "Reason:", o), l();
79
+ }, b = (o = {}) => {
67
80
  var w;
68
- const { error: b, sdkLicense: x } = o, g = (w = o.plan) == null ? void 0 : w.category;
69
- if (!(x || o.license) || b)
70
- u(b || "Invalid license");
81
+ const { error: u, sdkLicense: x } = o, g = (w = o.plan) == null ? void 0 : w.category;
82
+ if (!(x || o.license) || u)
83
+ c(u || "Invalid license");
71
84
  else if (g) {
72
- const p = k[s], P = k[g];
73
- p > P && u({ pluginRequiredPlan: s, licensePlan: g });
85
+ const p = _[s], R = _[g];
86
+ p > R && c({ pluginRequiredPlan: s, licensePlan: g });
74
87
  }
75
88
  };
76
- t.on(B, (o) => {
77
- d = o == null ? void 0 : o.baseApiUrl, l = !0;
78
- }), t.on(U, (o) => {
79
- r == null || r(o), e(o);
80
- }), setTimeout(async () => {
81
- if (!l) {
82
- if (i) return;
83
- if (a) {
84
- const o = await H({ licenseKey: a, pluginName: n, baseApiUrl: d });
85
- r == null || r(o), o && e(o);
86
- } else
87
- u("The `licenseKey` option not provided");
88
- }
89
- }, 2e3);
89
+ t.Commands.has(y.settings) && (r = t.runCommand(y.settings), d = (r == null ? void 0 : r.baseUrl) || "");
90
+ const e = (o) => {
91
+ a == null || a(o), o && b(o);
92
+ };
93
+ if (!r) {
94
+ t.onReady(async () => {
95
+ if (!W())
96
+ if (i) {
97
+ const o = await z({ licenseKey: i, pluginName: n, baseApiUrl: d });
98
+ e(o);
99
+ } else
100
+ c("The `licenseKey` option not provided");
101
+ });
102
+ return;
103
+ }
104
+ if (r.licensePlan || r.licenseError) {
105
+ const o = K(r);
106
+ e(o);
107
+ return;
108
+ }
109
+ t.on(N, (o) => e(o));
90
110
  }
91
- async function H(t) {
92
- const { licenseKey: s, pluginName: n, baseApiUrl: a } = t;
111
+ const K = (t) => ({
112
+ sdkLicense: t.license,
113
+ license: t.license,
114
+ error: t.licenseError,
115
+ plan: t.licensePlan
116
+ });
117
+ async function z(t) {
118
+ const { licenseKey: s, pluginName: n, baseApiUrl: i } = t;
93
119
  try {
94
- return (await F({
95
- baseApiUrl: a,
120
+ return (await $({
121
+ baseApiUrl: i,
96
122
  path: `/sdk/${s || "na"}`,
97
123
  method: "POST",
98
124
  params: {
@@ -100,32 +126,32 @@ async function H(t) {
100
126
  pn: n
101
127
  }
102
128
  })).result || {};
103
- } catch (r) {
104
- return console.error("Error during SDK license check:", r), !1;
129
+ } catch (a) {
130
+ return console.error("Error during SDK license check:", a), !1;
105
131
  }
106
132
  }
107
- const C = (t, s, n) => {
108
- const { doc: a = document } = n, r = n.target || a.head, c = r.querySelector(`style[${t}]`) || a.createElement("style");
109
- c.setAttribute(t, "true"), c.innerHTML = s, !r.contains(c) && r.appendChild(c);
110
- }, z = (t) => t.dispatchEvent(new CustomEvent("input"));
111
- function V(t, s) {
133
+ const S = (t, s, n) => {
134
+ const { doc: i = document } = n, a = n.target || i.head, l = a.querySelector(`style[${t}]`) || i.createElement("style");
135
+ l.setAttribute(t, "true"), l.innerHTML = s, !a.contains(l) && a.appendChild(l);
136
+ }, V = (t) => t.dispatchEvent(new CustomEvent("input"));
137
+ function J(t, s) {
112
138
  if (!s) return () => {
113
139
  };
114
- const n = t.Components.events, a = (e) => t.getSelectedAll().includes(e), r = (e) => e.isInstanceOf("text") && !e.isChildOf("text"), c = (e) => e.isChildOf("text"), d = (e) => t.getEditing() === e, l = (e, o = {}) => {
140
+ const n = t.Components.events, i = (e) => t.getSelectedAll().includes(e), a = (e) => e.isInstanceOf("text") && !e.isChildOf("text"), l = (e) => e.isChildOf("text"), d = (e) => t.getEditing() === e, r = (e, o = {}) => {
115
141
  e.trigger("focus", o.event);
116
- }, i = (e, o) => {
117
- a(e) && r(e) && !d(e) && l(e, o);
118
- }, u = (e, o) => {
119
- if (a(e) && !r(e) && c(e)) {
120
- const b = e.parents().find((x) => x.isInstanceOf("text"));
121
- b && (l(b, o), setTimeout(() => t.select(b), 0));
142
+ }, c = (e, o) => {
143
+ i(e) && a(e) && !d(e) && r(e, o);
144
+ }, b = (e, o) => {
145
+ if (i(e) && !a(e) && l(e)) {
146
+ const u = e.parents().find((x) => x.isInstanceOf("text"));
147
+ u && (r(u, o), setTimeout(() => t.select(u), 0));
122
148
  }
123
149
  };
124
- return t.on(n.select, i), t.on(n.selectBefore, u), () => {
125
- t.off(n.select, i), t.off(n.selectBefore, u);
150
+ return t.on(n.select, c), t.on(n.selectBefore, b), () => {
151
+ t.off(n.select, c), t.off(n.selectBefore, b);
126
152
  };
127
153
  }
128
- const J = "rteTinyMce", X = v.startup, Y = `
154
+ const X = "rteTinyMce", Y = v.startup, Q = `
129
155
  .tox .tox-toolbar,
130
156
  .tox .tox-toolbar__overflow,
131
157
  .tox .tox-toolbar__primary,
@@ -228,38 +254,38 @@ const J = "rteTinyMce", X = v.startup, Y = `
228
254
  background-color: var(--gs-theme-cl-prm-bg1);
229
255
  border-color: var(--gs-theme-cl-prm-bg3);
230
256
  opacity: 0.75;
231
- }`, E = /* @__PURE__ */ new WeakMap(), Q = (t, s) => {
257
+ }`, E = /* @__PURE__ */ new WeakMap(), Z = (t, s) => {
232
258
  E.set(t, s);
233
- }, Z = (t) => {
259
+ }, tt = (t) => {
234
260
  E.delete(t);
235
- }, T = (t) => E.get(t), y = (t) => {
236
- const s = t.target, n = s.closest(".tox"), a = s.matches(".ephox-snooker-resizer-bar");
237
- (n || a) && t.stopPropagation();
261
+ }, T = (t) => E.get(t), m = (t) => {
262
+ const s = t.target, n = s.closest(".tox"), i = s.matches(".ephox-snooker-resizer-bar");
263
+ (n || i) && t.stopPropagation();
238
264
  }, D = (t) => {
239
265
  t.stopPropagation(), t.preventDefault();
240
- }, tt = (t, s) => {
241
- const n = t.getDoc(), a = t.getWin();
266
+ }, et = (t, s) => {
267
+ const n = t.getDoc(), i = t.getWin();
242
268
  if (s != null && s.event) {
243
- const { event: r } = s, { clientX: c, clientY: d } = r;
244
- let l;
269
+ const { event: a } = s, { clientX: l, clientY: d } = a;
270
+ let r;
245
271
  if (n.caretRangeFromPoint)
246
- l = n.caretRangeFromPoint(c, d);
272
+ r = n.caretRangeFromPoint(l, d);
247
273
  else if (n.caretPositionFromPoint) {
248
- const i = n.caretPositionFromPoint(c, d);
249
- l = n.createRange(), l == null || l.setStart(i.offsetNode, i.offset);
274
+ const c = n.caretPositionFromPoint(l, d);
275
+ r = n.createRange(), r == null || r.setStart(c.offsetNode, c.offset);
250
276
  }
251
- if (l) {
252
- const i = a.getSelection();
253
- i == null || i.removeAllRanges(), i == null || i.addRange(l), t.selection.setRng(l);
277
+ if (r) {
278
+ const c = i.getSelection();
279
+ c == null || c.removeAllRanges(), c == null || c.addRange(r), t.selection.setRng(r);
254
280
  }
255
281
  } else
256
282
  t.execCommand("SelectAll");
257
- }, et = (t) => {
258
- var u, e;
259
- const { el: s, editor: n, componentView: a } = t, r = n.runCommand(m.getStateTheme), c = a.model, d = {
283
+ }, ot = (t) => {
284
+ var b, e;
285
+ const { el: s, editor: n, componentView: i } = t, a = n.runCommand(y.getStateTheme), l = i.model, d = {
260
286
  target: s,
261
287
  inline: !0,
262
- skin: (r == null ? void 0 : r.theme) === I.dark ? "oxide-dark" : "oxide",
288
+ skin: (a == null ? void 0 : a.theme) === L.dark ? "oxide-dark" : "oxide",
263
289
  menubar: !1,
264
290
  image_advtab: !0,
265
291
  paste_data_images: !0,
@@ -273,31 +299,31 @@ const J = "rteTinyMce", X = v.startup, Y = `
273
299
  plugins: "advlist autolink lists link image media table",
274
300
  toolbar_mode: "sliding",
275
301
  toolbar: "bold italic underline strikethrough forecolor backcolor alignleft aligncenter alignright alignjustify link image | fontfamily fontsize bullist numlist outdent indent table"
276
- }, l = ((e = (u = t.pluginOpts) == null ? void 0 : u.loadConfig) == null ? void 0 : e.call(u, { config: d, editor: n, componentView: a, component: c })) || {};
302
+ }, r = ((e = (b = t.pluginOpts) == null ? void 0 : b.loadConfig) == null ? void 0 : e.call(b, { config: d, editor: n, componentView: i, component: l })) || {};
277
303
  return {
278
304
  ...d,
279
- ...l
305
+ ...r
280
306
  };
281
- }, A = (t, s = document) => new Promise((n, a) => {
282
- const r = Array.isArray(t) ? [...t] : [t], { head: c } = s, d = (l) => {
283
- if (l.length) {
284
- const i = s.createElement("script");
285
- i.src = l.shift(), i.onload = d.bind(null, l), i.onerror = a, c.appendChild(i);
307
+ }, A = (t, s = document) => new Promise((n, i) => {
308
+ const a = Array.isArray(t) ? [...t] : [t], { head: l } = s, d = (r) => {
309
+ if (r.length) {
310
+ const c = s.createElement("script");
311
+ c.src = r.shift(), c.onload = d.bind(null, r), c.onerror = i, l.appendChild(c);
286
312
  } else
287
313
  n();
288
314
  };
289
- d(r);
290
- }), ot = function(t, s = {}) {
315
+ d(a);
316
+ }), nt = function(t, s = {}) {
291
317
  const n = {
292
318
  cdnScript: "https://cdn.jsdelivr.net/npm/tinymce@6.8.5/tinymce.min.js",
293
319
  ...s
294
- }, { cdnScript: a } = n, r = t.Canvas.events, c = !n.skipCustomTheme, d = "gs-plg-tinymce-studio-theme", l = async (e, o) => {
295
- const b = e.ownerDocument, x = b.defaultView, g = o == null ? void 0 : o.view;
320
+ }, { cdnScript: i } = n, a = t.Canvas.events, l = !n.skipCustomTheme, d = "gs-plg-tinymce-studio-theme", r = async (e, o) => {
321
+ const u = e.ownerDocument, x = u.defaultView, g = o == null ? void 0 : o.view;
296
322
  if (!x || !g) {
297
323
  console.warn("Missing required data", { win: x, componentView: g });
298
324
  return;
299
325
  }
300
- const h = et({
326
+ const h = ot({
301
327
  el: e,
302
328
  editor: t,
303
329
  componentView: g,
@@ -308,51 +334,51 @@ const J = "rteTinyMce", X = v.startup, Y = `
308
334
  ...h,
309
335
  target: document.createElement("div")
310
336
  }))[0];
311
- return p.ui.show(), b.body.addEventListener("mousedown", y), document.body.addEventListener("mousedown", y), p.on("Change", () => z(e)), p.on("blur", () => p.ui.show()), p.on("OpenWindow", function() {
312
- var _;
313
- const f = (_ = b.querySelector(".tox-dialog")) == null ? void 0 : _.closest(".tox");
337
+ return p.ui.show(), u.body.addEventListener("mousedown", m), document.body.addEventListener("mousedown", m), p.on("Change", () => V(e)), p.on("blur", () => p.ui.show()), p.on("OpenWindow", function() {
338
+ var P;
339
+ const f = (P = u.querySelector(".tox-dialog")) == null ? void 0 : P.closest(".tox");
314
340
  f && (f == null ? void 0 : f.ownerDocument) !== document && (document.body.appendChild(f), p.once("CloseWindow", () => {
315
- f && f.ownerDocument === document && b.body.appendChild(f);
341
+ f && f.ownerDocument === document && u.body.appendChild(f);
316
342
  }));
317
- }), e.addEventListener("dragstart", D, { capture: !0 }), t.runCommand(m.setStateContextMenu, { enabled: !1 }), tt(p, o), { rteEditor: p, rteEditorShallow: G };
318
- }, i = (e, o) => {
319
- e.ownerDocument.body.removeEventListener("mousedown", y), document.body.removeEventListener("mousedown", y), e.removeEventListener("dragstart", D, { capture: !0 }), t.runCommand(m.setStateContextMenu, { enabled: !0 }), o.rteEditor.destroy(), o.rteEditorShallow.destroy();
343
+ }), e.addEventListener("dragstart", D, { capture: !0 }), t.runCommand(y.setStateContextMenu, { enabled: !1 }), et(p, o), { rteEditor: p, rteEditorShallow: G };
344
+ }, c = (e, o) => {
345
+ e.ownerDocument.body.removeEventListener("mousedown", m), document.body.removeEventListener("mousedown", m), e.removeEventListener("dragstart", D, { capture: !0 }), t.runCommand(y.setStateContextMenu, { enabled: !0 }), o.rteEditor.destroy(), o.rteEditorShallow.destroy();
320
346
  };
321
- t.on(r.frameLoad, async ({ window: e }) => {
347
+ t.on(a.frameLoad, async ({ window: e }) => {
322
348
  const o = e.document;
323
- A(a, o);
349
+ A(i, o);
324
350
  }), t.onReady(() => {
325
- A(a, document), c && C(d, Y, { target: document.body });
351
+ A(i, document), l && S(d, Q, { target: document.body });
326
352
  }), t.setCustomRte({
327
353
  parseContent: !0,
328
354
  // @ts-expect-error - Type 'CustomRteOptions' is missing the following properties from type 'CustomRteOptions': editor, component, el
329
- async enable(e, o, b) {
355
+ async enable(e, o, u) {
330
356
  const x = T(e);
331
357
  if (x) return x.rteEditor;
332
- const g = await l(e, b);
333
- return g && Q(e, g), g == null ? void 0 : g.rteEditor;
358
+ const g = await r(e, u);
359
+ return g && Z(e, g), g == null ? void 0 : g.rteEditor;
334
360
  },
335
361
  disable(e) {
336
362
  const o = T(e);
337
- o && (Z(e), i(e, o));
363
+ o && (tt(e), c(e, o));
338
364
  },
339
- getContent(e, o, b) {
365
+ getContent(e, o, u) {
340
366
  var h;
341
367
  const x = T(e), g = x == null ? void 0 : x.rteEditor;
342
- return g && !g.isDirty() ? b.view.lastContent : g ? (h = g.getContent) == null ? void 0 : h.call(g) : e.innerHTML;
368
+ return g && !g.isDirty() ? u.view.lastContent : g ? (h = g.getContent) == null ? void 0 : h.call(g) : e.innerHTML;
343
369
  }
344
370
  });
345
- const u = V(t, n.enableOnClick);
346
- q({
371
+ const b = J(t, n.enableOnClick);
372
+ H({
347
373
  editor: t,
348
374
  licenseKey: n.licenseKey,
349
- plan: X,
350
- pluginName: J,
375
+ plan: Y,
376
+ pluginName: X,
351
377
  cleanup: () => {
352
- t.RichTextEditor.customRte = void 0, u();
378
+ t.RichTextEditor.customRte = void 0, b();
353
379
  }
354
380
  });
355
- }, rt = S(ot);
381
+ }, at = q(nt);
356
382
  export {
357
- rt as default
383
+ at as default
358
384
  };
@@ -1,4 +1,4 @@
1
- (function(f,h){typeof exports=="object"&&typeof module<"u"?module.exports=h():typeof define=="function"&&define.amd?define(h):(f=typeof globalThis<"u"?globalThis:f||self,f.StudioSdkPlugins_rteTinyMce=h())})(this,function(){"use strict";var f=(t=>(t.free="free",t.startup="startup",t.business="business",t.enterprise="enterprise",t))(f||{}),h=(t=>(t.toastAdd="studio:toastAdd",t.toastRemove="studio:toastRemove",t.dialogOpen="studio:dialogOpen",t.dialogClose="studio:dialogClose",t.dialogExportCode="studio:dialogExportCode",t.dialogImportCode="studio:dialogImportCode",t.sidebarLeftSet="studio:sidebarLeft:set",t.sidebarLeftGet="studio:sidebarLeft:get",t.sidebarLeftToggle="studio:sidebarLeft:toggle",t.sidebarRightSet="studio:sidebarRight:set",t.sidebarRightGet="studio:sidebarRight:get",t.sidebarRightToggle="studio:sidebarRight:toggle",t.sidebarTopSet="studio:sidebarTop:set",t.sidebarTopGet="studio:sidebarTop:get",t.sidebarTopToggle="studio:sidebarTop:toggle",t.sidebarBottomSet="studio:sidebarBottom:set",t.sidebarBottomGet="studio:sidebarBottom:get",t.sidebarBottomToggle="studio:sidebarBottom:toggle",t.symbolAdd="studio:symbolAdd",t.symbolDetach="studio:symbolDetach",t.symbolOverride="studio:symbolOverride",t.symbolPropagateStyles="studio:propagateStyles",t.getPagesConfig="studio:getPagesConfig",t.setPagesConfig="studio:setPagesConfig",t.getPageSettings="studio:getPageSettings",t.setPageSettings="studio:setPageSettings",t.clearPage="studio:clearPage",t.projectFiles="studio:projectFiles",t.validateCode="studio:validateCode",t.canvasReload="studio:canvasReload",t.getBlocksPanel="studio:getBlocksPanel",t.setBlocksPanel="studio:setBlocksPanel",t.getStateContextMenu="studio:getStateContextMenu",t.setStateContextMenu="studio:setStateContextMenu",t.contextMenuComponent="studio:contextMenuComponent",t.layoutAdd="studio:layoutAdd",t.layoutRemove="studio:layoutRemove",t.layoutToggle="studio:layoutToggle",t.layoutUpdate="studio:layoutUpdate",t.layoutGet="studio:layoutGet",t.layoutConfigGet="studio:layoutConfigGet",t.layoutConfigSet="studio:layoutConfigSet",t.layoutComponentAdd="studio:layoutComponentAdd",t.layoutComponentGet="studio:layoutComponentGet",t.layoutComponentRemove="studio:layoutComponentRemove",t.layoutComponentRender="studio:layoutComponentRender",t.getStateTheme="studio:getStateTheme",t.setStateTheme="studio:setStateTheme",t.assetProviderGet="studio:assetProviderGet",t.assetProviderAdd="studio:assetProviderAdd",t.assetProviderRemove="studio:assetProviderRemove",t.fontGet="studio:fontGet",t.fontAdd="studio:fontAdd",t.fontRemove="studio:fontRemove",t.fontManagerOpen="studio:fontManagerOpen",t.menuFontLoad="studio:menuFontLoad",t.toggleStateDataSource="studio:toggleStateDataSource",t.getStateDataSource="studio:getStateDataSource",t.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",t.dataSourceSetImporter="studio:dataSourceSetImporter",t.dataSourceSetExporter="studio:dataSourceSetExporter",t.setDragAbsolute="studio:setDragAbsolute",t))(h||{}),P=(t=>(t.dark="dark",t.light="light",t.auto="auto",t))(P||{});const _="app.grapesjs.com",R="app-stage.grapesjs.com",k=[_,"app2.grapesjs.com",R,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],G="license:check:start",L="license:check:end",N=()=>typeof window<"u",B=({isDev:t,isStage:s,isPlatform:n})=>`${t?"":`https://${s?R:_}`}/${n?"platform-api":"api"}`,j=()=>{const t=N()&&window.location.hostname;return!!t&&(k.includes(t)||k.some(s=>t.endsWith(s)))};async function U({path:t,baseApiUrl:s,method:n="GET",headers:a={},params:r,body:c}){const l=`${s||B({isDev:!1,isStage:!1})}${t}`,i={method:n,headers:{"Content-Type":"application/json",...a}};c&&(i.body=JSON.stringify(c));const u=r?new URLSearchParams(r).toString():"",e=u?`?${u}`:"",o=await fetch(`${l}${e}`,i);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}const D={[f.free]:0,[f.startup]:10,[f.business]:20,[f.enterprise]:30};function W(t){const s=t;return s.init=n=>a=>t(a,n),s}const $=t=>W(t);async function F({editor:t,plan:s,pluginName:n,licenseKey:a,onLicenseCheckResponse:r,cleanup:c}){let d="",l=!1;const i=j(),u=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),c()},e=(o={})=>{var E;const{error:b,sdkLicense:x}=o,g=(E=o.plan)==null?void 0:E.category;if(!(x||o.license)||b)u(b||"Invalid license");else if(g){const p=D[s],O=D[g];p>O&&u({pluginRequiredPlan:s,licensePlan:g})}};t.on(G,o=>{d=o==null?void 0:o.baseApiUrl,l=!0}),t.on(L,o=>{r==null||r(o),e(o)}),setTimeout(async()=>{if(!l){if(i)return;if(a){const o=await S({licenseKey:a,pluginName:n,baseApiUrl:d});r==null||r(o),o&&e(o)}else u("The `licenseKey` option not provided")}},2e3)}async function S(t){const{licenseKey:s,pluginName:n,baseApiUrl:a}=t;try{return(await U({baseApiUrl:a,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(r){return console.error("Error during SDK license check:",r),!1}}const K=(t,s,n)=>{const{doc:a=document}=n,r=n.target||a.head,c=r.querySelector(`style[${t}]`)||a.createElement("style");c.setAttribute(t,"true"),c.innerHTML=s,!r.contains(c)&&r.appendChild(c)},q=t=>t.dispatchEvent(new CustomEvent("input"));function H(t,s){if(!s)return()=>{};const n=t.Components.events,a=e=>t.getSelectedAll().includes(e),r=e=>e.isInstanceOf("text")&&!e.isChildOf("text"),c=e=>e.isChildOf("text"),d=e=>t.getEditing()===e,l=(e,o={})=>{e.trigger("focus",o.event)},i=(e,o)=>{a(e)&&r(e)&&!d(e)&&l(e,o)},u=(e,o)=>{if(a(e)&&!r(e)&&c(e)){const b=e.parents().find(x=>x.isInstanceOf("text"));b&&(l(b,o),setTimeout(()=>t.select(b),0))}};return t.on(n.select,i),t.on(n.selectBefore,u),()=>{t.off(n.select,i),t.off(n.selectBefore,u)}}const C="rteTinyMce",z=f.startup,V=`
1
+ (function(f,h){typeof exports=="object"&&typeof module<"u"?module.exports=h():typeof define=="function"&&define.amd?define(h):(f=typeof globalThis<"u"?globalThis:f||self,f.StudioSdkPlugins_rteTinyMce=h())})(this,function(){"use strict";var f=(t=>(t.free="free",t.startup="startup",t.business="business",t.enterprise="enterprise",t))(f||{}),h=(t=>(t.toastAdd="studio:toastAdd",t.toastRemove="studio:toastRemove",t.dialogOpen="studio:dialogOpen",t.dialogClose="studio:dialogClose",t.dialogExportCode="studio:dialogExportCode",t.dialogImportCode="studio:dialogImportCode",t.sidebarLeftSet="studio:sidebarLeft:set",t.sidebarLeftGet="studio:sidebarLeft:get",t.sidebarLeftToggle="studio:sidebarLeft:toggle",t.sidebarRightSet="studio:sidebarRight:set",t.sidebarRightGet="studio:sidebarRight:get",t.sidebarRightToggle="studio:sidebarRight:toggle",t.sidebarTopSet="studio:sidebarTop:set",t.sidebarTopGet="studio:sidebarTop:get",t.sidebarTopToggle="studio:sidebarTop:toggle",t.sidebarBottomSet="studio:sidebarBottom:set",t.sidebarBottomGet="studio:sidebarBottom:get",t.sidebarBottomToggle="studio:sidebarBottom:toggle",t.symbolAdd="studio:symbolAdd",t.symbolDetach="studio:symbolDetach",t.symbolOverride="studio:symbolOverride",t.symbolPropagateStyles="studio:propagateStyles",t.getPagesConfig="studio:getPagesConfig",t.setPagesConfig="studio:setPagesConfig",t.getPageSettings="studio:getPageSettings",t.setPageSettings="studio:setPageSettings",t.clearPage="studio:clearPage",t.projectFiles="studio:projectFiles",t.validateCode="studio:validateCode",t.canvasReload="studio:canvasReload",t.getBlocksPanel="studio:getBlocksPanel",t.setBlocksPanel="studio:setBlocksPanel",t.getStateContextMenu="studio:getStateContextMenu",t.setStateContextMenu="studio:setStateContextMenu",t.contextMenuComponent="studio:contextMenuComponent",t.layoutAdd="studio:layoutAdd",t.layoutRemove="studio:layoutRemove",t.layoutToggle="studio:layoutToggle",t.layoutUpdate="studio:layoutUpdate",t.layoutGet="studio:layoutGet",t.layoutConfigGet="studio:layoutConfigGet",t.layoutConfigSet="studio:layoutConfigSet",t.layoutComponentAdd="studio:layoutComponentAdd",t.layoutComponentGet="studio:layoutComponentGet",t.layoutComponentRemove="studio:layoutComponentRemove",t.layoutComponentRender="studio:layoutComponentRender",t.getStateTheme="studio:getStateTheme",t.setStateTheme="studio:setStateTheme",t.settings="studio:settings",t.assetProviderGet="studio:assetProviderGet",t.assetProviderAdd="studio:assetProviderAdd",t.assetProviderRemove="studio:assetProviderRemove",t.fontGet="studio:fontGet",t.fontAdd="studio:fontAdd",t.fontRemove="studio:fontRemove",t.fontManagerOpen="studio:fontManagerOpen",t.menuFontLoad="studio:menuFontLoad",t.toggleStateDataSource="studio:toggleStateDataSource",t.getStateDataSource="studio:getStateDataSource",t.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",t.dataSourceSetImporter="studio:dataSourceSetImporter",t.dataSourceSetExporter="studio:dataSourceSetExporter",t.setDragAbsolute="studio:setDragAbsolute",t))(h||{}),R=(t=>(t.dark="dark",t.light="light",t.auto="auto",t))(R||{});const P="app.grapesjs.com",_="app-stage.grapesjs.com",k=[P,"app2.grapesjs.com",_,"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"],M="license:check:end",G=()=>typeof window<"u",N=({isDev:t,isStage:s,isPlatform:n})=>`${t?"":`https://${s?_:P}`}/${n?"platform-api":"api"}`,B=()=>{if(!G())return"";const{hostname:t}=window.location;if(t)return t;try{return window.parent.location.hostname||""}catch{return""}},j=()=>{const t=B();return!!t&&(k.includes(t)||k.some(s=>t.endsWith(s)))};async function U({path:t,baseApiUrl:s,method:n="GET",headers:a={},params:i,body:l}){const r=`${s||N({isDev:!1,isStage:!1})}${t}`,c={method:n,headers:{"Content-Type":"application/json",...a}};l&&(c.body=JSON.stringify(l));const b=i?new URLSearchParams(i).toString():"",e=b?`?${b}`:"",o=await fetch(`${r}${e}`,c);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}const D={[f.free]:0,[f.startup]:10,[f.business]:20,[f.enterprise]:30};function F(t){const s=t;return s.init=n=>a=>t(a,n),s}const W=t=>F(t);async function $({editor:t,plan:s,pluginName:n,licenseKey:a,onLicenseCheckResponse:i,cleanup:l}){let d="",r;const c=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),l()},b=(o={})=>{var E;const{error:u,sdkLicense:p}=o,g=(E=o.plan)==null?void 0:E.category;if(!(p||o.license)||u)c(u||"Invalid license");else if(g){const x=D[s],I=D[g];x>I&&c({pluginRequiredPlan:s,licensePlan:g})}};t.Commands.has(h.settings)&&(r=t.runCommand(h.settings),d=(r==null?void 0:r.baseUrl)||"");const e=o=>{i==null||i(o),o&&b(o)};if(!r){t.onReady(async()=>{if(!j())if(a){const o=await q({licenseKey:a,pluginName:n,baseApiUrl:d});e(o)}else c("The `licenseKey` option not provided")});return}if(r.licensePlan||r.licenseError){const o=C(r);e(o);return}t.on(M,o=>e(o))}const C=t=>({sdkLicense:t.license,license:t.license,error:t.licenseError,plan:t.licensePlan});async function q(t){const{licenseKey:s,pluginName:n,baseApiUrl:a}=t;try{return(await U({baseApiUrl:a,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 H=(t,s,n)=>{const{doc:a=document}=n,i=n.target||a.head,l=i.querySelector(`style[${t}]`)||a.createElement("style");l.setAttribute(t,"true"),l.innerHTML=s,!i.contains(l)&&i.appendChild(l)},K=t=>t.dispatchEvent(new CustomEvent("input"));function S(t,s){if(!s)return()=>{};const n=t.Components.events,a=e=>t.getSelectedAll().includes(e),i=e=>e.isInstanceOf("text")&&!e.isChildOf("text"),l=e=>e.isChildOf("text"),d=e=>t.getEditing()===e,r=(e,o={})=>{e.trigger("focus",o.event)},c=(e,o)=>{a(e)&&i(e)&&!d(e)&&r(e,o)},b=(e,o)=>{if(a(e)&&!i(e)&&l(e)){const u=e.parents().find(p=>p.isInstanceOf("text"));u&&(r(u,o),setTimeout(()=>t.select(u),0))}};return t.on(n.select,c),t.on(n.selectBefore,b),()=>{t.off(n.select,c),t.off(n.selectBefore,b)}}const z="rteTinyMce",V=f.startup,J=`
2
2
  .tox .tox-toolbar,
3
3
  .tox .tox-toolbar__overflow,
4
4
  .tox .tox-toolbar__primary,
@@ -101,4 +101,4 @@
101
101
  background-color: var(--gs-theme-cl-prm-bg1);
102
102
  border-color: var(--gs-theme-cl-prm-bg3);
103
103
  opacity: 0.75;
104
- }`,w=new WeakMap,J=(t,s)=>{w.set(t,s)},X=t=>{w.delete(t)},T=t=>w.get(t),m=t=>{const s=t.target,n=s.closest(".tox"),a=s.matches(".ephox-snooker-resizer-bar");(n||a)&&t.stopPropagation()},A=t=>{t.stopPropagation(),t.preventDefault()},Y=(t,s)=>{const n=t.getDoc(),a=t.getWin();if(s!=null&&s.event){const{event:r}=s,{clientX:c,clientY:d}=r;let l;if(n.caretRangeFromPoint)l=n.caretRangeFromPoint(c,d);else if(n.caretPositionFromPoint){const i=n.caretPositionFromPoint(c,d);l=n.createRange(),l==null||l.setStart(i.offsetNode,i.offset)}if(l){const i=a.getSelection();i==null||i.removeAllRanges(),i==null||i.addRange(l),t.selection.setRng(l)}}else t.execCommand("SelectAll")},Q=t=>{var u,e;const{el:s,editor:n,componentView:a}=t,r=n.runCommand(h.getStateTheme),c=a.model,d={target:s,inline:!0,skin:(r==null?void 0:r.theme)===P.dark?"oxide-dark":"oxide",menubar:!1,image_advtab:!0,paste_data_images:!0,statusbar:!1,branding:!1,forced_root_block:"div",plugins:"advlist autolink lists link image media table",toolbar_mode:"sliding",toolbar:"bold italic underline strikethrough forecolor backcolor alignleft aligncenter alignright alignjustify link image | fontfamily fontsize bullist numlist outdent indent table"},l=((e=(u=t.pluginOpts)==null?void 0:u.loadConfig)==null?void 0:e.call(u,{config:d,editor:n,componentView:a,component:c}))||{};return{...d,...l}},I=(t,s=document)=>new Promise((n,a)=>{const r=Array.isArray(t)?[...t]:[t],{head:c}=s,d=l=>{if(l.length){const i=s.createElement("script");i.src=l.shift(),i.onload=d.bind(null,l),i.onerror=a,c.appendChild(i)}else n()};d(r)});return $(function(t,s={}){const n={cdnScript:"https://cdn.jsdelivr.net/npm/tinymce@6.8.5/tinymce.min.js",...s},{cdnScript:a}=n,r=t.Canvas.events,c=!n.skipCustomTheme,d="gs-plg-tinymce-studio-theme",l=async(e,o)=>{const b=e.ownerDocument,x=b.defaultView,g=o==null?void 0:o.view;if(!x||!g){console.warn("Missing required data",{win:x,componentView:g});return}const y=Q({el:e,editor:t,componentView:g,pluginOpts:n}),p=(await x.tinymce.init(y))[0];if(!p)return;const Z=(await window.tinymce.init({...y,target:document.createElement("div")}))[0];return p.ui.show(),b.body.addEventListener("mousedown",m),document.body.addEventListener("mousedown",m),p.on("Change",()=>q(e)),p.on("blur",()=>p.ui.show()),p.on("OpenWindow",function(){var M;const v=(M=b.querySelector(".tox-dialog"))==null?void 0:M.closest(".tox");v&&(v==null?void 0:v.ownerDocument)!==document&&(document.body.appendChild(v),p.once("CloseWindow",()=>{v&&v.ownerDocument===document&&b.body.appendChild(v)}))}),e.addEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!1}),Y(p,o),{rteEditor:p,rteEditorShallow:Z}},i=(e,o)=>{e.ownerDocument.body.removeEventListener("mousedown",m),document.body.removeEventListener("mousedown",m),e.removeEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!0}),o.rteEditor.destroy(),o.rteEditorShallow.destroy()};t.on(r.frameLoad,async({window:e})=>{const o=e.document;I(a,o)}),t.onReady(()=>{I(a,document),c&&K(d,V,{target:document.body})}),t.setCustomRte({parseContent:!0,async enable(e,o,b){const x=T(e);if(x)return x.rteEditor;const g=await l(e,b);return g&&J(e,g),g==null?void 0:g.rteEditor},disable(e){const o=T(e);o&&(X(e),i(e,o))},getContent(e,o,b){var y;const x=T(e),g=x==null?void 0:x.rteEditor;return g&&!g.isDirty()?b.view.lastContent:g?(y=g.getContent)==null?void 0:y.call(g):e.innerHTML}});const u=H(t,n.enableOnClick);F({editor:t,licenseKey:n.licenseKey,plan:z,pluginName:C,cleanup:()=>{t.RichTextEditor.customRte=void 0,u()}})})});
104
+ }`,w=new WeakMap,X=(t,s)=>{w.set(t,s)},Y=t=>{w.delete(t)},T=t=>w.get(t),m=t=>{const s=t.target,n=s.closest(".tox"),a=s.matches(".ephox-snooker-resizer-bar");(n||a)&&t.stopPropagation()},A=t=>{t.stopPropagation(),t.preventDefault()},Q=(t,s)=>{const n=t.getDoc(),a=t.getWin();if(s!=null&&s.event){const{event:i}=s,{clientX:l,clientY:d}=i;let r;if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(l,d);else if(n.caretPositionFromPoint){const c=n.caretPositionFromPoint(l,d);r=n.createRange(),r==null||r.setStart(c.offsetNode,c.offset)}if(r){const c=a.getSelection();c==null||c.removeAllRanges(),c==null||c.addRange(r),t.selection.setRng(r)}}else t.execCommand("SelectAll")},Z=t=>{var b,e;const{el:s,editor:n,componentView:a}=t,i=n.runCommand(h.getStateTheme),l=a.model,d={target:s,inline:!0,skin:(i==null?void 0:i.theme)===R.dark?"oxide-dark":"oxide",menubar:!1,image_advtab:!0,paste_data_images:!0,statusbar:!1,branding:!1,forced_root_block:"div",plugins:"advlist autolink lists link image media table",toolbar_mode:"sliding",toolbar:"bold italic underline strikethrough forecolor backcolor alignleft aligncenter alignright alignjustify link image | fontfamily fontsize bullist numlist outdent indent table"},r=((e=(b=t.pluginOpts)==null?void 0:b.loadConfig)==null?void 0:e.call(b,{config:d,editor:n,componentView:a,component:l}))||{};return{...d,...r}},O=(t,s=document)=>new Promise((n,a)=>{const i=Array.isArray(t)?[...t]:[t],{head:l}=s,d=r=>{if(r.length){const c=s.createElement("script");c.src=r.shift(),c.onload=d.bind(null,r),c.onerror=a,l.appendChild(c)}else n()};d(i)});return W(function(t,s={}){const n={cdnScript:"https://cdn.jsdelivr.net/npm/tinymce@6.8.5/tinymce.min.js",...s},{cdnScript:a}=n,i=t.Canvas.events,l=!n.skipCustomTheme,d="gs-plg-tinymce-studio-theme",r=async(e,o)=>{const u=e.ownerDocument,p=u.defaultView,g=o==null?void 0:o.view;if(!p||!g){console.warn("Missing required data",{win:p,componentView:g});return}const y=Z({el:e,editor:t,componentView:g,pluginOpts:n}),x=(await p.tinymce.init(y))[0];if(!x)return;const tt=(await window.tinymce.init({...y,target:document.createElement("div")}))[0];return x.ui.show(),u.body.addEventListener("mousedown",m),document.body.addEventListener("mousedown",m),x.on("Change",()=>K(e)),x.on("blur",()=>x.ui.show()),x.on("OpenWindow",function(){var L;const v=(L=u.querySelector(".tox-dialog"))==null?void 0:L.closest(".tox");v&&(v==null?void 0:v.ownerDocument)!==document&&(document.body.appendChild(v),x.once("CloseWindow",()=>{v&&v.ownerDocument===document&&u.body.appendChild(v)}))}),e.addEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!1}),Q(x,o),{rteEditor:x,rteEditorShallow:tt}},c=(e,o)=>{e.ownerDocument.body.removeEventListener("mousedown",m),document.body.removeEventListener("mousedown",m),e.removeEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!0}),o.rteEditor.destroy(),o.rteEditorShallow.destroy()};t.on(i.frameLoad,async({window:e})=>{const o=e.document;O(a,o)}),t.onReady(()=>{O(a,document),l&&H(d,J,{target:document.body})}),t.setCustomRte({parseContent:!0,async enable(e,o,u){const p=T(e);if(p)return p.rteEditor;const g=await r(e,u);return g&&X(e,g),g==null?void 0:g.rteEditor},disable(e){const o=T(e);o&&(Y(e),c(e,o))},getContent(e,o,u){var y;const p=T(e),g=p==null?void 0:p.rteEditor;return g&&!g.isDirty()?u.view.lastContent:g?(y=g.getContent)==null?void 0:y.call(g):e.innerHTML}});const b=S(t,n.enableOnClick);$({editor:t,licenseKey:n.licenseKey,plan:V,pluginName:z,cleanup:()=>{t.RichTextEditor.customRte=void 0,b()}})})});
@@ -1,4 +1,4 @@
1
- "use strict";const H="app.grapesjs.com",T="app-stage.grapesjs.com",R="app2.grapesjs.com",L="app-stage2.grapesjs.com",z=[H,R,T,L,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],E="license:check:start",I="license:check:end",P=()=>typeof window<"u",N=({isDev:e,isStage:i,isPlatform:l})=>`${e?"":`https://${i?T:H}`}/${l?"platform-api":"api"}`,k=()=>{const e=P()&&window.location.hostname;return!!e&&(z.includes(e)||z.some(i=>e.endsWith(i)))};async function D({path:e,baseApiUrl:i,method:l="GET",headers:c={},params:n,body:o}){const v=`${i||N({isDev:!1,isStage:!1})}${e}`,t={method:l,headers:{"Content-Type":"application/json",...c}};o&&(t.body=JSON.stringify(o));const r=n?new URLSearchParams(n).toString():"",g=r?`?${r}`:"",s=await fetch(`${v}${g}`,t);if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s.json()}var w=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(w||{});const C={[w.free]:0,[w.startup]:10,[w.business]:20,[w.enterprise]:30};function W(e){const i=e;return i.init=l=>c=>e(c,l),i}const _=e=>W(e);async function U({editor:e,plan:i,pluginName:l,licenseKey:c,onLicenseCheckResponse:n,cleanup:o}){let p="",v=!1;const t=k(),r=s=>{console.warn("Cleanup plugin:",l,"Reason:",s),o()},g=(s={})=>{var y;const{error:m,sdkLicense:b}=s,u=(y=s.plan)==null?void 0:y.category;if(!(b||s.license)||m)r(m||"Invalid license");else if(u){const M=C[i],V=C[u];M>V&&r({pluginRequiredPlan:i,licensePlan:u})}};e.on(E,s=>{p=s==null?void 0:s.baseApiUrl,v=!0}),e.on(I,s=>{n==null||n(s),g(s)}),setTimeout(async()=>{if(!v){if(t)return;if(c){const s=await F({licenseKey:c,pluginName:l,baseApiUrl:p});n==null||n(s),s&&g(s)}else r("The `licenseKey` option not provided")}},2e3)}async function F(e){const{licenseKey:i,pluginName:l,baseApiUrl:c}=e;try{return(await D({baseApiUrl:c,path:`/sdk/${i||"na"}`,method:"POST",params:{d:window.location.hostname,pn:l}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const O=(e,i)=>{var l;return!!((l=e==null?void 0:e.classList)!=null&&l.contains(i))},x=e=>i=>{var l;return((l=i.getAttribute)==null?void 0:l.call(i,$))===e},B="gjs-plg-",$="data-type-role",Y="shapeDividerComponent",K=w.startup,j=function(e,i={}){const{Components:l,Blocks:c,Selectors:n}=e,o="shape-divider",p=`${o}-cnt`,v=`${B}${o}`,t=`${B}${p}`,r=[{id:"tilt",label:"Tilt",value:`<svg preserveAspectRatio="none" viewBox="0 0 240 24">
1
+ "use strict";const L="app.grapesjs.com",H="app-stage.grapesjs.com",k="app2.grapesjs.com",G="app-stage2.grapesjs.com",z=[L,k,H,G,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io",".claudemcpcontent.com",".web-sandbox.oaiusercontent.com"],E="license:check:end",I=()=>typeof window<"u",O=({isDev:e,isStage:a,isPlatform:i})=>`${e?"":`https://${a?H:L}`}/${i?"platform-api":"api"}`,F=()=>{if(!I())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},N=()=>{const e=F();return!!e&&(z.includes(e)||z.some(a=>e.endsWith(a)))};async function U({path:e,baseApiUrl:a,method:i="GET",headers:c={},params:n,body:r}){const o=`${a||O({isDev:!1,isStage:!1})}${e}`,t={method:i,headers:{"Content-Type":"application/json",...c}};r&&(t.body=JSON.stringify(r));const g=n?new URLSearchParams(n).toString():"",h=g?`?${g}`:"",l=await fetch(`${o}${h}`,t);if(!l.ok)throw new Error(`HTTP error! status: ${l.status}`);return l.json()}var y=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(y||{}),V=(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))(V||{});const T={[y.free]:0,[y.startup]:10,[y.business]:20,[y.enterprise]:30};function C(e){const a=e;return a.init=i=>c=>e(c,i),a}const W=e=>C(e);async function _({editor:e,plan:a,pluginName:i,licenseKey:c,onLicenseCheckResponse:n,cleanup:r}){let p="",o;const t=l=>{console.warn("Cleanup plugin:",i,"Reason:",l),r()},g=(l={})=>{var w;const{error:A,sdkLicense:b}=l,u=(w=l.plan)==null?void 0:w.category;if(!(b||l.license)||A)t(A||"Invalid license");else if(u){const R=T[a],x=T[u];R>x&&t({pluginRequiredPlan:a,licensePlan:u})}};e.Commands.has(V.settings)&&(o=e.runCommand(V.settings),p=(o==null?void 0:o.baseUrl)||"");const h=l=>{n==null||n(l),l&&g(l)};if(!o){e.onReady(async()=>{if(!N())if(c){const l=await Y({licenseKey:c,pluginName:i,baseApiUrl:p});h(l)}else t("The `licenseKey` option not provided")});return}if(o.licensePlan||o.licenseError){const l=j(o);h(l);return}e.on(E,l=>h(l))}const j=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function Y(e){const{licenseKey:a,pluginName:i,baseApiUrl:c}=e;try{return(await U({baseApiUrl:c,path:`/sdk/${a||"na"}`,method:"POST",params:{d:window.location.hostname,pn:i}})).result||{}}catch(n){return console.error("Error during SDK license check:",n),!1}}const K=(e,a)=>{var i;return!!((i=e==null?void 0:e.classList)!=null&&i.contains(a))},P=e=>a=>{var i;return((i=a.getAttribute)==null?void 0:i.call(a,$))===e},B="gjs-plg-",$="data-type-role",X="shapeDividerComponent",Z=y.startup,q=function(e,a={}){const{Components:i,Blocks:c,Selectors:n}=e,r="shape-divider",p=`${r}-cnt`,o=`${B}${r}`,t=`${B}${p}`,g=[{id:"tilt",label:"Tilt",value:`<svg preserveAspectRatio="none" viewBox="0 0 240 24">
2
2
  <path d="M240 24V0L0 24h240z"/>
3
3
  </svg>`},{id:"tilt-split",label:"Tilt split",value:`<svg preserveAspectRatio="none" viewBox="0 0 240 24">
4
4
  <path fill-opacity=".3" d="M240 24V0L0 24h240z"/>
@@ -58,9 +58,9 @@
58
58
  <path fill-opacity=".3" d="M0 0v18C21.5 7 49.6 2.2 64.8 6.4 82 11.2 75.4 25.2 91.7 23.9c14.2-1.1 25.8-12.3 40-12.3 10.4 0 7.8 6 18.8 6.9 11.5.8 21.6-5 37.2-9 19.9-5 42.1-5.3 52.3 0V0H0z"/>
59
59
  </svg>`},{id:"zigzag",label:"Zigzag",value:`<svg class="${t}-inv" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1000 38">
60
60
  <path d="M75 38l25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25 25 25 25-25V.0H0V13l25 25 25-25z"/>
61
- </svg>`}],g={tl:!1,tc:!1,tr:!1,cl:!1,cr:!1,bl:!1,bc:!1,br:!1},s={...g,bc:!0},m={...g,tc:!0},b="shape",u="flip-y",A="flip-x",y="Shape Divider",M=`<svg viewBox="0 0 22 22">
61
+ </svg>`}],h={tl:!1,tc:!1,tr:!1,cl:!1,cr:!1,bl:!1,bc:!1,br:!1},l={...h,bc:!0},A={...h,tc:!0},b="shape",u="flip-y",M="flip-x",w="Shape Divider",R=`<svg viewBox="0 0 22 22">
62
62
  <path fill="currentColor" d="M2 2v18h18V2H2zm0-2h18a2 2 0 012 2v18a2 2 0 01-2 2H2a2 2 0 01-2-2V2C0 .9.9 0 2 0zM1 13L2 0h18l1 9-20 4z"/>
63
- </svg>`,{block:V={}}=i;e.on(n.events.add,a=>{a.getFullName().startsWith(`.${v}`)&&a.set({private:!0})}),l.addType(o,{isComponent:a=>x(o)(a)||O(a,v),block:V&&{label:y,media:M,category:"Extra",select:!0,...V},model:{defaults:{droppable:!1,highlightable:!1,classes:v,attributes:{[$]:o},components:{type:p},styles:`.${v} { position: relative; }`,delegate:{select:a=>a.findFirstType(p),layer:a=>a.findFirstType(p)}}},view:{onRender(){this.el.style.height="1px"}}}),l.addType(p,{isComponent:x(p),model:{defaults:{droppable:!1,highlightable:!1,classes:t,emptyState:!0,icon:M,name:y,delegate:{remove:a=>a.parent(),move:a=>a.parent(),copy:a=>a.parent()},attributes:{[$]:p},[b]:r[0].id,resizable:s,stylable:["height","width","color"],styles:`
63
+ </svg>`,{block:x={}}=a;e.on(n.events.add,s=>{s.getFullName().startsWith(`.${o}`)&&s.set({private:!0})}),i.addType(r,{isComponent:s=>P(r)(s)||K(s,o),block:x&&{label:w,media:R,category:"Extra",select:!0,...x},model:{defaults:{droppable:!1,highlightable:!1,classes:o,attributes:{[$]:r},components:{type:p},styles:`.${o} { position: relative; }`,delegate:{select:s=>s.findFirstType(p),layer:s=>s.findFirstType(p)}}},view:{onRender(){this.el.style.height="1px"}}}),i.addType(p,{isComponent:P(p),model:{defaults:{droppable:!1,highlightable:!1,classes:t,emptyState:!0,icon:R,name:w,delegate:{remove:s=>s.parent(),move:s=>s.parent(),copy:s=>s.parent()},attributes:{[$]:p},[b]:g[0].id,resizable:l,stylable:["height","width","color"],styles:`
64
64
  .${t} {
65
65
  position: absolute;
66
66
  width: 100%;
@@ -94,4 +94,4 @@
94
94
  .${t}-inv > path {
95
95
  transform: scale(-1, -1) translate(-100%, -100%);
96
96
  }
97
- `,traits:[{type:"select",name:b,label:"Shape",changeProp:!0,options:r.map(({id:a,label:d,value:h})=>({id:a,label:d,icon:{icon:h.replace("<svg ",'<svg style="width: 35px; height: 7px; fill: currentColor;"')}}))},{type:"checkbox",name:u,label:"Flip vertically",changeProp:!0},{type:"checkbox",name:A,label:"flip horizontally",changeProp:!0}]},init(){this.on(`change:${b}`,this.onShapeChange),this.on(`change:${A} change:${u}`,this.onFlip),this.onShapeChange()},onShapeChange(){const a=this.get(b),d=r.find(f=>f.id===a),h=(d==null?void 0:d.value)||this.getInnerHTML().trim();this.components(""),h&&this.set("content",h)},onFlip(){const a=this.get(u),d=this.get(A),h=["fl-v","fl-h","fl-v-h"].map(S=>`${t}--${S}`);let f;a&&d?f=h[2]:d?f=h[1]:a&&(f=h[0]),this.removeClass(h),f&&this.addClass(f),this.set("resizable",a?m:s)}}}),U({editor:e,licenseKey:i.licenseKey,plan:K,pluginName:Y,cleanup:()=>{l.removeType(o),c.remove(o)}})},G=_(j);module.exports=G;
97
+ `,traits:[{type:"select",name:b,label:"Shape",changeProp:!0,options:g.map(({id:s,label:d,value:v})=>({id:s,label:d,icon:{icon:v.replace("<svg ",'<svg style="width: 35px; height: 7px; fill: currentColor;"')}}))},{type:"checkbox",name:u,label:"Flip vertically",changeProp:!0},{type:"checkbox",name:M,label:"flip horizontally",changeProp:!0}]},init(){this.on(`change:${b}`,this.onShapeChange),this.on(`change:${M} change:${u}`,this.onFlip),this.onShapeChange()},onShapeChange(){const s=this.get(b),d=g.find(f=>f.id===s),v=(d==null?void 0:d.value)||this.getInnerHTML().trim();this.components(""),v&&this.set("content",v)},onFlip(){const s=this.get(u),d=this.get(M),v=["fl-v","fl-h","fl-v-h"].map(D=>`${t}--${D}`);let f;s&&d?f=v[2]:d?f=v[1]:s&&(f=v[0]),this.removeClass(v),f&&this.addClass(f),this.set("resizable",s?A:l)}}}),_({editor:e,licenseKey:a.licenseKey,plan:Z,pluginName:X,cleanup:()=>{i.removeType(r),c.remove(r)}})},J=W(q);module.exports=J;