@faststore/core 2.0.98-alpha.0 → 2.0.100-alpha.0

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 (175) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/build-manifest.json +99 -0
  3. package/.next/cache/.tsbuildinfo +1 -0
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1gneedd +1 -0
  6. package/.next/cache/next-server.js.nft.json +1 -0
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/export-marker.json +1 -0
  12. package/.next/images-manifest.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -0
  14. package/.next/package.json +1 -0
  15. package/.next/prerender-manifest.json +1 -0
  16. package/.next/react-loadable-manifest.json +44 -0
  17. package/.next/required-server-files.json +1 -0
  18. package/.next/routes-manifest.json +1 -0
  19. package/.next/server/chunks/120.js +435 -0
  20. package/.next/server/chunks/123.js +58 -0
  21. package/.next/server/chunks/1394.js +3801 -0
  22. package/.next/server/chunks/1608.js +515 -0
  23. package/.next/server/chunks/2154.js +206 -0
  24. package/.next/server/chunks/247.js +61 -0
  25. package/.next/server/chunks/2914.js +95 -0
  26. package/.next/server/chunks/2922.js +7293 -0
  27. package/.next/server/chunks/3264.js +67 -0
  28. package/.next/server/chunks/3431.js +7241 -0
  29. package/.next/server/chunks/350.js +142 -0
  30. package/.next/server/chunks/3746.js +237 -0
  31. package/.next/server/chunks/3898.js +240 -0
  32. package/.next/server/chunks/4312.js +674 -0
  33. package/.next/server/chunks/4371.js +1473 -0
  34. package/.next/server/chunks/5098.js +124 -0
  35. package/.next/server/chunks/5576.js +72 -0
  36. package/.next/server/chunks/6280.js +322 -0
  37. package/.next/server/chunks/6465.js +91 -0
  38. package/.next/server/chunks/676.js +32 -0
  39. package/.next/server/chunks/6859.js +959 -0
  40. package/.next/server/chunks/6881.js +320 -0
  41. package/.next/server/chunks/6898.js +149 -0
  42. package/.next/server/chunks/7104.js +196 -0
  43. package/.next/server/chunks/7181.js +658 -0
  44. package/.next/server/chunks/7183.js +72 -0
  45. package/.next/server/chunks/7992.js +570 -0
  46. package/.next/server/chunks/8098.js +246 -0
  47. package/.next/server/chunks/810.js +432 -0
  48. package/.next/server/chunks/8287.js +58 -0
  49. package/.next/server/chunks/9143.js +106 -0
  50. package/.next/server/chunks/9152.js +213 -0
  51. package/.next/server/chunks/953.js +646 -0
  52. package/.next/server/chunks/9557.js +117 -0
  53. package/.next/server/chunks/9854.js +72 -0
  54. package/.next/server/chunks/font-manifest.json +1 -0
  55. package/.next/server/font-manifest.json +1 -0
  56. package/.next/server/middleware-build-manifest.js +1 -0
  57. package/.next/server/middleware-manifest.json +6 -0
  58. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  59. package/.next/server/pages/404.js.nft.json +1 -0
  60. package/.next/server/pages/500.js.nft.json +1 -0
  61. package/.next/server/pages/[...slug].js +671 -0
  62. package/.next/server/pages/[...slug].js.nft.json +1 -0
  63. package/.next/server/pages/[slug]/p.js +2393 -0
  64. package/.next/server/pages/[slug]/p.js.nft.json +1 -0
  65. package/.next/server/pages/_app.js +2369 -0
  66. package/.next/server/pages/_app.js.nft.json +1 -0
  67. package/.next/server/pages/_document.js +304 -0
  68. package/.next/server/pages/_document.js.nft.json +1 -0
  69. package/.next/server/pages/_error.js +164 -0
  70. package/.next/server/pages/_error.js.nft.json +1 -0
  71. package/.next/server/pages/account.js.nft.json +1 -0
  72. package/.next/server/pages/api/graphql.js +315 -0
  73. package/.next/server/pages/api/graphql.js.nft.json +1 -0
  74. package/.next/server/pages/api/preview.js +118 -0
  75. package/.next/server/pages/api/preview.js.nft.json +1 -0
  76. package/.next/server/pages/checkout.js.nft.json +1 -0
  77. package/.next/server/pages/en-US/404.html +81 -0
  78. package/.next/server/pages/en-US/500.html +81 -0
  79. package/.next/server/pages/en-US/account.html +81 -0
  80. package/.next/server/pages/en-US/checkout.html +81 -0
  81. package/.next/server/pages/en-US/login.html +81 -0
  82. package/.next/server/pages/en-US/s.html +81 -0
  83. package/.next/server/pages/en-US.html +81 -0
  84. package/.next/server/pages/en-US.json +1 -0
  85. package/.next/server/pages/index.js +428 -0
  86. package/.next/server/pages/index.js.nft.json +1 -0
  87. package/.next/server/pages/login.js.nft.json +1 -0
  88. package/.next/server/pages/s.js.nft.json +1 -0
  89. package/.next/server/pages-manifest.json +16 -0
  90. package/.next/server/webpack-api-runtime.js +229 -0
  91. package/.next/server/webpack-runtime.js +229 -0
  92. package/.next/static/_W6shnELbnMsH_iBfBVBe/_buildManifest.js +1 -0
  93. package/.next/static/_W6shnELbnMsH_iBfBVBe/_ssgManifest.js +1 -0
  94. package/.next/static/chunks/143.dd8a556e6957baa1.js +1 -0
  95. package/.next/static/chunks/152.57849458d8337a92.js +1 -0
  96. package/.next/static/chunks/264-25ec99bbaf5d02b4.js +1 -0
  97. package/.next/static/chunks/351-a4e28d64f48c5269.js +1 -0
  98. package/.next/static/chunks/608.59e69b83f35d9c44.js +1 -0
  99. package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
  100. package/.next/static/chunks/686.6c345856d484363b.js +1 -0
  101. package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
  102. package/.next/static/chunks/781-7df372b5b56e3f96.js +1 -0
  103. package/.next/static/chunks/843.e1d0f9260a52f32c.js +1 -0
  104. package/.next/static/chunks/98.97381d2021f86cd9.js +1 -0
  105. package/.next/static/chunks/996.64460309250b214c.js +1 -0
  106. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
  107. package/.next/static/chunks/main-9746772201fe3ac1.js +1 -0
  108. package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +1 -0
  109. package/.next/static/chunks/pages/500-910883c20541d9ce.js +1 -0
  110. package/.next/static/chunks/pages/[...slug]-417e3b51bda1f5f3.js +1 -0
  111. package/.next/static/chunks/pages/[slug]/p-cbb4ca8d57bafa9f.js +1 -0
  112. package/.next/static/chunks/pages/_app-d757170e632a6003.js +1 -0
  113. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +1 -0
  114. package/.next/static/chunks/pages/account-b8fc5222ffe89b60.js +1 -0
  115. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +1 -0
  116. package/.next/static/chunks/pages/index-9ea3f7868f5ed138.js +1 -0
  117. package/.next/static/chunks/pages/login-33954810b200eca8.js +1 -0
  118. package/.next/static/chunks/pages/s-ba2868e14fedb65b.js +1 -0
  119. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
  120. package/.next/static/chunks/webpack-65b155971f3eac57.js +1 -0
  121. package/.next/static/css/10db3bc7ecdf0556.css +1 -0
  122. package/.next/static/css/43d61b402f41569b.css +1 -0
  123. package/.next/static/css/4899c3cc356704f9.css +1 -0
  124. package/.next/static/css/6507cb48401e73a4.css +1 -0
  125. package/.next/static/css/8ea129ea90e49e98.css +1 -0
  126. package/.next/static/css/b2f16bd4b93e0aca.css +1 -0
  127. package/.next/static/css/db63ea05e98cb7e8.css +1 -0
  128. package/.next/static/css/ea60a7e6c07ee644.css +1 -0
  129. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  130. package/.next/trace +65 -0
  131. package/.storybook/components/SectionItem.tsx +1 -3
  132. package/.turbo/turbo-build.log +16 -16
  133. package/CHANGELOG.md +10 -0
  134. package/cms/sections.json +843 -40
  135. package/package.json +4 -4
  136. package/public/icons.svg +60 -56
  137. package/public/~partytown/debug/partytown-atomics.js +556 -0
  138. package/public/~partytown/debug/partytown-media.js +374 -0
  139. package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
  140. package/public/~partytown/debug/partytown-sw.js +59 -0
  141. package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
  142. package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
  143. package/public/~partytown/debug/partytown.js +72 -0
  144. package/public/~partytown/partytown-atomics.js +2 -0
  145. package/public/~partytown/partytown-media.js +2 -0
  146. package/public/~partytown/partytown-sw.js +2 -0
  147. package/public/~partytown/partytown.js +2 -0
  148. package/src/Layout.tsx +1 -2
  149. package/src/components/cart/CartSidebar/CartSidebar.tsx +6 -8
  150. package/src/components/cart/CartToggle/CartToggle.tsx +5 -2
  151. package/src/components/cart/EmptyCart/EmptyCart.tsx +1 -2
  152. package/src/components/common/Alert/Alert.tsx +1 -2
  153. package/src/components/common/Footer/Footer.tsx +3 -3
  154. package/src/components/common/Footer/FooterFlags.tsx +21 -18
  155. package/src/components/common/Navbar/Navbar.tsx +2 -4
  156. package/src/components/product/OutOfStock/OutOfStock.tsx +2 -3
  157. package/src/components/region/RegionButton/RegionButton.tsx +1 -2
  158. package/src/components/region/RegionModal/RegionalizationModalContent.tsx +1 -1
  159. package/src/components/search/SearchInput/SearchInput.tsx +17 -17
  160. package/src/components/sections/BannerText/BannerText.tsx +1 -0
  161. package/src/components/sections/Incentives/Incentives.tsx +1 -3
  162. package/src/components/sections/Newsletter/Newsletter.tsx +1 -2
  163. package/src/components/sections/ProducDetailsContent/ProductDetailsContent.tsx +24 -18
  164. package/src/components/sections/ProductGallery/EmptyGallery.tsx +1 -2
  165. package/src/components/sections/ProductGallery/ProductGallery.tsx +4 -5
  166. package/src/components/sections/ScrollToTopButton/ScrollToTopButton.tsx +1 -3
  167. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +1 -2
  168. package/src/components/ui/Button/ButtonSignIn/ButtonSignIn.tsx +1 -2
  169. package/src/components/ui/Button/ButtonSignIn/ButtonSignInFallback/ButtonSignInFallback.tsx +1 -3
  170. package/src/components/ui/Carousel/Carousel.tsx +2 -4
  171. package/src/components/ui/Gift/Gift.tsx +6 -3
  172. package/src/components/ui/ImageGallery/ImageGallerySelector.tsx +5 -2
  173. package/src/pages/[...slug].tsx +1 -1
  174. package/src/components/ui/Icon/Icon.tsx +0 -35
  175. package/src/components/ui/Icon/index.ts +0 -1
