@faststore/core 2.2.0-alpha.1 → 2.2.0-alpha.12

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 (188) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +74 -75
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +11 -8
  14. package/.next/required-server-files.json +1 -1
  15. package/.next/routes-manifest.json +1 -1
  16. package/.next/server/chunks/{647.js → 117.js} +32 -35
  17. package/.next/server/chunks/183.js +1 -0
  18. package/.next/server/chunks/289.js +25 -27
  19. package/.next/server/chunks/312.js +53 -72
  20. package/.next/server/chunks/350.js +8 -8
  21. package/.next/server/chunks/{483.js → 37.js} +121 -162
  22. package/.next/server/chunks/386.js +200 -0
  23. package/.next/server/chunks/{753.js → 387.js} +8 -12
  24. package/.next/server/chunks/574.js +42 -23
  25. package/.next/server/chunks/576.js +1 -0
  26. package/.next/server/chunks/{530.js → 585.js} +65 -51
  27. package/.next/server/chunks/{186.js → 692.js} +6 -8
  28. package/.next/server/chunks/{112.js → 732.js} +282 -457
  29. package/.next/server/chunks/74.js +247 -345
  30. package/.next/server/chunks/825.js +38 -3
  31. package/.next/server/chunks/{71.js → 897.js} +174 -181
  32. package/.next/server/chunks/98.js +42 -23
  33. package/.next/server/middleware-build-manifest.js +1 -1
  34. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  35. package/.next/server/pages/404.js +13 -13
  36. package/.next/server/pages/404.js.nft.json +1 -1
  37. package/.next/server/pages/500.js +14 -14
  38. package/.next/server/pages/500.js.nft.json +1 -1
  39. package/.next/server/pages/[...slug].js +141 -184
  40. package/.next/server/pages/[...slug].js.nft.json +1 -1
  41. package/.next/server/pages/[slug]/p.js +242 -219
  42. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  43. package/.next/server/pages/_app.js +3 -4
  44. package/.next/server/pages/_app.js.nft.json +1 -1
  45. package/.next/server/pages/_document.js +17 -33
  46. package/.next/server/pages/_document.js.nft.json +1 -1
  47. package/.next/server/pages/account.js +12 -12
  48. package/.next/server/pages/account.js.nft.json +1 -1
  49. package/.next/server/pages/api/graphql.js +15 -8
  50. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  51. package/.next/server/pages/api/preview.js +2 -20
  52. package/.next/server/pages/checkout.js +12 -12
  53. package/.next/server/pages/checkout.js.nft.json +1 -1
  54. package/.next/server/pages/en-US/404.html +2 -2
  55. package/.next/server/pages/en-US/500.html +2 -2
  56. package/.next/server/pages/en-US/account.html +2 -2
  57. package/.next/server/pages/en-US/checkout.html +2 -2
  58. package/.next/server/pages/en-US/login.html +2 -2
  59. package/.next/server/pages/en-US/s.html +2 -2
  60. package/.next/server/pages/en-US.html +11 -2
  61. package/.next/server/pages/index.js +41 -48
  62. package/.next/server/pages/index.js.nft.json +1 -1
  63. package/.next/server/pages/login.js +15 -15
  64. package/.next/server/pages/login.js.nft.json +1 -1
  65. package/.next/server/pages/s.js +52 -52
  66. package/.next/server/pages/s.js.nft.json +1 -1
  67. package/.next/server/pages-manifest.json +2 -2
  68. package/.next/static/6R1hrzilfMwT81RW6cNqt/_buildManifest.js +1 -0
  69. package/.next/static/chunks/251.ffc4f3998ecb915a.js +1 -0
  70. package/.next/static/chunks/383-6217b37bd38ffd07.js +1 -0
  71. package/.next/static/chunks/386.d01e0db26c523f0f.js +1 -0
  72. package/.next/static/chunks/{574.d13dd0afe15cd635.js → 574.70612be06fd1365f.js} +1 -1
  73. package/.next/static/chunks/585.3350efefe61c9461.js +1 -0
  74. package/.next/static/chunks/635-666ee2cad2925bb7.js +1 -0
  75. package/.next/static/chunks/721-f1665b3f1d98b7a9.js +1 -0
  76. package/.next/static/chunks/722-d0cc87aacd616b5d.js +1 -0
  77. package/.next/static/chunks/783-ded9d8cda0d5c8d9.js +1 -0
  78. package/.next/static/chunks/{709.daf1eddebf1e7952.js → 800.851af48fe2ab4a4c.js} +1 -1
  79. package/.next/static/chunks/98.40c7e17d9de4eb8f.js +1 -0
  80. package/.next/static/chunks/988.afda042dd9ba11d1.js +1 -0
  81. package/.next/static/chunks/main-e4e873ee741162eb.js +1 -0
  82. package/.next/static/chunks/pages/{404-af78f7cd1d3c1f60.js → 404-6c674028b2f80cbb.js} +1 -1
  83. package/.next/static/chunks/pages/{500-f6346ca5f9dc4fef.js → 500-ff55de77265a7e43.js} +1 -1
  84. package/.next/static/chunks/pages/[...slug]-7f8dc13cc9542463.js +1 -0
  85. package/.next/static/chunks/pages/[slug]/p-2fb3fd9027f2923b.js +1 -0
  86. package/.next/static/chunks/pages/{_app-6d0e6ab9a4dd8106.js → _app-7db7de3d205714be.js} +1 -1
  87. package/.next/static/chunks/pages/{account-05bd79fb78365e88.js → account-b06035cba2c99604.js} +1 -1
  88. package/.next/static/chunks/pages/{checkout-c973786e68f25a39.js → checkout-f0c3e8d691cb8a54.js} +1 -1
  89. package/.next/static/chunks/pages/index-a141c747fcc197a1.js +1 -0
  90. package/.next/static/chunks/pages/{login-8deb9243376b6aa1.js → login-4e0e6cab7a07f1f3.js} +1 -1
  91. package/.next/static/chunks/pages/s-823f8e1cabbf63b3.js +1 -0
  92. package/.next/static/chunks/webpack-f3d0973d5a781e73.js +1 -0
  93. package/.next/static/css/6a7fdc5a21fbead5.css +1 -0
  94. package/.next/static/css/723835bce380750d.css +1 -0
  95. package/.next/static/css/8f93a4630936c20b.css +1 -0
  96. package/.next/static/css/9f79fa103f49bca1.css +1 -0
  97. package/.next/static/css/fd27ecc37832aa54.css +1 -0
  98. package/.next/trace +77 -80
  99. package/.turbo/turbo-build.log +24 -21
  100. package/.turbo/turbo-lint.log +3 -0
  101. package/.turbo/turbo-test.log +10 -10
  102. package/@generated/graphql/index.ts +38 -14
  103. package/@generated/graphql/persisted.json +6 -6
  104. package/README.md +3 -3
  105. package/cms/faststore/sections.json +24 -0
  106. package/cypress/global.js +8 -0
  107. package/cypress/integration/a11y.test.js +7 -24
  108. package/cypress/integration/analytics.test.js +78 -87
  109. package/cypress/integration/cart.test.js +4 -4
  110. package/cypress/integration/plp.test.js +6 -6
  111. package/cypress/integration/search.test.js +1 -1
  112. package/cypress/integration/seo.test.js +14 -14
  113. package/cypress.config.ts +19 -0
  114. package/faststore.config.js +1 -0
  115. package/index.ts +4 -0
  116. package/next.config.js +4 -0
  117. package/package.json +22 -18
  118. package/src/components/cart/CartSidebar/CartSidebar.tsx +41 -27
  119. package/src/components/product/NotAvailableButton/NotAvailableButton.tsx +13 -0
  120. package/src/components/product/NotAvailableButton/index.ts +1 -0
  121. package/src/components/product/ProductGrid/ProductGrid.tsx +2 -2
  122. package/src/components/search/Filter/Filter.tsx +1 -1
  123. package/src/components/search/Filter/FilterDesktop.tsx +1 -1
  124. package/src/components/search/Filter/FilterSlider.tsx +1 -1
  125. package/src/components/search/SearchInput/SearchInput.tsx +12 -1
  126. package/src/components/search/SearchTop/SearchTop.tsx +7 -1
  127. package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +0 -1
  128. package/src/components/sections/Newsletter/Overrides.tsx +4 -0
  129. package/src/components/sections/ProductDetails/Overrides.tsx +8 -4
  130. package/src/components/sections/ProductDetails/ProductDetails.tsx +26 -15
  131. package/src/components/sections/ProductTiles/ProductTiles.tsx +3 -2
  132. package/src/components/ui/ImageGallery/ImageGallery.tsx +13 -6
  133. package/src/components/ui/Newsletter/Newsletter.tsx +6 -44
  134. package/src/components/ui/Newsletter/NewsletterAddendum.tsx +86 -0
  135. package/src/components/ui/ProductDescription/ProductDescription.tsx +6 -1
  136. package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +97 -58
  137. package/src/components/ui/ProductGallery/ProductGallery.tsx +2 -2
  138. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +12 -34
  139. package/src/customizations/fragments/{ClientProducts.ts → ClientManyProducts.ts} +1 -1
  140. package/src/customizations/fragments/ClientSearchSuggestions.ts +13 -0
  141. package/src/customizations/fragments/ClientShippingSimulation.ts +11 -0
  142. package/src/customizations/fragments/ClientTopSearchSuggestions.ts +13 -0
  143. package/src/customizations/fragments/{ServerProductPage.ts → ServerProduct.ts} +1 -1
  144. package/src/experimental/index.ts +36 -0
  145. package/src/pages/[...slug].tsx +5 -2
  146. package/src/pages/[slug]/p.tsx +7 -7
  147. package/src/sdk/analytics/index.tsx +1 -1
  148. package/src/sdk/analytics/platform/vtex/search.ts +53 -21
  149. package/src/sdk/analytics/types.ts +14 -0
  150. package/src/sdk/overrides/PageProvider.tsx +9 -5
  151. package/src/sdk/product/useLocalizedVariables.ts +2 -2
  152. package/src/sdk/product/usePageProductsQuery.ts +8 -8
  153. package/src/sdk/product/useProductGalleryQuery.ts +32 -3
  154. package/src/sdk/product/useProductsPrefetch.ts +4 -4
  155. package/src/sdk/product/useProductsQuery.ts +7 -7
  156. package/src/sdk/search/useSuggestions.ts +48 -16
  157. package/src/sdk/search/useTopSearch.ts +7 -12
  158. package/src/sdk/shipping/index.ts +6 -4
  159. package/src/{components/ui/ShippingSimulation → sdk/shipping}/useShippingSimulation.ts +33 -56
  160. package/src/server/generator/schema.ts +2 -1
  161. package/src/typings/overrides.ts +8 -2
  162. package/tsconfig.json +2 -1
  163. package/.next/static/chunks/148.3bb7e05cc5d1c1c4.js +0 -1
  164. package/.next/static/chunks/238-86838f629f3d0aa4.js +0 -1
  165. package/.next/static/chunks/243-ef9e49ef3df579c0.js +0 -1
  166. package/.next/static/chunks/530.848b014622932b93.js +0 -1
  167. package/.next/static/chunks/548-ab84e9e8b49413ab.js +0 -1
  168. package/.next/static/chunks/738-67a288ca3569cdbb.js +0 -1
  169. package/.next/static/chunks/932-33f45603c7d12a4b.js +0 -1
  170. package/.next/static/chunks/98.1632997dfd4d3a52.js +0 -1
  171. package/.next/static/chunks/988.d10040040cdfebbb.js +0 -1
  172. package/.next/static/chunks/main-fd466221927468fd.js +0 -1
  173. package/.next/static/chunks/pages/[...slug]-362204c7e0b533cf.js +0 -1
  174. package/.next/static/chunks/pages/[slug]/p-885042c4b2b4f8ed.js +0 -1
  175. package/.next/static/chunks/pages/index-79b05b0071c02fff.js +0 -1
  176. package/.next/static/chunks/pages/s-e1bb00f8de6a386e.js +0 -1
  177. package/.next/static/chunks/webpack-88d120cefa1c4c09.js +0 -1
  178. package/.next/static/css/20e4a3a45cdd65f4.css +0 -1
  179. package/.next/static/css/4b7138899cd07c63.css +0 -1
  180. package/.next/static/css/e3b039e8f5daf95f.css +0 -1
  181. package/.next/static/css/f0e2d1b8832e935d.css +0 -1
  182. package/.next/static/wPqgZ8bYrPY473PZzuIX_/_buildManifest.js +0 -1
  183. package/cypress.json +0 -9
  184. package/generate.sh +0 -71
  185. /package/.next/static/{wPqgZ8bYrPY473PZzuIX_ → 6R1hrzilfMwT81RW6cNqt}/_ssgManifest.js +0 -0
  186. /package/src/{components/ui/ProductGallery → sdk/search}/useDelayedFacets.ts +0 -0
  187. /package/src/{components/ui/ProductGallery → sdk/search}/useDelayedPagination.ts +0 -0
  188. /package/src/{components/search/Filter → sdk/search}/useFilter.ts +0 -0
