@useinsider/guido 1.0.3-beta.d6f4719 → 1.0.3-beta.d74964e

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 (133) hide show
  1. package/README.md +19 -7
  2. package/dist/components/Guido.vue.js +11 -9
  3. package/dist/components/Guido.vue2.js +82 -78
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -15
  6. package/dist/components/organisms/header/RightSlot.vue.js +10 -10
  7. package/dist/components/organisms/header/RightSlot.vue2.js +19 -20
  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 +20 -29
  13. package/dist/composables/usePartner.js +5 -9
  14. package/dist/composables/useStripo.js +8 -8
  15. package/dist/config/migrator/index.js +7 -6
  16. package/dist/config/migrator/recommendationMigrator.js +293 -0
  17. package/dist/enums/date.js +6 -0
  18. package/dist/enums/defaults.js +6 -4
  19. package/dist/enums/onboarding.js +2 -1
  20. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  21. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  22. package/dist/extensions/Blocks/Recommendation/block.js +6 -3
  23. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  24. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  25. package/dist/extensions/Blocks/Recommendation/control.js +69 -40
  26. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/extension.js +42 -7
  61. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +107 -22
  62. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  63. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  64. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  65. package/dist/extensions/Blocks/common-control.js +125 -43
  66. package/dist/extensions/DynamicContent/dynamic-content-modal.js +23 -17
  67. package/dist/extensions/DynamicContent/dynamic-content.js +151 -31
  68. package/dist/guido.css +1 -1
  69. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +307 -100
  70. package/dist/services/stripoApi.js +1 -1
  71. package/dist/src/@types/generic.d.ts +34 -6
  72. package/dist/src/components/Guido.vue.d.ts +3 -2
  73. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
  74. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
  75. package/dist/src/composables/useBlocksConfig.d.ts +2 -2
  76. package/dist/src/composables/usePartner.d.ts +0 -1
  77. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  78. package/dist/src/enums/date.d.ts +4 -0
  79. package/dist/src/enums/onboarding.d.ts +1 -0
  80. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +1 -0
  81. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  82. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  83. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +6 -0
  84. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  85. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  86. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  87. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  90. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  96. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  118. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  119. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  120. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  121. package/dist/src/extensions/Blocks/common-control.d.ts +21 -0
  122. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
  123. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +56 -2
  124. package/dist/src/stores/config.d.ts +4 -1
  125. package/dist/src/stores/dynamic-content.d.ts +2 -2
  126. package/dist/src/utils/dateUtil.d.ts +21 -0
  127. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  128. package/dist/static/styles/customEditorStyle.css.js +5 -0
  129. package/dist/stores/dynamic-content.js +1 -1
  130. package/dist/utils/dateUtil.js +24 -3
  131. package/package.json +2 -2
  132. package/dist/extensions/Blocks/Recommendation/template.js +0 -200
  133. 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,7 @@ 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 |
164
170
 
165
171
  ### Guido Exposed Methods
166
172
  ```typescript
@@ -190,6 +196,7 @@ interface GuidoConfig {
190
196
  dynamicContent: boolean;
191
197
  saveAsTemplate: boolean;
192
198
  versionHistory: boolean;
199
+ testMessage: boolean;
193
200
  };
194
201
  blocks?: {
195
202
  excludeDefaults?: GuidoBlockType[];
@@ -281,7 +288,8 @@ const guidoConfig = {
281
288
  features: {
282
289
  dynamicContent: true,
283
290
  saveAsTemplate: true,
284
- versionHistory: true
291
+ versionHistory: true,
292
+ testMessage: true
285
293
  },
286
294
  blocks: {
287
295
  excludeDefaults: ['button-block', 'image-block', 'video-block']
@@ -304,7 +312,8 @@ const guidoConfig = {
304
312
  features: {
305
313
  dynamicContent: true,
306
314
  saveAsTemplate: true,
307
- versionHistory: true
315
+ versionHistory: true,
316
+ testMessage: true
308
317
  },
309
318
  blocks: {
310
319
  includeCustoms: ['coupon-block', 'recommendation-block']
@@ -327,8 +336,9 @@ const guidoConfig = {
327
336
  features: {
328
337
  dynamicContent: true,
329
338
  saveAsTemplate: true,
330
- versionHistory: true
331
- }
339
+ versionHistory: true,
340
+ testMessage: true
341
+ },
332
342
  // No blocks config
333
343
  };
334
344
  ```
