@faststore/core 3.25.2 → 3.25.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/server-production/0.pack +0 -0
  8. package/.next/cache/webpack/server-production/index.pack +0 -0
  9. package/.next/prerender-manifest.js +1 -1
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/routes-manifest.json +1 -1
  12. package/.next/server/middleware-build-manifest.js +1 -1
  13. package/.next/server/pages/[slug]/p.js +1 -1
  14. package/.next/server/pages/en-US/404.html +2 -2
  15. package/.next/server/pages/en-US/500.html +2 -2
  16. package/.next/server/pages/en-US/account.html +2 -2
  17. package/.next/server/pages/en-US/checkout.html +2 -2
  18. package/.next/server/pages/en-US/login.html +2 -2
  19. package/.next/server/pages/en-US/s.html +2 -2
  20. package/.next/server/pages/en-US.html +2 -2
  21. package/.next/server/pages-manifest.json +1 -1
  22. package/.next/static/{izsXTOf4Jm9reTRkPSdSu → YEh11IGhHwQHucJbKi7o7}/_buildManifest.js +1 -1
  23. package/.next/static/chunks/pages/[slug]/p-f551bd05f2c26f5f.js +1 -0
  24. package/.next/trace +121 -121
  25. package/.turbo/turbo-build.log +7 -7
  26. package/.turbo/turbo-test.log +5 -5
  27. package/CHANGELOG.md +12 -0
  28. package/package.json +2 -2
  29. package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +18 -24
  30. package/src/sdk/shipping/useShippingSimulation.ts +10 -3
  31. package/.next/static/chunks/pages/[slug]/p-d1fa1e8ec5f56258.js +0 -1
  32. /package/.next/static/{izsXTOf4Jm9reTRkPSdSu → YEh11IGhHwQHucJbKi7o7}/_ssgManifest.js +0 -0
@@ -1,23 +1,23 @@
1
1
 
2
- > @faststore/core@3.25.1 prebuild /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@3.25.3 prebuild /home/runner/work/faststore/faststore/packages/core
3
3
  > na run partytown && na run generate
4
4
 
5
5
 
6
- > @faststore/core@3.25.1 partytown /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@3.25.3 partytown /home/runner/work/faststore/faststore/packages/core
7
7
  > partytown copylib ./public/~partytown
8
8
 
9
9
  Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
10
10
 
11
- > @faststore/core@3.25.1 generate /home/runner/work/faststore/faststore/packages/core
11
+ > @faststore/core@3.25.3 generate /home/runner/work/faststore/faststore/packages/core
12
12
  > na run generate:schema && na run generate:codegen && na run format:generated
13
13
 
14
14
 
15
- > @faststore/core@3.25.1 generate:schema /home/runner/work/faststore/faststore/packages/core
15
+ > @faststore/core@3.25.3 generate:schema /home/runner/work/faststore/faststore/packages/core
16
16
  > tsx src/server/generator/generateGraphQLSchemaFile.ts
17
17
 
18
18
  Schema GraphQL file generated successfully
19
19
 
20
- > @faststore/core@3.25.1 generate:codegen /home/runner/work/faststore/faststore/packages/core
20
+ > @faststore/core@3.25.3 generate:codegen /home/runner/work/faststore/faststore/packages/core
21
21
  > graphql-codegen
22
22
 
23
23
  [STARTED] Parse Configuration
@@ -37,11 +37,11 @@ Running lifecycle hook "afterStart" scripts...
37
37
  [CLI] Loading Documents
38
38
  [CLI] Generating output
39
39
 
40
- > @faststore/core@3.25.1 format:generated /home/runner/work/faststore/faststore/packages/core
40
+ > @faststore/core@3.25.3 format:generated /home/runner/work/faststore/faststore/packages/core
41
41
  > prettier --write "@generated/**/*.{ts,js,tsx,jsx,json}" --loglevel error
42
42
 
43
43
 
44
- > @faststore/core@3.25.1 build /home/runner/work/faststore/faststore/packages/core
44
+ > @faststore/core@3.25.3 build /home/runner/work/faststore/faststore/packages/core
45
45
  > next build
46
46
 
47
47
  ⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
@@ -1,14 +1,14 @@
1
1
 
2
- > @faststore/core@3.25.1 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@3.25.3 test /home/runner/work/faststore/faststore/packages/core
3
3
  > jest
4
4
 
5
- PASS test/server/cms/global.test.ts (29.942 s)
6
- PASS test/utils/multipleTemplates.test.ts (31.548 s)
5
+ PASS test/utils/multipleTemplates.test.ts (28.135 s)
6
+ PASS test/server/cms/global.test.ts (28.114 s)
7
7
  PASS test/server/cms/index.test.ts
8
- PASS test/server/index.test.ts (35.417 s)
8
+ PASS test/server/index.test.ts (33.177 s)
9
9
 
10
10
  Test Suites: 4 passed, 4 total
11
11
  Tests: 22 passed, 22 total
12
12
  Snapshots: 0 total
