@faststore/core 3.0.68 → 3.0.69

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 (87) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +3 -3
  3. package/.next/build-manifest.json +30 -29
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/cache/config.json +3 -3
  6. package/.next/cache/eslint/.cache_1gneedd +1 -1
  7. package/.next/cache/fetch-cache/50912854cb7c781522a6ff8792d714e549515fcbbbfd660761961b06afe01c07 +1 -1
  8. package/.next/cache/webpack/client-production/0.pack +0 -0
  9. package/.next/cache/webpack/client-production/index.pack +0 -0
  10. package/.next/cache/webpack/server-production/0.pack +0 -0
  11. package/.next/cache/webpack/server-production/index.pack +0 -0
  12. package/.next/next-minimal-server.js.nft.json +1 -1
  13. package/.next/next-server.js.nft.json +1 -1
  14. package/.next/prerender-manifest.js +1 -1
  15. package/.next/prerender-manifest.json +1 -1
  16. package/.next/routes-manifest.json +1 -1
  17. package/.next/server/app/_not-found.html +2 -2
  18. package/.next/server/app/_not-found.js.nft.json +1 -1
  19. package/.next/server/app/_not-found.rsc +1 -1
  20. package/.next/server/app/fs-next-update/page.js.nft.json +1 -1
  21. package/.next/server/app/fs-next-update.html +2 -2
  22. package/.next/server/app/fs-next-update.rsc +1 -1
  23. package/.next/server/chunks/1481.js +1 -1
  24. package/.next/server/chunks/2381.js +1 -1
  25. package/.next/server/chunks/3383.js +7 -4
  26. package/.next/server/chunks/4501.js +1 -0
  27. package/.next/server/middleware-build-manifest.js +1 -1
  28. package/.next/server/pages/404.html +2 -2
  29. package/.next/server/pages/404.js +1 -1
  30. package/.next/server/pages/404.js.nft.json +1 -1
  31. package/.next/server/pages/500.js +1 -1
  32. package/.next/server/pages/500.js.nft.json +1 -1
  33. package/.next/server/pages/[...slug].js +2 -2
  34. package/.next/server/pages/[...slug].js.nft.json +1 -1
  35. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  36. package/.next/server/pages/_app.js.nft.json +1 -1
  37. package/.next/server/pages/_document.js.nft.json +1 -1
  38. package/.next/server/pages/_error.js.nft.json +1 -1
  39. package/.next/server/pages/account.js.nft.json +1 -1
  40. package/.next/server/pages/api/graphql.js +1 -1
  41. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  42. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  43. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  44. package/.next/server/pages/api/preview.js.nft.json +1 -1
  45. package/.next/server/pages/checkout.js.nft.json +1 -1
  46. package/.next/server/pages/en-US/404.html +2 -2
  47. package/.next/server/pages/en-US/500.html +2 -2
  48. package/.next/server/pages/en-US/account.html +2 -2
  49. package/.next/server/pages/en-US/checkout.html +2 -2
  50. package/.next/server/pages/en-US/login.html +2 -2
  51. package/.next/server/pages/en-US/s.html +2 -2
  52. package/.next/server/pages/en-US.html +2 -2
  53. package/.next/server/pages/index.js.nft.json +1 -1
  54. package/.next/server/pages/login.js +1 -1
  55. package/.next/server/pages/login.js.nft.json +1 -1
  56. package/.next/server/pages/s.js +1 -1
  57. package/.next/server/pages/s.js.nft.json +1 -1
  58. package/.next/server/pages-manifest.json +1 -1
  59. package/.next/static/9mzgUpnc-9K9OkwBUwU_J/_buildManifest.js +1 -0
  60. package/.next/static/chunks/432-f9746c0a02be7690.js +1 -0
  61. package/.next/static/chunks/{722-35290092305b1d70.js → 722-35a54a587fc5345e.js} +1 -1
  62. package/.next/static/chunks/pages/404-73a524c217e7d675.js +1 -0
  63. package/.next/static/chunks/pages/500-818614ef804ffdb4.js +1 -0
  64. package/.next/static/chunks/pages/login-f44af0d9785a931a.js +1 -0
  65. package/.next/static/chunks/pages/s-ecb0e723ef7b76cc.js +1 -0
  66. package/.next/static/chunks/webpack-9d8f8adc92bc26a1.js +1 -0
  67. package/.next/trace +65 -65
  68. package/.turbo/turbo-build.log +8 -8
  69. package/.turbo/turbo-test.log +4 -4
  70. package/@generated/gql.ts +2 -2
  71. package/@generated/graphql.ts +2 -1
  72. package/@generated/persisted-documents.json +1 -1
  73. package/package.json +2 -2
  74. package/src/components/templates/SearchPage/SearchPage.tsx +4 -22
  75. package/src/components/templates/SearchPage/SearchWrapper.tsx +68 -0
  76. package/src/components/templates/SearchPage/index.ts +3 -0
  77. package/src/pages/s.tsx +20 -17
  78. package/src/sdk/product/useProductGalleryQuery.ts +8 -0
  79. package/.next/server/chunks/8635.js +0 -1
  80. package/.next/static/3UMFfxLNPHRf2Hssm8UPe/_buildManifest.js +0 -1
  81. package/.next/static/chunks/432-eb17ca619ec04a2a.js +0 -1
  82. package/.next/static/chunks/pages/404-be2217109dab18cf.js +0 -1
  83. package/.next/static/chunks/pages/500-64a07a16830e129c.js +0 -1
  84. package/.next/static/chunks/pages/login-258e5b7ecec36481.js +0 -1
  85. package/.next/static/chunks/pages/s-53cc10ba9aa8331e.js +0 -1
  86. package/.next/static/chunks/webpack-240d066e53315260.js +0 -1
  87. /package/.next/static/{3UMFfxLNPHRf2Hssm8UPe → 9mzgUpnc-9K9OkwBUwU_J}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  $ yarn partytown & yarn generate && next build
2
- $ faststore generate-graphql -c -d
3
2
  $ partytown copylib ./public/~partytown
3
+ $ faststore generate-graphql -c -d
4
4
  Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
5
5
  [STARTED] yarn generate:schema
6
6
  [STATUS] $ tsx src/server/generator/generateGraphQLSchemaFile.ts --debug --verbose
@@ -86,31 +86,31 @@ Route (app) Size First Load JS
86
86
  ├ chunks/472-369461a1f39981d5.js 28.4 kB
87
87
  ├ chunks/fd9d1056-43c43818840d7811.js 51.1 kB
88
88
  ├ chunks/main-app-e13fa67c2c3ceca5.js 230 B
89
- └ chunks/webpack-240d066e53315260.js 2.43 kB
89
+ └ chunks/webpack-9d8f8adc92bc26a1.js 2.43 kB
90
90
 
91
91
  Route (pages) Size First Load JS
92
92
  ┌ ● / 1.04 kB 148 kB
93
93
  ├ └ css/fa6d43e3c11a59dc.css 755 B
94
94
  ├ /_app 0 B 93.8 kB
95
- ├ ● /[...slug] 2.65 kB 160 kB
95
+ ├ ● /[...slug] 2.65 kB 161 kB
96
96
  ├ └ css/3eed8d7ed5000eb8.css 2.4 kB
97
97
  ├ ● /[slug]/p 10.9 kB 158 kB
98
98
  ├ └ css/65f6dd6d16812461.css 9.49 kB
99
- ├ ○ /404 1.17 kB 131 kB
100
- ├ ● /500 1.17 kB 131 kB
99
+ ├ ○ /404 1.19 kB 131 kB
100
+ ├ ● /500 1.19 kB 131 kB
101
101
  ├ ● /account 447 B 130 kB
102
102
  ├ λ /api/graphql 0 B 93.8 kB
103
103
  ├ λ /api/health/live 0 B 93.8 kB
104
104
  ├ λ /api/health/ready 0 B 93.8 kB
105
105
  ├ λ /api/preview 0 B 93.8 kB
106
106
  ├ ● /checkout 432 B 130 kB
107
- ├ ● /login 1.29 kB 131 kB
108
- └ ● /s 1.22 kB 159 kB
107
+ ├ ● /login 1.31 kB 131 kB
108
+ └ ● /s 1.94 kB 160 kB
109
109
  + First Load JS shared by all 96.9 kB
110
110
  ├ chunks/framework-21e9365486ba23a6.js 45.4 kB
111
111
  ├ chunks/main-9c9c62c368c0a47e.js 34.8 kB
112
112
  ├ chunks/pages/_app-67b609ce322eae5f.js 11.2 kB
113
- ├ chunks/webpack-240d066e53315260.js 2.43 kB
113
+ ├ chunks/webpack-9d8f8adc92bc26a1.js 2.43 kB
114
114
  └ css/5d1f64b61ea581f4.css 3.05 kB
115
115
 
116
116
  λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
@@ -1,10 +1,10 @@
1
1
  $ jest
2
- PASS test/utils/multipleTemplates.test.ts (31.947 s)
3
- PASS test/server/cms/index.test.ts (32.528 s)
4
- PASS test/server/index.test.ts (33.753 s)
2
+ PASS test/utils/multipleTemplates.test.ts (30.945 s)
3
+ PASS test/server/cms/index.test.ts (30.912 s)
4
+ PASS test/server/index.test.ts (32.544 s)
5
5
 
6
6
  Test Suites: 3 passed, 3 total
7
7
  Tests: 19 passed, 19 total
8
8
  Snapshots: 0 total
9
- Time: 34.797 s
9
+ Time: 33.442 s
10
10
  Ran all test suites.
