@useinsider/guido 3.12.1-beta.3214ec4 → 3.13.0-beta.b66d46a

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 (43) hide show
  1. package/README.md +16 -1
  2. package/dist/@types/config/schemas.js +27 -25
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +110 -101
  5. package/dist/components/organisms/header/ViewOptions.vue.js +1 -1
  6. package/dist/components/organisms/header/version-history/ViewOptions.vue.js +1 -1
  7. package/dist/composables/useAllowlist.js +50 -0
  8. package/dist/composables/useSave.js +42 -23
  9. package/dist/composables/useStripo.js +72 -69
  10. package/dist/composables/useUserRole.js +12 -0
  11. package/dist/enums/roles.js +4 -0
  12. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +1 -1
  13. package/dist/extensions/Blocks/Recommendation/controls/blockBackground/index.js +10 -0
  14. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +12 -12
  15. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +12 -12
  16. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +12 -12
  17. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +12 -12
  18. package/dist/extensions/Blocks/Recommendation/extension.js +23 -21
  19. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +41 -40
  20. package/dist/extensions/Blocks/Recommendation/utils/captureStyleTemplates.js +7 -7
  21. package/dist/extensions/Blocks/controlFactories.js +125 -75
  22. package/dist/guido.css +1 -1
  23. package/dist/services/allowlistApi.js +15 -0
  24. package/dist/services/stripoApi.js +18 -18
  25. package/dist/src/@types/config/schemas.d.ts +10 -0
  26. package/dist/src/components/Guido.vue.d.ts +18 -2
  27. package/dist/src/composables/useAllowlist.d.ts +6 -0
  28. package/dist/src/composables/useConfig.d.ts +2 -0
  29. package/dist/src/composables/useStripo.d.ts +3 -2
  30. package/dist/src/composables/useUserRole.d.ts +3 -0
  31. package/dist/src/enums/roles.d.ts +9 -0
  32. package/dist/src/extensions/Blocks/Recommendation/constants/controlIds.d.ts +1 -0
  33. package/dist/src/extensions/Blocks/Recommendation/controls/blockBackground/index.d.ts +14 -0
  34. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +1 -0
  35. package/dist/src/extensions/Blocks/controlFactories.d.ts +36 -0
  36. package/dist/src/services/allowlistApi.d.ts +4 -0
  37. package/dist/src/stores/config.d.ts +21 -1
  38. package/dist/static/styles/components/base-input.css.js +6 -7
  39. package/dist/stores/config.js +21 -19
  40. package/dist/utils/pairProductVariables.js +44 -43
  41. package/dist/{extensions/Blocks/Recommendation/utils → utils}/preserveTextStyles.js +1 -1
  42. package/package.json +2 -2
  43. /package/dist/src/{extensions/Blocks/Recommendation/utils → utils}/preserveTextStyles.d.ts +0 -0
@@ -1,31 +1,44 @@
1
- import { useActionsApi as x } from "./useActionsApi.js";
1
+ import { useActionsApi as L } from "./useActionsApi.js";
2
2
  import { useBlocksConfig as O } from "./useBlocksConfig.js";
3
3
  import { useConfig as q } from "./useConfig.js";
4
4
  import { useCustomInterfaceAppearance as H } from "./useCustomInterfaceAppearance.js";
5
- import { useFullStoryBridge as L } from "./useFullStoryBridge.js";
6
- import { useModuleDynamicContentRepair as N } from "./useModuleDynamicContentRepair.js";
5
+ import { useFullStoryBridge as N } from "./useFullStoryBridge.js";
6
+ import { useModuleDynamicContentRepair as j } from "./useModuleDynamicContentRepair.js";
7
7
  import { useStripoEventHandler as z } from "./useStripoEventHandler.js";
8
8
  import { useStripoNotifications as $ } from "./useStripoNotifications.js";
9
9
  import { useToaster as G } from "./useToaster.js";
10
10
  import { localePatch as J } from "../config/i18n/index.js";
11
- import { en as E } from "../config/i18n/en/index.js";
11
+ import { en as w } from "../config/i18n/en/index.js";
12
12
  import { ToasterTypeOptions as X } from "../enums/toaster.js";
