@useinsider/guido 1.0.0-beta.4694612 → 1.0.0-beta.4758e10

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 (169) hide show
  1. package/README.md +26 -2
  2. package/dist/@types/generic.d.ts +24 -0
  3. package/dist/@types/save-as-template.d.ts +29 -0
  4. package/dist/components/Guido.vue.d.ts +5 -6
  5. package/dist/components/Guido.vue.js +9 -9
  6. package/dist/components/Guido.vue2.js +58 -54
  7. package/dist/components/organisms/LoadingWrapper.vue.d.ts +2 -0
  8. package/dist/components/organisms/LoadingWrapper.vue.js +18 -0
  9. package/dist/components/organisms/LoadingWrapper.vue2.js +12 -0
  10. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +12 -12
  11. package/dist/components/organisms/email-preview/PreviewContainer.vue2.js +7 -8
  12. package/dist/components/organisms/header/LeftSlot.vue.js +10 -9
  13. package/dist/components/organisms/header/MiddleSlot.vue.js +6 -6
  14. package/dist/components/organisms/header/MiddleSlot.vue2.js +15 -20
  15. package/dist/components/organisms/header/RightSlot.vue.js +10 -9
  16. package/dist/components/organisms/header/RightSlot.vue2.js +26 -26
  17. package/dist/components/organisms/header/ViewOptions.vue.js +10 -10
  18. package/dist/components/organisms/header/ViewOptions.vue2.js +28 -11
  19. package/dist/components/organisms/header/version-history/ViewOptions.vue.js +3 -3
  20. package/dist/components/organisms/header/version-history/ViewOptions.vue2.js +34 -16
  21. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +2 -0
  22. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue.js +20 -0
  23. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +63 -0
  24. package/dist/components/wrappers/WpDrawer.vue.d.ts +63 -0
  25. package/dist/components/wrappers/WpDrawer.vue.js +25 -0
  26. package/dist/components/wrappers/WpDrawer.vue2.js +23 -0
  27. package/dist/components/wrappers/WpModal.vue.d.ts +2 -2
  28. package/dist/composables/useActionsApi.d.ts +2 -1
  29. package/dist/composables/useActionsApi.js +51 -36
  30. package/dist/composables/useCustomInterfaceAppearance.js +15 -13
  31. package/dist/composables/useGuidoActions.d.ts +2 -2
  32. package/dist/composables/useHtmlCompiler.js +9 -8
  33. package/dist/composables/useHttp.js +23 -21
  34. package/dist/composables/usePartner.d.ts +1 -1
  35. package/dist/composables/usePartner.js +9 -14
  36. package/dist/composables/usePreviewMode.js +13 -13
  37. package/dist/composables/useStripo.js +28 -24
  38. package/dist/composables/useToaster.d.ts +1 -1
  39. package/dist/composables/useToaster.js +11 -11
  40. package/dist/composables/useTranslations.js +3 -2
  41. package/dist/composables/useValidation.d.ts +56 -0
  42. package/dist/composables/useValidation.js +19 -0
  43. package/dist/composables/validators/saveAsTemplate.d.ts +31 -0
  44. package/dist/composables/validators/saveAsTemplate.js +24 -0
  45. package/dist/enums/defaults.d.ts +4 -1
  46. package/dist/enums/defaults.js +13 -2
  47. package/dist/guido.css +1 -1
  48. package/dist/mock/api/template-library.d.ts +2 -0
  49. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +2 -2
  50. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +2 -2
  51. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +2 -2
  52. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +2 -2
  53. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +2 -2
  54. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +2 -2
  55. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +2 -2
  56. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +2 -2
  57. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +2 -2
  58. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +2 -2
  59. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +2 -2
  60. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +2 -2
  61. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +2 -2
  62. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +2 -2
  63. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +2 -2
  64. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +2 -2
  65. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +4 -4
  66. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +4 -4
  67. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +4 -4
  68. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +2 -2
  69. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +4 -4
  70. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +4 -4
  71. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +4 -4
  72. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +4 -4
  73. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +4 -4
  74. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +2 -2
  75. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +4 -4
  76. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +4 -4
  77. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +2 -2
  78. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +2 -2
  79. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +4 -4
  80. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +4 -4
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +4 -4
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +4 -4
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +4 -4
  84. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +4 -4
  85. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +2 -2
  86. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +2 -2
  87. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +2 -2
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +2 -2
  89. package/dist/node_modules/@vueuse/shared/index.js +45 -0
  90. package/dist/node_modules/lodash-es/_Stack.js +18 -0
  91. package/dist/node_modules/lodash-es/_Uint8Array.js +5 -0
  92. package/dist/node_modules/lodash-es/_apply.js +16 -0
  93. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +19 -0
  94. package/dist/node_modules/lodash-es/_assignMergeValue.js +8 -0
  95. package/dist/node_modules/lodash-es/_assignValue.js +10 -0
  96. package/dist/node_modules/lodash-es/_baseAssignValue.js +12 -0
  97. package/dist/node_modules/lodash-es/_baseCreate.js +17 -0
  98. package/dist/node_modules/lodash-es/_baseFor.js +5 -0
  99. package/dist/node_modules/lodash-es/_baseIsArguments.js +9 -0
  100. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +12 -0
  101. package/dist/node_modules/lodash-es/_baseKeysIn.js +15 -0
  102. package/dist/node_modules/lodash-es/_baseMerge.js +20 -0
  103. package/dist/node_modules/lodash-es/_baseMergeDeep.js +31 -0
  104. package/dist/node_modules/lodash-es/_baseRest.js +9 -0
  105. package/dist/node_modules/lodash-es/_baseSetToString.js +14 -0
  106. package/dist/node_modules/lodash-es/_baseTimes.js +8 -0
  107. package/dist/node_modules/lodash-es/_baseUnary.js +8 -0
  108. package/dist/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  109. package/dist/node_modules/lodash-es/_cloneBuffer.js +9 -0
  110. package/dist/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  111. package/dist/node_modules/lodash-es/_copyArray.js +9 -0
  112. package/dist/node_modules/lodash-es/_copyObject.js +14 -0
  113. package/dist/node_modules/lodash-es/_createAssigner.js +15 -0
  114. package/dist/node_modules/lodash-es/_createBaseFor.js +13 -0
  115. package/dist/node_modules/lodash-es/_defineProperty.js +11 -0
  116. package/dist/node_modules/lodash-es/_getPrototype.js +5 -0
  117. package/dist/node_modules/lodash-es/_initCloneObject.js +9 -0
  118. package/dist/node_modules/lodash-es/_isIndex.js +8 -0
  119. package/dist/node_modules/lodash-es/_isIterateeCall.js +13 -0
  120. package/dist/node_modules/lodash-es/_isMasked.js +2 -2
  121. package/dist/node_modules/lodash-es/_isPrototype.js +8 -0
  122. package/dist/node_modules/lodash-es/_nativeKeysIn.js +10 -0
  123. package/dist/node_modules/lodash-es/_nodeUtil.js +11 -0
  124. package/dist/node_modules/lodash-es/_overArg.js +8 -0
  125. package/dist/node_modules/lodash-es/_overRest.js +15 -0
  126. package/dist/node_modules/lodash-es/_safeGet.js +7 -0
  127. package/dist/node_modules/lodash-es/_setToString.js +6 -0
  128. package/dist/node_modules/lodash-es/_shortOut.js +16 -0
  129. package/dist/node_modules/lodash-es/_stackClear.js +7 -0
  130. package/dist/node_modules/lodash-es/_stackDelete.js +7 -0
  131. package/dist/node_modules/lodash-es/_stackGet.js +6 -0
  132. package/dist/node_modules/lodash-es/_stackHas.js +6 -0
  133. package/dist/node_modules/lodash-es/_stackSet.js +17 -0
  134. package/dist/node_modules/lodash-es/constant.js +8 -0
  135. package/dist/node_modules/lodash-es/identity.js +6 -0
  136. package/dist/node_modules/lodash-es/isArguments.js +10 -0
  137. package/dist/node_modules/lodash-es/isArray.js +4 -0
  138. package/dist/node_modules/lodash-es/isArrayLike.js +8 -0
  139. package/dist/node_modules/lodash-es/isArrayLikeObject.js +8 -0
  140. package/dist/node_modules/lodash-es/isBuffer.js +6 -0
  141. package/dist/node_modules/lodash-es/isLength.js +7 -0
  142. package/dist/node_modules/lodash-es/isObjectLike.js +6 -0
  143. package/dist/node_modules/lodash-es/isPlainObject.js +16 -0
  144. package/dist/node_modules/lodash-es/isTypedArray.js +7 -0
  145. package/dist/node_modules/lodash-es/keysIn.js +9 -0
  146. package/dist/node_modules/lodash-es/merge.js +8 -0
  147. package/dist/node_modules/lodash-es/stubFalse.js +6 -0
  148. package/dist/node_modules/lodash-es/toPlainObject.js +8 -0
  149. package/dist/node_modules/valibot/dist/index.js +190 -0
  150. package/dist/node_modules/vue-demi/lib/index.js +7 -0
  151. package/dist/services/templateLibraryApi.d.ts +7 -0
  152. package/dist/services/templateLibraryApi.js +87 -0
  153. package/dist/static/styles/components/loader.css.js +10 -0
  154. package/dist/static/styles/components/wide-panel.css.js +2 -2
  155. package/dist/stores/editor.d.ts +176 -1
  156. package/dist/stores/editor.js +22 -4
  157. package/dist/stores/preview.d.ts +0 -8
  158. package/dist/stores/preview.js +12 -20
  159. package/dist/stores/save-as-template.d.ts +73 -0
  160. package/dist/stores/save-as-template.js +48 -0
  161. package/dist/utils/base64.d.ts +1 -0
  162. package/dist/utils/base64.js +7 -0
  163. package/dist/utils/genericUtil.d.ts +1 -0
  164. package/dist/utils/genericUtil.js +7 -3
  165. package/dist/utils/templatePreparation.d.ts +4 -0
  166. package/dist/utils/templatePreparation.js +33 -0
  167. package/dist/utils/tooltipUtils.d.ts +2 -0
  168. package/dist/utils/tooltipUtils.js +11 -0
  169. package/package.json +3 -3
