vviinn-widgets 2.208.1 → 2.209.0

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 (49) hide show
  1. package/dist/cjs/{index-BUgslslf.js → index-C1Bi3rvH.js} +1 -1
  2. package/dist/cjs/{package-B54qOprd.js → index-DB3abTlJ.js} +0 -20
  3. package/dist/cjs/{search.store-D8olpx19.js → search.store-BdAG-VwC.js} +42 -6
  4. package/dist/cjs/vviinn-button_6.cjs.entry.js +9 -9
  5. package/dist/cjs/vviinn-camera_12.cjs.entry.js +15 -15
  6. package/dist/cjs/vviinn-carousel_10.cjs.entry.js +20 -20
  7. package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +1 -1
  8. package/dist/cjs/vviinn-text-search.cjs.entry.js +4 -4
  9. package/dist/collection/store/search.store.js +24 -6
  10. package/dist/esm/{index-BdHREhiY.js → index-Cp-XQl2H.js} +1 -1
  11. package/dist/esm/{package-uoKlBvMB.js → index-CzWCTSeB.js} +1 -17
  12. package/dist/esm/{search.store-C02srsML.js → search.store-Chdc1j_G.js} +39 -7
  13. package/dist/esm/vviinn-button_6.entry.js +2 -2
  14. package/dist/esm/vviinn-camera_12.entry.js +3 -3
  15. package/dist/esm/vviinn-carousel_10.entry.js +3 -3
  16. package/dist/esm/vviinn-shop-the-look.entry.js +1 -1
  17. package/dist/esm/vviinn-text-search.entry.js +2 -2
  18. package/dist/types/recommendation/events.d.ts +13 -0
  19. package/dist/vviinn-widgets/p-199f84e3.entry.js +1 -0
  20. package/dist/vviinn-widgets/p-2d010b2e.entry.js +1 -0
  21. package/dist/vviinn-widgets/p-7d9d9971.entry.js +1 -0
  22. package/dist/vviinn-widgets/{p-04db8a7d.entry.js → p-94b6ea13.entry.js} +1 -1
  23. package/dist/vviinn-widgets/{p-lxnysYxI.js → p-B67cDeQQ.js} +1 -1
  24. package/dist/vviinn-widgets/p-BBWCUGBM.js +1 -0
  25. package/dist/vviinn-widgets/p-CzWCTSeB.js +1 -0
  26. package/dist/vviinn-widgets/{p-379e4f10.entry.js → p-fe985fe6.entry.js} +1 -1
  27. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  28. package/package.json +1 -1
  29. package/www/build/p-199f84e3.entry.js +1 -0
  30. package/www/build/p-2d010b2e.entry.js +1 -0
  31. package/www/build/{p-66827c77.js → p-3f47187f.js} +1 -1
  32. package/www/build/p-7d9d9971.entry.js +1 -0
  33. package/www/build/{p-04db8a7d.entry.js → p-94b6ea13.entry.js} +1 -1
  34. package/www/build/{p-lxnysYxI.js → p-B67cDeQQ.js} +1 -1
  35. package/www/build/p-BBWCUGBM.js +1 -0
  36. package/www/build/p-CzWCTSeB.js +1 -0
  37. package/www/build/{p-379e4f10.entry.js → p-fe985fe6.entry.js} +1 -1
  38. package/www/build/vviinn-widgets.esm.js +1 -1
  39. package/www/index.html +1 -1
  40. package/dist/vviinn-widgets/p-2160f9d4.entry.js +0 -1
  41. package/dist/vviinn-widgets/p-9b44068f.entry.js +0 -1
  42. package/dist/vviinn-widgets/p-C_VapLtA.js +0 -1
  43. package/dist/vviinn-widgets/p-c1136e85.entry.js +0 -1
  44. package/dist/vviinn-widgets/p-uoKlBvMB.js +0 -1
  45. package/www/build/p-2160f9d4.entry.js +0 -1
  46. package/www/build/p-9b44068f.entry.js +0 -1
  47. package/www/build/p-C_VapLtA.js +0 -1
  48. package/www/build/p-c1136e85.entry.js +0 -1
  49. package/www/build/p-uoKlBvMB.js +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-OrE9ITel.js');
