@useinsider/guido 1.0.2-beta.ad1dcd9 → 1.0.2-beta.b11c72f

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 (162) hide show
  1. package/README.md +1 -1
  2. package/dist/@types/generic.d.ts +0 -8
  3. package/dist/_virtual/AddCustomFont.js +4 -0
  4. package/dist/_virtual/AiAssistantValueType.js +4 -0
  5. package/dist/_virtual/BackgroundColorBuiltInControl.js +4 -0
  6. package/dist/_virtual/BackgroundImageBuiltInControl.js +4 -0
  7. package/dist/_virtual/Block.js +4 -0
  8. package/dist/_virtual/BlockAttributes.js +4 -0
  9. package/dist/_virtual/BlockCompositionType.js +4 -0
  10. package/dist/_virtual/BlockPaddingsBuiltInControl.js +4 -0
  11. package/dist/_virtual/BlockRenderer.js +4 -0
  12. package/dist/_virtual/BlockType.js +4 -0
  13. package/dist/_virtual/BlocksPanel.js +4 -0
  14. package/dist/_virtual/BuiltInControl.js +4 -0
  15. package/dist/_virtual/BuiltInControlTypes.js +4 -0
  16. package/dist/_virtual/ButtonBorderBuiltInControl.js +4 -0
  17. package/dist/_virtual/ButtonColorBuiltInControl.js +4 -0
  18. package/dist/_virtual/ButtonFontColorBuiltInControl.js +4 -0
  19. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +4 -0
  20. package/dist/_virtual/ButtonTextBuiltInControl.js +4 -0
  21. package/dist/_virtual/ContextAction.js +4 -0
  22. package/dist/_virtual/ContextActionType.js +4 -0
  23. package/dist/_virtual/Control.js +4 -0
  24. package/dist/_virtual/EditorStatePropertyType.js +4 -0
  25. package/dist/_virtual/Extension.js +4 -0
  26. package/dist/_virtual/ExtensionBuilder.js +4 -0
  27. package/dist/_virtual/FontFamilyBuiltInControl.js +4 -0
  28. package/dist/_virtual/LinkColorBuiltInControl.js +4 -0
  29. package/dist/_virtual/ModificationDescription.js +4 -0
  30. package/dist/_virtual/PanelPosition.js +4 -0
  31. package/dist/_virtual/PreviewDeviceMode.js +4 -0
  32. package/dist/_virtual/SettingsPanelRegistry.js +4 -0
  33. package/dist/_virtual/SettingsPanelTab.js +4 -0
  34. package/dist/_virtual/SettingsTab.js +4 -0
  35. package/dist/_virtual/StructureBorderBuiltInControl.js +4 -0
  36. package/dist/_virtual/StructurePaddingsBuiltInControl.js +4 -0
  37. package/dist/_virtual/TextColorBuiltInControl.js +4 -0
  38. package/dist/_virtual/TextLineSpacingBuiltInControl.js +4 -0
  39. package/dist/_virtual/TextSizeBuiltInControl.js +4 -0
  40. package/dist/_virtual/TextStyleBuiltInControl.js +4 -0
  41. package/dist/_virtual/UIElement.js +4 -0
  42. package/dist/_virtual/UIElementTagRegistry.js +4 -0
  43. package/dist/_virtual/UIElementType.js +4 -0
  44. package/dist/_virtual/UIElementsAttributes.js +4 -0
  45. package/dist/_virtual/index.js +5 -0
  46. package/dist/_virtual/index2.js +4 -0
  47. package/dist/components/Guido.vue.d.ts +2 -2
  48. package/dist/components/Guido.vue.js +5 -5
  49. package/dist/components/Guido.vue2.js +63 -68
  50. package/dist/components/wrappers/WpDrawer.vue.d.ts +4 -6
  51. package/dist/components/wrappers/WpDrawer.vue.js +4 -6
  52. package/dist/composables/useHtmlValidator.d.ts +1 -2
  53. package/dist/composables/useHtmlValidator.js +95 -114
  54. package/dist/composables/useSave.js +6 -6
  55. package/dist/composables/useStripo.js +29 -35
  56. package/dist/config/compiler/unsubscribeCompilerRules.js +19 -19
  57. package/dist/enums/defaults.js +3 -6
  58. package/dist/enums/unsubscribe.d.ts +0 -19
  59. package/dist/enums/unsubscribe.js +6 -39
  60. package/dist/extensions/DynamicContent/dynamic-content.js +27 -41
  61. package/dist/extensions/DynamicContent/extension.js +6 -18
  62. package/dist/guido.css +1 -1
  63. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +48 -72
  64. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +49 -74
  65. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +38 -120
  66. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +18 -0
  67. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +32 -0
  68. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +18 -0
  69. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +8 -0
  70. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +11 -5
  71. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +34 -0
  72. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +11 -5
  73. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +11 -5
  74. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +101 -116
  75. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +11 -5
  76. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +11 -5
  77. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +11 -5
  78. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +11 -5
  79. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +11 -5
  80. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +11 -5
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +43 -23
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +43 -0
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +46 -0
  84. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +44 -0
  85. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +22 -0
  86. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +46 -0
  87. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +46 -0
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +45 -0
  89. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +45 -0
  90. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +45 -0
  91. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +17 -21
  92. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +43 -0
  93. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +45 -0
  94. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +15 -8
  95. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +29 -30
  96. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +46 -0
  97. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +44 -0
  98. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +43 -0
  99. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +43 -0
  100. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +45 -0
  101. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +43 -0
  102. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +266 -0
  103. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +23 -19
  104. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +19 -37
  105. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +15 -2
  106. package/dist/stores/unsubscribe.d.ts +5 -183
  107. package/dist/stores/unsubscribe.js +6 -125
  108. package/package.json +2 -2
  109. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -2
  110. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +0 -18
  111. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +0 -16
  112. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -2
  113. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +0 -24
  114. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +0 -64
  115. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -2
  116. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +0 -18
  117. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +0 -108
  118. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -2
  119. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +0 -18
  120. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +0 -12
  121. package/dist/config/migrator/checkboxMigrator.d.ts +0 -1
  122. package/dist/config/migrator/checkboxMigrator.js +0 -83
  123. package/dist/config/migrator/index.d.ts +0 -1
  124. package/dist/config/migrator/index.js +0 -9
  125. package/dist/config/migrator/unsubscribeMigrator.d.ts +0 -1
  126. package/dist/config/migrator/unsubscribeMigrator.js +0 -112
  127. package/dist/extensions/Blocks/Checkbox/block.d.ts +0 -10
  128. package/dist/extensions/Blocks/Checkbox/block.js +0 -39
  129. package/dist/extensions/Blocks/Checkbox/control.d.ts +0 -22
  130. package/dist/extensions/Blocks/Checkbox/control.js +0 -104
  131. package/dist/extensions/Blocks/Checkbox/extension.d.ts +0 -2
  132. package/dist/extensions/Blocks/Checkbox/extension.js +0 -20
  133. package/dist/extensions/Blocks/Checkbox/settingsPanel.d.ts +0 -4
  134. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +0 -38
  135. package/dist/extensions/Blocks/Checkbox/template.d.ts +0 -6
  136. package/dist/extensions/Blocks/Checkbox/template.js +0 -75
  137. package/dist/extensions/Blocks/Unsubscribe/block.d.ts +0 -30
  138. package/dist/extensions/Blocks/Unsubscribe/block.js +0 -141
  139. package/dist/extensions/Blocks/Unsubscribe/control.d.ts +0 -29
  140. package/dist/extensions/Blocks/Unsubscribe/control.js +0 -180
  141. package/dist/extensions/Blocks/Unsubscribe/elements/preview.d.ts +0 -11
  142. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +0 -54
  143. package/dist/extensions/Blocks/Unsubscribe/extension.d.ts +0 -2
  144. package/dist/extensions/Blocks/Unsubscribe/extension.js +0 -21
  145. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +0 -4
  146. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +0 -32
  147. package/dist/extensions/Blocks/Unsubscribe/template.d.ts +0 -3
  148. package/dist/extensions/Blocks/Unsubscribe/template.js +0 -28
  149. package/dist/extensions/Blocks/Unsubscribe/utils/constants.d.ts +0 -9
  150. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +0 -11
  151. package/dist/extensions/Blocks/Unsubscribe/utils/utils.d.ts +0 -7
  152. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +0 -6
  153. package/dist/extensions/Blocks/_Boilerplate/block.d.ts +0 -10
  154. package/dist/extensions/Blocks/_Boilerplate/control.d.ts +0 -17
  155. package/dist/extensions/Blocks/_Boilerplate/extension.d.ts +0 -2
  156. package/dist/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +0 -4
  157. package/dist/extensions/Blocks/_Boilerplate/template.d.ts +0 -6
  158. package/dist/mock/api/unsubscribe.d.ts +0 -2
  159. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +0 -12
  160. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +0 -12
  161. package/dist/services/unsubscribeApi.d.ts +0 -4
  162. package/dist/services/unsubscribeApi.js +0 -16
