vviinn-widgets 2.108.0 → 2.109.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-bd074b94.js → index-b4650215.js} +1 -1
- package/dist/cjs/{package-5972659f.js → package-c08d906a.js} +1 -1
- package/dist/cjs/search-filters_20.cjs.entry.js +13 -7
- package/dist/cjs/{search.store-4593a19d.js → search.store-87b01958.js} +7 -3
- package/dist/cjs/{triggerFilter-01c9621d.js → triggerFilter-945a23fc.js} +1 -1
- package/dist/cjs/vviinn-button_2.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-carousel_8.cjs.entry.js +4 -4
- package/dist/cjs/vviinn-preloader.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vps-widget.cjs.entry.js +3 -3
- package/dist/collection/components/vviinn-results/stories/ResultsTemplate.js +15 -2
- package/dist/collection/components/vviinn-results/vviinn-results.js +9 -3
- package/dist/collection/store/search.store.js +7 -3
- package/dist/esm/{index-9b5df8ac.js → index-92cfa63b.js} +1 -1
- package/dist/esm/{package-67bea50b.js → package-5b684a22.js} +1 -1
- package/dist/esm/search-filters_20.entry.js +13 -7
- package/dist/esm/{search.store-d8d95ae7.js → search.store-1040347b.js} +7 -3
- package/dist/esm/{triggerFilter-6611482d.js → triggerFilter-20c625ca.js} +1 -1
- package/dist/esm/vviinn-button_2.entry.js +1 -1
- package/dist/esm/vviinn-carousel_8.entry.js +4 -4
- package/dist/esm/vviinn-preloader.entry.js +1 -1
- package/dist/esm/vviinn-vps-button.entry.js +1 -1
- package/dist/esm/vviinn-vps-widget.entry.js +3 -3
- package/dist/types/store/search.store.d.ts +7 -1
- package/{www/build/p-32c0fbb5.js → dist/vviinn-widgets/p-3fae8ce8.js} +1 -1
- package/dist/vviinn-widgets/{p-e0bb9c2f.entry.js → p-5e812d33.entry.js} +2 -2
- package/dist/vviinn-widgets/{p-403c0f22.js → p-6ed2b875.js} +1 -1
- package/dist/vviinn-widgets/{p-add07964.entry.js → p-70824dd2.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-17bb32fd.entry.js → p-767148a6.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-d9533436.js → p-994e06c0.js} +1 -1
- package/dist/vviinn-widgets/{p-0f73cc0c.js → p-c5e51aa7.js} +1 -1
- package/dist/vviinn-widgets/{p-8af6110a.entry.js → p-c6d33493.entry.js} +1 -1
- package/{www/build/p-bef6b16c.entry.js → dist/vviinn-widgets/p-e711ba0d.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-ab152043.entry.js → p-e73b63d9.entry.js} +1 -1
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/{dist/vviinn-widgets/p-32c0fbb5.js → www/build/p-3fae8ce8.js} +1 -1
- package/www/build/{p-e0bb9c2f.entry.js → p-5e812d33.entry.js} +2 -2
- package/www/build/{p-403c0f22.js → p-6ed2b875.js} +1 -1
- package/www/build/{p-add07964.entry.js → p-70824dd2.entry.js} +1 -1
- package/www/build/{p-17bb32fd.entry.js → p-767148a6.entry.js} +1 -1
- package/www/build/{p-d9533436.js → p-994e06c0.js} +1 -1
- package/www/build/{p-0f73cc0c.js → p-c5e51aa7.js} +1 -1
- package/www/build/{p-8af6110a.entry.js → p-c6d33493.entry.js} +1 -1
- package/{dist/vviinn-widgets/p-bef6b16c.entry.js → www/build/p-e711ba0d.entry.js} +1 -1
- package/www/build/{p-ab152043.entry.js → p-e73b63d9.entry.js} +1 -1
- package/www/build/vviinn-widgets.esm.js +1 -1
|
@@ -120,7 +120,7 @@ const slotChangeListener = (component, element) => {
|
|
|
120
120
|
component.connectedCallback.call(component);
|
|
121
121
|
};
|
|
122
122
|
|
|
123
|
-
const version = "2.
|
|
123
|
+
const version = "2.109.0";
|
|
124
124
|
|
|
125
125
|
exports.SlotSkeleton = SlotSkeleton;
|
|
126
126
|
exports.campaignTypeNames = campaignTypeNames;
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4474431a.js');
|
|
6
|
-
const search_store = require('./search.store-
|
|
7
|
-
const index$1 = require('./index-
|
|
8
|
-
const _package = require('./package-
|
|
9
|
-
const triggerFilter = require('./triggerFilter-
|
|
6
|
+
const search_store = require('./search.store-87b01958.js');
|
|
7
|
+
const index$1 = require('./index-b4650215.js');
|
|
8
|
+
const _package = require('./package-c08d906a.js');
|
|
9
|
+
const triggerFilter = require('./triggerFilter-945a23fc.js');
|
|
10
10
|
const SearchModalUploadIcon = require('./SearchModalUploadIcon-b6db8026.js');
|
|
11
11
|
|
|
12
12
|
const ArrowIcon = () => (index.h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -3974,7 +3974,12 @@ const VviinnResults = class {
|
|
|
3974
3974
|
};
|
|
3975
3975
|
this.filtersChangedHandler = ({ detail }) => {
|
|
3976
3976
|
var _a;
|
|
3977
|
-
|
|
3977
|
+
if (this.filterColumn && this.filterValue) {
|
|
3978
|
+
this.getResultsByCategory(detail.filters);
|
|
3979
|
+
}
|
|
3980
|
+
else {
|
|
3981
|
+
this.getResultsByTextQuery((_a = this.textSearchQuery) !== null && _a !== void 0 ? _a : this.innerTextSearchQuery, detail.filters);
|
|
3982
|
+
}
|
|
3978
3983
|
};
|
|
3979
3984
|
this.filtersTriggeredHandler = ({ detail, }) => {
|
|
3980
3985
|
const { action, kind, category } = detail;
|
|
@@ -4065,13 +4070,14 @@ const VviinnResults = class {
|
|
|
4065
4070
|
});
|
|
4066
4071
|
}
|
|
4067
4072
|
}
|
|
4068
|
-
async getResultsByCategory() {
|
|
4073
|
+
async getResultsByCategory(dynamicFilters) {
|
|
4069
4074
|
if (!this.filterColumn || !this.filterValue || this.showInWidget)
|
|
4070
4075
|
return;
|
|
4071
4076
|
search_store.state.apiPath = this.apiPath; //FIXME: #36877
|
|
4072
|
-
search_store._function.pipe(await search_store.makeProductListingPageRequest(this.token, this.filterColumn, this.filterValue, this.resultsCount), search_store.getOrElse(() => null), (response) => {
|
|
4077
|
+
search_store._function.pipe(await search_store.makeProductListingPageRequest(this.token, this.filterColumn, this.filterValue, this.resultsCount, dynamicFilters), search_store.getOrElse(() => null), (response) => {
|
|
4073
4078
|
var _a, _b;
|
|
4074
4079
|
this.recommendations = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.products) !== null && _b !== void 0 ? _b : [];
|
|
4080
|
+
this.vviinnFilters.emit(response === null || response === void 0 ? void 0 : response.interactions.dynamicFilters);
|
|
4075
4081
|
});
|
|
4076
4082
|
}
|
|
4077
4083
|
connectedCallback() {
|
|
@@ -17378,18 +17378,22 @@ const makeSearchQueryRequest = async (token, query, dynamicFilters, resultsCount
|
|
|
17378
17378
|
return pipe(getTokenWithBody(token, body), setBodyAndHeaders, fromEither, chain(textSearchSessionClient))();
|
|
17379
17379
|
};
|
|
17380
17380
|
const makeSearchIdRequest = async (token, searchId) => await pipe(makeAuthorizedRequest(token), fromEither, chainW(linkRequest(createLinkfromHref(searchId))), map((response) => response.value))();
|
|
17381
|
-
const makeProductListingPageRequest = async (token, column, value, resultsCount) => {
|
|
17381
|
+
const makeProductListingPageRequest = async (token, column, value, resultsCount, dynamicFilters) => {
|
|
17382
17382
|
const requestValue = column === "product_type" || column === "google_product_category"
|
|
17383
17383
|
? pipe(value, (string) => string.split(" > ").join(">"), encodeToBase64UTF8, (base64String) => base64String.split("=")[0])
|
|
17384
17384
|
: value;
|
|
17385
|
-
const body = Object.assign(Object.assign({}, (resultsCount ? { resultsCount } : {})), { staticFilters: {
|
|
17385
|
+
const body = Object.assign(Object.assign(Object.assign({}, (resultsCount ? { resultsCount } : {})), { staticFilters: {
|
|
17386
17386
|
included: [
|
|
17387
17387
|
{
|
|
17388
17388
|
column,
|
|
17389
17389
|
values: [requestValue],
|
|
17390
17390
|
},
|
|
17391
17391
|
],
|
|
17392
|
-
} })
|
|
17392
|
+
} }), (dynamicFilters
|
|
17393
|
+
? {
|
|
17394
|
+
dynamicFilters,
|
|
17395
|
+
}
|
|
17396
|
+
: {}));
|
|
17393
17397
|
return pipe(getTokenWithBody(token, body), setBodyAndHeaders, fromEither, chain(productListingPageSessionClient))();
|
|
17394
17398
|
};
|
|
17395
17399
|
onChange("activeIonLink", async (newLink) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const search_store = require('./search.store-
|
|
3
|
+
const search_store = require('./search.store-87b01958.js');
|
|
4
4
|
const index = require('./index-4474431a.js');
|
|
5
5
|
|
|
6
6
|
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" },
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4474431a.js');
|
|
6
|
-
const search_store = require('./search.store-
|
|
6
|
+
const search_store = require('./search.store-87b01958.js');
|
|
7
7
|
|
|
8
8
|
const CrossIcon = () => (index.h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
9
9
|
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: "#161616" })));
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4474431a.js');
|
|
6
|
-
const search_store = require('./search.store-
|
|
7
|
-
const _package = require('./package-
|
|
8
|
-
const triggerFilter = require('./triggerFilter-
|
|
9
|
-
const index$1 = require('./index-
|
|
6
|
+
const search_store = require('./search.store-87b01958.js');
|
|
7
|
+
const _package = require('./package-c08d906a.js');
|
|
8
|
+
const triggerFilter = require('./triggerFilter-945a23fc.js');
|
|
9
|
+
const index$1 = require('./index-b4650215.js');
|
|
10
10
|
|
|
11
11
|
const BasketIcon = () => (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
12
12
|
index.h("g", { id: "shopping-bag" },
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4474431a.js');
|
|
6
|
-
const search_store = require('./search.store-
|
|
6
|
+
const search_store = require('./search.store-87b01958.js');
|
|
7
7
|
|
|
8
8
|
const vviinnPreloaderCss = ":host{--preloader-size:24px;--preloader-width:calc(var(--preloader-size) / 6);transform-origin:center;animation:rotate 3s linear infinite;border:var(--preloader-width) solid currentColor;border-radius:50%;border-top-color:transparent;display:none;outline:0;width:var(--preloader-size);height:var(--preloader-size);box-sizing:border-box}:host(.active){display:flex}@keyframes rotate{from{transform:rotate(-360deg)}to{transform:rotate(360deg)}}";
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4474431a.js');
|
|
6
|
-
const _package = require('./package-
|
|
6
|
+
const _package = require('./package-c08d906a.js');
|
|
7
7
|
const SearchModalUploadIcon = require('./SearchModalUploadIcon-b6db8026.js');
|
|
8
8
|
const constants = require('./constants-7684cbfc.js');
|
|
9
9
|
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4474431a.js');
|
|
6
|
-
const search_store = require('./search.store-
|
|
7
|
-
const index$1 = require('./index-
|
|
8
|
-
const _package = require('./package-
|
|
6
|
+
const search_store = require('./search.store-87b01958.js');
|
|
7
|
+
const index$1 = require('./index-b4650215.js');
|
|
8
|
+
const _package = require('./package-c08d906a.js');
|
|
9
9
|
const constants = require('./constants-7684cbfc.js');
|
|
10
10
|
|
|
11
11
|
const CameraActionIcon = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
|
|
@@ -6,7 +6,18 @@ export const ResultsTemplate = (args) => {
|
|
|
6
6
|
const searchQueryAttribute = textSearchQuery
|
|
7
7
|
? `text-search-query="${textSearchQuery}"`
|
|
8
8
|
: "";
|
|
9
|
-
return
|
|
9
|
+
return `
|
|
10
|
+
<div class="search-page-wrapper">
|
|
11
|
+
<div class="search-page-wrapper-filters">
|
|
12
|
+
<vviinn-extended-filters locale="${args.locale}" mode="preview"></vviinn-extended-filters>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="search-page-wrapper-result">
|
|
15
|
+
<div class="search-page-wrapper-result-filters">
|
|
16
|
+
<vviinn-extended-filters locale="${args.locale}"></vviinn-extended-filters>
|
|
17
|
+
<vviinn-selected-filters></vviinn-selected-filters>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<vviinn-results
|
|
10
21
|
token="${token}"
|
|
11
22
|
api-path="${apiPath}"
|
|
12
23
|
search-id="${searchId}"
|
|
@@ -22,5 +33,7 @@ export const ResultsTemplate = (args) => {
|
|
|
22
33
|
results-count="${resultsCount}"
|
|
23
34
|
add-to-basket-show="${addToBasketShow}"
|
|
24
35
|
show-one-click-discovery="${showOneClickDiscovery}"
|
|
25
|
-
></vviinn-results
|
|
36
|
+
></vviinn-results>
|
|
37
|
+
</div>
|
|
38
|
+
</div>`;
|
|
26
39
|
};
|
|
@@ -81,7 +81,12 @@ export class VviinnResults {
|
|
|
81
81
|
};
|
|
82
82
|
this.filtersChangedHandler = ({ detail }) => {
|
|
83
83
|
var _a;
|
|
84
|
-
|
|
84
|
+
if (this.filterColumn && this.filterValue) {
|
|
85
|
+
this.getResultsByCategory(detail.filters);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.getResultsByTextQuery((_a = this.textSearchQuery) !== null && _a !== void 0 ? _a : this.innerTextSearchQuery, detail.filters);
|
|
89
|
+
}
|
|
85
90
|
};
|
|
86
91
|
this.filtersTriggeredHandler = ({ detail, }) => {
|
|
87
92
|
const { action, kind, category } = detail;
|
|
@@ -172,13 +177,14 @@ export class VviinnResults {
|
|
|
172
177
|
});
|
|
173
178
|
}
|
|
174
179
|
}
|
|
175
|
-
async getResultsByCategory() {
|
|
180
|
+
async getResultsByCategory(dynamicFilters) {
|
|
176
181
|
if (!this.filterColumn || !this.filterValue || this.showInWidget)
|
|
177
182
|
return;
|
|
178
183
|
state.apiPath = this.apiPath; //FIXME: #36877
|
|
179
|
-
pipe(await makeProductListingPageRequest(this.token, this.filterColumn, this.filterValue, this.resultsCount), E.getOrElse(() => null), (response) => {
|
|
184
|
+
pipe(await makeProductListingPageRequest(this.token, this.filterColumn, this.filterValue, this.resultsCount, dynamicFilters), E.getOrElse(() => null), (response) => {
|
|
180
185
|
var _a, _b;
|
|
181
186
|
this.recommendations = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.products) !== null && _b !== void 0 ? _b : [];
|
|
187
|
+
this.vviinnFilters.emit(response === null || response === void 0 ? void 0 : response.interactions.dynamicFilters);
|
|
182
188
|
});
|
|
183
189
|
}
|
|
184
190
|
connectedCallback() {
|
|
@@ -144,18 +144,22 @@ export const makeSearchQueryRequest = async (token, query, dynamicFilters, resul
|
|
|
144
144
|
return pipe(getTokenWithBody(token, body), setBodyAndHeaders, TE.fromEither, TE.chain(textSearchSessionClient))();
|
|
145
145
|
};
|
|
146
146
|
export const makeSearchIdRequest = async (token, searchId) => await pipe(makeAuthorizedRequest(token), TE.fromEither, TE.chainW(linkRequest(createLinkfromHref(searchId))), TE.map((response) => response.value))();
|
|
147
|
-
export const makeProductListingPageRequest = async (token, column, value, resultsCount) => {
|
|
147
|
+
export const makeProductListingPageRequest = async (token, column, value, resultsCount, dynamicFilters) => {
|
|
148
148
|
const requestValue = column === "product_type" || column === "google_product_category"
|
|
149
149
|
? pipe(value, (string) => string.split(" > ").join(">"), encodeToBase64UTF8, (base64String) => base64String.split("=")[0])
|
|
150
150
|
: value;
|
|
151
|
-
const body = Object.assign(Object.assign({}, (resultsCount ? { resultsCount } : {})), { staticFilters: {
|
|
151
|
+
const body = Object.assign(Object.assign(Object.assign({}, (resultsCount ? { resultsCount } : {})), { staticFilters: {
|
|
152
152
|
included: [
|
|
153
153
|
{
|
|
154
154
|
column,
|
|
155
155
|
values: [requestValue],
|
|
156
156
|
},
|
|
157
157
|
],
|
|
158
|
-
} })
|
|
158
|
+
} }), (dynamicFilters
|
|
159
|
+
? {
|
|
160
|
+
dynamicFilters,
|
|
161
|
+
}
|
|
162
|
+
: {}));
|
|
159
163
|
return pipe(getTokenWithBody(token, body), setBodyAndHeaders, TE.fromEither, TE.chain(productListingPageSessionClient))();
|
|
160
164
|
};
|
|
161
165
|
onChange("activeIonLink", async (newLink) => {
|
|
@@ -118,6 +118,6 @@ const slotChangeListener = (component, element) => {
|
|
|
118
118
|
component.connectedCallback.call(component);
|
|
119
119
|
};
|
|
120
120
|
|
|
121
|
-
const version = "2.
|
|
121
|
+
const version = "2.109.0";
|
|
122
122
|
|
|
123
123
|
export { SlotSkeleton as S, fold as a, campaignTypeNames as c, fromString as f, slotChangeListener as s, version as v };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-abf408d8.js';
|
|
2
|
-
import { s as searchState, _ as _function, O as Option, l as fromAlt, n as foldValueObject, o as scaleWithSized, q as center, r as makeRectangularSearchRequest, u as detectedObjectEq, v as toFile, w as processSelectedFile, E as Either, x as match, j as createCommonjsModule, e as commonjsGlobal, y as sequenceToOption, z as fromImage, B as dimensionsFromImage, C as scaleByLargestSide, d as state, D as makeSearchIdRequest, F as getOrElse, G as makeTextSearchRequest, H as makeSearchQueryRequest, I as makeProductListingPageRequest, N as NonEmptyArray } from './search.store-
|
|
3
|
-
import { i as instance, l as createFilterEvent, r as resources, c as createTrackingApi, v as v4, n as createResultVpsEventByType, o as createProductVpsEventByType } from './index-
|
|
4
|
-
import { s as slotChangeListener, c as campaignTypeNames, v as version } from './package-
|
|
5
|
-
import { b as PlusIcon, c as calculatePriceLabel, t as triggerFilter, s as showActiveOnSubButton, R as RenderButton } from './triggerFilter-
|
|
2
|
+
import { s as searchState, _ as _function, O as Option, l as fromAlt, n as foldValueObject, o as scaleWithSized, q as center, r as makeRectangularSearchRequest, u as detectedObjectEq, v as toFile, w as processSelectedFile, E as Either, x as match, j as createCommonjsModule, e as commonjsGlobal, y as sequenceToOption, z as fromImage, B as dimensionsFromImage, C as scaleByLargestSide, d as state, D as makeSearchIdRequest, F as getOrElse, G as makeTextSearchRequest, H as makeSearchQueryRequest, I as makeProductListingPageRequest, N as NonEmptyArray } from './search.store-1040347b.js';
|
|
3
|
+
import { i as instance, l as createFilterEvent, r as resources, c as createTrackingApi, v as v4, n as createResultVpsEventByType, o as createProductVpsEventByType } from './index-92cfa63b.js';
|
|
4
|
+
import { s as slotChangeListener, c as campaignTypeNames, v as version } from './package-5b684a22.js';
|
|
5
|
+
import { b as PlusIcon, c as calculatePriceLabel, t as triggerFilter, s as showActiveOnSubButton, R as RenderButton } from './triggerFilter-20c625ca.js';
|
|
6
6
|
import { S as SearchModalUploadIcon } from './SearchModalUploadIcon-ef6e9c6c.js';
|
|
7
7
|
|
|
8
8
|
const ArrowIcon = () => (h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -3970,7 +3970,12 @@ const VviinnResults = class {
|
|
|
3970
3970
|
};
|
|
3971
3971
|
this.filtersChangedHandler = ({ detail }) => {
|
|
3972
3972
|
var _a;
|
|
3973
|
-
|
|
3973
|
+
if (this.filterColumn && this.filterValue) {
|
|
3974
|
+
this.getResultsByCategory(detail.filters);
|
|
3975
|
+
}
|
|
3976
|
+
else {
|
|
3977
|
+
this.getResultsByTextQuery((_a = this.textSearchQuery) !== null && _a !== void 0 ? _a : this.innerTextSearchQuery, detail.filters);
|
|
3978
|
+
}
|
|
3974
3979
|
};
|
|
3975
3980
|
this.filtersTriggeredHandler = ({ detail, }) => {
|
|
3976
3981
|
const { action, kind, category } = detail;
|
|
@@ -4061,13 +4066,14 @@ const VviinnResults = class {
|
|
|
4061
4066
|
});
|
|
4062
4067
|
}
|
|
4063
4068
|
}
|
|
4064
|
-
async getResultsByCategory() {
|
|
4069
|
+
async getResultsByCategory(dynamicFilters) {
|
|
4065
4070
|
if (!this.filterColumn || !this.filterValue || this.showInWidget)
|
|
4066
4071
|
return;
|
|
4067
4072
|
state.apiPath = this.apiPath; //FIXME: #36877
|
|
4068
|
-
_function.pipe(await makeProductListingPageRequest(this.token, this.filterColumn, this.filterValue, this.resultsCount), getOrElse(() => null), (response) => {
|
|
4073
|
+
_function.pipe(await makeProductListingPageRequest(this.token, this.filterColumn, this.filterValue, this.resultsCount, dynamicFilters), getOrElse(() => null), (response) => {
|
|
4069
4074
|
var _a, _b;
|
|
4070
4075
|
this.recommendations = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.products) !== null && _b !== void 0 ? _b : [];
|
|
4076
|
+
this.vviinnFilters.emit(response === null || response === void 0 ? void 0 : response.interactions.dynamicFilters);
|
|
4071
4077
|
});
|
|
4072
4078
|
}
|
|
4073
4079
|
connectedCallback() {
|
|
@@ -17376,18 +17376,22 @@ const makeSearchQueryRequest = async (token, query, dynamicFilters, resultsCount
|
|
|
17376
17376
|
return pipe(getTokenWithBody(token, body), setBodyAndHeaders, fromEither, chain(textSearchSessionClient))();
|
|
17377
17377
|
};
|
|
17378
17378
|
const makeSearchIdRequest = async (token, searchId) => await pipe(makeAuthorizedRequest(token), fromEither, chainW(linkRequest(createLinkfromHref(searchId))), map((response) => response.value))();
|
|
17379
|
-
const makeProductListingPageRequest = async (token, column, value, resultsCount) => {
|
|
17379
|
+
const makeProductListingPageRequest = async (token, column, value, resultsCount, dynamicFilters) => {
|
|
17380
17380
|
const requestValue = column === "product_type" || column === "google_product_category"
|
|
17381
17381
|
? pipe(value, (string) => string.split(" > ").join(">"), encodeToBase64UTF8, (base64String) => base64String.split("=")[0])
|
|
17382
17382
|
: value;
|
|
17383
|
-
const body = Object.assign(Object.assign({}, (resultsCount ? { resultsCount } : {})), { staticFilters: {
|
|
17383
|
+
const body = Object.assign(Object.assign(Object.assign({}, (resultsCount ? { resultsCount } : {})), { staticFilters: {
|
|
17384
17384
|
included: [
|
|
17385
17385
|
{
|
|
17386
17386
|
column,
|
|
17387
17387
|
values: [requestValue],
|
|
17388
17388
|
},
|
|
17389
17389
|
],
|
|
17390
|
-
} })
|
|
17390
|
+
} }), (dynamicFilters
|
|
17391
|
+
? {
|
|
17392
|
+
dynamicFilters,
|
|
17393
|
+
}
|
|
17394
|
+
: {}));
|
|
17391
17395
|
return pipe(getTokenWithBody(token, body), setBodyAndHeaders, fromEither, chain(productListingPageSessionClient))();
|
|
17392
17396
|
};
|
|
17393
17397
|
onChange("activeIonLink", async (newLink) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as _function, E as Either } from './search.store-
|
|
1
|
+
import { _ as _function, E as Either } from './search.store-1040347b.js';
|
|
2
2
|
import { h, F as Fragment } from './index-abf408d8.js';
|
|
3
3
|
|
|
4
4
|
const PlusIcon = () => (h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "plus-icon" },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, r as registerInstance, H as Host, c as createEvent, g as getElement } from './index-abf408d8.js';
|
|
2
|
-
import { s as searchState, i as isClickedInRectBound } from './search.store-
|
|
2
|
+
import { s as searchState, i as isClickedInRectBound } from './search.store-1040347b.js';
|
|
3
3
|
|
|
4
4
|
const CrossIcon = () => (h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
5
5
|
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: "#161616" })));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement, F as Fragment } from './index-abf408d8.js';
|
|
2
|
-
import { h as has, t as tuple, s as searchState, _ as _function, a as _Array, i as isClickedInRectBound, O as Option, S as Semigroup, p as pipe, c as chainW, m as makeRequest, f as fromEither, g as getApiPath, b as createInitPostRequest, A as Apply, d as state, T as TaskEither, E as Either } from './search.store-
|
|
3
|
-
import { c as campaignTypeNames, s as slotChangeListener, S as SlotSkeleton, f as fromString, a as fold, v as version } from './package-
|
|
4
|
-
import { c as calculatePriceLabel, t as triggerFilter, e as emitRequestFiltersMore, C as CheckFilterIcon, S as SquareFilterIcon, s as showActiveOnSubButton, R as RenderButton, a as ResponsiveImage, I as Image, L as Linked, P as Price, p as parseBasePrice } from './triggerFilter-
|
|
5
|
-
import { i as instance, r as resources, v as v4, c as createTrackingApi, a as createAddToBasketVpcEvent, b as createAddToBasketVprEvent, d as createWidgetVpcEvent, e as createWidgetVprEvent, f as createResultVpcEventByType, g as createResultVprEventByType, h as createProductVpcEventByType, j as createProductVprEventByType } from './index-
|
|
2
|
+
import { h as has, t as tuple, s as searchState, _ as _function, a as _Array, i as isClickedInRectBound, O as Option, S as Semigroup, p as pipe, c as chainW, m as makeRequest, f as fromEither, g as getApiPath, b as createInitPostRequest, A as Apply, d as state, T as TaskEither, E as Either } from './search.store-1040347b.js';
|
|
3
|
+
import { c as campaignTypeNames, s as slotChangeListener, S as SlotSkeleton, f as fromString, a as fold, v as version } from './package-5b684a22.js';
|
|
4
|
+
import { c as calculatePriceLabel, t as triggerFilter, e as emitRequestFiltersMore, C as CheckFilterIcon, S as SquareFilterIcon, s as showActiveOnSubButton, R as RenderButton, a as ResponsiveImage, I as Image, L as Linked, P as Price, p as parseBasePrice } from './triggerFilter-20c625ca.js';
|
|
5
|
+
import { i as instance, r as resources, v as v4, c as createTrackingApi, a as createAddToBasketVpcEvent, b as createAddToBasketVprEvent, d as createWidgetVpcEvent, e as createWidgetVprEvent, f as createResultVpcEventByType, g as createResultVprEventByType, h as createProductVpcEventByType, j as createProductVprEventByType } from './index-92cfa63b.js';
|
|
6
6
|
|
|
7
7
|
const BasketIcon = () => (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
8
8
|
h("g", { id: "shopping-bag" },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-abf408d8.js';
|
|
2
|
-
import { s as searchState } from './search.store-
|
|
2
|
+
import { s as searchState } from './search.store-1040347b.js';
|
|
3
3
|
|
|
4
4
|
const vviinnPreloaderCss = ":host{--preloader-size:24px;--preloader-width:calc(var(--preloader-size) / 6);transform-origin:center;animation:rotate 3s linear infinite;border:var(--preloader-width) solid currentColor;border-radius:50%;border-top-color:transparent;display:none;outline:0;width:var(--preloader-size);height:var(--preloader-size);box-sizing:border-box}:host(.active){display:flex}@keyframes rotate{from{transform:rotate(-360deg)}to{transform:rotate(360deg)}}";
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-abf408d8.js';
|
|
2
|
-
import { c as campaignTypeNames, v as version, S as SlotSkeleton } from './package-
|
|
2
|
+
import { c as campaignTypeNames, v as version, S as SlotSkeleton } from './package-5b684a22.js';
|
|
3
3
|
import { S as SearchModalUploadIcon } from './SearchModalUploadIcon-ef6e9c6c.js';
|
|
4
4
|
import { D as DEFAULT_EXAMPLE_IMAGE } from './constants-8bf233a9.js';
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, F as Fragment, H as Host, g as getElement } from './index-abf408d8.js';
|
|
2
|
-
import { s as searchState, d as state, k as parseExcludedToParams, O as Option } from './search.store-
|
|
3
|
-
import { i as instance, r as resources, k as createSearchEvent, l as createFilterEvent, v as v4, c as createTrackingApi, m as createWidgetVpsEvent } from './index-
|
|
4
|
-
import { c as campaignTypeNames, v as version, s as slotChangeListener, S as SlotSkeleton } from './package-
|
|
2
|
+
import { s as searchState, d as state, k as parseExcludedToParams, O as Option } from './search.store-1040347b.js';
|
|
3
|
+
import { i as instance, r as resources, k as createSearchEvent, l as createFilterEvent, v as v4, c as createTrackingApi, m as createWidgetVpsEvent } from './index-92cfa63b.js';
|
|
4
|
+
import { c as campaignTypeNames, v as version, s as slotChangeListener, S as SlotSkeleton } from './package-5b684a22.js';
|
|
5
5
|
import { D as DEFAULT_EXAMPLE_IMAGE } from './constants-8bf233a9.js';
|
|
6
6
|
|
|
7
7
|
const CameraActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
|
|
@@ -306,7 +306,13 @@ export declare const makeSearchQueryRequest: (token: string, query: string, dyna
|
|
|
306
306
|
};
|
|
307
307
|
}>>;
|
|
308
308
|
export declare const makeSearchIdRequest: (token: string, searchId: string) => Promise<E.Either<BasicError<Response> | BasicError<string>, SearchIdResponse>>;
|
|
309
|
-
export declare const makeProductListingPageRequest: (token: string, column: string, value: string, resultsCount?: number
|
|
309
|
+
export declare const makeProductListingPageRequest: (token: string, column: string, value: string, resultsCount?: number, dynamicFilters?: {
|
|
310
|
+
column: string;
|
|
311
|
+
values: string[] | {
|
|
312
|
+
start?: number;
|
|
313
|
+
end?: number;
|
|
314
|
+
}[];
|
|
315
|
+
}[]) => Promise<E.Either<BasicError<string | Response>, {
|
|
310
316
|
data?: {
|
|
311
317
|
products: {
|
|
312
318
|
groupId?: string;
|