@useinsider/guido 1.4.4-beta.b4adc85 → 1.4.4

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 (80) hide show
  1. package/README.md +664 -295
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +89 -63
  4. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +13 -13
  5. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +5 -5
  6. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +13 -13
  7. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  8. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -18
  9. package/dist/components/organisms/header/RightSlot.vue.js +10 -10
  10. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +19 -22
  11. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +4 -4
  12. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +8 -8
  13. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +3 -3
  14. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +17 -17
  15. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +10 -10
  16. package/dist/composables/useBlocksConfig.js +20 -23
  17. package/dist/composables/useConfig.js +5 -51
  18. package/dist/composables/useHtmlCompiler.js +19 -20
  19. package/dist/composables/useHtmlValidator.js +41 -41
  20. package/dist/composables/usePartner.js +9 -19
  21. package/dist/composables/useStripo.js +11 -11
  22. package/dist/composables/useTranslations.js +2 -3
  23. package/dist/config/compiler/unsubscribeCompilerRules.js +1 -1
  24. package/dist/enums/defaults.js +67 -3
  25. package/dist/enums/unsubscribe.js +20 -23
  26. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +11 -12
  27. package/dist/guido.css +1 -1
  28. package/dist/library.js +2 -12
  29. package/dist/node_modules/lodash-es/_apply.js +16 -0
  30. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +10 -10
  31. package/dist/node_modules/lodash-es/_assignMergeValue.js +8 -0
  32. package/dist/node_modules/lodash-es/_assignValue.js +10 -0
  33. package/dist/node_modules/lodash-es/_baseAssignValue.js +12 -0
  34. package/dist/node_modules/lodash-es/_baseCreate.js +17 -0
  35. package/dist/node_modules/lodash-es/_baseKeysIn.js +15 -0
  36. package/dist/node_modules/lodash-es/_baseMerge.js +20 -0
  37. package/dist/node_modules/lodash-es/_baseMergeDeep.js +31 -0
  38. package/dist/node_modules/lodash-es/_baseRest.js +9 -0
  39. package/dist/node_modules/lodash-es/_baseSetToString.js +14 -0
  40. package/dist/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  41. package/dist/node_modules/lodash-es/_cloneBuffer.js +9 -0
  42. package/dist/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  43. package/dist/node_modules/lodash-es/_copyArray.js +9 -0
  44. package/dist/node_modules/lodash-es/_copyObject.js +14 -0
  45. package/dist/node_modules/lodash-es/_createAssigner.js +15 -0
  46. package/dist/node_modules/lodash-es/_defineProperty.js +11 -0
  47. package/dist/node_modules/lodash-es/_getPrototype.js +5 -0
  48. package/dist/node_modules/lodash-es/_initCloneObject.js +9 -0
  49. package/dist/node_modules/lodash-es/_nativeKeysIn.js +10 -0
  50. package/dist/node_modules/lodash-es/_overRest.js +15 -0
  51. package/dist/node_modules/lodash-es/_safeGet.js +7 -0
  52. package/dist/node_modules/lodash-es/_setToString.js +6 -0
  53. package/dist/node_modules/lodash-es/_shortOut.js +16 -0
  54. package/dist/node_modules/lodash-es/constant.js +8 -0
  55. package/dist/node_modules/lodash-es/isArrayLikeObject.js +8 -0
  56. package/dist/node_modules/lodash-es/isPlainObject.js +16 -0
  57. package/dist/node_modules/lodash-es/keysIn.js +9 -0
  58. package/dist/node_modules/lodash-es/merge.js +8 -0
  59. package/dist/node_modules/lodash-es/toPlainObject.js +8 -0
  60. package/dist/node_modules/valibot/dist/index.js +103 -476
  61. package/dist/services/templateLibraryApi.js +18 -18
  62. package/dist/src/@types/generic.d.ts +45 -4
  63. package/dist/src/components/Guido.vue.d.ts +12 -13
  64. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  65. package/dist/src/composables/useConfig.d.ts +2 -184
  66. package/dist/src/composables/usePartner.d.ts +0 -8
  67. package/dist/src/enums/defaults.d.ts +6 -4
  68. package/dist/src/enums/unsubscribe.d.ts +1 -5
  69. package/dist/src/library.d.ts +1 -3
  70. package/dist/src/stores/config.d.ts +102 -1547
  71. package/dist/stores/config.js +9 -141
  72. package/package.json +1 -1
  73. package/dist/@types/config/defaults.js +0 -44
  74. package/dist/@types/config/schemas.js +0 -229
  75. package/dist/@types/config/validator.js +0 -56
  76. package/dist/src/@types/config/defaults.d.ts +0 -68
  77. package/dist/src/@types/config/index.d.ts +0 -14
  78. package/dist/src/@types/config/schemas.d.ts +0 -505
  79. package/dist/src/@types/config/types.d.ts +0 -142
  80. package/dist/src/@types/config/validator.d.ts +0 -119
