@grapesjs/studio-sdk-plugins 1.0.35 → 1.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/accordionComponent/index.cjs.js +7 -7
  2. package/dist/accordionComponent/index.es.js +175 -162
  3. package/dist/accordionComponent/index.umd.js +7 -7
  4. package/dist/aiChat/index.cjs.js +64 -64
  5. package/dist/aiChat/index.es.js +5785 -5757
  6. package/dist/aiChat/index.js +64 -64
  7. package/dist/aiChat/index.umd.js +63 -63
  8. package/dist/animationComponent/index.cjs.js +3 -3
  9. package/dist/animationComponent/index.es.js +204 -191
  10. package/dist/animationComponent/index.umd.js +3 -3
  11. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  12. package/dist/canvasAbsoluteMode/index.es.js +183 -170
  13. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  14. package/dist/canvasEmptyState/index.cjs.js +1 -1
  15. package/dist/canvasEmptyState/index.es.js +134 -121
  16. package/dist/canvasEmptyState/index.umd.js +1 -1
  17. package/dist/canvasFullSize/index.cjs.js +9 -9
  18. package/dist/canvasFullSize/index.es.js +165 -152
  19. package/dist/canvasFullSize/index.umd.js +9 -9
  20. package/dist/canvasGridMode/index.cjs.js +5 -5
  21. package/dist/canvasGridMode/index.es.js +245 -232
  22. package/dist/canvasGridMode/index.umd.js +4 -4
  23. package/dist/canvasScreenshot/index.cjs.js +1 -1
  24. package/dist/canvasScreenshot/index.es.js +155 -142
  25. package/dist/canvasScreenshot/index.umd.js +1 -1
  26. package/dist/dataSourceEjs/index.cjs.js +9 -9
  27. package/dist/dataSourceEjs/index.es.js +257 -244
  28. package/dist/dataSourceEjs/index.umd.js +9 -9
  29. package/dist/dataSourceHandlebars/index.cjs.js +8 -8
  30. package/dist/dataSourceHandlebars/index.es.js +216 -203
  31. package/dist/dataSourceHandlebars/index.umd.js +7 -7
  32. package/dist/dialogComponent/index.cjs.js +14 -14
  33. package/dist/dialogComponent/index.es.js +141 -128
  34. package/dist/dialogComponent/index.umd.js +14 -14
  35. package/dist/flexComponent/index.cjs.js +13 -13
  36. package/dist/flexComponent/index.es.js +484 -471
  37. package/dist/flexComponent/index.umd.js +13 -13
  38. package/dist/fsLightboxComponent/index.cjs.js +3 -3
  39. package/dist/fsLightboxComponent/index.es.js +173 -160
  40. package/dist/fsLightboxComponent/index.umd.js +3 -3
  41. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  42. package/dist/googleFontsAssetProvider/index.es.js +160 -147
  43. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  44. package/dist/iconifyComponent/index.cjs.js +2 -2
  45. package/dist/iconifyComponent/index.es.js +196 -183
  46. package/dist/iconifyComponent/index.umd.js +2 -2
  47. package/dist/index.cjs.js +25 -25
  48. package/dist/index.es.js +121 -108
  49. package/dist/index.umd.js +18 -18
  50. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  51. package/dist/layoutSidebarButtons/index.es.js +157 -144
  52. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  53. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  54. package/dist/lightGalleryComponent/index.es.js +245 -232
  55. package/dist/lightGalleryComponent/index.umd.js +1 -1
  56. package/dist/linkImageComponent/index.cjs.js +2 -2
  57. package/dist/linkImageComponent/index.es.js +106 -93
  58. package/dist/linkImageComponent/index.umd.js +2 -2
  59. package/dist/listPagesComponent/index.cjs.js +5 -5
  60. package/dist/listPagesComponent/index.es.js +157 -144
  61. package/dist/listPagesComponent/index.umd.js +5 -5
  62. package/dist/presetPrintable/index.cjs.js +3 -3
  63. package/dist/presetPrintable/index.es.js +181 -168
  64. package/dist/presetPrintable/index.umd.js +3 -3
  65. package/dist/prosemirror/index.cjs.js +7 -7
  66. package/dist/prosemirror/index.es.js +385 -372
  67. package/dist/prosemirror/index.umd.js +8 -8
  68. package/dist/rendererReact/index.cjs.js +1 -1
  69. package/dist/rendererReact/index.es.js +200 -187
  70. package/dist/rendererReact/index.js +1 -1
  71. package/dist/rendererReact/index.umd.js +1 -1
  72. package/dist/rteTinyMce/index.cjs.js +2 -2
  73. package/dist/rteTinyMce/index.es.js +118 -105
  74. package/dist/rteTinyMce/index.umd.js +2 -2
  75. package/dist/shapeDividerComponent/index.cjs.js +4 -4
  76. package/dist/shapeDividerComponent/index.es.js +129 -116
  77. package/dist/shapeDividerComponent/index.umd.js +4 -4
  78. package/dist/swiperComponent/index.cjs.js +9 -9
  79. package/dist/swiperComponent/index.es.js +203 -190
  80. package/dist/swiperComponent/index.umd.js +7 -7
  81. package/dist/tableComponent/index.cjs.js +1 -1
  82. package/dist/tableComponent/index.es.js +257 -244
  83. package/dist/tableComponent/index.umd.js +1 -1
  84. package/dist/types.d.ts +1 -1
  85. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  86. package/dist/youtubeAssetProvider/index.es.js +121 -108
  87. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  88. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
- const pt = "app.grapesjs.com", dt = "app-stage.grapesjs.com", St = "app2.grapesjs.com", yt = "app-stage2.grapesjs.com", st = [
2
- pt,
3
- St,
4
- dt,
5
- yt,
1
+ const ue = "app.grapesjs.com", de = "app-stage.grapesjs.com", Pe = "app2.grapesjs.com", me = "app-stage2.grapesjs.com", ae = [
2
+ ue,
3
+ Pe,
4
+ de,
5
+ me,
6
6
  "localhost",
7
7
  "127.0.0.1",
8
8
  ".local-credentialless.webcontainer.io",
@@ -11,343 +11,356 @@ const pt = "app.grapesjs.com", dt = "app-stage.grapesjs.com", St = "app2.grapesj
11
11
  // For stackblitz.com demos
12
12
  "-sandpack.codesandbox.io"
13
13
  // For Sandpack demos
14
- ], bt = "license:check:start", Pt = "license:check:end", zt = () => typeof window < "u", Ct = ({
15
- isDev: n,
16
- isStage: t,
17
- isPlatform: e
18
- }) => `${n ? "" : `https://${t ? dt : pt}`}/${e ? "platform-api" : "api"}`, xt = () => {
19
- const n = zt() && window.location.hostname;
20
- return !!n && (st.includes(n) || st.some((t) => n.endsWith(t)));
14
+ ], ze = "license:check:end", Se = () => typeof window < "u", xe = ({
15
+ isDev: t,
16
+ isStage: e,
17
+ isPlatform: s
18
+ }) => `${t ? "" : `https://${e ? de : ue}`}/${s ? "platform-api" : "api"}`, ve = () => {
19
+ const t = Se() && window.location.hostname;
20
+ return !!t && (ae.includes(t) || ae.some((e) => t.endsWith(e)));
21
21
  };
