@faststore/core 2.1.53 → 2.1.55

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 (106) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +49 -49
  3. package/.next/cache/config.json +3 -3
  4. package/.next/cache/eslint/.cache_1gneedd +1 -1
  5. package/.next/cache/next-server.js.nft.json +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-server.js.nft.json +1 -1
  11. package/.next/prerender-manifest.json +1 -1
  12. package/.next/react-loadable-manifest.json +9 -9
  13. package/.next/routes-manifest.json +1 -1
  14. package/.next/server/chunks/107.js +56 -0
  15. package/.next/server/chunks/186.js +22 -23
  16. package/.next/server/chunks/{886.js → 188.js} +32 -33
  17. package/.next/server/chunks/289.js +4 -5
  18. package/.next/server/chunks/{502.js → 309.js} +76 -78
  19. package/.next/server/chunks/312.js +222 -231
  20. package/.next/server/chunks/350.js +1 -1
  21. package/.next/server/chunks/{721.js → 430.js} +23 -25
  22. package/.next/server/chunks/{269.js → 581.js} +132 -136
  23. package/.next/server/chunks/74.js +3049 -3078
  24. package/.next/server/chunks/{247.js → 744.js} +23 -24
  25. package/.next/server/chunks/{597.js → 751.js} +19 -20
  26. package/.next/server/chunks/{123.js → 90.js} +11 -12
  27. package/.next/server/chunks/907.js +334 -342
  28. package/.next/server/chunks/{253.js → 934.js} +37 -38
  29. package/.next/server/chunks/{81.js → 953.js} +55 -59
  30. package/.next/server/middleware-build-manifest.js +1 -1
  31. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  32. package/.next/server/pages/404.js +2 -2
  33. package/.next/server/pages/404.js.nft.json +1 -1
  34. package/.next/server/pages/500.js +2 -2
  35. package/.next/server/pages/500.js.nft.json +1 -1
  36. package/.next/server/pages/[...slug].js +7 -7
  37. package/.next/server/pages/[...slug].js.nft.json +1 -1
  38. package/.next/server/pages/[slug]/p.js +84 -86
  39. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  40. package/.next/server/pages/_app.js +2 -2
  41. package/.next/server/pages/_app.js.nft.json +1 -1
  42. package/.next/server/pages/account.js +1 -1
  43. package/.next/server/pages/account.js.nft.json +1 -1
  44. package/.next/server/pages/api/graphql.js +1 -1
  45. package/.next/server/pages/checkout.js +1 -1
  46. package/.next/server/pages/checkout.js.nft.json +1 -1
  47. package/.next/server/pages/en-US/404.html +2 -2
  48. package/.next/server/pages/en-US/500.html +2 -2
  49. package/.next/server/pages/en-US/account.html +2 -2
  50. package/.next/server/pages/en-US/checkout.html +2 -2
  51. package/.next/server/pages/en-US/login.html +2 -2
  52. package/.next/server/pages/en-US/s.html +2 -2
  53. package/.next/server/pages/en-US.html +2 -2
  54. package/.next/server/pages/index.js +3 -3
  55. package/.next/server/pages/index.js.nft.json +1 -1
  56. package/.next/server/pages/login.js +2 -2
  57. package/.next/server/pages/login.js.nft.json +1 -1
  58. package/.next/server/pages/s.js +3 -3
  59. package/.next/server/pages/s.js.nft.json +1 -1
  60. package/.next/server/pages-manifest.json +2 -2
  61. package/.next/static/chunks/{64.2f385ef39cd5877d.js → 27.37e4942c9236a071.js} +1 -1
  62. package/.next/static/chunks/309.548249b3b3588d3b.js +1 -0
  63. package/.next/static/chunks/33-7f26ec3a5ae7a227.js +1 -0
  64. package/.next/static/chunks/548-ab84e9e8b49413ab.js +1 -0
  65. package/.next/static/chunks/676.b7bc42f3e37ff88f.js +1 -0
  66. package/.next/static/chunks/686-78f207384adb0d83.js +1 -0
  67. package/.next/static/chunks/{738-a5ff304828f20cbf.js → 738-67a288ca3569cdbb.js} +1 -1
  68. package/.next/static/chunks/751.f9415d15cb5be269.js +1 -0
  69. package/.next/static/chunks/917-bf452887bdb70e03.js +1 -0
  70. package/.next/static/chunks/pages/404-7812758b206af5cc.js +1 -0
  71. package/.next/static/chunks/pages/500-0c1b954316d40621.js +1 -0
  72. package/.next/static/chunks/pages/{[...slug]-bcfaf0c5d60b57a0.js → [...slug]-fd9cc16734d8f161.js} +1 -1
  73. package/.next/static/chunks/pages/[slug]/p-5a83993d8ff855a6.js +1 -0
  74. package/.next/static/chunks/pages/_app-73e1a1982ec17ff6.js +1 -0
  75. package/.next/static/chunks/pages/account-ac4fa43a2d996db5.js +1 -0
  76. package/.next/static/chunks/pages/checkout-fa13dc49318df859.js +1 -0
  77. package/.next/static/chunks/pages/{index-bdbfb082027ed2b7.js → index-e8b556e0a22cf818.js} +1 -1
  78. package/.next/static/chunks/pages/login-5759fba9bb7ae351.js +1 -0
  79. package/.next/static/chunks/pages/s-a63dd94090d398be.js +1 -0
  80. package/.next/static/chunks/webpack-1d498edbf92d70ad.js +1 -0
  81. package/.next/static/eyFnbBbCBoWbp9h5XhZVV/_buildManifest.js +1 -0
  82. package/.next/trace +80 -80
  83. package/.turbo/turbo-build.log +6 -6
  84. package/cypress/integration/analytics.test.js +1 -5
  85. package/cypress/integration/cart.test.js +20 -14
  86. package/cypress/integration/search.test.js +1 -1
  87. package/package.json +4 -4
  88. package/.next/server/chunks/287.js +0 -58
  89. package/.next/static/chunks/209-d1d2eeaeefbc68f7.js +0 -1
  90. package/.next/static/chunks/495.0ecd099878b2a36d.js +0 -1
  91. package/.next/static/chunks/502.b14533723651e5a1.js +0 -1
  92. package/.next/static/chunks/548-6b23e7ad82cd22b9.js +0 -1
  93. package/.next/static/chunks/597.f8d0595b113c70af.js +0 -1
  94. package/.next/static/chunks/706-b3046536d4b7dd3f.js +0 -1
  95. package/.next/static/chunks/791-5b3d23f5b6100959.js +0 -1
  96. package/.next/static/chunks/pages/404-14d27e3706f3d2c3.js +0 -1
  97. package/.next/static/chunks/pages/500-250ccf5c9626e451.js +0 -1
  98. package/.next/static/chunks/pages/[slug]/p-44e66d729b2413fb.js +0 -1
  99. package/.next/static/chunks/pages/_app-9b6c4be3c7a42b65.js +0 -1
  100. package/.next/static/chunks/pages/account-d248acc931146694.js +0 -1
  101. package/.next/static/chunks/pages/checkout-97f6d6f36f041a6f.js +0 -1
  102. package/.next/static/chunks/pages/login-b1bdf30c951bb60d.js +0 -1
  103. package/.next/static/chunks/pages/s-aabfa5c08338974a.js +0 -1
  104. package/.next/static/chunks/webpack-63838fd23f69de45.js +0 -1
  105. package/.next/static/zNldw1SvMV6q0YSYCBqoy/_buildManifest.js +0 -1
  106. /package/.next/static/{zNldw1SvMV6q0YSYCBqoy → eyFnbBbCBoWbp9h5XhZVV}/_ssgManifest.js +0 -0
