@useinsider/guido 2.0.0-beta.5ccd854 → 2.0.0-beta.65ed62b

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 (155) hide show
  1. package/README.md +2 -0
  2. package/dist/@types/config/schemas.js +55 -39
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +15 -17
  5. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +2 -2
  6. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +2 -2
  7. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +5 -5
  8. package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
  9. package/dist/composables/useConfig.js +29 -27
  10. package/dist/composables/useSave.js +13 -11
  11. package/dist/composables/useStripo.js +42 -40
  12. package/dist/config/migrator/index.js +8 -9
  13. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  14. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  15. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  16. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  17. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  18. package/dist/extensions/Blocks/Items/block.js +40 -39
  19. package/dist/extensions/Blocks/Items/controls/cardComposition.js +62 -50
  20. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +26 -28
  21. package/dist/extensions/Blocks/Items/controls/settingsControl.js +127 -132
  22. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +2 -2
  23. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +48 -58
  24. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +58 -48
  25. package/dist/extensions/Blocks/Items/store/items-block.js +2 -2
  26. package/dist/extensions/Blocks/Items/template.js +123 -296
  27. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +20 -11
  28. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  29. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  30. package/dist/extensions/Blocks/Recommendation/control.js +91 -61
  31. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  39. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  40. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  41. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  42. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  43. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  44. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  45. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  46. package/dist/extensions/Blocks/common-control.js +55 -67
  47. package/dist/extensions/Blocks/controlFactories.js +122 -111
  48. package/dist/guido.css +1 -1
  49. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +25 -26
  50. package/dist/package.json.js +7 -0
  51. package/dist/services/stripoApi.js +6 -10
  52. package/dist/src/@types/config/index.d.ts +2 -2
  53. package/dist/src/@types/config/schemas.d.ts +30 -0
  54. package/dist/src/@types/config/types.d.ts +7 -1
  55. package/dist/src/composables/useConfig.d.ts +8 -0
  56. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  57. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  58. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  59. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
  60. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +4 -0
  61. package/dist/src/extensions/Blocks/Items/template.d.ts +1 -20
  62. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  63. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  64. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  65. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  66. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  67. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  68. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  69. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  70. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  71. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  72. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  73. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  74. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  75. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  76. package/dist/src/extensions/Blocks/common-control.d.ts +9 -14
  77. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  78. package/dist/src/stores/config.d.ts +164 -1
  79. package/dist/static/styles/components/button.css.js +1 -1
  80. package/dist/static/styles/components/wide-panel.css.js +0 -4
  81. package/dist/static/styles/customEditorStyle.css.js +13 -0
  82. package/dist/stores/config.js +7 -0
  83. package/package.json +1 -1
  84. package/dist/config/migrator/itemsBlockMigrator.js +0 -283
  85. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +0 -172
  86. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  94. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  95. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  96. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  97. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  98. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  99. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  100. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  101. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  102. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  103. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  104. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  105. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  106. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  107. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  108. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  109. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  110. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  111. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  112. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  113. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  114. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  115. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  116. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  117. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  118. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  119. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  120. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +0 -6
  121. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +0 -71
  122. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  139. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  140. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  141. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  142. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  143. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  144. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  145. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  146. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  147. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  148. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  149. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  150. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  151. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  152. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  153. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  154. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  155. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -1,25 +1,26 @@
1
1
  import { useActionsApi as _ } from "./useActionsApi.js";