4
- var search_store = require('./search.store-D8olpx19.js');
4
+ var search_store = require('./search.store-BdAG-VwC.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" },
@@ -1,19 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const campaignTypeNames = {
4
- VPR: "Similar Products",
5
- VPS: "Visual Search",
6
- VCS: "Cross-Selling",
7
- TPS: "Text Product Search",
8
- };
9
- const isVPR = (c) => c._tag === "VPR";
10
- function fold(onVPR, onVCS) {
11
- return (c) => (isVPR(c) ? onVPR() : onVCS());
12
- }
13
- function fromString(s) {
14
- return s === "VPR" ? { _tag: "VPR" } : { _tag: "VCS" };
15
- }
16
-
17
3
  const generalFiltersPartsList = [
18
4
  "filters-sub-row",
19
5
  "filters-option-button",
@@ -197,16 +183,11 @@ const modalParts = makeExportPartsString([
197
183
  ]);
198
184
  const suggestionsParts = makeExportPartsString(suggestionsPartsList);
199
185
 
200
- const version = "2.208.1";
201
-
202
- exports.campaignTypeNames = campaignTypeNames;
203
186
  exports.carouselParts = carouselParts;
204
187
  exports.contentCardParts = contentCardParts;
205
188
  exports.energyLabelParts = energyLabelParts;
206
189
  exports.extendedFiltersParts = extendedFiltersParts;
207
190
  exports.filtersParts = filtersParts;
208
- exports.fold = fold;
209
- exports.fromString = fromString;
210
191
  exports.imageParts = imageParts;
211
192
  exports.listCardParts = listCardParts;
212
193
  exports.modalParts = modalParts;
@@ -218,4 +199,3 @@ exports.searchWidgetButtonParts = searchWidgetButtonParts;
218
199
  exports.searchWidgetFilterParts = searchWidgetFilterParts;
219
200
  exports.selectedFiltersParts = selectedFiltersParts;
220
201
  exports.suggestionsParts = suggestionsParts;
221
- exports.version = version;
@@ -7614,6 +7614,20 @@ function require_Array () {
7614
7614
 
7615
7615
  var _ArrayExports = /*@__PURE__*/ require_Array();
7616
7616
 
7617
+ const campaignTypeNames = {
7618
+ VPR: "Similar Products",
7619
+ VPS: "Visual Search",
7620
+ VCS: "Cross-Selling",
7621
+ TPS: "Text Product Search",
7622
+ };
7623
+ const isVPR = (c) => c._tag === "VPR";
7624
+ function fold(onVPR, onVCS) {
7625
+ return (c) => (isVPR(c) ? onVPR() : onVCS());
7626
+ }
7627
+ function fromString(s) {
7628
+ return s === "VPR" ? { _tag: "VPR" } : { _tag: "VCS" };
7629
+ }
7630
+
7617
7631
  const isEmpty = (x) => x.length === 0;
7618
7632
  const checkEmpty = (x) => isEmpty(x) ? Rectangle.left("entity is empty") : Rectangle.right(x);
7619
7633
  const existAndNotEmpty = (x) => Rectangle.pipe(x, Rectangle.fromNullable("entity not exist"), Rectangle.chain(checkEmpty));
@@ -8579,6 +8593,8 @@ const encodeToBase64UTF8 = (str) => {
8579
8593
  return btoa(String.fromCharCode.apply(null, utf8Array));
8580
8594
  };
8581
8595
 
8596
+ const version = "2.209.0";
8597
+
8582
8598
  const appStateGlobalDefaults = {
8583
8599
  excluded: null,
8584
8600
  campaignId: "",
@@ -8652,7 +8668,19 @@ const resetStore = (store, mode = "appStateAndReceivedData", excludedFields = []
8652
8668
  }
8653
8669
  Object.assign(state, resetPayload);
8654
8670
  };
8655
- const updateVisualSearchState = (store) => async (response) => {
8671
+ const emitSearchSuccess = (storeName, state, campaignTypeId) => {
8672
+ const requestId = campaignTypeId === "VPS"
8673
+ ? state.visualSearchId || ""
8674
+ : state.textSearchId || "";
8675
+ const eventData = Object.assign(Object.assign({ results: state.results, dynamicFilters: state.dynamicFilters, detectedObjects: state.detectedObjects, requestId }, addIfDefined("query", state.textSearchQuery)), { storeName,
8676
+ campaignTypeId, campaignTypeName: campaignTypeNames[campaignTypeId], widgetVersion: version });
8677
+ document.dispatchEvent(new CustomEvent("vviinnSearchSuccess", {
8678
+ detail: eventData,
8679
+ bubbles: true,
8680
+ composed: true,
8681
+ }));
8682
+ };
8683
+ const updateVisualSearchState = (store, isHiResUpdate = false) => async (response) => {
8656
8684
  const state = useStore(store);
8657
8685
  if (store === "shopTheLook") {
8658
8686
  state.visualSearchId = response.requestId;
@@ -8665,6 +8693,8 @@ const updateVisualSearchState = (store) => async (response) => {
8665
8693
  state.results = response.data.products;
8666
8694
  state.dynamicFilters = response.interactions.dynamicFilters;
8667
8695
  state.searchStatus = "success";
8696
+ if (!isHiResUpdate)
8697
+ emitSearchSuccess(store, state, "VPS");
8668
8698
  };
8669
8699
  const updateImageState = (store) => (file) => Rectangle.pipe(Rectangle.fromTask(imageFromFileTask(file)), Rectangle.map((image) => {
8670
8700
  const state = useStore(store);
@@ -8677,13 +8707,13 @@ const handleSearchError = (store) => (error) => {
8677
8707
  state.searchStatus = "error";
8678
8708
  return error;
8679
8709
  };
8680
- const processVisualSearch = (store, body, token, apiPath) => {
8710
+ const processVisualSearch = (store, body, token, apiPath, isHiResUpdate = false) => {
8681
8711
  return Rectangle.pipe(getTokenWithBody(token, body), Rectangle.setBodyAndHeaders, Rectangle.fromEither, Rectangle.chain$1((request) => Rectangle.visualSearchSessionClient(request, apiPath)), Rectangle.map((sessionResponse) => {
8682
- updateVisualSearchState(store)(sessionResponse);
8712
+ updateVisualSearchState(store, isHiResUpdate)(sessionResponse);
8683
8713
  return sessionResponse;
8684
8714
  }), Rectangle.mapLeft(handleSearchError(store)));
8685
8715
  };
8686
- const uploadImageFile = (store, token, imageType = "image", searchId, apiPath, campaignId) => (file) => {
8716
+ const uploadImageFile = (store, token, imageType = "image", searchId, apiPath, campaignId, isHiResUpdate = false) => (file) => {
8687
8717
  const state = useStore(store);
8688
8718
  return Rectangle.pipe(Rectangle.fromEither(checkFileWithExtention(file)), Rectangle.chainTaskK(resizeFileTo(imageType)), Rectangle.chain$1((resizedFile) => updateImageState(store)(resizedFile)), Rectangle.chain$1((resizedFile) => Rectangle.pipe(Rectangle.tryCatch(async () => (Object.assign(Object.assign(Object.assign({ query: {
8689
8719
  [imageType]: (await fileToB64(resizedFile)).split(",")[1],
@@ -8692,7 +8722,7 @@ const uploadImageFile = (store, token, imageType = "image", searchId, apiPath, c
8692
8722
  } }, addNestedIfNotEmpty("staticFilters", Object.assign({}, addIfNotEmpty("excluded", state.excluded)))), addIfDefined("requestId", searchId)), addIfNotEmpty("campaign", campaignId || state.campaignIdVisualSearch || state.campaignId))), (error) => ({
8693
8723
  kind: "network error",
8694
8724
  inner: error,
8695
- })), Rectangle.chain$1((body) => processVisualSearch(store, body, token, apiPath)))));
8725
+ })), Rectangle.chain$1((body) => processVisualSearch(store, body, token, apiPath, isHiResUpdate)))));
8696
8726
  };
8697
8727
  const makeUploadFileRequest = (store, token, apiPath, campaignId) => async (file) => {
8698
8728
  var _a;
@@ -8713,7 +8743,7 @@ const makeUploadFileRequest = (store, token, apiPath, campaignId) => async (file
8713
8743
  const shouldProcessHiRes = await Rectangle.pipe(Rectangle.fromTask(imageFromFileTask(file)), Rectangle.map((img) => shouldResize(img, "highResolutionImage")), Rectangle.getOrElse(() => Rectangle.of(false)))();
8714
8744
  if (!shouldProcessHiRes)
8715
8745
  return session;
8716
- Rectangle.pipe(uploadImageFile(store, token, "highResolutionImage", state.visualSearchId, apiPath, campaignId)(file), Rectangle.getOrElseW((error) => {
8746
+ Rectangle.pipe(uploadImageFile(store, token, "highResolutionImage", state.visualSearchId, apiPath, campaignId, true)(file), Rectangle.getOrElseW((error) => {
8717
8747
  console.error("Failed to upload hi-res image:", error);
8718
8748
  return Rectangle.of(session);
8719
8749
  }))();
@@ -8772,6 +8802,7 @@ const makeTextSearchRequest = async (store, query, token, apiPath, requestId, re
8772
8802
  }
8773
8803
  state.stream = (_g = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.stream) !== null && _g !== void 0 ? _g : null;
8774
8804
  state.searchStatus = "success";
8805
+ emitSearchSuccess(store, state, "TPS");
8775
8806
  return sessionResponse;
8776
8807
  }), Rectangle.mapLeft(handleSearchError(store)))();
8777
8808
  };
@@ -8797,6 +8828,7 @@ const makeProductListingPageRequest = async (column, value, token, apiPath, resu
8797
8828
  state.dynamicFilters =
8798
8829
  (_d = (_c = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.interactions) === null || _c === void 0 ? void 0 : _c.dynamicFilters) !== null && _d !== void 0 ? _d : [];
8799
8830
  state.searchStatus = "success";
8831
+ emitSearchSuccess("components", state, "TPS");
8800
8832
  return sessionResponse;
8801
8833
  }), Rectangle.mapLeft(handleSearchError("components")))();
8802
8834
  };
@@ -8832,9 +8864,12 @@ const makeAutoSuggestRequest = async (store, query, token, apiPath) => {
8832
8864
 
8833
8865
  exports._ArrayExports = _ArrayExports;
8834
8866
  exports.addIfNotEmpty = addIfNotEmpty;
8867
+ exports.campaignTypeNames = campaignTypeNames;
8835
8868
  exports.checkDeviceType = checkDeviceType;
8836
8869
  exports.checkImageType = checkImageType;
8837
8870
  exports.extractFilterValue = extractFilterValue;
8871
+ exports.fold = fold;
8872
+ exports.fromString = fromString;
8838
8873
  exports.getAcceptableFileFormats = getAcceptableFileFormats;
8839
8874
  exports.getAcceptableFileFormatsForDisplay = getAcceptableFileFormatsForDisplay;
8840
8875
  exports.getImageSizes = getImageSizes;
@@ -8856,3 +8891,4 @@ exports.shopTheLookState = shopTheLookState;
8856
8891
  exports.toFile = toFile;
8857
8892
  exports.useSearchStore = useSearchStore;
8858
8893
  exports.valueToString = valueToString;
8894
+ exports.version = version;
@@ -2,13 +2,13 @@
2
2
 
3
3
  var index = require('./index-OrE9ITel.js');
4
4
  var store = require('./store-jPZ4ROqV.js');
5
- var search_store = require('./search.store-D8olpx19.js');
5
+ var search_store = require('./search.store-BdAG-VwC.js');
6
6
  var customizedSlots = require('./customized-slots-CqOPLiML.js');
7
- var _package = require('./package-B54qOprd.js');
8
7
  var SecondaryActionIcon = require('./SecondaryActionIcon-BZg-ADIW.js');
8
+ var index$2 = require('./index-DB3abTlJ.js');
9
9
  var index$1 = require('./index-DLEDOlRe.js');
10
10
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
11
- var index$2 = require('./index-CzqCGUTk.js');
11
+ var index$3 = require('./index-CzqCGUTk.js');
12
12
 
13
13
  const CrossIcon = () => (index.h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
14
14
  index.h("path", { d: "M16 1.4L14.6 0L8 6.6L1.4 0L0 1.4L6.6 8L0 14.6L1.4 16L8 9.4L14.6 16L16 14.6L9.4 8L16 1.4Z", fill: "currentColor" })));
@@ -164,11 +164,11 @@ const VviinnModal = class {
164
164
  close() {
165
165
  this.active = false;
166
166
  setTimeout(() => {
167
- this.vviinnWidgetClose.emit(Object.assign({ campaignTypeId: "VPS", campaignTypeName: _package.campaignTypeNames["VPS"], widgetVersion: this.widgetVersion }, search_store.addIfNotEmpty("widgetId", this.buttonElementId)));
167
+ this.vviinnWidgetClose.emit(Object.assign({ campaignTypeId: "VPS", campaignTypeName: search_store.campaignTypeNames["VPS"], widgetVersion: this.widgetVersion }, search_store.addIfNotEmpty("widgetId", this.buttonElementId)));
168
168
  }, this.slider ? index$1.SIDEBAR_ANIMATION_DURATION : 0);
169
169
  }
170
170
  render() {
171
- return (index.h(index.Host, { key: '2a16919fe88ccbb72795311fb6b8af471f043700', exportparts: _package.modalParts, class: { closed: !this.active, "first-screen": this.isFirstScreen }, onAnimationEnd: this.handleAnimationEnd, role: "dialog", "aria-modal": this.active ? "true" : "false", "aria-label": store.instance.t("imageSearchModalTitle"), inert: !this.active ? true : undefined }, index.h("div", { key: 'c4fcf804eda5eb693d99af7feb00e3225ec7487e', class: "head" }, !this.hideBackButton && (index.h("button", { key: '4e9fd4c897201550c12718dda82b230381023b69', part: "secondary-action", onClick: () => {
171
+ return (index.h(index.Host, { key: '2a16919fe88ccbb72795311fb6b8af471f043700', exportparts: index$2.modalParts, class: { closed: !this.active, "first-screen": this.isFirstScreen }, onAnimationEnd: this.handleAnimationEnd, role: "dialog", "aria-modal": this.active ? "true" : "false", "aria-label": store.instance.t("imageSearchModalTitle"), inert: !this.active ? true : undefined }, index.h("div", { key: 'c4fcf804eda5eb693d99af7feb00e3225ec7487e', class: "head" }, !this.hideBackButton && (index.h("button", { key: '4e9fd4c897201550c12718dda82b230381023b69', part: "secondary-action", onClick: () => {
172
172
  this.resetState();
173
173
  this.resetTopScroll();
174
174
  }, "aria-label": store.instance.t("a11y.backButton") }, index.h(SecondaryActionIcon.SecondaryActionIcon, { key: '9c2669a30956cf13c3907c08cffc4f96b4ac9ab6' }))), index.h("div", { key: '6a035cd0270f40739e17290b6c71559e2edc88ee', class: "title", part: "results-title" }, renderTitleImage(search_store.searchState.image), index.h("slot", { key: 'f346c0bd895c16a4a6f1655977bfe59383968c74', name: "vviinn-image-search-modal-title" }, store.instance.t("imageSearchModalTitle"))), index.h("button", { key: 'eee9e1c6721a87ca543d9d4167a41a2ce4b895b3', onClick: () => this.close(), onKeyDown: this.handleCloseButtonKeyDown, class: "close-button", part: "close-button", "aria-label": store.instance.t("a11y.closeButton") }, index.h("svg", { key: '62b14679a4830b11c616a4a1ef3be8cb102a476e', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, index.h("path", { key: '239b466c878e112d8b47f23982f856718fe1150c', d: "M12 13.3892L6.91958 18.4696C6.72248 18.6667 6.49095 18.7653 6.225 18.7653C5.95905 18.7653 5.72753 18.6667 5.53043 18.4696C5.33333 18.2725 5.23478 18.041 5.23478 17.775C5.23478 17.5091 5.33333 17.2776 5.53043 17.0805L10.6109 12L5.53043 6.9196C5.33333 6.7225 5.23478 6.49098 5.23478 6.22503C5.23478 5.95908 5.33333 5.72755 5.53043 5.53045C5.72753 5.33335 5.95905 5.2348 6.225 5.2348C6.49095 5.2348 6.72248 5.33335 6.91958 5.53045L12 10.6109L17.0804 5.53045C17.2775 5.33335 17.5091 5.2348 17.775 5.2348C18.041 5.2348 18.2725 5.33335 18.4696 5.53045C18.6667 5.72755 18.7652 5.95908 18.7652 6.22503C18.7652 6.49098 18.6667 6.7225 18.4696 6.9196L13.3892 12L18.4696 17.0805C18.6667 17.2776 18.7652 17.5091 18.7652 17.775C18.7652 18.041 18.6667 18.2725 18.4696 18.4696C18.2725 18.6667 18.041 18.7653 17.775 18.7653C17.5091 18.7653 17.2775 18.6667 17.0804 18.4696L12 13.3892Z", fill: "currentColor" })))), index.h("div", { key: 'd9d9be37267bf710b9b02ba54a8970cc7a3dae44', class: "body" }, index.h("slot", { key: '21d2d31cdc4350c170898f9572cf64b1de06d795' }))));
@@ -347,7 +347,7 @@ const RecommendationsSidebar = class {
347
347
  }
348
348
  render() {
349
349
  var _a;
350
- return (index.h(index.Host, { key: '4304d94b999089c6f06ca509770c63308c163b27', class: this.getClassMap(), style: { display: this.hidden ? "none" : undefined }, exportparts: `body, close-sidebar, ${_package.carouselParts}, ${_package.productCardParts}` }, index.h("div", { key: 'a090c218904c39e83713a6b076310b747ce0a876', class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e), role: this.showInModal ? "dialog" : "region", "aria-modal": this.showInModal ? "true" : undefined, "aria-label": store.instance.t("a11y.recommendations") }, index.h("div", { key: 'cb07f0997edee55c1d5478e85d75c27007c918ca', class: {
350
+ return (index.h(index.Host, { key: '4304d94b999089c6f06ca509770c63308c163b27', class: this.getClassMap(), style: { display: this.hidden ? "none" : undefined }, exportparts: `body, close-sidebar, ${index$2.carouselParts}, ${index$2.productCardParts}` }, index.h("div", { key: 'a090c218904c39e83713a6b076310b747ce0a876', class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e), role: this.showInModal ? "dialog" : "region", "aria-modal": this.showInModal ? "true" : undefined, "aria-label": store.instance.t("a11y.recommendations") }, index.h("div", { key: 'cb07f0997edee55c1d5478e85d75c27007c918ca', class: {
351
351
  "sidebar-header": true,
352
352
  "contains-source-img": this.isSourceImageValid(),
353
353
  }, part: "sidebar-header" }, this.mode !== "set" && (index.h(index.Fragment, { key: '52ee88628eef0881ae5e99774886558f22fa1355' }, this.renderSourceImage(), ((_a = this.sidebarTitle) === null || _a === void 0 ? void 0 : _a.length) !== 0 && (index.h("span", { key: '55946f46c1c3d1d4afd9b3d4b9912dfea26fd28e', class: "title", part: "recommendations-title" }, this.sidebarTitle || store.instance.t("discoveryWidgetTitle"))))), index.h("button", { key: '1bc19d0a6c31f76bc3c3618dd2c2e0d1505720a5', class: "close-sidebar", onClick: () => {
@@ -357,7 +357,7 @@ const RecommendationsSidebar = class {
357
357
  event.preventDefault();
358
358
  this.sidebarState = "closed";
359
359
  }
360
- }, part: "close-sidebar", "aria-label": store.instance.t("a11y.closeButton") }, index.h(CrossIcon, { key: 'ca0cc462a6074113dfc4d56ba23e65cb37dc7426' }))), index.h("div", { key: '97736ee3db119f6216364baa5c345769ed4cf35e', class: "sidebar-content", part: "sidebar-content" }, index.h("vviinn-vpr-widget", { key: '626dd167eacec0762cc414338a92272cbe755d34', token: this.token, currencySign: this.currencySign, pricePrefix: this.pricePrefix, apiPath: this.apiPath, locale: this.locale, numberLocale: this.numberLocale, productId: this.productId, exportparts: `${_package.carouselParts}, ${_package.productCardParts}`, imageWidth: this.imageWidth, showMultipleImages: this.showMultipleImages, setItemsAmount: this.setItemsAmount, blockTitle: "", mode: this.mode, "campaign-type": this.campaignType, useCarousel: this.useCarousel, onVviinnRecommendationsLoaded: () => {
360
+ }, part: "close-sidebar", "aria-label": store.instance.t("a11y.closeButton") }, index.h(CrossIcon, { key: 'ca0cc462a6074113dfc4d56ba23e65cb37dc7426' }))), index.h("div", { key: '97736ee3db119f6216364baa5c345769ed4cf35e', class: "sidebar-content", part: "sidebar-content" }, index.h("vviinn-vpr-widget", { key: '626dd167eacec0762cc414338a92272cbe755d34', token: this.token, currencySign: this.currencySign, pricePrefix: this.pricePrefix, apiPath: this.apiPath, locale: this.locale, numberLocale: this.numberLocale, productId: this.productId, exportparts: `${index$2.carouselParts}, ${index$2.productCardParts}`, imageWidth: this.imageWidth, showMultipleImages: this.showMultipleImages, setItemsAmount: this.setItemsAmount, blockTitle: "", mode: this.mode, "campaign-type": this.campaignType, useCarousel: this.useCarousel, onVviinnRecommendationsLoaded: () => {
361
361
  this.hidden = false;
362
362
  this.sidebarState = "open";
363
363
  }, showScroll: this.widgetScrollbar, campaigns: this.campaigns, color: this.color, buttonElementId: this.buttonElementId, noResultText: this.noResultText, noResultShow: this.noResultShow, gridArrowsDynamic: this.gridArrowsDynamic, showingInButton: this.showingInButton, excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, closed: this.sidebarState === "closed", opened: this.sidebarState === "open", addToBasketShow: this.addToBasketShow, cssUrl: this.cssUrl, showFilters: this.showFilters, setModeDiscounts: this.setModeDiscounts, updateButtonLocation: this.updateButtonLocation, addPriceContainer: this.addPriceContainer, favoriteShow: this.favoriteShow, isAppended: this.isAppended, showInWidget: this.showInWidget, recommendationsLoading: this.recommendationsLoading, setRecommendationsLoading: this.setRecommendationsLoading, imageResolutionWidth: this.imageResolutionWidth, uiSessionId: this.uiSessionId })))));
@@ -505,7 +505,7 @@ const VviinnVprButton = class {
505
505
  });
506
506
  }
507
507
  async componentWillLoad() {
508
- await index$2.initializeLocale(this.locale);
508
+ await index$3.initializeLocale(this.locale);
509
509
  if (this.appendSidebarToElement) {
510
510
  this.targetAppendSidebarTo = this.appendSidebarToElement;
511
511
  }
@@ -552,7 +552,7 @@ const VviinnVprButton = class {
552
552
  sidebar.gridArrowsDynamic = this.gridArrowsDynamic;
553
553
  sidebar.productDetailsNewTab = this.productDetailsNewTab;
554
554
  sidebar.productDetailsRedirect = this.productDetailsRedirect;
555
- sidebar.widgetVersion = _package.version;
555
+ sidebar.widgetVersion = search_store.version;
556
556
  sidebar.showingInButton = true;
557
557
  sidebar.excluded = this.excluded;
558
558
  sidebar.addToBasketShow = this.addToBasketShow;
@@ -2,15 +2,15 @@
2
2
 
3
3
  var index = require('./index-OrE9ITel.js');
4
4
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
5
- var search_store = require('./search.store-D8olpx19.js');
5
+ var search_store = require('./search.store-BdAG-VwC.js');
6
6
  var customizedSlots = require('./customized-slots-CqOPLiML.js');
7
- var index$1 = require('./index-BUgslslf.js');
7
+ var index$1 = require('./index-C1Bi3rvH.js');
8
8
  var store = require('./store-jPZ4ROqV.js');
9
9
  var cropperUtils = require('./cropperUtils-DCDOLeBS.js');
10
- var _package = require('./package-B54qOprd.js');
11
10
  var index$2 = require('./index-DLEDOlRe.js');
12
11
  var openProductLink = require('./openProductLink-BFiXVr4M.js');
13
12
  var index$3 = require('./index-CzqCGUTk.js');
13
+ var index$4 = require('./index-DB3abTlJ.js');
14
14
  var constants = require('./constants-DHaugTOE.js');
15
15
 
16
16
  const CameraActionIcon = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
@@ -315,7 +315,7 @@ const VviinnCropper = class {
315
315
  if (this.showInWidget && this.basicEventData) {
316
316
  return this.basicEventData;
317
317
  }
318
- return Object.assign({ campaignTypeId: "VPS", campaignTypeName: _package.campaignTypeNames["VPS"], widgetVersion: _package.version }, search_store.addIfNotEmpty("widgetId", this.el.id));
318
+ return Object.assign({ campaignTypeId: "VPS", campaignTypeName: search_store.campaignTypeNames["VPS"], widgetVersion: search_store.version }, search_store.addIfNotEmpty("widgetId", this.el.id));
319
319
  };
320
320
  this.triggerVisualSearch = async () => {
321
321
  Rectangle._functionExports.pipe(await search_store.makeVisualSearchRequest(this.storeName, null, this.token, this.apiPath), Rectangle.fold(() => {
@@ -732,7 +732,7 @@ const VviinnResults = class {
732
732
  this.getBasicEventData = (customTrigger) => {
733
733
  const textSearchCriteria = this.isTextSearch() || customTrigger === "TPS";
734
734
  const activeCampaign = textSearchCriteria ? "TPS" : "VPS";
735
- return Object.assign({ campaignTypeId: activeCampaign, campaignTypeName: _package.campaignTypeNames[activeCampaign], widgetVersion: _package.version, widget: activeCampaign }, search_store.addIfNotEmpty("widgetId", this.widgetElementId));
735
+ return Object.assign({ campaignTypeId: activeCampaign, campaignTypeName: search_store.campaignTypeNames[activeCampaign], widgetVersion: search_store.version, widget: activeCampaign }, search_store.addIfNotEmpty("widgetId", this.widgetElementId));
736
736
  };
737
737
  }
738
738
  getResults() {
@@ -966,7 +966,7 @@ const VviinnResults = class {
966
966
  };
967
967
  return this.getResults().map((p, i) => {
968
968
  var _a, _b, _c, _d, _e;
969
- return (index.h("vviinn-product-card", { pricePrefix: this.pricePrefix, currencySign: this.currencySign, locale: this.locale, numberLocale: this.numberLocale, key: p.productId, index: i, productTitle: p.title, productId: p.productId, product: p, productType: p.productType, entityType: p.entityType, brand: p.brand, deeplink: p.deeplink, price: p.price.actual, salePrice: p.price.sale, basePrice: (_a = p.basePrice) === null || _a === void 0 ? void 0 : _a.actual, baseSalePrice: (_b = p.basePrice) === null || _b === void 0 ? void 0 : _b.sale, responsive: true, imageWidth: this.imageResolutionWidth, imageResolutionWidth: this.imageResolutionWidth, image: (_d = (_c = p.image) === null || _c === void 0 ? void 0 : _c.thumbnail) !== null && _d !== void 0 ? _d : (_e = p.image) === null || _e === void 0 ? void 0 : _e.original, images: p.images, showMultipleImages: this.showMultipleImages, energyCertifications: p.energyCertifications, part: "product-card", campaignTypeId: widgetData.campaignTypeId, widgetElementId: this.widgetElementId, buttonElementId: this.buttonElementId, widgetVersion: _package.version, customLabels: index$1.getCustomLabels(p), addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, addPriceContainer: this.addPriceContainer, isResultsWidget: true, style: { order: i.toString() }, showFooterArrow: this.oneClickDiscoverySelectedIndex === i }, shouldShowOneClickDiscoveryButton && (index.h("div", { slot: "vviinn-product-card-actions", class: "vviinn-results-product-card-actions" }, index.h("vviinn-vpr-button", { token: this.token, locale: this.locale, currencySign: this.currencySign, numberLocale: this.numberLocale, apiPath: this.apiPath, productId: p.productId, addStyle: false, isStandalone: false, sidebarTitle: "", appendSidebarToId: isOneClickDiscoveryAppendMode
969
+ return (index.h("vviinn-product-card", { pricePrefix: this.pricePrefix, currencySign: this.currencySign, locale: this.locale, numberLocale: this.numberLocale, key: p.productId, index: i, productTitle: p.title, productId: p.productId, product: p, productType: p.productType, entityType: p.entityType, brand: p.brand, deeplink: p.deeplink, price: p.price.actual, salePrice: p.price.sale, basePrice: (_a = p.basePrice) === null || _a === void 0 ? void 0 : _a.actual, baseSalePrice: (_b = p.basePrice) === null || _b === void 0 ? void 0 : _b.sale, responsive: true, imageWidth: this.imageResolutionWidth, imageResolutionWidth: this.imageResolutionWidth, image: (_d = (_c = p.image) === null || _c === void 0 ? void 0 : _c.thumbnail) !== null && _d !== void 0 ? _d : (_e = p.image) === null || _e === void 0 ? void 0 : _e.original, images: p.images, showMultipleImages: this.showMultipleImages, energyCertifications: p.energyCertifications, part: "product-card", campaignTypeId: widgetData.campaignTypeId, widgetElementId: this.widgetElementId, buttonElementId: this.buttonElementId, widgetVersion: search_store.version, customLabels: index$1.getCustomLabels(p), addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, addPriceContainer: this.addPriceContainer, isResultsWidget: true, style: { order: i.toString() }, showFooterArrow: this.oneClickDiscoverySelectedIndex === i }, shouldShowOneClickDiscoveryButton && (index.h("div", { slot: "vviinn-product-card-actions", class: "vviinn-results-product-card-actions" }, index.h("vviinn-vpr-button", { token: this.token, locale: this.locale, currencySign: this.currencySign, numberLocale: this.numberLocale, apiPath: this.apiPath, productId: p.productId, addStyle: false, isStandalone: false, sidebarTitle: "", appendSidebarToId: isOneClickDiscoveryAppendMode
970
970
  ? "one-click-discovery-append"
971
971
  : undefined, appendSidebarToElement: isOneClickDiscoveryAppendMode
972
972
  ? this.el.shadowRoot.getElementById("one-click-discovery-append")
@@ -979,10 +979,10 @@ const VviinnResults = class {
979
979
  return (index.h(index.Host, { key: '1f0ffb7eeffd75c0a9f0246b3ce5104e96cf410c', id: "results-block", class: {
980
980
  "show-in-widget": this.showInWidget,
981
981
  "matching-discovery": this.oneClickDiscoveryMode === "append-slider",
982
- }, exportparts: `${_package.productCardParts}, ${_package.listCardParts}, ${_package.contentCardParts}, ${_package.productCardsGridPart}` }, openProductLink.renderExternalCSS(this.cssUrl), index.h("div", { key: '6df10e1aee0813637d7e7910dc66d72e91159034', class: "nothing-found" }, this.getCurrentErrorType() && (index.h("vviinn-error", { key: '97932b752afd991fe6d213bcc7e84129e062c83b', errorType: this.getCurrentErrorType(), handler: this.resetWidgetState, hasBackground: this.showInWidget, searchType: this.state.searchType }))), index.h("div", { key: '6541552bb54ac89a0af3f515d460db2d0ecb6fbf', class: {
982
+ }, exportparts: `${index$4.productCardParts}, ${index$4.listCardParts}, ${index$4.contentCardParts}, ${index$4.productCardsGridPart}` }, openProductLink.renderExternalCSS(this.cssUrl), index.h("div", { key: '6df10e1aee0813637d7e7910dc66d72e91159034', class: "nothing-found" }, this.getCurrentErrorType() && (index.h("vviinn-error", { key: '97932b752afd991fe6d213bcc7e84129e062c83b', errorType: this.getCurrentErrorType(), handler: this.resetWidgetState, hasBackground: this.showInWidget, searchType: this.state.searchType }))), index.h("div", { key: '6541552bb54ac89a0af3f515d460db2d0ecb6fbf', class: {
983
983
  hidden: this.showAspectRatioError || resultsLength === 0,
984
984
  products: true,
985
- }, part: _package.productCardsGridPart, id: "vviinn-results-products" }, resultsLength > 0 && this.renderResults(), index.h("div", { key: '93a27d998ab65dcf48f54766cfb78987aa9f206e', id: "one-click-discovery-append", style: {
985
+ }, part: index$4.productCardsGridPart, id: "vviinn-results-products" }, resultsLength > 0 && this.renderResults(), index.h("div", { key: '93a27d998ab65dcf48f54766cfb78987aa9f206e', id: "one-click-discovery-append", style: {
986
986
  order: ((_a = this.oneClickDiscoveryAppendIndex) !== null && _a !== void 0 ? _a : resultsLength).toString(),
987
987
  } }))));
988
988
  }
@@ -1191,7 +1191,7 @@ const VviinnSelectedFilters = class {
1191
1191
  return null;
1192
1192
  return (index.h(index.Host, { class: {
1193
1193
  "show-in-widget": this.showInWidget,
1194
- }, exportParts: _package.selectedFiltersParts }, index.h("div", { ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), index.h("section", { class: "selected-filters-container", "aria-label": store.instance.t("a11y.selectedFilters") }, index.h("ul", { class: "selected-filters-wrapper", part: "selected-filters-list" }, RenderCustomButton({
1194
+ }, exportParts: index$4.selectedFiltersParts }, index.h("div", { ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), index.h("section", { class: "selected-filters-container", "aria-label": store.instance.t("a11y.selectedFilters") }, index.h("ul", { class: "selected-filters-wrapper", part: "selected-filters-list" }, RenderCustomButton({
1195
1195
  label: this.textSearchCustomFilter,
1196
1196
  buttonType: "text",
1197
1197
  hidden: !((_a = this.textSearchCustomFilter) === null || _a === void 0 ? void 0 : _a.length) || this.showInWidget,
@@ -1583,7 +1583,7 @@ const VviinnSuggestions = class {
1583
1583
  }
1584
1584
  return (index.h(index.Host, { class: {
1585
1585
  "show-in-widget": this.showInWidget,
1586
- }, exportparts: _package.suggestionsParts }, index.h("div", { class: "container", part: "suggestions-container" }, index.h("div", { class: "header", part: "suggestions-header" }, index.h("div", { class: "icon", part: "suggestions-icon" }, index.h("slot", { name: "vviinn-suggestions-icon" }, index.h(SparkIcon, null))), index.h("h3", { class: "title", part: "suggestions-title" }, index.h("slot", { name: "vviinn-suggestions-title" }, store.instance.t("suggestions.title")))), index.h("div", { class: "description", part: "suggestions-description" }, index.h("slot", { name: "vviinn-suggestions-description" }, store.instance.t("suggestions.description"))), index.h("div", { class: "suggestions-wrapper", part: "suggestions-wrapper" }, this.renderStreamItems()))));
1586
+ }, exportparts: index$4.suggestionsParts }, index.h("div", { class: "container", part: "suggestions-container" }, index.h("div", { class: "header", part: "suggestions-header" }, index.h("div", { class: "icon", part: "suggestions-icon" }, index.h("slot", { name: "vviinn-suggestions-icon" }, index.h(SparkIcon, null))), index.h("h3", { class: "title", part: "suggestions-title" }, index.h("slot", { name: "vviinn-suggestions-title" }, store.instance.t("suggestions.title")))), index.h("div", { class: "description", part: "suggestions-description" }, index.h("slot", { name: "vviinn-suggestions-description" }, store.instance.t("suggestions.description"))), index.h("div", { class: "suggestions-wrapper", part: "suggestions-wrapper" }, this.renderStreamItems()))));
1587
1587
  }
1588
1588
  get el() { return index.getElement(this); }
1589
1589
  };
@@ -1789,7 +1789,7 @@ const VviinnVpsWidget = class {
1789
1789
  this.getBasicEventData = (isTextSearch) => {
1790
1790
  var _a;
1791
1791
  const activeCampaign = this.isTextSearch() || isTextSearch ? "TPS" : "VPS";
1792
- return Object.assign({ campaignTypeId: activeCampaign, campaignTypeName: _package.campaignTypeNames[activeCampaign], widgetVersion: _package.version }, search_store.addIfNotEmpty("widgetId", (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId));
1792
+ return Object.assign({ campaignTypeId: activeCampaign, campaignTypeName: search_store.campaignTypeNames[activeCampaign], widgetVersion: search_store.version }, search_store.addIfNotEmpty("widgetId", (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId));
1793
1793
  };
1794
1794
  this.handleAspectRatioError = ({ detail }) => {
1795
1795
  this.setShowAspectRatioError(detail);
@@ -2028,10 +2028,10 @@ const VviinnVpsWidget = class {
2028
2028
  }
2029
2029
  render() {
2030
2030
  var _a, _b, _c;
2031
- return (index.h(index.Host, { key: 'c192aa1c58fb9c5954b04727d75b1f658868c971', exportparts: `${_package.modalParts}, ${_package.productCardParts}, ${_package.searchBarParts}, ${_package.searchWidgetFilterParts}, ${_package.searchWidgetButtonParts}, ${_package.productCardsGridPart}, ${_package.suggestionsParts}` }, openProductLink.renderExternalCSS(this.cssUrl), !this.showingInButton && customizedSlots.SlotSkeleton("search"), index.h("vviinn-overlayed-modal", { key: '333eb04a01cfacd4bb50d57bd31ba63a3893e439', class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
2031
+ return (index.h(index.Host, { key: 'c192aa1c58fb9c5954b04727d75b1f658868c971', exportparts: `${index$4.modalParts}, ${index$4.productCardParts}, ${index$4.searchBarParts}, ${index$4.searchWidgetFilterParts}, ${index$4.searchWidgetButtonParts}, ${index$4.productCardsGridPart}, ${index$4.suggestionsParts}` }, openProductLink.renderExternalCSS(this.cssUrl), !this.showingInButton && customizedSlots.SlotSkeleton("search"), index.h("vviinn-overlayed-modal", { key: '333eb04a01cfacd4bb50d57bd31ba63a3893e439', class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
2032
2032
  if (detail.campaignTypeId !== "VPR")
2033
2033
  this.handleModalClose();
2034
- }, buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId, widgetVersion: _package.version, hideBackButton: this.mode === "upload" ||
2034
+ }, buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId, widgetVersion: search_store.version, hideBackButton: this.mode === "upload" ||
2035
2035
  (!this.isCameraEnabled && this.isOnboardingSlide()) }, index.h("vviinn-slider", { key: '91968a269d40de3bf74a7bebc633ede0300a2d23', position: this.slidePosition }, index.h("vviinn-slide", { key: 'efbff255788d3e6374f1fd7b216509088e19f7a7', class: {
2036
2036
  "start-page": true,
2037
2037
  "camera-enabled": this.isCameraEnabled,
@@ -2045,14 +2045,14 @@ const VviinnVpsWidget = class {
2045
2045
  }), class: { invisible: this.haveErrors() } }))), index.h("vviinn-slide", { key: 'd75f434f28dc283f015468de59864882c891deab', class: {
2046
2046
  "results-page": true,
2047
2047
  active: this.isResultSlide(),
2048
- } }, this.isResultSlide() && (index.h("div", { key: 'ec3ce2862b7a4af6ff734d10081c28a8d8e71753', class: "source-wrapper" }, this.isTextSearch() && (index.h("vviinn-text-search", { key: '84984500cca9400bfb06227840449355764e827d', token: this.token, showInWidget: this.showInWidget, apiPath: this.apiPath, locale: this.locale, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" })), !this.isTextSearch() && (index.h("vviinn-cropper", { key: '5b9e31cce72ce3e32ddcf2d8d1ae9c42a68726fd', token: this.token, basicEventData: this.getBasicEventData(), showAspectRatioError: this.showAspectRatioError, apiPath: this.apiPath, showInWidget: this.showInWidget, "save-image-mode": "never" })), this.isTextSearch() && (index.h("vviinn-suggestions", { key: '158ee9c23eb6ddd5f0602aa7883762a93c990cf8', showInWidget: this.showInWidget, token: this.token, apiPath: this.apiPath, locale: this.locale })), index.h("vviinn-selected-filters", { key: 'f915a3d2da9dab14c8d1ac4e3ba1c7b1671bdf16', locale: this.locale, currencySign: this.currencySign, showInWidget: this.showInWidget, exportparts: _package.filtersParts }), ((_b = this.state.dynamicFilters) === null || _b === void 0 ? void 0 : _b.length) > 0 && (index.h("div", { key: 'a2f2c3f458314ba260a133a81ea1a4ed4e75771e', class: {
2048
+ } }, this.isResultSlide() && (index.h("div", { key: 'ec3ce2862b7a4af6ff734d10081c28a8d8e71753', class: "source-wrapper" }, this.isTextSearch() && (index.h("vviinn-text-search", { key: '84984500cca9400bfb06227840449355764e827d', token: this.token, showInWidget: this.showInWidget, apiPath: this.apiPath, locale: this.locale, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" })), !this.isTextSearch() && (index.h("vviinn-cropper", { key: '5b9e31cce72ce3e32ddcf2d8d1ae9c42a68726fd', token: this.token, basicEventData: this.getBasicEventData(), showAspectRatioError: this.showAspectRatioError, apiPath: this.apiPath, showInWidget: this.showInWidget, "save-image-mode": "never" })), this.isTextSearch() && (index.h("vviinn-suggestions", { key: '158ee9c23eb6ddd5f0602aa7883762a93c990cf8', showInWidget: this.showInWidget, token: this.token, apiPath: this.apiPath, locale: this.locale })), index.h("vviinn-selected-filters", { key: 'f915a3d2da9dab14c8d1ac4e3ba1c7b1671bdf16', locale: this.locale, currencySign: this.currencySign, showInWidget: this.showInWidget, exportparts: index$4.filtersParts }), ((_b = this.state.dynamicFilters) === null || _b === void 0 ? void 0 : _b.length) > 0 && (index.h("div", { key: 'a2f2c3f458314ba260a133a81ea1a4ed4e75771e', class: {
2049
2049
  "filters-wrapper": true,
2050
2050
  hidden: this.showAspectRatioError,
2051
2051
  } }, index.h("vviinn-filters", { key: '4511ea5fc520fafdcf253e38c0f1d48525c11f58', showInWidget: this.showInWidget, showIntervalInputs: this.showIntervalInputs }), index.h("vviinn-extended-filters", { key: 'f930d6ace5ada2d016c515e0ea8722b88a5100bb', mode: "preview", showHeader: false, showInWidget: this.showInWidget, locale: this.locale, currencySign: this.currencySign, showIntervalInputs: this.showIntervalInputs }), index.h("vviinn-extended-filters-button", { key: 'd373671489e82e0bce60cbccb08b439548dc4410', class: {
2052
2052
  "extended-filters-button": true,
2053
2053
  "has-primary-filters": this.state.dynamicFilters.filter((f) => f.isPrimary)
2054
2054
  .length > 0,
2055
- }, showInWidget: this.showInWidget }))))), this.isResultSlide() && (index.h(index.Fragment, { key: '98ed3eb9ee40e609227540c996cd4734453aad7f' }, index.h("vviinn-results", { key: 'adfa40606b70328a4041b3f8daa91b40507163aa', token: this.token, locale: this.locale, numberLocale: this.numberLocale, pricePrefix: this.pricePrefix, "currency-sign": this.currencySign, apiPath: this.apiPath, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, uiSessionId: this.uiSessionId, widgetElementId: (_c = this.buttonElementId) !== null && _c !== void 0 ? _c : this.widgetElementId, showInWidget: this.showInWidget, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, showAspectRatioError: this.showAspectRatioError, resetWidgetState: this.resetState, replaceSlotsContentInWidget: this.replaceSlotsContent.bind(this), replaceSlotsContentInButton: this.replaceSlotsContentInButton, addPriceContainer: this.addPriceContainer, oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, parentSlots: [...this.parentSlots, ...this.slots], scrollableModalBody: this.modalBody }))))), index.h("vviinn-extended-filters", { key: 'de455ff836bbb4455c493c43c994c0b991e4e5d1', class: "modal-extended-filters", mode: "modal", exportparts: _package.extendedFiltersParts, showInWidget: this.showInWidget, locale: this.locale, currencySign: this.currencySign, showIntervalInputs: this.showIntervalInputs }))));
2055
+ }, showInWidget: this.showInWidget }))))), this.isResultSlide() && (index.h(index.Fragment, { key: '98ed3eb9ee40e609227540c996cd4734453aad7f' }, index.h("vviinn-results", { key: 'adfa40606b70328a4041b3f8daa91b40507163aa', token: this.token, locale: this.locale, numberLocale: this.numberLocale, pricePrefix: this.pricePrefix, "currency-sign": this.currencySign, apiPath: this.apiPath, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, uiSessionId: this.uiSessionId, widgetElementId: (_c = this.buttonElementId) !== null && _c !== void 0 ? _c : this.widgetElementId, showInWidget: this.showInWidget, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, showAspectRatioError: this.showAspectRatioError, resetWidgetState: this.resetState, replaceSlotsContentInWidget: this.replaceSlotsContent.bind(this), replaceSlotsContentInButton: this.replaceSlotsContentInButton, addPriceContainer: this.addPriceContainer, oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, parentSlots: [...this.parentSlots, ...this.slots], scrollableModalBody: this.modalBody }))))), index.h("vviinn-extended-filters", { key: 'de455ff836bbb4455c493c43c994c0b991e4e5d1', class: "modal-extended-filters", mode: "modal", exportparts: index$4.extendedFiltersParts, showInWidget: this.showInWidget, locale: this.locale, currencySign: this.currencySign, showIntervalInputs: this.showIntervalInputs }))));
2056
2056
  }
2057
2057
  get el() { return index.getElement(this); }
2058
2058
  static get watchers() { return {
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-OrE9ITel.js');
4
- var search_store = require('./search.store-D8olpx19.js');
4
+ var search_store = require('./search.store-BdAG-VwC.js');
5
5
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
6
6
  var store = require('./store-jPZ4ROqV.js');
7
- var _package = require('./package-B54qOprd.js');
8
- var index$2 = require('./index-BUgslslf.js');
7
+ var index$2 = require('./index-C1Bi3rvH.js');
9
8
  var index$1 = require('./index-DLEDOlRe.js');
10
9
  var customizedSlots = require('./customized-slots-CqOPLiML.js');
11
- var index$3 = require('./index-CzqCGUTk.js');
10
+ var index$3 = require('./index-DB3abTlJ.js');
11
+ var index$4 = require('./index-CzqCGUTk.js');
12
12
  var swiperElement = require('./swiper-element-CY759uFL.js');
13
13
  var openProductLink = require('./openProductLink-BFiXVr4M.js');
14
14
 
@@ -211,7 +211,7 @@ const VviinnCarousel = class {
211
211
  this.renderRecommendationGroups = (elements) => elements.map((element) => (index.h("div", { class: index$2.CONTENT_GROUP_CSS_CLASS, part: index$2.CONTENT_GROUP_CSS_CLASS }, element)));
212
212
  }
213
213
  getProductData(recommendation, productRank) {
214
- return Object.assign({ productId: recommendation.productId, productRank, productName: recommendation.productTitle, productType: recommendation.productType, campaignTypeId: this.campaignTypeId, campaignTypeName: _package.campaignTypeNames[this.campaignTypeId], widgetVersion: this.widgetVersion }, search_store.addIfNotEmpty("widgetId", this.widgetElementId));
214
+ return Object.assign({ productId: recommendation.productId, productRank, productName: recommendation.productTitle, productType: recommendation.productType, campaignTypeId: this.campaignTypeId, campaignTypeName: search_store.campaignTypeNames[this.campaignTypeId], widgetVersion: this.widgetVersion }, search_store.addIfNotEmpty("widgetId", this.widgetElementId));
215
215
  }
216
216
  getMaxScrollIndex() {
217
217
  if (this.isGridMode) {
@@ -596,7 +596,7 @@ const VviinnEnergyLabel = class {
596
596
  render() {
597
597
  return (index.h(index.Host, { key: 'f311f7c89f27a7dd90a8198284b179fe6e04cb3f', class: {
598
598
  hidden: !this.classIconUrls && !this.productType && !this.classDataSheetUrl,
599
- }, exportparts: _package.energyLabelParts }, index.h("div", { key: 'd20b22eaca0f7121a09f20e9a1a8e16ae8c77a16', class: "container", part: "energy-label-container" }, !!this.classIconUrls && (index.h("img", { key: '4551fc562d643b825ff489ebd4fcf51812479862', class: "class-label-icon", part: "energy-label-icon", src: this.classIconUrls[this.iconDirection], alt: this.getEnergyIconAltText() })), (this.productType || this.classDataSheetUrl) && (index.h("div", { key: '3260e0e590ed46c72daf3b06075a153c23ed0c51', class: "info-container" }, this.productType && (index.h("span", { key: 'be310b1e00cc1b279d58ce2d56cee9803622f01b', class: "product-type", part: "energy-label-product-type" }, this.productType)), this.classDataSheetUrl && (index.h("a", { key: '2e4f3d3985d11d7b2bba729b6c1816af866cafdc', class: "data-sheet-link", part: "energy-label-data-sheet-link", href: this.classDataSheetUrl, target: "_blank", rel: "noopener noreferrer" }, index.h("slot", { key: 'ca584e501471e5d6bc9c76f7d3767910ed645016', name: "vviinn-energy-label-data-sheet-text" }, store.instance.t("energyLabel.dataSheetText")))))))));
599
+ }, exportparts: index$3.energyLabelParts }, index.h("div", { key: 'd20b22eaca0f7121a09f20e9a1a8e16ae8c77a16', class: "container", part: "energy-label-container" }, !!this.classIconUrls && (index.h("img", { key: '4551fc562d643b825ff489ebd4fcf51812479862', class: "class-label-icon", part: "energy-label-icon", src: this.classIconUrls[this.iconDirection], alt: this.getEnergyIconAltText() })), (this.productType || this.classDataSheetUrl) && (index.h("div", { key: '3260e0e590ed46c72daf3b06075a153c23ed0c51', class: "info-container" }, this.productType && (index.h("span", { key: 'be310b1e00cc1b279d58ce2d56cee9803622f01b', class: "product-type", part: "energy-label-product-type" }, this.productType)), this.classDataSheetUrl && (index.h("a", { key: '2e4f3d3985d11d7b2bba729b6c1816af866cafdc', class: "data-sheet-link", part: "energy-label-data-sheet-link", href: this.classDataSheetUrl, target: "_blank", rel: "noopener noreferrer" }, index.h("slot", { key: 'ca584e501471e5d6bc9c76f7d3767910ed645016', name: "vviinn-energy-label-data-sheet-text" }, store.instance.t("energyLabel.dataSheetText")))))))));
600
600
  }
601
601
  get el() { return index.getElement(this); }
602
602
  };
@@ -840,7 +840,7 @@ const VviinnExtendedFilters = class {
840
840
  }
841
841
  }
842
842
  async componentWillLoad() {
843
- await index$3.initializeLocale(this.locale);
843
+ await index$4.initializeLocale(this.locale);
844
844
  customizedSlots.slotChangeListener(this, this.el);
845
845
  }
846
846
  initializeDisplayedOptions(filterColumn) {
@@ -1016,7 +1016,7 @@ const VviinnExtendedFilters = class {
1016
1016
  const filters = this.getFilters();
1017
1017
  return (index.h(index.Host, { key: 'f2f23f0f4e997ff8ec7b00a96a84ba4ea18f5d3f', class: {
1018
1018
  "show-in-widget": this.showInWidget,
1019
- }, exportParts: _package.extendedFiltersParts }, index.h("div", { key: '57de996421fe25deb1cc484bc0ea2598e7dfb3c1', ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), customizedSlots.SlotSkeleton("filters"), (filters === null || filters === void 0 ? void 0 : filters.length) > 0 && this.mode === "button" && (index.h("vviinn-extended-filters-button", { key: '0219f9a675885f280eb93cbaab4fb426af18e029' })), this.renderModal(filters)));
1019
+ }, exportParts: index$3.extendedFiltersParts }, index.h("div", { key: '57de996421fe25deb1cc484bc0ea2598e7dfb3c1', ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), customizedSlots.SlotSkeleton("filters"), (filters === null || filters === void 0 ? void 0 : filters.length) > 0 && this.mode === "button" && (index.h("vviinn-extended-filters-button", { key: '0219f9a675885f280eb93cbaab4fb426af18e029' })), this.renderModal(filters)));
1020
1020
  }
1021
1021
  get el() { return index.getElement(this); }
1022
1022
  static get watchers() { return {
@@ -1180,7 +1180,7 @@ const VviinnFilters = class {
1180
1180
  return (index.h(index.Host, { key: '43ca9aa547e2436a198c6b98599edc256ead2908', class: {
1181
1181
  "show-in-widget": this.showInWidget,
1182
1182
  "primary-filters": true,
1183
- }, onKeyDown: this.handleKeyDown, exportparts: _package.filtersParts }, customizedSlots.SlotSkeleton("filters"), index.h("div", { key: 'cbc3b18419bd5797c97270e7104c723a08185750', ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), (filters === null || filters === void 0 ? void 0 : filters.length) > 0 && (index.h("nav", { key: '1d879a02b353b8e11dc633d634012b254385488d', "aria-label": store.instance.t("a11y.productFilters") }, index.h("ul", { key: '2487026565e1f54ea19359a4a710d477c26ef4ff', class: "main-filters-list", part: "filters-list" }, filters.map((filter) => {
1183
+ }, onKeyDown: this.handleKeyDown, exportparts: index$3.filtersParts }, customizedSlots.SlotSkeleton("filters"), index.h("div", { key: 'cbc3b18419bd5797c97270e7104c723a08185750', ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), (filters === null || filters === void 0 ? void 0 : filters.length) > 0 && (index.h("nav", { key: '1d879a02b353b8e11dc633d634012b254385488d', "aria-label": store.instance.t("a11y.productFilters") }, index.h("ul", { key: '2487026565e1f54ea19359a4a710d477c26ef4ff', class: "main-filters-list", part: "filters-list" }, filters.map((filter) => {
1184
1184
  const isExpanded = this.selectedFilterColumn === filter.column;
1185
1185
  return (index.h("li", null, index.h("button", { class: `filters-main-button ${this.showActiveOnMainButton(filter)}`, onClick: () => this.handleMainFilterSelection(filter), part: "filters-main-button", "aria-expanded": isExpanded ? "true" : "false", "aria-label": store.instance.t("a11y.filterButton", {
1186
1186
  label: filter.label,
@@ -1332,7 +1332,7 @@ const VviinnImage = class {
1332
1332
  return (index.h("div", { class: "image-skeleton", part: "image-skeleton" }, index.h("vviinn-skeleton", null)));
1333
1333
  }
1334
1334
  render() {
1335
- return (index.h(index.Host, { key: '5f0a58b7271229ae34f84188f24487901bf23ff3', exportparts: _package.imageParts, class: {
1335
+ return (index.h(index.Host, { key: '5f0a58b7271229ae34f84188f24487901bf23ff3', exportparts: index$3.imageParts, class: {
1336
1336
  "has-skeleton-icon": this.isSetMode,
1337
1337
  "set-mode-transition": this.isSetMode && this.shouldShowSkeleton,
1338
1338
  } }, index.h("div", { key: '59742b75db4f00da1b06583aceb0cac59a162d81', class: {
@@ -1696,7 +1696,7 @@ const VviinnProductCard = class {
1696
1696
  this.isListCard = this.entityType === "list";
1697
1697
  this.imageProps = this.getImageProps();
1698
1698
  if (this.isStandalone) {
1699
- index$3.initializeLocale(this.effectiveLocale);
1699
+ index$4.initializeLocale(this.effectiveLocale);
1700
1700
  }
1701
1701
  if (this.energyCertificationsString.length > 0) {
1702
1702
  this.parseEnergyCertificationsString();
@@ -1769,7 +1769,7 @@ const VviinnProductCard = class {
1769
1769
  }
1770
1770
  getProductData() {
1771
1771
  var _a;
1772
- return Object.assign({ productId: this.productId, productRank: this.index, productName: this.productTitle, productType: this.productType, campaignTypeId: this.campaignTypeId, campaignTypeName: _package.campaignTypeNames[this.campaignTypeId], widgetVersion: this.widgetVersion }, search_store.addIfNotEmpty("widgetId", (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId));
1772
+ return Object.assign({ productId: this.productId, productRank: this.index, productName: this.productTitle, productType: this.productType, campaignTypeId: this.campaignTypeId, campaignTypeName: search_store.campaignTypeNames[this.campaignTypeId], widgetVersion: this.widgetVersion }, search_store.addIfNotEmpty("widgetId", (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId));
1773
1773
  }
1774
1774
  basketButtonClickHandler() {
1775
1775
  this.vviinnAddToBasket.emit(Object.assign(Object.assign({}, this.productData), { discount: this.currentDiscountPercentage }));
@@ -1848,7 +1848,7 @@ const VviinnProductCard = class {
1848
1848
  render() {
1849
1849
  var _a, _b, _c;
1850
1850
  if (this.isContentCard || this.isListCard) {
1851
- return (index.h(index.Host, { part: `product-card ${this.entityType}-card`, class: `${this.entityType}-card`, exportparts: this.isContentCard ? _package.contentCardParts : _package.listCardParts, "data-id": this.productId }, openProductLink.renderExternalCSS(this.cssUrl), index.h("div", { class: `image-container ${this.entityType}-card-image-container`, part: "image-container" }, renderProductCardImage({
1851
+ return (index.h(index.Host, { part: `product-card ${this.entityType}-card`, class: `${this.entityType}-card`, exportparts: this.isContentCard ? index$3.contentCardParts : index$3.listCardParts, "data-id": this.productId }, openProductLink.renderExternalCSS(this.cssUrl), index.h("div", { class: `image-container ${this.entityType}-card-image-container`, part: "image-container" }, renderProductCardImage({
1852
1852
  src: this.imageProps.src,
1853
1853
  width: this.imageProps.width,
1854
1854
  title: this.imageProps.title,
@@ -1872,7 +1872,7 @@ const VviinnProductCard = class {
1872
1872
  animated: this.isTransitioning,
1873
1873
  "product-card--source": this.isSourceProduct,
1874
1874
  "set-mode": this.isSetMode,
1875
- }, exportparts: _package.productCardParts, "data-id": this.productId }, openProductLink.renderExternalCSS(this.cssUrl), index.h("div", { class: "content-container", part: "content-container" }, this.showSkeleton() ? (index.h(index.Fragment, null, index.h("vviinn-skeleton", { height: 40 }), index.h("vviinn-skeleton", { height: 20, halfWidth: true }), index.h("vviinn-skeleton", { height: 40 }))) : (index.h(index.Fragment, null, index.h(Linked, { deeplink: this.deeplink, part: "deeplink", tabindex: 0 }, index.h("span", { class: "title", part: "title" }, this.productTitle)), ((_a = this.brand) === null || _a === void 0 ? void 0 : _a.length) > 0 && (index.h("span", { class: "brand", part: "brand" }, this.brand)), ((_b = this.productType) === null || _b === void 0 ? void 0 : _b.length) > 0 && (index.h("span", { class: "product-type", part: "product-type" }, this.productType)), ((_c = this === null || this === void 0 ? void 0 : this.energyCertifications) !== null && _c !== void 0 ? _c : []).map((energyCertification) => (index.h("vviinn-energy-label", { classIconUrls: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.classIconUrls, classDataSheetUrl: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.classDataSheetUrl, productType: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.productType, certificationClass: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.certificationClass, classRange: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.classRange }))), index.h(Price, { prefix: this.pricePrefix, currency: this.effectiveCurrencySign, numberLocale: this.effectiveNumberLocale, price: this.price, basePrice: parseBasePrice(this.basePrice), salePrice: this.salePrice, baseSalePrice: parseBasePrice(this.baseSalePrice), showInContainer: this.addPriceContainer }), renderCustomLabels(this.customLabels.split(","), "content")))), index.h("div", { class: {
1875
+ }, exportparts: index$3.productCardParts, "data-id": this.productId }, openProductLink.renderExternalCSS(this.cssUrl), index.h("div", { class: "content-container", part: "content-container" }, this.showSkeleton() ? (index.h(index.Fragment, null, index.h("vviinn-skeleton", { height: 40 }), index.h("vviinn-skeleton", { height: 20, halfWidth: true }), index.h("vviinn-skeleton", { height: 40 }))) : (index.h(index.Fragment, null, index.h(Linked, { deeplink: this.deeplink, part: "deeplink", tabindex: 0 }, index.h("span", { class: "title", part: "title" }, this.productTitle)), ((_a = this.brand) === null || _a === void 0 ? void 0 : _a.length) > 0 && (index.h("span", { class: "brand", part: "brand" }, this.brand)), ((_b = this.productType) === null || _b === void 0 ? void 0 : _b.length) > 0 && (index.h("span", { class: "product-type", part: "product-type" }, this.productType)), ((_c = this === null || this === void 0 ? void 0 : this.energyCertifications) !== null && _c !== void 0 ? _c : []).map((energyCertification) => (index.h("vviinn-energy-label", { classIconUrls: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.classIconUrls, classDataSheetUrl: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.classDataSheetUrl, productType: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.productType, certificationClass: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.certificationClass, classRange: energyCertification === null || energyCertification === void 0 ? void 0 : energyCertification.classRange }))), index.h(Price, { prefix: this.pricePrefix, currency: this.effectiveCurrencySign, numberLocale: this.effectiveNumberLocale, price: this.price, basePrice: parseBasePrice(this.basePrice), salePrice: this.salePrice, baseSalePrice: parseBasePrice(this.baseSalePrice), showInContainer: this.addPriceContainer }), renderCustomLabels(this.customLabels.split(","), "content")))), index.h("div", { class: {
1876
1876
  "basket-button-container": true,
1877
1877
  hidden: !this.isShowBasketButton() || this.showSkeleton(),
1878
1878
  }, part: "basket-button-container" }, index.h("button", { class: {
@@ -2065,7 +2065,7 @@ const VviinnPriceRange = class {
2065
2065
  return (intervalWidth / totalRange) * 100;
2066
2066
  }
2067
2067
  render() {
2068
- return (index.h(index.Host, { key: '243f582969e87741635e7c613a5a11f220ec1d38', exportparts: _package.priceRangeParts }, index.h("div", { key: 'cc5ce4f289195db063d9ffd4dd07cce0774ba383', class: "histogram", part: "histogram" }, this.histogram.map((item) => {
2068
+ return (index.h(index.Host, { key: '243f582969e87741635e7c613a5a11f220ec1d38', exportparts: index$3.priceRangeParts }, index.h("div", { key: 'cc5ce4f289195db063d9ffd4dd07cce0774ba383', class: "histogram", part: "histogram" }, this.histogram.map((item) => {
2069
2069
  const barHeight = this.calculateBarHeight(item.value.frequency);
2070
2070
  const heightInPercent = barHeight && barHeight < MIN_BAR_HEIGHT
2071
2071
  ? MIN_BAR_HEIGHT
@@ -11597,7 +11597,7 @@ const getVCSRecommendations = (body) => (options) => (apiPath) => {
11597
11597
  return apiPost(url, Object.assign(Object.assign({}, options), { body: JSON.stringify(body) }), apiPath);
11598
11598
  };
11599
11599
 
11600
- const getRecommendationsService = (campaignType) => Rectangle._functionExports.pipe(_package.fromString(campaignType), _package.fold(() => getVPRRecommendations, () => getVCSRecommendations));
11600
+ const getRecommendationsService = (campaignType) => Rectangle._functionExports.pipe(search_store.fromString(campaignType), search_store.fold(() => getVPRRecommendations, () => getVCSRecommendations));
11601
11601
 
11602
11602
  const vviinnVprWidgetCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:grid;grid-gap:var(--spacing-200);width:100%}:host(:not(.loaded)){position:absolute;visibility:hidden}:host(.set){grid-gap:var(--spacing-300)}:host(.set) vviinn-carousel{overflow-x:auto;scrollbar-width:thin}:host(.set) vviinn-product-card::part(content-container){width:var(--vviinn-set-mode-image-width, 100%)}:host(.grid) h2{justify-content:center}.filters-header{display:flex;justify-content:space-between;gap:14px}.filters-header>vviinn-extended-filters{width:44px;height:44px}@media (max-width: 768px){.filters-header>vviinn-filters{flex:1;width:100px}}.widget-header{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.widget-header h3{margin-top:8px;margin-bottom:0;font-size:14px;font-weight:400;line-height:20px}.widget-header h2,.widget-header h3{margin:0;font-family:var(--font-family, var(--font-family-base))}.widget-header h2{font-weight:var(--font-weight-600);line-height:var(--line-height-title)}.widget-header h3{line-height:var(--line-height-body);margin-top:var(--spacing-100)}.update-button{display:flex;align-items:center;align-self:flex-end;justify-content:center;font-family:var(--font-family, var(--font-family-base));color:#525252;gap:8px;padding:8px 10px;background:rgb(244, 244, 244);border:none;cursor:pointer}.update-button:hover{background:rgb(234, 234, 234)}.update-button svg{color:#6f6f6f}.results{display:grid;grid-gap:1rem}.no-result-text{line-height:var(--line-height-headline);font-family:var(--font-family, var(--font-family-base));font-size:var(--font-size-headline);padding-bottom:48px}.recommendations-results.recommendations-grid{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(\n auto-fill,\n minmax(\n var(--product-card-width, var(--product-card-results-min-width)),\n 1fr\n )\n );padding-bottom:var(--spacing-300)}@media (max-width: 768px){:host(.show-in-widget) .recommendations-results.recommendations-grid{width:unset;grid-gap:24px 16px;justify-content:center;grid-template-columns:repeat(auto-fill, minmax(155px, 1fr))}}";
11603
11603
 
@@ -11726,7 +11726,7 @@ const VviinnVprWidget = class {
11726
11726
  return this.campaignType === "VCS" ? "VPC" : "VPR";
11727
11727
  }
11728
11728
  getBasicEventData() {
11729
- return Object.assign({ campaignTypeId: this.campaignType, campaignTypeName: _package.campaignTypeNames[this.campaignType], widgetVersion: _package.version }, search_store.addIfNotEmpty("widgetId", this.id));
11729
+ return Object.assign({ campaignTypeId: this.campaignType, campaignTypeName: search_store.campaignTypeNames[this.campaignType], widgetVersion: search_store.version }, search_store.addIfNotEmpty("widgetId", this.id));
11730
11730
  }
11731
11731
  findProductById(id) {
11732
11732
  return this.recommendations.find((r) => r.productId === id);
@@ -11788,7 +11788,7 @@ const VviinnVprWidget = class {
11788
11788
  }
11789
11789
  }
11790
11790
  async componentWillLoad() {
11791
- await index$3.initializeLocale(this.locale);
11791
+ await index$4.initializeLocale(this.locale);
11792
11792
  customizedSlots.slotChangeListener(this, this.el);
11793
11793
  }
11794
11794
  trackProductLoad({ detail }) {
@@ -11924,7 +11924,7 @@ const VviinnVprWidget = class {
11924
11924
  }
11925
11925
  renderRecommendation(recommendation, index$1) {
11926
11926
  var _a, _b, _c, _d, _e;
11927
- return (index.h("vviinn-product-card", { currencySign: this.currencySign, pricePrefix: this.pricePrefix, locale: this.locale, numberLocale: this.numberLocale, productId: recommendation.productId, product: recommendation, productTitle: recommendation.title, productType: recommendation.productType, entityType: recommendation.entityType, deeplink: recommendation.deeplink, image: (_b = (_a = recommendation.image) === null || _a === void 0 ? void 0 : _a.thumbnail) !== null && _b !== void 0 ? _b : (_c = recommendation.image) === null || _c === void 0 ? void 0 : _c.original, images: recommendation.images, showMultipleImages: this.showMultipleImages, disableMobileSwiper: true, imageResolutionWidth: this.imageResolutionWidth, brand: recommendation.brand, imageWidth: this.imageWidth, price: recommendation.price.actual, salePrice: recommendation.price.sale, basePrice: (_d = recommendation.basePrice) === null || _d === void 0 ? void 0 : _d.actual, baseSalePrice: (_e = recommendation.basePrice) === null || _e === void 0 ? void 0 : _e.sale, energyCertifications: recommendation.energyCertifications, addPriceContainer: this.addPriceContainer, responsive: this.isGridMode, addToBasketShow: this.addToBasketShow, campaignTypeId: this.campaignType, index: index$1, widgetElementId: this.id, widgetVersion: _package.version, isSetMode: this.isSetMode, customLabels: index$2.getCustomLabels(recommendation), favoriteShow: this.favoriteShow }));
11927
+ return (index.h("vviinn-product-card", { currencySign: this.currencySign, pricePrefix: this.pricePrefix, locale: this.locale, numberLocale: this.numberLocale, productId: recommendation.productId, product: recommendation, productTitle: recommendation.title, productType: recommendation.productType, entityType: recommendation.entityType, deeplink: recommendation.deeplink, image: (_b = (_a = recommendation.image) === null || _a === void 0 ? void 0 : _a.thumbnail) !== null && _b !== void 0 ? _b : (_c = recommendation.image) === null || _c === void 0 ? void 0 : _c.original, images: recommendation.images, showMultipleImages: this.showMultipleImages, disableMobileSwiper: true, imageResolutionWidth: this.imageResolutionWidth, brand: recommendation.brand, imageWidth: this.imageWidth, price: recommendation.price.actual, salePrice: recommendation.price.sale, basePrice: (_d = recommendation.basePrice) === null || _d === void 0 ? void 0 : _d.actual, baseSalePrice: (_e = recommendation.basePrice) === null || _e === void 0 ? void 0 : _e.sale, energyCertifications: recommendation.energyCertifications, addPriceContainer: this.addPriceContainer, responsive: this.isGridMode, addToBasketShow: this.addToBasketShow, campaignTypeId: this.campaignType, index: index$1, widgetElementId: this.id, widgetVersion: search_store.version, isSetMode: this.isSetMode, customLabels: index$2.getCustomLabels(recommendation), favoriteShow: this.favoriteShow }));
11928
11928
  }
11929
11929
  renderResults() {
11930
11930
  const styleSheet = getComputedStyle(this.el);
@@ -11935,7 +11935,7 @@ const VviinnVprWidget = class {
11935
11935
  : this.recommendations.map((r, i) => this.renderRecommendation(r, i))));
11936
11936
  }
11937
11937
  renderCarousel() {
11938
- return (index.h("vviinn-carousel", { currencySign: this.currencySign, pricePrefix: this.pricePrefix, locale: this.locale, numberLocale: this.numberLocale, mode: this.mode, campaignTypeId: this.campaignType, imageWidth: this.imageWidth, showScroll: this.showScroll, recommendations: this.recommendations, sourceProduct: this.sourceProduct, widgetElementId: this.id, widgetVersion: _package.version, gridArrowsDynamic: this.gridArrowsDynamic, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, updatingAllCards: this.updatingAllCards, updateButtonLocation: this.updateButtonLocation, replaceSlotsContent: this.replaceSlotsContent.bind(this), setModeDiscountsArray: this.setModeDiscountsArray, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, favoriteShow: this.favoriteShow, setItemsAmount: this.setItemsAmount, loading: this.recommendationsLoading, isAppended: this.isAppended, hasErrorOnLoad: this.hasErrorOnLoad, showInWidget: this.showInWidget }));
11938
+ return (index.h("vviinn-carousel", { currencySign: this.currencySign, pricePrefix: this.pricePrefix, locale: this.locale, numberLocale: this.numberLocale, mode: this.mode, campaignTypeId: this.campaignType, imageWidth: this.imageWidth, showScroll: this.showScroll, recommendations: this.recommendations, sourceProduct: this.sourceProduct, widgetElementId: this.id, widgetVersion: search_store.version, gridArrowsDynamic: this.gridArrowsDynamic, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, updatingAllCards: this.updatingAllCards, updateButtonLocation: this.updateButtonLocation, replaceSlotsContent: this.replaceSlotsContent.bind(this), setModeDiscountsArray: this.setModeDiscountsArray, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, favoriteShow: this.favoriteShow, setItemsAmount: this.setItemsAmount, loading: this.recommendationsLoading, isAppended: this.isAppended, hasErrorOnLoad: this.hasErrorOnLoad, showInWidget: this.showInWidget }));
11939
11939
  }
11940
11940
  render() {
11941
11941
  var _a;
@@ -4,7 +4,7 @@ var index = require('./index-OrE9ITel.js');
4
4
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
5
5
  var cropperUtils = require('./cropperUtils-DCDOLeBS.js');
6
6
  var swiperElement = require('./swiper-element-CY759uFL.js');
7
- var search_store = require('./search.store-D8olpx19.js');
7
+ var search_store = require('./search.store-BdAG-VwC.js');
8
8
  var SecondaryActionIcon = require('./SecondaryActionIcon-BZg-ADIW.js');
9
9
  var index$1 = require('./index-CzqCGUTk.js');
10
10
  var store = require('./store-jPZ4ROqV.js');