vviinn-widgets 2.224.0 → 2.224.1

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 (65) hide show
  1. package/dist/cjs/{index-CMOB6Jkt.js → index-DJP-DLP2.js} +62 -66
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{search.store-CIlbtjnr.js → search.store-BOJh7lOl.js} +51 -23
  4. package/dist/cjs/vviinn-button_6.cjs.entry.js +1 -1
  5. package/dist/cjs/vviinn-camera_12.cjs.entry.js +48 -87
  6. package/dist/cjs/vviinn-carousel_10.cjs.entry.js +16 -19
  7. package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +2 -2
  8. package/dist/cjs/vviinn-text-search.cjs.entry.js +1 -1
  9. package/dist/cjs/vviinn-widgets.cjs.js +1 -1
  10. package/dist/collection/components/vviinn-cropper/vviinn-cropper.js +14 -33
  11. package/dist/collection/components/vviinn-filters/helpers/syncRequestFilters.js +8 -10
  12. package/dist/collection/components/vviinn-filters/vviinn-extended-filters.js +6 -5
  13. package/dist/collection/components/vviinn-filters/vviinn-filters.js +6 -5
  14. package/dist/collection/components/vviinn-filters/vviinn-selected-filters.js +25 -61
  15. package/dist/collection/components/vviinn-results/vviinn-results.js +4 -13
  16. package/dist/collection/components/vviinn-shop-the-look/helpers.js +1 -1
  17. package/dist/collection/store/helpers/applyResponseFilters.js +13 -0
  18. package/dist/collection/store/helpers/searchSequence.js +13 -0
  19. package/dist/collection/store/search.store.js +25 -23
  20. package/dist/esm/{index-DgbindDo.js → index-Dh2tkxzk.js} +62 -67
  21. package/dist/esm/loader.js +1 -1
  22. package/dist/esm/{search.store-DU3Lki_P.js → search.store-D5QcaJG3.js} +51 -23
  23. package/dist/esm/vviinn-button_6.entry.js +1 -1
  24. package/dist/esm/vviinn-camera_12.entry.js +48 -87
  25. package/dist/esm/vviinn-carousel_10.entry.js +14 -17
  26. package/dist/esm/vviinn-shop-the-look.entry.js +2 -2
  27. package/dist/esm/vviinn-text-search.entry.js +1 -1
  28. package/dist/esm/vviinn-widgets.js +1 -1
  29. package/dist/types/components/vviinn-cropper/vviinn-cropper.d.ts +0 -2
  30. package/dist/types/components/vviinn-filters/helpers/syncRequestFilters.d.ts +4 -2
  31. package/dist/types/components/vviinn-filters/vviinn-extended-filters.d.ts +1 -0
  32. package/dist/types/components/vviinn-filters/vviinn-filters.d.ts +1 -0
  33. package/dist/types/components/vviinn-filters/vviinn-selected-filters.d.ts +6 -7
  34. package/dist/types/components/vviinn-results/vviinn-results.d.ts +0 -1
  35. package/dist/types/components.d.ts +0 -1
  36. package/dist/types/store/helpers/applyResponseFilters.d.ts +13 -0
  37. package/dist/types/store/helpers/searchSequence.d.ts +3 -0
  38. package/dist/types/store/search.store.d.ts +11 -1
  39. package/dist/vviinn-widgets/{p-cc315187.entry.js → p-8dde73ee.entry.js} +1 -1
  40. package/dist/vviinn-widgets/{p-e2e5ad4f.entry.js → p-92eb8c8c.entry.js} +1 -1
  41. package/dist/vviinn-widgets/p-CICPwuU-.js +1 -0
  42. package/dist/vviinn-widgets/{p-CW4GgUsa.js → p-DOdiegD0.js} +1 -1
  43. package/dist/vviinn-widgets/p-b77cf635.entry.js +1 -0
  44. package/dist/vviinn-widgets/p-c54e5eae.entry.js +1 -0
  45. package/dist/vviinn-widgets/p-d5fa46c6.entry.js +1 -0
  46. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  47. package/package.json +12 -8
  48. package/www/build/{p-cc315187.entry.js → p-8dde73ee.entry.js} +1 -1
  49. package/www/build/{p-e2e5ad4f.entry.js → p-92eb8c8c.entry.js} +1 -1
  50. package/www/build/p-CICPwuU-.js +1 -0
  51. package/www/build/{p-CW4GgUsa.js → p-DOdiegD0.js} +1 -1
  52. package/www/build/p-b77cf635.entry.js +1 -0
  53. package/www/build/{p-4ff95f30.js → p-c4df99b0.js} +1 -1
  54. package/www/build/p-c54e5eae.entry.js +1 -0
  55. package/www/build/p-d5fa46c6.entry.js +1 -0
  56. package/www/build/vviinn-widgets.esm.js +1 -1
  57. package/www/index.html +1 -1
  58. package/dist/vviinn-widgets/p-3ee8f4dc.entry.js +0 -1
  59. package/dist/vviinn-widgets/p-427a9578.entry.js +0 -1
  60. package/dist/vviinn-widgets/p-73c048a0.entry.js +0 -1
  61. package/dist/vviinn-widgets/p-BMGBYwye.js +0 -1
  62. package/www/build/p-3ee8f4dc.entry.js +0 -1
  63. package/www/build/p-427a9578.entry.js +0 -1
  64. package/www/build/p-73c048a0.entry.js +0 -1
  65. package/www/build/p-BMGBYwye.js +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BU8FMTXn.js');
