@faststore/core 2.1.90 → 2.2.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +31 -31
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/{907.js → 112.js} +422 -278
  16. package/.next/server/chunks/177.js +3 -3
  17. package/.next/server/chunks/183.js +1 -1
  18. package/.next/server/chunks/184.js +4 -4
  19. package/.next/server/chunks/186.js +7 -7
  20. package/.next/server/chunks/289.js +32 -29
  21. package/.next/server/chunks/312.js +67 -67
  22. package/.next/server/chunks/350.js +98 -41
  23. package/.next/server/chunks/483.js +43 -42
  24. package/.next/server/chunks/52.js +4007 -0
  25. package/.next/server/chunks/53.js +6 -6
  26. package/.next/server/chunks/530.js +22 -22
  27. package/.next/server/chunks/574.js +2 -2
  28. package/.next/server/chunks/576.js +1 -1
  29. package/.next/server/chunks/{933.js → 647.js} +33 -117
  30. package/.next/server/chunks/676.js +2 -2
  31. package/.next/server/chunks/693.js +3 -3
  32. package/.next/server/chunks/71.js +103 -61
  33. package/.next/server/chunks/74.js +268 -271
  34. package/.next/server/chunks/753.js +73 -28
  35. package/.next/server/chunks/779.js +8 -8
  36. package/.next/server/chunks/817.js +4007 -0
  37. package/.next/server/chunks/825.js +89 -89
  38. package/.next/server/chunks/854.js +4 -4
  39. package/.next/server/chunks/859.js +12 -12
  40. package/.next/server/chunks/98.js +4 -4
  41. package/.next/server/chunks/988.js +10 -10
  42. package/.next/server/middleware-build-manifest.js +1 -1
  43. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  44. package/.next/server/pages/404.js +42 -42
  45. package/.next/server/pages/404.js.nft.json +1 -1
  46. package/.next/server/pages/500.js +42 -42
  47. package/.next/server/pages/500.js.nft.json +1 -1
  48. package/.next/server/pages/[...slug].js +293 -171
  49. package/.next/server/pages/[...slug].js.nft.json +1 -1
  50. package/.next/server/pages/[slug]/p.js +645 -663
  51. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  52. package/.next/server/pages/_app.js +18 -18
  53. package/.next/server/pages/_app.js.nft.json +1 -1
  54. package/.next/server/pages/_document.js +30 -30
  55. package/.next/server/pages/_document.js.nft.json +1 -1
  56. package/.next/server/pages/_error.js +8 -8
  57. package/.next/server/pages/account.js +42 -42
  58. package/.next/server/pages/account.js.nft.json +1 -1
  59. package/.next/server/pages/api/graphql.js +146 -61
  60. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  61. package/.next/server/pages/api/health/live.js +2 -2
  62. package/.next/server/pages/api/health/ready.js +2 -2
  63. package/.next/server/pages/api/preview.js +3 -3
  64. package/.next/server/pages/checkout.js +40 -40
  65. package/.next/server/pages/checkout.js.nft.json +1 -1
  66. package/.next/server/pages/en-US/404.html +2 -2
  67. package/.next/server/pages/en-US/500.html +2 -2
  68. package/.next/server/pages/en-US/account.html +2 -2
  69. package/.next/server/pages/en-US/checkout.html +2 -2
  70. package/.next/server/pages/en-US/login.html +2 -2
  71. package/.next/server/pages/en-US/s.html +2 -2
  72. package/.next/server/pages/en-US.html +2 -2
  73. package/.next/server/pages/index.js +53 -53
  74. package/.next/server/pages/index.js.nft.json +1 -1
  75. package/.next/server/pages/login.js +44 -44
  76. package/.next/server/pages/login.js.nft.json +1 -1
  77. package/.next/server/pages/s.js +183 -101
  78. package/.next/server/pages/s.js.nft.json +1 -1
  79. package/.next/server/pages-manifest.json +2 -2
  80. package/.next/static/chunks/{238-e5e4b2094f0e1df8.js → 238-86838f629f3d0aa4.js} +1 -1
  81. package/.next/static/chunks/{243-df6d1b248f7b4d3c.js → 243-ef9e49ef3df579c0.js} +1 -1
  82. package/.next/static/chunks/{709.7bc5a25ce30abda6.js → 709.daf1eddebf1e7952.js} +1 -1
  83. package/.next/static/chunks/932-33f45603c7d12a4b.js +1 -0
  84. package/.next/static/chunks/pages/[...slug]-362204c7e0b533cf.js +1 -0
  85. package/.next/static/chunks/pages/[slug]/p-885042c4b2b4f8ed.js +1 -0
  86. package/.next/static/chunks/pages/{index-d521ce4f4e2b89a6.js → index-79b05b0071c02fff.js} +1 -1
  87. package/.next/static/chunks/pages/s-e1bb00f8de6a386e.js +1 -0
  88. package/.next/static/chunks/{webpack-352e624909554726.js → webpack-88d120cefa1c4c09.js} +1 -1
  89. package/.next/static/wPqgZ8bYrPY473PZzuIX_/_buildManifest.js +1 -0
  90. package/.next/trace +80 -80
  91. package/.turbo/turbo-build.log +8 -6
  92. package/.turbo/turbo-test.log +25 -0
  93. package/@generated/graphql/index.ts +183 -79
  94. package/@generated/graphql/persisted.json +5 -5
  95. package/@generated/graphql/schema.graphql +1053 -0
  96. package/api/index.ts +15 -0
  97. package/codegen.yml +2 -1
  98. package/generate.sh +71 -0
  99. package/index.ts +15 -0
  100. package/jest.config.js +6 -0
  101. package/package.json +33 -18
  102. package/src/components/cms/RenderSections.tsx +4 -5
  103. package/src/components/product/ProductGrid/ProductGrid.tsx +4 -3
  104. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +17 -22
  105. package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +8 -6
  106. package/src/components/sections/ProductDetails/ProductDetails.tsx +23 -33
  107. package/src/components/sections/ProductGallery/ProductGallery.tsx +15 -26
  108. package/src/components/sections/ProductShelf/ProductShelf.tsx +1 -1
  109. package/src/components/sections/ProductTiles/ProductTiles.tsx +4 -3
  110. package/src/components/templates/ProductListingPage/ProductListing.tsx +95 -0
  111. package/src/components/templates/ProductListingPage/ProductListingPage.tsx +34 -68
  112. package/src/components/templates/SearchPage/SearchPage.tsx +81 -0
  113. package/src/components/templates/SearchPage/index.ts +2 -0
  114. package/src/components/ui/ProductGallery/ProductGallery.tsx +24 -16
  115. package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +8 -7
  116. package/src/components/ui/ProductGallery/useDelayedFacets.ts +3 -3
  117. package/src/components/ui/ProductShelf/ProductShelf.tsx +3 -2
  118. package/src/customizations/fragments/ClientProduct.ts +9 -0
  119. package/src/customizations/fragments/ClientProductGallery.ts +19 -0
  120. package/src/customizations/fragments/ClientProducts.ts +19 -0
  121. package/src/customizations/fragments/ServerCollectionPage.ts +9 -0
  122. package/src/customizations/fragments/ServerProductPage.ts +9 -0
  123. package/src/customizations/graphql/thirdParty/resolvers/index.ts +3 -0
  124. package/src/customizations/graphql/vtex/resolvers/index.ts +3 -0
  125. package/src/pages/[...slug].tsx +5 -3
  126. package/src/pages/[slug]/p.tsx +38 -18
  127. package/src/pages/s.tsx +22 -34
  128. package/src/sdk/graphql/useQuery.ts +17 -13
  129. package/src/sdk/overrides/PageProvider.tsx +78 -0
  130. package/src/sdk/product/useLocalizedVariables.ts +33 -0
  131. package/src/sdk/product/usePageProductsQuery.ts +139 -0
  132. package/src/{components/sections/ProductGallery/useGalleryQuery.ts → sdk/product/useProductGalleryQuery.ts} +12 -13
  133. package/src/sdk/product/{useProduct.ts → useProductQuery.ts} +10 -7
  134. package/src/sdk/product/useProductsPrefetch.ts +72 -0
  135. package/src/sdk/product/useProductsQuery.ts +17 -63
  136. package/src/server/generator/generateGraphQLSchemaFile.ts +3 -0
  137. package/src/server/generator/schema.ts +82 -0
  138. package/src/server/index.ts +34 -21
  139. package/src/server/options.ts +16 -0
  140. package/test/server/index.test.ts +146 -0
  141. package/.next/server/chunks/487.js +0 -9142
  142. package/.next/server/chunks/650.js +0 -9142
  143. package/.next/static/7SuqEgCuf5UtY9Gx-CYYB/_buildManifest.js +0 -1
  144. package/.next/static/chunks/603-d1c069aa8a349c86.js +0 -1
  145. package/.next/static/chunks/pages/[...slug]-ca533c74c22cb787.js +0 -1
  146. package/.next/static/chunks/pages/[slug]/p-7bb760bb3fcfc0bb.js +0 -1
  147. package/.next/static/chunks/pages/s-0e516ab36bb49c99.js +0 -1
  148. package/src/components/ui/ProductGallery/usePageProducts.ts +0 -48
  149. /package/.next/static/{7SuqEgCuf5UtY9Gx-CYYB → wPqgZ8bYrPY473PZzuIX_}/_ssgManifest.js +0 -0
@@ -4,7 +4,7 @@ exports.id = 103;
4
4
  exports.ids = [103];
5
5
  exports.modules = {
6
6
 
7
- /***/ 72951:
7
+ /***/ 2951:
8
8
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
9
9
 
10
10
  "use strict";
@@ -12,12 +12,12 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
12
12
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13
13
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
14
14
  /* harmony export */ });
15
- /* harmony import */ var src_components_sections_BannerText__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(48463);
16
- /* harmony import */ var src_components_sections_Newsletter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87191);
17
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(57067);
15
+ /* harmony import */ var src_components_sections_BannerText__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8463);
16
+ /* harmony import */ var src_components_sections_Newsletter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7191);
17
+ /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7067);
18
18
  /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5411);
19
19
  /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_4__);
20
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20997);
20
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(997);
21
21
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
22
22
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_sections_Newsletter__WEBPACK_IMPORTED_MODULE_1__]);
23
23
  src_components_sections_Newsletter__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
@@ -66,7 +66,7 @@ __webpack_async_result__();
66
66
 
67
67
  /***/ }),
68
68
 
69
- /***/ 30994:
69
+ /***/ 994:
70
70
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
71
71
 
72
72
  "use strict";
@@ -74,16 +74,17 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
74
74
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
75
75
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
76
76
  /* harmony export */ });
77
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
77
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
78
78
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
79
- /* harmony import */ var src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34805);
80
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19785);
79
+ /* harmony import */ var src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4805);
80
+ /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9785);
81
81
  /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__);
82
- /* harmony import */ var _ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(56627);
83
- /* harmony import */ var _ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5__);
84
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57067);
85
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20997);
86
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
82
+ /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5953);
83
+ /* harmony import */ var _ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6627);
84
+ /* harmony import */ var _ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_6__);
85
+ /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7067);
86
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(997);
87
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
87
88
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__]);
88
89
  src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
89
90
 
@@ -93,26 +94,28 @@ src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_d
93
94
 
94
95
 
95
96
 
97
+
96
98
  const CrossSellingShelf = ({
97
- items,
99
+ items: first,
98
100
  title,
99
- context,
100
101
  kind
101
102
  }) => {
102
103
  const {
103
104
  ref,
104
105
  inView
105
106
  } = (0,react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__.useInView)();
107
+ const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_3__/* .usePDP */ .al)();
108
+ const productGroupID = context?.data?.product?.isVariantOf?.productGroupID;
106
109
  const selectedFacets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => [{
107
110
  key: kind,
108
- value: context.isVariantOf.productGroupID
109
- }], [kind, context.isVariantOf.productGroupID]);
110
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_Section__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
111
- className: `${(_ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_5___default().section)} section-product-shelf layout__section`,
111
+ value: productGroupID
112
+ }], [kind, productGroupID]);
113
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(_Section__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
114
+ className: `${(_ProductShelf_section_module_scss__WEBPACK_IMPORTED_MODULE_6___default().section)} section-product-shelf layout__section`,
112
115
  ref: ref,
113
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
116
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(src_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
114
117
  inView: inView,
115
- first: items,
118
+ first: first,
116
119
  title: title,
117
120
  selectedFacets: selectedFacets
118
121
  })
