@faststore/core 2.1.0 → 2.1.1

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 (149) hide show
  1. package/.turbo/turbo-build.log +9 -3
  2. package/.turbo/turbo-lint.log +2 -0
  3. package/package.json +8 -8
  4. package/.next/BUILD_ID +0 -1
  5. package/.next/build-manifest.json +0 -123
  6. package/.next/cache/.tsbuildinfo +0 -1
  7. package/.next/cache/eslint/.cache_abdhua +0 -1
  8. package/.next/cache/next-server.js.nft.json +0 -1
  9. package/.next/cache/webpack/client-production/0.pack +0 -0
  10. package/.next/cache/webpack/client-production/index.pack +0 -0
  11. package/.next/cache/webpack/server-production/0.pack +0 -0
  12. package/.next/cache/webpack/server-production/index.pack +0 -0
  13. package/.next/export-marker.json +0 -1
  14. package/.next/images-manifest.json +0 -1
  15. package/.next/next-server.js.nft.json +0 -1
  16. package/.next/package.json +0 -1
  17. package/.next/prerender-manifest.json +0 -1
  18. package/.next/react-loadable-manifest.json +0 -44
  19. package/.next/required-server-files.json +0 -1
  20. package/.next/routes-manifest.json +0 -1
  21. package/.next/server/chunks/123.js +0 -58
  22. package/.next/server/chunks/143.js +0 -106
  23. package/.next/server/chunks/183.js +0 -90
  24. package/.next/server/chunks/205.js +0 -722
  25. package/.next/server/chunks/247.js +0 -61
  26. package/.next/server/chunks/253.js +0 -535
  27. package/.next/server/chunks/280.js +0 -324
  28. package/.next/server/chunks/287.js +0 -58
  29. package/.next/server/chunks/289.js +0 -229
  30. package/.next/server/chunks/312.js +0 -697
  31. package/.next/server/chunks/350.js +0 -143
  32. package/.next/server/chunks/368.js +0 -253
  33. package/.next/server/chunks/378.js +0 -326
  34. package/.next/server/chunks/487.js +0 -9142
  35. package/.next/server/chunks/502.js +0 -626
  36. package/.next/server/chunks/513.js +0 -257
  37. package/.next/server/chunks/576.js +0 -90
  38. package/.next/server/chunks/597.js +0 -211
  39. package/.next/server/chunks/650.js +0 -9142
  40. package/.next/server/chunks/676.js +0 -32
  41. package/.next/server/chunks/701.js +0 -87
  42. package/.next/server/chunks/74.js +0 -3898
  43. package/.next/server/chunks/825.js +0 -4039
  44. package/.next/server/chunks/854.js +0 -72
  45. package/.next/server/chunks/859.js +0 -959
  46. package/.next/server/chunks/886.js +0 -120
  47. package/.next/server/chunks/907.js +0 -1803
  48. package/.next/server/chunks/98.js +0 -124
  49. package/.next/server/chunks/font-manifest.json +0 -1
  50. package/.next/server/font-manifest.json +0 -1
  51. package/.next/server/middleware-build-manifest.js +0 -1
  52. package/.next/server/middleware-manifest.json +0 -6
  53. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  54. package/.next/server/pages/404.js +0 -393
  55. package/.next/server/pages/404.js.nft.json +0 -1
  56. package/.next/server/pages/500.js +0 -395
  57. package/.next/server/pages/500.js.nft.json +0 -1
  58. package/.next/server/pages/[...slug].js +0 -786
  59. package/.next/server/pages/[...slug].js.nft.json +0 -1
  60. package/.next/server/pages/[slug]/p.js +0 -2325
  61. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  62. package/.next/server/pages/_app.js +0 -281
  63. package/.next/server/pages/_app.js.nft.json +0 -1
  64. package/.next/server/pages/_document.js +0 -340
  65. package/.next/server/pages/_document.js.nft.json +0 -1
  66. package/.next/server/pages/_error.js +0 -164
  67. package/.next/server/pages/_error.js.nft.json +0 -1
  68. package/.next/server/pages/account.js +0 -370
  69. package/.next/server/pages/account.js.nft.json +0 -1
  70. package/.next/server/pages/api/graphql.js +0 -365
  71. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  72. package/.next/server/pages/api/preview.js +0 -119
  73. package/.next/server/pages/api/preview.js.nft.json +0 -1
  74. package/.next/server/pages/checkout.js +0 -370
  75. package/.next/server/pages/checkout.js.nft.json +0 -1
  76. package/.next/server/pages/en-US/404.html +0 -81
  77. package/.next/server/pages/en-US/404.json +0 -1
  78. package/.next/server/pages/en-US/500.html +0 -81
  79. package/.next/server/pages/en-US/500.json +0 -1
  80. package/.next/server/pages/en-US/account.html +0 -81
  81. package/.next/server/pages/en-US/account.json +0 -1
  82. package/.next/server/pages/en-US/checkout.html +0 -81
  83. package/.next/server/pages/en-US/checkout.json +0 -1
  84. package/.next/server/pages/en-US/login.html +0 -81
  85. package/.next/server/pages/en-US/login.json +0 -1
  86. package/.next/server/pages/en-US/s.html +0 -81
  87. package/.next/server/pages/en-US/s.json +0 -1
  88. package/.next/server/pages/en-US.html +0 -81
  89. package/.next/server/pages/en-US.json +0 -1
  90. package/.next/server/pages/index.js +0 -1026
  91. package/.next/server/pages/index.js.nft.json +0 -1
  92. package/.next/server/pages/login.js +0 -375
  93. package/.next/server/pages/login.js.nft.json +0 -1
  94. package/.next/server/pages/s.js +0 -473
  95. package/.next/server/pages/s.js.nft.json +0 -1
  96. package/.next/server/pages-manifest.json +0 -16
  97. package/.next/server/webpack-api-runtime.js +0 -229
  98. package/.next/server/webpack-runtime.js +0 -229
  99. package/.next/static/chunks/143.dd8a556e6957baa1.js +0 -1
  100. package/.next/static/chunks/21-5b0c50a44b0ed6ce.js +0 -1
  101. package/.next/static/chunks/234-7d72b0ee52936c13.js +0 -1
  102. package/.next/static/chunks/460-08f41a79ff49f7be.js +0 -1
  103. package/.next/static/chunks/495.0ecd099878b2a36d.js +0 -1
  104. package/.next/static/chunks/502.ec90d1859d393d34.js +0 -1
  105. package/.next/static/chunks/597.f8d0595b113c70af.js +0 -1
  106. package/.next/static/chunks/64.ebbe1d2b40f980c7.js +0 -1
  107. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  108. package/.next/static/chunks/682-dc059ce3e47eb9e1.js +0 -1
  109. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  110. package/.next/static/chunks/98.97381d2021f86cd9.js +0 -1
  111. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  112. package/.next/static/chunks/main-fd466221927468fd.js +0 -1
  113. package/.next/static/chunks/pages/404-e7a1846b72ad3430.js +0 -1
  114. package/.next/static/chunks/pages/500-0f4d738fa1caac78.js +0 -1
  115. package/.next/static/chunks/pages/[...slug]-119a323292c7e3af.js +0 -1
  116. package/.next/static/chunks/pages/[slug]/p-3c424924080d88cb.js +0 -1
  117. package/.next/static/chunks/pages/_app-79d333aa6001a806.js +0 -1
  118. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +0 -1
  119. package/.next/static/chunks/pages/account-bbe1795b8566f75a.js +0 -1
  120. package/.next/static/chunks/pages/checkout-4321004c6cdaf5c7.js +0 -1
  121. package/.next/static/chunks/pages/index-949a5393471484d5.js +0 -1
  122. package/.next/static/chunks/pages/login-b09e2dd0941c8882.js +0 -1
  123. package/.next/static/chunks/pages/s-e603b0c6e5eef0a7.js +0 -1
  124. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  125. package/.next/static/chunks/webpack-9ba6546d294eb768.js +0 -1
  126. package/.next/static/css/104f0f3ce3be32c6.css +0 -1
  127. package/.next/static/css/23a9d5dfc051ec6e.css +0 -1
  128. package/.next/static/css/287f5ba239375052.css +0 -1
  129. package/.next/static/css/2e00f7ba49c754b3.css +0 -1
  130. package/.next/static/css/6e41f1b6078c14c1.css +0 -1
  131. package/.next/static/css/7d822a137c54a781.css +0 -1
  132. package/.next/static/css/8988ac07eb0af0ca.css +0 -1
  133. package/.next/static/css/c7fc1f563fa33060.css +0 -1
  134. package/.next/static/css/d4a0d9df8c6df555.css +0 -1
  135. package/.next/static/css/e02cdad8fc000339.css +0 -1
  136. package/.next/static/eLm2Cd_zypP0KQaj5UlQ2/_buildManifest.js +0 -1
  137. package/.next/static/eLm2Cd_zypP0KQaj5UlQ2/_ssgManifest.js +0 -1
  138. package/.next/trace +0 -72
  139. package/public/~partytown/debug/partytown-atomics.js +0 -556
  140. package/public/~partytown/debug/partytown-media.js +0 -374
  141. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  142. package/public/~partytown/debug/partytown-sw.js +0 -59
  143. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  144. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  145. package/public/~partytown/debug/partytown.js +0 -72
  146. package/public/~partytown/partytown-atomics.js +0 -2
  147. package/public/~partytown/partytown-media.js +0 -2
  148. package/public/~partytown/partytown-sw.js +0 -2
  149. package/public/~partytown/partytown.js +0 -2
