@useinsider/guido 3.23.0-beta.86bed27 → 3.23.0-beta.9f6bfbf

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 (88) hide show
  1. package/README.md +1 -0
  2. package/dist/@types/config/schemas.js +17 -15
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +58 -56
  5. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +11 -11
  6. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +9 -9
  7. package/dist/composables/useModuleRepair.js +14 -12
  8. package/dist/config/compiler/utils/recommendationCompilerUtils.js +22 -22
  9. package/dist/config/migrator/index.js +16 -15
  10. package/dist/config/migrator/itemsPriceFormatMigrator.js +20 -0
  11. package/dist/config/migrator/recommendation/compositionMapper.js +56 -49
  12. package/dist/config/migrator/recommendation/extractors.js +100 -40
  13. package/dist/config/migrator/recommendation/htmlBuilder.js +285 -207
  14. package/dist/config/migrator/recommendation/settingsMapper.js +37 -36
  15. package/dist/config/migrator/recommendation/themeMapper.js +53 -41
  16. package/dist/config/migrator/recommendationMigrator.js +68 -61
  17. package/dist/extensions/Blocks/Items/block.js +115 -77
  18. package/dist/extensions/Blocks/Items/constants/currency.js +59 -14
  19. package/dist/extensions/Blocks/Items/controls/button/link.js +14 -17
  20. package/dist/extensions/Blocks/Items/controls/cardComposition.js +14 -17
  21. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -17
  22. package/dist/extensions/Blocks/Items/controls/name/trimming.js +9 -10
  23. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +40 -30
  24. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +63 -53
  25. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +31 -31
  26. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +15 -16
  27. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +25 -26
  28. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -32
  29. package/dist/extensions/Blocks/Items/controls/priceFormat.js +145 -0
  30. package/dist/extensions/Blocks/Items/controls/settingsControl.js +160 -144
  31. package/dist/extensions/Blocks/Items/enums/controlEnums.js +1 -1
  32. package/dist/extensions/Blocks/Items/extension.js +9 -8
  33. package/dist/extensions/Blocks/Items/items.css.js +19 -0
  34. package/dist/extensions/Blocks/Items/settingsPanel.js +34 -25
  35. package/dist/extensions/Blocks/Items/template.js +250 -212
  36. package/dist/extensions/Blocks/Items/utils/priceFormatOps.js +185 -0
  37. package/dist/extensions/Blocks/Recommendation/block.js +33 -24
  38. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +3 -3
  39. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +27 -26
  40. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +13 -13
  41. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +165 -175
  42. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +5 -5
  43. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +8 -8
  44. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +15 -15
  45. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +12 -12
  46. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +10 -10
  47. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +1 -1
  48. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +23 -22
  49. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +19 -18
  50. package/dist/extensions/Blocks/Recommendation/templates/utils.js +82 -91
  51. package/dist/extensions/Blocks/Recommendation/utils/inlinePriceOrder.js +12 -0
  52. package/dist/extensions/Blocks/Recommendation/utils/legacyStrategyMap.js +3 -2
  53. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +1 -0
  54. package/dist/extensions/Blocks/common-control.js +62 -55
  55. package/dist/guido.css +1 -1
  56. package/dist/package.json.js +2 -2
  57. package/dist/src/@types/config/schemas.d.ts +4 -0
  58. package/dist/src/composables/useConfig.d.ts +2 -0
  59. package/dist/src/config/migrator/index.d.ts +4 -1
  60. package/dist/src/config/migrator/itemsPriceFormatMigrator.d.ts +1 -0
  61. package/dist/src/config/migrator/recommendation/compositionMapper.d.ts +3 -1
  62. package/dist/src/config/migrator/recommendation/extractors.d.ts +35 -6
  63. package/dist/src/config/migrator/recommendation/htmlBuilder.d.ts +3 -1
  64. package/dist/src/config/migrator/recommendation/themeMapper.d.ts +3 -1
  65. package/dist/src/config/migrator/recommendation/types.d.ts +11 -1
  66. package/dist/src/extensions/Blocks/Items/block.d.ts +6 -9
  67. package/dist/src/extensions/Blocks/Items/constants/currency.d.ts +32 -0
  68. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -1
  69. package/dist/src/extensions/Blocks/Items/controls/priceFormat.d.ts +23 -0
  70. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +1 -0
  71. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +1 -0
  72. package/dist/src/extensions/Blocks/Items/template.d.ts +4 -1
  73. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +3 -0
  74. package/dist/src/extensions/Blocks/Items/utils/priceFormatOps.d.ts +61 -0
  75. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +1 -0
  76. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +5 -10
  77. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +1 -13
  78. package/dist/src/extensions/Blocks/Recommendation/utils/inlinePriceOrder.d.ts +9 -0
  79. package/dist/src/extensions/Blocks/Recommendation/utils/legacyStrategyMap.d.ts +2 -19
  80. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +12 -0
  81. package/dist/src/extensions/Blocks/common-control.d.ts +2 -0
  82. package/dist/src/stores/config.d.ts +20 -0
  83. package/dist/src/stores/unsubscribe.d.ts +10 -0
  84. package/dist/src/utils/itemsCurrencyRepair.d.ts +5 -1
  85. package/dist/stores/unsubscribe.js +33 -29
  86. package/dist/utils/itemsCurrencyRepair.js +29 -24
  87. package/dist/utils/pairProductVariables.js +119 -99
  88. package/package.json +2 -2
@@ -1,22 +1,24 @@
1
- import { ModificationDescription as N, UEAttr as L } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
1
+ import { ModificationDescription as N, UEAttr as D } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { CommonControl as $ } from "../../common-control.js";
3
- import { reorientBlockCellPadding as D, nameMaxWidthFor as f } from "../constants/cardLayout.js";
4
- import { ItemsBlockId as I } from "../enums/controlEnums.js";
5
- import { productPairs as y, templateFirstLine as x } from "../enums/productEnums.js";
6
- import { SETTINGS_ENUMS as T, ItemTypeOptions as H, OrientationOptions as w, ItemInCartOptions as g, DefaultConfigValues as U } from "../enums/settingsEnums.js";
7
- import q from "../layouts/horizontal.html.js";
3
+ import { reorientBlockCellPadding as x, nameMaxWidthFor as w } from "../constants/cardLayout.js";
4
+ import { isNewPriceFormatConfig as O } from "../constants/currency.js";
5
+ import { ItemsBlockId as T } from "../enums/controlEnums.js";
6
+ import { productPairs as S, templateFirstLine as f } from "../enums/productEnums.js";
7
+ import { SETTINGS_ENUMS as I, ItemTypeOptions as H, OrientationOptions as q, ItemInCartOptions as b, DefaultConfigValues as F } from "../enums/settingsEnums.js";
8
+ import B from "../layouts/horizontal.html.js";
8
9
  import V from "../layouts/vertical.html.js";
