@useinsider/guido 1.0.3-beta.c8da346 → 1.0.3-beta.cc03cd5

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 (160) hide show
  1. package/README.md +3 -141
  2. package/dist/components/Guido.vue.js +10 -12
  3. package/dist/components/Guido.vue2.js +77 -82
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -16
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  8. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  9. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
  11. package/dist/composables/useStripo.js +48 -39
  12. package/dist/config/migrator/index.js +6 -7
  13. package/dist/enums/defaults.js +8 -15
  14. package/dist/enums/onboarding.js +1 -2
  15. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  16. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  17. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  18. package/dist/extensions/DynamicContent/dynamic-content-modal.js +13 -20
  19. package/dist/extensions/DynamicContent/dynamic-content.js +33 -145
  20. package/dist/guido.css +1 -1
  21. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +93 -311
  22. package/dist/package.json.js +1 -1
  23. package/dist/services/stripoApi.js +1 -1
  24. package/dist/src/@types/generic.d.ts +4 -43
  25. package/dist/src/components/Guido.vue.d.ts +2 -3
  26. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +1 -3
  27. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +1 -3
  28. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  29. package/dist/src/enums/onboarding.d.ts +0 -1
  30. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -8
  31. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -50
  32. package/dist/src/stores/config.d.ts +1 -8
  33. package/dist/src/stores/dynamic-content.d.ts +2 -2
  34. package/dist/src/stores/editor.d.ts +0 -21
  35. package/dist/src/utils/dateUtil.d.ts +0 -21
  36. package/dist/src/utils/genericUtil.d.ts +0 -1
  37. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  38. package/dist/static/styles/customEditorStyle.css.js +0 -5
  39. package/dist/stores/editor.js +1 -2
  40. package/dist/utils/dateUtil.js +3 -24
  41. package/dist/utils/genericUtil.js +7 -8
  42. package/package.json +4 -4
  43. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +0 -28
  44. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +0 -38
  45. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +0 -17
  46. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +0 -37
  47. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +0 -20
  48. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +0 -44
  49. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +0 -17
  50. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +0 -27
  51. package/dist/composables/useBlocksConfig.js +0 -49
  52. package/dist/config/migrator/recommendationMigrator.js +0 -293
  53. package/dist/enums/date.js +0 -6
  54. package/dist/enums/extensions/recommendationBlock.js +0 -80
  55. package/dist/extensions/Blocks/Recommendation/block.js +0 -30
  56. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  57. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  58. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  59. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  60. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/extension.js +0 -45
  94. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +0 -51
  95. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -19
  96. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +0 -117
  97. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +0 -266
  98. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  99. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  100. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  101. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +0 -28
  102. package/dist/extensions/Blocks/common-control.js +0 -184
  103. package/dist/services/recommendationApi.js +0 -43
  104. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -19
  105. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -2
  106. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +0 -2
  107. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -16
  108. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  109. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  110. package/dist/src/enums/date.d.ts +0 -4
  111. package/dist/src/enums/extensions/recommendationBlock.d.ts +0 -16
  112. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -11
  113. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  114. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
  115. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  117. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  118. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  121. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  122. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  139. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  140. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  141. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  142. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  143. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  144. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  145. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  146. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  147. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  148. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  149. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  150. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -2
  151. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +0 -4
  152. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +0 -4
  153. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +0 -555
  154. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  155. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  156. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  157. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +0 -7
  158. package/dist/src/extensions/Blocks/common-control.d.ts +0 -87
  159. package/dist/src/mock/api/recommendation.d.ts +0 -2
  160. package/dist/src/services/recommendationApi.d.ts +0 -6
@@ -1,21 +1,19 @@
1
- import t from "./OnboardingWrapper.vue2.js";
2
- import i from "../../../_virtual/_plugin-vue2_normalizer.js";
1
+ import o from "./OnboardingWrapper.vue2.js";
2
+ import _ from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var s = function() {
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
- } } });
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" });
9
7
  }), 1);
