@useinsider/guido 2.1.0 → 2.2.0-beta.49c8d1d

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 (145) hide show
  1. package/dist/@types/config/schemas.js +17 -17
  2. package/dist/components/organisms/header/HeaderWrapper.vue.js +9 -9
  3. package/dist/composables/useActionsApi.js +15 -13
  4. package/dist/config/migrator/itemsBlockMigrator.js +140 -123
  5. package/dist/extensions/Blocks/Items/block.js +19 -28
  6. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  7. package/dist/extensions/Blocks/Items/controls/cardComposition.js +137 -89
  8. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  9. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  10. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +35 -47
  11. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +49 -54
  12. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +42 -51
  13. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -36
  14. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  15. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -60
  16. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  17. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  18. package/dist/extensions/Blocks/Items/extension.js +8 -9
  19. package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
  20. package/dist/extensions/Blocks/Items/template.js +181 -175
  21. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  22. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  23. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  24. package/dist/extensions/Blocks/Recommendation/control.js +91 -61
  25. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  33. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  34. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  35. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  36. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  37. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  38. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  39. package/dist/extensions/Blocks/common-control.js +91 -92
  40. package/dist/guido.css +1 -1
  41. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +39 -44
  42. package/dist/package.json.js +1 -1
  43. package/dist/src/@types/config/schemas.d.ts +2 -2
  44. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  45. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  46. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  47. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  48. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  49. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  50. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  51. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  52. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  53. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  54. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  55. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  56. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  57. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  58. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  59. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  60. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  61. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  62. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  63. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  64. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  65. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  66. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  67. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  68. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  69. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  70. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  71. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  72. package/dist/static/styles/components/notification.css.js +1 -0
  73. package/dist/static/styles/components/wide-panel.css.js +15 -4
  74. package/dist/static/styles/customEditorStyle.css.js +13 -0
  75. package/package.json +2 -2
  76. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  77. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  94. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  95. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  96. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  97. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  98. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  99. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  100. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  101. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  102. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  103. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  104. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  105. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  106. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  107. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  108. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  109. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  110. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  111. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  113. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  114. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  115. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  117. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  118. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  121. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  122. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  139. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  140. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  141. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  142. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  143. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  144. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  145. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -1,94 +1,82 @@
1
- var I = Object.defineProperty;
2
- var f = (n, o, t) => o in n ? I(n, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[o] = t;
3
- var m = (n, o, t) => f(n, typeof o != "symbol" ? o + "" : o, t);
4
- import { ModificationDescription as u } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as y } from "../../../common-control.js";
6
- import { ItemsBlockControlId as O } from "../../enums/controlEnums.js";
7
- import { SETTINGS_ENUMS as E } from "../../enums/settingsEnums.js";
8
- import { useItemsBlockStore as N } from "../../store/items-block.js";
9
- import { getItemsBlockConfig as T, setItemsBlockConfig as C } from "../../utils/nodeConfigUtils.js";
10
- const _ = O.PRICE_ORIENTATION, p = {
1
+ import { ModificationDescription as p } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as O } from "../../../common-control.js";
3
+ import { ItemsBlockControlId as m } from "../../enums/controlEnums.js";
4
+ import { SETTINGS_ENUMS as h } from "../../enums/settingsEnums.js";
5
+ import { getItemsBlockConfig as u, setItemsBlockConfig as I } from "../../utils/nodeConfigUtils.js";
6
+ const N = m.PRICE_ORIENTATION, c = {
11
7
  PRICE_ORIENTATION: "priceOrientation"
12
- }, P = [
8
+ }, y = [
13
9
  { icon: "vertical-orientation", value: "vertical" },
14
10
  { icon: "horizontal-orientation", value: "horizontal" }
15
11
  ];
