@useinsider/guido 3.20.1-beta.6344e9a → 3.20.1-beta.68ebd35

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 (90) hide show
  1. package/dist/@types/config/schemas.js +10 -11
  2. package/dist/components/Guido.vue.js +4 -4
  3. package/dist/components/Guido.vue2.js +51 -58
  4. package/dist/components/organisms/AutoSaveController.vue2.js +9 -19
  5. package/dist/components/organisms/header/AutoSaveToggle.vue.js +22 -0
  6. package/dist/components/organisms/header/AutoSaveToggle.vue2.js +19 -0
  7. package/dist/components/organisms/header/EditorActions.vue.js +13 -13
  8. package/dist/components/organisms/header/EditorActions.vue2.js +72 -57
  9. package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -6
  10. package/dist/components/organisms/header/HeaderWrapper.vue2.js +17 -9
  11. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  12. package/dist/components/organisms/header/LeftSlot.vue2.js +23 -28
  13. package/dist/components/organisms/header/MiddleSlot.vue.js +4 -4
  14. package/dist/components/organisms/header/MiddleSlot.vue2.js +7 -8
  15. package/dist/components/organisms/header/RightSlot.vue.js +8 -9
  16. package/dist/components/organisms/header/RightSlot.vue2.js +18 -13
  17. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -12
  18. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +38 -56
  19. package/dist/composables/useCustomInterfaceAppearance.js +41 -42
  20. package/dist/composables/useLegacyStrategyConversion.js +16 -16
  21. package/dist/composables/useStripo.js +4 -3
  22. package/dist/config/i18n/en/labels.json.js +4 -36
  23. package/dist/config/i18n/en/tooltips.json.js +1 -2
  24. package/dist/extensions/Blocks/Items/block.js +43 -42
  25. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +296 -223
  26. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +219 -205
  27. package/dist/extensions/Blocks/Recommendation/utils/blockRefresh.js +19 -0
  28. package/dist/extensions/Blocks/Recommendation/utils/nodeConfigWriter.js +51 -36
  29. package/dist/extensions/Blocks/Recommendation/utils/strategyCommit.js +31 -35
  30. package/dist/guido.css +1 -1
  31. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +271 -192
  32. package/dist/package.json.js +1 -1
  33. package/dist/sprite.svg +0 -10
  34. package/dist/src/@types/config/schemas.d.ts +0 -2
  35. package/dist/src/components/organisms/AutoSaveController.vue.d.ts +1 -19
  36. package/dist/src/components/organisms/header/HeaderWrapper.vue.d.ts +19 -1
  37. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +19 -1
  38. package/dist/src/composables/useActionsApi.d.ts +2 -2
  39. package/dist/src/composables/useConfig.d.ts +0 -2
  40. package/dist/src/extensions/Blocks/Checkbox/controls/blockBackground/index.d.ts +1 -0
  41. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +8 -0
  42. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +40 -0
  43. package/dist/src/extensions/Blocks/RadioButton/controls/blockBackground/index.d.ts +1 -0
  44. package/dist/src/extensions/Blocks/Recommendation/controls/blockBackground/index.d.ts +1 -0
  45. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +11 -0
  46. package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/index.d.ts +7 -0
  47. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +2 -0
  48. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +18 -3
  49. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +7 -0
  50. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +7 -0
  51. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +7 -0
  52. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +7 -0
  53. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +7 -0
  54. package/dist/src/extensions/Blocks/Recommendation/controls/title/index.d.ts +7 -0
  55. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +8 -1
  56. package/dist/src/extensions/Blocks/Recommendation/utils/blockRefresh.d.ts +17 -0
  57. package/dist/src/extensions/Blocks/Recommendation/utils/nodeConfigWriter.d.ts +7 -0
  58. package/dist/src/extensions/Blocks/_Boilerplate/controls/blockBackground/index.d.ts +1 -0
  59. package/dist/src/extensions/Blocks/controlFactories.d.ts +22 -0
  60. package/dist/src/stores/autosave.d.ts +1 -73
  61. package/dist/src/stores/config.d.ts +0 -20
  62. package/dist/src/stores/editor.d.ts +0 -109
  63. package/dist/src/stores/onboarding.d.ts +21 -952
  64. package/dist/src/stores/version-history.d.ts +1 -1
  65. package/dist/src/utils/timeUtil.d.ts +0 -5
  66. package/dist/static/styles/components/button.css.js +5 -0
  67. package/dist/static/styles/variables.css.js +0 -2
  68. package/dist/stores/autosave.js +7 -12
  69. package/dist/stores/editor.js +4 -7
  70. package/dist/stores/onboarding.js +21 -43
  71. package/dist/utils/timeUtil.js +17 -6
  72. package/package.json +3 -3
  73. package/dist/components/organisms/header/AutoSaveStatus.vue.js +0 -17
  74. package/dist/components/organisms/header/AutoSaveStatus.vue2.js +0 -25
  75. package/dist/components/organisms/header/EditorActionsMenu.vue.js +0 -20
  76. package/dist/components/organisms/header/EditorActionsMenu.vue2.js +0 -98
  77. package/dist/components/organisms/header/accessibility/AccessibilityToolbar.vue.js +0 -18
  78. package/dist/components/organisms/header/accessibility/AccessibilityToolbar.vue2.js +0 -37
  79. package/dist/components/organisms/header/accessibility/ColorVisionSelect.vue.js +0 -22
  80. package/dist/components/organisms/header/accessibility/ColorVisionSelect.vue2.js +0 -48
  81. package/dist/components/organisms/onboarding/EditorTabBarOnboarding.vue.js +0 -19
  82. package/dist/components/organisms/onboarding/EditorTabBarOnboarding.vue2.js +0 -90
  83. package/dist/composables/useAccessibilityApi.js +0 -45
  84. package/dist/src/components/organisms/header/EditorActionsMenu.vue.d.ts +0 -2
  85. package/dist/src/components/organisms/header/accessibility/AccessibilityToolbar.vue.d.ts +0 -2
  86. package/dist/src/components/organisms/header/accessibility/ColorVisionSelect.vue.d.ts +0 -2
  87. package/dist/src/components/organisms/onboarding/EditorTabBarOnboarding.vue.d.ts +0 -2
  88. package/dist/src/composables/useAccessibilityApi.d.ts +0 -13
  89. package/dist/static/styles/components/accessibility.css.js +0 -234
  90. /package/dist/src/components/organisms/header/{AutoSaveStatus.vue.d.ts → AutoSaveToggle.vue.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
- import { ModuleFolderDefaults as S } from "../../enums/defaults.js";
2
- import { object as a, number as s, optional as e, string as t, picklist as m, pipe as i, minLength as b, custom as k, boolean as o, array as c, transform as y, unknown as r, record as g, fallback as R, literal as u, looseObject as C, variant as T, union as h, lazy as I } from "../../node_modules/valibot/dist/index.js";
1
+ import { ModuleFolderDefaults as f } from "../../enums/defaults.js";
2
+ import { object as a, number as s, optional as e, string as t, picklist as m, pipe as i, minLength as b, custom as k, boolean as o, array as c, transform as y, unknown as r, record as g, fallback as R, literal as u, looseObject as C, variant as I, union as h, lazy as T } from "../../node_modules/valibot/dist/index.js";
3
3
  const p = {
4
4
  /** Promotional/marketing emails */
5
5
  PROMOTIONAL: 1,
@@ -76,17 +76,17 @@ const p = {
76
76
  value: t()
77
77
  })
78
78
  )
