@faststore/core 2.2.63 → 2.2.65

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 (87) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +38 -42
  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 +3 -3
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/289.js +11 -8
  16. package/.next/server/chunks/445.js +167 -0
  17. package/.next/server/chunks/585.js +0 -22
  18. package/.next/server/chunks/74.js +1667 -41
  19. package/.next/server/chunks/863.js +0 -22
  20. package/.next/server/chunks/934.js +125 -0
  21. package/.next/server/middleware-build-manifest.js +1 -1
  22. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  23. package/.next/server/pages/404.js.nft.json +1 -1
  24. package/.next/server/pages/500.js.nft.json +1 -1
  25. package/.next/server/pages/[...slug].js +5 -5
  26. package/.next/server/pages/[...slug].js.nft.json +1 -1
  27. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  28. package/.next/server/pages/_app.js.nft.json +1 -1
  29. package/.next/server/pages/_error.js.nft.json +1 -1
  30. package/.next/server/pages/account.js.nft.json +1 -1
  31. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  32. package/.next/server/pages/checkout.js.nft.json +1 -1
  33. package/.next/server/pages/en-US/404.html +2 -2
  34. package/.next/server/pages/en-US/500.html +2 -2
  35. package/.next/server/pages/en-US/account.html +2 -2
  36. package/.next/server/pages/en-US/checkout.html +2 -2
  37. package/.next/server/pages/en-US/login.html +2 -2
  38. package/.next/server/pages/en-US/s.html +2 -2
  39. package/.next/server/pages/en-US.html +2 -2
  40. package/.next/server/pages/index.js.nft.json +1 -1
  41. package/.next/server/pages/login.js.nft.json +1 -1
  42. package/.next/server/pages/s.js +5 -5
  43. package/.next/server/pages/s.js.nft.json +1 -1
  44. package/.next/server/pages-manifest.json +4 -4
  45. package/.next/static/8bY0SvP6sqeD3bp_3Ie2r/_buildManifest.js +1 -0
  46. package/.next/static/chunks/585.ee7478bead8853ae.js +1 -0
  47. package/.next/static/chunks/800.8f4f91b39aa47346.js +1 -0
  48. package/.next/static/chunks/875-e59a8e9803b1d863.js +1 -0
  49. package/.next/static/chunks/pages/404-419470fcedcaba54.js +1 -0
  50. package/.next/static/chunks/pages/500-337a57eb2c9da6ba.js +1 -0
  51. package/.next/static/chunks/pages/[...slug]-4fd81d8f84dd561f.js +1 -0
  52. package/.next/static/chunks/pages/[slug]/{p-fd236c3b1d28734d.js → p-551e8bbc72bab530.js} +1 -1
  53. package/.next/static/chunks/pages/{index-66a1b740f1101ce4.js → index-7d0e3d61afd0a37c.js} +1 -1
  54. package/.next/static/chunks/pages/login-c38b2107d504199c.js +1 -0
  55. package/.next/static/chunks/pages/s-a6e95c34a89ccbfb.js +1 -0
  56. package/.next/static/chunks/webpack-adf61d0bc3a8dbb3.js +1 -0
  57. package/.next/static/css/f0e64672053efd0c.css +1 -0
  58. package/.next/trace +81 -81
  59. package/.turbo/turbo-build.log +10 -10
  60. package/.turbo/turbo-test.log +9 -9
  61. package/package.json +2 -2
  62. package/src/components/product/ProductGrid/ProductGrid.tsx +8 -8
  63. package/src/components/search/Filter/Filter.tsx +6 -5
  64. package/src/components/sections/ProductGallery/DefaultComponents.ts +29 -0
  65. package/src/components/sections/ProductGallery/OverriddenDefaultProductGallery.ts +12 -0
  66. package/src/components/sections/ProductGallery/ProductGallery.tsx +4 -2
  67. package/src/components/templates/ProductListingPage/ProductListing.tsx +1 -1
  68. package/src/components/templates/SearchPage/SearchPage.tsx +1 -1
  69. package/src/components/ui/ProductGallery/ProductGallery.tsx +12 -10
  70. package/src/sdk/overrides/sections.tsx +5 -1
  71. package/src/typings/overrides.ts +1 -0
  72. package/.next/server/chunks/732.js +0 -1887
  73. package/.next/static/chunks/238-6cdd6e7841eba836.js +0 -1
  74. package/.next/static/chunks/585.4d5c26d3a9861c00.js +0 -1
  75. package/.next/static/chunks/800.ea75aa39e939d9af.js +0 -1
  76. package/.next/static/chunks/875-299d78c2777aa78f.js +0 -1
  77. package/.next/static/chunks/pages/404-340e5868f79ee704.js +0 -1
  78. package/.next/static/chunks/pages/500-ee2a5efc5808cdd4.js +0 -1
  79. package/.next/static/chunks/pages/[...slug]-8e6c8b59791c31e9.js +0 -1
  80. package/.next/static/chunks/pages/login-e5ee36783a4877fd.js +0 -1
  81. package/.next/static/chunks/pages/s-669d2eccade79e75.js +0 -1
  82. package/.next/static/chunks/webpack-b302478d1b1f81e9.js +0 -1
  83. package/.next/static/css/ac16c756c850c474.css +0 -1
  84. package/.next/static/css/d973eeb803fd5b08.css +0 -1
  85. package/.next/static/yHO1tC6ibIFdp6AHIusRm/_buildManifest.js +0 -1
  86. package/src/components/sections/ProductGallery/Overrides.tsx +0 -65
  87. /package/.next/static/{yHO1tC6ibIFdp6AHIusRm → 8bY0SvP6sqeD3bp_3Ie2r}/_ssgManifest.js +0 -0
@@ -952,6 +952,300 @@ function SearchProvider({ onSearchSelection, children, term, terms, products, is
952
952
 
953
953
  /***/ }),
954
954
 