9
- import { getDefaultTemplate as B, wrapInTableRow as C, applyPriceOrientationStyles as G } from "../template.js";
10
- import { findNameTextNode as Y } from "../utils/nameNode.js";
11
- import { getItemsBlockConfig as _, setItemsBlockConfig as M, escapeReplacement as A, deriveItemNumber as v } from "../utils/nodeConfigUtils.js";
12
- const Q = "ui-elements-items-block", p = {
10
+ import { getDefaultTemplate as G, wrapInTableRow as C, applyPriceOrientationStyles as Y } from "../template.js";
11
+ import { findNameTextNode as v } from "../utils/nameNode.js";
12
+ import { getItemsBlockConfig as _, setItemsBlockConfig as M, escapeReplacement as P, deriveItemNumber as Q } from "../utils/nodeConfigUtils.js";
13
+ import { priceTextsFromConfig as W, replacePriceText as z } from "../utils/priceFormatOps.js";
14
+ const X = "ui-elements-items-block", p = {
13
15
  ITEMS_TYPE: "itemsType",
14
16
  ORIENTATION: "orientation",
15
17
  ITEM_IDS: "itemIds"
16
18
  };
17
- class se extends $ {
19
+ class me extends $ {
18
20
  getId() {
19
- return Q;
21
+ return X;
20
22
  }
21
23
  getTemplate() {
22
24
  return `
@@ -28,20 +30,15 @@ class se extends $ {
28
30
  `;
29
31
  }
30
32
  onRender() {
31
- const e = _(this.currentNode);
32
- this.api.updateValues({
33
- [p.ORIENTATION]: (e == null ? void 0 : e.orientation) ?? T.ORIENTATION.VERTICAL,
34
- [p.ITEMS_TYPE]: (e == null ? void 0 : e.type) ?? T.ITEMS_TYPE.CART_ITEMS,
35
- [p.ITEM_IDS]: (e == null ? void 0 : e.itemsSelectValue) ?? ""
36
- }), this._listenToFormUpdates();
33
+ this.forgetLastPanelNode(), this._listenToFormUpdates();
37
34
  }
38
35
  onTemplateNodeUpdated(e) {
39
36
  super.onTemplateNodeUpdated(e), console.debug("Items Block Config", e.getNodeConfig()), this.handleBlockInstanceChange(() => {
40
- const r = _(this.currentNode);
37
+ const i = _(this.currentNode);
41
38
  this.api.updateValues({
42
- [p.ORIENTATION]: (r == null ? void 0 : r.orientation) ?? T.ORIENTATION.VERTICAL,
43
- [p.ITEMS_TYPE]: (r == null ? void 0 : r.type) ?? T.ITEMS_TYPE.CART_ITEMS,
44
- [p.ITEM_IDS]: (r == null ? void 0 : r.itemsSelectValue) ?? ""
39
+ [p.ORIENTATION]: (i == null ? void 0 : i.orientation) ?? I.ORIENTATION.VERTICAL,
40
+ [p.ITEMS_TYPE]: (i == null ? void 0 : i.type) ?? I.ITEMS_TYPE.CART_ITEMS,
41
+ [p.ITEM_IDS]: (i == null ? void 0 : i.itemsSelectValue) ?? ""
45
42
  }), this._initializeSelectItems();
46
43
  });
47
44
  }
@@ -64,7 +61,7 @@ class se extends $ {
64
61
  this._GuLabel({ text: "Orientation" }),
65
62
  this._GuRadioButton({
66
63
  name: p.ORIENTATION,
67
- buttons: w
64
+ buttons: q
68
65
  })
69
66
  ])}
70
67
  `;
@@ -84,55 +81,55 @@ class se extends $ {
84
81
  }
85
82
  _onOrientationChange(e) {
86
83
  this.api.updateValues({ [p.ORIENTATION]: e });
87
- const r = this.api.getDocumentModifier();
84
+ const i = this.api.getDocumentModifier();
88
85
  M(this.currentNode, this.api, {
89
86
  orientation: e,
90
87
  priceOrientation: "horizontal"
91
- }, r), r.apply(new N("Changed orientation")), this._reOrderTemplate(), setTimeout(() => {
88
+ }, i), i.apply(new N("Changed orientation")), this._reOrderTemplate(), setTimeout(() => {
92
89
  this._recalculateTrimming();
93
90
  }, 50);
94
91
  }
95
92
  _onItemsTypeChange(e) {
96
- const r = T.ITEMS_TYPE[e], t = g[e], i = t == null ? void 0 : t[0];
97
- if (!r || !i)
93
+ const i = I.ITEMS_TYPE[e], t = b[e], r = t == null ? void 0 : t[0];
94
+ if (!i || !r)
98
95
  return;
99
- const n = i.value, s = i.value.replace("Url}}", "Image}}"), a = this.api.getDocumentModifier();
96
+ const n = r.value, o = r.value.replace("Url}}", "Image}}"), a = this.api.getDocumentModifier();
100
97
  M(this.currentNode, this.api, {
101
- source: r,
102
- type: r,
103
- itemsSelectValue: i.value,
104
- imageLink: s,
98
+ source: i,
99
+ type: i,
100
+ itemsSelectValue: r.value,
101
+ imageLink: o,
105
102
  buttonLink: n
106
- }, a), this._updateDataTypeAttributes(r, a), this._initializeSelectItems();
107
- const l = this._getTemplateData(r, i.value);
108
- this._updateImageSrc(l.imageSrc, a), this._updateName(l.name, a), this._updatePrice(l.price, a), this._updateOriginalPrice(l.originalPrice, a), this._updateQuantity(l.quantity, r, a), a.apply(new N("Updated items type"));
103
+ }, a), this._updateDataTypeAttributes(i, a), this._initializeSelectItems();
104
+ const c = this._getTemplateData(i, r.value);
105
+ this._updateImageSrc(c.imageSrc, a), this._updateName(c.name, a), this._updatePrice(c.price, a), this._updateOriginalPrice(c.originalPrice, a), this._updateQuantity(c.quantity, i, a), a.apply(new N("Updated items type"));
109
106
  }
110
107
  _onItemIdsChange(e) {
111
108
  this.api.updateValues({ [p.ITEM_IDS]: e });
112
- const r = e, t = e.replace("Url}}", "Image}}"), i = this.api.getDocumentModifier();
109
+ const i = e, t = e.replace("Url}}", "Image}}"), r = this.api.getDocumentModifier();
113
110
  M(this.currentNode, this.api, {
114
111
  itemsSelectValue: e,
115
112
  imageLink: t,
116
- buttonLink: r
117
- }, i), this._updateDataNumberAttributes(e, i);
113
+ buttonLink: i
114
+ }, r), this._updateDataNumberAttributes(e, r);
118
115
  const n = this._getTemplateData(void 0, e);
119
- this._updateImageSrc(n.imageSrc, i), this._updateName(n.name, i), this._updatePrice(n.price, i), this._updateOriginalPrice(n.originalPrice, i), this._updateQuantity(n.quantity, void 0, i), i.apply(new N("Updated item selection"));
116
+ this._updateImageSrc(n.imageSrc, r), this._updateName(n.name, r), this._updatePrice(n.price, r), this._updateOriginalPrice(n.originalPrice, r), this._updateQuantity(n.quantity, void 0, r), r.apply(new N("Updated item selection"));
120
117
  }
121
118
  _initializeSelectItems() {
122
119
  this.api.setUIEAttribute(
123
120
  p.ITEMS_TYPE,
124
- L.SELECTPICKER.items,
121
+ D.SELECTPICKER.items,
125
122
  H
126
123
  );
127
- const e = _(this.currentNode), r = (e == null ? void 0 : e.type) ?? T.ITEMS_TYPE.CART_ITEMS, t = (e == null ? void 0 : e.itemsSelectValue) ?? "";
124
+ const e = _(this.currentNode), i = (e == null ? void 0 : e.type) ?? I.ITEMS_TYPE.CART_ITEMS, t = (e == null ? void 0 : e.itemsSelectValue) ?? "";
128
125
  this.api.updateValues({
129
- [p.ITEMS_TYPE]: r
126
+ [p.ITEMS_TYPE]: i
130
127
  });
131
- const i = g[r];
128
+ const r = b[i];
132
129
  this.api.setUIEAttribute(
133
130
  p.ITEM_IDS,
134
- L.SELECTPICKER.items,
135
- i
131
+ D.SELECTPICKER.items,
132
+ r
136
133
  ), this.api.updateValues({
137
134
  [p.ITEM_IDS]: t
138
135
  });
@@ -150,180 +147,199 @@ class se extends $ {
150
147
  );
151
148
  }
152
149
  _renderTemplate() {
153
- const e = _(this.currentNode), r = (e == null ? void 0 : e.orientation) ?? T.ORIENTATION.VERTICAL, t = (e == null ? void 0 : e.type) ?? T.ITEMS_TYPE.CART_ITEMS, i = (e == null ? void 0 : e.itemsSelectValue) ?? "", n = (e == null ? void 0 : e.priceCurrencySymbol) ?? "", s = (e == null ? void 0 : e.priceCurrencyLocation) ?? "0", a = (e == null ? void 0 : e.priceFormatted) ?? !1;
154
- this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(B({
155
- orientation: r,
150
+ const e = _(this.currentNode), i = (e == null ? void 0 : e.orientation) ?? I.ORIENTATION.VERTICAL, t = (e == null ? void 0 : e.type) ?? I.ITEMS_TYPE.CART_ITEMS, r = (e == null ? void 0 : e.itemsSelectValue) ?? "", n = (e == null ? void 0 : e.priceCurrencySymbol) ?? "", o = (e == null ? void 0 : e.priceCurrencyLocation) ?? "0", a = (e == null ? void 0 : e.priceFormatted) ?? !1;
151
+ this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(G({
152
+ orientation: i,
156
153
  itemsType: t,
157
- itemId: i,
154
+ itemId: r,
158
155
  currencySymbol: n,
159
- currencyLocation: s,
156
+ currencyLocation: o,
160
157
  formattedPrice: a
161
158
  })).apply(new N("Updated template"));
162
159
  }
163
- _getTemplateData(e, r) {
164
- const t = _(this.currentNode), i = e ?? (t == null ? void 0 : t.type) ?? T.ITEMS_TYPE.CART_ITEMS, n = r ?? (t == null ? void 0 : t.itemsSelectValue) ?? "", s = (t == null ? void 0 : t.priceFormatted) ?? !1, a = (t == null ? void 0 : t.priceSinglePrice) ?? !1, l = g[i].findIndex((h) => h.value === n), c = l > -1 ? l : 0, o = y.PAIRS_FOR_EXTENSION.price[i], d = y.PAIRS_FOR_EXTENSION.originalPrice[i];
160
+ _getTemplateData(e, i) {
161
+ const t = _(this.currentNode), r = e ?? (t == null ? void 0 : t.type) ?? I.ITEMS_TYPE.CART_ITEMS, n = i ?? (t == null ? void 0 : t.itemsSelectValue) ?? "", o = (t == null ? void 0 : t.priceFormatted) ?? !1, a = (t == null ? void 0 : t.priceSinglePrice) ?? !1, c = b[r].findIndex((h) => h.value === n), l = c > -1 ? c : 0, s = S.PAIRS_FOR_EXTENSION.price[r], d = S.PAIRS_FOR_EXTENSION.originalPrice[r];
165
162
  let m, u;
166
- return a ? (m = s ? o.DEFAULT_SINGLE_PRICE_FORMATTED : o.DEFAULT_SINGLE_PRICE, u = s ? d.DEFAULT_SINGLE_PRICE_FORMATTED : d.DEFAULT_SINGLE_PRICE) : (m = s ? o.DEFAULT_PRICE_FORMATTED : o.DEFAULT_PRICE, u = s ? d.DEFAULT_PRICE_FORMATTED : d.DEFAULT_PRICE), {
167
- imageSrc: y.PAIRS_FOR_EXTENSION.imageSrc[i].DEFAULT[c],
168
- name: y.PAIRS_FOR_EXTENSION.name[i].DEFAULT[c],
163
+ return O(t) ? { price: m, originalPrice: u } = W({ ...t, type: r }) : a ? (m = o ? s.DEFAULT_SINGLE_PRICE_FORMATTED : s.DEFAULT_SINGLE_PRICE, u = o ? d.DEFAULT_SINGLE_PRICE_FORMATTED : d.DEFAULT_SINGLE_PRICE) : (m = o ? s.DEFAULT_PRICE_FORMATTED : s.DEFAULT_PRICE, u = o ? d.DEFAULT_PRICE_FORMATTED : d.DEFAULT_PRICE), {
164
+ imageSrc: S.PAIRS_FOR_EXTENSION.imageSrc[r].DEFAULT[l],
165
+ name: S.PAIRS_FOR_EXTENSION.name[r].DEFAULT[l],
169
166
  price: m,
170
167
  originalPrice: u,
171
- quantity: y.PAIRS_FOR_EXTENSION.quantity[i].DEFAULT,
172
- button: y.PAIRS_FOR_EXTENSION.button[i].DEFAULT_LABEL
168
+ quantity: S.PAIRS_FOR_EXTENSION.quantity[r].DEFAULT,
169
+ button: S.PAIRS_FOR_EXTENSION.button[r].DEFAULT_LABEL
173
170
  };
174
171
  }
175
- _updateImageSrc(e, r) {
176
- var i;
177
- const t = (i = this.currentNode) == null ? void 0 : i.querySelector(`[esd-extension-block-id="${I.IMAGE}"] img`);
178
- t && r.modifyHtml(t).setAttribute("src", e);
172
+ _updateImageSrc(e, i) {
173
+ var r;
174
+ const t = (r = this.currentNode) == null ? void 0 : r.querySelector(`[esd-extension-block-id="${T.IMAGE}"] img`);
175
+ t && i.modifyHtml(t).setAttribute("src", e);
179
176
  }
180
- _updateName(e, r) {
181
- var s;
182
- const t = (s = this.currentNode) == null ? void 0 : s.querySelector(`[esd-extension-block-id="${I.NAME}"]`);
177
+ _updateName(e, i) {
178
+ var o;
179
+ const t = (o = this.currentNode) == null ? void 0 : o.querySelector(`[esd-extension-block-id="${T.NAME}"]`);
183
180
  if (!t)
184
181
  return;
185
- const i = t.getInnerText().trim();
182
+ const r = t.getInnerText().trim();
186
183
  let n = t.getInnerHTML().trim();
187
- n = n.replace(i, A(e)), r.modifyHtml(t).setInnerHtml(n);
184
+ n = n.replace(r, P(e)), i.modifyHtml(t).setInnerHtml(n);
188
185
  }
189
- _updatePrice(e, r) {
186
+ _updatePrice(e, i) {
190
187
  var a;
191
188
  const t = ((a = this.currentNode) == null ? void 0 : a.querySelectorAll(
192
- `[esd-extension-block-id="${I.PRICE}"]`
193
- )) || [], i = _(this.currentNode), n = (i == null ? void 0 : i.priceCurrencySymbol) ?? "", s = (i == null ? void 0 : i.priceCurrencyLocation) ?? "0";
194
- t.forEach((l) => {
195
- const c = this._getParagraphFromBlock(l);
196
- if (!c)
189
+ `[esd-extension-block-id="${T.PRICE}"]`
190
+ )) || [], r = _(this.currentNode), n = (r == null ? void 0 : r.priceCurrencySymbol) ?? "", o = (r == null ? void 0 : r.priceCurrencyLocation) ?? "0";
191
+ if (O(r)) {
192
+ t.forEach((c) => {
193
+ this._replacePriceText(c, e, i);
194
+ });
195
+ return;
196
+ }
197
+ t.forEach((c) => {
198
+ const l = this._getParagraphFromBlock(c);
199
+ if (!l)
197
200
  return;
198
- const o = c.getInnerHTML().trim() || "", d = c.getInnerText().trim() || "", m = (n == null ? void 0 : n.trim()) || "", u = this._removeCurrencySymbol(d, m), h = this._replacePriceNumber(u, e), E = this._buildPriceContent(h, m, s), S = o.replace(d, A(E));
199
- r.modifyHtml(c).setInnerHtml(S);
201
+ const s = l.getInnerHTML().trim() || "", d = l.getInnerText().trim() || "", m = (n == null ? void 0 : n.trim()) || "", u = this._removeCurrencySymbol(d, m), h = this._replacePriceNumber(u, e), E = this._buildPriceContent(h, m, o), y = s.replace(d, P(E));
202
+ i.modifyHtml(l).setInnerHtml(y);
200
203
  });
201
204
  }
202
- _updateOriginalPrice(e, r) {
205
+ _updateOriginalPrice(e, i) {
203
206
  var a;
204
207
  const t = ((a = this.currentNode) == null ? void 0 : a.querySelectorAll(
205
- `[esd-extension-block-id="${I.ORIGINAL_PRICE}"]`
206
- )) || [], i = _(this.currentNode), n = (i == null ? void 0 : i.priceCurrencySymbol) ?? "", s = (i == null ? void 0 : i.priceCurrencyLocation) ?? "0";
207
- t.forEach((l) => {
208
- const c = this._getParagraphFromBlock(l);
209
- if (!c)
208
+ `[esd-extension-block-id="${T.ORIGINAL_PRICE}"]`
209
+ )) || [], r = _(this.currentNode), n = (r == null ? void 0 : r.priceCurrencySymbol) ?? "", o = (r == null ? void 0 : r.priceCurrencyLocation) ?? "0";
210
+ if (O(r)) {
211
+ t.forEach((c) => {
212
+ this._replacePriceText(c, e, i);
213
+ });
214
+ return;
215
+ }
216
+ t.forEach((c) => {
217
+ const l = this._getParagraphFromBlock(c);
218
+ if (!l)
210
219
  return;
211
- const o = c.querySelector("s");
212
- if (!o)
220
+ const s = l.querySelector("s");
221
+ if (!s)
213
222
  return;
214
- const d = o.getInnerHTML().trim() || "", m = o.getInnerText().trim() || "", u = (n == null ? void 0 : n.trim()) || "", h = this._removeCurrencySymbol(m, u), E = this._replacePriceNumber(h, e), S = this._buildPriceContent(E, u, s), R = `<s>${d.replace(m, A(S))}</s>`;
215
- r.modifyHtml(c).setInnerHtml(R);
223
+ const d = s.getInnerHTML().trim() || "", m = s.getInnerText().trim() || "", u = (n == null ? void 0 : n.trim()) || "", h = this._removeCurrencySymbol(m, u), E = this._replacePriceNumber(h, e), y = this._buildPriceContent(E, u, o), A = `<s>${d.replace(m, P(y))}</s>`;
224
+ i.modifyHtml(l).setInnerHtml(A);
216
225
  });
217
226
  }
218
- _updateQuantity(e, r, t) {
227
+ _updateQuantity(e, i, t) {
219
228
  var h;
220
- const i = _(this.currentNode), s = (r ?? (i == null ? void 0 : i.type) ?? T.ITEMS_TYPE.CART_ITEMS) !== T.ITEMS_TYPE.BROWSED_ITEMS, a = (i == null ? void 0 : i.quantityControlEnabled) !== !1, l = s && a, c = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${I.QUANTITY}"]`);
221
- if (!c)
229
+ const r = _(this.currentNode), o = (i ?? (r == null ? void 0 : r.type) ?? I.ITEMS_TYPE.CART_ITEMS) !== I.ITEMS_TYPE.BROWSED_ITEMS, a = (r == null ? void 0 : r.quantityControlEnabled) !== !1, c = o && a, l = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${T.QUANTITY}"]`);
230
+ if (!l)
222
231
  return;
