@useinsider/guido 3.7.2-beta.cebab71 → 3.7.2-beta.cfe5af8

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.
@@ -1,32 +1,32 @@
1
- import { useActionsApi as x } from "./useActionsApi.js";
1
+ import { useActionsApi as H } from "./useActionsApi.js";
2
2
  import { useConfig as y } from "./useConfig.js";
3
- import { useSaveStart as w, useSaveComplete as H } from "./useGuidoActions.js";
3
+ import { useSaveStart as w, useSaveComplete as k } from "./useGuidoActions.js";
4
4
  import { useSyncModuleExtractor as q } from "./useSyncModuleExtractor.js";
5
5
  import { useStripoApi as C } from "../services/stripoApi.js";
6
6
  import { useTemplatePreparation as E } from "../utils/templatePreparation.js";
7
- import { useHtmlValidator as k } from "./useHtmlValidator.js";
7
+ import { useHtmlValidator as B } from "./useHtmlValidator.js";
8
8
  import { useCouponBlockValidator as L } from "./validators/useCouponBlockValidator.js";
9
9
  import { useLiquidValidator as P } from "./validators/useLiquidValidator.js";
10
- import { useUnsubscribeBlockValidator as B } from "./validators/useUnsubscribeBlockValidator.js";
11
- const J = () => {
12
- const o = w(), s = H(), { validateHtml: r } = k(), { validateLiquidSyntax: n } = P(), { validateCouponBlockTags: l } = L(), { validateUnsubscribeBlockUniqueness: d } = B(), { callbacks: i, isFeatureEnabled: u } = y(), { extractSyncModuleData: c } = q(), { setSyncModuleUnsubscriptionPages: m } = C(), { editorSave: p } = x();
13
- return { save: async (f = !1, v = !1) => {
10
+ import { useUnsubscribeBlockValidator as U } from "./validators/useUnsubscribeBlockValidator.js";
11
+ const K = () => {
12
+ const o = w(), s = k(), { validateHtml: r } = B(), { validateLiquidSyntax: l } = P(), { validateCouponBlockTags: n } = L(), { validateUnsubscribeBlockUniqueness: d, validateUnsubscribeBlockHasTemplate: c } = U(), { callbacks: i, isFeatureEnabled: u } = y(), { extractSyncModuleData: m } = q(), { setSyncModuleUnsubscriptionPages: p } = C(), { editorSave: v } = H();
13
+ return { save: async (f = !1, S = !1) => {
14
14
  var a;
15
15
  o();
16
- const { prepareTemplateDetails: S } = E(), t = await S();
17
- if (!l(t.compiledHtml) || !d(t.compiledHtml))
16
+ const { prepareTemplateDetails: V } = E(), t = await V();
17
+ if (!n(t.compiledHtml) || !d(t.compiledHtml) || !c(t.compiledHtml))
18
18
  return;
19
19
  if (u("liquidSyntax")) {
20
- if (!await n(t.compiledHtml))
20
+ if (!await l(t.compiledHtml))
21
21
  return;
22
22
  } else if (!await r(t.compiledHtml, t.dynamicContentList, !0))
23
23
  return;
24
- if ((a = i.value) != null && a.externalValidation && !await i.value.externalValidation(t) || !await p())
24
+ if ((a = i.value) != null && a.externalValidation && !await i.value.externalValidation(t) || !await v())
25
25
  return;
26
- const { unsubscribePayload: V, stripoModules: b } = c(t.rawHtml);
27
- return await m(V), t.modules = b, f || s({ ...t, silent: v }), t;
26
+ const { unsubscribePayload: b, stripoModules: x } = m(t.rawHtml);
27
+ return await p(b), t.modules = x, f || s({ ...t, silent: S }), t;
28
28
  } };
29
29
  };
30
30
  export {
31
- J as useSave
31
+ K as useSave
32
32
  };
@@ -1,32 +1,41 @@
1
1
  import { ToasterTypeOptions as i } from "../../enums/toaster.js";
2
- import { PAGE_TYPES as n } from "../../enums/unsubscribe.js";
3
- import { UNSUBSCRIBE_BLOCK_SELECTOR as u, DATA_ATTRIBUTES as l } from "../../extensions/Blocks/Unsubscribe/utils/constants.js";
4
- import { useToaster as T } from "../useToaster.js";
2
+ import { PAGE_TYPES as u } from "../../enums/unsubscribe.js";
3
+ import { UNSUBSCRIBE_BLOCK_SELECTOR as l, DATA_ATTRIBUTES as a } from "../../extensions/Blocks/Unsubscribe/utils/constants.js";
4
+ import { useToaster as m } from "../useToaster.js";
5
5
  import { useTranslations as E } from "../useTranslations.js";
6
- const m = [
6
+ const T = [
7
7
  {
8
- pageType: n.GLOBAL_UNSUBSCRIBE,
8
+ pageType: u.GLOBAL_UNSUBSCRIBE,
9
9
  messageKey: "unsubscription-preference.duplicate-global-unsub"
10
10
  },
11
11
  {
12
- pageType: n.SUBSCRIPTION_PREFERENCE_CENTER,
12
+ pageType: u.SUBSCRIPTION_PREFERENCE_CENTER,
13
13
  messageKey: "unsubscription-preference.duplicate-pref-center"
14
14
  }
15
- ], g = "unsubscription-preference.duplicate-both", y = () => {
16
- const { showToaster: o } = T(), a = E();
17
- return { validateUnsubscribeBlockUniqueness: (c) => {
18
- const p = new DOMParser().parseFromString(c, "text/html"), t = /* @__PURE__ */ new Map();
19
- p.querySelectorAll(u).forEach((e) => {
20
- const r = Number(e.getAttribute(l.PAGE_TYPE));
21
- t.set(r, (t.get(r) ?? 0) + 1);
15
+ ], g = "unsubscription-preference.duplicate-both", b = "unsubscription-preference.select-page-to-continue", P = () => {
16
+ const { showToaster: c } = m(), p = E();
17
+ return { validateUnsubscribeBlockUniqueness: (n) => {
18
+ const o = new DOMParser().parseFromString(n, "text/html"), s = /* @__PURE__ */ new Map();
19
+ o.querySelectorAll(l).forEach((e) => {
20
+ const r = Number(e.getAttribute(a.PAGE_TYPE));
21
+ s.set(r, (s.get(r) ?? 0) + 1);
22
22
  });
23
- const s = m.filter((e) => (t.get(e.pageType) ?? 0) > 1).map((e) => e.messageKey);
24
- return s.length ? (o({
23
+ const t = T.filter((e) => (s.get(e.pageType) ?? 0) > 1).map((e) => e.messageKey);
24
+ return t.length ? (c({
25
25
  type: i.Alert,
26
- message: a(s.length > 1 ? g : s[0])
26
+ message: p(t.length > 1 ? g : t[0])
27
+ }), !1) : !0;
28
+ }, validateUnsubscribeBlockHasTemplate: (n) => {
29
+ const o = new DOMParser().parseFromString(n, "text/html");
30
+ return Array.from(o.querySelectorAll(l)).some((t) => {
31
+ const e = t.getAttribute(a.PAGE_TYPE), r = t.getAttribute(a.PAGE_LIST);
32
+ return !e || !r;
33
+ }) ? (c({
34
+ type: i.Warning,
35
+ message: p(b)
27
36
  }), !1) : !0;
28
37
  } };
29
38
  };
30
39
  export {
31
- y as useUnsubscribeBlockValidator
40
+ P as useUnsubscribeBlockValidator
32
41
  };
@@ -1,20 +1,20 @@
1
1
  var S = Object.defineProperty;
2
2
  var f = (c, o, e) => o in c ? S(c, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[o] = e;
3
3
  var a = (c, o, e) => f(c, typeof o != "symbol" ? o + "" : o, e);
4
- import { useToaster as A } from "../../../composables/useToaster.js";
5
- import { ToasterTypeOptions as L } from "../../../enums/toaster.js";
6
- import { PAGE_TYPES as g } from "../../../enums/unsubscribe.js";
7
- import { useEditorStore as T } from "../../../stores/editor.js";
4
+ import { useToaster as L } from "../../../composables/useToaster.js";
5
+ import { ToasterTypeOptions as A } from "../../../enums/toaster.js";
6
+ import { PAGE_TYPES as h } from "../../../enums/unsubscribe.js";
7
+ import { useEditorStore as y } from "../../../stores/editor.js";
8
8
  import { useUnsubscribeStore as l } from "../../../stores/unsubscribe.js";
9
- import { Block as y, BlockCompositionType as I, ContextActionType as _, ModificationDescription as d, BlockType as v } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
9
+ import { Block as T, BlockCompositionType as I, ContextActionType as B, ModificationDescription as d, BlockType as v } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
10
10
  import { getDefaultTemplate as C } from "./template.js";
11
11
  import { UNSUBSCRIBE_BLOCK_SELECTOR as m, DATA_ATTRIBUTES as n, UNSUBSCRIBE_EVENTS as b } from "./utils/constants.js";
12
- import { parsePageList as k } from "./utils/utils.js";
13
- const N = "unsubscribe-block", E = 'a[data-unsubscribe-link="true"]', U = "{{ins-unsubscribe-link}}", R = "https://academy.insiderone.com/docs/adding-unsubscribe-pages-into-emails", D = "Removing the unsubscribe text leaves an empty block, but an active unsubscribe link is required. Undo your last action to restore the text, or delete the unsubscribe block entirely.", P = {
14
- [g.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
15
- [g.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
16
- }, w = 3;
17
- class W extends y {
12
+ import { parsePageList as _ } from "./utils/utils.js";
13
+ const N = "unsubscribe-block", E = 'a[data-unsubscribe-link="true"]', U = "{{ins-unsubscribe-link}}", R = "https://academy.insiderone.com/docs/adding-unsubscribe-pages-into-emails", D = "Removing the unsubscribe text leaves an empty block, but an active unsubscribe link is required. Undo your last action to restore the text, or delete the unsubscribe block entirely.", w = {
14
+ [h.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
15
+ [h.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
16
+ }, P = 3;
17
+ class W extends T {
18
18
  constructor() {
19
19
  super();
20
20
  a(this, "selectEventListener", null);
@@ -48,13 +48,13 @@ class W extends y {
48
48
  return C();
49
49
  }
50
50
  getContextActionsIds() {
51
- return [_.MOVE, _.REMOVE];
51
+ return [B.MOVE, B.REMOVE];
52
52
  }
53
53
  onSelect(e) {
54
- if (this.currentNode = e, T().isPreviewModeOpen)
54
+ if (this.currentNode = e, y().isPreviewModeOpen)
55
55
  return;
56
- const t = this._readBlockId(e) !== null, r = this._getOrAssignBlockId(e);
57
- r && this.linkStateByBlockId.set(r, this._hasUnsubscribeLink(e)), !("getAttribute" in e && e.getAttribute("data-migration")) && (t && !this._hasPageSelection(e) || (this._resetStoreState(), r && (l().pendingBlockId = r), this._loadBlockState(e), this._setupSelectEventListener(), this._setupCancelEventListener(r), this._checkExistingBlocks(), this._openDrawer()));
56
+ const t = this._getOrAssignBlockId(e);
57
+ t && this.linkStateByBlockId.set(t, this._hasUnsubscribeLink(e)), !("getAttribute" in e && e.getAttribute("data-migration")) && (this._resetStoreState(), t && (l().pendingBlockId = t), this._loadBlockState(e), this._setupSelectEventListener(), this._setupCancelEventListener(t), this._checkExistingBlocks(), this._openDrawer());
58
58
  }
59
59
  onCreated(e) {
60
60
  this._ensureLeadingTextGuard(e);
@@ -73,8 +73,8 @@ class W extends y {
73
73
  const t = this._getOrAssignBlockId(e);
74
74
  if (!t)
75
75
  return;
76
- const r = this._hasUnsubscribeLink(e);
77
- this.linkStateByBlockId.get(t) === !0 && !r && this._warnLinkRemoved(), this.linkStateByBlockId.set(t, r);
76
+ const s = this._hasUnsubscribeLink(e);
77
+ this.linkStateByBlockId.get(t) === !0 && !s && this._warnLinkRemoved(), this.linkStateByBlockId.set(t, s);
78
78
  }
79
79
  onDelete(e) {
80
80
  this._removeEventListeners(), this._removeBlockTemplatesFromStore(e), this._resetStoreState();
@@ -95,25 +95,25 @@ class W extends y {
95
95
  const t = e.querySelector(E);
96
96
  if (!t)
97
97
  return;
98
- let r = t, s = r.parent();
99
- for (; s && "getTagName" in s && s.getTagName().toLowerCase() !== "p"; )
100
- r = s, s = s.parent();
101
- if (!s || !("getTagName" in s) || s.getTagName().toLowerCase() !== "p")
98
+ let s = t, r = s.parent();
99
+ for (; r && "getTagName" in r && r.getTagName().toLowerCase() !== "p"; )
100
+ s = r, r = r.parent();
101
+ if (!r || !("getTagName" in r) || r.getTagName().toLowerCase() !== "p")
102
102
  return;
103
- const i = r.previousSibling();
103
+ const i = s.previousSibling();
104
104
  if (!!(i && i.getType() === "text" && i.getTextContent())) {
105
105
  const p = this._readBlockId(e);
106
106
  p && this.guardAttemptsByBlockId.delete(p);
107
107
  return;
108
108
  }
109
- const h = this._getOrAssignBlockId(e);
110
- if (!h)
109
+ const g = this._getOrAssignBlockId(e);
110
+ if (!g)
111
111
  return;
112
- const B = this.guardAttemptsByBlockId.get(h) ?? 0;
113
- if (!(B >= w)) {
114
- this.guardAttemptsByBlockId.set(h, B + 1);
112
+ const k = this.guardAttemptsByBlockId.get(g) ?? 0;
113
+ if (!(k >= P)) {
114
+ this.guardAttemptsByBlockId.set(g, k + 1);
115
115
  try {
116
- this.api.getDocumentModifier().modifyHtml(s).prepend(" ").apply(new d("Ensure unsubscribe link text guard"));
116
+ this.api.getDocumentModifier().modifyHtml(r).prepend(" ").apply(new d("Ensure unsubscribe link text guard"));
117
117
  } catch (p) {
118
118
  console.warn("[UnsubscribeBlock] Failed to ensure link text guard:", p);
119
119
  }
@@ -125,17 +125,6 @@ class W extends y {
125
125
  _readBlockId(e) {
126
126
  return "getAttribute" in e ? e.getAttribute(n.BLOCK_ID) : null;
127
127
  }
128
- /**
129
- * True when the block has a page type and a page list — i.e. a template was
130
- * applied. A block with neither, combined with an already-present block id,
131
- * is an undo-restored orphan of a cancelled block.
132
- */
133
- _hasPageSelection(e) {
134
- if (!("getAttribute" in e))
135
- return !1;
136
- const t = e.getAttribute(n.PAGE_TYPE), r = e.getAttribute(n.PAGE_LIST);
137
- return !!t && !!r;
138
- }
139
128
  /**
140
129
  * Returns the block's stable id, assigning one via the document modifier if
141
130
  * the node has not been tagged yet. Idempotent: subsequent calls during
@@ -148,13 +137,13 @@ class W extends y {
148
137
  return t;
149
138
  if (!("getAttribute" in e))
150
139
  return null;
151
- const r = this._generateNextBlockId();
140
+ const s = this._generateNextBlockId();
152
141
  try {
153
- this.api.getDocumentModifier().modifyHtml(e).setAttribute(n.BLOCK_ID, r).apply(new d(`Assign unsubscribe block id ${r}`));
154
- } catch (s) {
155
- return console.warn("[UnsubscribeBlock] Failed to assign block id:", s), null;
142
+ this.api.getDocumentModifier().modifyHtml(e).setAttribute(n.BLOCK_ID, s).apply(new d(`Assign unsubscribe block id ${s}`));
143
+ } catch (r) {
144
+ return console.warn("[UnsubscribeBlock] Failed to assign block id:", r), null;
156
145
  }
157
- return r;
146
+ return s;
158
147
  }
159
148
  /**
160
149
  * Generates a unique id by scanning the document for the highest existing
@@ -165,9 +154,9 @@ class W extends y {
165
154
  let e = 0;
166
155
  try {
167
156
  const t = this.api.getDocumentRoot();
168
- t && "querySelectorAll" in t && t.querySelectorAll(m).forEach((s) => {
169
- if ("getAttribute" in s) {
170
- const i = s.getAttribute(n.BLOCK_ID), u = i ? parseInt(i) : 0;
157
+ t && "querySelectorAll" in t && t.querySelectorAll(m).forEach((r) => {
158
+ if ("getAttribute" in r) {
159
+ const i = r.getAttribute(n.BLOCK_ID), u = i ? parseInt(i) : 0;
171
160
  u > e && (e = u);
172
161
  }
173
162
  });
@@ -177,9 +166,9 @@ class W extends y {
177
166
  }
178
167
  _warnLinkRemoved() {
179
168
  try {
180
- const { showToaster: e } = A();
169
+ const { showToaster: e } = L();
181
170
  e({
182
- type: L.Warning,
171
+ type: A.Warning,
183
172
  message: this.api.translate(D),
184
173
  actionButton: {
185
174
  text: this.api.translate("Visit Academy"),
@@ -194,8 +183,8 @@ class W extends y {
194
183
  }
195
184
  _setupSelectEventListener() {
196
185
  this._removeSelectEventListener(), this.selectEventListener = (e) => {
197
- const t = e, { collectionType: r, selectedPages: s } = t.detail;
198
- this._updateBlock(r, s.join(","));
186
+ const t = e, { collectionType: s, selectedPages: r } = t.detail;
187
+ this._updateBlock(s, r.join(","));
199
188
  }, document.addEventListener(b.SELECT, this.selectEventListener);
200
189
  }
201
190
  _removeSelectEventListener() {
@@ -203,8 +192,8 @@ class W extends y {
203
192
  }
204
193
  _setupCancelEventListener(e) {
205
194
  this._removeCancelEventListener(), this.cancelEventListener = (t) => {
206
- const { detail: r } = t, s = (r == null ? void 0 : r.blockId) ?? null;
207
- s !== null && s !== e || this._handleCancel();
195
+ const { detail: s } = t, r = (s == null ? void 0 : s.blockId) ?? null;
196
+ r !== null && r !== e || this._handleCancel();
208
197
  }, document.addEventListener(b.CANCEL, this.cancelEventListener);
209
198
  }
210
199
  _removeCancelEventListener() {
@@ -225,14 +214,14 @@ class W extends y {
225
214
  _updateBlock(e, t) {
226
215
  if (!this.currentNode || !("querySelector" in this.currentNode))
227
216
  return;
228
- const r = this.currentNode.querySelector(E);
229
- if (!r)
217
+ const s = this.currentNode.querySelector(E);
218
+ if (!s)
230
219
  return;
231
- const s = this._getMergeTag(e);
232
- this.api.getDocumentModifier().modifyHtml(r).setAttribute("href", s).apply(new d(`Updated unsubscribe link to ${s}`)), this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(n.PAGE_TYPE, e.toString()).setAttribute(n.PAGE_LIST, t).apply(new d("Updated unsubscribe block metadata"));
220
+ const r = this._getMergeTag(e);
221
+ this.api.getDocumentModifier().modifyHtml(s).setAttribute("href", r).apply(new d(`Updated unsubscribe link to ${r}`)), this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(n.PAGE_TYPE, e.toString()).setAttribute(n.PAGE_LIST, t).apply(new d("Updated unsubscribe block metadata"));
233
222
  }
234
223
  _getMergeTag(e) {
235
- return P[e] ?? U;
224
+ return w[e] ?? U;
236
225
  }
237
226
  _openDrawer() {
238
227
  if (!(this.currentNode && this.currentNode.getAttribute("data-unsubscribe-page-type")))
@@ -245,12 +234,12 @@ class W extends y {
245
234
  }
246
235
  _checkExistingBlocks() {
247
236
  const e = l();
248
- e.isGlobalUnsubscribeDisabled = !1, e.isSubscriptionPreferencesCenterDisabled = !1, this.api.getDocumentRoot().querySelectorAll(m).forEach((r) => {
249
- if ("getAttribute" in r) {
250
- const s = r.getAttribute(n.PAGE_TYPE);
251
- if (s) {
252
- const i = Number(s);
253
- i === g.GLOBAL_UNSUBSCRIBE ? e.isGlobalUnsubscribeDisabled = !0 : i === g.SUBSCRIPTION_PREFERENCE_CENTER && (e.isSubscriptionPreferencesCenterDisabled = !0);
237
+ e.isGlobalUnsubscribeDisabled = !1, e.isSubscriptionPreferencesCenterDisabled = !1, this.api.getDocumentRoot().querySelectorAll(m).forEach((s) => {
238
+ if ("getAttribute" in s) {
239
+ const r = s.getAttribute(n.PAGE_TYPE);
240
+ if (r) {
241
+ const i = Number(r);
242
+ i === h.GLOBAL_UNSUBSCRIBE ? e.isGlobalUnsubscribeDisabled = !0 : i === h.SUBSCRIPTION_PREFERENCE_CENTER && (e.isSubscriptionPreferencesCenterDisabled = !0);
254
243
  }
255
244
  }
256
245
  });
@@ -258,11 +247,11 @@ class W extends y {
258
247
  async _loadBlockState(e) {
259
248
  if (!("getAttribute" in e))
260
249
  return;
261
- const t = e.getAttribute(n.PAGE_TYPE), r = e.getAttribute(n.PAGE_LIST);
262
- if (!t || !r)
250
+ const t = e.getAttribute(n.PAGE_TYPE), s = e.getAttribute(n.PAGE_LIST);
251
+ if (!t || !s)
263
252
  return;
264
- const s = l(), i = Number(t), u = k(r);
265
- await s.fetchTemplates(), s.setCollectionWithoutAutoSelection(i), s.loadSelectedTemplates(u);
253
+ const r = l(), i = Number(t), u = _(s);
254
+ await r.fetchTemplates(), r.setCollectionWithoutAutoSelection(i), r.loadSelectedTemplates(u);
266
255
  }
267
256
  _resetStoreState() {
268
257
  l().$reset();
@@ -273,8 +262,8 @@ class W extends y {
273
262
  const t = e.getAttribute(n.PAGE_LIST);
274
263
  if (!t)
275
264
  return;
276
- const r = l(), s = k(t);
277
- r.removeUnsubscribePages(s);
265
+ const s = l(), r = _(t);
266
+ s.removeUnsubscribePages(r);
278
267
  }
279
268
  }
280
269
  export {
@@ -60,12 +60,12 @@ class w extends g {
60
60
  this.api.onValueChanged(r.NEXT_BUTTON, () => this._onNextClick())
61
61
  );
62
62
  }
63
- _onButtonClick() {
63
+ async _onButtonClick() {
64
64
  try {
65
65
  if (_().isPreviewModeOpen)
66
66
  return;
67
67
  const e = l();
68
- this._reseedSelectionFromBlock(), e.activeType = e.getSelectedCollection[this.currentPreviewIndex], e.pageSelectionUpdateStatus = !0, e.pageSelectionDrawerStatus = !0;
68
+ await e.fetchTemplates(!0), this._reseedSelectionFromBlock(), e.activeType = e.getSelectedCollection[this.currentPreviewIndex], e.pageSelectionUpdateStatus = !0, e.pageSelectionDrawerStatus = !0;
69
69
  } catch (e) {
70
70
  console.error("[UnsubscribeControl] Failed to open drawer:", e);
71
71
  }
@@ -1,3 +1,4 @@
1
1
  export declare const useUnsubscribeBlockValidator: () => {
2
2
  validateUnsubscribeBlockUniqueness: (html: string) => boolean;
3
+ validateUnsubscribeBlockHasTemplate: (html: string) => boolean;
3
4
  };
@@ -29,12 +29,6 @@ export declare class UnsubscribeBlock extends Block {
29
29
  private _ensureLeadingTextGuard;
30
30
  private _hasUnsubscribeLink;
31
31
  private _readBlockId;
32
- /**
33
- * True when the block has a page type and a page list — i.e. a template was
34
- * applied. A block with neither, combined with an already-present block id,
35
- * is an undo-restored orphan of a cancelled block.
36
- */
37
- private _hasPageSelection;
38
32
  /**
39
33
  * Returns the block's stable id, assigning one via the document modifier if
40
34
  * the node has not been tagged yet. Idempotent: subsequent calls during
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "3.7.2-beta.cebab71",
3
+ "version": "3.7.2-beta.cfe5af8",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",