@useinsider/guido 3.12.0-beta.840207a → 3.12.0-beta.841bb6a

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 (61) hide show
  1. package/dist/@types/config/schemas.js +8 -13
  2. package/dist/components/Guido.vue.js +6 -6
  3. package/dist/components/Guido.vue2.js +49 -50
  4. package/dist/composables/useRecommendation.js +51 -82
  5. package/dist/config/migrator/recommendationMigrator.js +4 -7
  6. package/dist/enums/date.js +3 -4
  7. package/dist/enums/extensions/recommendationBlock.js +22 -28
  8. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +11 -12
  9. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +109 -123
  10. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +1 -1
  11. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +102 -256
  12. package/dist/extensions/Blocks/Recommendation/validation/requiredFields.js +12 -24
  13. package/dist/guido.css +1 -1
  14. package/dist/services/recommendationApi.js +29 -72
  15. package/dist/src/@types/config/schemas.d.ts +0 -10
  16. package/dist/src/composables/useConfig.d.ts +0 -2
  17. package/dist/src/composables/useRecommendation.d.ts +0 -2
  18. package/dist/src/enums/extensions/recommendationBlock.d.ts +0 -10
  19. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +1 -3
  20. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -606
  21. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +0 -7
  22. package/dist/src/extensions/Blocks/Recommendation/validation/requiredFields.d.ts +1 -3
  23. package/dist/src/services/recommendationApi.d.ts +1 -7
  24. package/dist/src/stores/config.d.ts +0 -18
  25. package/dist/src/utils/genericUtil.d.ts +0 -9
  26. package/dist/static/styles/base.css.js +0 -15
  27. package/dist/utils/dateUtil.js +10 -23
  28. package/dist/utils/genericUtil.js +1 -10
  29. package/dist/utils/pairProductVariables.js +44 -43
  30. package/dist/utils/templatePreparation.js +58 -62
  31. package/package.json +1 -1
  32. package/dist/components/organisms/extensions/recommendation/StrategyDetailDrawer.vue.js +0 -36
  33. package/dist/components/organisms/extensions/recommendation/StrategyDetailDrawer.vue2.js +0 -244
  34. package/dist/components/organisms/extensions/recommendation/strategy-detail/CampaignTable.vue.js +0 -18
  35. package/dist/components/organisms/extensions/recommendation/strategy-detail/CampaignTable.vue2.js +0 -42
  36. package/dist/components/organisms/extensions/recommendation/strategy-detail/FilterHumanizer.vue.js +0 -20
  37. package/dist/components/organisms/extensions/recommendation/strategy-detail/FilterHumanizer.vue2.js +0 -18
  38. package/dist/components/organisms/extensions/recommendation/strategy-detail/HumanizerCondition.vue.js +0 -20
  39. package/dist/components/organisms/extensions/recommendation/strategy-detail/HumanizerCondition.vue2.js +0 -60
  40. package/dist/components/organisms/extensions/recommendation/strategy-detail/HumanizerGroup.vue.js +0 -19
  41. package/dist/components/organisms/extensions/recommendation/strategy-detail/HumanizerGroup.vue2.js +0 -19
  42. package/dist/components/organisms/extensions/recommendation/strategy-detail/InfoDisplayValue.vue.js +0 -22
  43. package/dist/components/organisms/extensions/recommendation/strategy-detail/InfoDisplayValue.vue2.js +0 -29
  44. package/dist/composables/useStrategyFilters.js +0 -16
  45. package/dist/enums/extensions/filteringV2.js +0 -8
  46. package/dist/enums/extensions/strategyDetail.js +0 -148
  47. package/dist/extensions/Blocks/Recommendation/controls/main/strategy.js +0 -146
  48. package/dist/extensions/Blocks/Recommendation/utils/strategyHumanizer.js +0 -97
  49. package/dist/extensions/Blocks/Recommendation/utils/strategySummary.js +0 -10
  50. package/dist/src/components/organisms/extensions/recommendation/StrategyDetailDrawer.vue.d.ts +0 -2
  51. package/dist/src/components/organisms/extensions/recommendation/strategy-detail/CampaignTable.vue.d.ts +0 -43
  52. package/dist/src/components/organisms/extensions/recommendation/strategy-detail/FilterHumanizer.vue.d.ts +0 -29
  53. package/dist/src/components/organisms/extensions/recommendation/strategy-detail/HumanizerCondition.vue.d.ts +0 -40
  54. package/dist/src/components/organisms/extensions/recommendation/strategy-detail/HumanizerGroup.vue.d.ts +0 -38
  55. package/dist/src/components/organisms/extensions/recommendation/strategy-detail/InfoDisplayValue.vue.d.ts +0 -51
  56. package/dist/src/composables/useStrategyFilters.d.ts +0 -24
  57. package/dist/src/enums/extensions/filteringV2.d.ts +0 -72
  58. package/dist/src/enums/extensions/strategyDetail.d.ts +0 -90
  59. package/dist/src/extensions/Blocks/Recommendation/controls/main/strategy.d.ts +0 -61
  60. package/dist/src/extensions/Blocks/Recommendation/utils/strategyHumanizer.d.ts +0 -50
  61. package/dist/src/extensions/Blocks/Recommendation/utils/strategySummary.d.ts +0 -34