13
- import { useStripoApi as j } from "../services/stripoApi.js";
14
- import K from "../static/styles/customEditorStyle.css.js";
15
- import { useEditorStore as w } from "../stores/editor.js";
16
- import { buildMergeTagEntries as Q, flattenDynamicContentList as W } from "../utils/genericUtil.js";
17
- import Y from "../package.json.js";
18
- const he = (b, l) => {
19
- const { features: c, template: u, isFeatureEnabled: m } = q(), { handleError: p, showToaster: k } = G(), { getToken: T, getCustomFonts: v, getSyncModulesStatus: B } = j(), { handleEvent: F } = z(), { handleModuleAdd: M } = N(), { getStripoBlocksConfig: A } = O(), { getStripoNotifications: V } = $(), _ = async (n, i = [], r = !1) => {
20
- var S, y, h, C;
21
- const e = w(), { html: f, css: a } = n, { baseBlocks: o, extensions: d } = await A(), g = ((S = c.value) == null ? void 0 : S.displayConditions) ?? !0, P = ((y = c.value) == null ? void 0 : y.modulesDisabled) ?? !1, I = ((h = u.value) == null ? void 0 : h.forceRecreate) ?? !1;
13
+ import { useStripoApi as K } from "../services/stripoApi.js";
14
+ import Q from "../static/styles/customEditorStyle.css.js";
15
+ import { useEditorStore as b } from "../stores/editor.js";
16
+ import { buildMergeTagEntries as W, flattenDynamicContentList as Y } from "../utils/genericUtil.js";
17
+ import Z from "../package.json.js";
18
+ let n = null;
19
+ const Ct = () => {
20
+ const { features: c, template: u, isFeatureEnabled: m } = q(), { handleError: p, showToaster: k } = G(), { getToken: T, getCustomFonts: v, getSyncModulesStatus: B } = K(), { handleEvent: F } = z(), { handleModuleAdd: M } = j(), { getStripoBlocksConfig: A } = O(), { getStripoNotifications: V } = $(), f = () => n || (n = new Promise((i, s) => {
21
+ var l;
22
+ if (document.getElementById("UiEditorScript")) {
23
+ i();
24
+ return;
25
+ }
26
+ const o = Z.guido, r = `https://email-static.useinsider.com/guido/${(l = o == null ? void 0 : o.stripo) == null ? void 0 : l.version}/UIEditor.js`, t = document.createElement("script");
27
+ t.id = "UiEditorScript", t.type = "module", t.src = r, t.onload = () => i(), t.onerror = () => {
28
+ t.remove(), s(new Error(`Failed to load Stripo UIEditor script from S3: ${r}`));
29
+ }, document.body.appendChild(t);
30
+ }), n.catch(() => {
31
+ n = null;
32
+ }), n), _ = async (i, s, o, a = [], r = !1) => {
33
+ var y, E, h, C;
34
+ const t = b(), { html: l, css: D } = i, { baseBlocks: g, extensions: R } = await A(), S = ((y = c.value) == null ? void 0 : y.displayConditions) ?? !0, P = ((E = c.value) == null ? void 0 : E.modulesDisabled) ?? !1, U = ((h = u.value) == null ? void 0 : h.forceRecreate) ?? !1;
22
35
  await window.UIEditor.initEditor(
23
36
  document.querySelector("#guido-editor"),
24
37
  {
25
- metadata: b,
26
- html: f,
27
- css: a,
28
- forceRecreate: I,
38
+ metadata: s,
39
+ html: l,
40
+ css: D,
41
+ forceRecreate: U,
29
42
  locale: "en",
30
43
  undoButtonSelector: "#guido__undo-button",
31
44
  redoButtonSelector: "#guido__redo-button",
@@ -35,9 +48,9 @@ const he = (b, l) => {
35
48
  customAppearanceMergetags: !m("liquidSyntax"),
36
49
  customAppearanceMergetagsBorderColor: "#f1f3fe",
37
50
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
38
- customViewStyles: K,
39
- conditionsEnabled: g,
40
- customConditionsEnabled: g,
51
+ customViewStyles: Q,
52
+ conditionsEnabled: S,
53
+ customConditionsEnabled: S,
41
54
  enableXSSSecurity: !0,
42
55
  modulesDisabled: P,
43
56
  syncModulesEnabled: r,
@@ -49,50 +62,50 @@ const he = (b, l) => {
49
62
  selectElementAfterDrop: !0,
50
63
  sameFontSizeForOutlook: !0,
51
64
  allowedScriptSourceDomains: "https://email-static.useinsider.com https://edge.fullstory.com https://rs.fullstory.com",
52
- ...o ? { baseBlocks: o } : {},
65
+ ...g ? { baseBlocks: g } : {},
53
66
  editorFonts: {
54
67
  showDefaultStandardFonts: !0,
55
68
  showDefaultNotStandardFonts: !0,
56
- customFonts: i
69
+ customFonts: a
57
70
  },
58
71
  mergeTags: [
59
72
  {
60
- entries: Q(
61
- l.preselectedDynamicContentList,
62
- W((C = u.value) == null ? void 0 : C.dynamicContentList),
73
+ entries: W(
74
+ o.preselectedDynamicContentList,
75
+ Y((C = u.value) == null ? void 0 : C.dynamicContentList),
63
76
  m("liquidSyntax")
64
77
  )
65
78
  }
66
79
  ],
67
- async onTokenRefreshRequest(t) {
80
+ async onTokenRefreshRequest(e) {
68
81
  try {
69
- const s = await T();
70
- t(s);
71
- } catch (s) {
72
- p(s, "Failed to refresh token");
82
+ const d = await T();
83
+ e(d);
84
+ } catch (d) {
85
+ p(d, "Failed to refresh token");
73
86
  }
74
87
  },
75
88
  onTemplateLoaded() {
76
89
  try {
77
- const { importCss: t } = H(), { activateCustomViewStyles: s, updateTimerInClonedTemplate: R } = x(), { injectFullStory: U } = L();
78
- t(), s(), U(), R(), l.onReady(), e.isStripoInitialized = !0, e.loadingStatus = !1, setTimeout(() => {
79
- e.hasChanges = !1;
90
+ const { importCss: e } = H(), { activateCustomViewStyles: d, updateTimerInClonedTemplate: I } = L(), { injectFullStory: x } = N();
91
+ e(), d(), x(), I(), o.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
92
+ t.hasChanges = !1;
80
93
  }, 1e3);
81
- } catch (t) {
82
- p(t, "Failed to load custom interface appearance");
94
+ } catch (e) {
95
+ p(e, "Failed to load custom interface appearance");
83
96
  }
84
97
  },
85
- onCodeEditorVisibilityChanged(t) {
86
- e.isCodeEditorOpen = t;
98
+ onCodeEditorVisibilityChanged(e) {
99
+ t.isCodeEditorOpen = e;
87
100
  },
88
- onEditorVisualModeChanged(t) {
89
- e.editorVisualMode = t.toLowerCase();
101
+ onEditorVisualModeChanged(e) {
102
+ t.editorVisualMode = e.toLowerCase();
90
103
  },
91
- onVersionHistoryVisibilityChanged(t) {
92
- e.isVersionHistoryOpen = t;
104
+ onVersionHistoryVisibilityChanged(e) {
105
+ t.isVersionHistoryOpen = e;
93
106
  },
94
107
  onDataChanged() {
95
- e.hasChanges = !0;
108
+ t.hasChanges = !0;
96
109
  },
97
110
  onEvent: F,
98
111
  onModuleAdd: M,
@@ -102,45 +115,35 @@ const he = (b, l) => {
102
115
  ".in-on-board-wrapper",
103
116
  ".in-drawer__container"
104
117
  ],
105
- extensions: d,
118
+ extensions: R,
106
119
  localePatch: J
107
120
  }
108
121
  );
109
- }, D = (n) => new Promise((i, r) => {
110
- var d;
111
- if (document.getElementById("UiEditorScript")) {
112
- Promise.resolve(n()).then(i, r);
113
- return;
114
- }
115
- const e = Y.guido, a = `https://email-static.useinsider.com/guido/${(d = e == null ? void 0 : e.stripo) == null ? void 0 : d.version}/UIEditor.js`, o = document.createElement("script");
116
- o.id = "UiEditorScript", o.type = "module", o.src = a, o.onload = () => {
117
- Promise.resolve(n()).then(i, r);
118
- }, o.onerror = () => {
119
- r(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
120
- }, document.body.appendChild(o);
121
- });
122
- return { initPlugin: async (n) => {
123
- const i = w();
122
+ };
123
+ return { initPlugin: async (i, s, o) => {
124
+ const a = b();
124
125
  try {
125
- await D(async () => {
126
- const [r, e] = await Promise.all([
127
- v(),
128
- B()
129
- ]);
130
- i.syncModulesEnabled = e, await _(n, r, e);
131
- });
126
+ await f();
127
+ const [r, t] = await Promise.all([
128
+ v(),
129
+ B()
130
+ ]);
131
+ a.syncModulesEnabled = t, await _(i, s, o, r, t);
132
132
  } catch {
133
- i.loadingStatus = !1, k({
133
+ a.loadingStatus = !1, k({
134
134
  type: X.Error,
135
- message: E["An error has occurred. Please report the error code to support."],
135
+ message: w["An error has occurred. Please report the error code to support."],
136
136
  actionButton: {
137
- text: E["Reload page"],
137
+ text: w["Reload page"],
138
138
  onClick: () => window.location.reload()
139
139
  }
140
140
  });
141
141
  }
142
+ }, preloadRuntime: () => {
143
+ f().catch(() => {
144
+ });
142
145
  } };
143
146
  };
144
147
  export {
145
- he as useStripo
148
+ Ct as useStripo
146
149
  };
@@ -0,0 +1,12 @@
1
+ import { RoleEnums as t } from "../enums/roles.js";
2
+ import { useAllowlistApi as s } from "../services/allowlistApi.js";
3
+ let e = null, l = null;
4
+ const c = () => {
5
+ const { getUserRole: n } = s();
6
+ return { getIsManageUser: async () => e !== null ? e : (l || (l = n().then((r) => (e = r === t.MANAGE_USERS, e)).catch((r) => (console.error("[GUIDO_ALLOWLIST] role fetch failed", r), !1)).finally(() => {
7
+ l = null;
8
+ })), l) };
9
+ };
10
+ export {
11
+ c as useUserRole
12
+ };
@@ -0,0 +1,4 @@
1
+ var e = /* @__PURE__ */ ((r) => (r.MANAGE_USERS = "manage-users", r))(e || {});
2
+ export {
3
+ e as RoleEnums
4
+ };
@@ -1,4 +1,4 @@
1
- var o = /* @__PURE__ */ ((c) => (c.BUTTON_ALIGN = "recommendation-block-button-align-control", c.BUTTON_BORDER = "recommendation-block-button-border-control", c.BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control", c.BUTTON_COLOR = "recommendation-block-button-color-control", c.BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control", c.BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control", c.BUTTON_MARGINS = "recommendation-block-button-margins-control", c.BUTTON_PADDINGS = "recommendation-block-button-paddings-control", c.BUTTON_TEXT = "recommendation-block-button-text-control", c.BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control", c.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control", c.NAME_ALIGN = "recommendation-block-name-align-control", c.NAME_BACKGROUND = "recommendation-block-name-background-control", c.NAME_COLOR = "recommendation-block-name-color-control", c.NAME_FONT_FAMILY = "recommendation-block-name-font-family-control", c.NAME_PADDINGS = "recommendation-block-name-paddings-control", c.NAME_SIZE = "recommendation-block-name-size-control", c.NAME_STYLE = "recommendation-block-name-style-control", c.NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control", c.PRICE_ALIGN = "recommendation-block-price-align-control", c.PRICE_BACKGROUND = "recommendation-block-price-background-control", c.PRICE_COLOR = "recommendation-block-price-color-control", c.PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control", c.PRICE_PADDINGS = "recommendation-block-price-paddings-control", c.PRICE_SIZE = "recommendation-block-price-size-control", c.PRICE_STYLE = "recommendation-block-price-style-control", c.OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control", c.OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control", c.OLD_PRICE_COLOR = "recommendation-block-old-price-color-control", c.OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control", c.OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control", c.OLD_PRICE_SIZE = "recommendation-block-old-price-size-control", c.OLD_PRICE_STYLE = "recommendation-block-old-price-style-control", c.OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control", c.OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control", c.OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control", c.OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control", c.OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control", c.OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control", c.OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control", c.OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control", c.OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control", c.OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control", c.OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control", c.OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control", c.OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control", c.OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control", c.OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control", c.OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control", c.OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control", c.OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c.CUSTOM_ATTR_ALIGN = "recommendation-block-custom-attr-align-control", c.CUSTOM_ATTR_BACKGROUND = "recommendation-block-custom-attr-background-control", c.CUSTOM_ATTR_COLOR = "recommendation-block-custom-attr-color-control", c.CUSTOM_ATTR_FONT_FAMILY = "recommendation-block-custom-attr-font-family-control", c.CUSTOM_ATTR_PADDINGS = "recommendation-block-custom-attr-paddings-control", c.CUSTOM_ATTR_SIZE = "recommendation-block-custom-attr-size-control", c.CUSTOM_ATTR_STYLE = "recommendation-block-custom-attr-style-control", c.CUSTOM_ATTR_TEXT_TRIM = "recommendation-block-custom-attr-text-trim-control", c.SYNC_INFO_MESSAGE = "recommendation-block-sync-info-message", c))(o || {});
1
+ var o = /* @__PURE__ */ ((c) => (c.BLOCK_BACKGROUND = "recommendation-block-background-color-control", c.BUTTON_ALIGN = "recommendation-block-button-align-control", c.BUTTON_BORDER = "recommendation-block-button-border-control", c.BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control", c.BUTTON_COLOR = "recommendation-block-button-color-control", c.BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control", c.BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control", c.BUTTON_MARGINS = "recommendation-block-button-margins-control", c.BUTTON_PADDINGS = "recommendation-block-button-paddings-control", c.BUTTON_TEXT = "recommendation-block-button-text-control", c.BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control", c.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control", c.NAME_ALIGN = "recommendation-block-name-align-control", c.NAME_BACKGROUND = "recommendation-block-name-background-control", c.NAME_COLOR = "recommendation-block-name-color-control", c.NAME_FONT_FAMILY = "recommendation-block-name-font-family-control", c.NAME_PADDINGS = "recommendation-block-name-paddings-control", c.NAME_SIZE = "recommendation-block-name-size-control", c.NAME_STYLE = "recommendation-block-name-style-control", c.NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control", c.PRICE_ALIGN = "recommendation-block-price-align-control", c.PRICE_BACKGROUND = "recommendation-block-price-background-control", c.PRICE_COLOR = "recommendation-block-price-color-control", c.PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control", c.PRICE_PADDINGS = "recommendation-block-price-paddings-control", c.PRICE_SIZE = "recommendation-block-price-size-control", c.PRICE_STYLE = "recommendation-block-price-style-control", c.OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control", c.OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control", c.OLD_PRICE_COLOR = "recommendation-block-old-price-color-control", c.OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control", c.OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control", c.OLD_PRICE_SIZE = "recommendation-block-old-price-size-control", c.OLD_PRICE_STYLE = "recommendation-block-old-price-style-control", c.OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control", c.OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control", c.OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control", c.OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control", c.OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control", c.OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control", c.OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control", c.OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control", c.OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control", c.OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control", c.OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control", c.OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control", c.OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control", c.OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control", c.OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control", c.OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control", c.OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control", c.OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c.CUSTOM_ATTR_ALIGN = "recommendation-block-custom-attr-align-control", c.CUSTOM_ATTR_BACKGROUND = "recommendation-block-custom-attr-background-control", c.CUSTOM_ATTR_COLOR = "recommendation-block-custom-attr-color-control", c.CUSTOM_ATTR_FONT_FAMILY = "recommendation-block-custom-attr-font-family-control", c.CUSTOM_ATTR_PADDINGS = "recommendation-block-custom-attr-paddings-control", c.CUSTOM_ATTR_SIZE = "recommendation-block-custom-attr-size-control", c.CUSTOM_ATTR_STYLE = "recommendation-block-custom-attr-style-control", c.CUSTOM_ATTR_TEXT_TRIM = "recommendation-block-custom-attr-text-trim-control", c.SYNC_INFO_MESSAGE = "recommendation-block-sync-info-message", c))(o || {});
2
2
  export {
3
3
  o as RecommendationControlId
4
4
  };
@@ -0,0 +1,10 @@
1
+ import { createBlockBackgroundColorControl as o } from "../../../controlFactories.js";
2
+ import { RecommendationControlId as r } from "../../constants/controlIds.js";
3
+ import { BLOCK_ROOT_SELECTOR as t } from "../../constants/selectors.js";
4
+ const c = o(
5
+ r.BLOCK_BACKGROUND,
6
+ t
7
+ );
8
+ export {
9
+ c as BlockBackgroundColorControl
10
+ };
@@ -1,13 +1,13 @@
1
- import { ModificationDescription as m } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as c } from "../../../common-control.js";
3
- import { RecommendationBlockId as l } from "../../constants/blockIds.js";
4
- import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
- import { BLOCK_ROOT_SELECTOR as T } from "../../constants/selectors.js";
6
- import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
1
+ import { preserveTextStyles as m } from "../../../../../utils/preserveTextStyles.js";
2
+ import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ import { CommonControl as l } from "../../../common-control.js";
4
+ import { RecommendationBlockId as d } from "../../constants/blockIds.js";
5
+ import { RecommendationControlId as T } from "../../constants/controlIds.js";
6
+ import { BLOCK_ROOT_SELECTOR as f } from "../../constants/selectors.js";
7
7
  const i = "data-text-after", u = "", p = ".omnibus-text-after";
8
- class g extends c {
8
+ class g extends l {
9
9
  getId() {
10
- return d.OMNIBUS_DISCOUNT_TEXT_AFTER;
10
+ return T.OMNIBUS_DISCOUNT_TEXT_AFTER;
11
11
  }
12
12
  getTemplate() {
13
13
  return `
@@ -44,11 +44,11 @@ class g extends c {
44
44
  _onTextChange(t) {
45
45
  if (!this.currentNode || !("closest" in this.currentNode))
46
46
  return;
47
- const e = this.currentNode.closest(T);
47
+ const e = this.currentNode.closest(f);
48
48
  if (!e || !("querySelectorAll" in e))
49
49
  return;
50
50
  const n = Array.from(
51
- e.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_DISCOUNT}"]`)
51
+ e.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_DISCOUNT}"]`)
52
52
  );
53
53
  if (!n.length)
54
54
  return;
@@ -57,10 +57,10 @@ class g extends c {
57
57
  o.modifyHtml(s).setAttribute(i, t);
58
58
  const r = s.querySelector(p);
59
59
  if (r) {
60
- const a = f(r, t);
60
+ const a = m(r, t);
61
61
  o.modifyHtml(r).setInnerHtml(a);
62
62
  }
63
- }), o.apply(new m("Update omnibus discount text after"));
63
+ }), o.apply(new c("Update omnibus discount text after"));
64
64
  }
65
65
  _listenToFormUpdates() {
66
66
  this.api.onValueChanged("omnibusDiscountTextAfter", (t) => {
@@ -1,13 +1,13 @@
1
- import { ModificationDescription as a } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as c } from "../../../common-control.js";
3
- import { RecommendationBlockId as l } from "../../constants/blockIds.js";
4
- import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
- import { BLOCK_ROOT_SELECTOR as T } from "../../constants/selectors.js";
6
- import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
1
+ import { preserveTextStyles as a } from "../../../../../utils/preserveTextStyles.js";
2
+ import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ import { CommonControl as l } from "../../../common-control.js";
4
+ import { RecommendationBlockId as d } from "../../constants/blockIds.js";
5
+ import { RecommendationControlId as T } from "../../constants/controlIds.js";
6
+ import { BLOCK_ROOT_SELECTOR as f } from "../../constants/selectors.js";
7
7
  const i = "data-text-before", u = "", p = ".omnibus-text-before";
8
- class g extends c {
8
+ class g extends l {
9
9
  getId() {
10
- return d.OMNIBUS_DISCOUNT_TEXT_BEFORE;
10
+ return T.OMNIBUS_DISCOUNT_TEXT_BEFORE;
11
11
  }
12
12
  getTemplate() {
13
13
  return `
@@ -44,11 +44,11 @@ class g extends c {
44
44
  _onTextChange(t) {
45
45
  if (!this.currentNode || !("closest" in this.currentNode))
46
46
  return;
47
- const e = this.currentNode.closest(T);
47
+ const e = this.currentNode.closest(f);
48
48
  if (!e || !("querySelectorAll" in e))
49
49
  return;
50
50
  const n = Array.from(
51
- e.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_DISCOUNT}"]`)
51
+ e.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_DISCOUNT}"]`)
52
52
  );
53
53
  if (!n.length)
54
54
  return;
@@ -57,10 +57,10 @@ class g extends c {
57
57
  o.modifyHtml(s).setAttribute(i, t);
58
58
  const r = s.querySelector(p);
59
59
  if (r) {
60
- const m = f(r, t);
60
+ const m = a(r, t);
61
61
  o.modifyHtml(r).setInnerHtml(m);
62
62
  }
63
- }), o.apply(new a("Update omnibus discount text before"));
63
+ }), o.apply(new c("Update omnibus discount text before"));
64
64
  }
65
65
  _listenToFormUpdates() {
66
66
  this.api.onValueChanged("omnibusDiscountTextBefore", (t) => {
@@ -1,13 +1,13 @@
1
- import { ModificationDescription as u } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as c } from "../../../common-control.js";
3
- import { RecommendationBlockId as l } from "../../constants/blockIds.js";
4
- import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
- import { BLOCK_ROOT_SELECTOR as T } from "../../constants/selectors.js";
6
- import { preserveTextStyles as p } from "../../utils/preserveTextStyles.js";
1
+ import { preserveTextStyles as u } from "../../../../../utils/preserveTextStyles.js";
2
+ import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ import { CommonControl as l } from "../../../common-control.js";
4
+ import { RecommendationBlockId as d } from "../../constants/blockIds.js";
5
+ import { RecommendationControlId as T } from "../../constants/controlIds.js";
6
+ import { BLOCK_ROOT_SELECTOR as p } from "../../constants/selectors.js";
7
7
  const s = "data-text-after", a = "", f = ".omnibus-text-after";
8
- class g extends c {
8
+ class g extends l {
9
9
  getId() {
10
- return d.OMNIBUS_PRICE_TEXT_AFTER;
10
+ return T.OMNIBUS_PRICE_TEXT_AFTER;
11
11
  }
12
12
  getTemplate() {
13
13
  return `
@@ -44,11 +44,11 @@ class g extends c {
44
44
  _onTextChange(t) {
45
45
  if (!this.currentNode || !("closest" in this.currentNode))
46
46
  return;
47
- const e = this.currentNode.closest(T);
47
+ const e = this.currentNode.closest(p);
48
48
  if (!e || !("querySelectorAll" in e))
49
49
  return;
50
50
  const n = Array.from(
51
- e.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_PRICE}"]`)
51
+ e.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_PRICE}"]`)
52
52
  );
53
53
  if (!n.length)
54
54
  return;
@@ -57,10 +57,10 @@ class g extends c {
57
57
  r.modifyHtml(i).setAttribute(s, t);
58
58
  const o = i.querySelector(f);
59
59
  if (o) {
60
- const m = p(o, t);
60
+ const m = u(o, t);
61
61
  r.modifyHtml(o).setInnerHtml(m);
62
62
  }
63
- }), r.apply(new u("Update omnibus price text after"));
63
+ }), r.apply(new c("Update omnibus price text after"));
64
64
  }
65
65
  _listenToFormUpdates() {
66
66
  this.api.onValueChanged("omnibusPriceTextAfter", (t) => {
@@ -1,13 +1,13 @@
1
- import { ModificationDescription as u } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as c } from "../../../common-control.js";
3
- import { RecommendationBlockId as l } from "../../constants/blockIds.js";
4
- import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
- import { BLOCK_ROOT_SELECTOR as p } from "../../constants/selectors.js";
6
- import { preserveTextStyles as T } from "../../utils/preserveTextStyles.js";
1
+ import { preserveTextStyles as u } from "../../../../../utils/preserveTextStyles.js";
2
+ import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ import { CommonControl as l } from "../../../common-control.js";
4
+ import { RecommendationBlockId as d } from "../../constants/blockIds.js";
5
+ import { RecommendationControlId as p } from "../../constants/controlIds.js";
6
+ import { BLOCK_ROOT_SELECTOR as T } from "../../constants/selectors.js";
7
7
  const s = "data-text-before", a = "", f = ".omnibus-text-before";
8
- class g extends c {
8
+ class g extends l {
9
9
  getId() {
10
- return d.OMNIBUS_PRICE_TEXT_BEFORE;
10
+ return p.OMNIBUS_PRICE_TEXT_BEFORE;
11
11
  }
12
12
  getTemplate() {
13
13
  return `
@@ -44,11 +44,11 @@ class g extends c {
44
44
  _onTextChange(e) {
45
45
  if (!this.currentNode || !("closest" in this.currentNode))
46
46
  return;
47
- const t = this.currentNode.closest(p);
47
+ const t = this.currentNode.closest(T);
48
48
  if (!t || !("querySelectorAll" in t))
49
49
  return;
50
50
  const n = Array.from(
51
- t.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_PRICE}"]`)
51
+ t.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_PRICE}"]`)
52
52
  );
53
53
  if (!n.length)
54
54
  return;
@@ -57,10 +57,10 @@ class g extends c {
57
57
  o.modifyHtml(i).setAttribute(s, e);
58
58
  const r = i.querySelector(f);
59
59
  if (r) {
60
- const m = T(r, e);
60
+ const m = u(r, e);
61
61
  o.modifyHtml(r).setInnerHtml(m);
62
62
  }
63
- }), o.apply(new u("Update omnibus price text before"));
63
+ }), o.apply(new c("Update omnibus price text before"));
64
64
  }
65
65
  _listenToFormUpdates() {
66
66
  this.api.onValueChanged("omnibusPriceTextBefore", (e) => {
@@ -1,4 +1,4 @@
1
- import { ExtensionBuilder as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
1
+ import { ExtensionBuilder as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { RecommendationBlock as m } from "./block.js";
3
3
  import n from "./canvasPreview.css.js";
4
4
  import { RecommendationBlockControl as i } from "./controls/main/index.js";
@@ -6,42 +6,44 @@ import "./constants/selectors.js";
6
6
  import "./store/recommendation.js";
7
7
  import "./utils/captureStyleTemplates.js";
8
8
  import { NameControls as e } from "./controls/name/index.js";
9
- import { PriceControls as s } from "./controls/price/index.js";
10
- import { OldPriceControls as l } from "./controls/oldPrice/index.js";
9
+ import { PriceControls as l } from "./controls/price/index.js";
10
+ import { OldPriceControls as s } from "./controls/oldPrice/index.js";
11
11
  import { OmnibusPriceControls as p } from "./controls/omnibusPrice/index.js";
12
12
  import { OmnibusDiscountControls as a } from "./controls/omnibusDiscount/index.js";
13
13
  import { ButtonControls as c } from "./controls/button/index.js";
14
- import { ImageControls as f } from "./controls/image/index.js";
15
- import { CustomAttributeControls as C } from "./controls/customAttribute/index.js";
14
+ import { ImageControls as C } from "./controls/image/index.js";
15
+ import { CustomAttributeControls as f } from "./controls/customAttribute/index.js";
16
16
  import { SpacingControl as d } from "./controls/spacing/index.js";
17
- import { CardBackgroundColorControl as u } from "./controls/cardBackground/index.js";
18
- import { RecommendationCardCompositionControl as g } from "./controls/cardComposition/index.js";
19
- import { SyncInfoMessageControl as y } from "./controls/syncInfoMessage.js";
17
+ import { BlockBackgroundColorControl as u } from "./controls/blockBackground/index.js";
18
+ import { CardBackgroundColorControl as g } from "./controls/cardBackground/index.js";
19
+ import { RecommendationCardCompositionControl as y } from "./controls/cardComposition/index.js";
20
+ import { SyncInfoMessageControl as B } from "./controls/syncInfoMessage.js";
20
21
  import { RecommendationIconsRegistry as P } from "./iconsRegistry.js";
21
22
  import R from "./recommendation.css.js";
22
23
  import { SettingsPanel as S } from "./settingsPanel.js";
23
- const w = [
24
+ const k = [
24
25
  e,
25
- s,
26
26
  l,
27
+ s,
27
28
  p,
28
29
  a,
29
30
  c,
30
- f,
31
- C
32
- ], B = [
31
+ C,
32
+ f
33
+ ], w = [
33
34
  i,
34
35
  u,
35
- d,
36
36
  g,
37
- y
37
+ d,
38
+ y,
39
+ B
38
40
  ], b = [
39
- ...B,
40
- ...w.flatMap((o) => Object.values(o))
41
- ], U = b.reduce(
42
- (o, t) => o.addControl(t),
43
- new r().addBlock(m).withSettingsPanelRegistry(S)
41
+ ...w,
42
+ ...k.flatMap((o) => Object.values(o))
43
+ ], W = b.reduce(
44
+ (o, r) => o.addControl(r),
45
+ new t().addBlock(m).withSettingsPanelRegistry(S)
44
46
  ).addStyles(R).withPreviewStyles(n).withIconsRegistry(P).build();
45
47
  export {
46
- U as default
48
+ W as default
47
49
  };