@useinsider/guido 1.0.2-beta.ab357f5 → 1.0.2-beta.ad1dcd9
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.
- package/README.md +1 -1
- package/dist/@types/generic.d.ts +8 -0
- package/dist/components/Guido.vue.d.ts +2 -2
- package/dist/components/Guido.vue.js +2 -2
- package/dist/components/Guido.vue2.js +66 -61
- package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +2 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +18 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +16 -0
- package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +2 -0
- package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +24 -0
- package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +64 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +2 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +18 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +108 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +2 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +18 -0
- package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +12 -0
- package/dist/components/wrappers/WpDrawer.vue.d.ts +6 -4
- package/dist/components/wrappers/WpDrawer.vue.js +6 -4
- package/dist/composables/useHtmlValidator.d.ts +2 -1
- package/dist/composables/useHtmlValidator.js +114 -95
- package/dist/composables/useSave.js +6 -6
- package/dist/composables/useStripo.js +35 -29
- package/dist/config/compiler/unsubscribeCompilerRules.js +19 -19
- package/dist/config/migrator/checkboxMigrator.d.ts +1 -0
- package/dist/config/migrator/checkboxMigrator.js +83 -0
- package/dist/config/migrator/index.d.ts +1 -0
- package/dist/config/migrator/index.js +9 -0
- package/dist/config/migrator/unsubscribeMigrator.d.ts +1 -0
- package/dist/config/migrator/unsubscribeMigrator.js +112 -0
- package/dist/enums/defaults.js +6 -3
- package/dist/enums/unsubscribe.d.ts +19 -0
- package/dist/enums/unsubscribe.js +39 -6
- package/dist/extensions/Blocks/Checkbox/block.d.ts +10 -0
- package/dist/extensions/Blocks/Checkbox/block.js +39 -0
- package/dist/extensions/Blocks/Checkbox/control.d.ts +22 -0
- package/dist/extensions/Blocks/Checkbox/control.js +104 -0
- package/dist/extensions/Blocks/Checkbox/extension.d.ts +2 -0
- package/dist/extensions/Blocks/Checkbox/extension.js +20 -0
- package/dist/extensions/Blocks/Checkbox/settingsPanel.d.ts +4 -0
- package/dist/extensions/Blocks/Checkbox/settingsPanel.js +38 -0
- package/dist/extensions/Blocks/Checkbox/template.d.ts +6 -0
- package/dist/extensions/Blocks/Checkbox/template.js +75 -0
- package/dist/extensions/Blocks/Unsubscribe/block.d.ts +30 -0
- package/dist/extensions/Blocks/Unsubscribe/block.js +141 -0
- package/dist/extensions/Blocks/Unsubscribe/control.d.ts +29 -0
- package/dist/extensions/Blocks/Unsubscribe/control.js +180 -0
- package/dist/extensions/Blocks/Unsubscribe/elements/preview.d.ts +11 -0
- package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +54 -0
- package/dist/extensions/Blocks/Unsubscribe/extension.d.ts +2 -0
- package/dist/extensions/Blocks/Unsubscribe/extension.js +21 -0
- package/dist/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +4 -0
- package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +32 -0
- package/dist/extensions/Blocks/Unsubscribe/template.d.ts +3 -0
- package/dist/extensions/Blocks/Unsubscribe/template.js +28 -0
- package/dist/extensions/Blocks/Unsubscribe/utils/constants.d.ts +9 -0
- package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +11 -0
- package/dist/extensions/Blocks/Unsubscribe/utils/utils.d.ts +7 -0
- package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +6 -0
- package/dist/extensions/Blocks/_Boilerplate/block.d.ts +10 -0
- package/dist/extensions/Blocks/_Boilerplate/control.d.ts +17 -0
- package/dist/extensions/Blocks/_Boilerplate/extension.d.ts +2 -0
- package/dist/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
- package/dist/extensions/Blocks/_Boilerplate/template.d.ts +6 -0
- package/dist/extensions/DynamicContent/dynamic-content.js +41 -27
- package/dist/extensions/DynamicContent/extension.js +18 -6
- package/dist/guido.css +1 -1
- package/dist/mock/api/unsubscribe.d.ts +2 -0
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +72 -48
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +74 -49
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +120 -38
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +12 -0
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +116 -101
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +12 -0
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +5 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +23 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +21 -17
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +8 -15
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +30 -29
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +19 -23
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +37 -19
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +2 -15
- package/dist/services/unsubscribeApi.d.ts +4 -0
- package/dist/services/unsubscribeApi.js +16 -0
- package/dist/stores/unsubscribe.d.ts +183 -5
- package/dist/stores/unsubscribe.js +125 -6
- package/package.json +2 -2
- package/dist/_virtual/AddCustomFont.js +0 -4
- package/dist/_virtual/AiAssistantValueType.js +0 -4
- package/dist/_virtual/BackgroundColorBuiltInControl.js +0 -4
- package/dist/_virtual/BackgroundImageBuiltInControl.js +0 -4
- package/dist/_virtual/Block.js +0 -4
- package/dist/_virtual/BlockAttributes.js +0 -4
- package/dist/_virtual/BlockCompositionType.js +0 -4
- package/dist/_virtual/BlockPaddingsBuiltInControl.js +0 -4
- package/dist/_virtual/BlockRenderer.js +0 -4
- package/dist/_virtual/BlockType.js +0 -4
- package/dist/_virtual/BlocksPanel.js +0 -4
- package/dist/_virtual/BuiltInControl.js +0 -4
- package/dist/_virtual/BuiltInControlTypes.js +0 -4
- package/dist/_virtual/ButtonBorderBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonColorBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonFontColorBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +0 -4
- package/dist/_virtual/ButtonTextBuiltInControl.js +0 -4
- package/dist/_virtual/ContextAction.js +0 -4
- package/dist/_virtual/ContextActionType.js +0 -4
- package/dist/_virtual/Control.js +0 -4
- package/dist/_virtual/EditorStatePropertyType.js +0 -4
- package/dist/_virtual/Extension.js +0 -4
- package/dist/_virtual/ExtensionBuilder.js +0 -4
- package/dist/_virtual/FontFamilyBuiltInControl.js +0 -4
- package/dist/_virtual/LinkColorBuiltInControl.js +0 -4
- package/dist/_virtual/ModificationDescription.js +0 -4
- package/dist/_virtual/PanelPosition.js +0 -4
- package/dist/_virtual/PreviewDeviceMode.js +0 -4
- package/dist/_virtual/SettingsPanelRegistry.js +0 -4
- package/dist/_virtual/SettingsPanelTab.js +0 -4
- package/dist/_virtual/SettingsTab.js +0 -4
- package/dist/_virtual/StructureBorderBuiltInControl.js +0 -4
- package/dist/_virtual/StructurePaddingsBuiltInControl.js +0 -4
- package/dist/_virtual/TextColorBuiltInControl.js +0 -4
- package/dist/_virtual/TextLineSpacingBuiltInControl.js +0 -4
- package/dist/_virtual/TextSizeBuiltInControl.js +0 -4
- package/dist/_virtual/TextStyleBuiltInControl.js +0 -4
- package/dist/_virtual/UIElement.js +0 -4
- package/dist/_virtual/UIElementTagRegistry.js +0 -4
- package/dist/_virtual/UIElementType.js +0 -4
- package/dist/_virtual/UIElementsAttributes.js +0 -4
- package/dist/_virtual/index.js +0 -5
- package/dist/_virtual/index2.js +0 -4
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +0 -18
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +0 -32
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +0 -18
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +0 -8
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +0 -34
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +0 -44
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +0 -22
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +0 -46
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +0 -44
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +0 -45
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +0 -43
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +0 -266
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
};
|
package/dist/enums/defaults.js
CHANGED
|
@@ -4,6 +4,9 @@ const a = {
|
|
|
4
4
|
senderName: "",
|
|
5
5
|
subject: ""
|
|
6
6
|
},
|
|
7
|
+
extensions: {
|
|
8
|
+
unsubscribe: !0
|
|
9
|
+
},
|
|
7
10
|
features: {
|
|
8
11
|
dynamicContent: !0,
|
|
9
12
|
saveAsTemplate: !0,
|
|
@@ -13,7 +16,7 @@ const a = {
|
|
|
13
16
|
}, t = {
|
|
14
17
|
promotional: 1,
|
|
15
18
|
transactional: 2
|
|
16
|
-
}, e = "email", o = "Guido User", n = t.promotional,
|
|
19
|
+
}, e = "email", o = "Guido User", n = t.promotional, s = 2, i = {
|
|
17
20
|
email: 60,
|
|
18
21
|
architect: 49
|
|
19
22
|
}, u = [
|
|
@@ -53,8 +56,8 @@ export {
|
|
|
53
56
|
n as DefaultMessageType,
|
|
54
57
|
e as DefaultProductType,
|
|
55
58
|
o as DefaultUsername,
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
s as EditorType,
|
|
60
|
+
i as ProductIds,
|
|
58
61
|
u as TEST_PARTNER_LIST,
|
|
59
62
|
t as TemplateTypes
|
|
60
63
|
};
|
|
@@ -13,3 +13,22 @@ export declare const URLS: {
|
|
|
13
13
|
PREFERENCES_URL: string;
|
|
14
14
|
};
|
|
15
15
|
export declare const INSIDER_ID = "iid";
|
|
16
|
+
export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center";
|
|
17
|
+
export declare const UNSUBSCRIBE_PAGES_LINK = "/email/unsubscribe-pages";
|
|
18
|
+
export declare const PAGE_TYPES: {
|
|
19
|
+
GLOBAL_UNSUBSCRIBE: number;
|
|
20
|
+
GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: number;
|
|
21
|
+
SUBSCRIPTION_PREFERENCE_CENTER: number;
|
|
22
|
+
SUBSCRIPTION_PREFERENCE_CONFIRMATION: number;
|
|
23
|
+
RESUBSCRIBE: number;
|
|
24
|
+
};
|
|
25
|
+
export declare const TYPE_COLLECTIONS: {
|
|
26
|
+
[x: number]: number[];
|
|
27
|
+
};
|
|
28
|
+
export declare const TYPE_TRANSLATIONS: {
|
|
29
|
+
[x: number]: string;
|
|
30
|
+
};
|
|
31
|
+
export declare const MERGE_TAGS: {
|
|
32
|
+
[x: number]: string;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
@@ -1,17 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
import { useTranslations as e } from "../composables/useTranslations.js";
|
|
2
|
+
const s = e(), n = {
|
|
2
3
|
UNSUBSCRIBE_LINK_TYPE: 1,
|
|
3
4
|
PREFERENCES_LINK_TYPE: 3
|
|
4
|
-
},
|
|
5
|
+
}, S = {
|
|
5
6
|
UNSUBSCRIBE_LINK_REGEX: /{{ins-unsubscribe-link}}/g,
|
|
6
7
|
DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
|
|
7
8
|
GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
|
|
8
9
|
PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
|
|
9
|
-
},
|
|
10
|
+
}, N = {
|
|
10
11
|
UNSUBSCRIBE_URL: "https://mail.useinsider.com/user/v1/unsub",
|
|
11
12
|
PREFERENCES_URL: "https://mail.useinsider.com/user/v1/prefs"
|
|
13
|
+
}, _ = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", I = "/email/unsubscribe-pages", E = {
|
|
14
|
+
GLOBAL_UNSUBSCRIBE: 1,
|
|
15
|
+
GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: 2,
|
|
16
|
+
SUBSCRIPTION_PREFERENCE_CENTER: 3,
|
|
17
|
+
SUBSCRIPTION_PREFERENCE_CONFIRMATION: 4,
|
|
18
|
+
RESUBSCRIBE: 5
|
|
19
|
+
}, r = {
|
|
20
|
+
[E.GLOBAL_UNSUBSCRIBE]: [
|
|
21
|
+
E.GLOBAL_UNSUBSCRIBE,
|
|
22
|
+
E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE,
|
|
23
|
+
E.RESUBSCRIBE
|
|
24
|
+
],
|
|
25
|
+
[E.SUBSCRIPTION_PREFERENCE_CENTER]: [
|
|
26
|
+
E.SUBSCRIPTION_PREFERENCE_CENTER,
|
|
27
|
+
E.SUBSCRIPTION_PREFERENCE_CONFIRMATION
|
|
28
|
+
]
|
|
29
|
+
}, i = {
|
|
30
|
+
[E.GLOBAL_UNSUBSCRIBE]: s("unsubscription-preference.type-global-unsubscribe"),
|
|
31
|
+
[E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: s("unsubscription-preference.type-global-unsubscription-confirmation"),
|
|
32
|
+
[E.RESUBSCRIBE]: s("unsubscription-preference.type-resubscribe"),
|
|
33
|
+
[E.SUBSCRIPTION_PREFERENCE_CENTER]: s("unsubscription-preference.type-subscription-preferences-center"),
|
|
34
|
+
[E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: s("unsubscription-preference.type-subscription-preferences-confirmation")
|
|
35
|
+
}, B = {
|
|
36
|
+
default: "{{ins-unsubscribe-link}}",
|
|
37
|
+
[E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
|
|
38
|
+
[E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
|
|
12
39
|
};
|
|
13
40
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
41
|
+
_ as ACADEMY_LINK,
|
|
42
|
+
S as LINK_REGEXES,
|
|
43
|
+
n as LINK_TYPES,
|
|
44
|
+
B as MERGE_TAGS,
|
|
45
|
+
E as PAGE_TYPES,
|
|
46
|
+
r as TYPE_COLLECTIONS,
|
|
47
|
+
i as TYPE_TRANSLATIONS,
|
|
48
|
+
I as UNSUBSCRIBE_PAGES_LINK,
|
|
49
|
+
N as URLS
|
|
17
50
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
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 {};
|
|
@@ -0,0 +1,104 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
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;
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
}
|