955
+ /***/ 6133:
956
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
957
+
958
+ "use strict";
959
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
960
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
961
+ /* harmony export */ });
962
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
963
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
964
+
965
+ function EmptyState({ testId = 'fs-empty-state', title, titleIcon, variant = 'default', bkgColor = 'default', children, ...otherProps }) {
966
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { "data-fs-empty-state": true, "data-fs-empty-state-variant": variant, "data-fs-empty-state-bkg-color": bkgColor, "data-fs-content": "empty-state", "data-testid": testId, ...otherProps },
967
+ title && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-empty-state-title": true },
968
+ titleIcon && react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, titleIcon),
969
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, title))),
970
+ children));
971
+ }
972
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmptyState);
973
+ //# sourceMappingURL=EmptyState.js.map
974
+
975
+ /***/ }),
976
+
977
+ /***/ 5699:
978
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
979
+
980
+ "use strict";
981
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
982
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
983
+ /* harmony export */ });
984
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
985
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
986
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1516);
987
+
988
+
989
+ function Filter({ testId, title, indicesExpanded, onAccordionChange, children, }) {
990
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-filter": true, "data-testid": testId },
991
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { "data-fs-filter-title": true }, title),
992
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { indices: indicesExpanded, onChange: onAccordionChange, "data-fs-filter-accordion": true }, children)));
993
+ }
994
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Filter);
995
+ //# sourceMappingURL=Filter.js.map
996
+
997
+ /***/ }),
998
+
999
+ /***/ 2815:
1000
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1001
+
1002
+ "use strict";
1003
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1004
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1005
+ /* harmony export */ });
1006
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1007
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1008
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4564);
1009
+
1010
+
1011
+ function FilterFacetBoolean({ children }) {
1012
+ return react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-filter-list": true }, children);
1013
+ }
1014
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterFacetBoolean);
1015
+ //# sourceMappingURL=FilterFacetBoolean.js.map
1016
+
1017
+ /***/ }),
1018
+
1019
+ /***/ 1305:
1020
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1021
+
1022
+ "use strict";
1023
+
1024
+ // EXPORTS
1025
+ __webpack_require__.d(__webpack_exports__, {
1026
+ "Z": () => (/* binding */ Filter_FilterFacetBooleanItem)
1027
+ });
1028
+
1029
+ // EXTERNAL MODULE: external "react"
1030
+ var external_react_ = __webpack_require__(6689);
1031
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1032
+ ;// CONCATENATED MODULE: ../components/dist/esm/atoms/Checkbox/Checkbox.js
1033
+
1034
+ const Checkbox = (0,external_react_.forwardRef)(function Checkbox({ testId = 'fs-checkbox', partial, ...otherProps }, ref) {
1035
+ return (external_react_default().createElement("input", { ref: ref, "data-fs-checkbox": true, "data-testid": testId, "data-fs-checkbox-partial": partial, type: "checkbox", ...otherProps }));
1036
+ });
1037
+ /* harmony default export */ const Checkbox_Checkbox = (Checkbox);
1038
+ //# sourceMappingURL=Checkbox.js.map
1039
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Label/Label.js
1040
+ var Label = __webpack_require__(1953);
1041
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Badge/Badge.js
1042
+ var Badge = __webpack_require__(276);
1043
+ ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Filter/FilterFacetBooleanItem.js
1044
+
1045
+
1046
+ function FilterFacetBooleanItem({ testId, id, selected, value, quantity, facetKey, label, onFacetChange, }) {
1047
+ return (external_react_default().createElement("li", { key: id, "data-fs-filter-list-item": true },
1048
+ external_react_default().createElement(Checkbox_Checkbox, { id: id, checked: selected, onChange: () => onFacetChange({ key: facetKey, value }, 'BOOLEAN'), "data-fs-filter-list-item-checkbox": true, "data-testid": `${testId}-accordion-panel-checkbox`, "data-value": value, "data-quantity": quantity }),
1049
+ external_react_default().createElement(Label/* default */.Z, { htmlFor: id, className: "text__title-mini-alt", "data-fs-filter-list-item-label": true },
1050
+ label,
1051
+ " ",
1052
+ external_react_default().createElement(Badge/* default */.Z, { "data-fs-filter-list-item-badge": true }, quantity))));
1053
+ }
1054
+ /* harmony default export */ const Filter_FilterFacetBooleanItem = (FilterFacetBooleanItem);
1055
+ //# sourceMappingURL=FilterFacetBooleanItem.js.map
1056
+
1057
+ /***/ }),
1058
+
1059
+ /***/ 1355:
1060
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1061
+
1062
+ "use strict";
1063
+
1064
+ // EXPORTS
1065
+ __webpack_require__.d(__webpack_exports__, {
1066
+ "Z": () => (/* binding */ Filter_FilterFacetRange)
1067
+ });
1068
+
1069
+ // EXTERNAL MODULE: external "react"
1070
+ var external_react_ = __webpack_require__(6689);
1071
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1072
+ ;// CONCATENATED MODULE: ../components/dist/esm/atoms/Slider/Slider.js
1073
+ /**
1074
+ * This code is inspired by the work of [sandra-lewis](https://codesandbox.io/u/sandra-lewis)
1075
+ */
1076
+
1077
+ const percent = (value, min, max) => Math.round(((value - min) / (max - min)) * 100);
1078
+ const Slider = (0,external_react_.forwardRef)(function Slider({ min, max, absoluteValuesLabel, onChange, onEnd, testId = 'fs-slider', getAriaValueText, step, minValueLabelComponent, maxValueLabelComponent, ...otherProps }, ref) {
1079
+ const widthPercent = (0,external_react_.useMemo)(() => (max.absolute - min.absolute) / 100, [max.absolute, min.absolute]);
1080
+ const [minPercent, setMinPercent] = (0,external_react_.useState)(() => percent(min.selected, min.absolute, max.absolute));
1081
+ const [maxPercent, setMaxPercent] = (0,external_react_.useState)(() => percent(max.selected, min.absolute, max.absolute));
1082
+ const [minVal, setMinVal] = (0,external_react_.useState)(() => Math.floor(min.absolute + minPercent * widthPercent));
1083
+ const [maxVal, setMaxVal] = (0,external_react_.useState)(() => Math.round(min.absolute + maxPercent * widthPercent));
1084
+ const percentage = (value) => (value / max.absolute) * 100;
1085
+ (0,external_react_.useImperativeHandle)(ref, () => ({
1086
+ setSliderValues: (values) => {
1087
+ const sliderMinValue = Math.min(Number(values.min), maxVal);
1088
+ setMinVal(sliderMinValue);
1089
+ setMinPercent(percent(sliderMinValue, min.absolute, max.absolute));
1090
+ if (values.max > max.absolute) {
1091
+ setMaxVal(max.absolute);
1092
+ setMaxPercent(percent(max.absolute, min.absolute, max.absolute));
1093
+ return;
1094
+ }
1095
+ const sliderMaxValue = Math.max(Number(values.max), minVal);
1096
+ setMaxVal(sliderMaxValue);
1097
+ setMaxPercent(percent(sliderMaxValue, min.absolute, max.absolute));
1098
+ },
1099
+ }));
1100
+ return (external_react_default().createElement("div", { "data-fs-slider": true, "data-testid": testId, ...otherProps },
1101
+ external_react_default().createElement("div", { "data-fs-slider-absolute-values": true },
1102
+ external_react_default().createElement("span", null, absoluteValuesLabel.min),
1103
+ external_react_default().createElement("span", null, absoluteValuesLabel.max)),
1104
+ external_react_default().createElement("div", { "data-fs-slider-wrapper": true },
1105
+ external_react_default().createElement("div", { "data-fs-slider-range": true, style: {
1106
+ left: `${minPercent}%`,
1107
+ width: `${maxPercent - minPercent}%`,
1108
+ } }),
1109
+ external_react_default().createElement("input", { type: "range", min: Math.floor(min.absolute), max: Math.round(max.absolute), value: minVal, step: step, onMouseUp: () => onEnd?.({ min: minVal, max: maxVal }), onTouchEnd: () => onEnd?.({ min: minVal, max: maxVal }), onChange: (event) => {
1110
+ const minValue = Math.min(Number(event.target.value), maxVal);
1111
+ setMinVal(minValue);
1112
+ setMinPercent(percent(minValue, min.absolute, max.absolute));
1113
+ onChange?.({ min: minValue, max: maxVal });
1114
+ }, "data-fs-slider-thumb": "left", "aria-valuemin": min.absolute, "aria-valuemax": max.absolute, "aria-valuenow": minVal, "aria-label": String(minVal), "aria-labelledby": getAriaValueText?.(minVal, 'min') }),
1115
+ minValueLabelComponent && (external_react_default().createElement("span", { "data-fs-slider-value-label": "min", style: {
1116
+ left: `calc(${percentage(minVal)}% + (${8 - percentage(minVal) * 0.2}px))`,
1117
+ } }, minValueLabelComponent(minVal))),
1118
+ external_react_default().createElement("input", { type: "range", min: Math.floor(min.absolute), max: Math.round(max.absolute), value: maxVal, step: step, onMouseUp: () => onEnd?.({ min: minVal, max: maxVal }), onTouchEnd: () => onEnd?.({ min: minVal, max: maxVal }), onChange: (event) => {
1119
+ const maxValue = Math.max(Number(event.target.value), minVal);
1120
+ setMaxVal(maxValue);
1121
+ setMaxPercent(percent(maxValue, min.absolute, max.absolute));
1122
+ onChange?.({ min: minVal, max: maxValue });
1123
+ }, "data-fs-slider-thumb": "right", "aria-valuemin": min.absolute, "aria-valuemax": max.absolute, "aria-valuenow": maxVal, "aria-label": String(maxVal), "aria-labelledby": getAriaValueText?.(maxVal, 'max') }),
1124
+ maxValueLabelComponent && (external_react_default().createElement("span", { "data-fs-slider-value-label": "max", style: {
1125
+ left: `calc(${percentage(maxVal)}% + (${8 - percentage(maxVal) * 0.2}px))`,
1126
+ } }, maxValueLabelComponent(maxVal))))));
1127
+ });
1128
+ /* harmony default export */ const Slider_Slider = (Slider);
1129
+ //# sourceMappingURL=Slider.js.map
1130
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Price/Price.js
1131
+ var Price = __webpack_require__(9767);
1132
+ // EXTERNAL MODULE: ../components/dist/esm/molecules/InputField/InputField.js
1133
+ var InputField = __webpack_require__(3779);
1134
+ ;// CONCATENATED MODULE: ../components/dist/esm/organisms/PriceRange/PriceRange.js
1135
+
1136
+
1137
+ const PriceRange = (0,external_react_.forwardRef)(function PriceRange({ formatter, max, min, step = 1, onChange, onEnd, testId = 'fs-price-range', variant, 'aria-label': ariaLabel, ...otherProps }, ref) {
1138
+ const sliderRef = (0,external_react_.useRef)();
1139
+ (0,external_react_.useImperativeHandle)(ref, () => ({
1140
+ setPriceRangeValues: (values) => {
1141
+ onChange?.(values);
1142
+ sliderRef.current?.setSliderValues(values);
1143
+ },
1144
+ }));
1145
+ const inputMinRef = (0,external_react_.useRef)(null);
1146
+ const inputMaxRef = (0,external_react_.useRef)(null);
1147
+ const [inputMinError, setInputMinError] = (0,external_react_.useState)();
1148
+ const [inputMaxError, setInputMaxError] = (0,external_react_.useState)();
1149
+ const [priceRange, setPriceRange] = (0,external_react_.useState)({
1150
+ min: Math.floor(min.selected),
1151
+ max: Math.round(max.selected),
1152
+ });
1153
+ function onChangePriceRange(value) {
1154
+ setInputMinError(undefined);
1155
+ setInputMaxError(undefined);
1156
+ setPriceRange({ min: value.min, max: value.max });
1157
+ if (inputMinRef.current?.value) {
1158
+ inputMinRef.current.value = String(value.min);
1159
+ }
1160
+ if (inputMaxRef.current?.value) {
1161
+ inputMaxRef.current.value = String(value.max);
1162
+ }
1163
+ }
1164
+ function onChangeInputMin(value) {
1165
+ setInputMinError(undefined);
1166
+ if (Number(value) < Math.floor(min.absolute)) {
1167
+ return;
1168
+ }
1169
+ if (Number(value) > Math.floor(priceRange.max)) {
1170
+ setInputMinError(`Min price can't be greater than max`);
1171
+ }
1172
+ setPriceRange({ ...priceRange, min: Number(value) });
1173
+ sliderRef.current?.setSliderValues({
1174
+ ...priceRange,
1175
+ min: Number(value),
1176
+ });
1177
+ }
1178
+ function onChangeInputMax(value) {
1179
+ setInputMaxError(undefined);
1180
+ if (Number(value) > Math.round(max.absolute)) {
1181
+ return;
1182
+ }
1183
+ if (Number(value) < Math.round(priceRange.min)) {
1184
+ setInputMaxError(`Max price can't be smaller than min`);
1185
+ }
1186
+ setPriceRange({ ...priceRange, max: Number(value) });
1187
+ sliderRef.current?.setSliderValues({
1188
+ ...priceRange,
1189
+ max: Number(value),
1190
+ });
1191
+ }
1192
+ return (external_react_default().createElement("div", { "data-fs-price-range": true, "data-testid": testId, ...otherProps },
1193
+ external_react_default().createElement(Slider_Slider, { ref: sliderRef, min: min, max: max, step: step, onEnd: (value) => {
1194
+ onEnd?.(value);
1195
+ onChangePriceRange(value);
1196
+ }, "aria-label": ariaLabel, onChange: (value) => onChange?.(value), absoluteValuesLabel: {
1197
+ min: (external_react_default().createElement(Price/* default */.Z, { value: Math.floor(min.absolute), variant: variant, formatter: formatter })),
1198
+ max: (external_react_default().createElement(Price/* default */.Z, { value: Math.round(max.absolute), variant: variant, formatter: formatter })),
1199
+ }, minValueLabelComponent: (minValue) => {
1200
+ return (external_react_default().createElement(Price/* default */.Z, { value: minValue, variant: variant, formatter: formatter }));
1201
+ }, maxValueLabelComponent: (maxValue) => {
1202
+ return (external_react_default().createElement(Price/* default */.Z, { value: maxValue, variant: variant, formatter: formatter }));
1203
+ } }),
1204
+ external_react_default().createElement("div", { "data-fs-price-range-inputs": true },
1205
+ external_react_default().createElement(InputField/* default */.Z, { id: "price-range-min", step: step, label: "Min", type: "number", inputMode: "numeric", error: inputMinError, inputRef: inputMinRef, min: Math.floor(min.absolute), max: priceRange.max, value: priceRange.min, onChange: (e) => onChangeInputMin(e.target.value), onBlur: () => !inputMinError && onEnd?.(priceRange) }),
1206
+ external_react_default().createElement(InputField/* default */.Z, { id: "price-range-max", label: "Max", step: step, type: "number", inputMode: "numeric", error: inputMaxError, inputRef: inputMaxRef, max: Math.round(max.absolute), min: priceRange.min, value: priceRange.max, onChange: (e) => onChangeInputMax(e.target.value), onBlur: () => !inputMaxError && onEnd?.(priceRange) }))));
1207
+ });
1208
+ /* harmony default export */ const PriceRange_PriceRange = (PriceRange);
1209
+ //# sourceMappingURL=PriceRange.js.map
1210
+ ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Filter/FilterFacetRange.js
1211
+
1212
+
1213
+ const formatRange = (min, max) => `${min.toFixed(2)}-to-${max.toFixed(2)}`;
1214
+ function FilterFacetRange({ min, max, formatter, facetKey, onFacetChange, }) {
1215
+ return (external_react_default().createElement(PriceRange_PriceRange, { "data-fs-filter-facet-range": true, min: min, max: max, formatter: formatter, step: 1, onEnd: (v) => onFacetChange({
1216
+ key: facetKey,
1217
+ value: formatRange(v.min, v.max),
1218
+ }, 'RANGE') }));
1219
+ }
1220
+ /* harmony default export */ const Filter_FilterFacetRange = (FilterFacetRange);
1221
+ //# sourceMappingURL=FilterFacetRange.js.map
1222
+
1223
+ /***/ }),
1224
+
1225
+ /***/ 4199:
1226
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1227
+
1228
+ "use strict";
1229
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1230
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1231
+ /* harmony export */ });
1232
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1233
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1234
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(783);
1235
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7734);
1236
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7583);
1237
+
1238
+
1239
+ function FilterFacets({ testId, label, index, children, type, }) {
1240
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { key: `${label}-${index}`, prefixId: testId, testId: `${testId}-accordion`, index: index, "data-type": type, "data-fs-filter-accordion-item": true },
1241
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { testId: `${testId}-accordion-button` }, label),
1242
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, null, children)));
1243
+ }
1244
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterFacets);
1245
+ //# sourceMappingURL=FilterFacets.js.map
1246
+
1247
+ /***/ }),
1248
+
955
1249
  /***/ 6737:
956
1250
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
957
1251
 
@@ -2069,6 +2363,210 @@ const fragment = "unknown";
2069
2363
 
2070
2364
  /***/ }),
2071
2365
 
2366
+ /***/ 9044:
2367
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2368
+
2369
+ "use strict";
2370
+
2371
+ // EXPORTS
2372
+ __webpack_require__.d(__webpack_exports__, {
2373
+ "Z": () => (/* binding */ Filter_Filter)
2374
+ });
2375
+
2376
+ // UNUSED EXPORTS: fragment
2377
+
2378
+ // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
2379
+ var UIProvider = __webpack_require__(6652);
2380
+ // EXTERNAL MODULE: external "react"
2381
+ var external_react_ = __webpack_require__(6689);
2382
+ // EXTERNAL MODULE: ./src/sdk/overrides/OverrideContext.tsx
2383
+ var OverrideContext = __webpack_require__(5522);
2384
+ // EXTERNAL MODULE: ../sdk/dist/search/facets.js
2385
+ var facets = __webpack_require__(8492);
2386
+ // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
2387
+ var useSearch = __webpack_require__(3221);
2388
+ ;// CONCATENATED MODULE: ./src/sdk/search/useFilter.ts
2389
+ const _excluded = ["value"];
2390
+
2391
+ 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; }
2392
+
2393
+ 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; }
2394
+
2395
+ 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; }
2396
+
2397
+ 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; }
2398
+
2399
+ 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; }
2400
+
2401
+
2402
+
2403
+
2404
+ const reducer = (state, action) => {
2405
+ const {
2406
+ expanded,
2407
+ selected
2408
+ } = state;
2409
+ const {
2410
+ type,
2411
+ payload
2412
+ } = action;
2413
+
2414
+ switch (type) {
2415
+ case 'toggleExpanded':
2416
+ {
2417
+ if (expanded.has(payload)) {
2418
+ expanded.delete(payload);
2419
+ } else {
2420
+ expanded.add(payload);
2421
+ }
2422
+
2423
+ return _objectSpread(_objectSpread({}, state), {}, {
2424
+ expanded: new Set(expanded)
2425
+ });
2426
+ }
2427
+
2428
+ case 'selectFacets':
2429
+ {
2430
+ if (payload !== selected) {
2431
+ return _objectSpread(_objectSpread({}, state), {}, {
2432
+ selected: payload
2433
+ });
2434
+ }
2435
+
2436
+ break;
2437
+ }
2438
+
2439
+ case 'toggleFacet':
2440
+ {
2441
+ return _objectSpread(_objectSpread({}, state), {}, {
2442
+ selected: (0,facets/* toggleFacet */.wB)(state.selected, payload)
2443
+ });
2444
+ }
2445
+
2446
+ case 'setFacet':
2447
+ {
2448
+ return _objectSpread(_objectSpread({}, state), {}, {
2449
+ selected: (0,facets/* setFacet */.uL)(state.selected, payload.facet, payload.unique)
2450
+ });
2451
+ }
2452
+
2453
+ default:
2454
+ throw new Error(`Action ${type} not implemented`);
2455
+ }
2456
+
2457
+ return state;
2458
+ };
2459
+
2460
+ const useFilter = allFacets => {
2461
+ const {
2462
+ state: {
2463
+ selectedFacets
2464
+ }
2465
+ } = (0,useSearch/* useSearch */.R)();
2466
+ const {
2467
+ 0: {
2468
+ selected,
2469
+ expanded
2470
+ },
2471
+ 1: dispatch
2472
+ } = (0,external_react_.useReducer)(reducer, null, () => ({
2473
+ expanded: new Set([]),
2474
+ selected: selectedFacets
2475
+ }));
2476
+ const selectedMap = (0,external_react_.useMemo)(() => selected.reduce((acc, facet) => {
2477
+ if (!acc.has(facet.key)) {
2478
+ acc.set(facet.key, new Map());
2479
+ }
2480
+
2481
+ acc.get(facet.key)?.set(facet.value, facet);
2482
+ return acc;
2483
+ }, new Map()), [selected]);
2484
+ const facets = (0,external_react_.useMemo)(() => allFacets.map(facet => {
2485
+ if (facet.__typename === 'StoreFacetBoolean') {
2486
+ return _objectSpread(_objectSpread({}, facet), {}, {
2487
+ values: facet.values.map(_ref => {
2488
+ let {
2489
+ value
2490
+ } = _ref,
2491
+ rest = _objectWithoutProperties(_ref, _excluded);
2492
+
2493
+ return _objectSpread(_objectSpread({}, rest), {}, {
2494
+ value,
2495
+ selected: Boolean(selectedMap.get(facet.key)?.has(value))
2496
+ });
2497
+ })
2498
+ });
2499
+ }
2500
+
2501
+ return facet;
2502
+ }), [allFacets, selectedMap]);
2503
+ (0,external_react_.useEffect)(() => {
2504
+ dispatch({
2505
+ type: 'selectFacets',
2506
+ payload: selectedFacets
2507
+ });
2508
+ }, [selectedFacets]);
2509
+ return {
2510
+ facets,
2511
+ selected,
2512
+ expanded,
2513
+ dispatch
2514
+ };
2515
+ };
2516
+ // EXTERNAL MODULE: external "react/jsx-runtime"
2517
+ var jsx_runtime_ = __webpack_require__(997);
2518
+ ;// CONCATENATED MODULE: ./src/components/search/Filter/Filter.tsx
2519
+ 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; }
2520
+
2521
+ function Filter_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? Filter_ownKeys(Object(source), !0).forEach(function (key) { Filter_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : Filter_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2522
+
2523
+ function Filter_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; }
2524
+
2525
+
2526
+
2527
+
2528
+
2529
+
2530
+
2531
+
2532
+
2533
+ function Filter({
2534
+ facets: allFacets,
2535
+ testId = 'fs-filter',
2536
+ filter: filterCmsData
2537
+ }) {
2538
+ const {
2539
+ __experimentalFilterDesktop: FilterDesktop,
2540
+ __experimentalFilterSlider: FilterSlider
2541
+ } = (0,OverrideContext/* useOverrideComponents */.r3)();
2542
+ const filter = useFilter(allFacets);
2543
+ const {
2544
+ filter: displayFilter
2545
+ } = (0,UIProvider/* useUI */.l)();
2546
+ return /*#__PURE__*/(0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
2547
+ children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
2548
+ className: "hidden-mobile",
2549
+ children: /*#__PURE__*/jsx_runtime_.jsx(FilterDesktop.Component, Filter_objectSpread(Filter_objectSpread(Filter_objectSpread({}, FilterDesktop.props), filter), {}, {
2550
+ testId: testId,
2551
+ title: filterCmsData?.title
2552
+ }))
2553
+ }), displayFilter && /*#__PURE__*/jsx_runtime_.jsx(external_react_.Suspense, {
2554
+ fallback: null,
2555
+ children: /*#__PURE__*/jsx_runtime_.jsx(FilterSlider.Component, Filter_objectSpread(Filter_objectSpread(Filter_objectSpread({}, FilterSlider.props), filter), {}, {
2556
+ testId: testId,
2557
+ title: filterCmsData?.title,
2558
+ clearButtonLabel: filterCmsData?.mobileOnly?.clearButtonLabel,
2559
+ applyButtonLabel: filterCmsData?.mobileOnly?.applyButtonLabel
2560
+ }))
2561
+ })]
2562
+ });
2563
+ }
2564
+
2565
+ const fragment = "unknown";
2566
+ /* harmony default export */ const Filter_Filter = (Filter);
2567
+
2568
+ /***/ }),
2569
+
2072
2570
  /***/ 9471:
2073
2571
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
2074
2572
 
@@ -2204,10 +2702,106 @@ const SearchInput = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRe
2204
2702
  })
2205
2703
  })]
2206
2704
  });