10
- }, _ = [], a = /* @__PURE__ */ i(
11
- t,
8
+ }, a = [], p = /* @__PURE__ */ _(
9
+ o,
12
10
  s,
13
- _,
11
+ a,
14
12
  !1,
15
13
  null,
16
14
  null
17
15
  );
18
- const d = a.exports;
16
+ const m = p.exports;
19
17
  export {
20
- d as default
18
+ m as default
21
19
  };
@@ -1,25 +1,24 @@
1
- import { defineComponent as b, computed as e, onMounted as O, watch as t } from "vue";
2
- import { usePartner as u } from "../../../composables/usePartner.js";
3
- import { useEditorStore as v } from "../../../stores/editor.js";
4
- import { useOnboardingStore as l } from "../../../stores/onboarding.js";
5
- import { usePreviewStore as y } from "../../../stores/preview.js";
6
- import S from "./AMPOnboarding.vue.js";
7
- import h from "./GenericOnboarding.vue.js";
1
+ import { defineComponent as g, computed as e, onMounted as b, watch as t } from "vue";
2
+ import { usePartner as O } from "../../../composables/usePartner.js";
3
+ import { useEditorStore as u } from "../../../stores/editor.js";
4
+ import { useOnboardingStore as v } from "../../../stores/onboarding.js";
5
+ import { usePreviewStore as l } from "../../../stores/preview.js";
6
+ import y from "./AMPOnboarding.vue.js";
7
+ import S from "./GenericOnboarding.vue.js";
8
8
  import w from "./NewVersionPopup.vue.js";
9
9
  import P from "./TextBlockOnboarding.vue.js";
