@useinsider/guido 1.0.3-beta.15f3cdb → 1.0.3-beta.173d19c

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 (112) hide show
  1. package/README.md +1 -0
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +36 -33
  4. package/dist/components/organisms/header/RightSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
  6. package/dist/composables/useGuidoActions.js +19 -9
  7. package/dist/composables/useStripo.js +26 -30
  8. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  9. package/dist/enums/environment.js +5 -0
  10. package/dist/enums/unsubscribe.js +27 -25
  11. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +69 -151
  12. package/dist/extensions/Blocks/Recommendation/constants.js +1 -7
  13. package/dist/extensions/Blocks/Recommendation/control.js +59 -74
  14. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  15. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  16. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  17. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  18. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  19. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  20. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  21. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  22. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  23. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  24. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  25. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/extension.js +38 -8
  49. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +49 -54
  50. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +53 -50
  51. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +16 -17
  52. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +41 -48
  53. package/dist/guido.css +1 -1
  54. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +60 -60
  55. package/dist/package.json.js +1 -1
  56. package/dist/src/components/Guido.vue.d.ts +1 -0
  57. package/dist/src/composables/useGuidoActions.d.ts +9 -0
  58. package/dist/src/enums/environment.d.ts +5 -0
  59. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +3 -50
  60. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -10
  61. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +2 -5
  62. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  63. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  64. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  65. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  66. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  67. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  68. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  69. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  70. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  71. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  72. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  73. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  74. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  75. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  76. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  77. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  78. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  79. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  80. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  81. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  82. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  83. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  84. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  85. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  86. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  87. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  90. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  96. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +1 -1
  97. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +7 -8
  98. package/dist/src/utils/environmentUtil.d.ts +8 -0
  99. package/dist/static/styles/components/wide-panel.css.js +4 -0
  100. package/dist/static/styles/customEditorStyle.css.js +0 -14
  101. package/dist/utils/environmentUtil.js +6 -0
  102. package/package.json +2 -2
  103. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  104. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -175
  105. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  106. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  107. package/dist/extensions/Blocks/controlFactories.js +0 -223
  108. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +0 -25
  109. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -46
  110. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  111. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +0 -60
  112. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -91
