@useinsider/guido 1.0.3-beta.413aef4 → 1.0.3-beta.45db97c

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 (165) hide show
  1. package/README.md +144 -3
  2. package/dist/components/Guido.vue.js +11 -9
  3. package/dist/components/Guido.vue2.js +76 -70
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
  8. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  9. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
  11. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +19 -18
  12. package/dist/composables/useBlocksConfig.js +49 -0
  13. package/dist/composables/useGuidoActions.js +19 -9
  14. package/dist/composables/useStripo.js +49 -58
  15. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  16. package/dist/config/migrator/index.js +7 -6
  17. package/dist/config/migrator/radioButtonMigrator.js +5 -5
  18. package/dist/config/migrator/recommendationMigrator.js +293 -0
  19. package/dist/enums/date.js +6 -0
  20. package/dist/enums/defaults.js +16 -8
  21. package/dist/enums/onboarding.js +2 -1
  22. package/dist/enums/unsubscribe.js +27 -25
  23. package/dist/extensions/Blocks/Checkbox/control.js +15 -14
  24. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  25. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  26. package/dist/extensions/Blocks/RadioButton/control.js +18 -17
  27. package/dist/extensions/Blocks/RadioButton/template.js +4 -4
  28. package/dist/extensions/Blocks/Recommendation/block.js +6 -3
  29. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  30. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  31. package/dist/extensions/Blocks/Recommendation/control.js +69 -40
  32. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/extension.js +42 -7
  67. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +107 -22
  68. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  69. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  70. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  71. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  72. package/dist/extensions/Blocks/common-control.js +125 -43
  73. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  74. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  75. package/dist/guido.css +1 -1
  76. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +307 -100
  77. package/dist/package.json.js +1 -1
  78. package/dist/services/stripoApi.js +1 -1
  79. package/dist/src/@types/generic.d.ts +42 -6
  80. package/dist/src/components/Guido.vue.d.ts +4 -2
  81. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
  82. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
  83. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  84. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  85. package/dist/src/composables/useGuidoActions.d.ts +9 -0
  86. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  87. package/dist/src/enums/date.d.ts +4 -0
  88. package/dist/src/enums/onboarding.d.ts +1 -0
  89. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  90. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +1 -0
  91. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  92. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  93. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +6 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  96. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  128. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  129. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  130. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  131. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  132. package/dist/src/extensions/Blocks/common-control.d.ts +21 -0
  133. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
  134. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
  135. package/dist/src/stores/config.d.ts +10 -2
  136. package/dist/src/stores/dynamic-content.d.ts +3 -3
  137. package/dist/src/stores/editor.d.ts +1 -1
  138. package/dist/src/stores/onboarding.d.ts +1 -1
  139. package/dist/src/stores/preview.d.ts +1 -1
  140. package/dist/src/stores/recommendation.d.ts +1 -1
  141. package/dist/src/stores/save-as-template.d.ts +1 -1
  142. package/dist/src/stores/toaster.d.ts +1 -1
  143. package/dist/src/stores/unsubscribe.d.ts +1 -1
  144. package/dist/src/stores/version-history.d.ts +1 -1
  145. package/dist/src/utils/dateUtil.d.ts +21 -0
  146. package/dist/src/utils/environmentUtil.d.ts +5 -0
  147. package/dist/src/utils/genericUtil.d.ts +1 -0
  148. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  149. package/dist/static/styles/customEditorStyle.css.js +5 -0
  150. package/dist/stores/config.js +5 -5
  151. package/dist/stores/dynamic-content.js +2 -2
  152. package/dist/stores/editor.js +1 -1
  153. package/dist/stores/onboarding.js +27 -27
  154. package/dist/stores/preview.js +1 -1
  155. package/dist/stores/recommendation.js +3 -3
  156. package/dist/stores/save-as-template.js +2 -2
  157. package/dist/stores/toaster.js +1 -1
  158. package/dist/stores/unsubscribe.js +1 -1
  159. package/dist/stores/version-history.js +4 -4
  160. package/dist/utils/dateUtil.js +24 -3
  161. package/dist/utils/environmentUtil.js +4 -0
  162. package/dist/utils/genericUtil.js +20 -9
  163. package/package.json +3 -3
  164. package/dist/extensions/Blocks/Recommendation/template.js +0 -200
  165. package/dist/src/extensions/Blocks/Recommendation/template.d.ts +0 -6