@@ -1,45 +1,41 @@
1
- var p = Object.defineProperty;
2
- var g = (d, l, t) => l in d ? p(d, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[l] = t;
3
- var s = (d, l, t) => g(d, typeof l != "symbol" ? l + "" : l, t);
4
- import { useConfig as h } from "../../../../../composables/useConfig.js";
5
- import { CommonControl as y } from "../../../common-control.js";
6
- import { DEFAULT_NODE_CONFIG as a } from "../../constants/defaultConfig.js";
1
+ var f = Object.defineProperty;
2
+ var p = (d, l, t) => l in d ? f(d, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[l] = t;
3
+ var s = (d, l, t) => p(d, typeof l != "symbol" ? l + "" : l, t);
4
+ import { CommonControl as g } from "../../../common-control.js";
5
+ import { DEFAULT_NODE_CONFIG as c } from "../../constants/defaultConfig.js";
7
6
  import { RecommendationConfigService as m } from "../../services/configService.js";
8
- import { useRecommendationExtensionStore as R } from "../../store/recommendation.js";
9
- import { AlgorithmControl as b } from "./algorithm.js";
10
- import { ALGORITHM_CONTROL_ID as nt } from "./algorithm.js";
11
- import { CurrencyControl as I } from "./currency.js";
12
- import { CURRENCY_CONTROL_ID as st } from "./currency.js";
13
- import { FiltersControl as N } from "./filters.js";
14
- import { FILTERS_CONTROL_ID as lt } from "./filters.js";
7
+ import { useRecommendationExtensionStore as y } from "../../store/recommendation.js";
8
+ import { AlgorithmControl as N } from "./algorithm.js";
9
+ import { ALGORITHM_CONTROL_ID as tt } from "./algorithm.js";
10
+ import { CurrencyControl as R } from "./currency.js";
11
+ import { CURRENCY_CONTROL_ID as ot } from "./currency.js";
12
+ import { FiltersControl as I } from "./filters.js";
13
+ import { FILTERS_CONTROL_ID as nt } from "./filters.js";
15
14
  import { LayoutOrientationControl as _ } from "./layoutOrientation.js";
16
- import { LAYOUT_ORIENTATION_CONTROL_ID as ut } from "./layoutOrientation.js";
17
- import { LocaleControl as T } from "./locale.js";
18
- import { LOCALE_CONTROL_ID as mt } from "./locale.js";
19
- import { PricePlacementControl as S } from "./pricePlacement.js";
20
- import { PRICE_PLACEMENT_CONTROL_ID as Ct } from "./pricePlacement.js";
21
- import { ProductCountControl as O } from "./productCount.js";
22
- import { PRODUCT_COUNT_CONTROL_ID as pt } from "./productCount.js";
23
- import { ProductLayoutControl as P } from "./productLayout.js";
24
- import { PRODUCT_LAYOUT_CONTROL_ID as yt } from "./productLayout.js";
15
+ import { LAYOUT_ORIENTATION_CONTROL_ID as st } from "./layoutOrientation.js";
16
+ import { LocaleControl as b } from "./locale.js";
17
+ import { LOCALE_CONTROL_ID as lt } from "./locale.js";
18
+ import { PricePlacementControl as T } from "./pricePlacement.js";
19
+ import { PRICE_PLACEMENT_CONTROL_ID as ut } from "./pricePlacement.js";
20
+ import { ProductCountControl as P } from "./productCount.js";
21
+ import { PRODUCT_COUNT_CONTROL_ID as mt } from "./productCount.js";
22
+ import { ProductLayoutControl as O } from "./productLayout.js";
23
+ import { PRODUCT_LAYOUT_CONTROL_ID as Ct } from "./productLayout.js";
25
24
  import { ShuffleControl as L } from "./shuffle.js";
26
- import { SHUFFLE_CONTROL_ID as bt } from "./shuffle.js";
27
- import { StrategyControl as E } from "./strategy.js";
28
- import { STRATEGY_CONTROL_ID as Nt } from "./strategy.js";
29
- import { setCurrencyAttributes as k, getBlockElement as D, isPartnerManagedBlock as A, updateProductContentInPlace as w, regenerateProductRowsWithStyles as v } from "./utils.js";
30
- import { adjustProductsToSize as Tt, formatProductPrice as St, getCardComposition as Ot, getCurrentLayout as Pt, regenerateMobileProductRows as Lt, updatePricesInPlace as Et, updateSingleProductContent as kt } from "./utils.js";
31
- import { useDebounceFn as C } from "../../../../../node_modules/@vueuse/shared/index.js";
32
- const x = "recommendation-id", B = "ui-elements-recommendation-block";
33
- class et extends y {
25
+ import { SHUFFLE_CONTROL_ID as pt } from "./shuffle.js";
26
+ import { setCurrencyAttributes as S, getBlockElement as k, isPartnerManagedBlock as D, updateProductContentInPlace as E, regenerateProductRowsWithStyles as A } from "./utils.js";
27
+ import { adjustProductsToSize as yt, formatProductPrice as Nt, getCardComposition as Rt, getCurrentLayout as It, regenerateMobileProductRows as _t, updatePricesInPlace as bt, updateSingleProductContent as Tt } from "./utils.js";
28
+ import { useDebounceFn as h } from "../../../../../node_modules/@vueuse/shared/index.js";
29
+ const v = "recommendation-id", w = "ui-elements-recommendation-block";
30
+ class Q extends g {
34
31
  constructor() {
35
32
  super(...arguments);
36
- s(this, "store", R());
33
+ s(this, "store", y());
37
34
  s(this, "storeUnsubscription", () => {
38
35
  });
39
36
  s(this, "syncedBlockIds", /* @__PURE__ */ new Set());
40
37
  // Sub-control instances for lifecycle management
41
38
  s(this, "algorithmControl", null);
42
- s(this, "strategyControl", null);
43
39
  s(this, "localeControl", null);
44
40
  s(this, "currencyControl", null);
45
41
  s(this, "productCountControl", null);
@@ -51,7 +47,7 @@ class et extends y {
51
47
  /**
52
48
  * Debounced product fetch to prevent rapid API calls during config changes
53
49
  */
54
- s(this, "_debouncedFetchProducts", C(() => {
50
+ s(this, "_debouncedFetchProducts", h(() => {
55
51
  this.store.fetchRecommendationProducts();
56
52
  }, 500));
57
53
  /**
@@ -65,16 +61,16 @@ class et extends y {
65
61
  * count. The store pads products to the configured size, so in-place only
66
62
  * fails when the size actually changed.
67
63
  */
68
- s(this, "_debouncedRegenerateWithProducts", C(() => {
64
+ s(this, "_debouncedRegenerateWithProducts", h(() => {
69
65
  const t = this.store.recommendationProducts;
70
- if (!this.currentNode || !this.api || A(this.currentNode))
66
+ if (!this.currentNode || !this.api || D(this.currentNode))
71
67
  return;
72
68
  const e = this.api.getDocumentModifier();
73
- w({
69
+ E({
74
70
  currentNode: this.currentNode,
75
71
  documentModifier: e,
76
72
  products: t
77
- }) || v({
73
+ }) || A({
78
74
  currentNode: this.currentNode,
79
75
  documentModifier: e,
80
76
  products: t
@@ -82,13 +78,11 @@ class et extends y {
82
78
  }, 100));
83
79
  }
84
80
  getId() {
85
- return B;
81
+ return w;
86
82
  }
87
83
  getTemplate() {
88
- var o;
89
- return h().isFeatureEnabled("reusableRecommendationStrategy") ? this.strategyControl = new E() : this.algorithmControl = new b(), this.localeControl = new T(), this.currencyControl = new I(), this.productCountControl = new O(), this.productLayoutControl = new P(), this.filtersControl = new N(), this.shuffleControl = new L(), this.pricePlacementControl = new S(), this.layoutOrientationControl = new _(), [
84
+ return this.algorithmControl = new N(), this.localeControl = new b(), this.currencyControl = new R(), this.productCountControl = new P(), this.productLayoutControl = new O(), this.filtersControl = new I(), this.shuffleControl = new L(), this.pricePlacementControl = new T(), this.layoutOrientationControl = new _(), [
90
85
  this.algorithmControl,
91
- this.strategyControl,
92
86
  this.localeControl,
93
87
  this.currencyControl,
94
88
  this.productCountControl,
@@ -97,14 +91,14 @@ class et extends y {
97
91
  this.shuffleControl,
98
92
  this.pricePlacementControl,
99
93
  this.layoutOrientationControl
100
- ].filter(Boolean).forEach((n) => {
101
- n.api = this.api;
94
+ ].forEach((e) => {
95
+ e.api = this.api;
102
96
  }), `
103
97
  <div class="recommendation-controls-container">
104
98
  ${this.layoutOrientationControl.getTemplate()}
105
99
  ${this.productCountControl.getTemplate()}
106
100
  ${this.productLayoutControl.getTemplate()}
107
- ${((o = this.strategyControl ?? this.algorithmControl) == null ? void 0 : o.getTemplate()) ?? ""}
101
+ ${this.algorithmControl.getTemplate()}
108
102
  ${this.localeControl.getTemplate()}
109
103
  ${this.pricePlacementControl.getTemplate()}
110
104
  ${this.currencyControl.getTemplate()}
@@ -123,25 +117,24 @@ class et extends y {
123
117
  await this._fetchBlockData(e), this._initializeSubControls();
124
118
  }
125
119
  onTemplateNodeUpdated(t) {
126
- var n;
120
+ var r;
127
121
  super.onTemplateNodeUpdated(t);
128
122
  const e = this._getRecommendationIdFromNode(t);
129
- e !== null && e !== this.store.currentRecommendationId && this.store.setCurrentBlock(e), e !== null && !this.syncedBlockIds.has(e) && (this.syncedBlockIds.add(e), this._syncNodeConfigToStore()), e !== null && !((n = this.store.blockStates[e]) != null && n.isInitialized) && this._fetchBlockData(e).then(() => {
123
+ e !== null && e !== this.store.currentRecommendationId && this.store.setCurrentBlock(e), e !== null && !this.syncedBlockIds.has(e) && (this.syncedBlockIds.add(e), this._syncNodeConfigToStore()), e !== null && !((r = this.store.blockStates[e]) != null && r.isInitialized) && this._fetchBlockData(e).then(() => {
130
124
  this._initializeSubControls();
131
125
  }), [
132
126
  this.layoutOrientationControl,
133
127
  this.productCountControl,
134
128
  this.algorithmControl,
135
- this.strategyControl,
136
129
  this.localeControl,
137
130
  this.currencyControl,
138
131
  this.productLayoutControl,
139
132
  this.filtersControl,
140
133
  this.shuffleControl,
141
134
  this.pricePlacementControl
142
- ].forEach((r) => {
135
+ ].forEach((n) => {
143
136
  var i;
144
- r != null && r.api && (r.currentNode = t, (i = r.onTemplateNodeUpdated) == null || i.call(r, t));
137
+ n != null && n.api && (n.currentNode = t, (i = n.onTemplateNodeUpdated) == null || i.call(n, t));
145
138
  });
146
139
  }
147
140
  onDestroy() {
@@ -149,7 +142,6 @@ class et extends y {
149
142
  this.layoutOrientationControl,
150
143
  this.productCountControl,
151
144
  this.algorithmControl,
152
- this.strategyControl,
153
145
  this.localeControl,
154
146
  this.currencyControl,
155
147
  this.productLayoutControl,
@@ -170,7 +162,6 @@ class et extends y {
170
162
  this.layoutOrientationControl,
171
163
  this.productCountControl,
172
164
  this.algorithmControl,
173
- this.strategyControl,
174
165
  this.localeControl,
175
166
  this.currencyControl,
176
167
  this.productLayoutControl,
@@ -194,8 +185,8 @@ class et extends y {
194
185
  * values are being prepared for the upcoming initial fetch.
195
186
  */
196
187
  _syncNodeConfigToStore() {
197
- var n;
198
- const t = m.getConfig(this.currentNode), e = this.store.currentRecommendationId, o = e !== null && ((n = this.store.blockStates[e]) == null ? void 0 : n.isInitialized);
188
+ var r;
189
+ const t = m.getConfig(this.currentNode), e = this.store.currentRecommendationId, o = e !== null && ((r = this.store.blockStates[e]) == null ? void 0 : r.isInitialized);
199
190
  this.store.patchCurrentBlockConfig({
200
191
  strategy: t.strategy,
201
192
  language: t.language,
@@ -233,19 +224,16 @@ class et extends y {
233
224
  * Marks the block as initialized to prevent redundant fetches on re-selection.
234
225
  */
235
226
  async _fetchBlockData(t) {
236
- t !== null && this.store.markBlockInitialized(t);
237
- const e = h().isFeatureEnabled("reusableRecommendationStrategy"), o = [
238
- { name: "fetchRecommendationCreateData", run: () => this.store.fetchRecommendationCreateData() },
239
- { name: "fetchRecommendationFilters", run: () => this.store.fetchRecommendationFilters() },
240
- ...e ? [{ name: "fetchRecommendationStrategies", run: () => this.store.fetchRecommendationStrategies() }] : []
241
- ];
242
- (await Promise.allSettled(o.map((r) => r.run()))).forEach((r, i) => {
243
- r.status === "rejected" && console.warn(`Recommendation block: ${o[i].name} failed`, r.reason);
227
+ t !== null && this.store.markBlockInitialized(t), (await Promise.allSettled([
228
+ this.store.fetchRecommendationCreateData(),
229
+ this.store.fetchRecommendationFilters()
230
+ ])).forEach((o, r) => {
231
+ o.status === "rejected" && console.warn(`Recommendation block: ${["fetchRecommendationCreateData", "fetchRecommendationFilters"][r]} failed`, o.reason);
244
232
  }), this._applySmartDefaults();
245
233
  try {
246
234
  await this.store.fetchRecommendationProducts();
247
- } catch (r) {
248
- console.warn("Recommendation block: fetchRecommendationProducts failed", r);
235
+ } catch (o) {
236
+ console.warn("Recommendation block: fetchRecommendationProducts failed", o);
249
237
  }
250
238
  }
251
239
  /**
@@ -262,35 +250,35 @@ class et extends y {
262
250
  if (!this.currentNode || !this.api)
263
251
  return;
264
252
  const t = m.getConfig(this.currentNode), e = {};
265
- let o = null, n = null, r = null;
266
- if (t.currency.code === a.currency.code) {
253
+ let o = null, r = null, n = null;
254
+ if (t.currency.code === c.currency.code) {
267
255
  const { currencyList: i } = this.store;
268
256
  i.length > 0 && (i.some(
269
- (u) => u.value === `price.${a.currency.code}`
257
+ (u) => u.value === `price.${c.currency.code}`
270
258
  ) || (o = i[0].value.replace("price.", ""), e.currency = {
271
- ...a.currency,
259
+ ...c.currency,
272
260
  code: o,
273
261
  symbol: o
274
262
  }));
275
263
  }
276
- if (t.strategy === a.strategy) {
264
+ if (t.strategy === c.strategy) {
277
265
  const i = this.store.getActivePredictiveAlgorithms;
278
266
  i.length > 0 && (i.some(
279
- (u) => u.value === a.strategy
280
- ) || (n = i[0].value, e.strategy = n));
267
+ (u) => u.value === c.strategy
268
+ ) || (r = i[0].value, e.strategy = r));
281
269
  }
282
- if (t.language === a.language) {
270
+ if (t.language === c.language) {
283
271
  const i = this.store.getLanguages;
284
272
  i.length > 0 && (i.some(
285
- (u) => u.value === a.language
286
- ) || (r = i[0].value, e.language = r));
273
+ (u) => u.value === c.language
274
+ ) || (n = i[0].value, e.language = n));
287
275
  }
288
- !o && !n && !r || (m.updateConfig(
276
+ !o && !r && !n || (m.updateConfig(
289
277
  this.api,
290
278
  this.currentNode,
291
279
  e,
292
280
  "Applied smart defaults"
293
- ), o && e.currency && k({
281
+ ), o && e.currency && S({
294
282
  currentNode: this.currentNode,
295
283
  documentModifier: this.api.getDocumentModifier(),
296
284
  currency: e.currency
@@ -300,28 +288,28 @@ class et extends y {
300
288
  name: o,
301
289
  value: o,
302
290
  symbol: o,
303
- alignment: a.currency.alignment === "before" ? "0" : "1",
304
- decimalCount: a.currency.decimalCount.toString(),
305
- decimalSeparator: a.currency.decimalSeparator,
306
- thousandSeparator: a.currency.thousandSeparator
291
+ alignment: c.currency.alignment === "before" ? "0" : "1",
292
+ decimalCount: c.currency.decimalCount.toString(),
293
+ decimalSeparator: c.currency.decimalSeparator,
294
+ thousandSeparator: c.currency.thousandSeparator
307
295
  }
308
296
  } : {},
309
- ...n ? { strategy: n } : {},
310
- ...r ? { language: r } : {}
297
+ ...r ? { strategy: r } : {},
298
+ ...n ? { language: n } : {}
311
299
  }, { triggerRefetch: !1 }));
312
300
  }
313
301
  /**
314
302
  * Reads the recommendation-id attribute from the block element within the node
315
303
  */
316
304
  _getRecommendationIdFromNode(t) {
317
- const e = D(t);
305
+ const e = k(t);
318
306
  if (!e || !("getAttribute" in e))
319
307
  return null;
320
- const o = e.getAttribute(x);
308
+ const o = e.getAttribute(v);
321
309
  if (!o)
322
310
  return null;
323
- const n = parseInt(o);
324
- return Number.isNaN(n) ? null : n;
311
+ const r = parseInt(o);
312
+ return Number.isNaN(r) ? null : r;
325
313
  }
326
314
  /**
327
315
  * Listen to store changes that require product refresh or regeneration.
@@ -338,17 +326,17 @@ class et extends y {
338
326
  */
339
327
  _listenStateUpdates() {
340
328
  const { store: t } = this;
341
- let e = t.recommendationProducts, o = t.$state.configVersion, n = t.currentRecommendationId;
329
+ let e = t.recommendationProducts, o = t.$state.configVersion, r = t.currentRecommendationId;
342
330
  this.storeUnsubscription = t.$subscribe(() => {
343
- const r = t.currentRecommendationId;
344
- if (r !== n) {
345
- n = r, e = t.recommendationProducts, o = t.$state.configVersion;
331
+ const n = t.currentRecommendationId;
332
+ if (n !== r) {
333
+ r = n, e = t.recommendationProducts, o = t.$state.configVersion;
346
334
  return;
347
335
  }
348
336
  const i = t.$state.configVersion;
349
337
  i !== o && (o = i, this._persistFiltersToNodeConfig(), this._debouncedFetchProducts());
350
- const c = t.recommendationProducts, u = c !== e, f = Array.isArray(c) && c.length > 0;
351
- u && f && (e = c, this._debouncedRegenerateWithProducts());
338
+ const a = t.recommendationProducts, u = a !== e, C = Array.isArray(a) && a.length > 0;
339
+ u && C && (e = a, this._debouncedRegenerateWithProducts());
352
340
  });
353
341
  }
354
342
  /**
@@ -368,38 +356,36 @@ class et extends y {
368
356
  }
369
357
  }
370
358
  export {
371
- nt as ALGORITHM_CONTROL_ID,
372
- b as AlgorithmControl,
373
- B as CONTROL_BLOCK_ID,
374
- st as CURRENCY_CONTROL_ID,
375
- I as CurrencyControl,
376
- lt as FILTERS_CONTROL_ID,
377
- N as FiltersControl,
378
- ut as LAYOUT_ORIENTATION_CONTROL_ID,
379
- mt as LOCALE_CONTROL_ID,
359
+ tt as ALGORITHM_CONTROL_ID,
360
+ N as AlgorithmControl,
361
+ w as CONTROL_BLOCK_ID,
362
+ ot as CURRENCY_CONTROL_ID,
363
+ R as CurrencyControl,
364
+ nt as FILTERS_CONTROL_ID,
365
+ I as FiltersControl,
366
+ st as LAYOUT_ORIENTATION_CONTROL_ID,
367
+ lt as LOCALE_CONTROL_ID,
380
368
  _ as LayoutOrientationControl,
381
- T as LocaleControl,
382
- Ct as PRICE_PLACEMENT_CONTROL_ID,
383
- pt as PRODUCT_COUNT_CONTROL_ID,
384
- yt as PRODUCT_LAYOUT_CONTROL_ID,
385
- S as PricePlacementControl,
386
- O as ProductCountControl,
387
- P as ProductLayoutControl,
388
- et as RecommendationBlockControl,
389
- bt as SHUFFLE_CONTROL_ID,
390
- Nt as STRATEGY_CONTROL_ID,
369
+ b as LocaleControl,
370
+ ut as PRICE_PLACEMENT_CONTROL_ID,
371
+ mt as PRODUCT_COUNT_CONTROL_ID,
372
+ Ct as PRODUCT_LAYOUT_CONTROL_ID,
373
+ T as PricePlacementControl,
374
+ P as ProductCountControl,
375
+ O as ProductLayoutControl,
376
+ Q as RecommendationBlockControl,
377
+ pt as SHUFFLE_CONTROL_ID,
391
378
  L as ShuffleControl,
392
- E as StrategyControl,
393
- Tt as adjustProductsToSize,
394
- St as formatProductPrice,
395
- D as getBlockElement,
396
- Ot as getCardComposition,
397
- Pt as getCurrentLayout,
398
- A as isPartnerManagedBlock,
399
- Lt as regenerateMobileProductRows,
400
- v as regenerateProductRowsWithStyles,
401
- k as setCurrencyAttributes,
402
- Et as updatePricesInPlace,
403
- w as updateProductContentInPlace,
404
- kt as updateSingleProductContent
379
+ yt as adjustProductsToSize,
380
+ Nt as formatProductPrice,
381
+ k as getBlockElement,
382
+ Rt as getCardComposition,
383
+ It as getCurrentLayout,
384
+ D as isPartnerManagedBlock,
385
+ _t as regenerateMobileProductRows,
386
+ A as regenerateProductRowsWithStyles,
387
+ S as setCurrencyAttributes,
388
+ bt as updatePricesInPlace,
389
+ E as updateProductContentInPlace,
390
+ Tt as updateSingleProductContent
405
391
  };
@@ -74,7 +74,7 @@ class h extends C {
74
74
  <path d="M17 2V18C17 18.5523 16.5523 19 16 19H10V1H16C16.5523 1 17 1.44772 17 2Z" stroke="currentColor"
75
75
  stroke-width="2" fill="none"/>
76
76
  </svg>
77
- `, t["migration-info-icon"] = r, t["strategy-details-icon"] = r;
77
+ `, t["migration-info-icon"] = r;
78
78
  }
79
79
  }
80
80
  export {