@@ -125,7 +128,7 @@ __webpack_async_result__();
125
128
 
126
129
  /***/ }),
127
130
 
128
- /***/ 97990:
131
+ /***/ 7990:
129
132
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
130
133
 
131
134
  "use strict";
@@ -133,7 +136,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
133
136
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
134
137
  /* harmony export */ "Z": () => (/* reexport safe */ _CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__.Z)
135
138
  /* harmony export */ });
136
- /* harmony import */ var _CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30994);
139
+ /* harmony import */ var _CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(994);
137
140
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__]);
138
141
  _CrossSellingShelf__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
139
142
 
@@ -142,33 +145,168 @@ __webpack_async_result__();
142
145
 
143
146
  /***/ }),
144
147
 
145
- /***/ 44467:
148
+ /***/ 8988:
146
149
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
147
150
 
148
151
  "use strict";
149
152
 
150
153
  // EXPORTS
151
154
  __webpack_require__.d(__webpack_exports__, {
152
- "lo": () => (/* binding */ Overrides_BuyButton),
153
- "FU": () => (/* binding */ Overrides_DiscountBadge),
154
- "JO": () => (/* binding */ Overrides_Icon),
155
- "hJ": () => (/* binding */ Overrides_ImageGallery),
156
- "_I": () => (/* binding */ Overrides_ImageZoom),
157
- "tA": () => (/* binding */ Overrides_Price),
158
- "tc": () => (/* binding */ Overrides_ProductTitle),
159
- "cw": () => (/* binding */ Overrides_QuantitySelector),
160
- "CT": () => (/* binding */ Overrides_ShippingSimulation),
161
- "Ol": () => (/* binding */ Overrides_SkuSelector),
162
- "Pk": () => (/* binding */ __experimentalImageGallery),
163
- "d_": () => (/* binding */ __experimentalImageGalleryImage),
164
- "iQ": () => (/* binding */ __experimentalShippingSimulation)
155
+ "Z": () => (/* reexport */ ProductDetails_ProductDetails)
165
156
  });
166
157
 
167
158
  // EXTERNAL MODULE: external "react"
168
- var external_react_ = __webpack_require__(16689);
159
+ var external_react_ = __webpack_require__(6689);
169
160
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
161
+ // EXTERNAL MODULE: ../sdk/dist/analytics/sendAnalyticsEvent.js
162
+ var sendAnalyticsEvent = __webpack_require__(1072);
163
+ // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
164
+ var useFormattedPrice = __webpack_require__(5346);
165
+ // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
166
+ var session = __webpack_require__(7295);
167
+ // EXTERNAL MODULE: ./src/components/sections/Section/index.ts
168
+ var Section = __webpack_require__(7067);
169
+ // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/Accordion.js
170
+ var Accordion = __webpack_require__(1516);
171
+ // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionItem.js
172
+ var AccordionItem = __webpack_require__(783);
173
+ // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionButton.js
174
+ var AccordionButton = __webpack_require__(7734);
175
+ // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionPanel.js
176
+ var AccordionPanel = __webpack_require__(2837);
177
+ // EXTERNAL MODULE: external "react/jsx-runtime"
178
+ var jsx_runtime_ = __webpack_require__(997);
179
+ ;// CONCATENATED MODULE: ./src/components/ui/ProductDescription/ProductDescription.tsx
180
+
181
+
182
+
183
+
184
+
185
+ function ProductDescription({
186
+ descriptionData,
187
+ initiallyExpanded = 'first'
188
+ }) {
189
+ /**
190
+ * Maps 'initiallyExpanded' prop values to indices
191
+ */
192
+ const INITIALLY_EXPANDED_MAP = (0,external_react_.useMemo)(() => ({
193
+ none: [],
194
+ first: [0],
195
+ all: [0, 1, 2, 3]
196
+ }), []);
197
+ const {
198
+ 0: indices,
199
+ 1: setIndices
200
+ } = (0,external_react_.useState)(new Set(INITIALLY_EXPANDED_MAP[initiallyExpanded]));
201
+
202
+ const onChange = index => {
203
+ setIndices(currentIndices => {
204
+ const newIndices = new Set(currentIndices);
205
+
206
+ if (currentIndices.has(index)) {
207
+ newIndices.delete(index);
208
+ } else {
209
+ newIndices.add(index);
210
+ }
211
+
212
+ return newIndices;
213
+ });
214
+ };
215
+
216
+ return /*#__PURE__*/jsx_runtime_.jsx("section", {
217
+ "data-fs-product-description": true,
218
+ children: /*#__PURE__*/jsx_runtime_.jsx(Accordion/* default */.Z, {
219
+ indices: indices,
220
+ onChange: onChange,
221
+ "aria-label": "Product Details Content",
222
+ children: descriptionData.map(({
223
+ title,
224
+ content
225
+ }, index) => /*#__PURE__*/(0,jsx_runtime_.jsxs)(AccordionItem/* default */.Z, {
226
+ as: "article",
227
+ index: index,
228
+ prefixId: "product-description",
229
+ "data-fs-product-details-description": true,
230
+ children: [/*#__PURE__*/jsx_runtime_.jsx(AccordionButton/* default */.Z, {
231
+ children: title
232
+ }), /*#__PURE__*/jsx_runtime_.jsx(AccordionPanel/* default */.Z, {
233
+ children: /*#__PURE__*/jsx_runtime_.jsx("p", {
234
+ className: "text__body",
235
+ children: content
236
+ })
237
+ })]
238
+ }, String(index)))
239
+ })
240
+ });
241
+ }
242
+
243
+ /* harmony default export */ const ProductDescription_ProductDescription = (ProductDescription);
244
+ ;// CONCATENATED MODULE: ./src/components/ui/ProductDescription/index.ts
245
+
246
+ // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
247
+ var UIProvider = __webpack_require__(6652);
248
+ // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
249
+ var cart = __webpack_require__(6073);
250
+ ;// CONCATENATED MODULE: ./src/sdk/cart/useBuyButton.ts
251
+
252
+
253
+
254
+
255
+
256
+ const useBuyButton = item => {
257
+ const {
258
+ openCart
259
+ } = (0,UIProvider/* useUI */.l)();
260
+ const {
261
+ currency: {
262
+ code
263
+ }
264
+ } = (0,session/* useSession */.kP)();
265
+ const onClick = (0,external_react_.useCallback)(e => {
266
+ e.preventDefault();
267
+
268
+ if (!item) {
269
+ return;
270
+ }
271
+
272
+ (0,sendAnalyticsEvent/* sendAnalyticsEvent */._)({
273
+ name: 'add_to_cart',
274
+ params: {
275
+ currency: code,
276
+ // TODO: In the future, we can explore more robust ways of
277
+ // calculating the value (gift items, discounts, etc.).
278
+ value: item.price * item.quantity,
279
+ items: [{
280
+ item_id: item.itemOffered.isVariantOf.productGroupID,
281
+ item_name: item.itemOffered.isVariantOf.name,
282
+ item_brand: item.itemOffered.brand.name,
283
+ item_variant: item.itemOffered.sku,
284
+ quantity: item.quantity,
285
+ price: item.price,
286
+ discount: item.listPrice - item.price,
287
+ currency: code,
288
+ item_variant_name: item.itemOffered.name,
289
+ product_reference_id: item.itemOffered.gtin
290
+ }]
291
+ }
292
+ });
293
+ cart/* cartStore.addItem */.i8.addItem(item);
294
+ openCart();
295
+ }, [code, item, openCart]);
296
+ return {
297
+ onClick,
298
+ 'data-testid': 'buy-button',
299
+ 'data-sku': item?.itemOffered.sku,
300
+ 'data-seller': item?.seller.identifier
301
+ };
302
+ };
303
+ // EXTERNAL MODULE: ./node_modules/next/link.js
304
+ var next_link = __webpack_require__(1664);
305
+ var link_default = /*#__PURE__*/__webpack_require__.n(next_link);
306
+ // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 2 modules
307
+ var Image = __webpack_require__(9266);
170
308
  // EXTERNAL MODULE: ../components/dist/esm/molecules/Rating/Rating.js
171
- var Rating = __webpack_require__(13024);
309
+ var Rating = __webpack_require__(3024);
172
310
  ;// CONCATENATED MODULE: ../components/dist/esm/molecules/ProductTitle/ProductTitle.js
173
311
 
174
312
 