4
- var search_store = require('./search.store-CIlbtjnr.js');
4
+ var search_store = require('./search.store-BOJh7lOl.js');
5
5
  var store = require('./store-jPZ4ROqV.js');
6
6
 
7
7
  const PlusIcon = () => (index.h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "plus-icon", "aria-hidden": "true" },
@@ -100,6 +100,11 @@ const getIntervalLabel = (intervalFilter, fullInterval, currencySign, showColumn
100
100
  }
101
101
  };
102
102
 
103
+ const getSelectedInterval = (requestFilters, column) => {
104
+ const intervalFilter = requestFilters.find((filter) => filter.column === column);
105
+ return intervalFilter === null || intervalFilter === void 0 ? void 0 : intervalFilter.values[0];
106
+ };
107
+
103
108
  const isSubFilterActive = (requestFilters, filterValue, selectedFilter) => {
104
109
  if (!requestFilters || !selectedFilter)
105
110
  return false;
@@ -132,18 +137,16 @@ const RenderFilterButton = ({ handleSubFilterSelection, value, label, active, se
132
137
  };
133
138
 
134
139
  /**
135
- * Syncs local component requestFilters state with the store's requestFilters in case there are response filters with selected: true.
140
+ * Copies the store's requestFilters into local component state, empty updates included
141
+ * a cleared store means nothing is selected, and the local copy has to say so too.
142
+ * Returns the store's dispose function; call it from disconnectedCallback.
136
143
  */
137
144
  const syncRequestFilters = (state, onChange, setRequestFilters) => {
138
- var _a;
139
- if (((_a = state.requestFilters) === null || _a === void 0 ? void 0 : _a.length) > 0) {
140
- setRequestFilters([...state.requestFilters]);
141
- }
142
- onChange("requestFilters", (newValue) => {
143
- if ((newValue === null || newValue === void 0 ? void 0 : newValue.length) > 0) {
144
- setRequestFilters([...newValue]);
145
- }
146
- });
145
+ // Copy the array so subFilterSelection can swap entries without touching the store's own.
146
+ // The entries stay shared, so its in-place `values` edits do reach the store.
147
+ const applyCopy = (filters) => setRequestFilters([...filters]);
148
+ applyCopy(state.requestFilters);
149
+ return onChange("requestFilters", applyCopy);
147
150
  };
148
151
 
149
152
  const isFullRangeInterval = (selectedFilter, interval) => {
@@ -252,68 +255,60 @@ const triggerRemoveIntervalFilter = ({ column, requestFilters, el, isTriggeredBy
252
255
  return updatedFilters;
253
256
  };
254
257
 
255
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
256
- // require the crypto API and do not support built-in fallback to lower quality random number
257
- // generators (like Math.random()).
258
- var getRandomValues;
259
- var rnds8 = new Uint8Array(16);
260
- function rng() {
261
- // lazy load so that environments that need to polyfill have a chance to do so
262
- if (!getRandomValues) {
263
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
264
- // find the complete implementation of crypto (msCrypto) on IE11.
265
- getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
266
-
267
- if (!getRandomValues) {
268
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
269
- }
270
- }
271
-
272
- return getRandomValues(rnds8);
258
+ const byteToHex = [];
259
+ for (let i = 0; i < 256; ++i) {
260
+ byteToHex.push((i + 0x100).toString(16).slice(1));
273
261
  }
274
-
275
- var REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
276
-
277
- function validate(uuid) {
278
- return typeof uuid === 'string' && REGEX.test(uuid);
262
+ function unsafeStringify(arr, offset = 0) {
263
+ return (byteToHex[arr[offset + 0]] +
264
+ byteToHex[arr[offset + 1]] +
265
+ byteToHex[arr[offset + 2]] +
266
+ byteToHex[arr[offset + 3]] +
267
+ '-' +
268
+ byteToHex[arr[offset + 4]] +
269
+ byteToHex[arr[offset + 5]] +
270
+ '-' +
271
+ byteToHex[arr[offset + 6]] +
272
+ byteToHex[arr[offset + 7]] +
273
+ '-' +
274
+ byteToHex[arr[offset + 8]] +
275
+ byteToHex[arr[offset + 9]] +
276
+ '-' +
277
+ byteToHex[arr[offset + 10]] +
278
+ byteToHex[arr[offset + 11]] +
279
+ byteToHex[arr[offset + 12]] +
280
+ byteToHex[arr[offset + 13]] +
281
+ byteToHex[arr[offset + 14]] +
282
+ byteToHex[arr[offset + 15]]).toLowerCase();
279
283
  }
280
284
 
281
- /**
282
- * Convert array of 16 byte values to UUID string format of the form:
283
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
284
- */
285
-
286
- var byteToHex = [];
287
-
288
- for (var i = 0; i < 256; ++i) {
289
- byteToHex.push((i + 0x100).toString(16).substr(1));
285
+ let getRandomValues;
286
+ const rnds8 = new Uint8Array(16);
287
+ function rng() {
288
+ if (!getRandomValues) {
289
+ if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
290
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
291
+ }
292
+ getRandomValues = crypto.getRandomValues.bind(crypto);
293
+ }
294
+ return getRandomValues(rnds8);
290
295
  }
291
296
 
292
- function stringify(arr) {
293
- var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
294
- // Note: Be careful editing this code! It's been tuned for performance
295
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
296
- var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one
297
- // of the following:
298
- // - One or more input array values don't map to a hex octet (leading to
299
- // "undefined" in the uuid)
300
- // - Invalid input values for the RFC `version` or `variant` fields
301
-
302
- if (!validate(uuid)) {
303
- throw TypeError('Stringified UUID is invalid');
304
- }
305
-
306
- return uuid;
307
- }
297
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
298
+ var native = { randomUUID };
308
299
 
309
300
  function v4(options, buf, offset) {
310
- options = options || {};
311
- var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
312
-
313
- rnds[6] = rnds[6] & 0x0f | 0x40;
314
- rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
315
-
316
- return stringify(rnds);
301
+ if (native.randomUUID && true && !options) {
302
+ return native.randomUUID();
303
+ }
304
+ options = options || {};
305
+ const rnds = options.random ?? options.rng?.() ?? rng();
306
+ if (rnds.length < 16) {
307
+ throw new Error('Random bytes length must be >= 16');
308
+ }
309
+ rnds[6] = (rnds[6] & 0x0f) | 0x40;
310
+ rnds[8] = (rnds[8] & 0x3f) | 0x80;
311
+ return unsafeStringify(rnds);
317
312
  }
318
313
 
319
314
  const createTrackingEvent = (widget) => (eventData) => {
@@ -394,6 +389,7 @@ exports.getCustomLabels = getCustomLabels;
394
389
  exports.getIntervalLabel = getIntervalLabel;
395
390
  exports.getRecommendationsBody = getRecommendationsBody;
396
391
  exports.getRemoveFilterAriaLabel = getRemoveFilterAriaLabel;
392
+ exports.getSelectedInterval = getSelectedInterval;
397
393
  exports.isPriceFilter = isPriceFilter;
398
394
  exports.isSubFilterActive = isSubFilterActive;
399
395
  exports.syncRequestFilters = syncRequestFilters;
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-DK9R4CCS.js');
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy(JSON.parse("[[\"vviinn-detected-object_2.cjs\",[[1,\"vviinn-detected-object\",{\"detectedObject\":[16,\"detected-object\"],\"selectedDetectedObject\":[16,\"selected-detected-object\"],\"basicEventData\":[16,\"basic-event-data\"],\"imageBounds\":[16,\"image-bounds\"],\"showInWidget\":[4,\"show-in-widget\"],\"position\":[32]}],[1,\"vviinn-preloader\"]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"showExtendedFilters\":[4,\"show-extended-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"blockTitle\":[1,\"block-title\"],\"blockSubtitle\":[1,\"block-subtitle\"],\"showScroll\":[4,\"show-scroll\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16,\"set-recommendations-loading\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]],{\"productId\":[\"handleProductIdChange\"],\"campaignType\":[\"handleCampaignTypeChange\"],\"campaigns\":[\"handleCampaignsChange\"],\"opened\":[\"trackWidgetOpen\"],\"closed\":[\"trackWidgetClose\"]}],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16,\"source-product\"],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16,\"replace-slots-content\"],\"setModeDiscountsArray\":[16,\"set-mode-discounts-array\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"currentScrollIndex\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]],{\"recommendations\":[\"recommendationsWatcher\"],\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"loading\":[\"onLoadingChange\"]}],[1,\"vviinn-extended-filters\",{\"mode\":[513],\"showHeader\":[4,\"show-header\"],\"searchThreshold\":[2,\"search-threshold\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showingInButton\":[4,\"showing-in-button\"],\"widgetElement\":[8,\"widget-element\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32],\"searchTerm\":[32]},[[17,\"mousedown\",\"bodyMouseDownListener\"]],{\"showMore\":[\"showMoreWatcher\"],\"selectedMoreOptions\":[\"selectedMoreOptionsWatcher\"],\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-filters\",{\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"selectedFilterColumn\":[32],\"requestFilters\":[32]},null,{\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16,\"handle-click\"],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"images\":[16],\"showMultipleImages\":[4,\"show-multiple-images\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"entityType\":[1,\"entity-type\"],\"isSetMode\":[4,\"is-set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040,\"energy-certifications\"],\"deeplink\":[1],\"cssUrl\":[1,\"css-url\"],\"productId\":[1,\"product-id\"],\"product\":[16],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"index\":[2],\"updatingAllCards\":[4,\"updating-all-cards\"],\"defaultAnimationInterval\":[2,\"default-animation-interval\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"imageResolutionWidth\":[1026,\"image-resolution-width\"],\"loading\":[1028],\"disableMobileSwiper\":[4,\"disable-mobile-swiper\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32],\"imageLoaded\":[32],\"showSecondImage\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]],{\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"productId\":[\"productIdWatcher\"],\"showSecondImage\":[\"showSecondImageWatcher\"]}],[1,\"vviinn-range-filter\",{\"histogram\":[16],\"intervalChangeHandler\":[16,\"interval-change-handler\"],\"selectedInterval\":[16,\"selected-interval\"],\"showCurrency\":[4,\"show-currency\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"currencySign\":[1,\"currency-sign\"],\"scalingFactor\":[32],\"minValue\":[32],\"maxValue\":[32],\"fromValue\":[32],\"toValue\":[32]},null,{\"selectedInterval\":[\"initializeValues\"],\"histogram\":[\"initializeValues\"]}],[1,\"vviinn-image\",{\"src\":[1],\"width\":[2],\"alt\":[1],\"imageTitle\":[1,\"image-title\"],\"responsive\":[4],\"entityType\":[1,\"entity-type\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"objectFit\":[1,\"object-fit\"],\"showSkeleton\":[4,\"show-skeleton\"],\"isSetMode\":[4,\"is-set-mode\"],\"customClass\":[1,\"custom-class\"],\"borderRadius\":[1,\"border-radius\"],\"border\":[1],\"backgroundColor\":[1,\"background-color\"],\"imageRef\":[16,\"image-ref\"],\"loadEndCallback\":[16,\"load-end-callback\"],\"imageLoaded\":[32],\"imageError\":[32]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16,\"class-icon-urls\"],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"],\"certificationClass\":[1,\"certification-class\"],\"classRange\":[16,\"class-range\"]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-shop-the-look.cjs\",[[1,\"vviinn-shop-the-look\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"imageUrls\":[1,\"image-urls\"],\"height\":[2],\"currencySign\":[1,\"currency-sign\"],\"campaignId\":[1,\"campaign-id\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"widgetStyle\":[1,\"widget-style\"],\"showCropper\":[4,\"show-cropper\"],\"uploadMode\":[4,\"upload-mode\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"selectedDetectedObject\":[32],\"showModal\":[32],\"modalPosition\":[32],\"showDetailedView\":[32],\"selectedProductIndex\":[32],\"modalImageIndex\":[32],\"swiperActiveIndex\":[32],\"totalImages\":[32],\"imageUrlsList\":[32],\"swiperKey\":[32],\"needNavigation\":[32],\"showLoadingSpinner\":[32],\"isSearchInProgress\":[32],\"currentViewMode\":[32],\"isWidgetVisible\":[32],\"uploadedImageUrls\":[32]},[[0,\"vviinnProductClick\",\"handleProductCardClick\"]],{\"currentViewMode\":[\"onViewModeChange\"],\"showModal\":[\"onShowModalChange\"]}]]],[\"vviinn-button_6.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16,\"append-sidebar-to-element\"],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"isStandalone\":[4,\"is-standalone\"],\"showInWidget\":[4,\"show-in-widget\"],\"uiSessionId\":[1,\"ui-session-id\"],\"targetAppendSidebarTo\":[32]},null,{\"appendSidebarToElement\":[\"appendSidebarToElementWatcher\"]}],[1,\"vviinn-error\",{\"hasBackground\":[4,\"has-background\"],\"errorType\":[1,\"error-type\"],\"handler\":[16],\"searchType\":[1,\"search-type\"]}],[1,\"vviinn-modal\",{\"active\":[1540],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"hideBackButton\":[4,\"hide-back-button\"],\"isFirstScreen\":[4,\"is-first-screen\"],\"slider\":[32]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-overlay\",{\"active\":[516]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"token\":[1],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"position\":[1],\"widgetScrollbar\":[4,\"widget-scrollbar\"],\"mode\":[1],\"campaigns\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16,\"button-children\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"uiSessionId\":[1,\"ui-session-id\"],\"triggerElement\":[16,\"trigger-element\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32],\"hidden\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"],[8,\"keydown\",\"handleEscape\"]],{\"recommendationsLoading\":[\"handleLoadingChange\"],\"sidebarState\":[\"handleSidebarStateChange\"]}],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"aiSuggestionsShow\":[4,\"ai-suggestions-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"parentSlots\":[16,\"parent-slots\"],\"buttonPressed\":[32],\"hasCustomTrigger\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]],{\"buttonPressed\":[\"buttonPressedWatcher\"]}]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"exampleImageSource\":[1,\"example-image-source\"],\"cssUrl\":[1,\"css-url\"],\"visualSearchMode\":[1,\"visual-search-mode\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16,\"basic-event-data\"],\"isRecording\":[32],\"showTooltip\":[32],\"autoSuggestCompletions\":[32],\"activeSuggestionIndex\":[32]}]]],[\"vviinn-camera_12.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"aiSuggestionsShow\":[4,\"ai-suggestions-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"modalBody\":[32],\"uploadDialogOpened\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnTextSearchStarted\",\"textSearchStartedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]],{\"active\":[\"activeWatcher\"],\"slidePosition\":[\"slidePositionWatcher\"]}],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"numberLocale\":[1,\"number-locale\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"textSearchQuery\":[1,\"text-search-query\"],\"filterColumn\":[1,\"filter-column\"],\"filterValue\":[1,\"filter-value\"],\"resultsCount\":[2,\"results-count\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16,\"reset-widget-state\"],\"replaceSlotsContentInWidget\":[16,\"replace-slots-content-in-widget\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16,\"scrollable-modal-body\"],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]],{\"textSearchQuery\":[\"watchTextSearchQuery\"],\"searchId\":[\"watchSearchId\"]}],[1,\"vviinn-cropper\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"saveImageMode\":[1,\"save-image-mode\"],\"autoSearch\":[4,\"auto-search\"],\"width\":[1026],\"cssUrl\":[1,\"css-url\"],\"height\":[1026],\"basicEventData\":[1040,\"basic-event-data\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[1,\"vviinn-overlayed-modal\",{\"active\":[4],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"hideBackButton\":[4,\"hide-back-button\"],\"widgetVersion\":[1,\"widget-version\"],\"isFirstScreen\":[4,\"is-first-screen\"]}],[1,\"vviinn-image-selector\",{\"basicEventData\":[16,\"basic-event-data\"],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"isDragOver\":[32]},[[0,\"dragover\",\"onDragOver\"],[1,\"dragleave\",\"onDragLeave\"],[0,\"drop\",\"onDrop\"],[5,\"drop\",\"onGlobalDragEnd\"],[5,\"dragend\",\"onGlobalDragEnd\"]],{\"startUpload\":[\"startUploadWatcher\"]}],[1,\"vviinn-camera\",{\"token\":[1],\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16,\"basic-event-data\"],\"srcObject\":[16,\"src-object\"],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"apiPath\":[1,\"api-path\"],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]},null,{\"srcObject\":[\"handleSrcObjectChange\"]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-selected-filters\",{\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"selectedFilterButtons\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32],\"intervalCustomFilters\":[32]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]},null,{\"position\":[\"positionWatchHandler\"]}],[1,\"vviinn-suggestions\",{\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"token\":[1],\"stream\":[32],\"appliedSuggestionFilters\":[32]}],[1,\"vviinn-teaser\"]]]]"), options);
9
+ return index.bootstrapLazy(JSON.parse("[[\"vviinn-detected-object_2.cjs\",[[1,\"vviinn-detected-object\",{\"detectedObject\":[16,\"detected-object\"],\"selectedDetectedObject\":[16,\"selected-detected-object\"],\"basicEventData\":[16,\"basic-event-data\"],\"imageBounds\":[16,\"image-bounds\"],\"showInWidget\":[4,\"show-in-widget\"],\"position\":[32]}],[1,\"vviinn-preloader\"]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"showExtendedFilters\":[4,\"show-extended-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"blockTitle\":[1,\"block-title\"],\"blockSubtitle\":[1,\"block-subtitle\"],\"showScroll\":[4,\"show-scroll\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16,\"set-recommendations-loading\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]],{\"productId\":[\"handleProductIdChange\"],\"campaignType\":[\"handleCampaignTypeChange\"],\"campaigns\":[\"handleCampaignsChange\"],\"opened\":[\"trackWidgetOpen\"],\"closed\":[\"trackWidgetClose\"]}],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16,\"source-product\"],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16,\"replace-slots-content\"],\"setModeDiscountsArray\":[16,\"set-mode-discounts-array\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"currentScrollIndex\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]],{\"recommendations\":[\"recommendationsWatcher\"],\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"loading\":[\"onLoadingChange\"]}],[1,\"vviinn-extended-filters\",{\"mode\":[513],\"showHeader\":[4,\"show-header\"],\"searchThreshold\":[2,\"search-threshold\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showingInButton\":[4,\"showing-in-button\"],\"widgetElement\":[8,\"widget-element\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32],\"searchTerm\":[32]},[[17,\"mousedown\",\"bodyMouseDownListener\"]],{\"showMore\":[\"showMoreWatcher\"],\"selectedMoreOptions\":[\"selectedMoreOptionsWatcher\"],\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-filters\",{\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"selectedFilterColumn\":[32],\"requestFilters\":[32]},null,{\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16,\"handle-click\"],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"images\":[16],\"showMultipleImages\":[4,\"show-multiple-images\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"entityType\":[1,\"entity-type\"],\"isSetMode\":[4,\"is-set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040,\"energy-certifications\"],\"deeplink\":[1],\"cssUrl\":[1,\"css-url\"],\"productId\":[1,\"product-id\"],\"product\":[16],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"index\":[2],\"updatingAllCards\":[4,\"updating-all-cards\"],\"defaultAnimationInterval\":[2,\"default-animation-interval\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"imageResolutionWidth\":[1026,\"image-resolution-width\"],\"loading\":[1028],\"disableMobileSwiper\":[4,\"disable-mobile-swiper\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32],\"imageLoaded\":[32],\"showSecondImage\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]],{\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"productId\":[\"productIdWatcher\"],\"showSecondImage\":[\"showSecondImageWatcher\"]}],[1,\"vviinn-range-filter\",{\"histogram\":[16],\"intervalChangeHandler\":[16,\"interval-change-handler\"],\"selectedInterval\":[16,\"selected-interval\"],\"showCurrency\":[4,\"show-currency\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"currencySign\":[1,\"currency-sign\"],\"scalingFactor\":[32],\"minValue\":[32],\"maxValue\":[32],\"fromValue\":[32],\"toValue\":[32]},null,{\"selectedInterval\":[\"initializeValues\"],\"histogram\":[\"initializeValues\"]}],[1,\"vviinn-image\",{\"src\":[1],\"width\":[2],\"alt\":[1],\"imageTitle\":[1,\"image-title\"],\"responsive\":[4],\"entityType\":[1,\"entity-type\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"objectFit\":[1,\"object-fit\"],\"showSkeleton\":[4,\"show-skeleton\"],\"isSetMode\":[4,\"is-set-mode\"],\"customClass\":[1,\"custom-class\"],\"borderRadius\":[1,\"border-radius\"],\"border\":[1],\"backgroundColor\":[1,\"background-color\"],\"imageRef\":[16,\"image-ref\"],\"loadEndCallback\":[16,\"load-end-callback\"],\"imageLoaded\":[32],\"imageError\":[32]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16,\"class-icon-urls\"],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"],\"certificationClass\":[1,\"certification-class\"],\"classRange\":[16,\"class-range\"]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-shop-the-look.cjs\",[[1,\"vviinn-shop-the-look\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"imageUrls\":[1,\"image-urls\"],\"height\":[2],\"currencySign\":[1,\"currency-sign\"],\"campaignId\":[1,\"campaign-id\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"widgetStyle\":[1,\"widget-style\"],\"showCropper\":[4,\"show-cropper\"],\"uploadMode\":[4,\"upload-mode\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"selectedDetectedObject\":[32],\"showModal\":[32],\"modalPosition\":[32],\"showDetailedView\":[32],\"selectedProductIndex\":[32],\"modalImageIndex\":[32],\"swiperActiveIndex\":[32],\"totalImages\":[32],\"imageUrlsList\":[32],\"swiperKey\":[32],\"needNavigation\":[32],\"showLoadingSpinner\":[32],\"isSearchInProgress\":[32],\"currentViewMode\":[32],\"isWidgetVisible\":[32],\"uploadedImageUrls\":[32]},[[0,\"vviinnProductClick\",\"handleProductCardClick\"]],{\"currentViewMode\":[\"onViewModeChange\"],\"showModal\":[\"onShowModalChange\"]}]]],[\"vviinn-button_6.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16,\"append-sidebar-to-element\"],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"isStandalone\":[4,\"is-standalone\"],\"showInWidget\":[4,\"show-in-widget\"],\"uiSessionId\":[1,\"ui-session-id\"],\"targetAppendSidebarTo\":[32]},null,{\"appendSidebarToElement\":[\"appendSidebarToElementWatcher\"]}],[1,\"vviinn-error\",{\"hasBackground\":[4,\"has-background\"],\"errorType\":[1,\"error-type\"],\"handler\":[16],\"searchType\":[1,\"search-type\"]}],[1,\"vviinn-modal\",{\"active\":[1540],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"hideBackButton\":[4,\"hide-back-button\"],\"isFirstScreen\":[4,\"is-first-screen\"],\"slider\":[32]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-overlay\",{\"active\":[516]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"token\":[1],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"position\":[1],\"widgetScrollbar\":[4,\"widget-scrollbar\"],\"mode\":[1],\"campaigns\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16,\"button-children\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"uiSessionId\":[1,\"ui-session-id\"],\"triggerElement\":[16,\"trigger-element\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32],\"hidden\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"],[8,\"keydown\",\"handleEscape\"]],{\"recommendationsLoading\":[\"handleLoadingChange\"],\"sidebarState\":[\"handleSidebarStateChange\"]}],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"aiSuggestionsShow\":[4,\"ai-suggestions-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"parentSlots\":[16,\"parent-slots\"],\"buttonPressed\":[32],\"hasCustomTrigger\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]],{\"buttonPressed\":[\"buttonPressedWatcher\"]}]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"exampleImageSource\":[1,\"example-image-source\"],\"cssUrl\":[1,\"css-url\"],\"visualSearchMode\":[1,\"visual-search-mode\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16,\"basic-event-data\"],\"isRecording\":[32],\"showTooltip\":[32],\"autoSuggestCompletions\":[32],\"activeSuggestionIndex\":[32]}]]],[\"vviinn-camera_12.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"aiSuggestionsShow\":[4,\"ai-suggestions-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"modalBody\":[32],\"uploadDialogOpened\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnTextSearchStarted\",\"textSearchStartedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]],{\"active\":[\"activeWatcher\"],\"slidePosition\":[\"slidePositionWatcher\"]}],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"numberLocale\":[1,\"number-locale\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"textSearchQuery\":[1,\"text-search-query\"],\"filterColumn\":[1,\"filter-column\"],\"filterValue\":[1,\"filter-value\"],\"resultsCount\":[2,\"results-count\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16,\"reset-widget-state\"],\"replaceSlotsContentInWidget\":[16,\"replace-slots-content-in-widget\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16,\"scrollable-modal-body\"],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]],{\"textSearchQuery\":[\"watchTextSearchQuery\"],\"searchId\":[\"watchSearchId\"]}],[1,\"vviinn-cropper\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"saveImageMode\":[1,\"save-image-mode\"],\"autoSearch\":[4,\"auto-search\"],\"width\":[1026],\"cssUrl\":[1,\"css-url\"],\"height\":[1026],\"basicEventData\":[1040,\"basic-event-data\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[1,\"vviinn-overlayed-modal\",{\"active\":[4],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"hideBackButton\":[4,\"hide-back-button\"],\"widgetVersion\":[1,\"widget-version\"],\"isFirstScreen\":[4,\"is-first-screen\"]}],[1,\"vviinn-image-selector\",{\"basicEventData\":[16,\"basic-event-data\"],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"isDragOver\":[32]},[[0,\"dragover\",\"onDragOver\"],[1,\"dragleave\",\"onDragLeave\"],[0,\"drop\",\"onDrop\"],[5,\"drop\",\"onGlobalDragEnd\"],[5,\"dragend\",\"onGlobalDragEnd\"]],{\"startUpload\":[\"startUploadWatcher\"]}],[1,\"vviinn-camera\",{\"token\":[1],\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16,\"basic-event-data\"],\"srcObject\":[16,\"src-object\"],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"apiPath\":[1,\"api-path\"],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]},null,{\"srcObject\":[\"handleSrcObjectChange\"]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-selected-filters\",{\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]},null,{\"position\":[\"positionWatchHandler\"]}],[1,\"vviinn-suggestions\",{\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"token\":[1],\"stream\":[32],\"appliedSuggestionFilters\":[32]}],[1,\"vviinn-teaser\"]]]]"), options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
@@ -8598,7 +8598,34 @@ const encodeToBase64UTF8 = (str) => {
8598
8598
  return btoa(String.fromCharCode.apply(null, utf8Array));
8599
8599
  };
8600
8600
 
8601
- const version = "2.224.0";
8601
+ /**
8602
+ * The response is the source of truth: a facet it stops offering stops being applied. Both
8603
+ * fields move together here, or a filter outlives the facet that could undo it.
8604
+ *
8605
+ * An absent field says nothing and leaves the pair alone; an empty one clears both halves.
8606
+ */
8607
+ const applyResponseFilters = (state, responseFilters) => {
8608
+ if (!responseFilters)
8609
+ return;
8610
+ state.dynamicFilters = responseFilters;
8611
+ state.requestFilters = extractSelectedFilters(responseFilters);
8612
+ };
8613
+
8614
+ /**
8615
+ * Requests are never cancelled, so a slow response can land after a newer one and undo the
8616
+ * selection the user already sees. Both search kinds share a store's counter: they write the
8617
+ * same fields, so either supersedes what was pending.
8618
+ */
8619
+ const latestSearch = new Map();
8620
+ /** Claims the store's newest slot and returns the predicate for its own response. */
8621
+ const startSearch = (store) => {
8622
+ var _a;
8623
+ const sequence = ((_a = latestSearch.get(store)) !== null && _a !== void 0 ? _a : 0) + 1;
8624
+ latestSearch.set(store, sequence);
8625
+ return () => latestSearch.get(store) !== sequence;
8626
+ };
8627
+
8628
+ const version = "2.224.1";
8602
8629
 
8603
8630
  const appStateGlobalDefaults = {
8604
8631
  excluded: null,
@@ -8691,7 +8718,7 @@ const emitSearchSuccess = (storeName, state, campaignTypeId) => {
8691
8718
  }));
8692
8719
  };
8693
8720
  const updateVisualSearchState = (store, isHiResUpdate = false) => async (response) => {
8694
- var _a, _b;
8721
+ var _a;
8695
8722
  const state = useStore(store);
8696
8723
  if (store === "shopTheLook") {
8697
8724
  state.visualSearchId = response.requestId;
@@ -8700,17 +8727,12 @@ const updateVisualSearchState = (store, isHiResUpdate = false) => async (respons
8700
8727
  const detectedObjects = response.interactions.suggestedSearchAreas.map(({ rectangle }) => rectangle);
8701
8728
  if (detectedObjects.length > 0)
8702
8729
  state.detectedObjects = detectedObjects;
8703
- const dynamicFilters = (_a = response.interactions.dynamicFilters) !== null && _a !== void 0 ? _a : [];
8704
8730
  state.visualSearchId = response.requestId;
8705
8731
  state.results = response.data.products;
8706
- state.dynamicFilters = dynamicFilters;
8732
+ applyResponseFilters(state, response.interactions.dynamicFilters);
8707
8733
  state.redirect = response.interactions.redirect
8708
8734
  ? Object.assign(Object.assign({}, response.interactions.redirect), { searchId: response.requestId }) : null;
8709
- const extractedFilters = extractSelectedFilters(dynamicFilters);
8710
- if (state.requestFilters.length === 0 && extractedFilters.length > 0) {
8711
- state.requestFilters = extractedFilters;
8712
- }
8713
- state.stream = (_b = response === null || response === void 0 ? void 0 : response.stream) !== null && _b !== void 0 ? _b : null;
8735
+ state.stream = (_a = response === null || response === void 0 ? void 0 : response.stream) !== null && _a !== void 0 ? _a : null;
8714
8736
  state.searchStatus = "success";
8715
8737
  if (!isHiResUpdate)
8716
8738
  emitSearchSuccess(store, state, "VPS");
@@ -8720,17 +8742,25 @@ const updateImageState = (store) => (file) => Rectangle.pipe(Rectangle.fromTask(
8720
8742
  state.image = image;
8721
8743
  return image;
8722
8744
  }), Rectangle.map(() => file));
8723
- const handleSearchError = (store) => (error) => {
8724
- resetStore(store, "receivedDataOnly");
8745
+ const handleSearchError = (store, isStale = () => false) => (error) => {
8746
+ // A stale failure would wipe the newer request's results and show an error over them.
8747
+ if (isStale())
8748
+ return error;
8749
+ // Keep dynamicFilters: they pair with requestFilters, which this reset leaves in place.
8750
+ // Dropping only the facets would leave a filter applied with no chip to undo it.
8751
+ resetStore(store, "receivedDataOnly", ["dynamicFilters"]);
8725
8752
  const state = useStore(store);
8726
8753
  state.searchStatus = "error";
8727
8754
  return error;
8728
8755
  };
8729
8756
  const processVisualSearch = (store, body, token, apiPath, isHiResUpdate = false) => {
8757
+ const isStale = startSearch(store);
8730
8758
  return Rectangle.pipe(getTokenWithBody(token, body), Rectangle.setBodyAndHeaders, Rectangle.fromEither, Rectangle.chain$1((request) => Rectangle.visualSearchSessionClient(request, apiPath)), Rectangle.map((sessionResponse) => {
8759
+ if (isStale())
8760
+ return sessionResponse;
8731
8761
  updateVisualSearchState(store, isHiResUpdate)(sessionResponse);
8732
8762
  return sessionResponse;
8733
- }), Rectangle.mapLeft(handleSearchError(store)));
8763
+ }), Rectangle.mapLeft(handleSearchError(store, isStale)));
8734
8764
  };
8735
8765
  const uploadImageFile = (store, token, imageType = "image", searchId, apiPath, campaignId, isHiResUpdate = false) => (file) => {
8736
8766
  const state = useStore(store);
@@ -8777,7 +8807,7 @@ const makeUploadFileRequest = (store, token, apiPath, campaignId) => async (file
8777
8807
  }))();