10
- import _ from "./VersionHistoryOnboarding.vue.js";
11
- const F = /* @__PURE__ */ b({
10
+ import h from "./VersionHistoryOnboarding.vue.js";
11
+ const E = /* @__PURE__ */ g({
12
12
  __name: "OnboardingWrapper",
13
- emits: ["onboarding-finished"],
14
- setup(A, { emit: f }) {
15
- const o = l(), r = v(), s = y(), { isTestPartner: a } = u(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
13
+ setup(_) {
14
+ const o = v(), r = u(), s = l(), { isTestPartner: a } = O(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
16
15
  { type: "newVersionPopup", component: w },
17
- { type: "genericOnboarding", component: h },
16
+ { type: "genericOnboarding", component: S },
18
17
  { type: "textBlockOnboarding", component: P },
19
- { type: "versionHistoryOnboarding", component: _ },
20
- { type: "ampOnboarding", component: S }
21
- ], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n), g = e(() => m.filter((n) => c(n.type)));
22
- return O(async () => {
18
+ { type: "versionHistoryOnboarding", component: h },
19
+ { type: "ampOnboarding", component: y }
20
+ ], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n), f = e(() => m.filter((n) => c(n.type)));
21
+ return b(async () => {
23
22
  await o.fetchUserModalState();
24
23
  }), t(
25
24
  () => r.isVersionHistoryOpen,
@@ -36,9 +35,9 @@ const F = /* @__PURE__ */ b({
36
35
  (n) => {
37
36
  !n && o.isActive("ampOnboarding") && o.close("ampOnboarding");
38
37
  }
39
- ), { __sfc: !0, emit: f, onboardingStore: o, editorStore: r, previewStore: s, isTestPartner: a, isStripoReady: p, isTestPartnerActive: d, onboardingConfigs: m, shouldShow: c, visibleOnboardings: g };
38
+ ), { __sfc: !0, onboardingStore: o, editorStore: r, previewStore: s, isTestPartner: a, isStripoReady: p, isTestPartnerActive: d, onboardingConfigs: m, shouldShow: c, visibleOnboardings: f };
40
39
  }
41
40
  });
42
41
  export {
43
- F as default
42
+ E as default
44
43
  };
@@ -1,24 +1,28 @@
1
- import { useActionsApi as y } from "./useActionsApi.js";
2
- import { useBlocksConfig as E } from "./useBlocksConfig.js";
3
- import { useCustomInterfaceAppearance as w } from "./useCustomInterfaceAppearance.js";
4
- import { useStripoEventHandler as h } from "./useStripoEventHandler.js";
5
- import { useToaster as b } from "./useToaster.js";
6
- import { displayConditions as k } from "../enums/displayConditions.js";
7
- import { useStripoApi as B } from "../services/stripoApi.js";
8
- import V from "../static/styles/customEditorStyle.css.js";
9
- import { useEditorStore as _ } from "../stores/editor.js";
10
- import { dynamicContentToMergeTags as F } from "../utils/genericUtil.js";
1
+ import { useActionsApi as f } from "./useActionsApi.js";
2
+ import { useCustomInterfaceAppearance as S } from "./useCustomInterfaceAppearance.js";
3
+ import { useStripoEventHandler as E } from "./useStripoEventHandler.js";
4
+ import { useToaster as C } from "./useToaster.js";
5
+ import { displayConditions as y } from "../enums/displayConditions.js";
6
+ import h from "../extensions/Blocks/Checkbox/extension.js";
7
+ import w from "../extensions/Blocks/CouponBlock/extension.js";
8
+ import b from "../extensions/Blocks/RadioButton/extension.js";
9
+ import V from "../extensions/Blocks/Unsubscribe/extension.js";
10
+ import _ from "../extensions/DynamicContent/extension.js";
11
+ import { useStripoApi as k } from "../services/stripoApi.js";
12
+ import B from "../static/styles/customEditorStyle.css.js";
13
+ import { useEditorStore as F } from "../stores/editor.js";
14
+ import { dynamicContentToMergeTags as x } from "../utils/genericUtil.js";
11
15
  import A from "../package.json.js";
12
- const L = (d) => {
13
- const { handleError: u } = b(), { getToken: p, getCustomFonts: m } = B(), { handleEvent: g } = h(), { getStripoBlocksConfig: f } = E(), S = async (r, i = []) => {
14
- const t = _(), { html: n, css: l, forceRecreate: a } = r, { baseBlocks: e, extensions: c } = await f();
16
+ const N = (a) => {
17
+ const { handleError: d } = C(), { getToken: u, getCustomFonts: m } = k(), { handleEvent: p } = E(), l = (r, i = []) => {
18
+ const t = F(), { html: n, css: c, forceRecreate: s } = r;
15
19
  window.UIEditor.initEditor(
16
20
  document.querySelector("#guido-editor"),
17
21
  {
18
- metadata: d,
22
+ metadata: a,
19
23
  html: n,
20
- css: l,
21
- forceRecreate: a,
24
+ css: c,
25
+ forceRecreate: s,
22
26
  locale: "en",
23
27
  undoButtonSelector: "#guido__undo-button",
24
28
  redoButtonSelector: "#guido__redo-button",
@@ -28,14 +32,13 @@ const L = (d) => {
28
32
  customAppearanceMergetags: !0,
29
33
  customAppearanceMergetagsBorderColor: "#f1f3fe",
30
34
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
31
- customViewStyles: V,
35
+ customViewStyles: B,
32
36
  conditionsEnabled: !0,
33
37
  customConditionsEnabled: !0,
34
- conditionCategories: k,
38
+ conditionCategories: y,
35
39
  enableXSSSecurity: !0,
36
40
  messageSettingsEnabled: !1,
37
41
  selectBlockAfterDropFromSettingsPanel: !0,
38
- ...e ? { baseBlocks: e } : {},
39
42
  editorFonts: {
40
43
  showDefaultStandardFonts: !0,
41
44
  showDefaultNotStandardFonts: !0,
@@ -43,25 +46,25 @@ const L = (d) => {
43
46
  },
44
47
  mergeTags: [
45
48
  {
46
- entries: F(d.preselectedDynamicContentList)
49
+ entries: x(a.preselectedDynamicContentList)
47
50
  }
48
51
  ],
49
52
  async onTokenRefreshRequest(o) {
50
53
  try {
51
- const s = await p();
52
- o(s);
53
- } catch (s) {
54
- u(s, "Failed to refresh token");
54
+ const e = await u();
55
+ o(e);
56
+ } catch (e) {
57
+ d(e, "Failed to refresh token");
55
58
  }
56
59
  },
57
60
  onTemplateLoaded() {
58
61
  try {
59
- const { importCss: o } = w(), { activateCustomViewStyles: s } = y();
60
- o(), s(), d.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
62
+ const { importCss: o } = S(), { activateCustomViewStyles: e } = f();
63
+ o(), e(), a.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
61
64
  t.hasChanges = !1;
62
65
  }, 1e3);
63
66
  } catch (o) {
64
- u(o, "Failed to load custom interface appearance");
67
+ d(o, "Failed to load custom interface appearance");
65
68
  }
66
69
  },
67
70
  onCodeEditorVisibilityChanged(o) {
@@ -76,35 +79,41 @@ const L = (d) => {
76
79
  onDataChanged() {
77
80
  t.hasChanges = !0;
78
81
  },
79
- onEvent: g,
82
+ onEvent: p,
80
83
  ignoreClickOutsideSelectors: [
81
84
  "#guido-dynamic-content-modal",
82
85
  ".in-on-board-wrapper",
83
86
  ".in-drawer__container"
84
87
  ],
85
- extensions: c
88
+ extensions: [
89
+ _,
90
+ h,
91
+ b,
92
+ V,
93
+ w
94
+ ]
86
95
  }
87
96
  );
88
- }, C = (r) => new Promise((i, t) => {
89
- var c;
97
+ }, g = (r) => new Promise((i, t) => {
98
+ var e;
90
99
  if (document.getElementById("UiEditorScript")) {
91
100
  r(), i();
92
101
  return;
93
102
  }
94
- const n = A.guido, a = `https://email-static.useinsider.com/guido/${(c = n == null ? void 0 : n.stripo) == null ? void 0 : c.version}/UIEditor.js`, e = document.createElement("script");
95
- e.id = "UiEditorScript", e.type = "module", e.src = a, e.onload = () => {
103
+ const n = A.guido, s = `https://email-static.useinsider.com/guido/${(e = n == null ? void 0 : n.stripo) == null ? void 0 : e.version}/UIEditor.js`, o = document.createElement("script");
104
+ o.id = "UiEditorScript", o.type = "module", o.src = s, o.onload = () => {
96
105
  r(), i();
97
- }, e.onerror = () => {
98
- t(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
99
- }, document.body.appendChild(e);
106
+ }, o.onerror = () => {
107
+ t(new Error(`Failed to load Stripo UIEditor script from S3: ${s}`));
108
+ }, document.body.appendChild(o);
100
109
  });
101
110
  return { initPlugin: async (r) => {
102
- await C(async () => {
111
+ await g(async () => {
103
112
  const i = await m();
104
- await S(r, i);
113
+ l(r, i);
105
114
  });
106
115
  } };
107
116
  };
108
117
  export {
109
- L as useStripo
118
+ N as useStripo
110
119
  };
@@ -1,12 +1,11 @@
1
- import { migrateCheckbox as m } from "./checkboxMigrator.js";
2
- import { migrateCouponBlock as o } from "./couponBlockMigrator.js";
1
+ import { migrateCheckbox as o } from "./checkboxMigrator.js";
2
+ import { migrateCouponBlock as m } from "./couponBlockMigrator.js";
3
3
  import { migrateRadioButton as i } from "./radioButtonMigrator.js";
4
- import { migrateRecommendation as e } from "./recommendationMigrator.js";
5
- import { migrateUnsubscribe as a } from "./unsubscribeMigrator.js";
6
- const s = async (t) => {
4
+ import { migrateUnsubscribe as e } from "./unsubscribeMigrator.js";
5
+ const c = async (t) => {
7
6
  let r = t;
8
- return r = m(r), r = i(r), r = await a(r), r = o(r), r = e(r), r;
7
+ return r = o(r), r = i(r), r = await e(r), r = m(r), r;
9
8
  };
10
9
  export {
11
- s as migrate
10
+ c as migrate
12
11
  };
@@ -1,6 +1,5 @@
1
- const e = {
1
+ const a = {
2
2
  translationsPath: "window.trans.en",
3
- migrationDate: 1759696858,
4
3
  emailHeader: {
5
4
  senderName: "",
6
5
  subject: ""
@@ -8,24 +7,18 @@ const e = {
8
7
  extensions: {
9
8
  unsubscribe: !0
10
9
  },
11
- blocks: {
12
- excludeDefaults: [],
13
- includeCustoms: []
14
- },
15
10
  features: {
16
11
  dynamicContent: !0,
17
12
  saveAsTemplate: !0,
18
- versionHistory: !0,
19
- testMessage: !0
13
+ versionHistory: !0
20
14
  },
21
15
  useHeader: !0
22
16
  }, t = {
23
17
  promotional: 1,
24
18
  transactional: 2
25
- }, a = "email", o = "Guido User", s = t.promotional, n = 2, i = {
19
+ }, e = "email", o = "Guido User", n = t.promotional, s = 2, i = {
26
20
  email: 60,
27
- architect: 49,
28
- unsubscribePages: 97
21
+ architect: 49
29
22
  }, u = [
30
23
  "alfredtesting",
31
24
  "electio",
@@ -59,11 +52,11 @@ const e = {
59
52
  "stripoeditorlivetest"
60
53
  ];
61
54
  export {
62
- e as DefaultGuidoConfig,
63
- s as DefaultMessageType,
64
- a as DefaultProductType,
55
+ a as DefaultGuidoConfig,
56
+ n as DefaultMessageType,
57
+ e as DefaultProductType,
65
58
  o as DefaultUsername,
66
- n as EditorType,
59
+ s as EditorType,
67
60
  i as ProductIds,
68
61
  u as TEST_PARTNER_LIST,
69
62
  t as TemplateTypes
@@ -2,8 +2,7 @@ const e = [
2
2
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-0.ng-star-inserted",
3
3
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-1.ng-star-inserted",
4
4
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-2.ng-star-inserted"
5
- ], t = "https://academy.useinsider.com/docs/email-drag-drop-editor";
5
+ ];
6
6
  export {
7
- t as ACADEMY_LINK,
8
7
  e as SERVICE_HOVER_SELECTORS
9
8
  };
@@ -3,7 +3,7 @@ import { CheckboxBlock as t } from "./block.js";
3
3
  import { CheckboxControl as e } from "./control.js";
4
4
  import { CheckboxIconsRegistry as r } from "./iconsRegistry.js";
5
5
  import { CheckboxBlockSettings as i } from "./settingsPanel.js";
6
- const d = new o().addBlock(t).withSettingsPanelRegistry(i).addControl(e).withIconsRegistry(r).build();
6
+ const k = new o().addBlock(t).withSettingsPanelRegistry(i).addControl(e).withIconsRegistry(r).build();
7
7
  export {
8
- d as default
8
+ k as default
9
9
  };
@@ -2,7 +2,7 @@ import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-edito
2
2
  import { CouponBlock as t } from "./block.js";
3
3
  import { CouponIconsRegistry as i } from "./iconsRegistry.js";
4
4
  import { CouponBlockSettings as n } from "./settingsPanel.js";
5
- const p = new o().addBlock(t).withSettingsPanelRegistry(n).withIconsRegistry(i).build();
5
+ const m = new o().addBlock(t).withSettingsPanelRegistry(n).withIconsRegistry(i).build();
6
6
  export {
7
- p as default
7
+ m as default
8
8
  };
@@ -12,12 +12,12 @@ const e = {
12
12
  <td align="left" width="70%" style="vertical-align: top;">
13
13
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
14
14
  <tbody>
15
- <${t.BLOCK_TEXT}>
16
- {-{-TITLE-}-}
17
- </${t.BLOCK_TEXT}>
18
- <${t.BLOCK_TEXT}>
19
- {-{-DESCRIPTION-}-}
20
- </${t.BLOCK_TEXT}>
15
+ <${t.BLOCK_TEXT}>
16
+ {-{-TITLE-}-}
17
+ </${t.BLOCK_TEXT}>
18
+ <${t.BLOCK_TEXT}>
19
+ {-{-DESCRIPTION-}-}
20
+ </${t.BLOCK_TEXT}>
21
21
  </tbody>
22
22
  </table>
23
23
  </td>
@@ -1,34 +1,27 @@
1
- var m = Object.defineProperty;
2
- var r = (t, e, n) => e in t ? m(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var a = (t, e, n) => r(t, typeof e != "symbol" ? e + "" : e, n);
4
- class v {
1
+ var i = Object.defineProperty;
2
+ var d = (t, e, n) => e in t ? i(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var a = (t, e, n) => d(t, typeof e != "symbol" ? e + "" : e, n);
4
+ class y {
5
5
  constructor() {
6
6
  a(this, "selectedDynamicContent", null);
7
7
  a(this, "dataSelectCallback", () => {
8
8
  });
9
9
  }
10
- /**
11
- * Opens the merge tags library modal
12
- * @param dynamicContent - Currently selected dynamic content (if any)
13
- * @param onDataSelectCallback - Callback invoked when user selects a merge tag
14
- * @param position - Optional position data to place the modal
15
- */
16
- openMergeTagsLibrary(e, n, s) {
10
+ openMergeTagsLibrary(e, n) {
17
11
  this.dataSelectCallback = n, this.selectedDynamicContent = e;
18
- const l = {
19
- attribute: e,
20
- position: s
21
- }, i = new CustomEvent("dynamic-content:open", {
22
- detail: l
12
+ const s = new CustomEvent("dynamic-content:open", {
13
+ detail: {
14
+ attribute: e
15
+ }
23
16
  });
24
- document.dispatchEvent(i);
25
- const o = (d) => {
26
- const c = d.detail;
17
+ document.dispatchEvent(s);
18
+ const o = (l) => {
19
+ const c = l.detail;
27
20
  this.selectedDynamicContent = c, c.text && c.value && this.dataSelectCallback(c), document.removeEventListener("dynamic-content:close", o);
28
21
  };
29
22
  document.addEventListener("dynamic-content:close", o);
30
23
  }
31
24
  }
32
25
  export {
33
- v as ExternalMergeTagsLibrary
26
+ y as ExternalMergeTagsLibrary
34
27
  };
@@ -1,173 +1,61 @@
1
- var l = Object.defineProperty;
2
- var g = (r, o, t) => o in r ? l(r, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[o] = t;
3
- var s = (r, o, t) => g(r, typeof o != "symbol" ? o + "" : o, t);
4
- import { dynamicContentToMergeTags as d } from "../../utils/genericUtil.js";
5
- import { UIElement as u, UIElementType as a, UEAttr as m, UIElementTagRegistry as h } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
1
+ var o = Object.defineProperty;
2
+ var g = (n, t, e) => t in n ? o(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
+ var i = (n, t, e) => g(n, typeof t != "symbol" ? t + "" : t, e);
4
+ import { dynamicContentToMergeTags as m } from "../../utils/genericUtil.js";
5
+ import { UIElement as c, UIElementType as r, UEAttr as l, UIElementTagRegistry as d } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
6
6
  import { ExternalMergeTagsLibrary as T } from "./dynamic-content-modal.js";
7
- const c = "external-dynamic-content-ui-element", y = "button-add-dynamic-content";
8
- class C extends h {
9
- registerUiElements(o) {
10
- o[a.MERGETAGS] = c;
7
+ const a = "external-dynamic-content-ui-element", y = "button-add-dynamic-content";
8
+ class p extends d {
9
+ registerUiElements(t) {
10
+ t[r.MERGETAGS] = a;
11
11
  }
12
12
  }
13
- class E extends u {
13
+ class C extends c {
14
14
  constructor() {
15
15
  super(...arguments);
16
- s(this, "mergeTagsButton", null);
17
- s(this, "mergeTagsLibrary", null);
18
- s(this, "clickListener", null);
19
- s(this, "lastClickedPosition");
20
- s(this, "mousedownListener", null);
16
+ i(this, "mergeTagsButton", null);
17
+ i(this, "listener", () => {
18
+ });
19
+ i(this, "mergeTagsLibrary", null);
20
+ i(this, "selectedDynamicContent", { value: "", text: "" });
21
21
  }
22
22
  getId() {
23
- return c;
23
+ return a;
24
24
  }
25
- onRender(t) {
26
- var e;
27
- this.mergeTagsButton = t.querySelector("#guido__btn-add-dynamic-content"), this.clickListener = this._onClick.bind(this), (e = this.mergeTagsButton) == null || e.addEventListener("click", this.clickListener), this._setupCoordinateTracking();
25
+ onRender(e) {
26
+ var s;
27
+ this.listener = this._onClick.bind(this), this.mergeTagsButton = e.querySelector("#guido__btn-add-dynamic-content"), (s = this.mergeTagsButton) == null || s.addEventListener("click", this.listener);
28
28
  }
29
29
  onDestroy() {
30
- var t;
31
- this.clickListener && ((t = this.mergeTagsButton) == null || t.removeEventListener("click", this.clickListener)), this._cleanupCoordinateTracking(), this.mergeTagsButton = null, this.clickListener = null, this.lastClickedPosition = void 0;
30
+ var e;
31
+ (e = this.mergeTagsButton) == null || e.removeEventListener("click", this.listener);
32
32
  }
33
33
  _onClick() {
34
34
  this.openMergeTagLibrary();
35
35
  }
36
- /**
37
- * Called when Stripo detects merge tag interactions
38
- * This is the key method that receives notifications about merge tag clicks
39
- * @param name - Attribute name (e.g., 'mergeTag')
40
- * @param value - MergeTag object with label, value, selStart, selEnd, etc.
41
- */
42
- onAttributeUpdated(t, e) {
43
- if (t !== "mergeTag" || !e)
44
- return;
45
- const n = {
46
- text: e.label,
47
- value: e.value
48
- }, i = this.lastClickedPosition;
49
- this.lastClickedPosition = void 0, this._openDynamicContentLibrary(n, i);
50
- }
51
36
  openMergeTagLibrary() {
52
- const t = this._getButtonPosition(), e = { value: "", text: "" };
53
- this._openDynamicContentLibrary(e, t);
54
- }
55
- /**
56
- * Opens the dynamic content library for external apps
57
- * Dispatches event with dynamic content data and position
58
- */
59
- _openDynamicContentLibrary(t, e) {
60
- this._ensureMergeTagsLibrary(), this.mergeTagsLibrary.openMergeTagsLibrary(
61
- t,
62
- (n) => {
63
- this.api.triggerValueChange(d([n])[0]);
64
- },
65
- e
66
- );
67
- }
68
- /**
69
- * Ensures merge tags library is initialized
70
- */
71
- _ensureMergeTagsLibrary() {
72
- this.mergeTagsLibrary || (this.mergeTagsLibrary = new T());
73
- }
74
- /**
75
- * Gets the button's position on the screen
76
- * Used to position the modal near the button
77
- */
78
- _getButtonPosition() {
79
- const t = this.mergeTagsButton.getBoundingClientRect();
80
- return {
81
- x: t.left,
82
- y: t.top,
83
- width: t.width,
84
- height: t.height
85
- };
86
- }
87
- /**
88
- * Sets up coordinate tracking for merge tag clicks in the iframe
89
- * Workaround for Stripo intercepting click events - tracks mousedown events instead
90
- */
91
- // TODO: Check possibilities with baseApi to get the position of the merge tag and its values
92
- _setupCoordinateTracking() {
93
- const t = () => {
94
- const e = this._getEditorFrame();
95
- if (!e) {
96
- setTimeout(t, 100);
97
- return;
37
+ this.mergeTagsLibrary || (this.mergeTagsLibrary = new T()), this.mergeTagsLibrary.openMergeTagsLibrary(
38
+ this.selectedDynamicContent,
39
+ (e) => {
40
+ this.api.onValueChanged(m([e])[0]);
98
41
  }
99
- this.mousedownListener = (n) => {
100
- const i = this._findMergeTagElement(n.target);
101
- i && (this.lastClickedPosition = this._calculateAbsolutePosition(e, i));
102
- }, e.contentWindow.document.addEventListener("mousedown", this.mousedownListener);
103
- };
104
- t();
105
- }
106
- /**
107
- * Gets the editor iframe element
108
- */
109
- _getEditorFrame() {
110
- var n;
111
- const t = document.querySelector("ui-editor");
112
- if (!(t != null && t.shadowRoot))
113
- return null;
114
- const e = t.shadowRoot.querySelector("iframe");
115
- return (n = e == null ? void 0 : e.contentWindow) != null && n.document ? e : null;
116
- }
117
- /**
118
- * Finds merge tag element in the element tree
119
- */
120
- _findMergeTagElement(t) {
121
- var n, i;
122
- let e = t;
123
- for (; e; ) {
124
- if ((n = e.classList) != null && n.contains("target") || (i = e.classList) != null && i.contains("esd-merge-tag"))
125
- return e;
126
- e = e.parentElement;
127
- }
128
- return null;
129
- }
130
- /**
131
- * Calculates absolute position of element relative to page
132
- */
133
- _calculateAbsolutePosition(t, e) {
134
- const n = t.getBoundingClientRect(), i = e.getBoundingClientRect();
135
- return {
136
- x: n.x + i.x,
137
- y: n.y + i.y,
138
- width: i.width,
139
- height: i.height
140
- };
141
- }
142
- /**
143
- * Cleans up the coordinate tracking event listener
144
- */
145
- _cleanupCoordinateTracking() {
146
- var e;
147
- if (!this.mousedownListener)
148
- return;
149
- const t = this._getEditorFrame();
150
- (e = t == null ? void 0 : t.contentWindow) != null && e.document && t.contentWindow.document.removeEventListener("mousedown", this.mousedownListener), this.mousedownListener = null;
42
+ );
151
43
  }
152
- /**
153
- * Returns the HTML template for the "Add Dynamic Content" button
154
- * This button is placed in the merge tags selector UI
155
- */
156
44
  getTemplate() {
157
45
  return `
158
46
  <div>
159
- <${a.BUTTON}
47
+ <${r.BUTTON}
160
48
  id="guido__btn-add-dynamic-content"
161
49
  class="btn btn-primary"
162
- ${m.BUTTON.name}="${y}">
163
- <${a.ICON} src="plus" class="icon icon-button color-primary">
164
- </${a.ICON}>
50
+ ${l.BUTTON.name}="${y}">
51
+ <${r.ICON} src="plus" class="icon icon-button color-primary">
52
+ </${r.ICON}>
165
53
  ${this.api.translate("Add Dynamic Content")}
166
- </${a.BUTTON}>
54
+ </${r.BUTTON}>
167
55
  </div>`;
168
56
  }
169
57
  }
170
58
  export {
171
- C as DynamicContentTagRegistry,
172
- E as DynamicContentUiElementExtension
59
+ p as DynamicContentTagRegistry,
60
+ C as DynamicContentUiElementExtension
173
61
  };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-0502bceb] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-dced5582]{height:100%;top:75px}.guido-editor__wrapper[data-v-9fb62152],.guido-editor__container[data-v-9fb62152]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-9fb62152]{height:calc(100vh - 75px)}[data-v-70835920] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-dd57102d] .guido__verion-history-view-option-selection-desktop svg,[data-v-dd57102d] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-dd57102d] .in-segments-wrapper__button_selected,[data-v-dd57102d] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
1
+ [data-v-2c168944] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-dced5582]{height:100%;top:75px}.guido-editor__wrapper[data-v-96687c1d],.guido-editor__container[data-v-96687c1d]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-96687c1d]{height:calc(100vh - 75px)}[data-v-70835920] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-dd57102d] .guido__verion-history-view-option-selection-desktop svg,[data-v-dd57102d] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-dd57102d] .in-segments-wrapper__button_selected,[data-v-dd57102d] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}