@faststore/core 2.1.56 → 2.1.59

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 (102) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +58 -58
  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/{90.js → 123.js} +12 -11
  15. package/.next/server/chunks/186.js +23 -22
  16. package/.next/server/chunks/{744.js → 247.js} +24 -23
  17. package/.next/server/chunks/{934.js → 253.js} +38 -37
  18. package/.next/server/chunks/{581.js → 269.js} +136 -132
  19. package/.next/server/chunks/287.js +58 -0
  20. package/.next/server/chunks/289.js +5 -4
  21. package/.next/server/chunks/312.js +231 -222
  22. package/.next/server/chunks/{309.js → 502.js} +78 -76
  23. package/.next/server/chunks/{751.js → 597.js} +20 -19
  24. package/.next/server/chunks/{430.js → 721.js} +25 -23
  25. package/.next/server/chunks/74.js +3090 -3061
  26. package/.next/server/chunks/{953.js → 81.js} +59 -55
  27. package/.next/server/chunks/{188.js → 886.js} +33 -32
  28. package/.next/server/chunks/907.js +342 -334
  29. package/.next/server/middleware-build-manifest.js +1 -1
  30. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  31. package/.next/server/pages/404.js +2 -2
  32. package/.next/server/pages/404.js.nft.json +1 -1
  33. package/.next/server/pages/500.js +2 -2
  34. package/.next/server/pages/500.js.nft.json +1 -1
  35. package/.next/server/pages/[...slug].js +7 -7
  36. package/.next/server/pages/[...slug].js.nft.json +1 -1
  37. package/.next/server/pages/[slug]/p.js +86 -84
  38. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  39. package/.next/server/pages/_app.js +2 -2
  40. package/.next/server/pages/_app.js.nft.json +1 -1
  41. package/.next/server/pages/account.js +1 -1
  42. package/.next/server/pages/account.js.nft.json +1 -1
  43. package/.next/server/pages/checkout.js +1 -1
  44. package/.next/server/pages/checkout.js.nft.json +1 -1
  45. package/.next/server/pages/en-US/404.html +2 -2
  46. package/.next/server/pages/en-US/500.html +2 -2
  47. package/.next/server/pages/en-US/account.html +2 -2
  48. package/.next/server/pages/en-US/checkout.html +2 -2
  49. package/.next/server/pages/en-US/login.html +2 -2
  50. package/.next/server/pages/en-US/s.html +2 -2
  51. package/.next/server/pages/en-US.html +2 -2
  52. package/.next/server/pages/index.js +3 -3
  53. package/.next/server/pages/index.js.nft.json +1 -1
  54. package/.next/server/pages/login.js +2 -2
  55. package/.next/server/pages/login.js.nft.json +1 -1
  56. package/.next/server/pages/s.js +3 -3
  57. package/.next/server/pages/s.js.nft.json +1 -1
  58. package/.next/server/pages-manifest.json +4 -4
  59. package/.next/static/LRckpLQyS5Ij0gHWJjzOY/_buildManifest.js +1 -0
  60. package/.next/static/chunks/209-d1d2eeaeefbc68f7.js +1 -0
  61. package/.next/static/chunks/495.0ecd099878b2a36d.js +1 -0
  62. package/.next/static/chunks/502.b14533723651e5a1.js +1 -0
  63. package/.next/static/chunks/548-6b23e7ad82cd22b9.js +1 -0
  64. package/.next/static/chunks/597.f8d0595b113c70af.js +1 -0
  65. package/.next/static/chunks/{27.37e4942c9236a071.js → 64.2f385ef39cd5877d.js} +1 -1
  66. package/.next/static/chunks/706-b3046536d4b7dd3f.js +1 -0
  67. package/.next/static/chunks/{738-67a288ca3569cdbb.js → 738-a5ff304828f20cbf.js} +1 -1
  68. package/.next/static/chunks/791-5b3d23f5b6100959.js +1 -0
  69. package/.next/static/chunks/pages/404-14d27e3706f3d2c3.js +1 -0
  70. package/.next/static/chunks/pages/500-250ccf5c9626e451.js +1 -0
  71. package/.next/static/chunks/pages/{[...slug]-fd9cc16734d8f161.js → [...slug]-bcfaf0c5d60b57a0.js} +1 -1
  72. package/.next/static/chunks/pages/[slug]/p-44e66d729b2413fb.js +1 -0
  73. package/.next/static/chunks/pages/_app-b1b6e1a62892c937.js +1 -0
  74. package/.next/static/chunks/pages/account-d248acc931146694.js +1 -0
  75. package/.next/static/chunks/pages/checkout-97f6d6f36f041a6f.js +1 -0
  76. package/.next/static/chunks/pages/{index-e8b556e0a22cf818.js → index-bdbfb082027ed2b7.js} +1 -1
  77. package/.next/static/chunks/pages/login-b1bdf30c951bb60d.js +1 -0
  78. package/.next/static/chunks/pages/s-aabfa5c08338974a.js +1 -0
  79. package/.next/static/chunks/webpack-c4f0c1961bd5ae7d.js +1 -0
  80. package/.next/static/css/{e3d648c53f88c1b9.css → e3b039e8f5daf95f.css} +1 -1
  81. package/.next/trace +80 -80
  82. package/.turbo/turbo-build.log +6 -6
  83. package/package.json +4 -4
  84. package/.next/server/chunks/107.js +0 -56
  85. package/.next/static/chunks/309.548249b3b3588d3b.js +0 -1
  86. package/.next/static/chunks/33-7f26ec3a5ae7a227.js +0 -1
  87. package/.next/static/chunks/548-ab84e9e8b49413ab.js +0 -1
  88. package/.next/static/chunks/676.b7bc42f3e37ff88f.js +0 -1
  89. package/.next/static/chunks/686-78f207384adb0d83.js +0 -1
  90. package/.next/static/chunks/751.f9415d15cb5be269.js +0 -1
  91. package/.next/static/chunks/917-bf452887bdb70e03.js +0 -1
  92. package/.next/static/chunks/pages/404-7812758b206af5cc.js +0 -1
  93. package/.next/static/chunks/pages/500-0c1b954316d40621.js +0 -1
  94. package/.next/static/chunks/pages/[slug]/p-5a83993d8ff855a6.js +0 -1
  95. package/.next/static/chunks/pages/_app-9c56c687b77a9a09.js +0 -1
  96. package/.next/static/chunks/pages/account-ac4fa43a2d996db5.js +0 -1
  97. package/.next/static/chunks/pages/checkout-fa13dc49318df859.js +0 -1
  98. package/.next/static/chunks/pages/login-5759fba9bb7ae351.js +0 -1
  99. package/.next/static/chunks/pages/s-a63dd94090d398be.js +0 -1
  100. package/.next/static/chunks/webpack-4864821bd2886d75.js +0 -1
  101. package/.next/static/dpPpHRcwG_9npTM76o66F/_buildManifest.js +0 -1
  102. /package/.next/static/{dpPpHRcwG_9npTM76o66F → LRckpLQyS5Ij0gHWJjzOY}/_ssgManifest.js +0 -0