223
- const o = this._getParagraphFromBlock(c);
224
- if (!o)
232
+ const s = this._getParagraphFromBlock(l);
233
+ if (!s)
225
234
  return;
226
- const d = o.getInnerText().trim();
227
- let m = o.getInnerHTML().trim();
228
- function u(E, S, P) {
235
+ const d = s.getInnerText().trim();
236
+ let m = s.getInnerHTML().trim();
237
+ function u(E, y, g) {
229
238
  return E.replace(
230
- new RegExp(`(>\\s*)?${S}(\\s*<)?`, "g"),
231
- `$1${P}$2`
239
+ new RegExp(`(>\\s*)?${y}(\\s*<)?`, "g"),
240
+ `$1${g}$2`
232
241
  );
233
242
  }
234
- m = u(m, d, e), t.modifyHtml(o).setInnerHtml(m), t.modifyHtml(c).setStyle("display", l ? "table-cell" : "none");
243
+ m = u(m, d, e), t.modifyHtml(s).setInnerHtml(m), t.modifyHtml(l).setStyle("display", c ? "table-cell" : "none");
235
244
  }
236
245
  _reOrderTemplate(e) {
237
- var h, E, S, P, R, b;
238
- const r = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${I.IMAGE}"]`), t = (E = this.currentNode) == null ? void 0 : E.querySelector(`[esd-extension-block-id="${I.NAME}"]`), i = ((S = this.currentNode) == null ? void 0 : S.querySelectorAll(
239
- `[esd-extension-block-id="${I.PRICE}"]`
240
- )) || [], n = ((P = this.currentNode) == null ? void 0 : P.querySelectorAll(
241
- `[esd-extension-block-id="${I.ORIGINAL_PRICE}"]`
242
- )) || [], [s] = i, [a] = n, l = (R = this.currentNode) == null ? void 0 : R.querySelector(`[esd-extension-block-id="${I.QUANTITY}"]`), c = (b = this.currentNode) == null ? void 0 : b.querySelector(`[esd-extension-block-id="${I.BUTTON}"]`);
243
- if (!r || !t || !s || !a || !l || !c)
246
+ var h, E, y, g, A, L;
247
+ const i = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${T.IMAGE}"]`), t = (E = this.currentNode) == null ? void 0 : E.querySelector(`[esd-extension-block-id="${T.NAME}"]`), r = ((y = this.currentNode) == null ? void 0 : y.querySelectorAll(
248
+ `[esd-extension-block-id="${T.PRICE}"]`
249
+ )) || [], n = ((g = this.currentNode) == null ? void 0 : g.querySelectorAll(
250
+ `[esd-extension-block-id="${T.ORIGINAL_PRICE}"]`
251
+ )) || [], [o] = r, [a] = n, c = (A = this.currentNode) == null ? void 0 : A.querySelector(`[esd-extension-block-id="${T.QUANTITY}"]`), l = (L = this.currentNode) == null ? void 0 : L.querySelector(`[esd-extension-block-id="${T.BUTTON}"]`);
252
+ if (!i || !t || !o || !a || !c || !l)
244
253
  return;