2
- import { useBlocksConfig as k } from "./useBlocksConfig.js";
3
- import { useConfig as B } from "./useConfig.js";
4
- import { useCustomInterfaceAppearance as V } from "./useCustomInterfaceAppearance.js";
5
- import { useStripoEventHandler as A } from "./useStripoEventHandler.js";
6
- import { useToaster as v } from "./useToaster.js";
7
- import { displayConditions as F } from "../enums/displayConditions.js";
8
- import { useStripoApi as D } from "../services/stripoApi.js";
9
- import I from "../static/styles/customEditorStyle.css.js";
10
- import { useEditorStore as M } from "../stores/editor.js";
11
- import { dynamicContentToMergeTags as U } from "../utils/genericUtil.js";
12
- const $ = (a) => {
13
- const { features: d } = B(), { handleError: c } = v(), { getToken: g, getCustomFonts: f } = D(), { handleEvent: y } = A(), { getStripoBlocksConfig: C } = k(), S = async (i, n = []) => {
14
- var p, m;
15
- const o = M(), { html: s, css: t, forceRecreate: h } = i, { baseBlocks: l, extensions: w } = await C(), u = ((p = d.value) == null ? void 0 : p.displayConditions) ?? !0, b = ((m = d.value) == null ? void 0 : m.modulesDisabled) ?? !1;
2
+ import { useBlocksConfig as B } from "./useBlocksConfig.js";
3
+ import { useConfig as v } from "./useConfig.js";
4
+ import { useCustomInterfaceAppearance as A } from "./useCustomInterfaceAppearance.js";
5
+ import { useStripoEventHandler as F } from "./useStripoEventHandler.js";
6
+ import { useToaster as D } from "./useToaster.js";
7
+ import { displayConditions as I } from "../enums/displayConditions.js";
8
+ import { useStripoApi as M } from "../services/stripoApi.js";
9
+ import U from "../static/styles/customEditorStyle.css.js";
10
+ import { useEditorStore as P } from "../stores/editor.js";
11
+ import { dynamicContentToMergeTags as R } from "../utils/genericUtil.js";
12
+ import H from "../package.json.js";
13
+ const W = (c) => {
14
+ const { features: l, template: y } = v(), { handleError: u } = D(), { getToken: C, getCustomFonts: S } = M(), { handleEvent: E } = F(), { getStripoBlocksConfig: h } = B(), w = async (i, n = []) => {
15
+ var m, g, f;
16
+ const o = P(), { html: r, css: p } = i, { baseBlocks: s, extensions: t } = await h(), a = ((m = l.value) == null ? void 0 : m.displayConditions) ?? !0, k = ((g = l.value) == null ? void 0 : g.modulesDisabled) ?? !1, T = ((f = y.value) == null ? void 0 : f.forceRecreate) ?? !1;
16
17
  window.UIEditor.initEditor(
17
18
  document.querySelector("#guido-editor"),
18
19
  {
19
- metadata: a,
20
- html: s,
21
- css: t,
22
- forceRecreate: h,
20
+ metadata: c,
21
+ html: r,
22
+ css: p,
23
+ forceRecreate: T,
23
24
  locale: "en",
24
25
  undoButtonSelector: "#guido__undo-button",
25
26
  redoButtonSelector: "#guido__redo-button",
@@ -29,19 +30,19 @@ const $ = (a) => {
29
30
  customAppearanceMergetags: !0,
30
31
  customAppearanceMergetagsBorderColor: "#f1f3fe",
31
32
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
32
- customViewStyles: I,
33
- conditionsEnabled: u,
34
- customConditionsEnabled: u,
35
- conditionCategories: F,
33
+ customViewStyles: U,
34
+ conditionsEnabled: a,
35
+ customConditionsEnabled: a,
36
+ conditionCategories: I,
36
37
  enableXSSSecurity: !0,
37
- modulesDisabled: b,
38
+ modulesDisabled: k,
38
39
  messageSettingsEnabled: !0,
39
40
  displayGmailAnnotations: !0,
40
41
  displayHiddenPreheader: !1,
41
42
  displayTitle: !1,
42
43
  displayUTM: !1,
43
44
  selectElementAfterDrop: !0,
44
- ...l ? { baseBlocks: l } : {},
45
+ ...s ? { baseBlocks: s } : {},
45
46
  editorFonts: {
46
47
  showDefaultStandardFonts: !0,
47
48
  showDefaultNotStandardFonts: !0,
@@ -49,25 +50,25 @@ const $ = (a) => {
49
50
  },
50
51
  mergeTags: [
51
52
  {
52
- entries: U(a.preselectedDynamicContentList)
53
+ entries: R(c.preselectedDynamicContentList)
53
54
  }
54
55
  ],
55
56
  async onTokenRefreshRequest(e) {
56
57
  try {
57
- const r = await g();
58
- e(r);
59
- } catch (r) {
60
- c(r, "Failed to refresh token");
58
+ const d = await C();
59
+ e(d);
60
+ } catch (d) {
61
+ u(d, "Failed to refresh token");
61
62
  }
62
63
  },
63
64
  onTemplateLoaded() {
64
65
  try {
65
- const { importCss: e } = V(), { activateCustomViewStyles: r, updateTimerInClonedTemplate: T } = _();
66
- e(), r(), T(), a.onReady(), o.isStripoInitialized = !0, o.loadingStatus = !1, setTimeout(() => {
66
+ const { importCss: e } = A(), { activateCustomViewStyles: d, updateTimerInClonedTemplate: V } = _();
67
+ e(), d(), V(), c.onReady(), o.isStripoInitialized = !0, o.loadingStatus = !1, setTimeout(() => {
67
68
  o.hasChanges = !1;
68
69
  }, 1e3);
69
70
  } catch (e) {
70
- c(e, "Failed to load custom interface appearance");
71
+ u(e, "Failed to load custom interface appearance");
71
72
  }
72
73
  },
73
74
  onCodeEditorVisibilityChanged(e) {
@@ -82,21 +83,22 @@ const $ = (a) => {
82
83
  onDataChanged() {
83
84
  o.hasChanges = !0;
84
85
  },
85
- onEvent: y,
86
+ onEvent: E,
86
87
  ignoreClickOutsideSelectors: [
87
88
  "#guido-dynamic-content-modal",
88
89
  ".in-on-board-wrapper",
89
90
  ".in-drawer__container"
90
91
  ],
91
- extensions: w
92
+ extensions: t
92
93
  }
93
94
  );
94
- }, E = (i) => new Promise((n, o) => {
95
+ }, b = (i) => new Promise((n, o) => {
96
+ var a;
95
97
  if (document.getElementById("UiEditorScript")) {
96
98
  i(), n();
97
99
  return;
98
100
  }
99
- const s = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", t = document.createElement("script");
101
+ const r = H.guido, s = `https://email-static.useinsider.com/guido/${(a = r == null ? void 0 : r.stripo) == null ? void 0 : a.version}/UIEditor.js`, t = document.createElement("script");
100
102
  t.id = "UiEditorScript", t.type = "module", t.src = s, t.onload = () => {
101
103
  i(), n();
102
104
  }, t.onerror = () => {
@@ -104,12 +106,12 @@ const $ = (a) => {
104
106
  }, document.body.appendChild(t);
105
107
  });
106
108
  return { initPlugin: async (i) => {
107
- await E(async () => {
108
- const n = await f();
109
- await S(i, n);
109
+ await b(async () => {
110
+ const n = await S();
111
+ await w(i, n);
110
112
  });
111
113
  } };
112
114
  };
113
115
  export {
114
- $ as useStripo
116
+ W as useStripo
115
117
  };
@@ -1,13 +1,12 @@
1
- import { migrateCheckbox as t } from "./checkboxMigrator.js";
1
+ import { migrateCheckbox as m } from "./checkboxMigrator.js";
2
2
  import { migrateCouponBlock as o } from "./couponBlockMigrator.js";
3
- import { migrateItemsBlock as i } from "./itemsBlockMigrator.js";
4
- import { migrateRadioButton as e } from "./radioButtonMigrator.js";
5
- import { migrateRecommendation as a } from "./recommendationMigrator.js";
6
- import { migrateUnsubscribe as g } from "./unsubscribeMigrator.js";
7
- const u = async (r) => {
8
- let m = r;
9
- return m = t(m), m = e(m), m = await g(m), m = o(m), m = a(m), m = i(m), m;
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) => {
7
+ let r = t;
8
+ return r = m(r), r = i(r), r = await a(r), r = o(r), r = e(r), r;
10
9
  };
11
10
  export {
12
- u as migrate
11
+ s as migrate
13
12
  };
@@ -0,0 +1,4 @@
1
+ var t = /* @__PURE__ */ ((c) => (c.TEXT_ALIGN = "coupon-block-text-align-control", c.TEXT_COLOR = "coupon-block-text-color-control", c.TEXT_SIZE = "coupon-block-text-size-control", c.TEXT_STYLE = "coupon-block-text-style-control", c.TEXT_FONT_FAMILY = "coupon-block-text-font-family-control", c.TEXT_BACKGROUND = "coupon-block-text-background-control", c.TEXT_PADDINGS = "coupon-block-text-paddings-control", c.TEXT_LINE_SPACING = "coupon-block-text-line-spacing-control", c))(t || {});
2
+ export {
3
+ t as CouponControlId
4
+ };
@@ -0,0 +1,29 @@
1
+ import { createTextAlignControl as t, createTextColorControl as e, createTextSizeControl as n, createTextStyleControl as r, createTextFontFamilyControl as T, createTextBackgroundColorControl as l, createPaddingsControl as C, createTextLineSpacingControl as c } from "../../controlFactories.js";
2
+ import { CouponControlId as o } from "../constants.js";
3
+ const i = t(
4
+ o.TEXT_ALIGN
5
+ ), E = e(
6
+ o.TEXT_COLOR
7
+ ), s = n(
8
+ o.TEXT_SIZE
9
+ ), S = r(
10
+ o.TEXT_STYLE
11
+ ), _ = T(
12
+ o.TEXT_FONT_FAMILY
13
+ ), g = l(
14
+ o.TEXT_BACKGROUND
15
+ ), X = C(
16
+ o.TEXT_PADDINGS
17
+ ), d = c(
18
+ o.TEXT_LINE_SPACING
19
+ );
20
+ export {
21
+ i as TextAlignControl,
22
+ g as TextBackgroundControl,
23
+ E as TextColorControl,
24
+ _ as TextFontFamilyControl,
25
+ d as TextLineSpacingControl,
26
+ X as TextPaddingsControl,
27
+ s as TextSizeControl,
28
+ S as TextStyleControl
29
+ };
@@ -1,8 +1,9 @@
1
1
  import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { CouponBlock as t } from "./block.js";
3
- import { CouponIconsRegistry as i } from "./iconsRegistry.js";
4
- import { CouponBlockSettings as n } from "./settingsPanel.js";
5
- const p = new o().addBlock(t).withSettingsPanelRegistry(n).withIconsRegistry(i).build();
3
+ import { TextAlignControl as n, TextColorControl as r, TextSizeControl as l, TextStyleControl as d, TextFontFamilyControl as e, TextBackgroundControl as i, TextPaddingsControl as C, TextLineSpacingControl as a } from "./controls/index.js";
4
+ import { CouponIconsRegistry as s } from "./iconsRegistry.js";
5
+ import { CouponBlockSettings as m } from "./settingsPanel.js";
6
+ const u = new o().addBlock(t).withSettingsPanelRegistry(m).addControl(n).addControl(r).addControl(l).addControl(d).addControl(e).addControl(i).addControl(C).addControl(a).withIconsRegistry(s).build();
6
7
  export {
7
- p as default
8
+ u as default
8
9
  };
@@ -1,24 +1,30 @@
1
- import { SettingsPanelRegistry as T, SettingsPanelTab as o, SettingsTab as O, TextControls as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { COUPON_BLOCK_ID as N } from "./block.js";
3
- class _ extends T {
1
+ import { SettingsPanelRegistry as n, SettingsPanelTab as o, SettingsTab as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { COUPON_BLOCK_ID as E } from "./block.js";
3
+ import { CouponControlId as T } from "./constants.js";
4
+ class i extends n {
4
5
  registerBlockControls(e) {
5
- e[N] = [
6
+ e[E] = [
6
7
  new o(
7
- O.SETTINGS,
8
+ t.SETTINGS,
8
9
  [
9
- t.FONT_FAMILY,
10
- t.FONT_SIZE,
11
- t.FORMAT,
12
- t.FONT_COLOR,
13
- t.TEXT_BLOCK_BACKGROUND_COLOR,
14
- t.ALIGN,
15
- t.LINE_HEIGHT,
16
- t.INTERNAL_INDENTS
10
+ T.TEXT_STYLE,
11
+ T.TEXT_ALIGN,
12
+ T.TEXT_PADDINGS
13
+ ]
14
+ ),
15
+ new o(
16
+ t.STYLES,
17
+ [
18
+ T.TEXT_BACKGROUND,
19
+ T.TEXT_FONT_FAMILY,
20
+ T.TEXT_LINE_SPACING,
21
+ T.TEXT_SIZE,
22
+ T.TEXT_COLOR
17
23
  ]
18
24
  )
19
25
  ];
20
26
  }
21
27
  }
22
28
  export {
23
- _ as CouponBlockSettings
29
+ i as CouponBlockSettings
24
30
  };
@@ -1,18 +1,29 @@
1
- const o = `
2
- <td class="coupon-block ins-coupon-code esd-block-text coupon-block-v2">
3
- <p class="ins-title" contenteditable="false">{@COUPON_CODE}</p>
4
- </td>`, e = `
5
- <td
6
- class="coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block"
7
- esd-extension-block-id="coupon-block"
1
+ import { BlockType as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { COUPON_BLOCK_ID as e } from "./block.js";
3
+ const t = `
4
+ <${o.BLOCK_TEXT}
5
+ class="coupon-block ins-coupon-code coupon-block-v2 es-p10"
6
+ align="center"
7
+ esd-extension-block-id="${e}">
8
+ <p
9
+ path="1"
10
+ contenteditable="false"
11
+ style="font-size: 16px; color: #333333;">
12
+ <strong path="1,0">{@COUPON_CODE}</strong>
13
+ </p>
14
+ </${o.BLOCK_TEXT}>
15
+ `, l = `
16
+ <td
17
+ class="coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block"
18
+ esd-extension-block-id="${e}"
8
19
  >
9
20
  <p class="ins-title" contenteditable="false">{@COUPON_CODE}</p>
10
21
  </td>
11
22
  `;
12
- function t() {
13
- return o;
23
+ function s() {
24
+ return t;
14
25
  }
15
26
  export {
16
- e as default,
17
- t as getDefaultTemplate
27
+ l as default,
28
+ s as getDefaultTemplate
18
29
  };
@@ -1,20 +1,20 @@
1
- import { useOnboardingStore as d } from "../../../stores/onboarding.js";
2
- import { Block as u, BlockCompositionType as p, ModificationDescription as n } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
- import { ItemsBlockId as f } from "./enums/controlEnums.js";
4
- import { SETTINGS_ENUMS as c, DefaultConfigValues as o } from "./enums/settingsEnums.js";
5
- import { useItemsBlockStore as g } from "./store/items-block.js";
6
- import { getDefaultTemplate as y } from "./template.js";
7
- import { getItemsBlockContainer as C, getItemsBlockConfig as a, getDefaultItemsBlockConfig as I } from "./utils/nodeConfigUtils.js";
8
- const b = "items-block";
9
- class O extends u {
1
+ import { useOnboardingStore as y } from "../../../stores/onboarding.js";
2
+ import { Block as R, BlockCompositionType as L, ModificationDescription as a } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ import { configAttributes as t } from "./enums/productEnums.js";
4
+ import { DefaultConfigValues as e, SETTINGS_ENUMS as l } from "./enums/settingsEnums.js";
5
+ import { useItemsBlockStore as S } from "./store/items-block.js";
6
+ import { getDefaultTemplate as V } from "./template.js";
7
+ import { syncCurrencySymbolFromAttributes as B, syncCurrencyLocationFromAttributes as U, syncFormattedPriceFromAttributes as k } from "./utils/syncAttributesFromConfigBlock.js";
8
+ const M = "items-block";
9
+ class x extends R {
10
10
  getId() {
11
- return b;
11
+ return M;
12
12
  }
13
13
  getIcon() {
14
14
  return "items-icon";
15
15
  }
16
16
  getBlockCompositionType() {
17
- return p.CONTAINER;
17
+ return L.CONTAINER;
18
18
  }
19
19
  getName() {
20
20
  return this.api.translate("Items");
@@ -23,44 +23,45 @@ class O extends u {
23
23
  return this.api.translate("Items lets you display personalized products based on user behavior.");
24
24
  }
25
25
  getTemplate() {
26
- return y({
27
- orientation: c.ORIENTATION.VERTICAL,
28
- itemsType: c.ITEMS_TYPE.CART_ITEMS,
26
+ return V({
27
+ orientation: l.ORIENTATION.HORIZONTAL,
28
+ itemsType: l.ITEMS_TYPE.CART_ITEMS,
29
29
  itemId: "{{Abandoned Cart Item (1) Url}}",
30
- currencySymbol: o.productPriceCurrencySymbolControlValue,
31
- currencyLocation: o.productPriceCurrencyLocationControlValue,
32
- formattedPrice: o.productPriceFormattedControlValue === "1"
30
+ currencySymbol: e.productPriceCurrencySymbolControlValue,
31
+ currencyLocation: e.productPriceCurrencyLocationControlValue,
32
+ formattedPrice: e.productPriceFormattedControlValue === "1"
33
33
  });
34
34
  }
35
35
  allowInnerBlocksDND() {
36
36
  return !1;
37
37
  }
38
- onCreated(i) {
39
- const e = C(i);
40
- if (!e)
38
+ onCreated(r) {
39
+ const n = r.querySelector("esd-config-block");
40
+ if (!n)
41
41
  return;
42
- const t = e.getNodeConfig(), l = t && Object.keys(t).length > 0, r = a(i);
43
- if (r != null && r.initialized)
44
- l ? r.blockInstanceId || this.api.getDocumentModifier().modifyHtml(e).setNodeConfig({ ...r, blockInstanceId: String(Date.now()) }).apply(new n("Assign block instance ID to block")) : this.api.getDocumentModifier().modifyHtml(e).setNodeConfig(r).apply(new n("Migrate legacy esd-config-block to nodeConfig"));
45
- else {
46
- const m = I();
47
- this.api.getDocumentModifier().modifyHtml(e).setNodeConfig(m).apply(new n("Initialize Items block with default configuration")), d().startOnboarding("itemsOnboarding");
42
+ const o = n, s = o.getAttribute("data-initialized") || "0", u = o.getAttribute(t.BLOCK_INSTANCE_ID), c = () => String(Date.now() + Math.floor(Math.random() * 1e3));
43
+ if (Number(s)) {
44
+ if (!u) {
45
+ const i = c();
46
+ this.api.getDocumentModifier().modifyHtml(o).setAttribute(t.BLOCK_INSTANCE_ID, i).apply(new a("Assign block instance ID to legacy block"));
47
+ }
48
+ } else {
49
+ const i = e.itemsType, I = e.cartItemsSelectControlValue, d = e.cardOrientationControlValue, m = e.productNameTrimmingControlValue, C = e.productPriceHideDiscountControlValue, b = e.productPriceFormattedControlValue, T = e.productPriceCurrencySymbolControlValue, A = e.productPriceCurrencyLocationControlValue, E = e.productButtonLinkControlValue, O = e.productImageLinkControlValue, _ = e.productImageVisible, p = e.productNameVisible, N = e.productQuantityVisible, f = e.productPriceVisible, g = e.productOriginalPriceVisible, D = e.productButtonVisible, P = c();
50
+ this.api.getDocumentModifier().modifyHtml(o).setAttribute("data-source", i).setAttribute(t.TYPE, i).setAttribute(t.ITEMS_INDEX_SELECT_CONTROL_VALUE, I).setAttribute(t.ORIENTATION, d).setAttribute(t.PRODUCT_NAME_TRIMMING, m).setAttribute(t.PRODUCT_PRICE_HIDE_DISCOUNT, C).setAttribute(t.PRODUCT_PRICE_FORMATTED, b).setAttribute(t.PRODUCT_PRICE_CURRENCY_SYMBOL, T).setAttribute(t.PRODUCT_PRICE_CURRENCY_LOCATION, A).setAttribute(t.PRODUCT_BUTTON_LINK, E).setAttribute(t.PRODUCT_IMAGE_LINK, O).setAttribute(t.BLOCK_INSTANCE_ID, P).setAttribute("data-initialized", "1").setAttribute(t.NAME_CONTROL_ENABLED, e.productNameControlEnabled).setAttribute(
51
+ t.QUANTITY_CONTROL_ENABLED,
52
+ e.productQuantityControlEnabled
53
+ ).setAttribute(t.PRICE_CONTROL_OPENED, e.productPriceControlOpened).setAttribute(t.PRODUCT_IMAGE_VISIBLE, _).setAttribute(t.PRODUCT_NAME_VISIBLE, p).setAttribute(t.PRODUCT_QUANTITY_VISIBLE, N).setAttribute(t.PRODUCT_PRICE_VISIBLE, f).setAttribute(t.PRODUCT_ORIGINAL_PRICE_VISIBLE, g).setAttribute(t.PRODUCT_BUTTON_VISIBLE, D).apply(new a("Initialize config block attributes with defaults")), y().startOnboarding("itemsOnboarding");
48
54
  }
49
- const s = `[esd-extension-block-id="${f.IMAGE}"] img`;
50
- this.api.getDocumentModifier().modifyHtml(i.querySelector(s)).setStyle("object-fit", "contain").apply(new n("Updated image object-fit"));
51
55
  }
52
- onSelect(i) {
53
- const e = g(), t = a(i);
54
- t && (e.setItemsType(t.type || o.itemsType), e.setItemIds(t.itemsSelectValue || o.cartItemsSelectControlValue), e.setOrientation(t.orientation || o.cardOrientationControlValue), e.setCurrencySymbol(
55
- t.priceCurrencySymbol || o.productPriceCurrencySymbolControlValue
56
- ), e.setCurrencyLocation(
57
- t.priceCurrencyLocation || o.productPriceCurrencyLocationControlValue
58
- ), e.setFormattedPrice(
59
- t.priceFormatted ?? o.productPriceFormattedControlValue === "1"
60
- ));
56
+ onSelect(r) {
57
+ const n = r.querySelector("esd-config-block"), o = S();
58
+ if (!n)
59
+ return;
60
+ const s = n, u = s.getAttribute(t.TYPE) || e.itemsType, c = s.getAttribute(t.ITEMS_INDEX_SELECT_CONTROL_VALUE) || e.cartItemsSelectControlValue, i = s.getAttribute(t.ORIENTATION) || e.cardOrientationControlValue;
61
+ o.setItemsType(u), o.setItemIds(c), o.setOrientation(i), B(r), U(r), k(r);
61
62
  }
62
63
  }
63
64
  export {
64
- b as BLOCK_ID,
65
- O as ItemsBlock
65
+ M as BLOCK_ID,
66
+ x as ItemsBlock
66
67
  };
@@ -1,13 +1,14 @@
1
- var P = Object.defineProperty;
2
- var _ = (a, n, t) => n in a ? P(a, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[n] = t;
3
- var d = (a, n, t) => _(a, typeof n != "symbol" ? n + "" : n, t);
4
- import { ModificationDescription as r } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as u } from "../../common-control.js";
1
+ var c = Object.defineProperty;
2
+ var I = (a, n, t) => n in a ? c(a, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[n] = t;
3
+ var _ = (a, n, t) => I(a, typeof n != "symbol" ? n + "" : n, t);
4
+ import { ModificationDescription as l } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as R } from "../../common-control.js";
6
6
  import { ItemsBlockId as s } from "../enums/controlEnums.js";
7
- import { SETTINGS_ENUMS as R } from "../enums/settingsEnums.js";
7
+ import { configAttributes as C } from "../enums/productEnums.js";
8
+ import { SETTINGS_ENUMS as u } from "../enums/settingsEnums.js";
8
9
  import { useItemsBlockStore as O } from "../store/items-block.js";
9
- import { getItemsBlockConfig as C, setItemsBlockConfig as h } from "../utils/nodeConfigUtils.js";
10
- const I = "ui-elements-items-card-composition-block", i = {
10
+ import { getConfigBlock as P, attributeToBoolean as U } from "../utils/configBlockUtils.js";
11
+ const h = "ui-elements-items-card-composition-block", i = {
11
12
  PRODUCT_IMAGE: "image",
12
13
  PRODUCT_NAME: "name",
13
14
  PRODUCT_QUANTITY: "quantity",
@@ -15,11 +16,11 @@ const I = "ui-elements-items-card-composition-block", i = {
15
16
  PRODUCT_ORIGINAL_PRICE: "originalPrice",
16
17
  PRODUCT_BUTTON: "button"
17
18
  };
18
- class N extends u {
19
+ class g extends R {
19
20
  constructor() {
20
21
  super(...arguments);
21
- d(this, "store", O());
22
- d(this, "visibilityState", {
22
+ _(this, "store", O());
23
+ _(this, "visibilityState", {
23
24
  [i.PRODUCT_IMAGE]: !0,
24
25
  [i.PRODUCT_NAME]: !0,
25
26
  [i.PRODUCT_QUANTITY]: !0,
@@ -29,7 +30,7 @@ class N extends u {
29
30
  });
30
31
  }
31
32
  getId() {
32
- return I;
33
+ return h;
33
34
  }
34
35
  getTemplate() {
35
36
  return `
@@ -82,20 +83,20 @@ class N extends u {
82
83
  });
83
84
  }
84
85
  _syncVisibilityFromAttributes() {
85
- const t = C(this.currentNode);
86
+ const t = P(this.currentNode);
86
87
  if (!t)
87
88
  return;
88
89
  const e = {
89
- [i.PRODUCT_IMAGE]: "imageVisible",
90
- [i.PRODUCT_NAME]: "nameVisible",
91
- [i.PRODUCT_QUANTITY]: "quantityControlEnabled",
92
- [i.PRODUCT_PRICE]: "priceVisible",
93
- [i.PRODUCT_ORIGINAL_PRICE]: "originalPriceVisible",
94
- [i.PRODUCT_BUTTON]: "buttonVisible"
90
+ [i.PRODUCT_IMAGE]: "PRODUCT_IMAGE_VISIBLE",
91
+ [i.PRODUCT_NAME]: "PRODUCT_NAME_VISIBLE",
92
+ [i.PRODUCT_QUANTITY]: "PRODUCT_QUANTITY_VISIBLE",
93
+ [i.PRODUCT_PRICE]: "PRODUCT_PRICE_VISIBLE",
94
+ [i.PRODUCT_ORIGINAL_PRICE]: "PRODUCT_ORIGINAL_PRICE_VISIBLE",
95
+ [i.PRODUCT_BUTTON]: "PRODUCT_BUTTON_VISIBLE"
95
96
  };
96
- Object.entries(e).forEach(([o, l]) => {
97
- const T = t[l];
98
- this.visibilityState[o] = T !== !1;
97
+ Object.entries(e).forEach(([o, r]) => {
98
+ const T = t.getAttribute(C[r]);
99
+ this.visibilityState[o] = U(T, !0);
99
100
  });
100
101
  }
101
102
  /**
@@ -104,10 +105,11 @@ class N extends u {
104
105
  * and mark it as '0'
105
106
  */
106
107
  _handleBrowsedItemsQuantity() {
107
- const t = this.store.itemsType !== R.ITEMS_TYPE.BROWSED_ITEMS, e = C(this.currentNode);
108
+ var r;
109
+ const t = this.store.itemsType !== u.ITEMS_TYPE.BROWSED_ITEMS, e = (r = this.currentNode) == null ? void 0 : r.querySelector("esd-config-block");
108
110
  if (!e)
109
111
  return;
110
- const o = e.quantityControlEnabled !== !1;
112
+ const o = e.getAttribute(C.PRODUCT_QUANTITY_VISIBLE) === "1";
111
113
  this.visibilityState[i.PRODUCT_QUANTITY] = t && o, this.api.setVisibility(`${i.PRODUCT_QUANTITY}Container`, t), this._updateVisibilityAttribute(i.PRODUCT_QUANTITY, t && o);
112
114
  }
113
115
  _applyVisibilityStyles() {
@@ -120,71 +122,81 @@ class N extends u {
120
122
  [i.PRODUCT_BUTTON]: s.BUTTON
121
123
  };
122
124
  Object.entries(t).forEach(([e, o]) => {
123
- var c;
124
- const l = (c = this.currentNode) == null ? void 0 : c.querySelector(`[esd-extension-block-id="${o}"]`);
125
- if (!l)
125
+ var d;
126
+ const r = (d = this.currentNode) == null ? void 0 : d.querySelector(`[esd-extension-block-id="${o}"]`);
127
+ if (!r)
126
128
  return;
127
129
  const T = this.visibilityState[e];
128
- this.api.getDocumentModifier().modifyHtml(l).setStyle("display", T ? "table-cell" : "none").apply(new r(`Applied ${e} visibility from attributes`));
130
+ this.api.getDocumentModifier().modifyHtml(r).setStyle("display", T ? "table-cell" : "none").apply(new l(`Applied ${e} visibility from attributes`));
129
131
  });
130
132
  }
131
133
  _updateVisibilityAttribute(t, e) {
132
- const l = {
133
- [i.PRODUCT_IMAGE]: "imageVisible",
134
- [i.PRODUCT_NAME]: "nameVisible",
135
- [i.PRODUCT_QUANTITY]: "quantityControlEnabled",
136
- [i.PRODUCT_PRICE]: "priceVisible",
137
- [i.PRODUCT_ORIGINAL_PRICE]: "originalPriceVisible",
138
- [i.PRODUCT_BUTTON]: "buttonVisible"
134
+ const o = P(this.currentNode);
135
+ if (!o)
136
+ return;
137
+ const T = {
138
+ [i.PRODUCT_IMAGE]: "PRODUCT_IMAGE_VISIBLE",
139
+ [i.PRODUCT_NAME]: "PRODUCT_NAME_VISIBLE",
140
+ [i.PRODUCT_QUANTITY]: "PRODUCT_QUANTITY_VISIBLE",
141
+ [i.PRODUCT_PRICE]: "PRODUCT_PRICE_VISIBLE",
142
+ [i.PRODUCT_ORIGINAL_PRICE]: "PRODUCT_ORIGINAL_PRICE_VISIBLE",
143
+ [i.PRODUCT_BUTTON]: "PRODUCT_BUTTON_VISIBLE"
139
144
  }[t];
140
- l && h(this.currentNode, this.api, {
141
- [l]: e
142
- });
145
+ T && this.api.getDocumentModifier().modifyHtml(o).setAttribute(C[T], e ? "1" : "0").apply(new l(`Updated ${t} visibility attribute`));
143
146
  }
144
147
  _listenToFormUpdates() {
145
- this.api.onValueChanged(i.PRODUCT_IMAGE, (t) => this._onProductImageChange(t)), this.api.onValueChanged(i.PRODUCT_NAME, (t) => this._onProductNameChange(t)), this.api.onValueChanged(i.PRODUCT_QUANTITY, (t) => this._onProductQuantityChange(t)), this.api.onValueChanged(i.PRODUCT_PRICE, (t) => this._onProductPriceChange(t)), this.api.onValueChanged(
146
- i.PRODUCT_ORIGINAL_PRICE,
147
- (t) => this._onProductOriginalPriceChange(t)
148
- ), this.api.onValueChanged(i.PRODUCT_BUTTON, (t) => this._onProductButtonChange(t));
148
+ this.api.onValueChanged(i.PRODUCT_IMAGE, (t) => {
149
+ this._onProductImageChange(t);
150
+ }), this.api.onValueChanged(i.PRODUCT_NAME, (t) => {
151
+ this._onProductNameChange(t);
152
+ }), this.api.onValueChanged(i.PRODUCT_QUANTITY, (t) => {
153
+ this._onProductQuantityChange(t);
154
+ }), this.api.onValueChanged(i.PRODUCT_PRICE, (t) => {
155
+ this._onProductPriceChange(t);
156
+ }), this.api.onValueChanged(i.PRODUCT_ORIGINAL_PRICE, (t) => {
157
+ this._onProductOriginalPriceChange(t);
158
+ }), this.api.onValueChanged(i.PRODUCT_BUTTON, (t) => {
159
+ this._onProductButtonChange(t);
160
+ });
149
161
  }
150
162
  _onProductImageChange(t) {
151
163
  var o;
152
164
  const e = (o = this.currentNode) == null ? void 0 : o.querySelector(`[esd-extension-block-id="${s.IMAGE}"]`);
153
- e && (this.visibilityState[i.PRODUCT_IMAGE] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new r(`Product image visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_IMAGE, t));
165
+ e && (this.visibilityState[i.PRODUCT_IMAGE] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new l(`Product image visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_IMAGE, t));
154
166
  }
155
167
  _onProductNameChange(t) {
156
168
  var o;
157
169
  const e = (o = this.currentNode) == null ? void 0 : o.querySelector(`[esd-extension-block-id="${s.NAME}"]`);
158
- e && (this.visibilityState[i.PRODUCT_NAME] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new r(`Product name visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_NAME, t));
170
+ e && (this.visibilityState[i.PRODUCT_NAME] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new l(`Product name visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_NAME, t));
159
171
  }
160
172
  _onProductQuantityChange(t) {
161
173
  var o;
162
174
  const e = (o = this.currentNode) == null ? void 0 : o.querySelector(`[esd-extension-block-id="${s.QUANTITY}"]`);
163
- e && (this.visibilityState[i.PRODUCT_QUANTITY] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new r(
175
+ e && (this.visibilityState[i.PRODUCT_QUANTITY] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new l(
164
176
  `Product quantity visibility changed to ${t ? "visible" : "hidden"}`
165
177
  )), this._updateVisibilityAttribute(i.PRODUCT_QUANTITY, t));
166
178
  }
167
179
  _onProductPriceChange(t) {
168
180
  var o;
169
181
  const e = (o = this.currentNode) == null ? void 0 : o.querySelector(`[esd-extension-block-id="${s.PRICE}"]`);
170
- e && (this.visibilityState[i.PRODUCT_PRICE] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new r(`Product price visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_PRICE, t));
182
+ e && (this.visibilityState[i.PRODUCT_PRICE] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new l(`Product price visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_PRICE, t));
171
183
  }
172
184
  _onProductOriginalPriceChange(t) {
173
185
  var o;
174
186
  const e = (o = this.currentNode) == null ? void 0 : o.querySelector(
175
187
  `[esd-extension-block-id="${s.ORIGINAL_PRICE}"]`
176
188
  );
177
- e && (this.visibilityState[i.PRODUCT_ORIGINAL_PRICE] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new r(
189
+ e && (this.visibilityState[i.PRODUCT_ORIGINAL_PRICE] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new l(
178
190
  `Product original price visibility changed to ${t ? "visible" : "hidden"}`
179
191
  )), this._updateVisibilityAttribute(i.PRODUCT_ORIGINAL_PRICE, t));
180
192
  }
181
193
  _onProductButtonChange(t) {
182
194
  var o;
183
195
  const e = (o = this.currentNode) == null ? void 0 : o.querySelector(`[esd-extension-block-id="${s.BUTTON}"]`);
184
- e && (this.visibilityState[i.PRODUCT_BUTTON] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new r(`Product button visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_BUTTON, t));
196
+ e && (this.visibilityState[i.PRODUCT_BUTTON] = t, this.api.getDocumentModifier().modifyHtml(e).setStyle("display", t ? "table-cell" : "none").apply(new l(`Product button visibility changed to ${t ? "visible" : "hidden"}`)), this._updateVisibilityAttribute(i.PRODUCT_BUTTON, t));
185
197
  }
186
198
  }
187
199
  export {
188
- I as COMPOSITION_CONTROL_BLOCK_ID,
189
- N as ItemsBlockCardCompositionControl
200
+ h as COMPOSITION_CONTROL_BLOCK_ID,
201
+ g as ItemsBlockCardCompositionControl
190
202
  };