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.
- package/dist/cjs/{index-BUgslslf.js → index-C1Bi3rvH.js} +1 -1
- package/dist/cjs/{package-B54qOprd.js → index-DB3abTlJ.js} +0 -20
- package/dist/cjs/{search.store-D8olpx19.js → search.store-BdAG-VwC.js} +42 -6
- package/dist/cjs/vviinn-button_6.cjs.entry.js +9 -9
- package/dist/cjs/vviinn-camera_12.cjs.entry.js +15 -15
- package/dist/cjs/vviinn-carousel_10.cjs.entry.js +20 -20
- package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-text-search.cjs.entry.js +4 -4
- package/dist/collection/store/search.store.js +24 -6
- package/dist/esm/{index-BdHREhiY.js → index-Cp-XQl2H.js} +1 -1
- package/dist/esm/{package-uoKlBvMB.js → index-CzWCTSeB.js} +1 -17
- package/dist/esm/{search.store-C02srsML.js → search.store-Chdc1j_G.js} +39 -7
- package/dist/esm/vviinn-button_6.entry.js +2 -2
- package/dist/esm/vviinn-camera_12.entry.js +3 -3
- package/dist/esm/vviinn-carousel_10.entry.js +3 -3
- package/dist/esm/vviinn-shop-the-look.entry.js +1 -1
- package/dist/esm/vviinn-text-search.entry.js +2 -2
- package/dist/types/recommendation/events.d.ts +13 -0
- package/dist/vviinn-widgets/p-199f84e3.entry.js +1 -0
- package/dist/vviinn-widgets/p-2d010b2e.entry.js +1 -0
- package/dist/vviinn-widgets/p-7d9d9971.entry.js +1 -0
- package/dist/vviinn-widgets/{p-04db8a7d.entry.js → p-94b6ea13.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-lxnysYxI.js → p-B67cDeQQ.js} +1 -1
- package/dist/vviinn-widgets/p-BBWCUGBM.js +1 -0
- package/dist/vviinn-widgets/p-CzWCTSeB.js +1 -0
- package/dist/vviinn-widgets/{p-379e4f10.entry.js → p-fe985fe6.entry.js} +1 -1
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/www/build/p-199f84e3.entry.js +1 -0
- package/www/build/p-2d010b2e.entry.js +1 -0
- package/www/build/{p-66827c77.js → p-3f47187f.js} +1 -1
- package/www/build/p-7d9d9971.entry.js +1 -0
- package/www/build/{p-04db8a7d.entry.js → p-94b6ea13.entry.js} +1 -1
- package/www/build/{p-lxnysYxI.js → p-B67cDeQQ.js} +1 -1
- package/www/build/p-BBWCUGBM.js +1 -0
- package/www/build/p-CzWCTSeB.js +1 -0
- package/www/build/{p-379e4f10.entry.js → p-fe985fe6.entry.js} +1 -1
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/www/index.html +1 -1
- package/dist/vviinn-widgets/p-2160f9d4.entry.js +0 -1
- package/dist/vviinn-widgets/p-9b44068f.entry.js +0 -1
- package/dist/vviinn-widgets/p-C_VapLtA.js +0 -1
- package/dist/vviinn-widgets/p-c1136e85.entry.js +0 -1
- package/dist/vviinn-widgets/p-uoKlBvMB.js +0 -1
- package/www/build/p-2160f9d4.entry.js +0 -1
- package/www/build/p-9b44068f.entry.js +0 -1
- package/www/build/p-C_VapLtA.js +0 -1
- package/www/build/p-c1136e85.entry.js +0 -1
- 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-
|
|
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
|
|
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-
|
|
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$
|
|
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:
|
|
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:
|
|
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, ${
|
|
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: `${
|
|
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$
|
|
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 =
|
|
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-
|
|
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-
|
|
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:
|
|
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:
|
|
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:
|
|
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: `${
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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: `${
|
|
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:
|
|
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:
|
|
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:
|
|
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-
|
|
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
|
|
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-
|
|
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:
|
|
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:
|
|
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$
|
|
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:
|
|
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:
|
|
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:
|
|
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$
|
|
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:
|
|
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 ?
|
|
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:
|
|
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:
|
|
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(
|
|
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:
|
|
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$
|
|
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:
|
|
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:
|
|
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-
|
|
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');
|