@@ -2,301 +2,7 @@ exports.id = 907;
2
2
  exports.ids = [907];
3
3
  exports.modules = {
4
4
 
5
- /***/ 7434:
6
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
-
8
- "use strict";
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
11
- /* harmony export */ });
12
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
14
-
15
- function EmptyState({ testId = 'fs-empty-state', title, titleIcon, variant = 'default', bkgColor = 'default', children, ...otherProps }) {
16
- 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 },
17
- title && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-empty-state-title": true },
18
- titleIcon && react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, titleIcon),
19
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, title))),
20
- children));
21
- }
22
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmptyState);
23
- //# sourceMappingURL=EmptyState.js.map
24
-
25
- /***/ }),
26
-
27
- /***/ 10939:
28
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29
-
30
- "use strict";
31
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
33
- /* harmony export */ });
34
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
35
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
36
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39739);
37
-
38
-
39
- function Filter({ testId, title, indicesExpanded, onAccordionChange, children, }) {
40
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-filter": true, "data-testid": testId },
41
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", { "data-fs-filter-title": true }, title),
42
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { indices: indicesExpanded, onChange: onAccordionChange, "data-fs-filter-accordion": true }, children)));
43
- }
44
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Filter);
45
- //# sourceMappingURL=Filter.js.map
46
-
47
- /***/ }),
48
-
49
- /***/ 46569:
50
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
51
-
52
- "use strict";
53
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
54
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
55
- /* harmony export */ });
56
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
57
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
58
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41329);
59
-
60
-
61
- function FilterFacetBoolean({ children }) {
62
- return react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-filter-list": true }, children);
63
- }
64
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterFacetBoolean);
65
- //# sourceMappingURL=FilterFacetBoolean.js.map
66
-
67
- /***/ }),
68
-
69
- /***/ 86854:
70
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
71
-
72
- "use strict";
73
-
74
- // EXPORTS
75
- __webpack_require__.d(__webpack_exports__, {
76
- "Z": () => (/* binding */ Filter_FilterFacetBooleanItem)
77
- });
78
-
79
- // EXTERNAL MODULE: external "react"
80
- var external_react_ = __webpack_require__(16689);
81
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
82
- ;// CONCATENATED MODULE: ../components/dist/atoms/Checkbox/Checkbox.js
83
-
84
- const Checkbox = (0,external_react_.forwardRef)(function Checkbox({ testId = 'fs-checkbox', partial, ...otherProps }, ref) {
85
- return (external_react_default().createElement("input", { ref: ref, "data-fs-checkbox": true, "data-testid": testId, "data-fs-checkbox-partial": partial, type: "checkbox", ...otherProps }));
86
- });
87
- /* harmony default export */ const Checkbox_Checkbox = (Checkbox);
88
- //# sourceMappingURL=Checkbox.js.map
89
- // EXTERNAL MODULE: ../components/dist/atoms/Label/Label.js
90
- var Label = __webpack_require__(57216);
91
- // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
92
- var Badge = __webpack_require__(10044);
93
- ;// CONCATENATED MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js
94
-
95
-
96
- function FilterFacetBooleanItem({ testId, id, selected, value, quantity, facetKey, label, onFacetChange, }) {
97
- return (external_react_default().createElement("li", { key: id, "data-fs-filter-list-item": true },
98
- 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 }),
99
- external_react_default().createElement(Label/* default */.Z, { htmlFor: id, className: "text__title-mini-alt", "data-fs-filter-list-item-label": true },
100
- label,
101
- " ",
102
- external_react_default().createElement(Badge/* default */.Z, { "data-fs-filter-list-item-badge": true }, quantity))));
103
- }
104
- /* harmony default export */ const Filter_FilterFacetBooleanItem = (FilterFacetBooleanItem);
105
- //# sourceMappingURL=FilterFacetBooleanItem.js.map
106
-
107
- /***/ }),
108
-
109
- /***/ 87375:
110
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
111
-
112
- "use strict";
113
-
114
- // EXPORTS
115
- __webpack_require__.d(__webpack_exports__, {
116
- "Z": () => (/* binding */ Filter_FilterFacetRange)
117
- });
118
-
119
- // EXTERNAL MODULE: external "react"
120
- var external_react_ = __webpack_require__(16689);
121
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
122
- ;// CONCATENATED MODULE: ../components/dist/atoms/Slider/Slider.js
123
- /**
124
- * This code is inspired by the work of [sandra-lewis](https://codesandbox.io/u/sandra-lewis)
125
- */
126
-
127
- const percent = (value, min, max) => Math.round(((value - min) / (max - min)) * 100);
128
- const Slider = (0,external_react_.forwardRef)(function Slider({ min, max, absoluteValuesLabel, onChange, onEnd, testId = 'fs-slider', getAriaValueText, step, minValueLabelComponent, maxValueLabelComponent, ...otherProps }, ref) {
129
- const widthPercent = (0,external_react_.useMemo)(() => (max.absolute - min.absolute) / 100, [max.absolute, min.absolute]);
130
- const [minPercent, setMinPercent] = (0,external_react_.useState)(() => percent(min.selected, min.absolute, max.absolute));
131
- const [maxPercent, setMaxPercent] = (0,external_react_.useState)(() => percent(max.selected, min.absolute, max.absolute));
132
- const [minVal, setMinVal] = (0,external_react_.useState)(() => Math.floor(min.absolute + minPercent * widthPercent));
133
- const [maxVal, setMaxVal] = (0,external_react_.useState)(() => Math.round(min.absolute + maxPercent * widthPercent));
134
- const percentage = (value) => (value / max.absolute) * 100;
135
- (0,external_react_.useImperativeHandle)(ref, () => ({
136
- setSliderValues: (values) => {
137
- const sliderMinValue = Math.min(Number(values.min), maxVal);
138
- setMinVal(sliderMinValue);
139
- setMinPercent(percent(sliderMinValue, min.absolute, max.absolute));
140
- if (values.max > max.absolute) {
141
- setMaxVal(max.absolute);
142
- setMaxPercent(percent(max.absolute, min.absolute, max.absolute));
143
- return;
144
- }
145
- const sliderMaxValue = Math.max(Number(values.max), minVal);
146
- setMaxVal(sliderMaxValue);
147
- setMaxPercent(percent(sliderMaxValue, min.absolute, max.absolute));
148
- },
149
- }));
150
- return (external_react_default().createElement("div", { "data-fs-slider": true, "data-testid": testId },
151
- external_react_default().createElement("div", { "data-fs-slider-absolute-values": true },
152
- external_react_default().createElement("span", null, absoluteValuesLabel.min),
153
- external_react_default().createElement("span", null, absoluteValuesLabel.max)),
154
- external_react_default().createElement("div", { "data-fs-slider-wrapper": true },
155
- external_react_default().createElement("div", { "data-fs-slider-range": true, style: {
156
- left: `${minPercent}%`,
157
- width: `${maxPercent - minPercent}%`,
158
- } }),
159
- 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) => {
160
- const minValue = Math.min(Number(event.target.value), maxVal);
161
- setMinVal(minValue);
162
- setMinPercent(percent(minValue, min.absolute, max.absolute));
163
- onChange?.({ min: minValue, max: maxVal });
164
- }, "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'), ...otherProps }),
165
- minValueLabelComponent && (external_react_default().createElement("span", { "data-fs-slider-value-label": "min", style: {
166
- left: `calc(${percentage(minVal)}% + (${8 - percentage(minVal) * 0.2}px))`,
167
- } }, minValueLabelComponent(minVal))),
168
- 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) => {
169
- const maxValue = Math.max(Number(event.target.value), minVal);
170
- setMaxVal(maxValue);
171
- setMaxPercent(percent(maxValue, min.absolute, max.absolute));
172
- onChange?.({ min: minVal, max: maxValue });
173
- }, "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') }),
174
- maxValueLabelComponent && (external_react_default().createElement("span", { "data-fs-slider-value-label": "max", style: {
175
- left: `calc(${percentage(maxVal)}% + (${8 - percentage(maxVal) * 0.2}px))`,
176
- } }, maxValueLabelComponent(maxVal))))));
177
- });
178
- /* harmony default export */ const Slider_Slider = (Slider);
179
- //# sourceMappingURL=Slider.js.map
180
- // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
181
- var Price = __webpack_require__(57549);
182
- // EXTERNAL MODULE: ../components/dist/molecules/InputField/InputField.js
183
- var InputField = __webpack_require__(28287);
184
- ;// CONCATENATED MODULE: ../components/dist/organisms/PriceRange/PriceRange.js
185
-
186
-
187
- 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) {
188
- const sliderRef = (0,external_react_.useRef)();
189
- (0,external_react_.useImperativeHandle)(ref, () => ({
190
- setPriceRangeValues: (values) => {
191
- onChange?.(values);
192
- sliderRef.current?.setSliderValues(values);
193
- },
194
- }));
195
- const inputMinRef = (0,external_react_.useRef)(null);
196
- const inputMaxRef = (0,external_react_.useRef)(null);
197
- const [inputMinError, setInputMinError] = (0,external_react_.useState)();
198
- const [inputMaxError, setInputMaxError] = (0,external_react_.useState)();
199
- const [priceRange, setPriceRange] = (0,external_react_.useState)({
200
- min: Math.floor(min.selected),
201
- max: Math.round(max.selected),
202
- });
203
- function onChangePriceRange(value) {
204
- setInputMinError(undefined);
205
- setInputMaxError(undefined);
206
- setPriceRange({ min: value.min, max: value.max });
207
- if (inputMinRef.current?.value) {
208
- inputMinRef.current.value = String(value.min);
209
- }
210
- if (inputMaxRef.current?.value) {
211
- inputMaxRef.current.value = String(value.max);
212
- }
213
- }
214
- function onChangeInputMin(value) {
215
- setInputMinError(undefined);
216
- if (Number(value) < Math.floor(min.absolute)) {
217
- return;
218
- }
219
- if (Number(value) > Math.floor(priceRange.max)) {
220
- setInputMinError(`Min price can't be greater than max`);
221
- }
222
- setPriceRange({ ...priceRange, min: Number(value) });
223
- sliderRef.current?.setSliderValues({
224
- ...priceRange,
225
- min: Number(value),
226
- });
227
- }
228
- function onChangeInputMax(value) {
229
- setInputMaxError(undefined);
230
- if (Number(value) > Math.round(max.absolute)) {
231
- return;
232
- }
233
- if (Number(value) < Math.round(priceRange.min)) {
234
- setInputMaxError(`Max price can't be smaller than min`);
235
- }
236
- setPriceRange({ ...priceRange, max: Number(value) });
237
- sliderRef.current?.setSliderValues({
238
- ...priceRange,
239
- max: Number(value),
240
- });
241
- }
242
- return (external_react_default().createElement("div", { "data-fs-price-range": true, "data-testid": testId, ...otherProps },
243
- external_react_default().createElement(Slider_Slider, { ref: sliderRef, min: min, max: max, step: step, onEnd: (value) => {
244
- onEnd?.(value);
245
- onChangePriceRange(value);
246
- }, "aria-label": ariaLabel, onChange: (value) => onChange?.(value), absoluteValuesLabel: {
247
- min: (external_react_default().createElement(Price/* default */.Z, { value: Math.floor(min.absolute), variant: variant, formatter: formatter })),
248
- max: (external_react_default().createElement(Price/* default */.Z, { value: Math.round(max.absolute), variant: variant, formatter: formatter })),
249
- }, minValueLabelComponent: (minValue) => {
250
- return (external_react_default().createElement(Price/* default */.Z, { value: minValue, variant: variant, formatter: formatter }));
251
- }, maxValueLabelComponent: (maxValue) => {
252
- return (external_react_default().createElement(Price/* default */.Z, { value: maxValue, variant: variant, formatter: formatter }));
253
- } }),
254
- external_react_default().createElement("div", { "data-fs-price-range-inputs": true },
255
- 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) }),
256
- 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) }))));
257
- });
258
- /* harmony default export */ const PriceRange_PriceRange = (PriceRange);
259
- //# sourceMappingURL=PriceRange.js.map
260
- ;// CONCATENATED MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js
261
-
262
-
263
- const formatRange = (min, max) => `${min.toFixed(2)}-to-${max.toFixed(2)}`;
264
- function FilterFacetRange({ min, max, formatter, facetKey, onFacetChange, }) {
265
- return (external_react_default().createElement(PriceRange_PriceRange, { "data-fs-filter-facet-range": true, min: min, max: max, formatter: formatter, step: 1, onEnd: (v) => onFacetChange({
266
- key: facetKey,
267
- value: formatRange(v.min, v.max),
268
- }, 'RANGE') }));
269
- }
270
- /* harmony default export */ const Filter_FilterFacetRange = (FilterFacetRange);
271
- //# sourceMappingURL=FilterFacetRange.js.map
272
-
273
- /***/ }),
274
-
275
- /***/ 40226:
276
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
277
-
278
- "use strict";
279
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
280
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
281
- /* harmony export */ });
282
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
283
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
284
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60997);
285
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47743);
286
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20331);
287
-
288
-
289
- function FilterFacets({ testId, label, index, children, type, }) {
290
- 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 },
291
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { testId: `${testId}-accordion-button` }, label),
292
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, null, children)));
293
- }
294
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterFacets);
295
- //# sourceMappingURL=FilterFacets.js.map
296
-
297
- /***/ }),
298
-
299
- /***/ 94256:
5
+ /***/ 62651:
300
6
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
301
7
 