@@ -2,7 +2,301 @@ exports.id = 907;
2
2
  exports.ids = [907];
3
3
  exports.modules = {
4
4
 
5
- /***/ 62651:
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:
6
300
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
301
 
8
302
  "use strict";
@@ -18,33 +312,34 @@ __webpack_require__.d(__webpack_exports__, {
18
312
  var useSearch = __webpack_require__(73221);
19
313
  // EXTERNAL MODULE: external "react"
20
314
  var external_react_ = __webpack_require__(16689);
315
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
21
316
  // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
22
- var useFadeEffect = __webpack_require__(2127);
317
+ var useFadeEffect = __webpack_require__(6074);
23
318
  // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
24
- var UIProvider = __webpack_require__(35728);
319
+ var UIProvider = __webpack_require__(90395);
25
320
  // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOver.js
26
- var SlideOver = __webpack_require__(95631);
321
+ var SlideOver = __webpack_require__(31021);
27
322
  // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOverHeader.js
28
- var SlideOverHeader = __webpack_require__(53925);
323
+ var SlideOverHeader = __webpack_require__(89648);
29
324
  // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
30
- var Button = __webpack_require__(33815);
325
+ var Button = __webpack_require__(57578);
31
326
  ;// CONCATENATED MODULE: ../components/dist/organisms/Filter/FilterSlider.js
32
327
 
33
328
 
34
329
  function FilterSlider({ title, size, direction, children, applyBtnProps, clearBtnProps, overlayProps, onClose, ...otherProps }) {
35
330
  const { fade, fadeOut } = (0,useFadeEffect/* useFadeEffect */.b)();
36
331
  const { closeFilter } = (0,UIProvider/* useUI */.l)();
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: () => {
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: () => {
40
335
  onClose();
41
336
  fadeOut();
42
337
  } },
43
- external_react_.createElement("h2", { "data-fs-filter-slider-title": true }, title)),
338
+ external_react_default().createElement("h2", { "data-fs-filter-slider-title": true }, title)),
44
339
  children),
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) => {
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) => {
48
343
  applyBtnProps?.onClick?.(e);
49
344
  fadeOut();
50
345
  } }))));