package/README.md CHANGED
@@ -167,6 +167,7 @@ export default {
167
167
  | `on-change` | void | It Fires once for managing leave modal etc. |
168
168
  | `ready` | void | Fired when the editor is ready and template is loaded |
169
169
  | `onboarding-finished` | void | Fired when the onboarding popup is dismissed or completed, allowing parent applications to track onboarding state |
170
+ | `test-email:click` | - | Fired when user clicks the test email button in the header |
170
171
 
171
172
  ### Guido Exposed Methods
172
173
  ```typescript
@@ -12,7 +12,7 @@ var t = function() {
12
12
  n,
13
13
  !1,
14
14
  null,
15
- "3c910a93"
15
+ "e299731b"
16
16
  );
17
17
  const v = s.exports;
18
18
  export {
@@ -1,8 +1,8 @@
1
- import { defineComponent as R, defineAsyncComponent as I, ref as x, computed as U, watch as M, onMounted as z, onUnmounted as B } from "vue";
1
+ import { defineComponent as R, defineAsyncComponent as G, ref as x, computed as I, watch as M, onMounted as z, onUnmounted as B } from "vue";
2
2
  import { provideGuidoActions as K } from "../composables/useGuidoActions.js";
3
3
  import { usePartner as O } from "../composables/usePartner.js";
4
4
  import { useStripo as j } from "../composables/useStripo.js";
5
- import { migrate as W } from "../config/migrator/index.js";
5
+ import { migrate as U } from "../config/migrator/index.js";
6
6
  import { DefaultUsername as q, DefaultMessageType as J, DefaultGuidoConfig as Q } from "../enums/defaults.js";
7
7
  import V from "./organisms/base/Toaster.vue.js";
8
8
  import X from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
@@ -14,10 +14,10 @@ import { useStripoApi as oe } from "../services/stripoApi.js";
14
14
  import { useConfigStore as te } from "../stores/config.js";
15
15
  import { useDynamicContentStore as ne } from "../stores/dynamic-content.js";
16
16
  import { useEditorStore as re } from "../stores/editor.js";
17
- import { usePreviewStore as ae } from "../stores/preview.js";
18
- import { useUnsubscribeStore as ie } from "../stores/unsubscribe.js";
19
- import se from "../node_modules/lodash-es/merge.js";
20
- const Ge = /* @__PURE__ */ R({
17
+ import { usePreviewStore as ie } from "../stores/preview.js";
18
+ import { useUnsubscribeStore as se } from "../stores/unsubscribe.js";
19
+ import ae from "../node_modules/lodash-es/merge.js";
20
+ const ke = /* @__PURE__ */ R({
21
21
  __name: "Guido",
22
22
  props: {
23
23
  templateId: null,
@@ -31,81 +31,84 @@ const Ge = /* @__PURE__ */ R({
31
31
  guidoConfig: null,
32
32
  templateConfig: null
33
33
  },
34
- emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished"],
35
- setup(_, { expose: L, emit: t }) {
36
- const u = _, k = I(
34
+ emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
35
+ setup(W, { expose: _, emit: o }) {
36
+ const l = W, L = G(
37
37
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
38
- ), A = I(
38
+ ), A = G(
39
39
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
40
- ), l = x(), a = ne(), p = ie(), g = te(), i = re(), N = ae(), n = U(() => i.hasChanges), { getPartnerName: f, getProductType: y, isTestPartner: F } = O(), v = () => {
40
+ ), u = x(), i = ne(), p = se(), g = te(), s = re(), N = ie(), n = I(() => s.hasChanges), { getPartnerName: f, getProductType: y, isTestPartner: F } = O(), v = () => {
41
41
  var e;
42
- return (e = l.value) == null ? void 0 : e.handleSave(!0);
42
+ return (e = u.value) == null ? void 0 : e.handleSave(!0);
43
43
  }, {
44
- templateId: s,
44
+ templateId: a,
45
45
  userId: b,
46
46
  guidoConfig: C,
47
- templateConfig: o,
47
+ templateConfig: t,
48
48
  html: r = "",
49
49
  css: h = "",
50
50
  partnerName: c = f(),
51
51
  productType: d = y(),
52
52
  messageType: S = J,
53
53
  username: w = q
54
- } = u, m = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
55
- i.templateId = s, window.GuidoConfig = se(Q, C), window.GuidoConfig.partner = {
54
+ } = l, m = (t == null ? void 0 : t.preselectedDynamicContentList) || [];
55
+ s.templateId = a, window.GuidoConfig = ae(Q, C), window.GuidoConfig.partner = {
56
56
  partnerName: c,
57
57
  productType: d,
58
58
  messageType: S
59
- }, g.templateConfig = o;
59
+ }, g.templateConfig = t;
60
60
  const { initPlugin: D } = j({
61
- emailId: s,
61
+ emailId: a,
62
62
  userId: b,
63
63
  username: w,
64
64
  partnerName: c,
65
65
  productType: d,
66
66
  preselectedDynamicContentList: m,
67
67
  onReady: () => {
68
- console.debug("guido:ready"), t("ready");
68
+ console.debug("guido:ready"), o("ready");
69
69
  }
70
- }), { getDefaultTemplate: T } = oe(), H = U(() => {
70
+ }), { getDefaultTemplate: T } = oe(), H = I(() => {
71
71
  var e;
72
72
  return !((e = window.GuidoConfig) != null && e.useHeader);
73
73
  });
74
74
  K({
75
75
  onBack: () => {
76
- console.debug("guido:back"), t("back");
76
+ console.debug("guido:back"), o("back");
77
77
  },
78
78
  onSaveStart: () => {
79
- console.debug("guido:save:start"), t("save:start");
79
+ console.debug("guido:save:start"), o("save:start");
80
80
  },
81
81
  onSaveComplete: (e) => {
82
- console.debug("guido:save:complete", e), t("save:complete", e);
82
+ console.debug("guido:save:complete", e), o("save:complete", e);
83
+ },
84
+ onTestEmailClick: () => {
85
+ console.debug("guido:test-email:click"), o("test-email:click");
83
86
  }
84
87
  });
85
88
  const E = (e) => {
86
- console.debug("dynamic-content:close", e), a.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
89
+ console.debug("dynamic-content:close", e), i.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
87
90
  }, P = () => {
88
91
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
89
92
  };
90
93
  return M(() => n.value, () => {
91
- t("on-change", n.value);
94
+ o("on-change", n.value);
92
95
  }), z(async () => {
93
96
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
94
97
  try {
95
- p.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
98
+ p.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
96
99
  let e = {
97
- html: r && await W(r),
100
+ html: r && await U(r),
98
101
  css: h,
99
102
  forceRecreate: !0
100
103
  // TODO: It should be false for old templates. We will communicate with Stripo
101
104
  };
102
- e.html || (e = await T(), e.html = await W(e.html)), await D(e), a.selectedDynamicContentList = m;
105
+ e.html || (e = await T(), e.html = await U(e.html)), await D(e), i.selectedDynamicContentList = m;
103
106
  } catch (e) {
104
107
  console.error("Failed to initialize Stripo editor:", e);
105
108
  }
106
109
  document.addEventListener("dynamic-content:open", (e) => {
107
- const G = e;
108
- console.debug("dynamic-content:open", G.detail), t("dynamic-content:open", G.detail);
110
+ const k = e;
111
+ console.debug("dynamic-content:open", k.detail), o("dynamic-content:open", k.detail);
109
112
  });
110
113
  }), B(() => {
111
114
  try {
@@ -113,16 +116,16 @@ const Ge = /* @__PURE__ */ R({
113
116
  } catch {
114
117
  console.debug("Failed to remove Stripo editor: No editor found");
115
118
  }
116
- }), L({
119
+ }), _({
117
120
  dynamicContent: {
118
121
  insert: E,
119
122
  close: P
120
123
  },
121
124
  hasChanges: n,
122
125
  saveSilent: v
123
- }), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: A, headerWrapperRef: l, dynamicContentStore: a, unsubscribeStore: p, props: u, configStore: g, editorStore: i, previewStore: N, hasChanges: n, getPartnerName: f, getProductType: y, isTestPartner: F, saveSilent: v, templateId: s, userId: b, guidoConfig: C, templateConfig: o, html: r, css: h, partnerName: c, productType: d, messageType: S, username: w, preselectedDynamicContentList: m, emit: t, initPlugin: D, getDefaultTemplate: T, noHeader: H, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, FilterSelectionDrawer: X, HeaderWrapper: Y, LoadingWrapper: Z, SaveAsTemplateDrawer: $, UnsubscribeWrapper: ee };
126
+ }), { __sfc: !0, PreviewContainer: L, OnboardingWrapper: A, headerWrapperRef: u, dynamicContentStore: i, unsubscribeStore: p, props: l, configStore: g, editorStore: s, previewStore: N, hasChanges: n, getPartnerName: f, getProductType: y, isTestPartner: F, saveSilent: v, templateId: a, userId: b, guidoConfig: C, templateConfig: t, html: r, css: h, partnerName: c, productType: d, messageType: S, username: w, preselectedDynamicContentList: m, emit: o, initPlugin: D, getDefaultTemplate: T, noHeader: H, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, FilterSelectionDrawer: X, HeaderWrapper: Y, LoadingWrapper: Z, SaveAsTemplateDrawer: $, UnsubscribeWrapper: ee };
124
127
  }
125
128
  });
126
129
  export {
127
- Ge as default
130
+ ke as default
128
131
  };
@@ -3,7 +3,7 @@ import l from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var r = function() {
4
4
  var o, i, n;
5
5
  var s = this, e = s._self._c, t = s._self._setupProxy;
6
- return e("div", { staticClass: "d-f" }, [(o = t.config.features) != null && o.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : s._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : s._e(), (n = t.config.features) != null && n.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") } }) : s._e(), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(_) {
6
+ return e("div", { staticClass: "d-f" }, [(o = t.config.features) != null && o.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : s._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : s._e(), (n = t.config.features) != null && n.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.testEmailClick } }) : s._e(), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(c) {
7
7
  return t.handleSave(!1);
8
8
  } } })], 1);
9
9
  }, u = [], d = /* @__PURE__ */ l(
@@ -1,35 +1,36 @@
1
- import { defineComponent as g, ref as l, computed as H } from "vue";
2
- import { useConfig as _ } from "../../../composables/useConfig.js";
3
- import { useExport as h } from "../../../composables/useExport.js";
4
- import { useSave as V } from "../../../composables/useSave.js";
5
- import { useTranslations as x } from "../../../composables/useTranslations.js";
1
+ import { defineComponent as H, ref as p, computed as _ } from "vue";
2
+ import { useConfig as h } from "../../../composables/useConfig.js";
3
+ import { useExport as V } from "../../../composables/useExport.js";
4
+ import { useTestEmailClick as x } from "../../../composables/useGuidoActions.js";
5
+ import { useSave as E } from "../../../composables/useSave.js";
6
+ import { useTranslations as T } from "../../../composables/useTranslations.js";
6
7
  import { useVersionHistoryApi as w } from "../../../composables/useVersionHistoryApi.js";
7
- import { useEditorStore as T } from "../../../stores/editor.js";
8
- import { getTooltipOptions as E } from "../../../utils/tooltipUtils.js";
9
- import { InButtonV2 as O } from "@useinsider/design-system-vue";
10
- const z = /* @__PURE__ */ g({
8
+ import { useEditorStore as C } from "../../../stores/editor.js";
9
+ import { getTooltipOptions as O } from "../../../utils/tooltipUtils.js";
10
+ import { InButtonV2 as A } from "@useinsider/design-system-vue";
11
+ const J = /* @__PURE__ */ H({
11
12
  __name: "RightSlot",
12
- setup(A, { expose: m }) {
13
- const { config: u } = _(), { exportHtml: r } = h(), { save: n } = V(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = T(), t = x(), e = l(!1), s = l(!1), c = () => {
14
- if (o.isVersionHistoryOpen) {
13
+ setup(k, { expose: m }) {
14
+ const { config: c } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), t = C(), o = T(), e = p(!1), s = p(!1), u = x(), f = () => {
15
+ if (t.isVersionHistoryOpen) {
15
16
  a();
16
17
  return;
17
18
  }
18
19
  i();
19
- }, f = async () => {
20
+ }, v = async () => {
20
21
  e.value = !0, await r(), e.value = !1;
21
- }, v = () => {
22
- o.isSaveAsTemplateDrawerOpen = !0;
23
- }, d = H(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), p = async (y) => {
24
- s.value = !0, o.loadingStatus = !0;
25
- const S = await n(y);
26
- return s.value = !1, o.loadingStatus = !1, S;
22
+ }, d = () => {
23
+ t.isSaveAsTemplateDrawerOpen = !0;
24
+ }, y = _(() => t.isVersionHistoryOpen ? o("newsletter.close-version-history") : o("newsletter.version-history")), l = async (S) => {
25
+ s.value = !0, t.loadingStatus = !0;
26
+ const g = await n(S);
27
+ return s.value = !1, t.loadingStatus = !1, g;
27
28
  };
28
29
  return m({
29
- handleSave: p
30
- }), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, handleVersionHistory: c, handleExport: f, handleSaveAs: v, versionHistoryTooltipText: d, handleSave: p, getTooltipOptions: E, InButtonV2: O };
30
+ handleSave: l
31
+ }), { __sfc: !0, config: c, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: t, trans: o, isExporting: e, isSaving: s, testEmailClick: u, handleVersionHistory: f, handleExport: v, handleSaveAs: d, versionHistoryTooltipText: y, handleSave: l, getTooltipOptions: O, InButtonV2: A };
31
32
  }
32
33
  });
33
34
  export {
34
- z as default
35
+ J as default
35
36
  };
@@ -1,6 +1,6 @@
1
1
  import { provideValue as o, useInjectedValue as t } from "./useProvideInject.js";
2
- const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), a = Symbol.for("guido.save.complete"), s = (e) => {
3
- o(r, e.onBack), o(n, e.onSaveStart), o(a, e.onSaveComplete);
2
+ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), c = Symbol.for("guido.save.complete"), a = Symbol.for("guido.test.email.click"), i = (e) => {
3
+ o(r, e.onBack), o(n, e.onSaveStart), o(c, e.onSaveComplete), o(a, e.onTestEmailClick);
4
4
  }, u = () => {
5
5
  try {
6
6
  return t(r);
@@ -9,7 +9,7 @@ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), a = Symb
9
9
  "useBack: No back handler provided. Make sure Guido component is in the component tree."
10
10
  );
11
11
  }
12
- }, d = () => {
12
+ }, l = () => {
13
13
  try {
14
14
  return t(n);
15
15
  } catch {
@@ -17,21 +17,31 @@ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), a = Symb
17
17
  "useSaveStart: No save start handler provided. Make sure Guido component is in the component tree."
18
18
  );
19
19
  }
20
- }, i = () => {
20
+ }, d = () => {
21
21
  try {
22
- return t(a);
22
+ return t(c);
23
23
  } catch {
24
24
  throw new Error(
25
25
  "useSaveComplete: No save complete handler provided. Make sure Guido component is in the component tree."
26
26
  );
27
27
  }
28
+ }, m = () => {
29
+ try {
30
+ return t(a);
31
+ } catch {
32
+ throw new Error(
33
+ "useTestEmailClick: No test email click handler provided. Make sure Guido component is in the component tree."
34
+ );
35
+ }
28
36
  };
29
37
  export {
30
38
  r as BACK_KEY,
31
- a as SAVE_COMPLETE_KEY,
39
+ c as SAVE_COMPLETE_KEY,
32
40
  n as SAVE_START_KEY,
33
- s as provideGuidoActions,
41
+ a as TEST_EMAIL_CLICK_KEY,
42
+ i as provideGuidoActions,
34
43
  u as useBack,
35
- i as useSaveComplete,
36
- d as useSaveStart
44
+ d as useSaveComplete,
45
+ l as useSaveStart,
46
+ m as useTestEmailClick
37
47
  };
@@ -1,23 +1,23 @@
1
- import { useActionsApi as C } from "./useActionsApi.js";
1
+ import { useActionsApi as y } from "./useActionsApi.js";
2
2
  import { useBlocksConfig as E } from "./useBlocksConfig.js";
3
- import { useCustomInterfaceAppearance as h } from "./useCustomInterfaceAppearance.js";
4
- import { useStripoEventHandler as w } from "./useStripoEventHandler.js";
3
+ import { useCustomInterfaceAppearance as w } from "./useCustomInterfaceAppearance.js";
4
+ import { useStripoEventHandler as h } from "./useStripoEventHandler.js";
5
5
  import { useToaster as b } from "./useToaster.js";
6
6
  import { displayConditions as k } from "../enums/displayConditions.js";
7
7
  import { useStripoApi as B } from "../services/stripoApi.js";
8
8
  import V from "../static/styles/customEditorStyle.css.js";
9
9
  import { useEditorStore as _ } from "../stores/editor.js";
10
- import { dynamicContentToMergeTags as T } from "../utils/genericUtil.js";
10
+ import { dynamicContentToMergeTags as F } from "../utils/genericUtil.js";
11
11
  import A from "../package.json.js";
12
- const L = (c) => {
13
- const { handleError: l } = b(), { getToken: p, getCustomFonts: m } = B(), { handleEvent: g } = w(), { getStripoBlocksConfig: f } = E(), S = async (i, r = []) => {
14
- const t = _(), { html: n, css: u, forceRecreate: a } = i, { baseBlocks: e, extensions: d } = await f();
12
+ const L = (d) => {
13
+ const { handleError: u } = b(), { getToken: p, getCustomFonts: m } = B(), { handleEvent: g } = h(), { getStripoBlocksConfig: f } = E(), S = async (r, i = []) => {
14
+ const t = _(), { html: n, css: l, forceRecreate: a } = r, { baseBlocks: e, extensions: c } = await f();
15
15
  window.UIEditor.initEditor(
16
16
  document.querySelector("#guido-editor"),
17
17
  {
18
- metadata: c,
18
+ metadata: d,
19
19
  html: n,
20
- css: u,
20
+ css: l,
21
21
  forceRecreate: a,
22
22
  locale: "en",
23
23
  undoButtonSelector: "#guido__undo-button",
@@ -33,21 +33,17 @@ const L = (c) => {
33
33
  customConditionsEnabled: !0,
34
34
  conditionCategories: k,
35
35
  enableXSSSecurity: !0,
36
- messageSettingsEnabled: !0,
37
- displayGmailAnnotations: !0,
38
- displayHiddenPreheader: !1,
39
- displayTitle: !1,
40
- displayUTM: !1,
36
+ messageSettingsEnabled: !1,
41
37
  selectBlockAfterDropFromSettingsPanel: !0,
42
38
  ...e ? { baseBlocks: e } : {},
43
39
  editorFonts: {
44
40
  showDefaultStandardFonts: !0,
45
41
  showDefaultNotStandardFonts: !0,
46
- customFonts: r
42
+ customFonts: i
47
43
  },
48
44
  mergeTags: [
49
45
  {
50
- entries: T(c.preselectedDynamicContentList)
46
+ entries: F(d.preselectedDynamicContentList)
51
47
  }
52
48
  ],
53
49
  async onTokenRefreshRequest(o) {
@@ -55,17 +51,17 @@ const L = (c) => {
55
51
  const s = await p();
56
52
  o(s);
57
53
  } catch (s) {
58
- l(s, "Failed to refresh token");
54
+ u(s, "Failed to refresh token");
59
55
  }
60
56
  },
61
57
  onTemplateLoaded() {
62
58
  try {
63
- const { importCss: o } = h(), { activateCustomViewStyles: s } = C();
64
- o(), s(), c.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
59
+ const { importCss: o } = w(), { activateCustomViewStyles: s } = y();
60
+ o(), s(), d.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
65
61
  t.hasChanges = !1;
66
62
  }, 1e3);
67
63
  } catch (o) {
68
- l(o, "Failed to load custom interface appearance");
64
+ u(o, "Failed to load custom interface appearance");
69
65
  }
70
66
  },
71
67
  onCodeEditorVisibilityChanged(o) {
@@ -86,26 +82,26 @@ const L = (c) => {
86
82
  ".in-on-board-wrapper",
87
83
  ".in-drawer__container"
88
84
  ],
89
- extensions: d
85
+ extensions: c
90
86
  }
91
87
  );
92
- }, y = (i) => new Promise((r, t) => {
93
- var d;
88
+ }, C = (r) => new Promise((i, t) => {
89
+ var c;
94
90
  if (document.getElementById("UiEditorScript")) {
95
- i(), r();
91
+ r(), i();
96
92
  return;
97
93
  }
98
- const n = A.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");
94
+ const n = A.guido, a = `https://email-static.useinsider.com/guido/${(c = n == null ? void 0 : n.stripo) == null ? void 0 : c.version}/UIEditor.js`, e = document.createElement("script");
99
95
  e.id = "UiEditorScript", e.type = "module", e.src = a, e.onload = () => {
100
- i(), r();
96
+ r(), i();
101
97
  }, e.onerror = () => {
102
98
  t(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
103
99
  }, document.body.appendChild(e);
104
100
  });
