@useinsider/guido 3.19.0-beta.3abc7c5 → 3.19.0-beta.3daecd0

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 (102) hide show
  1. package/README.md +0 -1
  2. package/dist/@types/config/schemas.js +118 -107
  3. package/dist/components/Guido.vue.js +9 -9
  4. package/dist/components/Guido.vue2.js +84 -75
  5. package/dist/components/organisms/AutoSaveController.vue2.js +8 -9
  6. package/dist/components/organisms/base/AuthErrorModal.vue.js +18 -0
  7. package/dist/components/organisms/base/AuthErrorModal.vue2.js +42 -0
  8. package/dist/components/organisms/header/EditorActions.vue.js +5 -5
  9. package/dist/components/organisms/header/EditorActions.vue2.js +55 -85
  10. package/dist/components/organisms/header/LeftSlot.vue.js +5 -5
  11. package/dist/components/organisms/header/LeftSlot.vue2.js +12 -16
  12. package/dist/components/wrappers/WpDrawer.vue.js +7 -9
  13. package/dist/components/wrappers/WpDrawer.vue2.js +1 -1
  14. package/dist/components/wrappers/WpModal.vue.js +1 -1
  15. package/dist/components/wrappers/WpModal.vue2.js +4 -3
  16. package/dist/composables/useAuthError.js +52 -0
  17. package/dist/composables/useAutoSave.js +11 -11
  18. package/dist/composables/useCortexBlueprintBridge.js +122 -54
  19. package/dist/composables/useEmailTemplateApplier.js +111 -50
  20. package/dist/composables/useHtmlCompiler.js +26 -37
  21. package/dist/composables/useHtmlValidator.js +0 -2
  22. package/dist/composables/useHttp.js +64 -54
  23. package/dist/composables/useLegacyStrategyConversion.js +23 -19
  24. package/dist/composables/useSave.js +45 -90
  25. package/dist/composables/useStripo.js +24 -20
  26. package/dist/composables/useToaster.js +17 -15
  27. package/dist/composables/validators/useCouponBlockValidator.js +21 -24
  28. package/dist/composables/validators/useLiquidValidator.js +15 -15
  29. package/dist/composables/validators/useUnsubscribeBlockValidator.js +27 -34
  30. package/dist/config/migrator/index.js +14 -13
  31. package/dist/config/migrator/itemsBlockMigrator.js +236 -248
  32. package/dist/config/migrator/recommendationMigrator.js +28 -21
  33. package/dist/config/migrator/recommendationPartnerMigrator.js +56 -0
  34. package/dist/enums/extensions/recommendationBlock.js +30 -29
  35. package/dist/extensions/Blocks/Items/block.js +48 -45
  36. package/dist/extensions/Blocks/Items/constants/cardLayout.js +20 -0
  37. package/dist/extensions/Blocks/Items/controls/name/trimming.js +18 -17
  38. package/dist/extensions/Blocks/Items/controls/settingsControl.js +114 -105
  39. package/dist/extensions/Blocks/Items/enums/productEnums.js +14 -9
  40. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +11 -9
  41. package/dist/extensions/Blocks/Items/template.js +219 -204
  42. package/dist/extensions/Blocks/Recommendation/block.js +15 -14
  43. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +45 -38
  44. package/dist/extensions/Blocks/Recommendation/controls/main/strategy.js +72 -49
  45. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +32 -38
  46. package/dist/extensions/Blocks/Recommendation/utils/partnerCustomizations.js +3 -1
  47. package/dist/extensions/Blocks/Recommendation/utils/partnerScope.js +25 -0
  48. package/dist/guido.css +1 -1
  49. package/dist/src/@types/config/schemas.d.ts +16 -4
  50. package/dist/src/components/Guido.vue.d.ts +1 -17
  51. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +1 -17
  52. package/dist/src/components/organisms/header/HeaderWrapper.vue.d.ts +1 -17
  53. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -17
  54. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +3 -4
  55. package/dist/src/components/wrappers/WpModal.vue.d.ts +5 -1
  56. package/dist/src/composables/useAuthError.d.ts +12 -0
  57. package/dist/src/composables/useConfig.d.ts +2 -2
  58. package/dist/src/composables/useCortexBlueprintBridge.d.ts +2 -3
  59. package/dist/src/composables/useEmailTemplateApplier.d.ts +18 -5
  60. package/dist/src/composables/useGuidoActions.d.ts +2 -0
  61. package/dist/src/composables/useHtmlValidator.d.ts +0 -21
  62. package/dist/src/composables/useHttp.d.ts +2 -0
  63. package/dist/src/composables/useSave.d.ts +1 -6
  64. package/dist/src/composables/validators/useCouponBlockValidator.d.ts +0 -3
  65. package/dist/src/composables/validators/useUnsubscribeBlockValidator.d.ts +0 -10
  66. package/dist/src/config/migrator/index.d.ts +2 -1
  67. package/dist/src/config/migrator/recommendationPartnerMigrator.d.ts +19 -0
  68. package/dist/src/enums/extensions/recommendationBlock.d.ts +1 -1
  69. package/dist/src/extensions/Blocks/Items/constants/cardLayout.d.ts +44 -0
  70. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +3 -0
  71. package/dist/src/extensions/Blocks/Items/template.d.ts +19 -0
  72. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +0 -5
  73. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +6 -0
  74. package/dist/src/extensions/Blocks/Recommendation/utils/partnerScope.d.ts +33 -0
  75. package/dist/src/mock/cortexChatStore.d.ts +12 -0
  76. package/dist/src/stores/config.d.ts +20 -32
  77. package/dist/src/stores/guido-email-editor.d.ts +20 -10
  78. package/dist/src/stores/onboarding.d.ts +4 -0
  79. package/dist/src/stores/recommendation.d.ts +5 -0
  80. package/dist/src/utils/dateUtil.d.ts +10 -0
  81. package/dist/src/utils/genericUtil.d.ts +3 -0
  82. package/dist/src/utils/templatePreparation.d.ts +0 -30
  83. package/dist/static/styles/components/recommendation-strategy.css.js +9 -0
  84. package/dist/static/styles/components/version-history.css.js +2 -6
  85. package/dist/stores/config.js +67 -84
  86. package/dist/stores/guido-email-editor.js +3 -1
  87. package/dist/stores/onboarding.js +4 -0
  88. package/dist/utils/pairProductVariables.js +71 -71
  89. package/dist/utils/templatePreparation.js +36 -39
  90. package/package.json +1 -1
  91. package/dist/components/organisms/validation/ValidationErrorDrawer.vue.js +0 -20
  92. package/dist/components/organisms/validation/ValidationErrorDrawer.vue2.js +0 -48
  93. package/dist/composables/useSaveValidation.js +0 -279
  94. package/dist/composables/useSaveValidationRollout.js +0 -9
  95. package/dist/enums/save-validation.js +0 -4
  96. package/dist/src/@types/save-validation.d.ts +0 -19
  97. package/dist/src/composables/useSaveValidation.d.ts +0 -6
  98. package/dist/src/composables/useSaveValidationRollout.d.ts +0 -3
  99. package/dist/src/enums/save-validation.d.ts +0 -27
  100. package/dist/src/stores/save-validation.d.ts +0 -22
  101. package/dist/stores/save-validation.js +0 -30
  102. /package/dist/src/components/organisms/{validation/ValidationErrorDrawer.vue.d.ts → base/AuthErrorModal.vue.d.ts} +0 -0