@@ -1,18 +1,18 @@
1
- import _ from "./UnsubscribeWrapper.vue2.js";
2
- import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var c = function() {
4
- var s, t;
5
- var e = this, r = e._self._c, n = e._self._setupProxy;
6
- return (t = (s = n.config) == null ? void 0 : s.features) != null && t.unsubscribe ? r("div", [r(n.UnsubscribeTypeSelection), r(n.UnsubscribePageSelection)], 1) : e._e();
7
- }, i = [], a = /* @__PURE__ */ o(
1
+ import o from "./UnsubscribeWrapper.vue2.js";
2
+ import t from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var _ = function() {
4
+ var s;
5
+ var e = this, n = e._self._c, r = e._self._setupProxy;
6
+ return (s = r.config.extensions) != null && s.unsubscribe ? n("div", [n(r.UnsubscribeTypeSelection), n(r.UnsubscribePageSelection)], 1) : e._e();
7
+ }, c = [], i = /* @__PURE__ */ t(
8
+ o,
8
9
  _,
9
10
  c,
10
- i,
11
11
  !1,
12
12
  null,
13
13
  null
14
14
  );
15
- const p = a.exports;
15
+ const l = i.exports;
16
16
  export {
17
- p as default
17
+ l as default
18
18
  };
@@ -1,5 +1,4 @@
1
- import { useConfigStore as l } from "../stores/config.js";
2
- const r = {
1
+ const l = {
3
2
  "amp-accordion": "ampAccordionEnabled",
4
3
  "amp-carousel": "ampCarouselEnabled",
5
4
  "amp-form-controls": "ampFormControlsEnabled",
@@ -24,28 +23,26 @@ const r = {
24
23
  }, a = (n) => {
25
24
  if (!n || !n.length)
26
25
  return {};
27
- const e = {};
28
- return n.forEach((o) => {
29
- const t = r[o];
30
- t && (e[t] = !1);
31
- }), e;
32
- }, i = async (n) => !n || !n.length ? [] : (await Promise.all(
33
- n.map(async (o) => {
34
- const t = c[o];
26
+ const o = {};
27
+ return n.forEach((e) => {
28
+ const t = l[e];
29
+ t && (o[t] = !1);
30
+ }), o;
31
+ }, r = async (n) => !n || !n.length ? [] : (await Promise.all(
32
+ n.map(async (e) => {
33
+ const t = c[e];
35
34
  return t ? (await t()).default : null;
36
35
  })
37
- )).filter((o) => o !== null), m = () => {
38
- const n = l();
39
- return {
40
- getStripoBlocksConfig: async () => {
41
- const o = n.blocks;
42
- return {
43
- baseBlocks: a(o == null ? void 0 : o.excludeDefaults),
44
- extensions: await i(o == null ? void 0 : o.includeCustoms)
45
- };
46
- }
47
- };
48
- };
36
+ )).filter((e) => e !== null), s = () => ({
37
+ getStripoBlocksConfig: async () => {
38
+ var e;
39
+ const o = (e = window.GuidoConfig) == null ? void 0 : e.blocks;
40
+ return {
41
+ baseBlocks: a(o == null ? void 0 : o.excludeDefaults),
42
+ extensions: await r(o == null ? void 0 : o.includeCustoms)
43
+ };
44
+ }
45
+ });
49
46
  export {
50
- m as useBlocksConfig
47
+ s as useBlocksConfig
51
48
  };
@@ -1,53 +1,7 @@
1
- import { useConfigStore as F } from "../stores/config.js";
2
- import { storeToRefs as I } from "pinia";
3
- const k = () => {
4
- const e = F(), {
5
- config: t,
6
- initialized: o,
7
- identity: r,
8
- partner: i,
9
- template: n,
10
- editor: a,
11
- ui: s,
12
- features: u,
13
- blocks: d,
14
- compiler: p,
15
- templateId: c,
16
- userId: f,
17
- variationId: m,
18
- partnerName: g,
19
- productType: l,
20
- messageType: b,
21
- username: C,
22
- showHeader: y
23
- } = I(e);
24
- return {
25
- // State refs
26
- config: t,
27
- initialized: o,
28
- // Section refs
29
- identity: r,
30
- partner: i,
31
- template: n,
32
- editor: a,
33
- ui: s,
34
- features: u,
35
- blocks: d,
36
- compiler: p,
37
- // Convenience refs
38
- templateId: c,
39
- userId: f,
40
- variationId: m,
41
- partnerName: g,
42
- productType: l,
43
- messageType: b,
44
- username: C,
45
- showHeader: y,
46
- // Methods
47
- getConfig: () => t.value,
48
- isFeatureEnabled: (E) => e.isFeatureEnabled(E)
49
- };
50
- };
1
+ import { DefaultGuidoConfig as o } from "../enums/defaults.js";
2
+ const t = () => ({
3
+ config: typeof window > "u" ? o : window.GuidoConfig || o
4
+ });
51
5
  export {
52
- k as useConfig
6
+ t as useConfig
53
7
  };
@@ -1,28 +1,27 @@
1
- import { defaultHtmlCompilerRules as p } from "../config/compiler/htmlCompilerRules.js";
2
- import { itemsCompilerRules as u } from "../config/compiler/itemsCompilerRules.js";
3
- import { outlookCompilerRules as c } from "../config/compiler/outlookCompilerRules.js";
4
- import { recommendationCompilerRules as n } from "../config/compiler/recommendationCompilerRules.js";
5
- import { socialCompilerRules as f } from "../config/compiler/socialCompilerRules.js";
6
- import { unsubscribeCompilerRules as R } from "../config/compiler/unsubscribeCompilerRules.js";
7
- import { createHtmlCompiler as a } from "../utils/htmlCompiler.js";
8
- import { useConfig as C } from "./useConfig.js";
9
- const B = () => {
10
- var m, l;
11
- const { compiler: e } = C(), r = ((m = e.value) == null ? void 0 : m.customRules) || [], t = [
12
- ...!!((l = e.value) != null && l.ignoreDefaultRules) ? [] : p,
13
- ...n,
14
- ...R,
1
+ import { defaultHtmlCompilerRules as t } from "../config/compiler/htmlCompilerRules.js";
2
+ import { itemsCompilerRules as p } from "../config/compiler/itemsCompilerRules.js";
3
+ import { outlookCompilerRules as s } from "../config/compiler/outlookCompilerRules.js";
4
+ import { recommendationCompilerRules as u } from "../config/compiler/recommendationCompilerRules.js";
5
+ import { socialCompilerRules as n } from "../config/compiler/socialCompilerRules.js";
6
+ import { unsubscribeCompilerRules as c } from "../config/compiler/unsubscribeCompilerRules.js";
7
+ import { createHtmlCompiler as f } from "../utils/htmlCompiler.js";
8
+ import { useConfig as R } from "./useConfig.js";
9
+ const x = () => {
10
+ const { config: e } = R(), m = e.htmlCompilerRules || [], l = [
11
+ ...!!e.ignoreDefaultHtmlCompilerRules ? [] : t,
15
12
  ...u,
16
13
  ...c,
17
- ...f,
18
- ...r.map((o, s) => ({
14
+ ...p,
15
+ ...s,
16
+ ...n,
17
+ ...m.map((o, i) => ({
19
18
  ...o,
20
- priority: o.priority + 1e3 + s
19
+ priority: o.priority + 1e3 + i
21
20
  // Ensure additional rules run after default rules
22
21
  }))
23
- ], i = a(t);
24
- return { compileHtml: (o) => i.compile(o) };
22
+ ], r = f(l);
23
+ return { compileHtml: (o) => r.compile(o) };
25
24
  };
26
25
  export {
27
- B as useHtmlCompiler
26
+ x as useHtmlCompiler
28
27
  };
@@ -1,47 +1,47 @@
1
- import { useConfig as D } from "./useConfig.js";
2
- import { TemplateTypes as H } from "../enums/defaults.js";
3
- import { DISPLAY_CONDITIONS_REGEX as P, DISPLAY_CONDITIONS_EXCEPTIONS_REGEX as R, CampaignCouldNotBeSavedKey as _, CanNotMakeAnyChangesForRunningKey as G } from "../enums/html-validator.js";
1
+ import { useConfig as V } from "./useConfig.js";
2
+ import { TemplateTypes as D } from "../enums/defaults.js";
3
+ import { DISPLAY_CONDITIONS_REGEX as H, DISPLAY_CONDITIONS_EXCEPTIONS_REGEX as P, CampaignCouldNotBeSavedKey as R, CanNotMakeAnyChangesForRunningKey as _ } from "../enums/html-validator.js";
4
4
  import { ToasterTypeOptions as l } from "../enums/toaster.js";
5
- import { itemsBlockDynamicVariables as $ } from "../extensions/Blocks/Items/enums/productEnums.js";
6
- import { useRecommendationStore as j } from "../stores/recommendation.js";
7
- import { base64EncodeWithSpecialChars as q } from "../utils/base64.js";
8
- import { useHttp as M } from "./useHttp.js";
9
- import { useToaster as X } from "./useToaster.js";
10
- import { useTranslations as z } from "./useTranslations.js";
11
- const oe = () => {
12
- var d, f;
13
- const { showToaster: c } = X(), { post: h } = M(), { config: v } = D(), a = z(), m = j(), u = ((f = (d = v.value) == null ? void 0 : d.partner) == null ? void 0 : f.messageType) === H.transactional, C = async (e) => {
14
- const t = await h(
5
+ import { itemsBlockDynamicVariables as G } from "../extensions/Blocks/Items/enums/productEnums.js";
6
+ import { useRecommendationStore as $ } from "../stores/recommendation.js";
7
+ import { base64EncodeWithSpecialChars as j } from "../utils/base64.js";
8
+ import { useHttp as q } from "./useHttp.js";
9
+ import { useToaster as M } from "./useToaster.js";
10
+ import { useTranslations as X } from "./useTranslations.js";
11
+ const ie = () => {
12
+ var d;
13
+ const { showToaster: c } = M(), { post: y } = q(), { config: h } = V(), a = X(), m = $(), u = ((d = h.partner) == null ? void 0 : d.messageType) === D.transactional, v = async (e) => {
14
+ const t = await y(
15
15
  "/newsletter/template-library/check-template-html-body",
16
- { html: q(e) }
16
+ { html: j(e) }
17
17
  ), { status: n, message: r } = t.data;
18
18
  return n || c({
19
19
  type: l.Alert,
20
20
  message: n === void 0 ? r : a("newsletter.invalid-url-link-for-toaster")
21
- }), a(_), r === a(G) && c({
21
+ }), a(R), r === a(_) && c({
22
22
  type: l.Alert,
23
23
  message: a("newsletter.already-in-progress")
24
24
  }), n;
25
- }, w = (e) => !["if", "endif", "else", "elif", "now"].includes(e.toLowerCase()), S = (e) => ["if", "endif"].includes(e.toLowerCase()), b = (e, s) => {
25
+ }, C = (e) => !["if", "endif", "else", "elif", "now"].includes(e.toLowerCase()), w = (e) => ["if", "endif"].includes(e.toLowerCase()), S = (e, s) => {
26
26
  const t = e.match(/({%(.*?)%})/g);
27
27
  let n = !0;
28
28
  return t !== null && !u && t.forEach((r) => {
29
29
  const i = r.slice(2, -2).trim().match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
30
30
  if (i && i.length > 0) {
31
31
  const [o] = i;
32
- w(o) && !s.includes(o) && (c({
32
+ C(o) && !s.includes(o) && (c({
33
33
  type: l.Warning,
34
34
  message: a("custom-fields.invalid-custom-fields")
35
35
  }), n = !1);
36
36
  }
37
37
  }), n;
38
- }, E = async (e, s, t) => {
39
- const n = t ? await C(e) : !0;
40
- return b(e, s) && n;
41
- }, A = (e) => e.length > 0 ? !0 : (c({
38
+ }, b = async (e, s, t) => {
39
+ const n = t ? await v(e) : !0;
40
+ return S(e, s) && n;
41
+ }, E = (e) => e.length > 0 ? !0 : (c({
42
42
  type: l.Warning,
43
43
  message: a("newsletter.html-content-is-empty")
44
- }), !1), x = (e) => {
44
+ }), !1), A = (e) => {
45
45
  const s = (e.match(/{/gm) || []).length, t = (e.match(/}/gm) || []).length;
46
46
  return s > t && c({
47
47
  type: l.Warning,
@@ -50,13 +50,13 @@ const oe = () => {
50
50
  type: l.Warning,
51
51
  message: a("custom-fields.missing-opening-braces")
52
52
  }), s === t;
53
- }, k = (e) => {
53
+ }, x = (e) => {
54
54
  const s = e.match(/{{\s*(\w+\s+((\w+\|\w+)|(\w+)))\s*}}/gm) === null;
55
55
  return s || c({
56
56
  type: l.Warning,
57
57
  message: a("custom-fields.invalid-custom-fields")
58
58
  }), s;
59
- }, T = (e, s) => {
59
+ }, k = (e, s) => {
60
60
  const t = e.match(/{{([a-zA-Z0-9_\s]*)}}/gm);
61
61
  if (t && !u) {
62
62
  const n = new Set(s.map((i) => i.toLowerCase())), r = [];
@@ -76,22 +76,22 @@ const oe = () => {
76
76
  }
77
77
  }
78
78
  return !0;
79
- }, F = (e) => {
79
+ }, T = (e) => {
80
80
  const s = e.match(/{%(.*?)%}/g), t = [];
81
81
  let n = !0;
82
82
  if (s && s.forEach((r) => {
83
- const i = r.match(P), o = r.match(R), V = (i == null ? void 0 : i.join("")) || "";
84
- (!i || r !== V) && !o && (c({
83
+ const i = r.match(H), o = r.match(P), B = (i == null ? void 0 : i.join("")) || "";
84
+ (!i || r !== B) && !o && (c({
85
85
  type: l.Alert,
86
86
  message: a("newsletter.display-conditions-invalid-syntax")
87
- }), n = !1), i && i.forEach((g) => {
88
- g.trim() === "=" && (c({
87
+ }), n = !1), i && i.forEach((f) => {
88
+ f.trim() === "=" && (c({
89
89
  type: l.Alert,
90
90
  message: a("custom-conditions.wrong-equality-operators")
91
91
  }), n = !1);
92
- const p = g.match(/^[a-zA-Z]*$/g);
93
- p && p.forEach((y) => {
94
- S(y) && t.push(y);
92
+ const g = f.match(/^[a-zA-Z]*$/g);
93
+ g && g.forEach((p) => {
94
+ w(p) && t.push(p);
95
95
  });
96
96
  });
97
97
  }), t.length) {
@@ -102,25 +102,25 @@ const oe = () => {
102
102
  }), n = !1);
103
103
  }
104
104
  return n;
105
- }, I = (e) => {
105
+ }, F = (e) => {
106
106
  const s = (e.match(/{% /gm) || []).length, t = (e.match(/ %}/gm) || []).length, n = s === t;
107
107
  return n || c({
108
108
  type: l.Warning,
109
109
  message: a("custom-conditions.no-space-after-braces")
110
110
  }), n;
111
- }, W = (e) => (e.match(/({%(.*?)%})/g) || []).filter((t) => t.includes("if")).map((t) => (t.match(/{{.*}}/gm) || []).length).reduce((t, n) => t + n, 0) > 0 ? (c({
111
+ }, I = (e) => (e.match(/({%(.*?)%})/g) || []).filter((t) => t.includes("if")).map((t) => (t.match(/{{.*}}/gm) || []).length).reduce((t, n) => t + n, 0) > 0 ? (c({
112
112
  type: l.Warning,
113
113
  message: a("custom-conditions.no-braces-inside-if-tag")
114
- }), !1) : !0, L = () => m.recommendationConfigs && Object.values(m.recommendationConfigs).find((s) => s.filters.find((t) => t.value === "")) !== void 0 ? (c({
114
+ }), !1) : !0, W = () => m.recommendationConfigs && Object.values(m.recommendationConfigs).find((s) => s.filters.find((t) => t.value === "")) !== void 0 ? (c({
115
115
  type: l.Alert,
116
116
  message: a("newsletter.fill-all-necessary-fields")
117
- }), !1) : !0, N = (e) => {
117
+ }), !1) : !0, L = (e) => {
118
118
  const s = /src="[^"]*\.(svg|pst)"/gm;
119
119
  return e.match(s) === null ? !0 : (c({
120
120
  type: l.Alert,
121
121
  message: a("newsletter.invalid-image-type")
122
122
  }), !1);
123
- }, O = (e) => {
123
+ }, N = (e) => {
124
124
  const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".checkbox-block-v2");
125
125
  return Array.from(n).find((i) => {
126
126
  var o;
@@ -129,7 +129,7 @@ const oe = () => {
129
129
  type: l.Alert,
130
130
  message: a("unsubscribe-templates.select-checkbox-groups")
131
131
  }), !1) : !0;
132
- }, B = (e) => {
132
+ }, O = (e) => {
133
133
  const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".radio-button-v2");
134
134
  return Array.from(n).find((i) => {
135
135
  var o;
@@ -140,10 +140,10 @@ const oe = () => {
140
140
  }), !1) : !0;
141
141
  };
142
142
  return { validateHtml: async (e, s, t = !1) => {
143
- const n = [...s.map((i) => i.value), ...$];
144
- return await E(e, n, t) && A(e) && x(e) && k(e) && T(e, n) && F(e) && I(e) && W(e) && L() && N(e) && O(e) && B(e);
143
+ const n = [...s.map((i) => i.value), ...G];
144
+ return await b(e, n, t) && E(e) && A(e) && x(e) && k(e, n) && T(e) && F(e) && I(e) && W() && L(e) && N(e) && O(e);
145
145
  } };
146
146
  };
147
147
  export {
148
- oe as useHtmlValidator
148
+ ie as useHtmlValidator
149
149
  };
@@ -1,28 +1,18 @@
1
- import { useConfigStore as i } from "../stores/config.js";
2
- import { ProductType as t } from "../@types/config/schemas.js";
3
- import { isTestPartner as o } from "../@types/config/defaults.js";
4
- const T = () => {
5
- const e = i(), n = () => e.initialized && e.partnerName ? e.partnerName : window.location.hostname.split(".")[0] || "";
1
+ import { TEST_PARTNER_LIST as r, DefaultProductType as o, ProductIds as n } from "../enums/defaults.js";
2
+ const i = () => {
3
+ const e = () => window.location.hostname.split(".")[0] || "";
6
4
  return {
7
- getPartnerName: n,
5
+ getPartnerName: e,
8
6
  getProductType: () => {
9
- if (e.initialized)
10
- return e.productType;
11
- const r = window.location.pathname.split("/").filter(Boolean)[0] || "email";
12
- return {
13
- email: t.EMAIL,
14
- architect: t.ARCHITECT,
15
- unsubscribePages: t.UNSUBSCRIBE_PAGES
16
- }[r] || t.EMAIL;
7
+ const t = window.location.pathname.split("/").filter(Boolean)[0] || o;
8
+ return n[t] || 0;
17
9
  },
18
- getMessageType: () => e.initialized ? e.messageType : 1,
19
- getUsername: () => e.initialized ? e.username : "Guido User",
20
10
  isTestPartner: () => {
21
- const r = n();
22
- return o(r);
11
+ const t = e();
12
+ return r.includes(t);
23
13
  }
24
14
  };
25
15
  };
26
16
  export {
27
- T as usePartner
17
+ i as usePartner
28
18
  };
@@ -7,19 +7,19 @@ import { useToaster as B } from "./useToaster.js";
7
7
  import { displayConditions as T } from "../enums/displayConditions.js";
8
8
  import { useStripoApi as A } from "../services/stripoApi.js";
9
9
  import F from "../static/styles/customEditorStyle.css.js";
10
- import { useEditorStore as v } from "../stores/editor.js";
11
- import { dynamicContentToMergeTags as M } from "../utils/genericUtil.js";
12
- import U from "../package.json.js";
10
+ import { useEditorStore as M } from "../stores/editor.js";
11
+ import { dynamicContentToMergeTags as U } from "../utils/genericUtil.js";
12
+ import v from "../package.json.js";
13
13
  const J = (c) => {
14
- const { features: g } = k(), { handleError: l } = B(), { getToken: f, getCustomFonts: y } = A(), { handleEvent: S } = _(), { getStripoBlocksConfig: C } = b(), E = async (i, r = []) => {
15
- var m;
16
- const t = v(), { html: n, css: u, forceRecreate: a } = i, { baseBlocks: e, extensions: d } = await C(), p = ((m = g.value) == null ? void 0 : m.displayConditions) ?? !0;
14
+ const { config: u } = k(), { handleError: l } = B(), { getToken: f, getCustomFonts: y } = A(), { handleEvent: S } = _(), { getStripoBlocksConfig: C } = b(), E = async (i, r = []) => {
15
+ var m, g;
16
+ const t = M(), { html: n, css: p, forceRecreate: a } = i, { baseBlocks: e, extensions: d } = await C();
17
17
  window.UIEditor.initEditor(
18
18
  document.querySelector("#guido-editor"),
19
19
  {
20
20
  metadata: c,
21
21
  html: n,
22
- css: u,
22
+ css: p,
23
23
  forceRecreate: a,
24
24
  locale: "en",
25
25
  undoButtonSelector: "#guido__undo-button",
@@ -31,8 +31,8 @@ const J = (c) => {
31
31
  customAppearanceMergetagsBorderColor: "#f1f3fe",
32
32
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
33
33
  customViewStyles: F,
34
- conditionsEnabled: p,
35
- customConditionsEnabled: p,
34
+ conditionsEnabled: ((m = u.features) == null ? void 0 : m.displayConditions) ?? !0,
35
+ customConditionsEnabled: ((g = u.features) == null ? void 0 : g.displayConditions) ?? !0,
36
36
  conditionCategories: T,
37
37
  enableXSSSecurity: !0,
38
38
  messageSettingsEnabled: !0,
@@ -49,7 +49,7 @@ const J = (c) => {
49
49
  },
50
50
  mergeTags: [
51
51
  {
52
- entries: M(c.preselectedDynamicContentList)
52
+ entries: U(c.preselectedDynamicContentList)
53
53
  }
54
54
  ],
55
55
  async onTokenRefreshRequest(o) {
@@ -97,7 +97,7 @@ const J = (c) => {
97
97
  i(), r();
98
98
  return;
99
99
  }
100
- const n = U.guido, a = `https://email-static.useinsider.com/guido/${(d = n == null ? void 0 : n.stripo) == null ? void 0 : d.version}/UIEditor.js`, e = document.createElement("script");
100
+ const n = v.guido, a = `https://email-static.useinsider.com/guido/${(d = n == null ? void 0 : n.stripo) == null ? void 0 : d.version}/UIEditor.js`, e = document.createElement("script");
101
101
  e.id = "UiEditorScript", e.type = "module", e.src = a, e.onload = () => {
102
102
  i(), r();
103
103
  }, e.onerror = () => {
@@ -2,11 +2,10 @@ import memoize from "../node_modules/lodash-es/memoize.js";
2
2
  import { ref } from "vue";
3
3
  import { useConfig } from "./useConfig.js";
4
4
  const useTranslations = () => {
5
- var o, e;
6
- const { config } = useConfig(), translationsPath = ((e = (o = config.value) == null ? void 0 : o.editor) == null ? void 0 : e.translationsPath) || "window.trans.en", translations = ref(eval(translationsPath)), trans = (n, t) => {
5
+ const { config } = useConfig(), translations = ref(eval(config.translationsPath)), trans = (n, t) => {
7
6
  const r = translations.value[n];
8
7
  return r ? t ? Object.entries(t).reduce(
9
- (s, [i, a]) => s.replace(new RegExp(`{${i}}`, "g"), String(a)),
8
+ (e, [o, s]) => e.replace(new RegExp(`{${o}}`, "g"), String(s)),
10
9
  r
11
10
  ) : r : (console.warn(`Translation key not found: ${n}`), n);
12
11
  };
@@ -10,7 +10,7 @@ const D = [
10
10
  description: "Adding unsubscribe link values",
11
11
  type: "custom",
12
12
  processor: (t) => {
13
- const { getPartnerName: i } = N(), c = B(), n = y(), u = L(), a = c.variationId;
13
+ const { getPartnerName: i } = N(), c = B(), n = y(), u = L(), a = c.getVariationId;
14
14
  if (!a)
15
15
  return t;
16
16
  let e = t;
@@ -1,7 +1,71 @@
1
- const t = {
1
+ const e = {
2
+ translationsPath: "window.trans.en",
3
+ migrationDate: 1759696858,
4
+ emailHeader: {
5
+ senderName: "",
6
+ subject: ""
7
+ },
8
+ extensions: {
9
+ unsubscribe: !0
10
+ },
11
+ blocks: {
12
+ excludeDefaults: [],
13
+ includeCustoms: []
14
+ },
15
+ features: {
16
+ dynamicContent: !0,
17
+ saveAsTemplate: !0,
18
+ versionHistory: !0,
19
+ testMessage: !0,
20
+ displayConditions: !0
21
+ },
22
+ useHeader: !0
23
+ }, t = {
24
+ promotional: 1,
2
25
  transactional: 2
3
- }, e = 2;
26
+ }, a = "email", o = "Guido User", s = t.promotional, n = 2, i = {
27
+ email: 60,
28
+ architect: 49,
29
+ unsubscribePages: 97
30
+ }, u = [
31
+ "alfredtesting",
32
+ "electio",
33
+ "eurekatest",
34
+ "gachapontestpart",
35
+ "gluautomation1",
36
+ "gluautomation2",
37
+ "gluautomation3",
38
+ "gluautomation4",
39
+ "inone",
40
+ "inshoppingcart",
41
+ "krakentest",
42
+ "leeroy",
43
+ "newsletteruat",
44
+ "ozaspava",
45
+ "piratesquad",
46
+ "qaautomation1",
47
+ "qaautomation2",
48
+ "qaautomation3",
49
+ "qaautomation4",
50
+ "roiautomation",
51
+ "seleniumautomation",
52
+ "seleniumautomation1",
53
+ "seleniumautomation2",
54
+ "seleniumautomation3",
55
+ "shopbagg",
56
+ "shopifytest",
57
+ "singlepageqa",
58
+ "testqa",
59
+ "vikingsankara",
60
+ "stripoeditorlivetest"
61
+ ];
4
62
  export {
5
- e as EditorType,
63
+ e as DefaultGuidoConfig,
64
+ s as DefaultMessageType,
65
+ a as DefaultProductType,
66
+ o as DefaultUsername,
67
+ n as EditorType,
68
+ i as ProductIds,
69
+ u as TEST_PARTNER_LIST,
6
70
  t as TemplateTypes
7
71
  };
@@ -1,26 +1,26 @@
1
1
  import { useTranslations as n } from "../composables/useTranslations.js";
2
2
  import { getEnvironmentPrefix as R } from "../utils/environmentUtil.js";
3
- const N = {
3
+ const e = n(), I = {
4
4
  UNSUBSCRIBE_LINK_TYPE: 1,
5
5
  PREFERENCES_LINK_TYPE: 3
6
- }, I = {
6
+ }, r = {
7
7
  UNSUBSCRIBE_LINK_REGEX: /{{ins-unsubscribe-link}}/g,
8
8
  DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
9
9
  GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
10
10
  PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
11
- }, s = R(), i = {
11
+ }, s = R(), _ = {
12
12
  UNSUBSCRIBE_URL: `https://mail.${s}.com/user/v1/unsub`,
13
13
  PREFERENCES_URL: `https://mail.${s}.com/user/v1/prefs`
14
- }, _ = "iid", B = {
14
+ }, i = "iid", B = {
15
15
  name: "Global Unsubscribe",
16
16
  sendGridId: "G"
17
- }, t = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", C = "/email/unsubscribe-pages", E = {
17
+ }, C = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", c = "/email/unsubscribe-pages", E = {
18
18
  GLOBAL_UNSUBSCRIBE: 1,
19
19
  GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: 2,
20
20
  SUBSCRIPTION_PREFERENCE_CENTER: 3,
21
21
  SUBSCRIPTION_PREFERENCE_CONFIRMATION: 4,
22
22
  RESUBSCRIBE: 5
23
- }, c = {
23
+ }, t = {
24
24
  [E.GLOBAL_UNSUBSCRIBE]: [
25
25
  E.GLOBAL_UNSUBSCRIBE,
26
26
  E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE,
@@ -30,30 +30,27 @@ const N = {
30
30
  E.SUBSCRIPTION_PREFERENCE_CENTER,
31
31
  E.SUBSCRIPTION_PREFERENCE_CONFIRMATION
32
32
  ]
33
- }, U = () => {
34
- const e = n();
35
- return {
36
- [E.GLOBAL_UNSUBSCRIBE]: e("unsubscription-preference.type-global-unsubscribe"),
37
- [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: e("unsubscription-preference.type-global-unsubscription-confirmation"),
38
- [E.RESUBSCRIBE]: e("unsubscription-preference.type-resubscribe"),
39
- [E.SUBSCRIPTION_PREFERENCE_CENTER]: e("unsubscription-preference.type-subscription-preferences-center"),
40
- [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: e("unsubscription-preference.type-subscription-preferences-confirmation")
41
- };
33
+ }, U = {
34
+ [E.GLOBAL_UNSUBSCRIBE]: e("unsubscription-preference.type-global-unsubscribe"),
35
+ [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: e("unsubscription-preference.type-global-unsubscription-confirmation"),
36
+ [E.RESUBSCRIBE]: e("unsubscription-preference.type-resubscribe"),
37
+ [E.SUBSCRIPTION_PREFERENCE_CENTER]: e("unsubscription-preference.type-subscription-preferences-center"),
38
+ [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: e("unsubscription-preference.type-subscription-preferences-confirmation")
42
39
  }, o = {
43
40
  default: "{{ins-unsubscribe-link}}",
44
41
  [E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
45
42
  [E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
46
43
  };
47
44
  export {
48
- t as ACADEMY_LINK,
45
+ C as ACADEMY_LINK,
49
46
  B as DEFAULT_UNSUBSCRIBE_GROUP,
50
- _ as INSIDER_ID,
51
- I as LINK_REGEXES,
52
- N as LINK_TYPES,
47
+ i as INSIDER_ID,
48
+ r as LINK_REGEXES,
49
+ I as LINK_TYPES,
53
50
  o as MERGE_TAGS,
54
51
  E as PAGE_TYPES,
55
- c as TYPE_COLLECTIONS,
56
- C as UNSUBSCRIBE_PAGES_LINK,
57
- i as URLS,
58
- U as getTypeTranslations
52
+ t as TYPE_COLLECTIONS,
53
+ U as TYPE_TRANSLATIONS,
54
+ c as UNSUBSCRIBE_PAGES_LINK,
55
+ _ as URLS
59
56
  };