vviinn-widgets 2.180.1 → 2.180.3
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/{package-oO--ZhE-.js → package-CI2BBWCd.js} +1 -1
- package/dist/cjs/{triggerFilter-B1jIVczU.js → triggerFilter-DMhMlhX4.js} +4 -2
- package/dist/cjs/vviinn-camera_10.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-carousel_9.cjs.entry.js +2 -2
- package/dist/cjs/vviinn-detected-object_6.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-selected-filters.cjs.entry.js +4 -4
- package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
- package/dist/collection/components/vviinn-carousel/vviinn-carousel.js +2 -2
- package/dist/collection/components/vviinn-filters/helpers/getIntervalLabel.js +4 -2
- package/dist/collection/components/vviinn-filters/vviinn-selected-filters.js +3 -3
- package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.js +1 -1
- package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +1 -1
- package/dist/esm/{package-CSctix6j.js → package-CpyswvPf.js} +1 -1
- package/dist/esm/{triggerFilter-CfqsUfAn.js → triggerFilter-DEQtuJV4.js} +4 -2
- package/dist/esm/vviinn-camera_10.entry.js +1 -1
- package/dist/esm/vviinn-carousel_9.entry.js +2 -2
- package/dist/esm/vviinn-detected-object_6.entry.js +1 -1
- package/dist/esm/vviinn-selected-filters.entry.js +4 -4
- package/dist/esm/vviinn-vps-button.entry.js +1 -1
- package/dist/types/components/vviinn-filters/helpers/getIntervalLabel.d.ts +1 -1
- package/dist/types/interfaces/generated.d.ts +11 -2
- package/dist/vviinn-widgets/{p-90aa0b72.entry.js → p-09259ac8.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-a342e51e.entry.js → p-0ed50237.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-cb647dbb.entry.js → p-1c5940b8.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-fed6b735.entry.js → p-34a24f9b.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-CSctix6j.js → p-CpyswvPf.js} +1 -1
- package/dist/vviinn-widgets/p-de7846fa.entry.js +1 -0
- package/dist/vviinn-widgets/p-yvJms2U5.js +1 -0
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/www/build/{p-90aa0b72.entry.js → p-09259ac8.entry.js} +1 -1
- package/www/build/{p-a342e51e.entry.js → p-0ed50237.entry.js} +1 -1
- package/www/build/{p-cb647dbb.entry.js → p-1c5940b8.entry.js} +1 -1
- package/www/build/{p-fed6b735.entry.js → p-34a24f9b.entry.js} +1 -1
- package/www/build/{p-CSctix6j.js → p-CpyswvPf.js} +1 -1
- package/www/build/p-de7846fa.entry.js +1 -0
- package/www/build/{p-39966f1a.js → p-fee495d7.js} +1 -1
- package/www/build/p-yvJms2U5.js +1 -0
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/www/index.html +1 -1
- package/dist/vviinn-widgets/p-0afb9042.entry.js +0 -1
- package/dist/vviinn-widgets/p-BiQFiZBS.js +0 -1
- package/www/build/p-0afb9042.entry.js +0 -1
- package/www/build/p-BiQFiZBS.js +0 -1
|
@@ -43,7 +43,7 @@ function getColorOptionAriaLabel(label) {
|
|
|
43
43
|
|
|
44
44
|
const isPriceFilter = (column) => column === "price" || column === "minimum_price";
|
|
45
45
|
|
|
46
|
-
const getIntervalLabel = (intervalFilter, fullInterval, currencySign) => {
|
|
46
|
+
const getIntervalLabel = (intervalFilter, fullInterval, currencySign, showColumnLabel = false) => {
|
|
47
47
|
if (!fullInterval)
|
|
48
48
|
return null;
|
|
49
49
|
const { start, end } = fullInterval;
|
|
@@ -55,7 +55,9 @@ const getIntervalLabel = (intervalFilter, fullInterval, currencySign) => {
|
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
57
|
const rangeValue = `${start} – ${end}`;
|
|
58
|
-
return isPrice
|
|
58
|
+
return isPrice
|
|
59
|
+
? rangeValue
|
|
60
|
+
: `${showColumnLabel ? `${intervalFilter.label}: ` : ""}${rangeValue}`;
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
@@ -9,7 +9,7 @@ var i18next = require('./i18next-DkN_8H9H.js');
|
|
|
9
9
|
var store = require('./store-CrCuJC55.js');
|
|
10
10
|
var Rectangle = require('./Rectangle-Dki6rXFf.js');
|
|
11
11
|
var index$3 = require('./index-CtHOBs61.js');
|
|
12
|
-
var _package = require('./package-
|
|
12
|
+
var _package = require('./package-CI2BBWCd.js');
|
|
13
13
|
var resources = require('./resources-DWfxrCA4.js');
|
|
14
14
|
var index$4 = require('./index-Dob37WH6.js');
|
|
15
15
|
var constants = require('./constants-D9v4GJNd.js');
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
var index = require('./index-OrE9ITel.js');
|
|
4
4
|
var search_store = require('./search.store-C6iFzVC6.js');
|
|
5
5
|
var i18next = require('./i18next-DkN_8H9H.js');
|
|
6
|
-
var _package = require('./package-
|
|
6
|
+
var _package = require('./package-CI2BBWCd.js');
|
|
7
7
|
var index$1 = require('./index-BFM8FXu_.js');
|
|
8
8
|
var constants = require('./constants-D9v4GJNd.js');
|
|
9
9
|
var customizedSlots = require('./customized-slots-7egKJD19.js');
|
|
10
10
|
var index$2 = require('./index-Dob37WH6.js');
|
|
11
|
-
var triggerFilter = require('./triggerFilter-
|
|
11
|
+
var triggerFilter = require('./triggerFilter-DMhMlhX4.js');
|
|
12
12
|
var resources = require('./resources-DWfxrCA4.js');
|
|
13
13
|
var Rectangle = require('./Rectangle-Dki6rXFf.js');
|
|
14
14
|
var store = require('./store-CrCuJC55.js');
|
|
@@ -5,7 +5,7 @@ var search_store = require('./search.store-C6iFzVC6.js');
|
|
|
5
5
|
var i18next = require('./i18next-DkN_8H9H.js');
|
|
6
6
|
var Rectangle = require('./Rectangle-Dki6rXFf.js');
|
|
7
7
|
var customizedSlots = require('./customized-slots-7egKJD19.js');
|
|
8
|
-
var _package = require('./package-
|
|
8
|
+
var _package = require('./package-CI2BBWCd.js');
|
|
9
9
|
var index$1 = require('./index-Dob37WH6.js');
|
|
10
10
|
var constants = require('./constants-D9v4GJNd.js');
|
|
11
11
|
var index$2 = require('./index-CtHOBs61.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-OrE9ITel.js');
|
|
4
|
-
var triggerFilter = require('./triggerFilter-
|
|
4
|
+
var triggerFilter = require('./triggerFilter-DMhMlhX4.js');
|
|
5
5
|
var search_store = require('./search.store-C6iFzVC6.js');
|
|
6
6
|
var store = require('./store-CrCuJC55.js');
|
|
7
7
|
var i18next = require('./i18next-DkN_8H9H.js');
|
|
@@ -92,7 +92,7 @@ const VviinnSelectedFilters = class {
|
|
|
92
92
|
this.textSearchCustomFilter = detail.kind;
|
|
93
93
|
}
|
|
94
94
|
if (detail.action === "select" && ((_a = detail.filter) === null || _a === void 0 ? void 0 : _a.type) === "interval") {
|
|
95
|
-
const intervalLabel = triggerFilter.getIntervalLabel(detail.filter, detail.value.interval, store.globalState.currencySign);
|
|
95
|
+
const intervalLabel = triggerFilter.getIntervalLabel(detail.filter, detail.value.interval, store.globalState.currencySign, true);
|
|
96
96
|
if (intervalLabel) {
|
|
97
97
|
this.intervalCustomFilters = Object.assign(Object.assign({}, this.intervalCustomFilters), { [detail.filter.column]: intervalLabel });
|
|
98
98
|
}
|
|
@@ -225,9 +225,9 @@ const VviinnSelectedFilters = class {
|
|
|
225
225
|
}
|
|
226
226
|
render() {
|
|
227
227
|
var _a, _b;
|
|
228
|
-
return (index.h(index.Host, { key: '
|
|
228
|
+
return (index.h(index.Host, { key: '72e0cb320949bd9395f617f556e27c7bf897972e', class: {
|
|
229
229
|
"show-in-widget": this.showInWidget,
|
|
230
|
-
} }, index.h("div", { key: '
|
|
230
|
+
} }, index.h("div", { key: 'fe7ad0a6a62429d1484556ef67b8f13dd951cb4f', ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), index.h("section", { key: '8c0125c2e9a84c35fdfaa8b8ce37d3c3323598e6', "aria-label": i18next.instance.t("a11y.selectedFilters") }, index.h("ul", { key: 'fbd1a2e9f444016d945fe4697cedd3754a8c6387', class: "selected-filters-wrapper", part: "selected-filters-list" }, RenderCustomButton({
|
|
231
231
|
label: this.textSearchCustomFilter,
|
|
232
232
|
buttonType: "text",
|
|
233
233
|
hidden: !((_a = this.textSearchCustomFilter) === null || _a === void 0 ? void 0 : _a.length),
|
|
@@ -152,7 +152,7 @@ const VviinnVpsButton = class {
|
|
|
152
152
|
}
|
|
153
153
|
render() {
|
|
154
154
|
const { ariaLabel, buttonIcon } = this.getButtonConfig();
|
|
155
|
-
return (index.h(index.Host, { key: '
|
|
155
|
+
return (index.h(index.Host, { key: 'c98da3ce762d3969b61d868c02e8d819062dab2d', role: this.buttonPressed ? undefined : "button", "aria-label": this.buttonPressed ? undefined : ariaLabel }, index.h("vviinn-button", { key: '55cf7ddab1baf3a27d9786e69bb77a5cf1dd1992', addStyle: this.addStyle, part: "vviinn-button", tabindex: this.buttonPressed ? undefined : "0", onClick: this.buttonPressed ? undefined : this.handleActivation, onKeyDown: this.buttonPressed ? undefined : this.handleKeyDown }, index.h("slot", { key: '1c8446a18c223362dd062335a0d94f1fad889d71' }, buttonIcon)), customizedSlots.SlotSkeleton("search"), index.h("vviinn-vps-widget", { key: '60e23aa3366570a378820d236e830f1ee254588f', mode: this.mode, "currency-sign": this.currencySign, token: this.token, locale: this.locale, apiPath: this.apiPath, pricePrefix: this.pricePrefix, campaignId: this.campaignId, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, showingInButton: true, buttonPressed: this.buttonPressed, resetVpsButton: this.resetButton, buttonElementId: this.el.id, active: this.buttonPressed &&
|
|
156
156
|
(this.mode === "modal" || this.mode === "camera"), excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, imageResolutionWidth: this.imageResolutionWidth, exampleImageSource: this.exampleImageSource, textSearchShow: this.textSearchShow, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, replaceSlotsContentInButton: this.replaceSlotsContent.bind(this), oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, favoriteShow: this.favoriteShow, showInWidget: this.showInWidget, parentSlots: this.slots })));
|
|
157
157
|
}
|
|
158
158
|
get el() { return index.getElement(this); }
|
|
@@ -635,7 +635,7 @@ export class VviinnCarousel {
|
|
|
635
635
|
"mutable": true,
|
|
636
636
|
"complexType": {
|
|
637
637
|
"original": "Recommendation[]",
|
|
638
|
-
"resolved": "{ kind?: \"content\" | \"product\"; groupId?: string; productId?: string; title?: string; deeplink?: string; brand?: string; productType?: string; image?: { original?: string; thumbnail?: string; }; price?: { actual?: number; sale?: number; }; basePrice?: { actual?: { price?: number; quantity?: number; measure?: string; }; sale?: { price?: number; quantity?: number; measure?: string; }; }; energyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; minEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; maxEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; energyCertifications?: { certificationClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; classIconUrls?: { left: string; right: string; }; classRange?: { min?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; max?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; }; classLabelUrl?: string; classDataSheetUrl?: string; productType?: string; }[]; custom_label_0?: string; custom_label_1?: string; custom_label_2?: string; custom_label_3?: string; custom_label_4?: string; }[]",
|
|
638
|
+
"resolved": "{ kind?: \"content\" | \"product\"; entityType?: \"list\" | \"content\" | \"product\"; groupId?: string; productId?: string; title?: string; deeplink?: string; brand?: string; productType?: string; image?: { original?: string; thumbnail?: string; }; price?: { actual?: number; sale?: number; }; basePrice?: { actual?: { price?: number; quantity?: number; measure?: string; }; sale?: { price?: number; quantity?: number; measure?: string; }; }; energyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; minEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; maxEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; energyCertifications?: { certificationClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; classIconUrls?: { left: string; right: string; }; classRange?: { min?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; max?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; }; classLabelUrl?: string; classDataSheetUrl?: string; productType?: string; }[]; custom_label_0?: string; custom_label_1?: string; custom_label_2?: string; custom_label_3?: string; custom_label_4?: string; }[]",
|
|
639
639
|
"references": {
|
|
640
640
|
"Recommendation": {
|
|
641
641
|
"location": "import",
|
|
@@ -660,7 +660,7 @@ export class VviinnCarousel {
|
|
|
660
660
|
"mutable": false,
|
|
661
661
|
"complexType": {
|
|
662
662
|
"original": "Recommendation",
|
|
663
|
-
"resolved": "{ kind?: \"content\" | \"product\"; groupId?: string; productId?: string; title?: string; deeplink?: string; brand?: string; productType?: string; image?: { original?: string; thumbnail?: string; }; price?: { actual?: number; sale?: number; }; basePrice?: { actual?: { price?: number; quantity?: number; measure?: string; }; sale?: { price?: number; quantity?: number; measure?: string; }; }; energyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; minEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; maxEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; energyCertifications?: { certificationClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; classIconUrls?: { left: string; right: string; }; classRange?: { min?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; max?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; }; classLabelUrl?: string; classDataSheetUrl?: string; productType?: string; }[]; custom_label_0?: string; custom_label_1?: string; custom_label_2?: string; custom_label_3?: string; custom_label_4?: string; }",
|
|
663
|
+
"resolved": "{ kind?: \"content\" | \"product\"; entityType?: \"list\" | \"content\" | \"product\"; groupId?: string; productId?: string; title?: string; deeplink?: string; brand?: string; productType?: string; image?: { original?: string; thumbnail?: string; }; price?: { actual?: number; sale?: number; }; basePrice?: { actual?: { price?: number; quantity?: number; measure?: string; }; sale?: { price?: number; quantity?: number; measure?: string; }; }; energyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; minEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; maxEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; energyCertifications?: { certificationClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; classIconUrls?: { left: string; right: string; }; classRange?: { min?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; max?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; }; classLabelUrl?: string; classDataSheetUrl?: string; productType?: string; }[]; custom_label_0?: string; custom_label_1?: string; custom_label_2?: string; custom_label_3?: string; custom_label_4?: string; }",
|
|
664
664
|
"references": {
|
|
665
665
|
"Recommendation": {
|
|
666
666
|
"location": "import",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isPriceFilter } from "../../../filters";
|
|
2
|
-
export const getIntervalLabel = (intervalFilter, fullInterval, currencySign) => {
|
|
2
|
+
export const getIntervalLabel = (intervalFilter, fullInterval, currencySign, showColumnLabel = false) => {
|
|
3
3
|
if (!fullInterval)
|
|
4
4
|
return null;
|
|
5
5
|
const { start, end } = fullInterval;
|
|
@@ -11,7 +11,9 @@ export const getIntervalLabel = (intervalFilter, fullInterval, currencySign) =>
|
|
|
11
11
|
}
|
|
12
12
|
else {
|
|
13
13
|
const rangeValue = `${start} – ${end}`;
|
|
14
|
-
return isPrice
|
|
14
|
+
return isPrice
|
|
15
|
+
? rangeValue
|
|
16
|
+
: `${showColumnLabel ? `${intervalFilter.label}: ` : ""}${rangeValue}`;
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
19
|
else {
|
|
@@ -68,7 +68,7 @@ export class VviinnSelectedFilters {
|
|
|
68
68
|
this.textSearchCustomFilter = detail.kind;
|
|
69
69
|
}
|
|
70
70
|
if (detail.action === "select" && ((_a = detail.filter) === null || _a === void 0 ? void 0 : _a.type) === "interval") {
|
|
71
|
-
const intervalLabel = getIntervalLabel(detail.filter, detail.value.interval, globalState.currencySign);
|
|
71
|
+
const intervalLabel = getIntervalLabel(detail.filter, detail.value.interval, globalState.currencySign, true);
|
|
72
72
|
if (intervalLabel) {
|
|
73
73
|
this.intervalCustomFilters = Object.assign(Object.assign({}, this.intervalCustomFilters), { [detail.filter.column]: intervalLabel });
|
|
74
74
|
}
|
|
@@ -201,9 +201,9 @@ export class VviinnSelectedFilters {
|
|
|
201
201
|
}
|
|
202
202
|
render() {
|
|
203
203
|
var _a, _b;
|
|
204
|
-
return (h(Host, { key: '
|
|
204
|
+
return (h(Host, { key: '72e0cb320949bd9395f617f556e27c7bf897972e', class: {
|
|
205
205
|
"show-in-widget": this.showInWidget,
|
|
206
|
-
} }, h("div", { key: '
|
|
206
|
+
} }, h("div", { key: 'fe7ad0a6a62429d1484556ef67b8f13dd951cb4f', ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), h("section", { key: '8c0125c2e9a84c35fdfaa8b8ce37d3c3323598e6', "aria-label": i18next.t("a11y.selectedFilters") }, h("ul", { key: 'fbd1a2e9f444016d945fe4697cedd3754a8c6387', class: "selected-filters-wrapper", part: "selected-filters-list" }, RenderCustomButton({
|
|
207
207
|
label: this.textSearchCustomFilter,
|
|
208
208
|
buttonType: "text",
|
|
209
209
|
hidden: !((_a = this.textSearchCustomFilter) === null || _a === void 0 ? void 0 : _a.length),
|
|
@@ -1565,7 +1565,7 @@ export class VviinnVprWidget {
|
|
|
1565
1565
|
},
|
|
1566
1566
|
"complexType": {
|
|
1567
1567
|
"original": "Recommendation",
|
|
1568
|
-
"resolved": "{ kind?: \"content\" | \"product\"; groupId?: string; productId?: string; title?: string; deeplink?: string; brand?: string; productType?: string; image?: { original?: string; thumbnail?: string; }; price?: { actual?: number; sale?: number; }; basePrice?: { actual?: { price?: number; quantity?: number; measure?: string; }; sale?: { price?: number; quantity?: number; measure?: string; }; }; energyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; minEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; maxEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; energyCertifications?: { certificationClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; classIconUrls?: { left: string; right: string; }; classRange?: { min?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; max?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; }; classLabelUrl?: string; classDataSheetUrl?: string; productType?: string; }[]; custom_label_0?: string; custom_label_1?: string; custom_label_2?: string; custom_label_3?: string; custom_label_4?: string; }",
|
|
1568
|
+
"resolved": "{ kind?: \"content\" | \"product\"; entityType?: \"list\" | \"content\" | \"product\"; groupId?: string; productId?: string; title?: string; deeplink?: string; brand?: string; productType?: string; image?: { original?: string; thumbnail?: string; }; price?: { actual?: number; sale?: number; }; basePrice?: { actual?: { price?: number; quantity?: number; measure?: string; }; sale?: { price?: number; quantity?: number; measure?: string; }; }; energyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; minEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; maxEnergyEfficiencyClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; energyCertifications?: { certificationClass?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; classIconUrls?: { left: string; right: string; }; classRange?: { min?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; max?: \"A+++\" | \"A++\" | \"A+\" | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\"; }; classLabelUrl?: string; classDataSheetUrl?: string; productType?: string; }[]; custom_label_0?: string; custom_label_1?: string; custom_label_2?: string; custom_label_3?: string; custom_label_4?: string; }",
|
|
1569
1569
|
"references": {
|
|
1570
1570
|
"Recommendation": {
|
|
1571
1571
|
"location": "import",
|
|
@@ -173,7 +173,7 @@ export class VviinnVpsButton {
|
|
|
173
173
|
}
|
|
174
174
|
render() {
|
|
175
175
|
const { ariaLabel, buttonIcon } = this.getButtonConfig();
|
|
176
|
-
return (h(Host, { key: '
|
|
176
|
+
return (h(Host, { key: 'c98da3ce762d3969b61d868c02e8d819062dab2d', role: this.buttonPressed ? undefined : "button", "aria-label": this.buttonPressed ? undefined : ariaLabel }, h("vviinn-button", { key: '55cf7ddab1baf3a27d9786e69bb77a5cf1dd1992', addStyle: this.addStyle, part: "vviinn-button", tabindex: this.buttonPressed ? undefined : "0", onClick: this.buttonPressed ? undefined : this.handleActivation, onKeyDown: this.buttonPressed ? undefined : this.handleKeyDown }, h("slot", { key: '1c8446a18c223362dd062335a0d94f1fad889d71' }, buttonIcon)), SlotSkeleton("search"), h("vviinn-vps-widget", { key: '60e23aa3366570a378820d236e830f1ee254588f', mode: this.mode, "currency-sign": this.currencySign, token: this.token, locale: this.locale, apiPath: this.apiPath, pricePrefix: this.pricePrefix, campaignId: this.campaignId, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, showingInButton: true, buttonPressed: this.buttonPressed, resetVpsButton: this.resetButton, buttonElementId: this.el.id, active: this.buttonPressed &&
|
|
177
177
|
(this.mode === "modal" || this.mode === "camera"), excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, imageResolutionWidth: this.imageResolutionWidth, exampleImageSource: this.exampleImageSource, textSearchShow: this.textSearchShow, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, replaceSlotsContentInButton: this.replaceSlotsContent.bind(this), oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, favoriteShow: this.favoriteShow, showInWidget: this.showInWidget, parentSlots: this.slots })));
|
|
178
178
|
}
|
|
179
179
|
static get is() { return "vviinn-vps-button"; }
|
|
@@ -41,7 +41,7 @@ function getColorOptionAriaLabel(label) {
|
|
|
41
41
|
|
|
42
42
|
const isPriceFilter = (column) => column === "price" || column === "minimum_price";
|
|
43
43
|
|
|
44
|
-
const getIntervalLabel = (intervalFilter, fullInterval, currencySign) => {
|
|
44
|
+
const getIntervalLabel = (intervalFilter, fullInterval, currencySign, showColumnLabel = false) => {
|
|
45
45
|
if (!fullInterval)
|
|
46
46
|
return null;
|
|
47
47
|
const { start, end } = fullInterval;
|
|
@@ -53,7 +53,9 @@ const getIntervalLabel = (intervalFilter, fullInterval, currencySign) => {
|
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
55
|
const rangeValue = `${start} – ${end}`;
|
|
56
|
-
return isPrice
|
|
56
|
+
return isPrice
|
|
57
|
+
? rangeValue
|
|
58
|
+
: `${showColumnLabel ? `${intervalFilter.label}: ` : ""}${rangeValue}`;
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
else {
|
|
@@ -7,7 +7,7 @@ import { i as instance } from './i18next-C7V-mvcq.js';
|
|
|
7
7
|
import { a as getDefaultExportFromCjs, u as updateGlobalState, t as trackEvent, g as globalState } from './store-CMhsm-nf.js';
|
|
8
8
|
import { f as fromImage } from './Rectangle-zsZBqb9v.js';
|
|
9
9
|
import { a as addEventListenersWithSignal, f as findSlotElements, g as getSlotNames, s as setElementInteractivity } from './index-B80MfONa.js';
|
|
10
|
-
import { v as version, c as campaignTypeNames } from './package-
|
|
10
|
+
import { v as version, c as campaignTypeNames } from './package-CpyswvPf.js';
|
|
11
11
|
import { r as resources } from './resources-B0QvmME2.js';
|
|
12
12
|
import { a as productCardsGridPart, p as productCardParts, m as modalParts, e as extendedFiltersParts, f as filtersParts, s as searchBarParts, b as searchWidgetFilterParts, d as searchWidgetButtonParts } from './index-DTNFlVla.js';
|
|
13
13
|
import { R as RESULTS_WIDGET_IMAGE_RESOLUTION_WIDTH, b as SCROLL_TO_DISCOVERY_DELAY, S as SEARCH_WIDGET_IMAGE_RESOLUTION_WIDTH } from './constants-0HgCM20e.js';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, F as Fragment, H as Host, g as getElement } from './index-C5qrIvmr.js';
|
|
2
2
|
import { j as has, k as tuple, a as addIfNotEmpty, _ as _functionExports, l as _ArrayExports, u as useSearchStore, n as requireSemigroup, O as OptionExports, E as EitherExports, b as searchState, o as pipe$1, q as chainW, v as makeRequest, w as fromEither, x as getApiPath, y as createInitPostRequest, A as Apply, T as TaskEitherExports } from './search.store-DuGAVKtX.js';
|
|
3
3
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
4
|
-
import { c as campaignTypeNames, f as fromString, a as fold, v as version } from './package-
|
|
4
|
+
import { c as campaignTypeNames, f as fromString, a as fold, v as version } from './package-CpyswvPf.js';
|
|
5
5
|
import { C as CONTENT_GROUP_CSS_CLASS, i as CAROUSEL_IMAGE_WIDTH_CSS_VAR, S as SET_MODE_IMAGE_WIDTH_CSS_VAR, j as CAROUSEL_CONTENT_WIDTH_CSS_VAR, R as RESULTS_CALCULATED_COLUMNS_CSS_VAR, D as DEFAULT_COLUMNS_NUMBER, g as getCustomLabels, k as SCROLL_POSITION_TOLERANCE, P as PlusIcon, v as v4, c as createWidgetEvent, e as createResultEventByType, b as createAddToBasketEvent, d as createAddToWishlistEvent, f as createProductEventByType, l as getRecommendationsBody } from './index-CcBKWb29.js';
|
|
6
6
|
import { P as PRODUCT_CARD_IMAGE_WIDTH, D as DISCOVERY_WIDGET_IMAGE_RESOLUTION_WIDTH } from './constants-0HgCM20e.js';
|
|
7
7
|
import { s as slotChangeListener, S as SlotSkeleton } from './customized-slots-R6SaZo4w.js';
|
|
8
8
|
import { g as energyLabelParts, h as contentCardParts, p as productCardParts, i as priceRangeParts } from './index-DTNFlVla.js';
|
|
9
|
-
import { d as triggerResetFilters, t as triggerFilter, c as announceToScreenReader, a as getIntervalLabel, e as isPriceFilter, i as isSubFilterActive, R as RenderFilterButton } from './triggerFilter-
|
|
9
|
+
import { d as triggerResetFilters, t as triggerFilter, c as announceToScreenReader, a as getIntervalLabel, e as isPriceFilter, i as isSubFilterActive, R as RenderFilterButton } from './triggerFilter-DEQtuJV4.js';
|
|
10
10
|
import { r as resources } from './resources-B0QvmME2.js';
|
|
11
11
|
import { i as isClickedInRectBound } from './Rectangle-zsZBqb9v.js';
|
|
12
12
|
import { g as globalState, t as trackEvent, u as updateGlobalState } from './store-CMhsm-nf.js';
|
|
@@ -3,7 +3,7 @@ import { _ as _functionExports, O as OptionExports, d as detectedObjectEq, a as
|
|
|
3
3
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
4
4
|
import { s as scaleWithSized, c as center } from './Rectangle-zsZBqb9v.js';
|
|
5
5
|
import { s as slotChangeListener } from './customized-slots-R6SaZo4w.js';
|
|
6
|
-
import { c as campaignTypeNames, v as version } from './package-
|
|
6
|
+
import { c as campaignTypeNames, v as version } from './package-CpyswvPf.js';
|
|
7
7
|
import { m as modalParts } from './index-DTNFlVla.js';
|
|
8
8
|
import { a as SIDEBAR_ANIMATION_DURATION, P as PRODUCT_CARD_IMAGE_WIDTH, D as DISCOVERY_WIDGET_IMAGE_RESOLUTION_WIDTH } from './constants-0HgCM20e.js';
|
|
9
9
|
import { a as addEventListenersWithSignal } from './index-B80MfONa.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-C5qrIvmr.js';
|
|
2
|
-
import { g as getRemoveFilterAriaLabel, F as FilterIconClose, t as triggerFilter, a as getIntervalLabel, b as triggerRemoveIntervalFilter, c as announceToScreenReader, i as isSubFilterActive, R as RenderFilterButton } from './triggerFilter-
|
|
2
|
+
import { g as getRemoveFilterAriaLabel, F as FilterIconClose, t as triggerFilter, a as getIntervalLabel, b as triggerRemoveIntervalFilter, c as announceToScreenReader, i as isSubFilterActive, R as RenderFilterButton } from './triggerFilter-DEQtuJV4.js';
|
|
3
3
|
import { u as useSearchStore } from './search.store-DuGAVKtX.js';
|
|
4
4
|
import { g as globalState } from './store-CMhsm-nf.js';
|
|
5
5
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
@@ -90,7 +90,7 @@ const VviinnSelectedFilters = class {
|
|
|
90
90
|
this.textSearchCustomFilter = detail.kind;
|
|
91
91
|
}
|
|
92
92
|
if (detail.action === "select" && ((_a = detail.filter) === null || _a === void 0 ? void 0 : _a.type) === "interval") {
|
|
93
|
-
const intervalLabel = getIntervalLabel(detail.filter, detail.value.interval, globalState.currencySign);
|
|
93
|
+
const intervalLabel = getIntervalLabel(detail.filter, detail.value.interval, globalState.currencySign, true);
|
|
94
94
|
if (intervalLabel) {
|
|
95
95
|
this.intervalCustomFilters = Object.assign(Object.assign({}, this.intervalCustomFilters), { [detail.filter.column]: intervalLabel });
|
|
96
96
|
}
|
|
@@ -223,9 +223,9 @@ const VviinnSelectedFilters = class {
|
|
|
223
223
|
}
|
|
224
224
|
render() {
|
|
225
225
|
var _a, _b;
|
|
226
|
-
return (h(Host, { key: '
|
|
226
|
+
return (h(Host, { key: '72e0cb320949bd9395f617f556e27c7bf897972e', class: {
|
|
227
227
|
"show-in-widget": this.showInWidget,
|
|
228
|
-
} }, h("div", { key: '
|
|
228
|
+
} }, h("div", { key: 'fe7ad0a6a62429d1484556ef67b8f13dd951cb4f', ref: (el) => (this.filterAnnouncementRef = el), "aria-live": "polite", class: "sr-only" }), h("section", { key: '8c0125c2e9a84c35fdfaa8b8ce37d3c3323598e6', "aria-label": instance.t("a11y.selectedFilters") }, h("ul", { key: 'fbd1a2e9f444016d945fe4697cedd3754a8c6387', class: "selected-filters-wrapper", part: "selected-filters-list" }, RenderCustomButton({
|
|
229
229
|
label: this.textSearchCustomFilter,
|
|
230
230
|
buttonType: "text",
|
|
231
231
|
hidden: !((_a = this.textSearchCustomFilter) === null || _a === void 0 ? void 0 : _a.length),
|
|
@@ -150,7 +150,7 @@ const VviinnVpsButton = class {
|
|
|
150
150
|
}
|
|
151
151
|
render() {
|
|
152
152
|
const { ariaLabel, buttonIcon } = this.getButtonConfig();
|
|
153
|
-
return (h(Host, { key: '
|
|
153
|
+
return (h(Host, { key: 'c98da3ce762d3969b61d868c02e8d819062dab2d', role: this.buttonPressed ? undefined : "button", "aria-label": this.buttonPressed ? undefined : ariaLabel }, h("vviinn-button", { key: '55cf7ddab1baf3a27d9786e69bb77a5cf1dd1992', addStyle: this.addStyle, part: "vviinn-button", tabindex: this.buttonPressed ? undefined : "0", onClick: this.buttonPressed ? undefined : this.handleActivation, onKeyDown: this.buttonPressed ? undefined : this.handleKeyDown }, h("slot", { key: '1c8446a18c223362dd062335a0d94f1fad889d71' }, buttonIcon)), SlotSkeleton("search"), h("vviinn-vps-widget", { key: '60e23aa3366570a378820d236e830f1ee254588f', mode: this.mode, "currency-sign": this.currencySign, token: this.token, locale: this.locale, apiPath: this.apiPath, pricePrefix: this.pricePrefix, campaignId: this.campaignId, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, showingInButton: true, buttonPressed: this.buttonPressed, resetVpsButton: this.resetButton, buttonElementId: this.el.id, active: this.buttonPressed &&
|
|
154
154
|
(this.mode === "modal" || this.mode === "camera"), excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, imageResolutionWidth: this.imageResolutionWidth, exampleImageSource: this.exampleImageSource, textSearchShow: this.textSearchShow, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, replaceSlotsContentInButton: this.replaceSlotsContent.bind(this), oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, favoriteShow: this.favoriteShow, showInWidget: this.showInWidget, parentSlots: this.slots })));
|
|
155
155
|
}
|
|
156
156
|
get el() { return getElement(this); }
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { Interval, ResponseIntervalFilterItem } from "../../../interfaces/search";
|
|
2
|
-
export declare const getIntervalLabel: (intervalFilter: ResponseIntervalFilterItem, fullInterval: Interval, currencySign?: string) => string | null;
|
|
2
|
+
export declare const getIntervalLabel: (intervalFilter: ResponseIntervalFilterItem, fullInterval: Interval, currencySign?: string, showColumnLabel?: boolean) => string | null;
|
|
@@ -275,6 +275,7 @@ export interface components {
|
|
|
275
275
|
}[];
|
|
276
276
|
"response-product-item": {
|
|
277
277
|
kind?: components["schemas"]["item-kind"];
|
|
278
|
+
entityType?: components["schemas"]["entity-type"];
|
|
278
279
|
/** @example 55fc5f71d6362321cb93b82b387e2f32 */
|
|
279
280
|
groupId?: string | null;
|
|
280
281
|
/** @example 55fc5f71d6362321cb93b82b387e2f32 */
|
|
@@ -319,10 +320,18 @@ export interface components {
|
|
|
319
320
|
custom_label_4?: string | null;
|
|
320
321
|
};
|
|
321
322
|
/**
|
|
322
|
-
* @
|
|
323
|
-
*
|
|
323
|
+
* @deprecated
|
|
324
|
+
* @description This field is superseded by the entity type and therefore deprecated.
|
|
324
325
|
*/
|
|
325
326
|
"item-kind": "product" | "content";
|
|
327
|
+
/**
|
|
328
|
+
* @description The API usually returns products; it can also return entities representing something else.
|
|
329
|
+
* To enable different handling of these entities, the API uses an `entity-type` to distinguish between them, namely:
|
|
330
|
+
* * A `product` entity represents a product in the catalog.
|
|
331
|
+
* * A `content` entity contains information relevant to a user, e.g., trends, opening hours.
|
|
332
|
+
* * A `list` entity comprises a collection of distinguishable items, e.g., a category page.
|
|
333
|
+
*/
|
|
334
|
+
"entity-type": "product" | "content" | "list";
|
|
326
335
|
/** @example 19.9 */
|
|
327
336
|
price: number | null;
|
|
328
337
|
/**
|