105
- return { initPlugin: async (i) => {
106
- await y(async () => {
107
- const r = await m();
108
- await S(i, r);
101
+ return { initPlugin: async (r) => {
102
+ await C(async () => {
103
+ const i = await m();
104
+ await S(r, i);
109
105
  });
110
106
  } };
111
107
  };
@@ -1,36 +1,41 @@
1
- import { usePartner as U } from "../../composables/usePartner.js";
2
- import { LINK_REGEXES as l, LINK_TYPES as b, URLS as f } from "../../enums/unsubscribe.js";
3
- import { parsePageList as B } from "../../extensions/Blocks/Unsubscribe/utils/utils.js";
4
- import { useConfigStore as N } from "../../stores/config.js";
5
- import { useUnsubscribeStore as I } from "../../stores/unsubscribe.js";
6
- const T = [
1
+ import { usePartner as N } from "../../composables/usePartner.js";
2
+ import { LINK_REGEXES as l, LINK_TYPES as g, INSIDER_ID as f, URLS as S } from "../../enums/unsubscribe.js";
3
+ import { parsePageList as U } from "../../extensions/Blocks/Unsubscribe/utils/utils.js";
4
+ import { useConfigStore as B } from "../../stores/config.js";
5
+ import { useDynamicContentStore as y } from "../../stores/dynamic-content.js";
6
+ import { useUnsubscribeStore as L } from "../../stores/unsubscribe.js";
7
+ const D = [
7
8
  {
8
9
  id: "add-unsubscribe-link-values",
9
10
  description: "Adding unsubscribe link values",
10
11
  type: "custom",
11
12
  processor: (t) => {
12
- const { getPartnerName: i } = U(), a = N(), n = I(), u = a.getVariationId;
13
- if (!u)
13
+ const { getPartnerName: i } = N(), c = B(), n = y(), u = L(), a = c.getVariationId;
14
+ if (!a)
14
15
  return t;
15
- let o = t;
16
- const e = `/${i()}/email/${u}?user={{iid}}`;
17
- return new DOMParser().parseFromString(o, "text/html").querySelectorAll(".unsubscribe-block-v2[data-unsubscribe-page-list]").forEach((p) => {
18
- var g;
19
- const d = p.getAttribute("data-unsubscribe-page-list");
20
- if (!d)
16
+ let e = t;
17
+ const r = `/${i()}/email/${a}?user={{iid}}`;
18
+ return new DOMParser().parseFromString(e, "text/html").querySelectorAll(".unsubscribe-block-v2[data-unsubscribe-page-list]").forEach((p) => {
19
+ var b;
20
+ const m = p.getAttribute("data-unsubscribe-page-list");
21
+ if (!m)
21
22
  return;
22
- const S = B(d), m = ((g = n.templates) == null ? void 0 : g.filter(
23
- (c) => S.includes(c.id)
24
- )) ?? [], R = m.some((c) => c.type === b.UNSUBSCRIBE_LINK_TYPE), _ = m.some((c) => c.type === b.PREFERENCES_LINK_TYPE), E = p.outerHTML;
23
+ const R = U(m), d = ((b = u.templates) == null ? void 0 : b.filter(
24
+ (o) => R.includes(o.id)
25
+ )) ?? [], _ = d.some((o) => o.type === g.UNSUBSCRIBE_LINK_TYPE), I = d.some((o) => o.type === g.PREFERENCES_LINK_TYPE), E = p.outerHTML;
25
26
  let s = E;
26
- R && (s = s.replace(
27
+ _ && (n.selectedDynamicContentList.push({
28
+ text: f,
29
+ value: f,
30
+ fallback: ""
31
+ }), s = s.replace(
27
32
  l.GLOBAL_UNSUBSCRIBE_LINK_REGEX,
28
- f.UNSUBSCRIBE_URL + e
29
- )), _ && (s = s.replace(
33
+ S.UNSUBSCRIBE_URL + r
34
+ )), I && (s = s.replace(
30
35
  l.PREFERENCES_UNSUBSCRIBE_LINK_REGEX,
31
- f.PREFERENCES_URL + e
32
- )), s = s.replace(l.UNSUBSCRIBE_LINK_REGEX, ""), o = o.replace(E, s);
33
- }), o;
36
+ S.PREFERENCES_URL + r
37
+ )), s = s.replace(l.UNSUBSCRIBE_LINK_REGEX, ""), e = e.replace(E, s);
38
+ }), e;
34
39
  },
35
40
  priority: 60
36
41
  },
@@ -56,16 +61,16 @@ const T = [
56
61
  type: "custom",
57
62
  processor: (t) => {
58
63
  let i = t;
59
- const a = i.match(/<a[^>]+>(.*?)<\/a>/gm);
60
- return a && a.forEach((n) => {
64
+ const c = i.match(/<a[^>]+>(.*?)<\/a>/gm);
65
+ return c && c.forEach((n) => {
61
66
  if (n.includes("insEmail=1"))
62
67
  return;
63
68
  if (n.match(/<a\s+(?:[^>]*?\s+)?href=(["'`”])(.*?)\1\s+(?:[^>]*?\s+)?universal=(["'`”])true\3/gm)) {
64
- const o = n.replace(/href=(["'`”])(.*?)\1/gm, (e) => {
69
+ const a = n.replace(/href=(["'`”])(.*?)\1/gm, (e) => {
65
70
  const r = e.slice(6, e.length - 1).trim();
66
71
  return e.includes("?") || e.includes("#") ? r.slice(-1) === "&" ? e.replace(r, `${r}insEmail=1`) : e.replace(r, `${r}&insEmail=1`) : e.replace(r, `${r}?insEmail=1`);
67
72
  });
68
- i = i.replace(n, o);
73
+ i = i.replace(n, a);
69
74
  }
70
75
  }), i;
71
76
  },
@@ -73,5 +78,5 @@ const T = [
73
78
  }
74
79
  ];
75
80
  export {
76
- T as unsubscribeCompilerRules
81
+ D as unsubscribeCompilerRules
77
82
  };
@@ -0,0 +1,5 @@
1
+ const e = "insidethekube", s = "useinsider";
2
+ export {
3
+ e as KUBE_ENV_PREFIX,
4
+ s as PROD_ENV_PREFIX
5
+ };
@@ -1,25 +1,26 @@
1
- import { useTranslations as e } from "../composables/useTranslations.js";
2
- const s = e(), R = {
1
+ import { useTranslations as n } from "../composables/useTranslations.js";
2
+ import { getEnvironmentPrefix as R } from "../utils/environmentUtil.js";
3
+ const e = n(), I = {
3
4
  UNSUBSCRIBE_LINK_TYPE: 1,
4
5
  PREFERENCES_LINK_TYPE: 3
5
- }, S = {
6
+ }, r = {
6
7
  UNSUBSCRIBE_LINK_REGEX: /{{ins-unsubscribe-link}}/g,
7
8
  DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
8
9
  GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
9
10
  PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
10
- }, N = {
11
- UNSUBSCRIBE_URL: "https://mail.useinsider.com/user/v1/unsub",
12
- PREFERENCES_URL: "https://mail.useinsider.com/user/v1/prefs"
13
- }, _ = {
11
+ }, s = R(), _ = {
12
+ UNSUBSCRIBE_URL: `https://mail.${s}.com/user/v1/unsub`,
13
+ PREFERENCES_URL: `https://mail.${s}.com/user/v1/prefs`
14
+ }, i = "iid", B = {
14
15
  name: "Global Unsubscribe",
15
16
  sendGridId: "G"
16
- }, I = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", r = "/email/unsubscribe-pages", E = {
17
+ }, C = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", c = "/email/unsubscribe-pages", E = {
17
18
  GLOBAL_UNSUBSCRIBE: 1,
18
19
  GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: 2,
19
20
  SUBSCRIPTION_PREFERENCE_CENTER: 3,
20
21
  SUBSCRIPTION_PREFERENCE_CONFIRMATION: 4,
21
22
  RESUBSCRIBE: 5
22
- }, i = {
23
+ }, t = {
23
24
  [E.GLOBAL_UNSUBSCRIBE]: [
24
25
  E.GLOBAL_UNSUBSCRIBE,
25
26
  E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE,
@@ -29,26 +30,27 @@ const s = e(), R = {
29
30
  E.SUBSCRIPTION_PREFERENCE_CENTER,
30
31
  E.SUBSCRIPTION_PREFERENCE_CONFIRMATION
31
32
  ]
32
- }, B = {
33
- [E.GLOBAL_UNSUBSCRIBE]: s("unsubscription-preference.type-global-unsubscribe"),
34
- [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: s("unsubscription-preference.type-global-unsubscription-confirmation"),
35
- [E.RESUBSCRIBE]: s("unsubscription-preference.type-resubscribe"),
36
- [E.SUBSCRIPTION_PREFERENCE_CENTER]: s("unsubscription-preference.type-subscription-preferences-center"),
37
- [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: s("unsubscription-preference.type-subscription-preferences-confirmation")
38
- }, C = {
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")
39
+ }, o = {
39
40
  default: "{{ins-unsubscribe-link}}",
40
41
  [E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
41
42
  [E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
42
43
  };
43
44
  export {
44
- I as ACADEMY_LINK,
45
- _ as DEFAULT_UNSUBSCRIBE_GROUP,
46
- S as LINK_REGEXES,
47
- R as LINK_TYPES,
48
- C as MERGE_TAGS,
45
+ C as ACADEMY_LINK,
46
+ B as DEFAULT_UNSUBSCRIBE_GROUP,
47
+ i as INSIDER_ID,
48
+ r as LINK_REGEXES,
49
+ I as LINK_TYPES,
50
+ o as MERGE_TAGS,
49
51
  E as PAGE_TYPES,
50
- i as TYPE_COLLECTIONS,
51
- B as TYPE_TRANSLATIONS,
52
- r as UNSUBSCRIBE_PAGES_LINK,
53
- N as URLS
52
+ t as TYPE_COLLECTIONS,
53
+ U as TYPE_TRANSLATIONS,
54
+ c as UNSUBSCRIBE_PAGES_LINK,
55
+ _ as URLS
54
56
  };