@@ -1,5 +1,5 @@
1
- exports.id = 112;
2
- exports.ids = [112];
1
+ exports.id = 732;
2
+ exports.ids = [732];
3
3
  exports.modules = {
4
4
 
5
5
  /***/ 6133:
@@ -283,7 +283,7 @@ function FilterFacetRange({ min, max, formatter, facetKey, onFacetChange, }) {
283
283
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
284
284
  /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(783);
285
285
  /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7734);
286
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2837);
286
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5208);
287
287
 
288
288
 
289
289
  function FilterFacets({ testId, label, index, children, type, }) {
@@ -296,200 +296,17 @@ function FilterFacets({ testId, label, index, children, type, }) {
296
296
 
297
297
  /***/ }),
298
298
 
299
- /***/ 1386:
299
+ /***/ 9044:
300
300
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
301
301
 
302
302
  "use strict";
303
- // ESM COMPAT FLAG
304
- __webpack_require__.r(__webpack_exports__);
305
303
 
306
304
  // EXPORTS
307
305
  __webpack_require__.d(__webpack_exports__, {
308
- "default": () => (/* binding */ search_Filter_FilterSlider)
306
+ "Z": () => (/* binding */ Filter_Filter)
309
307
  });
310
308
 
311
- // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
312
- var useSearch = __webpack_require__(3221);
313
- // EXTERNAL MODULE: external "react"
314
- var external_react_ = __webpack_require__(6689);
315
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
316
- // EXTERNAL MODULE: ../components/dist/esm/hooks/useFadeEffect.js
317
- var useFadeEffect = __webpack_require__(3666);
318
- // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
319
- var UIProvider = __webpack_require__(6652);
320
- // EXTERNAL MODULE: ../components/dist/esm/organisms/SlideOver/SlideOver.js
321
- var SlideOver = __webpack_require__(7215);
322
- // EXTERNAL MODULE: ../components/dist/esm/organisms/SlideOver/SlideOverHeader.js
323
- var SlideOverHeader = __webpack_require__(5049);
324
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
325
- var Button = __webpack_require__(3339);
326
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Filter/FilterSlider.js
327
-
328
-
329
- function FilterSlider({ title, size, direction, children, applyBtnProps, clearBtnProps, overlayProps, onClose, ...otherProps }) {
330
- const { fade, fadeOut } = (0,useFadeEffect/* useFadeEffect */.b)();
331
- const { closeFilter } = (0,UIProvider/* useUI */.l)();
332
- return (external_react_default().createElement(SlideOver/* default */.Z, { "data-fs-filter-slider": true, isOpen: true, fade: fade, onDismiss: fadeOut, size: size, direction: direction, onTransitionEnd: () => fade === 'out' && closeFilter(), overlayProps: overlayProps, ...otherProps },
333
- external_react_default().createElement("div", { "data-fs-filter-slider-content": true },
334
- external_react_default().createElement(SlideOverHeader/* default */.Z, { onClose: () => {
335
- onClose();
336
- fadeOut();
337
- } },
338
- external_react_default().createElement("h2", { "data-fs-filter-slider-title": true }, title)),
339
- children),
340
- external_react_default().createElement("footer", { "data-fs-filter-slider-footer": true },
341
- external_react_default().createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-clear": true, ...clearBtnProps }),
342
- external_react_default().createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-apply": true, "data-testid": "filter-slider-button-apply", ...applyBtnProps, onClick: (e) => {
343
- applyBtnProps?.onClick?.(e);
344
- fadeOut();
345
- } }))));
346
- }
347
- /* harmony default export */ const Filter_FilterSlider = (FilterSlider);
348
- //# sourceMappingURL=FilterSlider.js.map
349
- // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/Filter.js
350
- var Filter = __webpack_require__(5699);
351
- // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacets.js
352
- var FilterFacets = __webpack_require__(4199);
353
- // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetBoolean.js
354
- var FilterFacetBoolean = __webpack_require__(2815);
355
- // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
356
- var FilterFacetBooleanItem = __webpack_require__(1305);
357
- // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetRange.js + 2 modules
358
- var FilterFacetRange = __webpack_require__(1355);
359
- // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
360
- var useFormattedPrice = __webpack_require__(5346);
361
- // EXTERNAL MODULE: ./src/components/search/Filter/section.module.scss
362
- var section_module = __webpack_require__(5813);
363
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
364
- // EXTERNAL MODULE: external "react/jsx-runtime"
365
- var jsx_runtime_ = __webpack_require__(997);
366
- ;// CONCATENATED MODULE: ./src/components/search/Filter/FilterSlider.tsx
367
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
368
-
369
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
370
-
371
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
372
-
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
- function FilterSlider_FilterSlider({
381
- facets,
382
- testId,
383
- dispatch,
384
- expanded,
385
- selected,
386
- title,
387
- clearButtonLabel,
388
- applyButtonLabel
389
- }) {
390
- const {
391
- resetInfiniteScroll,
392
- setState,
393
- state
394
- } = (0,useSearch/* useSearch */.R)();
395
- return /*#__PURE__*/jsx_runtime_.jsx(Filter_FilterSlider, {
396
- overlayProps: {
397
- className: `section ${(section_module_default()).section} section-filter-slider`
398
- },
399
- title: title,
400
- size: "partial",
401
- direction: "rightSide",
402
- clearBtnProps: {
403
- variant: 'secondary',
404
- onClick: () => dispatch({
405
- type: 'selectFacets',
406
- payload: []
407
- }),
408
- children: clearButtonLabel ?? 'Clear All'
409
- },
410
- applyBtnProps: {
411
- variant: 'primary',
412
- onClick: () => {
413
- resetInfiniteScroll(0);
414
- setState(_objectSpread(_objectSpread({}, state), {}, {
415
- selectedFacets: selected,
416
- page: 0
417
- }));
418
- },
419
- children: applyButtonLabel ?? 'Apply'
420
- },
421
- onClose: () => {
422
- dispatch({
423
- type: 'selectFacets',
424
- payload: state.selectedFacets
425
- });
426
- },
427
- children: /*#__PURE__*/jsx_runtime_.jsx(Filter/* default */.Z, {
428
- testId: `mobile-${testId}`,
429
- indicesExpanded: expanded,
430
- onAccordionChange: index => dispatch({
431
- type: 'toggleExpanded',
432
- payload: index
433
- }),
434
- children: facets.map((facet, index) => {
435
- const {
436
- __typename: type,
437
- label
438
- } = facet;
439
- const isExpanded = expanded.has(index);
440
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(FilterFacets/* default */.Z, {
441
- testId: `mobile-${testId}`,
442
- index: index,
443
- type: type,
444
- label: label,
445
- children: [type === 'StoreFacetBoolean' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBoolean/* default */.Z, {
446
- children: facet.values.map(item => /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBooleanItem/* default */.Z, {
447
- id: `${testId}-${facet.label}-${item.label}`,
448
- testId: `mobile-${testId}`,
449
- onFacetChange: facet => dispatch({
450
- type: 'toggleFacet',
451
- payload: facet
452
- }),
453
- selected: item.selected,
454
- value: item.value,
455
- quantity: item.quantity,
456
- facetKey: facet.key,
457
- label: item.label
458
- }, `${testId}-${facet.label}-${item.label}`))
459
- }), type === 'StoreFacetRange' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetRange/* default */.Z, {
460
- facetKey: facet.key,
461
- min: facet.min,
462
- max: facet.max,
463
- formatter: useFormattedPrice/* useFormattedPrice */.P,
464
- onFacetChange: facet => dispatch({
465
- type: 'setFacet',
466
- payload: {
467
- facet,
468
- unique: true
469
- }
470
- })
471
- })]
472
- }, `${testId}-${label}-${index}`);
473
- })
474
- })
475
- });
476
- }
477
-
478
- /* harmony default export */ const search_Filter_FilterSlider = (FilterSlider_FilterSlider);
479
-
480
- /***/ }),
481
-
482
- /***/ 6171:
483
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
484
-
485
- "use strict";
486
-
487
- // EXPORTS
488
- __webpack_require__.d(__webpack_exports__, {
489
- "C": () => (/* reexport */ Filter_Filter)
490
- });
491
-
492
- // UNUSED EXPORTS: FilterSlider
309
+ // UNUSED EXPORTS: fragment
493
310
 
