@faststore/core 2.0.101-alpha.0 → 2.0.103-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 (160) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/CHANGELOG.md +12 -0
  3. package/cypress/integration/analytics.test.js +2 -2
  4. package/cypress/integration/cart.test.js +4 -4
  5. package/package.json +4 -4
  6. package/src/components/cart/CartSidebar/CartSidebar.tsx +16 -40
  7. package/src/components/cart/OrderSummary/OrderSummary.tsx +2 -6
  8. package/src/components/sections/ProductDetails/ProductDetails.tsx +1 -1
  9. package/src/components/ui/ImageGallery/ImageGallery.tsx +28 -24
  10. package/src/components/ui/ImageGallery/index.ts +2 -4
  11. package/.next/BUILD_ID +0 -1
  12. package/.next/build-manifest.json +0 -99
  13. package/.next/cache/.tsbuildinfo +0 -1
  14. package/.next/cache/config.json +0 -7
  15. package/.next/cache/eslint/.cache_1gneedd +0 -1
  16. package/.next/cache/next-server.js.nft.json +0 -1
  17. package/.next/cache/webpack/client-production/0.pack +0 -0
  18. package/.next/cache/webpack/client-production/index.pack +0 -0
  19. package/.next/cache/webpack/server-production/0.pack +0 -0
  20. package/.next/cache/webpack/server-production/index.pack +0 -0
  21. package/.next/export-marker.json +0 -1
  22. package/.next/images-manifest.json +0 -1
  23. package/.next/next-server.js.nft.json +0 -1
  24. package/.next/package.json +0 -1
  25. package/.next/prerender-manifest.json +0 -1
  26. package/.next/react-loadable-manifest.json +0 -44
  27. package/.next/required-server-files.json +0 -1
  28. package/.next/routes-manifest.json +0 -1
  29. package/.next/server/chunks/120.js +0 -435
  30. package/.next/server/chunks/123.js +0 -58
  31. package/.next/server/chunks/1394.js +0 -3801
  32. package/.next/server/chunks/1608.js +0 -515
  33. package/.next/server/chunks/2154.js +0 -206
  34. package/.next/server/chunks/247.js +0 -61
  35. package/.next/server/chunks/2914.js +0 -95
  36. package/.next/server/chunks/2922.js +0 -7293
  37. package/.next/server/chunks/3264.js +0 -67
  38. package/.next/server/chunks/3431.js +0 -7241
  39. package/.next/server/chunks/350.js +0 -142
  40. package/.next/server/chunks/3746.js +0 -237
  41. package/.next/server/chunks/3898.js +0 -240
  42. package/.next/server/chunks/4312.js +0 -674
  43. package/.next/server/chunks/4371.js +0 -1473
  44. package/.next/server/chunks/5098.js +0 -124
  45. package/.next/server/chunks/5576.js +0 -72
  46. package/.next/server/chunks/6280.js +0 -322
  47. package/.next/server/chunks/6465.js +0 -91
  48. package/.next/server/chunks/676.js +0 -32
  49. package/.next/server/chunks/6859.js +0 -959
  50. package/.next/server/chunks/6881.js +0 -320
  51. package/.next/server/chunks/6898.js +0 -149
  52. package/.next/server/chunks/7104.js +0 -196
  53. package/.next/server/chunks/7181.js +0 -658
  54. package/.next/server/chunks/7183.js +0 -72
  55. package/.next/server/chunks/7992.js +0 -570
  56. package/.next/server/chunks/8098.js +0 -246
  57. package/.next/server/chunks/810.js +0 -432
  58. package/.next/server/chunks/8287.js +0 -58
  59. package/.next/server/chunks/9143.js +0 -106
  60. package/.next/server/chunks/9152.js +0 -213
  61. package/.next/server/chunks/953.js +0 -646
  62. package/.next/server/chunks/9557.js +0 -117
  63. package/.next/server/chunks/9854.js +0 -72
  64. package/.next/server/chunks/font-manifest.json +0 -1
  65. package/.next/server/font-manifest.json +0 -1
  66. package/.next/server/middleware-build-manifest.js +0 -1
  67. package/.next/server/middleware-manifest.json +0 -6
  68. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  69. package/.next/server/pages/404.js.nft.json +0 -1
  70. package/.next/server/pages/500.js.nft.json +0 -1
  71. package/.next/server/pages/[...slug].js +0 -671
  72. package/.next/server/pages/[...slug].js.nft.json +0 -1
  73. package/.next/server/pages/[slug]/p.js +0 -2393
  74. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  75. package/.next/server/pages/_app.js +0 -2369
  76. package/.next/server/pages/_app.js.nft.json +0 -1
  77. package/.next/server/pages/_document.js +0 -304
  78. package/.next/server/pages/_document.js.nft.json +0 -1
  79. package/.next/server/pages/_error.js +0 -164
  80. package/.next/server/pages/_error.js.nft.json +0 -1
  81. package/.next/server/pages/account.js.nft.json +0 -1
  82. package/.next/server/pages/api/graphql.js +0 -315
  83. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  84. package/.next/server/pages/api/preview.js +0 -118
  85. package/.next/server/pages/api/preview.js.nft.json +0 -1
  86. package/.next/server/pages/checkout.js.nft.json +0 -1
  87. package/.next/server/pages/en-US/404.html +0 -81
  88. package/.next/server/pages/en-US/500.html +0 -81
  89. package/.next/server/pages/en-US/account.html +0 -81
  90. package/.next/server/pages/en-US/checkout.html +0 -81
  91. package/.next/server/pages/en-US/login.html +0 -81
  92. package/.next/server/pages/en-US/s.html +0 -81
  93. package/.next/server/pages/en-US.html +0 -81
  94. package/.next/server/pages/en-US.json +0 -1
  95. package/.next/server/pages/index.js +0 -428
  96. package/.next/server/pages/index.js.nft.json +0 -1
  97. package/.next/server/pages/login.js.nft.json +0 -1
  98. package/.next/server/pages/s.js.nft.json +0 -1
  99. package/.next/server/pages-manifest.json +0 -16
  100. package/.next/server/webpack-api-runtime.js +0 -229
  101. package/.next/server/webpack-runtime.js +0 -229
  102. package/.next/static/V0z729OIqsX7azqcAGJ5Q/_buildManifest.js +0 -1
  103. package/.next/static/V0z729OIqsX7azqcAGJ5Q/_ssgManifest.js +0 -1
  104. package/.next/static/chunks/143.dd8a556e6957baa1.js +0 -1
  105. package/.next/static/chunks/152.57849458d8337a92.js +0 -1
  106. package/.next/static/chunks/264-6dc2258a751b3d74.js +0 -1
  107. package/.next/static/chunks/351-a4e28d64f48c5269.js +0 -1
  108. package/.next/static/chunks/608.59e69b83f35d9c44.js +0 -1
  109. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  110. package/.next/static/chunks/686.6c345856d484363b.js +0 -1
  111. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  112. package/.next/static/chunks/781-7df372b5b56e3f96.js +0 -1
  113. package/.next/static/chunks/843.e1d0f9260a52f32c.js +0 -1
  114. package/.next/static/chunks/98.97381d2021f86cd9.js +0 -1
  115. package/.next/static/chunks/996.64460309250b214c.js +0 -1
  116. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  117. package/.next/static/chunks/main-9746772201fe3ac1.js +0 -1
  118. package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +0 -1
  119. package/.next/static/chunks/pages/500-910883c20541d9ce.js +0 -1
  120. package/.next/static/chunks/pages/[...slug]-417e3b51bda1f5f3.js +0 -1
  121. package/.next/static/chunks/pages/[slug]/p-cbb4ca8d57bafa9f.js +0 -1
  122. package/.next/static/chunks/pages/_app-6dc7b0c168e15d5c.js +0 -1
  123. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +0 -1
  124. package/.next/static/chunks/pages/account-b8fc5222ffe89b60.js +0 -1
  125. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +0 -1
  126. package/.next/static/chunks/pages/index-9ea3f7868f5ed138.js +0 -1
  127. package/.next/static/chunks/pages/login-33954810b200eca8.js +0 -1
  128. package/.next/static/chunks/pages/s-ba2868e14fedb65b.js +0 -1
  129. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  130. package/.next/static/chunks/webpack-65b155971f3eac57.js +0 -1
  131. package/.next/static/css/10db3bc7ecdf0556.css +0 -1
  132. package/.next/static/css/43d61b402f41569b.css +0 -1
  133. package/.next/static/css/4899c3cc356704f9.css +0 -1
  134. package/.next/static/css/6507cb48401e73a4.css +0 -1
  135. package/.next/static/css/8ea129ea90e49e98.css +0 -1
  136. package/.next/static/css/b2f16bd4b93e0aca.css +0 -1
  137. package/.next/static/css/db63ea05e98cb7e8.css +0 -1
  138. package/.next/static/css/ea60a7e6c07ee644.css +0 -1
  139. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  140. package/.next/trace +0 -65
  141. package/public/~partytown/debug/partytown-atomics.js +0 -556
  142. package/public/~partytown/debug/partytown-media.js +0 -374
  143. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  144. package/public/~partytown/debug/partytown-sw.js +0 -59
  145. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  146. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  147. package/public/~partytown/debug/partytown.js +0 -72
  148. package/public/~partytown/partytown-atomics.js +0 -2
  149. package/public/~partytown/partytown-media.js +0 -2
  150. package/public/~partytown/partytown-sw.js +0 -2
  151. package/public/~partytown/partytown.js +0 -2
  152. package/src/components/cart/CartItem/CartItem.stories.mdx +0 -134
  153. package/src/components/cart/CartSidebar/CartSidebar.stories.mdx +0 -105
  154. package/src/components/cart/CartSidebar/cart-sidebar.module.scss +0 -57
  155. package/src/components/cart/OrderSummary/order-summary.module.scss +0 -22
  156. package/src/components/ui/ImageGallery/ImageGallery.stories.mdx +0 -173
  157. package/src/components/ui/ImageGallery/ImageGallerySelector.tsx +0 -121
  158. package/src/components/ui/ImageGallery/ImageZoom.tsx +0 -12
  159. package/src/components/ui/ImageGallery/image-gallery-selector.module.scss +0 -137
  160. package/src/components/ui/ImageGallery/image-gallery.module.scss +0 -56
