@useinsider/guido 2.1.0-beta.425dfd0 → 2.1.0-beta.42f5dfa

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 (166) hide show
  1. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +15 -14
  2. package/dist/composables/useActionsApi.js +15 -13
  3. package/dist/composables/useHtmlValidator.js +106 -84
  4. package/dist/composables/useRecommendation.js +54 -21
  5. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  6. package/dist/config/compiler/utils/recommendationCompilerUtils.js +116 -0
  7. package/dist/config/migrator/itemsBlockMigrator.js +140 -123
  8. package/dist/config/migrator/recommendationMigrator.js +2 -2
  9. package/dist/enums/extensions/recommendationBlock.js +1 -1
  10. package/dist/enums/recommendation.js +16 -15
  11. package/dist/extensions/Blocks/Items/block.js +19 -28
  12. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  13. package/dist/extensions/Blocks/Items/controls/cardComposition.js +124 -85
  14. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  15. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  16. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +35 -47
  17. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +49 -54
  18. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +42 -51
  19. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -36
  20. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  21. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -60
  22. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  23. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  24. package/dist/extensions/Blocks/Items/extension.js +8 -9
  25. package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
  26. package/dist/extensions/Blocks/Items/template.js +181 -175
  27. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  28. package/dist/extensions/Blocks/Recommendation/block.js +130 -9
  29. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  30. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  31. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +65 -0
  32. package/dist/extensions/Blocks/Recommendation/constants/layout.js +20 -0
  33. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +19 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +92 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +209 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +217 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +110 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +286 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  52. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  53. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  55. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  56. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
  58. package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
  59. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  60. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  61. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  62. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
  63. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +230 -193
  64. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +233 -0
  65. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  66. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +69 -0
  67. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  68. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +174 -0
  69. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  70. package/dist/extensions/Blocks/Recommendation/templates/utils.js +122 -0
  71. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  72. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  73. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
  74. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  75. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  76. package/dist/extensions/Blocks/common-control.js +91 -92
  77. package/dist/extensions/Blocks/controlFactories.js +125 -93
  78. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +223 -169
  79. package/dist/services/recommendationApi.js +10 -9
  80. package/dist/services/templateLibraryApi.js +16 -13
  81. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  82. package/dist/src/composables/useRecommendation.d.ts +1 -0
  83. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  84. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  85. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  86. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  87. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  88. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  89. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  90. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  91. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  92. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  93. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  94. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  95. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  96. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  97. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  98. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  99. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
  100. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
  101. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  102. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +35 -0
  103. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +31 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  106. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
  107. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
  109. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +68 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +42 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +214 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +83 -0
  129. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  130. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  131. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  132. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +131 -468
  133. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  134. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
  135. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  136. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
  137. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  138. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  139. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  140. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +57 -0
  141. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  142. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +160 -0
  143. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  144. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  145. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  146. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  147. package/dist/static/styles/customEditorStyle.css.js +25 -2
  148. package/dist/utils/pairProductVariables.js +57 -56
  149. package/dist/utils/templatePreparation.js +15 -14
  150. package/package.json +1 -1
  151. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  152. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
  153. package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
  154. package/dist/extensions/Blocks/Recommendation/control.js +0 -336
  155. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  156. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  157. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  158. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  159. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
  160. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  161. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  162. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  163. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  164. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  165. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  166. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
@@ -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
  };