494
311
  // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
495
312
  var UIProvider = __webpack_require__(6652);
@@ -499,7 +316,7 @@ var external_react_ = __webpack_require__(6689);
499
316
  var facets = __webpack_require__(8492);
500
317
  // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
501
318
  var useSearch = __webpack_require__(3221);
502
- ;// CONCATENATED MODULE: ./src/components/search/Filter/useFilter.ts
319
+ ;// CONCATENATED MODULE: ./src/sdk/search/useFilter.ts
503
320
  const _excluded = ["value"];
504
321
 
505
322
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -676,22 +493,17 @@ function Filter({
676
493
 
677
494
  const fragment = "unknown";
678
495
  /* harmony default export */ const Filter_Filter = (Filter);
679
- // EXTERNAL MODULE: ./src/components/search/Filter/FilterSlider.tsx + 1 modules
680
- var FilterSlider = __webpack_require__(1386);
681
- ;// CONCATENATED MODULE: ./src/components/search/Filter/index.ts
682
-
683
-
684
496
 
685
497
  /***/ }),
686
498
 
687
- /***/ 3142:
499
+ /***/ 8723:
688
500
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
689
501
 
690
502
  "use strict";
691
503
 
692
504
  // EXPORTS
693
505
  __webpack_require__.d(__webpack_exports__, {
694
- "Z": () => (/* reexport */ Sort_Sort)
506
+ "Z": () => (/* binding */ Sort_Sort)
695
507
  });