@@ -0,0 +1,320 @@
1
+ exports.id = 6881;
2
+ exports.ids = [6881];
3
+ exports.modules = {
4
+
5
+ /***/ 2928:
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__(6689);
13
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
14
+
15
+ const Skeleton = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Skeleton({ testId = 'fs-skeleton', loading = true, shimmer = true, children, size, border, borderRadius, ...otherProps }, ref) {
16
+ const styles = {
17
+ width: size.width,
18
+ height: size.height,
19
+ };
20
+ return loading ? (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-skeleton": true, "data-testid": testId, "data-fs-skeleton-border": border ? border : null, style: borderRadius ? { ...styles, borderRadius: borderRadius } : styles, ...otherProps }, shimmer && react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-skeleton-shimmer": true }))) : (react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children));
21
+ });
22
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Skeleton);
23
+ //# sourceMappingURL=Skeleton.js.map
24
+
25
+ /***/ }),
26
+
27
+ /***/ 8879:
28
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29
+
30
+ "use strict";
31
+
32
+ // EXPORTS
33
+ __webpack_require__.d(__webpack_exports__, {
34
+ "Z": () => (/* reexport */ Section_Section)
35
+ });
36
+
37
+ // EXTERNAL MODULE: external "react"
38
+ var external_react_ = __webpack_require__(6689);
39
+ // EXTERNAL MODULE: external "react/jsx-runtime"
40
+ var jsx_runtime_ = __webpack_require__(997);
41
+ ;// CONCATENATED MODULE: ./src/components/sections/Section/Section.tsx
42
+ const _excluded = ["className"];
43
+
44
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
+
46
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
+
48
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
49
+
50
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
51
+
52
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
53
+
54
+
55
+
56
+ const Section = /*#__PURE__*/(0,external_react_.forwardRef)(function Section(_ref, ref) {
57
+ let {
58
+ className = ''
59
+ } = _ref,
60
+ otherProps = _objectWithoutProperties(_ref, _excluded);
61
+
62
+ return /*#__PURE__*/jsx_runtime_.jsx("section", _objectSpread({
63
+ ref: ref,
64
+ className: `section ${className}`
65
+ }, otherProps));
66
+ });
67
+ /* harmony default export */ const Section_Section = (Section);
68
+ ;// CONCATENATED MODULE: ./src/components/sections/Section/index.ts
69
+
70
+
71
+ /***/ }),
72
+
73
+ /***/ 3288:
74
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
75
+
76
+ "use strict";
77
+
78
+ // EXPORTS
79
+ __webpack_require__.d(__webpack_exports__, {
80
+ "Z": () => (/* reexport */ ProductCardSkeleton_ProductCardSkeleton)
81
+ });
82
+
83
+ // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
84
+ var Skeleton = __webpack_require__(2928);
85
+ // EXTERNAL MODULE: ./src/components/skeletons/ProductCardSkeleton/product-card-skeleton.module.scss
86
+ var product_card_skeleton_module = __webpack_require__(1207);
87
+ var product_card_skeleton_module_default = /*#__PURE__*/__webpack_require__.n(product_card_skeleton_module);
88
+ // EXTERNAL MODULE: external "react/jsx-runtime"
89
+ var jsx_runtime_ = __webpack_require__(997);
90
+ ;// CONCATENATED MODULE: ./src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.tsx
91
+
92
+
93
+
94
+
95
+
96
+ function ProductCardSkeleton({
97
+ bordered,
98
+ sectioned,
99
+ displayButton,
100
+ aspectRatio = 1,
101
+ variant = 'default'
102
+ }) {
103
+ return /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
104
+ className: (product_card_skeleton_module_default()).fsProductCardSkeleton,
105
+ "data-fs-product-card-skeleton": true,
106
+ "data-fs-product-card-skeleton-variant": variant,
107
+ "data-fs-product-card-skeleton-bordered": bordered,
108
+ "data-fs-product-card-skeleton-sectioned": sectioned,
109
+ children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
110
+ "data-fs-product-card-skeleton-image": true,
111
+ style: {
112
+ '--fs-product-card-skeleton-image-aspect-ratio': aspectRatio
113
+ },
114
+ children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
115
+ size: {
116
+ width: '100%',
117
+ height: '100%'
118
+ }
119
+ })
120
+ }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
121
+ "data-fs-product-card-skeleton-content": true,
122
+ children: [/*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
123
+ "data-fs-product-card-skeleton-text": true,
124
+ size: {
125
+ width: '90%',
126
+ height: '1.5rem'
127
+ }
128
+ }), /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
129
+ "data-fs-product-card-skeleton-text": true,
130
+ size: {
131
+ width: '70%',
132
+ height: '1.5rem'
133
+ }
134
+ }), /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
135
+ "data-fs-product-card-skeleton-badge": true,
136
+ size: {
137
+ width: '6rem',
138
+ height: '2rem'
139
+ },
140
+ border: "pill"
141
+ }), displayButton && /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
142
+ "data-fs-product-card-skeleton-button": true,
143
+ size: {
144
+ width: '6rem',
145
+ height: '2rem'
146
+ },
147
+ style: {
148
+ columnGap: '.75rem'
149
+ }
150
+ })]
151
+ })]
152
+ });
153
+ }
154
+
155
+ /* harmony default export */ const ProductCardSkeleton_ProductCardSkeleton = (ProductCardSkeleton);
156
+ ;// CONCATENATED MODULE: ./src/components/skeletons/ProductCardSkeleton/index.ts
157
+
158
+
159
+ /***/ }),
160
+
161
+ /***/ 8459:
162
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
163
+
164
+ "use strict";
165
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
166
+ /* harmony export */ "K": () => (/* binding */ ITEMS_PER_SECTION),
167
+ /* harmony export */ "g": () => (/* binding */ ITEMS_PER_PAGE)
168
+ /* harmony export */ });
169
+ const ITEMS_PER_PAGE = 12;
170
+ const ITEMS_PER_SECTION = 5;
171
+
172
+ /***/ }),
173
+
174
+ /***/ 2953:
175
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
176
+
177
+ "use strict";
178
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
179
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
180
+ /* harmony export */ "p": () => (/* binding */ prefetchQuery)
181
+ /* harmony export */ });
182
+ /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5941);
183
+ /* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(180);
184
+ /* harmony import */ var _useQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7732);
185
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_2__]);
186
+ ([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_2__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
187
+ const _excluded = ["cache"];
188
+
189
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
190
+
191
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
192
+
193
+
194
+
195
+
196
+ const prefetchQuery = (operationName, variables, _ref) => {
197
+ let {
198
+ cache
199
+ } = _ref,
200
+ options = _objectWithoutProperties(_ref, _excluded);
201
+
202
+ const key = (0,_useQuery__WEBPACK_IMPORTED_MODULE_2__/* .getKey */ .km)(operationName, variables);
203
+
204
+ if (cache.get(key)) {
205
+ return;
206
+ }
207
+
208
+ (0,swr__WEBPACK_IMPORTED_MODULE_0__.mutate)(key, (0,_request__WEBPACK_IMPORTED_MODULE_1__/* .request */ .W)(operationName, variables, options));
209
+ };
210
+ __webpack_async_result__();
211
+ } catch(e) { __webpack_async_result__(e); } });
212
+
213
+ /***/ }),
214
+
215
+ /***/ 4867:
216
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
217
+
218
+ "use strict";
219
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
220
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
221
+ /* harmony export */ "BG": () => (/* binding */ useProductsQueryPrefetch),
222
+ /* harmony export */ "kN": () => (/* binding */ useProductsQuery),
223
+ /* harmony export */ "yb": () => (/* binding */ useLocalizedVariables)
224
+ /* harmony export */ });
225
+ /* unused harmony export query */
226
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
227
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
228
+ /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5941);
229
+ /* harmony import */ var src_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8459);
230
+ /* harmony import */ var _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2953);
231
+ /* harmony import */ var _graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7732);
232
+ /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5971);
233
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__, _graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__]);
234
+ ([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__, _graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
235
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
236
+
237
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
238
+
239
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+ const query = "ProductsQuery";
248
+
249
+ const toArray = x => Array.isArray(x) ? x : x ? [x] : [];
250
+
251
+ const useLocalizedVariables = ({
252
+ first,
253
+ after,
254
+ sort,
255
+ term,
256
+ selectedFacets
257
+ }) => {
258
+ const {
259
+ channel,
260
+ locale
261
+ } = (0,_session__WEBPACK_IMPORTED_MODULE_4__/* .useSession */ .kP)();
262
+ return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
263
+ const facets = toArray(selectedFacets);
264
+ return {
265
+ first: first ?? src_constants__WEBPACK_IMPORTED_MODULE_5__/* .ITEMS_PER_SECTION */ .K,
266
+ after: after ?? '0',
267
+ sort: sort ?? 'score_desc',
268
+ term: term ?? '',
269
+ selectedFacets: [...facets, {
270
+ key: 'channel',
271
+ value: channel ?? ''
272
+ }, {
273
+ key: 'locale',
274
+ value: locale
275
+ }]
276
+ };
277
+ }, [selectedFacets, first, after, sort, term, channel, locale]);
278
+ };
279
+ /**
280
+ * Use this hook for fetching a list of products, like in search results and shelves
281
+ */
282
+
283
+ const useProductsQuery = (variables, options) => {
284
+ const localizedVariables = useLocalizedVariables(variables);
285
+ const {
286
+ data
287
+ } = (0,_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__/* .useQuery */ .aM)(query, localizedVariables, _objectSpread({
288
+ fallbackData: null,
289
+ suspense: true
290
+ }, options));
291
+ return data?.search?.products;
292
+ };
293
+ const useProductsQueryPrefetch = (variables, options) => {
294
+ const localizedVariables = useLocalizedVariables(variables);
295
+ const {
296
+ cache
297
+ } = (0,swr__WEBPACK_IMPORTED_MODULE_1__.useSWRConfig)();
298
+ return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => (0,_graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_2__/* .prefetchQuery */ .p)(query, localizedVariables, _objectSpread({
299
+ cache
300
+ }, options)), [localizedVariables, cache, options]);
301
+ };
302
+ __webpack_async_result__();
303
+ } catch(e) { __webpack_async_result__(e); } });
304
+
305
+ /***/ }),
306
+
307
+ /***/ 1207:
308
+ /***/ ((module) => {
309
+
310
+ // Exports
311
+ module.exports = {
312
+ "fs-product-card-skeleton": "product-card-skeleton_fs-product-card-skeleton__fPdHb",
313
+ "fsProductCardSkeleton": "product-card-skeleton_fs-product-card-skeleton__fPdHb"
314
+ };
315
+
316
+
317
+ /***/ })
318
+
319
+ };
320
+ ;
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ exports.id = 6898;
3
+ exports.ids = [6898];
4
+ exports.modules = {
5
+
6
+ /***/ 9739:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ "A": () => (/* binding */ useAccordion),
11
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
12
+ /* harmony export */ });
13
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
14
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
+
16
+ const AccordionContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
17
+ const Accordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Accordion({ testId = 'fs-accordion', indices, onChange, children, ...otherProps }, ref) {
18
+ const childrenWithIndex = react__WEBPACK_IMPORTED_MODULE_0___default().Children.map(children, (child, index) => (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, { index: child.props.index ?? index }));
19
+ const context = {
20
+ indices: new Set(indices),
21
+ onChange,
22
+ numberOfItems: childrenWithIndex.length,
23
+ };
24
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AccordionContext.Provider, { value: context },
25
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-accordion": true, role: "region", "data-testid": testId, ...otherProps }, childrenWithIndex)));
26
+ });
27
+ function useAccordion() {
28
+ const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AccordionContext);
29
+ if (context === undefined) {
30
+ throw new Error('Do not use Accordion components outside the Accordion context.');
31
+ }
32
+ return context;
33
+ }
34
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Accordion);
35
+ //# sourceMappingURL=Accordion.js.map
36
+
37
+ /***/ }),
38
+
39
+ /***/ 7743:
40
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
+
42
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
43
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
44
+ /* harmony export */ });
45
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
46
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
47
+ /* harmony import */ var _Accordion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9739);
48
+ /* harmony import */ var _AccordionItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5705);
49
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5045);
50
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4842);
51
+
52
+
53
+
54
+
55
+ const AccordionButton = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionButton({ testId = 'fs-accordion-button', expandedIcon = react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "MinusCircle", "data-icon": "expanded" }), collapsedIcon = react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "PlusCircle", "data-icon": "collapsed" }), children, ...otherProps }, ref) {
56
+ const { indices, onChange, numberOfItems } = (0,_Accordion__WEBPACK_IMPORTED_MODULE_2__/* .useAccordion */ .A)();
57
+ const { index, panel, button, prefixId } = (0,_AccordionItem__WEBPACK_IMPORTED_MODULE_3__/* .useAccordionItem */ .D)();
58
+ const onKeyDown = (event) => {
59
+ if (!['ArrowDown', 'ArrowUp'].includes(event.key)) {
60
+ return;
61
+ }
62
+ const getNext = () => {
63
+ const next = Number(index) + 1 === numberOfItems ? 0 : Number(index) + 1;
64
+ return document.getElementById(`${prefixId && `${prefixId}-`}button--${next}`);
65
+ };
66
+ const getPrevious = () => {
67
+ const previous = Number(index) - 1 < 0 ? numberOfItems - 1 : Number(index) - 1;
68
+ return document.getElementById(`${prefixId && `${prefixId}-`}button--${previous}`);
69
+ };
70
+ switch (event.key) {
71
+ case 'ArrowDown':
72
+ event.preventDefault();
73
+ getNext()?.focus();
74
+ break;
75
+ case 'ArrowUp':
76
+ event.preventDefault();
77
+ getPrevious()?.focus();
78
+ break;
79
+ default:
80
+ }
81
+ };
82
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, { ref: ref, id: button, "data-fs-accordion-button": true, "aria-expanded": indices.has(index), icon: indices.has(index) ? expandedIcon : collapsedIcon, iconPosition: "right", "aria-controls": panel, onKeyDown: onKeyDown, onClick: () => {
83
+ onChange(index);
84
+ }, "data-testid": testId, ...otherProps }, children));
85
+ });
86
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionButton);
87
+ //# sourceMappingURL=AccordionButton.js.map
88
+
89
+ /***/ }),
90
+
91
+ /***/ 5705:
92
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
93
+
94
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
95
+ /* harmony export */ "D": () => (/* binding */ useAccordionItem),
96
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
97
+ /* harmony export */ });
98
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
99
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
100
+
101
+ const AccordionItemContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
102
+ const AccordionItem = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionItem({ prefixId = '', index = 0, as: MaybeComponent, children, testId = 'fs-accordion-item', ...otherProps }, ref) {
103
+ const Component = MaybeComponent ?? 'div';
104
+ const context = {
105
+ index,
106
+ prefixId,
107
+ panel: `${prefixId && `${prefixId}-`}panel--${index}`,
108
+ button: `${prefixId && `${prefixId}-`}button--${index}`,
109
+ };
110
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AccordionItemContext.Provider, { value: context },
111
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { ref: ref, "data-fs-accordion-item": true, "data-testid": testId, ...otherProps }, children)));
112
+ });
113
+ function useAccordionItem() {
114
+ const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AccordionItemContext);
115
+ if (context === undefined) {
116
+ throw new Error('Do not use AccordionItem components outside the AccordionItem context.');
117
+ }
118
+ return context;
119
+ }
120
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionItem);
121
+ //# sourceMappingURL=AccordionItem.js.map
122
+
123
+ /***/ }),
124
+
125
+ /***/ 331:
126
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
127
+
128
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
129
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
130
+ /* harmony export */ });
131
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
132
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
133
+ /* harmony import */ var _Accordion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9739);
134
+ /* harmony import */ var _AccordionItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5705);
135
+
136
+
137
+
138
+ const AccordionPanel = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionPanel({ testId = 'fs-accordion-panel', children, ...otherProps }, ref) {
139
+ const { indices } = (0,_Accordion__WEBPACK_IMPORTED_MODULE_1__/* .useAccordion */ .A)();
140
+ const { index, button, panel } = (0,_AccordionItem__WEBPACK_IMPORTED_MODULE_2__/* .useAccordionItem */ .D)();
141
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, id: panel, "data-fs-accordion-panel": true, "aria-labelledby": button, role: "region", hidden: !indices.has(index), "data-testid": testId, ...otherProps }, children));
142
+ });
143
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionPanel);
144
+ //# sourceMappingURL=AccordionPanel.js.map
145
+
146
+ /***/ })
147
+
148
+ };
149
+ ;
@@ -0,0 +1,196 @@
1
+ exports.id = 7104;
2
+ exports.ids = [7104];
3
+ exports.modules = {
4
+
5
+ /***/ 8569:
6
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
7
+
8
+ "use strict";
9
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
12
+ /* harmony export */ });
13
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
14
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
+ /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9785);
16
+ /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__);
17
+ /* harmony import */ var src_sdk_analytics_hooks_useViewItemListEvent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5184);
18
+ /* harmony import */ var src_components_skeletons_ProductShelfSkeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9201);
19
+ /* harmony import */ var src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4867);
20
+ /* harmony import */ var _product_ProductCard__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6475);
21
+ /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8879);
22
+ /* harmony import */ var _product_shelf_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3656);
23
+ /* harmony import */ var _product_shelf_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_product_shelf_module_scss__WEBPACK_IMPORTED_MODULE_8__);
24
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(997);
25
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__);
26
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_4__]);
27
+ src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
28
+ const _excluded = ["title", "withDivisor"];
29
+
30
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
+
32
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ function ProductShelf(_ref) {
46
+ let {
47
+ title,
48
+ withDivisor = false
49
+ } = _ref,
50
+ variables = _objectWithoutProperties(_ref, _excluded);
51
+
52
+ const viewedOnce = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
53
+ const {
54
+ ref,
55
+ inView
56
+ } = (0,react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__.useInView)();
57
+ const products = (0,src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_4__/* .useProductsQuery */ .kN)(variables);
58
+ const productEdges = products?.edges ?? [];
59
+ const aspectRatio = 1;
60
+ const {
61
+ sendViewItemListEvent
62
+ } = (0,src_sdk_analytics_hooks_useViewItemListEvent__WEBPACK_IMPORTED_MODULE_2__/* .useViewItemListEvent */ .m)({
63
+ products: productEdges,
64
+ title,
65
+ page: 0,
66
+ pageSize: 0
67
+ });
68
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
69
+ if (inView && !viewedOnce.current && productEdges.length) {
70
+ sendViewItemListEvent();
71
+ viewedOnce.current = true;
72
+ }
73
+ }, [inView, productEdges.length, sendViewItemListEvent]);
74
+
75
+ if (products?.edges.length === 0) {
76
+ return null;
77
+ }
78
+
79
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_Section__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
80
+ className: `layout__section ${withDivisor ? 'section__divisor' : ''}`,
81
+ ref: ref,
82
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx("h2", {
83
+ className: "text__title-section layout__content",
84
+ children: title
85
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx("div", {
86
+ className: (_product_shelf_module_scss__WEBPACK_IMPORTED_MODULE_8___default().fsProductShelf),
87
+ "data-fs-product-shelf": true,
88
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx(src_components_skeletons_ProductShelfSkeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
89
+ aspectRatio: aspectRatio,
90
+ loading: products === undefined,
91
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx("ul", {
92
+ "data-fs-product-shelf-items": true,
93
+ className: "layout__content",
94
+ children: productEdges.map((product, idx) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx("li", {
95
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx(_product_ProductCard__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
96
+ product: product.node,
97
+ index: idx + 1,
98
+ aspectRatio: aspectRatio
99
+ })
100
+ }, `${product.node.id}`))
101
+ })
102
+ })
103
+ })]
104
+ });
105
+ }
106
+
107
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductShelf);
108
+ __webpack_async_result__();
109
+ } catch(e) { __webpack_async_result__(e); } });
110
+
111
+ /***/ }),
112
+
113
+ /***/ 7104:
114
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
115
+
116
+ "use strict";
117
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
118
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
119
+ /* harmony export */ "Z": () => (/* reexport safe */ _ProductShelf__WEBPACK_IMPORTED_MODULE_0__.Z)
120
+ /* harmony export */ });
121
+ /* harmony import */ var _ProductShelf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8569);
122
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ProductShelf__WEBPACK_IMPORTED_MODULE_0__]);
123
+ _ProductShelf__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
124
+
125
+ __webpack_async_result__();
126
+ } catch(e) { __webpack_async_result__(e); } });
127
+
128
+ /***/ }),
129
+
130
+ /***/ 9201:
131
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
132
+
133
+ "use strict";
134
+
135
+ // EXPORTS
136
+ __webpack_require__.d(__webpack_exports__, {
137
+ "Z": () => (/* reexport */ ProductShelfSkeleton_ProductShelfSkeleton)
138
+ });
139
+
140
+ // EXTERNAL MODULE: ./src/constants.ts
141
+ var constants = __webpack_require__(8459);
142
+ // EXTERNAL MODULE: ./src/components/sections/ProductShelf/product-shelf.module.scss
143
+ var product_shelf_module = __webpack_require__(3656);
144
+ var product_shelf_module_default = /*#__PURE__*/__webpack_require__.n(product_shelf_module);
145
+ // EXTERNAL MODULE: ./src/components/skeletons/ProductCardSkeleton/index.ts + 1 modules
146
+ var ProductCardSkeleton = __webpack_require__(3288);
147
+ // EXTERNAL MODULE: external "react/jsx-runtime"
148
+ var jsx_runtime_ = __webpack_require__(997);
149
+ ;// CONCATENATED MODULE: ./src/components/skeletons/ProductShelfSkeleton/ProductShelfSkeleton.tsx
150
+
151
+
152
+
153
+
154
+
155
+
156
+ function ProductShelfSkeleton({
157
+ children,
158
+ aspectRatio,
159
+ loading = true
160
+ }) {
161
+ return loading ? /*#__PURE__*/jsx_runtime_.jsx("ul", {
162
+ "data-fs-product-shelf-items": true,
163
+ className: `layout__content ${(product_shelf_module_default()).fsProductShelf}`,
164
+ children: Array.from({
165
+ length: constants/* ITEMS_PER_SECTION */.K
166
+ }, (_, index) => /*#__PURE__*/jsx_runtime_.jsx("li", {
167
+ children: /*#__PURE__*/jsx_runtime_.jsx(ProductCardSkeleton/* default */.Z, {
168
+ aspectRatio: aspectRatio,
169
+ sectioned: true
170
+ })
171
+ }, String(index)))
172
+ }) : /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
173
+ children: children
174
+ });
175
+ }
176
+
177
+ /* harmony default export */ const ProductShelfSkeleton_ProductShelfSkeleton = (ProductShelfSkeleton);
178
+ ;// CONCATENATED MODULE: ./src/components/skeletons/ProductShelfSkeleton/index.ts
179
+
180
+
181
+ /***/ }),
182
+
183
+ /***/ 3656:
184
+ /***/ ((module) => {
185
+
186
+ // Exports
187
+ module.exports = {
188
+ "fs-product-shelf": "product-shelf_fs-product-shelf__65g4z",
189
+ "fsProductShelf": "product-shelf_fs-product-shelf__65g4z"
190
+ };
191
+
192
+
193
+ /***/ })
194
+
195
+ };
196
+ ;