@@ -1,76 +1,75 @@
1
- import { defineComponent as se, defineAsyncComponent as m, ref as O, computed as u, watch as x, onMounted as ae, onUnmounted as ie } from "vue";
1
+ import { defineComponent as ae, defineAsyncComponent as m, ref as W, computed as p, watch as G, onMounted as se, onUnmounted as ie } from "vue";
2
2
  import { useCortexBlueprintBridge as ce } from "../composables/useCortexBlueprintBridge.js";
3
3
  import { useEditorLock as de } from "../composables/useEditorLock.js";
4
4
  import { provideGuidoActions as me } from "../composables/useGuidoActions.js";
5
5
  import { useGuidoStateBridge as le } from "../composables/useGuidoStateBridge.js";
6
6
  import { usePartner as ue } from "../composables/usePartner.js";
7
- import { useSaveValidationRollout as pe } from "../composables/useSaveValidationRollout.js";
8
- import { useStripo as fe } from "../composables/useStripo.js";
9
- import { useTimerClone as ye } from "../composables/useTimerClone.js";
10
- import { migrate as W } from "../config/migrator/index.js";
11
- import { ModuleFolderDefaults as G } from "../enums/defaults.js";
12
- import { RIBBON_SELECTOR as ge } from "../enums/onboarding.js";
13
- import { useRecommendationExtensionStore as h } from "../extensions/Blocks/Recommendation/store/recommendation.js";
14
- import ve from "./organisms/AutoSaveController.vue.js";
15
- import Se from "./organisms/base/Toaster.vue.js";
7
+ import { useStripo as pe } from "../composables/useStripo.js";
8
+ import { useTimerClone as fe } from "../composables/useTimerClone.js";
9
+ import { migrate as z } from "../config/migrator/index.js";
10
+ import { ModuleFolderDefaults as H } from "../enums/defaults.js";
11
+ import { RIBBON_SELECTOR as ye } from "../enums/onboarding.js";
12
+ import { useRecommendationExtensionStore as E } from "../extensions/Blocks/Recommendation/store/recommendation.js";
13
+ import ge from "./organisms/AutoSaveController.vue.js";
14
+ import Se from "./organisms/base/AuthErrorModal.vue.js";
15
+ import ve from "./organisms/base/Toaster.vue.js";
16
16
  import be from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
17
17
  import he from "./organisms/header/HeaderWrapper.vue.js";
18
18
  import Ee from "./organisms/LoadingWrapper.vue.js";
19
19
  import we from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
20
20
  import Ce from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