696
508
 
697
509
  // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
@@ -777,8 +589,6 @@ function Sort({
777
589
  }
778
590
 
779
591
  /* harmony default export */ const Sort_Sort = (Sort);
780
- ;// CONCATENATED MODULE: ./src/components/search/Sort/index.ts
781
-
782
592
 
783
593
  /***/ }),
784
594
 
@@ -868,8 +678,8 @@ var Icon = __webpack_require__(2614);
868
678
  var Skeleton = __webpack_require__(792);
869
679
  // EXTERNAL MODULE: ../components/dist/esm/molecules/LinkButton/LinkButton.js
870
680
  var LinkButton = __webpack_require__(3922);
871
- // EXTERNAL MODULE: ./src/components/product/ProductCard/index.ts + 4 modules
872
- var ProductCard = __webpack_require__(8091);
681
+ // EXTERNAL MODULE: ./src/components/product/ProductCard/ProductCard.tsx + 3 modules
682
+ var ProductCard = __webpack_require__(8553);
873
683
  // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
874
684
  var useSearch = __webpack_require__(3221);
875
685
  // EXTERNAL MODULE: ../sdk/dist/search/facets.js
@@ -982,7 +792,7 @@ const override = {
982
792
 
983
793
 
984
794
 
985
- const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 1386)));
795
+ const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => __webpack_require__.e(/* import() */ 386).then(__webpack_require__.bind(__webpack_require__, 1386)));
986
796
 
987
797
 
988
798
  const {
@@ -1022,17 +832,17 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1022
832
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1023
833
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1024
834
  /* harmony export */ });
1025
- /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2541);
1026
- /* harmony import */ var src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4061);
1027
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7067);
1028
- /* harmony import */ var _EmptyGallery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5878);
1029
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4614);
1030
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_6__);
1031
- /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5953);
1032
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(997);
1033
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
1034
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_1__]);
1035
- src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
835
+ /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2541);
836
+ /* harmony import */ var src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4061);
837
+ /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3271);
838
+ /* harmony import */ var _EmptyGallery__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5878);
839
+ /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4614);
840
+ /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_3__);
841
+ /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5953);
842
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
843
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
844
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__]);
845
+ src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1036
846
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1037
847
 
1038
848
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -1049,24 +859,24 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
1049
859
 
1050
860
  function ProductGallerySection(_ref) {
1051
861
  let otherProps = Object.assign({}, _ref);
1052
- const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_4__/* .usePage */ .qt)();
1053
- const [title, searchTerm] = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_4__/* .isSearchPage */ .En)(context) ? [context?.data?.title, context?.data?.searchTerm] : (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_4__/* .isPLP */ .OJ)(context) ? [context?.data?.collection?.seo?.title] : [''];
862
+ const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__/* .usePage */ .qt)();
863
+ const [title, searchTerm] = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__/* .isSearchPage */ .En)(context) ? [context?.data?.title, context?.data?.searchTerm] : (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__/* .isPLP */ .OJ)(context) ? [context?.data?.collection?.seo?.title] : [''];
1054
864
  const totalCount = context?.data?.search?.products?.pageInfo?.totalCount ?? 0;
1055
865
 
1056
866
  if (context?.data?.search?.products && totalCount === 0) {
1057
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(_Section__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1058
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_6___default().section)} section-product-gallery`,
1059
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx("section", {
867
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
868
+ className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-product-gallery`,
869
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("section", {
1060
870
  "data-testid": "product-gallery",
1061
871
  "data-fs-product-listing": true,
1062
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(_EmptyGallery__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {})
872
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyGallery__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {})
1063
873
  })
1064
874
  });
1065
875
  }
1066
876
 
1067
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(_Section__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1068
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_6___default().section)} section-product-gallery layout__section`,
1069
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, _objectSpread({
877
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
878
+ className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-product-gallery layout__section`,
879
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, _objectSpread({
1070
880
  title: title,
1071
881
  searchTerm: searchTerm,
1072
882
  totalCount: totalCount
@@ -1075,44 +885,22 @@ function ProductGallerySection(_ref) {
1075
885
  }
1076
886
 
1077
887
  ProductGallerySection.displayName = 'ProductGallery';
1078
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_0__/* .mark */ .B)(ProductGallerySection));
888
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_6__/* .mark */ .B)(ProductGallerySection));
1079
889
  __webpack_async_result__();
1080
890
  } catch(e) { __webpack_async_result__(e); } });
1081
891
 
1082
892
  /***/ }),
1083
893
 
1084
- /***/ 2618:
1085
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
894
+ /***/ 1159:
895
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1086
896
 
1087
897
  "use strict";
1088
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1089
898
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1090
- /* harmony export */ "Z": () => (/* reexport safe */ _ProductGallery__WEBPACK_IMPORTED_MODULE_0__.Z)
899
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1091
900
  /* harmony export */ });
1092
- /* harmony import */ var _ProductGallery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8273);
1093
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ProductGallery__WEBPACK_IMPORTED_MODULE_0__]);
1094
- _ProductGallery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1095
-
1096
- __webpack_async_result__();
1097
- } catch(e) { __webpack_async_result__(e); } });
1098
-
1099
- /***/ }),
1100
-
1101
- /***/ 5473:
1102
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1103
-
1104
- "use strict";
1105
-
1106
- // EXPORTS
1107
- __webpack_require__.d(__webpack_exports__, {
1108
- "Z": () => (/* reexport */ FilterSkeleton_FilterSkeleton)
1109
- });
1110
-
1111
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Skeleton/Skeleton.js
1112
- var Skeleton = __webpack_require__(792);
1113
- // EXTERNAL MODULE: external "react/jsx-runtime"
1114
- var jsx_runtime_ = __webpack_require__(997);
1115
- ;// CONCATENATED MODULE: ./src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx
901
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(792);
902
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
903
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
1116
904
 
1117
905
 
1118
906
 
@@ -1122,31 +910,31 @@ function FilterSkeleton({
1122
910
  children,
1123
911
  loading = true
1124
912
  }) {
1125
- return loading ? /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
913
+ return loading ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
1126
914
  "data-fs-filter-skeleton": true,
1127
- children: [/*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
915
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
1128
916
  "data-fs-filter-skeleton-text": true,
1129
917
  size: {
1130
918
  width: '100%',
1131
919
  height: '1.5rem'
1132
920
  }
1133
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
921
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
1134
922
  "data-fs-filter-skeleton-content": true,
1135
- children: [/*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
923
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
1136
924
  "data-fs-filter-skeleton-text": true,
1137
925
  size: {
1138
926
  width: '100%',
1139
927
  height: '1.5rem'
1140
928
  },
1141
929
  shimmer: false
1142
- }), /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
930
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
1143
931
  "data-fs-filter-skeleton-text": true,
1144
932
  size: {
1145
933
  width: '100%',
1146
934
  height: '1.5rem'
1147
935
  },
1148
936
  shimmer: false
1149
- }), /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
937
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
1150
938
  "data-fs-filter-skeleton-text": true,
1151
939
  size: {
1152
940
  width: '100%',
@@ -1155,34 +943,26 @@ function FilterSkeleton({
1155
943
  shimmer: false
1156
944
  })]
1157
945
  })]
1158
- }) : /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
946
+ }) : /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
1159
947
  children: children
1160
948
  });
1161
949
  }
1162
950
 
1163
- /* harmony default export */ const FilterSkeleton_FilterSkeleton = (FilterSkeleton);
1164
- ;// CONCATENATED MODULE: ./src/components/skeletons/FilterSkeleton/index.ts
1165
-
951
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterSkeleton);
1166
952
 
1167
953
  /***/ }),
