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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/accordionComponent/index.cjs.js +3 -3
  2. package/dist/accordionComponent/index.es.js +12 -12
  3. package/dist/accordionComponent/index.umd.js +3 -3
  4. package/dist/aiChat/index.cjs.js +85 -85
  5. package/dist/aiChat/index.es.js +9759 -9332
  6. package/dist/aiChat/index.js +85 -85
  7. package/dist/aiChat/index.umd.js +86 -86
  8. package/dist/aiChat/locales/en.d.ts +11 -0
  9. package/dist/aiChat/server/index.cjs.js +1 -1
  10. package/dist/aiChat/server/index.es.js +1 -1
  11. package/dist/aiChat/server/index.js +1 -1
  12. package/dist/aiChat/server/index.umd.js +1 -1
  13. package/dist/aiChat/types.d.ts +1 -1
  14. package/dist/animationComponent/index.cjs.js +3 -3
  15. package/dist/animationComponent/index.es.js +10 -10
  16. package/dist/animationComponent/index.umd.js +3 -3
  17. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  18. package/dist/canvasAbsoluteMode/index.es.js +10 -10
  19. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  20. package/dist/canvasEmptyState/index.cjs.js +1 -1
  21. package/dist/canvasEmptyState/index.es.js +1 -1
  22. package/dist/canvasEmptyState/index.umd.js +1 -1
  23. package/dist/canvasFullSize/index.cjs.js +4 -4
  24. package/dist/canvasFullSize/index.es.js +15 -15
  25. package/dist/canvasFullSize/index.umd.js +3 -3
  26. package/dist/canvasGridMode/index.cjs.js +2 -2
  27. package/dist/canvasGridMode/index.es.js +233 -228
  28. package/dist/canvasGridMode/index.umd.js +2 -2
  29. package/dist/canvasScreenshot/index.cjs.js +1 -1
  30. package/dist/canvasScreenshot/index.es.js +11 -11
  31. package/dist/canvasScreenshot/index.umd.js +1 -1
  32. package/dist/dataSourceEjs/index.cjs.js +2 -2
  33. package/dist/dataSourceEjs/index.es.js +5 -5
  34. package/dist/dataSourceEjs/index.umd.js +1 -1
  35. package/dist/dataSourceHandlebars/index.cjs.js +1 -1
  36. package/dist/dataSourceHandlebars/index.es.js +105 -105
  37. package/dist/dataSourceHandlebars/index.umd.js +5 -5
  38. package/dist/dialogComponent/index.cjs.js +3 -3
  39. package/dist/dialogComponent/index.es.js +18 -18
  40. package/dist/dialogComponent/index.umd.js +3 -3
  41. package/dist/flexComponent/index.cjs.js +1 -1
  42. package/dist/flexComponent/index.es.js +1 -1
  43. package/dist/flexComponent/index.umd.js +3 -3
  44. package/dist/fsLightboxComponent/index.cjs.js +1 -1
  45. package/dist/fsLightboxComponent/index.es.js +7 -7
  46. package/dist/fsLightboxComponent/index.umd.js +2 -2
  47. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  48. package/dist/googleFontsAssetProvider/index.es.js +12 -12
  49. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  50. package/dist/iconifyComponent/index.cjs.js +2 -2
  51. package/dist/iconifyComponent/index.es.js +61 -61
  52. package/dist/iconifyComponent/index.umd.js +2 -2
  53. package/dist/index.cjs.js +24 -24
  54. package/dist/index.es.js +335 -330
  55. package/dist/index.umd.js +25 -25
  56. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  57. package/dist/layoutSidebarButtons/index.es.js +15 -15
  58. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  59. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  60. package/dist/lightGalleryComponent/index.es.js +20 -20
  61. package/dist/lightGalleryComponent/index.umd.js +1 -1
  62. package/dist/linkImageComponent/index.cjs.js +1 -1
  63. package/dist/linkImageComponent/index.es.js +1 -1
  64. package/dist/linkImageComponent/index.umd.js +2 -2
  65. package/dist/listPagesComponent/index.cjs.js +2 -2
  66. package/dist/listPagesComponent/index.es.js +10 -10
  67. package/dist/listPagesComponent/index.umd.js +2 -2
  68. package/dist/presetPrintable/index.cjs.js +5 -5
  69. package/dist/presetPrintable/index.es.js +47 -47
  70. package/dist/presetPrintable/index.umd.js +4 -4
  71. package/dist/prosemirror/index.cjs.js +1 -1
  72. package/dist/prosemirror/index.es.js +1 -1
  73. package/dist/prosemirror/index.umd.js +1 -1
  74. package/dist/rendererReact/index.cjs.js +1 -1
  75. package/dist/rendererReact/index.es.js +16 -16
  76. package/dist/rendererReact/index.js +1 -1
  77. package/dist/rendererReact/index.umd.js +1 -1
  78. package/dist/rteTinyMce/index.cjs.js +2 -2
  79. package/dist/rteTinyMce/index.es.js +27 -27
  80. package/dist/rteTinyMce/index.umd.js +1 -1
  81. package/dist/shapeDividerComponent/index.cjs.js +1 -1
  82. package/dist/shapeDividerComponent/index.es.js +10 -10
  83. package/dist/shapeDividerComponent/index.umd.js +2 -2
  84. package/dist/swiperComponent/index.cjs.js +1 -1
  85. package/dist/swiperComponent/index.es.js +1 -1
  86. package/dist/swiperComponent/index.umd.js +1 -1
  87. package/dist/tableComponent/index.cjs.js +1 -1
  88. package/dist/tableComponent/index.es.js +9 -9
  89. package/dist/tableComponent/index.umd.js +1 -1
  90. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  91. package/dist/youtubeAssetProvider/index.es.js +5 -5
  92. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  93. package/package.json +1 -1
