@faststore/core 2.2.38 → 2.2.40
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 +5 -5
- 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/routes-manifest.json +1 -1
- package/.next/server/chunks/350.js +1 -1
- package/.next/server/chunks/732.js +9 -8
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +2 -0
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- 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/s.json +1 -1
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{OrzqcpHrd9uo1rGz0VUhi → N36wklOIIno0f4ha6NvEE}/_buildManifest.js +1 -1
- package/.next/static/chunks/{400-8a0173291a21a213.js → 400-d4daabcd57b2ea80.js} +1 -1
- package/.next/static/chunks/pages/[slug]/p-41314a64f28533cb.js +1 -0
- package/.next/trace +78 -78
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +7 -7
- package/cms/faststore/sections.json +12 -0
- package/package.json +2 -2
- package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +8 -2
- package/src/components/ui/ProductGallery/ProductGallery.tsx +38 -34
- package/.next/static/chunks/pages/[slug]/p-46e7cb105136dc7a.js +0 -1
- /package/.next/static/{OrzqcpHrd9uo1rGz0VUhi → N36wklOIIno0f4ha6NvEE}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
$ yarn partytown & yarn generate && next build
|
|
2
|
-
$ partytown copylib ./public/~partytown
|
|
3
2
|
$ faststore generate-graphql -c
|
|
3
|
+
$ partytown copylib ./public/~partytown
|
|
4
4
|
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
5
5
|
success - GraphQL schema, types, and optimizations successfully generated 🎉
|
|
6
6
|
warn - You have enabled experimental feature (scrollRestoration) in next.config.js.
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
$ tsdx test
|
|
2
2
|
ts-jest[versions] (WARN) Version 29.1.0 of jest installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=25.0.0 <26.0.0). Please do not report issues in ts-jest if you are using unsupported versions.
|
|
3
3
|
ts-jest[versions] (WARN) Version 4.9.4 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=3.4.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions.
|
|
4
|
-
PASS test/server/index.test.ts (
|
|
4
|
+
PASS test/server/index.test.ts (5.806s)
|
|
5
5
|
FastStore GraphQL Layer
|
|
6
6
|
@faststore/api
|
|
7
7
|
✓ should return a valid GraphQL schema (5ms)
|
|
8
8
|
✓ should return a valid GraphQL schema contain all expected types (4ms)
|
|
9
|
-
✓ should return a valid GraphQL schema contain all expected queries (
|
|
10
|
-
✓ should return a valid GraphQL schema contain all expected mutations
|
|
9
|
+
✓ should return a valid GraphQL schema contain all expected queries (2ms)
|
|
10
|
+
✓ should return a valid GraphQL schema contain all expected mutations
|
|
11
11
|
VTEX API Extension
|
|
12
12
|
✓ getTypeDefsFromFolder function should return an Array (6ms)
|
|
13
13
|
Third Party API Extension
|
|
14
|
-
✓ getTypeDefsFromFolder function should return an Array (
|
|
14
|
+
✓ getTypeDefsFromFolder function should return an Array (4ms)
|
|
15
15
|
Final Schema after merging
|
|
16
16
|
✓ should return a valid merged GraphQL schema (26ms)
|
|
17
17
|
Envelop
|
|
18
|
-
✓ should exist with its plugins (
|
|
19
|
-
✓ should handle options and execute (
|
|
18
|
+
✓ should exist with its plugins (28ms)
|
|
19
|
+
✓ should handle options and execute (145ms)
|
|
20
20
|
|
|
21
21
|
Test Suites: 1 passed, 1 total
|
|
22
22
|
Tests: 9 passed, 9 total
|
|
23
23
|
Snapshots: 0 total
|
|
24
|
-
Time: 6.
|
|
24
|
+
Time: 6.23s
|
|
25
25
|
Ran all test suites.
|
|
@@ -852,6 +852,12 @@
|
|
|
852
852
|
"default": 5,
|
|
853
853
|
"description": "Total number of items. The quantity may be smaller if the query returns fewer products."
|
|
854
854
|
},
|
|
855
|
+
"itemsPerPage": {
|
|
856
|
+
"type": "integer",
|
|
857
|
+
"title": "Number of items per page",
|
|
858
|
+
"default": 5,
|
|
859
|
+
"description": "Number of items to display per page in carousel"
|
|
860
|
+
},
|
|
855
861
|
"after": {
|
|
856
862
|
"type": "integer",
|
|
857
863
|
"title": "After",
|
|
@@ -947,6 +953,12 @@
|
|
|
947
953
|
"default": 5,
|
|
948
954
|
"description": "Total number of items. The quantity may be smaller if the query returns fewer products."
|
|
949
955
|
},
|
|
956
|
+
"itemsPerPage": {
|
|
957
|
+
"type": "integer",
|
|
958
|
+
"title": "Number of items per page",
|
|
959
|
+
"default": 5,
|
|
960
|
+
"description": "Number of items to display per page in carousel"
|
|
961
|
+
},
|
|
950
962
|
"kind": {
|
|
951
963
|
"title": "Kind",
|
|
952
964
|
"description": "Change cross selling types",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.40",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -119,5 +119,5 @@
|
|
|
119
119
|
"msw": {
|
|
120
120
|
"workerDirectory": "public"
|
|
121
121
|
},
|
|
122
|
-
"gitHead": "
|
|
122
|
+
"gitHead": "4ca5f72ceb4cf80211d1a5db24e83110251bebed"
|
|
123
123
|
}
|
|
@@ -8,11 +8,16 @@ import Section from '../Section'
|
|
|
8
8
|
|
|
9
9
|
interface Props {
|
|
10
10
|
numberOfItems: number
|
|
11
|
+
itemsPerPage?: number
|
|
11
12
|
title: string
|
|
12
13
|
kind: 'buy' | 'view'
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
const CrossSellingShelf = ({
|
|
16
|
+
numberOfItems,
|
|
17
|
+
itemsPerPage,
|
|
18
|
+
title,
|
|
19
|
+
kind,
|
|
20
|
+
}: Props) => {
|
|
16
21
|
const { ref, inView } = useInView()
|
|
17
22
|
const context = usePDP()
|
|
18
23
|
const productGroupID = context?.data?.product?.isVariantOf?.productGroupID
|
|
@@ -30,6 +35,7 @@ const CrossSellingShelf = ({ numberOfItems, title, kind }: Props) => {
|
|
|
30
35
|
<UIProductShelf
|
|
31
36
|
inView={inView}
|
|
32
37
|
numberOfItems={numberOfItems}
|
|
38
|
+
itemsPerPage={itemsPerPage}
|
|
33
39
|
title={title}
|
|
34
40
|
selectedFacets={selectedFacets}
|
|
35
41
|
/>
|
|
@@ -91,8 +91,8 @@ function ProductGallery({
|
|
|
91
91
|
useProductsPrefetch(prev ? prev.cursor : null)
|
|
92
92
|
useProductsPrefetch(next ? next.cursor : null)
|
|
93
93
|
|
|
94
|
-
const
|
|
95
|
-
|
|
94
|
+
const hasFacetsLoaded = Boolean(data?.search?.facets)
|
|
95
|
+
const hasProductsLoaded = Boolean(data?.search?.products)
|
|
96
96
|
|
|
97
97
|
return (
|
|
98
98
|
<section data-testid="product-gallery" data-fs-product-listing>
|
|
@@ -111,8 +111,10 @@ function ProductGallery({
|
|
|
111
111
|
data-fs-content="product-gallery"
|
|
112
112
|
>
|
|
113
113
|
<div data-fs-product-listing-filters>
|
|
114
|
-
<FilterSkeleton loading={
|
|
115
|
-
|
|
114
|
+
<FilterSkeleton loading={!hasFacetsLoaded}>
|
|
115
|
+
{hasFacetsLoaded && facets?.length > 0 && (
|
|
116
|
+
<Filter facets={facets} filter={filter} />
|
|
117
|
+
)}
|
|
116
118
|
</FilterSkeleton>
|
|
117
119
|
</div>
|
|
118
120
|
<div data-fs-product-listing-results-count data-count={totalCount}>
|
|
@@ -122,7 +124,7 @@ function ProductGallery({
|
|
|
122
124
|
{...ResultsCountSkeleton.props}
|
|
123
125
|
// Dynamic props shouldn't be overridable
|
|
124
126
|
// This decision can be reviewed later if needed
|
|
125
|
-
loading={!
|
|
127
|
+
loading={!hasProductsLoaded}
|
|
126
128
|
>
|
|
127
129
|
<h2 data-testid="total-product-count">
|
|
128
130
|
{totalCount} {totalCountLabel}
|
|
@@ -136,7 +138,7 @@ function ProductGallery({
|
|
|
136
138
|
{...SortSkeleton.props}
|
|
137
139
|
// Dynamic props shouldn't be overridable
|
|
138
140
|
// This decision can be reviewed later if needed
|
|
139
|
-
loading={
|
|
141
|
+
loading={!hasProductsLoaded}
|
|
140
142
|
>
|
|
141
143
|
<Sort
|
|
142
144
|
label={sortBySelector?.label}
|
|
@@ -149,34 +151,36 @@ function ProductGallery({
|
|
|
149
151
|
{...FilterButtonSkeleton.props}
|
|
150
152
|
// Dynamic props shouldn't be overridable
|
|
151
153
|
// This decision can be reviewed later if needed
|
|
152
|
-
loading={
|
|
154
|
+
loading={!hasFacetsLoaded}
|
|
153
155
|
>
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
156
|
+
{hasFacetsLoaded && facets?.length > 0 && (
|
|
157
|
+
<MobileFilterButton.Component
|
|
158
|
+
variant="tertiary"
|
|
159
|
+
data-testid="open-filter-button"
|
|
160
|
+
icon={
|
|
161
|
+
<FilterIcon.Component
|
|
162
|
+
width={16}
|
|
163
|
+
height={16}
|
|
164
|
+
{...FilterIcon.props}
|
|
165
|
+
name={
|
|
166
|
+
filter?.mobileOnly?.filterButton?.icon?.icon ??
|
|
167
|
+
FilterIcon.props.name
|
|
168
|
+
}
|
|
169
|
+
aria-label={
|
|
170
|
+
filter?.mobileOnly?.filterButton?.icon?.alt ??
|
|
171
|
+
FilterIcon.props['aria-label']
|
|
172
|
+
}
|
|
173
|
+
/>
|
|
174
|
+
}
|
|
175
|
+
iconPosition="left"
|
|
176
|
+
{...MobileFilterButton.props}
|
|
177
|
+
// Dynamic props shouldn't be overridable
|
|
178
|
+
// This decision can be reviewed later if needed
|
|
179
|
+
onClick={openFilter}
|
|
180
|
+
>
|
|
181
|
+
{filter?.mobileOnly?.filterButton?.label}
|
|
182
|
+
</MobileFilterButton.Component>
|
|
183
|
+
)}
|
|
180
184
|
</FilterButtonSkeleton.Component>
|
|
181
185
|
</div>
|
|
182
186
|
<div data-fs-product-listing-results>
|
|
@@ -219,7 +223,7 @@ function ProductGallery({
|
|
|
219
223
|
</div>
|
|
220
224
|
)}
|
|
221
225
|
{/* Render ALL products */}
|
|
222
|
-
{
|
|
226
|
+
{hasProductsLoaded ? (
|
|
223
227
|
<Suspense fallback={GalleryPageSkeleton}>
|
|
224
228
|
{pages.map((page) => (
|
|
225
229
|
<ProductGalleryPage
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[103],{6693:function(e,t,r){"use strict";var n=r(2784),a=r(7041),i=r(2614),o=r(2256);t.Z=({max:e,min:t=1,initial:r,disabled:l=!1,onChange:s,testId:c="fs-quantity-selector",...d})=>{const[u,p]=(0,n.useState)(r??t),m=u===t,f=u===e,b=e=>{const t=v(u+e);s?.(t),p(t)};function v(r){const n=t?Math.max(r,t):r;return e?Math.min(n,e):n}return(0,n.useEffect)((()=>{r&&p(r)}),[r]),n.createElement("div",{"data-fs-quantity-selector":l?"disabled":"true","data-testid":c,...d},n.createElement(a.Z,{"data-quantity-selector-button":"left",icon:n.createElement(i.Z,{name:"Minus",width:16,height:16,weight:"bold"}),"aria-label":"Decrement Quantity","aria-controls":"quantity-selector-input",disabled:m||l,onClick:()=>b(-1),testId:`${c}-left-button`,size:"small"}),n.createElement(o.Z,{"data-quantity-selector-input":!0,id:"quantity-selector-input","aria-label":"Quantity",value:u,onChange:function(e){const t=e.currentTarget.value;Number.isNaN(Number(t))||p((()=>{const e=v(Number(t));return s?.(e),e}))},disabled:l}),n.createElement(a.Z,{"data-quantity-selector-button":"right","aria-controls":"quantity-selector-input","aria-label":"Increment Quantity",disabled:f||l,icon:n.createElement(i.Z,{name:"Plus",width:16,height:16,weight:"bold"}),onClick:()=>b(1),testId:`${c}-right-button`,size:"small"}))}},2390:function(e,t,r){"use strict";r.d(t,{Z:function(){return A}});var n=r(9499),a=r(2784),i=r(4730),o=r(7058),l=r(2614),s=r(727);var c=(0,a.createContext)({isOpen:!1,dropdownButtonRef:null,selectedDropdownItemIndexRef:null,dropdownItemsRef:null,id:"fs-dropdown"});var d=({children:e,isOpen:t=!1,onDismiss:r,id:n="fs-dropdown"})=>{const[i,o]=(0,a.useState)(t),l=(0,a.useRef)([]),s=(0,a.useRef)(0),d=(0,a.useRef)(null),u=(0,a.useCallback)((()=>{o(!1),r?.()}),[r]),p=()=>{o(!0)},m=(0,a.useCallback)((()=>{o((e=>(e&&(r?.(),d.current?.focus()),!e)))}),[r]);(0,a.useEffect)((()=>{o(t)}),[t]),(0,a.useEffect)((()=>{i&&l?.current[0]?.focus()}),[i]),(0,a.useEffect)((()=>{let e=!0;const t=t=>{const r=l?.current.some((e=>t.target===e));e?e=!1:!r&&u()};return i?document.addEventListener("click",t):document.removeEventListener("click",t),()=>{document.removeEventListener("click",t)}}),[u,i]);const f=(0,a.useMemo)((()=>({isOpen:i,close:u,open:p,toggle:m,dropdownButtonRef:d,onDismiss:r,selectedDropdownItemIndexRef:s,dropdownItemsRef:l,id:n})),[u,n,i,r,m]);return a.createElement(c.Provider,{value:f},e)},u=r(3339);const p=()=>{const e=(0,a.useContext)(c);if(void 0===e)throw new Error("Do not use useDropdown hook outside the Dropdown context.");return e};var m=(0,a.forwardRef)((function({testId:e="fs-dropdown-button","aria-label":t,children:r,...n},i){const{toggle:o,dropdownButtonRef:l,isOpen:s,id:c}=p();return(0,a.useImperativeHandle)(i,(()=>l.current),[l]),a.createElement(u.Z,{"data-fs-dropdown-button":!0,onClick:o,"data-testid":e,ref:l,"aria-label":t,"aria-expanded":s,"aria-haspopup":"menu","aria-controls":c,variant:"tertiary",...n},r)})),f=r(8316);var b=({children:e,testId:t="fs-dropdown-menu",size:r="regular",style:n,...i})=>{const{isOpen:o,close:l,dropdownItemsRef:s,selectedDropdownItemIndexRef:c,dropdownButtonRef:d,id:u}=p(),m=(()=>{const{dropdownButtonRef:e}=p(),t="undefined"!==typeof window,r=e?.current?.getBoundingClientRect(),n=r?.top??0,a=r?.height??0,i=r?.left??0;return{position:"absolute",top:n+a+(t?document?.documentElement?.scrollTop:0),left:i+(t?document?.documentElement?.scrollLeft:0)}})(),b=a.Children.toArray(e).length;return o?(0,f.createPortal)(a.createElement("div",{role:"presentation","data-fs-dropdown-overlay":!0,onKeyDown:e=>{e.defaultPrevented||"Enter"===e.key||(e.preventDefault(),"Escape"===e.key&&(l?.(),d?.current?.focus()),"ArrowDown"===e.key&&(c.current<b-1?c.current++:c.current=0,s?.current[c.current]?.focus()),"ArrowUp"===e.key&&(c.current>0?c.current--:c.current=b-1,s?.current[c.current]?.focus()),"Home"===e.key&&(c.current=0,s?.current[c.current]?.focus()),"End"===e.key&&(c.current=b-1,s?.current[c.current]?.focus()),e.stopPropagation())},"data-testid":`${t}-overlay`},a.createElement("div",{role:"menu","aria-orientation":"vertical","data-fs-dropdown-menu":!0,"data-fs-dropdown-menu-size":r,"data-testid":t,style:{...m,...n},id:u,...i},e)),document.body):(s.current=[],null)};var v=(0,a.forwardRef)((function({children:e,icon:t,onClick:r,testId:n="fs-dropdown-item",...i},o){const{dropdownItemsRef:l,selectedDropdownItemIndexRef:s,close:c}=p(),[d,u]=(0,a.useState)(0),m=(0,a.useRef)(),f=()=>{s.current=d,l?.current[s.current]?.focus()};return(0,a.useImperativeHandle)(o,(()=>m.current),[]),a.createElement("button",{"data-fs-dropdown-item":!0,"data-testid":n,ref:e=>{e&&!l?.current.includes(e)&&(l?.current.push(e),u(l?.current.findIndex((t=>t===e))??0)),m.current=e},onFocus:f,onMouseEnter:f,onClick:e=>{r?.(e),c?.()},role:"menuitem",tabIndex:-1,"data-index":d,...i},!!t&&t,e)})),g=r(4564);var y=({divider:e,testId:t})=>{const r={"data-fs-breadcrumb-divider":!0,"aria-hidden":!0,"data-testid":`${t}-divider`};return a.isValidElement(e)?a.cloneElement(e,r):a.createElement("span",{...r},e??"/")};var h=({children:e,isLastItem:t,divider:r,testId:n})=>{const i={"data-testid":`${n}-item`,"data-fs-breadcrumb-item":!t||"current","aria-current":t?"page":void 0};return a.isValidElement(e)?a.createElement("li",{"data-fs-breadcrumb-list-item":!0},a.cloneElement(e,i),t?null:a.createElement(y,{divider:r,testId:n})):a.createElement("li",{"data-fs-breadcrumb-list-item":!0},a.createElement("span",{...i},e,t?null:a.createElement(y,{divider:r,testId:n})))};var O=(0,a.forwardRef)((function({children:e,divider:t="",testId:r="fs-breadcrumb",...n},i){return a.createElement("nav",{"aria-label":"Breadcrumb",role:"navigation",ref:i,"data-fs-breadcrumb":!0,"data-testid":r,...n},a.createElement(g.Z,{as:"ol","data-fs-breadcrumb-list":!0,"data-fs-content":"breadcrumb"},a.Children.toArray(e).map(((e,n,i)=>{const o=n===i.length-1;return a.createElement(h,{isLastItem:o,divider:t,key:`breadcrumb-${n}`,testId:r},e)}))))}));var j=(0,a.forwardRef)((function({children:e,divider:t="",testId:r="fs-breadcrumb",breadcrumbList:n,isDesktop:i=!1,renderLink:o,homeLink:c,dropdownButtonIcon:u=a.createElement(l.Z,{name:"DotsThree"}),collapsedItemsIcon:p=a.createElement(l.Z,{"data-fs-dropdown-item-icon":!0,name:"ArrowElbowDownRight"}),...f},g){const y=i?n[0]:null,h=i?n.slice(1,-2):n.slice(0,-2),j=n.slice(-2),w=n.length>4,P=(0,a.useCallback)((e=>{const t=o?.(e),r=e.collapsed?{"data-fs-breadcrumb-dropdown-link":!0}:{"data-fs-breadcrumb-link":!0};return t?(0,a.cloneElement)(t,{...r,key:e.itemProps.position}):a.createElement(s.Z,{...r,href:e.itemProps.item,key:e.itemProps.position},e.itemProps.name)}),[o]);return a.createElement(O,{ref:g,"data-fs-breadcrumb-is-desktop":i,...f},c,!w&&n.map(((e,t)=>n.length===t+1?a.createElement("span",{key:String(e.position)},e.name):P({itemProps:e,collapsed:!1}))),w&&y&&P({itemProps:y,collapsed:!1}),w&&a.createElement(d,null,a.createElement(m,{"aria-label":"View More","data-fs-breadcrumb-dropdown-button":!0,size:"small"},u),a.createElement(b,{"data-fs-breadcrumb-dropdown-menu":!0},h.map((e=>a.createElement(v,{"data-fs-breadcrumb-dropdown-item":!0,key:String(e.position),icon:p},P({itemProps:e,collapsed:!0})))))),w&&j.map(((e,t)=>j.length===t+1?a.createElement("span",{key:String(e.position)},e.name):P({itemProps:e,collapsed:!1}))))}));var w=({breadcrumbList:e,...t})=>a.createElement(a.Fragment,null,a.createElement(j,{breadcrumbList:e,...t}),a.createElement(j,{breadcrumbList:e,isDesktop:!0,...t})),P=r(7506),E={section:"Breadcrumb"},{Breadcrumb:k,Icon:x}=(0,P.f)({Breadcrumb:w,Icon:l.Z},E),I=r(2322),C=["icon","alt"];function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function D(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Z=e=>{var t,{icon:r=(null!==(t=x.props.name)&&void 0!==t?t:"Home"),alt:n="Go to homepage"}=e,a=(0,i.Z)(e,C);return(0,I.jsx)(k.Component,D(D({homeLink:(0,I.jsx)(o.Z,{"data-fs-breadcrumb-link":!0,"data-fs-breadcrumb-link-home":!0,"aria-label":n,href:"/",prefetch:!1,children:(0,I.jsx)(x.Component,D(D({width:18,height:18,weight:"bold"},x.props),{},{name:r}))}),renderLink:e=>{var{itemProps:{item:t,name:r}}=e;return(0,I.jsx)(o.Z,{"data-fs-breadcrumb-link":!0,href:t,prefetch:!1,children:r})}},k.props),a))},_=(0,a.memo)(Z),L=r(3271),B=r(4579),R=r.n(B),N=r(5953);function V(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?V(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function T(e){var t,r,n,a,i,o,l,s,c,d=Object.assign({},e),u=(0,N.qt)(),p=[{item:"/",name:(0,N.OJ)(u)?null===u||void 0===u||null===(t=u.data)||void 0===t||null===(r=t.collection)||void 0===r||null===(n=r.seo)||void 0===n?void 0:n.title:"All Products",position:1}],m=(0,N.tS)(u)?null===u||void 0===u||null===(a=u.data)||void 0===a||null===(i=a.product)||void 0===i||null===(o=i.breadcrumbList)||void 0===o?void 0:o.itemListElement:(0,N.OJ)(u)?null===u||void 0===u||null===(l=u.data)||void 0===l||null===(s=l.collection)||void 0===s||null===(c=s.breadcrumbList)||void 0===c?void 0:c.itemListElement:p;return(0,I.jsx)(L.Z,{className:"".concat(R().section," section-breadcrumb"),children:(0,I.jsx)(_,M({breadcrumbList:m},d))})}var A=(0,a.memo)(T)},4842:function(e,t,r){"use strict";r.r(t),r.d(t,{__N_SSG:function(){return bt},default:function(){return vt}});var n=r(9499),a=r(5351),i=r(9996),o=r.n(i),l=r(7231),s=r(7599),c=r(8579),d=r(3271),u=r(3581),p=r.n(u),m=r(2322);var f=function(e){var{banner:t,newsletter:r}=e;return(0,m.jsx)(d.Z,{className:"".concat(p().section," section-banner-newsletter"),children:(0,m.jsxs)("div",{"data-fs-banner-text-newsletter":!0,"data-fs-content":"banner-newsletter",children:[(0,m.jsx)(s.Z,{title:t.title,caption:t.caption,link:null===t||void 0===t?void 0:t.link,variant:t.variant,colorVariant:t.colorVariant}),(0,m.jsx)(c.Z,{title:r.title,description:r.description,icon:r.icon,privacyPolicy:r.privacyPolicy,emailInputLabel:r.emailInputLabel,displayNameInput:r.displayNameInput,nameInputLabel:r.nameInputLabel,subscribeButtonLabel:r.subscribeButtonLabel,toastSubscribe:r.toastSubscribe,toastSubscribeError:r.toastSubscribeError,card:r.card})]})})},b=r(2390),v=r(2784),g=r(9284),y=r(7704),h=r(5953),O=r(3262),j=r.n(O),w=e=>{var t,r,n,{numberOfItems:a,title:i,kind:o}=e,{ref:l,inView:s}=(0,y.YD)(),c=(0,h.al)(),u=null===c||void 0===c||null===(t=c.data)||void 0===t||null===(r=t.product)||void 0===r||null===(n=r.isVariantOf)||void 0===n?void 0:n.productGroupID,p=(0,v.useMemo)((()=>[{key:o,value:u}]),[o,u]);return(0,m.jsx)(d.Z,{className:"".concat(j().section," section-product-shelf layout__section"),ref:l,children:(0,m.jsx)(g.Z,{inView:s,numberOfItems:a,title:i,selectedFacets:p})})},P=r(1072),E=r(5346),k=r(7295),x=r(1516),I=r(783),C=r(7734),S=r(7583);var D=function(e){var{descriptionData:t,initiallyExpanded:r="first"}=e,n=(0,v.useMemo)((()=>({none:[],first:[0],all:[0,1,2,3]})),[]),{0:a,1:i}=(0,v.useState)(new Set(n[r]));return(0,m.jsx)("section",{"data-fs-product-description":!0,children:(0,m.jsx)(x.Z,{indices:a,onChange:e=>{i((t=>{var r=new Set(t);return t.has(e)?r.delete(e):r.add(e),r}))},"aria-label":"Product Details Content",children:t.map(((e,t)=>{var{title:r,content:n}=e;return(0,m.jsxs)(I.Z,{as:"article",index:t,prefixId:"product-description","data-fs-product-details-description":!0,children:[(0,m.jsx)(C.Z,{children:r}),(0,m.jsx)(S.Z,{children:(0,m.jsx)("div",{"data-fs-product-details-description-content":!0,dangerouslySetInnerHTML:{__html:n}})})]},String(t))}))})})},Z=r(6652),_=r(6073),L=r(4730),B=r(1664),R=r.n(B),N=r(5731),V=r(3024);var M=(0,v.forwardRef)((function({title:e,label:t,refTag:r="Ref.: ",refNumber:n,testId:a="fs-product-title",ratingValue:i,...o},l){return v.createElement("header",{ref:l,"data-fs-product-title":!0,"data-testid":a,...o},v.createElement("div",{"data-fs-product-title-header":!0},e,!!t&&t),(n||i)&&v.createElement("div",{"data-fs-product-title-addendum":!0},i&&v.createElement(V.Z,{value:i}),n&&v.createElement(v.Fragment,null,r," ",n)))})),T=r(2946),A=r(3339);var q=function({testId:e="fs-buy-button",icon:t,children:r,...n}){return v.createElement(A.Z,{"data-fs-buy-button":!0,icon:t,iconPosition:"left","data-testid":e,...n},r)},G=r(2614),F=r(9767),H=r(6693),$=r(1953),z=r(727),Q=r(5450);const J=e=>new URL(e).pathname.split("/").slice(-1)[0];const W=(e,t,r,n)=>({getItemHref:(0,v.useCallback)((a=>{if(n)return{getItemHrefProp:n};const i=`/${function(e,t,r){const n=Object.entries(t).flat().join("-");if(n in e)return e[n];const a=Object.keys(e);return e[a.find((e=>e.includes(`${r}-${t[r]}`)))??a[0]]}(t,{...e,[r]:a.value},r)}/p`;return i}),[e,n,t,r])}),X=({src:e,alt:t,...r})=>v.createElement("img",{src:e,alt:t,...r}),U=(0,v.forwardRef)((function({availableVariations:e,skuPropertyName:t,testId:r,activeVariations:n,linkProps:a,slugsMap:i,getItemHref:o,ImageComponent:l=X,variant:s,...c},d){const u=n[t],p=e[t],m=((e,t)=>(0,v.useMemo)((()=>{if(t)return t;if(e.every((e=>e.hexColor)))return"color";const r=e[0]?.src&&J(e[0].src);return e.every((e=>!e.src||J(e.src)===r))?"label":"image"}),[e,t]))(p,s),{getItemHref:f}=W(n,i,t,o);return v.createElement("div",{ref:d,"data-fs-sku-selector":!0,"data-testid":r,"data-fs-sku-selector-variant":m,...c},t&&v.createElement($.Z,{"data-fs-sku-selector-title":!0},t,": ",v.createElement("strong",null,u)),v.createElement("ul",{"data-fs-sku-selector-list":!0},p.map(((e,r)=>v.createElement("li",{key:String(r),title:e.label,"data-fs-sku-selector-option":!0,"data-fs-sku-selector-disabled":e.disabled,"data-fs-sku-selector-checked":e.value===n[t]},v.createElement(z.Z,{"data-fs-sku-selector-option-link":!0,href:f(e),...a},v.createElement(Q.Z,{text:e.label})),"label"===m&&v.createElement("span",null,e.value),"image"===m&&l&&v.createElement("span",null,v.createElement(l,{src:e.src??"",alt:e.alt??"","data-fs-sku-selector-option-image":!0})),"color"===m&&v.createElement("span",null,v.createElement("div",{"data-fs-sku-selector-option-color":!0,title:e.value,style:{"--data-fs-sku-selector-option-color-bkg-color":e.hexColor}})))))))}));var Y=U,K=r(3779);var ee=(0,v.forwardRef)((function({children:e,variant:t="colored",testId:r="fs-table",...n},a){return v.createElement("div",{"data-fs-table":!0},v.createElement("table",{ref:a,"data-fs-table-content":!0,"data-fs-table-variant":t,"data-testid":r,...n},e))}));var te=(0,v.forwardRef)((function({children:e,testId:t="fs-table-body",...r},n){return v.createElement("tbody",{ref:n,"data-testid":t,"data-fs-table-body":!0,...r},e)}));var re=(0,v.forwardRef)((function({children:e,testId:t="fs-table-row",...r},n){return v.createElement("tr",{ref:n,"data-fs-table-row":!0,"data-testid":t,...r},e)}));var ne=(0,v.forwardRef)((function({scope:e,align:t,children:r,variant:n="data",testId:a="fs-table-cell",...i},o){const l="header"===n?"th":"td";return v.createElement(l,{ref:o,"data-fs-table-cell":n,"data-fs-table-cell-align":t,"data-testid":a,scope:e,...i},r)}));var ae=function({testId:e="fs-shipping-simulation",formatter:t,title:r="Shipping",inputLabel:n="Postal Code",optionsLabel:a="Shipping options",idkPostalCodeLinkProps:i,onInput:o,onSubmit:l,onClear:s,location:c,options:d=[],displayClearButton:u=!1,errorMessage:p,postalCode:m,...f}){const b=!!d&&d.length>0;return v.createElement("section",{"data-fs-shipping-simulation":!0,"data-fs-shipping-simulation-empty":b?"false":"true","data-testid":e,...f},v.createElement("h2",{"data-fs-shipping-simulation-title":!0},r),v.createElement(K.Z,{actionable:!0,error:p,id:`${e}-input-field`,label:n,value:m,onInput:e=>o?.(e),onSubmit:()=>l?.(),onClear:()=>s?.(),displayClearButton:u}),v.createElement(z.Z,{href:"/","data-fs-shipping-simulation-link":!0,size:"small",...i},i?.children??v.createElement(v.Fragment,null,"I don't know my Postal Code",v.createElement(G.Z,{name:"ArrowSquareOut",width:20,height:20}))),b&&v.createElement(v.Fragment,null,v.createElement("header",{"data-fs-shipping-simulation-header":!0},v.createElement("h3",{"data-fs-shipping-simulation-subtitle":!0},a),v.createElement("p",{"data-fs-shipping-simulation-location":!0},c)),v.createElement(ee,null,v.createElement(te,null,d.map((e=>v.createElement(re,{key:e.carrier},v.createElement(ne,{align:"left"},e.carrier),v.createElement(ne,null,e.localizedEstimates),v.createElement(ne,{align:"right"},e.price&&v.createElement(F.Z,{formatter:t,value:e.price,SRText:"price"})))))))))},ie=r(7041);const oe=(e,t)=>{e&&(e.scrollHeight>e.clientHeight?(e.style.overflow="auto",window.requestAnimationFrame((()=>e.scrollTo({top:t,behavior:"smooth"}))),setTimeout((()=>e.style.overflow="hidden"),2e3)):e.scrollLeft+=t)};var le=function({images:e,onSelect:t,ImageComponent:r,currentImageIdx:n,testId:a="fs-image-gallery-selector","aria-label":i="Product Images",navigationButtonLeftAriaLabel:o="Backward slide image selector",navigationButtonRightAriaLabel:l="Forward slide image selector"}){const s=(0,v.useRef)(null),c=!!(d=s.current)&&(d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth);var d;const[u,p]=(0,v.useState)(!0),[m,f]=(0,v.useState)(!0),b=(0,v.useCallback)(((t,r)=>{0===t&&p(r),t===e.length-1&&f(r)}),[e.length]);return v.createElement("section",{"data-fs-image-gallery-selector":!0,"data-testid":a,"aria-label":i},c&&!u&&v.createElement("div",{"data-fs-image-gallery-selector-control":!0},v.createElement(ie.Z,{"data-fs-image-gallery-selector-control-button":!0,"aria-label":o,icon:v.createElement(G.Z,{name:"ArrowLeft"}),onClick:()=>oe(s.current,-400)})),v.createElement("div",{"data-fs-image-gallery-selector-elements":!0,ref:s},e.map(((a,i)=>v.createElement(y.df,{key:i,onChange:e=>b(i,e)},v.createElement(A.Z,{key:i,"aria-label":`${a.alternateName} - Image ${i+1} of ${e.length}`,onClick:()=>t(i),"data-fs-image-gallery-selector-thumbnail":i===n?"selected":"true"},v.createElement(r,{url:a.url??"",loading:0===i?"eager":"lazy",alternateName:a.alternateName??""})))))),c&&!m&&v.createElement("div",{"data-fs-image-gallery-selector-control":!0},v.createElement(ie.Z,{"data-fs-image-gallery-selector-control-button":!0,"aria-label":l,icon:v.createElement(G.Z,{name:"ArrowLeft"}),onClick:()=>oe(s.current,400)})))};const se=(0,v.forwardRef)((function({images:e,children:t,ImageComponent:r,selectedImageIdx:n,setSelectedImageIdx:a,testId:i="fs-image-gallery",...o},l){const s=e.length>1;return v.createElement("section",{ref:l,"data-fs-image-gallery":s?"with-selector":"without-selector","data-testid":i,...o},t,s&&v.createElement(le,{images:e,onSelect:a,currentImageIdx:n,ImageComponent:r}))}));var ce=se;var de=({children:e})=>v.createElement(v.Fragment,null,e),ue=r(1163),pe=["images"];function me(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function fe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?me(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):me(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var be=e=>{var{url:t,alternateName:r}=e;return(0,m.jsx)(qe.Component,{src:t,alt:r,width:68,height:68})},ve=e=>{var t,{images:r}=e,n=(0,L.Z)(e,pe),{0:a,1:i}=(0,v.useState)(0),o=null!==(t=r[a])&&void 0!==t?t:r[0],l=(0,ue.useRouter)().asPath;return(0,v.useEffect)((()=>i(0)),[l]),(0,m.jsx)(Te.Component,fe(fe(fe({},Te.props),{},{images:r,ImageComponent:be,selectedImageIdx:a,setSelectedImageIdx:i},n),{},{children:(0,m.jsx)(Ae.Component,fe(fe({},Ae.props),{},{children:(0,m.jsx)(qe.Component,fe(fe({sizes:"(max-width: 360px) 50vw, (max-width: 768px) 90vw, 50vw",width:691,height:518.25,loading:"eager"},qe.props),{},{src:o.url,alt:o.alternateName}))}))}))},ge=r(29),ye=r(180),he=function(){var e=(0,ge.Z)((function*(e){var{items:t,postalCode:r,country:n}=e;return yield(0,ye.W)("ClientShippingSimulationQuery",{items:t,postalCode:r,country:n})}));return function(t){return e.apply(this,arguments)}}(),Oe=he;function je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function we(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?je(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):je(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Pe=()=>({input:{postalCode:"",displayClearButton:!1,errorMessage:""},shippingSimulation:void 0}),Ee=(e,t)=>{var{type:r}=t;switch(r){case"clear":return{input:{postalCode:"",displayClearButton:!1,errorMessage:""},shippingSimulation:void 0};case"update":var{payload:n}=t;return{input:we(we({},e.input),n.input),shippingSimulation:we(we({},e.shippingSimulation),n.shippingSimulation)};case"onInput":var{payload:a}=t;return we(we({},e),{},{input:we({},a)});case"onError":var{payload:i}=t;return we(we({},e),{},{input:we(we({},e.input),i)});default:throw new Error("Action ".concat(r," not implemented"))}},ke=e=>{var{0:{input:t,shippingSimulation:r},1:n}=(0,v.useReducer)(Ee,null,Pe),{country:a,postalCode:i}=(0,k.kP)(),{postalCode:o}=t,l=(0,v.useRef)(o);return(0,v.useEffect)((()=>{function t(){return t=(0,ge.Z)((function*(){var t=(yield Oe({country:a,postalCode:null!==i&&void 0!==i?i:"",items:[e]})).shipping;n({type:"update",payload:{input:{postalCode:null!==i&&void 0!==i?i:"",displayClearButton:!0,errorMessage:""},shippingSimulation:t}})})),t.apply(this,arguments)}i&&!l.current&&function(){t.apply(this,arguments)}()}),[a,i,e]),{input:t,shippingSimulation:r,handleOnClear:()=>{n({type:"clear"})},handleSubmit:(0,v.useCallback)((0,ge.Z)((function*(){try{var t=(yield Oe({country:a,postalCode:null!==o&&void 0!==o?o:"",items:[e]})).shipping;n({type:"update",payload:{input:{displayClearButton:!0,errorMessage:""},shippingSimulation:t}})}catch(r){n({type:"onError",payload:{displayClearButton:!0,errorMessage:"You entered an invalid Postal Code"}})}})),[a,e,o]),handleOnInput:(0,v.useCallback)((e=>{var t=e.currentTarget.value;n(t?{type:"onInput",payload:{postalCode:t,displayClearButton:!1,errorMessage:""}}:{type:"clear"})}),[])}},xe=["productShippingInfo","formatter","inputLabel","title","idkPostalCodeLinkProps"];function Ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var Ce=function(e){var{children:t}=e;return(0,m.jsx)(A.Z,{variant:"primary",disabled:!0,"data-fs-buy-button":!0,children:t})},Se=r(7506),De={section:"ProductDetails"},{ProductTitle:Ze,DiscountBadge:_e,BuyButton:Le,Icon:Be,Price:Re,QuantitySelector:Ne,SkuSelector:Ve,ShippingSimulation:Me,ImageGallery:Te,ImageGalleryViewer:Ae,__experimentalImageGalleryImage:qe,__experimentalImageGallery:Ge,__experimentalShippingSimulation:Fe,__experimentalNotAvailableButton:He}=(0,Se.f)({ProductTitle:M,DiscountBadge:T.Z,BuyButton:q,Icon:G.Z,Price:F.Z,QuantitySelector:H.Z,SkuSelector:Y,ShippingSimulation:ae,ImageGallery:ce,ImageGalleryViewer:de,__experimentalImageGalleryImage:N.Z,__experimentalImageGallery:ve,__experimentalShippingSimulation:function(e){var t,r,a,i,o,l,{productShippingInfo:s,formatter:c,inputLabel:d,title:u,idkPostalCodeLinkProps:p}=e,f=(0,L.Z)(e,xe),{input:b,shippingSimulation:v,handleSubmit:g,handleOnInput:y,handleOnClear:h}=ke(s),{postalCode:O,displayClearButton:j,errorMessage:w}=b,P=null!==(t=[null===v||void 0===v||null===(r=v.address)||void 0===r?void 0:r.neighborhood,null===v||void 0===v||null===(a=v.address)||void 0===a?void 0:a.city].filter(Boolean).join(" / "))&&void 0!==t?t:"",E=null!==(i=null===v||void 0===v||null===(o=v.logisticsInfo)||void 0===o||null===(l=o[0])||void 0===l?void 0:l.slas)&&void 0!==i?i:[];return(0,m.jsx)(Me.Component,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ie(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({formatter:c,onInput:y,onSubmit:g,onClear:h,location:P,options:E,address:null===v||void 0===v?void 0:v.address,displayClearButton:j,errorMessage:w,postalCode:O,inputLabel:d,title:u,idkPostalCodeLinkProps:p},f))},__experimentalNotAvailableButton:Ce},De),$e=["src","alt"],ze=["slugsMap","activeVariations","availableVariations"];function Qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Je(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qe(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var We=e=>{var{src:t,alt:r}=e,n=(0,L.Z)(e,$e);return(0,m.jsx)(N.Z,Je({src:t,alt:r,width:34,height:34},n))};var Xe=function(e){var{slugsMap:t,activeVariations:r,availableVariations:n}=e,a=(0,L.Z)(e,ze);return(0,m.jsx)("section",Je(Je({},a),{},{children:n&&Object.keys(n).map((e=>{var a,i,o,l,s;return(0,v.createElement)(Ve.Component,Je(Je({ImageComponent:We},Ve.props),{},{key:e,skuPropertyName:e,availableVariations:n,activeVariations:r,slugsMap:t,linkProps:Je(Je({},null!==(a=Ve.props.linkProps)&&void 0!==a?a:{}),{},{as:null!==(i=null===(o=Ve.props.linkProps)||void 0===o?void 0:o.as)&&void 0!==i?i:R(),legacyBehavior:null!==(l=null===(s=Ve.props.linkProps)||void 0===s?void 0:s.legacyBehavior)&&void 0!==l&&l})}))}))}))};function Ue(){return(0,m.jsxs)("svg",{role:"img",width:"100%",height:"48","aria-labelledby":"loading-aria",viewBox:"0 0 112 48",preserveAspectRatio:"none",children:[(0,m.jsx)("title",{id:"loading-aria",children:"Loading..."}),(0,m.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",clipPath:"url(#clip-path)",style:{fill:'url("#fill")'}}),(0,m.jsxs)("defs",{children:[(0,m.jsx)("clipPath",{id:"clip-path",children:(0,m.jsx)("rect",{x:"0",y:"0",rx:"2",ry:"2",width:"112",height:"48"})}),(0,m.jsxs)("linearGradient",{id:"fill",children:[(0,m.jsx)("stop",{offset:"0.599964",stopColor:"#f3f3f3",stopOpacity:"1",children:(0,m.jsx)("animate",{attributeName:"offset",values:"-2; -2; 1",keyTimes:"0; 0.25; 1",dur:"2s",repeatCount:"indefinite"})}),(0,m.jsx)("stop",{offset:"1.59996",stopColor:"#ecebeb",stopOpacity:"1",children:(0,m.jsx)("animate",{attributeName:"offset",values:"-1; -1; 2",keyTimes:"0; 0.25; 1",dur:"2s",repeatCount:"indefinite"})}),(0,m.jsx)("stop",{offset:"2.59996",stopColor:"#f3f3f3",stopOpacity:"1",children:(0,m.jsx)("animate",{attributeName:"offset",values:"0; 0; 3",keyTimes:"0; 0.25; 1",dur:"2s",repeatCount:"indefinite"})})]})]})]})}function Ye(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ye(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ye(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var et=function(e){var{product:t,buyButtonTitle:r,isValidating:n,quantity:a,setQuantity:i,buyButtonIcon:{icon:o=Be.props.name,alt:l=Be.props["aria-label"]},notAvailableButtonTitle:s}=e,{id:c,sku:d,gtin:u,name:p,brand:f,isVariantOf:b,isVariantOf:{skuVariants:g},image:y,additionalProperty:h,offers:{lowPrice:O,offers:[{availability:j,price:w,listPrice:x,seller:I}]}}=t,C=(e=>{var{openCart:t}=(0,Z.l)(),{currency:{code:r}}=(0,k.kP)();return{onClick:(0,v.useCallback)((n=>{n.preventDefault(),e&&((0,P._)({name:"add_to_cart",params:{currency:r,value:e.price*e.quantity,items:[{item_id:e.itemOffered.isVariantOf.productGroupID,item_name:e.itemOffered.isVariantOf.name,item_brand:e.itemOffered.brand.name,item_variant:e.itemOffered.sku,quantity:e.quantity,price:e.price,discount:e.listPrice-e.price,currency:r,item_variant_name:e.itemOffered.name,product_reference_id:e.itemOffered.gtin}]}}),_.i8.addItem(e),t())}),[r,e,t]),"data-testid":"buy-button","data-sku":null===e||void 0===e?void 0:e.itemOffered.sku,"data-seller":null===e||void 0===e?void 0:e.seller.identifier}})({id:c,price:w,listPrice:x,seller:I,quantity:a,itemOffered:{sku:d,name:p,gtin:u,image:y,brand:f,isVariantOf:b,additionalProperty:h}}),S=(0,v.useMemo)((()=>"https://schema.org/OutOfStock"===j),[j]),D=(0,v.useMemo)((()=>O!==x),[O,x]),L=()=>S?(0,m.jsx)(He.Component,{children:s}):(0,m.jsx)(Le.Component,Ke(Ke(Ke({},Le.props),{},{icon:(0,m.jsx)(Be.Component,Ke(Ke({},Be.props),{},{name:o,"aria-label":l}))},C),{},{children:r||"Add to Cart"}));return(0,m.jsxs)(m.Fragment,{children:[!S&&(0,m.jsxs)("section",{"data-fs-product-details-values":!0,children:[(0,m.jsx)("div",{"data-fs-product-details-prices":!0,children:D?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Re.Component,Ke(Ke({formatter:E.P,testId:"list-price",variant:"listing",SRText:"Original price:"},Re.props),{},{value:x,"data-value":x})),(0,m.jsx)(Re.Component,Ke(Ke({formatter:E.P,testId:"price",variant:"spot",className:"text__lead",SRText:"Sale Price:"},Re.props),{},{value:O,"data-value":O}))]}):(0,m.jsx)(Re.Component,Ke(Ke({formatter:E.P,testId:"list-price",variant:"spot",className:"text__lead",SRText:"Original price:"},Re.props),{},{value:O,"data-value":O}))}),(0,m.jsx)(Ne.Component,Ke(Ke({min:1,max:10},Ne.props),{},{onChange:i}))]}),g&&(0,m.jsx)(Xe,{slugsMap:g.slugsMap,availableVariations:g.availableVariations,activeVariations:g.activeVariations,"data-fs-product-details-selectors":!0}),n?(0,m.jsx)(Ue,{}):(0,m.jsx)(L,{})]})},tt=r(2998),rt=r.n(tt);function nt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function at(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?nt(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var it=function(e){var t,r,{productTitle:{refNumber:n,discountBadge:{showDiscountBadge:a,size:i=_e.props.size}},buyButton:{icon:o,title:l},shippingSimulator:{title:s=Fe.props.title,inputLabel:c=Fe.props.inputLabel,shippingOptionsTableTitle:u=Fe.props.optionsLabel,link:{to:p=(null===(t=Fe.props.idkPostalCodeLinkProps)||void 0===t?void 0:t.href),text:f=(null===(r=Fe.props.idkPostalCodeLinkProps)||void 0===r?void 0:r.children)}},productDescription:{title:b,initiallyExpanded:g,displayDescription:y},notAvailableButton:{title:O=He.props.title}}=e,{currency:j}=(0,k.kP)(),{0:w,1:x}=(0,v.useState)(1),I=(0,h.al)(),{product:C,isValidating:S}=null===I||void 0===I?void 0:I.data;if(!C)throw new Error("NotFound");var{id:Z,sku:_,gtin:L,name:B,brand:R,isVariantOf:N,description:V,isVariantOf:{name:M,productGroupID:T},image:A,offers:{offers:[{availability:q,price:G,listPrice:F,seller:H}],lowPrice:$}}=C;(0,v.useEffect)((()=>{(0,P._)({name:"view_item",params:{currency:j.code,value:G,items:[{item_id:N.productGroupID,item_name:N.name,item_brand:R.name,item_variant:_,price:G,discount:F-G,currency:j.code,item_variant_name:B,product_reference_id:L}]}})}),[N.productGroupID,N.name,R.name,_,G,F,j.code,B,L]);var z=(0,v.useMemo)((()=>"https://schema.org/OutOfStock"===q),[q]);return(0,m.jsx)(d.Z,{className:"".concat(rt().section," section-product-details"),children:(0,m.jsx)("section",{"data-fs-product-details":!0,children:(0,m.jsxs)("section",{"data-fs-product-details-body":!0,"data-fs-content":"product-details",children:[(0,m.jsx)("header",{"data-fs-product-details-title":!0,"data-fs-product-details-section":!0,children:(0,m.jsx)(Ze.Component,at(at({title:(0,m.jsx)("h1",{children:M})},Ze.props),{},{label:a&&(0,m.jsx)(_e.Component,at(at({},_e.props),{},{size:i,listPrice:F,spotPrice:$})),refNumber:n&&T}))}),(0,m.jsx)(Ge.Component,at(at({"data-fs-product-details-gallery":!0},Ge.props),{},{images:A})),(0,m.jsxs)("section",{"data-fs-product-details-info":!0,children:[(0,m.jsx)("section",{"data-fs-product-details-settings":!0,"data-fs-product-details-section":!0,children:(0,m.jsx)(et,{product:C,isValidating:S,buyButtonTitle:l,quantity:w,setQuantity:x,buyButtonIcon:o,notAvailableButtonTitle:O})}),!z&&(0,m.jsx)(Fe.Component,at(at({"data-fs-product-details-section":!0,"data-fs-product-details-shipping":!0,formatter:E.P},Fe.props),{},{idkPostalCodeLinkProps:at(at({},Fe.props.idkPostalCodeLinkProps),{},{href:p,children:f}),productShippingInfo:{id:Z,quantity:w,seller:H.identifier},title:s,inputLabel:c,optionsLabel:u}))]}),y&&(0,m.jsx)(D,{initiallyExpanded:g,descriptionData:[{title:b,content:V}]})]})})})},ot=r(3276),lt=r(2541),st=r(5469),ct=r(7732);function dt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ut(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):dt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var pt=ut({Breadcrumb:b.Z,ProductDetails:it,CrossSellingShelf:w,BannerNewsletter:f,BannerText:s.Z},ot.Z),mt=(e,t)=>t;function ft(e){var t,r,{data:n,sections:i,globalSections:s,offers:c,meta:d}=e,{product:u}=n,{currency:p}=(0,k.kP)(),{data:f,isValidating:b}=((e,t)=>{var{channel:r,locale:n}=(0,k.kP)(),a=(0,v.useMemo)((()=>{if(!r)throw new Error("useProductQuery: 'channel' from session is an empty string.");return{locator:[{key:"id",value:e},{key:"channel",value:r},{key:"locale",value:n}]}}),[r,n,e]);return(0,ct.aM)("ClientProductQuery",a,{fallbackData:t,revalidateOnMount:!0})})(u.id,{product:u}),g={data:ut(ut({},o()(n,f,{arrayMerge:mt})),{},{isValidating:b})};return(0,m.jsxs)(st.ZP,ut(ut({},s),{},{children:[(0,m.jsx)(a.PB,{title:d.title,description:d.description,canonical:d.canonical,openGraph:{type:"og:product",url:d.canonical,title:d.title,description:d.description,images:u.image.map((e=>({url:e.url,alt:e.alternateName})))},additionalMetaTags:[{property:"product:price:amount",content:null!==(t=null===(r=u.offers.lowPrice)||void 0===r?void 0:r.toString())&&void 0!==t?t:void 0},{property:"product:price:currency",content:p.code}]}),(0,m.jsx)(a.gR,{itemListElements:u.breadcrumbList.itemListElement}),(0,m.jsx)(a.Qb,{productName:u.name,description:u.description,brand:u.brand.name,sku:u.sku,gtin:u.gtin,releaseDate:u.releaseDate,images:u.image.map((e=>e.url)),offers:c}),(0,m.jsx)(h.ZP,{context:g,children:(0,m.jsx)(l.Z,{sections:i,components:pt})})]}))}ft.displayName="Page";var bt=!0,vt=(0,lt.B)(ft)},5953:function(e,t,r){"use strict";r.d(t,{En:function(){return l},OJ:function(){return o},al:function(){return d},qt:function(){return c},tS:function(){return i}});var n=r(2784),a=r(2322),i=e=>{var t,r,n,a;return void 0!=(null===e||void 0===e||null===(t=e.data)||void 0===t||null===(r=t.product)||void 0===r?void 0:r.sku)&&null!=(null===e||void 0===e||null===(n=e.data)||void 0===n||null===(a=n.product)||void 0===a?void 0:a.sku)},o=e=>{var t,r,n,a,i,o;return void 0!=(null===e||void 0===e||null===(t=e.data)||void 0===t||null===(r=t.collection)||void 0===r?void 0:r.seo)&&null!=(null===e||void 0===e||null===(n=e.data)||void 0===n||null===(a=n.collection)||void 0===a?void 0:a.seo)&&void 0==(null===e||void 0===e||null===(i=e.data)||void 0===i||null===(o=i.collection)||void 0===o?void 0:o.sku)},l=e=>{var t,r;return void 0===e||void 0!=(null===e||void 0===e||null===(t=e.data)||void 0===t?void 0:t.title)||void 0!=(null===e||void 0===e||null===(r=e.data)||void 0===r?void 0:r.searchTerm)},s=(0,n.createContext)(null);function c(){var{context:e}=(0,n.useContext)(s);if(null==e)throw new Error("Missing Overrides context on React tree");return e}var d=()=>c();t.ZP=function(e){var{context:t,children:r}=e,i=(0,n.useMemo)((()=>({context:t})),[t]);return(0,a.jsx)(s.Provider,{value:i,children:r})}},6258:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/[slug]/p",function(){return r(4842)}])},3581:function(e){e.exports={section:"section_section__pVnFl"}},4579:function(e){e.exports={section:"section_section__hRV9B"}},2998:function(e){e.exports={section:"section_section__XsOoR"}}},function(e){e.O(0,[742,469,783,774,888,179],(function(){return t=6258,e(e.s=t);var t}));var t=e.O();_N_E=t}]);
|
|
File without changes
|