@faststore/core 2.1.0 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +43 -43
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1gneedd +1 -0
  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 +5 -5
  14. package/.next/required-server-files.json +1 -1
  15. package/.next/routes-manifest.json +1 -1
  16. package/.next/server/chunks/184.js +61 -0
  17. package/.next/server/chunks/205.js +1 -1
  18. package/.next/server/chunks/{280.js → 269.js} +233 -41
  19. package/.next/server/chunks/289.js +22 -9
  20. package/.next/server/chunks/350.js +1 -1
  21. package/.next/server/chunks/378.js +6 -6
  22. package/.next/server/chunks/74.js +54 -3
  23. package/.next/server/chunks/907.js +334 -180
  24. package/.next/server/middleware-build-manifest.js +1 -1
  25. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  26. package/.next/server/pages/404.js +0 -7
  27. package/.next/server/pages/404.js.nft.json +1 -1
  28. package/.next/server/pages/500.js +0 -7
  29. package/.next/server/pages/500.js.nft.json +1 -1
  30. package/.next/server/pages/[...slug].js +1 -9
  31. package/.next/server/pages/[...slug].js.nft.json +1 -1
  32. package/.next/server/pages/[slug]/p.js +948 -907
  33. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  34. package/.next/server/pages/_app.js.nft.json +1 -1
  35. package/.next/server/pages/_document.js.nft.json +1 -1
  36. package/.next/server/pages/_error.js.nft.json +1 -1
  37. package/.next/server/pages/account.js +0 -7
  38. package/.next/server/pages/account.js.nft.json +1 -1
  39. package/.next/server/pages/api/graphql.js +1 -1
  40. package/.next/server/pages/checkout.js +0 -7
  41. package/.next/server/pages/checkout.js.nft.json +1 -1
  42. package/.next/server/pages/en-US/404.html +2 -2
  43. package/.next/server/pages/en-US/500.html +2 -2
  44. package/.next/server/pages/en-US/account.html +2 -2
  45. package/.next/server/pages/en-US/checkout.html +2 -2
  46. package/.next/server/pages/en-US/login.html +2 -2
  47. package/.next/server/pages/en-US/s.html +2 -2
  48. package/.next/server/pages/en-US.html +2 -2
  49. package/.next/server/pages/index.js +1 -9
  50. package/.next/server/pages/index.js.nft.json +1 -1
  51. package/.next/server/pages/login.js +0 -7
  52. package/.next/server/pages/login.js.nft.json +1 -1
  53. package/.next/server/pages/s.js +1 -8
  54. package/.next/server/pages/s.js.nft.json +1 -1
  55. package/.next/server/pages-manifest.json +4 -4
  56. package/.next/static/chunks/64.7ea3677ac3a10e00.js +1 -0
  57. package/.next/static/chunks/{682-dc059ce3e47eb9e1.js → 682-5cfea9ed52851ed1.js} +1 -1
  58. package/.next/static/chunks/738-a5ff304828f20cbf.js +1 -0
  59. package/.next/static/chunks/791-727eda8f766aa791.js +1 -0
  60. package/.next/static/chunks/pages/{404-e7a1846b72ad3430.js → 404-c3b320b915df45bb.js} +1 -1
  61. package/.next/static/chunks/pages/{500-0f4d738fa1caac78.js → 500-d37a3a2e931f6995.js} +1 -1
  62. package/.next/static/chunks/pages/[...slug]-d4e0a671c6248369.js +1 -0
  63. package/.next/static/chunks/pages/[slug]/p-2ad8b84fd5d98814.js +1 -0
  64. package/.next/static/chunks/pages/{account-bbe1795b8566f75a.js → account-86a1b6e7db03bab6.js} +1 -1
  65. package/.next/static/chunks/pages/{checkout-4321004c6cdaf5c7.js → checkout-c77dbc66c0b35ec3.js} +1 -1
  66. package/.next/static/chunks/pages/{index-949a5393471484d5.js → index-2912eeade1da43bf.js} +1 -1
  67. package/.next/static/chunks/pages/{login-b09e2dd0941c8882.js → login-bbf85bc59afce37c.js} +1 -1
  68. package/.next/static/chunks/pages/{s-e603b0c6e5eef0a7.js → s-dd486933e8ba7fbf.js} +1 -1
  69. package/.next/static/chunks/webpack-c5cf5350bcb7f6f4.js +1 -0
  70. package/.next/static/css/{8988ac07eb0af0ca.css → 0f8ce5203de8ae6f.css} +1 -1
  71. package/.next/static/hHM-WaPbC6D9MU3Qh2tZ1/_buildManifest.js +1 -0
  72. package/.next/trace +72 -72
  73. package/.turbo/turbo-build.log +14 -8
  74. package/.turbo/turbo-lint.log +2 -0
  75. package/package.json +8 -8
  76. package/src/components/product/ProductGrid/ProductGrid.tsx +22 -6
  77. package/src/components/search/Filter/Filter.tsx +12 -3
  78. package/src/components/sections/ProductDetails/Overrides.tsx +38 -2
  79. package/src/components/sections/ProductDetails/ProductDetails.tsx +45 -16
  80. package/src/components/sections/ProductDetails/section.module.scss +1 -0
  81. package/src/components/sections/ProductGallery/Overrides.tsx +52 -0
  82. package/src/components/ui/ImageGallery/ImageGallery.tsx +25 -14
  83. package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +32 -18
  84. package/src/components/ui/ProductGallery/ProductGallery.tsx +77 -37
  85. package/src/components/ui/ProductShelf/ProductShelf.tsx +1 -1
  86. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +1 -2
  87. package/src/customizations/components/overrides/ProductDetails.tsx +15 -1
  88. package/src/customizations/components/overrides/ProductGallery.tsx +24 -0
  89. package/src/typings/overrides.d.ts +23 -0
  90. package/.next/cache/eslint/.cache_abdhua +0 -1
  91. package/.next/server/chunks/368.js +0 -253
  92. package/.next/static/chunks/21-5b0c50a44b0ed6ce.js +0 -1
  93. package/.next/static/chunks/460-08f41a79ff49f7be.js +0 -1
  94. package/.next/static/chunks/64.ebbe1d2b40f980c7.js +0 -1
  95. package/.next/static/chunks/pages/[...slug]-119a323292c7e3af.js +0 -1
  96. package/.next/static/chunks/pages/[slug]/p-3c424924080d88cb.js +0 -1
  97. package/.next/static/chunks/webpack-9ba6546d294eb768.js +0 -1
  98. package/.next/static/eLm2Cd_zypP0KQaj5UlQ2/_buildManifest.js +0 -1
  99. /package/.next/static/{eLm2Cd_zypP0KQaj5UlQ2 → hHM-WaPbC6D9MU3Qh2tZ1}/_ssgManifest.js +0 -0