21
- import De from "./organisms/validation/ValidationErrorDrawer.vue.js";
22
- import { useStripoApi as ke } from "../services/stripoApi.js";
23
- import { useConfigStore as Re } from "../stores/config.js";
24
- import { useDynamicContentStore as Te } from "../stores/dynamic-content.js";
25
- import { useEditorStore as H } from "../stores/editor.js";
26
- import { usePreviewStore as Fe } from "../stores/preview.js";
27
- import { useTemplateStore as Me } from "../stores/template.js";
28
- import { useUnsubscribeStore as Ie } from "../stores/unsubscribe.js";
29
- import { readTrackFloor as V } from "../utils/linkTrackingIds.js";
30
- const at = /* @__PURE__ */ se({
21
+ import { useStripoApi as De } from "../services/stripoApi.js";
22
+ import { useConfigStore as ke } from "../stores/config.js";
23
+ import { useDynamicContentStore as Fe } from "../stores/dynamic-content.js";
24
+ import { useEditorStore as w } from "../stores/editor.js";
25
+ import { usePreviewStore as Me } from "../stores/preview.js";
26
+ import { useTemplateStore as Re } from "../stores/template.js";
27
+ import { useUnsubscribeStore as Te } from "../stores/unsubscribe.js";
28
+ import { readTrackFloor as $ } from "../utils/linkTrackingIds.js";
29
+ const rt = /* @__PURE__ */ ae({
31
30
  __name: "Guido",
32
31
  props: {
33
32
  config: null,
34
33
  ready: { type: Boolean, default: !0 }
35
34
  },
36
35
  emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
37
- setup($, { expose: z, emit: r }) {
38
- const a = $, q = m(
36
+ setup(q, { expose: K, emit: r }) {
37
+ const s = q, V = m(
39
38
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
40
- ), K = m(
41
- () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
42
39
  ), j = m(
43
- () => import("./organisms/extensions/recommendation/AssignStrategyDrawer.vue.js")
40
+ () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
44
41
  ), J = m(
45
- () => import("./organisms/extensions/recommendation/RemoveStrategyModal.vue.js")
42
+ () => import("./organisms/extensions/recommendation/AssignStrategyDrawer.vue.js")
46
43
  ), Q = m(
44
+ () => import("./organisms/extensions/recommendation/RemoveStrategyModal.vue.js")
45
+ ), X = m(
47
46
  () => import("./organisms/extensions/recommendation/LegacyStrategyUpdatedModal.vue.js")
48
- ), E = O(), p = O(), f = Te(), w = Ie(), o = Re();
49
- a.ready && o.init(a.config);
50
- const c = H(), X = Fe(), l = u(() => c.hasChanges), { isTestPartner: Y } = ue(), { isEnabled: Z } = pe(), C = () => {
47
+ ), C = W(), f = W(), y = Fe(), D = Te(), o = ke();
48
+ s.ready && o.init(s.config);
49
+ const c = w(), Y = Me(), l = p(() => c.hasChanges), { isTestPartner: Z } = ue(), k = () => {
51
50
  var t;
52
- return (t = E.value) == null ? void 0 : t.handleSave(!0);
53
- }, D = (t) => {
51
+ return (t = C.value) == null ? void 0 : t.handleSave(!0);
52
+ }, F = (t) => {
54
53
  c.loadingStatus = t;
55
54
  };
56
55
  ce(), le();
57
- const y = () => {
56
+ const g = () => {
58
57
  var t, e;
59
58
  return {
60
59
  emailId: o.templateId,
61
60
  userId: o.userId,
62
61
  username: o.username,
63
62
  partnerName: o.partnerName,
64
- savedModulesFolderName: ((t = o.editor) == null ? void 0 : t.savedModulesFolderName) || G.SAVED_MODULES,
65
- defaultModulesFolderName: ((e = o.editor) == null ? void 0 : e.defaultModulesFolderName) || G.DEFAULT_MODULES
63
+ savedModulesFolderName: ((t = o.editor) == null ? void 0 : t.savedModulesFolderName) || H.SAVED_MODULES,
64
+ defaultModulesFolderName: ((e = o.editor) == null ? void 0 : e.defaultModulesFolderName) || H.DEFAULT_MODULES
66
65
  };
67
- }, { initPlugin: k, preloadRuntime: R } = fe(), { runExclusive: T, beginMount: F, isCurrentMount: M } = de();
68
- let g = 0;
69
- const { getDefaultTemplate: I } = ke(), { cloneTimersOnSave: L, hasTimerBlocks: B } = ye(), ee = u(() => {
66
+ }, { initPlugin: M, preloadRuntime: R } = pe(), { runExclusive: T, beginMount: I, isCurrentMount: S } = de();
67
+ let u = 0;
68
+ const { getDefaultTemplate: L } = De(), { cloneTimersOnSave: U, hasTimerBlocks: A } = fe(), ee = p(() => {
70
69
  var t;
71
70
  return !((t = o.ui) != null && t.showHeader);
72
- }), te = u(() => o.isFeatureEnabled("reusableRecommendationStrategy")), oe = u(
73
- () => !!h().recommendationConfigs.strategyId
71
+ }), te = p(() => o.isFeatureEnabled("reusableRecommendationStrategy")), oe = p(
72
+ () => !!E().recommendationConfigs.strategyId
74
73
  );
75
74
  me({
76
75
  onBack: () => {
@@ -80,87 +79,97 @@ const at = /* @__PURE__ */ se({
80
79
  console.debug("guido:save:start"), r("save:start");
81
80
  },
82
81
  onSaveComplete: (t) => {
83
- const e = { ...t, metadata: y() };
82
+ const e = { ...t, metadata: g() };
84
83
  console.debug("guido:save:complete", e), r("save:complete", e);
85
84
  },
86
85
  onTestEmailClick: () => {
87
86
  console.debug("guido:test-email:click"), r("test-email:click");
88
87
  }
89
88
  });
90
- const U = (t) => {
91
- console.debug("dynamic-content:close", t), f.setSelectedDynamicContent(t), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: t }));
92
- }, A = () => {
89
+ const B = (t) => {
90
+ console.debug("dynamic-content:close", t), y.setSelectedDynamicContent(t), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: t }));
91
+ }, N = () => {
93
92
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
94
93
  };
95
- x(() => l.value, () => {
94
+ G(() => l.value, () => {
96
95
  r("on-change", l.value);
97
96
  });
98
97
  const v = (t) => {
99
- const e = t, { attribute: s, position: d } = e.detail;
100
- console.debug("dynamic-content:open", e.detail), r("dynamic-content:open", s, d);
98
+ const e = t, { attribute: a, position: d } = e.detail;
99
+ console.debug("dynamic-content:open", e.detail), r("dynamic-content:open", a, d);
101
100
  };
102
101
  let i = null;
103
- const S = () => {
102
+ const b = () => {
104
103
  var e;
105
- const t = document.querySelector(ge);
106
- (e = p.value) == null || e.style.setProperty("--ribbon-offset", `${(t == null ? void 0 : t.offsetHeight) ?? 0}px`);
107
- }, b = async () => {
104
+ const t = document.querySelector(ye);
105
+ (e = f.value) == null || e.style.setProperty("--ribbon-offset", `${(t == null ? void 0 : t.offsetHeight) ?? 0}px`);
106
+ }, h = async () => {
108
107
  var t;
109
108
  try {
110
- o.initialized || o.init(a.config), c.templateId = o.templateId;
111
- const e = o.template, s = (e == null ? void 0 : e.html) || "", d = (e == null ? void 0 : e.css) || "", P = (e == null ? void 0 : e.preselectedDynamicContent) || [];
112
- w.selectedUnsubscribePages = (e == null ? void 0 : e.selectedUnsubscribePages) || [];
113
- const _ = ((t = e == null ? void 0 : e.migration) == null ? void 0 : t.recommendationConfigs) ?? {}, N = o.isFeatureEnabled("linkTrackingIds");
109
+ o.initialized || o.init(s.config), c.templateId = o.templateId;
110
+ const e = o.template, a = (e == null ? void 0 : e.html) || "", d = (e == null ? void 0 : e.css) || "", P = (e == null ? void 0 : e.preselectedDynamicContent) || [];
111
+ D.selectedUnsubscribePages = (e == null ? void 0 : e.selectedUnsubscribePages) || [];
112
+ const _ = ((t = e == null ? void 0 : e.migration) == null ? void 0 : t.recommendationConfigs) ?? {}, O = o.isFeatureEnabled("linkTrackingIds"), x = {
113
+ partnerName: o.partnerName,
114
+ campaignUrls: e == null ? void 0 : e.recommendationCampaignUrls,
115
+ rrsEnabled: o.isFeatureEnabled("reusableRecommendationStrategy")
116
+ };
114
117
  let n = {
115
- html: s && await W(s, _),
118
+ html: a && await z(a, _, x),
116
119
  css: d
117
120
  };
118
- n.html || (n = await I(), n.html = await W(n.html, _));
119
- const ne = N ? V(n.html, (e == null ? void 0 : e.trackIdCounter) || 0) : 0;
120
- B(n.html) && (n.html = await L(n.html)), N && (c.trackIdSessionFloor = Math.max(ne, V(n.html)));
121
+ n.html || (n = await L(), n.html = await z(n.html, _, x));
122
+ const ne = O ? $(n.html, (e == null ? void 0 : e.trackIdCounter) || 0) : 0;
123
+ A(n.html) && (n.html = await U(n.html)), O && (c.trackIdSessionFloor = Math.max(ne, $(n.html)));
121
124
  const re = {
122
125
  preselectedDynamicContentList: P,
123
126
  onReady: () => {
124
127
  console.debug("guido:ready"), r("ready");
125
128
  }
126
129
  };
127
- g = F(), await k(n, y(), re), f.selectedDynamicContentList = P;
130
+ u = I(), await M(n, g(), re), y.selectedDynamicContentList = P;
128
131
  } catch (e) {
129
132
  console.error("Failed to initialize Stripo editor:", e);
130
133
  }
131
134
  };
132
- return ae(async () => {
135
+ return se(async () => {
133
136
  var e;
134
- console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), h().$reset(), H().$reset(), Me().$reset(), S();
135
- const t = (e = p.value) == null ? void 0 : e.parentElement;
136
- if (t && (i = new ResizeObserver(S), i.observe(t)), R(), a.ready)
137
- await b();
137
+ console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), E().$reset(), w().$reset(), Re().$reset(), b();
138
+ const t = (e = f.value) == null ? void 0 : e.parentElement;
139
+ if (t && (i = new ResizeObserver(b), i.observe(t)), R(), s.ready)
140
+ await h();
138
141
  else {
139
- const s = x(() => a.ready, (d) => {
140
- d && (s(), b());
142
+ const a = G(() => s.ready, (d) => {
143
+ d && (a(), h());
141
144
  });
142
145
  }
143
146
  document.addEventListener("dynamic-content:open", v);
144
147
  }), ie(() => {
145
- i == null || i.disconnect(), document.removeEventListener("dynamic-content:open", v), h().disposeStrategyPageReturn(), T(async () => {
146
- if (M(g))
148
+ if (i == null || i.disconnect(), document.removeEventListener("dynamic-content:open", v), E().disposeStrategyPageReturn(), S(u))
149
+ try {
150
+ w().isStripoInitialized = !1;
151
+ } catch (t) {
152
+ console.debug("Failed to close the editor readiness gate on unmount", t);
153
+ }
154
+ T(async () => {
155
+ if (S(u))
147
156
  try {
148
157
  window.UIEditor.removeEditor();
149
158
  } catch {
150
159
  console.debug("Failed to remove Stripo editor: No editor found");
151
160
  }
152
161
  }), o.reset();
153
- }), z({
162
+ }), K({
154
163
  dynamicContent: {
155
- insert: U,
156
- close: A
164
+ insert: B,
165
+ close: N
157
166
  },
158
167
  hasChanges: l,
159
- saveSilent: C,
160
- setLoading: D
161
- }), { __sfc: !0, PreviewContainer: q, OnboardingWrapper: K, AssignStrategyDrawer: j, RemoveStrategyModal: J, LegacyStrategyUpdatedModal: Q, headerWrapperRef: E, wrapperRef: p, dynamicContentStore: f, unsubscribeStore: w, props: a, configStore: o, editorStore: c, previewStore: X, hasChanges: l, isTestPartner: Y, isSaveValidationEnabled: Z, saveSilent: C, setLoading: D, emit: r, buildMetadata: y, initPlugin: k, preloadRuntime: R, runExclusive: T, beginMount: F, isCurrentMount: M, mountGeneration: g, getDefaultTemplate: I, cloneTimersOnSave: L, hasTimerBlocks: B, noHeader: ee, isRrsEnabled: te, hasAssignedStrategy: oe, insertDynamicContent: U, closeDynamicContent: A, handleDynamicContentOpen: v, ribbonObserver: i, updateRibbonOffset: S, startEditor: b, AutoSaveController: ve, Toaster: Se, FilterSelectionDrawer: be, HeaderWrapper: he, LoadingWrapper: Ee, SaveAsTemplateDrawer: we, UnsubscribeWrapper: Ce, ValidationErrorDrawer: De };
168
+ saveSilent: k,
169
+ setLoading: F
170
+ }), { __sfc: !0, PreviewContainer: V, OnboardingWrapper: j, AssignStrategyDrawer: J, RemoveStrategyModal: Q, LegacyStrategyUpdatedModal: X, headerWrapperRef: C, wrapperRef: f, dynamicContentStore: y, unsubscribeStore: D, props: s, configStore: o, editorStore: c, previewStore: Y, hasChanges: l, isTestPartner: Z, saveSilent: k, setLoading: F, emit: r, buildMetadata: g, initPlugin: M, preloadRuntime: R, runExclusive: T, beginMount: I, isCurrentMount: S, mountGeneration: u, getDefaultTemplate: L, cloneTimersOnSave: U, hasTimerBlocks: A, noHeader: ee, isRrsEnabled: te, hasAssignedStrategy: oe, insertDynamicContent: B, closeDynamicContent: N, handleDynamicContentOpen: v, ribbonObserver: i, updateRibbonOffset: b, startEditor: h, AutoSaveController: ge, AuthErrorModal: Se, Toaster: ve, FilterSelectionDrawer: be, HeaderWrapper: he, LoadingWrapper: Ee, SaveAsTemplateDrawer: we, UnsubscribeWrapper: Ce };
162
171
  }
163
172
  });
164
173
  export {
165
- at as default
174
+ rt as default
166
175
  };
@@ -1,14 +1,13 @@
1
- import { defineComponent as r } from "vue";
2
- import { useAutoSave as s } from "../../composables/useAutoSave.js";
3
- import { useSave as n } from "../../composables/useSave.js";
4
- import { useSaveValidationRollout as u } from "../../composables/useSaveValidationRollout.js";
5
- const v = /* @__PURE__ */ r({
1
+ import { defineComponent as t } from "vue";
2
+ import { useAutoSave as r } from "../../composables/useAutoSave.js";
3
+ import { useSave as s } from "../../composables/useSave.js";
4
+ const f = /* @__PURE__ */ t({
6
5
  __name: "AutoSaveController",
7
- setup(m) {
8
- const { save: e, saveRawOnly: o } = n(), { isEnabled: t } = u(), a = () => t.value ? o() : e(!1, !0);
9
- return s(a), { __sfc: !0, save: e, saveRawOnly: o, isEnabled: t, backgroundSave: a };
6
+ setup(a) {
7
+ const { save: e } = s(), o = () => e(!1, !0);
8
+ return r(o), { __sfc: !0, save: e, backgroundSave: o };
10
9
  }
11
10
  });
12
11
  export {
13
- v as default
12
+ f as default
14
13
  };
@@ -0,0 +1,18 @@
1
+ import e from "./AuthErrorModal.vue2.js";
2
+ /* empty css */
3
+ import s from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var a = function() {
5
+ var o = this, r = o._self._c, t = o._self._setupProxy;
6
+ return t.authError ? r("div", { staticClass: "auth-error-modal" }, [r(t.WpModal, { attrs: { id: "guido__auth-error-modal", state: "warning", "close-button-status": !1, "close-on-outside-click": !1, "footer-button-options": t.footerButtonOptions, title: t.title }, on: { close: t.dismiss, "primary-action": t.recover } }, [r("p", [o._v(o._s(t.message))])])], 1) : o._e();
7
+ }, n = [], i = /* @__PURE__ */ s(
8
+ e,
9
+ a,
10
+ n,
11
+ !1,
12
+ null,
13
+ "b4d7ae51"
14
+ );
15
+ const m = i.exports;
16
+ export {
17
+ m as default
18
+ };
@@ -0,0 +1,42 @@
1
+ import { defineComponent as c, computed as n } from "vue";
2
+ import p from "../../wrappers/WpModal.vue.js";
3
+ import { useAuthError as d } from "../../../composables/useAuthError.js";
4
+ import { useTranslations as m } from "../../../composables/useTranslations.js";
5
+ const _ = /* @__PURE__ */ c({
6
+ __name: "AuthErrorModal",
7
+ setup(v) {
8
+ const e = m(), { authError: t } = d(), r = n(() => {
9
+ var o;
10
+ return ((o = t.value) == null ? void 0 : o.status) === 419 && t.value.data !== null;
11
+ }), s = n(() => {
12
+ var o;
13
+ return ((o = t.value) == null ? void 0 : o.status) === 419 && t.value.data === null;
14
+ }), i = n(() => r.value ? e("integration-hub.reload-this-page") : e("action-builder.session-expired")), u = n(() => r.value ? e("auth.error-occurred-refresh") : s.value ? e("settings.session-on-another-device") : e("journey-builder.login-session-expired")), l = n(() => ({
15
+ primaryButton: {
16
+ type: "primary",
17
+ labelText: r.value ? e("integration-hub.reload") : e("journey-builder.login-popup-button")
18
+ },
19
+ cancelOrBackButton: {
20
+ type: "secondary",
21
+ styling: "ghost",
22
+ labelText: e("settings.cancel")
23
+ }
24
+ })), a = () => {
25
+ if (r.value) {
26
+ window.location.reload();
27
+ return;
28
+ }
29
+ window.location.replace("/");
30
+ };
31
+ return { __sfc: !0, trans: e, authError: t, isPageExpired: r, isTakenOver: s, title: i, message: u, footerButtonOptions: l, recover: a, dismiss: () => {
32
+ if (r.value) {
33
+ t.value = null;
34
+ return;
35
+ }
36
+ a();
37
+ }, WpModal: p };
38
+ }
39
+ });
40
+ export {
41
+ _ as default
42
+ };
@@ -4,20 +4,20 @@ import d from "../../../_virtual/_plugin-vue2_normalizer.js";
4
4
  var u = function() {
5
5
  var s, i, n, a;
6
6
  var o = this, e = o._self._c, t = o._self._setupProxy;
7
- return e("div", { staticClass: "d-f editor-actions" }, [t.isVersionHistoryButtonVisible ? 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 = (s = t.config) == null ? void 0 : s.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(), (a = (n = t.config) == null ? void 0 : n.features) != null && a.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", { staticPosition: "bottom right" }), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.handleTestEmail } }) : o._e(), t.editorStore.isPreviewModeOpen ? o._e() : e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "label-text": t.saveLabel, "loading-status": t.isSaving }, on: { click: function(r) {
7
+ return e("div", { staticClass: "d-f editor-actions" }, [t.isVersionHistoryButtonVisible ? 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 = (s = t.config) == null ? void 0 : s.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(), (a = (n = t.config) == null ? void 0 : n.features) != null && a.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", { staticPosition: "bottom right" }), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.handleTestEmail } }) : o._e(), t.editorStore.isPreviewModeOpen ? o._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(r) {
8
8
  return t.handleSave(!1);
9
9
  } } }), e(t.MigrationConfirmModal, { ref: "migrationModalRef", on: { confirm: function(r) {
10
10
  return t.executeSave(!1);
11
11
  } } })], 1);
12
- }, p = [], c = /* @__PURE__ */ d(
12
+ }, c = [], p = /* @__PURE__ */ d(
13
13
  l,
14
14
  u,
15
- p,
15
+ c,
16
16
  !1,
17
17
  null,
18
- "5e7f10cc"
18
+ "c61cc8ea"
19
19
  );
20
- const v = c.exports;
20
+ const v = p.exports;
21
21
  export {
22
22
  v as default
23
23
  };
@@ -1,107 +1,77 @@
1
- import { defineComponent as D, computed as m, ref as u } from "vue";
2
- import { useActionsApi as z } from "../../../composables/useActionsApi.js";
3
- import { useConfig as I } from "../../../composables/useConfig.js";
4
- import { useExport as P } from "../../../composables/useExport.js";
5
- import { useTestEmailClick as W } from "../../../composables/useGuidoActions.js";
6
- import { useHtmlCompiler as j } from "../../../composables/useHtmlCompiler.js";
7
- import { useSave as G } from "../../../composables/useSave.js";
8
- import { useSaveValidation as J } from "../../../composables/useSaveValidation.js";
9
- import { useSaveValidationRollout as K } from "../../../composables/useSaveValidationRollout.js";
10
- import { useToaster as N } from "../../../composables/useToaster.js";
11
- import { useTranslations as Q } from "../../../composables/useTranslations.js";
12
- import { useVersionHistoryApi as U } from "../../../composables/useVersionHistoryApi.js";
13
- import { useLiquidValidator as X } from "../../../composables/validators/useLiquidValidator.js";
14
- import { ToasterTypeOptions as Y } from "../../../enums/toaster.js";
15
- import { useConfigStore as Z } from "../../../stores/config.js";
16
- import { useEditorStore as $ } from "../../../stores/editor.js";
17
- import { useSaveValidationStore as tt } from "../../../stores/save-validation.js";
18
- import { useTemplateStore as et } from "../../../stores/template.js";
19
- import { getTooltipOptions as ot } from "../../../utils/tooltipUtils.js";
20
- import { InButtonV2 as rt } from "@useinsider/design-system-vue";
21
- import { storeToRefs as it } from "pinia";
22
- import at from "./MigrationConfirmModal.vue.js";
23
- const Ot = /* @__PURE__ */ D({
1
+ import { defineComponent as q, ref as n, computed as x } from "vue";
2
+ import { useActionsApi as b } from "../../../composables/useActionsApi.js";
3
+ import { useConfig as k } from "../../../composables/useConfig.js";
4
+ import { useExport as B } from "../../../composables/useExport.js";
5
+ import { useTestEmailClick as D } from "../../../composables/useGuidoActions.js";
6
+ import { useHtmlCompiler as L } from "../../../composables/useHtmlCompiler.js";
7
+ import { useSave as R } from "../../../composables/useSave.js";
8
+ import { useToaster as z } from "../../../composables/useToaster.js";
9
+ import { useTranslations as I } from "../../../composables/useTranslations.js";
10
+ import { useVersionHistoryApi as P } from "../../../composables/useVersionHistoryApi.js";
11
+ import { useLiquidValidator as j } from "../../../composables/validators/useLiquidValidator.js";
12
+ import { useEditorStore as G } from "../../../stores/editor.js";
13
+ import { useTemplateStore as J } from "../../../stores/template.js";
14
+ import { getTooltipOptions as K } from "../../../utils/tooltipUtils.js";
15
+ import { InButtonV2 as N } from "@useinsider/design-system-vue";
16
+ import { storeToRefs as Q } from "pinia";
17
+ import U from "./MigrationConfirmModal.vue.js";
18
+ const ft = /* @__PURE__ */ q({
24
19
  __name: "EditorActions",
25
- setup(st, { expose: M }) {
26
- const { config: c, isFeatureEnabled: p } = I(), { exportHtml: f } = P(), { save: d } = G(), { validateCurrentTemplate: v } = J(), { isEnabled: i } = K(), { showToaster: S, handleError: a } = N(), { openVersionHistory: y, closeVersionHistory: g } = U(), { getCompiledEmail: h } = z(), { compileHtml: V } = j(), { validateLiquidSyntax: T } = X(), w = Z(), o = $(), E = tt(), H = et(), { hasMigrations: x } = it(H), r = Q(), b = m(() => i.value && w.allowSaveWithErrors ? r("email-editor.save-and-continue") : "Save"), s = u(!1), n = u(!1), C = u(), l = W(), k = () => {
27
- if (o.isVersionHistoryOpen) {
28
- g();
20
+ setup(W, { expose: w }) {
21
+ const { config: l, isFeatureEnabled: m } = k(), { exportHtml: c } = B(), { save: p } = R(), { openVersionHistory: u, closeVersionHistory: f } = P(), { getCompiledEmail: d } = b(), { compileHtml: v } = L(), { validateLiquidSyntax: y } = j(), { handleError: r } = z(), e = G(), g = J(), { hasMigrations: S } = Q(g), s = I(), i = n(!1), a = n(!1), H = n(), h = D(), _ = () => {
22
+ if (e.isVersionHistoryOpen) {
23
+ f();
29
24
  return;
30
25
  }
31
- y();
32
- }, F = async () => {
33
- s.value = !0, await f(), s.value = !1;
34
- }, q = () => {
35
- o.isSaveAsTemplateDrawerOpen = !0;
36
- }, B = m(() => o.isVersionHistoryOpen ? r("newsletter.close-version-history") : r("newsletter.version-history")), L = m(
26
+ u();
27
+ }, C = async () => {
28
+ i.value = !0, await c(), i.value = !1;
29
+ }, A = () => {
30
+ e.isSaveAsTemplateDrawerOpen = !0;
31
+ }, M = x(() => e.isVersionHistoryOpen ? s("newsletter.close-version-history") : s("newsletter.version-history")), O = x(
37
32
  () => {
38
- var t, e;
39
- return ((e = (t = c.value) == null ? void 0 : t.features) == null ? void 0 : e.versionHistory) && !o.isPreviewModeOpen;
33
+ var t, o;
34
+ return ((o = (t = l.value) == null ? void 0 : t.features) == null ? void 0 : o.versionHistory) && !e.isPreviewModeOpen;
40
35
  }
41
- ), _ = async (t) => {
42
- n.value = !0, t || (o.loadingStatus = !0);
43
- let e;
36
+ ), V = async (t) => {
37
+ a.value = !0, t || (e.loadingStatus = !0);
38
+ let o;
44
39
  try {
45
- e = await d(t);
46
- } catch (O) {
47
- a(O, "Failed to save template");
40
+ o = await p(t);
41
+ } catch (T) {
42
+ r(T, "Failed to save template");
48
43
  } finally {
49
- n.value = !1, !t && !e && (o.loadingStatus = !1);
44
+ a.value = !1, !t && !o && (e.loadingStatus = !1);
50
45
  }
51
- return e;
52
- }, A = (t) => {
53
- var e;
54
- if (!t && x.value) {
55
- (e = C.value) == null || e.open();
46
+ return o;
47
+ }, E = (t) => {
48
+ var o;
49
+ if (!t && S.value) {
50
+ (o = H.value) == null || o.open();
56
51
  return;
57
52
  }
58
- return _(t);
59
- }, R = async () => {
60
- if (i.value) {
61
- o.loadingStatus = !0;
62
- let t = [];
63
- try {
64
- t = await v();
65
- } catch (e) {
66
- console.warn("Test-path validation failed; sending without the drawer.", e);
67
- } finally {
68
- o.loadingStatus = !1;
69
- }
70
- if (t.length) {
71
- S({
72
- type: Y.Error,
73
- message: r("email-editor.validation-errors-found"),
74
- actionButton: {
75
- text: r("email-editor.check-errors"),
76
- onClick: () => E.open(t, "test")
77
- },
78
- autoHide: !1
79
- });
80
- return;
81
- }
82
- l();
83
- return;
84
- }
85
- if (p("liquidSyntax")) {
86
- o.loadingStatus = !0;
53
+ return V(t);
54
+ }, F = async () => {
55
+ if (m("liquidSyntax")) {
56
+ e.loadingStatus = !0;
87
57
  try {
88
- const { html: t } = await h({ minimize: !0, resetDataSavedFlag: !1 }), { compiledHtml: e } = V(t);
89
- if (!await T(e))
58
+ const { html: t } = await d({ minimize: !0, resetDataSavedFlag: !1 }), { compiledHtml: o } = v(t);
59
+ if (!await y(o))
90
60
  return;
91
61
  } catch (t) {
92
- a(t, "Failed to prepare test email");
62
+ r(t, "Failed to prepare test email");
93
63
  return;
94
64
  } finally {
95
- o.loadingStatus = !1;
65
+ e.loadingStatus = !1;
96
66
  }
97
67
  }
98
- l();
68
+ h();
99
69
  };
100
- return M({
101
- handleSave: A
102
- }), { __sfc: !0, config: c, isFeatureEnabled: p, exportHtml: f, save: d, validateCurrentTemplate: v, isEnabled: i, showToaster: S, handleError: a, openVersionHistory: y, closeVersionHistory: g, getCompiledEmail: h, compileHtml: V, validateLiquidSyntax: T, configStore: w, editorStore: o, saveValidationStore: E, templateStore: H, hasMigrations: x, trans: r, saveLabel: b, isExporting: s, isSaving: n, migrationModalRef: C, testEmailClick: l, handleVersionHistory: k, handleExport: F, handleSaveAs: q, versionHistoryTooltipText: B, isVersionHistoryButtonVisible: L, executeSave: _, handleSave: A, handleTestEmail: R, getTooltipOptions: ot, InButtonV2: rt, MigrationConfirmModal: at };
70
+ return w({
71
+ handleSave: E
72
+ }), { __sfc: !0, config: l, isFeatureEnabled: m, exportHtml: c, save: p, openVersionHistory: u, closeVersionHistory: f, getCompiledEmail: d, compileHtml: v, validateLiquidSyntax: y, handleError: r, editorStore: e, templateStore: g, hasMigrations: S, trans: s, isExporting: i, isSaving: a, migrationModalRef: H, testEmailClick: h, handleVersionHistory: _, handleExport: C, handleSaveAs: A, versionHistoryTooltipText: M, isVersionHistoryButtonVisible: O, executeSave: V, handleSave: E, handleTestEmail: F, getTooltipOptions: K, InButtonV2: N, MigrationConfirmModal: U };
103
73
  }
104
74
  });
105
75
  export {
106
- Ot as default
76
+ ft as default
107
77
  };
@@ -1,16 +1,16 @@
1
1
  import o from "./LeftSlot.vue2.js";
2
2
  /* empty css */
3
- import n from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var a = function() {
3
+ import a from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var n = function() {
5
5
  var e = this, s = e._self._c, t = e._self._setupProxy;
6
6
  return s("div", { staticClass: "d-f a-i-c" }, [s(t.InButtonV2, { attrs: { id: "guido__back-button", "left-icon": "line-arrow-left", styling: "ghost", type: "secondary", "disabled-status": t.isBackButtonDisabled, "label-text": t.backButtonLabel, "skeleton-sizing": { width: 150, height: 26 }, "skeleton-status": t.editorStore.loadingStatus }, on: { click: t.handleBackClick } })], 1);
7
- }, i = [], r = /* @__PURE__ */ n(
7
+ }, i = [], r = /* @__PURE__ */ a(
8
8
  o,
9
- a,
9
+ n,
10
10
  i,
11
11
  !1,
12
12
  null,
13
- "b8f24f34"
13
+ "73199fa4"
14
14
  );
15
15
  const f = r.exports;
16
16
  export {
@@ -1,19 +1,19 @@
1
- import { defineComponent as m, computed as p, ref as d } from "vue";
1
+ import { defineComponent as l, computed as p, ref as d } from "vue";
2
2
  import { useConfig as k } from "../../../composables/useConfig.js";
3
3
  import { useBack as B } from "../../../composables/useGuidoActions.js";
4
4
  import { usePreviewMode as b } from "../../../composables/usePreviewMode.js";
5
5
  import { useTranslations as v } from "../../../composables/useTranslations.js";
6
6
  import { useVersionHistoryApi as _ } from "../../../composables/useVersionHistoryApi.js";
7
- import { useEditorStore as y } from "../../../stores/editor.js";
7
+ import { useEditorStore as V } from "../../../stores/editor.js";
8
8
  import { InButtonV2 as w } from "@useinsider/design-system-vue";
9
- import { useDebounceFn as V } from "../../../node_modules/@vueuse/shared/index.js";
10
- const D = /* @__PURE__ */ m({
9
+ import { useDebounceFn as y } from "../../../node_modules/@vueuse/shared/index.js";
10
+ const D = /* @__PURE__ */ l({
11
11
  __name: "LeftSlot",
12
12
  setup(C) {
13
- const e = y(), i = B(), { closeVersionHistory: n } = _(), { closePreviewMode: s } = b(), o = v(), { config: t } = k(), l = p(() => {
14
- var u, f;
15
- return e.isVersionHistoryOpen || e.isPreviewModeOpen ? o("email-editor.back-to-editor") : (f = (u = t.value) == null ? void 0 : u.ui) != null && f.backButtonLabel ? t.value.ui.backButtonLabel : o("email-editor.back-to-design");
16
- }), r = d(!1), a = () => {
13
+ const e = V(), i = B(), { closeVersionHistory: n } = _(), { closePreviewMode: s } = b(), o = v(), { config: t } = k(), f = p(() => {
14
+ var u, m;
15
+ return e.isVersionHistoryOpen || e.isPreviewModeOpen ? o("email-editor.back-to-editor") : (m = (u = t.value) == null ? void 0 : u.ui) != null && m.backButtonLabel ? t.value.ui.backButtonLabel : o("email-editor.back-to-design");
16
+ }), r = d(!1), c = () => {
17
17
  if (e.isVersionHistoryOpen) {
18
18
  n();
19
19
  return;
@@ -23,15 +23,11 @@ const D = /* @__PURE__ */ m({
23
23
  return;
24
24
  }
25
25
  i();
26
- }, c = V(async () => {
27
- try {
28
- await a();
29
- } finally {
30
- r.value = !1;
31
- }
26
+ }, a = y(() => {
27
+ c(), r.value = !1;
32
28
  }, 500);
33
- return { __sfc: !0, editorStore: e, handleBack: i, closeVersionHistory: n, closePreviewMode: s, trans: o, config: t, backButtonLabel: l, isBackButtonDisabled: r, executeBackAction: a, debouncedBackAction: c, handleBackClick: () => {
34
- r.value = !0, c();
29
+ return { __sfc: !0, editorStore: e, handleBack: i, closeVersionHistory: n, closePreviewMode: s, trans: o, config: t, backButtonLabel: f, isBackButtonDisabled: r, executeBackAction: c, debouncedBackAction: a, handleBackClick: () => {
30
+ r.value = !0, a();
35
31
  }, InButtonV2: w };
36
32
  }
37
33
  });