22
- function wt(n) {
23
- return typeof n == "function";
22
+ function Re(t) {
23
+ return typeof t == "function";
24
24
  }
25
- async function It({
26
- path: n,
27
- baseApiUrl: t,
28
- method: e = "GET",
29
- headers: s = {},
30
- params: i,
31
- body: a
25
+ async function we({
26
+ path: t,
27
+ baseApiUrl: e,
28
+ method: s = "GET",
29
+ headers: n = {},
30
+ params: a,
31
+ body: i
32
32
  }) {
33
- const c = `${t || Ct({ isDev: !1, isStage: !1 })}${n}`, p = {
34
- method: e,
33
+ const l = `${e || xe({ isDev: !1, isStage: !1 })}${t}`, p = {
34
+ method: s,
35
35
  headers: {
36
36
  "Content-Type": "application/json",
37
- ...s
37
+ ...n
38
38
  }
39
39
  };
40
- a && (p.body = JSON.stringify(a));
41
- const u = i ? new URLSearchParams(i).toString() : "", f = u ? `?${u}` : "", r = await fetch(`${c}${f}`, p);
40
+ i && (p.body = JSON.stringify(i));
41
+ const g = a ? new URLSearchParams(a).toString() : "", f = g ? `?${g}` : "", r = await fetch(`${l}${f}`, p);
42
42
  if (!r.ok)
43
43
  throw new Error(`HTTP error! status: ${r.status}`);
44
44
  return r.json();
45
45
  }
46
- var A = /* @__PURE__ */ ((n) => (n.free = "free", n.startup = "startup", n.business = "business", n.enterprise = "enterprise", n))(A || {}), ut = /* @__PURE__ */ ((n) => (n.web = "web", n.email = "email", n.document = "document", n.react = "react", n))(ut || {});
47
- const it = {
48
- [A.free]: 0,
49
- [A.startup]: 10,
50
- [A.business]: 20,
51
- [A.enterprise]: 30
46
+ var L = /* @__PURE__ */ ((t) => (t.free = "free", t.startup = "startup", t.business = "business", t.enterprise = "enterprise", t))(L || {}), W = /* @__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))(W || {}), ge = /* @__PURE__ */ ((t) => (t.web = "web", t.email = "email", t.document = "document", t.react = "react", t))(ge || {});
47
+ const ie = {
48
+ [L.free]: 0,
49
+ [L.startup]: 10,
50
+ [L.business]: 20,
51
+ [L.enterprise]: 30
52
52
  };
53
- function vt(n) {
54
- const t = n;
55
- return t.init = (e) => (s) => n(s, e), t;
53
+ function Ge(t) {
54
+ const e = t;
55
+ return e.init = (s) => (n) => t(n, s), e;
56
56
  }
57
- const Gt = (n) => /* @__PURE__ */ vt(n);
58
- async function Et({
59
- editor: n,
60
- plan: t,
61
- pluginName: e,
62
- licenseKey: s,
63
- onLicenseCheckResponse: i,
64
- cleanup: a
57
+ const Ce = (t) => /* @__PURE__ */ Ge(t);
58
+ async function Ie({
59
+ editor: t,
60
+ plan: e,
61
+ pluginName: s,
62
+ licenseKey: n,
63
+ onLicenseCheckResponse: a,
64
+ cleanup: i
65
65
  }) {
66
- let o = "", c = !1;
67
- const p = xt(), u = (r) => {
68
- console.warn("Cleanup plugin:", e, "Reason:", r), a();
69
- }, f = (r = {}) => {
70
- var x;
71
- const { error: g, sdkLicense: E } = r, S = (x = r.plan) == null ? void 0 : x.category;
72
- if (!(E || r.license) || g)
73
- u(g || "Invalid license");
74
- else if (S) {
75
- const v = it[t], b = it[S];
76
- v > b && u({ pluginRequiredPlan: t, licensePlan: S });
66
+ let o = "", l;
67
+ const p = (r) => {
68
+ console.warn("Cleanup plugin:", s, "Reason:", r), i();
69
+ }, g = (r = {}) => {
70
+ var v;
71
+ const { error: h, sdkLicense: I } = r, b = (v = r.plan) == null ? void 0 : v.category;
72
+ if (!(I || r.license) || h)
73
+ p(h || "Invalid license");
74
+ else if (b) {
75
+ const G = ie[e], m = ie[b];
76
+ G > m && p({ pluginRequiredPlan: e, licensePlan: b });
77
77
  }
78
78
  };
79
- n.on(bt, (r) => {
80
- o = r == null ? void 0 : r.baseApiUrl, c = !0;
81
- }), n.on(Pt, (r) => {
82
- i == null || i(r), f(r);
83
- }), setTimeout(async () => {
84
- if (!c) {
85
- if (p) return;
86
- if (s) {
87
- const r = await Rt({ licenseKey: s, pluginName: e, baseApiUrl: o });
88
- i == null || i(r), r && f(r);
89
- } else
90
- u("The `licenseKey` option not provided");
91
- }
92
- }, 2e3);
79
+ t.Commands.has(W.settings) && (l = t.runCommand(W.settings), o = (l == null ? void 0 : l.baseUrl) || "");
80
+ const f = (r) => {
81
+ a == null || a(r), r && g(r);
82
+ };
83
+ if (!l) {
84
+ t.onReady(async () => {
85
+ if (!ve())
86
+ if (n) {
87
+ const r = await Ee({ licenseKey: n, pluginName: s, baseApiUrl: o });
88
+ f(r);
89
+ } else
90
+ p("The `licenseKey` option not provided");
91
+ });
92
+ return;
93
+ }
94
+ if (l.licensePlan || l.licenseError) {
95
+ const r = Te(l);
96
+ f(r);
97
+ return;
98
+ }
99
+ t.on(ze, (r) => f(r));
93
100
  }
94
- async function Rt(n) {
95
- const { licenseKey: t, pluginName: e, baseApiUrl: s } = n;
101
+ const Te = (t) => ({
102
+ sdkLicense: t.license,
103
+ license: t.license,
104
+ error: t.licenseError,
105
+ plan: t.licensePlan
106
+ });
107
+ async function Ee(t) {
108
+ const { licenseKey: e, pluginName: s, baseApiUrl: n } = t;
96
109
  try {
97
- return (await It({
98
- baseApiUrl: s,
99
- path: `/sdk/${t || "na"}`,
110
+ return (await we({
111
+ baseApiUrl: n,
112
+ path: `/sdk/${e || "na"}`,
100
113
  method: "POST",
101
114
  params: {
102
115
  d: window.location.hostname,
103
- pn: e
116
+ pn: s
104
117
  }
105
118
  })).result || {};
106
- } catch (i) {
107
- return console.error("Error during SDK license check:", i), !1;
119
+ } catch (a) {
120
+ return console.error("Error during SDK license check:", a), !1;
108
121
  }
109
122
  }
110
- const ht = (n) => (t) => {
111
- var e;
112
- return ((e = t.getAttribute) == null ? void 0 : e.call(t, et)) === n;
113
- }, Tt = (...n) => (t) => n.some((e) => t.is(e)), $t = (...n) => (t, e) => n.some((s) => e.is(s)), gt = "gjs-plg-", et = "data-type-role", N = class N {
114
- constructor(t) {
115
- this.config = t;
116
- }
117
- getSize(t) {
118
- var e;
119
- return (e = this.config) != null && e.getSize ? this.config.getSize(t) : nt(t.componentColumn, N.CSS_FLEX_BASIS);
120
- }
121
- setSize(t) {
122
- var e;
123
- if ((e = this.config) != null && e.setSize)
124
- this.config.setSize(t);
123
+ const he = (t) => (e) => {
124
+ var s;
125
+ return ((s = e.getAttribute) == null ? void 0 : s.call(e, se)) === t;
126
+ }, Ae = (...t) => (e) => t.some((s) => e.is(s)), Le = (...t) => (e, s) => t.some((n) => s.is(n)), fe = "gjs-plg-", se = "data-type-role", D = class D {
127
+ constructor(e) {
128
+ this.config = e;
129
+ }
130
+ getSize(e) {
131
+ var s;
132
+ return (s = this.config) != null && s.getSize ? this.config.getSize(e) : ne(e.componentColumn, D.CSS_FLEX_BASIS);
133
+ }
134
+ setSize(e) {
135
+ var s;
136
+ if ((s = this.config) != null && s.setSize)
137
+ this.config.setSize(e);
125
138
  else {
126
- const { componentColumn: s, sizeValue: i, partial: a } = t;
127
- s.addStyle({ [N.CSS_FLEX_BASIS]: i }, { partial: a });
139
+ const { componentColumn: n, sizeValue: a, partial: i } = e;
140
+ n.addStyle({ [D.CSS_FLEX_BASIS]: a }, { partial: i });
128
141
  }
129
142
  }
130
143
  };
131
- N.CSS_FLEX_BASIS = "flex-basis";
132
- let W = N;
144
+ D.CSS_FLEX_BASIS = "flex-basis";
145
+ let K = D;
133
146
  const j = class j {
134
- constructor(t) {
135
- this.config = t;
147
+ constructor(e) {
148
+ this.config = e;
136
149
  }
137
150
  isGapSupported() {
138
151
  return !0;
139
152
  }
140
- getGap(t) {
141
- var e;
142
- return (e = this.config) != null && e.getGap ? this.config.getGap(t) : nt(t.componentRow, j.CSS_GAP);
153
+ getGap(e) {
154
+ var s;
155
+ return (s = this.config) != null && s.getGap ? this.config.getGap(e) : ne(e.componentRow, j.CSS_GAP);
143
156
  }
144
- setGap(t) {
145
- var e;
146
- if ((e = this.config) != null && e.setGap)
147
- this.config.setGap(t);
157
+ setGap(e) {
158
+ var s;
159
+ if ((s = this.config) != null && s.setGap)
160
+ this.config.setGap(e);
148
161
  else {
149
- const { componentRow: s, gapValue: i, partial: a } = t;
150
- s.addStyle({ [j.CSS_GAP]: i }, { partial: a });
162
+ const { componentRow: n, gapValue: a, partial: i } = e;
163
+ n.addStyle({ [j.CSS_GAP]: a }, { partial: i });
151
164
  }
152
165
  }
153
166
  };
154
167
  j.CSS_GAP = "gap";
155
- let K = j;
156
- const Y = class Y {
157
- constructor(t) {
158
- this.config = t;
159
- }
160
- getParentSize(t) {
161
- var a;
162
- if ((a = this.config) != null && a.getParentSize) return this.config.getParentSize(t);
163
- const { componentRow: e, isVertical: s } = t, i = e.getEl();
164
- return i ? s ? i.clientHeight : i.clientWidth : 0;
165
- }
166
- isLayoutVertical(t) {
167
- var s;
168
- if ((s = this.config) != null && s.isParentVertical) return this.config.isParentVertical(t);
169
- const e = nt(t.componentRow, Y.CSS_FLEX_DIRECTION, !0);
170
- return e === "column" || e === "column-reverse";
168
+ let J = j;
169
+ const U = class U {
170
+ constructor(e) {
171
+ this.config = e;
171
172
  }
172
- };
173
- Y.CSS_FLEX_DIRECTION = "flex-direction";
174
- let J = Y;
175
- const _ = class _ {
176
- constructor(t) {
177
- this.config = t;
173
+ getParentSize(e) {
174
+ var i;
175
+ if ((i = this.config) != null && i.getParentSize) return this.config.getParentSize(e);
176
+ const { componentRow: s, isVertical: n } = e, a = s.getEl();
177
+ return a ? n ? a.clientHeight : a.clientWidth : 0;
178
178
  }
179
- getSize(t) {
180
- var s;
181
- if ((s = this.config) != null && s.getSize) return this.config.getSize(t);
182
- const e = t.componentColumn;
183
- if (e.is(_.MJML_COLUMN_TYPE)) {
184
- const a = e.getAttributes().width;
185
- if (a && (a.includes("%") || !isNaN(parseFloat(a))))
186
- return parseFloat(a);
187
- const o = e.parent();
179
+ isLayoutVertical(e) {
180
+ var n;
181
+ if ((n = this.config) != null && n.isParentVertical) return this.config.isParentVertical(e);
182
+ const s = ne(e.componentRow, U.CSS_FLEX_DIRECTION, !0);
183
+ return s === "column" || s === "column-reverse";
184
+ }
185
+ };
186
+ U.CSS_FLEX_DIRECTION = "flex-direction";
187
+ let q = U;
188
+ const N = class N {
189
+ constructor(e) {
190
+ this.config = e;
191
+ }
192
+ getSize(e) {
193
+ var n;
194
+ if ((n = this.config) != null && n.getSize) return this.config.getSize(e);
195
+ const s = e.componentColumn;
196
+ if (s.is(N.MJML_COLUMN_TYPE)) {
197
+ const i = s.getAttributes().width;
198
+ if (i && (i.includes("%") || !isNaN(parseFloat(i))))
199
+ return parseFloat(i);
200
+ const o = s.parent();
188
201
  return 100 / (o ? o.components().length : 1);
189
202
  }
190
203
  return 0;
191
204
  }
192
- setSize(t) {
193
- var e;
194
- if ((e = this.config) != null && e.setSize)
195
- this.config.setSize(t);
205
+ setSize(e) {
206
+ var s;
207
+ if ((s = this.config) != null && s.setSize)
208
+ this.config.setSize(e);
196
209
  else {
197
- const { componentColumn: s, sizeValue: i, partial: a } = t;
198
- s.is(_.MJML_COLUMN_TYPE) && s.addAttributes({ width: `${parseFloat(i)}%` }, { partial: a });
210
+ const { componentColumn: n, sizeValue: a, partial: i } = e;
211
+ n.is(N.MJML_COLUMN_TYPE) && n.addAttributes({ width: `${parseFloat(a)}%` }, { partial: i });
199
212
  }
200
213
  }
201
214
  };
202
- _.MJML_COLUMN_TYPE = "mj-column";
203
- let q = _;
204
- const U = class U {
205
- constructor(t) {
206
- this.config = t;
215
+ N.MJML_COLUMN_TYPE = "mj-column";
216
+ let Z = N;
217
+ const X = class X {
218
+ constructor(e) {
219
+ this.config = e;
207
220
  }
208
221
  isGapSupported() {
209
222
  return !1;
210
223
  }
211
- getGap(t) {
212
- var s;
213
- if ((s = this.config) != null && s.getGap) return this.config.getGap(t);
214
- const { componentRow: e } = t;
215
- if (e.is(U.MJML_SECTION_TYPE)) {
216
- const i = e.getAttributes();
217
- if (i && i.padding)
218
- return parseInt(i.padding, 10) || 0;
224
+ getGap(e) {
225
+ var n;
226
+ if ((n = this.config) != null && n.getGap) return this.config.getGap(e);
227
+ const { componentRow: s } = e;
228
+ if (s.is(X.MJML_SECTION_TYPE)) {
229
+ const a = s.getAttributes();
230
+ if (a && a.padding)
231
+ return parseInt(a.padding, 10) || 0;
219
232
  }
220
233
  return 0;
221
234
  }
222
- setGap(t) {
223
- var e, s;
224
- (s = (e = this.config) == null ? void 0 : e.setGap) == null || s.call(e, t);
235
+ setGap(e) {
236
+ var s, n;
237
+ (n = (s = this.config) == null ? void 0 : s.setGap) == null || n.call(s, e);
225
238
  }
226
239
  };
227
- U.MJML_SECTION_TYPE = "mj-section";
228
- let Z = U;
229
- class At {
230
- constructor(t) {
231
- this.config = t;
240
+ X.MJML_SECTION_TYPE = "mj-section";
241
+ let Q = X;
242
+ class Me {
243
+ constructor(e) {
244
+ this.config = e;
232
245
  }
233
- getParentSize(t) {
246
+ getParentSize(e) {
234
247
  var o;
235
- if ((o = this.config) != null && o.getParentSize) return this.config.getParentSize(t);
236
- const { componentRow: e, isVertical: s } = t, i = e.getEl();
237
- if (!i) return 0;
238
- let a = i;
239
- if (i.tagName !== "TABLE") {
240
- const c = i.querySelectorAll("table");
241
- c.length && (a = c[0]);
248
+ if ((o = this.config) != null && o.getParentSize) return this.config.getParentSize(e);
249
+ const { componentRow: s, isVertical: n } = e, a = s.getEl();
250
+ if (!a) return 0;
251
+ let i = a;
252
+ if (a.tagName !== "TABLE") {
253
+ const l = a.querySelectorAll("table");
254
+ l.length && (i = l[0]);
242
255
  }
243
- return s ? a.clientHeight : a.clientWidth;
256
+ return n ? i.clientHeight : i.clientWidth;
244
257
  }
245
- isLayoutVertical(t) {
246
- var e;
247
- return (e = this.config) != null && e.isParentVertical ? this.config.isParentVertical(t) : !1;
258
+ isLayoutVertical(e) {
259
+ var s;
260
+ return (s = this.config) != null && s.isParentVertical ? this.config.isParentVertical(e) : !1;
248
261
  }
249
262
  }
250
- class H {
263
+ class M {
251
264
  constructor() {
252
265
  this.handlerCache = /* @__PURE__ */ new Map();
253
266
  }
254
267
  static getInstance() {
255
- return H.instance || (H.instance = new H()), H.instance;
256
- }
257
- getHandlers(t) {
258
- const e = `${t.projectType}-${t.disableGapHandler ? "nogap" : "gap"}`;
259
- return this.handlerCache.has(e) || (M(t) ? this.handlerCache.set(e, {
260
- sizeHandler: new q(t),
261
- gapHandler: new Z(t),
262
- parentSizeHandler: new At(t)
263
- }) : this.handlerCache.set(e, {
264
- sizeHandler: new W(t),
265
- gapHandler: new K(t),
266
- parentSizeHandler: new J(t)
267
- })), this.handlerCache.get(e);
268
+ return M.instance || (M.instance = new M()), M.instance;
269
+ }
270
+ getHandlers(e) {
271
+ const s = `${e.projectType}-${e.disableGapHandler ? "nogap" : "gap"}`;
272
+ return this.handlerCache.has(s) || ($(e) ? this.handlerCache.set(s, {
273
+ sizeHandler: new Z(e),
274
+ gapHandler: new Q(e),
275
+ parentSizeHandler: new Me(e)
276
+ }) : this.handlerCache.set(s, {
277
+ sizeHandler: new K(e),
278
+ gapHandler: new J(e),
279
+ parentSizeHandler: new q(e)
280
+ })), this.handlerCache.get(s);
268
281
  }
269
282
  }
270
- function R(n) {
271
- return H.getInstance().getHandlers(n);
283
+ function T(t) {
284
+ return M.getInstance().getHandlers(t);
272
285
  }
273
- const at = (n) => {
274
- n.style.display = "none";
275
- }, ot = (n) => {
276
- n.style.display = "block";
277
- }, L = (n) => +parseFloat(`${n}`).toFixed(2), M = (n) => n.projectType === ut.email, Ht = (n) => n ? ["top", "bottom"] : ["left", "right"], Mt = (n) => {
278
- const t = n.parent();
279
- return t ? t.components().models.indexOf(n) === 0 : !1;
280
- }, Lt = (n) => {
281
- const t = n.parent();
282
- if (!t) return !1;
283
- const e = t.components().models;
284
- return e.indexOf(n) === e.length - 1;
285
- }, Vt = (n) => {
286
- const t = n.parent();
287
- if (!t) return !1;
288
- const e = t.components().models;
289
- return e.length > 1 && n.index() === e.length - 1;
290
- }, Nt = (n, t, e, s) => {
291
- const a = n + (e ? t === "top" ? -1 : t === "bottom" ? 1 : 0 : t === "left" ? -1 : t === "right" ? 1 : 0);
292
- return a >= 0 && a < s ? a : -1;
293
- }, O = (n) => n === "top" || n === "bottom", jt = (n, t) => !!(Mt(n) && (t === "left" || t === "top") || Lt(n) && (t === "right" || t === "bottom")), _t = (n) => {
294
- const t = n.parent();
295
- return t ? t.components().models.length > 1 : !1;
296
- }, rt = (n, t) => n === "right" || n === "bottom" ? t > 0 : t < 0, nt = (n, t, e = !1) => {
297
- const s = !e, i = n.getEl();
298
- if (!i)
299
- return s ? 0 : "";
300
- const o = window.getComputedStyle(i)[t] || "";
301
- if (s) {
302
- let c;
303
- return typeof o == "string" ? (c = parseFloat(o.replace(/[^-\d.]/g, "")), isNaN(c) && (c = 0)) : c = Number(o) || 0, c;
286
+ const oe = (t) => {
287
+ t.style.display = "none";
288
+ }, re = (t) => {
289
+ t.style.display = "block";
290
+ }, H = (t) => +parseFloat(`${t}`).toFixed(2), $ = (t) => t.projectType === ge.email, $e = (t) => t ? ["top", "bottom"] : ["left", "right"], He = (t) => {
291
+ const e = t.parent();
292
+ return e ? e.components().models.indexOf(t) === 0 : !1;
293
+ }, Ve = (t) => {
294
+ const e = t.parent();
295
+ if (!e) return !1;
296
+ const s = e.components().models;
297
+ return s.indexOf(t) === s.length - 1;
298
+ }, De = (t) => {
299
+ const e = t.parent();
300
+ if (!e) return !1;
301
+ const s = e.components().models;
302
+ return s.length > 1 && t.index() === s.length - 1;
303
+ }, je = (t, e, s, n) => {
304
+ const i = t + (s ? e === "top" ? -1 : e === "bottom" ? 1 : 0 : e === "left" ? -1 : e === "right" ? 1 : 0);
305
+ return i >= 0 && i < n ? i : -1;
306
+ }, O = (t) => t === "top" || t === "bottom", Ne = (t, e) => !!(He(t) && (e === "left" || e === "top") || Ve(t) && (e === "right" || e === "bottom")), Be = (t) => {
307
+ const e = t.parent();
308
+ return e ? e.components().models.length > 1 : !1;
309
+ }, le = (t, e) => t === "right" || t === "bottom" ? e > 0 : e < 0, ne = (t, e, s = !1) => {
310
+ const n = !s, a = t.getEl();
311
+ if (!a)
312
+ return n ? 0 : "";
313
+ const o = window.getComputedStyle(a)[e] || "";
314
+ if (n) {
315
+ let l;
316
+ return typeof o == "string" ? (l = parseFloat(o.replace(/[^-\d.]/g, "")), isNaN(l) && (l = 0)) : l = Number(o) || 0, l;
304
317
  }
305
318
  return o;
306
- }, lt = (n, t, e) => {
307
- const s = Q({ componentRow: n, isVertical: t }, e), i = n.components().models;
308
- return s * (i.length - 1);
309
- }, D = (n, t) => R(t).parentSizeHandler.isLayoutVertical({ componentRow: n }), B = (n, t) => R(t).sizeHandler.getSize(n), Q = (n, t) => {
310
- if (t != null && t.disableGapHandler) return 0;
311
- const { gapHandler: e, parentSizeHandler: s } = R(t);
312
- if (!e.isGapSupported()) return 0;
313
- const i = e.getGap(n), a = s.getParentSize(n);
314
- return i / 100 * a;
315
- }, tt = (n, t) => R(t).parentSizeHandler.getParentSize(n), V = (n, t) => {
316
- R(t).sizeHandler.setSize(n);
317
- }, ft = (n, t) => {
318
- const e = B(n, t);
319
- V({ ...n, sizeValue: `${e}%`, partial: !1 }, t);
320
- }, mt = (n, t) => {
321
- if (t != null && t.disableGapHandler) return;
322
- const { gapHandler: e } = R(t);
323
- e.isGapSupported() && e.setGap(n);
324
- }, Dt = (n, t) => {
325
- const e = n.getStyle().gap;
326
- if (!e) return;
327
- const s = n.components().models, i = { componentRow: n, isVertical: D(n, t) };
328
- s.map((a) => ft({ ...i, componentColumn: a }, t)), mt({ ...i, gapValue: String(e), partial: !1 }, t);
319
+ }, ce = (t, e, s) => {
320
+ const n = ee({ componentRow: t, isVertical: e }, s), a = t.components().models;
321
+ return n * (a.length - 1);
322
+ }, B = (t, e) => T(e).parentSizeHandler.isLayoutVertical({ componentRow: t }), F = (t, e) => T(e).sizeHandler.getSize(t), ee = (t, e) => {
323
+ if (e != null && e.disableGapHandler) return 0;
324
+ const { gapHandler: s, parentSizeHandler: n } = T(e);
325
+ if (!s.isGapSupported()) return 0;
326
+ const a = s.getGap(t), i = n.getParentSize(t);
327
+ return a / 100 * i;
328
+ }, te = (t, e) => T(e).parentSizeHandler.getParentSize(t), V = (t, e) => {
329
+ T(e).sizeHandler.setSize(t);
330
+ }, ye = (t, e) => {
331
+ const s = F(t, e);
332
+ V({ ...t, sizeValue: `${s}%`, partial: !1 }, e);
333
+ }, be = (t, e) => {
334
+ if (e != null && e.disableGapHandler) return;
335
+ const { gapHandler: s } = T(e);
336
+ s.isGapSupported() && s.setGap(t);
337
+ }, Fe = (t, e) => {
338
+ const s = t.getStyle().gap;
339
+ if (!s) return;
340
+ const n = t.components().models, a = { componentRow: t, isVertical: B(t, e) };
341
+ n.map((i) => ye({ ...a, componentColumn: i }, e)), be({ ...a, gapValue: String(s), partial: !1 }, e);
329
342
  };
330
- function Bt(n, t) {
331
- const { Blocks: e } = n, { typeColumn: s, typeRow: i, blocks: a } = t;
332
- if (a === !1 || M(t)) return;
343
+ function _e(t, e) {
344
+ const { Blocks: s } = t, { typeColumn: n, typeRow: a, blocks: i } = e;
345
+ if (i === !1 || $(e)) return;
333
346
  const o = (r) => ({
334
- type: i,
335
- components: r.map((g) => ({
336
- type: s,
337
- style: { "flex-basis": `${g}%` }
347
+ type: a,
348
+ components: r.map((h) => ({
349
+ type: n,
350
+ style: { "flex-basis": `${h}%` }
338
351
  }))
339
- }), c = (r) => `<div class="gs-block-item__flex-row" style="display: flex; height: 1.75rem; width: 100%; flex-wrap: nowrap; gap: 0.5rem;">
340
- ${r.map((g) => `<div style="flex-basis: ${g}%; border-color: currentColor; border-width: 2px; border-radius: 0.12rem;"></div>`).join("")}
341
- </div>`, p = (r, g) => ({
342
- id: `flex-row-${g.join("-")}`,
352
+ }), l = (r) => `<div class="gs-block-item__flex-row" style="display: flex; height: 1.75rem; width: 100%; flex-wrap: nowrap; gap: 0.5rem;">
353
+ ${r.map((h) => `<div style="flex-basis: ${h}%; border-color: currentColor; border-width: 2px; border-radius: 0.12rem;"></div>`).join("")}
354
+ </div>`, p = (r, h) => ({
355
+ id: `flex-row-${h.join("-")}`,
343
356
  label: r,
344
357
  category: "Layout",
345
358
  select: !0,
346
359
  full: !0,
347
360
  attributes: { class: "gs-block-item__flex gs-utl-w-full" },
348
- media: c(g),
349
- content: o(g)
350
- }), u = [
361
+ media: l(h),
362
+ content: o(h)
363
+ }), g = [
351
364
  p("1 Column", [100]),
352
365
  p("2 Columns 50/50", [50, 50]),
353
366
  p("2 Columns 25/75", [25, 75]),
@@ -358,16 +371,16 @@ function Bt(n, t) {
358
371
  p("3 Columns 25/25/50", [25, 25, 50]),
359
372
  p("4 Columns", [25, 25, 25, 25]),
360
373
  p("5 Columns", [20, 20, 20, 20, 20])
361
- ], f = wt(a) ? a({ blocks: u }) : u;
362
- return f.forEach((r) => e.add(r.id, r)), () => {
363
- f.forEach((r) => e.remove(r.id));
374
+ ], f = Re(i) ? i({ blocks: g }) : g;
375
+ return f.forEach((r) => s.add(r.id, r)), () => {
376
+ f.forEach((r) => s.remove(r.id));
364
377
  };
365
378
  }
366
- const Ft = (n, t) => {
367
- const { Components: e } = n, { typeRow: s, typeColumn: i, extendTypeColumn: a } = t, o = `${gt}${i}`, p = !!i && !!e.getType(i) && !a;
368
- if (!(!i || p || M(t)))
369
- return e.addType(i, {
370
- isComponent: ht(i),
379
+ const Oe = (t, e) => {
380
+ const { Components: s } = t, { typeRow: n, typeColumn: a, extendTypeColumn: i } = e, o = `${fe}${a}`, p = !!a && !!s.getType(a) && !i;
381
+ if (!(!a || p || $(e)))
382
+ return s.addType(a, {
383
+ isComponent: he(a),
371
384
  model: {
372
385
  defaults: {
373
386
  name: "Column",
@@ -375,8 +388,8 @@ const Ft = (n, t) => {
375
388
  emptyState: !0,
376
389
  classes: o,
377
390
  icon: '<svg viewBox="0 0 24 24"><path d="M14.5 2.3A1.8 1.8 0 0 0 12.7 4v16c0 1 .8 1.8 1.8 1.8h3a1.8 1.8 0 0 0 1.8-1.8V4a1.8 1.8 0 0 0-1.8-1.8zm-8 0A1.8 1.8 0 0 0 4.7 4v16c0 1 .8 1.8 1.8 1.8h3a1.8 1.8 0 0 0 1.8-1.8V4a1.8 1.8 0 0 0-1.8-1.8z"/></svg>',
378
- draggable: $t(s),
379
- attributes: { [et]: i },
391
+ draggable: Le(n),
392
+ attributes: { [se]: a },
380
393
  styles: `
381
394
  .${o} {
382
395
  flex-grow: 1;
@@ -385,21 +398,21 @@ const Ft = (n, t) => {
385
398
  }
386
399
  }
387
400
  }), () => {
388
- e.removeType(i);
401
+ s.removeType(a);
389
402
  };
390
- }, Ot = (n, t) => {
391
- const { Components: e } = n, { typeRow: s, typeColumn: i, extendTypeRow: a } = t, o = `${gt}${s}`, p = !!s && !!e.getType(s) && !a;
392
- if (!(!s || p || M(t)))
393
- return e.addType(s, {
394
- isComponent: ht(s),
403
+ }, ke = (t, e) => {
404
+ const { Components: s } = t, { typeRow: n, typeColumn: a, extendTypeRow: i } = e, o = `${fe}${n}`, p = !!n && !!s.getType(n) && !i;
405
+ if (!(!n || p || $(e)))
406
+ return s.addType(n, {
407
+ isComponent: he(n),
395
408
  model: {
396
409
  defaults: {
397
410
  name: "Row",
398
411
  classes: o,
399
412
  icon: '<svg viewBox="0 0 24 24"><path d="M4 4.8a1.8 1.8 0 0 0-1.8 1.7v3c0 1 .8 1.8 1.8 1.8h16a1.8 1.8 0 0 0 1.8-1.8v-3A1.8 1.8 0 0 0 20 4.7zm0 8a1.8 1.8 0 0 0-1.8 1.7v3c0 1 .8 1.8 1.8 1.8h16a1.8 1.8 0 0 0 1.8-1.8v-3a1.8 1.8 0 0 0-1.8-1.8z"/></svg>',
400
413
  emptyState: { styleIn: "width: 100%" },
401
- attributes: { [et]: s },
402
- droppable: Tt(i),
414
+ attributes: { [se]: n },
415
+ droppable: Ae(a),
403
416
  traits: [
404
417
  // {
405
418
  // type: 'number',
@@ -423,7 +436,7 @@ const Ft = (n, t) => {
423
436
  type: "checkbox",
424
437
  name: "snap",
425
438
  label: "Enable Snap",
426
- default: t.snapEnabled,
439
+ default: e.snapEnabled,
427
440
  changeProp: !0
428
441
  },
429
442
  {
@@ -433,7 +446,7 @@ const Ft = (n, t) => {
433
446
  min: 1,
434
447
  max: 12,
435
448
  step: 1,
436
- default: t.snapDivisions,
449
+ default: e.snapDivisions,
437
450
  changeProp: !0
438
451
  }
439
452
  ],
@@ -455,163 +468,163 @@ const Ft = (n, t) => {
455
468
  }
456
469
  }
457
470
  }), () => {
458
- e.removeType(s);
471
+ s.removeType(n);
459
472
  };
460
- }, Xt = "flexComponent", Yt = A.startup;
461
- class Ut {
473
+ }, Ue = "flexComponent", Xe = L.startup;
474
+ class Ye {
462
475
  constructor() {
463
476
  this.resizableChildTypes = /* @__PURE__ */ new Set(), this.gapAdjustableParentTypes = /* @__PURE__ */ new Set(), this.typeRelationships = /* @__PURE__ */ new Map();
464
477
  }
465
- registerResizableChild(t) {
466
- this.resizableChildTypes.add(t);
478
+ registerResizableChild(e) {
479
+ this.resizableChildTypes.add(e);
467
480
  }
468
- registerGapAdjustableParent(t) {
469
- this.gapAdjustableParentTypes.add(t);
481
+ registerGapAdjustableParent(e) {
482
+ this.gapAdjustableParentTypes.add(e);
470
483
  }
471
- registerTypeRelationship(t, e) {
472
- this.typeRelationships.has(t) || this.typeRelationships.set(t, /* @__PURE__ */ new Set()), this.typeRelationships.get(t).add(e), this.registerResizableChild(e), this.registerGapAdjustableParent(t);
484
+ registerTypeRelationship(e, s) {
485
+ this.typeRelationships.has(e) || this.typeRelationships.set(e, /* @__PURE__ */ new Set()), this.typeRelationships.get(e).add(s), this.registerResizableChild(s), this.registerGapAdjustableParent(e);
473
486
  }
474
- isResizableChild(t) {
475
- return this.resizableChildTypes.has(t.get("type"));
487
+ isResizableChild(e) {
488
+ return this.resizableChildTypes.has(e.get("type"));
476
489
  }
477
- isGapAdjustableParent(t) {
478
- return this.gapAdjustableParentTypes.has(t.get("type"));
490
+ isGapAdjustableParent(e) {
491
+ return this.gapAdjustableParentTypes.has(e.get("type"));
479
492
  }
480
- isValidRelationship(t, e) {
481
- const s = t.get("type"), i = e.get("type");
482
- return this.typeRelationships.has(s) ? this.typeRelationships.get(s).has(i) : !1;
493
+ isValidRelationship(e, s) {
494
+ const n = e.get("type"), a = s.get("type");
495
+ return this.typeRelationships.has(n) ? this.typeRelationships.get(n).has(a) : !1;
483
496
  }
484
497
  }
485
- class kt {
486
- constructor(t, e, s) {
487
- this.editor = t, this.registry = e, this.opts = s, this.resizeState = /* @__PURE__ */ new WeakMap();
488
- }
489
- getState(t) {
490
- return this.resizeState.has(t) || this.resizeState.set(t, {}), this.resizeState.get(t);
491
- }
492
- clearState(t) {
493
- return this.resizeState.delete(t);
494
- }
495
- startResize(t, e, s) {
496
- const { opts: i } = this, a = this.getState(t);
497
- a.direction = e, a.startX = s.clientX, a.startY = s.clientY, a.resizing = !0, a.lastSnappedPercent = void 0;
498
- const o = t.parent();
499
- if (!o || !this.registry.isValidRelationship(o, t)) return;
500
- a.snapEnabled = o.get("snap") ?? i.snapEnabled, a.snapDivisions = o.get("snap-divisions") ?? i.snapDivisions ?? 12;
501
- const c = o.components().models, p = c.findIndex((g) => g.cid === t.cid), u = D(o, i), f = Nt(p, e, u, c.length);
502
- f !== -1 && (a.adjacentIdx = f);
503
- const r = { componentColumn: t, componentRow: o, isVertical: u };
504
- if (a.startPercent = B(r, i), typeof a.adjacentIdx < "u") {
505
- const g = c[a.adjacentIdx];
506
- a.neighborStartPercent = B({ ...r, componentColumn: g }, i);
498
+ class We {
499
+ constructor(e, s, n) {
500
+ this.editor = e, this.registry = s, this.opts = n, this.resizeState = /* @__PURE__ */ new WeakMap();
501
+ }
502
+ getState(e) {
503
+ return this.resizeState.has(e) || this.resizeState.set(e, {}), this.resizeState.get(e);
504
+ }
505
+ clearState(e) {
506
+ return this.resizeState.delete(e);
507
+ }
508
+ startResize(e, s, n) {
509
+ const { opts: a } = this, i = this.getState(e);
510
+ i.direction = s, i.startX = n.clientX, i.startY = n.clientY, i.resizing = !0, i.lastSnappedPercent = void 0;
511
+ const o = e.parent();
512
+ if (!o || !this.registry.isValidRelationship(o, e)) return;
513
+ i.snapEnabled = o.get("snap") ?? a.snapEnabled, i.snapDivisions = o.get("snap-divisions") ?? a.snapDivisions ?? 12;
514
+ const l = o.components().models, p = l.findIndex((h) => h.cid === e.cid), g = B(o, a), f = je(p, s, g, l.length);
515
+ f !== -1 && (i.adjacentIdx = f);
516
+ const r = { componentColumn: e, componentRow: o, isVertical: g };
517
+ if (i.startPercent = F(r, a), typeof i.adjacentIdx < "u") {
518
+ const h = l[i.adjacentIdx];
519
+ i.neighborStartPercent = F({ ...r, componentColumn: h }, a);
507
520
  }
508
521
  }
509
- updateResizeByDelta(t, e, s) {
510
- const i = this.getState(t), a = t.parent();
511
- !i.resizing || !a || (i.snapEnabled ? this.updateSnapResize(t, e, s) : this.updateContinuesResize(t, e, s));
512
- }
513
- finishResize(t) {
514
- const e = t.parent(), s = e == null ? void 0 : e.components().models, i = { componentRow: e, isVertical: !!e && D(e, this.opts) };
515
- s == null || s.forEach((a) => ft({ ...i, componentColumn: a }, this.opts)), this.clearState(t);
516
- }
517
- updateContinuesResize(t, e, s) {
518
- const i = this.getState(t), a = t.parent(), { opts: o } = this;
519
- if (!a) return;
520
- const c = o.minItemPercent ?? 0, p = O(e), u = tt({ componentRow: a, isVertical: p }, o), f = lt(a, p, this.opts), g = 100 - f / u * 100, E = s / (u - f) * g, { startPercent: S = 0, neighborStartPercent: C = 0 } = i, x = { componentRow: a, isVertical: p, componentColumn: t, partial: !0 }, v = rt(e, s) ? S + Math.abs(E) : S - Math.abs(E);
521
- if (typeof i.adjacentIdx < "u") {
522
- const b = a.components().models[i.adjacentIdx], w = S + C, P = w - c, l = Math.min(P, Math.max(c, v)), d = w - l;
523
- V({ ...x, sizeValue: `${L(l)}%` }, o), V(
524
- { ...x, componentColumn: b, sizeValue: `${L(d)}%` },
522
+ updateResizeByDelta(e, s, n) {
523
+ const a = this.getState(e), i = e.parent();
524
+ !a.resizing || !i || (a.snapEnabled ? this.updateSnapResize(e, s, n) : this.updateContinuesResize(e, s, n));
525
+ }
526
+ finishResize(e) {
527
+ const s = e.parent(), n = s == null ? void 0 : s.components().models, a = { componentRow: s, isVertical: !!s && B(s, this.opts) };
528
+ n == null || n.forEach((i) => ye({ ...a, componentColumn: i }, this.opts)), this.clearState(e);
529
+ }
530
+ updateContinuesResize(e, s, n) {
531
+ const a = this.getState(e), i = e.parent(), { opts: o } = this;
532
+ if (!i) return;
533
+ const l = o.minItemPercent ?? 0, p = O(s), g = te({ componentRow: i, isVertical: p }, o), f = ce(i, p, this.opts), h = 100 - f / g * 100, I = n / (g - f) * h, { startPercent: b = 0, neighborStartPercent: x = 0 } = a, v = { componentRow: i, isVertical: p, componentColumn: e, partial: !0 }, G = le(s, n) ? b + Math.abs(I) : b - Math.abs(I);
534
+ if (typeof a.adjacentIdx < "u") {
535
+ const m = i.components().models[a.adjacentIdx], R = b + x, z = R - l, c = Math.min(z, Math.max(l, G)), u = R - c;
536
+ V({ ...v, sizeValue: `${H(c)}%` }, o), V(
537
+ { ...v, componentColumn: m, sizeValue: `${H(u)}%` },
525
538
  o
526
539
  );
527
540
  } else {
528
- const b = Math.max(c, Math.min(g, v));
529
- V({ ...x, sizeValue: `${L(b)}%` }, o);
541
+ const m = Math.max(l, Math.min(h, G));
542
+ V({ ...v, sizeValue: `${H(m)}%` }, o);
530
543
  }
531
544
  }
532
- updateSnapResize(t, e, s) {
533
- const i = this.getState(t), a = t.parent(), o = O(e), c = tt({ componentRow: a, isVertical: o }, this.opts), p = lt(a, o, this.opts), u = c - p, f = s / u * 100, r = rt(e, s), { startPercent: g = 0, snapDivisions: E = 12 } = i, S = r ? g + Math.abs(f) : g - Math.abs(f), C = 100 / E, x = Math.floor(S / C) * C, v = Math.ceil(S / C) * C, b = Math.abs(v - S), w = Math.abs(S - x), P = C * 0.2, z = b < w ? v : x;
534
- if (z > 0 && z < 100 && (b < P || w < P) && i.lastSnappedPercent !== z) {
535
- i.lastSnappedPercent = z;
536
- let m = Math.abs(z - g) / 100 * u;
537
- (r && (e === "left" || e === "top") || !r && (e === "right" || e === "bottom")) && (m = -m), this.updateContinuesResize(t, e, m);
538
- } else b >= P && w >= P && (i.lastSnappedPercent = void 0);
545
+ updateSnapResize(e, s, n) {
546
+ const a = this.getState(e), i = e.parent(), o = O(s), l = te({ componentRow: i, isVertical: o }, this.opts), p = ce(i, o, this.opts), g = l - p, f = n / g * 100, r = le(s, n), { startPercent: h = 0, snapDivisions: I = 12 } = a, b = r ? h + Math.abs(f) : h - Math.abs(f), x = 100 / I, v = Math.floor(b / x) * x, G = Math.ceil(b / x) * x, m = Math.abs(G - b), R = Math.abs(b - v), z = x * 0.2, S = m < R ? G : v;
547
+ if (S > 0 && S < 100 && (m < z || R < z) && a.lastSnappedPercent !== S) {
548
+ a.lastSnappedPercent = S;
549
+ let y = Math.abs(S - h) / 100 * g;
550
+ (r && (s === "left" || s === "top") || !r && (s === "right" || s === "bottom")) && (y = -y), this.updateContinuesResize(e, s, y);
551
+ } else m >= z && R >= z && (a.lastSnappedPercent = void 0);
539
552
  }
540
553
  }
541
- class Wt {
542
- constructor(t, e, s) {
543
- this.editor = t, this.registry = e, this.opts = s;
544
- }
545
- updateGapByDelta(t, e, s, i) {
546
- if (!this.registry.isGapAdjustableParent(t)) return;
547
- const { opts: a } = this, o = Math.max(0, s + e), c = tt({ componentRow: t, isVertical: i }, a), p = o / c * 100, u = t.components().models, f = u.length - 1, r = { componentRow: t, isVertical: i }, g = u.reduce(
548
- (P, z) => P + B({ ...r, componentColumn: z }, a),
554
+ class Ke {
555
+ constructor(e, s, n) {
556
+ this.editor = e, this.registry = s, this.opts = n;
557
+ }
558
+ updateGapByDelta(e, s, n, a) {
559
+ if (!this.registry.isGapAdjustableParent(e)) return;
560
+ const { opts: i } = this, o = Math.max(0, n + s), l = te({ componentRow: e, isVertical: a }, i), p = o / l * 100, g = e.components().models, f = g.length - 1, r = { componentRow: e, isVertical: a }, h = g.reduce(
561
+ (z, S) => z + F({ ...r, componentColumn: S }, i),
549
562
  0
550
- ), S = 100 - p * f, C = a.minItemPercent || 5;
551
- if (S < C * u.length)
563
+ ), b = 100 - p * f, x = i.minItemPercent || 5;
564
+ if (b < x * g.length)
552
565
  return;
553
- const v = 100 - f * p, b = g - v, w = { componentRow: t, isVertical: i, partial: !0 };
554
- u.map((P) => {
555
- const z = B({ ...r, componentColumn: P }, a), l = z - z / g * b;
556
- V({ ...w, componentColumn: P, sizeValue: `${L(l)}%` }, a);
557
- }), mt({ ...w, gapValue: `${L(p)}%` }, a);
566
+ const G = 100 - f * p, m = h - G, R = { componentRow: e, isVertical: a, partial: !0 };
567
+ g.map((z) => {
568
+ const S = F({ ...r, componentColumn: z }, i), c = S - S / h * m;
569
+ V({ ...R, componentColumn: z, sizeValue: `${H(c)}%` }, i);
570
+ }), be({ ...R, gapValue: `${H(p)}%` }, i);
558
571
  }
559
- finishGapAdjust(t) {
560
- Dt(t, this.opts);
572
+ finishGapAdjust(e) {
573
+ Fe(e, this.opts);
561
574
  }
562
575
  }
563
- class Kt {
564
- constructor(t, e, s) {
565
- this.editor = t, this.registry = e, this.opts = s, this.resizeHandler = new kt(t, e, s), this.gapHandler = new Wt(t, e, s);
576
+ class Je {
577
+ constructor(e, s, n) {
578
+ this.editor = e, this.registry = s, this.opts = n, this.resizeHandler = new We(e, s, n), this.gapHandler = new Ke(e, s, n);
566
579
  }
567
- startResize(t, e, s) {
568
- this.resizeHandler.startResize(t, e, s);
580
+ startResize(e, s, n) {
581
+ this.resizeHandler.startResize(e, s, n);
569
582
  }
570
- updateResizeByDelta(t, e, s) {
571
- this.resizeHandler.updateResizeByDelta(t, e, s);
583
+ updateResizeByDelta(e, s, n) {
584
+ this.resizeHandler.updateResizeByDelta(e, s, n);
572
585
  }
573
- finishResize(t) {
574
- this.resizeHandler.finishResize(t);
586
+ finishResize(e) {
587
+ this.resizeHandler.finishResize(e);
575
588
  }
576
- updateGapByDelta(t, e, s, i) {
577
- this.gapHandler.updateGapByDelta(t, e, s, i);
589
+ updateGapByDelta(e, s, n, a) {
590
+ this.gapHandler.updateGapByDelta(e, s, n, a);
578
591
  }
579
- finishGapAdjust(t) {
580
- this.gapHandler.finishGapAdjust(t);
592
+ finishGapAdjust(e) {
593
+ this.gapHandler.finishGapAdjust(e);
581
594
  }
582
- canResize(t) {
583
- const e = t.parent();
584
- return e ? this.registry.isValidRelationship(e, t) : !1;
595
+ canResize(e) {
596
+ const s = e.parent();
597
+ return s ? this.registry.isValidRelationship(s, e) : !1;
585
598
  }
586
- canAdjustGap(t) {
587
- return this.registry.isGapAdjustableParent(t);
599
+ canAdjustGap(e) {
600
+ return this.registry.isGapAdjustableParent(e);
588
601
  }
589
602
  }
590
- const X = "gs-flex-spots", ct = `${X}__handle-size`, Jt = `${X}__handle-gap`;
591
- function qt(n, t) {
592
- const { Canvas: e } = n, s = "flex-resize-spot";
593
- let i, a, o, c, p = null, u = null;
594
- const f = new Ut(), r = new Kt(n, f, t), g = () => {
595
- var l;
596
- i = document.createElement("div"), i.className = X, i.style.display = "none", a = document.createElement("div"), a.className = `${X}__handles`, a.style.position = "absolute", a.style.pointerEvents = "none", a.style.zIndex = "21", o = {
603
+ const k = "gs-flex-spots", pe = `${k}__handle-size`, qe = `${k}__handle-gap`;
604
+ function Ze(t, e) {
605
+ const { Canvas: s } = t, n = "flex-resize-spot";
606
+ let a, i, o, l, p = null, g = null;
607
+ const f = new Ye(), r = new Je(t, f, e), h = () => {
608
+ var c;
609
+ a = document.createElement("div"), a.className = k, a.style.display = "none", i = document.createElement("div"), i.className = `${k}__handles`, i.style.position = "absolute", i.style.pointerEvents = "none", i.style.zIndex = "21", o = {
597
610
  left: document.createElement("div"),
598
611
  right: document.createElement("div"),
599
612
  top: document.createElement("div"),
600
613
  bottom: document.createElement("div")
601
- }, Object.entries(o).forEach(([d, m]) => {
602
- const y = d, h = O(y);
603
- m.className = `${ct} ${ct}-${y} gjs-resizer-h gjs-cv-unscale`, m.style.cssText = `
614
+ }, Object.entries(o).forEach(([u, y]) => {
615
+ const P = u, d = O(P);
616
+ y.className = `${pe} ${pe}-${P} gjs-resizer-h gjs-cv-unscale`, y.style.cssText = `
604
617
  pointer-events: all;
605
618
  position: absolute;
606
619
  z-index: 1;
607
- cursor: ${h ? "ns-resize" : "ew-resize"};
608
- ${h ? "left: 50%;" : "top: 50%;"}
609
- ${y === "left" ? "left: 0px;" : ""}
610
- ${y === "right" ? "right: 0px;" : ""}
611
- ${y === "top" ? "top: 0px;" : ""}
612
- ${y === "bottom" ? "bottom: 0px;" : ""}
613
- `, m.addEventListener("pointerdown", E(y)), a.appendChild(m);
614
- }), !t.disableGapHandler && !M(t) && (c = document.createElement("div"), c.className = Jt, c.style.cssText = `
620
+ cursor: ${d ? "ns-resize" : "ew-resize"};
621
+ ${d ? "left: 50%;" : "top: 50%;"}
622
+ ${P === "left" ? "left: 0px;" : ""}
623
+ ${P === "right" ? "right: 0px;" : ""}
624
+ ${P === "top" ? "top: 0px;" : ""}
625
+ ${P === "bottom" ? "bottom: 0px;" : ""}
626
+ `, y.addEventListener("pointerdown", I(P)), i.appendChild(y);
627
+ }), !e.disableGapHandler && !$(e) && (l = document.createElement("div"), l.className = qe, l.style.cssText = `
615
628
  position: absolute;
616
629
  background-color: var(--gs-theme-cl-cmp-bg1, #3b97e3);
617
630
  border-width: 2px;
@@ -621,98 +634,98 @@ function qt(n, t) {
621
634
  pointer-events: all;
622
635
  max-width: 3rem;
623
636
  max-height: 3rem;
624
- `, c.addEventListener("pointerdown", S()), a.appendChild(c)), i.append(a), (l = e.getSpotsEl()) == null || l.appendChild(i);
625
- }, E = (l) => (d) => {
637
+ `, l.addEventListener("pointerdown", b()), i.appendChild(l)), a.append(i), (c = s.getSpotsEl()) == null || c.appendChild(a);
638
+ }, I = (c) => (u) => {
626
639
  if (!p) return;
627
- d.stopPropagation(), d.preventDefault(), r.startResize(p, l, d);
628
- const m = d.clientX, y = d.clientY;
629
- d.target.setPointerCapture(d.pointerId);
630
- const h = (T) => {
631
- const G = n.Canvas.getZoomMultiplier(), $ = (T.clientX - m) * G, F = (T.clientY - y) * G, k = O(l) ? F : $;
632
- r.updateResizeByDelta(p, l, k);
633
- }, I = () => {
634
- r.finishResize(p), d.target.releasePointerCapture(d.pointerId), document.removeEventListener("pointermove", h), document.removeEventListener("pointerup", I);
640
+ u.stopPropagation(), u.preventDefault(), r.startResize(p, c, u);
641
+ const y = u.clientX, P = u.clientY;
642
+ u.target.setPointerCapture(u.pointerId);
643
+ const d = (E) => {
644
+ const C = t.Canvas.getZoomMultiplier(), A = (E.clientX - y) * C, _ = (E.clientY - P) * C, Y = O(c) ? _ : A;
645
+ r.updateResizeByDelta(p, c, Y);
646
+ }, w = () => {
647
+ r.finishResize(p), u.target.releasePointerCapture(u.pointerId), document.removeEventListener("pointermove", d), document.removeEventListener("pointerup", w);
635
648
  };
636
- document.addEventListener("pointermove", h), document.addEventListener("pointerup", I);
637
- }, S = () => (l) => {
638
- if (!u) return;
639
- const d = u;
640
- l.stopPropagation(), l.preventDefault();
641
- const m = D(d, t), y = Q({ componentRow: d, isVertical: m }, t), h = l.clientX, I = l.clientY;
642
- l.target.setPointerCapture(l.pointerId);
643
- const T = ($) => {
644
- const F = n.Canvas.getZoomMultiplier(), k = m ? ($.clientY - I) * F : ($.clientX - h) * F;
645
- r.updateGapByDelta(d, k, y, m);
646
- }, G = () => {
647
- r.finishGapAdjust(d), l.target.releasePointerCapture(l.pointerId), document.removeEventListener("pointermove", T), document.removeEventListener("pointerup", G);
649
+ document.addEventListener("pointermove", d), document.addEventListener("pointerup", w);
650
+ }, b = () => (c) => {
651
+ if (!g) return;
652
+ const u = g;
653
+ c.stopPropagation(), c.preventDefault();
654
+ const y = B(u, e), P = ee({ componentRow: u, isVertical: y }, e), d = c.clientX, w = c.clientY;
655
+ c.target.setPointerCapture(c.pointerId);
656
+ const E = (A) => {
657
+ const _ = t.Canvas.getZoomMultiplier(), Y = y ? (A.clientY - w) * _ : (A.clientX - d) * _;
658
+ r.updateGapByDelta(u, Y, P, y);
659
+ }, C = () => {
660
+ r.finishGapAdjust(u), c.target.releasePointerCapture(c.pointerId), document.removeEventListener("pointermove", E), document.removeEventListener("pointerup", C);
648
661
  };
649
- document.addEventListener("pointermove", T), document.addEventListener("pointerup", G);
650
- }, C = (l) => {
651
- const d = l.component;
652
- if (!d || !i || (p = d, u = d.parent(), !u)) return;
653
- const m = u;
654
- ot(i);
655
- const y = l.getStyle();
656
- a && Object.assign(a.style, y);
657
- const h = D(m, t), I = Ht(h);
658
- if (Object.values(o).forEach(at), I.forEach((G) => {
659
- if (jt(d, G)) return;
660
- const $ = o[G];
661
- ot($);
662
- }), R(t).gapHandler.isGapSupported() && c && _t(d)) {
663
- const G = Q({ componentRow: m, isVertical: h }, t);
664
- x(G, h, Vt(d));
662
+ document.addEventListener("pointermove", E), document.addEventListener("pointerup", C);
663
+ }, x = (c) => {
664
+ const u = c.component;
665
+ if (!u || !a || (p = u, g = u.parent(), !g)) return;
666
+ const y = g;
667
+ re(a);
668
+ const P = c.getStyle();
669
+ i && Object.assign(i.style, P);
670
+ const d = B(y, e), w = $e(d);
671
+ if (Object.values(o).forEach(oe), w.forEach((C) => {
672
+ if (Ne(u, C)) return;
673
+ const A = o[C];
674
+ re(A);
675
+ }), T(e).gapHandler.isGapSupported() && l && Be(u)) {
676
+ const C = ee({ componentRow: y, isVertical: d }, e);
677
+ v(C, d, De(u));
665
678
  }
666
- }, x = (l, d, m = !1) => {
667
- const y = t.gapHandleSize, h = c.style;
668
- if (d) {
669
- h.height = `${y}px`;
670
- const I = c.offsetHeight;
671
- m ? (h.top = `-${(l + I) / 2}px`, h.bottom = "") : (h.bottom = `-${(l + I) / 2}px`, h.top = ""), h.width = "50%", h.left = "50%", h.transform = "translateX(-50%)", h.cursor = "row-resize";
679
+ }, v = (c, u, y = !1) => {
680
+ const P = e.gapHandleSize, d = l.style;
681
+ if (u) {
682
+ d.height = `${P}px`;
683
+ const w = l.offsetHeight;
684
+ y ? (d.top = `-${(c + w) / 2}px`, d.bottom = "") : (d.bottom = `-${(c + w) / 2}px`, d.top = ""), d.width = "50%", d.left = "50%", d.transform = "translateX(-50%)", d.cursor = "row-resize";
672
685
  } else {
673
- h.width = `${y}px`;
674
- const I = c.offsetWidth;
675
- m ? (h.left = `-${(l + I) / 2}px`, h.right = "") : (h.right = `-${(l + I) / 2}px`, h.left = ""), h.height = "50%", h.top = "50%", h.transform = "translateY(-50%)", h.cursor = "col-resize";
686
+ d.width = `${P}px`;
687
+ const w = l.offsetWidth;
688
+ y ? (d.left = `-${(c + w) / 2}px`, d.right = "") : (d.right = `-${(c + w) / 2}px`, d.left = ""), d.height = "50%", d.top = "50%", d.transform = "translateY(-50%)", d.cursor = "col-resize";
676
689
  }
677
- }, v = () => {
678
- i && (at(i), p = null, u = null);
679
- }, b = () => {
680
- e.removeSpots({ type: s });
681
- const l = n.getSelected(), d = l == null ? void 0 : l.parent();
682
- l && d && f.isValidRelationship(d, l) ? e.addSpot({ type: s, component: l }) : v();
683
- }, w = () => {
684
- const l = e.getSpots().filter((d) => d.type === s)[0];
685
- l && C(l);
686
- }, P = (l, d) => {
687
- f.registerTypeRelationship(l, d);
690
+ }, G = () => {
691
+ a && (oe(a), p = null, g = null);
692
+ }, m = () => {
693
+ s.removeSpots({ type: n });
694
+ const c = t.getSelected(), u = c == null ? void 0 : c.parent();
695
+ c && u && f.isValidRelationship(u, c) ? s.addSpot({ type: n, component: c }) : G();
696
+ }, R = () => {
697
+ const c = s.getSpots().filter((u) => u.type === n)[0];
698
+ c && x(c);
699
+ }, z = (c, u) => {
700
+ f.registerTypeRelationship(c, u);
688
701
  };
689
- n.onReady(() => {
690
- g(), M(t) ? P("mj-section", "mj-column") : P(t.typeRow, t.typeColumn);
702
+ t.onReady(() => {
703
+ h(), $(e) ? z("mj-section", "mj-column") : z(e.typeRow, e.typeColumn);
691
704
  });
692
- const z = "component:toggled";
693
- return n.on(e.events.spot, w), n.on(z, b), () => {
694
- n.off(e.events.spot, w), n.off(z, b);
705
+ const S = "component:toggled";
706
+ return t.on(s.events.spot, R), t.on(S, m), () => {
707
+ t.off(s.events.spot, R), t.off(S, m);
695
708
  };
696
709
  }
697
- const Zt = function(n, t = {}) {
698
- const e = {
710
+ const Qe = function(t, e = {}) {
711
+ const s = {
699
712
  typeRow: "flex-row",
700
713
  typeColumn: "flex-column",
701
714
  gapHandleSize: 3,
702
715
  snapDivisions: 12,
703
716
  minItemPercent: 5,
704
- ...t
705
- }, s = [Ot(n, e), Ft(n, e)], i = qt(n, e), a = Bt(n, e);
706
- Et({
707
- editor: n,
708
- licenseKey: e.licenseKey,
709
- plan: Yt,
710
- pluginName: Xt,
717
+ ...e
718
+ }, n = [ke(t, s), Oe(t, s)], a = Ze(t, s), i = _e(t, s);
719
+ Ie({
720
+ editor: t,
721
+ licenseKey: s.licenseKey,
722
+ plan: Xe,
723
+ pluginName: Ue,
711
724
  cleanup: () => {
712
- s.forEach((o) => o == null ? void 0 : o()), i(), a == null || a();
725
+ n.forEach((o) => o == null ? void 0 : o()), a(), i == null || i();
713
726
  }
714
727
  });
715
- }, Qt = Gt(Zt);
728
+ }, et = Ce(Qe);
716
729
  export {
717
- Qt as default
730
+ et as default
718
731
  };