@@ -1,2325 +0,0 @@
1
- (() => {
2
- var exports = {};
3
- exports.id = 103;
4
- exports.ids = [103];
5
- exports.modules = {
6
-
7
- /***/ 40492:
8
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
-
10
- "use strict";
11
-
12
- // EXPORTS
13
- __webpack_require__.d(__webpack_exports__, {
14
- "Z": () => (/* reexport */ product_OutOfStock_OutOfStock)
15
- });
16
-
17
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
18
- var UIProvider = __webpack_require__(90395);
19
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
20
- var Icon = __webpack_require__(25045);
21
- // EXTERNAL MODULE: external "react"
22
- var external_react_ = __webpack_require__(16689);
23
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
24
- // EXTERNAL MODULE: ../components/dist/molecules/InputField/InputField.js
25
- var InputField = __webpack_require__(28287);
26
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
27
- var Button = __webpack_require__(57578);
28
- ;// CONCATENATED MODULE: ../components/dist/organisms/OutOfStock/OutOfStock.js
29
-
30
-
31
- const OutOfStock = (0,external_react_.forwardRef)(function OutOfStock({ testId = 'fs-out-of-stock', title, buttonLabel = 'Notify Me', loadingLabel = 'Loading', inputLabel, subtitle, disabled, errorMessage, onSubmit, }, ref) {
32
- return (external_react_default().createElement("form", { "data-fs-out-of-stock": true, ref: ref, "data-testid": testId, onSubmit: onSubmit },
33
- external_react_default().createElement("h2", { "data-fs-out-of-stock-title": true }, title),
34
- subtitle && (external_react_default().createElement("p", { "data-fs-out-of-stock-message": true },
35
- external_react_default().createElement(Icon/* default */.Z, { name: "BellRinging", width: 16, height: 16 }),
36
- subtitle)),
37
- external_react_default().createElement(InputField/* default */.Z, { id: "out-of-stock-email", name: "out-of-stock-email", label: inputLabel, "aria-label": inputLabel, error: errorMessage, required: true }),
38
- external_react_default().createElement(Button/* default */.Z, { "data-fs-out-of-stock-button": true, type: "submit", loading: disabled, loadingLabel: loadingLabel, disabled: disabled, variant: "primary", icon: external_react_default().createElement(Icon/* default */.Z, { name: "BellRinging" }), iconPosition: "left" }, buttonLabel)));
39
- });
40
- /* harmony default export */ const OutOfStock_OutOfStock = (OutOfStock);
41
- //# sourceMappingURL=OutOfStock.js.map
42
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
43
- var session = __webpack_require__(97295);
44
- // EXTERNAL MODULE: external "react/jsx-runtime"
45
- var jsx_runtime_ = __webpack_require__(20997);
46
- ;// CONCATENATED MODULE: ./src/components/product/OutOfStock/OutOfStock.tsx
47
-
48
-
49
-
50
-
51
-
52
- function OutOfStock_OutOfStock_OutOfStock() {
53
- const {
54
- postalCode
55
- } = (0,session/* useSession */.kP)();
56
- const {
57
- 0: isLoading,
58
- 1: setIsLoading
59
- } = (0,external_react_.useState)(false);
60
- const {
61
- 0: error,
62
- 1: setError
63
- } = (0,external_react_.useState)('');
64
- const {
65
- pushToast
66
- } = (0,UIProvider/* useUI */.l)();
67
-
68
- const handleSubmit = event => {
69
- event.preventDefault();
70
- setIsLoading(true); // TODO: Missing integration
71
-
72
- try {
73
- // Return to original state after 2s mockup
74
- setTimeout(() => setIsLoading(false), 2000);
75
- const formElement = event.currentTarget;
76
- formElement.reset();
77
- pushToast({
78
- title: 'Subscribed successfully!',
79
- message: "You'll be notified when this product is back to stock.",
80
- status: 'INFO',
81
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
82
- name: "CircleWavyCheck",
83
- width: 30,
84
- height: 30
85
- })
86
- });
87
- } catch (err) {
88
- setError(err.message);
89
- } finally {}
90
- };
91
-
92
- return /*#__PURE__*/jsx_runtime_.jsx(OutOfStock_OutOfStock, {
93
- title: postalCode ? 'Unavailable in Your Location' : 'Out of Stock',
94
- inputLabel: "Email",
95
- subtitle: "Notify me when available",
96
- onSubmit: handleSubmit,
97
- disabled: isLoading,
98
- errorMessage: error
99
- });
100
- }
101
-
102
- /* harmony default export */ const product_OutOfStock_OutOfStock = (OutOfStock_OutOfStock_OutOfStock);
103
- ;// CONCATENATED MODULE: ./src/components/product/OutOfStock/index.ts
104
-
105
-
106
- /***/ }),
107
-
108
- /***/ 72951:
109
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
110
-
111
- "use strict";
112
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
113
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
114
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
115
- /* harmony export */ });
116
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(32127);
117
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(87538);
118
- /* harmony import */ var _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87191);
119
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57067);
120
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5411);
121
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_3__);
122
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20997);
123
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
124
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Newsletter__WEBPACK_IMPORTED_MODULE_0__]);
125
- _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
- function BannerNewsletter() {
134
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_Section__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
135
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-banner-newsletter layout__content`,
136
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
137
- "data-fs-banner-newsletter": true,
138
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
139
- variant: "secondary",
140
- colorVariant: "light",
141
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
142
- title: "Get to Know Our Next Release",
143
- caption: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam elit nisi, vehicula in turpis sit amet, posuere aliquam nisl. ",
144
- link: "/",
145
- linkText: "Shop Now"
146
- })
147
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_Newsletter__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z, {
148
- title: "Get News and Special Offers!",
149
- description: "Receive our news and promotions in advance. Enjoy and get 10% off your first purchase. For more information click here.",
150
- card: true,
151
- lite: true
152
- })]
153
- })
154
- });
155
- }
156
-
157
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BannerNewsletter);
158
- __webpack_async_result__();
159
- } catch(e) { __webpack_async_result__(e); } });
160
-
161
- /***/ }),
162
-
163
- /***/ 30994:
164
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
165
-
166
- "use strict";
167
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
168
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
169
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
170
- /* harmony export */ });
171
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
172
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
173
- /* harmony import */ var src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34805);
174
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19785);
175
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__);
176
- /* harmony import */ var _ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(56627);
177
- /* harmony import */ var _ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5__);
178
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57067);
179
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20997);
180
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
181
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__]);
182
- src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
- const CrossSellingShelf = ({
191
- items,
192
- title,
193
- context,
194
- kind
195
- }) => {
196
- const {
197
- ref,
198
- inView
199
- } = (0,react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__.useInView)();
200
- const selectedFacets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => [{
201
- key: kind,
202
- value: context.isVariantOf.productGroupID
203
- }], [kind, context.isVariantOf.productGroupID]);
204
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_Section__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
205
- className: `${(_ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5___default().section)} section-product-shelf layout__section`,
206
- ref: ref,
207
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
208
- inView: inView,
209
- first: items,
210
- title: title,
211
- selectedFacets: selectedFacets
212
- })
213
- });
214
- };
215
-
216
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CrossSellingShelf);
217
- __webpack_async_result__();
218
- } catch(e) { __webpack_async_result__(e); } });
219
-
220
- /***/ }),
221
-
222
- /***/ 97990:
223
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
224
-
225
- "use strict";
226
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
227
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
228
- /* harmony export */ "Z": () => (/* reexport safe */ _CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__.Z)
229
- /* harmony export */ });
230
- /* harmony import */ var _CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30994);
231
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__]);
232
- _CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
233
-
234
- __webpack_async_result__();
235
- } catch(e) { __webpack_async_result__(e); } });
236
-
237
- /***/ }),
238
-
239
- /***/ 32449:
240
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
241
-
242
- "use strict";
243
-
244
- // EXPORTS
245
- __webpack_require__.d(__webpack_exports__, {
246
- "z": () => (/* binding */ Components)
247
- });
248
-
249
- // EXTERNAL MODULE: external "react"
250
- var external_react_ = __webpack_require__(16689);
251
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
252
- // EXTERNAL MODULE: ../components/dist/molecules/Rating/Rating.js
253
- var Rating = __webpack_require__(40783);
254
- ;// CONCATENATED MODULE: ../components/dist/molecules/ProductTitle/ProductTitle.js
255
-
256
-
257
- const ProductTitle = (0,external_react_.forwardRef)(function ProductTitle({ title, label, refTag = 'Ref.: ', refNumber, testId = 'fs-product-title', ratingValue, ...otherProps }, ref) {
258
- return (external_react_default().createElement("header", { ref: ref, "data-fs-product-title": true, "data-testid": testId, ...otherProps },
259
- external_react_default().createElement("div", { "data-fs-product-title-header": true },
260
- title,
261
- !!label && label),
262
- (refNumber || ratingValue) && (external_react_default().createElement("p", { "data-fs-product-title-addendum": true },
263
- ratingValue && external_react_default().createElement(Rating/* default */.Z, { value: ratingValue }),
264
- refNumber && (external_react_default().createElement((external_react_default()).Fragment, null,
265
- refTag,
266
- " ",
267
- refNumber))))));
268
- });
269
- /* harmony default export */ const ProductTitle_ProductTitle = (ProductTitle);
270
- //# sourceMappingURL=ProductTitle.js.map
271
- // EXTERNAL MODULE: ../components/dist/molecules/DiscountBadge/DiscountBadge.js + 1 modules
272
- var DiscountBadge = __webpack_require__(89875);
273
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
274
- var Button = __webpack_require__(57578);
275
- ;// CONCATENATED MODULE: ../components/dist/molecules/BuyButton/BuyButton.js
276
-
277
-
278
- function BuyButton({ testId = 'fs-buy-button', icon, children, ...otherProps }) {
279
- return (external_react_default().createElement(Button/* default */.Z, { "data-fs-buy-button": true, icon: icon, iconPosition: "left", "data-testid": testId, ...otherProps }, children));
280
- }
281
- /* harmony default export */ const BuyButton_BuyButton = (BuyButton);
282
- //# sourceMappingURL=BuyButton.js.map
283
- // EXTERNAL MODULE: ../components/dist/atoms/Label/Label.js
284
- var Label = __webpack_require__(57216);
285
- // EXTERNAL MODULE: ../components/dist/atoms/Link/Link.js
286
- var Link = __webpack_require__(87865);
287
- // EXTERNAL MODULE: ../components/dist/atoms/SROnly/SROnly.js
288
- var SROnly = __webpack_require__(82691);
289
- ;// CONCATENATED MODULE: ../components/dist/molecules/SkuSelector/useDefineVariant.js
290
-
291
- const getImageName = (src) => {
292
- const sourcePath = new URL(src).pathname;
293
- const imageName = sourcePath.split('/').slice(-1)[0];
294
- return imageName;
295
- };
296
- const useDefineVariant = (options, variant) => (0,external_react_.useMemo)(() => {
297
- if (variant)
298
- return variant;
299
- const allOptionsHaveHexColor = options.every((option) => option.hexColor);
300
- if (allOptionsHaveHexColor) {
301
- return 'color';
302
- }
303
- const firstImageName = options[0]?.src && getImageName(options[0].src);
304
- const areSourcesEqualsOrNull = options.every((option) => {
305
- if (!option.src) {
306
- return true;
307
- }
308
- const optionImageName = getImageName(option.src);
309
- return optionImageName === firstImageName;
310
- });
311
- if (!areSourcesEqualsOrNull) {
312
- return 'image';
313
- }
314
- return 'label';
315
- }, [options, variant]);
316
- //# sourceMappingURL=useDefineVariant.js.map
317
- ;// CONCATENATED MODULE: ../components/dist/molecules/SkuSelector/useSkuSlug.js
318
-
319
- function getSkuSlug(slugsMap, selectedVariations, dominantVariation) {
320
- const slugsMapKey = Object.entries(selectedVariations).flat().join('-');
321
- if (slugsMapKey in slugsMap) {
322
- return slugsMap[slugsMapKey];
323
- }
324
- const possibleVariants = Object.keys(slugsMap);
325
- const firstVariationForDominantValue = possibleVariants.find((slug) => slug.includes(`${dominantVariation}-${selectedVariations[dominantVariation]}`));
326
- return slugsMap[firstVariationForDominantValue ?? possibleVariants[0]];
327
- }
328
- const useSkuSlug = (activeVariations, slugsMap, skuPropertyName, getItemHrefProp) => {
329
- const getItemHref = (0,external_react_.useCallback)((option) => {
330
- if (getItemHrefProp)
331
- return { getItemHrefProp };
332
- const currentItemHref = `/${getSkuSlug(slugsMap, {
333
- ...activeVariations,
334
- [skuPropertyName]: option.value,
335
- }, skuPropertyName)}/p`;
336
- return currentItemHref;
337
- }, [activeVariations, getItemHrefProp, slugsMap, skuPropertyName]);
338
- return { getItemHref };
339
- };
340
- //# sourceMappingURL=useSkuSlug.js.map
341
- ;// CONCATENATED MODULE: ../components/dist/molecules/SkuSelector/SkuSelector.js
342
-
343
-
344
-
345
-
346
- // TODO: Change by ImageComponent when it be right
347
- const ImageComponentFallback = ({ src, alt, ...otherProps }) => external_react_default().createElement("img", { src: src, alt: alt, ...otherProps });
348
- const SkuSelector = (0,external_react_.forwardRef)(function SkuSelector({ availableVariations, skuPropertyName, testId, activeVariations, linkProps, slugsMap, getItemHref: getItemHrefProp, ImageComponent = ImageComponentFallback, variant: variantProp, ...otherProps }, ref) {
349
- const activeSelectorValue = activeVariations[skuPropertyName];
350
- const options = availableVariations[skuPropertyName];
351
- const variant = useDefineVariant(options, variantProp);
352
- const { getItemHref } = useSkuSlug(activeVariations, slugsMap, skuPropertyName, getItemHrefProp);
353
- return (external_react_default().createElement("div", { ref: ref, "data-fs-sku-selector": true, "data-testid": testId, "data-fs-sku-selector-variant": variant, ...otherProps },
354
- skuPropertyName && (external_react_default().createElement(Label/* default */.Z, { "data-fs-sku-selector-title": true },
355
- skuPropertyName,
356
- ": ",
357
- external_react_default().createElement("strong", null, activeSelectorValue))),
358
- external_react_default().createElement("ul", { "data-fs-sku-selector-list": true }, options.map((option, index) => {
359
- return (external_react_default().createElement("li", { key: String(index), title: option.label, "data-fs-sku-selector-option": true, "data-fs-sku-selector-disabled": option.disabled, "data-fs-sku-selector-checked": option.value === activeVariations[skuPropertyName] },
360
- external_react_default().createElement(Link/* default */.Z, { "data-fs-sku-selector-option-link": true, href: getItemHref(option), ...linkProps },
361
- external_react_default().createElement(SROnly/* default */.Z, { text: option.label })),
362
- variant === 'label' && external_react_default().createElement("span", null, option.value),
363
- variant === 'image' && ImageComponent && (external_react_default().createElement("span", null,
364
- external_react_default().createElement(ImageComponent, { src: option.src ?? '', alt: option.alt ?? '', "data-fs-sku-selector-option-image": true }))),
365
- variant === 'color' && (external_react_default().createElement("span", null,
366
- external_react_default().createElement("div", { "data-fs-sku-selector-option-color": true, title: option.value, style: {
367
- '--data-fs-sku-selector-option-color-bkg-color': option.hexColor,
368
- } })))));
369
- }))));
370
- });
371
- /* harmony default export */ const SkuSelector_SkuSelector = (SkuSelector);
372
- //# sourceMappingURL=SkuSelector.js.map
373
- // EXTERNAL MODULE: ../components/dist/molecules/InputField/InputField.js
374
- var InputField = __webpack_require__(28287);
375
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
376
- var Icon = __webpack_require__(25045);
377
- ;// CONCATENATED MODULE: ../components/dist/molecules/Table/Table.js
378
-
379
- const Table = (0,external_react_.forwardRef)(function Table({ children, variant = 'colored', testId = 'fs-table', ...otherProps }, ref) {
380
- return (external_react_default().createElement("div", { "data-fs-table": true },
381
- external_react_default().createElement("table", { ref: ref, "data-fs-table-content": true, "data-fs-table-variant": variant, "data-testid": testId, ...otherProps }, children)));
382
- });
383
- /* harmony default export */ const Table_Table = (Table);
384
- //# sourceMappingURL=Table.js.map
385
- ;// CONCATENATED MODULE: ../components/dist/molecules/Table/TableBody.js
386
-
387
- const TableBody = (0,external_react_.forwardRef)(function TableBody({ children, testId = 'fs-table-body', ...otherProps }, ref) {
388
- return (external_react_default().createElement("tbody", { ref: ref, "data-testid": testId, "data-fs-table-body": true, ...otherProps }, children));
389
- });
390
- /* harmony default export */ const Table_TableBody = (TableBody);
391
- //# sourceMappingURL=TableBody.js.map
392
- ;// CONCATENATED MODULE: ../components/dist/molecules/Table/TableRow.js
393
-
394
- const TableRow = (0,external_react_.forwardRef)(function TableRow({ children, testId = 'fs-table-row', ...otherProps }, ref) {
395
- return (external_react_default().createElement("tr", { ref: ref, "data-fs-table-row": true, "data-testid": testId, ...otherProps }, children));
396
- });
397
- /* harmony default export */ const Table_TableRow = (TableRow);
398
- //# sourceMappingURL=TableRow.js.map
399
- ;// CONCATENATED MODULE: ../components/dist/molecules/Table/TableCell.js
400
-
401
- const TableCell = (0,external_react_.forwardRef)(function TableCell({ scope, align, children, variant = 'data', testId = 'fs-table-cell', ...otherProps }, ref) {
402
- const Cell = variant === 'header' ? 'th' : 'td';
403
- return (external_react_default().createElement(Cell, { ref: ref, "data-fs-table-cell": variant, "data-fs-table-cell-align": align, "data-testid": testId, scope: scope, ...otherProps }, children));
404
- });
405
- /* harmony default export */ const Table_TableCell = (TableCell);
406
- //# sourceMappingURL=TableCell.js.map
407
- // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
408
- var Price = __webpack_require__(57549);
409
- ;// CONCATENATED MODULE: ../components/dist/organisms/ShippingSimulation/ShippingSimulation.js
410
-
411
-
412
- function ShippingSimulation({ testId = 'fs-shipping-simulation', formatter, title = 'Shipping', inputLabel = 'Postal Code', optionsLabel = 'Shipping options', idkPostalCodeLinkProps, onInput, onSubmit, onClear, location, options = [], displayClearButton = false, errorMessage, postalCode, ...otherProps }) {
413
- const hasShippingOptions = !!options && options.length > 0;
414
- return (external_react_default().createElement("section", { "data-fs-shipping-simulation": true, "data-fs-shipping-simulation-empty": !hasShippingOptions ? 'true' : 'false', "data-testid": testId, ...otherProps },
415
- external_react_default().createElement("h2", { "data-fs-shipping-simulation-title": true }, title),
416
- external_react_default().createElement(InputField/* default */.Z, { actionable: true, error: errorMessage, id: `${testId}-input-field`, label: inputLabel, value: postalCode, onInput: (event) => onInput?.(event), onSubmit: () => onSubmit?.(), onClear: () => onClear?.(), displayClearButton: displayClearButton }),
417
- external_react_default().createElement(Link/* default */.Z, { href: "/", "data-fs-shipping-simulation-link": true, size: "small", ...idkPostalCodeLinkProps }, idkPostalCodeLinkProps?.children ?? (external_react_default().createElement((external_react_default()).Fragment, null,
418
- "I don't know my Postal Code",
419
- external_react_default().createElement(Icon/* default */.Z, { name: "ArrowSquareOut", width: 20, height: 20 })))),
420
- hasShippingOptions && (external_react_default().createElement((external_react_default()).Fragment, null,
421
- external_react_default().createElement("header", { "data-fs-shipping-simulation-header": true },
422
- external_react_default().createElement("h3", { "data-fs-shipping-simulation-subtitle": true }, optionsLabel),
423
- external_react_default().createElement("p", { "data-fs-shipping-simulation-location": true }, location)),
424
- external_react_default().createElement(Table_Table, null,
425
- external_react_default().createElement(Table_TableBody, null, options.map((option) => (external_react_default().createElement(Table_TableRow, { key: option.carrier },
426
- external_react_default().createElement(Table_TableCell, { align: "left" }, option.carrier),
427
- external_react_default().createElement(Table_TableCell, null, option.localizedEstimates),
428
- external_react_default().createElement(Table_TableCell, { align: "right" }, option.price && (external_react_default().createElement(Price/* default */.Z, { formatter: formatter, value: option.price, SRText: "price" }))))))))))));
429
- }
430
- /* harmony default export */ const ShippingSimulation_ShippingSimulation = (ShippingSimulation);
431
- //# sourceMappingURL=ShippingSimulation.js.map
432
- ;// CONCATENATED MODULE: ./src/customizations/components/overrides/ProductDetails.tsx
433
- // This is an example of how it can be used on the starter.
434
- const SECTION = 'ProductDetails';
435
- const overrides = {
436
- name: SECTION,
437
- components: {}
438
- };
439
- /* harmony default export */ const ProductDetails = (overrides);
440
- ;// CONCATENATED MODULE: ./src/components/sections/ProductDetails/Overrides.tsx
441
- 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; }
442
-
443
- 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; }
444
-
445
- 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; }
446
-
447
-
448
-
449
-
450
- const Components = _objectSpread({
451
- ProductTitle: ProductTitle_ProductTitle,
452
- DiscountBadge: DiscountBadge/* default */.Z,
453
- BuyButton: BuyButton_BuyButton,
454
- SkuSelector: SkuSelector_SkuSelector,
455
- ShippingSimulation: ShippingSimulation_ShippingSimulation
456
- }, ProductDetails.components);
457
-
458
-
459
-
460
- /***/ }),
461
-
462
- /***/ 81644:
463
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
464
-
465
- "use strict";
466
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
467
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
468
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
469
- /* harmony export */ });
470
- /* unused harmony export fragment */
471
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
472
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
473
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(71072);
474
- /* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97295);
475
- /* harmony import */ var src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63874);
476
- /* harmony import */ var src_sdk_product_useFormattedPrice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95346);
477
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(57067);
478
- /* harmony import */ var src_components_product_OutOfStock__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(40492);
479
- /* harmony import */ var src_components_ui_ImageGallery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(75693);
480
- /* harmony import */ var src_components_ui_ShippingSimulation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(77281);
481
- /* harmony import */ var src_components_ui_ProductDescription__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(90509);
482
- /* harmony import */ var src_components_ui_ProductDetails__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(33183);
483
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(79034);
484
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_13__);
485
- /* harmony import */ var src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(32449);
486
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(20997);
487
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__);
488
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__]);
489
- src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
490
-
491
-
492
-
493
-
494
-
495
-
496
-
497
-
498
-
499
-
500
-
501
-
502
-
503
-
504
-
505
- const {
506
- ProductTitle,
507
- DiscountBadge
508
- } = src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_10__/* .Components */ .z;
509
-
510
- function ProductDetails({
511
- context: staleProduct,
512
- productTitle: {
513
- refNumber: showRefNumber,
514
- discountBadge: {
515
- showDiscountBadge,
516
- size: discountBadgeSize
517
- }
518
- },
519
- buyButton: {
520
- icon: buyButtonIcon,
521
- title: buyButtonTitle
522
- },
523
- shippingSimulator: {
524
- title: shippingSimulatorTitle,
525
- inputLabel: shippingSimulatorInputLabel,
526
- shippingOptionsTableTitle: shippingSimulatorOptionsTableTitle,
527
- link: {
528
- to: shippingSimulatorLinkUrl,
529
- text: shippingSimulatorLinkText
530
- }
531
- },
532
- productDescription: {
533
- title: productDescriptionDetailsTitle,
534
- initiallyExpanded: productDescriptionInitiallyExpanded,
535
- displayDescription: shouldDisplayProductDescription
536
- }
537
- }) {
538
- const {
539
- currency
540
- } = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
541
- const {
542
- 0: quantity,
543
- 1: setQuantity
544
- } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(1); // Stale while revalidate the product for fetching the new price etc
545
-
546
- const {
547
- data,
548
- isValidating
549
- } = (0,src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__/* .useProduct */ .i)(staleProduct.id, {
550
- product: staleProduct
551
- });
552
-
553
- if (!data) {
554
- throw new Error('NotFound');
555
- }
556
-
557
- const {
558
- product: {
559
- id,
560
- sku,
561
- gtin,
562
- name: variantName,
563
- brand,
564
- isVariantOf,
565
- description,
566
- isVariantOf: {
567
- name,
568
- productGroupID: productId
569
- },
570
- image: productImages,
571
- offers: {
572
- offers: [{
573
- availability,
574
- price,
575
- listPrice,
576
- seller
577
- }],
578
- lowPrice
579
- }
580
- }
581
- } = data;
582
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
583
- (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_12__/* .sendAnalyticsEvent */ ._)({
584
- name: 'view_item',
585
- params: {
586
- currency: currency.code,
587
- value: price,
588
- items: [{
589
- item_id: isVariantOf.productGroupID,
590
- item_name: isVariantOf.name,
591
- item_brand: brand.name,
592
- item_variant: sku,
593
- price,
594
- discount: listPrice - price,
595
- currency: currency.code,
596
- item_variant_name: variantName,
597
- product_reference_id: gtin
598
- }]
599
- }
600
- });
601
- }, [isVariantOf.productGroupID, isVariantOf.name, brand.name, sku, price, listPrice, currency.code, variantName, gtin]);
602
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(_Section__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
603
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_13___default().section)} section-product-details layout__content layout__section`,
604
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("section", {
605
- "data-fs-product-details": true,
606
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("section", {
607
- "data-fs-product-details-body": true,
608
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("header", {
609
- "data-fs-product-details-title": true,
610
- "data-fs-product-details-section": true,
611
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(ProductTitle, {
612
- title: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("h1", {
613
- children: name
614
- }),
615
- label: showDiscountBadge && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(DiscountBadge, {
616
- listPrice: listPrice,
617
- spotPrice: lowPrice,
618
- size: discountBadgeSize
619
- }),
620
- refNumber: showRefNumber && productId
621
- })
622
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_ui_ImageGallery__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
623
- "data-fs-product-details-gallery": true,
624
- images: productImages
625
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("section", {
626
- "data-fs-product-details-info": true,
627
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx("section", {
628
- "data-fs-product-details-settings": true,
629
- "data-fs-product-details-section": true,
630
- children: availability ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_ui_ProductDetails__WEBPACK_IMPORTED_MODULE_9__/* .ProductDetailsSettings */ .m, {
631
- product: data.product,
632
- isValidating: isValidating,
633
- buyButtonTitle: buyButtonTitle,
634
- quantity: quantity,
635
- setQuantity: setQuantity,
636
- buyButtonIcon: buyButtonIcon
637
- }) : /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_product_OutOfStock__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {})
638
- }), availability && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_ui_ShippingSimulation__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
639
- "data-fs-product-details-section": true,
640
- "data-fs-product-details-shipping": true,
641
- productShippingInfo: {
642
- id,
643
- quantity,
644
- seller: seller.identifier
645
- },
646
- formatter: src_sdk_product_useFormattedPrice__WEBPACK_IMPORTED_MODULE_3__/* .useFormattedPrice */ .P,
647
- title: shippingSimulatorTitle,
648
- inputLabel: shippingSimulatorInputLabel,
649
- idkPostalCodeLinkProps: {
650
- href: shippingSimulatorLinkUrl,
651
- children: shippingSimulatorLinkText
652
- },
653
- optionsLabel: shippingSimulatorOptionsTableTitle
654
- })]
655
- }), shouldDisplayProductDescription && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx(src_components_ui_ProductDescription__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
656
- initiallyExpanded: productDescriptionInitiallyExpanded,
657
- descriptionData: [{
658
- title: productDescriptionDetailsTitle,
659
- content: description
660
- }]
661
- })]
662
- })
663
- })
664
- });
665
- }
666
-
667
- const fragment = "unknown";
668
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductDetails);
669
- __webpack_async_result__();
670
- } catch(e) { __webpack_async_result__(e); } });
671
-
672
- /***/ }),
673
-
674
- /***/ 93220:
675
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
676
-
677
- "use strict";
678
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
679
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
680
- /* harmony export */ "Z": () => (/* reexport safe */ _ProductDetails__WEBPACK_IMPORTED_MODULE_0__.Z)
681
- /* harmony export */ });
682
- /* harmony import */ var _ProductDetails__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81644);
683
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ProductDetails__WEBPACK_IMPORTED_MODULE_0__]);
684
- _ProductDetails__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
685
-
686
- __webpack_async_result__();
687
- } catch(e) { __webpack_async_result__(e); } });
688
-
689
- /***/ }),
690
-
691
- /***/ 75693:
692
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
693
-
694
- "use strict";
695
-
696
- // EXPORTS
697
- __webpack_require__.d(__webpack_exports__, {
698
- "Z": () => (/* reexport */ ui_ImageGallery_ImageGallery)
699
- });
700
-
701
- // EXTERNAL MODULE: external "react"
702
- var external_react_ = __webpack_require__(16689);
703
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
704
- // EXTERNAL MODULE: external "react-intersection-observer"
705
- var external_react_intersection_observer_ = __webpack_require__(19785);
706
- // EXTERNAL MODULE: ../components/dist/molecules/IconButton/IconButton.js
707
- var IconButton = __webpack_require__(82765);
708
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
709
- var Icon = __webpack_require__(25045);
710
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
711
- var Button = __webpack_require__(57578);
712
- ;// CONCATENATED MODULE: ../components/dist/organisms/ImageGallery/ImageGallerySelector.js
713
-
714
-
715
-
716
- const SCROLL_MARGIN_VALUE = 400;
717
- const moveScroll = (container, value) => {
718
- if (container) {
719
- if (container.scrollHeight > container.clientHeight) {
720
- // TODO: Temporary workaround for scroll-behavior with scrollTop – Safari 15.4) https://developer.apple.com/forums/thread/703294
721
- container.style.overflow = 'auto';
722
- window.requestAnimationFrame(() => container.scrollTo({ top: value, behavior: 'smooth' }));
723
- setTimeout(() => (container.style.overflow = 'hidden'), 2000);
724
- }
725
- else {
726
- container.scrollLeft += value;
727
- }
728
- }
729
- };
730
- const hasScroll = (container) => {
731
- if (container) {
732
- return (container.scrollHeight > container.clientHeight ||
733
- container.scrollWidth > container.clientWidth);
734
- }
735
- return false;
736
- };
737
- function ImageGallerySelector({ images, onSelect, ImageComponent, currentImageIdx, testId = 'fs-image-gallery-selector', 'aria-label': ariaLabel = 'Product Images', navigationButtonLeftAriaLabel = 'Backward slide image selector', navigationButtonRightAriaLabel = 'Forward slide image selector', }) {
738
- const elementsRef = (0,external_react_.useRef)(null);
739
- const elementHasScroll = hasScroll(elementsRef.current);
740
- const [firstImageInView, setFirstImageInView] = (0,external_react_.useState)(true);
741
- const [lastImageInView, setLastImageInView] = (0,external_react_.useState)(true);
742
- const inViewChange = (0,external_react_.useCallback)((idx, inView) => {
743
- idx === 0 && setFirstImageInView(inView);
744
- idx === images.length - 1 && setLastImageInView(inView);
745
- }, [images.length]);
746
- return (external_react_default().createElement("section", { "data-fs-image-gallery-selector": true, "data-testid": testId, "aria-label": ariaLabel },
747
- elementHasScroll && !firstImageInView && (external_react_default().createElement("div", { "data-fs-image-gallery-selector-control": true },
748
- external_react_default().createElement(IconButton/* default */.Z, { "data-fs-image-gallery-selector-control-button": true, "aria-label": navigationButtonLeftAriaLabel, icon: external_react_default().createElement(Icon/* default */.Z, { name: "ArrowLeft" }), onClick: () => moveScroll(elementsRef.current, -SCROLL_MARGIN_VALUE) }))),
749
- external_react_default().createElement("div", { "data-fs-image-gallery-selector-elements": true, ref: elementsRef }, images.map((image, idx) => {
750
- return (external_react_default().createElement(external_react_intersection_observer_.InView, { key: idx, onChange: (inView) => inViewChange(idx, inView) },
751
- external_react_default().createElement(Button/* default */.Z, { key: idx, "aria-label": `${image.alternateName} - Image ${idx + 1} of ${images.length}`, onClick: () => onSelect(idx), "data-fs-image-gallery-selector-thumbnail": idx === currentImageIdx ? 'selected' : 'true' },
752
- external_react_default().createElement(ImageComponent, { url: image.url ?? '', loading: idx === 0 ? 'eager' : 'lazy', alternateName: image.alternateName ?? '' }))));
753
- })),
754
- elementHasScroll && !lastImageInView && (external_react_default().createElement("div", { "data-fs-image-gallery-selector-control": true },
755
- external_react_default().createElement(IconButton/* default */.Z, { "data-fs-image-gallery-selector-control-button": true, "aria-label": navigationButtonRightAriaLabel, icon: external_react_default().createElement(Icon/* default */.Z, { name: "ArrowLeft" }), onClick: () => moveScroll(elementsRef.current, +SCROLL_MARGIN_VALUE) })))));
756
- }
757
- /* harmony default export */ const ImageGallery_ImageGallerySelector = (ImageGallerySelector);
758
- //# sourceMappingURL=ImageGallerySelector.js.map
759
- ;// CONCATENATED MODULE: ../components/dist/organisms/ImageGallery/ImageGallery.js
760
-
761
-
762
- const ImageGallery = (0,external_react_.forwardRef)(function ImageGallery({ images, children, ImageComponent, selectedImageIdx, setSelectedImageIdx, testId = 'fs-image-gallery', ...otherProps }, ref) {
763
- const hasSelector = images.length > 1;
764
- return (external_react_default().createElement("section", { ref: ref, "data-fs-image-gallery": hasSelector ? 'with-selector' : 'without-selector', "data-testid": testId, ...otherProps },
765
- children,
766
- hasSelector && (external_react_default().createElement(ImageGallery_ImageGallerySelector, { images: images, onSelect: setSelectedImageIdx, currentImageIdx: selectedImageIdx, ImageComponent: ImageComponent }))));
767
- });
768
- /* harmony default export */ const ImageGallery_ImageGallery = (ImageGallery);
769
- //# sourceMappingURL=ImageGallery.js.map
770
- ;// CONCATENATED MODULE: ../components/dist/organisms/ImageGallery/ImageZoom.js
771
-
772
- const ImageZoom = ({ children }) => {
773
- return external_react_default().createElement((external_react_default()).Fragment, null, children);
774
- };
775
- /* harmony default export */ const ImageGallery_ImageZoom = (ImageZoom);
776
- //# sourceMappingURL=ImageZoom.js.map
777
- // EXTERNAL MODULE: external "next/router"
778
- var router_ = __webpack_require__(71853);
779
- // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 2 modules
780
- var Image = __webpack_require__(79266);
781
- // EXTERNAL MODULE: external "react/jsx-runtime"
782
- var jsx_runtime_ = __webpack_require__(20997);
783
- ;// CONCATENATED MODULE: ./src/components/ui/ImageGallery/ImageGallery.tsx
784
- const _excluded = ["images"];
785
-
786
- 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; }
787
-
788
- 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; }
789
-
790
- 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; }
791
-
792
- 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; }
793
-
794
- 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; }
795
-
796
-
797
-
798
-
799
-
800
-
801
-
802
- const ImageComponent = ({
803
- url,
804
- alternateName
805
- }) => /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, {
806
- src: url,
807
- alt: alternateName,
808
- width: 68,
809
- height: 68
810
- });
811
-
812
- const ImageGallery_ImageGallery_ImageGallery = _ref => {
813
- let {
814
- images
815
- } = _ref,
816
- otherProps = _objectWithoutProperties(_ref, _excluded);
817
-
818
- const {
819
- 0: selectedImageIdx,
820
- 1: setSelectedImageIdx
821
- } = (0,external_react_.useState)(0);
822
- const currentImage = images[selectedImageIdx] ?? images[0];
823
- const dynamicRoute = (0,router_.useRouter)().asPath;
824
- (0,external_react_.useEffect)(() => setSelectedImageIdx(0), [dynamicRoute]);
825
- return /*#__PURE__*/jsx_runtime_.jsx(ImageGallery_ImageGallery, _objectSpread(_objectSpread({
826
- images: images,
827
- ImageComponent: ImageComponent,
828
- selectedImageIdx: selectedImageIdx,
829
- setSelectedImageIdx: setSelectedImageIdx
830
- }, otherProps), {}, {
831
- children: /*#__PURE__*/jsx_runtime_.jsx(ImageGallery_ImageZoom, {
832
- children: /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, {
833
- src: currentImage.url,
834
- alt: currentImage.alternateName,
835
- sizes: "(max-width: 360px) 50vw, (max-width: 768px) 90vw, 50vw",
836
- width: 691,
837
- height: 691 * (3 / 4),
838
- loading: "eager"
839
- })
840
- })
841
- }));
842
- };
843
-
844
- /* harmony default export */ const ui_ImageGallery_ImageGallery = (ImageGallery_ImageGallery_ImageGallery);
845
- ;// CONCATENATED MODULE: ./src/components/ui/ImageGallery/index.ts
846
-
847
-
848
- /***/ }),
849
-
850
- /***/ 90509:
851
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
852
-
853
- "use strict";
854
-
855
- // EXPORTS
856
- __webpack_require__.d(__webpack_exports__, {
857
- "Z": () => (/* reexport */ ProductDescription_ProductDescription)
858
- });
859
-
860
- // EXTERNAL MODULE: external "react"
861
- var external_react_ = __webpack_require__(16689);
862
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/Accordion.js
863
- var Accordion = __webpack_require__(39739);
864
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/AccordionItem.js
865
- var AccordionItem = __webpack_require__(60997);
866
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/AccordionButton.js
867
- var AccordionButton = __webpack_require__(47743);
868
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/AccordionPanel.js
869
- var AccordionPanel = __webpack_require__(20331);
870
- // EXTERNAL MODULE: external "react/jsx-runtime"
871
- var jsx_runtime_ = __webpack_require__(20997);
872
- ;// CONCATENATED MODULE: ./src/components/ui/ProductDescription/ProductDescription.tsx
873
-
874
-
875
-
876
-
877
-
878
- function ProductDescription({
879
- descriptionData,
880
- initiallyExpanded = 'first'
881
- }) {
882
- /**
883
- * Maps 'initiallyExpanded' prop values to indices
884
- */
885
- const INITIALLY_EXPANDED_MAP = (0,external_react_.useMemo)(() => ({
886
- none: [],
887
- first: [0],
888
- all: [0, 1, 2, 3]
889
- }), []);
890
- const {
891
- 0: indices,
892
- 1: setIndices
893
- } = (0,external_react_.useState)(new Set(INITIALLY_EXPANDED_MAP[initiallyExpanded]));
894
-
895
- const onChange = index => {
896
- setIndices(currentIndices => {
897
- const newIndices = new Set(currentIndices);
898
-
899
- if (currentIndices.has(index)) {
900
- newIndices.delete(index);
901
- } else {
902
- newIndices.add(index);
903
- }
904
-
905
- return newIndices;
906
- });
907
- };
908
-
909
- return /*#__PURE__*/jsx_runtime_.jsx("section", {
910
- "data-fs-product-description": true,
911
- children: /*#__PURE__*/jsx_runtime_.jsx(Accordion/* default */.Z, {
912
- indices: indices,
913
- onChange: onChange,
914
- "aria-label": "Product Details Content",
915
- children: descriptionData.map(({
916
- title,
917
- content
918
- }, index) => /*#__PURE__*/(0,jsx_runtime_.jsxs)(AccordionItem/* default */.Z, {
919
- as: "article",
920
- index: index,
921
- prefixId: "product-description",
922
- "data-fs-product-details-description": true,
923
- children: [/*#__PURE__*/jsx_runtime_.jsx(AccordionButton/* default */.Z, {
924
- children: title
925
- }), /*#__PURE__*/jsx_runtime_.jsx(AccordionPanel/* default */.Z, {
926
- children: /*#__PURE__*/jsx_runtime_.jsx("p", {
927
- className: "text__body",
928
- children: content
929
- })
930
- })]
931
- }, String(index)))
932
- })
933
- });
934
- }
935
-
936
- /* harmony default export */ const ProductDescription_ProductDescription = (ProductDescription);
937
- ;// CONCATENATED MODULE: ./src/components/ui/ProductDescription/index.ts
938
-
939
-
940
- /***/ }),
941
-
942
- /***/ 33183:
943
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
944
-
945
- "use strict";
946
-
947
- // EXPORTS
948
- __webpack_require__.d(__webpack_exports__, {
949
- "m": () => (/* reexport */ ProductDetails_ProductDetailsSettings)
950
- });
951
-
952
- // UNUSED EXPORTS: AddToCartLoadingSkeleton
953
-
954
- // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
955
- var Price = __webpack_require__(57549);
956
- // EXTERNAL MODULE: ../components/dist/molecules/QuantitySelector/QuantitySelector.js
957
- var QuantitySelector = __webpack_require__(60123);
958
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
959
- var Icon = __webpack_require__(25045);
960
- // EXTERNAL MODULE: ../sdk/dist/analytics/sendAnalyticsEvent.js
961
- var sendAnalyticsEvent = __webpack_require__(71072);
962
- // EXTERNAL MODULE: external "react"
963
- var external_react_ = __webpack_require__(16689);
964
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
965
- var session = __webpack_require__(97295);
966
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
967
- var UIProvider = __webpack_require__(90395);
968
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
969
- var cart = __webpack_require__(46073);
970
- ;// CONCATENATED MODULE: ./src/sdk/cart/useBuyButton.ts
971
-
972
-
973
-
974
-
975
-
976
- const useBuyButton = item => {
977
- const {
978
- openCart
979
- } = (0,UIProvider/* useUI */.l)();
980
- const {
981
- currency: {
982
- code
983
- }
984
- } = (0,session/* useSession */.kP)();
985
- const onClick = (0,external_react_.useCallback)(e => {
986
- e.preventDefault();
987
-
988
- if (!item) {
989
- return;
990
- }
991
-
992
- (0,sendAnalyticsEvent/* sendAnalyticsEvent */._)({
993
- name: 'add_to_cart',
994
- params: {
995
- currency: code,
996
- // TODO: In the future, we can explore more robust ways of
997
- // calculating the value (gift items, discounts, etc.).
998
- value: item.price * item.quantity,
999
- items: [{
1000
- item_id: item.itemOffered.isVariantOf.productGroupID,
1001
- item_name: item.itemOffered.isVariantOf.name,
1002
- item_brand: item.itemOffered.brand.name,
1003
- item_variant: item.itemOffered.sku,
1004
- quantity: item.quantity,
1005
- price: item.price,
1006
- discount: item.listPrice - item.price,
1007
- currency: code,
1008
- item_variant_name: item.itemOffered.name,
1009
- product_reference_id: item.itemOffered.gtin
1010
- }]
1011
- }
1012
- });
1013
- cart/* cartStore.addItem */.i8.addItem(item);
1014
- openCart();
1015
- }, [code, item, openCart]);
1016
- return {
1017
- onClick,
1018
- 'data-testid': 'buy-button',
1019
- 'data-sku': item?.itemOffered.sku,
1020
- 'data-seller': item?.seller.identifier
1021
- };
1022
- };
1023
- // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
1024
- var useFormattedPrice = __webpack_require__(95346);
1025
- // EXTERNAL MODULE: ./node_modules/next/link.js
1026
- var next_link = __webpack_require__(41664);
1027
- var link_default = /*#__PURE__*/__webpack_require__.n(next_link);
1028
- // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 2 modules
1029
- var Image = __webpack_require__(79266);
1030
- // EXTERNAL MODULE: ./src/components/sections/ProductDetails/Overrides.tsx + 11 modules
1031
- var Overrides = __webpack_require__(32449);
1032
- // EXTERNAL MODULE: external "react/jsx-runtime"
1033
- var jsx_runtime_ = __webpack_require__(20997);
1034
- ;// CONCATENATED MODULE: ./src/components/ui/SkuSelector/Selectors.tsx
1035
- const _excluded = ["src", "alt"],
1036
- _excluded2 = ["slugsMap", "activeVariations", "availableVariations"];
1037
-
1038
- 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; }
1039
-
1040
- 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; }
1041
-
1042
- 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; }
1043
-
1044
- 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; }
1045
-
1046
- 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; }
1047
-
1048
-
1049
-
1050
-
1051
-
1052
- const {
1053
- SkuSelector
1054
- } = Overrides/* Components */.z;
1055
-
1056
- const ImageComponent = _ref => {
1057
- let {
1058
- src,
1059
- alt
1060
- } = _ref,
1061
- otherProps = _objectWithoutProperties(_ref, _excluded);
1062
-
1063
- return /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, _objectSpread({
1064
- src: src,
1065
- alt: alt,
1066
- width: 34,
1067
- height: 34
1068
- }, otherProps));
1069
- };
1070
-
1071
- function Selectors(_ref2) {
1072
- let {
1073
- slugsMap,
1074
- activeVariations,
1075
- availableVariations
1076
- } = _ref2,
1077
- otherProps = _objectWithoutProperties(_ref2, _excluded2);
1078
-
1079
- return /*#__PURE__*/jsx_runtime_.jsx("section", _objectSpread(_objectSpread({}, otherProps), {}, {
1080
- children: availableVariations && Object.keys(availableVariations).map(skuVariant => /*#__PURE__*/jsx_runtime_.jsx(SkuSelector, {
1081
- skuPropertyName: skuVariant,
1082
- availableVariations: availableVariations,
1083
- ImageComponent: ImageComponent,
1084
- activeVariations: activeVariations,
1085
- slugsMap: slugsMap,
1086
- linkProps: {
1087
- as: (link_default()),
1088
- legacyBehavior: false
1089
- }
1090
- }, skuVariant))
1091
- }));
1092
- }
1093
-
1094
- /* harmony default export */ const SkuSelector_Selectors = (Selectors);
1095
- ;// CONCATENATED MODULE: ./src/components/ui/SkuSelector/index.ts
1096
-
1097
- ;// CONCATENATED MODULE: ./src/components/ui/ProductDetails/AddToCartLoadingSkeleton.tsx
1098
-
1099
-
1100
- function AddToCartLoadingSkeleton() {
1101
- return (
1102
- /*#__PURE__*/
1103
- // Generated via https://skeletonreact.com/.
1104
- (0,jsx_runtime_.jsxs)("svg", {
1105
- role: "img",
1106
- width: "100%",
1107
- height: "48",
1108
- "aria-labelledby": "loading-aria",
1109
- viewBox: "0 0 112 48",
1110
- preserveAspectRatio: "none",
1111
- children: [/*#__PURE__*/jsx_runtime_.jsx("title", {
1112
- id: "loading-aria",
1113
- children: "Loading..."
1114
- }), /*#__PURE__*/jsx_runtime_.jsx("rect", {
1115
- x: "0",
1116
- y: "0",
1117
- width: "100%",
1118
- height: "100%",
1119
- clipPath: "url(#clip-path)",
1120
- style: {
1121
- fill: 'url("#fill")'
1122
- }
1123
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("defs", {
1124
- children: [/*#__PURE__*/jsx_runtime_.jsx("clipPath", {
1125
- id: "clip-path",
1126
- children: /*#__PURE__*/jsx_runtime_.jsx("rect", {
1127
- x: "0",
1128
- y: "0",
1129
- rx: "2",
1130
- ry: "2",
1131
- width: "112",
1132
- height: "48"
1133
- })
1134
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("linearGradient", {
1135
- id: "fill",
1136
- children: [/*#__PURE__*/jsx_runtime_.jsx("stop", {
1137
- offset: "0.599964",
1138
- stopColor: "#f3f3f3",
1139
- stopOpacity: "1",
1140
- children: /*#__PURE__*/jsx_runtime_.jsx("animate", {
1141
- attributeName: "offset",
1142
- values: "-2; -2; 1",
1143
- keyTimes: "0; 0.25; 1",
1144
- dur: "2s",
1145
- repeatCount: "indefinite"
1146
- })
1147
- }), /*#__PURE__*/jsx_runtime_.jsx("stop", {
1148
- offset: "1.59996",
1149
- stopColor: "#ecebeb",
1150
- stopOpacity: "1",
1151
- children: /*#__PURE__*/jsx_runtime_.jsx("animate", {
1152
- attributeName: "offset",
1153
- values: "-1; -1; 2",
1154
- keyTimes: "0; 0.25; 1",
1155
- dur: "2s",
1156
- repeatCount: "indefinite"
1157
- })
1158
- }), /*#__PURE__*/jsx_runtime_.jsx("stop", {
1159
- offset: "2.59996",
1160
- stopColor: "#f3f3f3",
1161
- stopOpacity: "1",
1162
- children: /*#__PURE__*/jsx_runtime_.jsx("animate", {
1163
- attributeName: "offset",
1164
- values: "0; 0; 3",
1165
- keyTimes: "0; 0.25; 1",
1166
- dur: "2s",
1167
- repeatCount: "indefinite"
1168
- })
1169
- })]
1170
- })]
1171
- })]
1172
- })
1173
- );
1174
- }
1175
- ;// CONCATENATED MODULE: ./src/components/ui/ProductDetails/ProductDetailsSettings.tsx
1176
- function ProductDetailsSettings_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; }
1177
-
1178
- function ProductDetailsSettings_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ProductDetailsSettings_ownKeys(Object(source), !0).forEach(function (key) { ProductDetailsSettings_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ProductDetailsSettings_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1179
-
1180
- function ProductDetailsSettings_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; }
1181
-
1182
-
1183
-
1184
-
1185
-
1186
-
1187
-
1188
-
1189
-
1190
-
1191
- const {
1192
- BuyButton
1193
- } = Overrides/* Components */.z;
1194
-
1195
- function ProductDetailsSettings({
1196
- product,
1197
- buyButtonTitle,
1198
- isValidating,
1199
- quantity,
1200
- setQuantity,
1201
- buyButtonIcon: {
1202
- icon: buyButtonIconName,
1203
- alt: buyButtonIconAlt
1204
- }
1205
- }) {
1206
- const {
1207
- id,
1208
- sku,
1209
- gtin,
1210
- name: variantName,
1211
- brand,
1212
- isVariantOf,
1213
- isVariantOf: {
1214
- skuVariants
1215
- },
1216
- image: productImages,
1217
- additionalProperty,
1218
- offers: {
1219
- lowPrice,
1220
- offers: [{
1221
- availability,
1222
- price,
1223
- listPrice,
1224
- seller
1225
- }]
1226
- }
1227
- } = product;
1228
- const buyDisabled = availability !== 'https://schema.org/InStock';
1229
- const buyProps = useBuyButton({
1230
- id,
1231
- price,
1232
- listPrice,
1233
- seller,
1234
- quantity,
1235
- itemOffered: {
1236
- sku,
1237
- name: variantName,
1238
- gtin,
1239
- image: productImages,
1240
- brand,
1241
- isVariantOf,
1242
- additionalProperty
1243
- }
1244
- });
1245
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
1246
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
1247
- "data-fs-product-details-values": true,
1248
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
1249
- "data-fs-product-details-prices": true,
1250
- children: [/*#__PURE__*/jsx_runtime_.jsx(Price/* default */.Z, {
1251
- value: listPrice,
1252
- formatter: useFormattedPrice/* useFormattedPrice */.P,
1253
- testId: "list-price",
1254
- "data-value": listPrice,
1255
- variant: "listing",
1256
- SRText: "Original price:"
1257
- }), /*#__PURE__*/jsx_runtime_.jsx(Price/* default */.Z, {
1258
- value: lowPrice,
1259
- formatter: useFormattedPrice/* useFormattedPrice */.P,
1260
- testId: "price",
1261
- "data-value": lowPrice,
1262
- variant: "spot",
1263
- className: "text__lead",
1264
- SRText: "Sale Price:"
1265
- })]
1266
- }), /*#__PURE__*/jsx_runtime_.jsx(QuantitySelector/* default */.Z, {
1267
- min: 1,
1268
- max: 10,
1269
- onChange: setQuantity
1270
- })]
1271
- }), skuVariants && /*#__PURE__*/jsx_runtime_.jsx(SkuSelector_Selectors, {
1272
- slugsMap: skuVariants.slugsMap,
1273
- availableVariations: skuVariants.availableVariations,
1274
- activeVariations: skuVariants.activeVariations,
1275
- "data-fs-product-details-selectors": true
1276
- }),
1277
- /* NOTE: A loading skeleton had to be used to avoid a Lighthouse's
1278
- non-composited animation violation due to the button transitioning its
1279
- background color when changing from its initial disabled to active state.
1280
- See full explanation on commit https://git.io/JyXV5. */
1281
- isValidating ? /*#__PURE__*/jsx_runtime_.jsx(AddToCartLoadingSkeleton, {}) : /*#__PURE__*/jsx_runtime_.jsx(BuyButton, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
1282
- disabled: buyDisabled,
1283
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
1284
- "aria-label": buyButtonIconAlt,
1285
- name: buyButtonIconName
1286
- })
1287
- }, buyProps), {}, {
1288
- children: buyButtonTitle || 'Add to Cart'
1289
- }))]
1290
- });
1291
- }
1292
-
1293
- /* harmony default export */ const ProductDetails_ProductDetailsSettings = (ProductDetailsSettings);
1294
- ;// CONCATENATED MODULE: ./src/components/ui/ProductDetails/index.ts
1295
-
1296
-
1297
-
1298
- /***/ }),
1299
-
1300
- /***/ 77281:
1301
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1302
-
1303
- "use strict";
1304
-
1305
- // EXPORTS
1306
- __webpack_require__.d(__webpack_exports__, {
1307
- "Z": () => (/* reexport */ ShippingSimulation)
1308
- });
1309
-
1310
- // EXTERNAL MODULE: ./src/sdk/graphql/request.ts
1311
- var request = __webpack_require__(180);
1312
- ;// CONCATENATED MODULE: ./src/sdk/shipping/index.ts
1313
-
1314
- const query = "ShippingSimulationQuery";
1315
- const getShippingSimulation = async ({
1316
- items,
1317
- postalCode,
1318
- country
1319
- }) => {
1320
- const data = await (0,request/* request */.W)(query, {
1321
- items,
1322
- postalCode,
1323
- country
1324
- });
1325
- return data.shipping;
1326
- };
1327
- /* harmony default export */ const shipping = ((/* unused pure expression or super */ null && (getShippingSimulation)));
1328
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
1329
- var session = __webpack_require__(97295);
1330
- // EXTERNAL MODULE: external "react"
1331
- var external_react_ = __webpack_require__(16689);
1332
- ;// CONCATENATED MODULE: ./src/components/ui/ShippingSimulation/useShippingSimulation.ts
1333
- 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; }
1334
-
1335
- 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; }
1336
-
1337
- 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; }
1338
-
1339
-
1340
-
1341
- const createEmptySimulation = () => ({
1342
- input: {
1343
- postalCode: '',
1344
- displayClearButton: false,
1345
- errorMessage: ''
1346
- },
1347
- shippingSimulation: {
1348
- location: '',
1349
- options: []
1350
- }
1351
- });
1352
-
1353
- const reducer = (state, action) => {
1354
- const {
1355
- type
1356
- } = action;
1357
-
1358
- switch (type) {
1359
- case 'clear':
1360
- {
1361
- return createEmptySimulation();
1362
- }
1363
-
1364
- case 'update':
1365
- {
1366
- const {
1367
- payload
1368
- } = action;
1369
- return {
1370
- input: _objectSpread(_objectSpread({}, state.input), payload.input),
1371
- shippingSimulation: _objectSpread(_objectSpread({}, state.shippingSimulation), payload.shippingSimulation)
1372
- };
1373
- }
1374
-
1375
- case 'onInput':
1376
- {
1377
- const {
1378
- payload
1379
- } = action;
1380
- return _objectSpread(_objectSpread({}, state), {}, {
1381
- input: _objectSpread({}, payload)
1382
- });
1383
- }
1384
-
1385
- case 'onError':
1386
- {
1387
- const {
1388
- payload
1389
- } = action;
1390
- return _objectSpread(_objectSpread({}, state), {}, {
1391
- input: _objectSpread(_objectSpread({}, state.input), payload)
1392
- });
1393
- }
1394
-
1395
- default:
1396
- throw new Error(`Action ${type} not implemented`);
1397
- }
1398
- };
1399
-
1400
- const useShippingSimulation = (shippingItem, fetchShippingSimulationFn, sessionPostalCode, country) => {
1401
- const {
1402
- 0: {
1403
- input,
1404
- shippingSimulation
1405
- },
1406
- 1: dispatch
1407
- } = (0,external_react_.useReducer)(reducer, null, createEmptySimulation);
1408
- const {
1409
- postalCode: shippingPostalCode
1410
- } = input;
1411
- (0,external_react_.useEffect)(() => {
1412
- if (!sessionPostalCode || shippingPostalCode) {
1413
- return;
1414
- } // Use sessionPostalCode if there is no shippingPostalCode
1415
-
1416
-
1417
- async function fetchShipping() {
1418
- const [location, options] = await fetchShippingSimulationFn(shippingItem, country, sessionPostalCode ?? '');
1419
- dispatch({
1420
- type: 'update',
1421
- payload: {
1422
- input: {
1423
- postalCode: sessionPostalCode ?? '',
1424
- displayClearButton: true,
1425
- errorMessage: ''
1426
- },
1427
- shippingSimulation: {
1428
- location,
1429
- options
1430
- }
1431
- }
1432
- });
1433
- }
1434
-
1435
- fetchShipping();
1436
- }, [country, fetchShippingSimulationFn, sessionPostalCode, shippingItem, shippingPostalCode]);
1437
- const handleSubmit = (0,external_react_.useCallback)(async () => {
1438
- try {
1439
- const [location, options] = await fetchShippingSimulationFn(shippingItem, country, shippingPostalCode ?? '');
1440
- dispatch({
1441
- type: 'update',
1442
- payload: {
1443
- input: {
1444
- displayClearButton: true,
1445
- errorMessage: ''
1446
- },
1447
- shippingSimulation: {
1448
- location,
1449
- options
1450
- }
1451
- }
1452
- });
1453
- } catch (error) {
1454
- dispatch({
1455
- type: 'onError',
1456
- payload: {
1457
- displayClearButton: true,
1458
- errorMessage: 'You entered an invalid Postal Code'
1459
- }
1460
- });
1461
- }
1462
- }, [country, fetchShippingSimulationFn, shippingItem, shippingPostalCode]);
1463
- const handleOnInput = (0,external_react_.useCallback)(e => {
1464
- const currentValue = e.currentTarget.value;
1465
-
1466
- if (currentValue) {
1467
- dispatch({
1468
- type: 'onInput',
1469
- payload: {
1470
- postalCode: currentValue,
1471
- displayClearButton: false,
1472
- errorMessage: ''
1473
- }
1474
- });
1475
- } else {
1476
- dispatch({
1477
- type: 'clear'
1478
- });
1479
- }
1480
- }, []);
1481
- return {
1482
- input,
1483
- shippingSimulation,
1484
- handleOnClear: () => {
1485
- dispatch({
1486
- type: 'clear'
1487
- });
1488
- },
1489
- handleSubmit,
1490
- handleOnInput
1491
- };
1492
- };
1493
- // EXTERNAL MODULE: ./src/components/sections/ProductDetails/Overrides.tsx + 11 modules
1494
- var Overrides = __webpack_require__(32449);
1495
- // EXTERNAL MODULE: external "react/jsx-runtime"
1496
- var jsx_runtime_ = __webpack_require__(20997);
1497
- ;// CONCATENATED MODULE: ./src/components/ui/ShippingSimulation/ShippingSimulation.tsx
1498
- const _excluded = ["productShippingInfo", "formatter", "inputLabel", "title", "idkPostalCodeLinkProps"];
1499
-
1500
- function ShippingSimulation_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; }
1501
-
1502
- function ShippingSimulation_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ShippingSimulation_ownKeys(Object(source), !0).forEach(function (key) { ShippingSimulation_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ShippingSimulation_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1503
-
1504
- function ShippingSimulation_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; }
1505
-
1506
- 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; }
1507
-
1508
- 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; }
1509
-
1510
-
1511
-
1512
-
1513
-
1514
-
1515
- const {
1516
- ShippingSimulation: ShippingSimulationWrapper
1517
- } = Overrides/* Components */.z;
1518
-
1519
- const fetchShippingSimulation = async (shippingItem, country, postalCode) => {
1520
- const shipping = await getShippingSimulation({
1521
- country,
1522
- postalCode: postalCode,
1523
- items: [shippingItem]
1524
- });
1525
- const location = [shipping?.address?.neighborhood, shipping?.address?.city].filter(Boolean).join(' / ') ?? '';
1526
- const options = shipping?.logisticsInfo?.[0]?.slas ?? [];
1527
- return [location, options];
1528
- };
1529
-
1530
- function ShippingSimulation(_ref) {
1531
- let {
1532
- productShippingInfo,
1533
- formatter,
1534
- inputLabel,
1535
- title,
1536
- idkPostalCodeLinkProps
1537
- } = _ref,
1538
- otherProps = _objectWithoutProperties(_ref, _excluded);
1539
-
1540
- const {
1541
- country,
1542
- postalCode: sessionPostalCode
1543
- } = (0,session/* useSession */.kP)();
1544
- const {
1545
- input,
1546
- shippingSimulation,
1547
- handleSubmit,
1548
- handleOnInput,
1549
- handleOnClear
1550
- } = useShippingSimulation(productShippingInfo, fetchShippingSimulation, sessionPostalCode, country);
1551
- const {
1552
- postalCode,
1553
- displayClearButton,
1554
- errorMessage
1555
- } = input;
1556
- const {
1557
- location,
1558
- options
1559
- } = shippingSimulation;
1560
- return /*#__PURE__*/jsx_runtime_.jsx(ShippingSimulationWrapper, ShippingSimulation_objectSpread({
1561
- formatter: formatter,
1562
- onInput: handleOnInput,
1563
- onSubmit: handleSubmit,
1564
- onClear: handleOnClear,
1565
- location: location,
1566
- options: options,
1567
- displayClearButton: displayClearButton,
1568
- errorMessage: errorMessage,
1569
- postalCode: postalCode,
1570
- inputLabel: inputLabel,
1571
- title: title,
1572
- idkPostalCodeLinkProps: idkPostalCodeLinkProps
1573
- }, otherProps));
1574
- }
1575
- ;// CONCATENATED MODULE: ./src/components/ui/ShippingSimulation/index.ts
1576
-
1577
-
1578
- /***/ }),
1579
-
1580
- /***/ 75779:
1581
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1582
-
1583
- "use strict";
1584
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1585
- __webpack_require__.r(__webpack_exports__);
1586
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1587
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
1588
- /* harmony export */ "getStaticPaths": () => (/* binding */ getStaticPaths),
1589
- /* harmony export */ "getStaticProps": () => (/* binding */ getStaticProps)
1590
- /* harmony export */ });
1591
- /* harmony import */ var _faststore_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74826);
1592
- /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16641);
1593
- /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_1__);
1594
- /* harmony import */ var src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82224);
1595
- /* harmony import */ var src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72951);
1596
- /* harmony import */ var src_components_sections_Breadcrumb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49253);
1597
- /* harmony import */ var src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97990);
1598
- /* harmony import */ var src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(93220);
1599
- /* harmony import */ var src_customizations_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20859);
1600
- /* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(97295);
1601
- /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(82541);
1602
- /* harmony import */ var src_server__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(10350);
1603
- /* harmony import */ var src_server_cms__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(15764);
1604
- /* harmony import */ var src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(4074);
1605
- /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(97183);
1606
- /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_faststore_config__WEBPACK_IMPORTED_MODULE_13__);
1607
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(20997);
1608
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__);
1609
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_2__, src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_3__, src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_5__, src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_6__, src_server__WEBPACK_IMPORTED_MODULE_10__, src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__]);
1610
- ([src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_2__, src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_3__, src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_5__, src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_6__, src_server__WEBPACK_IMPORTED_MODULE_10__, src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1611
- 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; }
1612
-
1613
- 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; }
1614
-
1615
- 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; }
1616
-
1617
-
1618
-
1619
-
1620
-
1621
-
1622
-
1623
-
1624
-
1625
-
1626
-
1627
-
1628
-
1629
-
1630
-
1631
- /**
1632
- * Sections: Components imported from each store's custom components and '../components/sections' only.
1633
- * Do not import or render components from any other folder in here.
1634
- */
1635
-
1636
-
1637
-
1638
-
1639
- const COMPONENTS = _objectSpread({
1640
- Breadcrumb: src_components_sections_Breadcrumb__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z,
1641
- ProductDetails: src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z,
1642
- CrossSellingShelf: src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z,
1643
- BannerNewsletter: src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z
1644
- }, src_customizations_components__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z);
1645
-
1646
- function Page({
1647
- product,
1648
- sections,
1649
- globalSections
1650
- }) {
1651
- const {
1652
- currency
1653
- } = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_8__/* .useSession */ .kP)();
1654
- const {
1655
- seo
1656
- } = product;
1657
- const title = seo.title || (_faststore_config__WEBPACK_IMPORTED_MODULE_13___default().seo.title);
1658
- const description = seo.description || (_faststore_config__WEBPACK_IMPORTED_MODULE_13___default().seo.description);
1659
- const canonical = `${(_faststore_config__WEBPACK_IMPORTED_MODULE_13___default().storeUrl)}${seo.canonical}`;
1660
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsxs)(src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP, _objectSpread(_objectSpread({}, globalSections), {}, {
1661
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.NextSeo, {
1662
- title: title,
1663
- description: description,
1664
- canonical: canonical,
1665
- openGraph: {
1666
- type: 'og:product',
1667
- url: canonical,
1668
- title,
1669
- description,
1670
- images: product.image.map(img => ({
1671
- url: img.url,
1672
- alt: img.alternateName
1673
- }))
1674
- },
1675
- additionalMetaTags: [{
1676
- property: 'product:price:amount',
1677
- content: product.offers.lowPrice?.toString() ?? undefined
1678
- }, {
1679
- property: 'product:price:currency',
1680
- content: currency.code
1681
- }]
1682
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.BreadcrumbJsonLd, {
1683
- itemListElements: product.breadcrumbList.itemListElement
1684
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.ProductJsonLd, {
1685
- productName: product.name,
1686
- description: product.description,
1687
- brand: product.brand.name,
1688
- sku: product.sku,
1689
- gtin: product.gtin,
1690
- releaseDate: product.releaseDate,
1691
- images: product.image.map(img => img.url) // Somehow, Google does not understand this valid Schema.org schema, so we need to do conversions
1692
- ,
1693
- offersType: "AggregateOffer",
1694
- offers: _objectSpread(_objectSpread(_objectSpread({}, product.offers), product.offers.offers[0]), {}, {
1695
- url: canonical
1696
- })
1697
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1698
- context: product,
1699
- sections: sections,
1700
- components: COMPONENTS
1701
- })]
1702
- }));
1703
- }
1704
-
1705
- const query = "ServerProductPageQuery";
1706
- const getStaticProps = async ({
1707
- params,
1708
- previewData
1709
- }) => {
1710
- const slug = params?.slug ?? '';
1711
- const [searchResult, cmsPage, globalSections] = await Promise.all([(0,src_server__WEBPACK_IMPORTED_MODULE_10__/* .execute */ .h)({
1712
- variables: {
1713
- slug
1714
- },
1715
- operationName: query
1716
- }), (0,src_server_cms__WEBPACK_IMPORTED_MODULE_11__/* .getPage */ .f)(_objectSpread(_objectSpread({}, previewData?.contentType === 'pdp' ? previewData : null), {}, {
1717
- contentType: 'pdp'
1718
- })), (0,src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__/* .getGlobalSectionsData */ .Tc)(previewData)]);
1719
- const {
1720
- data,
1721
- errors = []
1722
- } = searchResult;
1723
- const notFound = errors.find(_faststore_api__WEBPACK_IMPORTED_MODULE_0__.isNotFoundError);
1724
-
1725
- if (notFound) {
1726
- return {
1727
- notFound: true
1728
- };
1729
- }
1730
-
1731
- if (errors.length > 0) {
1732
- throw errors[0];
1733
- }
1734
-
1735
- return {
1736
- props: _objectSpread(_objectSpread(_objectSpread({}, data), cmsPage), {}, {
1737
- globalSections
1738
- })
1739
- };
1740
- };
1741
- const getStaticPaths = async () => {
1742
- return {
1743
- paths: [],
1744
- fallback: 'blocking'
1745
- };
1746
- };
1747
- Page.displayName = 'Page';
1748
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_9__/* .mark */ .B)(Page));
1749
- __webpack_async_result__();
1750
- } catch(e) { __webpack_async_result__(e); } });
1751
-
1752
- /***/ }),
1753
-
1754
- /***/ 63874:
1755
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1756
-
1757
- "use strict";
1758
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1759
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1760
- /* harmony export */ "i": () => (/* binding */ useProduct)
1761
- /* harmony export */ });
1762
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1763
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1764
- /* harmony import */ var _graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77732);
1765
- /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97295);
1766
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__]);
1767
- _graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1768
-
1769
-
1770
-
1771
- const query = "BrowserProductQuery";
1772
- const useProduct = (productID, fallbackData) => {
1773
- const {
1774
- channel,
1775
- locale
1776
- } = (0,_session__WEBPACK_IMPORTED_MODULE_2__/* .useSession */ .kP)();
1777
- const variables = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
1778
- if (!channel) {
1779
- throw new Error(`useProduct: 'channel' from session is an empty string.`);
1780
- }
1781
-
1782
- return {
1783
- locator: [{
1784
- key: 'id',
1785
- value: productID
1786
- }, {
1787
- key: 'channel',
1788
- value: channel
1789
- }, {
1790
- key: 'locale',
1791
- value: locale
1792
- }]
1793
- };
1794
- }, [channel, locale, productID]);
1795
- return (0,_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__/* .useQuery */ .aM)(query, variables, {
1796
- fallbackData,
1797
- revalidateOnMount: true
1798
- });
1799
- };
1800
- __webpack_async_result__();
1801
- } catch(e) { __webpack_async_result__(e); } });
1802
-
1803
- /***/ }),
1804
-
1805
- /***/ 5411:
1806
- /***/ ((module) => {
1807
-
1808
- // Exports
1809
- module.exports = {
1810
- "section": "section_section__pVnFl"
1811
- };
1812
-
1813
-
1814
- /***/ }),
1815
-
1816
- /***/ 79034:
1817
- /***/ ((module) => {
1818
-
1819
- // Exports
1820
- module.exports = {
1821
- "section": "section_section__XsOoR"
1822
- };
1823
-
1824
-
1825
- /***/ }),
1826
-
1827
- /***/ 35490:
1828
- /***/ ((module) => {
1829
-
1830
- "use strict";
1831
- module.exports = require("@faststore/graphql-utils");
1832
-
1833
- /***/ }),
1834
-
1835
- /***/ 74691:
1836
- /***/ ((module) => {
1837
-
1838
- "use strict";
1839
- module.exports = require("@opentelemetry/api");
1840
-
1841
- /***/ }),
1842
-
1843
- /***/ 38973:
1844
- /***/ ((module) => {
1845
-
1846
- "use strict";
1847
- module.exports = require("@opentelemetry/api-logs");
1848
-
1849
- /***/ }),
1850
-
1851
- /***/ 16969:
1852
- /***/ ((module) => {
1853
-
1854
- "use strict";
1855
- module.exports = require("@opentelemetry/exporter-logs-otlp-grpc");
1856
-
1857
- /***/ }),
1858
-
1859
- /***/ 15196:
1860
- /***/ ((module) => {
1861
-
1862
- "use strict";
1863
- module.exports = require("@opentelemetry/exporter-trace-otlp-grpc");
1864
-
1865
- /***/ }),
1866
-
1867
- /***/ 44161:
1868
- /***/ ((module) => {
1869
-
1870
- "use strict";
1871
- module.exports = require("@opentelemetry/resources");
1872
-
1873
- /***/ }),
1874
-
1875
- /***/ 42793:
1876
- /***/ ((module) => {
1877
-
1878
- "use strict";
1879
- module.exports = require("@opentelemetry/sdk-logs");
1880
-
1881
- /***/ }),
1882
-
1883
- /***/ 1283:
1884
- /***/ ((module) => {
1885
-
1886
- "use strict";
1887
- module.exports = require("@opentelemetry/sdk-trace-base");
1888
-
1889
- /***/ }),
1890
-
1891
- /***/ 16676:
1892
- /***/ ((module) => {
1893
-
1894
- "use strict";
1895
- module.exports = require("@vtex/client-cms");
1896
-
1897
- /***/ }),
1898
-
1899
- /***/ 12404:
1900
- /***/ ((module) => {
1901
-
1902
- "use strict";
1903
- module.exports = require("fast-deep-equal");
1904
-
1905
- /***/ }),
1906
-
1907
- /***/ 57343:
1908
- /***/ ((module) => {
1909
-
1910
- "use strict";
1911
- module.exports = require("graphql");
1912
-
1913
- /***/ }),
1914
-
1915
- /***/ 36548:
1916
- /***/ ((module) => {
1917
-
1918
- "use strict";
1919
- module.exports = require("graphql/language");
1920
-
1921
- /***/ }),
1922
-
1923
- /***/ 83430:
1924
- /***/ ((module) => {
1925
-
1926
- "use strict";
1927
- module.exports = require("idb-keyval");
1928
-
1929
- /***/ }),
1930
-
1931
- /***/ 47881:
1932
- /***/ ((module) => {
1933
-
1934
- "use strict";
1935
- module.exports = require("isomorphic-unfetch");
1936
-
1937
- /***/ }),
1938
-
1939
- /***/ 16641:
1940
- /***/ ((module) => {
1941
-
1942
- "use strict";
1943
- module.exports = require("next-seo");
1944
-
1945
- /***/ }),
1946
-
1947
- /***/ 3280:
1948
- /***/ ((module) => {
1949
-
1950
- "use strict";
1951
- module.exports = require("next/dist/shared/lib/app-router-context.js");
1952
-
1953
- /***/ }),
1954
-
1955
- /***/ 92796:
1956
- /***/ ((module) => {
1957
-
1958
- "use strict";
1959
- module.exports = require("next/dist/shared/lib/head-manager-context.js");
1960
-
1961
- /***/ }),
1962
-
1963
- /***/ 94957:
1964
- /***/ ((module) => {
1965
-
1966
- "use strict";
1967
- module.exports = require("next/dist/shared/lib/head.js");
1968
-
1969
- /***/ }),
1970
-
1971
- /***/ 3539:
1972
- /***/ ((module) => {
1973
-
1974
- "use strict";
1975
- module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");
1976
-
1977
- /***/ }),
1978
-
1979
- /***/ 34014:
1980
- /***/ ((module) => {
1981
-
1982
- "use strict";
1983
- module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");
1984
-
1985
- /***/ }),
1986
-
1987
- /***/ 64486:
1988
- /***/ ((module) => {
1989
-
1990
- "use strict";
1991
- module.exports = require("next/dist/shared/lib/image-blur-svg.js");
1992
-
1993
- /***/ }),
1994
-
1995
- /***/ 50744:
1996
- /***/ ((module) => {
1997
-
1998
- "use strict";
1999
- module.exports = require("next/dist/shared/lib/image-config-context.js");
2000
-
2001
- /***/ }),
2002
-
2003
- /***/ 35843:
2004
- /***/ ((module) => {
2005
-
2006
- "use strict";
2007
- module.exports = require("next/dist/shared/lib/image-config.js");
2008
-
2009
- /***/ }),
2010
-
2011
- /***/ 78524:
2012
- /***/ ((module) => {
2013
-
2014
- "use strict";
2015
- module.exports = require("next/dist/shared/lib/is-plain-object.js");
2016
-
2017
- /***/ }),
2018
-
2019
- /***/ 78020:
2020
- /***/ ((module) => {
2021
-
2022
- "use strict";
2023
- module.exports = require("next/dist/shared/lib/mitt.js");
2024
-
2025
- /***/ }),
2026
-
2027
- /***/ 64406:
2028
- /***/ ((module) => {
2029
-
2030
- "use strict";
2031
- module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");
2032
-
2033
- /***/ }),
2034
-
2035
- /***/ 24964:
2036
- /***/ ((module) => {
2037
-
2038
- "use strict";
2039
- module.exports = require("next/dist/shared/lib/router-context.js");
2040
-
2041
- /***/ }),
2042
-
2043
- /***/ 93431:
2044
- /***/ ((module) => {
2045
-
2046
- "use strict";
2047
- module.exports = require("next/dist/shared/lib/router/utils/add-locale.js");
2048
-
2049
- /***/ }),
2050
-
2051
- /***/ 11751:
2052
- /***/ ((module) => {
2053
-
2054
- "use strict";
2055
- module.exports = require("next/dist/shared/lib/router/utils/add-path-prefix.js");
2056
-
2057
- /***/ }),
2058
-
2059
- /***/ 46220:
2060
- /***/ ((module) => {
2061
-
2062
- "use strict";
2063
- module.exports = require("next/dist/shared/lib/router/utils/compare-states.js");
2064
-
2065
- /***/ }),
2066
-
2067
- /***/ 10299:
2068
- /***/ ((module) => {
2069
-
2070
- "use strict";
2071
- module.exports = require("next/dist/shared/lib/router/utils/format-next-pathname-info.js");
2072
-
2073
- /***/ }),
2074
-
2075
- /***/ 23938:
2076
- /***/ ((module) => {
2077
-
2078
- "use strict";
2079
- module.exports = require("next/dist/shared/lib/router/utils/format-url.js");
2080
-
2081
- /***/ }),
2082
-
2083
- /***/ 29565:
2084
- /***/ ((module) => {
2085
-
2086
- "use strict";
2087
- module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");
2088
-
2089
- /***/ }),
2090
-
2091
- /***/ 35789:
2092
- /***/ ((module) => {
2093
-
2094
- "use strict";
2095
- module.exports = require("next/dist/shared/lib/router/utils/get-next-pathname-info.js");
2096
-
2097
- /***/ }),
2098
-
2099
- /***/ 1897:
2100
- /***/ ((module) => {
2101
-
2102
- "use strict";
2103
- module.exports = require("next/dist/shared/lib/router/utils/is-bot.js");
2104
-
2105
- /***/ }),
2106
-
2107
- /***/ 1428:
2108
- /***/ ((module) => {
2109
-
2110
- "use strict";
2111
- module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");
2112
-
2113
- /***/ }),
2114
-
2115
- /***/ 28854:
2116
- /***/ ((module) => {
2117
-
2118
- "use strict";
2119
- module.exports = require("next/dist/shared/lib/router/utils/parse-path.js");
2120
-
2121
- /***/ }),
2122
-
2123
- /***/ 91292:
2124
- /***/ ((module) => {
2125
-
2126
- "use strict";
2127
- module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");
2128
-
2129
- /***/ }),
2130
-
2131
- /***/ 34567:
2132
- /***/ ((module) => {
2133
-
2134
- "use strict";
2135
- module.exports = require("next/dist/shared/lib/router/utils/path-has-prefix.js");
2136
-
2137
- /***/ }),
2138
-
2139
- /***/ 80979:
2140
- /***/ ((module) => {
2141
-
2142
- "use strict";
2143
- module.exports = require("next/dist/shared/lib/router/utils/querystring.js");
2144
-
2145
- /***/ }),
2146
-
2147
- /***/ 93297:
2148
- /***/ ((module) => {
2149
-
2150
- "use strict";
2151
- module.exports = require("next/dist/shared/lib/router/utils/remove-trailing-slash.js");
2152
-
2153
- /***/ }),
2154
-
2155
- /***/ 36052:
2156
- /***/ ((module) => {
2157
-
2158
- "use strict";
2159
- module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");
2160
-
2161
- /***/ }),
2162
-
2163
- /***/ 84226:
2164
- /***/ ((module) => {
2165
-
2166
- "use strict";
2167
- module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");
2168
-
2169
- /***/ }),
2170
-
2171
- /***/ 95052:
2172
- /***/ ((module) => {
2173
-
2174
- "use strict";
2175
- module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");
2176
-
2177
- /***/ }),
2178
-
2179
- /***/ 59232:
2180
- /***/ ((module) => {
2181
-
2182
- "use strict";
2183
- module.exports = require("next/dist/shared/lib/utils.js");
2184
-
2185
- /***/ }),
2186
-
2187
- /***/ 71853:
2188
- /***/ ((module) => {
2189
-
2190
- "use strict";
2191
- module.exports = require("next/router");
2192
-
2193
- /***/ }),
2194
-
2195
- /***/ 75471:
2196
- /***/ ((module) => {
2197
-
2198
- "use strict";
2199
- module.exports = require("p-limit");
2200
-
2201
- /***/ }),
2202
-
2203
- /***/ 16689:
2204
- /***/ ((module) => {
2205
-
2206
- "use strict";
2207
- module.exports = require("react");
2208
-
2209
- /***/ }),
2210
-
2211
- /***/ 66405:
2212
- /***/ ((module) => {
2213
-
2214
- "use strict";
2215
- module.exports = require("react-dom");
2216
-
2217
- /***/ }),
2218
-
2219
- /***/ 19785:
2220
- /***/ ((module) => {
2221
-
2222
- "use strict";
2223
- module.exports = require("react-intersection-observer");
2224
-
2225
- /***/ }),
2226
-
2227
- /***/ 3789:
2228
- /***/ ((module) => {
2229
-
2230
- "use strict";
2231
- module.exports = require("react-swipeable");
2232
-
2233
- /***/ }),
2234
-
2235
- /***/ 20997:
2236
- /***/ ((module) => {
2237
-
2238
- "use strict";
2239
- module.exports = require("react/jsx-runtime");
2240
-
2241
- /***/ }),
2242
-
2243
- /***/ 73823:
2244
- /***/ ((module) => {
2245
-
2246
- "use strict";
2247
- module.exports = require("tabbable");
2248
-
2249
- /***/ }),
2250
-
2251
- /***/ 40752:
2252
- /***/ ((module) => {
2253
-
2254
- "use strict";
2255
- module.exports = require("tslib");
2256
-
2257
- /***/ }),
2258
-
2259
- /***/ 99664:
2260
- /***/ ((module) => {
2261
-
2262
- "use strict";
2263
- module.exports = import("@envelop/core");;
2264
-
2265
- /***/ }),
2266
-
2267
- /***/ 37886:
2268
- /***/ ((module) => {
2269
-
2270
- "use strict";
2271
- module.exports = import("@envelop/graphql-jit");;
2272
-
2273
- /***/ }),
2274
-
2275
- /***/ 84656:
2276
- /***/ ((module) => {
2277
-
2278
- "use strict";
2279
- module.exports = import("@envelop/parser-cache");;
2280
-
2281
- /***/ }),
2282
-
2283
- /***/ 36093:
2284
- /***/ ((module) => {
2285
-
2286
- "use strict";
2287
- module.exports = import("@envelop/validation-cache");;
2288
-
2289
- /***/ }),
2290
-
2291
- /***/ 97564:
2292
- /***/ ((module) => {
2293
-
2294
- "use strict";
2295
- module.exports = import("chalk");;
2296
-
2297
- /***/ }),
2298
-
2299
- /***/ 15941:
2300
- /***/ ((module) => {
2301
-
2302
- "use strict";
2303
- module.exports = import("swr");;
2304
-
2305
- /***/ }),
2306
-
2307
- /***/ 6113:
2308
- /***/ ((module) => {
2309
-
2310
- "use strict";
2311
- module.exports = require("crypto");
2312
-
2313
- /***/ })
2314
-
2315
- };
2316
- ;
2317
-
2318
- // load runtime
2319
- var __webpack_require__ = require("../../webpack-runtime.js");
2320
- __webpack_require__.C(exports);
2321
- var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
2322
- var __webpack_exports__ = __webpack_require__.X(0, [676,825,487,183,886,74,247,287,854,280,368,205,253,350,378,123], () => (__webpack_exec__(75779)));
2323
- module.exports = __webpack_exports__;
2324
-
2325
- })();