@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.
Files changed (162) hide show
  1. package/README.md +1 -1
  2. package/dist/@types/generic.d.ts +8 -0
  3. package/dist/components/Guido.vue.d.ts +2 -2
  4. package/dist/components/Guido.vue.js +2 -2
  5. package/dist/components/Guido.vue2.js +66 -61
  6. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +2 -0
  7. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +18 -0
  8. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +16 -0
  9. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +2 -0
  10. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +24 -0
  11. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +64 -0
  12. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +2 -0
  13. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +18 -0
  14. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +108 -0
  15. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +2 -0
  16. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +18 -0
  17. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +12 -0
  18. package/dist/components/wrappers/WpDrawer.vue.d.ts +6 -4
  19. package/dist/components/wrappers/WpDrawer.vue.js +6 -4
  20. package/dist/composables/useHtmlValidator.d.ts +2 -1
  21. package/dist/composables/useHtmlValidator.js +114 -95
  22. package/dist/composables/useSave.js +6 -6
  23. package/dist/composables/useStripo.js +35 -29
  24. package/dist/config/compiler/unsubscribeCompilerRules.js +19 -19
  25. package/dist/config/migrator/checkboxMigrator.d.ts +1 -0
  26. package/dist/config/migrator/checkboxMigrator.js +83 -0
  27. package/dist/config/migrator/index.d.ts +1 -0
  28. package/dist/config/migrator/index.js +9 -0
  29. package/dist/config/migrator/unsubscribeMigrator.d.ts +1 -0
  30. package/dist/config/migrator/unsubscribeMigrator.js +112 -0
  31. package/dist/enums/defaults.js +6 -3
  32. package/dist/enums/unsubscribe.d.ts +19 -0
  33. package/dist/enums/unsubscribe.js +39 -6
  34. package/dist/extensions/Blocks/Checkbox/block.d.ts +10 -0
  35. package/dist/extensions/Blocks/Checkbox/block.js +39 -0
  36. package/dist/extensions/Blocks/Checkbox/control.d.ts +22 -0
  37. package/dist/extensions/Blocks/Checkbox/control.js +104 -0
  38. package/dist/extensions/Blocks/Checkbox/extension.d.ts +2 -0
  39. package/dist/extensions/Blocks/Checkbox/extension.js +20 -0
  40. package/dist/extensions/Blocks/Checkbox/settingsPanel.d.ts +4 -0
  41. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +38 -0
  42. package/dist/extensions/Blocks/Checkbox/template.d.ts +6 -0
  43. package/dist/extensions/Blocks/Checkbox/template.js +75 -0
  44. package/dist/extensions/Blocks/Unsubscribe/block.d.ts +30 -0
  45. package/dist/extensions/Blocks/Unsubscribe/block.js +141 -0
  46. package/dist/extensions/Blocks/Unsubscribe/control.d.ts +29 -0
  47. package/dist/extensions/Blocks/Unsubscribe/control.js +180 -0
  48. package/dist/extensions/Blocks/Unsubscribe/elements/preview.d.ts +11 -0
  49. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +54 -0
  50. package/dist/extensions/Blocks/Unsubscribe/extension.d.ts +2 -0
  51. package/dist/extensions/Blocks/Unsubscribe/extension.js +21 -0
  52. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +4 -0
  53. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +32 -0
  54. package/dist/extensions/Blocks/Unsubscribe/template.d.ts +3 -0
  55. package/dist/extensions/Blocks/Unsubscribe/template.js +28 -0
  56. package/dist/extensions/Blocks/Unsubscribe/utils/constants.d.ts +9 -0
  57. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +11 -0
  58. package/dist/extensions/Blocks/Unsubscribe/utils/utils.d.ts +7 -0
  59. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +6 -0
  60. package/dist/extensions/Blocks/_Boilerplate/block.d.ts +10 -0
  61. package/dist/extensions/Blocks/_Boilerplate/control.d.ts +17 -0
  62. package/dist/extensions/Blocks/_Boilerplate/extension.d.ts +2 -0
  63. package/dist/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  64. package/dist/extensions/Blocks/_Boilerplate/template.d.ts +6 -0
  65. package/dist/extensions/DynamicContent/dynamic-content.js +41 -27
  66. package/dist/extensions/DynamicContent/extension.js +18 -6
  67. package/dist/guido.css +1 -1
  68. package/dist/mock/api/unsubscribe.d.ts +2 -0
  69. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +72 -48
  70. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +74 -49
  71. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +120 -38
  72. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +5 -11
  73. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +5 -11
  74. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +12 -0
  75. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +5 -11
  76. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +116 -101
  77. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +5 -11
  78. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +5 -11
  79. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +5 -11
  80. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +12 -0
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +5 -11
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +5 -11
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +5 -11
  84. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +23 -43
  85. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +21 -17
  86. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +8 -15
  87. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +30 -29
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +19 -23
  89. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +37 -19
  90. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +2 -15
  91. package/dist/services/unsubscribeApi.d.ts +4 -0
  92. package/dist/services/unsubscribeApi.js +16 -0
  93. package/dist/stores/unsubscribe.d.ts +183 -5
  94. package/dist/stores/unsubscribe.js +125 -6
  95. package/package.json +2 -2
  96. package/dist/_virtual/AddCustomFont.js +0 -4
  97. package/dist/_virtual/AiAssistantValueType.js +0 -4
  98. package/dist/_virtual/BackgroundColorBuiltInControl.js +0 -4
  99. package/dist/_virtual/BackgroundImageBuiltInControl.js +0 -4
  100. package/dist/_virtual/Block.js +0 -4
  101. package/dist/_virtual/BlockAttributes.js +0 -4
  102. package/dist/_virtual/BlockCompositionType.js +0 -4
  103. package/dist/_virtual/BlockPaddingsBuiltInControl.js +0 -4
  104. package/dist/_virtual/BlockRenderer.js +0 -4
  105. package/dist/_virtual/BlockType.js +0 -4
  106. package/dist/_virtual/BlocksPanel.js +0 -4
  107. package/dist/_virtual/BuiltInControl.js +0 -4
  108. package/dist/_virtual/BuiltInControlTypes.js +0 -4
  109. package/dist/_virtual/ButtonBorderBuiltInControl.js +0 -4
  110. package/dist/_virtual/ButtonColorBuiltInControl.js +0 -4
  111. package/dist/_virtual/ButtonFontColorBuiltInControl.js +0 -4
  112. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +0 -4
  113. package/dist/_virtual/ButtonTextBuiltInControl.js +0 -4
  114. package/dist/_virtual/ContextAction.js +0 -4
  115. package/dist/_virtual/ContextActionType.js +0 -4
  116. package/dist/_virtual/Control.js +0 -4
  117. package/dist/_virtual/EditorStatePropertyType.js +0 -4
  118. package/dist/_virtual/Extension.js +0 -4
  119. package/dist/_virtual/ExtensionBuilder.js +0 -4
  120. package/dist/_virtual/FontFamilyBuiltInControl.js +0 -4
  121. package/dist/_virtual/LinkColorBuiltInControl.js +0 -4
  122. package/dist/_virtual/ModificationDescription.js +0 -4
  123. package/dist/_virtual/PanelPosition.js +0 -4
  124. package/dist/_virtual/PreviewDeviceMode.js +0 -4
  125. package/dist/_virtual/SettingsPanelRegistry.js +0 -4
  126. package/dist/_virtual/SettingsPanelTab.js +0 -4
  127. package/dist/_virtual/SettingsTab.js +0 -4
  128. package/dist/_virtual/StructureBorderBuiltInControl.js +0 -4
  129. package/dist/_virtual/StructurePaddingsBuiltInControl.js +0 -4
  130. package/dist/_virtual/TextColorBuiltInControl.js +0 -4
  131. package/dist/_virtual/TextLineSpacingBuiltInControl.js +0 -4
  132. package/dist/_virtual/TextSizeBuiltInControl.js +0 -4
  133. package/dist/_virtual/TextStyleBuiltInControl.js +0 -4
  134. package/dist/_virtual/UIElement.js +0 -4
  135. package/dist/_virtual/UIElementTagRegistry.js +0 -4
  136. package/dist/_virtual/UIElementType.js +0 -4
  137. package/dist/_virtual/UIElementsAttributes.js +0 -4
  138. package/dist/_virtual/index.js +0 -5
  139. package/dist/_virtual/index2.js +0 -4
  140. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +0 -18
  141. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +0 -32
  142. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +0 -18
  143. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +0 -8
  144. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +0 -34
  145. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +0 -43
  146. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +0 -46
  147. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +0 -44
  148. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +0 -22
  149. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +0 -46
  150. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +0 -46
  151. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +0 -45
  152. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +0 -45
  153. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +0 -45
  154. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +0 -43
  155. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +0 -45
  156. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +0 -46
  157. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +0 -44
  158. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +0 -43
  159. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +0 -43
  160. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +0 -45
  161. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +0 -43
  162. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +0 -266