13
- Time: 36.672 s
13
+ Time: 34.276 s
14
14
  Ran all test suites.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.25.4](https://github.com/vtex/faststore/compare/v3.25.3...v3.25.4) (2025-03-07)
7
+
8
+ ### Bug Fixes
9
+
10
+ - ClientShippingSimulationQuery being called multiple times ([#2710](https://github.com/vtex/faststore/issues/2710)) ([5a85c10](https://github.com/vtex/faststore/commit/5a85c10166110e081992a65f7b6798e304f87c41))
11
+
12
+ ## [3.25.3](https://github.com/vtex/faststore/compare/v3.25.2...v3.25.3) (2025-03-07)
13
+
14
+ ### Bug Fixes
15
+
16
+ - Product Details' Buy Button excessive state reset ([#2712](https://github.com/vtex/faststore/issues/2712)) ([a84fdde](https://github.com/vtex/faststore/commit/a84fdde93f3a0b61f8a75bcc87143a03d864d768))
17
+
6
18
  ## [3.25.2](https://github.com/vtex/faststore/compare/v3.25.1...v3.25.2) (2025-03-06)
7
19
 
8
20
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.25.2",
3
+ "version": "3.25.4",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -104,5 +104,5 @@
104
104
  "ts-jest": "29.1.1",
105
105
  "typescript": "5.3.2"
106
106
  },
107
- "gitHead": "5b8d8be62be17a3587d5d0add211582e9ec9de05"
107
+ "gitHead": "49cef35603afebd3dd6d112b0ae45a719a7b634b"
108
108
  }
@@ -101,29 +101,6 @@ function ProductDetailsSettings({
101
101
  [availability]
102
102
  )
103
103
 
104
- const AddToCartButton = () => {
105
- return outOfStock ? (
106
- // TODO: Adds <OutOfStock /> when component is ready to use
107
- <NotAvailableButton.Component>
108
- {notAvailableButtonTitle}
109
- </NotAvailableButton.Component>
110
- ) : (
111
- <BuyButton.Component
112
- {...BuyButton.props}
113
- icon={
114
- <Icon.Component
115
- {...Icon.props}
116
- name={buyButtonIconName ?? Icon.props.name}
117
- aria-label={buyButtonIconAlt ?? Icon.props['aria-label']}
118
- />
119
- }
120
- {...buyProps}
121
- >
122
- {buyButtonTitle || 'Add to Cart'}
123
- </BuyButton.Component>
124
- )
125
- }
126
-
127
104
  return (
128
105
  <>
129
106
  {!outOfStock && (
@@ -192,8 +169,25 @@ function ProductDetailsSettings({
192
169
  background color when changing from its initial disabled to active state.
193
170
  See full explanation on commit https://git.io/JyXV5. */
194
171
  <AddToCartLoadingSkeleton />
172
+ ) : outOfStock ? (
173
+ // TODO: Adds <OutOfStock /> when component is ready to use
174
+ <NotAvailableButton.Component>
175
+ {notAvailableButtonTitle}
176
+ </NotAvailableButton.Component>
195
177
  ) : (
196
- <AddToCartButton />
178
+ <BuyButton.Component
179
+ {...BuyButton.props}
180
+ icon={
181
+ <Icon.Component
182
+ {...Icon.props}
183
+ name={buyButtonIconName ?? Icon.props.name}
184
+ aria-label={buyButtonIconAlt ?? Icon.props['aria-label']}
185
+ />
186
+ }
187
+ {...buyProps}
188
+ >
189
+ {buyButtonTitle || 'Add to Cart'}
190
+ </BuyButton.Component>
197
191
  )}
198
192
  </>
199
193
  )
@@ -1,6 +1,6 @@
1
+ import type { ClientShippingSimulationQueryQuery } from '@generated/graphql'
1
2
  import type { ChangeEvent } from 'react'
2
3
  import { useCallback, useEffect, useReducer, useRef } from 'react'
3
- import type { ClientShippingSimulationQueryQuery } from '@generated/graphql'
4
4
  import getShippingSimulation from '.'
5
5
  import { useSession } from '../session'
6
6
 
@@ -109,8 +109,15 @@ export const useShippingSimulation = (shippingItem: ProductShippingInfo) => {
109
109
  const { country, postalCode: sessionPostalCode } = useSession()
110
110
  const { postalCode: shippingPostalCode } = input
111
111
  const shippingPostalCodeRef = useRef(shippingPostalCode)
112
+ /**
113
+ * Internally useEffect compares the dependencies by reference - it's a problem when there is an object.
114
+ * Stringifying the object to compare it by value avoids calling useEffect multiple times
115
+ * when there is no change in the dependencies.
116
+ */
117
+ const shippingItemJson = JSON.stringify(shippingItem)
112
118
 
113
119
  useEffect(() => {
120
+ const shippingItemParsed = JSON.parse(shippingItemJson)
114
121
  const shouldFetch = sessionPostalCode && !shippingPostalCodeRef.current
115
122
  if (!shouldFetch) {
116
123
  return
@@ -121,7 +128,7 @@ export const useShippingSimulation = (shippingItem: ProductShippingInfo) => {
121
128
  const data = await getShippingSimulation({
122
129
  country,
123
130
  postalCode: sessionPostalCode ?? '',
124
- items: [shippingItem],
131
+ items: [shippingItemParsed],
125
132
  })
126
133
  const shippingSimulation = data.shipping
127
134
 
@@ -139,7 +146,7 @@ export const useShippingSimulation = (shippingItem: ProductShippingInfo) => {
139
146
  }
140
147
 
141
148
  fetchShipping()
142
- }, [country, sessionPostalCode, shippingItem])
149
+ }, [country, sessionPostalCode, shippingItemJson])
143
150
 
144
151
  const handleSubmit = useCallback(async () => {
145
152
  try {
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2103,306,5268],{6482:function(e,t,r){"use strict";r.d(t,{j:function(){return h}});var n=r(2565),i={section:"Breadcrumb"},o=r(3398),a=r(4194),l=r(5355),s=r(601),c=r.n(s),u=r(1295),d=r(5089),f=r(5164),b=r(2614),m={Breadcrumb:f.Z,Icon:b.Z},v=r(1549);function ownKeys(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 y=(0,o.B)("Breadcrumb",function(e){var t,r,i,o,a,s,f,b,m,y=Object.assign({},e),{Breadcrumb:g}=(0,d.r3)(),h=(0,u.qt)(),j=(0,u.OJ)(h)?null==h?void 0:null===(t=h.data)||void 0===t?void 0:null===(r=t.collection)||void 0===r?void 0:null===(i=r.seo)||void 0===i?void 0:i.title:"All Products",O=(0,u.tS)(h)?null==h?void 0:null===(o=h.data)||void 0===o?void 0:null===(a=o.product)||void 0===a?void 0:null===(s=a.breadcrumbList)||void 0===s?void 0:s.itemListElement:(0,u.OJ)(h)?null==h?void 0:null===(f=h.data)||void 0===f?void 0:null===(b=f.collection)||void 0===b?void 0:null===(m=b.breadcrumbList)||void 0===m?void 0:m.itemListElement:[{item:"/",name:j,position:1}];return(0,v.jsx)(l.Z,{className:"".concat(c().section," section-breadcrumb"),children:(0,v.jsx)(g.Component,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({breadcrumbList:O},y))})},m),g=(0,a.memo)(y);function OverriddenDefaultBreadcrumb_ownKeys(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 OverriddenDefaultBreadcrumb_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultBreadcrumb_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultBreadcrumb_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var h=(0,o.v)(OverriddenDefaultBreadcrumb_objectSpread(OverriddenDefaultBreadcrumb_objectSpread(OverriddenDefaultBreadcrumb_objectSpread({},i),i),{},{Section:g}))},1900:function(e,t,r){"use strict";r.d(t,{V:function(){return g}});var n=r(2565),i={section:"Hero"},o=r(3398),a=r(7272),l=r(5089),s=r(5355),c=r(8704),u=r.n(c),d=r(8957),f=r(4147),b=r(7154),m={Hero:d.Z,HeroImage:f.Z,HeroHeader:b.Z},v=r(1549);function ownKeys(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 _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var y=(0,o.B)("Hero",e=>{var t,r,{link:n,title:i,subtitle:o,image:c,variant:d,colorVariant:f,icon:b}=e,{Hero:m,HeroImage:y,HeroHeader:g}=(0,l.r3)();return(0,v.jsx)(s.Z,{className:"".concat(u().section," section-hero"),children:(0,v.jsxs)(m.Component,_objectSpread(_objectSpread({},m.props),{},{variant:null!==(t=null!=d?d:m.props.variant)&&void 0!==t?t:"primary",colorVariant:null!==(r=null!=f?f:m.props.colorVariant)&&void 0!==r?r:"main",children:[(0,v.jsx)(y.Component,_objectSpread(_objectSpread({},y.props),{},{children:(0,v.jsx)(a.Z,{loading:"eager",src:c.src,alt:c.alt,width:360,height:240,sizes:"(max-width: 412px) 40vw, (max-width: 768px) 90vw, 50vw",priority:!0})})),(0,v.jsx)(g.Component,_objectSpread({title:i,subtitle:o,link:null==n?void 0:n.url,linkText:null==n?void 0:n.text,linkTargetBlank:null==n?void 0:n.linkTargetBlank,icon:b},g.props))]}))})},m);function OverriddenDefaultHero_ownKeys(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 OverriddenDefaultHero_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultHero_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultHero_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var g=(0,o.v)(OverriddenDefaultHero_objectSpread(OverriddenDefaultHero_objectSpread(OverriddenDefaultHero_objectSpread({},i),i),{},{Section:y}))},4103:function(e,t,r){"use strict";r.d(t,{K:function(){return i},g:function(){return n}});var n=12,i=5},5043:function(e,t,r){"use strict";r.r(t),r.d(t,{__N_SSG:function(){return eC},default:function(){return p}});var n,i=r(2565),o=r(4876),a=r.n(o),l=r(3420),s=r(7519),c=r.n(s),u=r(2678),d=r(266),f=r(417),b=r(574),m=r(6482),v=r(8163),y=r(1900),g=r(8822),h={section:"ProductDetails"},j=r(3398),O=r(4194),S=r(1389),P=r(1124),_=r(5355),w=r(9316),x=r.n(w),D=r(7249),k=r.n(D),E=r(5089),C=r(1295),Z=r(8212),K=r(2946),I=r(6476),B=r(2614),M=r(9088),T=r(6693),V=r(5136),L=r(8878),A=r(165),N=r(1431),U=r(7866),H=r(7859),R=r(831),G=r(6338),q=r(4677),z=r(1549),W=["images"];function ownKeys(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 _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ImageComponent=e=>{var{url:t,alternateName:r}=e,{__experimentalImageGalleryImage:n}=(0,E.r3)();return(0,z.jsx)(n.Component,{src:t,alt:r,width:68,height:68})},F=r(3890),Q=r(8431),J=r(8199),$=Q.Pq,X=(n=(0,F.Z)(function*(e){var{items:t,postalCode:r,country:n}=e;return yield(0,J.W)($,{items:t,postalCode:r,country:n})}),function(e){return n.apply(this,arguments)});function useShippingSimulation_ownKeys(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 useShippingSimulation_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?useShippingSimulation_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):useShippingSimulation_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var createEmptySimulation=()=>({input:{postalCode:"",displayClearButton:!1,errorMessage:""},shippingSimulation:void 0}),reducer=(e,t)=>{var{type:r}=t;switch(r){case"clear":return createEmptySimulation();case"update":var{payload:n}=t;return{input:useShippingSimulation_objectSpread(useShippingSimulation_objectSpread({},e.input),n.input),shippingSimulation:useShippingSimulation_objectSpread(useShippingSimulation_objectSpread({},e.shippingSimulation),n.shippingSimulation)};case"onInput":var{payload:i}=t;return useShippingSimulation_objectSpread(useShippingSimulation_objectSpread({},e),{},{input:useShippingSimulation_objectSpread({},i)});case"onError":var{payload:o}=t;return useShippingSimulation_objectSpread(useShippingSimulation_objectSpread({},e),{},{input:useShippingSimulation_objectSpread(useShippingSimulation_objectSpread({},e.input),o)});default:throw Error("Action ".concat(r," not implemented"))}},useShippingSimulation=e=>{var{0:{input:t,shippingSimulation:r},1:n}=(0,O.useReducer)(reducer,null,createEmptySimulation),{country:i,postalCode:o}=(0,P.kP)(),{postalCode:a}=t,l=(0,O.useRef)(a);return(0,O.useEffect)(()=>{o&&!l.current&&function(){_fetchShipping.apply(this,arguments)}();function _fetchShipping(){return(_fetchShipping=(0,F.Z)(function*(){var t=(yield X({country:i,postalCode:null!=o?o:"",items:[e]})).shipping;n({type:"update",payload:{input:{postalCode:null!=o?o:"",displayClearButton:!0,errorMessage:""},shippingSimulation:t}})})).apply(this,arguments)}},[i,o,e]),{input:t,shippingSimulation:r,handleOnClear:()=>{n({type:"clear"})},handleSubmit:(0,O.useCallback)((0,F.Z)(function*(){try{var t=(yield X({country:i,postalCode:null!=a?a:"",items:[e]})).shipping;n({type:"update",payload:{input:{displayClearButton:!0,errorMessage:""},shippingSimulation:t}})}catch(e){n({type:"onError",payload:{displayClearButton:!0,errorMessage:"You entered an invalid Postal Code"}})}}),[i,e,a]),handleOnInput:(0,O.useCallback)(e=>{var t=e.currentTarget.value;t?n({type:"onInput",payload:{postalCode:t,displayClearButton:!1,errorMessage:""}}):n({type:"clear"})},[])}},Y=["productShippingInfo","formatter","inputLabel","title","idkPostalCodeLinkProps"];function ShippingSimulation_ownKeys(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 ee=r(7272),et=r(3339),er=r(2955),en=r(6652),ei=r(812),useBuyButton=e=>{var t,{openCart:n}=(0,en.l)(),{currency:{code:i}}=(0,P.kP)(),o=Array.isArray(e);return{onClick:(0,O.useCallback)(t=>{if(t.preventDefault(),e){var a=o?e.reduce((e,t)=>e+=t.price*t.quantity,0):e.price*e.quantity;r.e(7195).then(r.bind(r,1153)).then(t=>{var{sendAnalyticsEvent:r}=t;r({name:"add_to_cart",params:{currency:i,value:a,items:o?e.map(generatedItem):[generatedItem(e)]}})}),o?e.forEach(e=>ei.i8.addItem(e)):ei.i8.addItem(e),n()}function generatedItem(e){return{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:i,item_variant_name:e.itemOffered.name,product_reference_id:e.itemOffered.gtin}}},[i,e,n,o]),"data-testid":"buy-button","data-sku":o?"sku-matrix-sidebar":null==e?void 0:e.itemOffered.sku,"data-seller":o?null===(t=e[0])||void 0===t?void 0:t.seller.identifier:null==e?void 0:e.seller.identifier}},eo=r(5463);function useAllVariantProducts_ownKeys(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 useAllVariantProducts_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?useAllVariantProducts_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):useAllVariantProducts_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ea=Q.gN,useAllVariantProducts=(e,t,r,n)=>{var{channel:i,locale:o}=(0,P.kP)(),a=(0,O.useMemo)(()=>{if(!i)throw Error("useAllVariantProducts: 'channel' from session is an empty string.");return{locator:[{key:"id",value:e},{key:"channel",value:i},{key:"locale",value:o}]}},[i,o,e]);return(0,eo.aM)(ea,a,{fallbackData:n,revalidateOnMount:!0,doNotRun:!t,onSuccess:e=>{r(e.product.isVariantOf.skuVariants.allVariantProducts.map(e=>{var t=e.additionalProperty.reduce((e,t)=>useAllVariantProducts_objectSpread(useAllVariantProducts_objectSpread({},e),{},{[t.name.toLowerCase()]:t.value}),{}),r="https://schema.org/OutOfStock"===e.offers.offers[0].availability;return{id:e.sku,name:e.name,image:{url:e.image[0].url,alternateName:e.image[0].alternateName},inventory:e.offers.offers[0].quantity,availability:r?"outOfStock":"available",price:e.offers.offers[0].price,listPrice:e.offers.offers[0].listPrice,priceWithTaxes:e.offers.offers[0].priceWithTaxes,listPriceWithTaxes:e.offers.offers[0].listPriceWithTaxes,specifications:t,offers:e.offers,selectedCount:0}}).sort((e,t)=>e.name.localeCompare(t.name)))}})},el=["src","alt"];function SKUMatrixSidebar_ownKeys(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 SKUMatrixSidebar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SKUMatrixSidebar_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SKUMatrixSidebar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var SKUMatrixSidebar_ImageComponent=e=>{var{src:t,alt:r}=e,n=(0,G.Z)(e,el);return(0,z.jsx)(ee.Z,SKUMatrixSidebar_objectSpread({src:t,alt:r,width:48,height:48},n))},es=r(1516),ec=r(783),eu=r(7734),ed=r(7583),ep=r(3179),ef=r.n(ep),eb=["src","alt"],em=["slugsMap","activeVariations","availableVariations"];function Selectors_ownKeys(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 Selectors_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Selectors_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Selectors_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Selectors_ImageComponent=e=>{var{src:t,alt:r}=e,n=(0,G.Z)(e,eb);return(0,z.jsx)(ee.Z,Selectors_objectSpread({src:t,alt:r,width:34,height:34},n))},SkuSelector_Selectors=function(e){var{slugsMap:t,activeVariations:r,availableVariations:n}=e,i=(0,G.Z)(e,em),{SkuSelector:o}=(0,E.r3)();return(0,z.jsx)("section",Selectors_objectSpread(Selectors_objectSpread({},i),{},{children:n&&Object.keys(n).map(e=>{var i,a,l,s,c;return(0,O.createElement)(o.Component,Selectors_objectSpread(Selectors_objectSpread({ImageComponent:Selectors_ImageComponent},o.props),{},{key:e,skuPropertyName:e,availableVariations:n,activeVariations:r,slugsMap:t,linkProps:Selectors_objectSpread(Selectors_objectSpread({},null!==(i=o.props.linkProps)&&void 0!==i?i:{}),{},{as:null!==(a=null===(l=o.props.linkProps)||void 0===l?void 0:l.as)&&void 0!==a?a:ef(),legacyBehavior:null!==(s=null===(c=o.props.linkProps)||void 0===c?void 0:c.legacyBehavior)&&void 0!==s&&s})}))})}))};function AddToCartLoadingSkeleton(){return(0,z.jsxs)("svg",{role:"img",width:"100%",height:"48","aria-labelledby":"loading-aria",viewBox:"0 0 112 48",preserveAspectRatio:"none",children:[(0,z.jsx)("title",{id:"loading-aria",children:"Loading..."}),(0,z.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",clipPath:"url(#clip-path)",style:{fill:'url("#fill")'}}),(0,z.jsxs)("defs",{children:[(0,z.jsx)("clipPath",{id:"clip-path",children:(0,z.jsx)("rect",{x:"0",y:"0",rx:"2",ry:"2",width:"112",height:"48"})}),(0,z.jsxs)("linearGradient",{id:"fill",children:[(0,z.jsx)("stop",{offset:"0.599964",stopColor:"#f3f3f3",stopOpacity:"1",children:(0,z.jsx)("animate",{attributeName:"offset",values:"-2; -2; 1",keyTimes:"0; 0.25; 1",dur:"2s",repeatCount:"indefinite"})}),(0,z.jsx)("stop",{offset:"1.59996",stopColor:"#ecebeb",stopOpacity:"1",children:(0,z.jsx)("animate",{attributeName:"offset",values:"-1; -1; 2",keyTimes:"0; 0.25; 1",dur:"2s",repeatCount:"indefinite"})}),(0,z.jsx)("stop",{offset:"2.59996",stopColor:"#f3f3f3",stopOpacity:"1",children:(0,z.jsx)("animate",{attributeName:"offset",values:"0; 0; 3",keyTimes:"0; 0.25; 1",dur:"2s",repeatCount:"indefinite"})})]})]})]})}var ev=r(1953);function ProductDetailsSettings_ownKeys(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 ProductDetailsSettings_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ProductDetailsSettings_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ProductDetailsSettings_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ey={ProductTitle:Z.Z,DiscountBadge:K.Z,BuyButton:I.Z,Icon:B.Z,ProductPrice:M.Z,QuantitySelector:T.Z,SkuSelector:V.Z,ShippingSimulation:L.Z,ImageGallery:A.Z,ImageGalleryViewer:N.Z,SKUMatrix:U.Z,SKUMatrixTrigger:H.Z,SKUMatrixSidebar:R.Z,__experimentalImageGalleryImage:ee.Z,__experimentalImageGallery:e=>{var t,{images:r}=e,n=(0,G.Z)(e,W),{ImageGallery:i,ImageGalleryViewer:o,__experimentalImageGalleryImage:a}=(0,E.r3)(),{0:l,1:s}=(0,O.useState)(0),c=null!==(t=r[l])&&void 0!==t?t:r[0],u=(0,q.useRouter)().asPath;return(0,O.useEffect)(()=>s(0),[u]),(0,z.jsx)(i.Component,_objectSpread(_objectSpread(_objectSpread({},i.props),{},{images:r,ImageComponent:ImageComponent,selectedImageIdx:l,setSelectedImageIdx:s},n),{},{children:(0,z.jsx)(o.Component,_objectSpread(_objectSpread({},o.props),{},{children:(0,z.jsx)(a.Component,_objectSpread(_objectSpread({sizes:"(max-width: 360px) 50vw, (max-width: 768px) 90vw, 50vw",width:691,height:691*(3/4),loading:"eager"},a.props),{},{src:c.url,alt:c.alternateName}))}))}))},__experimentalShippingSimulation:function(e){var t,r,n,o,a,l,{productShippingInfo:s,formatter:c,inputLabel:u,title:d,idkPostalCodeLinkProps:f}=e,b=(0,G.Z)(e,Y),{ShippingSimulation:m}=(0,E.r3)(),{input:v,shippingSimulation:y,handleSubmit:g,handleOnInput:h,handleOnClear:j}=useShippingSimulation(s),{postalCode:O,displayClearButton:S,errorMessage:P}=v,_=null!==(t=[null==y?void 0:null===(r=y.address)||void 0===r?void 0:r.neighborhood,null==y?void 0:null===(n=y.address)||void 0===n?void 0:n.city].filter(Boolean).join(" / "))&&void 0!==t?t:"",w=null!==(o=null==y?void 0:null===(a=y.logisticsInfo)||void 0===a?void 0:null===(l=a[0])||void 0===l?void 0:l.slas)&&void 0!==o?o:[];return(0,z.jsx)(m.Component,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ShippingSimulation_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ShippingSimulation_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({formatter:c,onInput:h,onSubmit:g,onClear:j,location:_,options:w,address:null==y?void 0:y.address,displayClearButton:S,errorMessage:P,postalCode:O,inputLabel:u,title:d,idkPostalCodeLinkProps:f},b))},__experimentalSKUMatrixSidebar:function(e){var t,{data:{product:r}}=(0,C.al)(),{allVariantProducts:n,isOpen:i,setAllVariantProducts:o}=(0,er._)(),{isValidating:a}=useAllVariantProducts(r.id,i,o),{gtin:l,unitMultiplier:s,brand:c,additionalProperty:u,isVariantOf:d,offers:{offers:[{seller:f}]}}=r,b=useBuyButton(n.filter(e=>e.selectedCount).map(e=>{var{offers:{offers:[{price:t,priceWithTaxes:r,listPrice:n,listPriceWithTaxes:i}]}}=e;return{id:e.id,price:t,priceWithTaxes:r,listPrice:n,listPriceWithTaxes:i,seller:f,quantity:e.selectedCount,itemOffered:{sku:e.id,name:e.name,gtin:l,image:[e.image],brand:c,isVariantOf:SKUMatrixSidebar_objectSpread(SKUMatrixSidebar_objectSpread({},d),{},{skuVariants:SKUMatrixSidebar_objectSpread(SKUMatrixSidebar_objectSpread({},d.skuVariants),{},{activeVariations:e.specifications})}),additionalProperty:u,unitMultiplier:s}}}));return(0,z.jsx)(R.Z,SKUMatrixSidebar_objectSpread({buyProps:b,title:null!==(t=r.isVariantOf.name)&&void 0!==t?t:"",loading:a,ImageComponent:SKUMatrixSidebar_ImageComponent},e))},__experimentalNotAvailableButton:function(e){var{children:t}=e;return(0,z.jsx)(et.Z,{variant:"primary",disabled:!0,"data-fs-buy-button":!0,children:t})},__experimentalProductDescription:function(e){var{descriptionData:t,initiallyExpanded:r="first"}=e,n=(0,O.useMemo)(()=>({none:[],first:[0],all:[0,1,2,3]}),[]),{0:i,1:o}=(0,O.useState)(new Set(n[r]));return(0,z.jsx)("section",{"data-fs-product-description":!0,children:(0,z.jsx)(es.Z,{indices:i,onChange:e=>{o(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,z.jsxs)(ec.Z,{as:"article",index:t,prefixId:"product-description","data-fs-product-details-description":!0,children:[(0,z.jsx)(eu.Z,{children:r}),(0,z.jsx)(ed.Z,{children:(0,z.jsx)("div",{"data-fs-product-details-description-content":!0,dangerouslySetInnerHTML:{__html:n}})})]},String(t))})})})},__experimentalProductDetailsSettings:function(e){var{product:t,buyButtonTitle:r,isValidating:n,quantity:i,setQuantity:o,buyButtonIcon:{icon:a,alt:l},notAvailableButtonTitle:s,useUnitMultiplier:c=!1,taxesConfiguration:u}=e,{BuyButton:d,Icon:f,ProductPrice:b,QuantitySelector:m,__experimentalNotAvailableButton:v}=(0,E.r3)(),{pushToast:y}=(0,en.l)(),{id:g,sku:h,gtin:j,unitMultiplier:P,name:_,brand:w,isVariantOf:x,isVariantOf:{skuVariants:D},image:k,additionalProperty:C,offers:{offers:[{availability:Z,price:K,priceWithTaxes:I,listPrice:M,seller:T,listPriceWithTaxes:V}]}}=t,L=useBuyButton({id:g,price:K,priceWithTaxes:I,listPrice:M,listPriceWithTaxes:V,seller:T,quantity:i,itemOffered:{sku:h,name:_,gtin:j,image:k,brand:w,isVariantOf:x,additionalProperty:C,unitMultiplier:P}}),A=(0,O.useMemo)(()=>"https://schema.org/OutOfStock"===Z,[Z]);return(0,z.jsxs)(z.Fragment,{children:[!A&&(0,z.jsxs)("section",{"data-fs-product-details-values":!0,children:[(0,z.jsxs)("div",{"data-fs-product-details-values-wrapper":!0,children:[(0,z.jsx)(b.Component,ProductDetailsSettings_objectSpread({"data-fs-product-details-prices":!0,value:(null!=u&&u.usePriceWithTaxes?I:K)*(null!=P?P:1),listPrice:(null!=u&&u.usePriceWithTaxes?V:M)*(null!=P?P:1),formatter:S.P},b.props)),(null==u?void 0:u.usePriceWithTaxes)&&(0,z.jsx)(ev.Z,{"data-fs-product-details-taxes-label":!0,children:null==u?void 0:u.taxesLabel})]}),(0,z.jsx)(m.Component,ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({min:1,max:10,unitMultiplier:c?P:1,useUnitMultiplier:c},m.props),{},{onChange:o,onValidateBlur:(e,t,r)=>{y({title:"Invalid quantity!",message:"The quantity you entered is outside the range of ".concat(e," to ").concat(t,". The quantity was set to ").concat(r,"."),status:"INFO",icon:(0,z.jsx)(B.Z,{name:"CircleWavyWarning",width:30,height:30})})}}))]}),D&&(0,z.jsx)(SkuSelector_Selectors,{slugsMap:D.slugsMap,availableVariations:D.availableVariations,activeVariations:D.activeVariations,"data-fs-product-details-selectors":!0}),n?(0,z.jsx)(AddToCartLoadingSkeleton,{}):(0,z.jsx)(()=>A?(0,z.jsx)(v.Component,{children:s}):(0,z.jsx)(d.Component,ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({},d.props),{},{icon:(0,z.jsx)(f.Component,ProductDetailsSettings_objectSpread(ProductDetailsSettings_objectSpread({},f.props),{},{name:null!=a?a:f.props.name,"aria-label":null!=l?l:f.props["aria-label"]}))},L),{},{children:r||"Add to Cart"})),{})]})}};function ProductDetails_ownKeys(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 ProductDetails_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ProductDetails_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ProductDetails_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eg=k().experimental.enableClientOffer,eh=(0,j.B)("ProductDetails",function(e){var t,n,i,{productTitle:{refNumber:o,discountBadge:{showDiscountBadge:a,size:l}},buyButton:{icon:s,title:c},shippingSimulator:{title:u,inputLabel:d,shippingOptionsTableTitle:f,link:{to:b,text:m}},productDescription:{title:v,initiallyExpanded:y,displayDescription:g},skuMatrix:h,notAvailableButton:{title:j},quantitySelector:w,taxesConfiguration:D}=e,{DiscountBadge:k,ProductTitle:Z,SKUMatrix:K,SKUMatrixTrigger:I,__experimentalImageGallery:B,__experimentalShippingSimulation:M,__experimentalNotAvailableButton:T,__experimentalProductDescription:V,__experimentalProductDetailsSettings:L,__experimentalSKUMatrixSidebar:A}=(0,E.r3)(),{currency:N}=(0,P.kP)(),U=(0,C.al)(),{product:H,isValidating:R}=null==U?void 0:U.data,{0:G,1:q}=(0,O.useState)(1);if(!H)throw Error("NotFound");var{id:W,sku:F,gtin:Q,name:J,brand:$,isVariantOf:X,description:Y,isVariantOf:{name:ee,productGroupID:et,skuVariants:{slugsMap:er}},image:en,offers:{offers:[{availability:ei,price:eo,listPrice:ea,listPriceWithTaxes:el,seller:es}],lowPrice:ec,lowPriceWithTaxes:eu}}=H;(0,O.useEffect)(()=>{r.e(7195).then(r.bind(r,1153)).then(e=>{var{sendAnalyticsEvent:t}=e;t({name:"view_item",params:{currency:N.code,value:eo,items:[{item_id:X.productGroupID,item_name:X.name,item_brand:$.name,item_variant:F,price:eo,discount:ea-eo,currency:N.code,item_variant_name:J,product_reference_id:Q}]}})})},[X.productGroupID,X.name,$.name,F,eo,ea,N.code,J,Q]);var ed=(0,O.useMemo)(()=>"https://schema.org/OutOfStock"===ei,[ei]);return(0,z.jsx)(_.Z,{className:"".concat(x().section," section-product-details"),children:(0,z.jsx)("section",{"data-fs-product-details":!0,children:(0,z.jsxs)("section",{"data-fs-product-details-body":!0,"data-fs-content":"product-details",children:[(0,z.jsx)("header",{"data-fs-product-details-title":!0,"data-fs-product-details-section":!0,children:(0,z.jsx)(Z.Component,ProductDetails_objectSpread(ProductDetails_objectSpread({title:(0,z.jsx)("h1",{children:ee})},Z.props),{},{label:a&&(0,z.jsx)(k.Component,ProductDetails_objectSpread(ProductDetails_objectSpread({},k.props),{},{size:null!=l?l:k.props.size,listPrice:null!=D&&D.usePriceWithTaxes?el:ea,spotPrice:null!=D&&D.usePriceWithTaxes?eu:ec})),refNumber:o&&et}))}),(0,z.jsx)(B.Component,ProductDetails_objectSpread(ProductDetails_objectSpread({"data-fs-product-details-gallery":!0},B.props),{},{images:en})),eg&&R?(0,z.jsx)("section",{"data-fs-product-details-info":!0,children:(0,z.jsx)("section",{"data-fs-product-details-settings":!0,"data-fs-product-details-section":!0,children:(0,z.jsx)("p",{children:"Loading..."})})}):(0,z.jsxs)("section",{"data-fs-product-details-info":!0,children:[(0,z.jsx)("section",{"data-fs-product-details-settings":!0,"data-fs-product-details-section":!0,children:(0,z.jsx)(L.Component,ProductDetails_objectSpread(ProductDetails_objectSpread({buyButtonTitle:c,buyButtonIcon:s,notAvailableButtonTitle:null!=j?j:T.props.title,useUnitMultiplier:null!==(t=null==w?void 0:w.useUnitMultiplier)&&void 0!==t&&t},L.props),{},{quantity:G,setQuantity:q,product:H,isValidating:R,taxesConfiguration:D}))}),!ed&&(0,z.jsx)(M.Component,ProductDetails_objectSpread(ProductDetails_objectSpread({"data-fs-product-details-section":!0,"data-fs-product-details-shipping":!0,formatter:S.P},M.props),{},{idkPostalCodeLinkProps:ProductDetails_objectSpread(ProductDetails_objectSpread({},M.props.idkPostalCodeLinkProps),{},{href:null!=b?b:null===(n=M.props.idkPostalCodeLinkProps)||void 0===n?void 0:n.href,children:null!=m?m:null===(i=M.props.idkPostalCodeLinkProps)||void 0===i?void 0:i.children}),productShippingInfo:{id:W,quantity:G,seller:es.identifier},title:null!=u?u:M.props.title,inputLabel:null!=d?d:M.props.inputLabel,optionsLabel:null!=f?f:M.props.optionsLabel}))]}),g&&(0,z.jsx)(V.Component,ProductDetails_objectSpread({initiallyExpanded:null!=y?y:V.props.initiallyExpanded,descriptionData:[{content:Y,title:v}]},V.props))]})})})},ey);function OverriddenDefaultProductDetails_ownKeys(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 OverriddenDefaultProductDetails_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultProductDetails_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultProductDetails_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ej=(0,j.v)(OverriddenDefaultProductDetails_objectSpread(OverriddenDefaultProductDetails_objectSpread(OverriddenDefaultProductDetails_objectSpread({},h),h),{},{Section:eh})),eO=r(8793),eS=r(3246),eP=r(4672),e_=r(3093),ew=r(6600),inStock=e=>e.AvailableQuantity>0,price=e=>{var t;return null!==(t=e.spotPrice)&&void 0!==t?t:0},bestOfferFirst=(e,t)=>inStock(e)&&!inStock(t)?-1:!inStock(e)&&inStock(t)?1:price(e)-price(t),withTax=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.round((e+t/r)*100)/100},getHighPrice=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{includeTaxes:!1},n=e.filter(inStock),i=n[n.length-1],o=i?price(i):0;return r.includeTaxes?withTax(o,null==i?void 0:i.Tax,null==i?void 0:null===(t=i.product)||void 0===t?void 0:t.unitMultiplier):o},getLowPrice=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{includeTaxes:!1},[n]=e.filter(inStock),i=n?price(n):0;return r.includeTaxes?withTax(i,null==n?void 0:n.Tax,null==n?void 0:null===(t=n.product)||void 0===t?void 0:t.unitMultiplier):i};function enhance_ownKeys(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 enhance_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?enhance_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):enhance_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var enhanceCommercialOffer=e=>{var{offer:t,seller:r,product:n}=e;return enhance_objectSpread(enhance_objectSpread({},t),{},{product:n,seller:r})};function getUrl(e){var t=D.storeUrl,r=new URL("".concat(t,"/api/intelligent-search/product_search"));return r.searchParams.append("query","sku.id:".concat(e)),r.toString()}function fetcher(e){return _fetcher.apply(this,arguments)}function _fetcher(){return(_fetcher=(0,F.Z)(function*(e){return fetch(getUrl(e)).then(e=>e.json())})).apply(this,arguments)}var ex={offers:{},isValidating:!1},eD=Q.wA,useProductQuery=(e,t)=>{var{channel:r,locale:n}=(0,P.kP)(),i=(0,O.useMemo)(()=>{if(!r)throw 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,eo.aM)(eD,i,{fallbackData:t,revalidateOnMount:!0})};function p_ownKeys(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 p_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p_ownKeys(Object(r),!0).forEach(function(t){(0,i.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ek=p_objectSpread(p_objectSpread(p_objectSpread({},u.Z),{},{Breadcrumb:m.j,BannerNewsletter:f.default,Newsletter:g.OverriddenDefaultNewsletter,BannerText:b.OverriddenDefaultBannerText,Hero:y.V,ProductDetails:ej,ProductShelf:eO.OverriddenDefaultProductShelf,ProductTiles:eS.Z,CrossSellingShelf:v.Z},e_.Z),eP.Z),overwriteMerge=(e,t)=>t,eE=k().experimental.enableClientOffer,eC=!0,p=function(e){var t,r,n,i,o,s,u,f,b,m,v,{data:y,sections:g,settings:h,globalSections:j,offers:O,meta:S}=e,{product:_}=y,{currency:w}=(0,P.kP)(),x=null!==(n=null===k()||void 0===k()?void 0:null===(i=k().seo)||void 0===i?void 0:i.titleTemplate)&&void 0!==n?n:"",D=null!==(o=_.breadcrumbList.itemListElement)&&void 0!==o?o:[];0!==D.length&&(D=D.map(e=>{var{item:t,name:r,position:n}=e;return{name:r,position:n,item:k().storeUrl+t}}));var{client:E,isValidating:Z}=eE?{client:{product:{offers:(t=function(e){var t,{data:r,error:n,isValidating:i}=(0,ew.ZP)(e.skuId,fetcher);if(n||!r||0===r.products.length)return console.warn("Error or no data fetching offer to SKU",e.skuId,n),ex;var o=r.products[0];if(!o||0===o.items.length)return console.warn("Product not found or has no items for SKU",e.skuId),ex;var a=o.items.find(t=>t.itemId===e.skuId);return a?{offers:{highPrice:getHighPrice(t=a.sellers.map(e=>enhanceCommercialOffer({offer:e.commertialOffer,seller:e,product:a})).sort(bestOfferFirst)),lowPrice:getLowPrice(t),lowPriceWithTaxes:getLowPrice(t,{includeTaxes:!0}),offerCount:t.length},isValidating:i}:(console.warn("Item not found for SKU",e.skuId),ex)}({skuId:_.sku})).offers}},isValidating:t.isValidating}:{client:(r=useProductQuery(_.id,{product:_})).data,isValidating:r.isValidating},K={data:p_objectSpread(p_objectSpread({},a()(y,E,{arrayMerge:overwriteMerge})),{},{isValidating:Z})};return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(c(),{children:(0,z.jsx)("link",{rel:"preload",href:getUrl(_.sku),as:"fetch",crossOrigin:"anonymous",fetchPriority:"high"})}),(0,z.jsx)(l.PB,{title:S.title,description:S.description,canonical:S.canonical,openGraph:{type:"og:product",url:S.canonical,title:S.title,description:S.description,images:_.image.map(e=>({url:e.url,alt:e.alternateName}))},additionalMetaTags:[{property:"product:price:amount",content:null!==(s=null===(u=_.offers.lowPrice)||void 0===u?void 0:u.toString())&&void 0!==s?s:void 0},{property:"product:price:currency",content:w.code}],titleTemplate:x}),(0,z.jsx)(l.gR,{itemListElements:D}),(0,z.jsx)(l.Qb,p_objectSpread({id:"".concat(S.canonical).concat(null!==(f=null==h?void 0:null===(b=h.seo)||void 0===b?void 0:b.id)&&void 0!==f?f:""),mainEntityOfPage:"".concat(S.canonical).concat(null!==(m=null==h?void 0:null===(v=h.seo)||void 0===v?void 0:v.mainEntityOfPage)&&void 0!==m?m:""),productName:_.name,description:_.description,brand:_.brand.name,sku:_.sku,gtin:_.gtin,releaseDate:_.releaseDate,images:_.image.map(e=>e.url),offers:O},0!==D.length&&{category:D[0].name})),(0,z.jsx)(C.ZP,{context:K,children:(0,z.jsx)(d.Z,{sections:g,globalSections:j.sections,components:ek})})]})}},1295:function(e,t,r){"use strict";r.d(t,{En:function(){return isSearchPage},OJ:function(){return isPLP},al:function(){return usePDP},qt:function(){return usePage},tS:function(){return isPDP}});var n=r(4194),i=r(1549),isPDP=e=>{var t,r,n,i;return(null==e?void 0:null===(t=e.data)||void 0===t?void 0:null===(r=t.product)||void 0===r?void 0:r.sku)!=void 0&&(null==e?void 0:null===(n=e.data)||void 0===n?void 0:null===(i=n.product)||void 0===i?void 0:i.sku)!=null},isPLP=e=>{var t,r,n,i,o,a;return(null==e?void 0:null===(t=e.data)||void 0===t?void 0:null===(r=t.collection)||void 0===r?void 0:r.seo)!=void 0&&(null==e?void 0:null===(n=e.data)||void 0===n?void 0:null===(i=n.collection)||void 0===i?void 0:i.seo)!=null&&(null==e?void 0:null===(o=e.data)||void 0===o?void 0:null===(a=o.collection)||void 0===a?void 0:a.sku)==void 0},isSearchPage=e=>{var t,r;return void 0===e||(null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.title)!=void 0||(null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.searchTerm)!=void 0},o=(0,n.createContext)(null);function usePage(){var{context:e}=(0,n.useContext)(o);if(null==e)throw Error("Missing Overrides context on React tree");return e}var usePDP=()=>usePage();t.ZP=function(e){var{context:t,children:r}=e,a=(0,n.useMemo)(()=>({context:t}),[t]);return(0,i.jsx)(o.Provider,{value:a,children:r})}},3170:function(e,t,r){"use strict";r.d(t,{y:function(){return useLocalizedVariables}});var n=r(4194),i=r(4103),o=r(1124),toArray=e=>Array.isArray(e)?e:e?[e]:[],useLocalizedVariables=e=>{var{first:t,after:r,sort:a,term:l,selectedFacets:s,sponsoredCount:c}=e,{channel:u,locale:d}=(0,o.kP)();return(0,n.useMemo)(()=>{var e=toArray(s);return{first:null!=t?t:i.K,after:null!=r?r:"0",sort:null!=a?a:"score_desc",term:null!=l?l:"",selectedFacets:[...e,{key:"channel",value:null!=u?u:""},{key:"locale",value:d}],sponsoredCount:null!=c?c:3}},[s,t,r,a,l,u,d,c])}},9565:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/[slug]/p",function(){return r(5043)}])},601:function(e){e.exports={section:"section_section__dvBbv"}},8704:function(e){e.exports={section:"section_section__Pdf2v"}},9316:function(e){e.exports={section:"section_section__VI73U"}},1953:function(e,t,r){"use strict";var n=r(4194);let i=(0,n.forwardRef)(function({testId:e="fs-label",children:t,...r},i){return n.createElement("label",{ref:i,"data-fs-label":!0,"data-testid":e,...r},t)});t.Z=i},792:function(e,t,r){"use strict";var n=r(4194);let i=(0,n.forwardRef)(function({testId:e="fs-skeleton",loading:t=!0,shimmer:r=!0,children:i,size:o,border:a,borderRadius:l,...s},c){let u={width:o.width,height:o.height};return t?n.createElement("div",{ref:c,"data-fs-skeleton":!0,"data-testid":e,"data-fs-skeleton-border":a||null,style:l?{...u,borderRadius:l}:u,...s},r&&n.createElement("div",{"data-fs-skeleton-shimmer":!0})):n.createElement(n.Fragment,null,i)});t.Z=i},3666:function(e,t,r){"use strict";r.d(t,{b:function(){return useFadeEffect}});var n=r(4194);let useFadeEffect=()=>{let[e,t]=(0,n.useState)("out"),r=(0,n.useCallback)(()=>t("out"),[]),i=(0,n.useCallback)(()=>t("in"),[]);return(0,n.useEffect)(()=>(i(),()=>{r()}),[i,r]),{fade:e,fadeIn:i,fadeOut:r}}},5164:function(e,t,r){"use strict";r.d(t,{Z:function(){return Breadcrumb_Breadcrumb}});var n=r(4194),i=r(2614),o=r(727),a=r(6588);let l=(0,n.lazy)(()=>r.e(4983).then(r.bind(r,7169))),s=(0,n.lazy)(()=>r.e(1697).then(r.bind(r,9570))),c=(0,n.lazy)(()=>r.e(4219).then(r.bind(r,5741))),u=(0,n.lazy)(()=>r.e(6621).then(r.bind(r,4451))),d=(0,n.forwardRef)(function({children:e,divider:t="",testId:r="fs-breadcrumb",breadcrumbList:d,isDesktop:f=!1,renderLink:b,homeLink:m,dropdownButtonIcon:v=n.createElement(i.Z,{name:"DotsThree"}),collapsedItemsIcon:y=n.createElement(i.Z,{"data-fs-dropdown-item-icon":!0,name:"ArrowElbowDownRight"}),...g},h){let j=f?d[0]:null,O=f?d.slice(1,-2):d.slice(0,-2),S=d.slice(-2),P=d.length>4,_=(0,n.useCallback)(e=>{let t=b?.(e),r=e.collapsed?{"data-fs-breadcrumb-dropdown-link":!0}:{"data-fs-breadcrumb-link":!0};return t?(0,n.cloneElement)(t,{...r,key:e.itemProps.position}):n.createElement(o.Z,{...r,href:e.itemProps.item,key:e.itemProps.position},e.itemProps.name)},[b]);return n.createElement(a.Z,{ref:h,"data-fs-breadcrumb-is-desktop":f,...g},m,!P&&d.map((e,t)=>d.length===t+1?n.createElement("span",{key:String(e.position)},e.name):_({itemProps:e,collapsed:!1})),P&&j&&_({itemProps:j,collapsed:!1}),P&&n.createElement(n.Suspense,null,n.createElement(l,null,n.createElement(s,{"aria-label":"View More","data-fs-breadcrumb-dropdown-button":!0,size:"small"},v),n.createElement(c,{"data-fs-breadcrumb-dropdown-menu":!0},O.map(e=>n.createElement(u,{"data-fs-breadcrumb-dropdown-item":!0,key:String(e.position),icon:y},_({itemProps:e,collapsed:!0})))))),P&&S.map((e,t)=>S.length===t+1?n.createElement("span",{key:String(e.position)},e.name):_({itemProps:e,collapsed:!1})))});var Breadcrumb_Breadcrumb=({breadcrumbList:e,...t})=>n.createElement(n.Fragment,null,n.createElement(d,{breadcrumbList:e,...t}),n.createElement(d,{breadcrumbList:e,isDesktop:!0,...t}))},6588:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(4194),i=r(4564),Breadcrumb_Divider=({divider:e,testId:t})=>{let r={"data-fs-breadcrumb-divider":!0,"aria-hidden":!0,"data-testid":`${t}-divider`};return n.isValidElement(e)?n.cloneElement(e,r):n.createElement("span",{...r},e??"/")},Breadcrumb_ListItem=({children:e,isLastItem:t,divider:r,testId:i})=>{let o={"data-testid":`${i}-item`,"data-fs-breadcrumb-item":!t||"current","aria-current":t?"page":void 0};return n.isValidElement(e)?n.createElement("li",{"data-fs-breadcrumb-list-item":!0},n.cloneElement(e,o),t?null:n.createElement(Breadcrumb_Divider,{divider:r,testId:i})):n.createElement("li",{"data-fs-breadcrumb-list-item":!0},n.createElement("span",{...o},e,t?null:n.createElement(Breadcrumb_Divider,{divider:r,testId:i})))};let o=(0,n.forwardRef)(function({children:e,divider:t="",testId:r="fs-breadcrumb",...o},a){return n.createElement("nav",{"aria-label":"Breadcrumb",role:"navigation",ref:a,"data-fs-breadcrumb":!0,"data-testid":r,...o},n.createElement(i.Z,{as:"ol","data-fs-breadcrumb-list":!0,"data-fs-content":"breadcrumb"},n.Children.toArray(e).map((e,i,o)=>{let a=i===o.length-1;return n.createElement(Breadcrumb_ListItem,{isLastItem:a,divider:t,key:`breadcrumb-${i}`,testId:r},e)})))});var a=o},4904:function(e,t,r){"use strict";var n=r(4194);t.Z=function({icon:e,inverse:t,children:r,disabled:i,iconPosition:o,size:a="regular",variant:l="primary",testId:s="fs-link-button",...c}){let u=(0,n.useRef)(null);return n.createElement("a",{ref:u,"data-fs-button":!0,"data-fs-link-button":!0,"data-fs-button-size":a,"data-fs-button-variant":l,"data-fs-button-inverse":t,"data-fs-button-disabled":i,onFocus:function(e){e.preventDefault(),i&&u.current?.blur()},"data-testid":s,...c},n.createElement("div",{"data-fs-button-wrapper":!0},!!e&&"left"===o&&n.createElement("span",{"data-fs-button-icon":!0},e),r&&n.createElement("span",null,r),!!e&&"right"===o&&n.createElement("span",{"data-fs-button-icon":!0},e)))}},8957:function(e,t,r){"use strict";r.d(t,{u:function(){return useHero}});var n=r(4194);let i=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({children:e,testId:t="fs-hero",variant:r="primary",colorVariant:o="main",...a},l){return n.createElement(i.Provider,{value:{variant:r,colorVariant:o}},n.createElement("article",{ref:l,"data-fs-hero":!0,"data-fs-hero-variant":r,"data-fs-hero-color-variant":o,"data-testid":t,...a},e))});function useHero(){let e=(0,n.useContext)(i);if(void 0===e)throw Error("Do not use Hero components outside the Hero context.");return e}t.Z=o},7154:function(e,t,r){"use strict";var n=r(4194),i=r(4904),o=r(2614),a=r(8957);let l=(0,n.forwardRef)(function({icon:e,link:t,title:r,linkText:l,linkTargetBlank:s,subtitle:c,children:u,testId:d="fs-hero-heading",...f},b){let{variant:m,colorVariant:v}=(0,a.u)();return n.createElement("header",{ref:b,"data-fs-hero-heading":!0,"data-testid":d,...f},n.createElement("div",{"data-fs-hero-wrapper":!0,"data-fs-content":"hero"},n.createElement("div",{"data-fs-hero-info":!0},n.createElement("h1",{"data-fs-hero-title":!0},r),n.createElement("p",{"data-fs-hero-subtitle":!0},c),!!t&&n.createElement(i.Z,{href:t,inverse:"main"===v,icon:n.createElement(o.Z,{name:"ArrowRight"}),iconPosition:"right",target:s?"_blank":void 0},l)),!!e&&"secondary"===m&&n.createElement("span",{"data-fs-hero-icon":!0},e)))});t.Z=l},4147:function(e,t,r){"use strict";var n=r(4194);let i=(0,n.forwardRef)(function({children:e,testId:t="fs-hero-image",...r},i){return n.createElement("div",{ref:i,"data-fs-hero-image":!0,"data-testid":t,...r},e)});t.Z=i}},function(e){e.O(0,[375,5259,266,7498,2759,7761,9774,2888,179],function(){return e(e.s=9565)}),_N_E=e.O()}]);