@@ -1,246 +0,0 @@
1
- "use strict";
2
- exports.id = 8098;
3
- exports.ids = [8098];
4
- exports.modules = {
5
-
6
- /***/ 6074:
7
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
-
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "b": () => (/* binding */ useFadeEffect)
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 useFadeEffect = () => {
16
- const [fade, setFade] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('out');
17
- const fadeOut = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setFade('out'), []);
18
- const fadeIn = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setFade('in'), []);
19
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
20
- fadeIn();
21
- return () => {
22
- fadeOut();
23
- };
24
- }, [fadeIn, fadeOut]);
25
- return {
26
- fade,
27
- fadeIn,
28
- fadeOut,
29
- };
30
- };
31
- //# sourceMappingURL=useFadeEffect.js.map
32
-
33
- /***/ }),
34
-
35
- /***/ 9600:
36
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37
-
38
-
39
- // EXPORTS
40
- __webpack_require__.d(__webpack_exports__, {
41
- "Z": () => (/* binding */ Modal_Modal)
42
- });
43
-
44
- // EXTERNAL MODULE: external "react"
45
- var external_react_ = __webpack_require__(6689);
46
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
47
- // EXTERNAL MODULE: external "react-dom"
48
- var external_react_dom_ = __webpack_require__(6405);
49
- ;// CONCATENATED MODULE: ../components/dist/atoms/Overlay/Overlay.js
50
-
51
- const Overlay = (0,external_react_.forwardRef)(function Overlay({ testId = 'fs-overlay', ...otherProps }, ref) {
52
- return (external_react_default().createElement("div", { ref: ref, "data-fs-overlay": true, role: "presentation", "data-testid": testId, ...otherProps }));
53
- });
54
- /* harmony default export */ const Overlay_Overlay = (Overlay);
55
- //# sourceMappingURL=Overlay.js.map
56
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
57
- var UIProvider = __webpack_require__(395);
58
- // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
59
- var useFadeEffect = __webpack_require__(6074);
60
- // EXTERNAL MODULE: external "tabbable"
61
- var external_tabbable_ = __webpack_require__(3823);
62
- ;// CONCATENATED MODULE: ../components/dist/hooks/useTrapFocus.js
63
-
64
-
65
- /*
66
- * Element that will maintain the focus inside trapFocusRef, focus the first element,
67
- * and focus back on the element that was in focus when useTrapFocus was triggered.
68
- *
69
- * Inspired by Reakit useTrapFocus https://github.com/reakit/reakit/blob/a211d94da9f3b683182568a56479b91afb1b85ae/packages/reakit/src/Dialog/__utils/useFocusTrap.ts
70
- */
71
- const useTrapFocus = ({ trapFocusRef, beforeElementRef, afterElementRef, }) => {
72
- const tabbableNodesRef = (0,external_react_.useRef)();
73
- const nodeToRestoreRef = (0,external_react_.useRef)(document.hasFocus() ? document.activeElement : null);
74
- // Focus back on the element that was focused when useTrapFocus is triggered.
75
- (0,external_react_.useEffect)(() => {
76
- const nodeToRestore = nodeToRestoreRef.current;
77
- return () => {
78
- nodeToRestore?.focus();
79
- };
80
- }, [nodeToRestoreRef]);
81
- // Set focus on first tabbable element
82
- (0,external_react_.useEffect)(() => {
83
- if (!trapFocusRef.current) {
84
- return;
85
- }
86
- if (!tabbableNodesRef.current) {
87
- tabbableNodesRef.current = (0,external_tabbable_.tabbable)(trapFocusRef.current);
88
- }
89
- const [firstTabbable] = tabbableNodesRef.current;
90
- if (!firstTabbable) {
91
- trapFocusRef.current.focus();
92
- return;
93
- }
94
- firstTabbable.focus();
95
- }, [trapFocusRef]);
96
- // Handle loop focus. Set keydown and focusin event listeners
97
- (0,external_react_.useEffect)(() => {
98
- if (!trapFocusRef.current ||
99
- !beforeElementRef.current ||
100
- !afterElementRef.current) {
101
- return;
102
- }
103
- const beforeElement = beforeElementRef.current;
104
- const afterElement = afterElementRef.current;
105
- const trapFocus = trapFocusRef.current;
106
- const handleLoopFocus = (nativeEvent) => {
107
- if (!document.hasFocus()) {
108
- return;
109
- }
110
- tabbableNodesRef.current = (0,external_tabbable_.tabbable)(trapFocusRef.current);
111
- if (!tabbableNodesRef.current.length) {
112
- trapFocus.focus();
113
- }
114
- /*
115
- * Handle loop focus from beforeElementRef. This node can only be focused if the user press shift tab.
116
- * It will focus the last element of the trapFocusRef.
117
- */
118
- if (nativeEvent.target === beforeElement) {
119
- tabbableNodesRef.current[tabbableNodesRef.current.length - 1]?.focus();
120
- }
121
- /*
122
- * Handle loop focus from afterElementRef. This node can only be focused if the user press tab.
123
- * It will focus the first element of the trapFocusRef.
124
- */
125
- if (nativeEvent.target === afterElement) {
126
- tabbableNodesRef.current[0]?.focus();
127
- }
128
- };
129
- beforeElement?.addEventListener('focusin', handleLoopFocus);
130
- afterElement?.addEventListener('focusin', handleLoopFocus);
131
- return () => {
132
- beforeElement?.removeEventListener('focusin', handleLoopFocus);
133
- afterElement?.removeEventListener('focusin', handleLoopFocus);
134
- };
135
- }, [tabbableNodesRef, afterElementRef, beforeElementRef, trapFocusRef]);
136
- };
137
- //# sourceMappingURL=useTrapFocus.js.map
138
- ;// CONCATENATED MODULE: ../components/dist/molecules/Modal/ModalContent.js
139
-
140
-
141
- const ModalContentPure = ({ beforeElementRef, trapFocusRef, afterElementRef, testId = 'store-modal-content', children, ...otherProps }) => {
142
- return (external_react_default().createElement((external_react_default()).Fragment, null,
143
- external_react_default().createElement("div", { ref: beforeElementRef, "data-testid": "beforeElement", tabIndex: 0, "aria-hidden": "true" }),
144
- external_react_default().createElement("div", { "data-fs-modal-content": true, "data-testid": testId, ref: trapFocusRef, "aria-modal": "true", role: "dialog", tabIndex: -1, ...otherProps }, children),
145
- external_react_default().createElement("div", { ref: afterElementRef, "data-testid": "afterElement", tabIndex: 0, "aria-hidden": "true" })));
146
- };
147
- const ModalContent = ({ children, ...otherProps }) => {
148
- const trapFocusRef = (0,external_react_.useRef)(null);
149
- const beforeElementRef = (0,external_react_.useRef)(null);
150
- const afterElementRef = (0,external_react_.useRef)(null);
151
- useTrapFocus({
152
- beforeElementRef,
153
- trapFocusRef,
154
- afterElementRef,
155
- });
156
- return (external_react_default().createElement(ModalContentPure, { ...otherProps, trapFocusRef: trapFocusRef, beforeElementRef: beforeElementRef, afterElementRef: afterElementRef, onClick: (event) => {
157
- event.stopPropagation();
158
- } }, children));
159
- };
160
- /* harmony default export */ const Modal_ModalContent = (ModalContent);
161
- //# sourceMappingURL=ModalContent.js.map
162
- ;// CONCATENATED MODULE: ../components/dist/molecules/Modal/Modal.js
163
-
164
-
165
-
166
-
167
-
168
- /*
169
- * This component is based on @reach/dialog.
170
- * https://github.com/reach/reach-ui/blob/main/packages/dialog/src/index.tsx
171
- * https://reach.tech/dialog
172
- */
173
- const Modal = ({ children, testId = 'fs-modal', isOpen = true, onDismiss, ...otherProps }) => {
174
- const { closeModal } = (0,UIProvider/* useUI */.l)();
175
- const { fade, fadeOut, fadeIn } = (0,useFadeEffect/* useFadeEffect */.b)();
176
- const handleBackdropClick = (event) => {
177
- if (event.defaultPrevented) {
178
- return;
179
- }
180
- event.stopPropagation();
181
- fadeOut?.();
182
- onDismiss?.();
183
- };
184
- const handleBackdropKeyDown = (event) => {
185
- if (event.key !== 'Escape' || event.defaultPrevented) {
186
- return;
187
- }
188
- event.stopPropagation();
189
- fadeOut?.();
190
- onDismiss?.();
191
- };
192
- return isOpen
193
- ? (0,external_react_dom_.createPortal)(external_react_default().createElement(Overlay_Overlay, { onClick: handleBackdropClick, onKeyDown: handleBackdropKeyDown },
194
- external_react_default().createElement(Modal_ModalContent, { onTransitionEnd: () => fade === 'out' && closeModal(), "data-fs-modal": true, "data-fs-modal-state": fade, testId: testId, ...otherProps }, typeof children === 'function'
195
- ? children({ fade, fadeOut, fadeIn })
196
- : children)), document.body)
197
- : null;
198
- };
199
- /* harmony default export */ const Modal_Modal = (Modal);
200
- //# sourceMappingURL=Modal.js.map
201
-
202
- /***/ }),
203
-
204
- /***/ 1021:
205
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
206
-
207
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
208
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
209
- /* harmony export */ });
210
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
211
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
212
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9600);
213
-
214
-
215
- function SlideOver({ isOpen, direction = 'leftSide', size = 'full', fade = 'out', children, onDismiss, testId = 'fs-slide-over', ...otherProps }) {
216
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-modal": null, "data-fs-slide-over": true, "data-fs-slide-over-direction": direction, "data-fs-slide-over-size": size, "data-fs-slide-over-state": fade, isOpen: isOpen, onDismiss: onDismiss, ...otherProps }, children));
217
- }
218
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SlideOver);
219
- //# sourceMappingURL=SlideOver.js.map
220
-
221
- /***/ }),
222
-
223
- /***/ 9648:
224
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
225
-
226
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
227
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
228
- /* harmony export */ });
229
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
230
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
231
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2765);
232
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5045);
233
-
234
-
235
- const SlideOverHeader = ({ children, closeBtnProps = {}, onClose, }) => {
236
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-slide-over-header": true },
237
- children,
238
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-slide-over-header-icon": true, "aria-label": "Close", icon: react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { name: "X" }), onClick: onClose, ...closeBtnProps })));
239
- };
240
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SlideOverHeader);
241
- //# sourceMappingURL=SlideOverHeader.js.map
242
-
243
- /***/ })
244
-
245
- };
246
- ;
@@ -1,432 +0,0 @@
1
- exports.id = 810;
2
- exports.ids = [810];
3
- exports.modules = {
4
-
5
- /***/ 8460:
6
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
-
8
- "use strict";
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "_": () => (/* binding */ sendAnalyticsEvent)
11
- /* harmony export */ });
12
- /* harmony import */ var _wrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6716);
13
-
14
- const sendAnalyticsEvent = (event) => {
15
- try {
16
- window.postMessage((0,_wrap__WEBPACK_IMPORTED_MODULE_0__/* .wrap */ .re)(event), window.origin);
17
- }
18
- catch (e) {
19
- // IE and Edge have a bug on postMessage inside promises.
20
- // Ignoring for now, will try to find a workaround that
21
- // makes postMessage work on those browsers.
22
- // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14719328/
23
- console.error(e);
24
- }
25
- };
26
- //# sourceMappingURL=sendAnalyticsEvent.js.map
27
-
28
- /***/ }),
29
-
30
- /***/ 6716:
31
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32
-
33
- "use strict";
34
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35
- /* harmony export */ "Wg": () => (/* binding */ unwrap),
36
- /* harmony export */ "re": () => (/* binding */ wrap),
37
- /* harmony export */ "vi": () => (/* binding */ ANALYTICS_EVENT_TYPE)
38
- /* harmony export */ });
39
- /* unused harmony export STORE_EVENT_PREFIX */
40
- const STORE_EVENT_PREFIX = 'store:';
41
- const ANALYTICS_EVENT_TYPE = 'AnalyticsEvent';
42
- const wrap = (event) => ({
43
- name: ANALYTICS_EVENT_TYPE,
44
- params: {
45
- ...event,
46
- name: `${STORE_EVENT_PREFIX}${event.name}`,
47
- },
48
- });
49
- const unwrap = (event) => {
50
- return {
51
- ...event.params,
52
- name: event.params.name.slice(STORE_EVENT_PREFIX.length, event.params.name.length),
53
- };
54
- };
55
- //# sourceMappingURL=wrap.js.map
56
-
57
- /***/ }),
58
-
59
- /***/ 2834:
60
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
61
-
62
- "use strict";
63
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
64
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
66
- /* harmony export */ });
67
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
68
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
69
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9785);
70
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__);
71
- /* harmony import */ var src_sdk_analytics_hooks_useViewItemListEvent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5184);
72
- /* harmony import */ var src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5534);
73
- /* harmony import */ var src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6475);
74
- /* harmony import */ var src_components_skeletons_ProductTilesSkeleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(638);
75
- /* harmony import */ var src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4867);
76
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8879);
77
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(997);
78
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__);
79
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_6__]);
80
- src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_6__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
81
- const _excluded = ["title"];
82
-
83
- 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; }
84
-
85
- 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; }
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
- const NUMBER_ITEMS_TO_EXPAND_FIRST = 3;
98
- const NUMBER_ITEMS_TO_EXPAND_FIRST_TWO = 2;
99
-
100
- const getRatio = (products, idx) => {
101
- const expandsFirstTile = products === NUMBER_ITEMS_TO_EXPAND_FIRST && idx === 0;
102
- const expandsFirstTwoTile = products === NUMBER_ITEMS_TO_EXPAND_FIRST_TWO && (idx === 0 || idx === 1);
103
-
104
- if (expandsFirstTile || expandsFirstTwoTile) {
105
- return 5 / 3;
106
- }
107
-
108
- return 3 / 4;
109
- };
110
-
111
- const ProductTiles = _ref => {
112
- let {
113
- title
114
- } = _ref,
115
- variables = _objectWithoutProperties(_ref, _excluded);
116
-
117
- const viewedOnce = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
118
- const {
119
- ref,
120
- inView
121
- } = (0,react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__.useInView)();
122
- const products = (0,src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_6__/* .useProductsQuery */ .kN)(variables);
123
- const productEdges = products?.edges ?? [];
124
- const {
125
- sendViewItemListEvent
126
- } = (0,src_sdk_analytics_hooks_useViewItemListEvent__WEBPACK_IMPORTED_MODULE_2__/* .useViewItemListEvent */ .m)({
127
- products: productEdges,
128
- title,
129
- page: 0,
130
- pageSize: 0
131
- });
132
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
133
- if (inView && !viewedOnce.current && productEdges.length) {
134
- sendViewItemListEvent();
135
- viewedOnce.current = true;
136
- }
137
- }, [inView, productEdges.length, sendViewItemListEvent]);
138
-
139
- if (products?.edges.length === 0) {
140
- return null;
141
- }
142
-
143
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(_Section__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
144
- className: "layout__section layout__content",
145
- ref: ref,
146
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx("h2", {
147
- className: "text__title-section",
148
- children: title
149
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx("div", {
150
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_skeletons_ProductTilesSkeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
151
- loading: !products,
152
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
153
- children: productEdges.map((product, idx) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_3__/* .Tile */ .n, {
154
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
155
- "data-testid": "tile-card",
156
- product: product.node,
157
- index: idx + 1,
158
- variant: "wide",
159
- aspectRatio: getRatio(productEdges.length, idx)
160
- })
161
- }, product.node.id))
162
- })
163
- })
164
- })]
165
- });
166
- };
167
-
168
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductTiles);
169
- __webpack_async_result__();
170
- } catch(e) { __webpack_async_result__(e); } });
171
-
172
- /***/ }),
173
-
174
- /***/ 8872:
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 */ "Z": () => (/* reexport safe */ _ProductTiles__WEBPACK_IMPORTED_MODULE_0__.Z)
181
- /* harmony export */ });
182
- /* harmony import */ var _ProductTiles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2834);
183
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ProductTiles__WEBPACK_IMPORTED_MODULE_0__]);
184
- _ProductTiles__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
185
-
186
- __webpack_async_result__();
187
- } catch(e) { __webpack_async_result__(e); } });
188
-
189
- /***/ }),
190
-
191
- /***/ 638:
192
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
193
-
194
- "use strict";
195
-
196
- // EXPORTS
197
- __webpack_require__.d(__webpack_exports__, {
198
- "s": () => (/* reexport */ ProductTileSkeleton_ProductTileSkeleton),
199
- "Z": () => (/* reexport */ ProductTilesSkeleton_ProductTilesSkeleton)
200
- });
201
-
202
- // EXTERNAL MODULE: ./src/components/ui/Tiles/index.ts + 3 modules
203
- var Tiles = __webpack_require__(5534);
204
- // EXTERNAL MODULE: external "react/jsx-runtime"
205
- var jsx_runtime_ = __webpack_require__(997);
206
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTilesSkeleton.tsx
207
-
208
- // TODO: // Replace it when items number become dynamically defined
209
-
210
-
211
-
212
- const DEFAULT_ITEMS_NUMBER = 3;
213
- const DEFAULT_ITEMS_NUMBER_TWO = 2;
214
-
215
- const getRatio = (products, idx) => {
216
- const expandsFirstTile = products === DEFAULT_ITEMS_NUMBER && idx === 0;
217
- const expandsFirstTwoTile = products === DEFAULT_ITEMS_NUMBER_TWO && (idx === 0 || idx === 1);
218
-
219
- if (expandsFirstTile || expandsFirstTwoTile) {
220
- return 5 / 3;
221
- }
222
-
223
- return 3 / 4;
224
- };
225
-
226
- function ProductTilesSkeleton({
227
- children,
228
- loading = true
229
- }) {
230
- return loading ? /*#__PURE__*/jsx_runtime_.jsx(Tiles/* default */.Z, {
231
- children: Array.from({
232
- length: DEFAULT_ITEMS_NUMBER
233
- }, (_, index) => /*#__PURE__*/jsx_runtime_.jsx(Tiles/* Tile */.n, {
234
- children: /*#__PURE__*/jsx_runtime_.jsx(ProductTileSkeleton_ProductTileSkeleton, {
235
- index: index + 1,
236
- aspectRatio: getRatio(DEFAULT_ITEMS_NUMBER, index)
237
- })
238
- }, String(index)))
239
- }) : /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
240
- children: children
241
- });
242
- }
243
-
244
- /* harmony default export */ const ProductTilesSkeleton_ProductTilesSkeleton = (ProductTilesSkeleton);
245
- // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
246
- var Skeleton = __webpack_require__(2928);
247
- // EXTERNAL MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/product-tile-skeleton.module.scss
248
- var product_tile_skeleton_module = __webpack_require__(2731);
249
- var product_tile_skeleton_module_default = /*#__PURE__*/__webpack_require__.n(product_tile_skeleton_module);
250
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/ProductTileSkeleton.tsx
251
-
252
-
253
-
254
-
255
-
256
- function ProductTileSkeleton({
257
- index,
258
- aspectRatio = 1
259
- }) {
260
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
261
- "data-fs-product-tile-skeleton": true,
262
- className: (product_tile_skeleton_module_default()).fsProductTileSkeleton,
263
- "data-fs-product-tile-skeleton-index": index,
264
- children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
265
- "data-fs-product-tile-skeleton-image": true,
266
- "data-fs-product-tile-skeleton-index": index,
267
- style: {
268
- '--fs-product-tile-skeleton-image-aspect-ratio': aspectRatio
269
- },
270
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
271
- size: {
272
- width: 'auto',
273
- height: '100%'
274
- },
275
- loading: true
276
- })
277
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
278
- "data-fs-product-tile-skeleton-content": true,
279
- "data-fs-product-tile-skeleton-index": index,
280
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
281
- "data-fs-product-tile-skeleton-heading": true,
282
- children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
283
- "data-fs-product-tile-skeleton-text": true,
284
- "data-fs-product-tile-skeleton-index": index,
285
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
286
- size: {
287
- width: '70%',
288
- height: '1.5rem'
289
- }
290
- })
291
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
292
- "data-fs-product-tile-skeleton-price": true,
293
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
294
- size: {
295
- width: '60%',
296
- height: '1.5rem'
297
- }
298
- })
299
- })]
300
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
301
- "data-fs-product-tile-skeleton-badge": true,
302
- "data-fs-product-tile-skeleton-index": index,
303
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
304
- size: {
305
- width: '6rem',
306
- height: '2rem'
307
- },
308
- border: "pill"
309
- })
310
- })]
311
- })]
312
- });
313
- }
314
-
315
- /* harmony default export */ const ProductTileSkeleton_ProductTileSkeleton = (ProductTileSkeleton);
316
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/index.ts
317
-
318
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/index.ts
319
-
320
-
321
-
322
- /***/ }),
323
-
324
- /***/ 5534:
325
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
326
-
327
- "use strict";
328
-
329
- // EXPORTS
330
- __webpack_require__.d(__webpack_exports__, {
331
- "n": () => (/* reexport */ Tiles_Tile),
332
- "Z": () => (/* reexport */ ui_Tiles_Tiles)
333
- });
334
-
335
- // EXTERNAL MODULE: external "react"
336
- var external_react_ = __webpack_require__(6689);
337
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
338
- ;// CONCATENATED MODULE: ../ui/dist/components/organisms/Tiles/Tiles.js
339
-
340
-
341
- const MIN_CHILDREN = 2;
342
- const MAX_CHILDREN = 4;
343
- const NUMBER_ITEMS_TO_EXPAND_FIRST_TWO = 2;
344
- const NUMBER_ITEMS_TO_EXPAND_FIRST = 3;
345
- const Tiles = (0,external_react_.forwardRef)(function Tiles({ testId = 'store-tiles', children, ...otherProps }, ref) {
346
- const childrenCount = external_react_.Children.count(children);
347
- if (false) {}
348
- if (false) {}
349
- const expandedClass = childrenCount === NUMBER_ITEMS_TO_EXPAND_FIRST
350
- ? 'expanded-first'
351
- : childrenCount === NUMBER_ITEMS_TO_EXPAND_FIRST_TWO
352
- ? 'expanded-first-two'
353
- : '';
354
- return (external_react_default().createElement("ul", { ref: ref, "data-fs-tiles": true, "data-fs-tiles-variant": expandedClass, "data-testid": testId, ...otherProps }, children));
355
- });
356
- /* harmony default export */ const Tiles_Tiles = (Tiles);
357
- //# sourceMappingURL=Tiles.js.map
358
- // EXTERNAL MODULE: ./src/components/ui/Tiles/tiles.module.scss
359
- var tiles_module = __webpack_require__(9728);
360
- var tiles_module_default = /*#__PURE__*/__webpack_require__.n(tiles_module);
361
- // EXTERNAL MODULE: external "react/jsx-runtime"
362
- var jsx_runtime_ = __webpack_require__(997);
363
- ;// CONCATENATED MODULE: ./src/components/ui/Tiles/Tiles.tsx
364
- const _excluded = ["children"];
365
-
366
- 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; }
367
-
368
- 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; }
369
-
370
- 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; }
371
-
372
- 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; }
373
-
374
- 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; }
375
-
376
-
377
-
378
-
379
-
380
- const Tiles_Tiles_Tiles = _ref => {
381
- let {
382
- children
383
- } = _ref,
384
- otherProps = _objectWithoutProperties(_ref, _excluded);
385
-
386
- return /*#__PURE__*/jsx_runtime_.jsx(Tiles_Tiles, _objectSpread(_objectSpread({
387
- className: (tiles_module_default()).fsTiles
388
- }, otherProps), {}, {
389
- children: children
390
- }));
391
- };
392
-
393
- /* harmony default export */ const ui_Tiles_Tiles = (Tiles_Tiles_Tiles);
394
- ;// CONCATENATED MODULE: ../ui/dist/components/organisms/Tiles/Tile.js
395
-
396
- const Tile = (0,external_react_.forwardRef)(function Tile({ testId = 'store-tile', children, ...otherProps }, ref) {
397
- return (external_react_default().createElement("li", { ref: ref, "data-fs-tile": true, "data-testid": testId, ...otherProps }, children));
398
- });
399
- /* harmony default export */ const Tiles_Tile = (Tile);
400
- //# sourceMappingURL=Tile.js.map
401
- ;// CONCATENATED MODULE: ./src/components/ui/Tiles/index.ts
402
-
403
-
404
-
405
- /***/ }),
406
-
407
- /***/ 2731:
408
- /***/ ((module) => {
409
-
410
- // Exports
411
- module.exports = {
412
- "fs-product-tile-skeleton": "product-tile-skeleton_fs-product-tile-skeleton___HloN",
413
- "fsProductTileSkeleton": "product-tile-skeleton_fs-product-tile-skeleton___HloN"
414
- };
415
-
416
-
417
- /***/ }),
418
-
419
- /***/ 9728:
420
- /***/ ((module) => {
421
-
422
- // Exports
423
- module.exports = {
424
- "fs-tiles": "tiles_fs-tiles__N15Au",
425
- "fsTiles": "tiles_fs-tiles__N15Au"
426
- };
427
-
428
-
429
- /***/ })
430
-
431
- };
432
- ;