@useinsider/guido 1.0.3-beta.af71907 → 1.0.3-beta.afb6060

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 (58) hide show
  1. package/dist/config/migrator/couponBlockMigrator.js +47 -41
  2. package/dist/config/migrator/index.js +5 -5
  3. package/dist/enums/unsubscribe.d.ts +4 -0
  4. package/dist/enums/unsubscribe.js +6 -2
  5. package/dist/extensions/Blocks/Checkbox/block.d.ts +1 -0
  6. package/dist/extensions/Blocks/Checkbox/block.js +15 -24
  7. package/dist/extensions/Blocks/Checkbox/control.js +50 -58
  8. package/dist/extensions/Blocks/Checkbox/extension.js +5 -16
  9. package/dist/extensions/Blocks/Checkbox/iconsRegistry.d.ts +4 -0
  10. package/dist/extensions/Blocks/Checkbox/iconsRegistry.js +18 -0
  11. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +12 -25
  12. package/dist/extensions/Blocks/Checkbox/template.js +5 -16
  13. package/dist/extensions/Blocks/CouponBlock/block.d.ts +1 -0
  14. package/dist/extensions/Blocks/CouponBlock/block.js +14 -24
  15. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -16
  16. package/dist/extensions/Blocks/CouponBlock/iconsRegistry.d.ts +4 -0
  17. package/dist/extensions/Blocks/CouponBlock/iconsRegistry.js +33 -0
  18. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +16 -29
  19. package/dist/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  20. package/dist/extensions/Blocks/CouponBlock/template.js +9 -10
  21. package/dist/extensions/Blocks/RadioButton/block.d.ts +1 -0
  22. package/dist/extensions/Blocks/RadioButton/block.js +13 -22
  23. package/dist/extensions/Blocks/RadioButton/control.js +45 -53
  24. package/dist/extensions/Blocks/RadioButton/extension.js +4 -15
  25. package/dist/extensions/Blocks/RadioButton/iconsRegistry.d.ts +4 -0
  26. package/dist/extensions/Blocks/RadioButton/iconsRegistry.js +14 -0
  27. package/dist/extensions/Blocks/RadioButton/settingsPanel.js +13 -26
  28. package/dist/extensions/Blocks/RadioButton/template.js +7 -18
  29. package/dist/extensions/Blocks/_Boilerplate/block.d.ts +1 -0
  30. package/dist/extensions/Blocks/_Boilerplate/iconsRegistry.d.ts +4 -0
  31. package/dist/extensions/DynamicContent/dynamic-content.js +31 -45
  32. package/dist/extensions/DynamicContent/extension.js +6 -18
  33. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +647 -0
  34. package/package.json +2 -2
  35. package/dist/icons/coupon.svg +0 -3
  36. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +0 -75
  37. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +0 -77
  38. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +0 -123
  39. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +0 -7
  40. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +0 -7
  41. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +0 -12
  42. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +0 -7
  43. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +0 -119
  44. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +0 -7
  45. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +0 -7
  46. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +0 -7
  47. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +0 -12
  48. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +0 -7
  49. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +0 -7
  50. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +0 -7
  51. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +0 -24
  52. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +0 -24
  53. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +0 -11
  54. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +0 -33
  55. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +0 -22
  56. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +0 -40
  57. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +0 -5
  58. package/dist/static/assets/icons/coupon.svg.js +0 -4