@@ -479,14 +479,14 @@ function FilterSlider_FilterSlider({
479
479
 
480
480
  /***/ }),
481
481
 
482
- /***/ 11558:
482
+ /***/ 36171:
483
483
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
484
484
 
485
485
  "use strict";
486
486
 
487
487
  // EXPORTS
488
488
  __webpack_require__.d(__webpack_exports__, {
489
- "C": () => (/* reexport */ search_Filter_Filter)
489
+ "C": () => (/* reexport */ Filter_Filter)
490
490
  });
491
491
 
492
492
  // UNUSED EXPORTS: FilterSlider
@@ -495,104 +495,10 @@ __webpack_require__.d(__webpack_exports__, {
495
495
  var UIProvider = __webpack_require__(90395);
496
496
  // EXTERNAL MODULE: external "react"
497
497
  var external_react_ = __webpack_require__(16689);
498
+ // EXTERNAL MODULE: ../sdk/dist/search/facets.js
499
+ var facets = __webpack_require__(9664);
498
500
  // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
499
501
  var useSearch = __webpack_require__(73221);
500
- // EXTERNAL MODULE: ../sdk/dist/search/facets.js
501
- var search_facets = __webpack_require__(9664);
502
- // EXTERNAL MODULE: ../components/dist/organisms/Filter/Filter.js
503
- var Filter = __webpack_require__(10939);
504
- // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacets.js
505
- var FilterFacets = __webpack_require__(40226);
506
- // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBoolean.js
507
- var FilterFacetBoolean = __webpack_require__(46569);
508
- // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
509
- var FilterFacetBooleanItem = __webpack_require__(86854);
510
- // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js + 2 modules
511
- var FilterFacetRange = __webpack_require__(87375);
512
- // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
513
- var useFormattedPrice = __webpack_require__(95346);
514
- // EXTERNAL MODULE: external "react/jsx-runtime"
515
- var jsx_runtime_ = __webpack_require__(20997);
516
- ;// CONCATENATED MODULE: ./src/components/search/Filter/FilterDesktop.tsx
517
- 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; }
518
-
519
- 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; }
520
-
521
- 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; }
522
-
523
-
524
-
525
-
526
-
527
-
528
-
529
- function FilterDesktop({
530
- facets,
531
- testId,
532
- dispatch,
533
- expanded,
534
- title
535
- }) {
536
- const {
537
- resetInfiniteScroll,
538
- state,
539
- setState
540
- } = (0,useSearch/* useSearch */.R)();
541
- return /*#__PURE__*/jsx_runtime_.jsx(Filter/* default */.Z, {
542
- testId: `desktop-${testId}`,
543
- title: title,
544
- indicesExpanded: expanded,
545
- onAccordionChange: idx => dispatch({
546
- type: 'toggleExpanded',
547
- payload: idx
548
- }),
549
- children: facets.map((facet, index) => {
550
- const {
551
- __typename: type,
552
- label
553
- } = facet;
554
- const isExpanded = expanded.has(index);
555
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(FilterFacets/* default */.Z, {
556
- testId: testId,
557
- index: index,
558
- type: type,
559
- label: label,
560
- children: [type === 'StoreFacetBoolean' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBoolean/* default */.Z, {
561
- children: facet.values.map(item => /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBooleanItem/* default */.Z, {
562
- id: `${testId}-${facet.label}-${item.label}`,
563
- testId: testId,
564
- onFacetChange: facet => {
565
- setState(_objectSpread(_objectSpread({}, state), {}, {
566
- selectedFacets: (0,search_facets/* toggleFacet */.wB)(state.selectedFacets, facet),
567
- page: 0
568
- }));
569
- resetInfiniteScroll(0);
570
- },
571
- selected: item.selected,
572
- value: item.value,
573
- quantity: item.quantity,
574
- facetKey: facet.key,
575
- label: item.label
576
- }, `${testId}-${facet.label}-${item.label}`))
577
- }), type === 'StoreFacetRange' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetRange/* default */.Z, {
578
- facetKey: facet.key,
579
- min: facet.min,
580
- max: facet.max,
581
- formatter: useFormattedPrice/* useFormattedPrice */.P,
582
- onFacetChange: facet => {
583
- setState(_objectSpread(_objectSpread({}, state), {}, {
584
- selectedFacets: (0,search_facets/* setFacet */.uL)(state.selectedFacets, facet, true),
585
- page: 0
586
- }));
587
- resetInfiniteScroll(0);
588
- }
589
- })]
590
- }, `${testId}-${label}-${index}`);
591
- })
592
- });
593
- }
594
-
595
- /* harmony default export */ const Filter_FilterDesktop = (FilterDesktop);
596
502
  ;// CONCATENATED MODULE: ./src/components/search/Filter/useFilter.ts