package/README.md CHANGED
@@ -57,6 +57,11 @@ export default {
57
57
  translationsPath: 'window.trans.en',
58
58
  htmlCompilerRules: [],
59
59
  ignoreDefaultHtmlCompilerRules: false,
60
+ features: {
61
+ dynamicContent: true,
62
+ saveAsTemplate: true,
63
+ versionHistory: true
64
+ }
60
65
  },
61
66
  dynamicContentModalVisible: false
62
67
  };
@@ -138,8 +143,13 @@ dynamicContent.close();
138
143
  ```typescript
139
144
  interface GuidoConfig {
140
145
  translationsPath: string;
141
- htmlCompilerRules: CompilerRule[];
142
- ignoreDefaultHtmlCompilerRules: boolean;
146
+ htmlCompilerRules?: CompilerRule[];
147
+ ignoreDefaultHtmlCompilerRules?: boolean;
148
+ features: {
149
+ dynamicContent: boolean;
150
+ saveAsTemplate: boolean;
151
+ versionHistory: boolean;
152
+ };
143
153
  }
144
154
  ```
145
155
 
@@ -148,6 +158,10 @@ interface GuidoConfig {
148
158
  | `translationsPath` | `string` | `'window.trans.en'` | JavaScript path to the translations object |
149
159
  | `htmlCompilerRules` | `CompilerRule[]` | `[]` | Additional compiler rules to apply to HTML content. See [HTML Compiler Rules](#-html-compiler-rules) section below |
150
160
  | `ignoreDefaultHtmlCompilerRules` | `boolean` | `false` | Skip default compiler rules and only use custom rules. Default rules: `src/config/compiler/htmlCompilerRules.ts` |
161
+ | `features` | `Features` | `{ dynamicContent: true, saveAsTemplate: true, versionHistory: true }` | Feature flags to enable/disable editor functionality |
162
+ | `features.dynamicContent` | `boolean` | `true` | Enable dynamic content insertion feature |
163
+ | `features.saveAsTemplate` | `boolean` | `true` | Enable save as template feature |
164
+ | `features.versionHistory` | `boolean` | `true` | Enable version history feature |
151
165
 
152
166
  ```typescript
153
167
  interface DynamicContent {
@@ -255,6 +269,11 @@ Define complex transformation logic with a custom processor function.
255
269
  ```typescript
256
270
  const guidoConfig = {
257
271
  translationsPath: 'window.trans.en',
272
+ features: {
273
+ dynamicContent: true,
274
+ saveAsTemplate: true,
275
+ versionHistory: false // Disable version history
276
+ },
258
277
  htmlCompilerRules: [
259
278
  {
260
279
  id: 'replace-domain',
@@ -283,6 +302,11 @@ const guidoConfig = {
283
302
  ```typescript
284
303
  const guidoConfig = {
285
304
  translationsPath: 'window.trans.en',
305
+ features: {
306
+ dynamicContent: true,
307
+ saveAsTemplate: true,
308
+ versionHistory: true
309
+ },
286
310
  ignoreDefaultHtmlCompilerRules: true, // Skip all default rules
287
311
  htmlCompilerRules: [
288
312
  // Only your custom rules will be applied
@@ -1,9 +1,21 @@
1
1
  import type { CompilerRule } from './html-compiler';
2
+ type Features = {
3
+ dynamicContent?: boolean;
4
+ saveAsTemplate?: boolean;
5
+ versionHistory?: boolean;
6
+ };
7
+ type Partner = {
8
+ partnerName: string;
9
+ productType: number;
10
+ messageType: number;
11
+ };
2
12
  export type GuidoConfig = {
3
13
  translationsPath: string;
4
14
  htmlCompilerRules?: CompilerRule[];
5
15
  ignoreDefaultHtmlCompilerRules?: boolean;
6
16
  emailHeader: EmailHeader;
17
+ partner?: Partner;
18
+ features?: Features;
7
19
  };
8
20
  export type DynamicContent = {
9
21
  value: string;
@@ -14,7 +26,19 @@ export interface EmailHeader {
14
26
  senderName: string;
15
27
  subject: string;
16
28
  }
29
+ export interface TooltipOptions {
30
+ id: string;
31
+ dynamicPosition: boolean;
32
+ staticPosition: 'top center' | 'top left' | 'top right' | 'bottom center' | 'bottom left' | 'bottom right' | 'right center' | 'right top' | 'right bottom' | 'left center' | 'left top' | 'left bottom';
33
+ iconStatus: boolean;
34
+ offset?: {
35
+ x: number;
36
+ y: number;
37
+ };
38
+ preventXss?: boolean;
39
+ }
17
40
  export type MergeTag = {
18
41
  label: string;
19
42
  value: string;
20
43
  };
44
+ export {};
@@ -0,0 +1,29 @@
1
+ export interface MappedCategory {
2
+ value: string;
3
+ text: string;
4
+ }
5
+ export interface Category {
6
+ id: number;
7
+ name: string;
8
+ partnerId: number;
9
+ isStripo: boolean;
10
+ templatesCount: number;
11
+ }
12
+ export interface RecommendationCampaignUrls {
13
+ [key: string]: string;
14
+ }
15
+ export interface CreateTemplateRequest {
16
+ name: string;
17
+ categories: number[];
18
+ productId: number;
19
+ editorType: number;
20
+ messageType?: number;
21
+ content: string;
22
+ css?: string;
23
+ stripoConfig: string;
24
+ recommendationConfigs?: string;
25
+ recommendationCampaignUrls?: string;
26
+ unsubscriptionPreferencePages: number[];
27
+ unsubscriptionPreferencePageStatus: boolean;
28
+ isGuido: boolean;
29
+ }
@@ -1,10 +1,11 @@
1
1
  import type { DynamicContent, GuidoConfig } from '@@/Types/generic';
2
- import type { Template } from '@@/Types/stripo';
2
+ import type { SavedTemplateDetails } from '@@/Types/stripo';
3
3
  type __VLS_Props = {
4
4
  templateId: string;
5
5
  userId: string;
6
+ messageType?: number;
6
7
  partnerName?: string;
7
- productType?: string;
8
+ productType?: number;
8
9
  username?: string;
9
10
  html?: string;
10
11
  css?: string;
@@ -16,14 +17,12 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
16
17
  insert: (data: DynamicContent) => void;
17
18
  close: () => void;
18
19
  };
20
+ hasChanges: import("vue").ComputedRef<boolean>;
19
21
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
20
22
  "dynamic-content:open": (detail: DynamicContent | null) => void;
21
23
  back: () => void;
22
24
  "save:start": () => void;
23
- "save:complete": (data: {
24
- template: Omit<Template, "forceRecreate">;
25
- dynamicContentList: DynamicContent[];
26
- }) => void;
25
+ "save:complete": (data: Omit<SavedTemplateDetails, "forceRecreate">) => void;
27
26
  }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
28
27
  export default _default;
29
28
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -1,18 +1,18 @@
1
- import o from "./Guido.vue2.js";
1
+ import i from "./Guido.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../_virtual/_plugin-vue2_normalizer.js";
4
- var s = function() {
5
- var i = this, e = i._self._c, r = i._self._setupProxy;
6
- return e("div", { staticClass: "guido-editor__wrapper" }, [e(r.HeaderWrapper), r.previewStore.isPreviewModeOpen ? e(r.PreviewContainer) : i._e(), e("div", { directives: [{ name: "show", rawName: "v-show", value: !r.previewStore.isPreviewModeOpen, expression: "!previewStore.isPreviewModeOpen" }], staticClass: "guido-editor__container", attrs: { id: "guido-editor" } })], 1);
7
- }, a = [], n = /* @__PURE__ */ t(
8
- o,
9
- s,
4
+ var a = function() {
5
+ var o = this, e = o._self._c, r = o._self._setupProxy;
6
+ return e("div", { staticClass: "guido-editor__wrapper" }, [e(r.HeaderWrapper), r.editorStore.isPreviewModeOpen ? e(r.PreviewContainer) : o._e(), e("div", { directives: [{ name: "show", rawName: "v-show", value: !r.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", attrs: { id: "guido-editor" } }), e(r.SaveAsTemplateDrawer), e(r.LoadingWrapper)], 1);
7
+ }, s = [], d = /* @__PURE__ */ t(
8
+ i,
10
9
  a,
10
+ s,
11
11
  !1,
12
12
  null,
13
- "4083db95"
13
+ "384396b5"
14
14
  );
15
- const c = n.exports;
15
+ const c = d.exports;
16
16
  export {
17
17
  c as default
18
18
  };
@@ -1,17 +1,22 @@
1
- import { defineComponent as L, defineAsyncComponent as E, onMounted as P } from "vue";
2
- import { provideGuidoActions as _ } from "../composables/useGuidoActions.js";
3
- import { usePartner as G } from "../composables/usePartner.js";
4
- import { useStripo as I } from "../composables/useStripo.js";
5
- import { DefaultUsername as k, DefaultGuidoConfig as T } from "../enums/defaults.js";
6
- import A from "./organisms/header/HeaderWrapper.vue.js";
7
- import { useStripoApi as N } from "../services/stripoApi.js";
8
- import { useDynamicContentStore as x } from "../stores/dynamic-content.js";
9
- import { usePreviewStore as W } from "../stores/preview.js";
10
- const q = /* @__PURE__ */ L({
1
+ import { defineComponent as I, defineAsyncComponent as L, computed as P, onMounted as _, onUnmounted as k } from "vue";
2
+ import { provideGuidoActions as A } from "../composables/useGuidoActions.js";
3
+ import { usePartner as N } from "../composables/usePartner.js";
4
+ import { useStripo as U } from "../composables/useStripo.js";
5
+ import { DefaultUsername as W, DefaultMessageType as x, DefaultGuidoConfig as M } from "../enums/defaults.js";
6
+ import z from "./organisms/header/HeaderWrapper.vue.js";
7
+ import B from "./organisms/LoadingWrapper.vue.js";
8
+ import F from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
9
+ import { useStripoApi as H } from "../services/stripoApi.js";
10
+ import { useDynamicContentStore as K } from "../stores/dynamic-content.js";
11
+ import { useEditorStore as R } from "../stores/editor.js";
12
+ import { usePreviewStore as j } from "../stores/preview.js";
13
+ import q from "../node_modules/lodash-es/merge.js";
14
+ const ie = /* @__PURE__ */ I({
11
15
  __name: "Guido",
12
16
  props: {
13
17
  templateId: null,
14
18
  userId: null,
19
+ messageType: null,
15
20
  partnerName: null,
16
21
  productType: null,
17
22
  username: null,
@@ -21,32 +26,34 @@ const q = /* @__PURE__ */ L({
21
26
  guidoConfig: null
22
27
  },
23
28
  emits: ["dynamic-content:open", "back", "save:start", "save:complete"],
24
- setup(S, { expose: b, emit: t }) {
25
- const o = S, w = E(
29
+ setup(b, { expose: E, emit: t }) {
30
+ const o = b, T = L(
26
31
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
27
- ), n = x(), c = o.preselectedDynamicContentList || [], { getPartnerName: i, getProductType: s } = G(), h = W(), {
28
- templateId: a,
29
- userId: r,
30
- guidoConfig: m,
31
- html: d = "",
32
- css: l = "",
33
- partnerName: u = i(),
34
- productType: p = s(),
35
- username: y = k
32
+ ), n = K(), a = R(), G = j(), c = P(() => a.hasChanges), r = o.preselectedDynamicContentList || [], { getPartnerName: m, getProductType: d } = N(), {
33
+ templateId: l,
34
+ userId: p,
35
+ guidoConfig: u,
36
+ html: g = "",
37
+ css: f = "",
38
+ partnerName: i = m(),
39
+ productType: s = d(),
40
+ messageType: y = x,
41
+ username: C = W
36
42
  } = o;
37
- window.GuidoConfig = {
38
- ...T,
39
- ...m
43
+ window.GuidoConfig = q(M, u), window.GuidoConfig.partner = {
44
+ partnerName: i,
45
+ productType: s,
46
+ messageType: y
40
47
  };
41
- const { initPlugin: C } = I({
42
- emailId: a,
43
- userId: r,
44
- username: y,
45
- partnerName: u,
46
- productType: p,
47
- preselectedDynamicContentList: c
48
- }), { getDefaultTemplate: g } = N();
49
- _({
48
+ const { initPlugin: v } = U({
49
+ emailId: l,
50
+ userId: p,
51
+ username: C,
52
+ partnerName: i,
53
+ productType: s,
54
+ preselectedDynamicContentList: r
55
+ }), { getDefaultTemplate: w } = H();
56
+ A({
50
57
  onBack: () => {
51
58
  console.debug("guido:back"), t("back");
52
59
  },
@@ -54,45 +61,42 @@ const q = /* @__PURE__ */ L({
54
61
  console.debug("guido:save:start"), t("save:start");
55
62
  },
56
63
  onSaveComplete: (e) => {
57
- console.debug("guido:save:complete", {
58
- template: e,
59
- dynamicContentList: n.getSelectedDynamicContentList
60
- }), t("save:complete", {
61
- template: e,
62
- dynamicContentList: n.getSelectedDynamicContentList
63
- });
64
+ console.debug("guido:save:complete", e), t("save:complete", e);
64
65
  }
65
66
  });
66
- const f = (e) => {
67
+ const D = (e) => {
67
68
  console.debug("dynamic-content:close", e), n.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
68
- }, v = () => {
69
+ }, S = () => {
69
70
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
70
71
  };
71
- return P(async () => {
72
+ return _(async () => {
72
73
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
73
74
  try {
74
75
  let e = {
75
- html: d,
76
- css: l,
76
+ html: g,
77
+ css: f,
77
78
  forceRecreate: !0
78
79
  // TODO: It should be false for old templates. We will communicate with Stripo
79
80
  };
80
- e.html || (e = await g()), await C(e), n.selectedDynamicContentList = c;
81
+ e.html || (e = await w()), await v(e), n.selectedDynamicContentList = r;
81
82
  } catch (e) {
82
83
  console.error("Failed to initialize Stripo editor:", e);
83
84
  }
84
85
  document.addEventListener("dynamic-content:open", (e) => {
85
- const D = e;
86
- console.debug("dynamic-content:open", D.detail), t("dynamic-content:open", D.detail);
86
+ const h = e;
87
+ console.debug("dynamic-content:open", h.detail), t("dynamic-content:open", h.detail);
87
88
  });
88
- }), b({
89
+ }), k(() => {
90
+ window.UIEditor.removeEditor();
91
+ }), E({
89
92
  dynamicContent: {
90
- insert: f,
91
- close: v
92
- }
93
- }), { __sfc: !0, PreviewContainer: w, dynamicContentStore: n, props: o, preselectedDynamicContentList: c, getPartnerName: i, getProductType: s, previewStore: h, templateId: a, userId: r, guidoConfig: m, html: d, css: l, partnerName: u, productType: p, username: y, emit: t, initPlugin: C, getDefaultTemplate: g, insertDynamicContent: f, closeDynamicContent: v, HeaderWrapper: A };
93
+ insert: D,
94
+ close: S
95
+ },
96
+ hasChanges: c
97
+ }), { __sfc: !0, PreviewContainer: T, dynamicContentStore: n, props: o, editorStore: a, previewStore: G, hasChanges: c, preselectedDynamicContentList: r, getPartnerName: m, getProductType: d, templateId: l, userId: p, guidoConfig: u, html: g, css: f, partnerName: i, productType: s, messageType: y, username: C, emit: t, initPlugin: v, getDefaultTemplate: w, insertDynamicContent: D, closeDynamicContent: S, HeaderWrapper: z, LoadingWrapper: B, SaveAsTemplateDrawer: F };
94
98
  }
95
99
  });
96
100
  export {
97
- q as default
101
+ ie as default
98
102
  };
@@ -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 t from "./LoadingWrapper.vue2.js";
2
+ /* empty css */
3
+ import a from "../../_virtual/_plugin-vue2_normalizer.js";
4
+ var s = function() {
5
+ var r = this, e = r._self._c, o = r._self._setupProxy;
6
+ return o.editorStore.loadingStatus ? e("div", { staticClass: "guido-loading__wrapper p-a l-0 z-4 d-f a-i-c j-c-c w-1 f-g-1 b-c-36" }, [e(o.InLoading, { attrs: { "color-class": "i-c-7", size: "32" } })], 1) : r._e();
7
+ }, n = [], _ = /* @__PURE__ */ a(
8
+ t,
9
+ s,
10
+ n,
11
+ !1,
12
+ null,
13
+ "2d4cd446"
14
+ );
15
+ const l = _.exports;
16
+ export {
17
+ l as default
18
+ };
@@ -0,0 +1,12 @@
1
+ import { defineComponent as o } from "vue";
2
+ import { useEditorStore as r } from "../../stores/editor.js";
3
+ import { InLoading as t } from "@useinsider/design-system-vue";
4
+ const s = /* @__PURE__ */ o({
5
+ __name: "LoadingWrapper",
6
+ setup(e) {
7
+ return { __sfc: !0, editorStore: r(), InLoading: t };
8
+ }
9
+ });
10
+ export {
11
+ s as default
12
+ };
@@ -1,19 +1,19 @@
1
- import i from "./PreviewContainer.vue2.js";
2
- import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var t = function() {
4
- var s = this, e = s._self._c, r = s._self._setupProxy;
5
- return e("div", { staticClass: "d-f f-d-c h-1 b-c-5 bor-r-2 pb-5" }, [e("div", { staticClass: "f-g-1 d-f p-5 o-a g-4 min-h-600" }, [r.previewStore.isLoading ? [e("div", { staticClass: "d-f a-i-c j-c-c w-1 h-1 f-g-1" }, [e(r.InLoading, { attrs: { "color-class": "i-c-1", size: "32" } })], 1)] : [e(r.DesktopPreview, { staticClass: "f-g-1 min-w-0" }), e(r.MobilePreview, { staticClass: "f-0 min-w-a" })]], 2), r.previewStore.isAMPErrorModalVisible ? e(r.AmpErrorModal, { on: { close: function(l) {
6
- return r.previewStore.closeErrorModal();
7
- } } }) : s._e()], 1);
8
- }, a = [], n = /* @__PURE__ */ o(
1
+ import s from "./PreviewContainer.vue2.js";
2
+ import t from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var i = function() {
4
+ var o = this, r = o._self._c, e = o._self._setupProxy;
5
+ return e.previewStore.isLoaded ? r("div", { staticClass: "d-f f-d-c h-1 b-c-5 bor-r-2 pb-5" }, [r("div", { staticClass: "f-g-1 d-f p-5 o-a g-4 min-h-600" }, [r(e.DesktopPreview, { staticClass: "f-g-1 min-w-0" }), r(e.MobilePreview, { staticClass: "f-0 min-w-a" })], 1), e.previewStore.isAMPErrorModalVisible ? r(e.AmpErrorModal, { on: { close: function(_) {
6
+ return e.previewStore.closeErrorModal();
7
+ } } }) : o._e()], 1) : o._e();
8
+ }, n = [], a = /* @__PURE__ */ t(
9
+ s,
9
10
  i,
10
- t,
11
- a,
11
+ n,
12
12
  !1,
13
13
  null,
14
14
  null
15
15
  );
16
- const d = n.exports;
16
+ const p = a.exports;
17
17
  export {
18
- d as default
18
+ p as default
19
19
  };
@@ -1,19 +1,18 @@
1
1
  import { defineComponent as r, onMounted as t } from "vue";
2
2
  import { usePreviewMode as i } from "../../../composables/usePreviewMode.js";
3
3
  import { usePreviewStore as m } from "../../../stores/preview.js";
4
- import { InLoading as n } from "@useinsider/design-system-vue";
5
4
  import p from "./amp/AmpErrorModal.vue.js";
6
- import f from "./desktop-preview/DesktopPreview.vue.js";
5
+ import n from "./desktop-preview/DesktopPreview.vue.js";
7
6
  import s from "./mobile-preview/MobilePreview.vue.js";
8
- const l = /* @__PURE__ */ r({
7
+ const P = /* @__PURE__ */ r({
9
8
  __name: "PreviewContainer",
10
- setup(a) {
11
- const { loadPreviewData: o } = i(), e = m();
9
+ setup(f) {
10
+ const { loadPreviewData: e } = i(), o = m();
12
11
  return t(() => {
13
- o();
14
- }), { __sfc: !0, loadPreviewData: o, previewStore: e, InLoading: n, AmpErrorModal: p, DesktopPreview: f, MobilePreview: s };
12
+ e();
13
+ }), { __sfc: !0, loadPreviewData: e, previewStore: o, AmpErrorModal: p, DesktopPreview: n, MobilePreview: s };
15
14
  }
16
15
  });
17
16
  export {
18
- l as default
17
+ P as default
19
18
  };
@@ -1,17 +1,18 @@
1
- import n from "./LeftSlot.vue2.js";
2
- import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var r = function() {
1
+ import o from "./LeftSlot.vue2.js";
2
+ /* empty css */
3
+ import r from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var a = function() {
4
5
  var e = this, s = e._self._c, t = e._self._setupProxy;
5
6
  return s("div", { staticClass: "d-f a-i-c" }, [s(t.InButtonV2, { staticClass: "p-2", attrs: { id: "guido__back-button", "label-text": "Back", "left-icon": "line-arrow-left", styling: "text", type: "secondary" }, on: { click: t.handleBack } }), t.editorStore.isVersionHistoryOpen ? s(t.RestoreButton, { staticClass: "ml-3" }) : e._e()], 1);
6
- }, a = [], i = /* @__PURE__ */ o(
7
- n,
8
- r,
7
+ }, n = [], i = /* @__PURE__ */ r(
8
+ o,
9
9
  a,
10
+ n,
10
11
  !1,
11
12
  null,
12
- null
13
+ "a18ac2d3"
13
14
  );
14
- const f = i.exports;
15
+ const d = i.exports;
15
16
  export {
16
- f as default
17
+ d as default
17
18
  };
@@ -1,17 +1,17 @@
1
1
  import i from "./MiddleSlot.vue2.js";
2
2
  import s from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var n = function() {
4
- var o = this, e = o._self._c, t = o._self._setupProxy;
5
- return t.editorStore.isVersionHistoryOpen ? e("div", { staticClass: "d-f" }, [e(t.VersionHistory), e(t.VersionHistoryViewOptions)], 1) : e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "label-text-status": !1 } }), e(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "label-text-status": !1 } }), e(t.InButtonV2, { attrs: { id: "guido__code-button", "data-testid": "Code Editor", "left-icon": "line-code", styling: "ghost", "tooltip-text": "Code Editor", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button") } }), e(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.previewStore.isPreviewModeOpen, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.previewTooltipText }, on: { click: t.handlePreviewToggle } }), e(t.ViewOptions, { staticClass: "ml-3" }), t.previewStore.isPreviewModeOpen ? e(t.AmpToggle) : o._e()], 1);
6
- }, r = [], d = /* @__PURE__ */ s(
4
+ var e = this, o = e._self._c, t = e._self._setupProxy;
5
+ return t.editorStore.isVersionHistoryOpen ? o("div", { staticClass: "d-f" }, [o(t.VersionHistory), o(t.VersionHistoryViewOptions)], 1) : o("div", { staticClass: "d-f" }, [o(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isUndoButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__undo-button"), "tooltip-text": t.trans("action-builder.undo") } }), o(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isRedoButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__redo-button"), "tooltip-text": t.trans("action-builder.redo") } }), o(t.InButtonV2, { attrs: { id: "guido__code-button", "data-testid": "Code Editor", "left-icon": "line-code", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isCodeEditorButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button"), "tooltip-text": t.codeEditorTooltipText } }), o(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isPreviewButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isPreviewModeOpen, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.previewTooltipText }, on: { click: t.handlePreviewToggle } }), o(t.ViewOptions, { staticClass: "ml-3" }), t.editorStore.isPreviewModeOpen ? o(t.AmpToggle) : e._e()], 1);
6
+ }, d = [], l = /* @__PURE__ */ s(
7
7
  i,
8
8
  n,
9
- r,
9
+ d,
10
10
  !1,
11
11
  null,
12
12
  null
13
13
  );
14
- const u = d.exports;
14
+ const p = l.exports;
15
15
  export {
16
- u as default
16
+ p as default
17
17
  };
@@ -1,25 +1,20 @@
1
- import { defineComponent as p, computed as m } from "vue";
2
- import { usePreviewMode as l } from "../../../composables/usePreviewMode.js";
3
- import { useTranslations as c } from "../../../composables/useTranslations.js";
4
- import a from "../email-preview/amp/AmpToggle.vue.js";
5
- import { useEditorStore as d } from "../../../stores/editor.js";
6
- import { usePreviewStore as f } from "../../../stores/preview.js";
7
- import { InButtonV2 as w } from "@useinsider/design-system-vue";
8
- import v from "./version-history/VersionHistory.vue.js";
9
- import u from "./version-history/ViewOptions.vue.js";
10
- import P from "./ViewOptions.vue.js";
11
- const B = /* @__PURE__ */ p({
1
+ import { defineComponent as p, computed as i } from "vue";
2
+ import { usePreviewMode as m } from "../../../composables/usePreviewMode.js";
3
+ import { useTranslations as l } from "../../../composables/useTranslations.js";
4
+ import d from "../email-preview/amp/AmpToggle.vue.js";
5
+ import { useEditorStore as w } from "../../../stores/editor.js";
6
+ import { getTooltipOptions as c } from "../../../utils/tooltipUtils.js";
7
+ import { InButtonV2 as f } from "@useinsider/design-system-vue";
8
+ import a from "./version-history/VersionHistory.vue.js";
9
+ import v from "./version-history/ViewOptions.vue.js";
10
+ import u from "./ViewOptions.vue.js";
11
+ const C = /* @__PURE__ */ p({
12
12
  __name: "MiddleSlot",
13
- setup(g) {
14
- const r = d(), e = c(), o = f(), { openPreviewMode: t, closePreviewMode: i } = l(), s = m(() => o.isPreviewModeOpen ? e("newsletter.close-email-preview") : e("newsletter.email-preview"));
15
- return { __sfc: !0, editorStore: r, trans: e, previewStore: o, openPreviewMode: t, closePreviewMode: i, previewTooltipText: s, getTooltipOptions: (n) => ({
16
- id: `${n}-tooltip`,
17
- dynamicPosition: !1,
18
- staticPosition: "bottom center",
19
- iconStatus: !1
20
- }), handlePreviewToggle: () => o.isPreviewModeOpen ? i() : t(), AmpToggle: a, InButtonV2: w, VersionHistory: v, VersionHistoryViewOptions: u, ViewOptions: P };
13
+ setup(T) {
14
+ const o = w(), e = l(), { openPreviewMode: t, closePreviewMode: r } = m(), s = i(() => o.isPreviewModeOpen ? e("newsletter.close-email-preview") : e("newsletter.email-preview")), n = i(() => o.isCodeEditorOpen ? e("newsletter.close-html-editor") : e("newsletter.html-editor"));
15
+ return { __sfc: !0, editorStore: o, trans: e, openPreviewMode: t, closePreviewMode: r, previewTooltipText: s, codeEditorTooltipText: n, handlePreviewToggle: () => o.isPreviewModeOpen ? r() : t(), AmpToggle: d, getTooltipOptions: c, InButtonV2: f, VersionHistory: a, VersionHistoryViewOptions: v, ViewOptions: u };
21
16
  }
22
17
  });
23
18
  export {
24
- B as default
19
+ C as default
25
20
  };
@@ -1,17 +1,18 @@
1
- import o from "./RightSlot.vue2.js";
2
- import i from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var n = function() {
4
- var s = this, e = s._self._c, t = s._self._setupProxy;
5
- return e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleVersionHistory } }), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 }, on: { click: t.exportHtml } }), e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } }), e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } }), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": t.isSaveButtonDisabled }, on: { click: t.handleSave } })], 1);
6
- }, a = [], r = /* @__PURE__ */ i(
7
- o,
1
+ import n from "./RightSlot.vue2.js";
2
+ import a from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var l = function() {
4
+ var s, i;
5
+ var o = this, e = o._self._c, t = o._self._setupProxy;
6
+ return e("div", { staticClass: "d-f" }, [(s = t.config.features) != null && s.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 } }) : o._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, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.exportHtml } }), (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 } }) : o._e(), 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") } }), 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: t.handleSave } })], 1);
7
+ }, r = [], d = /* @__PURE__ */ a(
8
8
  n,
9
- a,
9
+ l,
10
+ r,
10
11
  !1,
11
12
  null,
12
13
  null
13
14
  );
14
- const c = r.exports;
15
+ const c = d.exports;
15
16
  export {
16
17
  c as default
17
18
  };