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.
Files changed (47) hide show
  1. package/dist/cjs/{index-bd074b94.js → index-b4650215.js} +1 -1
  2. package/dist/cjs/{package-5972659f.js → package-c08d906a.js} +1 -1
  3. package/dist/cjs/search-filters_20.cjs.entry.js +13 -7
  4. package/dist/cjs/{search.store-4593a19d.js → search.store-87b01958.js} +7 -3
  5. package/dist/cjs/{triggerFilter-01c9621d.js → triggerFilter-945a23fc.js} +1 -1
  6. package/dist/cjs/vviinn-button_2.cjs.entry.js +1 -1
  7. package/dist/cjs/vviinn-carousel_8.cjs.entry.js +4 -4
  8. package/dist/cjs/vviinn-preloader.cjs.entry.js +1 -1
  9. package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
  10. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +3 -3
  11. package/dist/collection/components/vviinn-results/stories/ResultsTemplate.js +15 -2
  12. package/dist/collection/components/vviinn-results/vviinn-results.js +9 -3
  13. package/dist/collection/store/search.store.js +7 -3
  14. package/dist/esm/{index-9b5df8ac.js → index-92cfa63b.js} +1 -1
  15. package/dist/esm/{package-67bea50b.js → package-5b684a22.js} +1 -1
  16. package/dist/esm/search-filters_20.entry.js +13 -7
  17. package/dist/esm/{search.store-d8d95ae7.js → search.store-1040347b.js} +7 -3
  18. package/dist/esm/{triggerFilter-6611482d.js → triggerFilter-20c625ca.js} +1 -1
  19. package/dist/esm/vviinn-button_2.entry.js +1 -1
  20. package/dist/esm/vviinn-carousel_8.entry.js +4 -4
  21. package/dist/esm/vviinn-preloader.entry.js +1 -1
  22. package/dist/esm/vviinn-vps-button.entry.js +1 -1
  23. package/dist/esm/vviinn-vps-widget.entry.js +3 -3
  24. package/dist/types/store/search.store.d.ts +7 -1
  25. package/{www/build/p-32c0fbb5.js → dist/vviinn-widgets/p-3fae8ce8.js} +1 -1
  26. package/dist/vviinn-widgets/{p-e0bb9c2f.entry.js → p-5e812d33.entry.js} +2 -2
  27. package/dist/vviinn-widgets/{p-403c0f22.js → p-6ed2b875.js} +1 -1
  28. package/dist/vviinn-widgets/{p-add07964.entry.js → p-70824dd2.entry.js} +1 -1
  29. package/dist/vviinn-widgets/{p-17bb32fd.entry.js → p-767148a6.entry.js} +1 -1
  30. package/dist/vviinn-widgets/{p-d9533436.js → p-994e06c0.js} +1 -1
  31. package/dist/vviinn-widgets/{p-0f73cc0c.js → p-c5e51aa7.js} +1 -1
  32. package/dist/vviinn-widgets/{p-8af6110a.entry.js → p-c6d33493.entry.js} +1 -1
  33. package/{www/build/p-bef6b16c.entry.js → dist/vviinn-widgets/p-e711ba0d.entry.js} +1 -1
  34. package/dist/vviinn-widgets/{p-ab152043.entry.js → p-e73b63d9.entry.js} +1 -1
  35. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  36. package/package.json +1 -1
  37. package/{dist/vviinn-widgets/p-32c0fbb5.js → www/build/p-3fae8ce8.js} +1 -1
  38. package/www/build/{p-e0bb9c2f.entry.js → p-5e812d33.entry.js} +2 -2
  39. package/www/build/{p-403c0f22.js → p-6ed2b875.js} +1 -1
  40. package/www/build/{p-add07964.entry.js → p-70824dd2.entry.js} +1 -1
  41. package/www/build/{p-17bb32fd.entry.js → p-767148a6.entry.js} +1 -1
  42. package/www/build/{p-d9533436.js → p-994e06c0.js} +1 -1
  43. package/www/build/{p-0f73cc0c.js → p-c5e51aa7.js} +1 -1
  44. package/www/build/{p-8af6110a.entry.js → p-c6d33493.entry.js} +1 -1
  45. package/{dist/vviinn-widgets/p-bef6b16c.entry.js → www/build/p-e711ba0d.entry.js} +1 -1
  46. package/www/build/{p-ab152043.entry.js → p-e73b63d9.entry.js} +1 -1
  47. package/www/build/vviinn-widgets.esm.js +1 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const search_store = require('./search.store-4593a19d.js');
3
+ const search_store = require('./search.store-87b01958.js');
4
4
 
5
5
  const consoleLogger = {
6
6
  type: 'logger',
@@ -120,7 +120,7 @@ const slotChangeListener = (component, element) => {
120
120
  component.connectedCallback.call(component);
121
121
  };
122
122
 
123
- const version = "2.108.0";
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-4593a19d.js');
7
- const index$1 = require('./index-bd074b94.js');
8
- const _package = require('./package-5972659f.js');
9
- const triggerFilter = require('./triggerFilter-01c9621d.js');
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
- this.getResultsByTextQuery((_a = this.textSearchQuery) !== null && _a !== void 0 ? _a : this.innerTextSearchQuery, detail.filters);
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-4593a19d.js');
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-4593a19d.js');
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-4593a19d.js');
7
- const _package = require('./package-5972659f.js');
8
- const triggerFilter = require('./triggerFilter-01c9621d.js');
9
- const index$1 = require('./index-bd074b94.js');
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-4593a19d.js');
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-5972659f.js');
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-4593a19d.js');
7
- const index$1 = require('./index-bd074b94.js');
8
- const _package = require('./package-5972659f.js');
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 `<vviinn-results
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
- this.getResultsByTextQuery((_a = this.textSearchQuery) !== null && _a !== void 0 ? _a : this.innerTextSearchQuery, detail.filters);
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) => {
@@ -1,4 +1,4 @@
1
- import { e as commonjsGlobal, j as createCommonjsModule } from './search.store-d8d95ae7.js';
1
+ import { e as commonjsGlobal, j as createCommonjsModule } from './search.store-1040347b.js';
2
2
 
3
3
  const consoleLogger = {
4
4
  type: 'logger',
@@ -118,6 +118,6 @@ const slotChangeListener = (component, element) => {
118
118
  component.connectedCallback.call(component);
119
119
  };
120
120
 
121
- const version = "2.108.0";
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-d8d95ae7.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-9b5df8ac.js';
4
- import { s as slotChangeListener, c as campaignTypeNames, v as version } from './package-67bea50b.js';
5
- import { b as PlusIcon, c as calculatePriceLabel, t as triggerFilter, s as showActiveOnSubButton, R as RenderButton } from './triggerFilter-6611482d.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-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
- this.getResultsByTextQuery((_a = this.textSearchQuery) !== null && _a !== void 0 ? _a : this.innerTextSearchQuery, detail.filters);
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-d8d95ae7.js';
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-d8d95ae7.js';
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-d8d95ae7.js';
3
- import { c as campaignTypeNames, s as slotChangeListener, S as SlotSkeleton, f as fromString, a as fold, v as version } from './package-67bea50b.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-6611482d.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-9b5df8ac.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-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-d8d95ae7.js';
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-67bea50b.js';
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-d8d95ae7.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-9b5df8ac.js';
4
- import { c as campaignTypeNames, v as version, s as slotChangeListener, S as SlotSkeleton } from './package-67bea50b.js';
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) => Promise<E.Either<BasicError<string | Response>, {
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;