302
8
  "use strict";
@@ -312,34 +18,33 @@ __webpack_require__.d(__webpack_exports__, {
312
18
  var useSearch = __webpack_require__(73221);
313
19
  // EXTERNAL MODULE: external "react"
314
20
  var external_react_ = __webpack_require__(16689);
315
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
316
21
  // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
317
- var useFadeEffect = __webpack_require__(6074);
22
+ var useFadeEffect = __webpack_require__(2127);
318
23
  // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
319
- var UIProvider = __webpack_require__(90395);
24
+ var UIProvider = __webpack_require__(35728);
320
25
  // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOver.js
321
- var SlideOver = __webpack_require__(31021);
26
+ var SlideOver = __webpack_require__(95631);
322
27
  // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOverHeader.js
323
- var SlideOverHeader = __webpack_require__(89648);
28
+ var SlideOverHeader = __webpack_require__(53925);
324
29
  // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
325
- var Button = __webpack_require__(57578);
30
+ var Button = __webpack_require__(33815);
326
31
  ;// CONCATENATED MODULE: ../components/dist/organisms/Filter/FilterSlider.js
327
32
 
328
33
 
329
34
  function FilterSlider({ title, size, direction, children, applyBtnProps, clearBtnProps, overlayProps, onClose, ...otherProps }) {
330
35
  const { fade, fadeOut } = (0,useFadeEffect/* useFadeEffect */.b)();
331
36
  const { closeFilter } = (0,UIProvider/* useUI */.l)();
332
- return (external_react_default().createElement(SlideOver/* default */.Z, { "data-fs-filter-slider": true, isOpen: true, fade: fade, onDismiss: fadeOut, size: size, direction: direction, onTransitionEnd: () => fade === 'out' && closeFilter(), overlayProps: overlayProps, ...otherProps },
333
- external_react_default().createElement("div", { "data-fs-filter-slider-content": true },
334
- external_react_default().createElement(SlideOverHeader/* default */.Z, { onClose: () => {
37
+ return (external_react_.createElement(SlideOver/* default */.Z, { "data-fs-filter-slider": true, isOpen: true, fade: fade, onDismiss: fadeOut, size: size, direction: direction, onTransitionEnd: () => fade === 'out' && closeFilter(), overlayProps: overlayProps, ...otherProps },
38
+ external_react_.createElement("div", { "data-fs-filter-slider-content": true },
39
+ external_react_.createElement(SlideOverHeader/* default */.Z, { onClose: () => {
335
40
  onClose();
336
41
  fadeOut();
337
42
  } },
338
- external_react_default().createElement("h2", { "data-fs-filter-slider-title": true }, title)),
43
+ external_react_.createElement("h2", { "data-fs-filter-slider-title": true }, title)),
339
44
  children),
340
- external_react_default().createElement("footer", { "data-fs-filter-slider-footer": true },
341
- external_react_default().createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-clear": true, ...clearBtnProps }),
342
- external_react_default().createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-apply": true, "data-testid": "filter-slider-button-apply", ...applyBtnProps, onClick: (e) => {
45
+ external_react_.createElement("footer", { "data-fs-filter-slider-footer": true },
46
+ external_react_.createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-clear": true, ...clearBtnProps }),
47
+ external_react_.createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-apply": true, "data-testid": "filter-slider-button-apply", ...applyBtnProps, onClick: (e) => {
343
48
  applyBtnProps?.onClick?.(e);
344
49
  fadeOut();
345
50
  } }))));
@@ -347,15 +52,15 @@ function FilterSlider({ title, size, direction, children, applyBtnProps, clearBt
347
52
  /* harmony default export */ const Filter_FilterSlider = (FilterSlider);
348
53
  //# sourceMappingURL=FilterSlider.js.map
349
54
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/Filter.js
350
- var Filter = __webpack_require__(10939);
55
+ var Filter = __webpack_require__(87746);
351
56
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacets.js
352
- var FilterFacets = __webpack_require__(40226);
57
+ var FilterFacets = __webpack_require__(71197);
353
58
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBoolean.js
354
- var FilterFacetBoolean = __webpack_require__(46569);
59
+ var FilterFacetBoolean = __webpack_require__(90281);
355
60
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
356
- var FilterFacetBooleanItem = __webpack_require__(86854);
61
+ var FilterFacetBooleanItem = __webpack_require__(33926);
357
62
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js + 2 modules
358
- var FilterFacetRange = __webpack_require__(87375);
63
+ var FilterFacetRange = __webpack_require__(64042);
359
64
  // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
360
65
  var useFormattedPrice = __webpack_require__(95346);
361
66
  // EXTERNAL MODULE: ./src/components/search/Filter/section.module.scss
@@ -492,7 +197,7 @@ __webpack_require__.d(__webpack_exports__, {
492
197
  // UNUSED EXPORTS: FilterSlider
493
198
 
494
199
  // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
495
- var UIProvider = __webpack_require__(90395);
200
+ var UIProvider = __webpack_require__(35728);
496
201
  // EXTERNAL MODULE: external "react"
497
202
  var external_react_ = __webpack_require__(16689);
498
203
  // EXTERNAL MODULE: ../sdk/dist/search/facets.js
@@ -677,14 +382,14 @@ function Filter({
677
382
  const fragment = "unknown";
678
383
  /* harmony default export */ const Filter_Filter = (Filter);
679
384
  // EXTERNAL MODULE: ./src/components/search/Filter/FilterSlider.tsx + 1 modules
680
- var FilterSlider = __webpack_require__(94256);
385
+ var FilterSlider = __webpack_require__(62651);
681
386
  ;// CONCATENATED MODULE: ./src/components/search/Filter/index.ts
682
387
 
683
388
 
684
389
 
685
390
  /***/ }),
686
391
 
687
- /***/ 93532:
392
+ /***/ 17581:
688
393
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
689
394
 
690
395
  "use strict";
@@ -698,18 +403,17 @@ __webpack_require__.d(__webpack_exports__, {
698
403
  var useSearch = __webpack_require__(73221);
699
404
  // EXTERNAL MODULE: external "react"
700
405
  var external_react_ = __webpack_require__(16689);
701
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
702
406
  // EXTERNAL MODULE: ../components/dist/atoms/Label/Label.js
703
- var Label = __webpack_require__(57216);
407
+ var Label = __webpack_require__(37993);
704
408
  // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
705
- var Icon = __webpack_require__(25045);
409
+ var Icon = __webpack_require__(82185);
706
410
  ;// CONCATENATED MODULE: ../components/dist/atoms/Select/Select.js
707
411
 
708
412
 
709
413
  const Select = (0,external_react_.forwardRef)(function Select({ options, id, testId = 'fs-select', ...otherProps }, ref) {
710
- return (external_react_default().createElement("div", { "data-fs-select": true },
711
- 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])))),
712
- external_react_default().createElement(Icon/* default */.Z, { "data-fs-select-icon": true, name: "CaretDown" })));
414
+ return (external_react_.createElement("div", { "data-fs-select": true },
415
+ external_react_.createElement("select", { ref: ref, id: id, "data-testid": testId, ...otherProps }, Object.keys(options).map((key) => (external_react_.createElement("option", { key: key, value: key }, options[key])))),
416
+ external_react_.createElement(Icon/* default */.Z, { "data-fs-select-icon": true, name: "CaretDown" })));
713
417
  });
714
418
  /* harmony default export */ const Select_Select = (Select);
715
419
  //# sourceMappingURL=Select.js.map
@@ -717,9 +421,9 @@ const Select = (0,external_react_.forwardRef)(function Select({ options, id, tes
717
421
 
718
422
 
719
423
  const SelectField = (0,external_react_.forwardRef)(function SelectField({ id, label, options, testId = 'fs-select-field', ...otherProps }, ref) {
720
- return (external_react_default().createElement("div", { ref: ref, "data-fs-select-field": true },
721
- external_react_default().createElement(Label/* default */.Z, { "data-fs-select-field-label": true, htmlFor: id }, label),
722
- external_react_default().createElement(Select_Select, { id: id, options: options, "data-testid": testId, ...otherProps })));
424
+ return (external_react_.createElement("div", { ref: ref, "data-fs-select-field": true },
425
+ external_react_.createElement(Label/* default */.Z, { "data-fs-select-field-label": true, htmlFor: id }, label),
426
+ external_react_.createElement(Select_Select, { id: id, options: options, "data-testid": testId, ...otherProps })));
723
427
  });
724
428
  /* harmony default export */ const SelectField_SelectField = (SelectField);
725
429
  //# sourceMappingURL=SelectField.js.map
@@ -789,9 +493,9 @@ function Sort({
789
493
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
790
494
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
791
495
  /* harmony export */ });
792
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7434);
793
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25045);
794
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67703);
496
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35611);
497
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82185);
498
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46481);
795
499
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
796
500
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
797
501
 
@@ -861,29 +565,29 @@ __webpack_require__.d(__webpack_exports__, {
861
565
  // EXTERNAL MODULE: external "react"
862
566
  var external_react_ = __webpack_require__(16689);
863
567
  // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
864
- var Button = __webpack_require__(57578);
568
+ var Button = __webpack_require__(33815);
865
569
  // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
866
- var Icon = __webpack_require__(25045);
570
+ var Icon = __webpack_require__(82185);
867
571
  // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
868
- var Skeleton = __webpack_require__(2928);
572
+ var Skeleton = __webpack_require__(78416);
869
573
  // EXTERNAL MODULE: ../components/dist/molecules/LinkButton/LinkButton.js
870
- var LinkButton = __webpack_require__(67703);
574
+ var LinkButton = __webpack_require__(46481);
871
575
  // EXTERNAL MODULE: ./src/components/product/ProductCard/index.ts + 4 modules
872
- var ProductCard = __webpack_require__(56475);
576
+ var ProductCard = __webpack_require__(853);
873
577
  // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
874
578
  var useSearch = __webpack_require__(73221);
875
579
  // EXTERNAL MODULE: ../sdk/dist/search/facets.js
876
580
  var search_facets = __webpack_require__(9664);
877
581
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/Filter.js
878
- var Filter = __webpack_require__(10939);
582
+ var Filter = __webpack_require__(87746);
879
583
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacets.js
880
- var FilterFacets = __webpack_require__(40226);
584
+ var FilterFacets = __webpack_require__(71197);
881
585
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBoolean.js
882
- var FilterFacetBoolean = __webpack_require__(46569);
586
+ var FilterFacetBoolean = __webpack_require__(90281);
883
587
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
884
- var FilterFacetBooleanItem = __webpack_require__(86854);
588
+ var FilterFacetBooleanItem = __webpack_require__(33926);
885
589
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js + 2 modules
886
- var FilterFacetRange = __webpack_require__(87375);
590
+ var FilterFacetRange = __webpack_require__(64042);
887
591
  // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
888
592
  var useFormattedPrice = __webpack_require__(95346);
889
593
  // EXTERNAL MODULE: external "react/jsx-runtime"
@@ -982,7 +686,7 @@ const override = {
982
686
 
983
687
 
984
688
 
985
- const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 94256)));
689
+ const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 62651)));
986
690
 
987
691
 
988
692
  const {
@@ -1172,7 +876,7 @@ __webpack_require__.d(__webpack_exports__, {
1172
876
  });
1173
877
 
1174
878
  // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
1175
- var Skeleton = __webpack_require__(2928);
879
+ var Skeleton = __webpack_require__(78416);
1176
880
  // EXTERNAL MODULE: external "react/jsx-runtime"
1177
881
  var jsx_runtime_ = __webpack_require__(20997);
1178
882
  ;// CONCATENATED MODULE: ./src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx
@@ -1290,9 +994,9 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1290
994
  /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_0__);
1291
995
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
1292
996
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1293
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(90395);
997
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(35728);
1294
998
  /* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36171);
1295
- /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93532);
999
+ /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17581);
1296
1000
  /* harmony import */ var src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25473);