597
503
  const _excluded = ["value"];
598
504
 
@@ -600,11 +506,11 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
600
506
 
601
507
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
602
508
 
603
- function useFilter_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; }
509
+ 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; }
604
510
 
605
- function useFilter_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? useFilter_ownKeys(Object(source), !0).forEach(function (key) { useFilter_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : useFilter_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
511
+ 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; }
606
512
 
607
- function useFilter_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; }
513
+ 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; }
608
514
 
609
515
 
610
516
 
@@ -628,7 +534,7 @@ const reducer = (state, action) => {
628
534
  expanded.add(payload);
629
535
  }
630
536
 
631
- return useFilter_objectSpread(useFilter_objectSpread({}, state), {}, {
537
+ return _objectSpread(_objectSpread({}, state), {}, {
632
538
  expanded: new Set(expanded)
633
539
  });
634
540
  }
@@ -636,7 +542,7 @@ const reducer = (state, action) => {
636
542
  case 'selectFacets':
637
543
  {
638
544
  if (payload !== selected) {
639
- return useFilter_objectSpread(useFilter_objectSpread({}, state), {}, {
545
+ return _objectSpread(_objectSpread({}, state), {}, {
640
546
  selected: payload
641
547
  });
642
548
  }
@@ -646,15 +552,15 @@ const reducer = (state, action) => {
646
552
 
647
553
  case 'toggleFacet':
648
554
  {
649
- return useFilter_objectSpread(useFilter_objectSpread({}, state), {}, {
650
- selected: (0,search_facets/* toggleFacet */.wB)(state.selected, payload)
555
+ return _objectSpread(_objectSpread({}, state), {}, {
556
+ selected: (0,facets/* toggleFacet */.wB)(state.selected, payload)
651
557
  });
652
558
  }
653
559
 
654
560
  case 'setFacet':
655
561
  {
656
- return useFilter_objectSpread(useFilter_objectSpread({}, state), {}, {
657
- selected: (0,search_facets/* setFacet */.uL)(state.selected, payload.facet, payload.unique)
562
+ return _objectSpread(_objectSpread({}, state), {}, {
563
+ selected: (0,facets/* setFacet */.uL)(state.selected, payload.facet, payload.unique)
658
564
  });
659
565
  }
660
566
 
@@ -691,14 +597,14 @@ const useFilter = allFacets => {
691
597
  }, new Map()), [selected]);
692
598
  const facets = (0,external_react_.useMemo)(() => allFacets.map(facet => {
693
599
  if (facet.__typename === 'StoreFacetBoolean') {
694
- return useFilter_objectSpread(useFilter_objectSpread({}, facet), {}, {
600
+ return _objectSpread(_objectSpread({}, facet), {}, {
695
601
  values: facet.values.map(_ref => {
696
602
  let {
697
603
  value
698
604
  } = _ref,
699
605
  rest = _objectWithoutProperties(_ref, _excluded);
700
606
 
701
- return useFilter_objectSpread(useFilter_objectSpread({}, rest), {}, {
607
+ return _objectSpread(_objectSpread({}, rest), {}, {
702
608
  value,
703
609
  selected: Boolean(selectedMap.get(facet.key)?.has(value))
704
610
  });
@@ -721,6 +627,10 @@ const useFilter = allFacets => {
721
627
  dispatch
722
628
  };
723
629
  };
630
+ // EXTERNAL MODULE: ./src/components/sections/ProductGallery/Overrides.tsx + 2 modules
631
+ var Overrides = __webpack_require__(90217);
632
+ // EXTERNAL MODULE: external "react/jsx-runtime"
633
+ var jsx_runtime_ = __webpack_require__(20997);
724
634
  ;// CONCATENATED MODULE: ./src/components/search/Filter/Filter.tsx
725
635
  function Filter_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; }
726
636
 
@@ -735,9 +645,12 @@ function Filter_defineProperty(obj, key, value) { if (key in obj) { Object.defin
735
645
 
736
646
 
737
647
 
738
- const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 94256)));
648
+ const {
649
+ __experimentalFilterDesktop: FilterDesktop,
650
+ __experimentalFilterSlider: FilterSlider
651
+ } = Overrides/* Components */.z;
739
652
 
740
- function Filter_Filter({
653
+ function Filter({
741
654
  facets: allFacets,
742
655
  testId = 'fs-filter',
743
656
  filter: filterCmsData
@@ -749,13 +662,13 @@ function Filter_Filter({
749
662
  return /*#__PURE__*/(0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
750
663
  children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
751
664
  className: "hidden-mobile",
752
- children: /*#__PURE__*/jsx_runtime_.jsx(Filter_FilterDesktop, Filter_objectSpread(Filter_objectSpread({}, filter), {}, {
665
+ children: /*#__PURE__*/jsx_runtime_.jsx(FilterDesktop, Filter_objectSpread(Filter_objectSpread(Filter_objectSpread({}, Overrides/* Props.__experimentalFilterDesktop */.x.__experimentalFilterDesktop), filter), {}, {
753
666
  testId: testId,
754
667
  title: filterCmsData?.title
755
668
  }))
756
669
  }), displayFilter && /*#__PURE__*/jsx_runtime_.jsx(external_react_.Suspense, {
757
670
  fallback: null,
758
- children: /*#__PURE__*/jsx_runtime_.jsx(FilterSlider, Filter_objectSpread(Filter_objectSpread({}, filter), {}, {
671
+ children: /*#__PURE__*/jsx_runtime_.jsx(FilterSlider, Filter_objectSpread(Filter_objectSpread(Filter_objectSpread({}, Overrides/* Props.__experimentalFilterSlider */.x.__experimentalFilterSlider), filter), {}, {
759
672
  testId: testId,
760
673
  title: filterCmsData?.title,
761
674
  clearButtonLabel: filterCmsData?.mobileOnly?.clearButtonLabel,
@@ -766,7 +679,7 @@ function Filter_Filter({
766
679
  }
767
680
 
768
681
  const fragment = "unknown";
769
- /* harmony default export */ const search_Filter_Filter = (Filter_Filter);
682
+ /* harmony default export */ const Filter_Filter = (Filter);
770
683
  // EXTERNAL MODULE: ./src/components/search/Filter/FilterSlider.tsx + 1 modules
771
684
  var Filter_FilterSlider = __webpack_require__(94256);
772
685
  ;// CONCATENATED MODULE: ./src/components/search/Filter/index.ts
@@ -927,6 +840,213 @@ function EmptyGallery() {
927
840
 
928
841
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmptyGallery);
929
842
 
843
+ /***/ }),
844
+
845
+ /***/ 90217:
846
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
847
+
848
+ "use strict";
849
+
850
+ // EXPORTS
851
+ __webpack_require__.d(__webpack_exports__, {
852
+ "z": () => (/* binding */ Components),
853
+ "x": () => (/* binding */ productGalleryPropsCustomization)
854
+ });
855
+
856
+ // EXTERNAL MODULE: external "react"
857
+ var external_react_ = __webpack_require__(16689);
858
+ // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
859
+ var Button = __webpack_require__(57578);
860
+ // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
861
+ var Icon = __webpack_require__(25045);
862
+ // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
863
+ var Skeleton = __webpack_require__(2928);
864
+ // EXTERNAL MODULE: ../components/dist/molecules/LinkButton/LinkButton.js
865
+ var LinkButton = __webpack_require__(67703);
866
+ // EXTERNAL MODULE: ./src/components/product/ProductCard/index.ts + 4 modules
867
+ var ProductCard = __webpack_require__(56475);
868
+ // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
869
+ var useSearch = __webpack_require__(73221);
870
+ // EXTERNAL MODULE: ../sdk/dist/search/facets.js
871
+ var search_facets = __webpack_require__(9664);
872
+ // EXTERNAL MODULE: ../components/dist/organisms/Filter/Filter.js
873
+ var Filter = __webpack_require__(10939);
874
+ // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacets.js
875
+ var FilterFacets = __webpack_require__(40226);
876
+ // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBoolean.js
877
+ var FilterFacetBoolean = __webpack_require__(46569);
878
+ // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
879
+ var FilterFacetBooleanItem = __webpack_require__(86854);
880
+ // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js + 2 modules
881
+ var FilterFacetRange = __webpack_require__(87375);
882
+ // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
883
+ var useFormattedPrice = __webpack_require__(95346);
884
+ // EXTERNAL MODULE: external "react/jsx-runtime"
885
+ var jsx_runtime_ = __webpack_require__(20997);
886
+ ;// CONCATENATED MODULE: ./src/components/search/Filter/FilterDesktop.tsx
887
+ 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; }
888
+
889
+ 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; }
890
+
891
+ 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; }
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+ function FilterDesktop({
900
+ facets,
901
+ testId,
902
+ dispatch,
903
+ expanded,
904
+ title
905
+ }) {
906
+ const {
907
+ resetInfiniteScroll,
908
+ state,
909
+ setState
910
+ } = (0,useSearch/* useSearch */.R)();
911
+ return /*#__PURE__*/jsx_runtime_.jsx(Filter/* default */.Z, {
912
+ testId: `desktop-${testId}`,
913
+ title: title,
914
+ indicesExpanded: expanded,
915
+ onAccordionChange: idx => dispatch({
916
+ type: 'toggleExpanded',
917
+ payload: idx
918
+ }),
919
+ children: facets.map((facet, index) => {
920
+ const {
921
+ __typename: type,
922
+ label
923
+ } = facet;
924
+ const isExpanded = expanded.has(index);
925
+ return /*#__PURE__*/(0,jsx_runtime_.jsxs)(FilterFacets/* default */.Z, {
926
+ testId: testId,
927
+ index: index,
928
+ type: type,
929
+ label: label,
930
+ children: [type === 'StoreFacetBoolean' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBoolean/* default */.Z, {
931
+ children: facet.values.map(item => /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBooleanItem/* default */.Z, {
932
+ id: `${testId}-${facet.label}-${item.label}`,
933
+ testId: testId,
934
+ onFacetChange: facet => {
935
+ setState(_objectSpread(_objectSpread({}, state), {}, {
936
+ selectedFacets: (0,search_facets/* toggleFacet */.wB)(state.selectedFacets, facet),
937
+ page: 0
938
+ }));
939
+ resetInfiniteScroll(0);
940
+ },
941
+ selected: item.selected,
942
+ value: item.value,
943
+ quantity: item.quantity,
944
+ facetKey: facet.key,
945
+ label: item.label
946
+ }, `${testId}-${facet.label}-${item.label}`))
947
+ }), type === 'StoreFacetRange' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetRange/* default */.Z, {
948
+ facetKey: facet.key,
949
+ min: facet.min,
950
+ max: facet.max,
951
+ formatter: useFormattedPrice/* useFormattedPrice */.P,
952
+ onFacetChange: facet => {
953
+ setState(_objectSpread(_objectSpread({}, state), {}, {
954
+ selectedFacets: (0,search_facets/* setFacet */.uL)(state.selectedFacets, facet, true),
955
+ page: 0
956
+ }));
957
+ resetInfiniteScroll(0);
958
+ }
959
+ })]
960
+ }, `${testId}-${label}-${index}`);
961
+ })
962
+ });
963
+ }
964
+
965
+ /* harmony default export */ const Filter_FilterDesktop = (FilterDesktop);
966
+ ;// CONCATENATED MODULE: ./src/customizations/components/overrides/ProductGallery.tsx
967
+ // This is an example of how it can be used on the starter.
968
+ const SECTION = 'ProductGallery';
969
+ const overrides = {
970
+ name: SECTION,
971
+ components: {
972
+ Button: {
973
+ props: {}
974
+ },
975
+ FilterIcon: {
976
+ props: {}
977
+ },
978
+ PrevIcon: {
979
+ props: {}
980
+ },
981
+ ResultsCountSkeleton: {
982
+ props: {}
983
+ },
984
+ SortSkeleton: {
985
+ props: {}
986
+ },
987
+ FilterButtonSkeleton: {
988
+ props: {}
989
+ },
990
+ LinkButtonPrev: {
991
+ props: {}
992
+ },
993
+ LinkButtonNext: {
994
+ props: {}
995
+ },
996
+ __experimentalFilterDesktop: {
997
+ props: {}
998
+ },
999
+ __experimentalFilterSlider: {
1000
+ props: {}
1001
+ },
1002
+ __experimentalProductCard: {
1003
+ props: {}
1004
+ }
1005
+ }
1006
+ };
1007
+ /* harmony default export */ const ProductGallery = (overrides);
1008
+ ;// CONCATENATED MODULE: ./src/components/sections/ProductGallery/Overrides.tsx
1009
+ function Overrides_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; }
1010
+
1011
+ function Overrides_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? Overrides_ownKeys(Object(source), !0).forEach(function (key) { Overrides_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : Overrides_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1012
+
1013
+ function Overrides_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; }
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+ const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 94256)));
1020
+
1021
+ const productGalleryComponentsCustomization = {};
1022
+ const productGalleryPropsCustomization = {};
1023
+ Object.entries(ProductGallery.components).forEach(([key, value]) => {
1024
+ if (value.Component) {
1025
+ productGalleryComponentsCustomization[key] = value.Component;
1026
+ }
1027
+ });
1028
+ Object.entries(ProductGallery.components).forEach(([key, value]) => {
1029
+ if (value.props) {
1030
+ productGalleryPropsCustomization[key] = value.props;
1031
+ }
1032
+ });
1033
+
1034
+ const Components = Overrides_objectSpread({
1035
+ Button: Button/* default */.Z,
1036
+ FilterIcon: Icon/* default */.Z,
1037
+ PrevIcon: Icon/* default */.Z,
1038
+ ResultsCountSkeleton: Skeleton/* default */.Z,
1039
+ SortSkeleton: Skeleton/* default */.Z,
1040
+ FilterButtonSkeleton: Skeleton/* default */.Z,
1041
+ LinkButtonPrev: LinkButton/* default */.Z,
1042
+ LinkButtonNext: LinkButton/* default */.Z,
1043
+ __experimentalFilterDesktop: Filter_FilterDesktop,
1044
+ __experimentalFilterSlider: FilterSlider,
1045
+ __experimentalProductCard: ProductCard/* default */.Z
1046
+ }, productGalleryComponentsCustomization);
1047
+
1048
+
1049
+
930
1050
  /***/ }),
931
1051
 
932
1052
  /***/ 58273:
@@ -1200,27 +1320,29 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1200
1320
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1201
1321
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1202
1322
  /* harmony export */ });
1203
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(73221);
1204
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2928);
1205
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(57578);
1206
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(67703);
1323
+ /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(73221);
1207
1324
  /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16641);
1208
1325
  /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_0__);
1209
1326
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
1210
1327
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1211
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(90395);
1212
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(25045);
1213
- /* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11558);
1328
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(90395);
1329
+ /* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36171);
1214
1330
  /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93532);
1215
1331
  /* harmony import */ var src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25473);
1216
1332
  /* harmony import */ var src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89913);
1217
1333
  /* harmony import */ var _useDelayedFacets__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6341);
1218
1334
  /* harmony import */ var _useDelayedPagination__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(77184);
1219
1335
  /* harmony import */ var _usePageProducts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(49521);
1220
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20997);
1221
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
1336
+ /* harmony import */ var src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(90217);
1337
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(20997);
1338
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__);
1222
1339
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_usePageProducts__WEBPACK_IMPORTED_MODULE_8__]);
1223
1340
  _usePageProducts__WEBPACK_IMPORTED_MODULE_8__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1341
+ 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; }
1342
+
1343
+ 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; }
1344
+
1345
+ 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; }
1224
1346
 
1225
1347
 
1226
1348
 
@@ -1235,12 +1357,24 @@ _usePageProducts__WEBPACK_IMPORTED_MODULE_8__ = (__webpack_async_dependencies__.
1235
1357
 
1236
1358
 
1237
1359
 
1238
- const GalleryPage = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(854), __webpack_require__.e(280), __webpack_require__.e(289)]).then(__webpack_require__.bind(__webpack_require__, 75289)));
1239
1360
 
1240
- const GalleryPageSkeleton = /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
1361
+ const GalleryPage = /*#__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__, 75289)));
1362
+
1363
+ const GalleryPageSkeleton = /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
1241
1364
  loading: true
1242
1365
  });
1243
1366
 
1367
+ const {
1368
+ Button,
1369
+ FilterIcon,
1370
+ PrevIcon,
1371
+ ResultsCountSkeleton,
1372
+ SortSkeleton,
1373
+ FilterButtonSkeleton,
1374
+ LinkButtonPrev,
1375
+ LinkButtonNext
1376
+ } = src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Components */ .z;
1377
+
1244
1378
  function ProductGallery({
1245
1379
  title,
1246
1380
  searchTerm,
@@ -1256,12 +1390,12 @@ function ProductGallery({
1256
1390
  }) {
1257
1391
  const {
1258
1392
  openFilter
1259
- } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_10__/* .useUI */ .l)();
1393
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_11__/* .useUI */ .l)();
1260
1394
  const {
1261
1395
  pages,
1262
1396
  addNextPage,
1263
1397
  addPrevPage
1264
- } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_11__/* .useSearch */ .R)();
1398
+ } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_12__/* .useSearch */ .R)();
1265
1399
  const facets = (0,_useDelayedFacets__WEBPACK_IMPORTED_MODULE_6__/* .useDelayedFacets */ .u)(productGalleryData);
1266
1400
  const {
1267
1401
  next,
@@ -1269,132 +1403,152 @@ function ProductGallery({
1269
1403
  } = (0,_useDelayedPagination__WEBPACK_IMPORTED_MODULE_7__/* .useDelayedPagination */ .g)(totalCount);
1270
1404
  (0,_usePageProducts__WEBPACK_IMPORTED_MODULE_8__/* .useProductsPrefetch */ .F)(prev ? prev.cursor : null);
1271
1405
  (0,_usePageProducts__WEBPACK_IMPORTED_MODULE_8__/* .useProductsPrefetch */ .F)(next ? next.cursor : null);
1272
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("section", {
1406
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("section", {
1273
1407
  "data-testid": "product-gallery",
1274
1408
  "data-fs-product-listing": true,
1275
- children: [searchTerm && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx("header", {
1409
+ children: [searchTerm && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx("header", {
1276
1410
  "data-fs-product-listing-search-term": true,
1277
1411
  className: "layout__content",
1278
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("h1", {
1279
- children: [searchTermLabel, " ", /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx("span", {
1412
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("h1", {
1413
+ children: [searchTermLabel, " ", /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx("span", {
1280
1414
  children: searchTerm
1281
1415
  })]
1282
1416
  })
1283
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
1417
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
1284
1418
  "data-fs-product-listing-content-grid": true,
1285
1419
  className: "layout__content",
1286
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx("div", {
1420
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx("div", {
1287
1421
  "data-fs-product-listing-filters": true,
1288
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
1422
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
1289
1423
  loading: facets?.length === 0,
1290
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .C, {
1424
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .C, {
1291
1425
  facets: facets,
1292
1426
  filter: filter
1293
1427
  })
1294
1428
  })
1295
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx("div", {
1429
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx("div", {
1296
1430
  "data-fs-product-listing-results-count": true,
1297
1431
  "data-count": totalCount,
1298
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
1432
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(ResultsCountSkeleton, _objectSpread(_objectSpread({
1299
1433
  "data-fs-product-listing-results-count-skeleton": true,
1300
- loading: !productGalleryData,
1301
1434
  size: {
1302
1435
  width: '100%',
1303
1436
  height: '1.5rem'
1304
- },
1305
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("h2", {
1437
+ }
1438
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.ResultsCountSkeleton */ .x.ResultsCountSkeleton), {}, {
1439
+ // Dynamic props shouldn't be overridable
1440
+ // This decision can be reviewed later if needed
1441
+ loading: !productGalleryData,
1442
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("h2", {
1306
1443
  "data-testid": "total-product-count",
1307
1444
  children: [totalCount, " ", totalCountLabel]
1308
1445
  })
1309
- })
1310
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
1446
+ }))
1447
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
1311
1448
  "data-fs-product-listing-sort": true,
1312
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
1449
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(SortSkeleton, _objectSpread(_objectSpread({
1313
1450
  "data-fs-product-listing-sort-skeleton": true,
1314
- loading: facets?.length === 0,
1315
1451
  size: {
1316
1452
  width: 'auto',
1317
1453
  height: '1.5rem'
1318
- },
1319
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1454
+ }
1455
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.SortSkeleton */ .x.SortSkeleton), {}, {
1456
+ // Dynamic props shouldn't be overridable
1457
+ // This decision can be reviewed later if needed
1458
+ loading: facets?.length === 0,
1459
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1320
1460
  label: sortBySelector?.label,
1321
1461
  options: sortBySelector?.options
1322
1462
  })
1323
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
1463
+ })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(FilterButtonSkeleton, _objectSpread(_objectSpread({
1324
1464
  "data-fs-product-listing-filter-button-skeleton": true,
1325
- loading: facets?.length === 0,
1326
1465
  size: {
1327
1466
  width: '6rem',
1328
1467
  height: '1.5rem'
1329
- },
1330
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
1468
+ }
1469
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.FilterButtonSkeleton */ .x.FilterButtonSkeleton), {}, {
1470
+ // Dynamic props shouldn't be overridable
1471
+ // This decision can be reviewed later if needed
1472
+ loading: facets?.length === 0,
1473
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(Button, _objectSpread(_objectSpread({
1331
1474
  variant: "tertiary",
1332
1475
  "data-testid": "open-filter-button",
1333
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
1334
- name: filter?.mobileOnly?.filterButton?.icon?.icon,
1335
- "aria-label": filter?.mobileOnly?.filterButton?.icon?.alt,
1476
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(FilterIcon, _objectSpread(_objectSpread({
1336
1477
  width: 16,
1337
1478
  height: 16
1338
- }),
1339
- iconPosition: "left",
1479
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.FilterIcon */ .x.FilterIcon), {}, {
1480
+ name: filter?.mobileOnly?.filterButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.FilterIcon.name */ .x.FilterIcon.name,
1481
+ "aria-label": filter?.mobileOnly?.filterButton?.icon?.alt ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.FilterIcon["aria-label"] */ .x.FilterIcon["aria-label"]
1482
+ })),
1483
+ iconPosition: "left"
1484
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.Button */ .x.Button), {}, {
1485
+ // Dynamic props shouldn't be overridable
1486
+ // This decision can be reviewed later if needed
1340
1487
  onClick: openFilter,
1341
1488
  children: filter?.mobileOnly?.filterButton?.label
1342
- })
1343
- })]
1344
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
1489
+ }))
1490
+ }))]
1491
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
1345
1492
  "data-fs-product-listing-results": true,
1346
- children: [prev !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
1493
+ children: [prev !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
1347
1494
  "data-fs-product-listing-pagination": "top",
1348
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1495
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1349
1496
  additionalLinkTags: [{
1350
1497
  rel: 'prev',
1351
1498
  href: prev.link
1352
1499
  }]
1353
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
1354
- onClick: e => {
1355
- e.currentTarget.blur();
1356
- e.preventDefault();
1357
- addPrevPage();
1358
- },
1359
- href: prev.link,
1500
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(LinkButtonPrev, _objectSpread(_objectSpread({
1360
1501
  rel: "prev",
1361
1502
  variant: "secondary",
1362
1503
  iconPosition: "left",
1363
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
1364
- name: previousPageButton?.icon?.icon,
1365
- "aria-label": previousPageButton?.icon?.alt ?? previousPageButton?.label,
1504
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(PrevIcon, _objectSpread(_objectSpread({
1366
1505
  width: 16,
1367
1506
  height: 16,
1368
1507
  weight: "bold"
1369
- }),
1508
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.PrevIcon */ .x.PrevIcon), {}, {
1509
+ name: previousPageButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.PrevIcon.name */ .x.PrevIcon.name,
1510
+ "aria-label": previousPageButton?.icon?.alt ?? previousPageButton?.label ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.PrevIcon["aria-label"] */ .x.PrevIcon["aria-label"]
1511
+ }))
1512
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.LinkButtonPrev */ .x.LinkButtonPrev), {}, {
1513
+ // Dynamic props shouldn't be overridable
1514
+ // This decision can be reviewed later if needed
1515
+ onClick: e => {
1516
+ e.currentTarget.blur();
1517
+ e.preventDefault();
1518
+ addPrevPage();
1519
+ },
1520
+ href: prev.link,
1370
1521
  children: previousPageButton?.label
1371
- })]
1372
- }), productGalleryData ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
1522
+ }))]
1523
+ }), productGalleryData ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
1373
1524
  fallback: GalleryPageSkeleton,
1374
- children: pages.map(page => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(GalleryPage, {
1525
+ children: pages.map(page => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(GalleryPage, {
1375
1526
  page: page,
1376
1527
  title: title,
1377
1528
  productCard: productCard
1378
1529
  }, `gallery-page-${page}`))
1379
- }) : GalleryPageSkeleton, next !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
1530
+ }) : GalleryPageSkeleton, next !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
1380
1531
  "data-fs-product-listing-pagination": "bottom",
1381
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1532
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
1382
1533
  additionalLinkTags: [{
1383
1534
  rel: 'next',
1384
1535
  href: next.link
1385
1536
  }]
1386
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
1537
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(LinkButtonNext, _objectSpread(_objectSpread({
1387
1538
  testId: "show-more",
1539
+ rel: "next",
1540
+ variant: "secondary"
1541
+ }, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_9__/* .Props.LinkButtonNext */ .x.LinkButtonNext), {}, {
1542
+ // Dynamic props shouldn't be overridable
1543
+ // This decision can be reviewed later if needed
1388
1544
  onClick: e => {
1389
1545
  e.currentTarget.blur();
1390
1546
  e.preventDefault();
1391
1547
  addNextPage();
1392
1548
  },
1393
1549
  href: next.link,
1394
- rel: "next",
1395
- variant: "secondary",
1396
1550
  children: loadMorePageButton?.label
1397
- })]
1551
+ }))]
1398
1552
  })]
1399
1553
  })]
1400
1554
  })]