8778
8808
  return session;
8779
8809
  };
8780
- const makeVisualSearchRequest = async (store, searchId, token, apiPath, campaignId) => {
8810
+ const makeVisualSearchRequest = async (store, searchId, token, { apiPath, campaignId, dropAppliedFilters } = {}) => {
8781
8811
  const state = useStore(store);
8782
8812
  state.textSearchQuery = null;
8783
8813
  state.searchType = "image";
@@ -8803,7 +8833,7 @@ const makeVisualSearchRequest = async (store, searchId, token, apiPath, campaign
8803
8833
  searchRectangle = null;
8804
8834
  fetchDetectedObjects = true;
8805
8835
  }
8806
- const body = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, addIfDefined("requestId", searchId !== null && searchId !== void 0 ? searchId : state.visualSearchId)), addIfNotEmpty("campaign", campaignId || state.campaignIdVisualSearch || state.campaignId)), addIfNotEmpty("dynamicFilters", state.requestFilters)), { query: Object.assign({}, addIfDefined("searchArea", searchRectangle)) }), addNestedIfNotEmpty("staticFilters", Object.assign({}, addIfNotEmpty("excluded", state.excluded)))), { objectDetection: {
8836
+ const body = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, addIfDefined("requestId", searchId !== null && searchId !== void 0 ? searchId : state.visualSearchId)), addIfNotEmpty("campaign", campaignId || state.campaignIdVisualSearch || state.campaignId)), addIfNotEmpty("dynamicFilters", dropAppliedFilters ? [] : state.requestFilters)), { query: Object.assign({}, addIfDefined("searchArea", searchRectangle)) }), addNestedIfNotEmpty("staticFilters", Object.assign({}, addIfNotEmpty("excluded", state.excluded)))), { objectDetection: {
8807
8837
  include: fetchDetectedObjects,
8808
8838
  } });