@@ -52,15 +347,15 @@ function FilterSlider({ title, size, direction, children, applyBtnProps, clearBt
52
347
  /* harmony default export */ const Filter_FilterSlider = (FilterSlider);
53
348
  //# sourceMappingURL=FilterSlider.js.map
54
349
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/Filter.js
55
- var Filter = __webpack_require__(87746);
350
+ var Filter = __webpack_require__(10939);
56
351
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacets.js
57
- var FilterFacets = __webpack_require__(71197);
352
+ var FilterFacets = __webpack_require__(40226);
58
353
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBoolean.js
59
- var FilterFacetBoolean = __webpack_require__(90281);
354
+ var FilterFacetBoolean = __webpack_require__(46569);
60
355
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
61
- var FilterFacetBooleanItem = __webpack_require__(33926);
356
+ var FilterFacetBooleanItem = __webpack_require__(86854);
62
357
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js + 2 modules
63
- var FilterFacetRange = __webpack_require__(64042);
358
+ var FilterFacetRange = __webpack_require__(87375);
64
359
  // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
65
360
  var useFormattedPrice = __webpack_require__(95346);
66
361
  // EXTERNAL MODULE: ./src/components/search/Filter/section.module.scss
@@ -197,7 +492,7 @@ __webpack_require__.d(__webpack_exports__, {
197
492
  // UNUSED EXPORTS: FilterSlider
198
493
 
199
494
  // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
200
- var UIProvider = __webpack_require__(35728);
495
+ var UIProvider = __webpack_require__(90395);
201
496
  // EXTERNAL MODULE: external "react"
202
497
  var external_react_ = __webpack_require__(16689);
203
498
  // EXTERNAL MODULE: ../sdk/dist/search/facets.js
@@ -382,14 +677,14 @@ function Filter({
382
677
  const fragment = "unknown";
383
678
  /* harmony default export */ const Filter_Filter = (Filter);
384
679
  // EXTERNAL MODULE: ./src/components/search/Filter/FilterSlider.tsx + 1 modules
385
- var FilterSlider = __webpack_require__(62651);
680
+ var FilterSlider = __webpack_require__(94256);
386
681
  ;// CONCATENATED MODULE: ./src/components/search/Filter/index.ts
387
682
 
388
683
 
389
684
 
390
685
  /***/ }),
391
686
 
392
- /***/ 17581:
687
+ /***/ 93532:
393
688
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
394
689
 
395
690
  "use strict";
@@ -403,17 +698,18 @@ __webpack_require__.d(__webpack_exports__, {
403
698
  var useSearch = __webpack_require__(73221);
404
699
  // EXTERNAL MODULE: external "react"
405
700
  var external_react_ = __webpack_require__(16689);
701
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
406
702
  // EXTERNAL MODULE: ../components/dist/atoms/Label/Label.js
407
- var Label = __webpack_require__(37993);
703
+ var Label = __webpack_require__(57216);
408
704
  // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
409
- var Icon = __webpack_require__(82185);
705
+ var Icon = __webpack_require__(25045);
410
706
  ;// CONCATENATED MODULE: ../components/dist/atoms/Select/Select.js
411
707
 
412
708
 
413
709
  const Select = (0,external_react_.forwardRef)(function Select({ options, id, testId = 'fs-select', ...otherProps }, ref) {
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" })));
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" })));
417
713
  });
418
714
  /* harmony default export */ const Select_Select = (Select);
419
715
  //# sourceMappingURL=Select.js.map
@@ -421,9 +717,9 @@ const Select = (0,external_react_.forwardRef)(function Select({ options, id, tes
421
717
 
422
718
 
423
719
  const SelectField = (0,external_react_.forwardRef)(function SelectField({ id, label, options, testId = 'fs-select-field', ...otherProps }, ref) {
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 })));
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 })));
427
723
  });
428
724
  /* harmony default export */ const SelectField_SelectField = (SelectField);
429
725
  //# sourceMappingURL=SelectField.js.map
@@ -493,9 +789,9 @@ function Sort({
493
789
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
494
790
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
495
791
  /* harmony export */ });
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);
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);
499
795
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
500
796
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
501
797
 