1297
1001
  /* harmony import */ var src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89913);
1298
1002
  /* harmony import */ var _useDelayedFacets__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6341);
@@ -1905,6 +1609,294 @@ const useContext = (context) => {
1905
1609
  const useSearch = () => useContext(Provider/* Context */._);
1906
1610
  //# sourceMappingURL=useSearch.js.map
1907
1611
 
1612
+ /***/ }),
1613
+
1614
+ /***/ 35611:
1615
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1616
+
1617
+ "use strict";
1618
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1619
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1620
+ /* harmony export */ });
1621
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1622
+
1623
+ function EmptyState({ testId = 'fs-empty-state', title, titleIcon, variant = 'default', bkgColor = 'default', children, ...otherProps }) {
1624
+ return (react__WEBPACK_IMPORTED_MODULE_0__.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 },
1625
+ title && (react__WEBPACK_IMPORTED_MODULE_0__.createElement("header", { "data-fs-empty-state-title": true },
1626
+ titleIcon && react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, titleIcon),
1627
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", null, title))),
1628
+ children));
1629
+ }
1630
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmptyState);
1631
+ //# sourceMappingURL=EmptyState.js.map
1632
+
1633
+ /***/ }),
1634
+
1635
+ /***/ 87746:
1636
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1637
+
1638
+ "use strict";
1639
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1640
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1641
+ /* harmony export */ });
1642
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1643
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93872);
1644
+
1645
+
1646
+ function Filter({ testId, title, indicesExpanded, onAccordionChange, children, }) {
1647
+ return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { "data-fs-filter": true, "data-testid": testId },
1648
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement("h2", { "data-fs-filter-title": true }, title),
1649
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { indices: indicesExpanded, onChange: onAccordionChange, "data-fs-filter-accordion": true }, children)));
1650
+ }
1651
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Filter);
1652
+ //# sourceMappingURL=Filter.js.map
1653
+
1654
+ /***/ }),
1655
+
1656
+ /***/ 90281:
1657
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1658
+
1659
+ "use strict";
1660
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1661
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1662
+ /* harmony export */ });
1663
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1664
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58823);
1665
+
1666
+
1667
+ function FilterFacetBoolean({ children }) {
1668
+ return react__WEBPACK_IMPORTED_MODULE_0__.createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-filter-list": true }, children);
1669
+ }
1670
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterFacetBoolean);
1671
+ //# sourceMappingURL=FilterFacetBoolean.js.map
1672
+
1673
+ /***/ }),
1674
+
1675
+ /***/ 33926:
1676
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1677
+
1678
+ "use strict";
1679
+
1680
+ // EXPORTS
1681
+ __webpack_require__.d(__webpack_exports__, {
1682
+ "Z": () => (/* binding */ Filter_FilterFacetBooleanItem)
1683
+ });
1684
+
1685
+ // EXTERNAL MODULE: external "react"
1686
+ var external_react_ = __webpack_require__(16689);
1687
+ ;// CONCATENATED MODULE: ../components/dist/atoms/Checkbox/Checkbox.js
1688
+
1689
+ const Checkbox = (0,external_react_.forwardRef)(function Checkbox({ testId = 'fs-checkbox', partial, ...otherProps }, ref) {
1690
+ return (external_react_.createElement("input", { ref: ref, "data-fs-checkbox": true, "data-testid": testId, "data-fs-checkbox-partial": partial, type: "checkbox", ...otherProps }));
1691
+ });
1692
+ /* harmony default export */ const Checkbox_Checkbox = (Checkbox);
1693
+ //# sourceMappingURL=Checkbox.js.map
1694
+ // EXTERNAL MODULE: ../components/dist/atoms/Label/Label.js
1695
+ var Label = __webpack_require__(37993);
1696
+ // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
1697
+ var Badge = __webpack_require__(87197);
1698
+ ;// CONCATENATED MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js
1699
+
1700
+
1701
+ function FilterFacetBooleanItem({ testId, id, selected, value, quantity, facetKey, label, onFacetChange, }) {
1702
+ return (external_react_.createElement("li", { key: id, "data-fs-filter-list-item": true },
1703
+ external_react_.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 }),
1704
+ external_react_.createElement(Label/* default */.Z, { htmlFor: id, className: "text__title-mini-alt", "data-fs-filter-list-item-label": true },
1705
+ label,
1706
+ " ",
1707
+ external_react_.createElement(Badge/* default */.Z, { "data-fs-filter-list-item-badge": true }, quantity))));
1708
+ }
1709
+ /* harmony default export */ const Filter_FilterFacetBooleanItem = (FilterFacetBooleanItem);
1710
+ //# sourceMappingURL=FilterFacetBooleanItem.js.map
1711
+
1712
+ /***/ }),
1713
+
1714
+ /***/ 64042:
1715
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1716
+
1717
+ "use strict";
1718
+
1719
+ // EXPORTS
1720
+ __webpack_require__.d(__webpack_exports__, {
1721
+ "Z": () => (/* binding */ Filter_FilterFacetRange)
1722
+ });
1723
+
1724
+ // EXTERNAL MODULE: external "react"
1725
+ var external_react_ = __webpack_require__(16689);
1726
+ ;// CONCATENATED MODULE: ../components/dist/atoms/Slider/Slider.js
1727
+ /**
1728
+ * This code is inspired by the work of [sandra-lewis](https://codesandbox.io/u/sandra-lewis)
1729
+ */
1730
+
1731
+ const percent = (value, min, max) => Math.round(((value - min) / (max - min)) * 100);
1732
+ const Slider = (0,external_react_.forwardRef)(function Slider({ min, max, absoluteValuesLabel, onChange, onEnd, testId = 'fs-slider', getAriaValueText, step, minValueLabelComponent, maxValueLabelComponent, ...otherProps }, ref) {
1733
+ const widthPercent = (0,external_react_.useMemo)(() => (max.absolute - min.absolute) / 100, [max.absolute, min.absolute]);
1734
+ const [minPercent, setMinPercent] = (0,external_react_.useState)(() => percent(min.selected, min.absolute, max.absolute));
1735
+ const [maxPercent, setMaxPercent] = (0,external_react_.useState)(() => percent(max.selected, min.absolute, max.absolute));
1736
+ const [minVal, setMinVal] = (0,external_react_.useState)(() => Math.floor(min.absolute + minPercent * widthPercent));
1737
+ const [maxVal, setMaxVal] = (0,external_react_.useState)(() => Math.round(min.absolute + maxPercent * widthPercent));
1738
+ const percentage = (value) => (value / max.absolute) * 100;
1739
+ (0,external_react_.useImperativeHandle)(ref, () => ({
1740
+ setSliderValues: (values) => {
1741
+ const sliderMinValue = Math.min(Number(values.min), maxVal);
1742
+ setMinVal(sliderMinValue);
1743
+ setMinPercent(percent(sliderMinValue, min.absolute, max.absolute));
1744
+ if (values.max > max.absolute) {
1745
+ setMaxVal(max.absolute);
1746
+ setMaxPercent(percent(max.absolute, min.absolute, max.absolute));
1747
+ return;
1748
+ }
1749
+ const sliderMaxValue = Math.max(Number(values.max), minVal);
1750
+ setMaxVal(sliderMaxValue);
1751
+ setMaxPercent(percent(sliderMaxValue, min.absolute, max.absolute));
1752
+ },
1753
+ }));
1754
+ return (external_react_.createElement("div", { "data-fs-slider": true, "data-testid": testId },
1755
+ external_react_.createElement("div", { "data-fs-slider-absolute-values": true },
1756
+ external_react_.createElement("span", null, absoluteValuesLabel.min),
1757
+ external_react_.createElement("span", null, absoluteValuesLabel.max)),
1758
+ external_react_.createElement("div", { "data-fs-slider-wrapper": true },
1759
+ external_react_.createElement("div", { "data-fs-slider-range": true, style: {
1760
+ left: `${minPercent}%`,
1761
+ width: `${maxPercent - minPercent}%`,
1762
+ } }),
1763
+ external_react_.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) => {
1764
+ const minValue = Math.min(Number(event.target.value), maxVal);
1765
+ setMinVal(minValue);
1766
+ setMinPercent(percent(minValue, min.absolute, max.absolute));
1767
+ onChange?.({ min: minValue, max: maxVal });
1768
+ }, "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'), ...otherProps }),
1769
+ minValueLabelComponent && (external_react_.createElement("span", { "data-fs-slider-value-label": "min", style: {
1770
+ left: `calc(${percentage(minVal)}% + (${8 - percentage(minVal) * 0.2}px))`,
1771
+ } }, minValueLabelComponent(minVal))),
1772
+ external_react_.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) => {
1773
+ const maxValue = Math.max(Number(event.target.value), minVal);
1774
+ setMaxVal(maxValue);
1775
+ setMaxPercent(percent(maxValue, min.absolute, max.absolute));
1776
+ onChange?.({ min: minVal, max: maxValue });
1777
+ }, "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') }),
1778
+ maxValueLabelComponent && (external_react_.createElement("span", { "data-fs-slider-value-label": "max", style: {
1779
+ left: `calc(${percentage(maxVal)}% + (${8 - percentage(maxVal) * 0.2}px))`,
1780
+ } }, maxValueLabelComponent(maxVal))))));
1781
+ });
1782
+ /* harmony default export */ const Slider_Slider = (Slider);
1783
+ //# sourceMappingURL=Slider.js.map
1784
+ // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
1785
+ var Price = __webpack_require__(23556);
1786
+ // EXTERNAL MODULE: ../components/dist/molecules/InputField/InputField.js
1787
+ var InputField = __webpack_require__(87107);
1788
+ ;// CONCATENATED MODULE: ../components/dist/organisms/PriceRange/PriceRange.js
1789
+
1790
+
1791
+ 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) {
1792
+ const sliderRef = (0,external_react_.useRef)();
1793
+ (0,external_react_.useImperativeHandle)(ref, () => ({
1794
+ setPriceRangeValues: (values) => {
1795
+ onChange?.(values);
1796
+ sliderRef.current?.setSliderValues(values);
1797
+ },
1798
+ }));
1799
+ const inputMinRef = (0,external_react_.useRef)(null);
1800
+ const inputMaxRef = (0,external_react_.useRef)(null);
1801
+ const [inputMinError, setInputMinError] = (0,external_react_.useState)();
1802
+ const [inputMaxError, setInputMaxError] = (0,external_react_.useState)();
1803
+ const [priceRange, setPriceRange] = (0,external_react_.useState)({
1804
+ min: Math.floor(min.selected),
1805
+ max: Math.round(max.selected),
1806
+ });
1807
+ function onChangePriceRange(value) {
1808
+ setInputMinError(undefined);
1809
+ setInputMaxError(undefined);
1810
+ setPriceRange({ min: value.min, max: value.max });
1811
+ if (inputMinRef.current?.value) {
1812
+ inputMinRef.current.value = String(value.min);
1813
+ }
1814
+ if (inputMaxRef.current?.value) {
1815
+ inputMaxRef.current.value = String(value.max);
1816
+ }
1817
+ }
1818
+ function onChangeInputMin(value) {
1819
+ setInputMinError(undefined);
1820
+ if (Number(value) < Math.floor(min.absolute)) {
1821
+ return;
1822
+ }
1823
+ if (Number(value) > Math.floor(priceRange.max)) {
1824
+ setInputMinError(`Min price can't be greater than max`);
1825
+ }
1826
+ setPriceRange({ ...priceRange, min: Number(value) });
1827
+ sliderRef.current?.setSliderValues({
1828
+ ...priceRange,
1829
+ min: Number(value),
1830
+ });
1831
+ }
1832
+ function onChangeInputMax(value) {
1833
+ setInputMaxError(undefined);
1834
+ if (Number(value) > Math.round(max.absolute)) {
1835
+ return;
1836
+ }
1837
+ if (Number(value) < Math.round(priceRange.min)) {
1838
+ setInputMaxError(`Max price can't be smaller than min`);
1839
+ }
1840
+ setPriceRange({ ...priceRange, max: Number(value) });
1841
+ sliderRef.current?.setSliderValues({
1842
+ ...priceRange,
1843
+ max: Number(value),
1844
+ });
1845
+ }
1846
+ return (external_react_.createElement("div", { "data-fs-price-range": true, "data-testid": testId, ...otherProps },
1847
+ external_react_.createElement(Slider_Slider, { ref: sliderRef, min: min, max: max, step: step, onEnd: (value) => {
1848
+ onEnd?.(value);
1849
+ onChangePriceRange(value);
1850
+ }, "aria-label": ariaLabel, onChange: (value) => onChange?.(value), absoluteValuesLabel: {
1851
+ min: (external_react_.createElement(Price/* default */.Z, { value: Math.floor(min.absolute), variant: variant, formatter: formatter })),
1852
+ max: (external_react_.createElement(Price/* default */.Z, { value: Math.round(max.absolute), variant: variant, formatter: formatter })),
1853
+ }, minValueLabelComponent: (minValue) => {
1854
+ return (external_react_.createElement(Price/* default */.Z, { value: minValue, variant: variant, formatter: formatter }));
1855
+ }, maxValueLabelComponent: (maxValue) => {
1856
+ return (external_react_.createElement(Price/* default */.Z, { value: maxValue, variant: variant, formatter: formatter }));
1857
+ } }),
1858
+ external_react_.createElement("div", { "data-fs-price-range-inputs": true },
1859
+ external_react_.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) }),
1860
+ external_react_.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) }))));
1861
+ });
1862
+ /* harmony default export */ const PriceRange_PriceRange = (PriceRange);
1863
+ //# sourceMappingURL=PriceRange.js.map
1864
+ ;// CONCATENATED MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js
1865
+
1866
+
1867
+ const formatRange = (min, max) => `${min.toFixed(2)}-to-${max.toFixed(2)}`;
1868
+ function FilterFacetRange({ min, max, formatter, facetKey, onFacetChange, }) {
1869
+ return (external_react_.createElement(PriceRange_PriceRange, { "data-fs-filter-facet-range": true, min: min, max: max, formatter: formatter, step: 1, onEnd: (v) => onFacetChange({
1870
+ key: facetKey,
1871
+ value: formatRange(v.min, v.max),
1872
+ }, 'RANGE') }));
1873
+ }
1874
+ /* harmony default export */ const Filter_FilterFacetRange = (FilterFacetRange);
1875
+ //# sourceMappingURL=FilterFacetRange.js.map
1876
+
1877
+ /***/ }),
1878
+
1879
+ /***/ 71197:
1880
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1881
+
1882
+ "use strict";
1883
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1884
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1885
+ /* harmony export */ });
1886
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1887
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96833);
1888
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81945);
1889
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5853);
1890
+
1891
+
1892
+ function FilterFacets({ testId, label, index, children, type, }) {
1893
+ return (react__WEBPACK_IMPORTED_MODULE_0__.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 },
1894
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { testId: `${testId}-accordion-button` }, label),
1895
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, null, children)));
1896
+ }
1897
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterFacets);
1898
+ //# sourceMappingURL=FilterFacets.js.map
1899
+
1908
1900
  /***/ })
1909
1901
 
1910
1902
  };