package/@generated/gql.ts CHANGED
@@ -44,7 +44,7 @@ const documents = {
44
44
  types.SubscribeToNewsletterDocument,
45
45
  '\n query ClientManyProductsQuery(\n $first: Int!\n $after: String\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientManyProducts\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 edges {\n node {\n ...ProductSummary_product\n }\n }\n }\n }\n }\n':
46
46
  types.ClientManyProductsQueryDocument,
47
- '\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\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 facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n':
47
+ '\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\n redirect(term: $term, selectedFacets: $selectedFacets) {\n url\n }\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 facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n':
48
48
  types.ClientProductGalleryQueryDocument,
49
49
  '\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n }\n':
50
50
  types.SearchEvent_MetadataFragmentDoc,
@@ -160,7 +160,7 @@ export function gql(
160
160
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
161
161
  */
162
162
  export function gql(
163
- source: '\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\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 facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n'
163
+ source: '\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\n redirect(term: $term, selectedFacets: $selectedFacets) {\n url\n }\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 facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n'
164
164
  ): typeof import('./graphql').ClientProductGalleryQueryDocument
165
165
  /**
166
166
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
@@ -1430,6 +1430,7 @@ export type ClientProductGalleryQueryQueryVariables = Exact<{
1430
1430
  }>
1431
1431
 
1432
1432
  export type ClientProductGalleryQueryQuery = {
1433
+ redirect: { url: string | null } | null
1433
1434
  search: {
1434
1435
  products: { pageInfo: { totalCount: number } }
1435
1436
  facets: Array<
@@ -2039,7 +2040,7 @@ export const ClientManyProductsQueryDocument = {
2039
2040
  export const ClientProductGalleryQueryDocument = {
2040
2041
  __meta__: {
2041
2042
  operationName: 'ClientProductGalleryQuery',
2042
- operationHash: '054742a6e1a39f1e09237dcec956879d964f3f20',
2043
+ operationHash: 'bfc40da32b60f9404a4adb96b0856e3fbb04b076',
2043
2044
  },
2044
2045
  } as unknown as TypedDocumentString<
2045
2046
  ClientProductGalleryQueryQuery,
@@ -4,7 +4,7 @@
4
4
  "534fae829675533052d75fd4aa509b9cf85b4d40": "fragment CartItem on StoreOffer { itemOffered { ...CartProductItem } listPrice price quantity seller { identifier } } fragment CartMessage on StoreCartMessage { status text } fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) { validateCart(cart: $cart, session: $session) { messages { ...CartMessage } order { acceptedOffer { ...CartItem } orderNumber } } }",
5
5
  "feb7005103a859e2bc8cf2360d568806fd88deba": "mutation SubscribeToNewsletter($data: IPersonNewsletter!) { subscribeToNewsletter(data: $data) { id } }",
6
6
  "c0d7d2ae1d5aaae5d50eea683b389377c36fb57d": "fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice offers { availability listPrice price quantity seller { identifier } } } id: productID sku slug } query ClientManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }",
7
- "054742a6e1a39f1e09237dcec956879d964f3f20": "fragment ClientProductGallery on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment Filter_facets on StoreFacet { ... on StoreFacetBoolean { __typename key label values { label quantity selected value } } ... on StoreFacetRange { __typename key label max { absolute selected } min { absolute selected } } } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientProductGalleryQuery($after: String!, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { facets { ...Filter_facets } metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } } ...ClientProductGallery }",
7
+ "bfc40da32b60f9404a4adb96b0856e3fbb04b076": "fragment ClientProductGallery on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment Filter_facets on StoreFacet { ... on StoreFacetBoolean { __typename key label values { label quantity selected value } } ... on StoreFacetRange { __typename key label max { absolute selected } min { absolute selected } } } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientProductGalleryQuery($after: String!, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { redirect(term: $term, selectedFacets: $selectedFacets) { url } search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { facets { ...Filter_facets } metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } } ...ClientProductGallery }",
8
8
  "cedeb0c3e7ec1678400fe2ae930f5a79382fba1e": "fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ClientProduct on Query { product(locator: $locator) { id: productID } } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name offers { lowPrice offers { availability listPrice price seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } query ClientProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductDetailsFragment_product } ...ClientProduct }",
9
9
  "a8a27661f6a032e086c047339e0d0f180f0e0161": "fragment ClientSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice offers { availability listPrice price quantity seller { identifier } } } id: productID sku slug } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } suggestions { products { ...ProductSummary_product } terms { value } } } ...ClientSearchSuggestions }",
10
10
  "e2385b0f11726d0068f96548f57a8dd441c064e3": "fragment ClientTopSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } query ClientTopSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } ...ClientTopSearchSuggestions }",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.0.68",
3
+ "version": "3.0.69",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -129,5 +129,5 @@
129
129
  "node": "18.19.0",
130
130
  "yarn": "1.19.1"
131
131
  },
132
- "gitHead": "d12b653cdc379d4449666b2a405922c1b27c372d"
132
+ "gitHead": "f4395a8f30148c6e354f356968f4c8947da05387"
133
133
  }
@@ -1,4 +1,3 @@
1
- import { useSearch } from '@faststore/sdk'
2
1
  import type { ComponentType } from 'react'
3
2
 
4
3
  import RenderSections from 'src/components/cms/RenderSections'
@@ -10,7 +9,6 @@ import { OverriddenDefaultNewsletter as Newsletter } from 'src/components/sectio
10
9
  import { OverriddenDefaultProductGallery as ProductGallery } from 'src/components/sections/ProductGallery/OverriddenDefaultProductGallery'
11
10
  import { OverriddenDefaultProductShelf as ProductShelf } from 'src/components/sections/ProductShelf/OverriddenDefaultProductShelf'
12
11
  import ProductTiles from 'src/components/sections/ProductTiles'
13
- import { ITEMS_PER_PAGE } from 'src/constants'
14
12
  import CUSTOM_COMPONENTS from 'src/customizations/src/components'
15
13
  import { SearchPageContextType } from 'src/pages/s'
16
14
  import PageProvider, { SearchPageContext } from 'src/sdk/overrides/PageProvider'
@@ -18,8 +16,8 @@ import {
18
16
  useCreateUseGalleryPage,
19
17
  UseGalleryPageContext,
20
18
  } from 'src/sdk/product/usePageProductsQuery'
21
- import { useProductGalleryQuery } from 'src/sdk/product/useProductGalleryQuery'
22
19
  import { SearchContentType } from 'src/server/cms'
20
+ import type { ClientProductGalleryQueryQuery as ClientProductGalleryQuery } from '@generated/graphql'
23
21
 
24
22
  /**
25
23
  * Sections: Components imported from each store's custom components and '../components/sections' only.
@@ -38,32 +36,16 @@ const COMPONENTS: Record<string, ComponentType<any>> = {
38
36
  }
39
37
 
40
38
  export type SearchPageProps = {
41
- data: SearchPageContextType
39
+ data: SearchPageContextType & ClientProductGalleryQuery
42
40
  page: SearchContentType
43
41
  }
44
42
 
45
- function SearchPage({
46
- page: { sections, settings },
47
- data: server,
48
- }: SearchPageProps) {
49
- const {
50
- state: { sort, term, selectedFacets },
51
- } = useSearch()
52
- const itemsPerPage = settings?.productGallery?.itemsPerPage ?? ITEMS_PER_PAGE
53
-
54
- const { data: pageProductGalleryData } = useProductGalleryQuery({
55
- term,
56
- sort,
57
- selectedFacets,
58
- itemsPerPage,
59
- })
60
-
43
+ function SearchPage({ page: { sections }, data: serverData }: SearchPageProps) {
61
44
  const { pages, useGalleryPage } = useCreateUseGalleryPage()
62
45
 
63
46
  const context = {
64
47
  data: {
65
- ...server,
66
- ...pageProductGalleryData,
48
+ ...serverData,
67
49
  pages,
68
50
  },
69
51
  } as SearchPageContext
@@ -0,0 +1,68 @@
1
+ import { useRouter } from 'next/router'
2
+ import { useSearch } from '@faststore/sdk'
3
+
4
+ import type { SearchContentType } from 'src/server/cms'
5
+ import type { SearchPageContextType } from 'src/pages/s'
6
+ import { useProductGalleryQuery } from 'src/sdk/product/useProductGalleryQuery'
7
+ import Section from 'src/components/sections/Section'
8
+ import EmptyState from 'src/components/sections/EmptyState'
9
+ import ProductGalleryStyles from 'src/components/sections/ProductGallery/section.module.scss'
10
+
11
+ import SearchPage from './SearchPage'
12
+
13
+ function EmptySearch() {
14
+ return (
15
+ <Section
16
+ className={`${ProductGalleryStyles.section} section-product-gallery`}
17
+ >
18
+ <section data-testid="product-gallery" data-fs-product-listing>
19
+ <EmptyState title="" showLoader />
20
+ </section>
21
+ </Section>
22
+ )
23
+ }
24
+
25
+ export type SearchWrapperProps = {
26
+ itemsPerPage: number
27
+ searchContentType: SearchContentType
28
+ serverData: SearchPageContextType
29
+ }
30
+
31
+ export default function SearchWrapper({
32
+ itemsPerPage,
33
+ searchContentType,
34
+ serverData,
35
+ }: SearchWrapperProps) {
36
+ const router = useRouter()
37
+ const {
38
+ state: { term, sort, selectedFacets },
39
+ } = useSearch()
40
+ const { data: pageProductGalleryData, isValidating } = useProductGalleryQuery(
41
+ {
42
+ term,
43
+ sort,
44
+ itemsPerPage,
45
+ selectedFacets,
46
+ }
47
+ )
48
+
49
+ if (isValidating || !pageProductGalleryData) {
50
+ return <EmptySearch />
51
+ }
52
+
53
+ // Redirect when there are registered Intelligent Search redirects on VTEX Admin
54
+ if (pageProductGalleryData?.redirect?.url) {
55
+ router.replace(pageProductGalleryData?.redirect?.url, null, {
56
+ shallow: true,
57
+ })
58
+
59
+ return <EmptySearch />
60
+ }
61
+
62
+ return (
63
+ <SearchPage
64
+ page={searchContentType}
65
+ data={{ ...serverData, ...pageProductGalleryData }}
66
+ />
67
+ )
68
+ }
@@ -1,2 +1,5 @@
1
1
  export { default } from './SearchPage'
2
2
  export type { SearchPageProps } from './SearchPage'
3
+
4
+ export { default as SearchWrapper } from './SearchWrapper'
5
+ export type { SearchWrapperProps } from './SearchWrapper'
package/src/pages/s.tsx CHANGED
@@ -1,3 +1,8 @@
1
+ import { useMemo } from 'react'
2
+ import { NextSeo } from 'next-seo'
3
+ import { useRouter } from 'next/router'
4
+ import type { GetStaticProps } from 'next'
5
+
1
6
  import type { SearchState } from '@faststore/sdk'
2
7
  import {
3
8
  formatSearchState,
@@ -5,9 +10,6 @@ import {
5
10
  SearchProvider,
6
11
  } from '@faststore/sdk'
7
12
  import { SROnly as UISROnly } from '@faststore/ui'
8
- import { NextSeo } from 'next-seo'
9
- import { useRouter } from 'next/router'
10
- import { useMemo } from 'react'
11
13
 
12
14
  import { ITEMS_PER_PAGE } from 'src/constants'
13
15
  import { useApplySearchState } from 'src/sdk/search/state'
@@ -15,12 +17,11 @@ import { mark } from 'src/sdk/tests/mark'
15
17
 
16
18
  import { Locator } from '@vtex/client-cms'
17
19
  import storeConfig from 'faststore.config'
18
- import { GetStaticProps } from 'next'
19
20
  import GlobalSections, {
20
21
  getGlobalSectionsData,
21
22
  GlobalSectionsData,
22
23
  } from 'src/components/cms/GlobalSections'
23
- import SearchPage from 'src/components/templates/SearchPage/SearchPage'
24
+ import { SearchWrapper } from 'src/components/templates/SearchPage'
24
25
  import { getPage, SearchContentType } from 'src/server/cms'
25
26
 
26
27
  type Props = {
@@ -33,11 +34,11 @@ export interface SearchPageContextType {
33
34
  searchTerm?: string
34
35
  }
35
36
 
36
- type UseSearchParams = {
37
+ const useSearchParams = ({
38
+ sort: defaultSort,
39
+ }: {
37
40
  sort: SearchState['sort']
38
- }
39
-
40
- const useSearchParams = ({ sort: defaultSort }: UseSearchParams) => {
41
+ }) => {
41
42
  const { asPath } = useRouter()
42
43
 
43
44
  return useMemo(() => {
@@ -56,24 +57,19 @@ const useSearchParams = ({ sort: defaultSort }: UseSearchParams) => {
56
57
 
57
58
  function Page({ page: searchContentType, globalSections }: Props) {
58
59
  const { settings } = searchContentType
60
+ const applySearchState = useApplySearchState()
59
61
  const searchParams = useSearchParams({
60
62
  sort: settings?.productGallery?.sortBySelection as SearchState['sort'],
61
63
  })
62
- const applySearchState = useApplySearchState()
64
+
63
65
  const title = 'Search Results'
64
66
  const { description, titleTemplate } = storeConfig.seo
65
-
66
67
  const itemsPerPage = settings?.productGallery?.itemsPerPage ?? ITEMS_PER_PAGE
67
68
 
68
69
  if (!searchParams) {
69
70
  return null
70
71
  }
71
72
 
72
- const server = {
73
- title,
74
- searchTerm: searchParams.term ?? undefined,
75
- } as SearchPageContextType
76
-
77
73
  return (
78
74
  <GlobalSections {...globalSections}>
79
75
  <SearchProvider
@@ -107,7 +103,14 @@ function Page({ page: searchContentType, globalSections }: Props) {
107
103
  If needed, wrap your component in a <Section /> component
108
104
  (not the HTML tag) before rendering it here.
109
105
  */}
110
- <SearchPage page={searchContentType} data={server}></SearchPage>
106
+ <SearchWrapper
107
+ itemsPerPage={itemsPerPage}
108
+ searchContentType={searchContentType}
109
+ serverData={{
110
+ title,
111
+ searchTerm: searchParams.term ?? undefined,
112
+ }}
113
+ />
111
114
  </SearchProvider>
112
115
  </GlobalSections>
113
116
  )
