@grapesjs/studio-sdk-plugins 1.0.33-rc.1 → 1.0.33

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 (130) hide show
  1. package/dist/accordionComponent/index.cjs.js +7 -7
  2. package/dist/accordionComponent/index.es.js +161 -156
  3. package/dist/accordionComponent/index.umd.js +9 -9
  4. package/dist/aiChat/chatManager.d.ts +15 -0
  5. package/dist/aiChat/clientTools.d.ts +3 -3
  6. package/dist/aiChat/clientToolsProcessors.d.ts +14 -1
  7. package/dist/aiChat/components/AiChatEmptyState.d.ts +4 -6
  8. package/dist/aiChat/components/AiChatError.d.ts +2 -1
  9. package/dist/aiChat/components/AiChatHeader.d.ts +2 -1
  10. package/dist/aiChat/components/AiChatInput/AssetsSection.d.ts +7 -0
  11. package/dist/aiChat/components/AiChatInput/AttachButton.d.ts +10 -0
  12. package/dist/aiChat/components/AiChatInput/ContextSection.d.ts +5 -0
  13. package/dist/aiChat/components/AiChatInput/DictateButton.d.ts +7 -0
  14. package/dist/aiChat/components/AiChatInput/TextAreaWithAutoResize.d.ts +6 -0
  15. package/dist/aiChat/components/AiChatInput/constants.d.ts +6 -0
  16. package/dist/aiChat/components/AiChatInput/hooks/useSpeechToText.d.ts +15 -0
  17. package/dist/aiChat/components/AiChatInput/index.d.ts +37 -0
  18. package/dist/aiChat/components/AiChatLoadingState.d.ts +2 -1
  19. package/dist/aiChat/components/AiChatMessage.d.ts +21 -9
  20. package/dist/aiChat/components/AiChatMessages.d.ts +5 -7
  21. package/dist/aiChat/components/AiChatMessagesStatus.d.ts +5 -0
  22. package/dist/aiChat/components/AiChatPanel.d.ts +2 -3
  23. package/dist/aiChat/components/AiChatProvider.d.ts +14 -0
  24. package/dist/aiChat/components/MemoizedMarkdown.d.ts +9 -0
  25. package/dist/aiChat/components/index.d.ts +24 -25
  26. package/dist/aiChat/components/utils.d.ts +12 -4
  27. package/dist/aiChat/index.cjs.d.ts +5 -0
  28. package/dist/aiChat/index.cjs.js +453 -0
  29. package/dist/aiChat/index.d.ts +4 -3
  30. package/dist/aiChat/index.es.d.ts +5 -0
  31. package/dist/aiChat/index.es.js +30930 -0
  32. package/dist/aiChat/index.js +453 -0
  33. package/dist/aiChat/index.umd.js +453 -0
  34. package/dist/aiChat/locales/en.d.ts +64 -0
  35. package/dist/aiChat/server/index.cjs.d.ts +4 -0
  36. package/dist/aiChat/server/index.cjs.js +309 -0
  37. package/dist/aiChat/server/index.d.ts +0 -50
  38. package/dist/aiChat/server/index.es.d.ts +4 -0
  39. package/dist/aiChat/server/index.es.js +876 -0
  40. package/dist/aiChat/server/index.js +309 -0
  41. package/dist/aiChat/server/index.umd.js +309 -0
  42. package/dist/aiChat/server/stream.d.ts +0 -6
  43. package/dist/aiChat/server/tools.d.ts +157 -51
  44. package/dist/aiChat/server/types.d.ts +108 -64
  45. package/dist/aiChat/types.d.ts +148 -108
  46. package/dist/aiChat/typesSchema.d.ts +238 -25
  47. package/dist/animationComponent/index.cjs.js +3 -3
  48. package/dist/animationComponent/index.es.js +174 -169
  49. package/dist/animationComponent/index.umd.js +3 -3
  50. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  51. package/dist/canvasAbsoluteMode/index.es.js +161 -156
  52. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  53. package/dist/canvasEmptyState/index.cjs.js +1 -1
  54. package/dist/canvasEmptyState/index.es.js +113 -108
  55. package/dist/canvasEmptyState/index.umd.js +1 -1
  56. package/dist/canvasFullSize/index.cjs.js +9 -9
  57. package/dist/canvasFullSize/index.es.js +137 -132
  58. package/dist/canvasFullSize/index.umd.js +9 -9
  59. package/dist/canvasGridMode/index.cjs.js +4 -4
  60. package/dist/canvasGridMode/index.es.js +168 -163
  61. package/dist/canvasGridMode/index.umd.js +8 -8
  62. package/dist/canvasScreenshot/index.cjs.js +1 -1
  63. package/dist/canvasScreenshot/index.es.js +132 -127
  64. package/dist/canvasScreenshot/index.umd.js +1 -1
  65. package/dist/dataSourceEjs/index.cjs.js +5 -5
  66. package/dist/dataSourceEjs/index.es.js +151 -146
  67. package/dist/dataSourceEjs/index.umd.js +5 -5
  68. package/dist/dataSourceHandlebars/index.cjs.js +4 -4
  69. package/dist/dataSourceHandlebars/index.es.js +91 -86
  70. package/dist/dataSourceHandlebars/index.umd.js +5 -5
  71. package/dist/dialogComponent/index.cjs.js +16 -16
  72. package/dist/dialogComponent/index.es.js +117 -112
  73. package/dist/dialogComponent/index.umd.js +16 -16
  74. package/dist/flexComponent/index.cjs.js +11 -11
  75. package/dist/flexComponent/index.es.js +416 -411
  76. package/dist/flexComponent/index.umd.js +11 -11
  77. package/dist/fsLightboxComponent/index.cjs.js +3 -3
  78. package/dist/fsLightboxComponent/index.es.js +152 -147
  79. package/dist/fsLightboxComponent/index.umd.js +3 -3
  80. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  81. package/dist/googleFontsAssetProvider/index.es.js +127 -122
  82. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  83. package/dist/iconifyComponent/index.cjs.js +2 -2
  84. package/dist/iconifyComponent/index.es.js +170 -165
  85. package/dist/iconifyComponent/index.umd.js +2 -2
  86. package/dist/index.cjs.js +1 -1
  87. package/dist/index.es.js +27 -22
  88. package/dist/index.umd.js +1 -1
  89. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  90. package/dist/layoutSidebarButtons/index.es.js +156 -151
  91. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  92. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  93. package/dist/lightGalleryComponent/index.es.js +197 -192
  94. package/dist/lightGalleryComponent/index.umd.js +1 -1
  95. package/dist/linkImageComponent/index.cjs.js +2 -2
  96. package/dist/linkImageComponent/index.es.js +86 -81
  97. package/dist/linkImageComponent/index.umd.js +2 -2
  98. package/dist/listPagesComponent/index.cjs.js +5 -5
  99. package/dist/listPagesComponent/index.es.js +121 -116
  100. package/dist/listPagesComponent/index.umd.js +5 -5
  101. package/dist/presetPrintable/index.cjs.js +4 -4
  102. package/dist/presetPrintable/index.es.js +180 -175
  103. package/dist/presetPrintable/index.umd.js +4 -4
  104. package/dist/prosemirror/index.cjs.js +6 -6
  105. package/dist/prosemirror/index.es.js +128 -123
  106. package/dist/prosemirror/index.umd.js +8 -8
  107. package/dist/rendererReact/index.cjs.js +1 -1
  108. package/dist/rendererReact/index.es.js +127 -122
  109. package/dist/rendererReact/index.js +1 -1
  110. package/dist/rendererReact/index.umd.js +1 -1
  111. package/dist/rteTinyMce/index.cjs.js +2 -2
  112. package/dist/rteTinyMce/index.es.js +160 -155
  113. package/dist/rteTinyMce/index.umd.js +2 -2
  114. package/dist/shapeDividerComponent/index.cjs.js +25 -25
  115. package/dist/shapeDividerComponent/index.es.js +127 -122
  116. package/dist/shapeDividerComponent/index.umd.js +25 -25
  117. package/dist/swiperComponent/index.cjs.js +9 -9
  118. package/dist/swiperComponent/index.es.js +197 -192
  119. package/dist/swiperComponent/index.umd.js +9 -9
  120. package/dist/tableComponent/index.cjs.js +1 -1
  121. package/dist/tableComponent/index.es.js +227 -222
  122. package/dist/tableComponent/index.umd.js +1 -1
  123. package/dist/types.d.ts +1 -1
  124. package/dist/utils.d.ts +12 -1
  125. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  126. package/dist/youtubeAssetProvider/index.es.js +124 -119
  127. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  128. package/package.json +5 -2
  129. package/dist/aiChat/components/AiChatInput.d.ts +0 -17
  130. package/dist/aiChat/server/stream-utils.d.ts +0 -16