@@ -1,61 +1,67 @@
1
- var b = Object.defineProperty;
2
- var d = (c, t, s) => t in c ? b(c, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : c[t] = s;
3
- var g = (c, t, s) => d(c, typeof t != "symbol" ? t + "" : t, s);
4
- import f from "../../extensions/Blocks/CouponBlock/template.js";
5
- class x {
1
+ var k = Object.defineProperty;
2
+ var m = (o, t, e) => t in o ? k(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
3
+ var x = (o, t, e) => m(o, typeof t != "symbol" ? t + "" : t, e);
4
+ import h from "../../extensions/Blocks/CouponBlock/template.js";
5
+ class y {
6
6
  constructor() {
7
- g(this, "parser");
7
+ x(this, "parser");
8
8
  this.parser = new DOMParser();
9
9
  }
10
10
  migrate(t) {
11
11
  try {
12
- const s = this.parser.parseFromString(t, "text/html"), e = s.querySelectorAll("td.coupon-block.ins-coupon-code:not([esd-extension-block-id])");
13
- return e.length === 0 ? t : (e.forEach((o) => {
14
- const l = this.extractText(o), n = this.extractAttributes(o), a = f.replace("{-{-COUPON_CODE-}-}", l).replace('class="coupon-block ins-coupon-code esd-block-text esd-extension-block"', n.class).replace(
12
+ const e = this.parser.parseFromString(t, "text/html"), n = e.querySelectorAll("td.coupon-block.ins-coupon-code:not([esd-extension-block-id])");
13
+ return n.length === 0 ? t : (n.forEach((s) => {
14
+ const i = this.extractText(s), c = this.extractAttributes(s), l = h.replace("{@COUPON_CODE}", i).replace(
15
+ 'class="coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block"',
16
+ c.class
17
+ ).replace(
15
18
  'esd-extension-block-id="coupon-block"',
16
- `esd-extension-block-id="coupon-block"${n.block}`
19
+ `esd-extension-block-id="coupon-block"${c.block}`
17
20
  ).replace(
18
- '<p class="ins-title" contenteditable="false"',
19
- `<p class="ins-title" contenteditable="false"${n.text}`
20
- ), r = this.parser.parseFromString(
21
- `<table id="tempDoc"><tbody><tr>${a}</tr></tbody></table>`,
22
- "text/html"
23
- ).querySelector(".coupon-block.ins-coupon-code");
24
- r && o.parentNode && (o.id && (r.id = o.id), o.parentNode.replaceChild(r, o));
25
- }), s.documentElement.outerHTML);
26
- } catch (s) {
27
- return console.error("CouponBlockMigrator failed:", s), t;
21
+ '<p class="ins-title"',
22
+ `<p class="ins-title"${c.text}`
23
+ );
24
+ s.outerHTML = l;
25
+ }), e.documentElement.outerHTML);
26
+ } catch (e) {
27
+ return console.error("CouponBlockMigrator failed:", e), t;
28
28
  }
29
29
  }
30
30
  extractText(t) {
31
- var i;
32
- const s = t.querySelector(".ins-title");
33
- if (!s)
31
+ var g;
32
+ const e = t.querySelector(".ins-title");
33
+ if (!e)
34
34
  return "{@COUPON_CODE}";
35
- let e = ((i = s.textContent) == null ? void 0 : i.trim()) || "{@COUPON_CODE}";
36
- const o = s.getAttribute("style") || "", l = /font-weight\s*:\s*bold/i.test(o), n = /font-style\s*:\s*italic/i.test(o), a = /text-decoration[^;]*underline/i.test(o), p = /text-decoration[^;]*line-through/i.test(o), r = /vertical-align\s*:\s*sub/i.test(o), u = /vertical-align\s*:\s*super/i.test(o);
37
- return l && (e = `<strong>${e}</strong>`), n && (e = `<em>${e}</em>`), a && (e = `<u>${e}</u>`), p && (e = `<s>${e}</s>`), r && (e = `<sub>${e}</sub>`), u && (e = `<sup>${e}</sup>`), e;
35
+ const n = ((g = e.textContent) == null ? void 0 : g.trim()) || "{@COUPON_CODE}", s = e.getAttribute("style") || "", i = /font-weight\s*:\s*bold/i.test(s), c = /font-style\s*:\s*italic/i.test(s), l = /text-decoration[^;]*underline/i.test(s), u = /text-decoration[^;]*line-through/i.test(s), a = /vertical-align\s*:\s*sub/i.test(s), p = /vertical-align\s*:\s*super/i.test(s);
36
+ return [
37
+ [i, "strong"],
38
+ [c, "em"],
39
+ [l, "u"],
40
+ [u, "s"],
41
+ [a, "sub"],
42
+ [p, "sup"]
43
+ ].reduce((b, [f, d]) => f ? `<${d}>${b}</${d}>` : b, n);
38
44
  }
39
45
  extractAttributes(t) {
40
- const s = t.querySelector(".ins-title"), e = t.className.split(" ").filter((i) => i.startsWith("es-")), o = t.getAttribute("align"), l = t.getAttribute("bgcolor"), n = t.getAttribute("style"), a = s == null ? void 0 : s.getAttribute("style");
41
- let p = 'class="coupon-block ins-coupon-code esd-block-text esd-extension-block';
42
- e.length && (p += ` ${e.join(" ")}`), p += '"';
43
- let r = "";
44
- if (o && (r += ` align="${o}"`), l && (r += ` bgcolor="${l}"`), n) {
45
- const i = n.replace(/background-color[^;]+;?/gi, "").replace(/;+/g, ";").trim();
46
- i && (r += ` style="${i.replace(/"/g, "'")}"`);
46
+ const e = t.querySelector(".ins-title"), n = t.className.split(" ").filter((r) => r.startsWith("es-")), s = t.getAttribute("align"), i = t.getAttribute("bgcolor"), c = t.getAttribute("style"), l = e == null ? void 0 : e.getAttribute("style");
47
+ let u = 'class="coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block';
48
+ n.length && (u += ` ${n.join(" ")}`), u += '"';
49
+ let a = "";
50
+ if (s && (a += ` align="${s}"`), i && (a += ` bgcolor="${i}"`), c) {
51
+ const r = c.replace(/background-color[^;]+;?/gi, "").replace(/;+/g, ";").trim();
52
+ r && (a += ` style="${r.replace(/"/g, "'")}"`);
47
53
  }
48
- let u = "";
49
- if (a) {
50
- const i = a.replace(/&quot;/g, '"').replace(/font-weight\s*:\s*[^;]+;?/gi, "").replace(/font-style\s*:\s*[^;]+;?/gi, "").replace(/text-decoration\s*:\s*[^;]+;?/gi, "").replace(/vertical-align\s*:\s*[^;]+;?/gi, "").replace(/;+/g, ";").replace(/^;|;$/g, "").trim().replace(/"/g, "'");
51
- i && (u = ` style="${i}"`);
54
+ let p = "";
55
+ if (l) {
56
+ const r = l.replace(/&quot;/g, '"').replace(/font-weight\s*:\s*[^;]+;?/gi, "").replace(/font-style\s*:\s*[^;]+;?/gi, "").replace(/text-decoration\s*:\s*[^;]+;?/gi, "").replace(/vertical-align\s*:\s*[^;]+;?/gi, "").replace(/;+/g, ";").replace(/^;|;$/g, "").trim().replace(/"/g, "'");
57
+ r && (p = ` style="${r}"`);
52
58
  }
53
- return { class: p, block: r, text: u };
59
+ return { class: u, block: a, text: p };
54
60
  }
55
61
  }
56
- function y(c) {
57
- return new x().migrate(c);
62
+ function C(o) {
63
+ return new y().migrate(o);
58
64
  }
59
65
  export {
60
- y as migrateCouponBlock
66
+ C as migrateCouponBlock
61
67
  };
@@ -1,9 +1,9 @@
1
- import { migrateCheckbox as t } from "./checkboxMigrator.js";
2
- import { migrateCouponBlock as e } from "./couponBlockMigrator.js";
3
- import { migrateRadioButton as i } from "./radioButtonMigrator.js";
1
+ import { migrateCheckbox as r } from "./checkboxMigrator.js";
2
+ import { migrateCouponBlock as m } from "./couponBlockMigrator.js";
3
+ import { migrateRadioButton as e } from "./radioButtonMigrator.js";
4
4
  const p = (o) => {
5
- let r = o;
6
- return r = t(o), r = i(o), r = e(o), r;
5
+ let t = o;
6
+ return t = r(t), t = e(t), t = m(t), t;
7
7
  };
8
8
  export {
9
9
  p as migrate
@@ -13,3 +13,7 @@ export declare const URLS: {
13
13
  PREFERENCES_URL: string;
14
14
  };
15
15
  export declare const INSIDER_ID = "iid";
16
+ export declare const DEFAULT_UNSUBSCRIBE_GROUP: {
17
+ readonly name: "Global Unsubscribe";
18
+ readonly sendGridId: "G";
19
+ };
@@ -6,12 +6,16 @@ const E = {
6
6
  DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
7
7
  GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
8
8
  PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
9
- }, _ = {
9
+ }, n = {
10
10
  UNSUBSCRIBE_URL: "https://mail.useinsider.com/user/v1/unsub",
11
11
  PREFERENCES_URL: "https://mail.useinsider.com/user/v1/prefs"
12
+ }, _ = {
13
+ name: "Global Unsubscribe",
14
+ sendGridId: "G"
12
15
  };
13
16
  export {
17
+ _ as DEFAULT_UNSUBSCRIBE_GROUP,
14
18
  s as LINK_REGEXES,
15
19
  E as LINK_TYPES,
16
- _ as URLS
20
+ n as URLS
17
21
  };
@@ -1,6 +1,7 @@
1
1
  import { Block, BlockCompositionType } from '@stripoinc/ui-editor-extensions';
2
2
  export declare const CHECKBOX_BLOCK_ID = "checkbox-block";
3
3
  export declare class CheckboxBlock extends Block {
4
+ constructor();
4
5
  getId(): string;
5
6
  getIcon(): string;
6
7
  getBlockCompositionType(): BlockCompositionType;
@@ -1,39 +1,30 @@
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 {
1
+ import { Block as e, BlockCompositionType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { getDefaultTemplate as o } from "./template.js";
3
+ const r = "checkbox-block";
4
+ class p extends e {
5
+ constructor() {
6
+ super();
7
+ }
17
8
  getId() {
18
- return e;
9
+ return r;
19
10
  }
20
11
  getIcon() {
21
- return "check-circle";
12
+ return "checkbox-icon";
22
13
  }
23
14
  getBlockCompositionType() {
24
- return o.BLOCK;
15
+ return t.CONTAINER;
25
16
  }
26
17
  getName() {
27
- return this.api.translate("Checkbox block");
18
+ return this.api.translate("Checkbox Block");
28
19
  }
29
20
  getDescription() {
30
- return this.api.translate("Checkbox block description");
21
+ return this.api.translate("Checkbox Block Description");
31
22
  }
32
23
  getTemplate() {
33
- return r();
24
+ return o();
34
25
  }
35
26
  }
36
27
  export {
37
- e as CHECKBOX_BLOCK_ID,
38
- x as CheckboxBlock
28
+ r as CHECKBOX_BLOCK_ID,
29
+ p as CheckboxBlock
39
30
  };
@@ -1,104 +1,96 @@
1
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 {
2
+ var d = (i, n, e) => n in i ? E(i, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[n] = e;
3
+ var u = (i, n, e) => d(i, typeof n != "symbol" ? n + "" : n, e);
4
+ import { useHttp as l } from "../../../composables/useHttp.js";
5
+ import { DEFAULT_UNSUBSCRIBE_GROUP as p } from "../../../enums/unsubscribe.js";
6
+ import { Control as L, UIElementType as r, UEAttr as t, ModificationDescription as h } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
7
+ const m = "ui-elements-checkbox", o = "select", { get: C } = l();
8
+ class S extends L {
22
9
  constructor() {
23
10
  super(...arguments);
24
- a(this, "currentNode");
25
- a(this, "selectedUnsubGroup");
26
- a(this, "unsubList", []);
11
+ u(this, "currentNode");
12
+ u(this, "selectedUnsubGroup");
13
+ u(this, "unsubList", []);
27
14
  }
28
15
  getId() {
29
- return d;
16
+ return m;
30
17
  }
31
18
  _setFormValues() {
32
- this.api.updateValues({
33
- [n]: ""
34
- });
19
+ if (this.currentNode && "getAttribute" in this.currentNode) {
20
+ const e = this.currentNode.getAttribute("id");
21
+ if (e === "G")
22
+ this.selectedUnsubGroup = "G", this.api.updateValues({
23
+ [o]: "G"
24
+ });
25
+ else {
26
+ const s = Number(e);
27
+ s && (this.selectedUnsubGroup = s, this.api.updateValues({
28
+ [o]: this.selectedUnsubGroup
29
+ }));
30
+ }
31
+ }
35
32
  }
36
- _getLabel(t, i = `${Math.random()}`) {
33
+ _getLabel(e, s = `${Math.random()}`) {
37
34
  return `
38
35
  <${r.LABEL}
39
- ${e.LABEL.text}="${t}"
40
- ${e.LABEL.name}="${i}">
36
+ ${t.LABEL.text}="${e}"
37
+ ${t.LABEL.name}="${s}">
41
38
  </${r.LABEL}>
42
39
  `;
43
40
  }
44
- _getSelectItem(t, i) {
41
+ _getSelectItem(e, s) {
45
42
  return `
46
43
  <${r.SELECT_ITEM}
47
- ${e.SELECT_ITEM.text}="${t}"
48
- ${e.SELECT_ITEM.value}="${i}">
44
+ ${t.SELECT_ITEM.text}="${e}"
45
+ ${t.SELECT_ITEM.value}="${s}">
49
46
  </${r.SELECT_ITEM}>`;
50
47
  }
51
48
  _getSelect() {
52
- return this.unsubList.map((t) => this._getSelectItem(t.name, t.sendGridId)).join("");
49
+ return this.unsubList.map((e) => this._getSelectItem(e.name, e.sendGridId)).join("");
53
50
  }
54
51
  getTemplate() {
55
52
  return `
56
53
  <div class="checkbox-controls-container">
57
54
  <div class="checkbox-select-container container two-columns stretch">
58
55
  <${r.LABEL}
59
- ${e.LABEL.text}="${this.api.translate("Unsubscribe Group")}"
60
- ${e.LABEL.name}="${Math.random()}">
56
+ ${t.LABEL.text}="${this.api.translate("Unsubscribe Group")}"
57
+ ${t.LABEL.name}="${Math.random()}">
61
58
  </${r.LABEL}>
62
59
 
63
60
  <${r.SELECTPICKER}
64
- ${e.SELECTPICKER.name}="${n}"
65
- ${e.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
61
+ ${t.SELECTPICKER.name}="${o}"
62
+ ${t.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
66
63
  ${this._getSelect()}
67
64
  </${r.SELECTPICKER}>
68
65
  </div>
69
66
  </div>
70
67
  `;
71
68
  }
72
- _onSelectChange(t) {
73
- this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", t.toString()).apply(new l(`Updated text to ${t}`));
69
+ _onSelectChange(e) {
70
+ this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", e.toString()).apply(new h(`Updated text to ${e}`));
74
71
  }
75
72
  _listenToFormUpdates() {
76
- this.api.onValueChanged(n, (t) => this._onSelectChange(t));
73
+ this.api.onValueChanged(o, (e) => this._onSelectChange(e));
77
74
  }
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
- }
75
+ onTemplateNodeUpdated(e) {
76
+ this.currentNode = e;
85
77
  }
86
78
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
87
79
  async onRender() {
88
- const t = await L(
80
+ const e = await C(
89
81
  "/unsubscribe-groups/unsubscribe-list"
90
- ), i = t.data.map((u) => ({
91
- [e.SELECT_ITEM.text]: u.name,
92
- [e.SELECT_ITEM.value]: u.sendGridId
82
+ ), s = [p, ...e.data], c = s.map((a) => ({
83
+ [t.SELECT_ITEM.text]: a.name,
84
+ [t.SELECT_ITEM.value]: a.sendGridId
93
85
  }));
94
- this.unsubList = t.data, this.api.setUIEAttribute(
95
- n,
96
- e.SELECTPICKER.items,
97
- i
86
+ this.unsubList = s, this.api.setUIEAttribute(
87
+ o,
88
+ t.SELECTPICKER.items,
89
+ c
98
90
  ), this._setFormValues(), this._listenToFormUpdates();
99
91
  }
100
92
  }
101
93
  export {
102
- d as CHECKBOX_CONTROL_BLOCK_ID,
103
- K as CheckboxControl
94
+ m as CHECKBOX_CONTROL_BLOCK_ID,
95
+ S as CheckboxControl
104
96
  };
@@ -1,20 +1,9 @@
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";
1
+ import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
14
2
  import { CheckboxBlock as t } from "./block.js";
15
- import { CheckboxControl as r } from "./control.js";
3
+ import { CheckboxControl as e } from "./control.js";
4
+ import { CheckboxIconsRegistry as r } from "./iconsRegistry.js";
16
5
  import { CheckboxBlockSettings as i } from "./settingsPanel.js";
17
- const g = new o().addBlock(t).withSettingsPanelRegistry(i).addControl(r).build();
6
+ const k = new o().addBlock(t).withSettingsPanelRegistry(i).addControl(e).withIconsRegistry(r).build();
18
7
  export {
19
- g as default
8
+ k as default
20
9
  };
@@ -0,0 +1,4 @@
1
+ import { IconsRegistry } from '@stripoinc/ui-editor-extensions';
2
+ export declare class CheckboxIconsRegistry extends IconsRegistry {
3
+ registerIconsSvg(iconsMap: Record<string, string>): void;
4
+ }
@@ -0,0 +1,18 @@
1
+ import { IconsRegistry as s } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ class t extends s {
3
+ registerIconsSvg(e) {
4
+ e["checkbox-icon"] = `
5
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
6
+ <path d="M16 0C17.1046 0 18 0.895431 18 2L18 16C18 17.1046 17.1046 18 16 18L2 18C0.895431 18 8.05333e-09
7
+ 17.1046 0 16L0 2C0 0.895431 0.895431 8.05319e-09 2 0L16 0ZM2 16L16 16L16 2L2 2L2 16ZM11.3672
8
+ 6.28125C11.7407 5.9061 12.3462 5.90614 12.7197 6.28125C13.0933 6.65659 13.0933 7.26528 12.7197
9
+ 7.64062L8.66211 11.7187C8.31189 12.0707 7.75752 12.0922 7.38184 11.7842L7.30957 11.7187L5.28027
10
+ 9.67969C4.90674 9.30434 4.90674 8.69566 5.28027 8.32031C5.6538 7.94508 6.25931 7.94504 6.63281
11
+ 8.32031L7.98535 9.67969L11.3672 6.28125Z" fill="#666666"/>
12
+ </svg>
13
+ `;
14
+ }
15
+ }
16
+ export {
17
+ t as CheckboxIconsRegistry
18
+ };
@@ -1,38 +1,25 @@
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] = [
1
+ import { SettingsPanelRegistry as C, SettingsPanelTab as t, SettingsTab as e, ContainerControls as n, TextControls as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CHECKBOX_BLOCK_ID as s } from "./block.js";
3
+ import { CHECKBOX_CONTROL_BLOCK_ID as T } from "./control.js";
4
+ class l extends C {
5
+ registerBlockControls(o) {
6
+ o[s] = [
20
7
  new t(
21
- o.SETTINGS,
8
+ e.SETTINGS,
22
9
  [
23
- C,
24
- i.EXTERNAL_INDENTS
10
+ T,
11
+ n.EXTERNAL_INDENTS
25
12
  ]
26
13
  ),
27
14
  new t(
28
- o.STYLES,
15
+ e.STYLES,
29
16
  [
30
- m.TEXT_BLOCK_BACKGROUND_COLOR
17
+ r.TEXT_BLOCK_BACKGROUND_COLOR
31
18
  ]
32
19
  )
33
20
  ];
34
21
  }
35
22
  }
36
23
  export {
37
- x as CheckboxBlockSettings
24
+ l as CheckboxBlockSettings
38
25
  };
@@ -1,15 +1,4 @@
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";
1
+ import { BlockType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
13
2
  const e = {
14
3
  TITLE: "Unsubscribe From All Email Lists",
15
4
  DESCRIPTION: "You will still receive important transactional and billing-related emails."
@@ -37,7 +26,7 @@ const e = {
37
26
  </tbody>
38
27
  </table>
39
28
  </td>
40
- `, m = `
29
+ `, i = `
41
30
  <td
42
31
  align="left"
43
32
  esd-extension-block-id="checkbox-block"
@@ -66,10 +55,10 @@ const e = {
66
55
  </table>
67
56
  </td>
68
57
  `;
69
- function h() {
58
+ function c() {
70
59
  return l.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`);
71
60
  }
72
61
  export {
73
- m as default,
74
- h as getDefaultTemplate
62
+ i as default,
63
+ c as getDefaultTemplate
75
64
  };
@@ -1,6 +1,7 @@
1
1
  import { Block, BlockCompositionType, BlockType } from '@stripoinc/ui-editor-extensions';
2
2
  export declare const COUPON_BLOCK_ID = "coupon-block";
3
3
  export declare class CouponBlock extends Block {
4
+ constructor();
4
5
  getId(): string;
5
6
  getIcon(): string;
6
7
  getBlockCompositionType(): BlockCompositionType;
@@ -1,28 +1,18 @@
1
- import o from "../../../static/assets/icons/coupon.svg.js";
2
- import { Block as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js";
3
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
4
- import { BlockCompositionType as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
5
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
6
- import { BlockType as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
11
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
13
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
14
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
15
- import { getDefaultTemplate as p } from "./template.js";
16
- const i = "coupon-block";
17
- class I extends t {
1
+ import { Block as o, BlockCompositionType as e, BlockType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { getDefaultTemplate as r } from "./template.js";
3
+ const n = "coupon-block";
4
+ class s extends o {
5
+ constructor() {
6
+ super();
7
+ }
18
8
  getId() {
19
- return i;
9
+ return n;
20
10
  }
21
11
  getIcon() {
22
- return o;
12
+ return "coupon-icon";
23
13
  }
24
14
  getBlockCompositionType() {
25
- return r.BLOCK;
15
+ return e.BLOCK;
26
16
  }
27
17
  getName() {
28
18
  return this.api.translate("Coupon Block");
@@ -31,13 +21,13 @@ class I extends t {
31
21
  return this.api.translate("Coupon lets you add a coupon code to your message design.");
32
22
  }
33
23
  getBlockType() {
34
- return e.BLOCK_TEXT;
24
+ return t.BLOCK_TEXT;
35
25
  }
36
26
  getTemplate() {
37
- return p();
27
+ return r();
38
28
  }
39
29
  }
40
30
  export {
41
- i as COUPON_BLOCK_ID,
42
- I as CouponBlock
31
+ n as COUPON_BLOCK_ID,
32
+ s as CouponBlock
43
33
  };
@@ -1,19 +1,8 @@
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";
1
+ import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
14
2
  import { CouponBlock as t } from "./block.js";
15
- import { CouponBlockSettings as i } from "./settingsPanel.js";
16
- const x = new o().addBlock(t).withSettingsPanelRegistry(i).build();
3
+ import { CouponIconsRegistry as i } from "./iconsRegistry.js";
4
+ import { CouponBlockSettings as n } from "./settingsPanel.js";
5
+ const m = new o().addBlock(t).withSettingsPanelRegistry(n).withIconsRegistry(i).build();
17
6
  export {
18
- x as default
7
+ m as default
19
8
  };