@faststore/core 3.0.15 → 3.0.17

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 (58) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +15 -15
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-minimal-server.js.nft.json +1 -1
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.js +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/646.js +2 -2
  16. package/.next/server/chunks/659.js +2 -2
  17. package/.next/server/functions-config-manifest.json +1 -1
  18. package/.next/server/middleware-build-manifest.js +1 -1
  19. package/.next/server/pages/404.js +1 -1
  20. package/.next/server/pages/500.js +1 -1
  21. package/.next/server/pages/[...slug].js +1 -1
  22. package/.next/server/pages/[slug]/p.js +1 -1
  23. package/.next/server/pages/api/preview.js +1 -1
  24. package/.next/server/pages/en-US/404.html +2 -2
  25. package/.next/server/pages/en-US/500.html +2 -2
  26. package/.next/server/pages/en-US/account.html +2 -2
  27. package/.next/server/pages/en-US/checkout.html +2 -2
  28. package/.next/server/pages/en-US/login.html +2 -2
  29. package/.next/server/pages/en-US/s.html +2 -2
  30. package/.next/server/pages/en-US.html +2 -2
  31. package/.next/server/pages/index.js +1 -1
  32. package/.next/server/pages/login.js +1 -1
  33. package/.next/server/pages/s.js +1 -1
  34. package/.next/static/{CQN373YhXlHGMNoI7Y6BQ → GuDWclSYmL3r-NEqsUOG2}/_buildManifest.js +1 -1
  35. package/.next/static/chunks/104-4f83b1d87ad36358.js +1 -0
  36. package/.next/static/chunks/pages/{[...slug]-506fd56c3ad48553.js → [...slug]-bcaf61b01157d8cb.js} +1 -1
  37. package/.next/static/chunks/pages/[slug]/{p-a4f7d7c00fdf4157.js → p-5fb8fe2c80ec1608.js} +1 -1
  38. package/.next/static/chunks/pages/{index-00798cca3b47590d.js → index-cd109119d65df8e3.js} +1 -1
  39. package/.next/static/chunks/pages/{s-e78f09767764a172.js → s-26e475975386c51a.js} +1 -1
  40. package/.next/trace +91 -91
  41. package/.turbo/turbo-build.log +1 -1
  42. package/.turbo/turbo-test.log +9 -9
  43. package/cms/faststore/content-types.json +14 -1
  44. package/package.json +2 -2
  45. package/src/components/cms/GlobalSections.tsx +4 -4
  46. package/src/components/templates/LandingPage/LandingPage.tsx +6 -6
  47. package/src/components/templates/ProductListingPage/ProductListing.tsx +4 -4
  48. package/src/components/templates/ProductListingPage/ProductListingPage.tsx +1 -1
  49. package/src/pages/[...slug].tsx +8 -32
  50. package/src/pages/[slug]/p.tsx +6 -25
  51. package/src/pages/index.tsx +3 -3
  52. package/src/pages/s.tsx +3 -3
  53. package/src/server/{cms.ts → cms/index.ts} +35 -57
  54. package/src/server/cms/pdp.ts +82 -0
  55. package/src/server/cms/plp.ts +74 -0
  56. package/src/utils/utilities.ts +118 -0
  57. package/.next/static/chunks/104-35697aed442af6cd.js +0 -1
  58. /package/.next/static/{CQN373YhXlHGMNoI7Y6BQ → GuDWclSYmL3r-NEqsUOG2}/_ssgManifest.js +0 -0
@@ -1,3 +1,7 @@
1
+ import { ServerProductQueryQuery } from '@generated/graphql'
2
+ import { PDPContentType } from 'src/server/cms/pdp'
3
+ import { PLPContentType } from 'src/server/cms/plp'
4
+
1
5
  //Input "Example Text!". Output: example-text