2207
- });
2208
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchInput);
2209
- __webpack_async_result__();
2210
- } catch(e) { __webpack_async_result__(e); } });
2705
+ });
2706
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchInput);
2707
+ __webpack_async_result__();
2708
+ } catch(e) { __webpack_async_result__(e); } });
2709
+
2710
+ /***/ }),
2711
+
2712
+ /***/ 8723:
2713
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2714
+
2715
+ "use strict";
2716
+
2717
+ // EXPORTS
2718
+ __webpack_require__.d(__webpack_exports__, {
2719
+ "Z": () => (/* binding */ Sort_Sort)
2720
+ });
2721
+
2722
+ // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
2723
+ var useSearch = __webpack_require__(3221);
2724
+ // EXTERNAL MODULE: external "react"
2725
+ var external_react_ = __webpack_require__(6689);
2726
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
2727
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Label/Label.js
2728
+ var Label = __webpack_require__(1953);
2729
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
2730
+ var Icon = __webpack_require__(2614);
2731
+ ;// CONCATENATED MODULE: ../components/dist/esm/atoms/Select/Select.js
2732
+
2733
+
2734
+ const Select = (0,external_react_.forwardRef)(function Select({ options, id, testId = 'fs-select', ...otherProps }, ref) {
2735
+ return (external_react_default().createElement("div", { "data-fs-select": true },
2736
+ external_react_default().createElement("select", { ref: ref, id: id, "data-testid": testId, ...otherProps }, Object.keys(options).map((key) => (external_react_default().createElement("option", { key: key, value: key }, options[key])))),
2737
+ external_react_default().createElement(Icon/* default */.Z, { "data-fs-select-icon": true, name: "CaretDown" })));
2738
+ });
2739
+ /* harmony default export */ const Select_Select = (Select);
2740
+ //# sourceMappingURL=Select.js.map
2741
+ ;// CONCATENATED MODULE: ../components/dist/esm/molecules/SelectField/SelectField.js
2742
+
2743
+
2744
+ const SelectField = (0,external_react_.forwardRef)(function SelectField({ id, label, options, testId = 'fs-select-field', ...otherProps }, ref) {
2745
+ return (external_react_default().createElement("div", { ref: ref, "data-fs-select-field": true },
2746
+ external_react_default().createElement(Label/* default */.Z, { "data-fs-select-field-label": true, htmlFor: id }, label),
2747
+ external_react_default().createElement(Select_Select, { id: id, options: options, "data-testid": testId, ...otherProps })));
2748
+ });
2749
+ /* harmony default export */ const SelectField_SelectField = (SelectField);
2750
+ //# sourceMappingURL=SelectField.js.map
2751
+ // EXTERNAL MODULE: external "react/jsx-runtime"
2752
+ var jsx_runtime_ = __webpack_require__(997);
2753
+ ;// CONCATENATED MODULE: ./src/components/search/Sort/Sort.tsx
2754
+ 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; }
2755
+
2756
+ 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; }
2757
+
2758
+ 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; }
2759
+
2760
+
2761
+
2762
+
2763
+ const OptionsMap = {
2764
+ price_desc: 'Price, descending',
2765
+ price_asc: 'Price, ascending',
2766
+ orders_desc: 'Top sales',
2767
+ name_asc: 'Name, A-Z',
2768
+ name_desc: 'Name, Z-A',
2769
+ release_desc: 'Release date',
2770
+ discount_desc: 'Discount',
2771
+ score_desc: 'Relevance'
2772
+ };
2773
+ const keys = Object.keys(OptionsMap);
2774
+
2775
+ function Sort({
2776
+ label = 'Sort by',
2777
+ options = OptionsMap
2778
+ }) {
2779
+ const {
2780
+ state,
2781
+ setState
2782
+ } = (0,useSearch/* useSearch */.R)();
2783
+ const optionsMap = Object.keys(options).reduce((acc, currentKey) => {
2784
+ acc[currentKey] = options[currentKey] ?? OptionsMap[currentKey];
2785
+ return acc;
2786
+ }, {});
2787
+ return /*#__PURE__*/jsx_runtime_.jsx(SelectField_SelectField, {
2788
+ id: "sort-select",
2789
+ className: "sort / text__title-mini-alt",
2790
+ label: label,
2791
+ options: optionsMap,
2792
+ onChange: e => {
2793
+ const sort = keys[e.target.selectedIndex];
2794
+ setState(_objectSpread(_objectSpread({}, state), {}, {
2795
+ sort,
2796
+ page: 0
2797
+ }));
2798
+ },
2799
+ value: state.sort,
2800
+ testId: "search-sort"
2801
+ });
2802
+ }
2803
+
2804
+ /* harmony default export */ const Sort_Sort = (Sort);
2211
2805
 
2212
2806
  /***/ }),
2213
2807
 
@@ -4899,6 +5493,278 @@ const fragment = "unknown";
4899
5493
 
4900
5494
  /***/ }),
4901
5495
 
5496
+ /***/ 5366:
5497
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5498
+
5499
+ "use strict";
5500
+
5501
+ // EXPORTS
5502
+ __webpack_require__.d(__webpack_exports__, {
5503
+ "h": () => (/* binding */ ProductGalleryDefaultComponents)
5504
+ });
5505
+
5506
+ // EXTERNAL MODULE: external "react"
5507
+ var external_react_ = __webpack_require__(6689);
5508
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
5509
+ var Button = __webpack_require__(3339);
5510
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
5511
+ var Icon = __webpack_require__(2614);
5512
+ // EXTERNAL MODULE: ../components/dist/esm/atoms/Skeleton/Skeleton.js
5513
+ var Skeleton = __webpack_require__(792);
5514
+ // EXTERNAL MODULE: ../components/dist/esm/molecules/LinkButton/LinkButton.js
5515
+ var LinkButton = __webpack_require__(3922);
5516
+ // EXTERNAL MODULE: ./src/components/product/ProductCard/ProductCard.tsx + 3 modules
5517
+ var ProductCard = __webpack_require__(8553);
5518
+ // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
5519
+ var useSearch = __webpack_require__(3221);
5520
+ // EXTERNAL MODULE: ../sdk/dist/search/facets.js
5521
+ var search_facets = __webpack_require__(8492);
5522
+ // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/Filter.js
5523
+ var Filter = __webpack_require__(5699);
5524
+ // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacets.js
5525
+ var FilterFacets = __webpack_require__(4199);
5526
+ // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetBoolean.js
5527
+ var FilterFacetBoolean = __webpack_require__(2815);
5528
+ // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
5529
+ var FilterFacetBooleanItem = __webpack_require__(1305);
5530
+ // EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetRange.js + 2 modules
5531
+ var FilterFacetRange = __webpack_require__(1355);
5532
+ // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
5533
+ var useFormattedPrice = __webpack_require__(5346);
5534
+ // EXTERNAL MODULE: external "react/jsx-runtime"
5535
+ var jsx_runtime_ = __webpack_require__(997);
5536
+ ;// CONCATENATED MODULE: ./src/components/search/Filter/FilterDesktop.tsx
5537
+ 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; }
5538
+
5539
+ 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; }
5540
+
5541
+ 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; }
5542
+
5543
+
5544
+
5545
+
5546
+
5547
+
5548
+
5549
+ function FilterDesktop({
5550
+ facets,
5551
+ testId,
5552
+ dispatch,
5553
+ expanded,
5554
+ title
5555
+ }) {
5556
+ const {
5557
+ resetInfiniteScroll,
5558
+ state,
5559
+ setState
5560
+ } = (0,useSearch/* useSearch */.R)();
5561
+ return /*#__PURE__*/jsx_runtime_.jsx(Filter/* default */.Z, {
5562
+ testId: `desktop-${testId}`,
5563
+ title: title,
5564
+ indicesExpanded: expanded,
5565
+ onAccordionChange: idx => dispatch({
5566
+ type: 'toggleExpanded',
5567
+ payload: idx
5568
+ }),
5569
+ children: facets.map((facet, index) => {
5570
+ const {
5571
+ __typename: type,
5572
+ label
5573
+ } = facet;
5574
+ const isExpanded = expanded.has(index);
5575
+ return /*#__PURE__*/(0,jsx_runtime_.jsxs)(FilterFacets/* default */.Z, {
5576
+ testId: testId,
5577
+ index: index,
5578
+ type: type,
5579
+ label: label,
5580
+ children: [type === 'StoreFacetBoolean' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBoolean/* default */.Z, {
5581
+ children: facet.values.map(item => /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBooleanItem/* default */.Z, {
5582
+ id: `${testId}-${facet.label}-${item.label}`,
5583
+ testId: testId,
5584
+ onFacetChange: facet => {
5585
+ setState(_objectSpread(_objectSpread({}, state), {}, {
5586
+ selectedFacets: (0,search_facets/* toggleFacet */.wB)(state.selectedFacets, facet),
5587
+ page: 0
5588
+ }));
5589
+ resetInfiniteScroll(0);
5590
+ },
5591
+ selected: item.selected,
5592
+ value: item.value,
5593
+ quantity: item.quantity,
5594
+ facetKey: facet.key,
5595
+ label: item.label
5596
+ }, `${testId}-${facet.label}-${item.label}`))
5597
+ }), type === 'StoreFacetRange' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetRange/* default */.Z, {
5598
+ facetKey: facet.key,
5599
+ min: facet.min,
5600
+ max: facet.max,
5601
+ formatter: useFormattedPrice/* useFormattedPrice */.P,
5602
+ onFacetChange: facet => {
5603
+ setState(_objectSpread(_objectSpread({}, state), {}, {
5604
+ selectedFacets: (0,search_facets/* setFacet */.uL)(state.selectedFacets, facet, true),
5605
+ page: 0
5606
+ }));
5607
+ resetInfiniteScroll(0);
5608
+ }
5609
+ })]
5610
+ }, `${testId}-${label}-${index}`);
5611
+ })
5612
+ });
5613
+ }
5614
+
5615
+ /* harmony default export */ const Filter_FilterDesktop = (FilterDesktop);
5616
+ // EXTERNAL MODULE: ../components/dist/esm/organisms/EmptyState/EmptyState.js
5617
+ var EmptyState = __webpack_require__(6133);
5618
+ ;// CONCATENATED MODULE: ./src/components/sections/ProductGallery/EmptyGallery.tsx
5619
+
5620
+
5621
+
5622
+
5623
+ function EmptyGallery({
5624
+ title,
5625
+ firstButton,
5626
+ secondButton
5627
+ }) {
5628
+ return /*#__PURE__*/(0,jsx_runtime_.jsxs)(EmptyState/* default */.Z, {
5629
+ variant: "rounded",
5630
+ title: title ?? 'Nothing matches with your search',
5631
+ titleIcon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
5632
+ name: "CircleWavyWarning",
5633
+ width: 56,
5634
+ height: 56,
5635
+ weight: "thin"
5636
+ }),
5637
+ children: [/*#__PURE__*/jsx_runtime_.jsx(LinkButton/* default */.Z, {
5638
+ href: firstButton?.url ?? '/office',
5639
+ variant: "secondary",
5640
+ icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
5641
+ name: firstButton?.icon ?? 'CircleWavyWarning',
5642
+ width: 18,
5643
+ height: 18,
5644
+ weight: "bold"
5645
+ }),
5646
+ iconPosition: "left",
5647
+ children: firstButton?.label ?? 'Browse Offers'
5648
+ }), /*#__PURE__*/jsx_runtime_.jsx(LinkButton/* default */.Z, {
5649
+ href: secondButton?.url ?? '/technology',
5650
+ variant: "secondary",
5651
+ icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
5652
+ name: secondButton?.icon ?? 'RocketLaunch',
5653
+ width: 18,
5654
+ height: 18,
5655
+ weight: "bold"
5656
+ }),
5657
+ iconPosition: "left",
5658
+ children: secondButton?.label ?? 'Just Arrived'
5659
+ })]
5660
+ });
5661
+ }
5662
+
5663
+ /* harmony default export */ const ProductGallery_EmptyGallery = (EmptyGallery);
5664
+ ;// CONCATENATED MODULE: ./src/components/sections/ProductGallery/DefaultComponents.ts
5665
+
5666
+
5667
+
5668
+
5669
+
5670
+ const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => __webpack_require__.e(/* import() */ 386).then(__webpack_require__.bind(__webpack_require__, 1386)));
5671
+ const ProductGalleryDefaultComponents = {
5672
+ MobileFilterButton: Button/* default */.Z,
5673
+ FilterIcon: Icon/* default */.Z,
5674
+ PrevIcon: Icon/* default */.Z,
5675
+ ResultsCountSkeleton: Skeleton/* default */.Z,
5676
+ SortSkeleton: Skeleton/* default */.Z,
5677
+ FilterButtonSkeleton: Skeleton/* default */.Z,
5678
+ LinkButtonPrev: LinkButton/* default */.Z,
5679
+ LinkButtonNext: LinkButton/* default */.Z,
5680
+ __experimentalFilterDesktop: Filter_FilterDesktop,
5681
+ __experimentalFilterSlider: FilterSlider,
5682
+ __experimentalProductCard: ProductCard/* default */.Z,
5683
+ __experimentalEmptyGallery: ProductGallery_EmptyGallery
5684
+ };
5685
+
5686
+ /***/ }),
5687
+
5688
+ /***/ 8273:
5689
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
5690
+
5691
+ "use strict";
5692
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
5693
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5694
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
5695
+ /* harmony export */ });
5696
+ /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2541);
5697
+ /* harmony import */ var src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5333);
5698
+ /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3271);
5699
+ /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4614);
5700
+ /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_4__);
5701
+ /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5953);
5702
+ /* harmony import */ var src_sdk_overrides_OverrideContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5522);
5703
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
5704
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
5705
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__]);
5706
+ src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
5707
+ const _excluded = ["emptyGallery"];
5708
+
5709
+ 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; }
5710
+
5711
+ 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; }
5712
+
5713
+ 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; }
5714
+
5715
+ 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; }
5716
+
5717
+ 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; }
5718
+
5719
+
5720
+
5721
+
5722
+
5723
+
5724
+
5725
+
5726
+
5727
+ function ProductGallerySection(_ref) {
5728
+ let {
5729
+ emptyGallery
5730
+ } = _ref,
5731
+ otherProps = _objectWithoutProperties(_ref, _excluded);
5732
+
5733
+ const {
5734
+ __experimentalEmptyGallery: EmptyGallery
5735
+ } = (0,src_sdk_overrides_OverrideContext__WEBPACK_IMPORTED_MODULE_1__/* .useOverrideComponents */ .r3)();
5736
+ const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_2__/* .usePage */ .qt)();
5737
+ const [title, searchTerm] = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_2__/* .isSearchPage */ .En)(context) ? [context?.data?.title, context?.data?.searchTerm] : (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_2__/* .isPLP */ .OJ)(context) ? [context?.data?.collection?.seo?.title] : [''];
5738
+ const totalCount = context?.data?.search?.products?.pageInfo?.totalCount ?? 0;
5739
+
5740
+ if (context?.data?.search?.products && totalCount === 0) {
5741
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
5742
+ className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_4___default().section)} section-product-gallery`,
5743
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("section", {
5744
+ "data-testid": "product-gallery",
5745
+ "data-fs-product-listing": true,
5746
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(EmptyGallery.Component, _objectSpread({}, emptyGallery))
5747
+ })
5748
+ });
5749
+ }
5750
+
5751
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
5752
+ className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_4___default().section)} section-product-gallery layout__section`,
5753
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, _objectSpread({
5754
+ title: title,
5755
+ searchTerm: searchTerm,
5756
+ totalCount: totalCount
5757
+ }, otherProps))
5758
+ });
5759
+ }
5760
+
5761
+ ProductGallerySection.displayName = 'ProductGallery';
5762
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_6__/* .mark */ .B)(ProductGallerySection));
5763
+ __webpack_async_result__();
5764
+ } catch(e) { __webpack_async_result__(e); } });
5765
+
5766
+ /***/ }),
5767
+
4902
5768
  /***/ 2432:
4903
5769
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4904
5770
 
@@ -5173,6 +6039,67 @@ const Section = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(f
5173
6039
 
5174
6040
  /***/ }),
5175
6041
 
6042
+ /***/ 1159:
6043
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6044
+
6045
+ "use strict";
6046
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6047
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6048
+ /* harmony export */ });
6049
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(792);
6050
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
6051
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
6052
+
6053
+
6054
+
6055
+
6056
+
6057
+ function FilterSkeleton({
6058
+ children,
6059
+ loading = true
6060
+ }) {
6061
+ return loading ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
6062
+ "data-fs-filter-skeleton": true,
6063
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
6064
+ "data-fs-filter-skeleton-text": true,
6065
+ size: {
6066
+ width: '100%',
6067
+ height: '1.5rem'
6068
+ }
6069
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
6070
+ "data-fs-filter-skeleton-content": true,
6071
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
6072
+ "data-fs-filter-skeleton-text": true,
6073
+ size: {
6074
+ width: '100%',
6075
+ height: '1.5rem'
6076
+ },
6077
+ shimmer: false
6078
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
6079
+ "data-fs-filter-skeleton-text": true,
6080
+ size: {
6081
+ width: '100%',
6082
+ height: '1.5rem'
6083
+ },
6084
+ shimmer: false
6085
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
6086
+ "data-fs-filter-skeleton-text": true,
6087
+ size: {
6088
+ width: '100%',
6089
+ height: '1.5rem'
6090
+ },
6091
+ shimmer: false
6092
+ })]
6093
+ })]
6094
+ }) : /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
6095
+ children: children
6096
+ });
6097
+ }
6098
+
6099
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterSkeleton);
6100
+
6101
+ /***/ }),
6102
+
5176
6103
  /***/ 6531:
5177
6104
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5178
6105
 
@@ -5249,6 +6176,46 @@ function ProductCardSkeleton({
5249
6176
 
5250
6177
  /***/ }),
5251
6178
 
6179
+ /***/ 1708:
6180
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6181
+
6182
+ "use strict";
6183
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6184
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6185
+ /* harmony export */ });
6186
+ /* harmony import */ var src_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8459);
6187
+ /* harmony import */ var _ProductCardSkeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6531);
6188
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
6189
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
6190
+
6191
+
6192
+
6193
+
6194
+
6195
+ function ProductGridSkeleton({
6196
+ children,
6197
+ aspectRatio,
6198
+ loading = true
6199
+ }) {
6200
+ return loading ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("ul", {
6201
+ "data-fs-product-grid": true,
6202
+ children: Array.from({
6203
+ length: src_constants__WEBPACK_IMPORTED_MODULE_1__/* .ITEMS_PER_PAGE */ .g
6204
+ }, (_, index) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
6205
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ProductCardSkeleton__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
6206
+ aspectRatio: aspectRatio,
6207
+ bordered: true
6208
+ })
6209
+ }, String(index)))
6210
+ }) : /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
6211
+ children: children
6212
+ });
6213
+ }
6214
+
6215
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductGridSkeleton);
6216
+
6217
+ /***/ }),
6218
+
5252
6219
  /***/ 6523:
5253
6220
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5254
6221
 