245
- const o = _(this.currentNode), d = (o == null ? void 0 : o.orientation) ?? T.ORIENTATION.VERTICAL, m = d === T.ORIENTATION.VERTICAL;
246
- let u = m ? V : q;
254
+ const s = _(this.currentNode), d = (s == null ? void 0 : s.orientation) ?? I.ORIENTATION.VERTICAL, m = d === I.ORIENTATION.VERTICAL;
255
+ let u = m ? V : B;
247
256
  setTimeout(() => {
248
- const k = A(D(s.getOuterHTML(), m)), F = A(
249
- D(a.getOuterHTML(), m)
257
+ const k = P(x(o.getOuterHTML(), m)), U = P(
258
+ x(a.getOuterHTML(), m)
250
259
  );
251
- u = u.replace("{-{-TEMPLATE_FIRST_LINE-}-}", m ? x : "").replace("{-{-PRODUCT_IMAGE-}-}", C(r.getOuterHTML())).replace("{-{-PRODUCT_NAME-}-}", C(t.getOuterHTML())).replaceAll("{-{-PRODUCT_PRICE-}-}", C(k)).replaceAll("{-{-PRODUCT_ORIGINAL_PRICE-}-}", C(F)).replace("{-{-PRODUCT_QUANTITY-}-}", C(l.getOuterHTML())).replace("{-{-PRODUCT_BUTTON-}-}", C(c.getOuterHTML())), u = G(
260
+ u = u.replace("{-{-TEMPLATE_FIRST_LINE-}-}", m ? f : "").replace("{-{-PRODUCT_IMAGE-}-}", C(i.getOuterHTML())).replace("{-{-PRODUCT_NAME-}-}", C(t.getOuterHTML())).replaceAll("{-{-PRODUCT_PRICE-}-}", C(k)).replaceAll("{-{-PRODUCT_ORIGINAL_PRICE-}-}", C(U)).replace("{-{-PRODUCT_QUANTITY-}-}", C(c.getOuterHTML())).replace("{-{-PRODUCT_BUTTON-}-}", C(l.getOuterHTML())), u = Y(
252
261
  u,
253
262
  d,
254
- (o == null ? void 0 : o.priceOrientation) ?? "horizontal",
255
- (o == null ? void 0 : o.priceVisible) ?? !0,
256
- (o == null ? void 0 : o.originalPriceVisible) ?? !0
257
- ), u = u.trim().replace(x, "").slice(0, -5);
258
- const O = e ?? this.api.getDocumentModifier();
259
- O.modifyHtml(r.querySelector("img")).setAttribute("width", U.productImageWidth).setAttribute("height", U.productImageWidth), O.modifyHtml(this.currentNode).setInnerHtml(u), e || O.apply(new N("Reordered template"));
263
+ (s == null ? void 0 : s.priceOrientation) ?? "horizontal",
264
+ (s == null ? void 0 : s.priceVisible) ?? !0,
265
+ (s == null ? void 0 : s.originalPriceVisible) ?? !0
266
+ ), u = u.trim().replace(f, "").slice(0, -5);
267
+ const R = e ?? this.api.getDocumentModifier();
268
+ R.modifyHtml(i.querySelector("img")).setAttribute("width", F.productImageWidth).setAttribute("height", F.productImageWidth), R.modifyHtml(this.currentNode).setInnerHtml(u), e || R.apply(new N("Reordered template"));
260
269
  }, 50);
261
270
  }