package/README.md CHANGED
@@ -52,6 +52,7 @@ npm install @useinsider/guido
52
52
  ref="guidoEditor"
53
53
  :template-id="templateId"
54
54
  :user-id="userId"
55
+ :migration-date="migrationDate"
55
56
  :guido-config="guidoConfig"
56
57
  :html="initialHtml"
57
58
  :css="initialCss"
@@ -74,16 +75,19 @@ export default {
74
75
  return {
75
76
  templateId: 'template-123',
76
77
  userId: 'user-456',
78
+ migrationDate: 1699488000,
77
79
  initialHtml: '<p>Initial HTML content</p>',
78
80
  initialCss: 'p { color: #333; }',
79
81
  guidoConfig: {
80
82
  translationsPath: 'window.trans.en',
81
83
  htmlCompilerRules: [],
82
84
  ignoreDefaultHtmlCompilerRules: false,
85
+ backButtonLabel?: "Back to Design",
83
86
  features: {
84
87
  dynamicContent: true,
85
88
  saveAsTemplate: true,
86
- versionHistory: true
89
+ versionHistory: true,
90
+ testMessage: true
87
91
  }
88
92
  },
89
93
  dynamicContentModalVisible: false
@@ -145,6 +149,7 @@ export default {
145
149
  | `templateId` | `string` | ✅ | - | Unique identifier for the email template |
146
150
  | `userId` | `string` | ✅ | - | Unique identifier for the user |
147
151
  | `guidoConfig` | `GuidoConfig` | ✅ | - | Configuration object for the editor |
152
+ | `migrationDate` | `number` | ✅ | - | Stripo migration date in Unix timestamp (seconds). Retrieved from backend `/partner-settings` endpoint as `migrationDate`. Used for onboarding process |
148
153
  | `partnerName` | `string` | ⚪ | From URL host | Partner identifier |
149
154
  | `productType` | `string` | ⚪ | From URL path | Product type identifier |
150
155
  | `username` | `string` | ⚪ | `'Guido User'` | Display name for the user |
@@ -161,6 +166,8 @@ export default {
161
166
  | `save:complete` | `Omit<Template, 'forceRecreate'>` | Fired when template is successfully saved |
162
167
  | `on-change` | void | It Fires once for managing leave modal etc. |
163
168
  | `ready` | void | Fired when the editor is ready and template is loaded |
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 |
164
171
 
165
172
  ### Guido Exposed Methods
166
173
  ```typescript
@@ -190,6 +197,12 @@ interface GuidoConfig {
190
197
  dynamicContent: boolean;
191
198
  saveAsTemplate: boolean;
192
199
  versionHistory: boolean;
200
+ testMessage: boolean;
201
+ displayConditions: boolean;
202
+ };
203
+ blocks?: {
204
+ excludeDefaults?: GuidoBlockType[];
205
+ includeCustoms?: GuidoCustomBlockType[];
193
206
  };
194
207
  }
195
208
  ```
@@ -204,6 +217,10 @@ interface GuidoConfig {
204
217
  | `features.dynamicContent` | `boolean` | `true` | Enable dynamic content insertion feature |
205
218
  | `features.saveAsTemplate` | `boolean` | `true` | Enable save as template feature |
206
219
  | `features.versionHistory` | `boolean` | `true` | Enable version history feature |
220
+ | `features.displayConditions` | `boolean` | `true` | Enable display conditions |
221
+ | `blocks` | `BlocksConfig` | `{ excludeDefaults: [], includeCustoms: [] }` | Block configuration for excluding default blocks and including custom blocks. See [Blocks Configuration](#-blocks-configuration) section below |
222
+ | `blocks.excludeDefaults` | `GuidoBlockType[]` | `[]` | Array of default Stripo blocks to exclude from the editor |
223
+ | `blocks.includeCustoms` | `GuidoCustomBlockType[]` | `[]` | Array of custom blocks to include in the editor |
207
224
 
208
225
  ```typescript
209
226
  interface DynamicContent {
@@ -220,6 +237,128 @@ interface DynamicContent {
220
237
  | `text` | `string` | '' | Visible value of the dynamic content |
221
238
  | `fallback?` | `string` | '' | Fallback value of the dynamic content. Optional |
222
239
 
240
+ ## 🧱 Blocks Configuration
241
+
242
+ Guido allows you to customize which blocks are available in the editor. You can exclude default Stripo blocks and selectively include custom blocks to create tailored editing experiences for different product types.
243
+
244
+ ### Block Types
245
+
246
+ #### Default Blocks (GuidoBlockType)
247
+
248
+ These are the standard Stripo email editor blocks that can be excluded:
249
+
250
+ ```typescript
251
+ type GuidoBlockType =
252
+ | 'amp-accordion' // AMP accordion component
253
+ | 'amp-carousel' // AMP image carousel
254
+ | 'amp-form-controls' // AMP form elements
255
+ | 'banner-block' // Banner/hero section
256
+ | 'button-block' // Call-to-action buttons
257
+ | 'html-block' // Custom HTML
258
+ | 'image-block' // Image elements
259
+ | 'menu-block' // Navigation menu
260
+ | 'social-block' // Social media links
261
+ | 'spacer-block' // Vertical spacing
262
+ | 'text-block' // Text content
263
+ | 'timer-block' // Countdown timer
264
+ | 'video-block' // Video embeds
265
+ ```
266
+
267
+ #### Custom Blocks (GuidoCustomBlockType)
268
+
269
+ These are custom blocks that can be selectively included:
270
+
271
+ ```typescript
272
+ type GuidoCustomBlockType =
273
+ | 'dynamic-content' // Dynamic content merge tags
274
+ | 'checkbox-block' // Checkbox form input
275
+ | 'radio-button-block' // Radio button form input
276
+ | 'recommendation-block' // Product recommendations
277
+ | 'unsubscribe-block' // Unsubscribe link
278
+ | 'coupon-block' // Coupon/promo code
279
+ | 'items-block' // Cart items display
280
+ ```
281
+
282
+ ### Configuration Examples
283
+
284
+ #### Example 1: Exclude Specific Default Blocks
285
+
286
+ Disable button, image, and video blocks while keeping all custom blocks:
287
+
288
+ ```typescript
289
+ const guidoConfig = {
290
+ translationsPath: 'window.trans.en',
291
+ features: {
292
+ dynamicContent: true,
293
+ saveAsTemplate: true,
294
+ versionHistory: true,
295
+ testMessage: true
296
+ },
297
+ blocks: {
298
+ excludeDefaults: ['button-block', 'image-block', 'video-block']
299
+ }
300
+ };
301
+ ```
302
+
303
+ **Result:**
304
+ - Button, Image, Video blocks disabled
305
+ - All other default blocks enabled
306
+ - All custom blocks are disabled.
307
+
308
+ #### Example 2: Include Only Specific Custom Blocks
309
+
310
+ Enable only coupon and recommendation blocks:
311
+
312
+ ```typescript
313
+ const guidoConfig = {
314
+ translationsPath: 'window.trans.en',
315
+ features: {
316
+ dynamicContent: true,
317
+ saveAsTemplate: true,
318
+ versionHistory: true,
319
+ testMessage: true
320
+ },
321
+ blocks: {
322
+ includeCustoms: ['coupon-block', 'recommendation-block']
323
+ }
324
+ };
325
+ ```
326
+
327
+ **Result:**
328
+ - All default blocks enabled
329
+ - Only Coupon and Recommendation extensions enabled.
330
+ - Other custom blocks are disabled
331
+
332
+ ### Default Behavior
333
+
334
+ When `blocks` is not provided or is `undefined`:
335
+
336
+ ```typescript
337
+ const guidoConfig = {
338
+ translationsPath: 'window.trans.en',
339
+ features: {
340
+ dynamicContent: true,
341
+ saveAsTemplate: true,
342
+ versionHistory: true,
343
+ testMessage: true
344
+ },
345
+ // No blocks config
346
+ };
347
+ ```
348
+
349
+ **Result:**
350
+ - All 13 default Stripo blocks enabled
351
+ - All custom blocks are disabled.
352
+
353
+ ### Block Configuration Interface
354
+
355
+ ```typescript
356
+ interface BlocksConfig {
357
+ excludeDefaults?: GuidoBlockType[];
358
+ includeCustoms?: GuidoCustomBlockType[];
359
+ }
360
+ ```
361
+
223
362
  ### TypeScript Types
224
363
 
225
364
  The library exports the following TypeScript types:
@@ -314,7 +453,8 @@ const guidoConfig = {
314
453
  features: {
315
454
  dynamicContent: true,
316
455
  saveAsTemplate: true,
317
- versionHistory: false // Disable version history
456
+ versionHistory: false, // Disable version history
457
+ testMessage: true
318
458
  },
319
459
  htmlCompilerRules: [
320
460
  {
@@ -347,7 +487,8 @@ const guidoConfig = {
347
487
  features: {
348
488
  dynamicContent: true,
349
489
  saveAsTemplate: true,
350
- versionHistory: true
490
+ versionHistory: true,
491
+ testMessage: true
351
492
  },
352
493
  ignoreDefaultHtmlCompilerRules: true, // Skip all default rules
353
494
  htmlCompilerRules: [
@@ -1,18 +1,20 @@
1
- import a from "./Guido.vue2.js";
1
+ import i from "./Guido.vue2.js";
2
2
  /* empty css */
3
- import i from "../_virtual/_plugin-vue2_normalizer.js";
3
+ import a from "../_virtual/_plugin-vue2_normalizer.js";
4
4
  var t = 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.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
7
- }, s = [], d = /* @__PURE__ */ i(
8
- a,
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.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
7
+ return e.emit("onboarding:finished");
8
+ } } }), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
9
+ }, n = [], s = /* @__PURE__ */ a(
10
+ i,
9
11
  t,
10
- s,
12
+ n,
11
13
  !1,
12
14
  null,
13
- "e8d51dec"
15
+ "23c413c9"
14
16
  );
15
- const l = d.exports;
17
+ const v = s.exports;
16
18
  export {
17
- l as default
19
+ v as default
18
20
  };
@@ -1,23 +1,23 @@
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";
2
- import { provideGuidoActions as K } from "../composables/useGuidoActions.js";
3
- import { usePartner as O } from "../composables/usePartner.js";
4
- import { useStripo as j } from "../composables/useStripo.js";
5
- import { migrate as W } from "../config/migrator/index.js";
6
- import { DefaultUsername as q, DefaultMessageType as J, DefaultGuidoConfig as Q } from "../enums/defaults.js";
7
- import V from "./organisms/base/Toaster.vue.js";
8
- import X from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
9
- import Y from "./organisms/header/HeaderWrapper.vue.js";
10
- import Z from "./organisms/LoadingWrapper.vue.js";
11
- import $ from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
12
- import ee from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
13
- import { useStripoApi as oe } from "../services/stripoApi.js";
14
- import { useConfigStore as te } from "../stores/config.js";
15
- import { useDynamicContentStore as ne } from "../stores/dynamic-content.js";
16
- import { useEditorStore as re } from "../stores/editor.js";
17
- import { usePreviewStore as ae } from "../stores/preview.js";
18
- import { useUnsubscribeStore as se } from "../stores/unsubscribe.js";
19
- import ie from "../node_modules/lodash-es/merge.js";
20
- const Ge = /* @__PURE__ */ R({
1
+ import { defineComponent as O, defineAsyncComponent as I, ref as z, computed as U, watch as B, onMounted as K, onUnmounted as j } from "vue";
2
+ import { provideGuidoActions as q } from "../composables/useGuidoActions.js";
3
+ import { usePartner as J } from "../composables/usePartner.js";
4
+ import { useStripo as Q } from "../composables/useStripo.js";
5
+ import { migrate as L } from "../config/migrator/index.js";
6
+ import { DefaultUsername as V, DefaultMessageType as X, DefaultGuidoConfig as Y } from "../enums/defaults.js";
7
+ import Z from "./organisms/base/Toaster.vue.js";
8
+ import $ from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
9
+ import ee from "./organisms/header/HeaderWrapper.vue.js";
10
+ import oe from "./organisms/LoadingWrapper.vue.js";
11
+ import te from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
12
+ import ne from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
13
+ import { useStripoApi as re } from "../services/stripoApi.js";
14
+ import { useConfigStore as ie } from "../stores/config.js";
15
+ import { useDynamicContentStore as se } from "../stores/dynamic-content.js";
16
+ import { useEditorStore as ae } from "../stores/editor.js";
17
+ import { usePreviewStore as ce } from "../stores/preview.js";
18
+ import { useUnsubscribeStore as me } from "../stores/unsubscribe.js";
19
+ import de from "../node_modules/lodash-es/merge.js";
20
+ const Ue = /* @__PURE__ */ O({
21
21
  __name: "Guido",
22
22
  props: {
23
23
  templateId: null,
@@ -31,98 +31,104 @@ 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"],
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 u = W, A = I(
37
37
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
38
- ), A = I(
38
+ ), N = I(
39
39
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
40
- ), l = x(), a = ne(), p = se(), g = te(), s = re(), N = ae(), n = U(() => s.hasChanges), { getPartnerName: f, getProductType: y, isTestPartner: F } = O(), v = () => {
40
+ ), p = z(), i = se(), g = me(), f = ie(), s = ae(), F = ce(), n = U(() => s.hasChanges), { getPartnerName: y, getProductType: v, isTestPartner: H } = J(), b = () => {
41
41
  var e;
42
- return (e = l.value) == null ? void 0 : e.handleSave(!0);
42
+ return (e = p.value) == null ? void 0 : e.handleSave(!0);
43
43
  }, {
44
- templateId: i,
45
- userId: b,
46
- guidoConfig: C,
47
- templateConfig: o,
44
+ templateId: a,
45
+ userId: C,
46
+ guidoConfig: h,
47
+ templateConfig: t,
48
48
  html: r = "",
49
- css: h = "",
50
- partnerName: c = f(),
51
- productType: m = y(),
52
- messageType: S = J,
53
- username: w = q
54
- } = u, d = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
55
- s.templateId = i, window.GuidoConfig = ie(Q, C), window.GuidoConfig.partner = {
49
+ css: S = "",
50
+ partnerName: c = y(),
51
+ productType: m = v(),
52
+ messageType: w = X,
53
+ username: D = V
54
+ } = u, d = (t == null ? void 0 : t.preselectedDynamicContentList) || [];
55
+ s.templateId = a, window.GuidoConfig = de(Y, h), window.GuidoConfig.partner = {
56
56
  partnerName: c,
57
57
  productType: m,
58
- messageType: S
59
- }, g.templateConfig = o;
60
- const { initPlugin: D } = j({
61
- emailId: i,
62
- userId: b,
63
- username: w,
58
+ messageType: w
59
+ }, f.templateConfig = t;
60
+ const { initPlugin: E } = Q({
61
+ emailId: a,
62
+ userId: C,
63
+ username: D,
64
64
  partnerName: c,
65
65
  productType: m,
66
66
  preselectedDynamicContentList: d,
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 } = re(), R = U(() => {
71
71
  var e;
72
72
  return !((e = window.GuidoConfig) != null && e.useHeader);
73
73
  });
74
- K({
74
+ q({
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
- const E = (e) => {
86
- console.debug("dynamic-content:close", e), a.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
87
- }, P = () => {
88
+ const P = (e) => {
89
+ console.debug("dynamic-content:close", e), i.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
90
+ }, k = () => {
88
91
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
89
92
  };
90
- return M(() => n.value, () => {
91
- t("on-change", n.value);
92
- }), z(async () => {
93
+ B(() => n.value, () => {
94
+ o("on-change", n.value);
95
+ });
96
+ const l = (e) => {
97
+ const G = e, { attribute: x, position: M } = G.detail;
98
+ console.debug("dynamic-content:open", G.detail), o("dynamic-content:open", x, M);
99
+ };
100
+ return K(async () => {
93
101
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
94
102
  try {
95
- p.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
103
+ g.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
96
104
  let e = {
97
- html: r && await W(r),
98
- css: h,
105
+ html: r && await L(r),
106
+ css: S,
99
107
  forceRecreate: !0
100
108
  // TODO: It should be false for old templates. We will communicate with Stripo
101
109
  };
102
- e.html || (e = await T(), e.html = await W(e.html)), await D(e), a.selectedDynamicContentList = d;
110
+ e.html || (e = await T(), e.html = await L(e.html)), await E(e), i.selectedDynamicContentList = d;
103
111
  } catch (e) {
104
112
  console.error("Failed to initialize Stripo editor:", e);
105
113
  }
106
- document.addEventListener("dynamic-content:open", (e) => {
107
- const G = e;
108
- console.debug("dynamic-content:open", G.detail), t("dynamic-content:open", G.detail);
109
- });
110
- }), B(() => {
114
+ document.addEventListener("dynamic-content:open", l);
115
+ }), j(() => {
116
+ document.removeEventListener("dynamic-content:open", l);
111
117
  try {
112
118
  window.UIEditor.removeEditor();
113
119
  } catch {
114
120
  console.debug("Failed to remove Stripo editor: No editor found");
115
121
  }
116
- }), L({
122
+ }), _({
117
123
  dynamicContent: {
118
- insert: E,
119
- close: P
124
+ insert: P,
125
+ close: k
120
126
  },
121
127
  hasChanges: n,
122
- saveSilent: v
123
- }), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: A, headerWrapperRef: l, dynamicContentStore: a, unsubscribeStore: p, props: u, configStore: g, editorStore: s, previewStore: N, hasChanges: n, getPartnerName: f, getProductType: y, isTestPartner: F, saveSilent: v, templateId: i, userId: b, guidoConfig: C, templateConfig: o, html: r, css: h, partnerName: c, productType: m, messageType: S, username: w, preselectedDynamicContentList: d, emit: t, initPlugin: D, getDefaultTemplate: T, noHeader: H, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, FilterSelectionDrawer: X, HeaderWrapper: Y, LoadingWrapper: Z, SaveAsTemplateDrawer: $, UnsubscribeWrapper: ee };
128
+ saveSilent: b
129
+ }), { __sfc: !0, PreviewContainer: A, OnboardingWrapper: N, headerWrapperRef: p, dynamicContentStore: i, unsubscribeStore: g, props: u, configStore: f, editorStore: s, previewStore: F, hasChanges: n, getPartnerName: y, getProductType: v, isTestPartner: H, saveSilent: b, templateId: a, userId: C, guidoConfig: h, templateConfig: t, html: r, css: S, partnerName: c, productType: m, messageType: w, username: D, preselectedDynamicContentList: d, emit: o, initPlugin: E, getDefaultTemplate: T, noHeader: R, insertDynamicContent: P, closeDynamicContent: k, handleDynamicContentOpen: l, Toaster: Z, FilterSelectionDrawer: $, HeaderWrapper: ee, LoadingWrapper: oe, SaveAsTemplateDrawer: te, UnsubscribeWrapper: ne };
124
130
  }
125
131
  });
126
132
  export {
127
- Ge as default
133
+ Ue as default
128
134
  };
@@ -10,7 +10,7 @@ var n = function() {
10
10
  a,
11
11
  !1,
12
12
  null,
13
- "2c168944"
13
+ "0502bceb"
14
14
  );
15
15
  const p = i.exports;
16
16
  export {
@@ -1,28 +1,29 @@
1
- import { defineComponent as s, computed as c } from "vue";
2
- import { useBack as m } from "../../../composables/useGuidoActions.js";
3
- import { usePreviewMode as a } from "../../../composables/usePreviewMode.js";
1
+ import { defineComponent as c, computed as a } from "vue";
2
+ import { useConfig as m } from "../../../composables/useConfig.js";
3
+ import { useBack as u } from "../../../composables/useGuidoActions.js";
4
+ import { usePreviewMode as f } from "../../../composables/usePreviewMode.js";
4
5
  import { useTranslations as p } from "../../../composables/useTranslations.js";
5
- import { useVersionHistoryApi as u } from "../../../composables/useVersionHistoryApi.js";
6
- import { useEditorStore as d } from "../../../stores/editor.js";
7
- import { InButtonV2 as f } from "@useinsider/design-system-vue";
8
- import l from "./version-history/RestoreButton.vue.js";
9
- const O = /* @__PURE__ */ s({
6
+ import { useVersionHistoryApi as d } from "../../../composables/useVersionHistoryApi.js";
7
+ import { useEditorStore as l } from "../../../stores/editor.js";
8
+ import { InButtonV2 as k } from "@useinsider/design-system-vue";
9
+ import B from "./version-history/RestoreButton.vue.js";
10
+ const P = /* @__PURE__ */ c({
10
11
  __name: "LeftSlot",
11
- setup(k) {
12
- const o = d(), r = m(), { closeVersionHistory: t } = u(), { closePreviewMode: i } = a(), e = p(), n = c(() => o.isVersionHistoryOpen || o.isPreviewModeOpen ? e("email-editor.back-to-editor") : e("email-editor.back-to-design"));
13
- return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory: t, closePreviewMode: i, trans: e, backButtonLabel: n, handleBackClick: () => {
12
+ setup(b) {
13
+ const o = l(), r = u(), { closeVersionHistory: i } = d(), { closePreviewMode: n } = f(), e = p(), { config: t } = m(), s = a(() => o.isVersionHistoryOpen || o.isPreviewModeOpen ? e("email-editor.back-to-editor") : t.backButtonLabel ? t.backButtonLabel : e("email-editor.back-to-design"));
14
+ return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory: i, closePreviewMode: n, trans: e, config: t, backButtonLabel: s, handleBackClick: () => {
14
15
  if (o.isVersionHistoryOpen) {
15
- t();
16
+ i();
16
17
  return;
17
18
  }
18
19
  if (o.isPreviewModeOpen) {
19
- i();
20
+ n();
20
21
  return;
21
22
  }
22
23
  r();
23
- }, InButtonV2: f, RestoreButton: l };
24
+ }, InButtonV2: k, RestoreButton: B };
24
25
  }
25
26
  });
26
27
  export {
27
- O as default
28
+ P as default
28
29
  };
@@ -1,20 +1,20 @@
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, "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 } }) : 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: function(p) {
1
+ import a from "./RightSlot.vue2.js";
2
+ import l from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var r = function() {
4
+ var o, i, n;
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") }, 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
- }, r = [], d = /* @__PURE__ */ a(
10
- n,
11
- l,
9
+ }, u = [], d = /* @__PURE__ */ l(
10
+ a,
12
11
  r,
12
+ u,
13
13
  !1,
14
14
  null,
15
15
  null
16
16
  );
17
- const g = d.exports;
17
+ const f = d.exports;
18
18
  export {
19
- g as default
19
+ f as default
20
20
  };
@@ -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,17 +1,17 @@
1
- import s from "./NewVersionPopup.vue2.js";
1
+ import t from "./NewVersionPopup.vue2.js";
2
2
  import n from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var r = function() {
4
- var e = this, t = e._self._c, o = e._self._setupProxy;
5
- return o.isVisible ? t(o.WpModal, { attrs: { id: "guido__new-version-popup", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.trans("email-editor.onboarding-title") }, on: { close: o.handleClose, "primary-action": o.handleDiscoverNow, "secondary-action": o.handleRemindLater } }, [t("div", { staticClass: "d-f f-d-c" }, [t("img", { staticClass: "w-1 h-1 d-b p-e-n mb-5", attrs: { src: o.onboardingImageSvg } }), t("p", { staticClass: "f-s-2 f-w-400", domProps: { innerHTML: e._s(o.trans("email-editor.onboarding-description")) } })])]) : e._e();
6
- }, i = [], a = /* @__PURE__ */ n(
7
- s,
8
- r,
3
+ var i = function() {
4
+ var e = this, s = e._self._c, o = e._self._setupProxy;
5
+ return o.isVisible ? s(o.WpModal, { attrs: { id: "guido__new-version-popup", size: "medium", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.popupTitle }, on: { close: o.handleClose, "primary-action": o.handleDiscoverNow, "secondary-action": o.handleRemindLater } }, [s("div", { staticClass: "d-f f-d-c" }, [s("img", { staticClass: "w-1 h-1 d-b p-e-n mb-5", attrs: { src: o.onboardingImageSvg } }), s("p", { staticClass: "f-s-2 f-w-400", domProps: { innerHTML: e._s(o.popupDescription) } })])]) : e._e();
6
+ }, r = [], a = /* @__PURE__ */ n(
7
+ t,
9
8
  i,
9
+ r,
10
10
  !1,
11
11
  null,
12
12
  null
13
13
  );
14
- const p = a.exports;
14
+ const _ = a.exports;
15
15
  export {
16
- p as default
16
+ _ as default
17
17
  };