2
6
  export function textToKebabCase(text: string): string {
3
7
  // Replace spaces and special characters with hyphens
@@ -11,3 +15,117 @@ export function textToKebabCase(text: string): string {
11
15
 
12
16
  return kebabCase ?? ''
13
17
  }
18
+
19
+ export function normalizePLPSlug(slug: string) {
20
+ // Remove extra slashes at the beginning and end
21
+ let normalizedSlug = slug.replace(/^\/+|\/+$/g, '')
22
+
23
+ // Remove duplicate slashes and white spaces throughout the string
24
+ normalizedSlug = normalizedSlug.replace(/\/+/g, '/').replace(/\s+/g, '')
25
+
26
+ return '/' + normalizedSlug.toLowerCase()
27
+ }
28
+
29
+ function findPLPTemplateBySlug(pages: Partial<PLPContentType>[], slug: string) {
30
+ return pages.find((page) => {
31
+ // generic PLP template
32
+ if (!page.settings?.template?.value) return false
33
+
34
+ const templateValue = normalizePLPSlug(page.settings?.template?.value)
35
+ return templateValue === slug
36
+ })
37
+ }
38
+
39
+ /**
40
+ * Find the best PLP template from the CMS based on the slug passed as param.
41
+ *
42
+ * This function iterates the slug until there is no slashes (/), prioritizing the following order:
43
+ * 1. A PLP template that matches the subcategory (e.g. slug = /department/category/subcategory).
44
+ * 2. A PLP template that matches the category (e.g. slug = /department/category).
45
+ * 3. A PLP template that matches the department (e.g. slug = /department).
46
+ * 4. If no matches are found, use the generic PLP template.
47
+ *
48
+ * @param pages
49
+ * @param originalSlug
50
+ * @returns The best PLP template page for the slug
51
+ */
52
+ export function findBestPLPTemplate(
53
+ pages: Partial<PLPContentType>[],
54
+ originalSlug: string
55
+ ) {
56
+ let slug = normalizePLPSlug(originalSlug)
57
+ let foundPageTemplate = findPLPTemplateBySlug(pages, slug)
58
+
59
+ while (!foundPageTemplate && slug.lastIndexOf('/') !== -1) {
60
+ slug = slug.substring(0, slug.lastIndexOf('/'))
61
+ foundPageTemplate = findPLPTemplateBySlug(pages, slug)
62
+ }
63
+
64
+ return (
65
+ foundPageTemplate ||
66
+ pages.find((page) => !page.settings?.template?.value) ||
67
+ pages[0]
68
+ )
69
+ }
70
+
71
+ export function normalizePDPTemplate(templateValue: string) {
72
+ // Remove extra slashes, white spaces at the beginning and end
73
+ let formattedValue = templateValue.trim().replace(/^\/+|\/+$/g, '')
74
+
75
+ // Add a slash at the beginning if not present
76
+ if (!formattedValue.startsWith('/')) {
77
+ formattedValue = '/' + formattedValue
78
+ }
79
+
80
+ // Add a slash at the end if not ending with '/p'
81
+ if (!formattedValue.endsWith('/p')) {
82
+ formattedValue += '/'
83
+ }
84
+
85
+ // Remove duplicate slashes and white spaces throughout the string
86
+ formattedValue = formattedValue.replace(/\/+/g, '/').replace(/\s+/g, '')
87
+
88
+ return formattedValue.toLowerCase()
89
+ }
90
+
91
+ /**
92
+ * Find the best PDP template from the CMS based on the slug or in the product category tree.
93
+ * Prioritizing the following order:
94
+ *
95
+ * 1. A PDP template that matches the page slug (e.g. slug = /apple-magic-mouse/p).
96
+ * 2. A PDP template that matches the product subcategory (e.g. /department/category/subcategory).
97
+ * 3. A PDP template that matches the product category (e.g. /department/category).
98
+ * 4. A PDP template that matches the product department (e.g. /department).
99
+ * 5. If no matches are found, use the generic PDP template.
100
+ *
101
+ * @param pages
102
+ * @param originalSlug
103
+ * @param product
104
+ * @returns The best PDP template page for the slug
105
+ */
106
+ export function findBestPDPTemplate(
107
+ pages: Partial<PDPContentType>[],
108
+ slug: string,
109
+ product: ServerProductQueryQuery['product']
110
+ ) {
111
+ // productSlugAndCategoryTree with the prioritized order. [slug, subcategory tree, category tree, department]
112
+ const productSlugAndCategoryTree = product?.breadcrumbList?.itemListElement
113
+ ? [...product?.breadcrumbList?.itemListElement]
114
+ .reverse()
115
+ .map(({ item }) => item)
116
+ : []
117
+ productSlugAndCategoryTree.unshift(slug)
118
+
119
+ for (const item of productSlugAndCategoryTree) {
120
+ for (const page of pages) {
121
+ if (!page.settings?.template?.value) continue
122
+
123
+ const templateValue = normalizePDPTemplate(page.settings.template.value)
124
+ if (templateValue === item) {
125
+ return page
126
+ }
127
+ }
128
+ }
129
+
130
+ return pages.find((page) => !page.settings?.template?.value) || pages[0]
131
+ }
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[104],{276:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-badge",size:t="small",variant:r="neutral",counter:a=!1,"aria-label":o,children:i,...s},c){return n.createElement("div",{ref:c,"data-fs-badge":!0,"aria-label":o,"data-fs-badge-variant":a?null:r,"data-fs-badge-size":t,"data-fs-badge-counter":a,"data-testid":e,...s},n.createElement("div",{"data-fs-badge-wrapper":!0},i))});t.Z=a},3339:function(e,t,r){"use strict";var n=r(2784),a=r(1667);let o=(0,n.forwardRef)(function({children:e,variant:t,inverse:r,size:o="regular",testId:i="fs-button",loading:s,loadingLabel:c,icon:l,iconPosition:u="left",disabled:d,...f},p){return n.createElement("button",{ref:p,"data-fs-button":!0,"data-fs-button-inverse":r,"data-fs-button-size":o,"data-fs-button-loading":s,"data-fs-button-variant":t,disabled:d,"data-testid":i,...f},n.createElement("div",{"data-fs-button-wrapper":!0},s&&n.createElement("p",{"data-fs-button-loading-label":!0},c,n.createElement(a.Z,{variant:"primary"!==t||r?"dark":"light"})),!!l&&"left"===u&&n.createElement("span",{"data-fs-button-icon":!0},l),e&&n.createElement("span",null,e),!!l&&"right"===u&&n.createElement("span",{"data-fs-button-icon":!0},l)))});t.Z=o},2614:function(e,t,r){"use strict";var n=r(2784);let a={bold:24,regular:16,light:12,thin:8},o=(0,n.forwardRef)(function({testId:e="fs-icon",name:t,weight:r="regular",...o},i){let{width:s,height:c}=o;return n.createElement("svg",{ref:i,"data-fs-icon":!0,"data-testid":e,width:s??24,height:c??24,strokeWidth:a[r],...o},n.createElement("use",{href:`/icons.svg#${t}`}))});t.Z=o},2256:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-input",...t},r){return n.createElement("input",{ref:r,"data-fs-input":!0,"data-testid":e,...t})});t.Z=a},727:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({as:e,children:t,variant:r="default",size:a="regular",inverse:o,testId:i="fs-link",...s},c){let l=e??"a";return n.createElement(l,{ref:c,"data-fs-link":!0,"data-fs-link-variant":r,"data-fs-link-inverse":o,"data-fs-link-size":a,"data-testid":i,...s},t)});t.Z=a},4564:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({as:e,marker:t,testId:r="fs-list",...a},o){let i=e??"ul";return n.createElement(i,{ref:o,role:"list","data-fs-list":!0,"data-fs-list-marker":t,"data-testid":r,...a})});t.Z=a},1667:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-loader",variant:t="dark",...r},a){return n.createElement("span",{ref:a,"data-fs-loader":!0,"data-fs-loader-variant":t,"data-testid":e,...r},n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}))});t.Z=a},5450:function(e,t,r){"use strict";var n=r(2784);t.Z=function({text:e,as:t}){let r=t??"span";return n.createElement(r,{"data-fs-sr-only":!0},e)}},3666:function(e,t,r){"use strict";r.d(t,{b:function(){return useFadeEffect}});var n=r(2784);let useFadeEffect=()=>{let[e,t]=(0,n.useState)("out"),r=(0,n.useCallback)(()=>t("out"),[]),a=(0,n.useCallback)(()=>t("in"),[]);return(0,n.useEffect)(()=>(a(),()=>{r()}),[a,r]),{fade:e,fadeIn:a,fadeOut:r}}},1516:function(e,t,r){"use strict";r.d(t,{A:function(){return useAccordion}});var n=r(2784);let a=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({testId:e="fs-accordion",indices:t,onChange:r,children:o,...i},s){let c=n.Children.map(o,(e,t)=>(0,n.cloneElement)(e,{index:e.props.index??t})),l={indices:new Set(t),onChange:r,numberOfItems:c.length};return n.createElement(a.Provider,{value:l},n.createElement("div",{ref:s,"data-fs-accordion":!0,role:"region","data-testid":e,...i},c))});function useAccordion(){let e=(0,n.useContext)(a);if(void 0===e)throw Error("Do not use Accordion components outside the Accordion context.");return e}t.Z=o},7734:function(e,t,r){"use strict";var n=r(2784),a=r(1516),o=r(783),i=r(2614),s=r(3339);let c=(0,n.forwardRef)(function({testId:e="fs-accordion-button",expandedIcon:t=n.createElement(i.Z,{name:"MinusCircle","data-icon":"expanded"}),collapsedIcon:r=n.createElement(i.Z,{name:"PlusCircle","data-icon":"collapsed"}),children:c,...l},u){let{indices:d,onChange:f,numberOfItems:p}=(0,a.A)(),{index:b,panel:m,button:v,prefixId:g}=(0,o.D)();return n.createElement(s.Z,{ref:u,id:v,variant:"tertiary","data-fs-accordion-button":!0,"aria-expanded":d.has(b),icon:d.has(b)?t:r,iconPosition:"right","aria-controls":m,onKeyDown:e=>{if(["ArrowDown","ArrowUp"].includes(e.key))switch(e.key){case"ArrowDown":e.preventDefault(),(()=>{let e=Number(b)+1===p?0:Number(b)+1;return document.getElementById(`${g&&`${g}-`}button--${e}`)})()?.focus();break;case"ArrowUp":e.preventDefault(),(()=>{let e=Number(b)-1<0?p-1:Number(b)-1;return document.getElementById(`${g&&`${g}-`}button--${e}`)})()?.focus()}},onClick:()=>{f(b)},"data-testid":e,...l},c)});t.Z=c},783:function(e,t,r){"use strict";r.d(t,{D:function(){return useAccordionItem}});var n=r(2784);let a=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({prefixId:e="",index:t=0,as:r,children:o,testId:i="fs-accordion-item",...s},c){let l=r??"div",u={index:t,prefixId:e,panel:`${e&&`${e}-`}panel--${t}`,button:`${e&&`${e}-`}button--${t}`};return n.createElement(a.Provider,{value:u},n.createElement(l,{ref:c,"data-fs-accordion-item":!0,"data-testid":i,...s},o))});function useAccordionItem(){let e=(0,n.useContext)(a);if(void 0===e)throw Error("Do not use AccordionItem components outside the AccordionItem context.");return e}t.Z=o},7583:function(e,t,r){"use strict";var n=r(2784),a=r(1516),o=r(783);let i=(0,n.forwardRef)(function({testId:e="fs-accordion-panel",children:t,...r},i){let{indices:s}=(0,a.A)(),{index:c,button:l,panel:u}=(0,o.D)();return n.createElement("div",{ref:i,id:u,"data-fs-accordion-panel":!0,"aria-labelledby":l,role:"region",hidden:!s.has(c),"data-testid":e,...r},t)});t.Z=i},8138:function(e,t,r){"use strict";var n=r(2784),a=r(727),o=r(7041),i=r(2614);let s=(0,n.forwardRef)(function({testId:e="fs-alert",children:t,icon:r,dismissible:s,link:c,onClose:l,...u},d){let f=(0,n.useCallback)(e=>{e.defaultPrevented||l?.(e)},[l]);return n.createElement("div",{ref:d,role:"alert","data-fs-alert":!0,"data-fs-alert-dismissible":s,"data-fs-content":"alert","data-testid":e,...u},!!r&&r,n.createElement("p",{"data-fs-alert-content":!0},t),c&&n.createElement(a.Z,{"data-fs-alert-link":!0,variant:"inline",...c}),s&&n.createElement(o.Z,{"data-fs-alert-button":!0,size:"small","aria-label":"Close",icon:n.createElement(i.Z,{name:"X"}),onClick:f}))});t.Z=s},7041:function(e,t,r){"use strict";var n=r(2784),a=r(3339);let o=(0,n.forwardRef)(function({icon:e,children:t,testId:r="fs-icon-button","aria-label":o,size:i="regular",variant:s,...c},l){return n.createElement(a.Z,{ref:l,"data-fs-button":!0,"data-fs-icon-button":!0,variant:s??"tertiary",icon:e,"aria-label":o,testId:r,size:i,...c},t)});t.Z=o},3922:function(e,t,r){"use strict";var n=r(2784);t.Z=function({icon:e,inverse:t,children:r,disabled:a,iconPosition:o,size:i="regular",variant:s="primary",testId:c="fs-link-button",...l}){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":i,"data-fs-button-variant":s,"data-fs-button-inverse":t,"data-fs-button-disabled":a,onFocus:function(e){e.preventDefault(),a&&u.current?.blur()},"data-testid":c,...l},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)))}},3543:function(e,t,r){"use strict";r.d(t,{Z:function(){return Modal_Modal}});var n=r(2784),a=r(8316);let o=(0,n.forwardRef)(function({testId:e="fs-overlay",...t},r){return n.createElement("div",{ref:r,"data-fs-overlay":!0,role:"presentation","data-testid":e,...t})});var i=r(6652),s=r(3666),c=r(5712);let useTrapFocus=({trapFocusRef:e,beforeElementRef:t,afterElementRef:r})=>{let a=(0,n.useRef)(),o=(0,n.useRef)(document.hasFocus()?document.activeElement:null);(0,n.useEffect)(()=>{let e=o.current;return()=>{e?.focus()}},[o]),(0,n.useEffect)(()=>{if(!e.current)return;a.current||(a.current=(0,c.ht)(e.current));let[t]=a.current;if(!t){e.current.focus();return}t.focus()},[e]),(0,n.useEffect)(()=>{if(!e.current||!t.current||!r.current)return;let n=t.current,o=r.current,i=e.current,handleLoopFocus=t=>{document.hasFocus()&&(a.current=(0,c.ht)(e.current),a.current.length||i.focus(),t.target===n&&a.current[a.current.length-1]?.focus(),t.target===o&&a.current[0]?.focus())};return n?.addEventListener("focusin",handleLoopFocus),o?.addEventListener("focusin",handleLoopFocus),()=>{n?.removeEventListener("focusin",handleLoopFocus),o?.removeEventListener("focusin",handleLoopFocus)}},[a,r,t,e])},ModalContentPure=({beforeElementRef:e,trapFocusRef:t,afterElementRef:r,testId:a="store-modal-content",children:o,...i})=>n.createElement(n.Fragment,null,n.createElement("div",{ref:e,"data-testid":"beforeElement",tabIndex:0,"aria-hidden":"true"}),n.createElement("div",{"data-fs-modal-content":!0,"data-testid":a,ref:t,"aria-modal":"true",role:"dialog",tabIndex:-1,...i},o),n.createElement("div",{ref:r,"data-testid":"afterElement",tabIndex:0,"aria-hidden":"true"}));var Modal_ModalContent=({children:e,...t})=>{let r=(0,n.useRef)(null),a=(0,n.useRef)(null),o=(0,n.useRef)(null);return useTrapFocus({beforeElementRef:a,trapFocusRef:r,afterElementRef:o}),n.createElement(ModalContentPure,{...t,trapFocusRef:r,beforeElementRef:a,afterElementRef:o,onClick:e=>{e.stopPropagation()}},e)},Modal_Modal=({children:e,testId:t="fs-modal",isOpen:r=!0,onDismiss:c,overlayProps:l,...u})=>{let{closeModal:d}=(0,i.l)(),{fade:f,fadeOut:p,fadeIn:b}=(0,s.b)();return r?(0,a.createPortal)(n.createElement(o,{onClick:e=>{e.defaultPrevented||(e.stopPropagation(),p?.(),c?.())},onKeyDown:e=>{"Escape"!==e.key||e.defaultPrevented||(e.stopPropagation(),p?.(),c?.())},...l},n.createElement(Modal_ModalContent,{onTransitionEnd:()=>"out"===f&&d(),"data-fs-modal":!0,"data-fs-modal-state":f,testId:t,...u},"function"==typeof e?e({fade:f,fadeOut:p,fadeIn:b}):e)),document.body):null}},101:function(e,t,r){"use strict";r.d(t,{c:function(){return a}});var n=r(2784);let a=(0,n.createContext)(null);t.Z=function({onSearchSelection:e,children:t,term:r,terms:o,products:i,isLoading:s}){return n.createElement(a.Provider,{value:{onSearchSelection:e,term:r,terms:o,products:i,isLoading:s}},t)}},7215:function(e,t,r){"use strict";var n=r(2784),a=r(3543);t.Z=function({testId:e="fs-slide-over",isOpen:t,direction:r="leftSide",size:o="full",fade:i="out",children:s,overlayProps:c,onDismiss:l,...u}){return n.createElement(a.Z,{"data-fs-modal":null,"data-fs-slide-over":!0,"data-fs-slide-over-direction":r,"data-fs-slide-over-size":o,"data-fs-slide-over-state":i,isOpen:t,onDismiss:l,testId:e,overlayProps:c,...u},s)}},5049:function(e,t,r){"use strict";var n=r(2784),a=r(7041),o=r(2614);t.Z=({children:e,closeBtnProps:t={},onClose:r,...i})=>n.createElement("header",{"data-fs-slide-over-header":!0,...i},e,n.createElement(a.Z,{"data-fs-slide-over-header-icon":!0,"aria-label":"Close",icon:n.createElement(o.Z,{name:"X"}),onClick:r,...t}))},3523:function(e,t,r){"use strict";r.d(t,{$G:function(){return d},Ce:function(){return l},D5:function(){return a},HZ:function(){return o},M:function(){return u},Pq:function(){return f},VA:function(){return s},gU:function(){return i},wA:function(){return c}});var n=r(9499);let TypedDocumentString=class TypedDocumentString extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t,(0,n.Z)(this,"__apiType",void 0)}toString(){return this.value}};new TypedDocumentString("\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n isVariantOf {\n productGroupID\n name\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n quantity\n seller {\n identifier\n }\n }\n }\n}\n ",{fragmentName:"ProductSummary_product"}),new TypedDocumentString("\n fragment Filter_facets on StoreFacet {\n ... on StoreFacetRange {\n key\n label\n min {\n selected\n absolute\n }\n max {\n selected\n absolute\n }\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n __typename\n }\n}\n ",{fragmentName:"Filter_facets"}),new TypedDocumentString("\n fragment CartProductItem on StoreProduct {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}\n ",{fragmentName:"CartProductItem"}),new TypedDocumentString("\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n seller {\n identifier\n }\n }\n }\n ...CartProductItem\n}\n fragment CartProductItem on StoreProduct {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}",{fragmentName:"ProductDetailsFragment_product"}),new TypedDocumentString("\n fragment ClientManyProducts on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientManyProducts"}),new TypedDocumentString("\n fragment ClientProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ClientProduct"}),new TypedDocumentString("\n fragment ClientProductGallery on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientProductGallery"}),new TypedDocumentString("\n fragment ClientSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientSearchSuggestions"}),new TypedDocumentString("\n fragment ClientShippingSimulation on Query {\n shipping(items: $items, postalCode: $postalCode, country: $country) {\n address {\n city\n }\n }\n}\n ",{fragmentName:"ClientShippingSimulation"}),new TypedDocumentString("\n fragment ClientTopSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientTopSearchSuggestions"}),new TypedDocumentString("\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n}\n ",{fragmentName:"ServerCollectionPage"}),new TypedDocumentString("\n fragment ServerProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ServerProduct"}),new TypedDocumentString("\n fragment CartMessage on StoreCartMessage {\n text\n status\n}\n ",{fragmentName:"CartMessage"}),new TypedDocumentString("\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n ...CartProductItem\n }\n}\n fragment CartProductItem on StoreProduct {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}",{fragmentName:"CartItem"}),new TypedDocumentString("\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n}\n ",{fragmentName:"SearchEvent_metadata"});var a={__meta__:{operationName:"ValidateCartMutation",operationHash:"87e1ba227013cb087bcbb35584c1b0b7cdf612ef"}},o={__meta__:{operationName:"SubscribeToNewsletter",operationHash:"feb7005103a859e2bc8cf2360d568806fd88deba"}},i={__meta__:{operationName:"ClientManyProductsQuery",operationHash:"b854e384d076dc482f0afe016b604d527f2562a3"}},s={__meta__:{operationName:"ClientProductGalleryQuery",operationHash:"054742a6e1a39f1e09237dcec956879d964f3f20"}},c={__meta__:{operationName:"ClientProductQuery",operationHash:"e535e4897bf98968b8ce0a59af64212c4a746e6f"}},l={__meta__:{operationName:"ClientSearchSuggestionsQuery",operationHash:"d145a09bc100dd52d67e3b2624081da2cff66bee"}},u={__meta__:{operationName:"ClientTopSearchSuggestionsQuery",operationHash:"e2385b0f11726d0068f96548f57a8dd441c064e3"}},d={__meta__:{operationName:"ValidateSession",operationHash:"5696202828f9275216a445e316ebf516f168c506"}},f={__meta__:{operationName:"ClientShippingSimulationQuery",operationHash:"d6667f1de2a26b94b9b55f4b25d7d823f82635a0"}}},6104:function(e,t,r){"use strict";r.d(t,{ZP:function(){return cms_GlobalSections}});var n,a=r(4730),o=r(9499),i=r(2784),s=r(4439),c=r(6652),Toast_Toast=function(){let{toasts:e,popToast:t}=(0,c.l)(),r=e[e.length-1],n=(0,i.useRef)(),[a,o]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{if(!r)return;let e=setTimeout(()=>o(!0),10);return()=>clearTimeout(e)},[r]),(0,i.useEffect)(()=>(n.current=setTimeout(()=>o(!1),6e3),()=>n.current&&clearTimeout(n.current)),[r]),void 0===r)?null:i.createElement("div",{role:"status","data-fs-toast":!0,"data-fs-toast-visible":a,onTransitionEnd:()=>!a&&t()},r.icon&&i.createElement("div",{"data-fs-toast-icon-container":!0},!!r.icon&&r.icon),i.createElement("div",{"data-fs-toast-content":!0},r.title&&i.createElement("p",{"data-fs-toast-title":!0},r.title),i.createElement("p",{"data-fs-toast-message":!0},r.message)))},l=r(9089),u=r(3218),d=r(8418),f=r.n(d),p=r(2322),common_Toast_Toast=function(){var{toasts:e,pushToast:t}=(0,c.l)(),{messages:r}=(0,u.jD)();return(0,i.useEffect)(()=>{r&&r.forEach(e=>t({message:e.text,status:e.status}))},[r,t]),(0,p.jsx)(p.Fragment,{children:e.length>0&&(0,p.jsx)(l.Z,{className:"".concat(f().section," section-toast"),children:(0,p.jsx)(Toast_Toast,{})})})},b=r(1550),m=r(7296),v=r(2718),g=r(8240),y=r.n(g),j=r(4329),h=["content","children"];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,o.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}function Alert(e){var{content:t,children:r}=e,n=(0,a.Z)(e,h),{Alert:o}=(0,j.r3)(),{0:s,1:c}=(0,i.useState)(!0),u=(0,i.useCallback)(()=>c(!1),[c]);return!1===s?null:(0,p.jsx)(l.Z,{className:"".concat(y().section," section-alert"),children:(0,p.jsx)(o.Component,_objectSpread(_objectSpread({},n),{},{onClose:u,children:null!=t?t:r}))})}Alert.displayName="Alert";var O=(0,v.B)(Alert),S=r(8138),w=r(2614),_={Alert:S.Z,Icon:w.Z};function Alert_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 Alert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Alert_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Alert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P=(0,m.B)("Alert",function(e){var t,r,n,a,o,{icon:i,content:s,link:{text:c,to:l},dismissible:u}=e,{Alert:d,Icon:f}=(0,j.r3)();return(0,p.jsx)(O,Alert_objectSpread(Alert_objectSpread({icon:(0,p.jsx)(f.Component,Alert_objectSpread(Alert_objectSpread({},f.props),{},{name:null!=i?i:f.props.name}))},d.props),{},{link:Alert_objectSpread(Alert_objectSpread({},null!==(t=d.props.link)&&void 0!==t?t:{}),{},{children:null!=c?c:null===(r=d.props.link)||void 0===r?void 0:r.children,href:null!=l?l:null===(n=d.props.link)||void 0===n?void 0:n.href,target:null!==(a=null===(o=d.props.link)||void 0===o?void 0:o.target)&&void 0!==a?a:"_self"}),dismissible:null!=u?u:d.props.dismissible,children:s}))},_);function OverriddenDefaultAlert_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 OverriddenDefaultAlert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultAlert_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultAlert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var E=(0,m.v)(OverriddenDefaultAlert_objectSpread(OverriddenDefaultAlert_objectSpread({},{section:"Alert"}),{},{Section:P})),D=r(7653),x=r.n(D);let useScrollDirection=()=>{let[e,t]=(0,i.useState)(""),[r,n]=(0,i.useTransition)();return(0,i.useEffect)(()=>{let a=window.scrollY,updateScrollDirection=()=>{let{scrollY:o}=window,i=o>a?"down":"up";!r&&i!==e&&(o-a>10||o-a<-10)&&n(()=>t(i)),a=o>0?o:0};return window.addEventListener("scroll",updateScrollDirection),()=>window.removeEventListener("scroll",updateScrollDirection)},[r,e]),e};var k=r(29),C=r(1072),Z=r(101);let N=(0,i.forwardRef)(function({children:e,visibleDropdown:t=!1,testId:r="fs-search-input",isLoading:n,products:a,term:o,terms:s,onSearchSelection:c,...l},u){return i.createElement("div",{ref:u,"data-fs-search-input":!0,"data-fs-search-input-dropdown-visible":t,"data-testid":r,...l},i.createElement(Z.Z,{onSearchSelection:c,isLoading:n,term:o,products:a,terms:s},e))});var I=r(2256),R=r(7041);let K=(0,i.forwardRef)(function({onSubmit:e,buttonIcon:t,"aria-label":r="search",testId:n="fs-search-input",buttonProps:a,...o},s){let c=(0,i.useRef)(null),l=(0,i.useRef)(null);return(0,i.useImperativeHandle)(s,()=>({inputRef:c.current,formRef:l.current})),i.createElement("form",{ref:l,"data-fs-search-input-field":!0,"data-testid":n,onSubmit:t=>{t.preventDefault(),c.current?.value!==""&&e(c.current.value)},role:"search"},i.createElement(I.Z,{ref:c,"aria-label":r,"data-fs-search-input-field-input":!0,...o}),i.createElement(R.Z,{type:"submit","aria-label":"Submit Search",icon:t??i.createElement(w.Z,{name:"MagnifyingGlass"}),size:"small",...a}))});var B=r(1163),T=r(3295),L=r(8543),F=r(3523),M=r(7553),A=r(1868),$=F.Ce,search_useSuggestions=function(e){var{channel:t,locale:r}=(0,A.kP)(),n=(0,i.useMemo)(()=>({term:e,selectedFacets:[{key:"channel",value:null!=t?t:""},{key:"locale",value:r}]}),[e,r,t]),{data:a,error:o}=(0,M.aM)($,n,{onSuccess:t=>{if(t&&e){var n,a,o,i;(0,C._)({name:"intelligent_search_query",params:{locale:r,term:e,url:window.location.href,logicalOperator:null!==(n=null===(a=t.search.metadata)||void 0===a?void 0:a.logicalOperator)&&void 0!==n?n:"and",isTermMisspelled:null!==(o=null===(i=t.search.metadata)||void 0===i?void 0:i.isTermMisspelled)&&void 0!==o&&o,totalCount:t.search.products.pageInfo.totalCount}})}}});return{data:a,error:o}},G=["onSearchClick","buttonTestId","containerStyle","sort"];function SearchInput_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 z=(0,i.lazy)(()=>r.e(65).then(r.bind(r,7065))),q=(n=(0,k.Z)(function*(e){(0,C._)({name:"search",params:{search_term:e}})}),function(e){return n.apply(this,arguments)}),V=(0,i.forwardRef)(function(e,t){var r,n,s,{onSearchClick:c,buttonTestId:l="fs-search-button",containerStyle:u,sort:d}=e,f=(0,a.Z)(e,G),{0:b,1:m}=(0,i.useState)(""),v=(0,i.useDeferredValue)(b),{0:g,1:y}=(0,i.useState)(!1),j=(0,i.useRef)(null),{addToSearchHistory:h}=(0,L.Z)(),O=(0,B.useRouter)();(0,i.useImperativeHandle)(t,()=>({resetSearchInput:()=>m("")}));var onSearchSelection=(e,t)=>{h({term:e,path:t}),q(e),y(!1),m(e)};r=()=>y(!1),(0,i.useEffect)(()=>{var listener=e=>{!j.current||j.current.contains(e.target)||r(e)};return document.addEventListener("mousedown",listener),document.addEventListener("touchstart",listener),()=>{document.removeEventListener("mousedown",listener),document.removeEventListener("touchstart",listener)}},[j,r]);var{data:S,error:w}=search_useSuggestions(v),_=(null!==(n=null==S?void 0:S.search.suggestions.terms)&&void 0!==n?n:[]).slice(0,5),P=(null!==(s=null==S?void 0:S.search.suggestions.products)&&void 0!==s?s:[]).slice(0,5);return(0,p.jsxs)(N,{ref:j,visibleDropdown:g,onSearchSelection:onSearchSelection,term:v,terms:_,products:P,isLoading:!w&&!S,children:[(0,p.jsx)(K,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchInput_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchInput_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({ref:t,buttonProps:{onClick:c,testId:l},placeholder:"Search everything at the store",onChange:e=>m(e.target.value),onSubmit:e=>{var t=(0,T.u)({term:e,sort:d});onSearchSelection(e,t),O.push(t)},onFocus:()=>y(!0),value:b},f)),g&&(0,p.jsx)(i.Suspense,{fallback:null,children:(0,p.jsx)(z,{sort:d})})]})});let H=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links-list-item",...r},n){return i.createElement("li",{"data-fs-navbar-links-list-item":!0,ref:n,"data-testid":t,...r},e)});var Q=r(1664),W=r.n(Q),U=r(727),J=["href","inverse","children","variant"];function Link_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 Link_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Link_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Link_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Y=(0,i.forwardRef)(function(e,t){var{href:r,inverse:n,children:o,variant:s="default"}=e,c=(0,a.Z)(e,J);return(0,i.useMemo)(()=>"/"===r[0]&&"/"!==r[1],[r])?(0,p.jsx)(U.Z,Link_objectSpread(Link_objectSpread({as:W(),ref:t,variant:s,inverse:n,passHref:!0,href:r,legacyBehavior:!1},c),{},{children:o})):(0,p.jsx)(U.Z,Link_objectSpread(Link_objectSpread({ref:t,href:r,variant:s,inverse:n},c),{},{children:o}))}),X=r(3339),RegionButton_RegionButton=function(e){var{icon:t,label:r}=e,{openModal:n}=(0,c.l)(),{postalCode:a}=(0,A.kP)();return(0,p.jsx)(X.Z,{variant:"tertiary",size:"small",icon:(0,p.jsx)(w.Z,{name:t,width:18,height:18,weight:"bold"}),iconPosition:"left",onClick:n,children:null!=a?a:r})},ee=["links","onClickLink","region"];function NavbarLinks_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 NavbarLinks_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?NavbarLinks_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):NavbarLinks_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var et=(0,v.B)(function(e){var{links:t,onClickLink:r,region:{icon:n,label:o,shouldDisplayRegion:i}}=e,s=(0,a.Z)(e,ee),{NavbarLinks:c,NavbarLinksList:l}=(0,j.r3)();return(0,p.jsx)(c.Component,NavbarLinks_objectSpread(NavbarLinks_objectSpread(NavbarLinks_objectSpread({},s),c.props),{},{children:(0,p.jsxs)("div",{"data-fs-navbar-links-wrapper":!0,"data-fs-content":"navbar",children:[i&&(0,p.jsx)(RegionButton_RegionButton,{icon:n,label:o}),(0,p.jsx)(l.Component,NavbarLinks_objectSpread(NavbarLinks_objectSpread({},l.props),{},{children:t.map(e=>{var{url:t,text:n}=e;return(0,p.jsx)(H,{children:(0,p.jsx)(Y,{variant:"display",href:t,prefetch:!1,onClick:r,children:n})},n)})}))]})}))}),er=r(3666),en=r(3922),ButtonSignInFallback_ButtonSignInFallback=function(){return(0,p.jsx)(en.Z,{"data-fs-button-signin-link":!0,href:"/login",className:"text__title-mini",variant:"tertiary",icon:(0,p.jsx)(w.Z,{name:"User",width:18,height:18,weight:"bold"}),iconPosition:"left",children:(0,p.jsx)("span",{children:"Sign In"})})},ButtonSignIn_ButtonSignIn=e=>{var{label:t,myAccountLabel:r,icon:{alt:n,icon:a}}=e,{person:o}=(0,A.kP)();return(0,p.jsx)(en.Z,{"data-fs-button-signin-link":!0,href:null!=o&&o.id?"/account":"/login",className:"text__title-mini","aria-label":n,variant:"tertiary",icon:(0,p.jsx)(w.Z,{name:a,width:18,height:18,weight:"bold"}),iconPosition:"left",children:null!=o&&o.id?r:t})},ea=r(8918),Logo_Logo=function(e){var{alt:t,src:r,loading:n="lazy"}=e;return(0,p.jsx)("div",{"data-fs-logo":!0,children:(0,p.jsx)(ea.Z,{alt:t,src:r,width:0,height:0,sizes:"15vw",loading:n,style:{width:"100%",height:"auto"}})})},eo=r(8764),ei=r.n(eo);function NavbarSlider_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 NavbarSlider_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?NavbarSlider_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):NavbarSlider_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var es=(0,v.B)(function(e){var{logo:t,links:r,region:n,home:{label:a},signIn:{button:o}}=e,{NavbarSlider:s,NavbarSliderHeader:l,NavbarSliderContent:u,NavbarSliderFooter:d}=(0,j.r3)(),{closeNavbar:f}=(0,c.l)(),{fade:b,fadeOut:m}=(0,er.b)();return(0,p.jsxs)(s.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({fade:b,onDismiss:m,overlayProps:{className:"section ".concat(ei().section," section-navbar-slider")},onTransitionEnd:()=>"out"===b&&f()},s.props),{},{children:[(0,p.jsx)(l.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({onClose:m},l.props),{},{children:(0,p.jsx)(Y,{"data-fs-navbar-slider-logo":!0,href:t.link?t.link.url:"/",title:t.link?t.link.title:a,onClick:m,children:(0,p.jsx)(Logo_Logo,{alt:t.alt,src:t.src})})})),(0,p.jsx)(u.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({},u.props),{},{children:(0,p.jsx)(et,{onClickLink:m,links:r,region:n})})),(0,p.jsx)(d.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({},d.props),{},{children:(0,p.jsx)(i.Suspense,{fallback:(0,p.jsx)(ButtonSignInFallback_ButtonSignInFallback,{}),children:(0,p.jsx)(ButtonSignIn_ButtonSignIn,NavbarSlider_objectSpread({},o))})}))]}))}),ec=r(276),useCartToggleButton=()=>{var{totalItems:e}=(0,u.jD)(),{cart:t,openCart:r,closeCart:n}=(0,c.l)();return{onClick:(0,i.useCallback)(()=>{t?n():r()},[n,t,r]),"data-testid":"cart-toggle","data-items":e}};function CartToggle_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 CartToggle_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?CartToggle_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):CartToggle_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var CartToggle_CartToggle=function(e){var{alt:t,icon:r}=e,n=useCartToggleButton(),a=n["data-items"];return(0,p.jsx)(R.Z,CartToggle_objectSpread(CartToggle_objectSpread({"data-fs-cart-toggle":!0,"aria-label":t,icon:(0,p.jsx)(w.Z,{name:r,width:32,height:32})},n),{},{children:(0,p.jsx)(ec.Z,{counter:!0,children:a})}))};function Navbar_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 Navbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Navbar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Navbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Navbar(e){var{cart:t,logo:r,searchInput:n,home:a,links:o,signIn:s,region:l,home:{label:u},signIn:{button:d},menu:{icon:{icon:f,alt:b}}}=e,{Navbar:m,NavbarHeader:v,NavbarRow:g,NavbarButtons:y,IconButton:h}=(0,j.r3)(),O=useScrollDirection(),{openNavbar:S,navbar:_}=(0,c.l)(),P=(0,i.useRef)(null),{0:E,1:D}=(0,i.useState)(!1),x=(0,i.useCallback)(()=>{var e,t;D(!0),null===(e=P.current)||void 0===e||null===(t=e.inputRef)||void 0===t||t.focus()},[]),k=(0,i.useCallback)(()=>{var e;D(!1),null===(e=P.current)||void 0===e||e.resetSearchInput()},[]);return(0,p.jsxs)(m.Component,Navbar_objectSpread(Navbar_objectSpread({scrollDirection:O},m.props),{},{children:[(0,p.jsx)(v.Component,Navbar_objectSpread(Navbar_objectSpread({},v.props),{},{children:(0,p.jsxs)(g.Component,Navbar_objectSpread(Navbar_objectSpread({},g.props),{},{children:[!E&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(h.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-navbar-button-menu":!0,onClick:S,icon:(0,p.jsx)(w.Z,{name:f,width:32,height:32})},h.props),{},{"aria-label":null!=b?b:h.props["aria-label"]})),(0,p.jsx)(Y,{"data-fs-navbar-logo":!0,href:r.link?r.link.url:"/",title:r.link?r.link.title:u,prefetch:!1,children:(0,p.jsx)(Logo_Logo,{src:r.src,alt:r.alt})})]}),(0,p.jsx)(V,{sort:null==n?void 0:n.sort}),(0,p.jsxs)(y.Component,Navbar_objectSpread(Navbar_objectSpread({searchExpanded:E},y.props),{},{children:[E&&(0,p.jsx)(h.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-button-collapse":!0,"aria-label":"Collapse search bar",icon:(0,p.jsx)(w.Z,{name:"CaretLeft",width:32,height:32})},h.props),{},{onClick:k})),(0,p.jsx)(V,{placeholder:"",ref:P,testId:"store-input-mobile",buttonTestId:"store-input-mobile-button",onSearchClick:x,sort:null==n?void 0:n.sort,hidden:!E,"aria-hidden":!E}),(0,p.jsx)(ButtonSignIn_ButtonSignIn,Navbar_objectSpread({},d)),(0,p.jsx)(CartToggle_CartToggle,Navbar_objectSpread({},t))]}))]}))})),(0,p.jsx)(et,{links:o,region:l,className:"hidden-mobile"}),_&&(0,p.jsx)(es,{home:a,logo:r,links:o,signIn:s,region:l})]}))}Navbar.displayName="Navbar";var el=(0,v.B)(Navbar);let eu=(0,i.forwardRef)(function({children:e,scrollDirection:t,testId:r="fs-navbar",...n},a){return i.createElement("header",{"data-fs-navbar":!0,role:"banner","data-fs-navbar-scroll":t,ref:a,"data-testid":r,...n},e)}),ed=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links",...r},n){return i.createElement("nav",{"data-fs-navbar-links":!0,ref:n,"data-testid":t,...r},e)});var ef=r(4564);let ep=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links-list",...r},n){return i.createElement(ef.Z,{"data-fs-navbar-links-list":!0,ref:n,"data-testid":t,...r},e)});var eb=r(7215),em=r(5049);let ev=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-slider-content",...r},n){return i.createElement("div",{"data-fs-navbar-slider-content":!0,ref:n,"data-testid":t,...r},e)}),eg=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-slider-footer",...r},n){return i.createElement("footer",{"data-fs-navbar-slider-footer":!0,ref:n,"data-testid":t,...r},e)}),ey=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-header",...r},n){return i.createElement("section",{"data-fs-navbar-header":!0,ref:n,"data-testid":t,...r},e)}),ej=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-row",...r},n){return i.createElement("div",{"data-fs-navbar-row":!0,"data-fs-content":"navbar",ref:n,"data-testid":t,...r},e)}),eh=(0,i.forwardRef)(function({children:e,searchExpanded:t,testId:r="fs-navbar-buttons",...n},a){return i.createElement("div",{"data-fs-navbar-buttons":!0,ref:a,"data-testid":r,"data-fs-navbar-search-expanded":t,...n},e)});var eO={Navbar:eu,NavbarLinks:ed,NavbarLinksList:ep,NavbarSlider:function({children:e,size:t="full",isOpen:r=!0,direction:n="leftSide",testId:a="fs-navbar-slider",...o}){return i.createElement(eb.Z,{"data-fs-navbar-slider":!0,size:t,isOpen:r,direction:n,"data-testid":a,...o},e)},NavbarSliderHeader:function({children:e,testId:t="fs-navbar-slider-header",...r}){return i.createElement(em.Z,{"data-fs-navbar-slider-header":!0,"data-testid":t,...r},e)},NavbarSliderContent:ev,NavbarSliderFooter:eg,NavbarHeader:ey,NavbarRow:ej,NavbarButtons:eh,IconButton:R.Z},eS=(0,m.B)("Navbar",function(e){var{logo:t,searchInput:r,cartIcon:n,signInButton:a,navigation:{menu:o,home:i,pageLinks:s,regionalization:{label:c,icon:{icon:u},enabled:d}}}=e;return(0,p.jsx)(l.Z,{className:"".concat(x().section," section-navbar"),children:(0,p.jsx)(el,{home:i,menu:o,logo:t,searchInput:r,cart:n,links:s,signIn:{button:a},region:{icon:u,label:c,shouldDisplayRegion:d}})})},eO);function OverriddenDefaultNavbar_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 OverriddenDefaultNavbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultNavbar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultNavbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ew=(0,m.v)(OverriddenDefaultNavbar_objectSpread(OverriddenDefaultNavbar_objectSpread({},{section:"Navbar"}),{},{Section:eS})),e_=["icon","buttonIcon","label","editLabel"];function RegionBar_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 RegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var RegionBar_RegionBar=function(e){var{icon:{icon:t,alt:r},buttonIcon:{icon:n,alt:o},label:i,editLabel:s}=e,l=(0,a.Z)(e,e_),{RegionBar:u,LocationIcon:d,ButtonIcon:f}=(0,j.r3)(),{openModal:b}=(0,c.l)(),{postalCode:m}=(0,A.kP)();return(0,p.jsx)(u.Component,RegionBar_objectSpread(RegionBar_objectSpread({icon:(0,p.jsx)(d.Component,RegionBar_objectSpread(RegionBar_objectSpread({},d.props),{},{name:null!=t?t:d.props.name,"aria-label":null!=r?r:d.props["aria-label"]})),buttonIcon:(0,p.jsx)(f.Component,RegionBar_objectSpread(RegionBar_objectSpread({},f.props),{},{name:null!=n?n:f.props.name,"aria-label":null!=o?o:f.props["aria-label"]}))},u.props),{},{label:null!=i?i:u.props.label,editLabel:null!=s?s:u.props.editLabel,onButtonClick:b,postalCode:m},l))},eP=r(1247),eE=r.n(eP);let eD=(0,i.forwardRef)(function({postalCode:e,icon:t,label:r,editLabel:n,buttonIcon:a,onButtonClick:o,...s},c){return i.createElement("div",{ref:c,"data-fs-region-bar":!0,...s},i.createElement(X.Z,{variant:"tertiary",iconPosition:"right",onClick:o,icon:a},!!t&&t,e?i.createElement(i.Fragment,null,i.createElement("span",{"data-fs-region-bar-postal-code":!0},e),!!n&&i.createElement("span",{"data-fs-region-bar-cta":!0},n)):i.createElement("span",{"data-fs-region-bar-message":!0},r)))});var ex={RegionBar:eD,LocationIcon:w.Z,ButtonIcon:w.Z},ek=["className"];function RegionBar_RegionBar_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 eC=(0,m.B)("RegionBar",function(e){var{className:t="display-mobile"}=e,r=(0,a.Z)(e,ek);return(0,p.jsx)(l.Z,{className:"".concat(eE().section," section-region-bar ").concat(t),children:(0,p.jsx)(RegionBar_RegionBar,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},r))})},ex);function OverriddenDefaultRegionBar_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 OverriddenDefaultRegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultRegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultRegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eZ=(0,m.v)(OverriddenDefaultRegionBar_objectSpread(OverriddenDefaultRegionBar_objectSpread({},{section:"RegionBar"}),{},{Section:eC})),eN=r(5450);let eI=(0,i.forwardRef)(function({testId:e="fs-payment-methods",title:t,"aria-label":r="Payment Methods",flagList:n,...a},o){return i.createElement("div",{ref:o,"data-fs-payment-methods":!0,"data-testid":e,...a},!!t&&i.createElement("div",{"data-fs-payment-methods-title":!0},t),i.createElement(ef.Z,{"data-fs-payment-methods-flags":!0,"aria-label":t?void 0:r},n.map(({alt:e,icon:{icon:t}},r)=>i.createElement("li",{"data-fs-payment-methods-flag":!0,key:`fs-payment-method-${r}-${e}`},i.createElement(w.Z,{width:32,height:22.5,name:t}),e&&i.createElement(eN.Z,{text:e})))))});function FooterInfo(e){var{children:t}=e;return(0,p.jsx)("div",{"data-fs-footer-info":!0,children:t})}function FooterNavigation(e){var{children:t}=e;return(0,p.jsx)("div",{"data-fs-footer-navigation":!0,children:t})}function Footer(e){var{children:t}=e;return(0,p.jsx)("footer",{"data-fs-footer":!0,"data-fs-footer-social":!0,"data-fs-footer-incentives":!0,"data-fs-footer-payment-methods":!0,children:(0,p.jsx)("div",{"data-fs-content":"footer",children:t})})}Footer.displayName="Footer";var eR=(0,v.B)(Footer),eK=r(1516),eB=r(783),eT=r(7734),eL=r(7583);function Links(e){var{items:t}=e;return(0,p.jsx)(ef.Z,{children:t.map(e=>(0,p.jsx)("li",{children:(0,p.jsx)(Y,{variant:"display",size:"small",href:e.url,children:e.text})},e.text))})}var Footer_FooterLinks=function(e){var{links:t}=e,{0:r,1:n}=(0,i.useState)(new Set([]));return(0,p.jsxs)("section",{"data-fs-footer":!0,"data-fs-footer-links":!0,children:[(0,p.jsx)("div",{className:"display-mobile",children:(0,p.jsx)(eK.Z,{indices:r,onChange:e=>{r.has(e)?(r.delete(e),n(new Set(r))):n(new Set(r.add(e)))},children:t.map(e=>{var{sectionTitle:t,items:r}=e;return(0,p.jsxs)(eB.Z,{children:[(0,p.jsx)(eT.Z,{children:t}),(0,p.jsx)(eL.Z,{children:(0,p.jsx)(Links,{items:r})})]},t)})})}),(0,p.jsx)("div",{className:"hidden-mobile",children:(0,p.jsx)("nav",{"data-fs-footer-links-columns":!0,children:t.map(e=>{var{sectionTitle:t,items:r}=e;return(0,p.jsxs)("div",{children:[(0,p.jsx)("p",{"data-fs-footer-links-title":!0,children:t}),(0,p.jsx)(Links,{items:r})]},t)})})})]})},Footer_FooterSocial=function(e){var{title:t,links:r}=e;return(0,p.jsxs)("section",{"data-fs-footer-social":!0,children:[(0,p.jsx)("p",{"data-fs-footer-social-title":!0,children:t}),(0,p.jsx)(ef.Z,{children:r.map(e=>{var{icon:{icon:t},url:r}=e;return(0,p.jsx)("li",{children:(0,p.jsx)(Y,{href:r,title:t,size:"small",target:"_blank",variant:"display",rel:"noopener noreferrer",children:(0,p.jsx)(w.Z,{name:t})})},t)})})]})},eF=r(7332),eM=r(4398),eA=r.n(eM),e$=["children"];function GlobalSections_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 GlobalSections_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?GlobalSections_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):GlobalSections_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eG=GlobalSections_objectSpread({Alert:E,Navbar:ew,RegionBar:eZ,RegionModal:(0,i.lazy)(()=>r.e(540).then(r.bind(r,2540))),CartSidebar:(0,i.lazy)(()=>r.e(247).then(r.bind(r,6247))),Footer:e=>{var{incentives:t,footerLinks:r,footerSocial:n,footerSocial:{title:a},logo:{src:o,alt:i,link:s},copyrightInfo:c,acceptedPaymentMethods:{showPaymentMethods:u,title:d,paymentMethods:f}}=e;return(0,p.jsx)(l.Z,{className:"section ".concat(eA().section," section-footer layout__section"),children:(0,p.jsxs)(eR,{children:[(0,p.jsx)(eF.Z,{incentives:t}),(0,p.jsxs)(FooterNavigation,{children:[(0,p.jsx)(Footer_FooterLinks,{links:r}),(0,p.jsx)(Footer_FooterSocial,{title:a,links:n.socialLinks})]}),(0,p.jsxs)(FooterInfo,{children:[(0,p.jsx)(Y,{href:s?s.url:"/",title:s?s.title:"Go to Home",children:(0,p.jsx)(Logo_Logo,{alt:i,src:o})}),u&&(0,p.jsx)(eI,{flagList:f,title:(0,p.jsx)("p",{children:d})}),(0,p.jsx)("div",{"data-fs-footer-copyright":!0,className:"text__legend",children:(0,p.jsx)("p",{children:c})})]})]})})}},s.Z),cms_GlobalSections=function(e){var{children:t}=e,r=(0,a.Z)(e,e$);return(0,p.jsxs)(b.Z,GlobalSections_objectSpread(GlobalSections_objectSpread({components:eG},r),{},{children:[(0,p.jsx)(common_Toast_Toast,{}),(0,p.jsx)("main",{children:t})]}))}},1550:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(4730),a=r(9499),o=r(5858),i=r(2784);let SectionBoundary=class SectionBoundary extends i.Component{constructor(){super(...arguments),(0,a.Z)(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error("Error while rendering section ".concat(this.props.name," with:\n").concat(e.message," ").concat(t.componentStack))}render(){return this.state.hasError?null:this.props.children}};var s=r(2322),c=["children","sections"];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,a.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 useDividedSections=e=>(0,i.useMemo)(()=>{var t=e.findIndex(e=>{var{name:t}=e;return"Children"===t}),r=t>-1;return _objectSpread({hasChildren:r,firstSections:r?e.slice(0,t):e},r&&{lastSections:e.slice(t+1)})},[e]),RenderSectionsBase=e=>{var{sections:t=[],components:r}=e;return(0,s.jsx)(s.Fragment,{children:t.map((e,t)=>{var{name:n,data:a}=e,i=r[n];return i?(0,s.jsx)(SectionBoundary,{name:n,children:(0,s.jsx)(i,_objectSpread({},a))},"cms-section-".concat(t)):(console.info("".concat(o.ZP.yellow("warn")," - ").concat(n," not found. Add a new component for this section or remove it from the CMS")),null)})})},l=(0,i.memo)(function(e){var{children:t,sections:r}=e,a=(0,n.Z)(e,c),{hasChildren:o,firstSections:i,lastSections:l}=useDividedSections(r);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(RenderSectionsBase,_objectSpread({sections:i},a)),t,o&&(0,s.jsx)(RenderSectionsBase,_objectSpread({sections:l},a))]})})},9089:function(e,t,r){"use strict";var n=r(9499),a=r(4730),o=r(2784),i=r(4329),s=r(2322),c=["as","className"];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 l=(0,o.forwardRef)(function(e,t){var r,{as:o,className:l=""}=e,u=(0,a.Z)(e,c),d=null!==(r=(0,i.WB)())&&void 0!==r?r:"",f=null!=o?o:"section";return(0,s.jsx)(f,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}({ref:t,className:"section ".concat(l," ").concat(d).trim()},u))});t.Z=l},8918:function(e,t,r){"use strict";r.d(t,{Z:function(){return p}});var n=r(9499),a=r(4730),o=r(2784),i=r(5675),s=r.n(i),c=r(7997),l=r.n(c),u="https://".concat(l().api.storeId,".vtexassets.com");function customImageLoader(e){var{src:t,width:r,quality:n}=e,a="".concat(r,"x").concat(0),o=["center","middle"];return n&&o.push("filters:quality(".concat(n||80,")")),o.push(encodeURIComponent(t)),[u,"unsafe",a,...o].join("/")}var d=r(2322),f=["loading"];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 Image(e){var{loading:t="lazy"}=e,r=(0,a.Z)(e,f);return(0,d.jsx)(s(),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}({"data-fs-image":!0,loader:customImageLoader,loading:t,priority:"eager"===t},r))}Image.displayName="Image";var p=(0,o.memo)(Image)},7332:function(e,t,r){"use strict";r.d(t,{Z:function(){return Incentives_Incentives}});var n=r(4564),a=r(2784);let o=(0,a.forwardRef)(function({testId:e="store-incentive",children:t,...r},n){return a.createElement("div",{ref:n,"data-fs-incentive":!0,"data-testid":e,...r},t)});var i=r(2614),s=r(2322),Incentives_Incentives=function(e){var{incentives:t,variant:r="horizontal",colored:a=!1}=e;return(0,s.jsx)("div",{"data-fs-incentives":!0,"data-fs-incentives-colored":a,"data-fs-incentives-variant":r,children:(0,s.jsx)(n.Z,{"data-fs-content":"incentives",children:t.map((e,t)=>(0,s.jsx)("li",{role:"listitem",children:(0,s.jsxs)(o,{tabIndex:0,children:[(0,s.jsx)(i.Z,{"data-fs-incentive-icon":!0,"aria-label":e.alt,name:e.icon,width:32,height:32}),(0,s.jsxs)("div",{"data-fs-incentive-content":!0,children:[(0,s.jsx)("p",{"data-fs-incentive-title":!0,children:e.title}),(0,s.jsx)("span",{"data-fs-incentive-description":!0,children:e.firstLineText}),e.secondLineText&&(0,s.jsx)("span",{"data-fs-incentive-description":!0,children:e.secondLineText})]})]})},String(t)))})})}},4439:function(e,t){"use strict";t.Z={}},3218:function(e,t,r){"use strict";r.d(t,{i8:function(){return h},jD:function(){return useCart}});var n,a=r(9499),o=r(29),i=r(3523),s=r(2254),c=r(8283),l=r(2784),u=r(7997),d=r.n(u),f=r(2495),p=r(1868),b=r(5134);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,a.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 m=i.D5,isGift=e=>0===e.price,getItemId=e=>{var t;return[e.itemOffered.sku,e.seller.identifier,null===(t=e.itemOffered.additionalProperty)||void 0===t?void 0:t.map(e=>{var{propertyID:t}=e;return t}).join("-")].filter(Boolean).join("::")},v=(n=(0,o.Z)(function*(e){var{validateCart:t=null}=yield(0,f.W)(m,{session:p.Qf.read(),cart:{order:{orderNumber:e.id,shouldSplitItem:e.shouldSplitItem,acceptedOffer:e.items.map(e=>{var{price:t,listPrice:r,seller:n,quantity:a,itemOffered:o}=e;return{price:t,listPrice:r,seller:n,quantity:a,itemOffered:{sku:o.sku,image:o.image,name:o.name,additionalProperty:o.additionalProperty}}})}}});return t&&{id:t.order.orderNumber,items:t.order.acceptedOffer.map(e=>_objectSpread(_objectSpread({},e),{},{id:getItemId(e)})),messages:t.messages}}),function(e){return n.apply(this,arguments)}),[g,y]=(0,b.d)(v),j=((e,t,r="fs::cart")=>{let n=(0,c.M)(e,r,t),getItem=e=>n.read().items.find(t=>t.id===e);return{...n,getItem,addItem:e=>{if(!e.id)throw new s.q("You must provide an `id` for items");if(e.quantity<0)throw new s.q("Item quantity needs to be higher than zero");let t=n.read(),r=getItem(e.id),a=r?{...e,quantity:r.quantity+e.quantity}:e;n.set({...t,items:r?t.items.map(e=>e===r?a:e):[...t.items,a]})},updateItemQuantity:(e,t)=>{let r=n.read(),a=getItem(e);if(!a)throw new s.q(`Item with id not found: ${e}`);let o={...a,quantity:t};n.set({...r,items:r.items.map(e=>e===a?o:e).filter(e=>e.quantity>0)})},removeItem:e=>{let t=n.read(),r=getItem(e);n.set({...t,items:t.items.filter(e=>e!==r)})},emptyCart:()=>n.set({...n.read(),items:[]}),inCart:e=>!!getItem(e),isEmpty:()=>0===n.read().items.length}})(d().cart,y),h=_objectSpread(_objectSpread({},j),{},{addItem:e=>{var t=_objectSpread(_objectSpread({},e),{},{id:getItemId(e)});j.addItem(t)}}),useCart=()=>{var e=(0,b.o)(h),t=(0,b.o)(g);return(0,l.useMemo)(()=>_objectSpread(_objectSpread({},e),{},{isValidating:t,messages:e.messages,gifts:e.items.filter(e=>isGift(e)),items:e.items.filter(e=>!isGift(e)),totalUniqueItems:e.items.length,totalItems:e.items.reduce((e,t)=>e+(isGift(t)?0:t.quantity),0),total:e.items.reduce((e,t)=>e+t.price*t.quantity,0),subTotal:e.items.reduce((e,t)=>e+t.listPrice*t.quantity,0)}),[e,t])}},2495:function(e,t,r){"use strict";r.d(t,{W:function(){return c}});var n,a,o=r(9499),i=r(29);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,o.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 s={POST:{"Content-Type":"application/json"}},c=(n=(0,i.Z)(function*(e,t,r){var{data:n,errors:a}=yield l("/api/graphql",_objectSpread(_objectSpread({},r),{},{variables:t,operation:e}));if(null!=a&&a.length)throw a[0];return n}),function(e,t,r){return n.apply(this,arguments)}),l=(a=(0,i.Z)(function*(e,t){var{operation:r,variables:n,fetchOptions:a}=t,{operationName:o,operationHash:i}=r.__meta__,c=(null==a?void 0:a.method)!==void 0?a.method.toUpperCase():o.endsWith("Query")?"GET":"POST",l=new URLSearchParams(_objectSpread({operationName:o,operationHash:i},"GET"===c&&{variables:JSON.stringify(n)})),u="POST"===c?JSON.stringify({operationName:o,operationHash:i,variables:n}):void 0,d="".concat(e,"?").concat(l.toString());return(yield fetch(d,_objectSpread(_objectSpread({method:c,body:u},a),{},{headers:_objectSpread(_objectSpread({},s[c]),null==a?void 0:a.headers)}))).json()}),function(e,t){return a.apply(this,arguments)})},7553:function(e,t,r){"use strict";r.d(t,{WN:function(){return s},aM:function(){return useQuery},km:function(){return getKey}});var n=r(29),a=r(9499),o=r(9857),i=r(2495);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,a.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 getKey=(e,t)=>"".concat(e,"::").concat(JSON.stringify(t)),s={errorRetryCount:3,refreshWhenHidden:!1,refreshWhenOffline:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,shouldRetryOnError:!0},useQuery=(e,t,r)=>(0,o.ZP)(()=>null!=r&&r.doNotRun?null:getKey(e.__meta__.operationName,t),_objectSpread(_objectSpread({fetcher:()=>new Promise(a=>{setTimeout((0,n.Z)(function*(){a((yield(0,i.W)(e,t,r)))}))})},s),r))},4329:function(e,t,r){"use strict";r.d(t,{Ju:function(){return o},WB:function(){return useOverrideClassName},r3:function(){return useOverrideComponents}});var n=r(2784),a=(0,n.createContext)(null),o=a.Provider,useOverrideComponents=()=>(0,n.useContext)(a).components,useOverrideClassName=()=>{var e;return null===(e=(0,n.useContext)(a))||void 0===e?void 0:e.className}},7296:function(e,t,r){"use strict";r.d(t,{B:function(){return getOverridableSection},v:function(){return getOverriddenSection}});var n=r(9499),a=r(4730),o=r(2784),i=r(4329),s=r(2322),c=["__overrides"],l=["Section"];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}function getOverridableSection(e,t,r){return function(n){var{__overrides:l}=n,u=(0,a.Z)(n,c),d=(0,o.useMemo)(()=>{var t,n;return _objectSpread(_objectSpread({},null!=l?l:{}),{},{components:(t=_objectSpread(_objectSpread({},null!=l?l:{}),{},{section:e}),n={},Object.entries(r).forEach(e=>{var r,a,[o,i]=e,s=null===(r=t.components)||void 0===r?void 0:r[o];if(!s){n[o]={Component:i,props:{}};return}s.Component&&s.props&&console.warn("Mixed use of Component and props overrides detected. Defaulting to Component override: component ".concat(o," in the ").concat(t.section," section.")),s.Component?n[o]={Component:s.Component,props:{}}:n[o]={Component:i,props:null!==(a=s.props)&&void 0!==a?a:{}}}),n)})},[l]);return(0,s.jsx)(i.Ju,{value:d,children:(0,s.jsx)(t,_objectSpread({},u))})}}function getOverriddenSection(e){var{Section:t}=e,r=(0,a.Z)(e,l);return function(e){return(0,s.jsx)(t,_objectSpread(_objectSpread({},e),{},{__overrides:r}))}}},3295:function(e,t,r){"use strict";r.d(t,{u:function(){return formatSearchPath}});var n=r(2339),a=r(2524),formatSearchPath=e=>{var{term:t,sort:r}=e,{pathname:o,search:i}=(0,n.Z)((0,a.j)({term:t,sort:r,base:"/s"}));return"".concat(o).concat(i)}},8543:function(e,t,r){"use strict";r.d(t,{Z:function(){return useSearchHistory}});var n=r(8283),a=r(5134),o=(0,n.M)([],"fs::searchHistory");function useSearchHistory(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,t=(0,a.o)(o);return{searchHistory:t,addToSearchHistory:function(r){var n=new Set,a=[r,...t].slice(0,e).filter(e=>!n.has(e.term)&&n.add(e.term),n);o.set(a)},clearSearchHistory:function(){o.set([])}}}},1868:function(e,t,r){"use strict";r.d(t,{Qf:function(){return j},kP:function(){return useSession},je:function(){return m}});var n,a=r(9499),o=r(29),i=r(3523),s=r(8283),c=r(2784),l=r(7997),u=r.n(l),d=r(3218),f=r(2495),p=r(5134);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,a.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 b=i.$G,m=(n=(0,o.Z)(function*(e){return(yield(0,f.W)(b,{session:e,search:window.location.search})).validateSession}),function(e){return n.apply(this,arguments)}),[v,g]=(0,p.d)(m),y=((e,t,r="fs::session")=>(0,s.M)(e,r,t))(u().session,g),j=_objectSpread(_objectSpread({},y),{},{set:e=>{y.set(e),d.i8.set(d.i8.read())}}),useSession=()=>{var e=(0,p.o)(j),t=(0,p.o)(v);return(0,c.useMemo)(()=>_objectSpread(_objectSpread({},e),{},{isValidating:t}),[t,e])}},2718:function(e,t,r){"use strict";r.d(t,{B:function(){return mark}});var n=r(9499),a=r(2322);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 mark=e=>function(t){var r,o;return performance.mark(null!==(r=null!==(o=e.displayName)&&void 0!==o?o:e.name)&&void 0!==r?r:"unknown"),(0,a.jsx)(e,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}({},t))}},5134:function(e,t,r){"use strict";r.d(t,{d:function(){return createValidationStore},o:function(){return useStore}});var n=r(29),a=r(3365),o=r(2784),useStore=e=>(0,o.useSyncExternalStore)(e.subscribe,e.read,e.readInitial),createValidationStore=e=>{var t,r=(0,a.M)(!1),o=(t=(0,n.Z)(function*(t){try{return r.set(!0),yield e(t)}finally{r.set(!1)}}),function(e){return t.apply(this,arguments)});return[r,o]}},8240:function(e){e.exports={section:"section_section__AmDVi"}},8418:function(e){e.exports={section:"section_section__K5krg"}},8764:function(e){e.exports={section:"section_section__ZKxbf"}},4398:function(e){e.exports={section:"section_section__woYoQ"}},7653:function(e){e.exports={section:"section_section__8YaQ0"}},1247:function(e){e.exports={section:"section_section__uCdcm"}},1072:function(e,t,r){"use strict";r.d(t,{_:function(){return sendAnalyticsEvent}});var n=r(4950);let sendAnalyticsEvent=e=>{try{window.postMessage((0,n.re)(e),window.origin)}catch(e){console.error(e)}}},2524:function(e,t,r){"use strict";r.d(t,{X:function(){return useSearchState},j:function(){return initialize}});var n=r(2784),a=r(2339);let initialize=({sort:e="score_desc",selectedFacets:t=[],term:r=null,base:n="/",page:a=0}={})=>({sort:e,selectedFacets:t,term:r,base:n,page:a}),equals=(e,t)=>(0,a.Z)(e).href===(0,a.Z)(t).href,useSearchState=(e,t)=>{let r=(0,n.useMemo)(()=>initialize(e),[e]);return(0,n.useMemo)(()=>({state:r,setState:e=>!equals(e,r)&&t((0,a.Z)(e))}),[t,r])}},3365:function(e,t,r){"use strict";r.d(t,{M:function(){return createStore}});let createStore=e=>{let t=new Set,r=new Set,n=e;return{set:e=>{n=e,r.forEach(e=>e()),r.clear(),t.forEach(t=>{let n=t(e);"function"==typeof n&&r.add(n)})},read:()=>n,readInitial:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)})}}},8283:function(e,t,r){"use strict";r.d(t,{M:function(){return createStore}});var n=r(425);let getIDB=async e=>{try{return await (0,n.U2)(e)}catch(e){return}},setIDB=async(e,t)=>{try{await (0,n.t8)(e,t)}catch(e){}},persisted=e=>t=>{let handler=async()=>{let r=await getIDB(e);"undefined"!=typeof document&&t.set(r??t.readInitial())};return handler(),globalThis.addEventListener?.("focus",()=>handler()),globalThis.document?.addEventListener("visibilitychange",()=>"visible"===document.visibilityState&&handler()),t.subscribe(t=>{setIDB(e,t)}),t},trivial=async()=>null,optimistic=(e=trivial)=>{let t=Promise.resolve();return r=>(r.subscribe(n=>{let a=!1,handler=async()=>{if(a)return;let t=await e(n);a||null===t||r.set(t)};return t=t.then(handler),()=>{a=!0}}),r)};globalThis.faststore_sdk_stores=globalThis.faststore_sdk_stores??new Map;let singleton=e=>t=>{let r=globalThis.faststore_sdk_stores;return r.has(e)||r.set(e,t),r.get(e)},compose=(e,t)=>e.reduce((e,t)=>t(e),t);var a=r(3365);let identity=e=>e,createStore=(e,t,r)=>compose([t?singleton(t):identity,t?persisted(t):identity,r?optimistic(r):identity],(0,a.M)(e))},2254:function(e,t,r){"use strict";r.d(t,{q:function(){return SDKError}});let SDKError=class SDKError extends Error{constructor(e){super(`[sdk]: ${e}`)}}},2339:function(e,t){"use strict";t.Z=e=>{let t=new URL(e.base,"http://localhost"),{page:r,selectedFacets:n,sort:a,term:o}=e;null!==o&&t.searchParams.set("q",o);let i=new Set;for(let e of n)t.searchParams.append(e.key,e.value),i.add(e.key);return n.length>0&&t.searchParams.set("facets",Array.from(i).join(",")),t.searchParams.set("sort",a),t.searchParams.set("page",r.toString()),t}}}]);