@@ -6004,29 +6971,284 @@ const Link = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(func
6004
6971
 
6005
6972
 
6006
6973
 
6007
- function Logo({
6008
- alt,
6009
- src,
6010
- loading = 'lazy'
6974
+ function Logo({
6975
+ alt,
6976
+ src,
6977
+ loading = 'lazy'
6978
+ }) {
6979
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
6980
+ "data-fs-logo": true,
6981
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_ui_Image__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
6982
+ alt: alt,
6983
+ src: src,
6984
+ width: 0,
6985
+ height: 0,
6986
+ sizes: "15vw",
6987
+ loading: loading,
6988
+ style: {
6989
+ width: '100%',
6990
+ height: 'auto'
6991
+ }
6992
+ })
6993
+ });
6994
+ }
6995
+
6996
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Logo);
6997
+
6998
+ /***/ }),
6999
+
7000
+ /***/ 5333:
7001
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
7002
+
7003
+ "use strict";
7004
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
7005
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7006
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
7007
+ /* harmony export */ });
7008
+ /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3221);
7009
+ /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6641);
7010
+ /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_0__);
7011
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
7012
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
7013
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6652);
7014
+ /* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9044);
7015
+ /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8723);
7016
+ /* harmony import */ var src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1159);
7017
+ /* harmony import */ var src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1708);
7018
+ /* harmony import */ var src_sdk_search_useDelayedFacets__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4891);
7019
+ /* harmony import */ var src_sdk_search_useDelayedPagination__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3332);
7020
+ /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5953);
7021
+ /* harmony import */ var src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4923);
7022
+ /* harmony import */ var src_sdk_overrides_OverrideContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5522);
7023
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
7024
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
7025
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__]);
7026
+ src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
7027
+ 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; }
7028
+
7029
+ 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; }
7030
+
7031
+ 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; }
7032
+
7033
+
7034
+
7035
+
7036
+
7037
+
7038
+
7039
+
7040
+
7041
+
7042
+
7043
+
7044
+
7045
+
7046
+
7047
+
7048
+ const ProductGalleryPage = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(934), __webpack_require__.e(289)]).then(__webpack_require__.bind(__webpack_require__, 5289)));
7049
+
7050
+ const GalleryPageSkeleton = /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
7051
+ loading: true
7052
+ });
7053
+
7054
+ function ProductGallery({
7055
+ title,
7056
+ searchTerm,
7057
+ totalCount,
7058
+ searchTermLabel,
7059
+ totalCountLabel,
7060
+ filter,
7061
+ previousPageButton,
7062
+ loadMorePageButton,
7063
+ sortBySelector,
7064
+ productCard
6011
7065
  }) {
6012
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
6013
- "data-fs-logo": true,
6014
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_ui_Image__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
6015
- alt: alt,
6016
- src: src,
6017
- width: 0,
6018
- height: 0,
6019
- sizes: "15vw",
6020
- loading: loading,
6021
- style: {
6022
- width: '100%',
6023
- height: 'auto'
6024
- }
6025
- })
7066
+ const {
7067
+ FilterButtonSkeleton,
7068
+ FilterIcon,
7069
+ LinkButtonNext,
7070
+ LinkButtonPrev,
7071
+ MobileFilterButton,
7072
+ PrevIcon,
7073
+ ResultsCountSkeleton,
7074
+ SortSkeleton
7075
+ } = (0,src_sdk_overrides_OverrideContext__WEBPACK_IMPORTED_MODULE_4__/* .useOverrideComponents */ .r3)();
7076
+ const {
7077
+ openFilter
7078
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_5__/* .useUI */ .l)();
7079
+ const {
7080
+ pages,
7081
+ addNextPage,
7082
+ addPrevPage,
7083
+ itemsPerPage
7084
+ } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_6__/* .useSearch */ .R)();
7085
+ const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_7__/* .usePage */ .qt)();
7086
+ const data = context?.data;
7087
+ const facets = (0,src_sdk_search_useDelayedFacets__WEBPACK_IMPORTED_MODULE_8__/* .useDelayedFacets */ .u)(data) ?? [];
7088
+ const {
7089
+ next,
7090
+ prev
7091
+ } = (0,src_sdk_search_useDelayedPagination__WEBPACK_IMPORTED_MODULE_9__/* .useDelayedPagination */ .g)(totalCount);
7092
+ (0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__/* .useProductsPrefetch */ .Fl)(prev ? prev.cursor : null);
7093
+ (0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_10__/* .useProductsPrefetch */ .Fl)(next ? next.cursor : null);
7094
+ const hasFacetsLoaded = Boolean(data?.search?.facets);
7095
+ const hasProductsLoaded = Boolean(data?.search?.products);
7096
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("section", {
7097
+ "data-testid": "product-gallery",
7098
+ "data-fs-product-listing": true,
7099
+ children: [searchTerm && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("header", {
7100
+ "data-fs-product-listing-search-term": true,
7101
+ "data-fs-content": "product-gallery",
7102
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("h1", {
7103
+ children: [searchTermLabel, " ", /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("span", {
7104
+ children: searchTerm
7105
+ })]
7106
+ })
7107
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
7108
+ "data-fs-product-listing-content-grid": true,
7109
+ "data-fs-content": "product-gallery",
7110
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("div", {
7111
+ "data-fs-product-listing-filters": true,
7112
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
7113
+ loading: !hasFacetsLoaded,
7114
+ children: hasFacetsLoaded && facets?.length > 0 && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_search_Filter__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
7115
+ facets: facets,
7116
+ filter: filter
7117
+ })
7118
+ })
7119
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("div", {
7120
+ "data-fs-product-listing-results-count": true,
7121
+ "data-count": totalCount,
7122
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(ResultsCountSkeleton.Component, _objectSpread(_objectSpread({
7123
+ "data-fs-product-listing-results-count-skeleton": true,
7124
+ size: {
7125
+ width: '100%',
7126
+ height: '1.5rem'
7127
+ }
7128
+ }, ResultsCountSkeleton.props), {}, {
7129
+ // Dynamic props shouldn't be overridable
7130
+ // This decision can be reviewed later if needed
7131
+ loading: !hasProductsLoaded,
7132
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("h2", {
7133
+ "data-testid": "total-product-count",
7134
+ children: [totalCount, " ", totalCountLabel]
7135
+ })
7136
+ }))
7137
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
7138
+ "data-fs-product-listing-sort": true,
7139
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(SortSkeleton.Component, _objectSpread(_objectSpread({
7140
+ "data-fs-product-listing-sort-skeleton": true,
7141
+ size: {
7142
+ width: 'auto',
7143
+ height: '1.5rem'
7144
+ }
7145
+ }, SortSkeleton.props), {}, {
7146
+ // Dynamic props shouldn't be overridable
7147
+ // This decision can be reviewed later if needed
7148
+ loading: !hasProductsLoaded,
7149
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_search_Sort__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
7150
+ label: sortBySelector?.label,
7151
+ options: sortBySelector?.options
7152
+ })
7153
+ })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(FilterButtonSkeleton.Component, _objectSpread(_objectSpread({
7154
+ "data-fs-product-listing-filter-button-skeleton": true,
7155
+ size: {
7156
+ width: '6rem',
7157
+ height: '1.5rem'
7158
+ }
7159
+ }, FilterButtonSkeleton.props), {}, {
7160
+ // Dynamic props shouldn't be overridable
7161
+ // This decision can be reviewed later if needed
7162
+ loading: !hasFacetsLoaded,
7163
+ children: hasFacetsLoaded && facets?.length > 0 && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(MobileFilterButton.Component, _objectSpread(_objectSpread({
7164
+ variant: "tertiary",
7165
+ "data-testid": "open-filter-button",
7166
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(FilterIcon.Component, _objectSpread(_objectSpread({
7167
+ width: 16,
7168
+ height: 16
7169
+ }, FilterIcon.props), {}, {
7170
+ name: filter?.mobileOnly?.filterButton?.icon?.icon ?? FilterIcon.props.name,
7171
+ "aria-label": filter?.mobileOnly?.filterButton?.icon?.alt ?? FilterIcon.props['aria-label']
7172
+ })),
7173
+ iconPosition: "left"
7174
+ }, MobileFilterButton.props), {}, {
7175
+ // Dynamic props shouldn't be overridable
7176
+ // This decision can be reviewed later if needed
7177
+ onClick: openFilter,
7178
+ children: filter?.mobileOnly?.filterButton?.label
7179
+ }))
7180
+ }))]
7181
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
7182
+ "data-fs-product-listing-results": true,
7183
+ children: [prev !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
7184
+ "data-fs-product-listing-pagination": "top",
7185
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
7186
+ additionalLinkTags: [{
7187
+ rel: 'prev',
7188
+ href: prev.link
7189
+ }]
7190
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(LinkButtonPrev.Component, _objectSpread(_objectSpread({
7191
+ rel: "prev",
7192
+ variant: "secondary",
7193
+ iconPosition: "left",
7194
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(PrevIcon.Component, _objectSpread(_objectSpread({
7195
+ width: 16,
7196
+ height: 16,
7197
+ weight: "bold"
7198
+ }, PrevIcon.props), {}, {
7199
+ name: previousPageButton?.icon?.icon ?? PrevIcon.props.name,
7200
+ "aria-label": previousPageButton?.icon?.alt ?? previousPageButton?.label ?? PrevIcon.props['aria-label']
7201
+ }))
7202
+ }, LinkButtonPrev.props), {}, {
7203
+ // Dynamic props shouldn't be overridable
7204
+ // This decision can be reviewed later if needed
7205
+ onClick: e => {
7206
+ e.currentTarget.blur();
7207
+ e.preventDefault();
7208
+ addPrevPage();
7209
+ },
7210
+ href: prev.link,
7211
+ children: previousPageButton?.label
7212
+ }))]
7213
+ }), hasProductsLoaded ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
7214
+ fallback: GalleryPageSkeleton,
7215
+ children: pages.map(page => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(ProductGalleryPage, {
7216
+ page: page,
7217
+ title: title,
7218
+ productCard: productCard,
7219
+ itemsPerPage: itemsPerPage
7220
+ }, `gallery-page-${page}`))
7221
+ }) : GalleryPageSkeleton, next !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
7222
+ "data-fs-product-listing-pagination": "bottom",
7223
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
7224
+ additionalLinkTags: [{
7225
+ rel: 'next',
7226
+ href: next.link
7227
+ }]
7228
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(LinkButtonNext.Component, _objectSpread(_objectSpread({
7229
+ testId: "show-more",
7230
+ rel: "next",
7231
+ variant: "secondary"
7232
+ }, LinkButtonNext.props), {}, {
7233
+ // Dynamic props shouldn't be overridable
7234
+ // This decision can be reviewed later if needed
7235
+ onClick: e => {
7236
+ e.currentTarget.blur();
7237
+ e.preventDefault();
7238
+ addNextPage();
7239
+ },
7240
+ href: next.link,
7241
+ children: loadMorePageButton?.label
7242
+ }))]
7243
+ })]
7244
+ })]
7245
+ })]
6026
7246
  });
6027
7247
  }
6028
7248
 
6029
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Logo);
7249
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductGallery);
7250
+ __webpack_async_result__();
7251
+ } catch(e) { __webpack_async_result__(e); } });
6030
7252
 
6031
7253
  /***/ }),
6032
7254
 
@@ -6455,6 +7677,47 @@ class MissingContentError extends Error {
6455
7677
 
6456
7678
  /***/ }),
6457
7679
 
7680
+ /***/ 2953:
7681
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
7682
+
7683
+ "use strict";
7684
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
7685
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7686
+ /* harmony export */ "p": () => (/* binding */ prefetchQuery)
7687
+ /* harmony export */ });
7688
+ /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5941);
7689
+ /* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(180);
7690
+ /* harmony import */ var _useQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7732);
7691
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_1__]);
7692
+ ([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_1__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
7693
+ const _excluded = ["cache"];
7694
+
7695
+ 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; }
7696
+
7697
+ 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; }
7698
+
7699
+
7700
+
7701
+
7702
+ const prefetchQuery = (operationName, variables, _ref) => {
7703
+ let {
7704
+ cache
7705
+ } = _ref,
7706
+ options = _objectWithoutProperties(_ref, _excluded);
7707
+
7708
+ const key = (0,_useQuery__WEBPACK_IMPORTED_MODULE_1__/* .getKey */ .km)(operationName, variables);
7709
+
7710
+ if (cache.get(key)) {
7711
+ return;
7712
+ }
7713
+
7714
+ (0,swr__WEBPACK_IMPORTED_MODULE_0__.mutate)(key, (0,_request__WEBPACK_IMPORTED_MODULE_2__/* .request */ .W)(operationName, variables, options));
7715
+ };
7716
+ __webpack_async_result__();
7717
+ } catch(e) { __webpack_async_result__(e); } });
7718
+
7719
+ /***/ }),
7720
+
6458
7721
  /***/ 180:
6459
7722
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6460
7723
 
@@ -6740,18 +8003,22 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6740
8003
  /* harmony import */ var _components_sections_BannerText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9315);
6741
8004
  /* harmony import */ var _components_sections_Breadcrumb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(341);
6742
8005
  /* harmony import */ var _components_sections_Hero__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2849);
6743
- /* harmony import */ var _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8569);
8006
+ /* harmony import */ var _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8569);
6744
8007
  /* harmony import */ var _components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(994);
6745
8008
  /* harmony import */ var _components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8663);
6746
- /* harmony import */ var _components_sections_Alert_DefaultComponents__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6948);
6747
- /* harmony import */ var _components_sections_BannerText_DefaultComponents__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(719);
6748
- /* harmony import */ var src_components_sections_Breadcrumb_DefaultComponents__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7649);
6749
- /* harmony import */ var src_components_sections_CrossSellingShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8435);
6750
- /* harmony import */ var _components_sections_Hero_DefaultComponents__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9569);
6751
- /* harmony import */ var _components_sections_ProductShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2432);
6752
- /* harmony import */ var _components_sections_ProductDetails_DefaultComponents__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1307);
6753
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_3__, _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_6__]);
6754
- ([_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_3__, _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
8009
+ /* harmony import */ var _components_sections_ProductGallery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8273);
8010
+ /* harmony import */ var _components_sections_Alert_DefaultComponents__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6948);
8011
+ /* harmony import */ var _components_sections_BannerText_DefaultComponents__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(719);
8012
+ /* harmony import */ var src_components_sections_Breadcrumb_DefaultComponents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(7649);
8013
+ /* harmony import */ var src_components_sections_CrossSellingShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8435);
8014
+ /* harmony import */ var _components_sections_Hero_DefaultComponents__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9569);
8015
+ /* harmony import */ var _components_sections_ProductDetails_DefaultComponents__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(1307);
8016
+ /* harmony import */ var _components_sections_ProductGallery_DefaultComponents__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5366);
8017
+ /* harmony import */ var _components_sections_ProductShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(2432);
8018
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_3__, _components_sections_ProductGallery__WEBPACK_IMPORTED_MODULE_6__, _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_7__]);
8019
+ ([_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_3__, _components_sections_ProductGallery__WEBPACK_IMPORTED_MODULE_6__, _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
8020
+
8021
+
6755
8022
 
6756
8023
 
6757
8024
 
@@ -6773,16 +8040,18 @@ const Sections = {
6773
8040
  CrossSellingShelf: _components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z,
6774
8041
  Hero: _components_sections_Hero__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z,
6775
8042
  ProductDetails: _components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z,
6776
- ProductShelf: _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z
8043
+ ProductGallery: _components_sections_ProductGallery__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z,
8044
+ ProductShelf: _components_sections_ProductShelf__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z
6777
8045
  };
6778
8046
  const DefaultComponents = {
6779
- Alert: _components_sections_Alert_DefaultComponents__WEBPACK_IMPORTED_MODULE_7__/* .AlertDefaultComponents */ .p,
6780
- BannerText: _components_sections_BannerText_DefaultComponents__WEBPACK_IMPORTED_MODULE_8__/* .BannerTextDefaultComponents */ .b,
6781
- Breadcrumb: src_components_sections_Breadcrumb_DefaultComponents__WEBPACK_IMPORTED_MODULE_9__/* .BreadcrumbDefaultComponents */ .Q,
6782
- CrossSellingShelf: src_components_sections_CrossSellingShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_10__/* .CrossSellingShelfDefaultComponents */ .q,
6783
- Hero: _components_sections_Hero_DefaultComponents__WEBPACK_IMPORTED_MODULE_11__/* .HeroDefaultComponents */ .O,
6784
- ProductDetails: _components_sections_ProductDetails_DefaultComponents__WEBPACK_IMPORTED_MODULE_12__/* .ProductDetailsDefaultComponents */ .l,
6785
- ProductShelf: _components_sections_ProductShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_13__/* .ProductShelfDefaultComponents */ .B
8047
+ Alert: _components_sections_Alert_DefaultComponents__WEBPACK_IMPORTED_MODULE_8__/* .AlertDefaultComponents */ .p,
8048
+ BannerText: _components_sections_BannerText_DefaultComponents__WEBPACK_IMPORTED_MODULE_9__/* .BannerTextDefaultComponents */ .b,
8049
+ Breadcrumb: src_components_sections_Breadcrumb_DefaultComponents__WEBPACK_IMPORTED_MODULE_10__/* .BreadcrumbDefaultComponents */ .Q,
8050
+ CrossSellingShelf: src_components_sections_CrossSellingShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_11__/* .CrossSellingShelfDefaultComponents */ .q,
8051
+ Hero: _components_sections_Hero_DefaultComponents__WEBPACK_IMPORTED_MODULE_12__/* .HeroDefaultComponents */ .O,
8052
+ ProductDetails: _components_sections_ProductDetails_DefaultComponents__WEBPACK_IMPORTED_MODULE_13__/* .ProductDetailsDefaultComponents */ .l,
8053
+ ProductGallery: _components_sections_ProductGallery_DefaultComponents__WEBPACK_IMPORTED_MODULE_14__/* .ProductGalleryDefaultComponents */ .h,
8054
+ ProductShelf: _components_sections_ProductShelf_DefaultComponents__WEBPACK_IMPORTED_MODULE_15__/* .ProductShelfDefaultComponents */ .B
6786
8055
  };
6787
8056
  __webpack_async_result__();
6788
8057
  } catch(e) { __webpack_async_result__(e); } });
@@ -6936,6 +8205,71 @@ const useProductLink = ({
6936
8205
 
6937
8206
  /***/ }),
6938
8207
 
8208
+ /***/ 4923:
8209
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
8210
+
8211
+ "use strict";
8212
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
8213
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8214
+ /* harmony export */ "Fl": () => (/* binding */ useProductsPrefetch)
8215
+ /* harmony export */ });
8216
+ /* unused harmony exports query, useProductsQueryPrefetch */
8217
+ /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3221);
8218
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
8219
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
8220
+ /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5941);
8221
+ /* harmony import */ var _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2953);
8222
+ /* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2523);
8223
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__]);
8224
+ ([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
8225
+ 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; }
8226
+
8227
+ 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; }
8228
+
8229
+ 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; }
8230
+
8231
+
8232
+
8233
+
8234
+
8235
+
8236
+ const query = "ClientManyProductsQuery";
8237
+ const useProductsQueryPrefetch = (variables, options) => {
8238
+ const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__/* .useLocalizedVariables */ .y)(variables);
8239
+ const {
8240
+ cache
8241
+ } = (0,swr__WEBPACK_IMPORTED_MODULE_1__.useSWRConfig)();
8242
+ return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => (0,_graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__/* .prefetchQuery */ .p)(query, localizedVariables, _objectSpread({
8243
+ cache
8244
+ }, options)), [localizedVariables, cache, options]);
8245
+ };
8246
+ const useProductsPrefetch = page => {
8247
+ const {
8248
+ itemsPerPage,
8249
+ state: {
8250
+ sort,
8251
+ term,
8252
+ selectedFacets
8253
+ }
8254
+ } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_4__/* .useSearch */ .R)();
8255
+ const prefetch = useProductsQueryPrefetch({
8256
+ first: itemsPerPage,
8257
+ after: (itemsPerPage * (page ?? 0)).toString(),
8258
+ sort,
8259
+ term: term ?? '',
8260
+ selectedFacets
8261
+ });
8262
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
8263
+ if (page !== null) {
8264
+ prefetch();
8265
+ }
8266
+ }, [page, prefetch]);
8267
+ };
8268
+ __webpack_async_result__();
8269
+ } catch(e) { __webpack_async_result__(e); } });
8270
+
8271
+ /***/ }),
8272
+
6939
8273
  /***/ 4867:
6940
8274
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
6941
8275
 
@@ -7004,6 +8338,90 @@ const formatSearchPath = ({
7004
8338
 
7005
8339
  /***/ }),
7006
8340
 
8341
+ /***/ 4891:
8342
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8343
+
8344
+ "use strict";
8345
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8346
+ /* harmony export */ "u": () => (/* binding */ useDelayedFacets)
8347
+ /* harmony export */ });
8348
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
8349
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
8350
+
8351
+ const useDelayedFacets = data => {
8352
+ const facets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);
8353
+ return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
8354
+ if (data) {
8355
+ facets.current = data.search?.facets;
8356
+ }
8357
+
8358
+ return facets.current;
8359
+ }, [data, facets]);
8360
+ };
8361
+
8362
+ /***/ }),
8363
+
8364
+ /***/ 3332:
8365
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8366
+
8367
+ "use strict";
8368
+
8369
+ // EXPORTS
8370
+ __webpack_require__.d(__webpack_exports__, {
8371
+ "g": () => (/* binding */ useDelayedPagination)
8372
+ });
8373
+
8374
+ // EXTERNAL MODULE: external "react"
8375
+ var external_react_ = __webpack_require__(6689);
8376
+ // EXTERNAL MODULE: ../sdk/dist/utils/format.js
8377
+ var format = __webpack_require__(2339);
8378
+ // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
8379
+ var useSearch = __webpack_require__(3221);
8380
+ ;// CONCATENATED MODULE: ../sdk/dist/search/usePagination.js
8381
+
8382
+
8383
+
8384
+ const getLink = (state) => {
8385
+ const { pathname, search } = (0,format/* default */.Z)(state);
8386
+ return `${pathname}${search}`;
8387
+ };
8388
+ const usePagination = (totalItems) => {
8389
+ const { pages, itemsPerPage, state } = (0,useSearch/* useSearch */.R)();
8390
+ const total = Math.ceil(totalItems / itemsPerPage);
8391
+ const next = Number(pages[pages.length - 1]) + 1;
8392
+ const prev = pages[0] - 1;
8393
+ return (0,external_react_.useMemo)(() => ({
8394
+ next: next < total && {
8395
+ cursor: next,
8396
+ link: getLink({ ...state, page: next }),
8397
+ },
8398
+ prev: prev > -1 && {
8399
+ cursor: prev,
8400
+ link: getLink({ ...state, page: prev }),
8401
+ },
8402
+ }), [next, prev, state, total]);
8403
+ };
8404
+ //# sourceMappingURL=usePagination.js.map
8405
+ ;// CONCATENATED MODULE: ./src/sdk/search/useDelayedPagination.ts
8406
+
8407
+
8408
+ const useDelayedPagination = totalCount => {
8409
+ const pagination = usePagination(totalCount);
8410
+ const {
8411
+ 0: pag,
8412
+ 1: setPag
8413
+ } = (0,external_react_.useState)(() => ({
8414
+ next: false,
8415
+ prev: false
8416
+ }));
8417
+ (0,external_react_.useEffect)(() => {
8418
+ setPag(pagination);
8419
+ }, [pagination]);
8420
+ return pag;
8421
+ };
8422
+
8423
+ /***/ }),
8424
+
7007
8425
  /***/ 5098:
7008
8426
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7009
8427
 
@@ -7449,6 +8867,18 @@ module.exports = {
7449
8867
  };
7450
8868
 
7451
8869
 
8870
+ /***/ }),
8871
+
8872
+ /***/ 4614:
8873
+ /***/ ((module) => {
8874
+
8875
+ // Exports
8876
+ module.exports = {
8877
+ "section": "section_section__EYj3x",
8878
+ "loading": "section_loading__Bzogw"
8879
+ };
8880
+
8881
+
7452
8882
  /***/ }),
7453
8883
 
7454
8884
  /***/ 6627:
@@ -7551,6 +8981,202 @@ const sendAnalyticsEvent = (event) => {
7551
8981
 
7552
8982
  /***/ }),
7553
8983
 
8984
+ /***/ 1197:
8985
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8986
+
8987
+ "use strict";
8988
+
8989
+ // EXPORTS
8990
+ __webpack_require__.d(__webpack_exports__, {
8991
+ "_": () => (/* binding */ Context),
8992
+ "z": () => (/* binding */ Provider)
8993
+ });
8994
+
8995
+ // EXTERNAL MODULE: external "react"
8996
+ var external_react_ = __webpack_require__(6689);
8997
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
8998
+ // EXTERNAL MODULE: ../sdk/dist/utils/error.js
8999
+ var error = __webpack_require__(2254);
9000
+ ;// CONCATENATED MODULE: ../sdk/dist/search/useInfiniteSearchState.js
9001
+
9002
+
9003
+ // Save the array containing loaded pages before navigating away from the PLP
9004
+ function setPagesSessionStorage(pages) {
9005
+ try {
9006
+ // Uses the key to identify a PLP
9007
+ const stateKey = window.history.state?.key;
9008
+ if (!stateKey) {
9009
+ return;
9010
+ }
9011
+ const storageKey = `__fs_gallery_page_${stateKey}`;
9012
+ sessionStorage.setItem(storageKey, JSON.stringify(pages));
9013
+ }
9014
+ catch (_) {
9015
+ return;
9016
+ }
9017
+ }
9018
+ function getPagesFromSessionStorage() {
9019
+ try {
9020
+ const stateKey = window.history.state?.key;
9021
+ if (!stateKey) {
9022
+ return null;
9023
+ }
9024
+ const storageKey = `__fs_gallery_page_${stateKey}`;
9025
+ const item = sessionStorage.getItem(storageKey);
9026
+ return item ? JSON.parse(item) : null;
9027
+ }
9028
+ catch (_) {
9029
+ return null;
9030
+ }
9031
+ }
9032
+ const reducer = (state, action) => {
9033
+ switch (action.type) {
9034
+ case 'addPrev': {
9035
+ const prev = state[0] - 1;
9036
+ const newState = [prev, ...state];
9037
+ setPagesSessionStorage(newState);
9038
+ return newState;
9039
+ }
9040
+ case 'addNext': {
9041
+ const next = Number(state[state.length - 1]) + 1;
9042
+ const newState = [...state, next];
9043
+ setPagesSessionStorage(newState);
9044
+ return newState;
9045
+ }
9046
+ case 'reset': {
9047
+ const { payload } = action;
9048
+ const newState = [payload];
9049
+ setPagesSessionStorage(newState);
9050
+ return newState;
9051
+ }
9052
+ default:
9053
+ throw new error/* SDKError */.q('Unknown action for infinite search');
9054
+ }
9055
+ };
9056
+ const useSearchInfiniteState = (initialPage) => {
9057
+ const [pages, dispatch] = (0,external_react_.useReducer)(reducer, undefined, () => getPagesFromSessionStorage() ?? [initialPage]);
9058
+ const actions = (0,external_react_.useMemo)(() => ({
9059
+ addPrevPage: () => dispatch({ type: 'addPrev' }),
9060
+ addNextPage: () => dispatch({ type: 'addNext' }),
9061
+ resetInfiniteScroll: (page) => dispatch({ type: 'reset', payload: page }),
9062
+ }), []);
9063
+ return { pages, ...actions };
9064
+ };
9065
+ //# sourceMappingURL=useInfiniteSearchState.js.map
9066
+ // EXTERNAL MODULE: ../sdk/dist/search/useSearchState.js
9067
+ var useSearchState = __webpack_require__(2524);
9068
+ ;// CONCATENATED MODULE: ../sdk/dist/search/Provider.js
9069
+
9070
+
9071
+
9072
+ const Context = (0,external_react_.createContext)(undefined);
9073
+ const Provider = ({ children, itemsPerPage, onChange, ...rest }) => {
9074
+ const { state, ...searchActions } = (0,useSearchState/* useSearchState */.X)(rest, onChange);
9075
+ const { pages, ...infiniteActions } = useSearchInfiniteState(state.page);
9076
+ const value = (0,external_react_.useMemo)(() => ({
9077
+ state,
9078
+ ...searchActions,
9079
+ pages,
9080
+ ...infiniteActions,
9081
+ itemsPerPage,
9082
+ }), [infiniteActions, itemsPerPage, pages, searchActions, state]);
9083
+ return external_react_default().createElement(Context.Provider, { value: value }, children);
9084
+ };
9085
+ //# sourceMappingURL=Provider.js.map
9086
+
9087
+ /***/ }),
9088
+
9089
+ /***/ 8492:
9090
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9091
+
9092
+ "use strict";
9093
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9094
+ /* harmony export */ "uL": () => (/* binding */ setFacet),
9095
+ /* harmony export */ "wB": () => (/* binding */ toggleFacet),
9096
+ /* harmony export */ "wb": () => (/* binding */ isSearchSort)
9097
+ /* harmony export */ });
9098
+ /* unused harmony exports removeFacet, toggleFacets */
9099
+ /* harmony import */ var _utils_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2254);
9100
+
9101
+ const sortKeys = new Set([
9102
+ 'price_desc',
9103
+ 'price_asc',
9104
+ 'orders_desc',
9105
+ 'name_desc',
9106
+ 'name_asc',
9107
+ 'release_desc',
9108
+ 'discount_desc',
9109
+ 'score_desc',
9110
+ ]);
9111
+ const isSearchSort = (x) => sortKeys.has(x);
9112
+ const removeFacet = (facets, facet) => {
9113
+ const { value } = facet;
9114
+ const index = facets.findIndex((x) => x.value === value);
9115
+ if (index < 0) {
9116
+ throw new _utils_error__WEBPACK_IMPORTED_MODULE_0__/* .SDKError */ .q(`Cannot remove ${value} from search params`);
9117
+ }
9118
+ return facets.filter((_, it) => it !== index);
9119
+ };
9120
+ const setFacet = (facets, facet, unique) => {
9121
+ if (unique === true) {
9122
+ const index = facets.findIndex((f) => f.key === facet.key);
9123
+ if (index > -1) {
9124
+ return facets.map((f, it) => (it === index ? facet : f));
9125
+ }
9126
+ }
9127
+ return [...facets, facet];
9128
+ };
9129
+ const toggleFacet = (facets, item) => {
9130
+ const found = facets.find((facet) => facet.key === item.key && facet.value === item.value);
9131
+ if (found !== undefined) {
9132
+ return removeFacet(facets, item);
9133
+ }
9134
+ return setFacet(facets, item, false);
9135
+ };
9136
+ const toggleFacets = (facets, items) => items.reduce((acc, curr) => toggleFacet(acc, curr), facets);
9137
+ //# sourceMappingURL=facets.js.map
9138
+
9139
+ /***/ }),
9140
+
9141
+ /***/ 3221:
9142
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9143
+
9144
+ "use strict";
9145
+
9146
+ // EXPORTS
9147
+ __webpack_require__.d(__webpack_exports__, {
9148
+ "R": () => (/* binding */ useSearch)
9149
+ });
9150
+
9151
+ // EXTERNAL MODULE: ../sdk/dist/search/Provider.js + 1 modules
9152
+ var Provider = __webpack_require__(1197);
9153
+ // EXTERNAL MODULE: external "react"
9154
+ var external_react_ = __webpack_require__(6689);
9155
+ // EXTERNAL MODULE: ../sdk/dist/utils/error.js
9156
+ var error = __webpack_require__(2254);
9157
+ ;// CONCATENATED MODULE: ../sdk/dist/utils/useContext.js
9158
+
9159
+
9160
+ /**
9161
+ * @description Like React.useContext but throws when the context's value === undefined.
9162
+ * This is useful when you want to force the context to be present in the React's tree before using it
9163
+ */
9164
+ const useContext = (context) => {
9165
+ const value = (0,external_react_.useContext)(context);
9166
+ if (value === undefined) {
9167
+ throw new error/* SDKError */.q(`${context.displayName ?? 'Context'} needs to be on the React tree`);
9168
+ }
9169
+ return value;
9170
+ };
9171
+ //# sourceMappingURL=useContext.js.map
9172
+ ;// CONCATENATED MODULE: ../sdk/dist/search/useSearch.js
9173
+
9174
+
9175
+ const useSearch = () => useContext(Provider/* Context */._);
9176
+ //# sourceMappingURL=useSearch.js.map
9177
+
9178
+ /***/ }),
9179
+
7554
9180
  /***/ 2524:
7555
9181
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7556
9182