16
- class H extends y {
17
- constructor() {
18
- super(...arguments);
19
- m(this, "store", N());
20
- }
12
+ class P extends O {
21
13
  getId() {
22
- return _;
14
+ return N;
23
15
  }
24
16
  getTemplate() {
25
17
  return `
26
- <div class="container ${O.PRICE_ORIENTATION}">
18
+ <div class="container ${m.PRICE_ORIENTATION}">
27
19
  ${this._getPriceOrientation()}
28
20
  </div>
29
21
  `;
30
22
  }
31
23
  onRender() {
32
- this.api.updateValues({ [p.PRICE_ORIENTATION]: this.store.priceOrientation }), this.api.onValueChanged(p.PRICE_ORIENTATION, (t) => {
24
+ const i = u(this.currentNode);
25
+ this.api.updateValues({ [c.PRICE_ORIENTATION]: (i == null ? void 0 : i.priceOrientation) ?? "horizontal" }), this.api.onValueChanged(c.PRICE_ORIENTATION, (t) => {
33
26
  typeof t == "string" && this._onPriceOrientationChange(t);
34
27
  });
35
28
  }
36
- onTemplateNodeUpdated(t) {
37
- super.onTemplateNodeUpdated(t), this.handleBlockInstanceChange(
38
- () => {
39
- const i = T(this.currentNode);
40
- i && this.store.setPriceOrientation(i.priceOrientation || "horizontal");
41
- },
42
- () => {
43
- this.api.updateValues({ [p.PRICE_ORIENTATION]: this.store.priceOrientation });
44
- }
45
- );
29
+ onTemplateNodeUpdated(i) {
30
+ super.onTemplateNodeUpdated(i), this.handleBlockInstanceChange(() => {
31
+ const t = u(this.currentNode);
32
+ this.api.updateValues({ [c.PRICE_ORIENTATION]: (t == null ? void 0 : t.priceOrientation) ?? "horizontal" });
33
+ });
46
34
  }
47
- _onPriceOrientationChange(t) {
48
- if (this.store.setPriceOrientation(t), C(this.currentNode, this.api, {
49
- priceOrientation: t
35
+ _onPriceOrientationChange(i) {
36
+ if (I(this.currentNode, this.api, {
37
+ priceOrientation: i
50
38
  }), !this.currentNode)
51
39
  return;
52
- const { orientation: i } = this.store, r = i === E.ORIENTATION.VERTICAL, e = t === "horizontal";
53
- r ? this._updateVerticalLayout(e) : this._updateHorizontalLayout(e);
40
+ const t = u(this.currentNode), e = ((t == null ? void 0 : t.orientation) ?? h.ORIENTATION.VERTICAL) === h.ORIENTATION.VERTICAL, o = i === "horizontal";
41
+ e ? this._updateVerticalLayout(o) : this._updateHorizontalLayout(o);
54
42
  }
55
- _updateVerticalLayout(t) {
56
- var c, l, d, a;
57
- const i = ((l = (c = this.currentNode) == null ? void 0 : c.closest(".ins-product-td")) == null ? void 0 : l.querySelectorAll(".product-price-class")) || [], r = ((a = (d = this.currentNode) == null ? void 0 : d.closest(".ins-product-td")) == null ? void 0 : a.querySelectorAll(".product-original-price-class")) || [];
58
- if (!i || !r)
43
+ _updateVerticalLayout(i) {
44
+ var a, s, l, n;
45
+ const t = ((s = (a = this.currentNode) == null ? void 0 : a.closest(".ins-product-td")) == null ? void 0 : s.querySelectorAll(".product-price-class")) || [], r = ((n = (l = this.currentNode) == null ? void 0 : l.closest(".ins-product-td")) == null ? void 0 : n.querySelectorAll(".product-original-price-class")) || [];
46
+ if (!t || !r)
59
47
  return;
60
- const e = t ? "50%" : "100%", s = this.api.getDocumentModifier();
61
- i.forEach((h) => {
62
- s.modifyHtml(h).setAttribute("width", e).setStyle("width", e);
63
- }), r.forEach((h) => {
64
- s.modifyHtml(h).setAttribute("width", e).setStyle("width", e);
65
- }), s.apply(new u(`Updated original price element width to ${e}`));
48
+ const e = i ? "50%" : "100%", o = this.api.getDocumentModifier();
49
+ t.forEach((d) => {
50
+ o.modifyHtml(d).setAttribute("width", e).setStyle("width", e);
51
+ }), r.forEach((d) => {
52
+ o.modifyHtml(d).setAttribute("width", e).setStyle("width", e);
53
+ }), o.apply(new p(`Updated original price element width to ${e}`));
66
54
  }
67
- _updateHorizontalLayout(t) {
68
- var s, c, l, d;
69
- const i = ((c = (s = this.currentNode) == null ? void 0 : s.closest(".ins-product-td")) == null ? void 0 : c.querySelectorAll(".horizontal-price")) || [], r = (d = (l = this.currentNode) == null ? void 0 : l.closest(".ins-product-td")) == null ? void 0 : d.querySelector(".vertical-price");
70
- if (!i || !r || i.length === 0)
55
+ _updateHorizontalLayout(i) {
56
+ var o, a, s, l;
57
+ const t = ((a = (o = this.currentNode) == null ? void 0 : o.closest(".ins-product-td")) == null ? void 0 : a.querySelectorAll(".horizontal-price")) || [], r = (l = (s = this.currentNode) == null ? void 0 : s.closest(".ins-product-td")) == null ? void 0 : l.querySelector(".vertical-price");
58
+ if (!t || !r || t.length === 0)
71
59
  return;
72
60
  const e = this.api.getDocumentModifier();
73
- t ? (i.forEach((a) => {
74
- e.modifyHtml(a).setStyle("display", "table-cell");
75
- }), e.modifyHtml(r).setStyle("display", "none"), e.apply(new u("Show horizontal price orientation"))) : (i.forEach((a) => {
76
- e.modifyHtml(a).setStyle("display", "none");
77
- }), e.modifyHtml(r).setStyle("display", "table-cell"), e.apply(new u("Show vertical price orientation")));
61
+ i ? (t.forEach((n) => {
62
+ e.modifyHtml(n).setStyle("display", "table-cell");
63
+ }), e.modifyHtml(r).setStyle("display", "none"), e.apply(new p("Show horizontal price orientation"))) : (t.forEach((n) => {
64
+ e.modifyHtml(n).setStyle("display", "none");
65
+ }), e.modifyHtml(r).setStyle("display", "table-cell"), e.apply(new p("Show vertical price orientation")));
78
66
  }
79
67
  _getPriceOrientation() {
80
68
  return `
81
69
  ${this._GuTwoColumns([
82
70
  this._GuLabel({ text: "Price Orientation" }),
83
71
  this._GuRadioButton({
84
- name: p.PRICE_ORIENTATION,
85
- buttons: P
72
+ name: c.PRICE_ORIENTATION,
73
+ buttons: y
86
74
  })
87
75
  ])}
88
76
  `;
89
77
  }
90
78
  }
91
79
  export {
92
- _ as CONTROL_BLOCK_ID,
93
- H as PriceOrientationControl
80
+ N as CONTROL_BLOCK_ID,
81
+ P as PriceOrientationControl
94
82
  };
@@ -1,87 +1,69 @@
1
- var C = Object.defineProperty;
2
- var R = (n, r, e) => r in n ? C(n, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[r] = e;
3
- var d = (n, r, e) => R(n, typeof r != "symbol" ? r + "" : r, e);
4
- import { ModificationDescription as _, UIElementType as g, UEAttr as h } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as u } from "../../../common-control.js";
6
- import { ItemsBlockControlId as m, ItemsBlockId as N } from "../../enums/controlEnums.js";
7
- import { productPairs as S } from "../../enums/productEnums.js";
8
- import { useItemsBlockStore as A } from "../../store/items-block.js";
9
- import { setItemsBlockConfig as f } from "../../utils/nodeConfigUtils.js";
10
- const D = m.PRICE_SINGLE_PRICE, l = {
1
+ import { ModificationDescription as m, UIElementType as _, UEAttr as A } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as h } from "../../../common-control.js";
3
+ import { ItemsBlockControlId as L, ItemsBlockId as R } from "../../enums/controlEnums.js";
4
+ import { productPairs as T } from "../../enums/productEnums.js";
5
+ import { getItemsBlockConfig as I, setItemsBlockConfig as u, escapeReplacement as N } from "../../utils/nodeConfigUtils.js";
6
+ const D = L.PRICE_SINGLE_PRICE, l = {
11
7
  SINGLE_PRICE: "singlePrice"
12
8
  };
13
- class k extends u {
14
- constructor() {
15
- super(...arguments);
16
- d(this, "store", A());
17
- }
9
+ class y extends h {
18
10
  getId() {
19
11
  return D;
20
12
  }
21
13
  getTemplate() {
22
14
  return `
23
- <div class="container ${m.PRICE_SINGLE_PRICE}">
15
+ <div class="container ${L.PRICE_SINGLE_PRICE}">
24
16
  ${this._getSinglePrice()}
25
17
  </div>
26
18
  `;
27
19
  }
28
20
  onRender() {
29
- this.api.updateValues({ [l.SINGLE_PRICE]: this.store.singlePrice }), this.api.onValueChanged(l.SINGLE_PRICE, (e) => {
30
- this._onSinglePriceChange(e);
21
+ const e = I(this.currentNode);
22
+ this.api.updateValues({ [l.SINGLE_PRICE]: (e == null ? void 0 : e.priceSinglePrice) ?? !1 }), this.api.onValueChanged(l.SINGLE_PRICE, (t) => {
23
+ this._onSinglePriceChange(t);
31
24
  });
32
25
  }
33
26
  onTemplateNodeUpdated(e) {
34
- super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
35
- () => this._syncSinglePriceFromNodeConfig(),
36
- () => {
37
- this.api.updateValues({ [l.SINGLE_PRICE]: this.store.singlePrice });
38
- }
39
- );
40
- }
41
- /**
42
- * Syncs single price state from nodeConfig.
43
- */
44
- _syncSinglePriceFromNodeConfig() {
45
- var i;
46
- const e = (i = this.currentNode) == null ? void 0 : i.closest(".items-block");
47
- if (!e)
48
- return;
49
- const o = e.getNodeConfig(), t = (o == null ? void 0 : o.priceSinglePrice) ?? !1;
50
- this.store.setSinglePrice(t);
27
+ super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
28
+ const t = I(this.currentNode);
29
+ this.api.updateValues({ [l.SINGLE_PRICE]: (t == null ? void 0 : t.priceSinglePrice) ?? !1 });
30
+ });
51
31
  }
52
32
  _onSinglePriceChange(e) {
53
- if (console.debug("Single price changed to: ", e), this.store.setSinglePrice(e), f(this.currentNode, this.api, { priceSinglePrice: e }), !this.currentNode)
33
+ if (console.debug("Single price changed to: ", e), u(this.currentNode, this.api, { priceSinglePrice: e }), !this.currentNode)
54
34
  return;
55
- const { itemsType: o, formattedPrice: t } = this.store, i = S.PAIRS_FOR_EXTENSION.price[o], c = S.PAIRS_FOR_EXTENSION.originalPrice[o], [E, a] = e ? [
56
- t ? i.DEFAULT_PRICE_FORMATTED : i.DEFAULT_PRICE,
57
- t ? i.DEFAULT_SINGLE_PRICE_FORMATTED : i.DEFAULT_SINGLE_PRICE
35
+ const t = I(this.currentNode), o = (t == null ? void 0 : t.type) ?? "CART_ITEMS", r = (t == null ? void 0 : t.priceFormatted) ?? !1, i = T.PAIRS_FOR_EXTENSION.price[o], c = T.PAIRS_FOR_EXTENSION.originalPrice[o], [P, p] = e ? [
36
+ r ? i.DEFAULT_PRICE_FORMATTED : i.DEFAULT_PRICE,
37
+ r ? i.DEFAULT_SINGLE_PRICE_FORMATTED : i.DEFAULT_SINGLE_PRICE
58
38
  ] : [
59
- t ? i.DEFAULT_SINGLE_PRICE_FORMATTED : i.DEFAULT_SINGLE_PRICE,
60
- t ? i.DEFAULT_PRICE_FORMATTED : i.DEFAULT_PRICE
61
- ], P = t ? c.DEFAULT_PRICE_FORMATTED : c.DEFAULT_PRICE, s = t ? c.DEFAULT_SINGLE_PRICE_FORMATTED : c.DEFAULT_SINGLE_PRICE, [L, T] = e ? [P, s] : [s, P];
62
- this._updatePriceBlock(
63
- this.currentNode,
64
- E,
65
- a,
66
- e,
67
- "price"
68
- );
69
- const p = this.currentNode.closest(".items-block"), I = p == null ? void 0 : p.querySelector(`[esd-extension-block-id="${N.ORIGINAL_PRICE}"]`);
70
- I && this._updatePriceBlock(I, L, T, e, "original price");
39
+ r ? i.DEFAULT_SINGLE_PRICE_FORMATTED : i.DEFAULT_SINGLE_PRICE,
40
+ r ? i.DEFAULT_PRICE_FORMATTED : i.DEFAULT_PRICE
41
+ ], s = r ? c.DEFAULT_PRICE_FORMATTED : c.DEFAULT_PRICE, d = r ? c.DEFAULT_SINGLE_PRICE_FORMATTED : c.DEFAULT_SINGLE_PRICE, [g, C] = e ? [s, d] : [d, s], n = this.currentNode.closest(".items-block"), S = (n == null ? void 0 : n.querySelectorAll(
42
+ `[esd-extension-block-id="${R.PRICE}"]`
43
+ )) || [], E = this.api.getDocumentModifier();
44
+ S.forEach((a) => {
45
+ this._updatePriceBlock(E, a, P, p, e);
46
+ }), ((n == null ? void 0 : n.querySelectorAll(
47
+ `[esd-extension-block-id="${R.ORIGINAL_PRICE}"]`
48
+ )) || []).forEach((a) => {
49
+ this._updatePriceBlock(E, a, g, C, e);
50
+ }), E.apply(new m(
51
+ `Updated price to ${e ? "single" : "total"} price`
52
+ ));
71
53
  }
72
- _updatePriceBlock(e, o, t, i, c) {
73
- const E = e.getInnerHTML().replace(o, t), a = `Updated ${c} to ${i ? "single" : "total"} price`;
74
- this.api.getDocumentModifier().modifyHtml(e).setInnerHtml(E).apply(new _(a));
75
- const s = e.querySelector('[product-attr="price"], [product-attr="originalPrice"]');
76
- s && this.api.getDocumentModifier().modifyHtml(s).setAttribute("data-single_price", i ? "true" : "false").apply(new _("Update single price attribute"));
54
+ _updatePriceBlock(e, t, o, r, i) {
55
+ const c = t.getInnerHTML().trim().replace(o, N(r));
56
+ e.modifyHtml(t).setInnerHtml(c), t.querySelectorAll('[product-attr="price"], [product-attr="originalPrice"]').forEach((s) => {
57
+ e.modifyHtml(s).setAttribute("data-single_price", i ? "true" : "false");
58
+ });
77
59
  }
78
60
  _getSinglePrice() {
79
61
  return `
80
62
  <div class="display-flex align-items-center justify-content-between">
81
- <${g.LABEL}
82
- ${h.LABEL.text}="${this.api.translate("Show Single Product Price")}"
63
+ <${_.LABEL}
64
+ ${A.LABEL.text}="${this.api.translate("Show Single Product Price")}"
83
65
  >
84
- </${g.LABEL}>
66
+ </${_.LABEL}>
85
67
  ${this._GuToggle(l.SINGLE_PRICE)}
86
68
  </div>
87
69
  `;
@@ -89,5 +71,5 @@ class k extends u {
89
71
  }
90
72
  export {
91
73
  D as CONTROL_BLOCK_ID,
92
- k as PriceSinglePriceControl
74
+ y as PriceSinglePriceControl
93
75
  };