262
- _updateDataTypeAttributes(e, r) {
271
+ _updateDataTypeAttributes(e, i) {
263
272
  if (!this.currentNode)
264
273
  return;
265
274
  const t = this.currentNode.closest(".ins-product-td");
266
- t && r.modifyHtml(t).setAttribute("data-type", e), this.currentNode.querySelectorAll("[data-type]").forEach((n) => {
267
- const s = n;
268
- r.modifyHtml(s).setAttribute("data-type", e);
275
+ t && i.modifyHtml(t).setAttribute("data-type", e), this.currentNode.querySelectorAll("[data-type]").forEach((n) => {
276
+ const o = n;
277
+ i.modifyHtml(o).setAttribute("data-type", e);
269
278
  });
270
279
  }
271
- _updateDataNumberAttributes(e, r) {
280
+ _updateDataNumberAttributes(e, i) {
272
281
  if (!this.currentNode)
273
282
  return;
274
- const t = _(this.currentNode), i = (t == null ? void 0 : t.type) ?? T.ITEMS_TYPE.CART_ITEMS, n = v(e, i), s = this.currentNode.closest(".ins-product-td");
275
- s && r.modifyHtml(s).setAttribute("data-number", n), this.currentNode.querySelectorAll("[data-number]").forEach((l) => {
276
- const c = l;
277
- r.modifyHtml(c).setAttribute("data-number", n);
283
+ const t = _(this.currentNode), r = (t == null ? void 0 : t.type) ?? I.ITEMS_TYPE.CART_ITEMS, n = Q(e, r), o = this.currentNode.closest(".ins-product-td");
284
+ o && i.modifyHtml(o).setAttribute("data-number", n), this.currentNode.querySelectorAll("[data-number]").forEach((c) => {
285
+ const l = c;
286
+ i.modifyHtml(l).setAttribute("data-number", n);
278
287
  });
279
288
  }
280
289
  _reFillTemplate(e) {
281
- const r = this._getTemplateData(e), t = this.api.getDocumentModifier();
282
- this._updateImageSrc(r.imageSrc, t), this._updateName(r.name, t), this._updatePrice(r.price, t), this._updateOriginalPrice(r.originalPrice, t), this._updateQuantity(r.quantity, e, t), t.apply(new N("Refilled template"));
290
+ const i = this._getTemplateData(e), t = this.api.getDocumentModifier();
291
+ this._updateImageSrc(i.imageSrc, t), this._updateName(i.name, t), this._updatePrice(i.price, t), this._updateOriginalPrice(i.originalPrice, t), this._updateQuantity(i.quantity, e, t), t.apply(new N("Refilled template"));
283
292
  }
284
293
  _recalculateTrimming() {
285
- var s;
294
+ var o;
286
295
  if (!this.currentNode)
287
296
  return;
288
- const e = (s = this.currentNode) == null ? void 0 : s.querySelector(`[esd-extension-block-id="${I.NAME}"]`);
297
+ const e = (o = this.currentNode) == null ? void 0 : o.querySelector(`[esd-extension-block-id="${T.NAME}"]`);
289
298
  if (!e)
290
299
  return;
291
- const r = Y(e);
292
- if (!r)
300
+ const i = v(e);
301
+ if (!i)
293
302
  return;
294
- const t = _(this.currentNode), i = (t == null ? void 0 : t.nameTrimming) ?? !0, n = f(t == null ? void 0 : t.orientation);
295
- this.api.getDocumentModifier().modifyHtml(r).setStyle("overflow", "hidden").setStyle("white-space", i ? "nowrap" : "normal").setStyle("text-overflow", i ? "ellipsis" : "unset").setStyle("max-width", n).removeStyle("width").apply(new N("Recalculated trimming after orientation change"));
303
+ const t = _(this.currentNode), r = (t == null ? void 0 : t.nameTrimming) ?? !0, n = w(t == null ? void 0 : t.orientation);
304
+ this.api.getDocumentModifier().modifyHtml(i).setStyle("overflow", "hidden").setStyle("white-space", r ? "nowrap" : "normal").setStyle("text-overflow", r ? "ellipsis" : "unset").setStyle("max-width", n).removeStyle("width").apply(new N("Recalculated trimming after orientation change"));
296
305
  }
297
306
  _getParagraphFromBlock(e) {
298
307
  return e.querySelector("p");
299
308
  }
309
+ _replacePriceText(e, i, t) {
310
+ const r = this._getParagraphFromBlock(e);
311
+ if (!r)
312
+ return;
313
+ const n = r.getInnerText().trim();
314
+ t.modifyHtml(r).setInnerHtml(z(r.getInnerHTML(), n, i));
315
+ }
300
316
  _escapeRegex(e) {
301
317
  return e.replace(/[-\\^$*+?().|[\]{}]/g, "\\$&");
302
318
  }
303
- _removeCurrencySymbol(e, r) {
319
+ _removeCurrencySymbol(e, i) {
304
320
  const t = e || "";
305
- let i = t;
306
- if (r) {
307
- const n = new RegExp(`\\s*${this._escapeRegex(r)}\\s*`);
308
- i = t.replace(n, "").trim();
321
+ let r = t;
322
+ if (i) {
323
+ const n = new RegExp(`\\s*${this._escapeRegex(i)}\\s*`);
324
+ r = t.replace(n, "").trim();
309
325
  } else {
310
326
  const n = t.match(/([^0-9.,\s]+)/);
311
327
  if (n && n[1]) {
312
- const s = n[1].trim(), a = new RegExp(`\\s*${this._escapeRegex(s)}\\s*`);
313
- i = t.replace(a, "").trim();
328
+ const o = n[1].trim(), a = new RegExp(`\\s*${this._escapeRegex(o)}\\s*`);
329
+ r = t.replace(a, "").trim();
314
330
  }
315
331
  }
316
- return i;
332
+ return r;
317
333
  }
318
- _replacePriceNumber(e, r) {
334
+ _replacePriceNumber(e, i) {
319
335
  const t = /([0-9][0-9,.]*)/;
320
- return e.replace(t, r).trim();
336
+ return e.replace(t, i).trim();
321
337
  }
322
- _buildPriceContent(e, r, t) {
323
- return r ? t === "1" ? `${e}&nbsp;${r}` : `${r}&nbsp;${e}` : e;
338
+ _buildPriceContent(e, i, t) {
339
+ return i ? t === "1" ? `${e}&nbsp;${i}` : `${i}&nbsp;${e}` : e;
324
340
  }
325
341
  }
326
342
  export {
327
- Q as CONTROL_BLOCK_ID,
328
- se as ItemsBlockControl
343
+ X as CONTROL_BLOCK_ID,
344
+ me as ItemsBlockControl
329
345
  };
@@ -1,4 +1,4 @@
1
- var c = /* @__PURE__ */ ((i) => (i.BUTTON = "items-block-button", i.IMAGE = "items-block-image", i.ORIGINAL_PRICE = "items-block-original-price", i.PRICE = "items-block-price", i.QUANTITY = "items-block-quantity", i.NAME = "items-block-name", i))(c || {}), _ = /* @__PURE__ */ ((i) => (i.BUTTON_ALIGN = "items-block-button-align-control", i.BUTTON_BORDER = "items-block-button-border-control", i.BUTTON_BORDER_RADIUS = "items-block-button-border-radius-control", i.BUTTON_COLOR = "items-block-button-color-control", i.BUTTON_FIT_TO_CONTENT = "items-block-button-fit-to-content-control", i.BUTTON_FONT_FAMILY = "items-block-button-font-family-control", i.BUTTON_MARGINS = "items-block-button-margins-control", i.BUTTON_PADDINGS = "items-block-button-paddings-control", i.BUTTON_TEXT = "items-block-button-text-control", i.BUTTON_TEXT_SIZE = "items-block-button-text-size-control", i.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "items-block-button-text-style-and-font-color-control", i.BUTTON_LINK = "items-block-button-link-control", i.IMAGE_SIZE = "items-block-image-size-control", i.IMAGE_MARGINS = "items-block-image-margins-control", i.IMAGE_LINK = "items-block-image-link-control", i.ORIGINAL_PRICE_ALIGN = "items-block-original-price-align-control", i.ORIGINAL_PRICE_COLOR = "items-block-original-price-color-control", i.ORIGINAL_PRICE_SIZE = "items-block-original-price-size-control", i.ORIGINAL_PRICE_STYLE = "items-block-original-price-style-control", i.ORIGINAL_PRICE_FONT_FAMILY = "items-block-original-price-font-family-control", i.ORIGINAL_PRICE_BACKGROUND = "items-block-original-price-background-control", i.ORIGINAL_PRICE_PADDINGS = "items-block-original-price-paddings-control", i.PRICE_ALIGN = "items-block-price-align-control", i.PRICE_COLOR = "items-block-price-color-control", i.PRICE_SIZE = "items-block-price-size-control", i.PRICE_STYLE = "items-block-price-style-control", i.PRICE_FONT_FAMILY = "items-block-price-font-family-control", i.PRICE_BACKGROUND = "items-block-price-background-control", i.PRICE_PADDINGS = "items-block-price-paddings-control", i.PRICE_HIDE_DISCOUNT = "items-block-price-hide-discount-control", i.PRICE_FORMATTED_PRICE = "items-block-price-formatted-price-control", i.PRICE_SINGLE_PRICE = "items-block-price-single-price-control", i.PRICE_CURRENCY_SYMBOL = "items-block-price-currency-symbol-control", i.PRICE_CURRENCY_LOCATION = "items-block-price-currency-location-control", i.PRICE_ORIENTATION = "items-block-price-orientation-control", i.NAME_ALIGN = "items-block-name-align-control", i.NAME_COLOR = "items-block-name-color-control", i.NAME_SIZE = "items-block-name-size-control", i.NAME_STYLE = "items-block-name-style-control", i.NAME_FONT_FAMILY = "items-block-name-font-family-control", i.NAME_BACKGROUND = "items-block-name-background-control", i.NAME_TRIMMING = "items-block-name-trimming-control", i.NAME_PADDINGS = "items-block-name-paddings-control", i.QUANTITY_ALIGN = "items-block-quantity-align-control", i.QUANTITY_COLOR = "items-block-quantity-color-control", i.QUANTITY_FONT_FAMILY = "items-block-quantity-font-family-control", i.QUANTITY_PADDINGS = "items-block-quantity-paddings-control", i.QUANTITY_SIZE = "items-block-quantity-size-control", i.QUANTITY_STYLE = "items-block-quantity-style-control", i))(_ || {});
1
+ var c = /* @__PURE__ */ ((i) => (i.BUTTON = "items-block-button", i.IMAGE = "items-block-image", i.ORIGINAL_PRICE = "items-block-original-price", i.PRICE = "items-block-price", i.QUANTITY = "items-block-quantity", i.NAME = "items-block-name", i))(c || {}), _ = /* @__PURE__ */ ((i) => (i.BUTTON_ALIGN = "items-block-button-align-control", i.BUTTON_BORDER = "items-block-button-border-control", i.BUTTON_BORDER_RADIUS = "items-block-button-border-radius-control", i.BUTTON_COLOR = "items-block-button-color-control", i.BUTTON_FIT_TO_CONTENT = "items-block-button-fit-to-content-control", i.BUTTON_FONT_FAMILY = "items-block-button-font-family-control", i.BUTTON_MARGINS = "items-block-button-margins-control", i.BUTTON_PADDINGS = "items-block-button-paddings-control", i.BUTTON_TEXT = "items-block-button-text-control", i.BUTTON_TEXT_SIZE = "items-block-button-text-size-control", i.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "items-block-button-text-style-and-font-color-control", i.BUTTON_LINK = "items-block-button-link-control", i.IMAGE_SIZE = "items-block-image-size-control", i.IMAGE_MARGINS = "items-block-image-margins-control", i.IMAGE_LINK = "items-block-image-link-control", i.ORIGINAL_PRICE_ALIGN = "items-block-original-price-align-control", i.ORIGINAL_PRICE_COLOR = "items-block-original-price-color-control", i.ORIGINAL_PRICE_SIZE = "items-block-original-price-size-control", i.ORIGINAL_PRICE_STYLE = "items-block-original-price-style-control", i.ORIGINAL_PRICE_FONT_FAMILY = "items-block-original-price-font-family-control", i.ORIGINAL_PRICE_BACKGROUND = "items-block-original-price-background-control", i.ORIGINAL_PRICE_PADDINGS = "items-block-original-price-paddings-control", i.PRICE_ALIGN = "items-block-price-align-control", i.PRICE_COLOR = "items-block-price-color-control", i.PRICE_SIZE = "items-block-price-size-control", i.PRICE_STYLE = "items-block-price-style-control", i.PRICE_FONT_FAMILY = "items-block-price-font-family-control", i.PRICE_BACKGROUND = "items-block-price-background-control", i.PRICE_PADDINGS = "items-block-price-paddings-control", i.PRICE_HIDE_DISCOUNT = "items-block-price-hide-discount-control", i.PRICE_FORMATTED_PRICE = "items-block-price-formatted-price-control", i.PRICE_SINGLE_PRICE = "items-block-price-single-price-control", i.PRICE_CURRENCY_SYMBOL = "items-block-price-currency-symbol-control", i.PRICE_CURRENCY_LOCATION = "items-block-price-currency-location-control", i.PRICE_ORIENTATION = "items-block-price-orientation-control", i.PRICE_FORMAT = "items-block-price-format-control", i.NAME_ALIGN = "items-block-name-align-control", i.NAME_COLOR = "items-block-name-color-control", i.NAME_SIZE = "items-block-name-size-control", i.NAME_STYLE = "items-block-name-style-control", i.NAME_FONT_FAMILY = "items-block-name-font-family-control", i.NAME_BACKGROUND = "items-block-name-background-control", i.NAME_TRIMMING = "items-block-name-trimming-control", i.NAME_PADDINGS = "items-block-name-paddings-control", i.QUANTITY_ALIGN = "items-block-quantity-align-control", i.QUANTITY_COLOR = "items-block-quantity-color-control", i.QUANTITY_FONT_FAMILY = "items-block-quantity-font-family-control", i.QUANTITY_PADDINGS = "items-block-quantity-paddings-control", i.QUANTITY_SIZE = "items-block-quantity-size-control", i.QUANTITY_STYLE = "items-block-quantity-style-control", i))(_ || {});
2
2
  export {
3
3
  _ as ItemsBlockControlId,
4
4
  c as ItemsBlockId
@@ -6,16 +6,17 @@ import { ImageLinkControl as m } from "./controls/image/link.js";
6
6
  import { NameControls as r, QuantityControls as n, OriginalPriceControls as t, PriceControls as d, ImageControls as l, ButtonControls as o } from "./controls/index.js";
7
7
  import { NameTrimmingControl as s } from "./controls/name/trimming.js";
8
8
  import { PriceCurrencyLocationControl as c } from "./controls/price/currencyLocation.js";
9
- import { PriceCurrencySymbolControl as g } from "./controls/price/currencySymbol.js";
10
- import { PriceFormattedPriceControl as f } from "./controls/price/formattedPrice.js";
9
+ import { PriceCurrencySymbolControl as f } from "./controls/price/currencySymbol.js";
10
+ import { PriceFormattedPriceControl as g } from "./controls/price/formattedPrice.js";
11
11
  import { PriceHideDiscountControl as p } from "./controls/price/hideDiscount.js";
12
12
  import { PriceOrientationControl as y } from "./controls/price/priceOrientation.js";
13
13
  import { PriceSinglePriceControl as u } from "./controls/price/singlePrice.js";
14
- import { ItemsBlockControl as P } from "./controls/settingsControl.js";
15
- import { ItemsIconsRegistry as k } from "./iconsRegistry.js";
16
- import I from "./items.css.js";
17
- import { SettingsPanel as b } from "./settingsPanel.js";
18
- const j = new a().addBlock(i).withSettingsPanelRegistry(b).addControl(P).addControl(e).addControl(r.align).addControl(r.color).addControl(r.size).addControl(r.style).addControl(r.fontFamily).addControl(r.background).addControl(r.paddings).addControl(s).addControl(n.align).addControl(n.color).addControl(n.fontFamily).addControl(n.paddings).addControl(n.size).addControl(n.style).addControl(t.align).addControl(t.color).addControl(t.size).addControl(t.style).addControl(t.fontFamily).addControl(t.background).addControl(t.paddings).addControl(d.align).addControl(d.color).addControl(d.size).addControl(d.style).addControl(d.fontFamily).addControl(d.background).addControl(d.paddings).addControl(p).addControl(f).addControl(u).addControl(g).addControl(c).addControl(y).addControl(m).addControl(l.size).addControl(l.margins).addControl(C).addControl(o.align).addControl(o.border).addControl(o.borderRadius).addControl(o.color).addControl(o.fontFamily).addControl(o.margins).addControl(o.paddings).addControl(o.text).addControl(o.textSize).addControl(o.textStyleAndFontColor).addControl(o.fitToContent).addStyles(I).withIconsRegistry(k).build();
14
+ import { ItemsBlockPriceFormatControl as P } from "./controls/priceFormat.js";
15
+ import { ItemsBlockControl as k } from "./controls/settingsControl.js";
16
+ import { ItemsIconsRegistry as I } from "./iconsRegistry.js";
17
+ import B from "./items.css.js";
18
+ import { SettingsPanel as F } from "./settingsPanel.js";
19
+ const v = new a().addBlock(i).withSettingsPanelRegistry(F).addControl(k).addControl(e).addControl(P).addControl(r.align).addControl(r.color).addControl(r.size).addControl(r.style).addControl(r.fontFamily).addControl(r.background).addControl(r.paddings).addControl(s).addControl(n.align).addControl(n.color).addControl(n.fontFamily).addControl(n.paddings).addControl(n.size).addControl(n.style).addControl(t.align).addControl(t.color).addControl(t.size).addControl(t.style).addControl(t.fontFamily).addControl(t.background).addControl(t.paddings).addControl(d.align).addControl(d.color).addControl(d.size).addControl(d.style).addControl(d.fontFamily).addControl(d.background).addControl(d.paddings).addControl(p).addControl(g).addControl(u).addControl(f).addControl(c).addControl(y).addControl(m).addControl(l.size).addControl(l.margins).addControl(C).addControl(o.align).addControl(o.border).addControl(o.borderRadius).addControl(o.color).addControl(o.fontFamily).addControl(o.margins).addControl(o.paddings).addControl(o.text).addControl(o.textSize).addControl(o.textStyleAndFontColor).addControl(o.fitToContent).addStyles(B).withIconsRegistry(I).build();
19
20
  export {
20
- j as default
21
+ v as default
21
22
  };
@@ -18,6 +18,25 @@ const n = `/* Utils */
18
18
  padding: 0
19
19
  }
20
20
 
21
+ /* Items Price Format Controls - Currency Location through Decimal Count form one compact group
22
+ on the block panel (the only panel with the main control); dividers are opted out via no-separator */
23
+ .container-wrapper:has(.items-controls-container) ~ .container-wrapper > .items-block-price-currency-location-control {
24
+ padding-bottom: 4px;
25
+ }
26
+
27
+ .container-wrapper:has(.items-controls-container) ~ .container-wrapper > .items-block-price-currency-symbol-control {
28
+ padding-top: 4px;
29
+ padding-bottom: 4px;
30
+ }
31
+
32
+ .container-wrapper > .items-block-price-format-control > .container {
33
+ padding: 4px 16px;
34
+ }
35
+
36
+ .container-wrapper > .items-block-price-format-control > .container:last-child {
37
+ padding-bottom: 16px;
38
+ }
39
+
21
40
  /* ─── Migration Info Box ─────────────────────────────────────────────── */
22
41
  /* Shown in the settings panel title when a block was migrated from legacy */
23
42