package/README.md CHANGED
@@ -643,6 +643,6 @@ ISC License
643
643
  ## 🎯 TODO:
644
644
  - CSS part should be optimized with variables & `sass-loader`.
645
645
  - Master Version Generator should be fixed.
646
- - Playwright integration
646
+ - Playwright integrationBoilerplate/control.ts
647
647
  - Commitlint & Precommit Hooks integration
648
648
  - Get Pre-built display conditions from API
@@ -1,4 +1,7 @@
1
1
  import type { CompilerRule } from './html-compiler';
2
+ type Extensions = {
3
+ unsubscribe?: boolean;
4
+ };
2
5
  type Features = {
3
6
  dynamicContent?: boolean;
4
7
  saveAsTemplate?: boolean;
@@ -16,8 +19,13 @@ export type GuidoConfig = {
16
19
  useHeader?: boolean;
17
20
  emailHeader: EmailHeader;
18
21
  partner?: Partner;
22
+ extensions?: Extensions;
19
23
  features?: Features;
20
24
  };
25
+ export type TemplateConfig = {
26
+ preselectedDynamicContentList: DynamicContent[];
27
+ selectedUnsubscribePages?: number[];
28
+ };
21
29
  export type DynamicContent = {
22
30
  value: string;
23
31
  text: string;
@@ -1,4 +1,4 @@
1
- import type { DynamicContent, GuidoConfig } from '@@/Types/generic';
1
+ import type { DynamicContent, GuidoConfig, TemplateConfig } from '@@/Types/generic';
2
2
  import type { SavedTemplateDetails } from '@@/Types/stripo';
3
3
  type __VLS_Props = {
4
4
  templateId: string;
@@ -9,8 +9,8 @@ type __VLS_Props = {
9
9
  username?: string;
10
10
  html?: string;
11
11
  css?: string;
12
- preselectedDynamicContentList: DynamicContent[];
13
12
  guidoConfig: GuidoConfig;
13
+ templateConfig?: TemplateConfig;
14
14
  };
15
15
  declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {
16
16
  dynamicContent: {
@@ -3,14 +3,14 @@ import a from "./Guido.vue2.js";
3
3
  import i from "../_virtual/_plugin-vue2_normalizer.js";
4
4
  var s = function() {
5
5
  var o = this, r = o._self._c, e = o._self._setupProxy;
6
- return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.SaveAsTemplateDrawer), !e.isTestPartner() && !e.isDevMode ? r(e.OnboardingWrapper) : o._e(), r(e.LoadingWrapper)], 1);
6
+ return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
7
7
  }, t = [], d = /* @__PURE__ */ i(
8
8
  a,
9
9
  s,
10
10
  t,
11
11
  !1,
12
12
  null,
13
- "cebb8ab0"
13
+ "85d64228"
14
14
  );
15
15
  const v = d.exports;
16
16
  export {
@@ -1,18 +1,21 @@
1
- import { defineComponent as H, defineAsyncComponent as G, ref as M, computed as c, watch as R, onMounted as U, onUnmounted as x } from "vue";
2
- import { provideGuidoActions as F } from "../composables/useGuidoActions.js";
3
- import { usePartner as z } from "../composables/usePartner.js";
4
- import { useStripo as B } from "../composables/useStripo.js";
5
- import { DefaultUsername as K, DefaultMessageType as O, DefaultGuidoConfig as j } from "../enums/defaults.js";
6
- import q from "./organisms/base/Toaster.vue.js";
7
- import J from "./organisms/header/HeaderWrapper.vue.js";
8
- import Q from "./organisms/LoadingWrapper.vue.js";
9
- import V from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
10
- import { useStripoApi as X } from "../services/stripoApi.js";
11
- import { useDynamicContentStore as Y } from "../stores/dynamic-content.js";
12
- import { useEditorStore as Z } from "../stores/editor.js";
13
- import { usePreviewStore as $ } from "../stores/preview.js";
14
- import ee from "../node_modules/lodash-es/merge.js";
15
- const fe = /* @__PURE__ */ H({
1
+ import { defineComponent as R, defineAsyncComponent as G, ref as x, computed as U, watch as F, onMounted as M, onUnmounted as z } from "vue";
2
+ import { provideGuidoActions as B } from "../composables/useGuidoActions.js";
3
+ import { usePartner as K } from "../composables/usePartner.js";
4
+ import { useStripo as O } from "../composables/useStripo.js";
5
+ import { migrate as I } from "../config/migrator/index.js";
6
+ import { DefaultUsername as j, DefaultMessageType as q, DefaultGuidoConfig as J } from "../enums/defaults.js";
7
+ import Q from "./organisms/base/Toaster.vue.js";
8
+ import V from "./organisms/header/HeaderWrapper.vue.js";
9
+ import X from "./organisms/LoadingWrapper.vue.js";
10
+ import Y from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
11
+ import Z from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
12
+ import { useStripoApi as $ } from "../services/stripoApi.js";
13
+ import { useDynamicContentStore as ee } from "../stores/dynamic-content.js";
14
+ import { useEditorStore as oe } from "../stores/editor.js";
15
+ import { usePreviewStore as te } from "../stores/preview.js";
16
+ import { useUnsubscribeStore as ne } from "../stores/unsubscribe.js";
17
+ import re from "../node_modules/lodash-es/merge.js";
18
+ const Se = /* @__PURE__ */ R({
16
19
  __name: "Guido",
17
20
  props: {
18
21
  templateId: null,
@@ -23,49 +26,50 @@ const fe = /* @__PURE__ */ H({
23
26
  username: null,
24
27
  html: null,
25
28
  css: null,
26
- preselectedDynamicContentList: null,
27
- guidoConfig: null
29
+ guidoConfig: null,
30
+ templateConfig: null
28
31
  },
29
32
  emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready"],
30
- setup(P, { expose: I, emit: o }) {
31
- const n = P, L = G(
33
+ setup(W, { expose: _, emit: o }) {
34
+ const d = W, L = G(
32
35
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
33
- ), _ = G(
36
+ ), k = G(
34
37
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
35
- ), d = M(), r = Y(), m = Z(), W = $(), t = c(() => m.hasChanges), a = n.preselectedDynamicContentList || [], { getPartnerName: l, getProductType: u, isTestPartner: k } = z(), A = c(() => !1), p = () => {
38
+ ), m = x(), s = ee(), u = ne(), l = oe(), A = te(), n = U(() => l.hasChanges), { getPartnerName: p, getProductType: g, isTestPartner: N } = K(), f = () => {
36
39
  var e;
37
- return (e = d.value) == null ? void 0 : e.handleSave(!0);
40
+ return (e = m.value) == null ? void 0 : e.handleSave(!0);
38
41
  }, {
39
- templateId: g,
40
- userId: f,
41
- guidoConfig: y,
42
- html: v = "",
43
- css: C = "",
44
- partnerName: s = l(),
45
- productType: i = u(),
46
- messageType: h = O,
47
- username: w = K
48
- } = n;
49
- window.GuidoConfig = ee(j, y), window.GuidoConfig.partner = {
50
- partnerName: s,
42
+ templateId: y,
43
+ userId: v,
44
+ guidoConfig: b,
45
+ templateConfig: t,
46
+ html: r = "",
47
+ css: h = "",
48
+ partnerName: a = p(),
49
+ productType: i = g(),
50
+ messageType: C = q,
51
+ username: w = j
52
+ } = d, c = (t == null ? void 0 : t.preselectedDynamicContentList) || [];
53
+ window.GuidoConfig = re(J, b), window.GuidoConfig.partner = {
54
+ partnerName: a,
51
55
  productType: i,
52
- messageType: h
56
+ messageType: C
53
57
  };
54
- const { initPlugin: S } = B({
55
- emailId: g,
56
- userId: f,
58
+ const { initPlugin: S } = O({
59
+ emailId: y,
60
+ userId: v,
57
61
  username: w,
58
- partnerName: s,
62
+ partnerName: a,
59
63
  productType: i,
60
- preselectedDynamicContentList: a,
64
+ preselectedDynamicContentList: c,
61
65
  onReady: () => {
62
66
  console.debug("guido:ready"), o("ready");
63
67
  }
64
- }), { getDefaultTemplate: D } = X(), N = c(() => {
68
+ }), { getDefaultTemplate: D } = $(), H = U(() => {
65
69
  var e;
66
70
  return !((e = window.GuidoConfig) != null && e.useHeader);
67
71
  });
68
- F({
72
+ B({
69
73
  onBack: () => {
70
74
  console.debug("guido:back"), o("back");
71
75
  },
@@ -76,46 +80,47 @@ const fe = /* @__PURE__ */ H({
76
80
  console.debug("guido:save:complete", e), o("save:complete", e);
77
81
  }
78
82
  });
79
- const b = (e) => {
80
- console.debug("dynamic-content:close", e), r.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
81
- }, T = () => {
83
+ const T = (e) => {
84
+ console.debug("dynamic-content:close", e), s.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
85
+ }, E = () => {
82
86
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
83
87
  };
84
- return R(() => t.value, () => {
85
- o("on-change", t.value);
86
- }), U(async () => {
88
+ return F(() => n.value, () => {
89
+ o("on-change", n.value);
90
+ }), M(async () => {
87
91
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
88
92
  try {
93
+ u.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
89
94
  let e = {
90
- html: v,
91
- css: C,
95
+ html: r && await I(r),
96
+ css: h,
92
97
  forceRecreate: !0
93
98
  // TODO: It should be false for old templates. We will communicate with Stripo
94
99
  };
95
- e.html || (e = await D()), await S(e), r.selectedDynamicContentList = a;
100
+ e.html || (e = await D(), e.html = await I(e.html)), await S(e), s.selectedDynamicContentList = c;
96
101
  } catch (e) {
97
102
  console.error("Failed to initialize Stripo editor:", e);
98
103
  }
99
104
  document.addEventListener("dynamic-content:open", (e) => {
100
- const E = e;
101
- console.debug("dynamic-content:open", E.detail), o("dynamic-content:open", E.detail);
105
+ const P = e;
106
+ console.debug("dynamic-content:open", P.detail), o("dynamic-content:open", P.detail);
102
107
  });
103
- }), x(() => {
108
+ }), z(() => {
104
109
  try {
105
110
  window.UIEditor.removeEditor();
106
111
  } catch {
107
112
  console.debug("Failed to remove Stripo editor: No editor found");
108
113
  }
109
- }), I({
114
+ }), _({
110
115
  dynamicContent: {
111
- insert: b,
112
- close: T
116
+ insert: T,
117
+ close: E
113
118
  },
114
- hasChanges: t,
115
- saveSilent: p
116
- }), { __sfc: !0, PreviewContainer: L, OnboardingWrapper: _, headerWrapperRef: d, dynamicContentStore: r, props: n, editorStore: m, previewStore: W, hasChanges: t, preselectedDynamicContentList: a, getPartnerName: l, getProductType: u, isTestPartner: k, isDevMode: A, saveSilent: p, templateId: g, userId: f, guidoConfig: y, html: v, css: C, partnerName: s, productType: i, messageType: h, username: w, emit: o, initPlugin: S, getDefaultTemplate: D, noHeader: N, insertDynamicContent: b, closeDynamicContent: T, Toaster: q, HeaderWrapper: J, LoadingWrapper: Q, SaveAsTemplateDrawer: V };
119
+ hasChanges: n,
120
+ saveSilent: f
121
+ }), { __sfc: !0, PreviewContainer: L, OnboardingWrapper: k, headerWrapperRef: m, dynamicContentStore: s, unsubscribeStore: u, props: d, editorStore: l, previewStore: A, hasChanges: n, getPartnerName: p, getProductType: g, isTestPartner: N, saveSilent: f, templateId: y, userId: v, guidoConfig: b, templateConfig: t, html: r, css: h, partnerName: a, productType: i, messageType: C, username: w, preselectedDynamicContentList: c, emit: o, initPlugin: S, getDefaultTemplate: D, noHeader: H, insertDynamicContent: T, closeDynamicContent: E, Toaster: Q, HeaderWrapper: V, LoadingWrapper: X, SaveAsTemplateDrawer: Y, UnsubscribeWrapper: Z };
117
122
  }
118
123
  });
119
124
  export {
120
- fe as default
125
+ Se as default
121
126
  };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import s from "./UnsubscribeBreadcrumb.vue2.js";
2
+ /* empty css */
3
+ import a from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var o = function() {
5
+ var e = this, t = e._self._c, r = e._self._setupProxy;
6
+ return t(r.InBreadcrumb, { staticClass: "c-p", attrs: { "without-router": "", "active-tab": r.unsubscribeStore.activeType, "home-icon": !1, list: r.breadcrumbs, routes: [] }, on: { click: r.navigate } });
7
+ }, c = [], n = /* @__PURE__ */ a(
8
+ s,
9
+ o,
10
+ c,
11
+ !1,
12
+ null,
13
+ "70835920"
14
+ );
15
+ const f = n.exports;
16
+ export {
17
+ f as default
18
+ };
@@ -0,0 +1,16 @@
1
+ import { defineComponent as o, computed as n } from "vue";
2
+ import { TYPE_TRANSLATIONS as s } from "../../../enums/unsubscribe.js";
3
+ import { useUnsubscribeStore as c } from "../../../stores/unsubscribe.js";
4
+ import { InBreadcrumb as m } from "@useinsider/design-system-vue";
5
+ const f = /* @__PURE__ */ o({
6
+ __name: "UnsubscribeBreadcrumb",
7
+ setup(a) {
8
+ const r = c(), t = n(() => r.getSelectedCollection.map((e) => ({ value: e, text: s[e] })));
9
+ return { __sfc: !0, unsubscribeStore: r, breadcrumbs: t, navigate: (e) => {
10
+ r.activeType = e.value;
11
+ }, InBreadcrumb: m };
12
+ }
13
+ });
14
+ export {
15
+ f as default
16
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import a from "./UnsubscribePageSelection.vue2.js";
2
+ /* empty css */
3
+ import n from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var o = function() {
5
+ var r = this, e = r._self._c, t = r._self._setupProxy;
6
+ return e(t.WpDrawer, { attrs: { id: "unsubscribe-modal", "description-status": "", size: "large", "footer-button-group-options": t.footerButtonGroupOptions, status: t.unsubscribeStore.pageSelectionDrawerStatus, "title-text": t.trans("newsletter.select-a-template") }, on: { cancelOrBackButtonEvent: t.handleBack, onCloseEvent: t.closeModal, primaryButtonEvent: t.handleSave }, scopedSlots: r._u([{ key: "headerBottomSlot", fn: function() {
7
+ return [e(t.UnsubscribeBreadcrumb, { staticClass: "px-5 py-3" })];
8
+ }, proxy: !0 }]) }, [e("div", { staticClass: "d-g templates-wrapper" }, r._l(t.unsubscribeStore.getTemplatesByActiveType, function(s) {
9
+ return e("div", { key: s.id, staticClass: "template-wrapper", on: { click: function(u) {
10
+ return t.selectTemplate(s.id);
11
+ } } }, [e(t.InContainer, { staticClass: "template-container o-h", class: { selected: t.unsubscribeStore.getSelectedTemplateByActiveType === s.id }, attrs: { border: t.getBorderClass(s.id) } }, [e("div", { staticClass: "w-1 h-1 d-f j-c-c a-i-c" }, [e("img", { staticClass: "w-1 h-1 thumbnail o-h", attrs: { alt: s.name, src: s.thumbnail } })])]), e("div", { staticClass: "mt-1 f-s-1" }, [r._v(" " + r._s(s.name) + " ")])], 1);
12
+ }), 0)]);
13
+ }, i = [], c = /* @__PURE__ */ n(
14
+ a,
15
+ o,
16
+ i,
17
+ !1,
18
+ null,
19
+ "a86fc486"
20
+ );
21
+ const _ = c.exports;
22
+ export {
23
+ _ as default
24
+ };
@@ -0,0 +1,64 @@
1
+ import { defineComponent as f, ref as y, computed as n, watch as T } from "vue";
2
+ import g from "../../wrappers/WpDrawer.vue.js";
3
+ import { useToaster as S } from "../../../composables/useToaster.js";
4
+ import { useTranslations as v } from "../../../composables/useTranslations.js";
5
+ import { ToasterTypeOptions as B } from "../../../enums/toaster.js";
6
+ import { useUnsubscribeStore as w } from "../../../stores/unsubscribe.js";
7
+ import { InContainer as C } from "@useinsider/design-system-vue";
8
+ import h from "./UnsubscribeBreadcrumb.vue.js";
9
+ const E = /* @__PURE__ */ f({
10
+ __name: "UnsubscribePageSelection",
11
+ setup(_) {
12
+ const s = v(), e = w(), { showToaster: a } = S(), o = y(!1), c = n(() => e.isActiveTypeLastInCollection ? o.value ? s("unsubscription-preference.applying-changes") : s("statistics.apply") : s("products.select-and-continue")), i = n(() => e.pageSelectionUpdateStatus && e.isActiveTypeFirstInCollection ? s("products.cancel") : s("newsletter.back")), p = n(() => ({
13
+ primaryButton: {
14
+ styling: "solid",
15
+ type: "primary",
16
+ labelText: c.value,
17
+ loadingStatus: o.value,
18
+ disabledStatus: !1
19
+ },
20
+ cancelOrBackButton: {
21
+ styling: "ghost",
22
+ type: "secondary",
23
+ labelText: i.value,
24
+ disabledStatus: o.value
25
+ }
26
+ })), u = (t) => e.getSelectedTemplateByActiveType === t ? "bor-w-3 bor-s-s bor-c-7" : "bor-w-1 bor-s-s bor-c-6", r = (t) => {
27
+ e.pageSelectionDrawerStatus = !1, t && setTimeout(() => {
28
+ t();
29
+ }, 500);
30
+ }, m = () => {
31
+ if (e.isActiveTypeFirstInCollection) {
32
+ r(), e.pageSelectionUpdateStatus || (e.typeSelectionDrawerStatus = !0);
33
+ return;
34
+ }
35
+ e.setPreviousType();
36
+ }, d = () => {
37
+ if (e.isActiveTypeLastInCollection) {
38
+ o.value = !0;
39
+ const t = e.selectedCollectionType, l = e.getSelectedTemplatesByCollection(t);
40
+ e.addUnsubscribePages(l), document.dispatchEvent(new CustomEvent("unsubscribe:select", {
41
+ detail: {
42
+ collectionType: t,
43
+ selectedPages: l
44
+ }
45
+ })), r(() => {
46
+ o.value = !1, a({
47
+ type: B.Success,
48
+ message: s("global-unsubscribe.pages-were-attached")
49
+ });
50
+ });
51
+ return;
52
+ }
53
+ e.setNextType();
54
+ }, b = (t) => {
55
+ e.setSelectedTemplate(t);
56
+ };
57
+ return T(() => e.pageSelectionDrawerStatus, (t) => {
58
+ t && e.pageSelectionUpdateStatus && e.fetchTemplates();
59
+ }), { __sfc: !0, trans: s, unsubscribeStore: e, showToaster: a, isApplying: o, getPrimaryButtonText: c, getCancelOrBackButtonText: i, footerButtonGroupOptions: p, getBorderClass: u, closeModal: r, handleBack: m, handleSave: d, selectTemplate: b, WpDrawer: g, InContainer: C, UnsubscribeBreadcrumb: h };
60
+ }
61
+ });
62
+ export {
63
+ E as default
64
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import n from "./UnsubscribeTypeSelection.vue2.js";
2
+ /* empty css */
3
+ import o from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var i = function() {
5
+ var e = this, s = e._self._c, t = e._self._setupProxy;
6
+ return s(t.WpDrawer, { attrs: { id: "unsubscribe-modal", "description-status": "", "description-text": t.descriptionText, "footer-button-group-options": t.footerButtonGroupOptions, status: t.unsubscribeStore.typeSelectionDrawerStatus, "title-text": t.trans("unsubscription-preference.select-unsubscribe-page-title") }, on: { cancelOrBackButtonEvent: t.closeModal, onCloseEvent: t.closeModal, primaryButtonEvent: t.selectCollection } }, [s(t.InSegments, { staticClass: "w-1", attrs: { "with-icon": "", align: "vertical", disable: t.isSelecting, "segment-list": t.segmentList, selected: t.selectedCollection, "skeleton-sizing": { width: 495, height: 180 }, "skeleton-status": t.skeletonStatus }, on: { click: t.changeCollection } })], 1);
7
+ }, r = [], c = /* @__PURE__ */ o(
8
+ n,
9
+ i,
10
+ r,
11
+ !1,
12
+ null,
13
+ "dda47b76"
14
+ );
15
+ const d = c.exports;
16
+ export {
17
+ d as default
18
+ };
@@ -0,0 +1,108 @@
1
+ import { defineComponent as h, ref as b, computed as m, watch as _ } from "vue";
2
+ import v from "../../wrappers/WpDrawer.vue.js";
3
+ import { useToaster as B } from "../../../composables/useToaster.js";
4
+ import { useTranslations as N } from "../../../composables/useTranslations.js";
5
+ import { ToasterTypeOptions as U } from "../../../enums/toaster.js";
6
+ import { PAGE_TYPES as l, ACADEMY_LINK as w, UNSUBSCRIBE_PAGES_LINK as P, TYPE_TRANSLATIONS as R } from "../../../enums/unsubscribe.js";
7
+ import { useUnsubscribeStore as D } from "../../../stores/unsubscribe.js";
8
+ import { InSegments as I } from "@useinsider/design-system-vue";
9
+ const z = /* @__PURE__ */ h({
10
+ __name: "UnsubscribeTypeSelection",
11
+ setup(G) {
12
+ const e = N(), { showToaster: f } = B(), t = D(), n = b(!1), i = b(!0), r = b(l.GLOBAL_UNSUBSCRIBE), S = e(
13
+ "unsubscription-preference.select-unsubscribe-page-description",
14
+ { action: `<a href="${w}" target="_blank">${e("ds-rules.visit-academy")}</a>` }
15
+ ), T = m(() => [
16
+ {
17
+ description: e("unsubscription-preference.type-global-unsubscribe-description"),
18
+ icon: "line-contact-global-unsub-page",
19
+ text: e("unsubscription-preference.type-global-unsubscribe"),
20
+ value: l.GLOBAL_UNSUBSCRIBE,
21
+ disable: t.isGlobalUnsubscribeDisabled,
22
+ tooltipText: t.isGlobalUnsubscribeDisabled ? e("unsubscription-preference.global-unsub-added") : ""
23
+ },
24
+ {
25
+ description: e("unsubscription-preference.type-subscription-preferences-center-description"),
26
+ icon: "line-contact-sub-pref-center-page",
27
+ text: e("unsubscription-preference.type-subscription-preferences-center"),
28
+ value: l.SUBSCRIPTION_PREFERENCE_CENTER,
29
+ disable: t.isSubscriptionPreferencesCenterDisabled,
30
+ tooltipText: t.isSubscriptionPreferencesCenterDisabled ? e("unsubscription-preference.pref-center-added") : ""
31
+ }
32
+ ]), y = m(() => ({
33
+ primaryButton: {
34
+ styling: "solid",
35
+ type: "primary",
36
+ labelText: e(
37
+ n.value ? "unsubscription-preference.selecting-type" : "products.select-and-continue"
38
+ ),
39
+ loadingStatus: n.value,
40
+ disabledStatus: !1,
41
+ skeletonStatus: i.value,
42
+ skeletonSizing: { width: 168, height: 40 }
43
+ },
44
+ cancelOrBackButton: {
45
+ styling: "ghost",
46
+ type: "secondary",
47
+ labelText: e("products.cancel"),
48
+ disabledStatus: n.value,
49
+ skeletonStatus: i.value,
50
+ skeletonSizing: { width: 78, height: 40 }
51
+ }
52
+ })), d = (s) => {
53
+ t.typeSelectionDrawerStatus = !1, document.dispatchEvent(new CustomEvent("unsubscribe:cancel")), s && setTimeout(() => {
54
+ s();
55
+ }, 500);
56
+ }, E = (s) => {
57
+ r.value = s;
58
+ }, g = () => {
59
+ const s = t.hasTemplatesByCollectionType, o = [];
60
+ if (Object.entries(s).forEach(([c, p]) => {
61
+ p || o.push(Number(c));
62
+ }), o.length === 0)
63
+ return !0;
64
+ const a = o.map((c) => R[c]);
65
+ let u = "";
66
+ if (o.length === 1)
67
+ u = e("unsubscription-preference.create-page-to-continue", {
68
+ page: a[0]
69
+ });
70
+ else if (o.length === 2)
71
+ u = e("unsubscription-preference.create-pages-to-continue", {
72
+ page1: a[0],
73
+ page2: a[1]
74
+ });
75
+ else {
76
+ const c = a.pop() ?? "", p = a.join(", ");
77
+ u = e("unsubscription-preference.create-multiple-pages-to-continue", {
78
+ pages: p,
79
+ lastPage: c
80
+ });
81
+ }
82
+ return f({
83
+ type: U.Warning,
84
+ message: u,
85
+ actionButton: {
86
+ text: "Go to Unsubscribe Pages",
87
+ onClick: () => {
88
+ window.location.href = P;
89
+ }
90
+ }
91
+ }), !1;
92
+ }, C = async () => {
93
+ if (n.value = !0, await t.fetchTemplates(), t.setCollection(r.value), !g()) {
94
+ n.value = !1, d();
95
+ return;
96
+ }
97
+ n.value = !1, t.typeSelectionDrawerStatus = !1, t.pageSelectionDrawerStatus = !0;
98
+ };
99
+ return _(() => t.typeSelectionDrawerStatus, (s) => {
100
+ s && (i.value = !0, r.value = l.GLOBAL_UNSUBSCRIBE, t.isGlobalUnsubscribeDisabled && (r.value = t.isSubscriptionPreferencesCenterDisabled ? 0 : l.SUBSCRIPTION_PREFERENCE_CENTER), setTimeout(() => {
101
+ i.value = !1;
102
+ }, 1e3));
103
+ }), { __sfc: !0, trans: e, showToaster: f, unsubscribeStore: t, isSelecting: n, skeletonStatus: i, selectedCollection: r, descriptionText: S, segmentList: T, footerButtonGroupOptions: y, closeModal: d, changeCollection: E, validateTemplates: g, selectCollection: C, WpDrawer: v, InSegments: I };
104
+ }
105
+ });
106
+ export {
107
+ z as default
108
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,18 @@
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,
9
+ _,
10
+ c,
11
+ !1,
12
+ null,
13
+ null
14
+ );
15
+ const l = i.exports;
16
+ export {
17
+ l as default
18
+ };
@@ -0,0 +1,12 @@
1
+ import { defineComponent as t, defineAsyncComponent as e } from "vue";
2
+ import { useConfig as r } from "../../../composables/useConfig.js";
3
+ const m = /* @__PURE__ */ t({
4
+ __name: "UnsubscribeWrapper",
5
+ setup(i) {
6
+ const n = e(() => import("./UnsubscribePageSelection.vue.js")), o = e(() => import("./UnsubscribeTypeSelection.vue.js")), { config: s } = r();
7
+ return { __sfc: !0, UnsubscribePageSelection: n, UnsubscribeTypeSelection: o, config: s };
8
+ }
9
+ });
10
+ export {
11
+ m as default
12
+ };
@@ -2,7 +2,7 @@ import type { FooterButtonGroupOptions } from '@@/Types/wrappers/wp-drawer';
2
2
  interface Props {
3
3
  id: string;
4
4
  className?: string;
5
- size?: string;
5
+ size?: 'small' | 'medium' | 'large';
6
6
  closeOnOutsideClick?: boolean;
7
7
  descriptionStatus?: boolean;
8
8
  descriptionText?: string;
@@ -10,9 +10,11 @@ interface Props {
10
10
  status: boolean;
11
11
  titleText: string;
12
12
  }
13
- declare var __VLS_12: {};
13
+ declare var __VLS_12: {}, __VLS_14: {};
14
14
  type __VLS_Slots = {} & {
15
- default?: (props: typeof __VLS_12) => any;
15
+ headerBottomSlot?: (props: typeof __VLS_12) => any;
16
+ } & {
17
+ default?: (props: typeof __VLS_14) => any;
16
18
  };
17
19
  declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
18
20
  className: string;
@@ -32,7 +34,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
32
34
  descriptionText: string;
33
35
  }>>>, {
34
36
  className: string;
35
- size: string;
37
+ size: "small" | "medium" | "large";
36
38
  closeOnOutsideClick: boolean;
37
39
  descriptionStatus: boolean;
38
40
  descriptionText: string;
@@ -1,6 +1,6 @@
1
1
  import r from "./WpDrawer.vue2.js";
2
2
  import s from "../../_virtual/_plugin-vue2_normalizer.js";
3
- var i = function() {
3
+ var u = function() {
4
4
  var t = this, n = t._self._c, e = t._self._setupProxy;
5
5
  return n(e.InDrawer, { class: t.className, attrs: { id: t.id, "footer-status": "", "close-on-outside-click": t.closeOnOutsideClick, "description-status": t.descriptionStatus, "description-text": t.descriptionText, "footer-button-group-options": t.footerButtonGroupOptions, size: t.size, status: t.status, "title-text": t.titleText }, on: { cancelOrBackButtonEvent: function(o) {
6
6
  return e.emit("cancelOrBackButtonEvent");
@@ -8,13 +8,15 @@ var i = function() {
8
8
  return e.emit("onCloseEvent");
9
9
  }, primaryButtonEvent: function(o) {
10
10
  return e.emit("primaryButtonEvent");
11
- } }, scopedSlots: t._u([{ key: "contentSlot", fn: function() {
11
+ } }, scopedSlots: t._u([t.$slots.headerBottomSlot ? { key: "headerBottomSlot", fn: function() {
12
+ return [t._t("headerBottomSlot")];
13
+ }, proxy: !0 } : null, { key: "contentSlot", fn: function() {
12
14
  return [n("div", [t._t("default")], 2)];
13
15
  }, proxy: !0 }], null, !0) });
14
- }, u = [], c = /* @__PURE__ */ s(
16
+ }, i = [], c = /* @__PURE__ */ s(
15
17
  r,
16
- i,
17
18
  u,
19
+ i,
18
20
  !1,
19
21
  null,
20
22
  null
@@ -1,3 +1,4 @@
1
+ import type { DynamicContent } from '@@/Types/generic';
1
2
  export declare const useHtmlValidator: () => {
2
- validateHtml: (html: string, customFields: string[], isOnSaveValidation?: boolean) => Promise<boolean>;
3
+ validateHtml: (html: string, customFields: DynamicContent[], isOnSaveValidation?: boolean) => Promise<boolean>;
3
4
  };