@@ -1,7 +1,7 @@
1
- const F = "app.grapesjs.com", W = "app-stage.grapesjs.com", X = "app2.grapesjs.com", Z = "app-stage2.grapesjs.com", U = [
2
- F,
3
- X,
1
+ const W = "app.grapesjs.com", z = "app-stage.grapesjs.com", X = "app2.grapesjs.com", Z = "app-stage2.grapesjs.com", U = [
4
2
  W,
3
+ X,
4
+ z,
5
5
  Z,
6
6
  "localhost",
7
7
  "127.0.0.1",
@@ -13,28 +13,32 @@ const F = "app.grapesjs.com", W = "app-stage.grapesjs.com", X = "app2.grapesjs.c
13
13
  // For Sandpack demos
14
14
  ], Q = "license:check:start", ee = "license:check:end", te = () => typeof window < "u", O = (e, s = {}) => {
15
15
  const t = ne(e) ? { id: e, src: e } : e;
16
- return new Promise((o, a) => {
17
- var g, h;
18
- const { loadedScripts: n } = s, { id: i, src: d } = t, c = document.querySelector(`script[src="${d}"]`);
19
- if (c) {
20
- if ((g = s.onScript) == null || g.call(s, c), n && !n.get(d)) {
21
- c.addEventListener("load", () => o(i)), c.addEventListener("error", () => a(i));
16
+ return new Promise((o, n) => {
17
+ var p, u;
18
+ const { loadedScripts: r } = s, { id: i, src: l } = t, d = document.querySelector(`script[src="${l}"]`);
19
+ if (d) {
20
+ if ((p = s.onScript) == null || p.call(s, d), r && !r.get(l)) {
21
+ d.addEventListener("load", () => o(i)), d.addEventListener("error", () => n(i));
22
22
  return;
23
23
  }
24
24
  return o(i);
25
25
  }
26
- const u = window.define;
26
+ const g = window.define;
27
27
  window.define = void 0;
28
- const l = () => {
29
- n == null || n.set(d, !0), window.define = u;
30
- }, r = document.createElement("script");
31
- r.src = d, r.onload = () => {
32
- o(i), l();
33
- }, r.onerror = () => {
34
- a(i), l();
35
- }, document.head.appendChild(r), (h = s.onScript) == null || h.call(s, r);
28
+ const f = () => {
29
+ r == null || r.set(l, !0), window.define = g;
30
+ }, a = document.createElement("script");
31
+ a.src = l, a.onload = () => {
32
+ o(i), f();
33
+ }, a.onerror = () => {
34
+ n(i), f();
35
+ }, document.head.appendChild(a), (u = s.onScript) == null || u.call(s, a);
36
36
  });
37
- }, oe = ({ isDev: e, isStage: s }) => `${e ? "" : `https://${s ? W : F}`}/api`, se = () => {
37
+ }, oe = ({
38
+ isDev: e,
39
+ isStage: s,
40
+ isPlatform: t
41
+ }) => `${e ? "" : `https://${s ? z : W}`}/${t ? "platform-api" : "api"}`, se = () => {
38
42
  const e = te() && window.location.hostname;
39
43
  return !!e && (U.includes(e) || U.some((s) => e.endsWith(s)));
40
44
  }, ne = (e) => typeof e == "string";
@@ -43,66 +47,67 @@ async function ae({
43
47
  baseApiUrl: s,
44
48
  method: t = "GET",
45
49
  headers: o = {},
46
- params: a,
47
- body: n
50
+ params: n,
51
+ body: r
48
52
  }) {
49
- const d = `${s || oe({ isDev: !1, isStage: !1 })}${e}`, c = {
53
+ const l = `${s || oe({ isDev: !1, isStage: !1 })}${e}`, d = {
50
54
  method: t,
51
55
  headers: {
52
56
  "Content-Type": "application/json",
53
57
  ...o
54
58
  }
55
59
  };
56
- n && (c.body = JSON.stringify(n));
57
- const u = a ? new URLSearchParams(a).toString() : "", l = u ? `?${u}` : "", r = await fetch(`${d}${l}`, c);
58
- if (!r.ok)
59
- throw new Error(`HTTP error! status: ${r.status}`);
60
- return r.json();
60
+ r && (d.body = JSON.stringify(r));
61
+ const g = n ? new URLSearchParams(n).toString() : "", f = g ? `?${g}` : "", a = await fetch(`${l}${f}`, d);
62
+ if (!a.ok)
63
+ throw new Error(`HTTP error! status: ${a.status}`);
64
+ return a.json();
61
65
  }
62
- var k = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(k || {}), z = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", 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.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))(z || {});
66
+ var $ = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))($ || {}), K = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", e.dialogExportCode = "studio:dialogExportCode", 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.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))(K || {});
63
67
  const I = {
64
- [k.free]: 0,
65
- [k.startup]: 10,
66
- [k.business]: 20,
67
- [k.enterprise]: 30
68
+ [$.free]: 0,
69
+ [$.startup]: 10,
70
+ [$.business]: 20,
71
+ [$.enterprise]: 30
68
72
  };
69
- function ie(e) {
73
+ function re(e) {
70
74
  const s = e;
71
75
  return s.init = (t) => (o) => e(o, t), s;
72
76
  }
73
- const re = (e) => /* @__PURE__ */ ie(e);
77
+ const ie = (e) => /* @__PURE__ */ re(e);
74
78
  async function ce({
75
79
  editor: e,
76
80
  plan: s,
77
81
  pluginName: t,
78
82
  licenseKey: o,
79
- cleanup: a
83
+ onLicenseCheckResponse: n,
84
+ cleanup: r
80
85
  }) {
81
- let n = "", i = !1;
82
- const d = se(), c = (l) => {
83
- console.warn("Cleanup plugin:", t, "Reason:", l), a();
84
- }, u = (l = {}) => {
85
- var w;
86
- const { error: r, sdkLicense: g } = l, h = (w = l.plan) == null ? void 0 : w.category;
87
- if (!(g || l.license) || r)
88
- c(r || "Invalid license");
89
- else if (h) {
90
- const p = I[s], f = I[h];
91
- p > f && c({ pluginRequiredPlan: s, licensePlan: h });
86
+ let i = "", l = !1;
87
+ const d = se(), g = (a) => {
88
+ console.warn("Cleanup plugin:", t, "Reason:", a), r();
89
+ }, f = (a = {}) => {
90
+ var c;
91
+ const { error: p, sdkLicense: u } = a, m = (c = a.plan) == null ? void 0 : c.category;
92
+ if (!(u || a.license) || p)
93
+ g(p || "Invalid license");
94
+ else if (m) {
95
+ const h = I[s], k = I[m];
96
+ h > k && g({ pluginRequiredPlan: s, licensePlan: m });
92
97
  }
93
98
  };
94
- e.on(Q, (l) => {
95
- n = l == null ? void 0 : l.baseApiUrl, i = !0;
96
- }), e.on(ee, (l) => {
97
- u(l);
99
+ e.on(Q, (a) => {
100
+ i = a == null ? void 0 : a.baseApiUrl, l = !0;
101
+ }), e.on(ee, (a) => {
102
+ n == null || n(a), f(a);
98
103
  }), setTimeout(async () => {
99
- if (!i) {
104
+ if (!l) {
100
105
  if (d) return;
101
106
  if (o) {
102
- const l = await le({ licenseKey: o, pluginName: t, baseApiUrl: n });
103
- l && u(l);
107
+ const a = await le({ licenseKey: o, pluginName: t, baseApiUrl: i });
108
+ n == null || n(a), a && f(a);
104
109
  } else
105
- c("The `licenseKey` option not provided");
110
+ g("The `licenseKey` option not provided");
106
111
  }
107
112
  }, 2e3);
108
113
  }
@@ -118,35 +123,35 @@ async function le(e) {
118
123
  pn: t
119
124
  }
120
125
  })).result || {};
121
- } catch (a) {
122
- return console.error("Error during SDK license check:", a), !1;
126
+ } catch (n) {
127
+ return console.error("Error during SDK license check:", n), !1;
123
128
  }
124
129
  }
125
- const pe = (e) => (s) => {
130
+ const de = (e) => (s) => {
126
131
  var t;
127
132
  return ((t = s.getAttribute) == null ? void 0 : t.call(s, V)) === e;
128
- }, de = (...e) => (s, t) => e.some((o) => t.is(o)), K = (e, s, t) => {
129
- const { doc: o = document } = t, a = t.target || o.head, n = a.querySelector(`style[${e}]`) || o.createElement("style");
130
- n.setAttribute(e, "true"), n.innerHTML = s, !a.contains(n) && a.appendChild(n);
133
+ }, pe = (...e) => (s, t) => e.some((o) => t.is(o)), C = (e, s, t) => {
134
+ const { doc: o = document } = t, n = t.target || o.head, r = n.querySelector(`style[${e}]`) || o.createElement("style");
135
+ r.setAttribute(e, "true"), r.innerHTML = s, !n.contains(r) && n.appendChild(r);
131
136
  }, ge = "gjs-plg-", q = "data-gs-plg-", V = "data-type-role";
132
- function C(e, s, t) {
133
- let o, a, n, i, d;
134
- const c = s === void 0 ? 100 : s;
135
- function u() {
136
- const r = Date.now() - i;
137
- r < c && r >= 0 ? o = setTimeout(u, c - r) : (o = null, d = e.apply(n, a), n = a = null);
137
+ function N(e, s, t) {
138
+ let o, n, r, i, l;
139
+ const d = s === void 0 ? 100 : s;
140
+ function g() {
141
+ const a = Date.now() - i;
142
+ a < d && a >= 0 ? o = setTimeout(g, d - a) : (o = null, l = e.apply(r, n), r = n = null);
138
143
  }
139
- const l = function() {
140
- return n = this, a = arguments, i = Date.now(), o || (o = setTimeout(u, c)), d;
144
+ const f = function() {
145
+ return r = this, n = arguments, i = Date.now(), o || (o = setTimeout(g, d)), l;
141
146
  };
142
- return l.clear = function() {
147
+ return f.clear = function() {
143
148
  o && (clearTimeout(o), o = null);
144
- }, l.flush = function() {
145
- o && (d = e.apply(n, a), n = a = null, clearTimeout(o), o = null);
146
- }, l;
149
+ }, f.flush = function() {
150
+ o && (l = e.apply(r, n), r = n = null, clearTimeout(o), o = null);
151
+ }, f;
147
152
  }
148
153
  const A = "page-break";
149
- var m = /* @__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))(m || {});
154
+ 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 || {});
150
155
  function _(e, s) {
151
156
  const o = {
152
157
  mm: 3.7795275590551185,
@@ -163,45 +168,45 @@ function _(e, s) {
163
168
  return o[s] ? e * o[s] : null;
164
169
  }
165
170
  const ue = (e, s) => {
166
- const { name: t, id: o, width: a, height: n, unit: i } = e, { fixedHeight: d } = s, c = `${a}${i}`, u = `${n}${i}`;
171
+ const { name: t, id: o, width: n, height: r, unit: i } = e, { fixedHeight: l } = s, d = `${n}${i}`, g = `${r}${i}`;
167
172
  return {
168
173
  id: o || t.toLowerCase().replace(/\s/g, "-"),
169
- name: `${t} (${c} x ${u})`,
170
- sizeH: n,
171
- sizeW: a,
174
+ name: `${t} (${d} x ${g})`,
175
+ sizeH: r,
176
+ sizeW: n,
172
177
  sizeUnit: i,
173
178
  widthMedia: "",
174
- width: c,
175
- minHeight: d ? "0" : `${_(n, i)}px`,
176
- height: d ? u : void 0
179
+ width: d,
180
+ minHeight: l ? "0" : `${_(r, i)}px`,
181
+ height: l ? g : void 0
177
182
  };
178
- }, G = "page-breaks", x = "gjs-page-breaks-spot", j = (e) => e.type === G;
183
+ }, G = "page-breaks", D = "gjs-page-breaks-spot", j = (e) => e.type === G;
179
184
  function he(e) {
180
- const { Devices: s } = e, { height: t, minHeight: o } = s.getSelected().attributes, n = parseFloat(`${t && t !== "auto" ? t : o}`), i = e.getWrapper(), d = i == null ? void 0 : i.getEl(), c = [];
181
- if (!i || !d)
182
- return c;
183
- const u = d.getBoundingClientRect().height, r = i.findType(A).map((h) => h.getEl()).filter(Boolean).map((h) => ({ top: h.offsetTop, height: h.offsetHeight }));
184
- let g = 0;
185
- for (; g < u; ) {
186
- const h = r.find((y) => y.top > g && y.top < g + n);
187
- h ? (g = h.top + h.height, c.push(h.top)) : (g += n, g < u && c.push(g));
185
+ const { Devices: s } = e, { height: t, minHeight: o } = s.getSelected().attributes, r = parseFloat(`${t && t !== "auto" ? t : o}`), i = e.getWrapper(), l = i == null ? void 0 : i.getEl(), d = [];
186
+ if (!i || !l)
187
+ return d;
188
+ const g = l.getBoundingClientRect().height, a = i.findType(A).map((u) => u.getEl()).filter(Boolean).map((u) => ({ top: u.offsetTop, height: u.offsetHeight }));
189
+ let p = 0;
190
+ for (; p < g; ) {
191
+ const u = a.find((m) => m.top > p && m.top < p + r);
192
+ u ? (p = u.top + u.height, d.push(u.top)) : (p += r, p < g && d.push(p));
188
193
  }
189
- return c;
194
+ return d;
190
195
  }
191
196
  function fe(e, s) {
192
- const { Canvas: t } = e, o = t.events, a = e.events;
193
- let n;
197
+ const { Canvas: t } = e, o = t.events, n = e.events;
198
+ let r;
194
199
  const i = () => {
195
- K(
200
+ C(
196
201
  `${q}preset-printable-spots`,
197
- `.${x} {
202
+ `.${D} {
198
203
  position: absolute;
199
204
  left: 0;
200
205
  width: 100%;
201
206
  border-top: 1px dashed var(--gs-theme-cl-cmp-bg2, var(--gjs-color-blue));
202
207
  color: var(--gs-theme-cl-prm-txt, var(--gjs-font-color));
203
208
  }
204
- .${x}::after {
209
+ .${D}::after {
205
210
  background-color: var(--gs-theme-cl-cmp-bg1, var(--gjs-color-highlight));
206
211
  content: attr(data-page-number);
207
212
  display: block;
@@ -215,49 +220,49 @@ function fe(e, s) {
215
220
  `,
216
221
  { target: window.document.head }
217
222
  );
218
- }, d = () => {
223
+ }, l = () => {
219
224
  if (s.enablePageBreaksSpot === !1) return;
220
- const p = { id: G, type: G, component: e.getWrapper() };
221
- return t.getSpots(p).pop() || t.addSpot(p);
222
- }, c = ({ spot: p }) => {
223
- const { spotEl: f } = p.attributes;
224
- !j(p) || !f || !n || n.removeChild(f);
225
- }, u = ({ spot: p }) => {
226
- if (!j(p) || !n) return;
227
- let { spotEl: f } = p.attributes;
228
- f || (f = document.createElement("div"), f.className = `${x}__items`, p.set({ spotEl: f })), n.appendChild(f);
229
- }, l = ({ spot: p }) => {
230
- const { spotEl: f, pageBreaks: D = [] } = p.attributes;
231
- !j(p) || !f || !n || (Object.entries(p.getStyle()).forEach(([L, $]) => f.style.setProperty(L, $)), f.innerHTML = "", D.forEach((L, $) => {
225
+ const c = { id: G, type: G, component: e.getWrapper() };
226
+ return t.getSpots(c).pop() || t.addSpot(c);
227
+ }, d = ({ spot: c }) => {
228
+ const { spotEl: h } = c.attributes;
229
+ !j(c) || !h || !r || r.removeChild(h);
230
+ }, g = ({ spot: c }) => {
231
+ if (!j(c) || !r) return;
232
+ let { spotEl: h } = c.attributes;
233
+ h || (h = document.createElement("div"), h.className = `${D}__items`, c.set({ spotEl: h })), r.appendChild(h);
234
+ }, f = ({ spot: c }) => {
235
+ const { spotEl: h, pageBreaks: k = [] } = c.attributes;
236
+ !j(c) || !h || !r || (Object.entries(c.getStyle()).forEach(([x, L]) => h.style.setProperty(x, L)), h.innerHTML = "", k.forEach((x, L) => {
232
237
  const E = document.createElement("div");
233
- E.setAttribute("data-page-number", `${$ + 2}`), E.className = x, E.style.top = `${L}px`, f.appendChild(E);
238
+ E.setAttribute("data-page-number", `${L + 2}`), E.className = D, E.style.top = `${x}px`, h.appendChild(E);
234
239
  }));
235
- }, r = C(() => {
240
+ }, a = N(() => {
236
241
  if (e.em.destroyed) return;
237
- const p = d();
238
- p && p.set({ pageBreaks: he(e), up: (p.attributes.up || 0) + 1 });
239
- }, 150), g = C(r, 200), h = () => {
240
- n = t.getSpotsEl(), d();
241
- }, y = () => {
242
- const p = d();
243
- p && p.set({ up: (p.attributes.up || 0) + 1 });
242
+ const c = l();
243
+ c && c.set({ pageBreaks: he(e), up: (c.attributes.up || 0) + 1 });
244
+ }, 150), p = N(a, 200), u = () => {
245
+ r = t.getSpotsEl(), l();
246
+ }, m = () => {
247
+ const c = l();
248
+ c && c.set({ up: (c.attributes.up || 0) + 1 });
244
249
  }, w = [
245
- ["component:input", r],
246
- ["frame:scroll", y],
247
- [a.update, r],
248
- [o.spotAdd, u],
249
- [o.spotUpdate, l],
250
- [o.spotRemove, c],
251
- [o.frameLoadBody, h]
250
+ ["component:input", a],
251
+ ["frame:scroll", m],
252
+ [n.update, a],
253
+ [o.spotAdd, g],
254
+ [o.spotUpdate, f],
255
+ [o.spotRemove, d],
256
+ [o.frameLoadBody, u]
252
257
  ];
253
- return w.forEach(([p, f]) => e.on(p, f)), e.onReady(() => {
254
- i(), new ResizeObserver(y).observe(t.getElement().parentElement);
258
+ return w.forEach(([c, h]) => e.on(c, h)), e.onReady(() => {
259
+ i(), new ResizeObserver(m).observe(t.getElement().parentElement);
255
260
  }), () => {
256
- w.forEach(([p, f]) => e.off(p, f)), r.clear(), g.clear();
261
+ w.forEach(([c, h]) => e.off(c, h)), a.clear(), p.clear();
257
262
  };
258
263
  }
259
264
  var H = /* @__PURE__ */ ((e) => (e.print = "presetPrintable:print", e))(H || {});
260
- const N = (e) => new Promise((s) => {
265
+ const F = (e) => new Promise((s) => {
261
266
  const t = document.createElement("iframe");
262
267
  t.style.cssText = "position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;", t.srcdoc = e.content, t.onload = () => s(t), document.body.appendChild(t);
263
268
  });
@@ -265,83 +270,83 @@ function ve(e, s) {
265
270
  const { Commands: t, Pages: o } = e;
266
271
  return t.add(
267
272
  H.print,
268
- async (a, n, i = {}) => {
269
- const d = {
273
+ async (n, r, i = {}) => {
274
+ const l = {
270
275
  page: i.allPages ? void 0 : o.getSelected(),
271
276
  styles: "inline",
272
277
  optionsHtml: {
273
278
  // Avoid DataSource exporter
274
279
  exporter: null
275
280
  }
276
- }, u = (await t.run(z.projectFiles, d)).filter((g) => g.filename.endsWith(".html")), l = u.map((g) => g.content).join('<div style="break-before: page;"></div>'), r = [];
281
+ }, g = (await t.run(K.projectFiles, l)).filter((p) => p.filename.endsWith(".html")), f = g.map((p) => p.content).join('<div style="break-before: page;"></div>'), a = [];
277
282
  if (i.separatePrints)
278
- for (const g of u)
279
- r.push(await N(g));
283
+ for (const p of g)
284
+ a.push(await F(p));
280
285
  else
281
- r.push(await N({ content: l, filename: "", mimeType: "" }));
282
- for (const g of r) {
283
- const h = g.contentWindow;
284
- h.focus(), h.print();
286
+ a.push(await F({ content: f, filename: "", mimeType: "" }));
287
+ for (const p of a) {
288
+ const u = p.contentWindow;
289
+ u.focus(), u.print();
285
290
  }
286
- setTimeout(() => r.forEach((g) => g.remove()), 1e3);
291
+ setTimeout(() => a.forEach((p) => p.remove()), 1e3);
287
292
  }
288
- ), t.add("presetPrintable:exp", async (a) => {
293
+ ), t.add("presetPrintable:exp", async (n) => {
289
294
  await O("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"), await O("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");
290
- const { Devices: n, Canvas: i } = a, { sizeW: d, sizeH: c, sizeUnit: u } = n.getSelected().attributes, l = i.getFrameEl().contentDocument, r = "px", g = [_(d, u), _(c, u)], h = new window.jspdf.jsPDF({ unit: r, format: g }), y = l.body;
291
- h.html(y, { callback: (w) => w.save() });
295
+ const { Devices: r, Canvas: i } = n, { sizeW: l, sizeH: d, sizeUnit: g } = r.getSelected().attributes, f = i.getFrameEl().contentDocument, a = "px", p = [_(l, g), _(d, g)], u = new window.jspdf.jsPDF({ unit: a, format: p }), m = f.body;
296
+ u.html(m, { callback: (w) => w.save() });
292
297
  }), () => {
293
298
  delete e.Commands.commands[H.print];
294
299
  };
295
300
  }
296
301
  function be(e, s) {
297
- const { blockPageBreak: t = {} } = s, { Components: o, Blocks: a } = e, n = "Page Break", i = `${ge}${A}`;
302
+ const { blockPageBreak: t = {} } = s, { Components: o, Blocks: n } = e, r = "Page Break", i = `${ge}${A}`;
298
303
  return o.addType(A, {
299
304
  block: t && {
300
- label: n,
305
+ label: r,
301
306
  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>',
302
307
  category: "Extra",
303
308
  select: !0,
304
309
  ...t
305
310
  },
306
- isComponent: pe(A),
311
+ isComponent: de(A),
307
312
  model: {
308
313
  defaults: {
309
- name: n,
314
+ name: r,
310
315
  classes: i,
311
316
  attributes: { [V]: A },
312
317
  emptyState: !0,
313
318
  stylable: !1,
314
319
  droppable: !1,
315
- draggable: de("wrapper"),
320
+ draggable: pe("wrapper"),
316
321
  styles: `.${i} { break-before: page; }`,
317
322
  traits: []
318
323
  }
319
324
  }
320
325
  }), () => {
321
- o.removeType(A), a.remove(A);
326
+ o.removeType(A), n.remove(A);
322
327
  };
323
328
  }
324
- const me = "presetPrintable", ye = k.free, we = function(e, s = {}) {
329
+ const me = "presetPrintable", ye = $.free, we = function(e, s = {}) {
325
330
  var M;
326
331
  const t = {
327
- selectedDevice: m.A4,
332
+ selectedDevice: y.A4,
328
333
  ...s
329
- }, { Canvas: o, Devices: a, Blocks: n } = e, i = o.events, d = e.events, c = t.selectedDevice || a.getConfig().default, u = [
330
- { id: m.A5, name: "A5", width: 148, height: 210, unit: "mm" },
331
- { id: m.A5Portrait, name: "A5 Portrait", width: 210, height: 148, unit: "mm" },
332
- { id: m.A4, name: "A4", width: 210, height: 297, unit: "mm" },
333
- { id: m.A3, name: "A3", width: 297, height: 420, unit: "mm" },
334
- { id: m.B5, name: "B5", width: 176, height: 250, unit: "mm" },
335
- { id: m.B4, name: "B4", width: 250, height: 353, unit: "mm" },
336
- { id: m.letter, name: "Letter", width: 8.5, height: 11, unit: "in" },
337
- { id: m.legal, name: "Legal", width: 8.5, height: 14, unit: "in" },
338
- { id: m.ledger, name: "Ledger", width: 11, height: 17, unit: "in" }
339
- ], r = (((M = t.devices) == null ? void 0 : M.call(t, { items: u })) || u).map((v) => ue(v, t));
340
- a.devices.reset(r);
341
- const g = c && a.get(c) || a.getAll().at(0);
342
- a.select(g), ["map", "video"].forEach((v) => n.remove(v));
343
- const y = (v = {}) => {
344
- const b = "page-rule", { rules: P } = e.Css, { width: T, height: B, minHeight: R } = a.getSelected().attributes, Y = B && B !== "auto" ? B : R, S = P.where({ id: b }).pop(), J = S || P.add(
334
+ }, { Canvas: o, Devices: n, Blocks: r } = e, i = o.events, l = e.events, d = t.selectedDevice || n.getConfig().default, g = [
335
+ { id: y.A5, name: "A5", width: 148, height: 210, unit: "mm" },
336
+ { id: y.A5Portrait, name: "A5 Portrait", width: 210, height: 148, unit: "mm" },
337
+ { id: y.A4, name: "A4", width: 210, height: 297, unit: "mm" },
338
+ { id: y.A3, name: "A3", width: 297, height: 420, unit: "mm" },
339
+ { id: y.B5, name: "B5", width: 176, height: 250, unit: "mm" },
340
+ { id: y.B4, name: "B4", width: 250, height: 353, unit: "mm" },
341
+ { id: y.letter, name: "Letter", width: 8.5, height: 11, unit: "in" },
342
+ { id: y.legal, name: "Legal", width: 8.5, height: 14, unit: "in" },
343
+ { id: y.ledger, name: "Ledger", width: 11, height: 17, unit: "in" }
344
+ ], a = (((M = t.devices) == null ? void 0 : M.call(t, { items: g })) || g).map((v) => ue(v, t));
345
+ n.devices.reset(a);
346
+ const p = d && n.get(d) || n.getAll().at(0);
347
+ n.select(p), ["map", "video"].forEach((v) => r.remove(v));
348
+ const m = (v = {}) => {
349
+ const b = "page-rule", { rules: P } = e.Css, { width: T, height: B, minHeight: R } = n.getSelected().attributes, Y = B && B !== "auto" ? B : R, S = P.where({ id: b }).pop(), J = S || P.add(
345
350
  {
346
351
  id: b,
347
352
  selectors: [],
@@ -354,7 +359,7 @@ const me = "presetPrintable", ye = k.free, we = function(e, s = {}) {
354
359
  ...!S && { margin: "0" }
355
360
  });
356
361
  }, w = (v, b = {}) => {
357
- const P = v.document, { minHeight: T } = a.getSelected().attributes, R = `
362
+ const P = v.document, { minHeight: T } = n.getSelected().attributes, R = `
358
363
  ${!!parseFloat(`${T}`) ? `
359
364
  [data-gjs-type="wrapper"] { min-height: ${T}; }
360
365
  ` : `
@@ -368,7 +373,7 @@ const me = "presetPrintable", ye = k.free, we = function(e, s = {}) {
368
373
  }
369
374
  `}
370
375
  `;
371
- K(`${q}preset-printable`, R, { doc: P, target: P.head }), y(b);
376
+ C(`${q}preset-printable`, R, { doc: P, target: P.head }), m(b);
372
377
  };
373
378
  e.on(i.frameLoadBody, (v) => {
374
379
  const b = v.window;
@@ -379,12 +384,12 @@ const me = "presetPrintable", ye = k.free, we = function(e, s = {}) {
379
384
  R.scrollTop > 0 && R.scrollTo(0, 0);
380
385
  });
381
386
  }
382
- }), e.on(a.events.select, () => {
387
+ }), e.on(n.events.select, () => {
383
388
  var b;
384
389
  const v = (b = o.getFrameEl().contentDocument) == null ? void 0 : b.defaultView;
385
390
  v && w(v, { fromDeviceChange: !0 });
386
391
  });
387
- const p = () => {
392
+ const c = () => {
388
393
  const b = e.Css.getRules().filter((P) => P.selectorsToString() === "body").pop();
389
394
  b == null || b.addStyle({
390
395
  "margin-top": "",
@@ -393,23 +398,23 @@ const me = "presetPrintable", ye = k.free, we = function(e, s = {}) {
393
398
  "margin-left": "",
394
399
  margin: "0"
395
400
  });
396
- }, f = [[d.projectLoad, p]];
397
- f.forEach(([v, b]) => e.on(v, b));
398
- const D = fe(e, t), L = ve(e), $ = be(e, t);
401
+ }, h = [[l.projectLoad, c]];
402
+ h.forEach(([v, b]) => e.on(v, b));
403
+ const k = fe(e, t), x = ve(e), L = be(e, t);
399
404
  e.onReady(() => {
400
405
  e.UndoManager.clear();
401
406
  });
402
407
  const E = () => {
403
- f.forEach(([v, b]) => e.off(v, b)), D(), L(), $();
408
+ h.forEach(([v, b]) => e.off(v, b)), k(), x(), L();
404
409
  };
405
- e.on(d.destroy, E), ce({
410
+ e.on(l.destroy, E), ce({
406
411
  editor: e,
407
412
  licenseKey: t.licenseKey,
408
413
  plan: ye,
409
414
  pluginName: me,
410
415
  cleanup: E
411
416
  });
412
- }, Pe = re(we);
417
+ }, Pe = ie(we);
413
418
  export {
414
419
  Pe as default
415
420
  };