@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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +31 -31
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1gneedd +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/{907.js → 112.js} +422 -278
- package/.next/server/chunks/177.js +3 -3
- package/.next/server/chunks/183.js +1 -1
- package/.next/server/chunks/184.js +4 -4
- package/.next/server/chunks/186.js +7 -7
- package/.next/server/chunks/289.js +32 -29
- package/.next/server/chunks/312.js +67 -67
- package/.next/server/chunks/350.js +98 -41
- package/.next/server/chunks/483.js +43 -42
- package/.next/server/chunks/52.js +4007 -0
- package/.next/server/chunks/53.js +6 -6
- package/.next/server/chunks/530.js +22 -22
- package/.next/server/chunks/574.js +2 -2
- package/.next/server/chunks/576.js +1 -1
- package/.next/server/chunks/{933.js → 647.js} +33 -117
- package/.next/server/chunks/676.js +2 -2
- package/.next/server/chunks/693.js +3 -3
- package/.next/server/chunks/71.js +103 -61
- package/.next/server/chunks/74.js +268 -271
- package/.next/server/chunks/753.js +73 -28
- package/.next/server/chunks/779.js +8 -8
- package/.next/server/chunks/817.js +4007 -0
- package/.next/server/chunks/825.js +89 -89
- package/.next/server/chunks/854.js +4 -4
- package/.next/server/chunks/859.js +12 -12
- package/.next/server/chunks/98.js +4 -4
- package/.next/server/chunks/988.js +10 -10
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js +42 -42
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +42 -42
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +293 -171
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +645 -663
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js +18 -18
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +30 -30
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +8 -8
- package/.next/server/pages/account.js +42 -42
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +146 -61
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js +2 -2
- package/.next/server/pages/api/health/ready.js +2 -2
- package/.next/server/pages/api/preview.js +3 -3
- package/.next/server/pages/checkout.js +40 -40
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/account.html +2 -2
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/index.js +53 -53
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +44 -44
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +183 -101
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +2 -2
- package/.next/static/chunks/{238-e5e4b2094f0e1df8.js → 238-86838f629f3d0aa4.js} +1 -1
- package/.next/static/chunks/{243-df6d1b248f7b4d3c.js → 243-ef9e49ef3df579c0.js} +1 -1
- package/.next/static/chunks/{709.7bc5a25ce30abda6.js → 709.daf1eddebf1e7952.js} +1 -1
- package/.next/static/chunks/932-33f45603c7d12a4b.js +1 -0
- package/.next/static/chunks/pages/[...slug]-362204c7e0b533cf.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-885042c4b2b4f8ed.js +1 -0
- package/.next/static/chunks/pages/{index-d521ce4f4e2b89a6.js → index-79b05b0071c02fff.js} +1 -1
- package/.next/static/chunks/pages/s-e1bb00f8de6a386e.js +1 -0
- package/.next/static/chunks/{webpack-352e624909554726.js → webpack-88d120cefa1c4c09.js} +1 -1
- package/.next/static/wPqgZ8bYrPY473PZzuIX_/_buildManifest.js +1 -0
- package/.next/trace +80 -80
- package/.turbo/turbo-build.log +8 -6
- package/.turbo/turbo-test.log +25 -0
- package/@generated/graphql/index.ts +183 -79
- package/@generated/graphql/persisted.json +5 -5
- package/@generated/graphql/schema.graphql +1053 -0
- package/api/index.ts +15 -0
- package/codegen.yml +2 -1
- package/generate.sh +71 -0
- package/index.ts +15 -0
- package/jest.config.js +6 -0
- package/package.json +33 -18
- package/src/components/cms/RenderSections.tsx +4 -5
- package/src/components/product/ProductGrid/ProductGrid.tsx +4 -3
- package/src/components/sections/Breadcrumb/Breadcrumb.tsx +17 -22
- package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +8 -6
- package/src/components/sections/ProductDetails/ProductDetails.tsx +23 -33
- package/src/components/sections/ProductGallery/ProductGallery.tsx +15 -26
- package/src/components/sections/ProductShelf/ProductShelf.tsx +1 -1
- package/src/components/sections/ProductTiles/ProductTiles.tsx +4 -3
- package/src/components/templates/ProductListingPage/ProductListing.tsx +95 -0
- package/src/components/templates/ProductListingPage/ProductListingPage.tsx +34 -68
- package/src/components/templates/SearchPage/SearchPage.tsx +81 -0
- package/src/components/templates/SearchPage/index.ts +2 -0
- package/src/components/ui/ProductGallery/ProductGallery.tsx +24 -16
- package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +8 -7
- package/src/components/ui/ProductGallery/useDelayedFacets.ts +3 -3
- package/src/components/ui/ProductShelf/ProductShelf.tsx +3 -2
- package/src/customizations/fragments/ClientProduct.ts +9 -0
- package/src/customizations/fragments/ClientProductGallery.ts +19 -0
- package/src/customizations/fragments/ClientProducts.ts +19 -0
- package/src/customizations/fragments/ServerCollectionPage.ts +9 -0
- package/src/customizations/fragments/ServerProductPage.ts +9 -0
- package/src/customizations/graphql/thirdParty/resolvers/index.ts +3 -0
- package/src/customizations/graphql/vtex/resolvers/index.ts +3 -0
- package/src/pages/[...slug].tsx +5 -3
- package/src/pages/[slug]/p.tsx +38 -18
- package/src/pages/s.tsx +22 -34
- package/src/sdk/graphql/useQuery.ts +17 -13
- package/src/sdk/overrides/PageProvider.tsx +78 -0
- package/src/sdk/product/useLocalizedVariables.ts +33 -0
- package/src/sdk/product/usePageProductsQuery.ts +139 -0
- package/src/{components/sections/ProductGallery/useGalleryQuery.ts → sdk/product/useProductGalleryQuery.ts} +12 -13
- package/src/sdk/product/{useProduct.ts → useProductQuery.ts} +10 -7
- package/src/sdk/product/useProductsPrefetch.ts +72 -0
- package/src/sdk/product/useProductsQuery.ts +17 -63
- package/src/server/generator/generateGraphQLSchemaFile.ts +3 -0
- package/src/server/generator/schema.ts +82 -0
- package/src/server/index.ts +34 -21
- package/src/server/options.ts +16 -0
- package/test/server/index.test.ts +146 -0
- package/.next/server/chunks/487.js +0 -9142
- package/.next/server/chunks/650.js +0 -9142
- package/.next/static/7SuqEgCuf5UtY9Gx-CYYB/_buildManifest.js +0 -1
- package/.next/static/chunks/603-d1c069aa8a349c86.js +0 -1
- package/.next/static/chunks/pages/[...slug]-ca533c74c22cb787.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-7bb760bb3fcfc0bb.js +0 -1
- package/.next/static/chunks/pages/s-0e516ab36bb49c99.js +0 -1
- package/src/components/ui/ProductGallery/usePageProducts.ts +0 -48
- /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
|
-
/***/
|
|
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__(
|
|
16
|
-
/* harmony import */ var src_components_sections_Newsletter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
17
|
-
/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
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__(
|
|
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
|
-
/***/
|
|
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__(
|
|
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__(
|
|
80
|
-
/* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
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
|
|
83
|
-
/* harmony import */ var
|
|
84
|
-
/* harmony import */ var
|
|
85
|
-
/* harmony import */ var
|
|
86
|
-
/* harmony import */ var
|
|
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:
|
|
109
|
-
}], [kind,
|
|
110
|
-
return /*#__PURE__*/
|
|
111
|
-
className: `${(
|
|
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__*/
|
|
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:
|
|
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
|
-
/***/
|
|
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__(
|
|
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
|
-
/***/
|
|
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
|
-
"
|
|
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__(
|
|
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__(
|
|
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__(
|
|
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__(
|
|
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__(
|
|
346
|
+
var Label = __webpack_require__(1953);
|
|
209
347
|
// EXTERNAL MODULE: ../components/dist/esm/atoms/Link/Link.js
|
|
210
|
-
var Link = __webpack_require__(
|
|
348
|
+
var Link = __webpack_require__(4272);
|
|
211
349
|
// EXTERNAL MODULE: ../components/dist/esm/atoms/SROnly/SROnly.js
|
|
212
|
-
var SROnly = __webpack_require__(
|
|
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__(
|
|
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__(
|
|
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__(
|
|
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__(
|
|
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/
|
|
748
|
-
var
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
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
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
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
|
|
928
|
+
const Selectors_excluded = ["src", "alt"],
|
|
1218
929
|
_excluded2 = ["slugsMap", "activeVariations", "availableVariations"];
|
|
1219
930
|
|
|
1220
|
-
function
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
947
|
+
const Selectors_ImageComponent = _ref => {
|
|
1237
948
|
let {
|
|
1238
949
|
src,
|
|
1239
950
|
alt
|
|
1240
951
|
} = _ref,
|
|
1241
|
-
otherProps =
|
|
952
|
+
otherProps = Selectors_objectWithoutProperties(_ref, Selectors_excluded);
|
|
1242
953
|
|
|
1243
|
-
return /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E,
|
|
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 =
|
|
968
|
+
otherProps = Selectors_objectWithoutProperties(_ref2, _excluded2);
|
|
1258
969
|
|
|
1259
|
-
return /*#__PURE__*/jsx_runtime_.jsx("section",
|
|
1260
|
-
children: availableVariations && Object.keys(availableVariations).map(skuVariant => /*#__PURE__*/(0,external_react_.createElement)(
|
|
1261
|
-
ImageComponent:
|
|
1262
|
-
},
|
|
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:
|
|
1269
|
-
as:
|
|
1270
|
-
legacyBehavior:
|
|
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 =
|
|
1381
|
-
alt: buyButtonIconAlt =
|
|
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(
|
|
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
|
-
},
|
|
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(
|
|
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
|
-
},
|
|
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(
|
|
1161
|
+
}), /*#__PURE__*/jsx_runtime_.jsx(Overrides_QuantitySelector.Component, ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({
|
|
1451
1162
|
min: 1,
|
|
1452
1163
|
max: 10
|
|
1453
|
-
},
|
|
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(
|
|
1469
|
-
icon: /*#__PURE__*/jsx_runtime_.jsx(
|
|
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
|
-
/***/
|
|
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__(
|
|
1499
|
-
/* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
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
|
|
1502
|
-
/* harmony import */ var
|
|
1503
|
-
/* harmony import */ var
|
|
1504
|
-
/* harmony import */ var
|
|
1505
|
-
/* harmony import */ var
|
|
1506
|
-
/* harmony import */ var
|
|
1507
|
-
/* harmony import */ var
|
|
1508
|
-
/* harmony import */ var
|
|
1509
|
-
/* harmony import */ var
|
|
1510
|
-
/* harmony import */ var
|
|
1511
|
-
/* harmony import */ var
|
|
1512
|
-
/* harmony import */ var
|
|
1513
|
-
/* harmony import */ var
|
|
1514
|
-
/* harmony import */ var
|
|
1515
|
-
/* harmony import */ var
|
|
1516
|
-
|
|
1517
|
-
|
|
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:
|
|
1554
|
-
ProductDetails:
|
|
1555
|
-
CrossSellingShelf:
|
|
1556
|
-
BannerNewsletter:
|
|
1557
|
-
},
|
|
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
|
-
|
|
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,
|
|
1569
|
-
|
|
1570
|
-
|
|
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__*/
|
|
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__*/
|
|
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__*/
|
|
1604
|
-
context:
|
|
1605
|
-
|
|
1606
|
-
|
|
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,
|
|
1554
|
+
const [searchResult, cmsPage, globalSections] = await Promise.all([(0,src_server__WEBPACK_IMPORTED_MODULE_11__/* .execute */ .h)({
|
|
1618
1555
|
variables: {
|
|
1619
|
-
|
|
1556
|
+
locator: [{
|
|
1557
|
+
key: 'slug',
|
|
1558
|
+
value: slug
|
|
1559
|
+
}]
|
|
1620
1560
|
},
|
|
1621
1561
|
operationName: query
|
|
1622
|
-
}), (0,
|
|
1562
|
+
}), (0,src_server_cms__WEBPACK_IMPORTED_MODULE_12__/* .getPage */ .f)(_objectSpread(_objectSpread({}, previewData?.contentType === 'pdp' ? previewData : null), {}, {
|
|
1623
1563
|
contentType: 'pdp'
|
|
1624
|
-
})), (0,
|
|
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 || (
|
|
1645
|
-
const description = seo.description || (
|
|
1646
|
-
const 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(
|
|
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,
|
|
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
|
-
/***/
|
|
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 */ "
|
|
1638
|
+
/* harmony export */ "F": () => (/* binding */ useProductQuery)
|
|
1697
1639
|
/* harmony export */ });
|
|
1698
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
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__(
|
|
1701
|
-
/* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
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 = "
|
|
1708
|
-
const
|
|
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(`
|
|
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
|
-
/***/
|
|
1694
|
+
/***/ 9034:
|
|
1753
1695
|
/***/ ((module) => {
|
|
1754
1696
|
|
|
1755
1697
|
// Exports
|
|
@@ -1760,7 +1702,15 @@ module.exports = {
|
|
|
1760
1702
|
|
|
1761
1703
|
/***/ }),
|
|
1762
1704
|
|
|
1763
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
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,
|
|
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
|
})();
|