@faststore/core 2.1.55 → 2.1.57

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