@@ -76,7 +76,7 @@ async function ae({
76
76
  throw new Error(`HTTP error! status: ${s.status}`);
77
77
  return s.json();
78
78
  }
79
- var k = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(k || {}), j = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.dialogImportCode = "studio:dialogImportCode", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.layoutComponentAdd = "studio:layoutComponentAdd", e.layoutComponentGet = "studio:layoutComponentGet", e.layoutComponentRemove = "studio:layoutComponentRemove", e.layoutComponentRender = "studio:layoutComponentRender", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.settings = "studio:settings", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(j || {});
79
+ var k = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(k || {}), j = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", e.dialogImportCode = "studio:dialogImportCode", e.openEditCode = "studio:openEditCode", e.sidebarLeftSet = "studio:sidebarLeft:set", e.sidebarLeftGet = "studio:sidebarLeft:get", e.sidebarLeftToggle = "studio:sidebarLeft:toggle", e.sidebarRightSet = "studio:sidebarRight:set", e.sidebarRightGet = "studio:sidebarRight:get", e.sidebarRightToggle = "studio:sidebarRight:toggle", e.sidebarTopSet = "studio:sidebarTop:set", e.sidebarTopGet = "studio:sidebarTop:get", e.sidebarTopToggle = "studio:sidebarTop:toggle", e.sidebarBottomSet = "studio:sidebarBottom:set", e.sidebarBottomGet = "studio:sidebarBottom:get", e.sidebarBottomToggle = "studio:sidebarBottom:toggle", e.symbolAdd = "studio:symbolAdd", e.symbolDetach = "studio:symbolDetach", e.symbolOverride = "studio:symbolOverride", e.symbolPropagateStyles = "studio:propagateStyles", e.getPagesConfig = "studio:getPagesConfig", e.setPagesConfig = "studio:setPagesConfig", e.getPageSettings = "studio:getPageSettings", e.setPageSettings = "studio:setPageSettings", e.clearPage = "studio:clearPage", e.projectFiles = "studio:projectFiles", e.validateCode = "studio:validateCode", e.canvasReload = "studio:canvasReload", e.getBlocksPanel = "studio:getBlocksPanel", e.setBlocksPanel = "studio:setBlocksPanel", e.getStateContextMenu = "studio:getStateContextMenu", e.setStateContextMenu = "studio:setStateContextMenu", e.contextMenuComponent = "studio:contextMenuComponent", e.layoutAdd = "studio:layoutAdd", e.layoutRemove = "studio:layoutRemove", e.layoutToggle = "studio:layoutToggle", e.layoutUpdate = "studio:layoutUpdate", e.layoutGet = "studio:layoutGet", e.layoutConfigGet = "studio:layoutConfigGet", e.layoutConfigSet = "studio:layoutConfigSet", e.layoutComponentAdd = "studio:layoutComponentAdd", e.layoutComponentGet = "studio:layoutComponentGet", e.layoutComponentRemove = "studio:layoutComponentRemove", e.layoutComponentRender = "studio:layoutComponentRender", e.getStateTheme = "studio:getStateTheme", e.setStateTheme = "studio:setStateTheme", e.settings = "studio:settings", e.assetProviderGet = "studio:assetProviderGet", e.assetProviderAdd = "studio:assetProviderAdd", e.assetProviderRemove = "studio:assetProviderRemove", e.fontGet = "studio:fontGet", e.fontAdd = "studio:fontAdd", e.fontRemove = "studio:fontRemove", e.fontManagerOpen = "studio:fontManagerOpen", e.menuFontLoad = "studio:menuFontLoad", e.toggleStateDataSource = "studio:toggleStateDataSource", e.getStateDataSource = "studio:getStateDataSource", e.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", e.dataSourceSetImporter = "studio:dataSourceSetImporter", e.dataSourceSetExporter = "studio:dataSourceSetExporter", e.setDragAbsolute = "studio:setDragAbsolute", e))(j || {});
80
80
  const F = {
81
81
  [k.free]: 0,
82
82
  [k.startup]: 10,
@@ -101,12 +101,12 @@ async function ce({
101
101
  console.warn("Cleanup plugin:", t, "Reason:", s), r();
102
102
  }, g = (s = {}) => {
103
103
  var p;
104
- const { error: d, sdkLicense: u } = s, b = (p = s.plan) == null ? void 0 : p.category;
104
+ const { error: d, sdkLicense: u } = s, m = (p = s.plan) == null ? void 0 : p.category;
105
105
  if (!(u || s.license) || d)
106
106
  l(d || "Invalid license");
107
- else if (b) {
108
- const h = F[n], L = F[b];
109
- h > L && l({ pluginRequiredPlan: n, licensePlan: b });
107
+ else if (m) {
108
+ const h = F[n], L = F[m];
109
+ h > L && l({ pluginRequiredPlan: n, licensePlan: m });
110
110
  }
111
111
  };
112
112
  e.Commands.has(j.settings) && (i = e.runCommand(j.settings), c = (i == null ? void 0 : i.baseUrl) || "");
@@ -178,7 +178,7 @@ function N(e, n, t) {
178
178
  }
179
179
  const A = "page-break";
180
180
  var y = /* @__PURE__ */ ((e) => (e.A5 = "a5", e.A5Portrait = "a5-portrait", e.A4 = "a4", e.A3 = "a3", e.B5 = "b5", e.B4 = "b4", e.letter = "letter", e.legal = "legal", e.ledger = "ledger", e))(y || {});
181
- function S(e, n) {
181
+ function _(e, n) {
182
182
  const o = {
183
183
  mm: 3.7795275590551185,
184
184
  // 1mm ≈ 3.78px
@@ -203,10 +203,10 @@ const he = (e, n) => {
203
203
  sizeUnit: c,
204
204
  widthMedia: "",
205
205
  width: l,
206
- minHeight: i ? "0" : `${S(r, c)}px`,
206
+ minHeight: i ? "0" : `${_(r, c)}px`,
207
207
  height: i ? g : void 0
208
208
  };
209
- }, _ = "page-breaks", D = "gjs-page-breaks-spot", H = (e) => e.type === _;
209
+ }, M = "page-breaks", D = "gjs-page-breaks-spot", H = (e) => e.type === M;
210
210
  function fe(e) {
211
211
  const { Devices: n } = e, { height: t, minHeight: o } = n.getSelected().attributes, r = parseFloat(`${t && t !== "auto" ? t : o}`), c = e.getWrapper(), i = c == null ? void 0 : c.getEl(), l = [];
212
212
  if (!c || !i)
@@ -214,7 +214,7 @@ function fe(e) {
214
214
  const g = i.getBoundingClientRect().height, s = c.findType(A).map((u) => u.getEl()).filter(Boolean).map((u) => ({ top: u.offsetTop, height: u.offsetHeight }));
215
215
  let d = 0;
216
216
  for (; d < g; ) {
217
- const u = s.find((b) => b.top > d && b.top < d + r);
217
+ const u = s.find((m) => m.top > d && m.top < d + r);
218
218
  u ? (d = u.top + u.height, l.push(u.top)) : (d += r, d < g && l.push(d));
219
219
  }
220
220
  return l;
@@ -248,7 +248,7 @@ function ve(e, n) {
248
248
  );
249
249
  }, i = () => {
250
250
  if (n.enablePageBreaksSpot === !1) return;
251
- const p = { id: _, type: _, component: e.getWrapper() };
251
+ const p = { id: M, type: M, component: e.getWrapper() };
252
252
  return t.getSpots(p).pop() || t.addSpot(p);
253
253
  }, l = ({ spot: p }) => {
254
254
  const { spotEl: h } = p.attributes;
@@ -260,8 +260,8 @@ function ve(e, n) {
260
260
  }, f = ({ spot: p }) => {
261
261
  const { spotEl: h, pageBreaks: L = [] } = p.attributes;
262
262
  !H(p) || !h || !r || (Object.entries(p.getStyle()).forEach(([$, x]) => h.style.setProperty($, x)), h.innerHTML = "", L.forEach(($, x) => {
263
- const E = document.createElement("div");
264
- E.setAttribute("data-page-number", `${x + 2}`), E.className = D, E.style.top = `${$}px`, h.appendChild(E);
263
+ const T = document.createElement("div");
264
+ T.setAttribute("data-page-number", `${x + 2}`), T.className = D, T.style.top = `${$}px`, h.appendChild(T);
265
265
  }));
266
266
  }, s = N(() => {
267
267
  if (e.em.destroyed) return;
@@ -269,12 +269,12 @@ function ve(e, n) {
269
269
  p && p.set({ pageBreaks: fe(e), up: (p.attributes.up || 0) + 1 });
270
270
  }, 150), d = N(s, 200), u = () => {
271
271
  r = t.getSpotsEl(), i();
272
- }, b = () => {
272
+ }, m = () => {
273
273
  const p = i();
274
274
  p && p.set({ up: (p.attributes.up || 0) + 1 });
275
275
  }, w = [
276
276
  ["component:input", s],
277
- ["frame:scroll", b],
277
+ ["frame:scroll", m],
278
278
  [a.update, s],
279
279
  [o.spotAdd, g],
280
280
  [o.spotUpdate, f],
@@ -282,20 +282,20 @@ function ve(e, n) {
282
282
  [o.frameLoadBody, u]
283
283
  ];
284
284
  return w.forEach(([p, h]) => e.on(p, h)), e.onReady(() => {
285
- c(), new ResizeObserver(b).observe(t.getElement().parentElement);
285
+ c(), new ResizeObserver(m).observe(t.getElement().parentElement);
286
286
  }), () => {
287
287
  w.forEach(([p, h]) => e.off(p, h)), s.clear(), d.clear();
288
288
  };
289
289
  }
290
- var M = /* @__PURE__ */ ((e) => (e.print = "presetPrintable:print", e))(M || {});
290
+ var S = /* @__PURE__ */ ((e) => (e.print = "presetPrintable:print", e))(S || {});
291
291
  const W = (e) => new Promise((n) => {
292
292
  const t = document.createElement("iframe");
293
293
  t.style.cssText = "position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;", t.srcdoc = e.content, t.onload = () => n(t), document.body.appendChild(t);
294
294
  });
295
- function me(e, n) {
295
+ function be(e, n) {
296
296
  const { Commands: t, Pages: o } = e;
297
297
  return t.add(
298
- M.print,
298
+ S.print,
299
299
  async (a, r, c = {}) => {
300
300
  const i = {
301
301
  page: c.allPages ? void 0 : o.getSelected(),
@@ -318,13 +318,13 @@ function me(e, n) {
318
318
  }
319
319
  ), t.add("presetPrintable:exp", async (a) => {
320
320
  await I("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"), await I("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");
321
- const { Devices: r, Canvas: c } = a, { sizeW: i, sizeH: l, sizeUnit: g } = r.getSelected().attributes, f = c.getFrameEl().contentDocument, s = "px", d = [S(i, g), S(l, g)], u = new window.jspdf.jsPDF({ unit: s, format: d }), b = f.body;
322
- u.html(b, { callback: (w) => w.save() });
321
+ const { Devices: r, Canvas: c } = a, { sizeW: i, sizeH: l, sizeUnit: g } = r.getSelected().attributes, f = c.getFrameEl().contentDocument, s = "px", d = [_(i, g), _(l, g)], u = new window.jspdf.jsPDF({ unit: s, format: d }), m = f.body;
322
+ u.html(m, { callback: (w) => w.save() });
323
323
  }), () => {
324
- delete e.Commands.commands[M.print];
324
+ delete e.Commands.commands[S.print];
325
325
  };
326
326
  }
327
- function be(e, n) {
327
+ function me(e, n) {
328
328
  const { blockPageBreak: t = {} } = n, { Components: o, Blocks: a } = e, r = "Page Break", c = `${ue}${A}`;
329
329
  return o.addType(A, {
330
330
  block: t && {
@@ -371,23 +371,23 @@ const ye = "presetPrintable", we = k.free, Pe = function(e, n = {}) {
371
371
  a.devices.reset(s);
372
372
  const d = l && a.get(l) || a.getAll().at(0);
373
373
  a.select(d), ["map", "video"].forEach((v) => r.remove(v));
374
- const b = (v = {}) => {
375
- const m = "page-rule", { rules: P } = e.Css, { width: T, height: B, minHeight: R } = a.getSelected().attributes, Y = B && B !== "auto" ? B : R, G = P.where({ id: m }).pop(), J = G || P.add(
374
+ const m = (v = {}) => {
375
+ const b = "page-rule", { rules: P } = e.Css, { width: E, height: B, minHeight: R } = a.getSelected().attributes, Y = B && B !== "auto" ? B : R, G = P.where({ id: b }).pop(), J = G || P.add(
376
376
  {
377
- id: m,
377
+ id: b,
378
378
  selectors: [],
379
379
  selectorsAdd: "@page"
380
380
  },
381
381
  { at: 0 }
382
382
  );
383
383
  (v.fromDeviceChange || !G) && J.addStyle({
384
- size: `${T} ${Y}`,
384
+ size: `${E} ${Y}`,
385
385
  ...!G && { margin: "0" }
386
386
  });
387
- }, w = (v, m = {}) => {
388
- const P = v.document, { minHeight: T } = a.getSelected().attributes, R = `
389
- ${!!parseFloat(`${T}`) ? `
390
- [data-gjs-type="wrapper"] { min-height: ${T}; }
387
+ }, w = (v, b = {}) => {
388
+ const P = v.document, { minHeight: E } = a.getSelected().attributes, R = `
389
+ ${!!parseFloat(`${E}`) ? `
390
+ [data-gjs-type="wrapper"] { min-height: ${E}; }
391
391
  ` : `
392
392
  body {
393
393
  overflow: hidden;
@@ -399,25 +399,25 @@ const ye = "presetPrintable", we = k.free, Pe = function(e, n = {}) {
399
399
  }
400
400
  `}
401
401
  `;
402
- K(`${q}preset-printable`, R, { doc: P, target: P.head }), b(m);
402
+ K(`${q}preset-printable`, R, { doc: P, target: P.head }), m(b);
403
403
  };
404
404
  e.on(c.frameLoadBody, (v) => {
405
- const m = v.window;
406
- if (w(m), t.fixedHeight) {
407
- const T = v.model.getComponent().getEl();
408
- T == null || T.addEventListener("scroll", (B) => {
405
+ const b = v.window;
406
+ if (w(b), t.fixedHeight) {
407
+ const E = v.model.getComponent().getEl();
408
+ E == null || E.addEventListener("scroll", (B) => {
409
409
  const R = B.target;
410
410
  R.scrollTop > 0 && R.scrollTo(0, 0);
411
411
  });
412
412
  }
413
413
  }), e.on(a.events.select, () => {
414
- var m;
415
- const v = (m = o.getFrameEl().contentDocument) == null ? void 0 : m.defaultView;
414
+ var b;
415
+ const v = (b = o.getFrameEl().contentDocument) == null ? void 0 : b.defaultView;
416
416
  v && w(v, { fromDeviceChange: !0 });
417
417
  });
418
418
  const p = () => {
419
- const m = e.Css.getRules().filter((P) => P.selectorsToString() === "body").pop();
420
- m == null || m.addStyle({
419
+ const b = e.Css.getRules().filter((P) => P.selectorsToString() === "body").pop();
420
+ b == null || b.addStyle({
421
421
  "margin-top": "",
422
422
  "margin-right": "",
423
423
  "margin-bottom": "",
@@ -425,22 +425,22 @@ const ye = "presetPrintable", we = k.free, Pe = function(e, n = {}) {
425
425
  margin: "0"
426
426
  });
427
427
  }, h = [[i.projectLoad, p]];
428
- h.forEach(([v, m]) => e.on(v, m));
429
- const L = ve(e, t), $ = me(e), x = be(e, t);
428
+ h.forEach(([v, b]) => e.on(v, b));
429
+ const L = ve(e, t), $ = be(e), x = me(e, t);
430
430
  e.onReady(() => {
431
431
  e.UndoManager.clear();
432
432
  });
433
- const E = () => {
434
- h.forEach(([v, m]) => e.off(v, m)), L(), $(), x();
433
+ const T = () => {
434
+ h.forEach(([v, b]) => e.off(v, b)), L(), $(), x();
435
435
  };
436
- e.on(i.destroy, E), ce({
436
+ e.on(i.destroy, T), ce({
437
437
  editor: e,
438
438
  licenseKey: t.licenseKey,
439
439
  plan: we,
440
440
  pluginName: ye,
441
- cleanup: E
441
+ cleanup: T
442
442
  });
443
- }, Te = ie(Pe);
443
+ }, Ee = ie(Pe);
444
444
  export {
445
- Te as default
445
+ Ee as default
446
446
  };
@@ -1,11 +1,11 @@
1
- (function(B,R){typeof exports=="object"&&typeof module<"u"?module.exports=R():typeof define=="function"&&define.amd?define(R):(B=typeof globalThis<"u"?globalThis:B||self,B.StudioSdkPlugins_presetPrintable=R())})(this,function(){"use strict";const B="app.grapesjs.com",R="app-stage.grapesjs.com",I=[B,"app2.grapesjs.com",R,"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"],Y="license:check:end",J=()=>typeof window<"u",N=(e,n={})=>{const t=ee(e)?{id:e,src:e}:e;return new Promise((o,a)=>{var d,u;const{loadedScripts:r}=n,{id:c,src:i}=t,l=document.querySelector(`script[src="${i}"]`);if(l){if((d=n.onScript)==null||d.call(n,l),r&&!r.get(i)){l.addEventListener("load",()=>o(c)),l.addEventListener("error",()=>a(c));return}return o(c)}const g=window.define;window.define=void 0;const f=()=>{r==null||r.set(i,!0),window.define=g},s=document.createElement("script");s.src=i,s.onload=()=>{o(c),f()},s.onerror=()=>{a(c),f()},document.head.appendChild(s),(u=n.onScript)==null||u.call(n,s)})},X=({isDev:e,isStage:n,isPlatform:t})=>`${e?"":`https://${n?R:B}`}/${t?"platform-api":"api"}`,Z=()=>{if(!J())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},Q=()=>{const e=Z();return!!e&&(I.includes(e)||I.some(n=>e.endsWith(n)))},ee=e=>typeof e=="string";async function te({path:e,baseApiUrl:n,method:t="GET",headers:o={},params:a,body:r}){const i=`${n||X({isDev:!1,isStage:!1})}${e}`,l={method:t,headers:{"Content-Type":"application/json",...o}};r&&(l.body=JSON.stringify(r));const g=a?new URLSearchParams(a).toString():"",f=g?`?${g}`:"",s=await fetch(`${i}${f}`,l);if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s.json()}var k=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(k||{}),S=(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))(S||{});const F={[k.free]:0,[k.startup]:10,[k.business]:20,[k.enterprise]:30};function oe(e){const n=e;return n.init=t=>o=>e(o,t),n}const ne=e=>oe(e);async function se({editor:e,plan:n,pluginName:t,licenseKey:o,onLicenseCheckResponse:a,cleanup:r}){let c="",i;const l=s=>{console.warn("Cleanup plugin:",t,"Reason:",s),r()},g=(s={})=>{var p;const{error:d,sdkLicense:u}=s,b=(p=s.plan)==null?void 0:p.category;if(!(u||s.license)||d)l(d||"Invalid license");else if(b){const h=F[n],x=F[b];h>x&&l({pluginRequiredPlan:n,licensePlan:b})}};e.Commands.has(S.settings)&&(i=e.runCommand(S.settings),c=(i==null?void 0:i.baseUrl)||"");const f=s=>{a==null||a(s),s&&g(s)};if(!i){e.onReady(async()=>{if(!Q())if(o){const s=await re({licenseKey:o,pluginName:t,baseApiUrl:c});f(s)}else l("The `licenseKey` option not provided")});return}if(i.licensePlan||i.licenseError){const s=ae(i);f(s);return}e.on(Y,s=>f(s))}const ae=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function re(e){const{licenseKey:n,pluginName:t,baseApiUrl:o}=e;try{return(await te({baseApiUrl:o,path:`/sdk/${n||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const ie=e=>n=>{var t;return((t=n.getAttribute)==null?void 0:t.call(n,z))===e},ce=(...e)=>(n,t)=>e.some(o=>t.is(o)),W=(e,n,t)=>{const{doc:o=document}=t,a=t.target||o.head,r=a.querySelector(`style[${e}]`)||o.createElement("style");r.setAttribute(e,"true"),r.innerHTML=n,!a.contains(r)&&a.appendChild(r)},le="gjs-plg-",C="data-gs-plg-",z="data-type-role";function K(e,n,t){let o,a,r,c,i;const l=n===void 0?100:n;function g(){const s=Date.now()-c;s<l&&s>=0?o=setTimeout(g,l-s):(o=null,i=e.apply(r,a),r=a=null)}const f=function(){return r=this,a=arguments,c=Date.now(),o||(o=setTimeout(g,l)),i};return f.clear=function(){o&&(clearTimeout(o),o=null)},f.flush=function(){o&&(i=e.apply(r,a),r=a=null,clearTimeout(o),o=null)},f}const E="page-break";var y=(e=>(e.A5="a5",e.A5Portrait="a5-portrait",e.A4="a4",e.A3="a3",e.B5="b5",e.B4="b4",e.letter="letter",e.legal="legal",e.ledger="ledger",e))(y||{});function G(e,n){const o={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return o[n]?e*o[n]:null}const pe=(e,n)=>{const{name:t,id:o,width:a,height:r,unit:c}=e,{fixedHeight:i}=n,l=`${a}${c}`,g=`${r}${c}`;return{id:o||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${l} x ${g})`,sizeH:r,sizeW:a,sizeUnit:c,widthMedia:"",width:l,minHeight:i?"0":`${G(r,c)}px`,height:i?g:void 0}},M="page-breaks",_="gjs-page-breaks-spot",H=e=>e.type===M;function de(e){const{Devices:n}=e,{height:t,minHeight:o}=n.getSelected().attributes,r=parseFloat(`${t&&t!=="auto"?t:o}`),c=e.getWrapper(),i=c==null?void 0:c.getEl(),l=[];if(!c||!i)return l;const g=i.getBoundingClientRect().height,s=c.findType(E).map(u=>u.getEl()).filter(Boolean).map(u=>({top:u.offsetTop,height:u.offsetHeight}));let d=0;for(;d<g;){const u=s.find(b=>b.top>d&&b.top<d+r);u?(d=u.top+u.height,l.push(u.top)):(d+=r,d<g&&l.push(d))}return l}function ge(e,n){const{Canvas:t}=e,o=t.events,a=e.events;let r;const c=()=>{W(`${C}preset-printable-spots`,`.${_} {
1
+ (function(B,R){typeof exports=="object"&&typeof module<"u"?module.exports=R():typeof define=="function"&&define.amd?define(R):(B=typeof globalThis<"u"?globalThis:B||self,B.StudioSdkPlugins_presetPrintable=R())})(this,function(){"use strict";const B="app.grapesjs.com",R="app-stage.grapesjs.com",I=[B,"app2.grapesjs.com",R,"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"],Y="license:check:end",J=()=>typeof window<"u",N=(e,n={})=>{const t=ee(e)?{id:e,src:e}:e;return new Promise((o,a)=>{var d,u;const{loadedScripts:r}=n,{id:c,src:i}=t,l=document.querySelector(`script[src="${i}"]`);if(l){if((d=n.onScript)==null||d.call(n,l),r&&!r.get(i)){l.addEventListener("load",()=>o(c)),l.addEventListener("error",()=>a(c));return}return o(c)}const g=window.define;window.define=void 0;const f=()=>{r==null||r.set(i,!0),window.define=g},s=document.createElement("script");s.src=i,s.onload=()=>{o(c),f()},s.onerror=()=>{a(c),f()},document.head.appendChild(s),(u=n.onScript)==null||u.call(n,s)})},X=({isDev:e,isStage:n,isPlatform:t})=>`${e?"":`https://${n?R:B}`}/${t?"platform-api":"api"}`,Z=()=>{if(!J())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},Q=()=>{const e=Z();return!!e&&(I.includes(e)||I.some(n=>e.endsWith(n)))},ee=e=>typeof e=="string";async function te({path:e,baseApiUrl:n,method:t="GET",headers:o={},params:a,body:r}){const i=`${n||X({isDev:!1,isStage:!1})}${e}`,l={method:t,headers:{"Content-Type":"application/json",...o}};r&&(l.body=JSON.stringify(r));const g=a?new URLSearchParams(a).toString():"",f=g?`?${g}`:"",s=await fetch(`${i}${f}`,l);if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s.json()}var k=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(k||{}),_=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.dialogImportCode="studio:dialogImportCode",e.openEditCode="studio:openEditCode",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.layoutComponentAdd="studio:layoutComponentAdd",e.layoutComponentGet="studio:layoutComponentGet",e.layoutComponentRemove="studio:layoutComponentRemove",e.layoutComponentRender="studio:layoutComponentRender",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.settings="studio:settings",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))(_||{});const F={[k.free]:0,[k.startup]:10,[k.business]:20,[k.enterprise]:30};function oe(e){const n=e;return n.init=t=>o=>e(o,t),n}const ne=e=>oe(e);async function se({editor:e,plan:n,pluginName:t,licenseKey:o,onLicenseCheckResponse:a,cleanup:r}){let c="",i;const l=s=>{console.warn("Cleanup plugin:",t,"Reason:",s),r()},g=(s={})=>{var p;const{error:d,sdkLicense:u}=s,m=(p=s.plan)==null?void 0:p.category;if(!(u||s.license)||d)l(d||"Invalid license");else if(m){const h=F[n],x=F[m];h>x&&l({pluginRequiredPlan:n,licensePlan:m})}};e.Commands.has(_.settings)&&(i=e.runCommand(_.settings),c=(i==null?void 0:i.baseUrl)||"");const f=s=>{a==null||a(s),s&&g(s)};if(!i){e.onReady(async()=>{if(!Q())if(o){const s=await re({licenseKey:o,pluginName:t,baseApiUrl:c});f(s)}else l("The `licenseKey` option not provided")});return}if(i.licensePlan||i.licenseError){const s=ae(i);f(s);return}e.on(Y,s=>f(s))}const ae=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function re(e){const{licenseKey:n,pluginName:t,baseApiUrl:o}=e;try{return(await te({baseApiUrl:o,path:`/sdk/${n||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const ie=e=>n=>{var t;return((t=n.getAttribute)==null?void 0:t.call(n,z))===e},ce=(...e)=>(n,t)=>e.some(o=>t.is(o)),W=(e,n,t)=>{const{doc:o=document}=t,a=t.target||o.head,r=a.querySelector(`style[${e}]`)||o.createElement("style");r.setAttribute(e,"true"),r.innerHTML=n,!a.contains(r)&&a.appendChild(r)},le="gjs-plg-",C="data-gs-plg-",z="data-type-role";function K(e,n,t){let o,a,r,c,i;const l=n===void 0?100:n;function g(){const s=Date.now()-c;s<l&&s>=0?o=setTimeout(g,l-s):(o=null,i=e.apply(r,a),r=a=null)}const f=function(){return r=this,a=arguments,c=Date.now(),o||(o=setTimeout(g,l)),i};return f.clear=function(){o&&(clearTimeout(o),o=null)},f.flush=function(){o&&(i=e.apply(r,a),r=a=null,clearTimeout(o),o=null)},f}const E="page-break";var y=(e=>(e.A5="a5",e.A5Portrait="a5-portrait",e.A4="a4",e.A3="a3",e.B5="b5",e.B4="b4",e.letter="letter",e.legal="legal",e.ledger="ledger",e))(y||{});function G(e,n){const o={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return o[n]?e*o[n]:null}const pe=(e,n)=>{const{name:t,id:o,width:a,height:r,unit:c}=e,{fixedHeight:i}=n,l=`${a}${c}`,g=`${r}${c}`;return{id:o||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${l} x ${g})`,sizeH:r,sizeW:a,sizeUnit:c,widthMedia:"",width:l,minHeight:i?"0":`${G(r,c)}px`,height:i?g:void 0}},M="page-breaks",S="gjs-page-breaks-spot",H=e=>e.type===M;function de(e){const{Devices:n}=e,{height:t,minHeight:o}=n.getSelected().attributes,r=parseFloat(`${t&&t!=="auto"?t:o}`),c=e.getWrapper(),i=c==null?void 0:c.getEl(),l=[];if(!c||!i)return l;const g=i.getBoundingClientRect().height,s=c.findType(E).map(u=>u.getEl()).filter(Boolean).map(u=>({top:u.offsetTop,height:u.offsetHeight}));let d=0;for(;d<g;){const u=s.find(m=>m.top>d&&m.top<d+r);u?(d=u.top+u.height,l.push(u.top)):(d+=r,d<g&&l.push(d))}return l}function ge(e,n){const{Canvas:t}=e,o=t.events,a=e.events;let r;const c=()=>{W(`${C}preset-printable-spots`,`.${S} {
2
2
  position: absolute;
3
3
  left: 0;
4
4
  width: 100%;
5
5
  border-top: 1px dashed var(--gs-theme-cl-cmp-bg2, var(--gjs-color-blue));
6
6
  color: var(--gs-theme-cl-prm-txt, var(--gjs-font-color));
7
7
  }
8
- .${_}::after {
8
+ .${S}::after {
9
9
  background-color: var(--gs-theme-cl-cmp-bg1, var(--gjs-color-highlight));
10
10
  content: attr(data-page-number);
11
11
  display: block;
@@ -16,7 +16,7 @@
16
16
  right: 0;
17
17
  transform: translate(100%, -50%);
18
18
  }
19
- `,{target:window.document.head})},i=()=>{if(n.enablePageBreaksSpot===!1)return;const p={id:M,type:M,component:e.getWrapper()};return t.getSpots(p).pop()||t.addSpot(p)},l=({spot:p})=>{const{spotEl:h}=p.attributes;!H(p)||!h||!r||r.removeChild(h)},g=({spot:p})=>{if(!H(p)||!r)return;let{spotEl:h}=p.attributes;h||(h=document.createElement("div"),h.className=`${_}__items`,p.set({spotEl:h})),r.appendChild(h)},f=({spot:p})=>{const{spotEl:h,pageBreaks:x=[]}=p.attributes;!H(p)||!h||!r||(Object.entries(p.getStyle()).forEach(([D,j])=>h.style.setProperty(D,j)),h.innerHTML="",x.forEach((D,j)=>{const A=document.createElement("div");A.setAttribute("data-page-number",`${j+2}`),A.className=_,A.style.top=`${D}px`,h.appendChild(A)}))},s=K(()=>{if(e.em.destroyed)return;const p=i();p&&p.set({pageBreaks:de(e),up:(p.attributes.up||0)+1})},150),d=K(s,200),u=()=>{r=t.getSpotsEl(),i()},b=()=>{const p=i();p&&p.set({up:(p.attributes.up||0)+1})},w=[["component:input",s],["frame:scroll",b],[a.update,s],[o.spotAdd,g],[o.spotUpdate,f],[o.spotRemove,l],[o.frameLoadBody,u]];return w.forEach(([p,h])=>e.on(p,h)),e.onReady(()=>{c(),new ResizeObserver(b).observe(t.getElement().parentElement)}),()=>{w.forEach(([p,h])=>e.off(p,h)),s.clear(),d.clear()}}var O=(e=>(e.print="presetPrintable:print",e))(O||{});const q=e=>new Promise(n=>{const t=document.createElement("iframe");t.style.cssText="position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;",t.srcdoc=e.content,t.onload=()=>n(t),document.body.appendChild(t)});function ue(e,n){const{Commands:t,Pages:o}=e;return t.add(O.print,async(a,r,c={})=>{const i={page:c.allPages?void 0:o.getSelected(),styles:"inline",optionsHtml:{exporter:null}},g=(await t.run(S.projectFiles,i)).filter(d=>d.filename.endsWith(".html")),f=g.map(d=>d.content).join('<div style="break-before: page;"></div>'),s=[];if(c.separatePrints)for(const d of g)s.push(await q(d));else s.push(await q({content:f,filename:"",mimeType:""}));for(const d of s){const u=d.contentWindow;u.focus(),u.print()}setTimeout(()=>s.forEach(d=>d.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await N("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await N("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:r,Canvas:c}=a,{sizeW:i,sizeH:l,sizeUnit:g}=r.getSelected().attributes,f=c.getFrameEl().contentDocument,s="px",d=[G(i,g),G(l,g)],u=new window.jspdf.jsPDF({unit:s,format:d}),b=f.body;u.html(b,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[O.print]}}function he(e,n){const{blockPageBreak:t={}}=n,{Components:o,Blocks:a}=e,r="Page Break",c=`${le}${E}`;return o.addType(E,{block:t&&{label:r,media:'<svg viewBox="0 0 24 24"><path d="M18 20H6v-2H4v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2h-2v2M14 2H6a2 2 0 0 0-2 2v8h2V4h8v4h4v4h2V8l-6-6m-3 14H8v-2h3v2m5 0h-3v-2h3v2M3 14h3v2H3v-2m18 2h-3v-2h3v2Z"/></svg>',category:"Extra",select:!0,...t},isComponent:ie(E),model:{defaults:{name:r,classes:c,attributes:{[z]:E},emptyState:!0,stylable:!1,droppable:!1,draggable:ce("wrapper"),styles:`.${c} { break-before: page; }`,traits:[]}}}),()=>{o.removeType(E),a.remove(E)}}const fe="presetPrintable",ve=k.free;return ne(function(e,n={}){var V;const t={selectedDevice:y.A4,...n},{Canvas:o,Devices:a,Blocks:r}=e,c=o.events,i=e.events,l=t.selectedDevice||a.getConfig().default,g=[{id:y.A5,name:"A5",width:148,height:210,unit:"mm"},{id:y.A5Portrait,name:"A5 Portrait",width:210,height:148,unit:"mm"},{id:y.A4,name:"A4",width:210,height:297,unit:"mm"},{id:y.A3,name:"A3",width:297,height:420,unit:"mm"},{id:y.B5,name:"B5",width:176,height:250,unit:"mm"},{id:y.B4,name:"B4",width:250,height:353,unit:"mm"},{id:y.letter,name:"Letter",width:8.5,height:11,unit:"in"},{id:y.legal,name:"Legal",width:8.5,height:14,unit:"in"},{id:y.ledger,name:"Ledger",width:11,height:17,unit:"in"}],s=(((V=t.devices)==null?void 0:V.call(t,{items:g}))||g).map(v=>pe(v,t));a.devices.reset(s);const d=l&&a.get(l)||a.getAll().at(0);a.select(d),["map","video"].forEach(v=>r.remove(v));const b=(v={})=>{const m="page-rule",{rules:P}=e.Css,{width:T,height:L,minHeight:$}=a.getSelected().attributes,me=L&&L!=="auto"?L:$,U=P.where({id:m}).pop(),be=U||P.add({id:m,selectors:[],selectorsAdd:"@page"},{at:0});(v.fromDeviceChange||!U)&&be.addStyle({size:`${T} ${me}`,...!U&&{margin:"0"}})},w=(v,m={})=>{const P=v.document,{minHeight:T}=a.getSelected().attributes,$=`
19
+ `,{target:window.document.head})},i=()=>{if(n.enablePageBreaksSpot===!1)return;const p={id:M,type:M,component:e.getWrapper()};return t.getSpots(p).pop()||t.addSpot(p)},l=({spot:p})=>{const{spotEl:h}=p.attributes;!H(p)||!h||!r||r.removeChild(h)},g=({spot:p})=>{if(!H(p)||!r)return;let{spotEl:h}=p.attributes;h||(h=document.createElement("div"),h.className=`${S}__items`,p.set({spotEl:h})),r.appendChild(h)},f=({spot:p})=>{const{spotEl:h,pageBreaks:x=[]}=p.attributes;!H(p)||!h||!r||(Object.entries(p.getStyle()).forEach(([D,j])=>h.style.setProperty(D,j)),h.innerHTML="",x.forEach((D,j)=>{const A=document.createElement("div");A.setAttribute("data-page-number",`${j+2}`),A.className=S,A.style.top=`${D}px`,h.appendChild(A)}))},s=K(()=>{if(e.em.destroyed)return;const p=i();p&&p.set({pageBreaks:de(e),up:(p.attributes.up||0)+1})},150),d=K(s,200),u=()=>{r=t.getSpotsEl(),i()},m=()=>{const p=i();p&&p.set({up:(p.attributes.up||0)+1})},w=[["component:input",s],["frame:scroll",m],[a.update,s],[o.spotAdd,g],[o.spotUpdate,f],[o.spotRemove,l],[o.frameLoadBody,u]];return w.forEach(([p,h])=>e.on(p,h)),e.onReady(()=>{c(),new ResizeObserver(m).observe(t.getElement().parentElement)}),()=>{w.forEach(([p,h])=>e.off(p,h)),s.clear(),d.clear()}}var O=(e=>(e.print="presetPrintable:print",e))(O||{});const q=e=>new Promise(n=>{const t=document.createElement("iframe");t.style.cssText="position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;",t.srcdoc=e.content,t.onload=()=>n(t),document.body.appendChild(t)});function ue(e,n){const{Commands:t,Pages:o}=e;return t.add(O.print,async(a,r,c={})=>{const i={page:c.allPages?void 0:o.getSelected(),styles:"inline",optionsHtml:{exporter:null}},g=(await t.run(_.projectFiles,i)).filter(d=>d.filename.endsWith(".html")),f=g.map(d=>d.content).join('<div style="break-before: page;"></div>'),s=[];if(c.separatePrints)for(const d of g)s.push(await q(d));else s.push(await q({content:f,filename:"",mimeType:""}));for(const d of s){const u=d.contentWindow;u.focus(),u.print()}setTimeout(()=>s.forEach(d=>d.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await N("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await N("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:r,Canvas:c}=a,{sizeW:i,sizeH:l,sizeUnit:g}=r.getSelected().attributes,f=c.getFrameEl().contentDocument,s="px",d=[G(i,g),G(l,g)],u=new window.jspdf.jsPDF({unit:s,format:d}),m=f.body;u.html(m,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[O.print]}}function he(e,n){const{blockPageBreak:t={}}=n,{Components:o,Blocks:a}=e,r="Page Break",c=`${le}${E}`;return o.addType(E,{block:t&&{label:r,media:'<svg viewBox="0 0 24 24"><path d="M18 20H6v-2H4v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2h-2v2M14 2H6a2 2 0 0 0-2 2v8h2V4h8v4h4v4h2V8l-6-6m-3 14H8v-2h3v2m5 0h-3v-2h3v2M3 14h3v2H3v-2m18 2h-3v-2h3v2Z"/></svg>',category:"Extra",select:!0,...t},isComponent:ie(E),model:{defaults:{name:r,classes:c,attributes:{[z]:E},emptyState:!0,stylable:!1,droppable:!1,draggable:ce("wrapper"),styles:`.${c} { break-before: page; }`,traits:[]}}}),()=>{o.removeType(E),a.remove(E)}}const fe="presetPrintable",ve=k.free;return ne(function(e,n={}){var V;const t={selectedDevice:y.A4,...n},{Canvas:o,Devices:a,Blocks:r}=e,c=o.events,i=e.events,l=t.selectedDevice||a.getConfig().default,g=[{id:y.A5,name:"A5",width:148,height:210,unit:"mm"},{id:y.A5Portrait,name:"A5 Portrait",width:210,height:148,unit:"mm"},{id:y.A4,name:"A4",width:210,height:297,unit:"mm"},{id:y.A3,name:"A3",width:297,height:420,unit:"mm"},{id:y.B5,name:"B5",width:176,height:250,unit:"mm"},{id:y.B4,name:"B4",width:250,height:353,unit:"mm"},{id:y.letter,name:"Letter",width:8.5,height:11,unit:"in"},{id:y.legal,name:"Legal",width:8.5,height:14,unit:"in"},{id:y.ledger,name:"Ledger",width:11,height:17,unit:"in"}],s=(((V=t.devices)==null?void 0:V.call(t,{items:g}))||g).map(v=>pe(v,t));a.devices.reset(s);const d=l&&a.get(l)||a.getAll().at(0);a.select(d),["map","video"].forEach(v=>r.remove(v));const m=(v={})=>{const b="page-rule",{rules:P}=e.Css,{width:T,height:L,minHeight:$}=a.getSelected().attributes,be=L&&L!=="auto"?L:$,U=P.where({id:b}).pop(),me=U||P.add({id:b,selectors:[],selectorsAdd:"@page"},{at:0});(v.fromDeviceChange||!U)&&me.addStyle({size:`${T} ${be}`,...!U&&{margin:"0"}})},w=(v,b={})=>{const P=v.document,{minHeight:T}=a.getSelected().attributes,$=`
20
20
  ${!!parseFloat(`${T}`)?`
21
21
  [data-gjs-type="wrapper"] { min-height: ${T}; }
22
22
  `:`
@@ -29,4 +29,4 @@
29
29
  height: 100dvh;
30
30
  }
31
31
  `}
32
- `;W(`${C}preset-printable`,$,{doc:P,target:P.head}),b(m)};e.on(c.frameLoadBody,v=>{const m=v.window;if(w(m),t.fixedHeight){const T=v.model.getComponent().getEl();T==null||T.addEventListener("scroll",L=>{const $=L.target;$.scrollTop>0&&$.scrollTo(0,0)})}}),e.on(a.events.select,()=>{var m;const v=(m=o.getFrameEl().contentDocument)==null?void 0:m.defaultView;v&&w(v,{fromDeviceChange:!0})});const p=()=>{const m=e.Css.getRules().filter(P=>P.selectorsToString()==="body").pop();m==null||m.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},h=[[i.projectLoad,p]];h.forEach(([v,m])=>e.on(v,m));const x=ge(e,t),D=ue(e),j=he(e,t);e.onReady(()=>{e.UndoManager.clear()});const A=()=>{h.forEach(([v,m])=>e.off(v,m)),x(),D(),j()};e.on(i.destroy,A),se({editor:e,licenseKey:t.licenseKey,plan:ve,pluginName:fe,cleanup:A})})});
32
+ `;W(`${C}preset-printable`,$,{doc:P,target:P.head}),m(b)};e.on(c.frameLoadBody,v=>{const b=v.window;if(w(b),t.fixedHeight){const T=v.model.getComponent().getEl();T==null||T.addEventListener("scroll",L=>{const $=L.target;$.scrollTop>0&&$.scrollTo(0,0)})}}),e.on(a.events.select,()=>{var b;const v=(b=o.getFrameEl().contentDocument)==null?void 0:b.defaultView;v&&w(v,{fromDeviceChange:!0})});const p=()=>{const b=e.Css.getRules().filter(P=>P.selectorsToString()==="body").pop();b==null||b.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},h=[[i.projectLoad,p]];h.forEach(([v,b])=>e.on(v,b));const x=ge(e,t),D=ue(e),j=he(e,t);e.onReady(()=>{e.UndoManager.clear()});const A=()=>{h.forEach(([v,b])=>e.off(v,b)),x(),D(),j()};e.on(i.destroy,A),se({editor:e,licenseKey:t.licenseKey,plan:ve,pluginName:fe,cleanup:A})})});