@@ -440,7 +450,8 @@ const guidoConfig = {
440
450
  features: {
441
451
  dynamicContent: true,
442
452
  saveAsTemplate: true,
443
- versionHistory: false // Disable version history
453
+ versionHistory: false, // Disable version history
454
+ testMessage: true
444
455
  },
445
456
  htmlCompilerRules: [
446
457
  {
@@ -473,7 +484,8 @@ const guidoConfig = {
473
484
  features: {
474
485
  dynamicContent: true,
475
486
  saveAsTemplate: true,
476
- versionHistory: true
487
+ versionHistory: true,
488
+ testMessage: true
477
489
  },
478
490
  ignoreDefaultHtmlCompilerRules: true, // Skip all default rules
479
491
  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
+ "b22f3777"
14
16
  );
15
- const l = d.exports;
17
+ const u = s.exports;
16
18
  export {
17
- l as default
19
+ u 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 z, defineAsyncComponent as W, ref as B, computed as _, watch as K, onMounted as O, 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 te from "./organisms/LoadingWrapper.vue.js";
11
+ import oe 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 ae } from "../stores/dynamic-content.js";
16
+ import { useEditorStore as se } 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 We = /* @__PURE__ */ z({
21
21
  __name: "Guido",
22
22
  props: {
23
23
  templateId: null,
@@ -31,98 +31,102 @@ 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"],
35
+ setup(k, { expose: A, emit: n }) {
36
+ const f = k, N = W(
37
37
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
38
- ), A = I(
38
+ ), F = W(
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
+ ), g = B(), a = ae(), y = me(), v = ie(), s = se(), H = ce(), r = _(() => s.hasChanges), { getPartnerName: b, getProductType: C, isTestPartner: R } = J(), h = () => {
41
41
  var e;
42
- return (e = l.value) == null ? void 0 : e.handleSave(!0);
42
+ return (e = g.value) == null ? void 0 : e.handleSave(!0);
43
43
  }, {
44
- templateId: i,
45
- userId: b,
46
- guidoConfig: C,
44
+ templateId: c,
45
+ userId: S,
46
+ guidoConfig: w,
47
47
  templateConfig: o,
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 = {
56
- partnerName: c,
57
- productType: m,
58
- messageType: S
59
- }, g.templateConfig = o;
60
- const { initPlugin: D } = j({
61
- emailId: i,
62
- userId: b,
63
- username: w,
64
- partnerName: c,
65
- productType: m,
66
- preselectedDynamicContentList: d,
48
+ html: i = "",
49
+ css: D = "",
50
+ partnerName: m = b(),
51
+ productType: d = C(),
52
+ messageType: E = X,
53
+ username: T = V
54
+ } = f, u = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
55
+ s.templateId = c, window.GuidoConfig = de(Y, w), window.GuidoConfig.partner = {
56
+ partnerName: m,
57
+ productType: d,
58
+ messageType: E
59
+ }, v.templateConfig = o;
60
+ const { initPlugin: P } = Q({
61
+ emailId: c,
62
+ userId: S,
63
+ username: T,
64
+ partnerName: m,
65
+ productType: d,
66
+ preselectedDynamicContentList: u,
67
67
  onReady: () => {
68
- console.debug("guido:ready"), t("ready");
68
+ console.debug("guido:ready"), n("ready");
69
69
  }
70
- }), { getDefaultTemplate: T } = oe(), H = U(() => {
70
+ }), { getDefaultTemplate: G } = re(), x = _(() => {
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"), n("back");
77
77
  },
78
78
  onSaveStart: () => {
79
- console.debug("guido:save:start"), t("save:start");
79
+ console.debug("guido:save:start"), n("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), n("save:complete", e);
83
83
  }
84
84
  });
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 = () => {
85
+ const I = (e) => {
86
+ a.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
87
+ }, U = () => {
88
88
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
89
89
  };
90
- return M(() => n.value, () => {
91
- t("on-change", n.value);
92
- }), z(async () => {
90
+ return K(() => r.value, () => {
91
+ n("on-change", r.value);
92
+ }), O(async () => {
93
93
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
94
94
  try {
95
- p.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
96
- let e = {
97
- html: r && await W(r),
98
- css: h,
95
+ y.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
96
+ let t = {
97
+ html: i && await L(i),
98
+ css: D,
99
99
  forceRecreate: !0
100
100
  // TODO: It should be false for old templates. We will communicate with Stripo
101
101
  };
102
- e.html || (e = await T(), e.html = await W(e.html)), await D(e), a.selectedDynamicContentList = d;
103
- } catch (e) {
104
- console.error("Failed to initialize Stripo editor:", e);
102
+ t.html || (t = await G(), t.html = await L(t.html)), await P(t), a.selectedDynamicContentList = u;
103
+ } catch (t) {
104
+ console.error("Failed to initialize Stripo editor:", t);
105
105
  }
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);
106
+ const e = (t) => {
107
+ const l = t, { attribute: p, position: M } = l.detail;
108
+ return { attribute: p, position: M };
109
+ };
110
+ document.addEventListener("dynamic-content:open", (t) => {
111
+ const { attribute: l, position: p } = e(t);
112
+ n("dynamic-content:open", l, p);
109
113
  });
110
- }), B(() => {
114
+ }), j(() => {
111
115
  try {
112
116
  window.UIEditor.removeEditor();
113
117
  } catch {
114
118
  console.debug("Failed to remove Stripo editor: No editor found");
115
119
  }
116
- }), L({
120
+ }), A({
117
121
  dynamicContent: {
118
- insert: E,
119
- close: P
122
+ insert: I,
123
+ close: U
120
124
  },
121
- 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 };
125
+ hasChanges: r,
126
+ saveSilent: h
127
+ }), { __sfc: !0, PreviewContainer: N, OnboardingWrapper: F, headerWrapperRef: g, dynamicContentStore: a, unsubscribeStore: y, props: f, configStore: v, editorStore: s, previewStore: H, hasChanges: r, getPartnerName: b, getProductType: C, isTestPartner: R, saveSilent: h, templateId: c, userId: S, guidoConfig: w, templateConfig: o, html: i, css: D, partnerName: m, productType: d, messageType: E, username: T, preselectedDynamicContentList: u, emit: n, initPlugin: P, getDefaultTemplate: G, noHeader: x, insertDynamicContent: I, closeDynamicContent: U, Toaster: Z, FilterSelectionDrawer: $, HeaderWrapper: ee, LoadingWrapper: te, SaveAsTemplateDrawer: oe, UnsubscribeWrapper: ne };
124
128
  }
125
129
  });
126
130
  export {
127
- Ge as default
131
+ We as default
128
132
  };
@@ -10,7 +10,7 @@ var n = function() {
10
10
  a,
11
11
  !1,
12
12
  null,
13
- "244e7935"
13
+ "0502bceb"
14
14
  );
15
15
  const p = i.exports;
16
16
  export {
@@ -1,29 +1,29 @@
1
1
  import { defineComponent as c, computed as a } from "vue";
2
- import { useBack as m } from "../../../composables/useGuidoActions.js";
3
- import { usePartner as u } from "../../../composables/usePartner.js";
4
- import { usePreviewMode as p } from "../../../composables/usePreviewMode.js";
5
- import { useTranslations as f } from "../../../composables/useTranslations.js";
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";
5
+ import { useTranslations as p } from "../../../composables/useTranslations.js";
6
6
  import { useVersionHistoryApi as d } from "../../../composables/useVersionHistoryApi.js";
7
7
  import { useEditorStore as l } from "../../../stores/editor.js";
8
8
  import { InButtonV2 as k } from "@useinsider/design-system-vue";
9
- import b from "./version-history/RestoreButton.vue.js";
10
- const h = /* @__PURE__ */ c({
9
+ import B from "./version-history/RestoreButton.vue.js";
10
+ const P = /* @__PURE__ */ c({
11
11
  __name: "LeftSlot",
12
- setup(_) {
13
- const e = l(), r = m(), { closeVersionHistory: t } = d(), { closePreviewMode: i } = p(), { isUnsubscribePages: s } = u(), o = f(), n = a(() => e.isVersionHistoryOpen || e.isPreviewModeOpen ? o("email-editor.back-to-editor") : s() ? o("email-editor.back-to-unsubscribe-pages") : o("email-editor.back-to-design"));
14
- return { __sfc: !0, editorStore: e, handleBack: r, closeVersionHistory: t, closePreviewMode: i, isUnsubscribePages: s, trans: o, backButtonLabel: n, handleBackClick: () => {
15
- if (e.isVersionHistoryOpen) {
16
- t();
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: () => {
15
+ if (o.isVersionHistoryOpen) {
16
+ i();
17
17
  return;
18
18
  }
19
- if (e.isPreviewModeOpen) {
20
- i();
19
+ if (o.isPreviewModeOpen) {
20
+ n();
21
21
  return;
22
22
  }
23
23
  r();
24
- }, InButtonV2: k, RestoreButton: b };
24
+ }, InButtonV2: k, RestoreButton: B };
25
25
  }
26
26
  });
27
27
  export {
28
- h as default
28
+ P as default
29
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 o, i;
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
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(), t.isUnsubscribePages() ? s._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) {
6
+ return e("div", { staticClass: "d-f" }, [(o = t.config.features) != null && o.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : s._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : s._e(), (n = t.config.features) != null && n.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") } }) : s._e(), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(_) {
7
7
  return t.handleSave(!1);
8
8
  } } })], 1);
9
- }, r = [], u = /* @__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 = u.exports;
17
+ const f = d.exports;
18
18
  export {
19
- g as default
19
+ f as default
20
20
  };
@@ -1,36 +1,35 @@
1
- import { defineComponent as H, ref as l, computed as _ } from "vue";
2
- import { useConfig as h } from "../../../composables/useConfig.js";
3
- import { useExport as V } from "../../../composables/useExport.js";
4
- import { usePartner as x } from "../../../composables/usePartner.js";
5
- import { useSave as w } from "../../../composables/useSave.js";
6
- import { useTranslations as T } from "../../../composables/useTranslations.js";
7
- import { useVersionHistoryApi as E } from "../../../composables/useVersionHistoryApi.js";
8
- import { useEditorStore as O } from "../../../stores/editor.js";
9
- import { getTooltipOptions as A } from "../../../utils/tooltipUtils.js";
10
- import { InButtonV2 as b } from "@useinsider/design-system-vue";
11
- const F = /* @__PURE__ */ H({
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";
6
+ 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({
12
11
  __name: "RightSlot",
13
- setup(C, { expose: m }) {
14
- const { config: u } = h(), { exportHtml: r } = V(), { save: n } = w(), { openVersionHistory: i, closeVersionHistory: a } = E(), { isUnsubscribePages: c } = x(), o = O(), t = T(), e = l(!1), s = l(!1), f = () => {
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 = () => {
15
14
  if (o.isVersionHistoryOpen) {
16
15
  a();
17
16
  return;
18
17
  }
19
18
  i();
20
- }, v = async () => {
19
+ }, f = async () => {
21
20
  e.value = !0, await r(), e.value = !1;
22
- }, d = () => {
21
+ }, v = () => {
23
22
  o.isSaveAsTemplateDrawerOpen = !0;
24
- }, y = _(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), p = async (S) => {
23
+ }, d = H(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), p = async (y) => {
25
24
  s.value = !0, o.loadingStatus = !0;
26
- const g = await n(S);
27
- return s.value = !1, o.loadingStatus = !1, g;
25
+ const S = await n(y);
26
+ return s.value = !1, o.loadingStatus = !1, S;
28
27
  };
29
28
  return m({
30
29
  handleSave: p
31
- }), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, isUnsubscribePages: c, editorStore: o, trans: t, isExporting: e, isSaving: s, handleVersionHistory: f, handleExport: v, handleSaveAs: d, versionHistoryTooltipText: y, handleSave: p, getTooltipOptions: A, InButtonV2: b };
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 };
32
31
  }
33
32
  });
34
33
  export {
35
- F as default
34
+ z as default
36
35
  };
@@ -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
  };
@@ -1,30 +1,43 @@
1
- import { defineComponent as s, ref as r } from "vue";
2
- import a from "../../wrappers/WpModal.vue.js";
3
- import { useTranslations as i } from "../../../composables/useTranslations.js";
4
- import l from "../../../static/assets/onboarding-img.svg.js";
5
- import { useOnboardingStore as m } from "../../../stores/onboarding.js";
6
- const w = /* @__PURE__ */ s({
1
+ import { defineComponent as g, ref as b, computed as o } from "vue";
2
+ import v from "../../wrappers/WpModal.vue.js";
3
+ import { useConfig as D } from "../../../composables/useConfig.js";
4
+ import { useTranslations as h } from "../../../composables/useTranslations.js";
5
+ import { ACADEMY_LINK as l } from "../../../enums/onboarding.js";
6
+ import y from "../../../static/assets/onboarding-img.svg.js";
7
+ import { useOnboardingStore as _ } from "../../../stores/onboarding.js";
8
+ import { isAfterDate as C, formatShortDate as L } from "../../../utils/dateUtil.js";
9
+ const I = /* @__PURE__ */ g({
7
10
  __name: "NewVersionPopup",
8
- setup(p) {
9
- const n = i(), e = m(), o = r(!0), t = r({
11
+ emits: ["onboarding-finished"],
12
+ setup(w, { emit: a }) {
13
+ const e = h(), t = _(), s = b(!0), { config: p } = D(), i = o(() => p.migrationDate), n = o(() => C(i.value || 0)), d = o(() => L(
14
+ i.value
15
+ )), m = o(() => n.value ? e("email-editor.onboarding-popup-sunsetted-title") : e("email-editor.onboarding-title")), c = o(() => n.value ? e("email-editor.onboarding-popup-sunsetted-description", {
16
+ sunsetDate: d.value,
17
+ academyLink: l
18
+ }) : e("email-editor.onboarding-description", {
19
+ academyLink: l
20
+ })), u = o(() => n.value ? e("products.cancel") : e("products.remind-me-later")), f = o(() => ({
10
21
  primaryButton: {
11
22
  type: "primary",
12
- labelText: n("left-menu.discover-now")
23
+ labelText: e("left-menu.discover-now")
13
24
  },
14
25
  secondaryButton: {
15
26
  type: "subtle-primary",
16
- labelText: n("products.remind-me-later")
27
+ labelText: u.value
17
28
  }
18
- });
19
- return { __sfc: !0, trans: n, onboardingStore: e, isVisible: o, footerButtonOptions: t, handleDiscoverNow: () => {
20
- e.onDiscoverNowClicked(), o.value = !1;
29
+ })), r = () => {
30
+ s.value = !1, a("onboarding-finished");
31
+ };
32
+ return { __sfc: !0, emit: a, trans: e, onboardingStore: t, isVisible: s, config: p, migrationDate: i, isAfterMigrationDate: n, formattedSunsetDate: d, popupTitle: m, popupDescription: c, secondaryButtonLabel: u, footerButtonOptions: f, closePopup: r, handleDiscoverNow: () => {
33
+ t.onDiscoverNowClicked(), r();
21
34
  }, handleRemindLater: () => {
22
- e.onRemindMeLater(), o.value = !1;
35
+ t.onRemindMeLater(), r();
23
36
  }, handleClose: () => {
24
- e.onNewVersionPopupClose(), o.value = !1;
25
- }, WpModal: a, onboardingImageSvg: l };
37
+ t.onNewVersionPopupClose(), r();
38
+ }, WpModal: v, onboardingImageSvg: y };
26
39
  }
27
40
  });
28
41
  export {
29
- w as default
42
+ I as default
30
43
  };
@@ -1,19 +1,21 @@
1
- import o from "./OnboardingWrapper.vue2.js";
2
- import _ from "../../../_virtual/_plugin-vue2_normalizer.js";
1
+ import t from "./OnboardingWrapper.vue2.js";
2
+ import i from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var s = function() {
4
- var n = this, e = n._self._c, t = n._self._setupProxy;
5
- return e("div", n._l(t.visibleOnboardings, function(r) {
6
- return e(r.component, { key: r.type, tag: "component" });
4
+ var n = this, e = n._self._c, r = n._self._setupProxy;
5
+ return e("div", n._l(r.visibleOnboardings, function(o) {
6
+ return e(o.component, { key: o.type, tag: "component", on: { "onboarding-finished": function(p) {
7
+ return r.emit("onboarding-finished");
8
+ } } });
7
9
  }), 1);
8
- }, a = [], p = /* @__PURE__ */ _(
9
- o,
10
+ }, _ = [], a = /* @__PURE__ */ i(
11
+ t,
10
12
  s,
11
- a,
13
+ _,
12
14
  !1,
13
15
  null,
14
16
  null
15
17
  );
16
- const m = p.exports;
18
+ const d = a.exports;
17
19
  export {
18
- m as default
20
+ d as default
19
21
  };