1168
954
 
1169
- /***/ 9913:
955
+ /***/ 1708:
1170
956
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1171
957
 
1172
958
  "use strict";
1173
-
1174
- // EXPORTS
1175
- __webpack_require__.d(__webpack_exports__, {
1176
- "Z": () => (/* reexport */ ProductGridSkeleton_ProductGridSkeleton)
1177
- });
1178
-
1179
- // EXTERNAL MODULE: ./src/constants.ts
1180
- var constants = __webpack_require__(8459);
1181
- // EXTERNAL MODULE: ./src/components/skeletons/ProductCardSkeleton/index.ts + 1 modules
1182
- var ProductCardSkeleton = __webpack_require__(3288);
1183
- // EXTERNAL MODULE: external "react/jsx-runtime"
1184
- var jsx_runtime_ = __webpack_require__(997);
1185
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductGridSkeleton/ProductGridSkeleton.tsx
959
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
960
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
961
+ /* harmony export */ });
962
+ /* harmony import */ var src_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8459);
963
+ /* harmony import */ var _ProductCardSkeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6531);
964
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
965
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
1186
966
 
1187
967
 
1188
968
 
@@ -1193,24 +973,22 @@ function ProductGridSkeleton({
1193
973
  aspectRatio,
1194
974
  loading = true
1195
975
  }) {
1196
- return loading ? /*#__PURE__*/jsx_runtime_.jsx("ul", {
976
+ return loading ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("ul", {
1197
977
  "data-fs-product-grid": true,
1198
978
  children: Array.from({
1199
- length: constants/* ITEMS_PER_PAGE */.g
1200
- }, (_, index) => /*#__PURE__*/jsx_runtime_.jsx("li", {
1201
- children: /*#__PURE__*/jsx_runtime_.jsx(ProductCardSkeleton/* default */.Z, {
979
+ length: src_constants__WEBPACK_IMPORTED_MODULE_1__/* .ITEMS_PER_PAGE */ .g
980
+ }, (_, index) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
981
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ProductCardSkeleton__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1202
982
  aspectRatio: aspectRatio,
1203
983
  bordered: true
1204
984
  })
1205
985
  }, String(index)))
1206
- }) : /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
986
+ }) : /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
1207
987
  children: children
1208
988
  });
1209
989
  }
1210
990
 
1211
- /* harmony default export */ const ProductGridSkeleton_ProductGridSkeleton = (ProductGridSkeleton);
1212
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductGridSkeleton/index.ts
1213
-
991
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductGridSkeleton);
1214
992
 
1215
993
  /***/ }),
1216
994
 
@@ -1222,25 +1000,25 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1222
1000
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1223
1001
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1224
1002
  /* harmony export */ });
1225
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(3221);
1003
+ /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3221);
1226
1004
  /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6641);
1227
1005
  /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_0__);
1228
1006
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
1229
1007
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1230
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(6652);
1231
- /* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6171);
1232
- /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3142);
1233
- /* harmony import */ var src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5473);
1234
- /* harmony import */ var src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9913);
1235
- /* harmony import */ var src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(217);
1236
- /* harmony import */ var _useDelayedFacets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6341);
1237
- /* harmony import */ var _useDelayedPagination__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7184);
1238
- /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5953);
1239
- /* harmony import */ var src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4923);
1240
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(997);
1241
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__);
1242
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__]);
1243
- src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1008
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6652);
1009
+ /* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9044);
1010
+ /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8723);
1011
+ /* harmony import */ var src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1159);
1012
+ /* harmony import */ var src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1708);
1013
+ /* harmony import */ var src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(217);
1014
+ /* harmony import */ var src_sdk_search_useDelayedFacets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4891);
1015
+ /* harmony import */ var src_sdk_search_useDelayedPagination__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3332);
1016
+ /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5953);
1017
+ /* harmony import */ var src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4923);
1018
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
1019
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
1020
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__]);
1021
+ src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1244
1022
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1245
1023
 
1246
1024
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -1264,7 +1042,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
1264
1042
 
1265
1043
  const ProductGalleryPage = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(184), __webpack_require__.e(289)]).then(__webpack_require__.bind(__webpack_require__, 5289)));
1266
1044
 
1267
- const GalleryPageSkeleton = /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
1045
+ const GalleryPageSkeleton = /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1268
1046
  loading: true
1269
1047
  });
1270
1048
 
@@ -1282,130 +1060,130 @@ function ProductGallery({
1282
1060
  }) {
1283
1061
  const {
1284
1062
  openFilter
1285
- } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_12__/* .useUI */ .l)();
1063
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* .useUI */ .l)();
1286
1064
  const {
1287
1065
  pages,
1288
1066
  addNextPage,
1289
1067
  addPrevPage,
1290
1068
  itemsPerPage
1291
- } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_13__/* .useSearch */ .R)();
1292
- const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_9__/* .usePage */ .qt)();
1069
+ } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_5__/* .useSearch */ .R)();
1070
+ const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_6__/* .usePage */ .qt)();
1293
1071
  const data = context?.data;
1294
- const facets = (0,_useDelayedFacets__WEBPACK_IMPORTED_MODULE_7__/* .useDelayedFacets */ .u)(data) ?? [];
1072
+ const facets = (0,src_sdk_search_useDelayedFacets__WEBPACK_IMPORTED_MODULE_7__/* .useDelayedFacets */ .u)(data) ?? [];
1295
1073
  const {
1296
1074
  next,
1297
1075
  prev
1298
- } = (0,_useDelayedPagination__WEBPACK_IMPORTED_MODULE_8__/* .useDelayedPagination */ .g)(totalCount);
1299
- (0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__/* .useProductsPrefetch */ .Fl)(prev ? prev.cursor : null);
1300
- (0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__/* .useProductsPrefetch */ .Fl)(next ? next.cursor : null);
1076
+ } = (0,src_sdk_search_useDelayedPagination__WEBPACK_IMPORTED_MODULE_8__/* .useDelayedPagination */ .g)(totalCount);
1077
+ (0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__/* .useProductsPrefetch */ .Fl)(prev ? prev.cursor : null);
1078
+ (0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__/* .useProductsPrefetch */ .Fl)(next ? next.cursor : null);
1301
1079
  const hasFacets = Boolean(data?.search?.facets) && data.search.facets.length > 0;
