@faststore/core 3.0.96 → 3.0.98

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 (52) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +19 -19
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-minimal-server.js.nft.json +1 -1
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.js +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/24.js +1 -1
  16. package/.next/server/chunks/350.js +1 -1
  17. package/.next/server/chunks/485.js +1 -1
  18. package/.next/server/chunks/646.js +2 -3
  19. package/.next/server/middleware-build-manifest.js +1 -1
  20. package/.next/server/pages/[...slug].js +1 -1
  21. package/.next/server/pages/api/graphql.js +1 -1
  22. package/.next/server/pages/en-US/404.html +2 -2
  23. package/.next/server/pages/en-US/500.html +2 -2
  24. package/.next/server/pages/en-US/account.html +2 -2
  25. package/.next/server/pages/en-US/checkout.html +2 -2
  26. package/.next/server/pages/en-US/login.html +2 -2
  27. package/.next/server/pages/en-US/s.html +2 -2
  28. package/.next/server/pages/en-US.html +2 -2
  29. package/.next/server/pages/s.js +1 -1
  30. package/.next/server/pages-manifest.json +1 -1
  31. package/.next/static/Ehwe2FJI-JoQxVJZ2uPXO/_buildManifest.js +1 -0
  32. package/.next/static/chunks/104-2f3212640367efe4.js +1 -0
  33. package/.next/static/chunks/{629-23656cd1523b264c.js → 629-07460668e7e03eb5.js} +1 -1
  34. package/.next/static/chunks/{661-fc56d46a6f6ad0a8.js → 661-e22eef09fe820df8.js} +1 -1
  35. package/.next/static/chunks/pages/{[...slug]-c83d89b6d411553c.js → [...slug]-510648907cb15b8f.js} +1 -1
  36. package/.next/static/chunks/pages/{s-d20aa04f06c65540.js → s-4eb28d79d5408f36.js} +1 -1
  37. package/.next/trace +95 -95
  38. package/.turbo/turbo-build.log +1 -1
  39. package/.turbo/turbo-test.log +4 -4
  40. package/@generated/gql.ts +2 -10
  41. package/@generated/graphql.ts +4 -16
  42. package/@generated/persisted-documents.json +2 -2
  43. package/@generated/schema.graphql +0 -2
  44. package/package.json +8 -8
  45. package/src/sdk/auth/index.ts +5 -1
  46. package/src/sdk/product/useLocalizedVariables.ts +2 -2
  47. package/src/sdk/product/useProductGalleryQuery.ts +14 -49
  48. package/src/sdk/search/state.ts +1 -6
  49. package/src/sdk/session/index.ts +25 -3
  50. package/.next/static/chunks/104-9e38d52de0573dbb.js +0 -1
  51. package/.next/static/u81jNvOCHxpnOjg2nPfXW/_buildManifest.js +0 -1
  52. /package/.next/static/{u81jNvOCHxpnOjg2nPfXW → Ehwe2FJI-JoQxVJZ2uPXO}/_ssgManifest.js +0 -0
@@ -46,8 +46,8 @@ Browserslist: caniuse-lite is outdated. Please run:
46
46
  Collecting page data ...
47
47
  Generating static pages (0/7) ...
48
48
 
49
49
  Generating static pages (1/7)
50
-
51
50
  Generating static pages (3/7)
52
51
  Warning: Dynamic Content not found for the page: home. Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function.
52
+
53
53
  Generating static pages (3/7)
54
54
 
55
55
  Generating static pages (5/7)
56
56
 
57
57
  ✓ Generating static pages (7/7)
58
58
  Finalizing page optimization ...
@@ -1,10 +1,10 @@
1
1
  $ jest
2
- PASS test/utils/multipleTemplates.test.ts (31.895 s)
3
- PASS test/server/cms/index.test.ts (32.097 s)
4
- PASS test/server/index.test.ts (33.88 s)
2
+ PASS test/utils/multipleTemplates.test.ts (32.23 s)
3
+ PASS test/server/cms/index.test.ts (33.052 s)
4
+ PASS test/server/index.test.ts (35.094 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: 35.092 s
9
+ Time: 36.222 s
10
10
  Ran all test suites.
package/@generated/gql.ts CHANGED
@@ -44,10 +44,8 @@ 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 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':
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\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n }\n':
48
48
  types.ClientProductGalleryQueryDocument,
49
- '\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n }\n':
50
- types.SearchEvent_MetadataFragmentDoc,
51
49
  '\n query ClientProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ClientProduct\n product(locator: $locator) {\n ...ProductDetailsFragment_product\n }\n }\n':
52
50
  types.ClientProductQueryDocument,
53
51
  '\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':
@@ -160,14 +158,8 @@ export function gql(
160
158
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
161
159
  */
162
160
  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 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'
161
+ 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\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n }\n'
164
162
  ): typeof import('./graphql').ClientProductGalleryQueryDocument
165
- /**
166
- * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
167
- */
168
- export function gql(
169
- source: '\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n }\n'
170
- ): typeof import('./graphql').SearchEvent_MetadataFragmentDoc
171
163
  /**
172
164
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
173
165
  */
@@ -503,8 +503,6 @@ export type QueryShippingArgs = {
503
503
 
504
504
  /** Search result. */
505
505
  export type SearchMetadata = {
506
- /** Indicates how the search engine corrected the misspelled word by using fuzzy logic. */
507
- fuzzy: Scalars['String']['output']
508
506
  /** Indicates if the search term was misspelled. */
509
507
  isTermMisspelled: Scalars['Boolean']['output']
510
508
  /** Logical operator used to run the search. */
@@ -1473,18 +1471,13 @@ export type ClientProductGalleryQueryQuery = {
1473
1471
  max: { selected: number; absolute: number }
1474
1472
  }
1475
1473
  >
1476
- metadata: {
1477
- isTermMisspelled: boolean
1478
- logicalOperator: string
1479
- fuzzy: string
1480
- } | null
1474
+ metadata: { isTermMisspelled: boolean; logicalOperator: string } | null
1481
1475
  }
1482
1476
  }
1483
1477
 
1484
1478
  export type SearchEvent_MetadataFragment = {
1485
1479
  isTermMisspelled: boolean
1486
1480
  logicalOperator: string
1487
- fuzzy: string
1488
1481
  }
1489
1482
 
1490
1483
  export type ClientProductQueryQueryVariables = Exact<{
@@ -1570,11 +1563,7 @@ export type ClientSearchSuggestionsQueryQuery = {
1570
1563
  }>
1571
1564
  }
1572
1565
  products: { pageInfo: { totalCount: number } }
1573
- metadata: {
1574
- isTermMisspelled: boolean
1575
- logicalOperator: string
1576
- fuzzy: string
1577
- } | null
1566
+ metadata: { isTermMisspelled: boolean; logicalOperator: string } | null
1578
1567
  }
1579
1568
  }
1580
1569
 
@@ -2019,7 +2008,6 @@ export const SearchEvent_MetadataFragmentDoc = new TypedDocumentString(
2019
2008
  fragment SearchEvent_metadata on SearchMetadata {
2020
2009
  isTermMisspelled
2021
2010
  logicalOperator
2022
- fuzzy
2023
2011
  }
2024
2012
  `,
2025
2013
  { fragmentName: 'SearchEvent_metadata' }
@@ -2072,7 +2060,7 @@ export const ClientManyProductsQueryDocument = {
2072
2060
  export const ClientProductGalleryQueryDocument = {
2073
2061
  __meta__: {
2074
2062
  operationName: 'ClientProductGalleryQuery',
2075
- operationHash: 'bfc40da32b60f9404a4adb96b0856e3fbb04b076',
2063
+ operationHash: '177fe68cb385737b0901fc9e105f0a4813e18a20',
2076
2064
  },
2077
2065
  } as unknown as TypedDocumentString<
2078
2066
  ClientProductGalleryQueryQuery,
@@ -2090,7 +2078,7 @@ export const ClientProductQueryDocument = {
2090
2078
  export const ClientSearchSuggestionsQueryDocument = {
2091
2079
  __meta__: {
2092
2080
  operationName: 'ClientSearchSuggestionsQuery',
2093
- operationHash: '47af7b9c9e0fb18b01050767daf3e765f67819ac',
2081
+ operationHash: '71809c86cb940861f01bcc57dbaf57e6f41cb378',
2094
2082
  },
2095
2083
  } as unknown as TypedDocumentString<
2096
2084
  ClientSearchSuggestionsQueryQuery,
@@ -4,9 +4,9 @@
4
4
  "324471076994dca94a47adcaf1c6b8f7896e1b4f": "fragment CartItem on StoreOffer { itemOffered { ...CartProductItem } listPrice listPriceWithTaxes price priceWithTaxes 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
  "99012563e9885c3b27a716ca212a2c317e7ec12f": "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 lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes 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
- "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 }",
7
+ "177fe68cb385737b0901fc9e105f0a4813e18a20": "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 { 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
  "7d121ef8d4dc99174e64e4429a9b977b8bbebed8": "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 lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } query ClientProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductDetailsFragment_product } ...ClientProduct }",
9
- "47af7b9c9e0fb18b01050767daf3e765f67819ac": "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 lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes 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 }",
9
+ "71809c86cb940861f01bcc57dbaf57e6f41cb378": "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 lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price quantity seller { identifier } } } id: productID sku slug } fragment SearchEvent_metadata on SearchMetadata { 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 }",
11
11
  "5696202828f9275216a445e316ebf516f168c506": "mutation ValidateSession($search: String!, $session: IStoreSession!) { validateSession(session: $session, search: $search) { addressType channel country currency { code symbol } deliveryMode { deliveryChannel deliveryMethod deliveryWindow { endDate startDate } } geoCoordinates { latitude longitude } locale person { email familyName givenName id } postalCode } }",
12
12
  "d6667f1de2a26b94b9b55f4b25d7d823f82635a0": "fragment ClientShippingSimulation on Query { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city } } } query ClientShippingSimulationQuery($country: String!, $items: [IShippingItem!]!, $postalCode: String!) { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city neighborhood state } logisticsInfo { slas { availableDeliveryWindows { endDateUtc listPrice price startDateUtc } carrier localizedEstimates price shippingEstimate } } } ...ClientShippingSimulation }"
@@ -527,8 +527,6 @@ type SearchMetadata {
527
527
  isTermMisspelled: Boolean!
528
528
  """Logical operator used to run the search."""
529
529
  logicalOperator: String!
530
- """Indicates how the search engine corrected the misspelled word by using fuzzy logic."""
531
- fuzzy: String!
532
530
  }
533
531
 
534
532
  """Search result."""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.0.96",
3
+ "version": "3.0.98",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -43,11 +43,11 @@
43
43
  "@envelop/graphql-jit": "^1.1.1",
44
44
  "@envelop/parser-cache": "^2.2.0",
45
45
  "@envelop/validation-cache": "^2.2.0",
46
- "@faststore/api": "^3.0.95",
47
- "@faststore/components": "^3.0.96",
48
- "@faststore/graphql-utils": "^3.0.95",
49
- "@faststore/sdk": "^3.0.95",
50
- "@faststore/ui": "^3.0.96",
46
+ "@faststore/api": "^3.0.98",
47
+ "@faststore/components": "^3.0.97",
48
+ "@faststore/graphql-utils": "^3.0.97",
49
+ "@faststore/sdk": "^3.0.97",
50
+ "@faststore/ui": "^3.0.97",
51
51
  "@graphql-codegen/cli": "^5.0.2",
52
52
  "@graphql-codegen/client-preset": "^4.2.6",
53
53
  "@graphql-codegen/typescript": "^4.0.7",
@@ -88,7 +88,7 @@
88
88
  "devDependencies": {
89
89
  "@cypress/code-coverage": "^3.12.1",
90
90
  "@envelop/testing": "^6.0.0",
91
- "@faststore/eslint-config": "^3.0.95",
91
+ "@faststore/eslint-config": "^3.0.97",
92
92
  "@faststore/lighthouse": "^1.12.32",
93
93
  "@lhci/cli": "^0.9.0",
94
94
  "@testing-library/cypress": "^10.0.1",
@@ -130,5 +130,5 @@
130
130
  "node": "18.19.0",
131
131
  "yarn": "1.19.1"
132
132
  },
133
- "gitHead": "dbcdb34361a930d5bcb15cacb605985ac592704f"
133
+ "gitHead": "8493dc04b0b2d3a420fb8796ca40bf25a5a4079d"
134
134
  }
@@ -1,7 +1,11 @@
1
1
  import { useSession } from '../session'
2
2
 
3
3
  export const useAuth = () => {
4
- const { person, isValidating, channel: channelJson } = useSession()
4
+ const {
5
+ person,
6
+ isValidating,
7
+ channel: channelJson,
8
+ } = useSession({ filter: false })
5
9
 
6
10
  const channel = JSON.parse(channelJson) as {
7
11
  salesChannel: number
@@ -1,7 +1,7 @@
1
- import { useMemo } from 'react'
2
1
  import { ClientManyProductsQueryQueryVariables } from '@generated/graphql'
3
- import { useSession } from '../session'
2
+ import { useMemo } from 'react'
4
3
  import { ITEMS_PER_SECTION } from 'src/constants'
4
+ import { useSession } from '../session'
5
5
 
6
6
  const toArray = <T>(x: T[] | T | undefined) =>
7
7
  Array.isArray(x) ? x : x ? [x] : []
@@ -1,18 +1,17 @@
1
1
  import { sendAnalyticsEvent } from '@faststore/sdk'
2
- import { useSearch, setFacet } from '@faststore/sdk'
3
2
 
4
3
  import { gql } from '@generated'
5
4
  import { useQuery } from 'src/sdk/graphql/useQuery'
6
- import { useLocalizedVariables } from './useLocalizedVariables'
7
5
  import { useSession } from 'src/sdk/session'
6
+ import { useLocalizedVariables } from './useLocalizedVariables'
8
7
 
8
+ import { Facet } from '@faststore/sdk/dist/types'
9
9
  import type {
10
10
  ClientManyProductsQueryQueryVariables,
11
11
  ClientProductGalleryQueryQuery as Query,
12
12
  ClientProductGalleryQueryQueryVariables as Variables,
13
13
  } from '@generated/graphql'
14
14
  import type { IntelligentSearchQueryEvent } from 'src/sdk/analytics/types'
15
- import type { Facet } from '@faststore/sdk/dist/types'
16
15
 
17
16
  /**
18
17
  * This query is run on the browser and contains
@@ -52,13 +51,10 @@ export const query = gql(`
52
51
  }