@@ -1,83 +0,0 @@
1
- var x = Object.defineProperty;
2
- var y = (s, t, e) => t in s ? x(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var m = (s, t, e) => y(s, typeof t != "symbol" ? t + "" : t, e);
4
- import b from "../../extensions/Blocks/Checkbox/template.js";
5
- class f {
6
- constructor() {
7
- m(this, "parser");
8
- this.parser = new DOMParser();
9
- }
10
- migrate(t) {
11
- try {
12
- const e = this.parser.parseFromString(t, "text/html"), i = e.querySelectorAll("td.checkbox-block");
13
- return i.length === 0 ? t : (i.forEach((r) => {
14
- const n = r.getAttribute("id"), l = this.extractTextFromElement(r, "ins-title"), c = this.extractTextFromElement(r, "ins-description"), a = this.buildTextBlock(l), p = this.buildTextBlock(c), g = b.replace("{-{-TITLE-}-}", a).replace("{-{-DESCRIPTION-}-}", p), o = this.parser.parseFromString(
15
- `<table id="tempDoc"><tbody><tr>${g}</tr></tbody></table>`,
16
- "text/html"
17
- ).querySelector(".checkbox-block-v2");
18
- o && r.parentNode && (o.setAttribute("id", n || ""), r.parentNode.replaceChild(o, r));
19
- }), e.documentElement.outerHTML);
20
- } catch (e) {
21
- return console.error("CheckboxMigrator failed:", e), t;
22
- }
23
- }
24
- extractTextFromElement(t, e) {
25
- var o, u;
26
- const i = t.querySelector(`.${e}`);
27
- if (!i)
28
- return {
29
- text: e === "ins-title" ? "Title" : "Description",
30
- isBold: !1,
31
- isItalic: !1,
32
- align: "left",
33
- styles: ""
34
- };
35
- const r = i.querySelector("p");
36
- if (!r)
37
- return {
38
- text: ((o = i.textContent) == null ? void 0 : o.trim()) || (e === "ins-title" ? "Title" : "Description"),
39
- isBold: !1,
40
- isItalic: !1,
41
- align: i.getAttribute("align") || "left",
42
- styles: ""
43
- };
44
- const n = ((u = r.textContent) == null ? void 0 : u.trim()) || (e === "ins-title" ? "Title" : "Description"), l = r.getAttribute("style") || "", c = i.getAttribute("align") || r.getAttribute("align") || "left", a = /font-weight\s*:\s*bold/i.test(l) || !!r.querySelector("b, strong"), p = /font-style\s*:\s*italic/i.test(l) || !!r.querySelector("i, em"), g = this.removeStyleProperties(l, ["font-weight", "font-style"]), d = this.convertInlineToBlock(g);
45
- return {
46
- text: n,
47
- isBold: a,
48
- isItalic: p,
49
- align: c,
50
- styles: d
51
- };
52
- }
53
- buildTextBlock(t) {
54
- let e = t.text;
55
- t.isBold && t.isItalic ? e = `<strong path="1,0"><em path="1,0,0">${e}</em></strong>` : t.isBold ? e = `<strong path="1,0">${e}</strong>` : t.isItalic && (e = `<em path="1,0">${e}</em>`);
56
- const i = t.align ? ` align="${t.align}"` : "", r = t.styles ? ` style="${t.styles}"` : "";
57
- return `
58
- <td class="esd-block-text" ${i}>
59
- <p path="1" ${r}>
60
- ${e}
61
- </p>
62
- </td>
63
- `;
64
- }
65
- removeStyleProperties(t, e) {
66
- return t ? e.reduce((r, n) => {
67
- const l = new RegExp(`${n}\\s*:\\s*[^;]*;?`, "gi");
68
- return r.replace(l, "");
69
- }, t).replace(/;\s*;/g, ";").replace(/^;|;$/g, "").trim() : "";
70
- }
71
- convertInlineToBlock(t) {
72
- if (!t)
73
- return "";
74
- let e = t.replace(/display\s*:\s*inline/gi, "display: block");
75
- return /display\s*:/i.test(e) || (e = e ? `${e}; display: block` : "display: block"), e.replace(/;\s*;/g, ";").replace(/^;|;$/g, "").trim();
76
- }
77
- }
78
- function k(s) {
79
- return new f().migrate(s);
80
- }
81
- export {
82
- k as migrateCheckbox
83
- };
@@ -1 +0,0 @@
1
- export declare const migrate: (html: string) => Promise<string>;
@@ -1,9 +0,0 @@
1
- import { migrateCheckbox as e } from "./checkboxMigrator.js";
2
- import { migrateUnsubscribe as m } from "./unsubscribeMigrator.js";
3
- const o = async (t) => {
4
- let r = t;
5
- return r = e(r), r = await m(r), r;
6
- };
7
- export {
8
- o as migrate
9
- };
@@ -1 +0,0 @@
1
- export declare function migrateUnsubscribe(html: string): Promise<string>;
@@ -1,112 +0,0 @@
1
- var A = Object.defineProperty;
2
- var T = (l, e, t) => e in l ? A(l, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : l[e] = t;
3
- var d = (l, e, t) => T(l, typeof e != "symbol" ? e + "" : e, t);
4
- import { MERGE_TAGS as p, PAGE_TYPES as g } from "../../enums/unsubscribe.js";
5
- import { DATA_ATTRIBUTES as y } from "../../extensions/Blocks/Unsubscribe/utils/constants.js";
6
- import { useUnsubscribeStore as x } from "../../stores/unsubscribe.js";
7
- class h {
8
- constructor() {
9
- d(this, "parser");
10
- this.parser = new DOMParser();
11
- }
12
- async migrate(e) {
13
- try {
14
- const t = this.parser.parseFromString(e, "text/html"), s = t.querySelectorAll("td.unsubscribe-block");
15
- if (!s.length)
16
- return e;
17
- const u = x();
18
- return await u.fetchTemplates(), s.forEach((i) => {
19
- const a = i.getAttribute("id"), n = this.extractUnsubscribeContent(i), r = this.getCollectionTypeFromMergeTag(n.linkHref), o = u.getSelectedUnsubscribePagesByCollection(r);
20
- console.debug("[UnsubscribeMigrator]", {
21
- mergeTag: n.linkHref,
22
- collectionType: r,
23
- pageIds: o
24
- });
25
- const c = this.buildUnsubscribeBlock(n, r, o), b = this.parser.parseFromString(
26
- `<table id="tempDoc"><tbody><tr>${c}</tr></tbody></table>`,
27
- "text/html"
28
- ).querySelector(".unsubscribe-block-v2");
29
- b && i.parentNode && (b.setAttribute("id", a || ""), i.parentNode.replaceChild(b, i));
30
- }), t.documentElement.outerHTML;
31
- } catch (t) {
32
- return console.error("UnsubscribeMigrator failed:", t), e;
33
- }
34
- }
35
- extractUnsubscribeContent(e) {
36
- var m;
37
- const t = e.querySelector("p");
38
- if (!t)
39
- return {
40
- textBefore: "You can ",
41
- linkText: "unsubscribe",
42
- linkHref: "{{ins-unsubscribe-link}}",
43
- linkStyle: "",
44
- textAfter: " from our emails, if you need to.",
45
- isBold: !1,
46
- isItalic: !1,
47
- align: "center",
48
- paragraphStyle: ""
49
- };
50
- const s = e.getAttribute("align") || t.getAttribute("align") || "center", u = t.getAttribute("style") || "", i = t.querySelector("a.unsubscribe-link") || t.querySelector('a[href*="unsubscribe"]');
51
- if (!i)
52
- return {
53
- textBefore: "You can ",
54
- linkText: "unsubscribe",
55
- linkHref: "{{ins-unsubscribe-link}}",
56
- linkStyle: "",
57
- textAfter: " from our emails, if you need to.",
58
- isBold: !1,
59
- isItalic: !1,
60
- align: s,
61
- paragraphStyle: u
62
- };
63
- const a = ((m = i.textContent) == null ? void 0 : m.trim()) || "unsubscribe", n = i.getAttribute("href") || "{{ins-unsubscribe-link}}", r = i.getAttribute("style") || "", o = t.textContent || "", c = o.indexOf(a), f = c >= 0 ? o.substring(0, c).trim() : "You can ", b = c >= 0 ? o.substring(c + a.length).trim() : " from our emails, if you need to.", k = !!t.querySelector("b, strong"), S = !!t.querySelector("i, em");
64
- return {
65
- textBefore: f,
66
- linkText: a,
67
- linkHref: this.normalizeUnsubscribeHref(n),
68
- linkStyle: r,
69
- textAfter: b,
70
- isBold: k,
71
- isItalic: S,
72
- align: s,
73
- paragraphStyle: u
74
- };
75
- }
76
- buildUnsubscribeBlock(e, t, s) {
77
- const u = e.linkStyle ? ` style="${e.linkStyle}"` : "", a = `<a ${`href="${e.linkHref}" class="unsubscribe-link" target="_blank" data-unsubscribe-link="true"`}${u}>${e.linkText}</a>`, n = [];
78
- e.textBefore && n.push(e.textBefore), n.push(a), e.textAfter && n.push(e.textAfter);
79
- let r = n.join(" ");
80
- e.isBold && e.isItalic ? r = `<strong path="1,0"><em path="1,0,0">${r}</em></strong>` : e.isBold ? r = `<strong path="1,0">${r}</strong>` : e.isItalic && (r = `<em path="1,0">${r}</em>`);
81
- const o = e.align ? ` align="${e.align}"` : "", c = e.paragraphStyle ? ` style="${e.paragraphStyle}"` : "", f = s.length > 0 ? ` ${y.PAGE_LIST}="${s.join(",")}"` : "", b = ` ${y.PAGE_TYPE}="${t}"`;
82
- return `
83
- <td
84
- data-migration="true"
85
- esd-extension-block-id="unsubscribe-block"
86
- class="esd-block-text unsubscribe-block-v2 esd-block-unsubscribe esd-unsubscribe-block esd-extension-block"
87
- ${o}${b}${f}
88
- >
89
- <p path="1"${c}>
90
- ${r}
91
- </p>
92
- </td>
93
- `;
94
- }
95
- getCollectionTypeFromMergeTag(e) {
96
- return e === p[g.SUBSCRIPTION_PREFERENCE_CENTER] ? g.SUBSCRIPTION_PREFERENCE_CENTER : e === p[g.GLOBAL_UNSUBSCRIBE] ? g.GLOBAL_UNSUBSCRIBE : g.GLOBAL_UNSUBSCRIBE;
97
- }
98
- normalizeUnsubscribeHref(e) {
99
- if (Object.values(p).includes(e))
100
- return e;
101
- const s = e.match(/{{ins-(?:global-)?(?:preferences-)?unsubscribe-link}}/);
102
- return s ? s[0] : e.includes("unsubscribe") || e.includes("unsub") ? (console.warn(
103
- `[UnsubscribeMigrator] Unrecognized unsubscribe href format: "${e}". Defaulting to {{ins-unsubscribe-link}}`
104
- ), "{{ins-unsubscribe-link}}") : e;
105
- }
106
- }
107
- async function $(l) {
108
- return new h().migrate(l);
109
- }
110
- export {
111
- $ as migrateUnsubscribe
112
- };
@@ -1,10 +0,0 @@
1
- import { Block, BlockCompositionType } from '@stripoinc/ui-editor-extensions';
2
- export declare const CHECKBOX_BLOCK_ID = "checkbox-block";
3
- export declare class CheckboxBlock extends Block {
4
- getId(): string;
5
- getIcon(): string;
6
- getBlockCompositionType(): BlockCompositionType;
7
- getName(): string;
8
- getDescription(): string;
9
- getTemplate(): string;
10
- }
@@ -1,39 +0,0 @@
1
- import { Block as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
3
- import { BlockCompositionType as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
4
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
5
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
11
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
13
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
14
- import { getDefaultTemplate as r } from "./template.js";
15
- const e = "checkbox-block";
16
- class x extends t {
17
- getId() {
18
- return e;
19
- }
20
- getIcon() {
21
- return "check-circle";
22
- }
23
- getBlockCompositionType() {
24
- return o.BLOCK;
25
- }
26
- getName() {
27
- return this.api.translate("Checkbox block");
28
- }
29
- getDescription() {
30
- return this.api.translate("Checkbox block description");
31
- }
32
- getTemplate() {
33
- return r();
34
- }
35
- }
36
- export {
37
- e as CHECKBOX_BLOCK_ID,
38
- x as CheckboxBlock
39
- };
@@ -1,22 +0,0 @@
1
- import { Control, ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- export declare const CHECKBOX_CONTROL_BLOCK_ID = "ui-elements-checkbox";
3
- interface UnsubOption {
4
- name: string;
5
- sendGridId: string;
6
- }
7
- export declare class CheckboxControl extends Control {
8
- private currentNode?;
9
- private selectedUnsubGroup?;
10
- unsubList: UnsubOption[];
11
- getId(): string;
12
- _setFormValues(): void;
13
- _getLabel(text: string, name?: string): string;
14
- _getSelectItem(text: string, value: string): string;
15
- _getSelect(): string;
16
- getTemplate(): string;
17
- _onSelectChange(value: string | number): void;
18
- _listenToFormUpdates(): void;
19
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
20
- onRender(): Promise<void>;
21
- }
22
- export {};
@@ -1,104 +0,0 @@
1
- var E = Object.defineProperty;
2
- var c = (o, s, t) => s in o ? E(o, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[s] = t;
3
- var a = (o, s, t) => c(o, typeof s != "symbol" ? s + "" : s, t);
4
- import { useHttp as p } from "../../../composables/useHttp.js";
5
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
11
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
13
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
14
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
15
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
16
- import { UEAttr as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js";
17
- import { UIElementType as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
18
- import { Control as m } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js";
19
- import { ModificationDescription as l } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js";
20
- const d = "ui-elements-checkbox", n = "select", { get: L } = p();
21
- class K extends m {
22
- constructor() {
23
- super(...arguments);
24
- a(this, "currentNode");
25
- a(this, "selectedUnsubGroup");
26
- a(this, "unsubList", []);
27
- }
28
- getId() {
29
- return d;
30
- }
31
- _setFormValues() {
32
- this.api.updateValues({
33
- [n]: ""
34
- });
35
- }
36
- _getLabel(t, i = `${Math.random()}`) {
37
- return `
38
- <${r.LABEL}
39
- ${e.LABEL.text}="${t}"
40
- ${e.LABEL.name}="${i}">
41
- </${r.LABEL}>
42
- `;
43
- }
44
- _getSelectItem(t, i) {
45
- return `
46
- <${r.SELECT_ITEM}
47
- ${e.SELECT_ITEM.text}="${t}"
48
- ${e.SELECT_ITEM.value}="${i}">
49
- </${r.SELECT_ITEM}>`;
50
- }
51
- _getSelect() {
52
- return this.unsubList.map((t) => this._getSelectItem(t.name, t.sendGridId)).join("");
53
- }
54
- getTemplate() {
55
- return `
56
- <div class="checkbox-controls-container">
57
- <div class="checkbox-select-container container two-columns stretch">
58
- <${r.LABEL}
59
- ${e.LABEL.text}="${this.api.translate("Unsubscribe Group")}"
60
- ${e.LABEL.name}="${Math.random()}">
61
- </${r.LABEL}>
62
-
63
- <${r.SELECTPICKER}
64
- ${e.SELECTPICKER.name}="${n}"
65
- ${e.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
66
- ${this._getSelect()}
67
- </${r.SELECTPICKER}>
68
- </div>
69
- </div>
70
- `;
71
- }
72
- _onSelectChange(t) {
73
- this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", t.toString()).apply(new l(`Updated text to ${t}`));
74
- }
75
- _listenToFormUpdates() {
76
- this.api.onValueChanged(n, (t) => this._onSelectChange(t));
77
- }
78
- onTemplateNodeUpdated(t) {
79
- if (this.currentNode = t, "getAttribute" in t) {
80
- const i = Number(t.getAttribute("id"));
81
- i && (this.selectedUnsubGroup = i, this.api.updateValues({
82
- [n]: this.selectedUnsubGroup
83
- }));
84
- }
85
- }
86
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
87
- async onRender() {
88
- const t = await L(
89
- "/unsubscribe-groups/unsubscribe-list"
90
- ), i = t.data.map((u) => ({
91
- [e.SELECT_ITEM.text]: u.name,
92
- [e.SELECT_ITEM.value]: u.sendGridId
93
- }));
94
- this.unsubList = t.data, this.api.setUIEAttribute(
95
- n,
96
- e.SELECTPICKER.items,
97
- i
98
- ), this._setFormValues(), this._listenToFormUpdates();
99
- }
100
- }
101
- export {
102
- d as CHECKBOX_CONTROL_BLOCK_ID,
103
- K as CheckboxControl
104
- };
@@ -1,2 +0,0 @@
1
- declare const _default: import("@stripoinc/ui-editor-extensions").Extension;
2
- export default _default;
@@ -1,20 +0,0 @@
1
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js";
14
- import { CheckboxBlock as t } from "./block.js";
15
- import { CheckboxControl as r } from "./control.js";
16
- import { CheckboxBlockSettings as i } from "./settingsPanel.js";
17
- const g = new o().addBlock(t).withSettingsPanelRegistry(i).addControl(r).build();
18
- export {
19
- g as default
20
- };
@@ -1,4 +0,0 @@
1
- import { SettingsPanelRegistry, SettingsPanelTab } from '@stripoinc/ui-editor-extensions';
2
- export declare class CheckboxBlockSettings extends SettingsPanelRegistry {
3
- registerBlockControls(blockControlsMap: Record<string, SettingsPanelTab[]>): void;
4
- }
@@ -1,38 +0,0 @@
1
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
- import { ContainerControls as i, TextControls as m } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
- import { SettingsTab as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- import { SettingsPanelRegistry as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js";
14
- import { SettingsPanelTab as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js";
15
- import { CHECKBOX_BLOCK_ID as p } from "./block.js";
16
- import { CHECKBOX_CONTROL_BLOCK_ID as C } from "./control.js";
17
- class x extends e {
18
- registerBlockControls(r) {
19
- r[p] = [
20
- new t(
21
- o.SETTINGS,
22
- [
23
- C,
24
- i.EXTERNAL_INDENTS
25
- ]
26
- ),
27
- new t(
28
- o.STYLES,
29
- [
30
- m.TEXT_BLOCK_BACKGROUND_COLOR
31
- ]
32
- )
33
- ];
34
- }
35
- }
36
- export {
37
- x as CheckboxBlockSettings
38
- };
@@ -1,6 +0,0 @@
1
- declare const migrationTemplate = "\n <td \n align=\"left\" \n esd-extension-block-id=\"checkbox-block\" \n class=\"checkbox-block-v2 esd-block-checkbox esd-checkbox-block esd-extension-block es-p20\"\n >\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n <td align=\"left\" width=\"39\" style=\"vertical-align: top\">\n <input type=\"checkbox\">\n </td>\n <td align=\"left\" width=\"816\" style=\"vertical-align: top\">\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n {-{-TITLE-}-}\n </tr>\n <tr>\n {-{-DESCRIPTION-}-}\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n";
2
- /**
3
- * @returns The template for the default checkbox block
4
- */
5
- export declare function getDefaultTemplate(): string;
6
- export default migrationTemplate;
@@ -1,75 +0,0 @@
1
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
- import { BlockType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- const e = {
14
- TITLE: "Unsubscribe From All Email Lists",
15
- DESCRIPTION: "You will still receive important transactional and billing-related emails."
16
- }, l = `
17
- <td align="left" class="checkbox-block-v2 esd-block-checkbox es-p20">
18
- <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
19
- <tbody>
20
- <tr>
21
- <td align="left" width="39" style="vertical-align: top;">
22
- <input type="checkbox">
23
- </td>
24
- <td align="left" width="816" style="vertical-align: top;">
25
- <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
26
- <tbody>
27
- <${t.BLOCK_TEXT}>
28
- {-{-TITLE-}-}
29
- </${t.BLOCK_TEXT}>
30
- <${t.BLOCK_TEXT}>
31
- {-{-DESCRIPTION-}-}
32
- </${t.BLOCK_TEXT}>
33
- </tbody>
34
- </table>
35
- </td>
36
- </tr>
37
- </tbody>
38
- </table>
39
- </td>
40
- `, m = `
41
- <td
42
- align="left"
43
- esd-extension-block-id="checkbox-block"
44
- class="checkbox-block-v2 esd-block-checkbox esd-checkbox-block esd-extension-block es-p20"
45
- >
46
- <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
47
- <tbody>
48
- <tr>
49
- <td align="left" width="39" style="vertical-align: top">
50
- <input type="checkbox">
51
- </td>
52
- <td align="left" width="816" style="vertical-align: top">
53
- <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
54
- <tbody>
55
- <tr>
56
- {-{-TITLE-}-}
57
- </tr>
58
- <tr>
59
- {-{-DESCRIPTION-}-}
60
- </tr>
61
- </tbody>
62
- </table>
63
- </td>
64
- </tr>
65
- </tbody>
66
- </table>
67
- </td>
68
- `;
69
- function h() {
70
- return l.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`);
71
- }
72
- export {
73
- m as default,
74
- h as getDefaultTemplate
75
- };
@@ -1,30 +0,0 @@
1
- import type { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { Block, BlockCompositionType } from '@stripoinc/ui-editor-extensions';
3
- export declare const UNSUBSCRIBE_BLOCK_ID = "unsubscribe-block";
4
- export declare class UnsubscribeBlock extends Block {
5
- private selectEventListener;
6
- private cancelEventListener;
7
- private currentNode?;
8
- getId(): string;
9
- getIcon(): string;
10
- getBlockCompositionType(): BlockCompositionType;
11
- getName(): string;
12
- getDescription(): string;
13
- getTemplate(): string;
14
- onCreated(node: ImmutableHtmlNode): void;
15
- onSelect(node: ImmutableHtmlNode): undefined;
16
- onDelete(node: ImmutableHtmlNode): undefined;
17
- private _setupSelectEventListener;
18
- private _removeSelectEventListener;
19
- private _setupCancelEventListener;
20
- private _removeCancelEventListener;
21
- private _handleCancel;
22
- private _removeEventListeners;
23
- private _updateBlock;
24
- private _getMergeTag;
25
- private _openDrawer;
26
- private _checkExistingBlocks;
27
- private _loadBlockState;
28
- private _resetStoreState;
29
- private _removeBlockTemplatesFromStore;
30
- }