1302
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("section", {
1080
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("section", {
1303
1081
  "data-testid": "product-gallery",
1304
1082
  "data-fs-product-listing": true,
1305
- children: [searchTerm && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("header", {
1083
+ children: [searchTerm && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("header", {
1306
1084
  "data-fs-product-listing-search-term": true,
1307
1085
  "data-fs-content": "product-gallery",
1308
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("h1", {
1309
- children: [searchTermLabel, " ", /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("span", {
1086
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("h1", {
1087
+ children: [searchTermLabel, " ", /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("span", {
1310
1088
  children: searchTerm
1311
1089
  })]
1312
1090
  })
1313
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
1091
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
1314
1092
  "data-fs-product-listing-content-grid": true,
1315
1093
  "data-fs-content": "product-gallery",
1316
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("div", {
1094
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("div", {
1317
1095
  "data-fs-product-listing-filters": true,
1318
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
1096
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
1319
1097
  loading: facets?.length === 0,
1320
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .C, {
1098
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_search_Filter__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
1321
1099
  facets: facets,
1322
1100
  filter: filter
1323
1101
  })
1324
1102
  })
1325
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("div", {
1103
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("div", {
1326
1104
  "data-fs-product-listing-results-count": true,
1327
1105
  "data-count": totalCount,
1328
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .ResultsCountSkeleton.Component */ .k.Component, _objectSpread(_objectSpread({
1106
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .ResultsCountSkeleton.Component */ .k.Component, _objectSpread(_objectSpread({
1329
1107
  "data-fs-product-listing-results-count-skeleton": true,
1330
1108
  size: {
1331
1109
  width: '100%',
1332
1110
  height: '1.5rem'
1333
1111
  }
1334
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .ResultsCountSkeleton.props */ .k.props), {}, {
1112
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .ResultsCountSkeleton.props */ .k.props), {}, {
1335
1113
  // Dynamic props shouldn't be overridable
1336
1114
  // This decision can be reviewed later if needed
1337
1115
  loading: !data?.search,
1338
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("h2", {
1116
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("h2", {
1339
1117
  "data-testid": "total-product-count",
1340
1118
  children: [totalCount, " ", totalCountLabel]
1341
1119
  })
1342
1120
  }))
1343
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
1121
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
1344
1122
  "data-fs-product-listing-sort": true,
1345
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .SortSkeleton.Component */ .SZ.Component, _objectSpread(_objectSpread({
1123
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .SortSkeleton.Component */ .SZ.Component, _objectSpread(_objectSpread({
1346
1124
  "data-fs-product-listing-sort-skeleton": true,
1347
1125
  size: {
1348
1126
  width: 'auto',
1349
1127
  height: '1.5rem'
1350
1128
  }
1351
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .SortSkeleton.props */ .SZ.props), {}, {
1129
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .SortSkeleton.props */ .SZ.props), {}, {
1352
1130
  // Dynamic props shouldn't be overridable
1353
1131
  // This decision can be reviewed later if needed
1354
1132
  loading: facets?.length === 0,
1355
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1133
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_search_Sort__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
1356
1134
  label: sortBySelector?.label,
1357
1135
  options: sortBySelector?.options
1358
1136
  })
1359
- })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .FilterButtonSkeleton.Component */ .hZ.Component, _objectSpread(_objectSpread({
1137
+ })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterButtonSkeleton.Component */ .hZ.Component, _objectSpread(_objectSpread({
1360
1138
  "data-fs-product-listing-filter-button-skeleton": true,
1361
1139
  size: {
1362
1140
  width: '6rem',
1363
1141
  height: '1.5rem'
1364
1142
  }
1365
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .FilterButtonSkeleton.props */ .hZ.props), {}, {
1143
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterButtonSkeleton.props */ .hZ.props), {}, {
1366
1144
  // Dynamic props shouldn't be overridable
1367
1145
  // This decision can be reviewed later if needed
1368
1146
  loading: facets?.length === 0,
1369
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .MobileFilterButton.Component */ .$B.Component, _objectSpread(_objectSpread({
1147
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .MobileFilterButton.Component */ .$B.Component, _objectSpread(_objectSpread({
1370
1148
  variant: "tertiary",
1371
1149
  "data-testid": "open-filter-button",
1372
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .FilterIcon.Component */ .k1.Component, _objectSpread(_objectSpread({
1150
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.Component */ .k1.Component, _objectSpread(_objectSpread({
1373
1151
  width: 16,
1374
1152
  height: 16
1375
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .FilterIcon.props */ .k1.props), {}, {
1376
- name: filter?.mobileOnly?.filterButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .FilterIcon.props.name */ .k1.props.name,
1377
- "aria-label": filter?.mobileOnly?.filterButton?.icon?.alt ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .FilterIcon.props["aria-label"] */ .k1.props["aria-label"]
1153
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.props */ .k1.props), {}, {
1154
+ name: filter?.mobileOnly?.filterButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.props.name */ .k1.props.name,
1155
+ "aria-label": filter?.mobileOnly?.filterButton?.icon?.alt ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.props["aria-label"] */ .k1.props["aria-label"]
1378
1156
  })),
1379
1157
  iconPosition: "left"
1380
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .MobileFilterButton.props */ .$B.props), {}, {
1158
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .MobileFilterButton.props */ .$B.props), {}, {
1381
1159
  // Dynamic props shouldn't be overridable
1382
1160
  // This decision can be reviewed later if needed
1383
1161
  onClick: openFilter,
1384
1162
  children: filter?.mobileOnly?.filterButton?.label
1385
1163
  }))
1386
1164
  }))]
1387
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
1165
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
1388
1166
  "data-fs-product-listing-results": true,
1389
- children: [prev !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
1167
+ children: [prev !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
1390
1168
  "data-fs-product-listing-pagination": "top",
1391
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1169
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1392
1170
  additionalLinkTags: [{
1393
1171
  rel: 'prev',
1394
1172
  href: prev.link
1395
1173
  }]
1396
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .LinkButtonPrev.Component */ .Rm.Component, _objectSpread(_objectSpread({
1174
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonPrev.Component */ .Rm.Component, _objectSpread(_objectSpread({
1397
1175
  rel: "prev",
1398
1176
  variant: "secondary",
1399
1177
  iconPosition: "left",
1400
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .PrevIcon.Component */ .gY.Component, _objectSpread(_objectSpread({
1178
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.Component */ .gY.Component, _objectSpread(_objectSpread({
1401
1179
  width: 16,
1402
1180
  height: 16,
1403
1181
  weight: "bold"
1404
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .PrevIcon.props */ .gY.props), {}, {
1405
- name: previousPageButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .PrevIcon.props.name */ .gY.props.name,
1406
- "aria-label": previousPageButton?.icon?.alt ?? previousPageButton?.label ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .PrevIcon.props["aria-label"] */ .gY.props["aria-label"]
1182
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.props */ .gY.props), {}, {
1183
+ name: previousPageButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.props.name */ .gY.props.name,
1184
+ "aria-label": previousPageButton?.icon?.alt ?? previousPageButton?.label ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.props["aria-label"] */ .gY.props["aria-label"]
1407
1185
  }))
1408
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .LinkButtonPrev.props */ .Rm.props), {}, {
1186
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonPrev.props */ .Rm.props), {}, {
1409
1187
  // Dynamic props shouldn't be overridable
1410
1188
  // This decision can be reviewed later if needed
1411
1189
  onClick: e => {
@@ -1416,26 +1194,26 @@ function ProductGallery({
1416
1194
  href: prev.link,
1417
1195
  children: previousPageButton?.label
1418
1196
  }))]
1419
- }), hasFacets ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
1197
+ }), hasFacets ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
1420
1198
  fallback: GalleryPageSkeleton,
1421
- children: pages.map(page => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(ProductGalleryPage, {
1199
+ children: pages.map(page => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(ProductGalleryPage, {
1422
1200
  page: page,
1423
1201
  title: title,
1424
1202
  productCard: productCard,
1425
1203
  itemsPerPage: itemsPerPage
1426
1204
  }, `gallery-page-${page}`))
1427
- }) : GalleryPageSkeleton, next !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
1205
+ }) : GalleryPageSkeleton, next !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
1428
1206
  "data-fs-product-listing-pagination": "bottom",
1429
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1207
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1430
1208
  additionalLinkTags: [{
1431
1209
  rel: 'next',
1432
1210
  href: next.link
1433
1211
  }]
1434
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .LinkButtonNext.Component */ .tu.Component, _objectSpread(_objectSpread({
1212
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonNext.Component */ .tu.Component, _objectSpread(_objectSpread({
1435
1213
  testId: "show-more",
1436
1214
  rel: "next",
1437
1215
  variant: "secondary"
1438
- }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_6__/* .LinkButtonNext.props */ .tu.props), {}, {
1216
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonNext.props */ .tu.props), {}, {
1439
1217
  // Dynamic props shouldn't be overridable
1440
1218
  // This decision can be reviewed later if needed
1441
1219
  onClick: e => {
@@ -1458,90 +1236,6 @@ __webpack_async_result__();
1458
1236
 
1459
1237
  /***/ }),
1460
1238
 
1461
- /***/ 6341:
1462
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1463
-
1464
- "use strict";
1465
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1466
- /* harmony export */ "u": () => (/* binding */ useDelayedFacets)
1467
- /* harmony export */ });
1468
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1469
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1470
-
1471
- const useDelayedFacets = data => {
1472
- const facets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);
1473
- return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
1474
- if (data) {
1475
- facets.current = data.search?.facets;
1476
- }
1477
-
1478
- return facets.current;
1479
- }, [data, facets]);
1480
- };
1481
-
1482
- /***/ }),
1483
-
1484
- /***/ 7184:
1485
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1486
-
1487
- "use strict";
1488
-
1489
- // EXPORTS
1490
- __webpack_require__.d(__webpack_exports__, {
1491
- "g": () => (/* binding */ useDelayedPagination)
1492
- });
1493
-
1494
- // EXTERNAL MODULE: external "react"
1495
- var external_react_ = __webpack_require__(6689);
1496
- // EXTERNAL MODULE: ../sdk/dist/utils/format.js
1497
- var format = __webpack_require__(2339);
1498
- // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
1499
- var useSearch = __webpack_require__(3221);
1500
- ;// CONCATENATED MODULE: ../sdk/dist/search/usePagination.js
1501
-
1502
-
1503
-
1504
- const getLink = (state) => {
1505
- const { pathname, search } = (0,format/* default */.Z)(state);
1506
- return `${pathname}${search}`;
1507
- };
1508
- const usePagination = (totalItems) => {
1509
- const { pages, itemsPerPage, state } = (0,useSearch/* useSearch */.R)();
1510
- const total = Math.ceil(totalItems / itemsPerPage);
1511
- const next = Number(pages[pages.length - 1]) + 1;
1512
- const prev = pages[0] - 1;
1513
- return (0,external_react_.useMemo)(() => ({
1514
- next: next < total && {
1515
- cursor: next,
1516
- link: getLink({ ...state, page: next }),
1517
- },
1518
- prev: prev > -1 && {
1519
- cursor: prev,
1520
- link: getLink({ ...state, page: prev }),
1521
- },
1522
- }), [next, prev, state, total]);
1523
- };
1524
- //# sourceMappingURL=usePagination.js.map
1525
- ;// CONCATENATED MODULE: ./src/components/ui/ProductGallery/useDelayedPagination.ts
1526
-
1527
-
1528
- const useDelayedPagination = totalCount => {
1529
- const pagination = usePagination(totalCount);
1530
- const {
1531
- 0: pag,
1532
- 1: setPag
1533
- } = (0,external_react_.useState)(() => ({
1534
- next: false,
1535
- prev: false
1536
- }));
1537
- (0,external_react_.useEffect)(() => {
1538
- setPag(pagination);
1539
- }, [pagination]);
1540
- return pag;
1541
- };
1542
-
1543
- /***/ }),
1544
-
1545
1239
  /***/ 2953:
1546
1240
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1547
1241
 
@@ -1594,13 +1288,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1594
1288
  /* harmony export */ "__": () => (/* binding */ useGalleryPage)
1595
1289
  /* harmony export */ });
1596
1290
  /* unused harmony export query */
1597
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3221);
1291
+ /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3221);
1598
1292
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1599
1293
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1600
- /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7732);
1294
+ /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7732);
1601
1295
  /* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2523);
1602
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__]);
1603
- src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1296
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__]);
1297
+ src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1604
1298
 
1605
1299
 
1606
1300
 
@@ -1619,7 +1313,7 @@ const useGalleryPage = page => {
1619
1313
 
1620
1314
  return useGalleryPageCallback(page);
1621
1315
  };
1622
- const query = "ClientProductsQuery";
1316
+ const query = "ClientManyProductsQuery";
1623
1317
 
1624
1318
  const getKey = object => JSON.stringify(object);
1625
1319
  /**
@@ -1643,7 +1337,7 @@ const useCreateUseGalleryPage = () => {
1643
1337
  selectedFacets
1644
1338
  },
1645
1339
  itemsPerPage
1646
- } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_3__/* .useSearch */ .R)();
1340
+ } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
1647
1341
  const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__/* .useLocalizedVariables */ .y)({
1648
1342
  first: itemsPerPage,
1649
1343
  after: (itemsPerPage * page).toString(),
@@ -1654,7 +1348,7 @@ const useCreateUseGalleryPage = () => {
1654
1348
  const hasSameVariables = pagesCache.current[page] === getKey(localizedVariables);
1655
1349
  const {
1656
1350
  data
1657
- } = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__/* .useQuery */ .aM)(query, localizedVariables, {
1351
+ } = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__/* .useQuery */ .aM)(query, localizedVariables, {
1658
1352
  fallbackData: null,
1659
1353
  suspense: true,
1660
1354
  doNotRun: hasSameVariables
@@ -1711,17 +1405,21 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1711
1405
  /* harmony export */ "U": () => (/* binding */ useProductGalleryQuery)
1712
1406
  /* harmony export */ });
1713
1407
  /* unused harmony export query */
1714
- /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7732);
1408
+ /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1072);
1409
+ /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7732);
1715
1410
  /* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2523);
1716
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__]);
1717
- src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1411
+ /* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7295);
1412
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__]);
1413
+ src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1414
+
1415
+
1416
+
1718
1417
 
1719
1418
 
1720
1419
  /**
1721
1420
  * This query is run on the browser and contains
1722
1421
  * the current search state of the user
1723
1422
  */
1724
-
1725
1423
  const query = "ClientProductGalleryQuery";
1726
1424
  const useProductGalleryQuery = ({
1727
1425
  term,
@@ -1729,6 +1427,9 @@ const useProductGalleryQuery = ({
1729
1427
  selectedFacets,
1730
1428
  itemsPerPage
1731
1429
  }) => {
1430
+ const {
1431
+ locale
1432
+ } = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_0__/* .useSession */ .kP)();
1732
1433
  const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_1__/* .useLocalizedVariables */ .y)({
1733
1434
  first: itemsPerPage,
1734
1435
  after: '0',
@@ -1736,7 +1437,23 @@ const useProductGalleryQuery = ({
1736
1437
  term: term ?? '',
1737
1438
  selectedFacets
1738
1439
  });
1739
- return (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__/* .useQuery */ .aM)(query, localizedVariables);
1440
+ return (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__/* .useQuery */ .aM)(query, localizedVariables, {
1441
+ onSuccess: data => {
1442
+ if (data && term) {
1443
+ (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_3__/* .sendAnalyticsEvent */ ._)({
1444
+ name: 'intelligent_search_query',
1445
+ params: {
1446
+ locale,
1447
+ term,
1448
+ url: window.location.href,
1449
+ logicalOperator: data.search.metadata?.logicalOperator ?? 'and',
1450
+ isTermMisspelled: data.search.metadata?.isTermMisspelled ?? false,
1451
+ totalCount: data.search.products.pageInfo.totalCount
1452
+ }
1453
+ });
1454
+ }
1455
+ }
1456
+ });
1740
1457
  };
1741
1458
  __webpack_async_result__();
1742
1459
  } catch(e) { __webpack_async_result__(e); } });
@@ -1756,10 +1473,10 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1756
1473
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1757
1474
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1758
1475
  /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5941);
1759
- /* harmony import */ var _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2953);
1760
- /* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2523);
1761
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__]);
1762
- ([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1476
+ /* harmony import */ var _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2953);
1477
+ /* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2523);
1478
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__]);
1479
+ ([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1763
1480
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1764
1481
 
1765
1482
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -1771,13 +1488,13 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
1771
1488
 
1772
1489
 
1773
1490
 
1774
- const query = "ClientProductsQuery";
1491
+ const query = "ClientManyProductsQuery";
1775
1492
  const useProductsQueryPrefetch = (variables, options) => {
1776
- const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_3__/* .useLocalizedVariables */ .y)(variables);
1493
+ const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__/* .useLocalizedVariables */ .y)(variables);
1777
1494
  const {
1778
1495
  cache
1779
1496
  } = (0,swr__WEBPACK_IMPORTED_MODULE_1__.useSWRConfig)();
1780
- return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => (0,_graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__/* .prefetchQuery */ .p)(query, localizedVariables, _objectSpread({
1497
+ return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => (0,_graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__/* .prefetchQuery */ .p)(query, localizedVariables, _objectSpread({
1781
1498
  cache
1782
1499
  }, options)), [localizedVariables, cache, options]);
1783
1500
  };
@@ -1828,14 +1545,87 @@ const useApplySearchState = () => {
1828
1545
 
1829
1546
  /***/ }),
1830
1547
 
1831
- /***/ 5813:
1832
- /***/ ((module) => {
1548
+ /***/ 4891:
1549
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1833
1550
 
1834
- // Exports
1835
- module.exports = {
1836
- "section": "section_section__QVEy3"
1551
+ "use strict";
1552
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1553
+ /* harmony export */ "u": () => (/* binding */ useDelayedFacets)
1554
+ /* harmony export */ });
1555
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1556
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1557
+
1558
+ const useDelayedFacets = data => {
1559
+ const facets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);
1560
+ return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
1561
+ if (data) {
1562
+ facets.current = data.search?.facets;
1563
+ }
1564
+
1565
+ return facets.current;
1566
+ }, [data, facets]);
1837
1567
  };
1838
1568
 
1569
+ /***/ }),
1570
+
1571
+ /***/ 3332:
1572
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1573
+
1574
+ "use strict";
1575
+
1576
+ // EXPORTS
1577
+ __webpack_require__.d(__webpack_exports__, {
1578
+ "g": () => (/* binding */ useDelayedPagination)
1579
+ });
1580
+
1581
+ // EXTERNAL MODULE: external "react"
1582
+ var external_react_ = __webpack_require__(6689);
1583
+ // EXTERNAL MODULE: ../sdk/dist/utils/format.js
1584
+ var format = __webpack_require__(2339);
1585
+ // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
1586
+ var useSearch = __webpack_require__(3221);
1587
+ ;// CONCATENATED MODULE: ../sdk/dist/search/usePagination.js
1588
+
1589
+
1590
+
1591
+ const getLink = (state) => {
1592
+ const { pathname, search } = (0,format/* default */.Z)(state);
1593
+ return `${pathname}${search}`;
1594
+ };
1595
+ const usePagination = (totalItems) => {
1596
+ const { pages, itemsPerPage, state } = (0,useSearch/* useSearch */.R)();
1597
+ const total = Math.ceil(totalItems / itemsPerPage);
1598
+ const next = Number(pages[pages.length - 1]) + 1;
1599
+ const prev = pages[0] - 1;
1600
+ return (0,external_react_.useMemo)(() => ({
1601
+ next: next < total && {
1602
+ cursor: next,
1603
+ link: getLink({ ...state, page: next }),
1604
+ },
1605
+ prev: prev > -1 && {
1606
+ cursor: prev,
1607
+ link: getLink({ ...state, page: prev }),
1608
+ },
1609
+ }), [next, prev, state, total]);
1610
+ };
1611
+ //# sourceMappingURL=usePagination.js.map
1612
+ ;// CONCATENATED MODULE: ./src/sdk/search/useDelayedPagination.ts
1613
+
1614
+
1615
+ const useDelayedPagination = totalCount => {
1616
+ const pagination = usePagination(totalCount);
1617
+ const {
1618
+ 0: pag,
1619
+ 1: setPag
1620
+ } = (0,external_react_.useState)(() => ({
1621
+ next: false,
1622
+ prev: false
1623
+ }));
1624
+ (0,external_react_.useEffect)(() => {
1625
+ setPag(pagination);
1626
+ }, [pagination]);
1627
+ return pag;
1628
+ };
1839
1629
 
1840
1630
  /***/ }),
1841
1631
 
@@ -1870,26 +1660,61 @@ var error = __webpack_require__(2254);
1870
1660
  ;// CONCATENATED MODULE: ../sdk/dist/search/useInfiniteSearchState.js
1871
1661
 
1872
1662
 
1663
+ // Save the array containing loaded pages before navigating away from the PLP
1664
+ function setPagesSessionStorage(pages) {
1665
+ try {
1666
+ // Uses the key to identify a PLP
1667
+ const stateKey = window.history.state?.key;
1668
+ if (!stateKey) {
1669
+ return;
1670
+ }
1671
+ const storageKey = `__fs_gallery_page_${stateKey}`;
1672
+ sessionStorage.setItem(storageKey, JSON.stringify(pages));
1673
+ }
1674
+ catch (_) {
1675
+ return;
1676
+ }
1677
+ }
1678
+ function getPagesFromSessionStorage() {
1679
+ try {
1680
+ const stateKey = window.history.state?.key;
1681
+ if (!stateKey) {
1682
+ return null;
1683
+ }
1684
+ const storageKey = `__fs_gallery_page_${stateKey}`;
1685
+ const item = sessionStorage.getItem(storageKey);
1686
+ return item ? JSON.parse(item) : null;
1687
+ }
1688
+ catch (_) {
1689
+ return null;
1690
+ }
1691
+ }
1873
1692
  const reducer = (state, action) => {
1874
1693
  switch (action.type) {
1875
1694
  case 'addPrev': {
1876
1695
  const prev = state[0] - 1;
1877
- return [prev, ...state];
1696
+ const newState = [prev, ...state];
1697
+ setPagesSessionStorage(newState);
1698
+ return newState;
1878
1699
  }
1879
1700
  case 'addNext': {
1880
1701
  const next = Number(state[state.length - 1]) + 1;
1881
- return [...state, next];
1702
+ const newState = [...state, next];
1703
+ setPagesSessionStorage(newState);
1704
+ return newState;
1882
1705
  }
1883
1706
  case 'reset': {
1884
1707
  const { payload } = action;
1885
- return [payload];
1708
+ const newState = [payload];
1709
+ setPagesSessionStorage(newState);
1710
+ return newState;
1886
1711
  }
1887
1712
  default:
1888
1713
  throw new error/* SDKError */.q('Unknown action for infinite search');
1889
1714
  }
1890
1715
  };
1891
1716
  const useSearchInfiniteState = (initialPage) => {
1892
- const [pages, dispatch] = (0,external_react_.useReducer)(reducer, undefined, () => [initialPage]);
1717
+ const [pages, dispatch] = (0,external_react_.useReducer)(reducer, undefined, () => getPagesFromSessionStorage() ?? [initialPage]);
1893
1718
  const actions = (0,external_react_.useMemo)(() => ({
1894
1719
  addPrevPage: () => dispatch({ type: 'addPrev' }),
1895
1720
  addNextPage: () => dispatch({ type: 'addNext' }),