@@ -565,29 +861,29 @@ __webpack_require__.d(__webpack_exports__, {
565
861
  // EXTERNAL MODULE: external "react"
566
862
  var external_react_ = __webpack_require__(16689);
567
863
  // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
568
- var Button = __webpack_require__(33815);
864
+ var Button = __webpack_require__(57578);
569
865
  // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
570
- var Icon = __webpack_require__(82185);
866
+ var Icon = __webpack_require__(25045);
571
867
  // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
572
- var Skeleton = __webpack_require__(78416);
868
+ var Skeleton = __webpack_require__(2928);
573
869
  // EXTERNAL MODULE: ../components/dist/molecules/LinkButton/LinkButton.js
574
- var LinkButton = __webpack_require__(46481);
870
+ var LinkButton = __webpack_require__(67703);
575
871
  // EXTERNAL MODULE: ./src/components/product/ProductCard/index.ts + 4 modules
576
- var ProductCard = __webpack_require__(853);
872
+ var ProductCard = __webpack_require__(56475);
577
873
  // EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
578
874
  var useSearch = __webpack_require__(73221);
579
875
  // EXTERNAL MODULE: ../sdk/dist/search/facets.js
580
876
  var search_facets = __webpack_require__(9664);
581
877
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/Filter.js
582
- var Filter = __webpack_require__(87746);
878
+ var Filter = __webpack_require__(10939);
583
879
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacets.js
584
- var FilterFacets = __webpack_require__(71197);
880
+ var FilterFacets = __webpack_require__(40226);
585
881
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBoolean.js
586
- var FilterFacetBoolean = __webpack_require__(90281);
882
+ var FilterFacetBoolean = __webpack_require__(46569);
587
883
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
588
- var FilterFacetBooleanItem = __webpack_require__(33926);
884
+ var FilterFacetBooleanItem = __webpack_require__(86854);
589
885
  // EXTERNAL MODULE: ../components/dist/organisms/Filter/FilterFacetRange.js + 2 modules
590
- var FilterFacetRange = __webpack_require__(64042);
886
+ var FilterFacetRange = __webpack_require__(87375);
591
887
  // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
592
888
  var useFormattedPrice = __webpack_require__(95346);
593
889
  // EXTERNAL MODULE: external "react/jsx-runtime"
@@ -686,7 +982,7 @@ const override = {
686
982
 
687
983
 
688
984
 
689
- const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 62651)));
985
+ const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 94256)));
690
986
 
691
987
 
692
988
  const {
@@ -876,7 +1172,7 @@ __webpack_require__.d(__webpack_exports__, {
876
1172
  });
877
1173
 
878
1174
  // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
879
- var Skeleton = __webpack_require__(78416);
1175
+ var Skeleton = __webpack_require__(2928);
880
1176
  // EXTERNAL MODULE: external "react/jsx-runtime"
881
1177
  var jsx_runtime_ = __webpack_require__(20997);
882
1178
  ;// CONCATENATED MODULE: ./src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx
@@ -994,9 +1290,9 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
994
1290
  /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_0__);
995
1291
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
996
1292
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
997
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(35728);
1293
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(90395);
998
1294
  /* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36171);
999
- /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17581);
1295
+ /* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93532);
1000
1296
  /* harmony import */ var src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25473);
1001
1297
  /* harmony import */ var src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89913);
1002
1298
  /* harmony import */ var _useDelayedFacets__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6341);
@@ -1609,294 +1905,6 @@ const useContext = (context) => {
1609
1905
  const useSearch = () => useContext(Provider/* Context */._);
1610
1906
  //# sourceMappingURL=useSearch.js.map
1611
1907
 
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
-
1900
1908
  /***/ })
1901
1909
 
1902
1910
  };