79
- }), f = I(() => C({
79
+ }), S = T(() => C({
80
80
  text: e(t()),
81
81
  // eslint-disable-next-line camelcase -- backend field name
82
82
  tag_text: e(t()),
83
83
  value: e(t()),
84
- children: e(c(f)),
84
+ children: e(c(S)),
85
85
  // eslint-disable-next-line camelcase -- backend field name
86
- select_items: e(c(f))
86
+ select_items: e(c(S))
87
87
  })), N = g(
88
88
  t(),
89
- R(c(f), [])
89
+ R(c(S), [])
90
90
  ), P = C({
91
91
  /** Block ID (matches the dictionary key and the legacy HTML element id) */
92
92
  id: e(s()),
@@ -210,9 +210,9 @@ const p = {
210
210
  /** Email header settings */
211
211
  emailHeader: e(D, { senderName: "", subject: "" }),
212
212
  /** Folder name for user-saved modules (used by Stripo plugin panel for path construction) */
213
- savedModulesFolderName: e(t(), S.SAVED_MODULES),
213
+ savedModulesFolderName: e(t(), f.SAVED_MODULES),
214
214
  /** Folder name for default/prebuilt modules (used by Stripo plugin panel for path construction) */
215
- defaultModulesFolderName: e(t(), S.DEFAULT_MODULES)
215
+ defaultModulesFolderName: e(t(), f.DEFAULT_MODULES)
216
216
  }), F = a({
217
217
  /** Whether to show the header bar */
218
218
  showHeader: e(o(), !0),
@@ -237,7 +237,6 @@ const p = {
237
237
  liquidSyntax: e(o(), !1),
238
238
  /** Enable autosave (3-min interval + tab-hide). User toggles on/off from the header. */
239
239
  autosave: e(o(), !1),
240
- accessibilityTesting: e(o(), !1),
241
240
  /** Enable pre-save domain-allowlist validation (opt-in; Guido self-serves the block toaster) */
242
241
  allowlistEnabled: e(o(), !1),
243
242
  /** Enable persistent link tracking-id assignment for the click heatmap (opt-in) */
@@ -316,7 +315,7 @@ const p = {
316
315
  (n) => typeof n == "function",
317
316
  "processor must be a function"
318
317
  )
319
- }), V = T("type", [
318
+ }), V = I("type", [
320
319
  H,
321
320
  _,
322
321
  q,
@@ -368,7 +367,7 @@ export {
368
367
  G as CustomRuleSchema,
369
368
  w as DefaultBlockTypeSchema,
370
369
  N as DynamicContentListSchema,
371
- f as DynamicContentNodeSchema,
370
+ S as DynamicContentNodeSchema,
372
371
  M as DynamicContentSchema,
373
372
  O as EditorSchema,
374
373
  D as EmailHeaderSchema,
@@ -3,7 +3,7 @@ import o from "./Guido.vue2.js";
3
3
  import i from "../_virtual/_plugin-vue2_normalizer.js";
4
4
  var t = function() {
5
5
  var a = this, r = a._self._c, e = a._self._setupProxy;
6
- return r("div", { ref: "wrapperRef", staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper), r(e.AutoSaveController, { ref: "autoSaveControllerRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._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.AuthErrorModal), r(e.FilterSelectionDrawer), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.AssignStrategyDrawer) : a._e(), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.RemoveStrategyModal) : a._e(), e.isRrsEnabled ? r(e.LegacyStrategyUpdatedModal) : a._e(), r(e.SaveAsTemplateDrawer), e.isSaveValidationEnabled ? r(e.ValidationErrorDrawer) : a._e(), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
6
+ return r("div", { ref: "wrapperRef", staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), r(e.AutoSaveController), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._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.AuthErrorModal), r(e.FilterSelectionDrawer), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.AssignStrategyDrawer) : a._e(), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.RemoveStrategyModal) : a._e(), e.isRrsEnabled ? r(e.LegacyStrategyUpdatedModal) : a._e(), r(e.SaveAsTemplateDrawer), e.isSaveValidationEnabled ? r(e.ValidationErrorDrawer) : a._e(), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
7
7
  return e.emit("onboarding:finished");
8
8
  } } }), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
9
9
  }, s = [], n = /* @__PURE__ */ i(
@@ -12,9 +12,9 @@ var t = function() {
12
12
  s,
13
13
  !1,
14
14
  null,
15
- "6a54dbe6"
15
+ "1b5c844a"
16
16
  );
17
- const c = n.exports;
17
+ const v = n.exports;
18
18
  export {
19
- c as default
19
+ v as default
20
20
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as ie, defineAsyncComponent as m, ref as V, computed as p, watch as H, onMounted as ae, onUnmounted as ce } from "vue";
1
+ import { defineComponent as se, defineAsyncComponent as m, ref as W, computed as p, watch as G, onMounted as ie, onUnmounted as ce } from "vue";
2
2
  import { useCortexBlueprintBridge as de } from "../composables/useCortexBlueprintBridge.js";
3
3
  import { useEditorLock as me } from "../composables/useEditorLock.js";
4
4
  import { provideGuidoActions as le } from "../composables/useGuidoActions.js";
@@ -7,8 +7,8 @@ import { usePartner as pe } from "../composables/usePartner.js";
7
7
  import { useSaveValidationRollout as fe } from "../composables/useSaveValidationRollout.js";
8
8
  import { useStripo as ye } from "../composables/useStripo.js";
9
9
  import { useTimerClone as ge } from "../composables/useTimerClone.js";
10
- import { migrate as W } from "../config/migrator/index.js";
11
- import { ModuleFolderDefaults as G } from "../enums/defaults.js";
10
+ import { migrate as V } from "../config/migrator/index.js";
11
+ import { ModuleFolderDefaults as $ } from "../enums/defaults.js";
12
12
  import { RIBBON_SELECTOR as Se } from "../enums/onboarding.js";
13
13
  import { useRecommendationExtensionStore as E } from "../extensions/Blocks/Recommendation/store/recommendation.js";
14
14
  import ve from "./organisms/AutoSaveController.vue.js";
@@ -16,28 +16,28 @@ import be from "./organisms/base/AuthErrorModal.vue.js";
16
16
  import he from "./organisms/base/Toaster.vue.js";
17
17
  import Ee from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
18
18
  import we from "./organisms/header/HeaderWrapper.vue.js";
19
- import Ce from "./organisms/LoadingWrapper.vue.js";
20
- import De from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
19
+ import De from "./organisms/LoadingWrapper.vue.js";
20
+ import Ce from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
21
21
  import ke from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
22
- import Te from "./organisms/validation/ValidationErrorDrawer.vue.js";
23
- import { useStripoApi as Fe } from "../services/stripoApi.js";
22
+ import Fe from "./organisms/validation/ValidationErrorDrawer.vue.js";
23
+ import { useStripoApi as Re } from "../services/stripoApi.js";
24
24
  import { useConfigStore as Me } from "../stores/config.js";
25
- import { useDynamicContentStore as Re } from "../stores/dynamic-content.js";
25
+ import { useDynamicContentStore as Te } from "../stores/dynamic-content.js";
26
26
  import { useEditorStore as w } from "../stores/editor.js";
27
27
  import { usePreviewStore as Ie } from "../stores/preview.js";
28
28
  import { useSaveValidationStore as Le } from "../stores/save-validation.js";
29
- import { useTemplateStore as Ae } from "../stores/template.js";
30
- import { useUnsubscribeStore as Oe } from "../stores/unsubscribe.js";
31
- import { readTrackFloor as $ } from "../utils/linkTrackingIds.js";
32
- const lt = /* @__PURE__ */ ie({
29
+ import { useTemplateStore as Ue } from "../stores/template.js";
30
+ import { useUnsubscribeStore as Ae } from "../stores/unsubscribe.js";
31
+ import { readTrackFloor as z } from "../utils/linkTrackingIds.js";
32
+ const lt = /* @__PURE__ */ se({
33
33
  __name: "Guido",
34
34
  props: {
35
35
  config: null,
36
36
  ready: { type: Boolean, default: !0 }
37
37
  },
38
38
  emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
39
- setup(z, { expose: q, emit: r }) {
40
- const a = z, K = m(
39
+ setup(H, { expose: q, emit: r }) {
40
+ const s = H, K = m(
41
41
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
42
42
  ), j = m(
43
43
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
@@ -45,22 +45,15 @@ const lt = /* @__PURE__ */ ie({
45
45
  () => import("./organisms/extensions/recommendation/AssignStrategyDrawer.vue.js")
46
46
  ), Q = m(
47
47
  () => import("./organisms/extensions/recommendation/RemoveStrategyModal.vue.js")
48
- ), C = V(), X = m(
48
+ ), X = m(
49
49
  () => import("./organisms/extensions/recommendation/LegacyStrategyUpdatedModal.vue.js")
50
- ), f = V(), y = Re(), D = Oe(), o = Me();
51
- a.ready && o.init(a.config);
52
- const s = w(), Y = Ie(), l = p(() => s.hasChanges), { isTestPartner: Z } = pe(), { isEnabled: ee } = fe(), k = () => {
50
+ ), D = W(), f = W(), y = Te(), C = Ae(), o = Me();
51
+ s.ready && o.init(s.config);
52
+ const c = w(), Y = Ie(), l = p(() => c.hasChanges), { isTestPartner: Z } = pe(), { isEnabled: ee } = fe(), k = () => {
53
53
  var t;
54
- if (!s.isNormalMode) {
55
- console.debug("guido:save:silent:blocked", {
56
- isVersionHistoryOpen: s.isVersionHistoryOpen,
57
- isAccessibilityTestingOpen: s.isAccessibilityTestingOpen
58
- });
59
- return;
60
- }
61
- return (t = C.value) == null ? void 0 : t.saveSilent();
62
- }, T = (t) => {
63
- s.loadingStatus = t;
54
+ return (t = D.value) == null ? void 0 : t.handleSave(!0);
55
+ }, F = (t) => {
56
+ c.loadingStatus = t;
64
57
  };
65
58
  de(), ue();
66
59
  const g = () => {
@@ -70,12 +63,12 @@ const lt = /* @__PURE__ */ ie({
70
63
  userId: o.userId,
71
64
  username: o.username,
72
65
  partnerName: o.partnerName,
73
- savedModulesFolderName: ((t = o.editor) == null ? void 0 : t.savedModulesFolderName) || G.SAVED_MODULES,
74
- defaultModulesFolderName: ((e = o.editor) == null ? void 0 : e.defaultModulesFolderName) || G.DEFAULT_MODULES
66
+ savedModulesFolderName: ((t = o.editor) == null ? void 0 : t.savedModulesFolderName) || $.SAVED_MODULES,
67
+ defaultModulesFolderName: ((e = o.editor) == null ? void 0 : e.defaultModulesFolderName) || $.DEFAULT_MODULES
75
68
  };
76
- }, { initPlugin: F, preloadRuntime: M } = ye(), { runExclusive: R, beginMount: I, isCurrentMount: S } = me();
69
+ }, { initPlugin: R, preloadRuntime: M } = ye(), { runExclusive: T, beginMount: I, isCurrentMount: S } = me();
77
70
  let u = 0;
78
- const { getDefaultTemplate: L } = Fe(), { cloneTimersOnSave: A, hasTimerBlocks: O } = ge(), te = p(() => {
71
+ const { getDefaultTemplate: L } = Re(), { cloneTimersOnSave: U, hasTimerBlocks: A } = ge(), te = p(() => {
79
72
  var t;
80
73
  return !((t = o.ui) != null && t.showHeader);
81
74
  }), oe = p(() => o.isFeatureEnabled("reusableRecommendationStrategy")), ne = p(
@@ -96,19 +89,19 @@ const lt = /* @__PURE__ */ ie({
96
89
  console.debug("guido:test-email:click"), r("test-email:click");
97
90
  }
98
91
  });
99
- const U = (t) => {
92
+ const B = (t) => {
100
93
  console.debug("dynamic-content:close", t), y.setSelectedDynamicContent(t), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: t }));
101
94
  }, N = () => {
102
95
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
103
96
  };
104
- H(() => l.value, () => {
97
+ G(() => l.value, () => {
105
98
  r("on-change", l.value);
106
99
  });
107
100
  const v = (t) => {
108
- const e = t, { attribute: i, position: d } = e.detail;
109
- console.debug("dynamic-content:open", e.detail), r("dynamic-content:open", i, d);
101
+ const e = t, { attribute: a, position: d } = e.detail;
102
+ console.debug("dynamic-content:open", e.detail), r("dynamic-content:open", a, d);
110
103
  };
111
- let c = null;
104
+ let i = null;
112
105
  const b = () => {
113
106
  var e;
114
107
  const t = document.querySelector(Se);
@@ -116,52 +109,52 @@ const lt = /* @__PURE__ */ ie({
116
109
  }, h = async () => {
117
110
  var t;
118
111
  try {
119
- o.initialized || o.init(a.config), s.templateId = o.templateId;
120
- const e = o.template, i = (e == null ? void 0 : e.html) || "", d = (e == null ? void 0 : e.css) || "", B = (e == null ? void 0 : e.preselectedDynamicContent) || [];
121
- D.selectedUnsubscribePages = (e == null ? void 0 : e.selectedUnsubscribePages) || [];
122
- const P = ((t = e == null ? void 0 : e.migration) == null ? void 0 : t.recommendationConfigs) ?? {}, _ = o.isFeatureEnabled("linkTrackingIds"), x = {
112
+ o.initialized || o.init(s.config), c.templateId = o.templateId;
113
+ 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) || [];
114
+ C.selectedUnsubscribePages = (e == null ? void 0 : e.selectedUnsubscribePages) || [];
115
+ const _ = ((t = e == null ? void 0 : e.migration) == null ? void 0 : t.recommendationConfigs) ?? {}, O = o.isFeatureEnabled("linkTrackingIds"), x = {
123
116
  partnerName: o.partnerName,
124
117
  campaignUrls: e == null ? void 0 : e.recommendationCampaignUrls,
125
118
  rrsEnabled: o.isFeatureEnabled("reusableRecommendationStrategy")
126
119
  };
127
120
  let n = {
128
- html: i && await W(i, P, x),
121
+ html: a && await V(a, _, x),
129
122
  css: d
130
123
  };
131
- n.html || (n = await L(), n.html = await W(n.html, P, x));
132
- const re = _ ? $(n.html, (e == null ? void 0 : e.trackIdCounter) || 0) : 0;
133
- O(n.html) && (n.html = await A(n.html)), _ && (s.trackIdSessionFloor = Math.max(re, $(n.html)));
134
- const se = {
135
- preselectedDynamicContentList: B,
124
+ n.html || (n = await L(), n.html = await V(n.html, _, x));
125
+ const re = O ? z(n.html, (e == null ? void 0 : e.trackIdCounter) || 0) : 0;
126
+ A(n.html) && (n.html = await U(n.html)), O && (c.trackIdSessionFloor = Math.max(re, z(n.html)));
127
+ const ae = {
128
+ preselectedDynamicContentList: P,
136
129
  onReady: () => {
137
130
  console.debug("guido:ready"), r("ready");
138
131
  }
139
132
  };
140
- u = I(), await F(n, g(), se), y.selectedDynamicContentList = B;
133
+ u = I(), await R(n, g(), ae), y.selectedDynamicContentList = P;
141
134
  } catch (e) {
142
135
  console.error("Failed to initialize Stripo editor:", e);
143
136
  }
144
137
  };
145
- return ae(async () => {
138
+ return ie(async () => {
146
139
  var e;
147
- console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), E().$reset(), w().$reset(), Ae().$reset(), Le().$reset(), b();
140
+ console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), E().$reset(), w().$reset(), Ue().$reset(), Le().$reset(), b();
148
141
  const t = (e = f.value) == null ? void 0 : e.parentElement;
149
- if (t && (c = new ResizeObserver(b), c.observe(t)), M(), a.ready)
142
+ if (t && (i = new ResizeObserver(b), i.observe(t)), M(), s.ready)
150
143
  await h();
151
144
  else {
152
- const i = H(() => a.ready, (d) => {
153
- d && (i(), h());
145
+ const a = G(() => s.ready, (d) => {
146
+ d && (a(), h());
154
147
  });
155
148
  }
156
149
  document.addEventListener("dynamic-content:open", v);
157
150
  }), ce(() => {
158
- if (c == null || c.disconnect(), document.removeEventListener("dynamic-content:open", v), E().disposeStrategyPageReturn(), S(u))
151
+ if (i == null || i.disconnect(), document.removeEventListener("dynamic-content:open", v), E().disposeStrategyPageReturn(), S(u))
159
152
  try {
160
153
  w().isStripoInitialized = !1;
161
154
  } catch (t) {
162
155
  console.debug("Failed to close the editor readiness gate on unmount", t);
163
156
  }
164
- R(async () => {
157
+ T(async () => {
165
158
  if (S(u))
166
159
  try {
167
160
  window.UIEditor.removeEditor();
@@ -171,13 +164,13 @@ const lt = /* @__PURE__ */ ie({
171
164
  }), o.reset();
172
165
  }), q({
173
166
  dynamicContent: {
174
- insert: U,
167
+ insert: B,
175
168
  close: N
176
169
  },
177
170
  hasChanges: l,
178
171
  saveSilent: k,
179
- setLoading: T
180
- }), { __sfc: !0, PreviewContainer: K, OnboardingWrapper: j, AssignStrategyDrawer: J, RemoveStrategyModal: Q, autoSaveControllerRef: C, LegacyStrategyUpdatedModal: X, wrapperRef: f, dynamicContentStore: y, unsubscribeStore: D, props: a, configStore: o, editorStore: s, previewStore: Y, hasChanges: l, isTestPartner: Z, isSaveValidationEnabled: ee, saveSilent: k, setLoading: T, emit: r, buildMetadata: g, initPlugin: F, preloadRuntime: M, runExclusive: R, beginMount: I, isCurrentMount: S, mountGeneration: u, getDefaultTemplate: L, cloneTimersOnSave: A, hasTimerBlocks: O, noHeader: te, isRrsEnabled: oe, hasAssignedStrategy: ne, insertDynamicContent: U, closeDynamicContent: N, handleDynamicContentOpen: v, ribbonObserver: c, updateRibbonOffset: b, startEditor: h, AutoSaveController: ve, AuthErrorModal: be, Toaster: he, FilterSelectionDrawer: Ee, HeaderWrapper: we, LoadingWrapper: Ce, SaveAsTemplateDrawer: De, UnsubscribeWrapper: ke, ValidationErrorDrawer: Te };
172
+ setLoading: F
173
+ }), { __sfc: !0, PreviewContainer: K, OnboardingWrapper: j, AssignStrategyDrawer: J, RemoveStrategyModal: Q, LegacyStrategyUpdatedModal: X, headerWrapperRef: D, wrapperRef: f, dynamicContentStore: y, unsubscribeStore: C, props: s, configStore: o, editorStore: c, previewStore: Y, hasChanges: l, isTestPartner: Z, isSaveValidationEnabled: ee, saveSilent: k, setLoading: F, emit: r, buildMetadata: g, initPlugin: R, preloadRuntime: M, runExclusive: T, beginMount: I, isCurrentMount: S, mountGeneration: u, getDefaultTemplate: L, cloneTimersOnSave: U, hasTimerBlocks: A, noHeader: te, isRrsEnabled: oe, hasAssignedStrategy: ne, insertDynamicContent: B, closeDynamicContent: N, handleDynamicContentOpen: v, ribbonObserver: i, updateRibbonOffset: b, startEditor: h, AutoSaveController: ve, AuthErrorModal: be, Toaster: he, FilterSelectionDrawer: Ee, HeaderWrapper: we, LoadingWrapper: De, SaveAsTemplateDrawer: Ce, UnsubscribeWrapper: ke, ValidationErrorDrawer: Fe };
181
174
  }
182
175
  });
183
176
  export {
@@ -1,24 +1,14 @@
1
- import { defineComponent as i } from "vue";
2
- import { useAutoSave as l } from "../../composables/useAutoSave.js";
3
- import { useSave as m } from "../../composables/useSave.js";
4
- import { useSaveValidationRollout as c } from "../../composables/useSaveValidationRollout.js";
5
- import { useToaster as p } from "../../composables/useToaster.js";
6
- const b = /* @__PURE__ */ i({
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({
7
6
  __name: "AutoSaveController",
8
- setup(v, { expose: n }) {
9
- const { save: e, saveRawOnly: t } = m(), { isEnabled: o } = c(), { handleError: r } = p(), a = () => o.value ? t() : e(!1, !0);
10
- l(a);
11
- const s = async () => {
12
- try {
13
- return await e(!0);
14
- } catch (u) {
15
- r(u, "Failed to save template");
16
- return;
17
- }
18
- };
19
- return n({ saveSilent: s }), { __sfc: !0, save: e, saveRawOnly: t, isEnabled: o, handleError: r, backgroundSave: a, saveSilent: s };
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 };
20
10
  }
21
11
  });
22
12
  export {
23
- b as default
13
+ v as default
24
14
  };
@@ -0,0 +1,22 @@
1
+ import o from "./AutoSaveToggle.vue2.js";
2
+ /* empty css */
3
+ import i from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var n = function() {
5
+ var e = this, a = e._self._c, t = e._self._setupProxy;
6
+ return t.isFeatureEnabled("autosave") ? a("div", { staticClass: "d-f a-i-c mr-3 auto-save-toggle", on: { mouseenter: function(s) {
7
+ t.isHovered = !0;
8
+ }, mouseleave: function(s) {
9
+ t.isHovered = !1;
10
+ } } }, [a(t.InToggle, { attrs: { id: "guido__autosave-toggle", name: "guido-autosave-toggle", checked: t.autosaveStore.isOn, disable: t.editorStore.loadingStatus }, on: { click: t.toggle } }), a("span", { staticClass: "ml-2 auto-save-toggle__label t-c-55" }, [e._v(" " + e._s(t.trans("email-editor.auto-save")) + " ")]), t.autosaveStore.status === t.AUTOSAVE_STATUS.SAVING ? a("span", { staticClass: "ml-2 d-f a-i-c f-s-1" }, [a(t.InLoading, { attrs: { "color-class": "i-c-53", size: "16" } }), a("span", { staticClass: "ml-1 t-c-53" }, [e._v(" " + e._s(t.trans("newsletter.saving")) + " ")])], 1) : t.lastSavedLabel ? a("span", { staticClass: "ml-2 f-s-1 t-c-53" }, [e._v(" " + e._s(t.lastSavedLabel) + " ")]) : e._e(), t.isHovered ? a(t.InInfoBox, { staticClass: "auto-save-toggle__info-box", attrs: { id: "guido__autosave-info-box", size: "small", variant: "information", "description-text": t.trans("email-editor.auto-save-description"), "title-text": t.trans("email-editor.auto-save-title") } }) : e._e()], 1) : e._e();
11
+ }, l = [], r = /* @__PURE__ */ i(
12
+ o,
13
+ n,
14
+ l,
15
+ !1,
16
+ null,
17
+ "2c964af4"
18
+ );
19
+ const d = r.exports;
20
+ export {
21
+ d as default
22
+ };
@@ -0,0 +1,19 @@
1
+ import { defineComponent as i, ref as f, computed as u } from "vue";
2
+ import { useConfig as l } from "../../../composables/useConfig.js";
3
+ import { useTranslations as p } from "../../../composables/useTranslations.js";
4
+ import { useAutosaveStore as c, AUTOSAVE_STATUS as t } from "../../../stores/autosave.js";
5
+ import { useEditorStore as S } from "../../../stores/editor.js";
6
+ import { formatLocalTime as d } from "../../../utils/timeUtil.js";
7
+ import { InToggle as g, InLoading as _, InInfoBox as A } from "@useinsider/design-system-vue";
8
+ const U = /* @__PURE__ */ i({
9
+ __name: "AutoSaveToggle",
10
+ setup(v) {
11
+ const { isFeatureEnabled: e } = l(), r = S(), o = c(), s = p(), n = f(!1), a = u(() => o.status !== t.SAVED || !o.lastSavedAt ? "" : d(o.lastSavedAt));
12
+ return { __sfc: !0, isFeatureEnabled: e, editorStore: r, autosaveStore: o, trans: s, isHovered: n, lastSavedLabel: a, toggle: (m) => {
13
+ o.isOn = m;
14
+ }, AUTOSAVE_STATUS: t, InInfoBox: A, InLoading: _, InToggle: g };
15
+ }
16
+ });
17
+ export {
18
+ U as default
19
+ };
@@ -1,23 +1,23 @@
1
- import a from "./EditorActions.vue2.js";
1
+ import l from "./EditorActions.vue2.js";
2
2
  /* empty css */
3
- import r from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var d = function() {
5
- var o, s;
6
- var i = this, e = i._self._c, t = i._self._setupProxy;
7
- return e("div", { staticClass: "d-f a-i-c editor-actions" }, [!t.editorStore.isPreviewModeOpen && t.hasContentOnTheLeft ? e("div", { staticClass: "editor-actions__divider" }) : i._e(), (s = (o = t.config) == null ? void 0 : o.features) != null && s.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 } }) : i._e(), e(t.EditorActionsMenu), t.editorStore.isPreviewModeOpen ? i._e() : e("div", { staticClass: "editor-actions__divider" }), t.editorStore.isPreviewModeOpen ? i._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(n) {
3
+ import d from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var u = function() {
5
+ var s, i, n, a;
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) {
8
8
  return t.handleSave(!1);
9
- } } }), e(t.MigrationConfirmModal, { ref: "migrationModalRef", on: { confirm: function(n) {
9
+ } } }), e(t.MigrationConfirmModal, { ref: "migrationModalRef", on: { confirm: function(r) {
10
10
  return t.executeSave(!1);
11
11
  } } })], 1);
12
- }, l = [], c = /* @__PURE__ */ r(
13
- a,
14
- d,
12
+ }, c = [], p = /* @__PURE__ */ d(
15
13
  l,
14
+ u,
15
+ c,
16
16
  !1,
17
17
  null,
18
- "f36a9d0c"
18
+ "2cccbd44"
19
19
  );
20
- const p = c.exports;
20
+ const v = p.exports;
21
21
  export {
22
- p as default
22
+ v as default
23
23
  };
@@ -1,68 +1,83 @@
1
- import { defineComponent as F, computed as x, ref as A } from "vue";
2
- import { useActionsApi as H } from "../../../composables/useActionsApi.js";
3
- import { useConfig as O } from "../../../composables/useConfig.js";
4
- import { useTestEmailClick as R } from "../../../composables/useGuidoActions.js";
5
- import { useHtmlCompiler as B } from "../../../composables/useHtmlCompiler.js";
6
- import { useSave as z } from "../../../composables/useSave.js";
7
- import { useSaveValidation as D } from "../../../composables/useSaveValidation.js";
8
- import { useSaveValidationRollout as I } from "../../../composables/useSaveValidationRollout.js";
9
- import { useToaster as W } from "../../../composables/useToaster.js";
10
- import { useTranslations as j } from "../../../composables/useTranslations.js";
11
- import { useLiquidValidator as G } from "../../../composables/validators/useLiquidValidator.js";
12
- import { ToasterTypeOptions as J } from "../../../enums/toaster.js";
13
- import { useAutosaveStore as K } from "../../../stores/autosave.js";
14
- import { useConfigStore as N } from "../../../stores/config.js";
15
- import { useEditorStore as P } from "../../../stores/editor.js";
16
- import { useSaveValidationStore as Q } from "../../../stores/save-validation.js";
17
- import { useTemplateStore as U } from "../../../stores/template.js";
18
- import { getTooltipOptions as X } from "../../../utils/tooltipUtils.js";
19
- import { InButtonV2 as Y } from "@useinsider/design-system-vue";
20
- import { storeToRefs as Z } from "pinia";
21
- import $ from "./EditorActionsMenu.vue.js";
22
- import tt from "./MigrationConfirmModal.vue.js";
23
- const Vt = /* @__PURE__ */ F({
1
+ import { defineComponent as I, computed as c, ref as u } from "vue";
2
+ import { useActionsApi as P } from "../../../composables/useActionsApi.js";
3
+ import { useConfig as W } from "../../../composables/useConfig.js";
4
+ import { useExport as j } from "../../../composables/useExport.js";
5
+ import { useTestEmailClick as G } from "../../../composables/useGuidoActions.js";
6
+ import { useHtmlCompiler as J } from "../../../composables/useHtmlCompiler.js";
7
+ import { useSave as K } from "../../../composables/useSave.js";
8
+ import { useSaveValidation as N } from "../../../composables/useSaveValidation.js";
9
+ import { useSaveValidationRollout as Q } from "../../../composables/useSaveValidationRollout.js";
10
+ import { useToaster as U } from "../../../composables/useToaster.js";
11
+ import { useTranslations as X } from "../../../composables/useTranslations.js";
12
+ import { useVersionHistoryApi as Y } from "../../../composables/useVersionHistoryApi.js";
13
+ import { useLiquidValidator as Z } from "../../../composables/validators/useLiquidValidator.js";
14
+ import { ToasterTypeOptions as $ } from "../../../enums/toaster.js";
15
+ import { useConfigStore as tt } from "../../../stores/config.js";
16
+ import { useEditorStore as ot } from "../../../stores/editor.js";
17
+ import { useSaveValidationStore as et } from "../../../stores/save-validation.js";
18
+ import { useTemplateStore as rt } from "../../../stores/template.js";
19
+ import { getTooltipOptions as it } from "../../../utils/tooltipUtils.js";
20
+ import { InButtonV2 as st } from "@useinsider/design-system-vue";
21
+ import { storeToRefs as at } from "pinia";
22
+ import nt from "./MigrationConfirmModal.vue.js";
23
+ const bt = /* @__PURE__ */ I({
24
24
  __name: "EditorActions",
25
- setup(ot, { expose: L }) {
26
- const { config: M, isFeatureEnabled: r } = O(), { save: u } = z(), { validateCurrentTemplate: c } = D(), { isEnabled: i } = I(), { showToaster: f, handleError: s } = W(), { getCompiledEmail: d } = H(), { compileHtml: p } = B(), { validateLiquidSyntax: v } = G(), S = N(), e = P(), g = Q(), h = U(), y = K(), { hasMigrations: T } = Z(h), b = x(() => r("liquidSyntax") || r("autosave") && y.hasStatusLabel), a = j(), k = x(() => i.value && S.allowSaveWithErrors ? a("email-editor.save-and-continue") : "Save"), n = A(!1), E = A(), l = R(), w = async (t) => {
27
- n.value = !0, t || (e.loadingStatus = !0);
28
- let o;
25
+ setup(lt, { expose: k }) {
26
+ const { config: p, isFeatureEnabled: f } = W(), { exportHtml: d } = j(), { save: v } = K(), { validateCurrentTemplate: y } = N(), { isEnabled: i } = Q(), { showToaster: S, handleError: s } = U(), { openVersionHistory: g, closeVersionHistory: h } = Y(), { getCompiledEmail: T } = P(), { compileHtml: w } = J(), { validateLiquidSyntax: E } = Z(), V = tt(), o = ot(), H = et(), x = rt(), { hasMigrations: C } = at(x), r = X(), F = c(() => i.value && V.allowSaveWithErrors ? r("email-editor.save-and-continue") : "Save"), a = u(!1), n = u(!1), _ = u(), l = G(), q = () => {
27
+ if (o.isVersionHistoryOpen) {
28
+ h();
29
+ return;
30
+ }
31
+ g();
32
+ }, B = async () => {
33
+ a.value = !0, await d(), a.value = !1;
34
+ }, L = () => {
35
+ o.isSaveAsTemplateDrawerOpen = !0;
36
+ }, R = c(() => o.isVersionHistoryOpen ? r("newsletter.close-version-history") : r("newsletter.version-history")), D = c(
37
+ () => {
38
+ var t, e;
39
+ return ((e = (t = p.value) == null ? void 0 : t.features) == null ? void 0 : e.versionHistory) && !o.isPreviewModeOpen;
40
+ }
41
+ ), A = async (t) => {
42
+ n.value = !0, t || (o.loadingStatus = !0);
43
+ let e;
29
44
  try {
30
- o = await u(t);
31
- } catch (_) {
32
- s(_, "Failed to save template");
45
+ e = await v(t);
46
+ } catch (b) {
47
+ s(b, "Failed to save template");
33
48
  } finally {
34
- n.value = !1, !t && !o && (e.loadingStatus = !1);
49
+ n.value = !1, !t && !e && (o.loadingStatus = !1);
35
50
  }
36
- return o;
37
- }, C = (t) => {
38
- var o;
39
- if (!t && T.value) {
40
- (o = E.value) == null || o.open();
51
+ return e;
52
+ }, O = (t) => {
53
+ var e;
54
+ if (!t && C.value) {
55
+ (e = _.value) == null || e.open();
41
56
  return;
42
57
  }
43
- return w(t);
58
+ return A(t);
44
59
  }, m = async () => {
45
- e.loadingStatus = !0;
60
+ o.loadingStatus = !0;
46
61
  try {
47
- return await c();
62
+ return await y();
48
63
  } catch (t) {
49
64
  return console.warn("Test-path validation failed; sending without the drawer.", t), [];
50
65
  } finally {
51
- e.loadingStatus = !1;
66
+ o.loadingStatus = !1;
52
67
  }
53
- }, V = async () => {
68
+ }, M = async () => {
54
69
  const t = await m();
55
- t.length && g.open(t, "test");
56
- }, q = async () => {
70
+ t.length && H.open(t, "test");
71
+ }, z = async () => {
57
72
  if (i.value) {
58
73
  if ((await m()).length) {
59
- f({
60
- type: J.Error,
61
- message: a("email-editor.validation-errors-found"),
74
+ S({
75
+ type: $.Error,
76
+ message: r("email-editor.validation-errors-found"),
62
77
  actionButton: {
63
- text: a("email-editor.check-errors"),
78
+ text: r("email-editor.check-errors"),
64
79
  onClick: () => {
65
- V();
80
+ M();
66
81
  }
67
82
  },
68
83
  autoHide: !1
@@ -72,26 +87,26 @@ const Vt = /* @__PURE__ */ F({
72
87
  l();
73
88
  return;
74
89
  }
75
- if (r("liquidSyntax")) {
76
- e.loadingStatus = !0;
90
+ if (f("liquidSyntax")) {
91
+ o.loadingStatus = !0;
77
92
  try {
78
- const { html: t } = await d({ minimize: !0, resetDataSavedFlag: !1 }), { compiledHtml: o } = p(t);
79
- if (!await v(o))
93
+ const { html: t } = await T({ minimize: !0, resetDataSavedFlag: !1 }), { compiledHtml: e } = w(t);
94
+ if (!await E(e))
80
95
  return;
81
96
  } catch (t) {
82
97
  s(t, "Failed to prepare test email");
83
98
  return;
84
99
  } finally {
85
- e.loadingStatus = !1;
100
+ o.loadingStatus = !1;
86
101
  }
87
102
  }
88
103
  l();
89
104
  };
90
- return L({
91
- handleSave: C
92
- }), { __sfc: !0, config: M, isFeatureEnabled: r, save: u, validateCurrentTemplate: c, isEnabled: i, showToaster: f, handleError: s, getCompiledEmail: d, compileHtml: p, validateLiquidSyntax: v, configStore: S, editorStore: e, saveValidationStore: g, templateStore: h, autosaveStore: y, hasMigrations: T, hasContentOnTheLeft: b, trans: a, saveLabel: k, isSaving: n, migrationModalRef: E, testEmailClick: l, executeSave: w, handleSave: C, collectTestErrors: m, openTestErrors: V, handleTestEmail: q, getTooltipOptions: X, InButtonV2: Y, EditorActionsMenu: $, MigrationConfirmModal: tt };
105
+ return k({
106
+ handleSave: O
107
+ }), { __sfc: !0, config: p, isFeatureEnabled: f, exportHtml: d, save: v, validateCurrentTemplate: y, isEnabled: i, showToaster: S, handleError: s, openVersionHistory: g, closeVersionHistory: h, getCompiledEmail: T, compileHtml: w, validateLiquidSyntax: E, configStore: V, editorStore: o, saveValidationStore: H, templateStore: x, hasMigrations: C, trans: r, saveLabel: F, isExporting: a, isSaving: n, migrationModalRef: _, testEmailClick: l, handleVersionHistory: q, handleExport: B, handleSaveAs: L, versionHistoryTooltipText: R, isVersionHistoryButtonVisible: D, executeSave: A, handleSave: O, collectTestErrors: m, openTestErrors: M, handleTestEmail: z, getTooltipOptions: it, InButtonV2: st, MigrationConfirmModal: nt };
93
108
  }
94
109
  });
95
110
  export {
96
- Vt as default
111
+ bt as default
97
112
  };