8809
8839
  return processVisualSearch(store, body, token, apiPath)();
@@ -8818,21 +8848,19 @@ const makeTextSearchRequest = async (store, query, token, apiPath, requestId, re
8818
8848
  state.searchType = "text";
8819
8849
  state.searchStatus = "loading";
8820
8850
  const body = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ query }, addIfDefined("requestId", requestId)), addIfDefined("resultsCount", resultsCount)), addIfNotEmpty("dynamicFilters", state.requestFilters)), addIfNotEmpty("campaign", state.campaignIdTextSearch)), addNestedIfNotEmpty("staticFilters", Object.assign({}, addIfNotEmpty("excluded", state.excluded))));
8851
+ const isStale = startSearch(store);
8821
8852
  return Rectangle.pipe(getTokenWithBody(token, body), Rectangle.setBodyAndHeaders, Rectangle.fromEither, Rectangle.chain$1((request) => Rectangle.textSearchSessionClient(request, apiPath)), Rectangle.map((sessionResponse) => {
8822
- var _a, _b, _c, _d, _e, _f, _g;
8853
+ var _a, _b, _c, _d;
8854
+ if (isStale())
8855
+ return sessionResponse;
8823
8856
  state.results = (_b = (_a = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.data) === null || _a === void 0 ? void 0 : _a.products) !== null && _b !== void 0 ? _b : [];
8824
8857
  state.textSearchId = sessionResponse.requestId;
8825
- state.dynamicFilters =
8826
- (_d = (_c = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.interactions) === null || _c === void 0 ? void 0 : _c.dynamicFilters) !== null && _d !== void 0 ? _d : [];
8827
- const extractedFilters = extractSelectedFilters((_f = (_e = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.interactions) === null || _e === void 0 ? void 0 : _e.dynamicFilters) !== null && _f !== void 0 ? _f : []);
8828
- if (state.requestFilters.length === 0 && extractedFilters.length > 0) {
8829
- state.requestFilters = extractedFilters;
8830
- }
8831
- state.stream = (_g = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.stream) !== null && _g !== void 0 ? _g : null;
8858
+ applyResponseFilters(state, (_c = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.interactions) === null || _c === void 0 ? void 0 : _c.dynamicFilters);
8859
+ state.stream = (_d = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.stream) !== null && _d !== void 0 ? _d : null;
8832
8860
  state.searchStatus = "success";
8833
8861
  emitSearchSuccess(store, state, "TPS");
8834
8862
  return sessionResponse;
8835
- }), Rectangle.mapLeft(handleSearchError(store)))();
8863
+ }), Rectangle.mapLeft(handleSearchError(store, isStale)))();
8836
8864
  };
8837
8865
  const makeProductListingPageRequest = async (column, value, token, apiPath, resultsCount, dynamicFilters, skipStateUpdate) => {
8838
8866
  const state = useStore("components");
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-BU8FMTXn.js');
4
4
  var store = require('./store-jPZ4ROqV.js');
5
- var search_store = require('./search.store-CIlbtjnr.js');
5
+ var search_store = require('./search.store-BOJh7lOl.js');
6
6
  var index$1 = require('./index-CP1QUrJT.js');
7
7
  var SecondaryActionIcon = require('./SecondaryActionIcon-CuNEBTWD.js');
8
8
  var index$2 = require('./index-BF9aENF8.js');