@@ -27,6 +27,9 @@ export const query = gql(`
27
27
  $selectedFacets: [IStoreSelectedFacet!]!
28
28
  ) {
29
29
  ...ClientProductGallery
30
+ redirect(term: $term, selectedFacets: $selectedFacets) {
31
+ url
32
+ }
30
33
  search(
31
34
  first: $first
32
35
  after: $after
@@ -85,6 +88,11 @@ export const useProductGalleryQuery = ({
85
88
  return useQuery<Query, Variables>(query, localizedVariables, {
86
89
  onSuccess: (data) => {
87
90
  if (data) {
91
+ // Cancel query onSuccess event when redirecting
92
+ if (data?.redirect?.url) {
93
+ return
94
+ }
95
+
88
96
  const fuzzyFacetValue = findFacetValue(selectedFacets, 'fuzzy')
89
97
  const operatorFacetValue = findFacetValue(selectedFacets, 'operator')
90
98
 
@@ -1 +0,0 @@
1
- exports.id=8635,exports.ids=[8635],exports.modules={6133:(t,e,r)=>{"use strict";r.d(e,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var s=r(16689),a=r.n(s);let __WEBPACK_DEFAULT_EXPORT__=function({testId:t="fs-empty-state",title:e,titleIcon:r,variant:s="default",bkgColor:o="default",children:n,...i}){return a().createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":s,"data-fs-empty-state-bkg-color":o,"data-fs-content":"empty-state","data-testid":t,...i},e&&a().createElement("header",{"data-fs-empty-state-title":!0},r&&a().createElement(a().Fragment,null,r),a().createElement("p",null,e)),n)}},28474:t=>{t.exports={section:"section_section__KG_b8",load:"section_load__DKeod"}},28635:(t,e,r)=>{"use strict";r.d(e,{C:()=>E});var s=r(16152),a=r(20997),o=r(11163),n=r(2614),i=r(83982),l=r(26315),c=r(14129),d=r(28474),p=r.n(d),m=r(6133);let _={EmptyState:m.Z},useErrorState=()=>{let t=(0,o.useRouter)(),{query:{errorId:e,fromUrl:r},pathname:s,asPath:a}=t;return{errorId:e,fromUrl:r??a??s}},u=(0,s.B)("EmptyState",function({title:t,titleIcon:e,children:r,subtitle:s,errorState:o,showLoader:d=!1}){let{EmptyState:m}=(0,l.r3)(),{errorId:_,fromUrl:u}=useErrorState(),E=e?.icon?a.jsx(n.Z,{name:e?.icon,"aria-label":e?.alt,width:56,height:56,weight:"thin"}):m.props.titleIcon;return a.jsx(c.Z,{className:`${p().section} section-empty-state`,children:(0,a.jsxs)(m.Component,{bkgColor:"light",...m.props,title:t??m.props.title,titleIcon:E,children:[!!s&&a.jsx("h2",{children:s}),!!o?.errorId?.show&&a.jsx("p",{children:`${o?.errorId?.description} ${_}`}),!!o?.fromUrl?.show&&a.jsx("p",{children:`${o?.fromUrl?.description} ${u}`}),d&&a.jsx(i.Z,{}),r]})})},_),E=(0,s.v)({section:"EmptyState",Section:u})}};
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(s,c,a,t,e,i,f,u){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,c,a,t,e,"static/css/fa6d43e3c11a59dc.css","static/chunks/pages/index-86dd2dba6f6f1621.js"],"/404":[s,c,a,i,"static/chunks/pages/404-be2217109dab18cf.js"],"/500":[s,c,a,i,"static/chunks/pages/500-64a07a16830e129c.js"],"/_error":["static/chunks/pages/_error-65ac7445167ddb62.js"],"/account":[s,c,a,"static/chunks/pages/account-70e52900601fc5eb.js"],"/checkout":[s,c,a,"static/chunks/pages/checkout-fe8c38b138ddecef.js"],"/login":[s,c,a,i,"static/chunks/pages/login-258e5b7ecec36481.js"],"/s":[s,c,a,t,e,f,u,"static/chunks/pages/s-53cc10ba9aa8331e.js"],"/[slug]/p":[s,c,a,t,e,"static/css/65f6dd6d16812461.css","static/chunks/pages/[slug]/p-151221dbf6aa3115.js"],"/[...slug]":[s,c,a,t,e,f,u,"static/css/3eed8d7ed5000eb8.css","static/chunks/pages/[...slug]-56803e57882aacf2.js"],sortedPages:["/","/404","/500","/_app","/_error","/account","/checkout","/login","/s","/[slug]/p","/[...slug]"]}}("static/chunks/470-a762f2bf2d218abf.js","static/css/25261a033e496803.css","static/chunks/432-eb17ca619ec04a2a.js","static/css/548bab931c45c770.css","static/chunks/590-da547057f2ae283b.js","static/css/ec44b650be144ada.css","static/css/185f3332f3d0db64.css","static/chunks/722-35290092305b1d70.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[432],{276:function(e,n,t){"use strict";var r=t(2784);let a=(0,r.forwardRef)(function({testId:e="fs-badge",size:n="small",variant:t="neutral",counter:a=!1,"aria-label":o,children:i,...s},l){return r.createElement("div",{ref:l,"data-fs-badge":!0,"aria-label":o,"data-fs-badge-variant":a?null:t,"data-fs-badge-size":n,"data-fs-badge-counter":a,"data-testid":e,...s},r.createElement("div",{"data-fs-badge-wrapper":!0},i))});n.Z=a},3339:function(e,n,t){"use strict";var r=t(2784),a=t(3982);let o=(0,r.forwardRef)(function({children:e,variant:n,inverse:t,size:o="regular",testId:i="fs-button",loading:s,loadingLabel:l,icon:c,iconPosition:u="left",disabled:d,...f},m){return r.createElement("button",{ref:m,"data-fs-button":!0,"data-fs-button-inverse":t,"data-fs-button-size":o,"data-fs-button-loading":s,"data-fs-button-variant":n,disabled:d,"data-testid":i,...f},r.createElement("div",{"data-fs-button-wrapper":!0},s&&r.createElement("p",{"data-fs-button-loading-label":!0},l,r.createElement(a.Z,{variant:"primary"!==n||t?"dark":"light"})),!!c&&"left"===u&&r.createElement("span",{"data-fs-button-icon":!0},c),e&&r.createElement("span",null,e),!!c&&"right"===u&&r.createElement("span",{"data-fs-button-icon":!0},c)))});n.Z=o},2614:function(e,n,t){"use strict";var r=t(2784);let a={bold:24,regular:16,light:12,thin:8},o=(0,r.forwardRef)(function({testId:e="fs-icon",name:n,weight:t="regular",...o},i){let{width:s,height:l}=o;return r.createElement("svg",{ref:i,"data-fs-icon":!0,"data-testid":e,width:s??24,height:l??24,strokeWidth:a[t],...o},r.createElement("use",{href:`/icons.svg#${n}`}))});n.Z=o},2256:function(e,n,t){"use strict";var r=t(2784);let a=(0,r.forwardRef)(function({testId:e="fs-input",...n},t){return r.createElement("input",{ref:t,"data-fs-input":!0,"data-testid":e,...n})});n.Z=a},727:function(e,n,t){"use strict";var r=t(2784);let a=(0,r.forwardRef)(function({as:e,children:n,variant:t="default",size:a="regular",inverse:o,testId:i="fs-link",...s},l){let c=e??"a";return r.createElement(c,{ref:l,"data-fs-link":!0,"data-fs-link-variant":t,"data-fs-link-inverse":o,"data-fs-link-size":a,"data-testid":i,...s},n)});n.Z=a},4564:function(e,n,t){"use strict";var r=t(2784);let a=(0,r.forwardRef)(function({as:e,marker:n,testId:t="fs-list",...a},o){let i=e??"ul";return r.createElement(i,{ref:o,role:"list","data-fs-list":!0,"data-fs-list-marker":n,"data-testid":t,...a})});n.Z=a},3982:function(e,n,t){"use strict";var r=t(2784);let a=(0,r.forwardRef)(function({testId:e="fs-loader",variant:n="dark",...t},a){return r.createElement("span",{ref:a,"data-fs-loader":!0,"data-fs-loader-variant":n,"data-testid":e,...t},r.createElement("span",{"data-fs-loader-item":!0}),r.createElement("span",{"data-fs-loader-item":!0}),r.createElement("span",{"data-fs-loader-item":!0}))});n.Z=a},5450:function(e,n,t){"use strict";var r=t(2784);n.Z=function({text:e,as:n}){let t=n??"span";return r.createElement(t,{"data-fs-sr-only":!0},e)}},3666:function(e,n,t){"use strict";t.d(n,{b:function(){return useFadeEffect}});var r=t(2784);let useFadeEffect=()=>{let[e,n]=(0,r.useState)("out"),t=(0,r.useCallback)(()=>n("out"),[]),a=(0,r.useCallback)(()=>n("in"),[]);return(0,r.useEffect)(()=>(a(),()=>{t()}),[a,t]),{fade:e,fadeIn:a,fadeOut:t}}},1516:function(e,n,t){"use strict";t.d(n,{A:function(){return useAccordion}});var r=t(2784);let a=(0,r.createContext)(void 0),o=(0,r.forwardRef)(function({testId:e="fs-accordion",indices:n,onChange:t,children:o,...i},s){let l=r.Children.map(o,(e,n)=>(0,r.cloneElement)(e,{index:e.props.index??n})),c={indices:new Set(n),onChange:t,numberOfItems:l.length};return r.createElement(a.Provider,{value:c},r.createElement("div",{ref:s,"data-fs-accordion":!0,role:"region","data-testid":e,...i},l))});function useAccordion(){let e=(0,r.useContext)(a);if(void 0===e)throw Error("Do not use Accordion components outside the Accordion context.");return e}n.Z=o},7734:function(e,n,t){"use strict";var r=t(2784),a=t(1516),o=t(783),i=t(2614),s=t(3339);let l=(0,r.forwardRef)(function({testId:e="fs-accordion-button",expandedIcon:n=r.createElement(i.Z,{name:"MinusCircle","data-icon":"expanded"}),collapsedIcon:t=r.createElement(i.Z,{name:"PlusCircle","data-icon":"collapsed"}),children:l,...c},u){let{indices:d,onChange:f,numberOfItems:m}=(0,a.A)(),{index:p,panel:v,button:g,prefixId:h}=(0,o.D)();return r.createElement(s.Z,{ref:u,id:g,variant:"tertiary","data-fs-accordion-button":!0,"aria-expanded":d.has(p),icon:d.has(p)?n:t,iconPosition:"right","aria-controls":v,onKeyDown:e=>{if(["ArrowDown","ArrowUp"].includes(e.key))switch(e.key){case"ArrowDown":e.preventDefault(),(()=>{let e=Number(p)+1===m?0:Number(p)+1;return document.getElementById(`${h&&`${h}-`}button--${e}`)})()?.focus();break;case"ArrowUp":e.preventDefault(),(()=>{let e=Number(p)-1<0?m-1:Number(p)-1;return document.getElementById(`${h&&`${h}-`}button--${e}`)})()?.focus()}},onClick:()=>{f(p)},"data-testid":e,...c},l)});n.Z=l},783:function(e,n,t){"use strict";t.d(n,{D:function(){return useAccordionItem}});var r=t(2784);let a=(0,r.createContext)(void 0),o=(0,r.forwardRef)(function({prefixId:e="",index:n=0,as:t,children:o,testId:i="fs-accordion-item",...s},l){let c=t??"div",u={index:n,prefixId:e,panel:`${e&&`${e}-`}panel--${n}`,button:`${e&&`${e}-`}button--${n}`};return r.createElement(a.Provider,{value:u},r.createElement(c,{ref:l,"data-fs-accordion-item":!0,"data-testid":i,...s},o))});function useAccordionItem(){let e=(0,r.useContext)(a);if(void 0===e)throw Error("Do not use AccordionItem components outside the AccordionItem context.");return e}n.Z=o},7583:function(e,n,t){"use strict";var r=t(2784),a=t(1516),o=t(783);let i=(0,r.forwardRef)(function({testId:e="fs-accordion-panel",children:n,...t},i){let{indices:s}=(0,a.A)(),{index:l,button:c,panel:u}=(0,o.D)();return r.createElement("div",{ref:i,id:u,"data-fs-accordion-panel":!0,"aria-labelledby":c,role:"region",hidden:!s.has(l),"data-testid":e,...t},n)});n.Z=i},8138:function(e,n,t){"use strict";var r=t(2784),a=t(727),o=t(7041),i=t(2614);let s=(0,r.forwardRef)(function({testId:e="fs-alert",children:n,icon:t,dismissible:s,link:l,onClose:c,...u},d){let f=(0,r.useCallback)(e=>{e.defaultPrevented||c?.(e)},[c]);return r.createElement("div",{ref:d,role:"alert","data-fs-alert":!0,"data-fs-alert-dismissible":s,"data-fs-content":"alert","data-testid":e,...u},!!t&&t,r.createElement("p",{"data-fs-alert-content":!0},n),l&&r.createElement(a.Z,{"data-fs-alert-link":!0,variant:"inline",...l}),s&&r.createElement(o.Z,{"data-fs-alert-button":!0,size:"small","aria-label":"Close",icon:r.createElement(i.Z,{name:"X"}),onClick:f}))});n.Z=s},7041:function(e,n,t){"use strict";var r=t(2784),a=t(3339);let o=(0,r.forwardRef)(function({icon:e,children:n,testId:t="fs-icon-button","aria-label":o,size:i="regular",variant:s,...l},c){return r.createElement(a.Z,{ref:c,"data-fs-button":!0,"data-fs-icon-button":!0,variant:s??"tertiary",icon:e,"aria-label":o,testId:t,size:i,...l},n)});n.Z=o},3922:function(e,n,t){"use strict";var r=t(2784);n.Z=function({icon:e,inverse:n,children:t,disabled:a,iconPosition:o,size:i="regular",variant:s="primary",testId:l="fs-link-button",...c}){let u=(0,r.useRef)(null);return r.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":n,"data-fs-button-disabled":a,onFocus:function(e){e.preventDefault(),a&&u.current?.blur()},"data-testid":l,...c},r.createElement("div",{"data-fs-button-wrapper":!0},!!e&&"left"===o&&r.createElement("span",{"data-fs-button-icon":!0},e),t&&r.createElement("span",null,t),!!e&&"right"===o&&r.createElement("span",{"data-fs-button-icon":!0},e)))}},3543:function(e,n,t){"use strict";t.d(n,{Z:function(){return Modal_Modal}});var r=t(2784),a=t(8316);let o=(0,r.forwardRef)(function({testId:e="fs-overlay",...n},t){return r.createElement("div",{ref:t,"data-fs-overlay":!0,role:"presentation","data-testid":e,...n})});var i=t(7938),s=t(3666),l=t(5712);let useTrapFocus=({trapFocusRef:e,beforeElementRef:n,afterElementRef:t})=>{let a=(0,r.useRef)(),o=(0,r.useRef)(document.hasFocus()?document.activeElement:null);(0,r.useEffect)(()=>{let e=o.current;return()=>{e?.focus()}},[o]),(0,r.useEffect)(()=>{if(!e.current)return;a.current||(a.current=(0,l.ht)(e.current));let[n]=a.current;if(!n){e.current.focus();return}n.focus()},[e]),(0,r.useEffect)(()=>{if(!e.current||!n.current||!t.current)return;let r=n.current,o=t.current,i=e.current,handleLoopFocus=n=>{document.hasFocus()&&(a.current=(0,l.ht)(e.current),a.current.length||i.focus(),n.target===r&&a.current[a.current.length-1]?.focus(),n.target===o&&a.current[0]?.focus())};return r?.addEventListener("focusin",handleLoopFocus),o?.addEventListener("focusin",handleLoopFocus),()=>{r?.removeEventListener("focusin",handleLoopFocus),o?.removeEventListener("focusin",handleLoopFocus)}},[a,t,n,e])},ModalContentPure=({beforeElementRef:e,trapFocusRef:n,afterElementRef:t,testId:a="store-modal-content",children:o,...i})=>r.createElement(r.Fragment,null,r.createElement("div",{ref:e,"data-testid":"beforeElement",tabIndex:0,"aria-hidden":"true"}),r.createElement("div",{"data-fs-modal-content":!0,"data-testid":a,ref:n,"aria-modal":"true",role:"dialog",tabIndex:-1,...i},o),r.createElement("div",{ref:t,"data-testid":"afterElement",tabIndex:0,"aria-hidden":"true"}));var Modal_ModalContent=({children:e,...n})=>{let t=(0,r.useRef)(null),a=(0,r.useRef)(null),o=(0,r.useRef)(null);return useTrapFocus({beforeElementRef:a,trapFocusRef:t,afterElementRef:o}),r.createElement(ModalContentPure,{...n,trapFocusRef:t,beforeElementRef:a,afterElementRef:o,onClick:e=>{e.stopPropagation()}},e)},Modal_Modal=({children:e,testId:n="fs-modal",isOpen:t=!0,onDismiss:l,overlayProps:c,...u})=>{let{closeModal:d}=(0,i.l)(),{fade:f,fadeOut:m,fadeIn:p}=(0,s.b)();return t?(0,a.createPortal)(r.createElement(o,{onClick:e=>{e.defaultPrevented||(e.stopPropagation(),m?.(),l?.())},onKeyDown:e=>{"Escape"!==e.key||e.defaultPrevented||(e.stopPropagation(),m?.(),l?.())},...c},r.createElement(Modal_ModalContent,{onTransitionEnd:()=>"out"===f&&d(),"data-fs-modal":!0,"data-fs-modal-state":f,testId:n,...u},"function"==typeof e?e({fade:f,fadeOut:m,fadeIn:p}):e)),document.body):null}},101:function(e,n,t){"use strict";t.d(n,{c:function(){return a}});var r=t(2784);let a=(0,r.createContext)(null);n.Z=function({onSearchSelection:e,children:n,term:t,terms:o,products:i,isLoading:s}){return r.createElement(a.Provider,{value:{onSearchSelection:e,term:t,terms:o,products:i,isLoading:s}},n)}},7215:function(e,n,t){"use strict";var r=t(2784),a=t(3543);n.Z=function({testId:e="fs-slide-over",isOpen:n,direction:t="leftSide",size:o="full",fade:i="out",children:s,overlayProps:l,onDismiss:c,...u}){return r.createElement(a.Z,{"data-fs-modal":null,"data-fs-slide-over":!0,"data-fs-slide-over-direction":t,"data-fs-slide-over-size":o,"data-fs-slide-over-state":i,isOpen:n,onDismiss:c,testId:e,overlayProps:l,...u},s)}},5049:function(e,n,t){"use strict";var r=t(2784),a=t(7041),o=t(2614);n.Z=({children:e,closeBtnProps:n={},onClose:t,...i})=>r.createElement("header",{"data-fs-slide-over-header":!0,...i},e,r.createElement(a.Z,{"data-fs-slide-over-header-icon":!0,"aria-label":"Close",icon:r.createElement(o.Z,{name:"X"}),onClick:t,...n}))},2346:function(e,n,t){"use strict";t.d(n,{P:function(){return gql}});let TypedDocumentString=class TypedDocumentString extends String{toString(){return this.value}constructor(e,n){super(e),this.value=e,this.__meta__=n}};var r=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 additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}\n ",{fragmentName:"ProductSummary_product"}),a=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 unitMultiplier\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"});var o=new TypedDocumentString("\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n unitMultiplier\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 additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n ...CartProductItem\n}\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\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"}),i=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"}),s=new TypedDocumentString("\n fragment ClientProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ClientProduct"}),l=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"}),c=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"}),u=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"}),d=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"}),f=new TypedDocumentString("\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n}\n ",{fragmentName:"ServerCollectionPage"}),m=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 unitMultiplier\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"});var p={"\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n\n isVariantOf {\n productGroupID\n name\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n quantity\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n":r,"\n fragment Filter_facets on StoreFacet {\n ... on StoreFacetRange {\n key\n label\n\n min {\n selected\n absolute\n }\n\n max {\n selected\n absolute\n }\n\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n\n __typename\n }\n }\n":a,"\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n unitMultiplier\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n":o,"\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":i,"\n fragment ClientProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n }\n":s,"\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":l,"\n fragment ClientSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n }\n":c,"\n fragment ClientShippingSimulation on Query {\n shipping(items: $items, postalCode: $postalCode, country: $country) {\n address {\n city\n }\n }\n }\n":u,"\n fragment ClientTopSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n }\n":d,"\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n }\n":f,"\n fragment ServerProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n }\n":m,"\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n }\n }\n":{__meta__:{operationName:"ServerCollectionPageQuery",operationHash:"4b33c5c07f440dc7489e55619dc2211a13786e72"}},"\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n":{__meta__:{operationName:"ServerProductQuery",operationHash:"3ce56e42296689b601347fedc380c89519355ab7"}},"\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\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":{__meta__:{operationName:"ValidateCartMutation",operationHash:"534fae829675533052d75fd4aa509b9cf85b4d40"}},"\n mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\n subscribeToNewsletter(data: $data) {\n id\n }\n }\n":{__meta__:{operationName:"SubscribeToNewsletter",operationHash:"feb7005103a859e2bc8cf2360d568806fd88deba"}},"\n query ClientManyProductsQuery(\n $first: Int!\n $after: String\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientManyProducts\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 edges {\n node {\n ...ProductSummary_product\n }\n }\n }\n }\n }\n":{__meta__:{operationName:"ClientManyProductsQuery",operationHash:"c0d7d2ae1d5aaae5d50eea683b389377c36fb57d"}},"\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\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 facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n":{__meta__:{operationName:"ClientProductGalleryQuery",operationHash:"054742a6e1a39f1e09237dcec956879d964f3f20"}},"\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n }\n":new TypedDocumentString("\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n}\n ",{fragmentName:"SearchEvent_metadata"}),"\n query ClientProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ClientProduct\n product(locator: $locator) {\n ...ProductDetailsFragment_product\n }\n }\n":{__meta__:{operationName:"ClientProductQuery",operationHash:"cedeb0c3e7ec1678400fe2ae930f5a79382fba1e"}},"\n query ClientSearchSuggestionsQuery(\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]\n ) {\n ...ClientSearchSuggestions\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n products {\n ...ProductSummary_product\n }\n }\n products {\n pageInfo {\n totalCount\n }\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n":{__meta__:{operationName:"ClientSearchSuggestionsQuery",operationHash:"a8a27661f6a032e086c047339e0d0f180f0e0161"}},"\n query ClientTopSearchSuggestionsQuery(\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]\n ) {\n ...ClientTopSearchSuggestions\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n }\n":{__meta__:{operationName:"ClientTopSearchSuggestionsQuery",operationHash:"e2385b0f11726d0068f96548f57a8dd441c064e3"}},"\n mutation ValidateSession($session: IStoreSession!, $search: String!) {\n validateSession(session: $session, search: $search) {\n locale\n channel\n country\n addressType\n postalCode\n deliveryMode {\n deliveryChannel\n deliveryMethod\n deliveryWindow {\n startDate\n endDate\n }\n }\n geoCoordinates {\n latitude\n longitude\n }\n currency {\n code\n symbol\n }\n person {\n id\n email\n givenName\n familyName\n }\n }\n }\n":{__meta__:{operationName:"ValidateSession",operationHash:"5696202828f9275216a445e316ebf516f168c506"}},"\n query ClientShippingSimulationQuery(\n $postalCode: String!\n $country: String!\n $items: [IShippingItem!]!\n ) {\n ...ClientShippingSimulation\n shipping(items: $items, postalCode: $postalCode, country: $country) {\n logisticsInfo {\n slas {\n carrier\n price\n availableDeliveryWindows {\n startDateUtc\n endDateUtc\n price\n listPrice\n }\n shippingEstimate\n localizedEstimates\n }\n }\n address {\n city\n neighborhood\n state\n }\n }\n }\n":{__meta__:{operationName:"ClientShippingSimulationQuery",operationHash:"d6667f1de2a26b94b9b55f4b25d7d823f82635a0"}}};function gql(e){var n;return null!==(n=p[e])&&void 0!==n?n:{}}},7432:function(e,n,t){"use strict";t.d(n,{ZP:function(){return cms_GlobalSections}});var r,a=t(1862),o=t(7460),i=t(6692),s=t(2281),l=t(2322),c=t(6226),u=t.n(c),d=t(2784),f=t(8945),m=t(3712),p=t(7938),Toast_Toast=function(){let{toasts:e,popToast:n}=(0,p.l)(),t=e[e.length-1],r=(0,d.useRef)(),[a,o]=(0,d.useState)(!1);return((0,d.useEffect)(()=>{if(!t)return;let e=setTimeout(()=>o(!0),10);return()=>clearTimeout(e)},[t]),(0,d.useEffect)(()=>(r.current=setTimeout(()=>o(!1),6e3),()=>r.current&&clearTimeout(r.current)),[t]),void 0===t)?null:d.createElement("div",{role:"status","data-fs-toast":!0,"data-fs-toast-visible":a,onTransitionEnd:()=>!a&&n()},t.icon&&d.createElement("div",{"data-fs-toast-icon-container":!0},!!t.icon&&t.icon),d.createElement("div",{"data-fs-toast-content":!0},t.title&&d.createElement("p",{"data-fs-toast-title":!0},t.title),d.createElement("p",{"data-fs-toast-message":!0},t.message)))},v=t(9035),g=t(6105),h=t(8574),b=t.n(h),common_Toast_Toast=function(){var{toasts:e,pushToast:n}=(0,p.l)(),{messages:t}=(0,g.jD)();return(0,d.useEffect)(()=>{t&&t.forEach(e=>n({message:e.text,status:e.status}))},[t,n]),(0,l.jsx)(l.Fragment,{children:e.length>0&&(0,l.jsx)(v.Z,{className:"".concat(b().section," section-toast"),children:(0,l.jsx)(Toast_Toast,{})})})},y=t(208),_=t(6877),S=t(6841),C=t(9197),x=t.n(C),I=t(8134);function Alert(e){var{content:n,children:t}=e,r=(0,s._)(e,["content","children"]),{Alert:a}=(0,I.r3)(),[c,u]=(0,d.useState)(!0),f=(0,d.useCallback)(()=>u(!1),[u]);return!1===c?null:(0,l.jsx)(v.Z,{className:"".concat(x().section," section-alert"),children:(0,l.jsx)(a.Component,(0,i._)((0,o._)({},r),{onClose:f,children:null!=n?n:t}))})}Alert.displayName="Alert";var E=(0,S.B)(Alert),w=t(8138),k=t(2614),P={Alert:w.Z,Icon:k.Z},j=(0,_.B)("Alert",function(e){var n,t,r,a,s,{icon:c,content:u,link:{text:d,to:f},dismissible:m}=e,{Alert:p,Icon:v}=(0,I.r3)();return(0,l.jsx)(E,(0,i._)((0,o._)({icon:(0,l.jsx)(v.Component,(0,i._)((0,o._)({},v.props),{name:null!=c?c:v.props.name}))},p.props),{link:(0,i._)((0,o._)({},null!==(a=p.props.link)&&void 0!==a?a:{}),{children:null!=d?d:null===(n=p.props.link)||void 0===n?void 0:n.children,href:null!=f?f:null===(t=p.props.link)||void 0===t?void 0:t.href,target:null!==(s=null===(r=p.props.link)||void 0===r?void 0:r.target)&&void 0!==s?s:"_self"}),dismissible:null!=m?m:p.props.dismissible,children:u}))},P),$=(0,_.v)((0,i._)((0,o._)({},{section:"Alert"}),{Section:j})),N=t(4564),F=t(5450);let Z=(0,d.forwardRef)(function({testId:e="fs-payment-methods",title:n,"aria-label":t="Payment Methods",flagList:r,...a},o){return d.createElement("div",{ref:o,"data-fs-payment-methods":!0,"data-testid":e,...a},!!n&&d.createElement("div",{"data-fs-payment-methods-title":!0},n),d.createElement(N.Z,{"data-fs-payment-methods-flags":!0,"aria-label":n?void 0:t},r.map(({alt:e,icon:{icon:n}},t)=>d.createElement("li",{"data-fs-payment-methods-flag":!0,key:`fs-payment-method-${t}-${e}`},d.createElement(k.Z,{width:32,height:22.5,name:n}),e&&d.createElement(F.Z,{text:e})))))});function FooterInfo(e){var{children:n}=e;return(0,l.jsx)("div",{"data-fs-footer-info":!0,children:n})}function FooterNavigation(e){var{children:n}=e;return(0,l.jsx)("div",{"data-fs-footer-navigation":!0,children:n})}function Footer(e){var{children:n}=e;return(0,l.jsx)("footer",{"data-fs-footer":!0,"data-fs-footer-social":!0,"data-fs-footer-incentives":!0,"data-fs-footer-payment-methods":!0,children:(0,l.jsx)("div",{"data-fs-content":"footer",children:n})})}Footer.displayName="Footer";var D=(0,S.B)(Footer),M=t(1516),T=t(783),R=t(7734),B=t(7583),L=t(1664),O=t.n(L),V=t(727),Q=(0,d.forwardRef)(function(e,n){var{href:t,inverse:r,children:a,variant:c="default"}=e,u=(0,s._)(e,["href","inverse","children","variant"]);return(0,d.useMemo)(()=>"/"===t[0]&&"/"!==t[1],[t])?(0,l.jsx)(V.Z,(0,i._)((0,o._)({as:O(),ref:n,variant:c,inverse:r,passHref:!0,href:t,legacyBehavior:!1},u),{children:a})):(0,l.jsx)(V.Z,(0,i._)((0,o._)({ref:n,href:t,variant:c,inverse:r},u),{children:a}))});function Links(e){var{items:n}=e;return(0,l.jsx)(N.Z,{children:n.map(e=>(0,l.jsx)("li",{children:(0,l.jsx)(Q,{variant:"display",size:"small",href:e.url,children:e.text})},e.text))})}var Footer_FooterLinks=function(e){var{links:n}=e,[t,r]=(0,d.useState)(new Set([]));return(0,l.jsxs)("section",{"data-fs-footer":!0,"data-fs-footer-links":!0,children:[(0,l.jsx)("div",{className:"display-mobile",children:(0,l.jsx)(M.Z,{indices:t,onChange:e=>{t.has(e)?(t.delete(e),r(new Set(t))):r(new Set(t.add(e)))},children:n.map(e=>{var{sectionTitle:n,items:t}=e;return(0,l.jsxs)(T.Z,{children:[(0,l.jsx)(R.Z,{children:n}),(0,l.jsx)(B.Z,{children:(0,l.jsx)(Links,{items:t})})]},n)})})}),(0,l.jsx)("div",{className:"hidden-mobile",children:(0,l.jsx)("nav",{"data-fs-footer-links-columns":!0,children:n.map(e=>{var{sectionTitle:n,items:t}=e;return(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{"data-fs-footer-links-title":!0,children:n}),(0,l.jsx)(Links,{items:t})]},n)})})})]})},Footer_FooterSocial=function(e){var{title:n,links:t}=e;return(0,l.jsxs)("section",{"data-fs-footer-social":!0,children:[(0,l.jsx)("p",{"data-fs-footer-social-title":!0,children:n}),(0,l.jsx)(N.Z,{children:t.map(e=>{var{icon:{icon:n},url:t}=e;return(0,l.jsx)("li",{children:(0,l.jsx)(Q,{href:t,title:n,size:"small",target:"_blank",variant:"display",rel:"noopener noreferrer",children:(0,l.jsx)(k.Z,{name:n})})},n)})})]})},q=t(7301),Logo_Logo=function(e){var{alt:n,src:t,loading:r="lazy"}=e;return(0,l.jsx)("div",{"data-fs-logo":!0,children:(0,l.jsx)(q.Z,{alt:n,src:t,width:0,height:0,sizes:"15vw",loading:r,style:{width:"100%",height:"auto"}})})},A=t(39),z=t(5509),G=t.n(z),H=t(3052),W=t.n(H);let useScrollDirection=()=>{let[e,n]=(0,d.useState)(""),[t,r]=(0,d.useTransition)();return(0,d.useEffect)(()=>{let a=window.scrollY,updateScrollDirection=()=>{let{scrollY:o}=window,i=o>a?"down":"up";!t&&i!==e&&(o-a>10||o-a<-10)&&r(()=>n(i)),a=o>0?o:0};return window.addEventListener("scroll",updateScrollDirection),()=>window.removeEventListener("scroll",updateScrollDirection)},[t,e]),e};var U=t(1072),K=t(101);let J=(0,d.forwardRef)(function({children:e,visibleDropdown:n=!1,testId:t="fs-search-input",isLoading:r,products:a,term:o,terms:i,onSearchSelection:s,...l},c){return d.createElement("div",{ref:c,"data-fs-search-input":!0,"data-fs-search-input-dropdown-visible":n,"data-testid":t,...l},d.createElement(K.Z,{onSearchSelection:s,isLoading:r,term:o,products:a,terms:i},e))});var Y=t(2256),X=t(7041);let ee=(0,d.forwardRef)(function({onSubmit:e,buttonIcon:n,"aria-label":t="search",testId:r="fs-search-input",buttonProps:a,...o},i){let s=(0,d.useRef)(null),l=(0,d.useRef)(null);return(0,d.useImperativeHandle)(i,()=>({inputRef:s.current,formRef:l.current})),d.createElement("form",{ref:l,"data-fs-search-input-field":!0,"data-testid":r,onSubmit:n=>{n.preventDefault(),s.current?.value!==""&&e(s.current.value)},role:"search"},d.createElement(Y.Z,{ref:s,"aria-label":t,"data-fs-search-input-field-input":!0,...o}),d.createElement(X.Z,{type:"submit","aria-label":"Submit Search",icon:n??d.createElement(k.Z,{name:"MagnifyingGlass"}),size:"small",...a}))});var en=t(1163),et=t(9671),er=t(484),ea=t(1179),eo=t(2346),ei=t(7672),es=(0,eo.P)("\n query ClientSearchSuggestionsQuery(\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]\n ) {\n ...ClientSearchSuggestions\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n products {\n ...ProductSummary_product\n }\n }\n products {\n pageInfo {\n totalCount\n }\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n"),search_useSuggestions=function(e){var{channel:n,locale:t}=(0,ei.kP)(),r=(0,d.useMemo)(()=>({term:e,selectedFacets:[{key:"channel",value:null!=n?n:""},{key:"locale",value:t}]}),[e,t,n]),{data:a,error:o}=(0,ea.aM)(es,r,{onSuccess:n=>{if(n&&e){var r,a,o,i;(0,U._)({name:"intelligent_search_query",params:{locale:t,term:e,url:window.location.href,logicalOperator:null!==(o=null===(r=n.search.metadata)||void 0===r?void 0:r.logicalOperator)&&void 0!==o?o:"and",isTermMisspelled:null!==(i=null===(a=n.search.metadata)||void 0===a?void 0:a.isTermMisspelled)&&void 0!==i&&i,totalCount:n.search.products.pageInfo.totalCount}})}}});return{data:a,error:o}},el=(0,d.lazy)(()=>t.e(230).then(t.bind(t,2230))),ec=(r=(0,a._)(function*(e){(0,U._)({name:"search",params:{search_term:e}})}),function(e){return r.apply(this,arguments)}),eu=(0,d.forwardRef)(function(e,n){var t,r,a,{onSearchClick:i,buttonTestId:c="fs-search-button",containerStyle:u,sort:f,placeholder:m}=e,p=(0,s._)(e,["onSearchClick","buttonTestId","containerStyle","sort","placeholder"]),[v,g]=(0,d.useState)(""),h=(0,d.useDeferredValue)(v),[b,y]=(0,d.useState)(!1),_=(0,d.useRef)(null),{addToSearchHistory:S}=(0,er.Z)(),C=(0,en.useRouter)();(0,d.useImperativeHandle)(n,()=>({resetSearchInput:()=>g("")}));var onSearchSelection=(e,n)=>{S({term:e,path:n}),ec(e),y(!1),g(e)};t=()=>y(!1),(0,d.useEffect)(()=>{var listener=e=>{!_.current||_.current.contains(e.target)||t(e)};return document.addEventListener("mousedown",listener),document.addEventListener("touchstart",listener),()=>{document.removeEventListener("mousedown",listener),document.removeEventListener("touchstart",listener)}},[_,t]);var{data:x,error:I}=search_useSuggestions(h),E=(null!==(r=null==x?void 0:x.search.suggestions.terms)&&void 0!==r?r:[]).slice(0,5),w=(null!==(a=null==x?void 0:x.search.suggestions.products)&&void 0!==a?a:[]).slice(0,5);return(0,l.jsxs)(J,{ref:_,visibleDropdown:b,onSearchSelection:onSearchSelection,term:h,terms:E,products:w,isLoading:!I&&!x,children:[(0,l.jsx)(ee,(0,o._)({ref:n,buttonProps:{onClick:i,testId:c},placeholder:m,onChange:e=>g(e.target.value),onSubmit:e=>{var n=(0,et.u)({term:e,sort:f});onSearchSelection(e,n),C.push(n)},onFocus:()=>y(!0),value:v},p)),b&&(0,l.jsx)(d.Suspense,{fallback:null,children:(0,l.jsx)(el,{sort:f})})]})});let ed=(0,d.forwardRef)(function({children:e,testId:n="fs-navbar-links-list-item",...t},r){return d.createElement("li",{"data-fs-navbar-links-list-item":!0,ref:r,"data-testid":n,...t},e)});var ef=t(3339),RegionButton_RegionButton=function(e){var{icon:n,label:t}=e,{openModal:r}=(0,p.l)(),{postalCode:a}=(0,ei.kP)();return(0,l.jsx)(ef.Z,{variant:"tertiary",size:"small",icon:(0,l.jsx)(k.Z,{name:n,width:18,height:18,weight:"bold"}),iconPosition:"left",onClick:r,children:null!=a?a:t})},em=(0,S.B)(function(e){var{links:n,onClickLink:t,region:{icon:r,label:a,shouldDisplayRegion:c}}=e,u=(0,s._)(e,["links","onClickLink","region"]),{NavbarLinks:d,NavbarLinksList:f}=(0,I.r3)();return(0,l.jsx)(d.Component,(0,i._)((0,o._)({},u,d.props),{children:(0,l.jsxs)("div",{"data-fs-navbar-links-wrapper":!0,"data-fs-content":"navbar",children:[c&&(0,l.jsx)(RegionButton_RegionButton,{icon:r,label:a}),(0,l.jsx)(f.Component,(0,i._)((0,o._)({},f.props),{children:n.map(e=>{var{url:n,text:r}=e;return(0,l.jsx)(ed,{children:(0,l.jsx)(Q,{variant:"display",href:n,prefetch:!1,onClick:t,children:r})},r)})}))]})}))}),ep=t(3666),ev=t(3922),ButtonSignInFallback_ButtonSignInFallback=function(){return(0,l.jsx)(ev.Z,{"data-fs-button-signin-link":!0,href:"/login",className:"text__title-mini",variant:"tertiary",icon:(0,l.jsx)(k.Z,{name:"User",width:18,height:18,weight:"bold"}),iconPosition:"left",children:(0,l.jsx)("span",{children:"Sign In"})})},ButtonSignIn_ButtonSignIn=e=>{var{label:n,myAccountLabel:t,icon:{alt:r,icon:a}}=e,{person:o}=(0,ei.kP)();return(0,l.jsx)(ev.Z,{"data-fs-button-signin-link":!0,href:(null==o?void 0:o.id)?"/account":"/login",className:"text__title-mini","aria-label":r,variant:"tertiary",icon:(0,l.jsx)(k.Z,{name:a,width:18,height:18,weight:"bold"}),iconPosition:"left",children:(null==o?void 0:o.id)?t:n})},eg=t(6375),eh=t.n(eg),eb=(0,S.B)(function(e){var{logo:n,links:t,region:r,home:{label:a},signIn:{button:s}}=e,{NavbarSlider:c,NavbarSliderHeader:u,NavbarSliderContent:f,NavbarSliderFooter:m}=(0,I.r3)(),{closeNavbar:v}=(0,p.l)(),{fade:g,fadeOut:h}=(0,ep.b)();return(0,l.jsxs)(c.Component,(0,i._)((0,o._)({fade:g,onDismiss:h,overlayProps:{className:"section ".concat(eh().section," section-navbar-slider")},onTransitionEnd:()=>"out"===g&&v()},c.props),{children:[(0,l.jsx)(u.Component,(0,i._)((0,o._)({onClose:h},u.props),{children:(0,l.jsx)(Q,{"data-fs-navbar-slider-logo":!0,href:n.link?n.link.url:"/",title:n.link?n.link.title:a,onClick:h,children:(0,l.jsx)(Logo_Logo,{alt:n.alt,src:n.src})})})),(0,l.jsx)(f.Component,(0,i._)((0,o._)({},f.props),{children:(0,l.jsx)(em,{onClickLink:h,links:t,region:r})})),(0,l.jsx)(m.Component,(0,i._)((0,o._)({},m.props),{children:(0,l.jsx)(d.Suspense,{fallback:(0,l.jsx)(ButtonSignInFallback_ButtonSignInFallback,{}),children:(0,l.jsx)(ButtonSignIn_ButtonSignIn,(0,o._)({},s))})}))]}))}),ey=t(276),useCartToggleButton=()=>{var{totalItems:e}=(0,g.jD)(),{cart:n,openCart:t,closeCart:r}=(0,p.l)();return{onClick:(0,d.useCallback)(()=>{n?r():t()},[r,n,t]),"data-testid":"cart-toggle","data-items":e}},CartToggle_CartToggle=function(e){var{alt:n,icon:t}=e,r=useCartToggleButton(),a=r["data-items"];return(0,l.jsx)(X.Z,(0,i._)((0,o._)({"data-fs-cart-toggle":!0,"aria-label":n,icon:(0,l.jsx)(k.Z,{name:t,width:32,height:32})},r),{children:(0,l.jsx)(ey.Z,{counter:!0,children:a})}))};function Navbar(e){var{cart:n,logo:t,searchInput:r,home:a,links:s,signIn:c,region:u,home:{label:f},signIn:{button:m},menu:{icon:{icon:v,alt:g}}}=e,{Navbar:h,NavbarHeader:b,NavbarRow:y,NavbarButtons:_,IconButton:S}=(0,I.r3)(),C=useScrollDirection(),{openNavbar:x,navbar:E}=(0,p.l)(),w=(0,d.useRef)(null),[P,j]=(0,d.useState)(!1),$=(0,d.useCallback)(()=>{var e,n;j(!0),null===(n=w.current)||void 0===n||null===(e=n.inputRef)||void 0===e||e.focus()},[]),N=(0,d.useCallback)(()=>{var e;j(!1),null===(e=w.current)||void 0===e||e.resetSearchInput()},[]);return(0,l.jsxs)(h.Component,(0,i._)((0,o._)({scrollDirection:C},h.props),{children:[(0,l.jsx)(b.Component,(0,i._)((0,o._)({},b.props),{children:(0,l.jsxs)(y.Component,(0,i._)((0,o._)({},y.props),{children:[!P&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(S.Component,(0,i._)((0,o._)({"data-fs-navbar-button-menu":!0,onClick:x,icon:(0,l.jsx)(k.Z,{name:v,width:32,height:32})},S.props),{"aria-label":null!=g?g:S.props["aria-label"]})),(0,l.jsx)(Q,{"data-fs-navbar-logo":!0,href:t.link?t.link.url:"/",title:t.link?t.link.title:f,prefetch:!1,children:(0,l.jsx)(Logo_Logo,{src:t.src,alt:t.alt})})]}),(0,l.jsx)(eu,{placeholder:null==r?void 0:r.placeholder,sort:null==r?void 0:r.sort}),(0,l.jsxs)(_.Component,(0,i._)((0,o._)({searchExpanded:P},_.props),{children:[P&&(0,l.jsx)(S.Component,(0,i._)((0,o._)({"data-fs-button-collapse":!0,"aria-label":"Collapse search bar",icon:(0,l.jsx)(k.Z,{name:"CaretLeft",width:32,height:32})},S.props),{onClick:N})),(0,l.jsx)(eu,{placeholder:"",ref:w,testId:"store-input-mobile",buttonTestId:"store-input-mobile-button",onSearchClick:$,sort:null==r?void 0:r.sort,hidden:!P,"aria-hidden":!P}),(0,l.jsx)(ButtonSignIn_ButtonSignIn,(0,o._)({},m)),(0,l.jsx)(CartToggle_CartToggle,(0,o._)({},n))]}))]}))})),(0,l.jsx)(em,{links:s,region:u,className:"hidden-mobile"}),E&&(0,l.jsx)(eb,{home:a,logo:t,links:s,signIn:c,region:u})]}))}Navbar.displayName="Navbar";var e_=(0,S.B)(Navbar);let eS=(0,d.forwardRef)(function({children:e,scrollDirection:n,testId:t="fs-navbar",...r},a){return d.createElement("header",{"data-fs-navbar":!0,role:"banner","data-fs-navbar-scroll":n,ref:a,"data-testid":t,...r},e)}),eC=(0,d.forwardRef)(function({children:e,testId:n="fs-navbar-links",...t},r){return d.createElement("nav",{"data-fs-navbar-links":!0,ref:r,"data-testid":n,...t},e)}),ex=(0,d.forwardRef)(function({children:e,testId:n="fs-navbar-links-list",...t},r){return d.createElement(N.Z,{"data-fs-navbar-links-list":!0,ref:r,"data-testid":n,...t},e)});var eI=t(7215),eE=t(5049);let ew=(0,d.forwardRef)(function({children:e,testId:n="fs-navbar-slider-content",...t},r){return d.createElement("div",{"data-fs-navbar-slider-content":!0,ref:r,"data-testid":n,...t},e)}),ek=(0,d.forwardRef)(function({children:e,testId:n="fs-navbar-slider-footer",...t},r){return d.createElement("footer",{"data-fs-navbar-slider-footer":!0,ref:r,"data-testid":n,...t},e)}),eP=(0,d.forwardRef)(function({children:e,testId:n="fs-navbar-header",...t},r){return d.createElement("section",{"data-fs-navbar-header":!0,ref:r,"data-testid":n,...t},e)}),ej=(0,d.forwardRef)(function({children:e,testId:n="fs-navbar-row",...t},r){return d.createElement("div",{"data-fs-navbar-row":!0,"data-fs-content":"navbar",ref:r,"data-testid":n,...t},e)}),e$=(0,d.forwardRef)(function({children:e,searchExpanded:n,testId:t="fs-navbar-buttons",...r},a){return d.createElement("div",{"data-fs-navbar-buttons":!0,ref:a,"data-testid":t,"data-fs-navbar-search-expanded":n,...r},e)});var eN={Navbar:eS,NavbarLinks:eC,NavbarLinksList:ex,NavbarSlider:function({children:e,size:n="full",isOpen:t=!0,direction:r="leftSide",testId:a="fs-navbar-slider",...o}){return d.createElement(eI.Z,{"data-fs-navbar-slider":!0,size:n,isOpen:t,direction:r,"data-testid":a,...o},e)},NavbarSliderHeader:function({children:e,testId:n="fs-navbar-slider-header",...t}){return d.createElement(eE.Z,{"data-fs-navbar-slider-header":!0,"data-testid":n,...t},e)},NavbarSliderContent:ew,NavbarSliderFooter:ek,NavbarHeader:eP,NavbarRow:ej,NavbarButtons:e$,IconButton:X.Z},eF=(0,_.B)("Navbar",function(e){var{logo:n,searchInput:t,cartIcon:r,signInButton:a,navigation:{menu:o,home:i,pageLinks:s,regionalization:{label:c,icon:{icon:u},enabled:d}}}=e;return(0,l.jsx)(v.Z,{className:"".concat(W().section," section-navbar"),children:(0,l.jsx)(e_,{home:i,menu:o,logo:n,searchInput:t,cart:r,links:s,signIn:{button:a},region:{icon:u,label:c,shouldDisplayRegion:d}})})},eN),eZ=(0,_.v)((0,i._)((0,o._)({},{section:"Navbar"}),{Section:eF})),RegionBar_RegionBar=function(e){var{icon:{icon:n,alt:t},buttonIcon:{icon:r,alt:a},label:c,editLabel:u}=e,d=(0,s._)(e,["icon","buttonIcon","label","editLabel"]),{RegionBar:f,LocationIcon:m,ButtonIcon:v}=(0,I.r3)(),{openModal:g}=(0,p.l)(),{postalCode:h}=(0,ei.kP)();return(0,l.jsx)(f.Component,(0,o._)((0,i._)((0,o._)({icon:(0,l.jsx)(m.Component,(0,i._)((0,o._)({},m.props),{name:null!=n?n:m.props.name,"aria-label":null!=t?t:m.props["aria-label"]})),buttonIcon:(0,l.jsx)(v.Component,(0,i._)((0,o._)({},v.props),{name:null!=r?r:v.props.name,"aria-label":null!=a?a:v.props["aria-label"]}))},f.props),{label:null!=c?c:f.props.label,editLabel:null!=u?u:f.props.editLabel,onButtonClick:g,postalCode:h}),d))},eD=t(5954),eM=t.n(eD);let eT=(0,d.forwardRef)(function({postalCode:e,icon:n,label:t,editLabel:r,buttonIcon:a,onButtonClick:o,...i},s){return d.createElement("div",{ref:s,"data-fs-region-bar":!0,...i},d.createElement(ef.Z,{variant:"tertiary",iconPosition:"right",onClick:o,icon:a},!!n&&n,e?d.createElement(d.Fragment,null,d.createElement("span",{"data-fs-region-bar-postal-code":!0},e),!!r&&d.createElement("span",{"data-fs-region-bar-cta":!0},r)):d.createElement("span",{"data-fs-region-bar-message":!0},t)))});var eR={RegionBar:eT,LocationIcon:k.Z,ButtonIcon:k.Z},eB=(0,_.B)("RegionBar",function(e){var{className:n="display-mobile"}=e,t=(0,s._)(e,["className"]);return(0,l.jsx)(v.Z,{className:"".concat(eM().section," section-region-bar ").concat(n),children:(0,l.jsx)(RegionBar_RegionBar,(0,o._)({},t))})},eR),eL=(0,_.v)((0,i._)((0,o._)({},{section:"RegionBar"}),{Section:eB})),eO=(0,d.lazy)(()=>t.e(724).then(t.bind(t,8724))),eV=(0,d.lazy)(()=>t.e(667).then(t.bind(t,7667))),eQ="globalSections",eq=(0,o._)({Alert:$,Navbar:eZ,RegionBar:eL,RegionModal:eO,CartSidebar:eV,Footer:e=>{var{incentives:n,footerLinks:t,footerSocial:r,footerSocial:{title:a},logo:{src:o,alt:i,link:s},copyrightInfo:c,acceptedPaymentMethods:{showPaymentMethods:u,title:d,paymentMethods:f}}=e;return(0,l.jsx)(v.Z,{className:"section ".concat(G().section," section-footer layout__section"),children:(0,l.jsxs)(D,{children:[(0,l.jsx)(A.Z,{incentives:n}),(0,l.jsxs)(FooterNavigation,{children:[(0,l.jsx)(Footer_FooterLinks,{links:t}),(0,l.jsx)(Footer_FooterSocial,{title:a,links:r.socialLinks})]}),(0,l.jsxs)(FooterInfo,{children:[(0,l.jsx)(Q,{href:s?s.url:"/",title:s?s.title:"Go to Home",children:(0,l.jsx)(Logo_Logo,{alt:i,src:o})}),u&&(0,l.jsx)(Z,{flagList:f,title:(0,l.jsx)("p",{children:d})}),(0,l.jsx)("div",{"data-fs-footer-copyright":!0,className:"text__legend",children:(0,l.jsx)("p",{children:c})})]})]})})}},f.Z),cms_GlobalSections=function(e){var{children:n}=e,t=(0,s._)(e,["children"]);return(0,l.jsxs)(y.Z,(0,i._)((0,o._)({components:eq},t),{children:[(0,l.jsx)(common_Toast_Toast,{}),(0,l.jsx)("main",{children:n})]}))};(0,a._)(function*(e){if(u().cms.data){var n=JSON.parse(u().cms.data)[eQ][0];if(n)return yield(0,m.fx)({contentType:eQ,documentId:n.documentId,versionId:n.versionId})}var{sections:t}=yield(0,m.fx)((0,i._)((0,o._)({},(null==e?void 0:e.contentType)===eQ&&e),{contentType:eQ}));return{sections:t}})},208:function(e,n,t){"use strict";t.d(n,{Z:function(){return l}});var r=t(7460),a=t(2281),o=t(2322),i=t(5858),s=t(2784);let SectionBoundary=class SectionBoundary extends s.Component{static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,n){console.error("Error while rendering section ".concat(this.props.name," with:\n").concat(e.message," ").concat(n.componentStack))}render(){return this.state.hasError?null:this.props.children}constructor(...e){super(...e),this.state={hasError:!1,error:null}}};var useDividedSections=e=>(0,s.useMemo)(()=>{var n=e.findIndex(e=>{var{name:n}=e;return"Children"===n}),t=n>-1;return(0,r._)({hasChildren:t,firstSections:t?e.slice(0,n):e},t&&{lastSections:e.slice(n+1)})},[e]),RenderSectionsBase=e=>{var{sections:n=[],components:t}=e;return(0,o.jsx)(o.Fragment,{children:n.map((e,n)=>{var{name:a,data:s}=e,l=t[a];return l?(0,o.jsx)(SectionBoundary,{name:a,children:(0,o.jsx)(l,(0,r._)({},s))},"cms-section-".concat(n)):(console.info("".concat(i.ZP.yellow("warn")," - ").concat(a," not found. Add a new component for this section or remove it from the CMS")),null)})})},l=(0,s.memo)(function(e){var{children:n,sections:t}=e,i=(0,a._)(e,["children","sections"]),{hasChildren:s,firstSections:l,lastSections:c}=useDividedSections(t);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(RenderSectionsBase,(0,r._)({sections:l},i)),n,s&&(0,o.jsx)(RenderSectionsBase,(0,r._)({sections:c},i))]})})},9035:function(e,n,t){"use strict";var r=t(7460),a=t(2281),o=t(2322),i=t(2784),s=t(8134),l=(0,i.forwardRef)(function(e,n){var t,{as:i,className:l=""}=e,c=(0,a._)(e,["as","className"]),u=null!==(t=(0,s.WB)())&&void 0!==t?t:"",d=null!=i?i:"section";return(0,o.jsx)(d,(0,r._)({ref:n,className:"section ".concat(l," ").concat(u).trim()},c))});n.Z=l},7301:function(e,n,t){"use strict";t.d(n,{Z:function(){return f}});var r=t(7460),a=t(2281),o=t(2322),i=t(2784),s=t(5675),l=t.n(s),c=t(6226),u=t.n(c),d="https://".concat(u().api.storeId,".vtexassets.com");function customImageLoader(e){var{src:n,width:t,quality:r}=e,a="".concat(t,"x").concat(0),o=["center","middle"];return r&&o.push("filters:quality(".concat(r||80,")")),o.push(encodeURIComponent(n)),[d,"unsafe",a,...o].join("/")}function Image(e){var{loading:n="lazy"}=e,t=(0,a._)(e,["loading"]);return(0,o.jsx)(l(),(0,r._)({"data-fs-image":!0,loader:customImageLoader,loading:n,priority:"eager"===n},t))}Image.displayName="Image";var f=(0,i.memo)(Image)},39:function(e,n,t){"use strict";t.d(n,{Z:function(){return Incentives_Incentives}});var r=t(2322),a=t(4564),o=t(2784);let i=(0,o.forwardRef)(function({testId:e="store-incentive",children:n,...t},r){return o.createElement("div",{ref:r,"data-fs-incentive":!0,"data-testid":e,...t},n)});var s=t(2614),Incentives_Incentives=function(e){var{incentives:n,variant:t="horizontal",colored:o=!1}=e;return(0,r.jsx)("div",{"data-fs-incentives":!0,"data-fs-incentives-colored":o,"data-fs-incentives-variant":t,children:(0,r.jsx)(a.Z,{"data-fs-content":"incentives",children:n.map((e,n)=>(0,r.jsx)("li",{role:"listitem",children:(0,r.jsxs)(i,{tabIndex:0,children:[(0,r.jsx)(s.Z,{"data-fs-incentive-icon":!0,"aria-label":e.alt,name:e.icon,width:32,height:32}),(0,r.jsxs)("div",{"data-fs-incentive-content":!0,children:[(0,r.jsx)("p",{"data-fs-incentive-title":!0,children:e.title}),(0,r.jsx)("span",{"data-fs-incentive-description":!0,children:e.firstLineText}),e.secondLineText&&(0,r.jsx)("span",{"data-fs-incentive-description":!0,children:e.secondLineText})]})]})},String(n)))})})}},8945:function(e,n){"use strict";n.Z={}},6105:function(e,n,t){"use strict";t.d(n,{i8:function(){return S},jD:function(){return useCart}});var r,a=t(1862),o=t(7460),i=t(6692),s=t(2254),l=t(8283),c=t(2784),u=t(2346),d=t(6226),f=t.n(d),m=t(5563),p=t(7672),v=t(5558),g=(0,u.P)("\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\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"),isGift=e=>0===e.price,getItemId=e=>{var n;return[e.itemOffered.sku,e.seller.identifier,null===(n=e.itemOffered.additionalProperty)||void 0===n?void 0:n.map(e=>{var{propertyID:n}=e;return n}).join("-")].filter(Boolean).join("::")},h=(r=(0,a._)(function*(e){var{validateCart:n=null}=yield(0,m.W)(g,{session:p.Qf.read(),cart:{order:{orderNumber:e.id,shouldSplitItem:e.shouldSplitItem,acceptedOffer:e.items.map(e=>{var{price:n,listPrice:t,seller:r,quantity:a,itemOffered:o}=e;return{price:n,listPrice:t,seller:r,quantity:a,itemOffered:{sku:o.sku,image:o.image,name:o.name,additionalProperty:o.additionalProperty}}})}}});return n&&{id:n.order.orderNumber,items:n.order.acceptedOffer.map(e=>(0,i._)((0,o._)({},e),{id:getItemId(e)})),messages:n.messages}}),function(e){return r.apply(this,arguments)}),[b,y]=(0,v.d)(h),_=((e,n,t="fs::cart")=>{let r=(0,l.M)(e,t,n),getItem=e=>r.read().items.find(n=>n.id===e);return{...r,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 n=r.read(),t=getItem(e.id),a=t?{...e,quantity:t.quantity+e.quantity}:e;r.set({...n,items:t?n.items.map(e=>e===t?a:e):[...n.items,a]})},updateItemQuantity:(e,n)=>{let t=r.read(),a=getItem(e);if(!a)throw new s.q(`Item with id not found: ${e}`);let o={...a,quantity:n};r.set({...t,items:t.items.map(e=>e===a?o:e).filter(e=>e.quantity>0)})},removeItem:e=>{let n=r.read(),t=getItem(e);r.set({...n,items:n.items.filter(e=>e!==t)})},emptyCart:()=>r.set({...r.read(),items:[]}),inCart:e=>!!getItem(e),isEmpty:()=>0===r.read().items.length}})(f().cart,y),S=(0,i._)((0,o._)({},_),{addItem:e=>{var n=(0,i._)((0,o._)({},e),{id:getItemId(e)});_.addItem(n)}}),useCart=()=>{var e=(0,v.o)(S),n=(0,v.o)(b);return(0,c.useMemo)(()=>(0,i._)((0,o._)({},e),{isValidating:n,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,n)=>e+(isGift(n)?0:n.quantity),0),total:e.items.reduce((e,n)=>e+n.price*n.quantity,0),subTotal:e.items.reduce((e,n)=>e+n.listPrice*n.quantity,0)}),[e,n])}},5190:function(e,n,t){"use strict";t.d(n,{Z:function(){return MissingContentError}});let MissingContentError=class MissingContentError extends Error{constructor(e){super("Missing content on the CMS for content type ".concat(e.contentType,". Add content before proceeding. Context: ").concat(JSON.stringify(e,null,2)))}}},5563:function(e,n,t){"use strict";t.d(n,{W:function(){return c}});var r,a,o=t(1862),i=t(7460),s=t(6692),l={POST:{"Content-Type":"application/json"}},c=(r=(0,o._)(function*(e,n,t){var{data:r,errors:a}=yield u("/api/graphql",(0,s._)((0,i._)({},t),{variables:n,operation:e}));if(null==a?void 0:a.length)throw a[0];return r}),function(e,n,t){return r.apply(this,arguments)}),u=(a=(0,o._)(function*(e,n){var{operation:t,variables:r,fetchOptions:a}=n,{operationName:o,operationHash:c}=t.__meta__,u=(null==a?void 0:a.method)!==void 0?a.method.toUpperCase():o.endsWith("Query")?"GET":"POST",d=new URLSearchParams((0,i._)({operationName:o,operationHash:c},"GET"===u&&{variables:JSON.stringify(r)})),f="POST"===u?JSON.stringify({operationName:o,operationHash:c,variables:r}):void 0,m="".concat(e,"?").concat(d.toString());return(yield fetch(m,(0,s._)((0,i._)({method:u,body:f},a),{headers:(0,i._)({},l[u],null==a?void 0:a.headers)}))).json()}),function(e,n){return a.apply(this,arguments)})},1179:function(e,n,t){"use strict";t.d(n,{WN:function(){return s},aM:function(){return useQuery},km:function(){return getKey}});var r=t(1862),a=t(7460),o=t(9857),i=t(5563),getKey=(e,n)=>"".concat(e,"::").concat(JSON.stringify(n)),s={errorRetryCount:3,refreshWhenHidden:!1,refreshWhenOffline:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,shouldRetryOnError:!0},useQuery=(e,n,t)=>(0,o.ZP)(()=>(null==t?void 0:t.doNotRun)?null:getKey(e.__meta__.operationName,n),(0,a._)({fetcher:()=>new Promise(a=>{setTimeout((0,r._)(function*(){a((yield(0,i.W)(e,n,t)))}))})},s,t))},8134:function(e,n,t){"use strict";t.d(n,{Ju:function(){return o},WB:function(){return useOverrideClassName},r3:function(){return useOverrideComponents}});var r=t(2784),a=(0,r.createContext)(null),o=a.Provider,useOverrideComponents=()=>(0,r.useContext)(a).components,useOverrideClassName=()=>{var e;return null===(e=(0,r.useContext)(a))||void 0===e?void 0:e.className}},6877:function(e,n,t){"use strict";t.d(n,{B:function(){return getOverridableSection},v:function(){return getOverriddenSection}});var r=t(7460),a=t(6692),o=t(2281),i=t(2322),s=t(2784),l=t(8134);function getOverridableSection(e,n,t){return function(c){var{__overrides:u}=c,d=(0,o._)(c,["__overrides"]),f=(0,s.useMemo)(()=>{var n,o;return(0,a._)((0,r._)({},null!=u?u:{}),{components:(n=(0,a._)((0,r._)({},null!=u?u:{}),{section:e}),o={},Object.entries(t).forEach(e=>{var t,r,[a,i]=e,s=null===(t=n.components)||void 0===t?void 0:t[a];if(!s){o[a]={Component:i,props:{}};return}s.Component&&s.props&&console.warn("Mixed use of Component and props overrides detected. Defaulting to Component override: component ".concat(a," in the ").concat(n.section," section.")),s.Component?o[a]={Component:s.Component,props:{}}:o[a]={Component:i,props:null!==(r=s.props)&&void 0!==r?r:{}}}),o)})},[u]);return(0,i.jsx)(l.Ju,{value:f,children:(0,i.jsx)(n,(0,r._)({},d))})}}function getOverriddenSection(e){var{Section:n}=e,t=(0,o._)(e,["Section"]);return function(e){return(0,i.jsx)(n,(0,a._)((0,r._)({},e),{__overrides:t}))}}},9671:function(e,n,t){"use strict";t.d(n,{u:function(){return formatSearchPath}});var r=t(2339),a=t(2524),formatSearchPath=e=>{var{term:n,sort:t}=e,{pathname:o,search:i}=(0,r.Z)((0,a.j)({term:n,sort:t,base:"/s"}));return"".concat(o).concat(i)}},484:function(e,n,t){"use strict";t.d(n,{Z:function(){return useSearchHistory}});var r=t(8283),a=t(5558),o=(0,r.M)([],"fs::searchHistory");function useSearchHistory(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,n=(0,a.o)(o);return{searchHistory:n,addToSearchHistory:function(t){var r=new Set,a=[t,...n].slice(0,e).filter(e=>!r.has(e.term)&&r.add(e.term),r);o.set(a)},clearSearchHistory:function(){o.set([])}}}},7672:function(e,n,t){"use strict";t.d(n,{Qf:function(){return _},kP:function(){return useSession},je:function(){return g}});var r,a=t(1862),o=t(7460),i=t(6692),s=t(8283),l=t(2784),c=t(2346),u=t(6226),d=t.n(u),f=t(6105),m=t(5563),p=t(5558),v=(0,c.P)("\n mutation ValidateSession($session: IStoreSession!, $search: String!) {\n validateSession(session: $session, search: $search) {\n locale\n channel\n country\n addressType\n postalCode\n deliveryMode {\n deliveryChannel\n deliveryMethod\n deliveryWindow {\n startDate\n endDate\n }\n }\n geoCoordinates {\n latitude\n longitude\n }\n currency {\n code\n symbol\n }\n person {\n id\n email\n givenName\n familyName\n }\n }\n }\n"),g=(r=(0,a._)(function*(e){return(yield(0,m.W)(v,{session:e,search:window.location.search})).validateSession}),function(e){return r.apply(this,arguments)}),[h,b]=(0,p.d)(g),y=((e,n,t="fs::session")=>(0,s.M)(e,t,n))(d().session,b),_=(0,i._)((0,o._)({},y),{set:e=>{y.set(e),f.i8.set(f.i8.read())}}),useSession=()=>{var e=(0,p.o)(_),n=(0,p.o)(h);return(0,l.useMemo)(()=>(0,i._)((0,o._)({},e),{isValidating:n}),[n,e])}},6841:function(e,n,t){"use strict";t.d(n,{B:function(){return mark}});var r=t(7460),a=t(2322),mark=e=>function(n){var t,o;return performance.mark(null!==(o=null!==(t=e.displayName)&&void 0!==t?t:e.name)&&void 0!==o?o:"unknown"),(0,a.jsx)(e,(0,r._)({},n))}},5558:function(e,n,t){"use strict";t.d(n,{d:function(){return createValidationStore},o:function(){return useStore}});var r=t(1862),a=t(3365),o=t(2784),useStore=e=>(0,o.useSyncExternalStore)(e.subscribe,e.read,e.readInitial),createValidationStore=e=>{var n,t=(0,a.M)(!1),o=(n=(0,r._)(function*(n){try{return t.set(!0),yield e(n)}finally{t.set(!1)}}),function(e){return n.apply(this,arguments)});return[t,o]}},3712:function(e,n,t){"use strict";t.d(n,{fx:function(){return p}});var r,a,o=t(1862),i=t(7460),s=t(6692),l=t(8944),c=t(5190);let MultipleContentError=class MultipleContentError extends Error{constructor(e){super("Multiple content defined on the CMS for content type ".concat(e.contentType,". Remove duplicated content before proceeding. Context: ").concat(JSON.stringify(e,null,2)))}};var u=t(6226),d=t.n(u),isLocator=e=>"string"==typeof e.contentType&&("string"==typeof e.releaseId||"string"==typeof e.documentId||"string"==typeof e.versionId),f=new l.Z({workspace:d().api.workspace,tenant:d().api.storeId}),m=(r=(0,o._)(function*(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;if(isLocator(e))return yield n.getCMSPage(e).then(e=>({data:[e]}));var t=[],r=yield n.getCMSPagesByContentType(e.contentType,(0,s._)((0,i._)({},e.filters),{page:1,perPage:10}));t.push(...r.data);var a=Array.from({length:Math.ceil(r.totalItems/10)-1},(e,n)=>n+2);return r.totalItems>t.length&&(yield Promise.all(a.map(t=>n.getCMSPagesByContentType(e.contentType,(0,s._)((0,i._)({},e.filters),{page:t,perPage:10}))))).forEach(e=>{t.push(...e.data)}),{data:t}}),function(e){return r.apply(this,arguments)}),p=(a=(0,o._)(function*(e){var n=(yield m(e)).data;if(!n[0])throw new c.Z(e);if(1!==n.length)throw new MultipleContentError(e);return n[0]}),function(e){return a.apply(this,arguments)})},9197:function(e){e.exports={section:"section_section__AmDVi"}},8574:function(e){e.exports={section:"section_section__K5krg"}},6375:function(e){e.exports={section:"section_section__ZKxbf"}},5509:function(e){e.exports={section:"section_section__woYoQ"}},3052:function(e){e.exports={section:"section_section__8YaQ0"}},5954:function(e){e.exports={section:"section_section__uCdcm"}},1072:function(e,n,t){"use strict";t.d(n,{_:function(){return sendAnalyticsEvent}});var r=t(4950);let sendAnalyticsEvent=e=>{try{window.postMessage((0,r.re)(e),window.origin)}catch(e){console.error(e)}}},2524:function(e,n,t){"use strict";t.d(n,{X:function(){return useSearchState},j:function(){return initialize}});var r=t(2784),a=t(2339);let initialize=({sort:e="score_desc",selectedFacets:n=[],term:t=null,base:r="/",page:a=0}={})=>({sort:e,selectedFacets:n,term:t,base:r,page:a}),equals=(e,n)=>(0,a.Z)(e).href===(0,a.Z)(n).href,useSearchState=(e,n)=>{let t=(0,r.useMemo)(()=>initialize(e),[e]);return(0,r.useMemo)(()=>({state:t,setState:e=>!equals(e,t)&&n((0,a.Z)(e))}),[n,t])}},3365:function(e,n,t){"use strict";t.d(n,{M:function(){return createStore}});let createStore=e=>{let n=new Set,t=new Set,r=e;return{set:e=>{r=e,t.forEach(e=>e()),t.clear(),n.forEach(n=>{let r=n(e);"function"==typeof r&&t.add(r)})},read:()=>r,readInitial:()=>e,subscribe:e=>(n.add(e),()=>{n.delete(e)})}}},8283:function(e,n,t){"use strict";t.d(n,{M:function(){return createStore}});var r=t(425);let getIDB=async e=>{try{return await (0,r.U2)(e)}catch(e){return}},setIDB=async(e,n)=>{try{await (0,r.t8)(e,n)}catch(e){}},debounce=(e,n)=>{let t;return(...r)=>{clearTimeout(t),t=setTimeout(()=>{e(...r)},n)}},persisted=e=>n=>{let handler=async()=>{let t=await getIDB(e);"undefined"!=typeof document&&n.set(t??n.readInitial())},t=debounce(handler,500);return t(),globalThis.addEventListener?.("focus",()=>t()),globalThis.document?.addEventListener("visibilitychange",()=>"visible"===document.visibilityState&&t()),n.subscribe(n=>{setIDB(e,n)}),n},trivial=async()=>null,optimistic=(e=trivial)=>{let n=Promise.resolve();return t=>(t.subscribe(r=>{let a=!1,handler=async()=>{if(a)return;let n=await e(r);a||null===n||t.set(n)};return n=n.then(handler),()=>{a=!0}}),t)};globalThis.faststore_sdk_stores=globalThis.faststore_sdk_stores??new Map;let singleton=e=>n=>{let t=globalThis.faststore_sdk_stores;return t.has(e)||t.set(e,n),t.get(e)},compose=(e,n)=>e.reduce((e,n)=>n(e),n);var a=t(3365);let identity=e=>e,createStore=(e,n,t)=>compose([n?singleton(n):identity,n?persisted(n):identity,t?optimistic(t):identity],(0,a.M)(e))},2254:function(e,n,t){"use strict";t.d(n,{q:function(){return SDKError}});let SDKError=class SDKError extends Error{constructor(e){super(`[sdk]: ${e}`)}}},2339:function(e,n){"use strict";n.Z=e=>{let n=new URL(e.base,"http://localhost"),{page:t,selectedFacets:r,sort:a,term:o}=e;null!==o&&n.searchParams.set("q",o);let i=new Set;for(let e of r)n.searchParams.append(e.key,e.value),i.add(e.key);return r.length>0&&n.searchParams.set("facets",Array.from(i).join(",")),n.searchParams.set("sort",a),n.searchParams.set("page",t.toString()),n}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[197],{6133:function(t,e,n){"use strict";var o=n(2784);e.Z=function({testId:t="fs-empty-state",title:e,titleIcon:n,variant:i="default",bkgColor:r="default",children:l,...s}){return o.createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":i,"data-fs-empty-state-bkg-color":r,"data-fs-content":"empty-state","data-testid":t,...s},e&&o.createElement("header",{"data-fs-empty-state-title":!0},n&&o.createElement(o.Fragment,null,n),o.createElement("p",null,e)),l)}},6141:function(t,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/404",function(){return n(2870)}])},8886:function(t,e,n){"use strict";n.d(e,{C:function(){return v}});var o=n(7460),i=n(6692),r=n(6877),l=n(2322),s=n(1163),a=n(2614),c=n(3982),u=n(8134),d=n(9035),p=n(5655),_=n.n(p),f={EmptyState:n(6133).Z},useErrorState=()=>{var t,{query:{errorId:e,fromUrl:n},pathname:o,asPath:i}=(0,s.useRouter)();return{errorId:e,fromUrl:null!==(t=null!=n?n:i)&&void 0!==t?t:o}},m=(0,r.B)("EmptyState",function(t){var e,n,r,s,{title:p,titleIcon:f,children:m,subtitle:v,errorState:h,showLoader:E=!1}=t,{EmptyState:y}=(0,u.r3)(),{errorId:x,fromUrl:w}=useErrorState(),j=(null==f?void 0:f.icon)?(0,l.jsx)(a.Z,{name:null==f?void 0:f.icon,"aria-label":null==f?void 0:f.alt,width:56,height:56,weight:"thin"}):y.props.titleIcon;return(0,l.jsx)(d.Z,{className:"".concat(_().section," section-empty-state"),children:(0,l.jsxs)(y.Component,(0,i._)((0,o._)({bkgColor:"light"},y.props),{title:null!=p?p:y.props.title,titleIcon:j,children:[!!v&&(0,l.jsx)("h2",{children:v}),!!(null==h?void 0:null===(e=h.errorId)||void 0===e?void 0:e.show)&&(0,l.jsx)("p",{children:"".concat(null==h?void 0:null===(n=h.errorId)||void 0===n?void 0:n.description," ").concat(x)}),!!(null==h?void 0:null===(r=h.fromUrl)||void 0===r?void 0:r.show)&&(0,l.jsx)("p",{children:"".concat(null==h?void 0:null===(s=h.fromUrl)||void 0===s?void 0:s.description," ").concat(w)}),E&&(0,l.jsx)(c.Z,{}),m]}))})},f),v=(0,r.v)((0,i._)((0,o._)({},{section:"EmptyState"}),{Section:m}))},2870:function(t,e,n){"use strict";n.r(e),n.d(e,{__N_SSG:function(){return p}});var o=n(7460),i=n(6692),r=n(2322),l=n(5351),s=n(7432),a=n(208),c=n(8886),u=n(8945),d=(0,o._)({EmptyState:c.C},u.Z),p=!0;e.default=function(t){var{page:{sections:e},globalSections:n}=t;return(0,r.jsxs)(s.ZP,(0,i._)((0,o._)({},n),{children:[(0,r.jsx)(l.PB,{noindex:!0,nofollow:!0}),(0,r.jsx)(a.Z,{sections:e,components:d})]}))}},5655:function(t){t.exports={section:"section_section__KG_b8",load:"section_load__DKeod"}}},function(t){t.O(0,[470,432,774,888,179],function(){return t(t.s=6141)}),_N_E=t.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[573],{6133:function(t,e,n){"use strict";var o=n(2784);e.Z=function({testId:t="fs-empty-state",title:e,titleIcon:n,variant:i="default",bkgColor:r="default",children:l,...s}){return o.createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":i,"data-fs-empty-state-bkg-color":r,"data-fs-content":"empty-state","data-testid":t,...s},e&&o.createElement("header",{"data-fs-empty-state-title":!0},n&&o.createElement(o.Fragment,null,n),o.createElement("p",null,e)),l)}},698:function(t,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/500",function(){return n(1878)}])},8886:function(t,e,n){"use strict";n.d(e,{C:function(){return v}});var o=n(7460),i=n(6692),r=n(6877),l=n(2322),s=n(1163),a=n(2614),c=n(3982),u=n(8134),d=n(9035),p=n(5655),_=n.n(p),f={EmptyState:n(6133).Z},useErrorState=()=>{var t,{query:{errorId:e,fromUrl:n},pathname:o,asPath:i}=(0,s.useRouter)();return{errorId:e,fromUrl:null!==(t=null!=n?n:i)&&void 0!==t?t:o}},m=(0,r.B)("EmptyState",function(t){var e,n,r,s,{title:p,titleIcon:f,children:m,subtitle:v,errorState:h,showLoader:E=!1}=t,{EmptyState:y}=(0,u.r3)(),{errorId:x,fromUrl:w}=useErrorState(),j=(null==f?void 0:f.icon)?(0,l.jsx)(a.Z,{name:null==f?void 0:f.icon,"aria-label":null==f?void 0:f.alt,width:56,height:56,weight:"thin"}):y.props.titleIcon;return(0,l.jsx)(d.Z,{className:"".concat(_().section," section-empty-state"),children:(0,l.jsxs)(y.Component,(0,i._)((0,o._)({bkgColor:"light"},y.props),{title:null!=p?p:y.props.title,titleIcon:j,children:[!!v&&(0,l.jsx)("h2",{children:v}),!!(null==h?void 0:null===(e=h.errorId)||void 0===e?void 0:e.show)&&(0,l.jsx)("p",{children:"".concat(null==h?void 0:null===(n=h.errorId)||void 0===n?void 0:n.description," ").concat(x)}),!!(null==h?void 0:null===(r=h.fromUrl)||void 0===r?void 0:r.show)&&(0,l.jsx)("p",{children:"".concat(null==h?void 0:null===(s=h.fromUrl)||void 0===s?void 0:s.description," ").concat(w)}),E&&(0,l.jsx)(c.Z,{}),m]}))})},f),v=(0,r.v)((0,i._)((0,o._)({},{section:"EmptyState"}),{Section:m}))},1878:function(t,e,n){"use strict";n.r(e),n.d(e,{__N_SSG:function(){return p}});var o=n(7460),i=n(6692),r=n(2322),l=n(5351),s=n(7432),a=n(208),c=n(8886),u=n(8945),d=(0,o._)({EmptyState:c.C},u.Z),p=!0;e.default=function(t){var{page:{sections:e},globalSections:n}=t;return(0,r.jsxs)(s.ZP,(0,i._)((0,o._)({},n),{children:[(0,r.jsx)(l.PB,{noindex:!0,nofollow:!0}),(0,r.jsx)(a.Z,{sections:e,components:d})]}))}},5655:function(t){t.exports={section:"section_section__KG_b8",load:"section_load__DKeod"}}},function(t){t.O(0,[470,432,774,888,179],function(){return t(t.s=698)}),_N_E=t.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[459],{6133:function(t,e,n){"use strict";var o=n(2784);e.Z=function({testId:t="fs-empty-state",title:e,titleIcon:n,variant:r="default",bkgColor:i="default",children:a,...l}){return o.createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":r,"data-fs-empty-state-bkg-color":i,"data-fs-content":"empty-state","data-testid":t,...l},e&&o.createElement("header",{"data-fs-empty-state-title":!0},n&&o.createElement(o.Fragment,null,n),o.createElement("p",null,e)),a)}},3236:function(t,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/login",function(){return n(9968)}])},8886:function(t,e,n){"use strict";n.d(e,{C:function(){return v}});var o=n(7460),r=n(6692),i=n(6877),a=n(2322),l=n(1163),s=n(2614),c=n(3982),u=n(8134),d=n(9035),f=n(5655),p=n.n(f),_={EmptyState:n(6133).Z},useErrorState=()=>{var t,{query:{errorId:e,fromUrl:n},pathname:o,asPath:r}=(0,l.useRouter)();return{errorId:e,fromUrl:null!==(t=null!=n?n:r)&&void 0!==t?t:o}},m=(0,i.B)("EmptyState",function(t){var e,n,i,l,{title:f,titleIcon:_,children:m,subtitle:v,errorState:h,showLoader:w=!1}=t,{EmptyState:E}=(0,u.r3)(),{errorId:y,fromUrl:x}=useErrorState(),S=(null==_?void 0:_.icon)?(0,a.jsx)(s.Z,{name:null==_?void 0:_.icon,"aria-label":null==_?void 0:_.alt,width:56,height:56,weight:"thin"}):E.props.titleIcon;return(0,a.jsx)(d.Z,{className:"".concat(p().section," section-empty-state"),children:(0,a.jsxs)(E.Component,(0,r._)((0,o._)({bkgColor:"light"},E.props),{title:null!=f?f:E.props.title,titleIcon:S,children:[!!v&&(0,a.jsx)("h2",{children:v}),!!(null==h?void 0:null===(e=h.errorId)||void 0===e?void 0:e.show)&&(0,a.jsx)("p",{children:"".concat(null==h?void 0:null===(n=h.errorId)||void 0===n?void 0:n.description," ").concat(y)}),!!(null==h?void 0:null===(i=h.fromUrl)||void 0===i?void 0:i.show)&&(0,a.jsx)("p",{children:"".concat(null==h?void 0:null===(l=h.fromUrl)||void 0===l?void 0:l.description," ").concat(x)}),w&&(0,a.jsx)(c.Z,{}),m]}))})},_),v=(0,i.v)((0,r._)((0,o._)({},{section:"EmptyState"}),{Section:m}))},9968:function(t,e,n){"use strict";n.r(e),n.d(e,{__N_SSG:function(){return m}});var o=n(7460),r=n(6692),i=n(2322),a=n(2784),l=n(5351),s=n(6226),c=n.n(s),u=n(7432),d=n(208),f=n(8886),p=n(8945),_=(0,o._)({EmptyState:f.C},p.Z),m=!0;e.default=function(t){var{page:{sections:e},globalSections:n}=t;return(0,a.useEffect)(()=>{var t=new URL(c().loginUrl);for(var[e,n]of Array.from(new URLSearchParams(window.location.search)))t.searchParams.append(e,n);window.location.href=t.toString()},[]),(0,i.jsxs)(u.ZP,(0,r._)((0,o._)({},n),{children:[(0,i.jsx)(l.PB,{noindex:!0,nofollow:!0}),(0,i.jsx)(d.Z,{sections:e,components:_})]}))}},5655:function(t){t.exports={section:"section_section__KG_b8",load:"section_load__DKeod"}}},function(t){t.O(0,[470,432,774,888,179],function(){return t(t.s=3236)}),_N_E=t.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552],{1343:function(e,r,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/s",function(){return t(8800)}])},8800:function(e,r,t){"use strict";t.r(r),t.d(r,{__N_SSG:function(){return O},default:function(){return C}});var a=t(7460),n=t(6692),s=t(2322),o=t(6142),l=t(2339),u=t(1197),i=t(5450),c=t(5351),d=t(1163),P=t(2784),h=t(1062),_=t(3092),v=t(6841),g=t(6226),p=t.n(g),f=t(7432),m=t(3221),x=t(208),j=t(2826),w=t(7153),S=t(536),N=t(8899),Z=t(8318),y=t(825),B=t(5786),T=t(7553),G=t(8945),E=t(5114),R=t(5004),b=t(8853),k=(0,a._)({Breadcrumb:S.j,BannerText:w.i,BannerNewsletter:j.Z,Newsletter:Z.O,Hero:N.V,ProductGallery:y.f,ProductShelf:B.T,ProductTiles:T.Z},G.Z),SearchPage_SearchPage=function(e){var r,t,{page:{sections:o,settings:l},data:u}=e,{state:{sort:i,term:c,selectedFacets:d}}=(0,m.R)(),P=null!==(t=null==l?void 0:null===(r=l.productGallery)||void 0===r?void 0:r.itemsPerPage)&&void 0!==t?t:h.g,{data:_}=(0,b.UO)({term:c,sort:i,selectedFacets:d,itemsPerPage:P}),{pages:v,useGalleryPage:g}=(0,R.Y_)(),p={data:(0,n._)((0,a._)({},u,_),{pages:v})};return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(E.ZP,{context:p,children:(0,s.jsx)(R.Bj.Provider,{value:g,children:(0,s.jsx)(x.Z,{sections:o,components:k})})})})},useSearchParams=e=>{var{sort:r}=e,{asPath:t}=(0,d.useRouter)();return(0,P.useMemo)(()=>{var e=new URL(t,"http://localhost");r&&!e.searchParams.has("sort")&&e.searchParams.set("sort",r);var a=(0,o.Q)(e),n=(0,l.Z)(a).href;return(0,o.Q)(new URL(n))},[t,r])};function Page(e){var r,t,o,l,{page:d,globalSections:P}=e,{settings:v}=d,g=useSearchParams({sort:null==v?void 0:null===(r=v.productGallery)||void 0===r?void 0:r.sortBySelection}),m=(0,_.j)(),x="Search Results",{description:j,titleTemplate:w}=p().seo,S=null!==(o=null==v?void 0:null===(t=v.productGallery)||void 0===t?void 0:t.itemsPerPage)&&void 0!==o?o:h.g;if(!g)return null;var N={title:x,searchTerm:null!==(l=g.term)&&void 0!==l?l:void 0};return(0,s.jsx)(f.ZP,(0,n._)((0,a._)({},P),{children:(0,s.jsxs)(u.z,(0,n._)((0,a._)({onChange:m,itemsPerPage:S},g),{children:[(0,s.jsx)(c.PB,{noindex:!0,title:x,description:j,titleTemplate:w,openGraph:{type:"website",title:x,description:j}}),(0,s.jsx)(i.Z,{text:x}),(0,s.jsx)(SearchPage_SearchPage,{page:d,data:N})]}))}))}Page.displayName="Page";var O=!0,C=(0,v.B)(Page)}},function(e){e.O(0,[470,432,590,722,774,888,179],function(){return e(e.s=1343)}),_N_E=e.O()}]);