@@ -189,7 +327,7 @@ const ProductTitle = (0,external_react_.forwardRef)(function ProductTitle({ titl
189
327
  // EXTERNAL MODULE: ../components/dist/esm/molecules/DiscountBadge/DiscountBadge.js + 1 modules
190
328
  var DiscountBadge = __webpack_require__(2946);
191
329
  // EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
192
- var Button = __webpack_require__(83339);
330
+ var Button = __webpack_require__(3339);
193
331
  ;// CONCATENATED MODULE: ../components/dist/esm/molecules/BuyButton/BuyButton.js
194
332
 
195
333
 
@@ -201,15 +339,15 @@ function BuyButton({ testId = 'fs-buy-button', icon, children, ...otherProps })
201
339
  // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
202
340
  var Icon = __webpack_require__(2614);
203
341
  // EXTERNAL MODULE: ../components/dist/esm/atoms/Price/Price.js
204
- var Price = __webpack_require__(99767);
342
+ var Price = __webpack_require__(9767);
205
343
  // EXTERNAL MODULE: ../components/dist/esm/molecules/QuantitySelector/QuantitySelector.js
206
344
  var QuantitySelector = __webpack_require__(6693);
207
345
  // EXTERNAL MODULE: ../components/dist/esm/atoms/Label/Label.js
208
- var Label = __webpack_require__(31953);
346
+ var Label = __webpack_require__(1953);
209
347
  // EXTERNAL MODULE: ../components/dist/esm/atoms/Link/Link.js
210
- var Link = __webpack_require__(40727);
348
+ var Link = __webpack_require__(4272);
211
349
  // EXTERNAL MODULE: ../components/dist/esm/atoms/SROnly/SROnly.js
212
- var SROnly = __webpack_require__(55450);
350
+ var SROnly = __webpack_require__(5450);
213
351
  ;// CONCATENATED MODULE: ../components/dist/esm/molecules/SkuSelector/useDefineVariant.js
214
352
 
215
353
  const getImageName = (src) => {
@@ -295,7 +433,7 @@ const SkuSelector = (0,external_react_.forwardRef)(function SkuSelector({ availa
295
433
  /* harmony default export */ const SkuSelector_SkuSelector = (SkuSelector);
296
434
  //# sourceMappingURL=SkuSelector.js.map
297
435
  // EXTERNAL MODULE: ../components/dist/esm/molecules/InputField/InputField.js
298
- var InputField = __webpack_require__(93779);
436
+ var InputField = __webpack_require__(3779);
299
437
  ;// CONCATENATED MODULE: ../components/dist/esm/molecules/Table/Table.js
300
438
 
301
439
  const Table = (0,external_react_.forwardRef)(function Table({ children, variant = 'colored', testId = 'fs-table', ...otherProps }, ref) {
@@ -350,9 +488,9 @@ function ShippingSimulation({ testId = 'fs-shipping-simulation', formatter, titl
350
488
  /* harmony default export */ const ShippingSimulation_ShippingSimulation = (ShippingSimulation);
351
489
  //# sourceMappingURL=ShippingSimulation.js.map
352
490
  // EXTERNAL MODULE: external "react-intersection-observer"
353
- var external_react_intersection_observer_ = __webpack_require__(19785);
491
+ var external_react_intersection_observer_ = __webpack_require__(9785);
354
492
  // EXTERNAL MODULE: ../components/dist/esm/molecules/IconButton/IconButton.js
355
- var IconButton = __webpack_require__(37041);
493
+ var IconButton = __webpack_require__(7041);
356
494
  ;// CONCATENATED MODULE: ../components/dist/esm/organisms/ImageGallery/ImageGallerySelector.js
357
495
 
358
496
 
@@ -419,9 +557,7 @@ const ImageZoom = ({ children }) => {
419
557
  /* harmony default export */ const ImageGallery_ImageZoom = (ImageZoom);
420
558
  //# sourceMappingURL=ImageZoom.js.map
421
559
  // EXTERNAL MODULE: external "next/router"
422
- var router_ = __webpack_require__(71853);
423
- // EXTERNAL MODULE: external "react/jsx-runtime"
424
- var jsx_runtime_ = __webpack_require__(20997);
560
+ var router_ = __webpack_require__(1853);
425
561
  ;// CONCATENATED MODULE: ./src/components/ui/ImageGallery/ImageGallery.tsx
426
562
  const _excluded = ["images"];
427
563
 
@@ -506,8 +642,6 @@ const getShippingSimulation = async ({
506
642
  return data.shipping;
507
643
  };
508
644
  /* harmony default export */ const shipping = ((/* unused pure expression or super */ null && (getShippingSimulation)));
509
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
510
- var session = __webpack_require__(97295);
511
645
  ;// CONCATENATED MODULE: ./src/components/ui/ShippingSimulation/useShippingSimulation.ts
512
646
  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; }
513
647
 
@@ -737,495 +871,72 @@ function ShippingSimulation_ShippingSimulation_ShippingSimulation(_ref) {
737
871
  location: location,
738
872
  options: options,
739
873
  displayClearButton: displayClearButton,
740
- errorMessage: errorMessage,
741
- postalCode: postalCode,
742
- inputLabel: inputLabel,
743
- title: title,
744
- idkPostalCodeLinkProps: idkPostalCodeLinkProps
745
- }, otherProps));
746
- }
747
- // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 2 modules
748
- var Image = __webpack_require__(79266);
749
- // EXTERNAL MODULE: ./src/utils/overrides.ts
750
- var overrides = __webpack_require__(59104);
751
- ;// CONCATENATED MODULE: ./src/customizations/components/overrides/ProductDetails.tsx
752
- // This is an example of how it can be used on the starter.
753
- const SECTION = 'ProductDetails';
754
- const override = {
755
- section: SECTION
756
- };
757
-
758
- ;// CONCATENATED MODULE: ./src/components/sections/ProductDetails/Overrides.tsx
759
-
760
-
761
-
762
-
763
-
764
-
765
- const {
766
- ProductTitle: Overrides_ProductTitle,
767
- DiscountBadge: Overrides_DiscountBadge,
768
- BuyButton: Overrides_BuyButton,
769
- Icon: Overrides_Icon,
770
- Price: Overrides_Price,
771
- QuantitySelector: Overrides_QuantitySelector,
772
- SkuSelector: Overrides_SkuSelector,
773
- ShippingSimulation: Overrides_ShippingSimulation,
774
- ImageGallery: Overrides_ImageGallery,
775
- ImageZoom: Overrides_ImageZoom,
776
- __experimentalImageGalleryImage,
777
- __experimentalImageGallery,
778
- __experimentalShippingSimulation
779
- } = (0,overrides/* getSectionOverrides */.f)({
780
- ProductTitle: ProductTitle_ProductTitle,
781
- DiscountBadge: DiscountBadge/* default */.Z,
782
- BuyButton: BuyButton_BuyButton,
783
- Icon: Icon/* default */.Z,
784
- Price: Price/* default */.Z,
785
- QuantitySelector: QuantitySelector/* default */.Z,
786
- SkuSelector: SkuSelector_SkuSelector,
787
- ShippingSimulation: ShippingSimulation_ShippingSimulation,
788
- ImageGallery: ImageGallery_ImageGallery,
789
- ImageZoom: ImageGallery_ImageZoom,
790
- __experimentalImageGalleryImage: Image/* Image */.E,
791
- __experimentalImageGallery: ui_ImageGallery_ImageGallery,
792
- __experimentalShippingSimulation: ShippingSimulation_ShippingSimulation_ShippingSimulation
793
- }, override);
794
-
795
-
796
- /***/ }),
797
-
798
- /***/ 81644:
799
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
800
-
801
- "use strict";
802
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
803
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
804
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
805
- /* harmony export */ });
806
- /* unused harmony export fragment */
807
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
808
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
809
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(71072);
810
- /* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97295);
811
- /* harmony import */ var src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63874);
812
- /* harmony import */ var src_sdk_product_useFormattedPrice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95346);
813
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(57067);
814
- /* harmony import */ var src_components_ui_ProductDescription__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(90509);
815
- /* harmony import */ var src_components_ui_ProductDetails__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33183);
816
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(79034);
817
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_10__);
818
- /* harmony import */ var src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(44467);
819
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(20997);
820
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__);
821
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__]);
822
- src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
823
- 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; }
824
-
825
- 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; }
826
-
827
- 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; }
828
-
829
-
830
-
831
-
832
-
833
-
834
-
835
-
836
-
837
-
838
-
839
-
840
-
841
-
842
- function ProductDetails({
843
- context: staleProduct,
844
- productTitle: {
845
- refNumber: showRefNumber,
846
- discountBadge: {
847
- showDiscountBadge,
848
- size: discountBadgeSize = src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .DiscountBadge.props.size */ .FU.props.size
849
- }
850
- },
851
- buyButton: {
852
- icon: buyButtonIcon,
853
- title: buyButtonTitle
854
- },
855
- shippingSimulator: {
856
- title: shippingSimulatorTitle = src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.props.title */ .iQ.props.title,
857
- inputLabel: shippingSimulatorInputLabel = src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.props.inputLabel */ .iQ.props.inputLabel,
858
- shippingOptionsTableTitle: shippingSimulatorOptionsTableTitle = src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.props.optionsLabel */ .iQ.props.optionsLabel,
859
- link: {
860
- to: shippingSimulatorLinkUrl = src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.props.idkPostalCodeLinkProps */ .iQ.props.idkPostalCodeLinkProps?.href,
861
- text: shippingSimulatorLinkText = src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.props.idkPostalCodeLinkProps */ .iQ.props.idkPostalCodeLinkProps?.children
862
- }
863
- },
864
- productDescription: {
865
- title: productDescriptionDetailsTitle,
866
- initiallyExpanded: productDescriptionInitiallyExpanded,
867
- displayDescription: shouldDisplayProductDescription
868
- }
869
- }) {
870
- const {
871
- currency
872
- } = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
873
- const {
874
- 0: quantity,
875
- 1: setQuantity
876
- } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(1); // Stale while revalidate the product for fetching the new price etc
877
-
878
- const {
879
- data,
880
- isValidating
881
- } = (0,src_sdk_product_useProduct__WEBPACK_IMPORTED_MODULE_2__/* .useProduct */ .i)(staleProduct.id, {
882
- product: staleProduct
883
- });
884
-
885
- if (!data) {
886
- throw new Error('NotFound');
887
- }
888
-
889
- const {
890
- product: {
891
- id,
892
- sku,
893
- gtin,
894
- name: variantName,
895
- brand,
896
- isVariantOf,
897
- description,
898
- isVariantOf: {
899
- name,
900
- productGroupID: productId
901
- },
902
- image: productImages,
903
- offers: {
904
- offers: [{
905
- availability,
906
- price,
907
- listPrice,
908
- seller
909
- }],
910
- lowPrice
911
- }
912
- }
913
- } = data;
914
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
915
- (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_9__/* .sendAnalyticsEvent */ ._)({
916
- name: 'view_item',
917
- params: {
918
- currency: currency.code,
919
- value: price,
920
- items: [{
921
- item_id: isVariantOf.productGroupID,
922
- item_name: isVariantOf.name,
923
- item_brand: brand.name,
924
- item_variant: sku,
925
- price,
926
- discount: listPrice - price,
927
- currency: currency.code,
928
- item_variant_name: variantName,
929
- product_reference_id: gtin
930
- }]
931
- }
932
- });
933
- }, [isVariantOf.productGroupID, isVariantOf.name, brand.name, sku, price, listPrice, currency.code, variantName, gtin]);
934
- const outOfStock = availability == 'https://schema.org/OutOfStock';
935
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(_Section__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
936
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_10___default().section)} section-product-details`,
937
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx("section", {
938
- "data-fs-product-details": true,
939
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("section", {
940
- "data-fs-product-details-body": true,
941
- "data-fs-content": "product-details",
942
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx("header", {
943
- "data-fs-product-details-title": true,
944
- "data-fs-product-details-section": true,
945
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .ProductTitle.Component */ .tc.Component, _objectSpread(_objectSpread({
946
- // TODO: We should review this prop. There's now way to override the title and use the dynamic name value.
947
- // Maybe passing a ProductTitleHeader component as a prop would be better, as it would be overridable.
948
- // 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.
949
- title: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx("h1", {
950
- children: name
951
- })
952
- }, src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .ProductTitle.props */ .tc.props), {}, {
953
- label: showDiscountBadge && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .DiscountBadge.Component */ .FU.Component, _objectSpread(_objectSpread({}, src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .DiscountBadge.props */ .FU.props), {}, {
954
- size: discountBadgeSize // Dynamic props shouldn't be overridable
955
- // This decision can be reviewed later if needed
956
- ,
957
- listPrice: listPrice,
958
- spotPrice: lowPrice
959
- })),
960
- refNumber: showRefNumber && productId
961
- }))
962
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalImageGallery.Component */ .Pk.Component, _objectSpread(_objectSpread({
963
- "data-fs-product-details-gallery": true
964
- }, src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalImageGallery.props */ .Pk.props), {}, {
965
- images: productImages
966
- })), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("section", {
967
- "data-fs-product-details-info": true,
968
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx("section", {
969
- "data-fs-product-details-settings": true,
970
- "data-fs-product-details-section": true,
971
- children: !outOfStock ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_ui_ProductDetails__WEBPACK_IMPORTED_MODULE_6__/* .ProductDetailsSettings */ .m, {
972
- product: data.product,
973
- isValidating: isValidating,
974
- buyButtonTitle: buyButtonTitle,
975
- quantity: quantity,
976
- setQuantity: setQuantity,
977
- buyButtonIcon: buyButtonIcon
978
- }) :
979
- /*#__PURE__*/
980
- // TODO: Adds <OutOfStock /> when component is ready to use
981
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx("p", {
982
- children: "Not Available"
983
- })
984
- }), !outOfStock && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.Component */ .iQ.Component, _objectSpread(_objectSpread({
985
- "data-fs-product-details-section": true,
986
- "data-fs-product-details-shipping": true,
987
- formatter: src_sdk_product_useFormattedPrice__WEBPACK_IMPORTED_MODULE_3__/* .useFormattedPrice */ .P
988
- }, src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.props */ .iQ.props), {}, {
989
- idkPostalCodeLinkProps: _objectSpread(_objectSpread({}, src_components_sections_ProductDetails_Overrides__WEBPACK_IMPORTED_MODULE_7__/* .__experimentalShippingSimulation.props.idkPostalCodeLinkProps */ .iQ.props.idkPostalCodeLinkProps), {}, {
990
- href: shippingSimulatorLinkUrl,
991
- children: shippingSimulatorLinkText
992
- }),
993
- productShippingInfo: {
994
- id,
995
- quantity,
996
- seller: seller.identifier
997
- },
998
- title: shippingSimulatorTitle,
999
- inputLabel: shippingSimulatorInputLabel,
1000
- optionsLabel: shippingSimulatorOptionsTableTitle
1001
- }))]
1002
- }), shouldDisplayProductDescription && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx(src_components_ui_ProductDescription__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
1003
- initiallyExpanded: productDescriptionInitiallyExpanded,
1004
- descriptionData: [{
1005
- title: productDescriptionDetailsTitle,
1006
- content: description
1007
- }]
1008
- })]
1009
- })
1010
- })
1011
- });
1012
- }
1013
-
1014
- const fragment = "unknown";
1015
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductDetails);
1016
- __webpack_async_result__();
1017
- } catch(e) { __webpack_async_result__(e); } });
1018
-
1019
- /***/ }),
1020
-
1021
- /***/ 93220:
1022
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1023
-
1024
- "use strict";
1025
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1026
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1027
- /* harmony export */ "Z": () => (/* reexport safe */ _ProductDetails__WEBPACK_IMPORTED_MODULE_0__.Z)
1028
- /* harmony export */ });
1029
- /* harmony import */ var _ProductDetails__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81644);
1030
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ProductDetails__WEBPACK_IMPORTED_MODULE_0__]);
1031
- _ProductDetails__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1032
-
1033
- __webpack_async_result__();
1034
- } catch(e) { __webpack_async_result__(e); } });
1035
-
1036
- /***/ }),
1037
-
1038
- /***/ 90509:
1039
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1040
-
1041
- "use strict";
1042
-
1043
- // EXPORTS
1044
- __webpack_require__.d(__webpack_exports__, {
1045
- "Z": () => (/* reexport */ ProductDescription_ProductDescription)
1046
- });
1047
-
1048
- // EXTERNAL MODULE: external "react"
1049
- var external_react_ = __webpack_require__(16689);
1050
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/Accordion.js
1051
- var Accordion = __webpack_require__(71516);
1052
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionItem.js
1053
- var AccordionItem = __webpack_require__(40783);
1054
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionButton.js
1055
- var AccordionButton = __webpack_require__(67734);
1056
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionPanel.js
1057
- var AccordionPanel = __webpack_require__(27583);
1058
- // EXTERNAL MODULE: external "react/jsx-runtime"
1059
- var jsx_runtime_ = __webpack_require__(20997);
1060
- ;// CONCATENATED MODULE: ./src/components/ui/ProductDescription/ProductDescription.tsx
1061
-
1062
-
1063
-
1064
-
1065
-
1066
- function ProductDescription({
1067
- descriptionData,
1068
- initiallyExpanded = 'first'
1069
- }) {
1070
- /**
1071
- * Maps 'initiallyExpanded' prop values to indices
1072
- */
1073
- const INITIALLY_EXPANDED_MAP = (0,external_react_.useMemo)(() => ({
1074
- none: [],
1075
- first: [0],
1076
- all: [0, 1, 2, 3]
1077
- }), []);
1078
- const {
1079
- 0: indices,
1080
- 1: setIndices
1081
- } = (0,external_react_.useState)(new Set(INITIALLY_EXPANDED_MAP[initiallyExpanded]));
1082
-
1083
- const onChange = index => {
1084
- setIndices(currentIndices => {
1085
- const newIndices = new Set(currentIndices);
1086
-
1087
- if (currentIndices.has(index)) {
1088
- newIndices.delete(index);
1089
- } else {
1090
- newIndices.add(index);
1091
- }
1092
-
1093
- return newIndices;
1094
- });
1095
- };
1096
-
1097
- return /*#__PURE__*/jsx_runtime_.jsx("section", {
1098
- "data-fs-product-description": true,
1099
- children: /*#__PURE__*/jsx_runtime_.jsx(Accordion/* default */.Z, {
1100
- indices: indices,
1101
- onChange: onChange,
1102
- "aria-label": "Product Details Content",
1103
- children: descriptionData.map(({
1104
- title,
1105
- content
1106
- }, index) => /*#__PURE__*/(0,jsx_runtime_.jsxs)(AccordionItem/* default */.Z, {
1107
- as: "article",
1108
- index: index,
1109
- prefixId: "product-description",
1110
- "data-fs-product-details-description": true,
1111
- children: [/*#__PURE__*/jsx_runtime_.jsx(AccordionButton/* default */.Z, {
1112
- children: title
1113
- }), /*#__PURE__*/jsx_runtime_.jsx(AccordionPanel/* default */.Z, {
1114
- children: /*#__PURE__*/jsx_runtime_.jsx("p", {
1115
- className: "text__body",
1116
- children: content
1117
- })
1118
- })]
1119
- }, String(index)))
1120
- })
1121
- });
1122
- }
1123
-
1124
- /* harmony default export */ const ProductDescription_ProductDescription = (ProductDescription);
1125
- ;// CONCATENATED MODULE: ./src/components/ui/ProductDescription/index.ts
1126
-
1127
-
1128
- /***/ }),
1129
-
1130
- /***/ 33183:
1131
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1132
-
1133
- "use strict";
1134
-
1135
- // EXPORTS
1136
- __webpack_require__.d(__webpack_exports__, {
1137
- "m": () => (/* reexport */ ProductDetails_ProductDetailsSettings)
1138
- });
1139
-
1140
- // UNUSED EXPORTS: AddToCartLoadingSkeleton
1141
-
1142
- // EXTERNAL MODULE: ../sdk/dist/analytics/sendAnalyticsEvent.js
1143
- var sendAnalyticsEvent = __webpack_require__(71072);
1144
- // EXTERNAL MODULE: external "react"
1145
- var external_react_ = __webpack_require__(16689);
1146
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
1147
- var session = __webpack_require__(97295);
1148
- // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
1149
- var UIProvider = __webpack_require__(16652);
1150
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
1151
- var cart = __webpack_require__(46073);
1152
- ;// CONCATENATED MODULE: ./src/sdk/cart/useBuyButton.ts
1153
-
1154
-
1155
-
1156
-
1157
-
1158
- const useBuyButton = item => {
1159
- const {
1160
- openCart
1161
- } = (0,UIProvider/* useUI */.l)();
1162
- const {
1163
- currency: {
1164
- code
1165
- }
1166
- } = (0,session/* useSession */.kP)();
1167
- const onClick = (0,external_react_.useCallback)(e => {
1168
- e.preventDefault();
1169
-
1170
- if (!item) {
1171
- return;
1172
- }
1173
-
1174
- (0,sendAnalyticsEvent/* sendAnalyticsEvent */._)({
1175
- name: 'add_to_cart',
1176
- params: {
1177
- currency: code,
1178
- // TODO: In the future, we can explore more robust ways of
1179
- // calculating the value (gift items, discounts, etc.).
1180
- value: item.price * item.quantity,
1181
- items: [{
1182
- item_id: item.itemOffered.isVariantOf.productGroupID,
1183
- item_name: item.itemOffered.isVariantOf.name,
1184
- item_brand: item.itemOffered.brand.name,
1185
- item_variant: item.itemOffered.sku,
1186
- quantity: item.quantity,
1187
- price: item.price,
1188
- discount: item.listPrice - item.price,
1189
- currency: code,
1190
- item_variant_name: item.itemOffered.name,
1191
- product_reference_id: item.itemOffered.gtin
1192
- }]
1193
- }
1194
- });
1195
- cart/* cartStore.addItem */.i8.addItem(item);
1196
- openCart();
1197
- }, [code, item, openCart]);
1198
- return {
1199
- onClick,
1200
- 'data-testid': 'buy-button',
1201
- 'data-sku': item?.itemOffered.sku,
1202
- 'data-seller': item?.seller.identifier
1203
- };
874
+ errorMessage: errorMessage,
875
+ postalCode: postalCode,
876
+ inputLabel: inputLabel,
877
+ title: title,
878
+ idkPostalCodeLinkProps: idkPostalCodeLinkProps
879
+ }, otherProps));
880
+ }
881
+ // EXTERNAL MODULE: ./src/utils/overrides.ts
882
+ var overrides = __webpack_require__(9104);
883
+ ;// CONCATENATED MODULE: ./src/customizations/components/overrides/ProductDetails.tsx
884
+ // This is an example of how it can be used on the starter.
885
+ const SECTION = 'ProductDetails';
886
+ const override = {
887
+ section: SECTION
1204
888
  };
1205
- // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
1206
- var useFormattedPrice = __webpack_require__(95346);
1207
- // EXTERNAL MODULE: ./node_modules/next/link.js
1208
- var next_link = __webpack_require__(41664);
1209
- var link_default = /*#__PURE__*/__webpack_require__.n(next_link);
1210
- // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 2 modules
1211
- var Image = __webpack_require__(79266);
1212
- // EXTERNAL MODULE: ./src/components/sections/ProductDetails/Overrides.tsx + 19 modules
1213
- var Overrides = __webpack_require__(44467);
1214
- // EXTERNAL MODULE: external "react/jsx-runtime"
1215
- var jsx_runtime_ = __webpack_require__(20997);
889
+
890
+ ;// CONCATENATED MODULE: ./src/components/sections/ProductDetails/Overrides.tsx
891
+
892
+
893
+
894
+
895
+
896
+
897
+ const {
898
+ ProductTitle: Overrides_ProductTitle,
899
+ DiscountBadge: Overrides_DiscountBadge,
900
+ BuyButton: Overrides_BuyButton,
901
+ Icon: Overrides_Icon,
902
+ Price: Overrides_Price,
903
+ QuantitySelector: Overrides_QuantitySelector,
904
+ SkuSelector: Overrides_SkuSelector,
905
+ ShippingSimulation: Overrides_ShippingSimulation,
906
+ ImageGallery: Overrides_ImageGallery,
907
+ ImageZoom: Overrides_ImageZoom,
908
+ __experimentalImageGalleryImage,
909
+ __experimentalImageGallery,
910
+ __experimentalShippingSimulation
911
+ } = (0,overrides/* getSectionOverrides */.f)({
912
+ ProductTitle: ProductTitle_ProductTitle,
913
+ DiscountBadge: DiscountBadge/* default */.Z,
914
+ BuyButton: BuyButton_BuyButton,
915
+ Icon: Icon/* default */.Z,
916
+ Price: Price/* default */.Z,
917
+ QuantitySelector: QuantitySelector/* default */.Z,
918
+ SkuSelector: SkuSelector_SkuSelector,
919
+ ShippingSimulation: ShippingSimulation_ShippingSimulation,
920
+ ImageGallery: ImageGallery_ImageGallery,
921
+ ImageZoom: ImageGallery_ImageZoom,
922
+ __experimentalImageGalleryImage: Image/* Image */.E,
923
+ __experimentalImageGallery: ui_ImageGallery_ImageGallery,
924
+ __experimentalShippingSimulation: ShippingSimulation_ShippingSimulation_ShippingSimulation
925
+ }, override);
926
+
1216
927
  ;// CONCATENATED MODULE: ./src/components/ui/SkuSelector/Selectors.tsx
1217
- const _excluded = ["src", "alt"],
928
+ const Selectors_excluded = ["src", "alt"],
1218
929
  _excluded2 = ["slugsMap", "activeVariations", "availableVariations"];
1219
930
 
1220
- 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; }
931
+ function Selectors_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; }
1221
932
 
1222
- 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; }
933
+ function Selectors_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? Selectors_ownKeys(Object(source), !0).forEach(function (key) { Selectors_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : Selectors_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1223
934
 
1224
- 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; }
935
+ function Selectors_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; }
1225
936
 
1226
- 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; }
937
+ function Selectors_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Selectors_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; }
1227
938
 
1228
- 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; }
939
+ function Selectors_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; }
1229
940
 
1230
941
 
1231
942
 
@@ -1233,14 +944,14 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
1233
944
 
1234
945
 
1235
946
 
1236
- const ImageComponent = _ref => {
947
+ const Selectors_ImageComponent = _ref => {
1237
948
  let {
1238
949
  src,
1239
950
  alt
1240
951
  } = _ref,
1241
- otherProps = _objectWithoutProperties(_ref, _excluded);
952
+ otherProps = Selectors_objectWithoutProperties(_ref, Selectors_excluded);
1242
953
 
1243
- return /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, _objectSpread({
954
+ return /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, Selectors_objectSpread({
1244
955
  src: src,
1245
956
  alt: alt,
1246
957
  width: 34,
@@ -1254,20 +965,20 @@ function Selectors(_ref2) {
1254
965
  activeVariations,
1255
966
  availableVariations
1256
967
  } = _ref2,
1257
- otherProps = _objectWithoutProperties(_ref2, _excluded2);
968
+ otherProps = Selectors_objectWithoutProperties(_ref2, _excluded2);
1258
969
 
1259
- return /*#__PURE__*/jsx_runtime_.jsx("section", _objectSpread(_objectSpread({}, otherProps), {}, {
1260
- children: availableVariations && Object.keys(availableVariations).map(skuVariant => /*#__PURE__*/(0,external_react_.createElement)(Overrides/* SkuSelector.Component */.Ol.Component, _objectSpread(_objectSpread({
1261
- ImageComponent: ImageComponent
1262
- }, Overrides/* SkuSelector.props */.Ol.props), {}, {
970
+ return /*#__PURE__*/jsx_runtime_.jsx("section", Selectors_objectSpread(Selectors_objectSpread({}, otherProps), {}, {
971
+ children: availableVariations && Object.keys(availableVariations).map(skuVariant => /*#__PURE__*/(0,external_react_.createElement)(Overrides_SkuSelector.Component, Selectors_objectSpread(Selectors_objectSpread({
972
+ ImageComponent: Selectors_ImageComponent
973
+ }, Overrides_SkuSelector.props), {}, {
1263
974
  key: skuVariant,
1264
975
  skuPropertyName: skuVariant,
1265
976
  availableVariations: availableVariations,
1266
977
  activeVariations: activeVariations,
1267
978
  slugsMap: slugsMap,
1268
- linkProps: _objectSpread(_objectSpread({}, Overrides/* SkuSelector.props.linkProps */.Ol.props.linkProps ?? {}), {}, {
1269
- as: Overrides/* SkuSelector.props.linkProps */.Ol.props.linkProps?.as ?? (link_default()),
1270
- legacyBehavior: Overrides/* SkuSelector.props.linkProps */.Ol.props.linkProps?.legacyBehavior ?? false
979
+ linkProps: Selectors_objectSpread(Selectors_objectSpread({}, Overrides_SkuSelector.props.linkProps ?? {}), {}, {
980
+ as: Overrides_SkuSelector.props.linkProps?.as ?? (link_default()),
981
+ legacyBehavior: Overrides_SkuSelector.props.linkProps?.legacyBehavior ?? false
1271
982
  })
1272
983
  })))
1273
984
  }));
@@ -1377,8 +1088,8 @@ function ProductDetailsSettings({
1377
1088
  quantity,
1378
1089
  setQuantity,
1379
1090
  buyButtonIcon: {
1380
- icon: buyButtonIconName = Overrides/* Icon.props.name */.JO.props.name,
1381
- alt: buyButtonIconAlt = Overrides/* Icon.props.aria-label */.JO.props["aria-label"]
1091
+ icon: buyButtonIconName = Overrides_Icon.props.name,
1092
+ alt: buyButtonIconAlt = Overrides_Icon.props["aria-label"]
1382
1093
  }
1383
1094
  }) {
1384
1095
  const {
@@ -1425,32 +1136,32 @@ function ProductDetailsSettings({
1425
1136
  "data-fs-product-details-values": true,
1426
1137
  children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
1427
1138
  "data-fs-product-details-prices": true,
1428
- children: [/*#__PURE__*/jsx_runtime_.jsx(Overrides/* Price.Component */.tA.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
1139
+ children: [/*#__PURE__*/jsx_runtime_.jsx(Overrides_Price.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
1429
1140
  formatter: useFormattedPrice/* useFormattedPrice */.P,
1430
1141
  testId: "list-price",
1431
1142
  variant: "listing",
1432
1143
  SRText: "Original price:"
1433
- }, Overrides/* Price.props */.tA.props), {}, {
1144
+ }, Overrides_Price.props), {}, {
1434
1145
  // Dynamic props shouldn't be overridable
1435
1146
  // This decision can be reviewed later if needed
1436
1147
  value: listPrice,
1437
1148
  "data-value": listPrice
1438
- })), /*#__PURE__*/jsx_runtime_.jsx(Overrides/* Price.Component */.tA.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
1149
+ })), /*#__PURE__*/jsx_runtime_.jsx(Overrides_Price.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
1439
1150
  formatter: useFormattedPrice/* useFormattedPrice */.P,
1440
1151
  testId: "price",
1441
1152
  variant: "spot",
1442
1153
  className: "text__lead",
1443
1154
  SRText: "Sale Price:"
1444
- }, Overrides/* Price.props */.tA.props), {}, {
1155
+ }, Overrides_Price.props), {}, {
1445
1156
  // Dynamic props shouldn't be overridable
1446
1157
  // This decision can be reviewed later if needed
1447
1158
  value: lowPrice,
1448
1159
  "data-value": lowPrice
1449
1160
  }))]
1450
- }), /*#__PURE__*/jsx_runtime_.jsx(Overrides/* QuantitySelector.Component */.cw.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
1161
+ }), /*#__PURE__*/jsx_runtime_.jsx(Overrides_QuantitySelector.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
1451
1162
  min: 1,
1452
1163
  max: 10
1453
- }, Overrides/* QuantitySelector.props */.cw.props), {}, {
1164
+ }, Overrides_QuantitySelector.props), {}, {
1454
1165
  // Dynamic props shouldn't be overridable
1455
1166
  // This decision can be reviewed later if needed
1456
1167
  onChange: setQuantity
@@ -1465,8 +1176,8 @@ function ProductDetailsSettings({
1465
1176
  non-composited animation violation due to the button transitioning its
1466
1177
  background color when changing from its initial disabled to active state.
1467
1178
  See full explanation on commit https://git.io/JyXV5. */
1468
- 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), {}, {
1469
- icon: /*#__PURE__*/jsx_runtime_.jsx(Overrides/* Icon.Component */.JO.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({}, Overrides/* Icon.props */.JO.props), {}, {
1179
+ isValidating ? /*#__PURE__*/jsx_runtime_.jsx(AddToCartLoadingSkeleton, {}) : /*#__PURE__*/jsx_runtime_.jsx(Overrides_BuyButton.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({}, Overrides_BuyButton.props), {}, {
1180
+ icon: /*#__PURE__*/jsx_runtime_.jsx(Overrides_Icon.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({}, Overrides_Icon.props), {}, {
1470
1181
  "aria-label": buyButtonIconAlt,
1471
1182
  name: buyButtonIconName
1472
1183
  })),
@@ -1481,10 +1192,206 @@ function ProductDetailsSettings({
1481
1192
  ;// CONCATENATED MODULE: ./src/components/ui/ProductDetails/index.ts
1482
1193
 
1483
1194
 
1195
+ // EXTERNAL MODULE: ./src/components/sections/ProductDetails/section.module.scss
1196
+ var section_module = __webpack_require__(9034);
1197
+ var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
1198
+ // EXTERNAL MODULE: ./src/sdk/overrides/PageProvider.tsx
1199
+ var PageProvider = __webpack_require__(5953);
1200
+ ;// CONCATENATED MODULE: ./src/components/sections/ProductDetails/ProductDetails.tsx
1201
+ function ProductDetails_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; }
1202
+
1203
+ function ProductDetails_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ProductDetails_ownKeys(Object(source), !0).forEach(function (key) { ProductDetails_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ProductDetails_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1204
+
1205
+ function ProductDetails_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; }
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+ function ProductDetails({
1221
+ productTitle: {
1222
+ refNumber: showRefNumber,
1223
+ discountBadge: {
1224
+ showDiscountBadge,
1225
+ size: discountBadgeSize = Overrides_DiscountBadge.props.size
1226
+ }
1227
+ },
1228
+ buyButton: {
1229
+ icon: buyButtonIcon,
1230
+ title: buyButtonTitle
1231
+ },
1232
+ shippingSimulator: {
1233
+ title: shippingSimulatorTitle = __experimentalShippingSimulation.props.title,
1234
+ inputLabel: shippingSimulatorInputLabel = __experimentalShippingSimulation.props.inputLabel,
1235
+ shippingOptionsTableTitle: shippingSimulatorOptionsTableTitle = __experimentalShippingSimulation.props.optionsLabel,
1236
+ link: {
1237
+ to: shippingSimulatorLinkUrl = __experimentalShippingSimulation.props.idkPostalCodeLinkProps?.href,
1238
+ text: shippingSimulatorLinkText = __experimentalShippingSimulation.props.idkPostalCodeLinkProps?.children
1239
+ }
1240
+ },
1241
+ productDescription: {
1242
+ title: productDescriptionDetailsTitle,
1243
+ initiallyExpanded: productDescriptionInitiallyExpanded,
1244
+ displayDescription: shouldDisplayProductDescription
1245
+ }
1246
+ }) {
1247
+ const {
1248
+ currency
1249
+ } = (0,session/* useSession */.kP)();
1250
+ const {
1251
+ 0: quantity,
1252
+ 1: setQuantity
1253
+ } = (0,external_react_.useState)(1);
1254
+ const context = (0,PageProvider/* usePDP */.al)();
1255
+ const {
1256
+ product,
1257
+ isValidating
1258
+ } = context?.data;
1259
+
1260
+ if (!product) {
1261
+ throw new Error('NotFound');
1262
+ }
1263
+
1264
+ const {
1265
+ id,
1266
+ sku,
1267
+ gtin,
1268
+ name: variantName,
1269
+ brand,
1270
+ isVariantOf,
1271
+ description,
1272
+ isVariantOf: {
1273
+ name,
1274
+ productGroupID: productId
1275
+ },
1276
+ image: productImages,
1277
+ offers: {
1278
+ offers: [{
1279
+ availability,
1280
+ price,
1281
+ listPrice,
1282
+ seller
1283
+ }],
1284
+ lowPrice
1285
+ }
1286
+ } = product;
1287
+ (0,external_react_.useEffect)(() => {
1288
+ (0,sendAnalyticsEvent/* sendAnalyticsEvent */._)({
1289
+ name: 'view_item',
1290
+ params: {
1291
+ currency: currency.code,
1292
+ value: price,
1293
+ items: [{
1294
+ item_id: isVariantOf.productGroupID,
1295
+ item_name: isVariantOf.name,
1296
+ item_brand: brand.name,
1297
+ item_variant: sku,
1298
+ price,
1299
+ discount: listPrice - price,
1300
+ currency: currency.code,
1301
+ item_variant_name: variantName,
1302
+ product_reference_id: gtin
1303
+ }]
1304
+ }
1305
+ });
1306
+ }, [isVariantOf.productGroupID, isVariantOf.name, brand.name, sku, price, listPrice, currency.code, variantName, gtin]);
1307
+ const outOfStock = availability == 'https://schema.org/OutOfStock';
1308
+ return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
1309
+ className: `${(section_module_default()).section} section-product-details`,
1310
+ children: /*#__PURE__*/jsx_runtime_.jsx("section", {
1311
+ "data-fs-product-details": true,
1312
+ children: /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
1313
+ "data-fs-product-details-body": true,
1314
+ "data-fs-content": "product-details",
1315
+ children: [/*#__PURE__*/jsx_runtime_.jsx("header", {
1316
+ "data-fs-product-details-title": true,
1317
+ "data-fs-product-details-section": true,
1318
+ children: /*#__PURE__*/jsx_runtime_.jsx(Overrides_ProductTitle.Component, ProductDetails_objectSpread(ProductDetails_objectSpread({
1319
+ // TODO: We should review this prop. There's now way to override the title and use the dynamic name value.
1320
+ // Maybe passing a ProductTitleHeader component as a prop would be better, as it would be overridable.
1321
+ // 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.
1322
+ title: /*#__PURE__*/jsx_runtime_.jsx("h1", {
1323
+ children: name
1324
+ })
1325
+ }, Overrides_ProductTitle.props), {}, {
1326
+ label: showDiscountBadge && /*#__PURE__*/jsx_runtime_.jsx(Overrides_DiscountBadge.Component, ProductDetails_objectSpread(ProductDetails_objectSpread({}, Overrides_DiscountBadge.props), {}, {
1327
+ size: discountBadgeSize // Dynamic props shouldn't be overridable
1328
+ // This decision can be reviewed later if needed
1329
+ ,
1330
+ listPrice: listPrice,
1331
+ spotPrice: lowPrice
1332
+ })),
1333
+ refNumber: showRefNumber && productId
1334
+ }))
1335
+ }), /*#__PURE__*/jsx_runtime_.jsx(__experimentalImageGallery.Component, ProductDetails_objectSpread(ProductDetails_objectSpread({
1336
+ "data-fs-product-details-gallery": true
1337
+ }, __experimentalImageGallery.props), {}, {
1338
+ images: productImages
1339
+ })), /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
1340
+ "data-fs-product-details-info": true,
1341
+ children: [/*#__PURE__*/jsx_runtime_.jsx("section", {
1342
+ "data-fs-product-details-settings": true,
1343
+ "data-fs-product-details-section": true,
1344
+ children: !outOfStock ? /*#__PURE__*/jsx_runtime_.jsx(ProductDetails_ProductDetailsSettings, {
1345
+ product: product,
1346
+ isValidating: isValidating,
1347
+ buyButtonTitle: buyButtonTitle,
1348
+ quantity: quantity,
1349
+ setQuantity: setQuantity,
1350
+ buyButtonIcon: buyButtonIcon
1351
+ }) :
1352
+ /*#__PURE__*/
1353
+ // TODO: Adds <OutOfStock /> when component is ready to use
1354
+ jsx_runtime_.jsx("p", {
1355
+ children: "Not Available"
1356
+ })
1357
+ }), !outOfStock && /*#__PURE__*/jsx_runtime_.jsx(__experimentalShippingSimulation.Component, ProductDetails_objectSpread(ProductDetails_objectSpread({
1358
+ "data-fs-product-details-section": true,
1359
+ "data-fs-product-details-shipping": true,
1360
+ formatter: useFormattedPrice/* useFormattedPrice */.P
1361
+ }, __experimentalShippingSimulation.props), {}, {
1362
+ idkPostalCodeLinkProps: ProductDetails_objectSpread(ProductDetails_objectSpread({}, __experimentalShippingSimulation.props.idkPostalCodeLinkProps), {}, {
1363
+ href: shippingSimulatorLinkUrl,
1364
+ children: shippingSimulatorLinkText
1365
+ }),
1366
+ productShippingInfo: {
1367
+ id,
1368
+ quantity,
1369
+ seller: seller.identifier
1370
+ },
1371
+ title: shippingSimulatorTitle,
1372
+ inputLabel: shippingSimulatorInputLabel,
1373
+ optionsLabel: shippingSimulatorOptionsTableTitle
1374
+ }))]
1375
+ }), shouldDisplayProductDescription && /*#__PURE__*/jsx_runtime_.jsx(ProductDescription_ProductDescription, {
1376
+ initiallyExpanded: productDescriptionInitiallyExpanded,
1377
+ descriptionData: [{
1378
+ title: productDescriptionDetailsTitle,
1379
+ content: description
1380
+ }]
1381
+ })]
1382
+ })
1383
+ })
1384
+ });
1385
+ }
1386
+
1387
+ const fragment = "unknown";
1388
+ /* harmony default export */ const ProductDetails_ProductDetails = (ProductDetails);
1389
+ ;// CONCATENATED MODULE: ./src/components/sections/ProductDetails/index.ts
1390
+
1484
1391
 
1485
1392
  /***/ }),
1486
1393
 
1487
- /***/ 75779:
1394
+ /***/ 5779:
1488
1395
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1489
1396
 
1490
1397
  "use strict";
@@ -1495,26 +1402,30 @@ __webpack_require__.r(__webpack_exports__);
1495
1402
  /* harmony export */ "getStaticPaths": () => (/* binding */ getStaticPaths),
1496
1403
  /* harmony export */ "getStaticProps": () => (/* binding */ getStaticProps)
1497
1404
  /* harmony export */ });
1498
- /* harmony import */ var _faststore_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74826);
1499
- /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16641);
1405
+ /* harmony import */ var _faststore_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4826);
1406
+ /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6641);
1500
1407
  /* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_1__);
1501
- /* harmony import */ var src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82224);
1502
- /* harmony import */ var src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72951);
1503
- /* harmony import */ var src_components_sections_Breadcrumb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(22753);
1504
- /* harmony import */ var src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97990);
1505
- /* harmony import */ var src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(93220);
1506
- /* harmony import */ var src_customizations_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20859);
1507
- /* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(97295);
1508
- /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(82541);
1509
- /* harmony import */ var src_server__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(10350);
1510
- /* harmony import */ var src_server_cms__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(42430);
1511
- /* harmony import */ var src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(4074);
1512
- /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(97183);
1513
- /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_faststore_config__WEBPACK_IMPORTED_MODULE_13__);
1514
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(20997);
1515
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__);
1516
- 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__]);
1517
- ([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__);
1408
+ /* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6330);
1409
+ /* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_2__);
1410
+ /* harmony import */ var src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2224);
1411
+ /* harmony import */ var src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2951);
1412
+ /* harmony import */ var src_components_sections_Breadcrumb__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2753);
1413
+ /* harmony import */ var src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7990);
1414
+ /* harmony import */ var src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8988);
1415
+ /* harmony import */ var src_customizations_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(859);
1416
+ /* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7295);
1417
+ /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2541);
1418
+ /* harmony import */ var src_server__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9685);
1419
+ /* harmony import */ var src_server_cms__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2430);
1420
+ /* harmony import */ var src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(4074);
1421
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(7183);
1422
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_faststore_config__WEBPACK_IMPORTED_MODULE_14__);
1423
+ /* harmony import */ var src_sdk_product_useProductQuery__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(7853);
1424
+ /* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(5953);
1425
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(997);
1426
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__);
1427
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_3__, src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_4__, src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_6__, src_server__WEBPACK_IMPORTED_MODULE_11__, src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_13__, src_sdk_product_useProductQuery__WEBPACK_IMPORTED_MODULE_15__]);
1428
+ ([src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_3__, src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_4__, src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_6__, src_server__WEBPACK_IMPORTED_MODULE_11__, src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_13__, src_sdk_product_useProductQuery__WEBPACK_IMPORTED_MODULE_15__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1518
1429
  const _excluded = ["listPrice"];
1519
1430
 
1520
1431
  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; }
@@ -1541,6 +1452,9 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
1541
1452
 
1542
1453
 
1543
1454
 
1455
+
1456
+
1457
+
1544
1458
  /**
1545
1459
  * Sections: Components imported from each store's custom components and '../components/sections' only.
1546
1460
  * Do not import or render components from any other folder in here.
@@ -1550,24 +1464,45 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
1550
1464
 
1551
1465
 
1552
1466
  const COMPONENTS = _objectSpread({
1553
- Breadcrumb: src_components_sections_Breadcrumb__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z,
1554
- ProductDetails: src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z,
1555
- CrossSellingShelf: src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z,
1556
- BannerNewsletter: src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z
1557
- }, src_customizations_components__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z);
1467
+ Breadcrumb: src_components_sections_Breadcrumb__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z,
1468
+ ProductDetails: src_components_sections_ProductDetails__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z,
1469
+ CrossSellingShelf: src_components_sections_CrossSellingShelf__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z,
1470
+ BannerNewsletter: src_components_sections_BannerNewsletter_BannerNewsletter__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z
1471
+ }, src_customizations_components__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z);
1472
+
1473
+ // Array merging strategy from deepmerge that makes client arrays overwrite server array
1474
+ // https://www.npmjs.com/package/deepmerge
1475
+ const overwriteMerge = (_, sourceArray) => sourceArray;
1558
1476
 
1559
1477
  function Page({
1560
- product,
1478
+ data: server,
1561
1479
  sections,
1562
1480
  globalSections,
1563
1481
  offers,
1564
1482
  meta
1565
1483
  }) {
1484
+ const {
1485
+ product
1486
+ } = server;
1566
1487
  const {
1567
1488
  currency
1568
- } = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_8__/* .useSession */ .kP)();
1569
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsxs)(src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP, _objectSpread(_objectSpread({}, globalSections), {}, {
1570
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.NextSeo, {
1489
+ } = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_9__/* .useSession */ .kP)(); // Stale while revalidate the product for fetching the new price etc
1490
+
1491
+ const {
1492
+ data: client,
1493
+ isValidating
1494
+ } = (0,src_sdk_product_useProductQuery__WEBPACK_IMPORTED_MODULE_15__/* .useProductQuery */ .F)(product.id, {
1495
+ product: product
1496
+ });
1497
+ const context = {
1498
+ data: _objectSpread(_objectSpread({}, deepmerge__WEBPACK_IMPORTED_MODULE_2___default()(server, client, {
1499
+ arrayMerge: overwriteMerge
1500
+ })), {}, {
1501
+ isValidating
1502
+ })
1503
+ };
1504
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsxs)(src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, _objectSpread(_objectSpread({}, globalSections), {}, {
1505
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.NextSeo, {
1571
1506
  title: meta.title,
1572
1507
  description: meta.description,
1573
1508
  canonical: meta.canonical,
@@ -1588,9 +1523,9 @@ function Page({
1588
1523
  property: 'product:price:currency',
1589
1524
  content: currency.code
1590
1525
  }]
1591
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.BreadcrumbJsonLd, {
1526
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.BreadcrumbJsonLd, {
1592
1527
  itemListElements: product.breadcrumbList.itemListElement
1593
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.ProductJsonLd, {
1528
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_1__.ProductJsonLd, {
1594
1529
  productName: product.name,
1595
1530
  description: product.description,
1596
1531
  brand: product.brand.name,
@@ -1600,10 +1535,12 @@ function Page({
1600
1535
  images: product.image.map(img => img.url) // Somehow, Google does not understand this valid Schema.org schema, so we need to do conversions
1601
1536
  ,
1602
1537
  offers: offers
1603
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_14__.jsx(src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1604
- context: product,
1605
- sections: sections,
1606
- components: COMPONENTS
1538
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx(src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .ZP, {
1539
+ context: context,
1540
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx(src_components_cms_RenderSections__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1541
+ sections: sections,
1542
+ components: COMPONENTS
1543
+ })
1607
1544
  })]
1608
1545
  }));
1609
1546
  }
@@ -1614,14 +1551,17 @@ const getStaticProps = async ({
1614
1551
  previewData
1615
1552
  }) => {
1616
1553
  const slug = params?.slug ?? '';
1617
- const [searchResult, cmsPage, globalSections] = await Promise.all([(0,src_server__WEBPACK_IMPORTED_MODULE_10__/* .execute */ .h)({
1554
+ const [searchResult, cmsPage, globalSections] = await Promise.all([(0,src_server__WEBPACK_IMPORTED_MODULE_11__/* .execute */ .h)({
1618
1555
  variables: {
1619
- slug
1556
+ locator: [{
1557
+ key: 'slug',
1558
+ value: slug
1559
+ }]
1620
1560
  },
1621
1561
  operationName: query
1622
- }), (0,src_server_cms__WEBPACK_IMPORTED_MODULE_11__/* .getPage */ .f)(_objectSpread(_objectSpread({}, previewData?.contentType === 'pdp' ? previewData : null), {}, {
1562
+ }), (0,src_server_cms__WEBPACK_IMPORTED_MODULE_12__/* .getPage */ .f)(_objectSpread(_objectSpread({}, previewData?.contentType === 'pdp' ? previewData : null), {}, {
1623
1563
  contentType: 'pdp'
1624
- })), (0,src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_12__/* .getGlobalSectionsData */ .Tc)(previewData)]);
1564
+ })), (0,src_components_cms_GlobalSections__WEBPACK_IMPORTED_MODULE_13__/* .getGlobalSectionsData */ .Tc)(previewData)]);
1625
1565
  const {
1626
1566
  data,
1627
1567
  errors = []
@@ -1641,9 +1581,9 @@ const getStaticProps = async ({
1641
1581
  const {
1642
1582
  seo
1643
1583
  } = data.product;
1644
- const title = seo.title || (_faststore_config__WEBPACK_IMPORTED_MODULE_13___default().seo.title);
1645
- const description = seo.description || (_faststore_config__WEBPACK_IMPORTED_MODULE_13___default().seo.description);
1646
- const canonical = `${(_faststore_config__WEBPACK_IMPORTED_MODULE_13___default().storeUrl)}${seo.canonical}`;
1584
+ const title = seo.title || (_faststore_config__WEBPACK_IMPORTED_MODULE_14___default().seo.title);
1585
+ const description = seo.description || (_faststore_config__WEBPACK_IMPORTED_MODULE_14___default().seo.description);
1586
+ const canonical = `${(_faststore_config__WEBPACK_IMPORTED_MODULE_14___default().storeUrl)}${seo.canonical}`;
1647
1587
  const meta = {
1648
1588
  title,
1649
1589
  description,
@@ -1667,7 +1607,9 @@ const getStaticProps = async ({
1667
1607
  });
1668
1608
 
1669
1609
  return {
1670
- props: _objectSpread(_objectSpread(_objectSpread({}, data), cmsPage), {}, {
1610
+ props: _objectSpread(_objectSpread({
1611
+ data
1612
+ }, cmsPage), {}, {
1671
1613
  meta,
1672
1614
  offers,
1673
1615
  globalSections
@@ -1681,38 +1623,38 @@ const getStaticPaths = async () => {
1681
1623
  };
1682
1624
  };
1683
1625
  Page.displayName = 'Page';
1684
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_9__/* .mark */ .B)(Page));
1626
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_10__/* .mark */ .B)(Page));
1685
1627
  __webpack_async_result__();
1686
1628
  } catch(e) { __webpack_async_result__(e); } });
1687
1629
 
1688
1630
  /***/ }),
1689
1631
 
1690
- /***/ 63874:
1632
+ /***/ 7853:
1691
1633
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1692
1634
 
1693
1635
  "use strict";
1694
1636
  __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1695
1637
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1696
- /* harmony export */ "i": () => (/* binding */ useProduct)
1638
+ /* harmony export */ "F": () => (/* binding */ useProductQuery)
1697
1639
  /* harmony export */ });
1698
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1640
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1699
1641
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1700
- /* harmony import */ var _graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77732);
1701
- /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97295);
1642
+ /* harmony import */ var _graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7732);
1643
+ /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7295);
1702
1644
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__]);
1703
1645
  _graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1704
1646
 
1705
1647
 
1706
1648
 
1707
- const query = "BrowserProductQuery";
1708
- const useProduct = (productID, fallbackData) => {
1649
+ const query = "ClientProductQuery";
1650
+ const useProductQuery = (productID, fallbackData) => {
1709
1651
  const {
1710
1652
  channel,
1711
1653
  locale
1712
1654
  } = (0,_session__WEBPACK_IMPORTED_MODULE_2__/* .useSession */ .kP)();
1713
1655
  const variables = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
1714
1656
  if (!channel) {
1715
- throw new Error(`useProduct: 'channel' from session is an empty string.`);
1657
+ throw new Error(`useProductQuery: 'channel' from session is an empty string.`);
1716
1658
  }
1717
1659
 
1718
1660
  return {
@@ -1749,7 +1691,7 @@ module.exports = {
1749
1691
 
1750
1692
  /***/ }),
1751
1693
 
1752
- /***/ 79034:
1694
+ /***/ 9034:
1753
1695
  /***/ ((module) => {
1754
1696
 
1755
1697
  // Exports
@@ -1760,7 +1702,15 @@ module.exports = {
1760
1702
 
1761
1703
  /***/ }),
1762
1704
 
1763
- /***/ 74691:
1705
+ /***/ 1718:
1706
+ /***/ ((module) => {
1707
+
1708
+ "use strict";
1709
+ module.exports = require("@graphql-tools/utils");
1710
+
1711
+ /***/ }),
1712
+
1713
+ /***/ 4691:
1764
1714
  /***/ ((module) => {
1765
1715
 
1766
1716
  "use strict";
@@ -1768,7 +1718,7 @@ module.exports = require("@opentelemetry/api");
1768
1718
 
1769
1719
  /***/ }),
1770
1720
 
1771
- /***/ 38973:
1721
+ /***/ 8973:
1772
1722
  /***/ ((module) => {
1773
1723
 
1774
1724
  "use strict";
@@ -1776,7 +1726,7 @@ module.exports = require("@opentelemetry/api-logs");
1776
1726
 
1777
1727
  /***/ }),
1778
1728
 
1779
- /***/ 16969:
1729
+ /***/ 6969:
1780
1730
  /***/ ((module) => {
1781
1731
 
1782
1732
  "use strict";
@@ -1784,7 +1734,7 @@ module.exports = require("@opentelemetry/exporter-logs-otlp-grpc");
1784
1734
 
1785
1735
  /***/ }),
1786
1736
 
1787
- /***/ 15196:
1737
+ /***/ 5196:
1788
1738
  /***/ ((module) => {
1789
1739
 
1790
1740
  "use strict";
@@ -1792,7 +1742,7 @@ module.exports = require("@opentelemetry/exporter-trace-otlp-grpc");
1792
1742
 
1793
1743
  /***/ }),
1794
1744
 
1795
- /***/ 44161:
1745
+ /***/ 4161:
1796
1746
  /***/ ((module) => {
1797
1747
 
1798
1748
  "use strict";
@@ -1800,7 +1750,7 @@ module.exports = require("@opentelemetry/resources");
1800
1750
 
1801
1751
  /***/ }),
1802
1752
 
1803
- /***/ 42793:
1753
+ /***/ 2793:
1804
1754
  /***/ ((module) => {
1805
1755
 
1806
1756
  "use strict";
@@ -1816,7 +1766,7 @@ module.exports = require("@opentelemetry/sdk-trace-base");
1816
1766
 
1817
1767
  /***/ }),
1818
1768
 
1819
- /***/ 16676:
1769
+ /***/ 6676:
1820
1770
  /***/ ((module) => {
1821
1771
 
1822
1772
  "use strict";
@@ -1824,7 +1774,15 @@ module.exports = require("@vtex/client-cms");
1824
1774
 
1825
1775
  /***/ }),
1826
1776
 
1827
- /***/ 26911:
1777
+ /***/ 6330:
1778
+ /***/ ((module) => {
1779
+
1780
+ "use strict";
1781
+ module.exports = require("deepmerge");
1782
+
1783
+ /***/ }),
1784
+
1785
+ /***/ 6911:
1828
1786
  /***/ ((module) => {
1829
1787
 
1830
1788
  "use strict";
@@ -1840,7 +1798,7 @@ module.exports = require("draft-js-export-html");
1840
1798
 
1841
1799
  /***/ }),
1842
1800
 
1843
- /***/ 12404:
1801
+ /***/ 2404:
1844
1802
  /***/ ((module) => {
1845
1803
 
1846
1804
  "use strict";
@@ -1848,7 +1806,7 @@ module.exports = require("fast-deep-equal");
1848
1806
 
1849
1807
  /***/ }),
1850
1808
 
1851
- /***/ 57343:
1809
+ /***/ 7343:
1852
1810
  /***/ ((module) => {
1853
1811
 
1854
1812
  "use strict";
@@ -1856,7 +1814,7 @@ module.exports = require("graphql");
1856
1814
 
1857
1815
  /***/ }),
1858
1816
 
1859
- /***/ 36548:
1817
+ /***/ 6548:
1860
1818
  /***/ ((module) => {
1861
1819
 
1862
1820
  "use strict";
@@ -1864,7 +1822,7 @@ module.exports = require("graphql/language");
1864
1822
 
1865
1823
  /***/ }),
1866
1824
 
1867
- /***/ 83430:
1825
+ /***/ 3430:
1868
1826
  /***/ ((module) => {
1869
1827
 
1870
1828
  "use strict";
@@ -1872,7 +1830,7 @@ module.exports = require("idb-keyval");
1872
1830
 
1873
1831
  /***/ }),
1874
1832
 
1875
- /***/ 47881:
1833
+ /***/ 7881:
1876
1834
  /***/ ((module) => {
1877
1835
 
1878
1836
  "use strict";
@@ -1880,7 +1838,7 @@ module.exports = require("isomorphic-unfetch");
1880
1838
 
1881
1839
  /***/ }),
1882
1840
 
1883
- /***/ 16641:
1841
+ /***/ 6641:
1884
1842
  /***/ ((module) => {
1885
1843
 
1886
1844
  "use strict";
@@ -1896,7 +1854,7 @@ module.exports = require("next/dist/shared/lib/app-router-context.js");
1896
1854
 
1897
1855
  /***/ }),
1898
1856
 
1899
- /***/ 92796:
1857
+ /***/ 2796:
1900
1858
  /***/ ((module) => {
1901
1859
 
1902
1860
  "use strict";
@@ -1904,7 +1862,7 @@ module.exports = require("next/dist/shared/lib/head-manager-context.js");
1904
1862
 
1905
1863
  /***/ }),
1906
1864
 
1907
- /***/ 94957:
1865
+ /***/ 4957:
1908
1866
  /***/ ((module) => {
1909
1867
 
1910
1868
  "use strict";
@@ -1920,7 +1878,7 @@ module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");
1920
1878
 
1921
1879
  /***/ }),
1922
1880
 
1923
- /***/ 34014:
1881
+ /***/ 4014:
1924
1882
  /***/ ((module) => {
1925
1883
 
1926
1884
  "use strict";
@@ -1928,7 +1886,7 @@ module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");
1928
1886
 
1929
1887
  /***/ }),
1930
1888
 
1931
- /***/ 64486:
1889
+ /***/ 4486:
1932
1890
  /***/ ((module) => {
1933
1891
 
1934
1892
  "use strict";
@@ -1936,7 +1894,7 @@ module.exports = require("next/dist/shared/lib/image-blur-svg.js");
1936
1894
 
1937
1895
  /***/ }),
1938
1896
 
1939
- /***/ 50744:
1897
+ /***/ 744:
1940
1898
  /***/ ((module) => {
1941
1899
 
1942
1900
  "use strict";
@@ -1944,7 +1902,7 @@ module.exports = require("next/dist/shared/lib/image-config-context.js");
1944
1902
 
1945
1903
  /***/ }),
1946
1904
 
1947
- /***/ 35843:
1905
+ /***/ 5843:
1948
1906
  /***/ ((module) => {
1949
1907
 
1950
1908
  "use strict";
@@ -1952,7 +1910,7 @@ module.exports = require("next/dist/shared/lib/image-config.js");
1952
1910
 
1953
1911
  /***/ }),
1954
1912
 
1955
- /***/ 78524:
1913
+ /***/ 8524:
1956
1914
  /***/ ((module) => {
1957
1915
 
1958
1916
  "use strict";
@@ -1960,7 +1918,7 @@ module.exports = require("next/dist/shared/lib/is-plain-object.js");
1960
1918
 
1961
1919
  /***/ }),
1962
1920
 
1963
- /***/ 78020:
1921
+ /***/ 8020:
1964
1922
  /***/ ((module) => {
1965
1923
 
1966
1924
  "use strict";
@@ -1968,7 +1926,7 @@ module.exports = require("next/dist/shared/lib/mitt.js");
1968
1926
 
1969
1927
  /***/ }),
1970
1928
 
1971
- /***/ 64406:
1929
+ /***/ 4406:
1972
1930
  /***/ ((module) => {
1973
1931
 
1974
1932
  "use strict";
@@ -1976,7 +1934,7 @@ module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.j
1976
1934
 
1977
1935
  /***/ }),
1978
1936
 
1979
- /***/ 24964:
1937
+ /***/ 4964:
1980
1938
  /***/ ((module) => {
1981
1939
 
1982
1940
  "use strict";
@@ -1984,7 +1942,7 @@ module.exports = require("next/dist/shared/lib/router-context.js");
1984
1942
 
1985
1943
  /***/ }),
1986
1944
 
1987
- /***/ 93431:
1945
+ /***/ 3431:
1988
1946
  /***/ ((module) => {
1989
1947
 
1990
1948
  "use strict";
@@ -1992,7 +1950,7 @@ module.exports = require("next/dist/shared/lib/router/utils/add-locale.js");
1992
1950
 
1993
1951
  /***/ }),
1994
1952
 
1995
- /***/ 11751:
1953
+ /***/ 1751:
1996
1954
  /***/ ((module) => {
1997
1955
 
1998
1956
  "use strict";
@@ -2000,7 +1958,7 @@ module.exports = require("next/dist/shared/lib/router/utils/add-path-prefix.js")
2000
1958
 
2001
1959
  /***/ }),
2002
1960
 
2003
- /***/ 46220:
1961
+ /***/ 6220:
2004
1962
  /***/ ((module) => {
2005
1963
 
2006
1964
  "use strict";
@@ -2008,7 +1966,7 @@ module.exports = require("next/dist/shared/lib/router/utils/compare-states.js");
2008
1966
 
2009
1967
  /***/ }),
2010
1968
 
2011
- /***/ 10299:
1969
+ /***/ 299:
2012
1970
  /***/ ((module) => {
2013
1971
 
2014
1972
  "use strict";
@@ -2016,7 +1974,7 @@ module.exports = require("next/dist/shared/lib/router/utils/format-next-pathname
2016
1974
 
2017
1975
  /***/ }),
2018
1976
 
2019
- /***/ 23938:
1977
+ /***/ 3938:
2020
1978
  /***/ ((module) => {
2021
1979
 
2022
1980
  "use strict";
@@ -2024,7 +1982,7 @@ module.exports = require("next/dist/shared/lib/router/utils/format-url.js");
2024
1982
 
2025
1983
  /***/ }),
2026
1984
 
2027
- /***/ 29565:
1985
+ /***/ 9565:
2028
1986
  /***/ ((module) => {
2029
1987
 
2030
1988
  "use strict";
@@ -2032,7 +1990,7 @@ module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-
2032
1990
 
2033
1991
  /***/ }),
2034
1992
 
2035
- /***/ 35789:
1993
+ /***/ 5789:
2036
1994
  /***/ ((module) => {
2037
1995
 
2038
1996
  "use strict";
@@ -2056,7 +2014,7 @@ module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");
2056
2014
 
2057
2015
  /***/ }),
2058
2016
 
2059
- /***/ 28854:
2017
+ /***/ 8854:
2060
2018
  /***/ ((module) => {
2061
2019
 
2062
2020
  "use strict";
@@ -2064,7 +2022,7 @@ module.exports = require("next/dist/shared/lib/router/utils/parse-path.js");
2064
2022
 
2065
2023
  /***/ }),
2066
2024
 
2067
- /***/ 91292:
2025
+ /***/ 1292:
2068
2026
  /***/ ((module) => {
2069
2027
 
2070
2028
  "use strict";
@@ -2072,7 +2030,7 @@ module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.j
2072
2030
 
2073
2031
  /***/ }),
2074
2032
 
2075
- /***/ 34567:
2033
+ /***/ 4567:
2076
2034
  /***/ ((module) => {
2077
2035
 
2078
2036
  "use strict";
@@ -2080,7 +2038,7 @@ module.exports = require("next/dist/shared/lib/router/utils/path-has-prefix.js")
2080
2038
 
2081
2039
  /***/ }),
2082
2040
 
2083
- /***/ 80979:
2041
+ /***/ 979:
2084
2042
  /***/ ((module) => {
2085
2043
 
2086
2044
  "use strict";
@@ -2088,7 +2046,7 @@ module.exports = require("next/dist/shared/lib/router/utils/querystring.js");
2088
2046
 
2089
2047
  /***/ }),
2090
2048
 
2091
- /***/ 93297:
2049
+ /***/ 3297:
2092
2050
  /***/ ((module) => {
2093
2051
 
2094
2052
  "use strict";
@@ -2096,7 +2054,7 @@ module.exports = require("next/dist/shared/lib/router/utils/remove-trailing-slas
2096
2054
 
2097
2055
  /***/ }),
2098
2056
 
2099
- /***/ 36052:
2057
+ /***/ 6052:
2100
2058
  /***/ ((module) => {
2101
2059
 
2102
2060
  "use strict";
@@ -2104,7 +2062,7 @@ module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js"
2104
2062
 
2105
2063
  /***/ }),
2106
2064
 
2107
- /***/ 84226:
2065
+ /***/ 4226:
2108
2066
  /***/ ((module) => {
2109
2067
 
2110
2068
  "use strict";
@@ -2112,7 +2070,7 @@ module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");
2112
2070
 
2113
2071
  /***/ }),
2114
2072
 
2115
- /***/ 95052:
2073
+ /***/ 5052:
2116
2074
  /***/ ((module) => {
2117
2075
 
2118
2076
  "use strict";
@@ -2120,7 +2078,7 @@ module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");
2120
2078
 
2121
2079
  /***/ }),
2122
2080
 
2123
- /***/ 59232:
2081
+ /***/ 9232:
2124
2082
  /***/ ((module) => {
2125
2083
 
2126
2084
  "use strict";
@@ -2128,7 +2086,7 @@ module.exports = require("next/dist/shared/lib/utils.js");
2128
2086
 
2129
2087
  /***/ }),
2130
2088
 
2131
- /***/ 71853:
2089
+ /***/ 1853:
2132
2090
  /***/ ((module) => {
2133
2091
 
2134
2092
  "use strict";
@@ -2136,7 +2094,7 @@ module.exports = require("next/router");
2136
2094
 
2137
2095
  /***/ }),
2138
2096
 
2139
- /***/ 75471:
2097
+ /***/ 5471:
2140
2098
  /***/ ((module) => {
2141
2099
 
2142
2100
  "use strict";
@@ -2144,7 +2102,15 @@ module.exports = require("p-limit");
2144
2102
 
2145
2103
  /***/ }),
2146
2104
 
2147
- /***/ 16689:
2105
+ /***/ 1423:
2106
+ /***/ ((module) => {
2107
+
2108
+ "use strict";
2109
+ module.exports = require("path");
2110
+
2111
+ /***/ }),
2112
+
2113
+ /***/ 6689:
2148
2114
  /***/ ((module) => {
2149
2115
 
2150
2116
  "use strict";
@@ -2152,7 +2118,7 @@ module.exports = require("react");
2152
2118
 
2153
2119
  /***/ }),
2154
2120
 
2155
- /***/ 66405:
2121
+ /***/ 6405:
2156
2122
  /***/ ((module) => {
2157
2123
 
2158
2124
  "use strict";
@@ -2160,7 +2126,7 @@ module.exports = require("react-dom");
2160
2126
 
2161
2127
  /***/ }),
2162
2128
 
2163
- /***/ 19785:
2129
+ /***/ 9785:
2164
2130
  /***/ ((module) => {
2165
2131
 
2166
2132
  "use strict";
@@ -2176,7 +2142,7 @@ module.exports = require("react-swipeable");
2176
2142
 
2177
2143
  /***/ }),
2178
2144
 
2179
- /***/ 20997:
2145
+ /***/ 997:
2180
2146
  /***/ ((module) => {
2181
2147
 
2182
2148
  "use strict";
@@ -2184,7 +2150,7 @@ module.exports = require("react/jsx-runtime");
2184
2150
 
2185
2151
  /***/ }),
2186
2152
 
2187
- /***/ 73823:
2153
+ /***/ 3823:
2188
2154
  /***/ ((module) => {
2189
2155
 
2190
2156
  "use strict";
@@ -2192,7 +2158,7 @@ module.exports = require("tabbable");
2192
2158
 
2193
2159
  /***/ }),
2194
2160
 
2195
- /***/ 40752:
2161
+ /***/ 752:
2196
2162
  /***/ ((module) => {
2197
2163
 
2198
2164
  "use strict";
@@ -2200,7 +2166,7 @@ module.exports = require("tslib");
2200
2166
 
2201
2167
  /***/ }),
2202
2168
 
2203
- /***/ 99664:
2169
+ /***/ 9664:
2204
2170
  /***/ ((module) => {
2205
2171
 
2206
2172
  "use strict";
@@ -2208,7 +2174,7 @@ module.exports = import("@envelop/core");;
2208
2174
 
2209
2175
  /***/ }),
2210
2176
 
2211
- /***/ 37886:
2177
+ /***/ 7886:
2212
2178
  /***/ ((module) => {
2213
2179
 
2214
2180
  "use strict";
@@ -2216,7 +2182,7 @@ module.exports = import("@envelop/graphql-jit");;
2216
2182
 
2217
2183
  /***/ }),
2218
2184
 
2219
- /***/ 84656:
2185
+ /***/ 4656:
2220
2186
  /***/ ((module) => {
2221
2187
 
2222
2188
  "use strict";
@@ -2224,7 +2190,7 @@ module.exports = import("@envelop/parser-cache");;
2224
2190
 
2225
2191
  /***/ }),
2226
2192
 
2227
- /***/ 36093:
2193
+ /***/ 6093:
2228
2194
  /***/ ((module) => {
2229
2195
 
2230
2196
  "use strict";
@@ -2232,7 +2198,23 @@ module.exports = import("@envelop/validation-cache");;
2232
2198
 
2233
2199
  /***/ }),
2234
2200
 
2235
- /***/ 97564:
2201
+ /***/ 5774:
2202
+ /***/ ((module) => {
2203
+
2204
+ "use strict";
2205
+ module.exports = import("@graphql-tools/load-files");;
2206
+
2207
+ /***/ }),
2208
+
2209
+ /***/ 6550:
2210
+ /***/ ((module) => {
2211
+
2212
+ "use strict";
2213
+ module.exports = import("@graphql-tools/schema");;
2214
+
2215
+ /***/ }),
2216
+
2217
+ /***/ 7564:
2236
2218
  /***/ ((module) => {
2237
2219
 
2238
2220
  "use strict";
@@ -2240,7 +2222,7 @@ module.exports = import("chalk");;
2240
2222
 
2241
2223
  /***/ }),
2242
2224
 
2243
- /***/ 15941:
2225
+ /***/ 5941:
2244
2226
  /***/ ((module) => {
2245
2227
 
2246
2228
  "use strict";
@@ -2263,7 +2245,7 @@ module.exports = require("crypto");
2263
2245
  var __webpack_require__ = require("../../webpack-runtime.js");
2264
2246
  __webpack_require__.C(exports);
2265
2247
  var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
2266
- var __webpack_exports__ = __webpack_require__.X(0, [676,825,487,183,177,74,53,779,854,933,184,71,753,350,693], () => (__webpack_exec__(75779)));
2248
+ var __webpack_exports__ = __webpack_require__.X(0, [676,825,52,183,177,74,53,779,854,647,184,71,753,350,693], () => (__webpack_exec__(5779)));
2267
2249
  module.exports = __webpack_exports__;
2268
2250
 
2269
2251
  })();