53
52
  }
54
53
  }
55
- `)
56
54
 
57
- export const fragment = gql(`
58
55
  fragment SearchEvent_metadata on SearchMetadata {
59
56
  isTermMisspelled
60
57
  logicalOperator
61
- fuzzy
62
58
  }
63
59
  `)
64
60
 
@@ -76,8 +72,6 @@ export const useProductGalleryQuery = ({
76
72
  itemsPerPage,
77
73
  }: ProductGalleryQueryOptions) => {
78
74
  const { locale } = useSession()
79
- const { state, setState } = useSearch()
80
-
81
75
  const localizedVariables = useLocalizedVariables({
82
76
  first: itemsPerPage,
83
77
  after: '0',
@@ -86,49 +80,20 @@ export const useProductGalleryQuery = ({
86
80
  selectedFacets,
87
81
  })
88
82
 
89
- const findFacetValue = (
90
- facets: Facet[],
91
- searchParam: string
92
- ): string | null => {
93
- const facet = facets.find(({ key }) => key === searchParam)
94
- return facet?.value ?? null
95
- }
96
-
97
83
  return useQuery<Query, Variables>(query, localizedVariables, {
98
84
  onSuccess: (data) => {
99
- if (data) {
100
- // Cancel query onSuccess event when redirecting
101
- if (data?.redirect?.url) {
102
- return
103
- }
104
-
105
- const fuzzyFacetValue = findFacetValue(selectedFacets, 'fuzzy')
106
- const operatorFacetValue = findFacetValue(selectedFacets, 'operator')
107
-
108
- if (!fuzzyFacetValue && !operatorFacetValue) {
109
- setState({
110
- ...state,
111
- selectedFacets: [
112
- ...selectedFacets,
113
- { key: 'fuzzy', value: data.search.metadata?.fuzzy },
114
- { key: 'operator', value: data.search.metadata?.logicalOperator },
115
- ],
116
- })
117
- }
118
-
119
- if (term) {
120
- sendAnalyticsEvent<IntelligentSearchQueryEvent>({
121
- name: 'intelligent_search_query',
122
- params: {
123
- locale,
124
- term,
125
- url: window.location.href,
126
- logicalOperator: data.search.metadata?.logicalOperator ?? 'and',
127
- isTermMisspelled: data.search.metadata?.isTermMisspelled ?? false,
128
- totalCount: data.search.products.pageInfo.totalCount,
129
- },
130
- })
131
- }
85
+ if (data && term) {
86
+ sendAnalyticsEvent<IntelligentSearchQueryEvent>({
87
+ name: 'intelligent_search_query',
88
+ params: {
89
+ locale,
90
+ term,
91
+ url: window.location.href,
92
+ logicalOperator: data.search.metadata?.logicalOperator ?? 'and',
93
+ isTermMisspelled: data.search.metadata?.isTermMisspelled ?? false,
94
+ totalCount: data.search.products.pageInfo.totalCount,
95
+ },
96
+ })
132
97
  }
133
98
  },
134
99
  })
@@ -5,12 +5,7 @@ export const useApplySearchState = () => {
5
5
  const router = useRouter()
6
6
 
7
7
  return useCallback(
8
- (url: URL) => {
9
- const newUrl = `${url.pathname}${url.search}`
10
- return url.searchParams.has('fuzzy') && url.searchParams.has('operator')
11
- ? router.replace(newUrl)
12
- : router.push(newUrl)
13
- },
8
+ (url: URL) => router.push(`${url.pathname}${url.search}`),
14
9
  [router]
15
10
  )
16
11
  }
@@ -69,15 +69,37 @@ export const sessionStore = {
69
69
  },
70
70
  }
71
71
 
72
- export const useSession = () => {
73
- const session = useStore(sessionStore)
72
+ interface SessionOptions {
73
+ filter?: boolean
74
+ }
75
+
76
+ /**
77
+ * This custom hook is used to retrieve the session data and filter the channel object.
78
+ * The channel object filtering removes the hasOnlyDefaultSalesChannel key.
79
+ * This key is used only in the useAuth hook and is only required to send on the ValidateSession mutation,
80
+ * so we remove it from the session's channel object to avoid unnecessary cache invalidations and query executions.
81
+ *
82
+ * @param options - Optional configuration for the hook.
83
+ * @param options.filter - A boolean value indicating whether to filter the channel object or not. Default is true.
84
+ * @returns An object containing the session data, channel object, and a flag indicating whether the session is being validated.
85
+ */
86
+
87
+ export const useSession = ({ filter }: SessionOptions = { filter: true }) => {
88
+ let { channel, ...session } = useStore(sessionStore)
74
89
  const isValidating = useStore(validationStore)
75
90
 
91
+ if (filter) {
92
+ const { hasOnlyDefaultSalesChannel, ...filteredChannel } =
93
+ JSON.parse(channel)
94
+ channel = JSON.stringify(filteredChannel)
95
+ }
96
+
76
97
  return useMemo(
77
98
  () => ({
78
99
  ...session,
100
+ channel,
79
101
  isValidating,
80
102
  }),
81
- [isValidating, session]
103
+ [isValidating, session, channel]
82
104
  )
83
105
  }
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[104],{276:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-badge",size:t="small",variant:r="neutral",counter:a=!1,"aria-label":o,children:i,...s},c){return n.createElement("div",{ref:c,"data-fs-badge":!0,"aria-label":o,"data-fs-badge-variant":a?null:r,"data-fs-badge-size":t,"data-fs-badge-counter":a,"data-testid":e,...s},n.createElement("div",{"data-fs-badge-wrapper":!0},i))});t.Z=a},3339:function(e,t,r){"use strict";var n=r(2784),a=r(1667);let o=(0,n.forwardRef)(function({children:e,variant:t,inverse:r,size:o="regular",testId:i="fs-button",loading:s,loadingLabel:c,icon:l,iconPosition:u="left",disabled:d,...f},p){return n.createElement("button",{ref:p,"data-fs-button":!0,"data-fs-button-inverse":r,"data-fs-button-size":o,"data-fs-button-loading":s,"data-fs-button-variant":t,disabled:d,"data-testid":i,...f},n.createElement("div",{"data-fs-button-wrapper":!0},s&&n.createElement("p",{"data-fs-button-loading-label":!0},c,n.createElement(a.Z,{variant:"primary"!==t||r?"dark":"light"})),!!l&&"left"===u&&n.createElement("span",{"data-fs-button-icon":!0},l),e&&n.createElement("span",null,e),!!l&&"right"===u&&n.createElement("span",{"data-fs-button-icon":!0},l)))});t.Z=o},2614:function(e,t,r){"use strict";var n=r(2784);let a={bold:24,regular:16,light:12,thin:8},o=(0,n.forwardRef)(function({testId:e="fs-icon",name:t,weight:r="regular",...o},i){let{width:s,height:c}=o;return n.createElement("svg",{ref:i,"data-fs-icon":!0,"data-testid":e,width:s??24,height:c??24,strokeWidth:a[r],...o},n.createElement("use",{href:`/icons.svg#${t}`}))});t.Z=o},2256:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-input",...t},r){return n.createElement("input",{ref:r,"data-fs-input":!0,"data-testid":e,...t})});t.Z=a},727:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({as:e,children:t,variant:r="default",size:a="regular",inverse:o,testId:i="fs-link",...s},c){let l=e??"a";return n.createElement(l,{ref:c,"data-fs-link":!0,"data-fs-link-variant":r,"data-fs-link-inverse":o,"data-fs-link-size":a,"data-testid":i,...s},t)});t.Z=a},4564:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({as:e,marker:t,testId:r="fs-list",...a},o){let i=e??"ul";return n.createElement(i,{ref:o,role:"list","data-fs-list":!0,"data-fs-list-marker":t,"data-testid":r,...a})});t.Z=a},1667:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-loader",variant:t="dark",...r},a){return n.createElement("span",{ref:a,"data-fs-loader":!0,"data-fs-loader-variant":t,"data-testid":e,...r},n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}))});t.Z=a},5450:function(e,t,r){"use strict";var n=r(2784);t.Z=function({text:e,as:t}){let r=t??"span";return n.createElement(r,{"data-fs-sr-only":!0},e)}},3666:function(e,t,r){"use strict";r.d(t,{b:function(){return useFadeEffect}});var n=r(2784);let useFadeEffect=()=>{let[e,t]=(0,n.useState)("out"),r=(0,n.useCallback)(()=>t("out"),[]),a=(0,n.useCallback)(()=>t("in"),[]);return(0,n.useEffect)(()=>(a(),()=>{r()}),[a,r]),{fade:e,fadeIn:a,fadeOut:r}}},1516:function(e,t,r){"use strict";r.d(t,{A:function(){return useAccordion}});var n=r(2784);let a=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({testId:e="fs-accordion",indices:t,onChange:r,children:o,...i},s){let c=n.Children.map(o,(e,t)=>(0,n.cloneElement)(e,{index:e.props.index??t})),l={indices:new Set(t),onChange:r,numberOfItems:c.length};return n.createElement(a.Provider,{value:l},n.createElement("div",{ref:s,"data-fs-accordion":!0,role:"region","data-testid":e,...i},c))});function useAccordion(){let e=(0,n.useContext)(a);if(void 0===e)throw Error("Do not use Accordion components outside the Accordion context.");return e}t.Z=o},7734:function(e,t,r){"use strict";var n=r(2784),a=r(1516),o=r(783),i=r(2614),s=r(3339);let c=(0,n.forwardRef)(function({testId:e="fs-accordion-button",expandedIcon:t=n.createElement(i.Z,{name:"MinusCircle","data-icon":"expanded"}),collapsedIcon:r=n.createElement(i.Z,{name:"PlusCircle","data-icon":"collapsed"}),children:c,...l},u){let{indices:d,onChange:f,numberOfItems:p}=(0,a.A)(),{index:b,panel:m,button:v,prefixId:g}=(0,o.D)();return n.createElement(s.Z,{ref:u,id:v,variant:"tertiary","data-fs-accordion-button":!0,"aria-expanded":d.has(b),icon:d.has(b)?t:r,iconPosition:"right","aria-controls":m,onKeyDown:e=>{if(["ArrowDown","ArrowUp"].includes(e.key))switch(e.key){case"ArrowDown":e.preventDefault(),(()=>{let e=Number(b)+1===p?0:Number(b)+1;return document.getElementById(`${g&&`${g}-`}button--${e}`)})()?.focus();break;case"ArrowUp":e.preventDefault(),(()=>{let e=Number(b)-1<0?p-1:Number(b)-1;return document.getElementById(`${g&&`${g}-`}button--${e}`)})()?.focus()}},onClick:()=>{f(b)},"data-testid":e,...l},c)});t.Z=c},783:function(e,t,r){"use strict";r.d(t,{D:function(){return useAccordionItem}});var n=r(2784);let a=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({prefixId:e="",index:t=0,as:r,children:o,testId:i="fs-accordion-item",...s},c){let l=r??"div",u={index:t,prefixId:e,panel:`${e&&`${e}-`}panel--${t}`,button:`${e&&`${e}-`}button--${t}`};return n.createElement(a.Provider,{value:u},n.createElement(l,{ref:c,"data-fs-accordion-item":!0,"data-testid":i,...s},o))});function useAccordionItem(){let e=(0,n.useContext)(a);if(void 0===e)throw Error("Do not use AccordionItem components outside the AccordionItem context.");return e}t.Z=o},7583:function(e,t,r){"use strict";var n=r(2784),a=r(1516),o=r(783);let i=(0,n.forwardRef)(function({testId:e="fs-accordion-panel",children:t,...r},i){let{indices:s}=(0,a.A)(),{index:c,button:l,panel:u}=(0,o.D)();return n.createElement("div",{ref:i,id:u,"data-fs-accordion-panel":!0,"aria-labelledby":l,role:"region",hidden:!s.has(c),"data-testid":e,...r},t)});t.Z=i},8138:function(e,t,r){"use strict";var n=r(2784),a=r(727),o=r(7041),i=r(2614);let s=(0,n.forwardRef)(function({testId:e="fs-alert",children:t,icon:r,dismissible:s,link:c,onClose:l,...u},d){let f=(0,n.useCallback)(e=>{e.defaultPrevented||l?.(e)},[l]);return n.createElement("div",{ref:d,role:"alert","data-fs-alert":!0,"data-fs-alert-dismissible":s,"data-fs-content":"alert","data-testid":e,...u},!!r&&r,n.createElement("p",{"data-fs-alert-content":!0},t),c&&n.createElement(a.Z,{"data-fs-alert-link":!0,variant:"inline",...c}),s&&n.createElement(o.Z,{"data-fs-alert-button":!0,size:"small","aria-label":"Close",icon:n.createElement(i.Z,{name:"X"}),onClick:f}))});t.Z=s},7041:function(e,t,r){"use strict";var n=r(2784),a=r(3339);let o=(0,n.forwardRef)(function({icon:e,children:t,testId:r="fs-icon-button","aria-label":o,size:i="regular",variant:s,...c},l){return n.createElement(a.Z,{ref:l,"data-fs-button":!0,"data-fs-icon-button":!0,variant:s??"tertiary",icon:e,"aria-label":o,testId:r,size:i,...c},t)});t.Z=o},3922:function(e,t,r){"use strict";var n=r(2784);t.Z=function({icon:e,inverse:t,children:r,disabled:a,iconPosition:o,size:i="regular",variant:s="primary",testId:c="fs-link-button",...l}){let u=(0,n.useRef)(null);return n.createElement("a",{ref:u,"data-fs-button":!0,"data-fs-link-button":!0,"data-fs-button-size":i,"data-fs-button-variant":s,"data-fs-button-inverse":t,"data-fs-button-disabled":a,onFocus:function(e){e.preventDefault(),a&&u.current?.blur()},"data-testid":c,...l},n.createElement("div",{"data-fs-button-wrapper":!0},!!e&&"left"===o&&n.createElement("span",{"data-fs-button-icon":!0},e),r&&n.createElement("span",null,r),!!e&&"right"===o&&n.createElement("span",{"data-fs-button-icon":!0},e)))}},3543:function(e,t,r){"use strict";r.d(t,{Z:function(){return Modal_Modal}});var n=r(2784),a=r(8316);let o=(0,n.forwardRef)(function({testId:e="fs-overlay",...t},r){return n.createElement("div",{ref:r,"data-fs-overlay":!0,role:"presentation","data-testid":e,...t})});var i=r(6652),s=r(3666),c=r(5712);let useTrapFocus=({trapFocusRef:e,beforeElementRef:t,afterElementRef:r})=>{let a=(0,n.useRef)(),o=(0,n.useRef)(document.hasFocus()?document.activeElement:null);(0,n.useEffect)(()=>{let e=o.current;return()=>{e?.focus()}},[o]),(0,n.useEffect)(()=>{if(!e.current)return;a.current||(a.current=(0,c.ht)(e.current));let[t]=a.current;if(!t){e.current.focus();return}t.focus()},[e]),(0,n.useEffect)(()=>{if(!e.current||!t.current||!r.current)return;let n=t.current,o=r.current,i=e.current,handleLoopFocus=t=>{document.hasFocus()&&(a.current=(0,c.ht)(e.current),a.current.length||i.focus(),t.target===n&&a.current[a.current.length-1]?.focus(),t.target===o&&a.current[0]?.focus())};return n?.addEventListener("focusin",handleLoopFocus),o?.addEventListener("focusin",handleLoopFocus),()=>{n?.removeEventListener("focusin",handleLoopFocus),o?.removeEventListener("focusin",handleLoopFocus)}},[a,r,t,e])},ModalContentPure=({beforeElementRef:e,trapFocusRef:t,afterElementRef:r,testId:a="store-modal-content",children:o,...i})=>n.createElement(n.Fragment,null,n.createElement("div",{ref:e,"data-testid":"beforeElement",tabIndex:0,"aria-hidden":"true"}),n.createElement("div",{"data-fs-modal-content":!0,"data-testid":a,ref:t,"aria-modal":"true",role:"dialog",tabIndex:-1,...i},o),n.createElement("div",{ref:r,"data-testid":"afterElement",tabIndex:0,"aria-hidden":"true"}));var Modal_ModalContent=({children:e,...t})=>{let r=(0,n.useRef)(null),a=(0,n.useRef)(null),o=(0,n.useRef)(null);return useTrapFocus({beforeElementRef:a,trapFocusRef:r,afterElementRef:o}),n.createElement(ModalContentPure,{...t,trapFocusRef:r,beforeElementRef:a,afterElementRef:o,onClick:e=>{e.stopPropagation()}},e)},Modal_Modal=({children:e,testId:t="fs-modal",isOpen:r=!0,onDismiss:c,overlayProps:l,...u})=>{let{closeModal:d}=(0,i.l)(),{fade:f,fadeOut:p,fadeIn:b}=(0,s.b)();return r?(0,a.createPortal)(n.createElement(o,{onClick:e=>{e.defaultPrevented||(e.stopPropagation(),p?.(),c?.())},onKeyDown:e=>{"Escape"!==e.key||e.defaultPrevented||(e.stopPropagation(),p?.(),c?.())},...l},n.createElement(Modal_ModalContent,{onTransitionEnd:()=>"out"===f&&d(),"data-fs-modal":!0,"data-fs-modal-state":f,testId:t,...u},"function"==typeof e?e({fade:f,fadeOut:p,fadeIn:b}):e)),document.body):null}},101:function(e,t,r){"use strict";r.d(t,{c:function(){return a}});var n=r(2784);let a=(0,n.createContext)(null);t.Z=function({onSearchSelection:e,children:t,term:r,terms:o,products:i,isLoading:s}){return n.createElement(a.Provider,{value:{onSearchSelection:e,term:r,terms:o,products:i,isLoading:s}},t)}},7215:function(e,t,r){"use strict";var n=r(2784),a=r(3543);t.Z=function({testId:e="fs-slide-over",isOpen:t,direction:r="leftSide",size:o="full",fade:i="out",children:s,overlayProps:c,onDismiss:l,...u}){return n.createElement(a.Z,{"data-fs-modal":null,"data-fs-slide-over":!0,"data-fs-slide-over-direction":r,"data-fs-slide-over-size":o,"data-fs-slide-over-state":i,isOpen:t,onDismiss:l,testId:e,overlayProps:c,...u},s)}},5049:function(e,t,r){"use strict";var n=r(2784),a=r(7041),o=r(2614);t.Z=({children:e,closeBtnProps:t={},onClose:r,...i})=>n.createElement("header",{"data-fs-slide-over-header":!0,...i},e,n.createElement(a.Z,{"data-fs-slide-over-header-icon":!0,"aria-label":"Close",icon:n.createElement(o.Z,{name:"X"}),onClick:r,...t}))},3523:function(e,t,r){"use strict";r.d(t,{$G:function(){return d},Ce:function(){return l},D5:function(){return a},HZ:function(){return o},M:function(){return u},Pq:function(){return f},VA:function(){return s},gU:function(){return i},wA:function(){return c}});var n=r(9499);let TypedDocumentString=class TypedDocumentString extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t,(0,n.Z)(this,"__apiType",void 0)}toString(){return this.value}};new TypedDocumentString("\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n isVariantOf {\n productGroupID\n name\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n listPrice\n listPriceWithTaxes\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"}),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"}),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 lowPriceWithTaxes\n offers {\n availability\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\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"}),new TypedDocumentString("\n fragment ClientManyProducts on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientManyProducts"}),new TypedDocumentString("\n fragment ClientProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ClientProduct"}),new TypedDocumentString("\n fragment ClientProductGallery on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientProductGallery"}),new TypedDocumentString("\n fragment ClientSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientSearchSuggestions"}),new TypedDocumentString("\n fragment ClientShippingSimulation on Query {\n shipping(items: $items, postalCode: $postalCode, country: $country) {\n address {\n city\n }\n }\n}\n ",{fragmentName:"ClientShippingSimulation"}),new TypedDocumentString("\n fragment ClientTopSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientTopSearchSuggestions"}),new TypedDocumentString("\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n}\n ",{fragmentName:"ServerCollectionPage"}),new TypedDocumentString("\n fragment ServerProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ServerProduct"}),new TypedDocumentString("\n fragment CartMessage on StoreCartMessage {\n text\n status\n}\n ",{fragmentName:"CartMessage"}),new TypedDocumentString("\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\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"}),new TypedDocumentString("\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n}\n ",{fragmentName:"SearchEvent_metadata"});var a={__meta__:{operationName:"ValidateCartMutation",operationHash:"324471076994dca94a47adcaf1c6b8f7896e1b4f"}},o={__meta__:{operationName:"SubscribeToNewsletter",operationHash:"feb7005103a859e2bc8cf2360d568806fd88deba"}},i={__meta__:{operationName:"ClientManyProductsQuery",operationHash:"99012563e9885c3b27a716ca212a2c317e7ec12f"}},s={__meta__:{operationName:"ClientProductGalleryQuery",operationHash:"bfc40da32b60f9404a4adb96b0856e3fbb04b076"}},c={__meta__:{operationName:"ClientProductQuery",operationHash:"7d121ef8d4dc99174e64e4429a9b977b8bbebed8"}},l={__meta__:{operationName:"ClientSearchSuggestionsQuery",operationHash:"47af7b9c9e0fb18b01050767daf3e765f67819ac"}},u={__meta__:{operationName:"ClientTopSearchSuggestionsQuery",operationHash:"e2385b0f11726d0068f96548f57a8dd441c064e3"}},d={__meta__:{operationName:"ValidateSession",operationHash:"5696202828f9275216a445e316ebf516f168c506"}},f={__meta__:{operationName:"ClientShippingSimulationQuery",operationHash:"d6667f1de2a26b94b9b55f4b25d7d823f82635a0"}}},6104:function(e,t,r){"use strict";r.d(t,{ZP:function(){return cms_GlobalSections}});var n,a=r(4730),o=r(9499),i=r(2784),s=r(4439),c=r(6652),Toast_Toast=function(){let{toasts:e,popToast:t}=(0,c.l)(),r=e[e.length-1],n=(0,i.useRef)(),[a,o]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{if(!r)return;let e=setTimeout(()=>o(!0),10);return()=>clearTimeout(e)},[r]),(0,i.useEffect)(()=>(n.current=setTimeout(()=>o(!1),6e3),()=>n.current&&clearTimeout(n.current)),[r]),void 0===r)?null:i.createElement("div",{role:"status","data-fs-toast":!0,"data-fs-toast-visible":a,onTransitionEnd:()=>!a&&t()},r.icon&&i.createElement("div",{"data-fs-toast-icon-container":!0},!!r.icon&&r.icon),i.createElement("div",{"data-fs-toast-content":!0},r.title&&i.createElement("p",{"data-fs-toast-title":!0},r.title),i.createElement("p",{"data-fs-toast-message":!0},r.message)))},l=r(9089),u=r(3218),d=r(8418),f=r.n(d),p=r(2322),common_Toast_Toast=function(){var{toasts:e,pushToast:t}=(0,c.l)(),{messages:r}=(0,u.jD)();return(0,i.useEffect)(()=>{r&&r.forEach(e=>t({message:e.text,status:e.status}))},[r,t]),(0,p.jsx)(p.Fragment,{children:e.length>0&&(0,p.jsx)(l.Z,{className:"".concat(f().section," section-toast"),children:(0,p.jsx)(Toast_Toast,{})})})},b=r(1550),m=r(7296),v=r(2718),g=r(8240),y=r.n(g),j=r(4329),h=["content","children"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Alert(e){var{content:t,children:r}=e,n=(0,a.Z)(e,h),{Alert:o}=(0,j.r3)(),{0:s,1:c}=(0,i.useState)(!0),u=(0,i.useCallback)(()=>c(!1),[c]);return!1===s?null:(0,p.jsx)(l.Z,{className:"".concat(y().section," section-alert"),children:(0,p.jsx)(o.Component,_objectSpread(_objectSpread({},n),{},{onClose:u,children:null!=t?t:r}))})}Alert.displayName="Alert";var O=(0,v.B)(Alert),S=r(8138),w=r(2614),_={Alert:S.Z,Icon:w.Z};function Alert_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Alert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Alert_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Alert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P=(0,m.B)("Alert",function(e){var t,r,n,a,o,{icon:i,content:s,link:{text:c,to:l},dismissible:u}=e,{Alert:d,Icon:f}=(0,j.r3)();return(0,p.jsx)(O,Alert_objectSpread(Alert_objectSpread({icon:(0,p.jsx)(f.Component,Alert_objectSpread(Alert_objectSpread({},f.props),{},{name:null!=i?i:f.props.name}))},d.props),{},{link:Alert_objectSpread(Alert_objectSpread({},null!==(t=d.props.link)&&void 0!==t?t:{}),{},{children:null!=c?c:null===(r=d.props.link)||void 0===r?void 0:r.children,href:null!=l?l:null===(n=d.props.link)||void 0===n?void 0:n.href,target:null!==(a=null===(o=d.props.link)||void 0===o?void 0:o.target)&&void 0!==a?a:"_self"}),dismissible:null!=u?u:d.props.dismissible,children:s}))},_);function OverriddenDefaultAlert_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultAlert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultAlert_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultAlert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var E=(0,m.v)(OverriddenDefaultAlert_objectSpread(OverriddenDefaultAlert_objectSpread({},{section:"Alert"}),{},{Section:P})),x=r(4564),D=r(5450);let k=(0,i.forwardRef)(function({testId:e="fs-payment-methods",title:t,"aria-label":r="Payment Methods",flagList:n,...a},o){return i.createElement("div",{ref:o,"data-fs-payment-methods":!0,"data-testid":e,...a},!!t&&i.createElement("div",{"data-fs-payment-methods-title":!0},t),i.createElement(x.Z,{"data-fs-payment-methods-flags":!0,"aria-label":t?void 0:r},n.map(({alt:e,icon:{icon:t}},r)=>i.createElement("li",{"data-fs-payment-methods-flag":!0,key:`fs-payment-method-${r}-${e}`},i.createElement(w.Z,{width:28,height:18,name:t}),e&&i.createElement(D.Z,{text:e})))))});function FooterInfo(e){var{children:t}=e;return(0,p.jsx)("div",{"data-fs-footer-info":!0,children:t})}function FooterNavigation(e){var{children:t}=e;return(0,p.jsx)("div",{"data-fs-footer-navigation":!0,children:t})}function Footer(e){var{children:t}=e;return(0,p.jsx)("footer",{"data-fs-footer":!0,"data-fs-footer-social":!0,"data-fs-footer-incentives":!0,"data-fs-footer-payment-methods":!0,children:(0,p.jsx)("div",{"data-fs-content":"footer",children:t})})}Footer.displayName="Footer";var C=(0,v.B)(Footer),Z=r(1516),N=r(783),I=r(7734),R=r(7583),T=r(1664),K=r.n(T),B=r(727),L=["href","inverse","children","variant"];function Link_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Link_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Link_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Link_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var F=(0,i.forwardRef)(function(e,t){var{href:r,inverse:n,children:o,variant:s="default"}=e,c=(0,a.Z)(e,L);return(0,i.useMemo)(()=>"/"===r[0]&&"/"!==r[1],[r])?(0,p.jsx)(B.Z,Link_objectSpread(Link_objectSpread({as:K(),ref:t,variant:s,inverse:n,passHref:!0,href:r,legacyBehavior:!1},c),{},{children:o})):(0,p.jsx)(B.Z,Link_objectSpread(Link_objectSpread({ref:t,href:r,variant:s,inverse:n},c),{},{children:o}))});function Links(e){var{items:t}=e;return(0,p.jsx)(x.Z,{children:t.map(e=>(0,p.jsx)("li",{children:(0,p.jsx)(F,{variant:"display",size:"small",href:e.url,children:e.text})},e.text))})}var Footer_FooterLinks=function(e){var{links:t}=e,{0:r,1:n}=(0,i.useState)(new Set([]));return(0,p.jsxs)("section",{"data-fs-footer":!0,"data-fs-footer-links":!0,children:[(0,p.jsx)("div",{className:"display-mobile",children:(0,p.jsx)(Z.Z,{indices:r,onChange:e=>{r.has(e)?(r.delete(e),n(new Set(r))):n(new Set(r.add(e)))},children:t.map(e=>{var{sectionTitle:t,items:r}=e;return(0,p.jsxs)(N.Z,{children:[(0,p.jsx)(I.Z,{children:t}),(0,p.jsx)(R.Z,{children:(0,p.jsx)(Links,{items:r})})]},t)})})}),(0,p.jsx)("div",{className:"hidden-mobile",children:(0,p.jsx)("nav",{"data-fs-footer-links-columns":!0,children:t.map(e=>{var{sectionTitle:t,items:r}=e;return(0,p.jsxs)("div",{children:[(0,p.jsx)("p",{"data-fs-footer-links-title":!0,children:t}),(0,p.jsx)(Links,{items:r})]},t)})})})]})},Footer_FooterSocial=function(e){var{title:t,links:r}=e;return(0,p.jsxs)("section",{"data-fs-footer-social":!0,children:[(0,p.jsx)("p",{"data-fs-footer-social-title":!0,children:t}),(0,p.jsx)(x.Z,{children:r.map(e=>{var{icon:{icon:t},url:r}=e;return(0,p.jsx)("li",{children:(0,p.jsx)(F,{href:r,title:t,size:"small",target:"_blank",variant:"display",rel:"noopener noreferrer",children:(0,p.jsx)(w.Z,{name:t})})},t)})})]})},M=r(8918),Logo_Logo=function(e){var{alt:t,src:r,loading:n="lazy"}=e;return(0,p.jsx)("div",{"data-fs-logo":!0,children:(0,p.jsx)(M.Z,{alt:t,src:r,width:0,height:0,sizes:"15vw",loading:n,style:{width:"100%",height:"auto"}})})},A=r(7332),$=r(4398),G=r.n($),z=r(7653),q=r.n(z);let useScrollDirection=()=>{let[e,t]=(0,i.useState)(""),[r,n]=(0,i.useTransition)();return(0,i.useEffect)(()=>{let a=window.scrollY,updateScrollDirection=()=>{let{scrollY:o}=window,i=o>a?"down":"up";!r&&i!==e&&(o-a>10||o-a<-10)&&n(()=>t(i)),a=o>0?o:0};return window.addEventListener("scroll",updateScrollDirection),()=>window.removeEventListener("scroll",updateScrollDirection)},[r,e]),e};var V=r(29),W=r(1072),H=r(101);let Q=(0,i.forwardRef)(function({children:e,visibleDropdown:t=!1,testId:r="fs-search-input",isLoading:n,products:a,term:o,terms:s,onSearchSelection:c,...l},u){return i.createElement("div",{ref:u,"data-fs-search-input":!0,"data-fs-search-input-dropdown-visible":t,"data-testid":r,...l},i.createElement(H.Z,{onSearchSelection:c,isLoading:n,term:o,products:a,terms:s},e))});var U=r(2256),J=r(7041);let Y=(0,i.forwardRef)(function({onSubmit:e,buttonIcon:t,"aria-label":r="search",testId:n="fs-search-input",buttonProps:a,...o},s){let c=(0,i.useRef)(null),l=(0,i.useRef)(null);return(0,i.useImperativeHandle)(s,()=>({inputRef:c.current,formRef:l.current})),i.createElement("form",{ref:l,"data-fs-search-input-field":!0,"data-testid":n,onSubmit:t=>{t.preventDefault(),c.current?.value!==""&&e(c.current.value)},role:"search"},i.createElement(U.Z,{ref:c,"aria-label":r,"data-fs-search-input-field-input":!0,...o}),i.createElement(J.Z,{type:"submit","aria-label":"Submit Search",icon:t??i.createElement(w.Z,{name:"MagnifyingGlass"}),size:"small",...a}))});var X=r(1163),ee=r(3295),et=r(8543),er=r(3523),en=r(7553),ea=r(1868),eo=er.Ce,search_useSuggestions=function(e){var{channel:t,locale:r}=(0,ea.kP)(),n=(0,i.useMemo)(()=>({term:e,selectedFacets:[{key:"channel",value:null!=t?t:""},{key:"locale",value:r}]}),[e,r,t]),{data:a,error:o}=(0,en.aM)(eo,n,{onSuccess:t=>{if(t&&e){var n,a,o,i;(0,W._)({name:"intelligent_search_query",params:{locale:r,term:e,url:window.location.href,logicalOperator:null!==(n=null===(a=t.search.metadata)||void 0===a?void 0:a.logicalOperator)&&void 0!==n?n:"and",isTermMisspelled:null!==(o=null===(i=t.search.metadata)||void 0===i?void 0:i.isTermMisspelled)&&void 0!==o&&o,totalCount:t.search.products.pageInfo.totalCount}})}}});return{data:a,error:o}},ei=["onSearchClick","buttonTestId","containerStyle","sort","placeholder"];function SearchInput_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var es=(0,i.lazy)(()=>r.e(65).then(r.bind(r,7065))),ec=(n=(0,V.Z)(function*(e){(0,W._)({name:"search",params:{search_term:e}})}),function(e){return n.apply(this,arguments)}),el=(0,i.forwardRef)(function(e,t){var r,n,s,{onSearchClick:c,buttonTestId:l="fs-search-button",containerStyle:u,sort:d,placeholder:f}=e,b=(0,a.Z)(e,ei),{0:m,1:v}=(0,i.useState)(""),g=(0,i.useDeferredValue)(m),{0:y,1:j}=(0,i.useState)(!1),h=(0,i.useRef)(null),{addToSearchHistory:O}=(0,et.Z)(),S=(0,X.useRouter)();(0,i.useImperativeHandle)(t,()=>({resetSearchInput:()=>v("")}));var onSearchSelection=(e,t)=>{O({term:e,path:t}),ec(e),j(!1),v(e)};r=()=>j(!1),(0,i.useEffect)(()=>{var listener=e=>{!h.current||h.current.contains(e.target)||r(e)};return document.addEventListener("mousedown",listener),document.addEventListener("touchstart",listener),()=>{document.removeEventListener("mousedown",listener),document.removeEventListener("touchstart",listener)}},[h,r]);var{data:w,error:_}=search_useSuggestions(g),P=(null!==(n=null==w?void 0:w.search.suggestions.terms)&&void 0!==n?n:[]).slice(0,5),E=(null!==(s=null==w?void 0:w.search.suggestions.products)&&void 0!==s?s:[]).slice(0,5);return(0,p.jsxs)(Q,{ref:h,visibleDropdown:y,onSearchSelection:onSearchSelection,term:g,terms:P,products:E,isLoading:!_&&!w,children:[(0,p.jsx)(Y,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchInput_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchInput_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({ref:t,buttonProps:{onClick:c,testId:l},placeholder:f,onChange:e=>v(e.target.value),onSubmit:e=>{var t=(0,ee.u)({term:e,sort:d});onSearchSelection(e,t),S.push(t)},onFocus:()=>j(!0),value:m},b)),y&&(0,p.jsx)(i.Suspense,{fallback:null,children:(0,p.jsx)(es,{sort:d})})]})});let eu=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links-list-item",...r},n){return i.createElement("li",{"data-fs-navbar-links-list-item":!0,ref:n,"data-testid":t,...r},e)});var ed=r(3339),RegionButton_RegionButton=function(e){var{icon:t,label:r}=e,{openModal:n}=(0,c.l)(),{postalCode:a}=(0,ea.kP)();return(0,p.jsx)(ed.Z,{variant:"tertiary",size:"small",icon:(0,p.jsx)(w.Z,{name:t,width:18,height:18,weight:"bold"}),iconPosition:"left",onClick:n,children:null!=a?a:r})},ef=["links","onClickLink","region"];function NavbarLinks_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function NavbarLinks_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?NavbarLinks_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):NavbarLinks_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ep=(0,v.B)(function(e){var{links:t,onClickLink:r,region:{icon:n,label:o,shouldDisplayRegion:i}}=e,s=(0,a.Z)(e,ef),{NavbarLinks:c,NavbarLinksList:l}=(0,j.r3)();return(0,p.jsx)(c.Component,NavbarLinks_objectSpread(NavbarLinks_objectSpread(NavbarLinks_objectSpread({},s),c.props),{},{children:(0,p.jsxs)("div",{"data-fs-navbar-links-wrapper":!0,"data-fs-content":"navbar",children:[i&&(0,p.jsx)(RegionButton_RegionButton,{icon:n,label:o}),(0,p.jsx)(l.Component,NavbarLinks_objectSpread(NavbarLinks_objectSpread({},l.props),{},{children:t.map(e=>{var{url:t,text:n}=e;return(0,p.jsx)(eu,{children:(0,p.jsx)(F,{variant:"display",href:t,prefetch:!1,onClick:r,children:n})},n)})}))]})}))}),eb=r(3666),em=r(3922),ButtonSignInFallback_ButtonSignInFallback=function(){return(0,p.jsx)(em.Z,{"data-fs-button-signin-link":!0,href:"/login",className:"text__title-mini",variant:"tertiary",icon:(0,p.jsx)(w.Z,{name:"User",width:18,height:18,weight:"bold"}),iconPosition:"left",children:(0,p.jsx)("span",{children:"Sign In"})})},ev=r(8764),eg=r.n(ev);function NavbarSlider_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function NavbarSlider_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?NavbarSlider_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):NavbarSlider_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ey=(0,v.B)(function(e){var{logo:t,links:r,region:n,home:{label:a},signIn:{button:o}}=e,{NavbarSlider:s,NavbarSliderHeader:l,NavbarSliderContent:u,NavbarSliderFooter:d,_experimentalButtonSignIn:f}=(0,j.r3)(),{closeNavbar:b}=(0,c.l)(),{fade:m,fadeOut:v}=(0,eb.b)();return(0,p.jsxs)(s.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({fade:m,onDismiss:v,overlayProps:{className:"section ".concat(eg().section," section-navbar-slider")},onTransitionEnd:()=>"out"===m&&b()},s.props),{},{children:[(0,p.jsx)(l.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({onClose:v},l.props),{},{children:(0,p.jsx)(F,{"data-fs-navbar-slider-logo":!0,href:t.link?t.link.url:"/",title:t.link?t.link.title:a,onClick:v,children:(0,p.jsx)(Logo_Logo,{alt:t.alt,src:t.src})})})),(0,p.jsx)(u.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({},u.props),{},{children:(0,p.jsx)(ep,{onClickLink:v,links:r,region:n})})),(0,p.jsx)(d.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({},d.props),{},{children:(0,p.jsx)(i.Suspense,{fallback:(0,p.jsx)(ButtonSignInFallback_ButtonSignInFallback,{}),children:(0,p.jsx)(f.Component,NavbarSlider_objectSpread({},o))})}))]}))}),ej=r(276),useCartToggleButton=()=>{var{totalItems:e}=(0,u.jD)(),{cart:t,openCart:r,closeCart:n}=(0,c.l)();return{onClick:(0,i.useCallback)(()=>{t?n():r()},[n,t,r]),"data-testid":"cart-toggle","data-items":e}};function CartToggle_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function CartToggle_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?CartToggle_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):CartToggle_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var CartToggle_CartToggle=function(e){var{alt:t,icon:r}=e,n=useCartToggleButton(),a=n["data-items"];return(0,p.jsx)(J.Z,CartToggle_objectSpread(CartToggle_objectSpread({"data-fs-cart-toggle":!0,"aria-label":t,icon:(0,p.jsx)(w.Z,{name:r,width:32,height:32})},n),{},{children:(0,p.jsx)(ej.Z,{counter:!0,children:a})}))};function Navbar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Navbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Navbar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Navbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Navbar(e){var{cart:t,logo:r,searchInput:n,home:a,links:o,signIn:s,region:l,home:{label:u},signIn:{button:d},menu:{icon:{icon:f,alt:b}}}=e,{Navbar:m,NavbarHeader:v,NavbarRow:g,NavbarButtons:y,IconButton:h,_experimentalButtonSignIn:O}=(0,j.r3)(),S=useScrollDirection(),{openNavbar:_,navbar:P}=(0,c.l)(),E=(0,i.useRef)(null),{0:x,1:D}=(0,i.useState)(!1),k=(0,i.useCallback)(()=>{var e,t;D(!0),null===(e=E.current)||void 0===e||null===(t=e.inputRef)||void 0===t||t.focus()},[]),C=(0,i.useCallback)(()=>{var e;D(!1),null===(e=E.current)||void 0===e||e.resetSearchInput()},[]);return(0,p.jsxs)(m.Component,Navbar_objectSpread(Navbar_objectSpread({scrollDirection:S},m.props),{},{children:[(0,p.jsx)(v.Component,Navbar_objectSpread(Navbar_objectSpread({},v.props),{},{children:(0,p.jsxs)(g.Component,Navbar_objectSpread(Navbar_objectSpread({},g.props),{},{children:[!x&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(h.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-navbar-button-menu":!0,onClick:_,icon:(0,p.jsx)(w.Z,{name:f,width:32,height:32})},h.props),{},{"aria-label":null!=b?b:h.props["aria-label"]})),(0,p.jsx)(F,{"data-fs-navbar-logo":!0,href:r.link?r.link.url:"/",title:r.link?r.link.title:u,prefetch:!1,children:(0,p.jsx)(Logo_Logo,{src:r.src,alt:r.alt})})]}),(0,p.jsx)(el,{placeholder:null==n?void 0:n.placeholder,sort:null==n?void 0:n.sort}),(0,p.jsxs)(y.Component,Navbar_objectSpread(Navbar_objectSpread({searchExpanded:x},y.props),{},{children:[x&&(0,p.jsx)(h.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-button-collapse":!0,"aria-label":"Collapse search bar",icon:(0,p.jsx)(w.Z,{name:"CaretLeft",width:32,height:32})},h.props),{},{onClick:C})),(0,p.jsx)(el,{placeholder:"",ref:E,testId:"store-input-mobile",buttonTestId:"store-input-mobile-button",onSearchClick:k,sort:null==n?void 0:n.sort,hidden:!x,"aria-hidden":!x}),(0,p.jsx)(O.Component,Navbar_objectSpread({},d)),(0,p.jsx)(CartToggle_CartToggle,Navbar_objectSpread({},t))]}))]}))})),(0,p.jsx)(ep,{links:o,region:l,className:"hidden-mobile"}),P&&(0,p.jsx)(ey,{home:a,logo:r,links:o,signIn:s,region:l})]}))}Navbar.displayName="Navbar";var eh=(0,v.B)(Navbar);let eO=(0,i.forwardRef)(function({children:e,scrollDirection:t,testId:r="fs-navbar",...n},a){return i.createElement("header",{"data-fs-navbar":!0,role:"banner","data-fs-navbar-scroll":t,ref:a,"data-testid":r,...n},e)}),eS=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links",...r},n){return i.createElement("nav",{"data-fs-navbar-links":!0,ref:n,"data-testid":t,...r},e)}),ew=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links-list",...r},n){return i.createElement(x.Z,{"data-fs-navbar-links-list":!0,ref:n,"data-testid":t,...r},e)});var e_=r(7215),eP=r(5049);let eE=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-slider-content",...r},n){return i.createElement("div",{"data-fs-navbar-slider-content":!0,ref:n,"data-testid":t,...r},e)}),ex=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-slider-footer",...r},n){return i.createElement("footer",{"data-fs-navbar-slider-footer":!0,ref:n,"data-testid":t,...r},e)}),eD=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-header",...r},n){return i.createElement("section",{"data-fs-navbar-header":!0,ref:n,"data-testid":t,...r},e)}),ek=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-row",...r},n){return i.createElement("div",{"data-fs-navbar-row":!0,"data-fs-content":"navbar",ref:n,"data-testid":t,...r},e)}),eC=(0,i.forwardRef)(function({children:e,searchExpanded:t,testId:r="fs-navbar-buttons",...n},a){return i.createElement("div",{"data-fs-navbar-buttons":!0,ref:a,"data-testid":r,"data-fs-navbar-search-expanded":t,...n},e)});var eZ={Navbar:eO,NavbarLinks:eS,NavbarLinksList:ew,NavbarSlider:function({children:e,size:t="full",isOpen:r=!0,direction:n="leftSide",testId:a="fs-navbar-slider",...o}){return i.createElement(e_.Z,{"data-fs-navbar-slider":!0,size:t,isOpen:r,direction:n,"data-testid":a,...o},e)},NavbarSliderHeader:function({children:e,testId:t="fs-navbar-slider-header",...r}){return i.createElement(eP.Z,{"data-fs-navbar-slider-header":!0,"data-testid":t,...r},e)},NavbarSliderContent:eE,NavbarSliderFooter:ex,NavbarHeader:eD,NavbarRow:ek,NavbarButtons:eC,IconButton:J.Z,_experimentalButtonSignIn:e=>{var{label:t,myAccountLabel:r,icon:{alt:n,icon:a}}=e,{person:o}=(0,ea.kP)();return(0,p.jsx)(em.Z,{"data-fs-button-signin-link":!0,href:null!=o&&o.id?"/account":"/login",className:"text__title-mini","aria-label":n,variant:"tertiary",icon:(0,p.jsx)(w.Z,{name:a,width:18,height:18,weight:"bold"}),iconPosition:"left",children:null!=o&&o.id?r:t})}},eN=(0,m.B)("Navbar",function(e){var{logo:t,searchInput:r,cartIcon:n,signInButton:a,navigation:{menu:o,home:i,pageLinks:s,regionalization:{label:c,icon:{icon:u},enabled:d}}}=e;return(0,p.jsx)(l.Z,{className:"".concat(q().section," section-navbar"),children:(0,p.jsx)(eh,{home:i,menu:o,logo:t,searchInput:r,cart:n,links:s,signIn:{button:a},region:{icon:u,label:c,shouldDisplayRegion:d}})})},eZ);function OverriddenDefaultNavbar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultNavbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultNavbar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultNavbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eI=(0,m.v)(OverriddenDefaultNavbar_objectSpread(OverriddenDefaultNavbar_objectSpread({},{section:"Navbar"}),{},{Section:eN})),eR=["icon","buttonIcon","label","editLabel"];function RegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function RegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var RegionBar_RegionBar=function(e){var{icon:{icon:t,alt:r},buttonIcon:{icon:n,alt:o},label:i,editLabel:s}=e,l=(0,a.Z)(e,eR),{RegionBar:u,LocationIcon:d,ButtonIcon:f}=(0,j.r3)(),{openModal:b}=(0,c.l)(),{postalCode:m}=(0,ea.kP)();return(0,p.jsx)(u.Component,RegionBar_objectSpread(RegionBar_objectSpread({icon:(0,p.jsx)(d.Component,RegionBar_objectSpread(RegionBar_objectSpread({},d.props),{},{name:null!=t?t:d.props.name,"aria-label":null!=r?r:d.props["aria-label"]})),buttonIcon:(0,p.jsx)(f.Component,RegionBar_objectSpread(RegionBar_objectSpread({},f.props),{},{name:null!=n?n:f.props.name,"aria-label":null!=o?o:f.props["aria-label"]}))},u.props),{},{label:null!=i?i:u.props.label,editLabel:null!=s?s:u.props.editLabel,onButtonClick:b,postalCode:m},l))},eT=r(1247),eK=r.n(eT);let eB=(0,i.forwardRef)(function({postalCode:e,icon:t,label:r,editLabel:n,buttonIcon:a,onButtonClick:o,...s},c){return i.createElement("div",{ref:c,"data-fs-region-bar":!0,...s},i.createElement(ed.Z,{variant:"tertiary",iconPosition:"right",onClick:o,icon:a},!!t&&t,e?i.createElement(i.Fragment,null,i.createElement("span",{"data-fs-region-bar-postal-code":!0},e),!!n&&i.createElement("span",{"data-fs-region-bar-cta":!0},n)):i.createElement("span",{"data-fs-region-bar-message":!0},r)))});var eL={RegionBar:eB,LocationIcon:w.Z,ButtonIcon:w.Z},eF=["className"];function RegionBar_RegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var eM=(0,m.B)("RegionBar",function(e){var{className:t="display-mobile"}=e,r=(0,a.Z)(e,eF);return(0,p.jsx)(l.Z,{className:"".concat(eK().section," section-region-bar ").concat(t),children:(0,p.jsx)(RegionBar_RegionBar,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},r))})},eL);function OverriddenDefaultRegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultRegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultRegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultRegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eA=(0,m.v)(OverriddenDefaultRegionBar_objectSpread(OverriddenDefaultRegionBar_objectSpread({},{section:"RegionBar"}),{},{Section:eM})),e$=["children"];function GlobalSections_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function GlobalSections_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?GlobalSections_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):GlobalSections_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eG=GlobalSections_objectSpread({Alert:E,Navbar:eI,RegionBar:eA,RegionModal:(0,i.lazy)(()=>r.e(540).then(r.bind(r,2540))),CartSidebar:(0,i.lazy)(()=>r.e(247).then(r.bind(r,6247))),Footer:e=>{var{incentives:t,footerLinks:r,footerSocial:n,footerSocial:{title:a},logo:{src:o,alt:i,link:s},copyrightInfo:c,acceptedPaymentMethods:{showPaymentMethods:u,title:d,paymentMethods:f}}=e;return(0,p.jsx)(l.Z,{className:"section ".concat(G().section," section-footer layout__section"),children:(0,p.jsxs)(C,{children:[(0,p.jsx)(A.Z,{incentives:t}),(0,p.jsxs)(FooterNavigation,{children:[(0,p.jsx)(Footer_FooterLinks,{links:r}),(0,p.jsx)(Footer_FooterSocial,{title:a,links:n.socialLinks})]}),(0,p.jsxs)(FooterInfo,{children:[(0,p.jsx)(F,{href:s?s.url:"/",title:s?s.title:"Go to Home",children:(0,p.jsx)(Logo_Logo,{alt:i,src:o})}),u&&(0,p.jsx)(k,{flagList:f,title:(0,p.jsx)("p",{children:d})}),(0,p.jsx)("div",{"data-fs-footer-copyright":!0,className:"text__legend",children:(0,p.jsx)("p",{children:c})})]})]})})}},s.Z),cms_GlobalSections=function(e){var{children:t}=e,r=(0,a.Z)(e,e$);return(0,p.jsxs)(b.Z,GlobalSections_objectSpread(GlobalSections_objectSpread({components:eG},r),{},{children:[(0,p.jsx)(common_Toast_Toast,{}),(0,p.jsx)("main",{children:t})]}))}},1550:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(4730),a=r(9499),o=r(5858),i=r(2784);let SectionBoundary=class SectionBoundary extends i.Component{constructor(){super(...arguments),(0,a.Z)(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error("Error while rendering section ".concat(this.props.name," with:\n").concat(e.message," ").concat(t.componentStack))}render(){return this.state.hasError?null:this.props.children}};var s=r(2322),c=["children","sections"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var useDividedSections=e=>(0,i.useMemo)(()=>{var t=e.findIndex(e=>{var{name:t}=e;return"Children"===t}),r=t>-1;return _objectSpread({hasChildren:r,firstSections:r?e.slice(0,t):e},r&&{lastSections:e.slice(t+1)})},[e]),RenderSectionsBase=e=>{var{sections:t=[],components:r}=e;return(0,s.jsx)(s.Fragment,{children:t.map((e,t)=>{var{name:n,data:a}=e,i=r[n];return i?(0,s.jsx)(SectionBoundary,{name:n,children:(0,s.jsx)(i,_objectSpread({},a))},"cms-section-".concat(t)):(console.info("".concat(o.ZP.yellow("warn")," - ").concat(n," not found. Add a new component for this section or remove it from the CMS")),null)})})},l=(0,i.memo)(function(e){var{children:t,sections:r}=e,a=(0,n.Z)(e,c),{hasChildren:o,firstSections:i,lastSections:l}=useDividedSections(r);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(RenderSectionsBase,_objectSpread({sections:i},a)),t,o&&(0,s.jsx)(RenderSectionsBase,_objectSpread({sections:l},a))]})})},9089:function(e,t,r){"use strict";var n=r(9499),a=r(4730),o=r(2784),i=r(4329),s=r(2322),c=["as","className"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var l=(0,o.forwardRef)(function(e,t){var r,{as:o,className:l=""}=e,u=(0,a.Z)(e,c),d=null!==(r=(0,i.WB)())&&void 0!==r?r:"",f=null!=o?o:"section";return(0,s.jsx)(f,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({ref:t,className:"section ".concat(l," ").concat(d).trim()},u))});t.Z=l},8918:function(e,t,r){"use strict";r.d(t,{Z:function(){return p}});var n=r(9499),a=r(4730),o=r(2784),i=r(5675),s=r.n(i),c=r(7997),l=r.n(c),u="https://".concat(l().api.storeId,".vtexassets.com");function customImageLoader(e){var{src:t,width:r,quality:n}=e,a="".concat(r,"x").concat(0),o=["center","middle"];return n&&o.push("filters:quality(".concat(n||80,")")),o.push(encodeURIComponent(t)),[u,"unsafe",a,...o].join("/")}var d=r(2322),f=["loading"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Image(e){var{loading:t="lazy"}=e,r=(0,a.Z)(e,f);return(0,d.jsx)(s(),function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({"data-fs-image":!0,loader:customImageLoader,loading:t,priority:"eager"===t},r))}Image.displayName="Image";var p=(0,o.memo)(Image)},7332:function(e,t,r){"use strict";r.d(t,{Z:function(){return Incentives_Incentives}});var n=r(4564),a=r(2784);let o=(0,a.forwardRef)(function({testId:e="store-incentive",children:t,...r},n){return a.createElement("div",{ref:n,"data-fs-incentive":!0,"data-testid":e,...r},t)});var i=r(2614),s=r(2322),Incentives_Incentives=function(e){var{incentives:t,variant:r="horizontal",colored:a=!1}=e;return(0,s.jsx)("div",{"data-fs-incentives":!0,"data-fs-incentives-colored":a,"data-fs-incentives-variant":r,children:(0,s.jsx)(n.Z,{"data-fs-content":"incentives",children:t.map((e,t)=>(0,s.jsx)("li",{role:"listitem",children:(0,s.jsxs)(o,{tabIndex:0,children:[(0,s.jsx)(i.Z,{"data-fs-incentive-icon":!0,"aria-label":e.alt,name:e.icon,width:32,height:32}),(0,s.jsxs)("div",{"data-fs-incentive-content":!0,children:[(0,s.jsx)("p",{"data-fs-incentive-title":!0,children:e.title}),(0,s.jsx)("span",{"data-fs-incentive-description":!0,children:e.firstLineText}),e.secondLineText&&(0,s.jsx)("span",{"data-fs-incentive-description":!0,children:e.secondLineText})]})]})},String(t)))})})}},4439:function(e,t){"use strict";t.Z={}},3218:function(e,t,r){"use strict";r.d(t,{i8:function(){return h},jD:function(){return useCart}});var n,a=r(9499),o=r(29),i=r(3523),s=r(2254),c=r(8283),l=r(2784),u=r(7997),d=r.n(u),f=r(2495),p=r(1868),b=r(5134);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var m=i.D5,isGift=e=>0===e.price,getItemId=e=>{var t;return[e.itemOffered.sku,e.seller.identifier,null===(t=e.itemOffered.additionalProperty)||void 0===t?void 0:t.map(e=>{var{propertyID:t}=e;return t}).join("-")].filter(Boolean).join("::")},v=(n=(0,o.Z)(function*(e){var{validateCart:t=null}=yield(0,f.W)(m,{session:p.Qf.read(),cart:{order:{orderNumber:e.id,shouldSplitItem:e.shouldSplitItem,acceptedOffer:e.items.map(e=>{var{price:t,listPrice:r,seller:n,quantity:a,itemOffered:o}=e;return{price:t,listPrice:r,seller:n,quantity:a,itemOffered:{sku:o.sku,image:o.image,name:o.name,additionalProperty:o.additionalProperty}}})}}});return t&&{id:t.order.orderNumber,items:t.order.acceptedOffer.map(e=>_objectSpread(_objectSpread({},e),{},{id:getItemId(e)})),messages:t.messages}}),function(e){return n.apply(this,arguments)}),[g,y]=(0,b.d)(v),j=((e,t,r="fs::cart")=>{let n=(0,c.M)(e,r,t),getItem=e=>n.read().items.find(t=>t.id===e);return{...n,getItem,addItem:e=>{if(!e.id)throw new s.q("You must provide an `id` for items");if(e.quantity<0)throw new s.q("Item quantity needs to be higher than zero");let t=n.read(),r=getItem(e.id),a=r?{...e,quantity:r.quantity+e.quantity}:e;n.set({...t,items:r?t.items.map(e=>e===r?a:e):[...t.items,a]})},updateItemQuantity:(e,t)=>{let r=n.read(),a=getItem(e);if(!a)throw new s.q(`Item with id not found: ${e}`);let o={...a,quantity:t};n.set({...r,items:r.items.map(e=>e===a?o:e).filter(e=>e.quantity>0)})},removeItem:e=>{let t=n.read(),r=getItem(e);n.set({...t,items:t.items.filter(e=>e!==r)})},emptyCart:()=>n.set({...n.read(),items:[]}),inCart:e=>!!getItem(e),isEmpty:()=>0===n.read().items.length}})(d().cart,y),h=_objectSpread(_objectSpread({},j),{},{addItem:e=>{var t=_objectSpread(_objectSpread({},e),{},{id:getItemId(e)});j.addItem(t)}}),useCart=function(){var{useUnitMultiplier:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{useUnitMultiplier:!1},t=(0,b.o)(h),r=(0,b.o)(g);return(0,l.useMemo)(()=>{var n=t.items.reduce((t,r)=>{t.total+=r.price*r.quantity,t.totalWithTaxes+=r.priceWithTaxes*r.quantity;var n,a,o=e?r.quantity*(null!==(n=null==r?void 0:null===(a=r.itemOffered)||void 0===a?void 0:a.unitMultiplier)&&void 0!==n?n:1):r.quantity;return t.totalItems+=isGift(r)?0:o,t.subTotal+=r.listPrice*o,t.subTotalWithTaxes+=r.listPriceWithTaxes*o,t},{totalItems:0,total:0,subTotal:0,totalWithTaxes:0,subTotalWithTaxes:0});return _objectSpread(_objectSpread(_objectSpread({},t),n),{},{isValidating:r,messages:t.messages,gifts:t.items.filter(e=>isGift(e)),items:t.items.filter(e=>!isGift(e)),totalUniqueItems:t.items.length})},[t,r,e])}},2495:function(e,t,r){"use strict";r.d(t,{W:function(){return c}});var n,a,o=r(9499),i=r(29);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var s={POST:{"Content-Type":"application/json"}},c=(n=(0,i.Z)(function*(e,t,r){var{data:n,errors:a}=yield l("/api/graphql",_objectSpread(_objectSpread({},r),{},{variables:t,operation:e}));if(null!=a&&a.length)throw a[0];return n}),function(e,t,r){return n.apply(this,arguments)}),l=(a=(0,i.Z)(function*(e,t){var{operation:r,variables:n,fetchOptions:a}=t,{operationName:o,operationHash:i}=r.__meta__,c=(null==a?void 0:a.method)!==void 0?a.method.toUpperCase():o.endsWith("Query")?"GET":"POST",l=new URLSearchParams(_objectSpread({operationName:o,operationHash:i},"GET"===c&&{variables:JSON.stringify(n)})),u="POST"===c?JSON.stringify({operationName:o,operationHash:i,variables:n}):void 0,d="".concat(e,"?").concat(l.toString());return(yield fetch(d,_objectSpread(_objectSpread({method:c,body:u},a),{},{headers:_objectSpread(_objectSpread({},s[c]),null==a?void 0:a.headers)}))).json()}),function(e,t){return a.apply(this,arguments)})},7553:function(e,t,r){"use strict";r.d(t,{WN:function(){return s},aM:function(){return useQuery},km:function(){return getKey}});var n=r(29),a=r(9499),o=r(9857),i=r(2495);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var getKey=(e,t)=>"".concat(e,"::").concat(JSON.stringify(t)),s={errorRetryCount:3,refreshWhenHidden:!1,refreshWhenOffline:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,shouldRetryOnError:!0},useQuery=(e,t,r)=>(0,o.ZP)(()=>null!=r&&r.doNotRun?null:getKey(e.__meta__.operationName,t),_objectSpread(_objectSpread({fetcher:()=>new Promise(a=>{setTimeout((0,n.Z)(function*(){a((yield(0,i.W)(e,t,r)))}))})},s),r))},4329:function(e,t,r){"use strict";r.d(t,{Ju:function(){return o},WB:function(){return useOverrideClassName},r3:function(){return useOverrideComponents}});var n=r(2784),a=(0,n.createContext)(null),o=a.Provider,useOverrideComponents=()=>(0,n.useContext)(a).components,useOverrideClassName=()=>{var e;return null===(e=(0,n.useContext)(a))||void 0===e?void 0:e.className}},7296:function(e,t,r){"use strict";r.d(t,{B:function(){return getOverridableSection},v:function(){return getOverriddenSection}});var n=r(9499),a=r(4730),o=r(2784),i=r(4329),s=r(2322),c=["__overrides"],l=["Section"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function getOverridableSection(e,t,r){return function(n){var{__overrides:l}=n,u=(0,a.Z)(n,c),d=(0,o.useMemo)(()=>{var t,n;return _objectSpread(_objectSpread({},null!=l?l:{}),{},{components:(t=_objectSpread(_objectSpread({},null!=l?l:{}),{},{section:e}),n={},Object.entries(r).forEach(e=>{var r,a,[o,i]=e,s=null===(r=t.components)||void 0===r?void 0:r[o];if(!s){n[o]={Component:i,props:{}};return}s.Component&&s.props&&console.warn("Mixed use of Component and props overrides detected. Defaulting to Component override: component ".concat(o," in the ").concat(t.section," section.")),s.Component?n[o]={Component:s.Component,props:{}}:n[o]={Component:i,props:null!==(a=s.props)&&void 0!==a?a:{}}}),n)})},[l]);return(0,s.jsx)(i.Ju,{value:d,children:(0,s.jsx)(t,_objectSpread({},u))})}}function getOverriddenSection(e){var{Section:t}=e,r=(0,a.Z)(e,l);return function(e){return(0,s.jsx)(t,_objectSpread(_objectSpread({},e),{},{__overrides:r}))}}},3295:function(e,t,r){"use strict";r.d(t,{u:function(){return formatSearchPath}});var n=r(2339),a=r(2524),formatSearchPath=e=>{var{term:t,sort:r}=e,{pathname:o,search:i}=(0,n.Z)((0,a.j)({term:t,sort:r,base:"/s"}));return"".concat(o).concat(i)}},8543:function(e,t,r){"use strict";r.d(t,{Z:function(){return useSearchHistory}});var n=r(8283),a=r(5134),o=(0,n.M)([],"fs::searchHistory");function useSearchHistory(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,t=(0,a.o)(o);return{searchHistory:t,addToSearchHistory:function(r){var n=new Set,a=[r,...t].slice(0,e).filter(e=>!n.has(e.term)&&n.add(e.term),n);o.set(a)},clearSearchHistory:function(){o.set([])}}}},1868:function(e,t,r){"use strict";r.d(t,{Qf:function(){return j},kP:function(){return useSession},je:function(){return m}});var n,a=r(9499),o=r(29),i=r(3523),s=r(8283),c=r(2784),l=r(7997),u=r.n(l),d=r(3218),f=r(2495),p=r(5134);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var b=i.$G,m=(n=(0,o.Z)(function*(e){return(yield(0,f.W)(b,{session:e,search:window.location.search})).validateSession}),function(e){return n.apply(this,arguments)}),[v,g]=(0,p.d)(m),y=((e,t,r="fs::session")=>(0,s.M)(e,r,t))(u().session,g),j=_objectSpread(_objectSpread({},y),{},{set:e=>{y.set(e),d.i8.set(d.i8.read())}}),useSession=()=>{var e=(0,p.o)(j),t=(0,p.o)(v);return(0,c.useMemo)(()=>_objectSpread(_objectSpread({},e),{},{isValidating:t}),[t,e])}},2718:function(e,t,r){"use strict";r.d(t,{B:function(){return mark}});var n=r(9499),a=r(2322);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var mark=e=>function(t){var r,o;return performance.mark(null!==(r=null!==(o=e.displayName)&&void 0!==o?o:e.name)&&void 0!==r?r:"unknown"),(0,a.jsx)(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},t))}},5134:function(e,t,r){"use strict";r.d(t,{d:function(){return createValidationStore},o:function(){return useStore}});var n=r(29),a=r(3365),o=r(2784),useStore=e=>(0,o.useSyncExternalStore)(e.subscribe,e.read,e.readInitial),createValidationStore=e=>{var t,r=(0,a.M)(!1),o=(t=(0,n.Z)(function*(t){try{return r.set(!0),yield e(t)}finally{r.set(!1)}}),function(e){return t.apply(this,arguments)});return[r,o]}},8240:function(e){e.exports={section:"section_section__AmDVi"}},8418:function(e){e.exports={section:"section_section__K5krg"}},8764:function(e){e.exports={section:"section_section__ZKxbf"}},4398:function(e){e.exports={section:"section_section__woYoQ"}},7653:function(e){e.exports={section:"section_section__8YaQ0"}},1247:function(e){e.exports={section:"section_section__uCdcm"}},1072:function(e,t,r){"use strict";r.d(t,{_:function(){return sendAnalyticsEvent}});var n=r(4950);let sendAnalyticsEvent=e=>{try{window.postMessage((0,n.re)(e),window.origin)}catch(e){console.error(e)}}},2524:function(e,t,r){"use strict";r.d(t,{X:function(){return useSearchState},j:function(){return initialize}});var n=r(2784),a=r(2339);let initialize=({sort:e="score_desc",selectedFacets:t=[],term:r=null,base:n="/",page:a=0,passThrough:o=new URLSearchParams}={})=>({sort:e,selectedFacets:t,term:r,base:n,page:a,passThrough:o}),equals=(e,t)=>(0,a.Z)(e).href===(0,a.Z)(t).href,useSearchState=(e,t)=>{let r=(0,n.useMemo)(()=>initialize(e),[e]);return(0,n.useMemo)(()=>({state:r,setState:e=>!equals(e,r)&&t((0,a.Z)(e))}),[t,r])}},3365:function(e,t,r){"use strict";r.d(t,{M:function(){return createStore}});let createStore=e=>{let t=new Set,r=new Set,n=e;return{set:e=>{n=e,r.forEach(e=>e()),r.clear(),t.forEach(t=>{let n=t(e);"function"==typeof n&&r.add(n)})},read:()=>n,readInitial:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)})}}},8283:function(e,t,r){"use strict";r.d(t,{M:function(){return createStore}});var n=r(425);let getIDB=async e=>{try{return await (0,n.U2)(e)}catch(e){return}},setIDB=async(e,t)=>{try{await (0,n.t8)(e,t)}catch(e){}},debounce=(e,t)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>{e(...n)},t)}},persisted=e=>t=>{let handler=async()=>{let r=await getIDB(e);"undefined"!=typeof document&&t.set(r??t.readInitial())},r=debounce(handler,500);return r(),globalThis.addEventListener?.("focus",()=>r()),globalThis.document?.addEventListener("visibilitychange",()=>"visible"===document.visibilityState&&r()),t.subscribe(t=>{setIDB(e,t)}),t},trivial=async()=>null,optimistic=(e=trivial)=>{let t=Promise.resolve();return r=>(r.subscribe(n=>{let a=!1,handler=async()=>{if(a)return;let t=await e(n);a||null===t||r.set(t)};return t=t.then(handler),()=>{a=!0}}),r)};globalThis.faststore_sdk_stores=globalThis.faststore_sdk_stores??new Map;let singleton=e=>t=>{let r=globalThis.faststore_sdk_stores;return r.has(e)||r.set(e,t),r.get(e)},compose=(e,t)=>e.reduce((e,t)=>t(e),t);var a=r(3365);let identity=e=>e,createStore=(e,t,r)=>compose([t?singleton(t):identity,t?persisted(t):identity,r?optimistic(r):identity],(0,a.M)(e))},2254:function(e,t,r){"use strict";r.d(t,{q:function(){return SDKError}});let SDKError=class SDKError extends Error{constructor(e){super(`[sdk]: ${e}`)}}},2339:function(e,t){"use strict";t.Z=e=>{let t=new URL(e.base,"http://localhost"),{page:r,selectedFacets:n,sort:a,term:o,passThrough:i}=e;null!==o&&t.searchParams.set("q",o);let s=new Set;for(let e of n)t.searchParams.append(e.key,e.value),s.add(e.key);if(n.length>0&&t.searchParams.set("facets",Array.from(s).join(",")),t.searchParams.set("sort",a),t.searchParams.set("page",r.toString()),i)for(let[e,r]of i.entries())t.searchParams.append(e,r);return t}}}]);
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(s,c,a,t,e,d,f,i){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,c,a,t,e,"static/css/197e314c5a03eabd.css","static/chunks/pages/index-7165efe53537655d.js"],"/404":[s,c,a,d,"static/chunks/pages/404-56dd2d65b7a31cf7.js"],"/500":[s,c,a,d,"static/chunks/pages/500-b3732b7fc60d28f7.js"],"/_error":["static/chunks/pages/_error-fbf331a03642b495.js"],"/account":[s,c,a,"static/chunks/pages/account-dbc5c028225cd1ac.js"],"/checkout":[s,c,a,"static/chunks/pages/checkout-29ae2c37eaf172e1.js"],"/login":[s,c,a,d,"static/chunks/pages/login-98fbb4cd544d7a1d.js"],"/s":[s,c,a,t,e,f,i,d,"static/chunks/pages/s-d20aa04f06c65540.js"],"/[slug]/p":[s,c,a,t,e,"static/css/fbd711b9f5abf105.css","static/chunks/pages/[slug]/p-d8b733cc1a6716a4.js"],"/[...slug]":[s,c,a,t,e,f,i,"static/css/e47f1a002bdcf76f.css","static/chunks/pages/[...slug]-c83d89b6d411553c.js"],sortedPages:["/","/404","/500","/_app","/_error","/account","/checkout","/login","/s","/[slug]/p","/[...slug]"]}}("static/chunks/575-853fb8b1ba4ce8c4.js","static/css/e0edaedcfb97bf5e.css","static/chunks/104-9e38d52de0573dbb.js","static/css/3e19bc8739388691.css","static/chunks/661-fc56d46a6f6ad0a8.js","static/css/2980acad3f8e1028.css","static/css/c725ca9e956e11d7.css","static/chunks/629-23656cd1523b264c.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();