@faststore/core 3.0.1 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +15 -15
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1gneedd +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/24.js +1 -1
- package/.next/server/chunks/242.js +1 -1
- package/.next/server/chunks/646.js +2 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/account.html +2 -2
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/s.js +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{Xf_-r26LvSZnfqjpm_a71 → PrThGOGoaLIWyddgjFmPE}/_buildManifest.js +1 -1
- package/.next/static/chunks/104-38e7af864df976a8.js +1 -0
- package/.next/static/chunks/{629-b7b5ef6f15ecba9d.js → 629-c74f247bd29420a5.js} +1 -1
- package/.next/static/chunks/pages/{[...slug]-7c8ec664c28eca52.js → [...slug]-506fd56c3ad48553.js} +1 -1
- package/.next/static/chunks/pages/{s-dacaed02ad104d73.js → s-e78f09767764a172.js} +1 -1
- package/.next/trace +91 -91
- package/.turbo/turbo-test.log +10 -10
- package/@generated/gql.ts +10 -2
- package/@generated/graphql.ts +16 -4
- package/@generated/persisted-documents.json +2 -2
- package/@generated/schema.graphql +2 -0
- package/package.json +9 -9
- package/src/sdk/product/useProductGalleryQuery.ts +43 -12
- package/.next/static/chunks/104-d42a7ff6c8b8dd89.js +0 -1
- /package/.next/static/{Xf_-r26LvSZnfqjpm_a71 → PrThGOGoaLIWyddgjFmPE}/_ssgManifest.js +0 -0
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
$ jest
|
|
2
|
-
PASS test/server/index.test.ts (
|
|
2
|
+
PASS test/server/index.test.ts (22.823 s)
|
|
3
3
|
FastStore GraphQL Layer
|
|
4
4
|
@faststore/api
|
|
5
|
-
✓ should return a valid GraphQL schema (
|
|
6
|
-
✓ should return a valid GraphQL schema contain all expected types (
|
|
5
|
+
✓ should return a valid GraphQL schema (9 ms)
|
|
6
|
+
✓ should return a valid GraphQL schema contain all expected types (10 ms)
|
|
7
7
|
✓ should return a valid GraphQL schema contain all expected queries (1 ms)
|
|
8
|
-
✓ should return a valid GraphQL schema contain all expected mutations
|
|
8
|
+
✓ should return a valid GraphQL schema contain all expected mutations
|
|
9
9
|
VTEX API Extension
|
|
10
|
-
✓ getTypeDefsFromFolder function should return an Array (
|
|
10
|
+
✓ getTypeDefsFromFolder function should return an Array (6 ms)
|
|
11
11
|
Third Party API Extension
|
|
12
|
-
✓ getTypeDefsFromFolder function should return an Array (
|
|
12
|
+
✓ getTypeDefsFromFolder function should return an Array (5 ms)
|
|
13
13
|
Final Schema after merging
|
|
14
|
-
✓ should return a valid merged GraphQL schema (
|
|
14
|
+
✓ should return a valid merged GraphQL schema (39 ms)
|
|
15
15
|
Envelop
|
|
16
|
-
✓ should exist with its plugins (
|
|
17
|
-
✓ should handle options and execute (
|
|
16
|
+
✓ should exist with its plugins (53 ms)
|
|
17
|
+
✓ should handle options and execute (258 ms)
|
|
18
18
|
|
|
19
19
|
Test Suites: 1 passed, 1 total
|
|
20
20
|
Tests: 9 passed, 9 total
|
|
21
21
|
Snapshots: 0 total
|
|
22
|
-
Time:
|
|
22
|
+
Time: 22.863 s
|
|
23
23
|
Ran all test suites.
|
package/@generated/gql.ts
CHANGED
|
@@ -44,8 +44,10 @@ const documents = {
|
|
|
44
44
|
types.SubscribeToNewsletterDocument,
|
|
45
45
|
'\n query ClientManyProductsQuery(\n $first: Int!\n $after: String\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientManyProducts\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n edges {\n node {\n ...ProductSummary_product\n }\n }\n }\n }\n }\n':
|
|
46
46
|
types.ClientManyProductsQueryDocument,
|
|
47
|
-
'\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n
|
|
47
|
+
'\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n':
|
|
48
48
|
types.ClientProductGalleryQueryDocument,
|
|
49
|
+
'\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n }\n':
|
|
50
|
+
types.SearchEvent_MetadataFragmentDoc,
|
|
49
51
|
'\n query ClientProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ClientProduct\n product(locator: $locator) {\n ...ProductDetailsFragment_product\n }\n }\n':
|
|
50
52
|
types.ClientProductQueryDocument,
|
|
51
53
|
'\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':
|
|
@@ -158,8 +160,14 @@ export function gql(
|
|
|
158
160
|
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
159
161
|
*/
|
|
160
162
|
export function gql(
|
|
161
|
-
source: '\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n facets {\n ...Filter_facets\n }\n metadata {\n ...SearchEvent_metadata\n }\n }\n }\n
|
|
163
|
+
source: '\n query ClientProductGalleryQuery(\n $first: Int!\n $after: String!\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n ) {\n ...ClientProductGallery\n 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'
|
|
162
164
|
): 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
|
|
163
171
|
/**
|
|
164
172
|
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
165
173
|
*/
|
package/@generated/graphql.ts
CHANGED
|
@@ -503,6 +503,8 @@ 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']
|
|
506
508
|
/** Indicates if the search term was misspelled. */
|
|
507
509
|
isTermMisspelled: Scalars['Boolean']['output']
|
|
508
510
|
/** Logical operator used to run the search. */
|
|
@@ -1425,13 +1427,18 @@ export type ClientProductGalleryQueryQuery = {
|
|
|
1425
1427
|
max: { selected: number; absolute: number }
|
|
1426
1428
|
}
|
|
1427
1429
|
>
|
|
1428
|
-
metadata: {
|
|
1430
|
+
metadata: {
|
|
1431
|
+
isTermMisspelled: boolean
|
|
1432
|
+
logicalOperator: string
|
|
1433
|
+
fuzzy: string
|
|
1434
|
+
} | null
|
|
1429
1435
|
}
|
|
1430
1436
|
}
|
|
1431
1437
|
|
|
1432
1438
|
export type SearchEvent_MetadataFragment = {
|
|
1433
1439
|
isTermMisspelled: boolean
|
|
1434
1440
|
logicalOperator: string
|
|
1441
|
+
fuzzy: string
|
|
1435
1442
|
}
|
|
1436
1443
|
|
|
1437
1444
|
export type ClientProductQueryQueryVariables = Exact<{
|
|
@@ -1505,7 +1512,11 @@ export type ClientSearchSuggestionsQueryQuery = {
|
|
|
1505
1512
|
}>
|
|
1506
1513
|
}
|
|
1507
1514
|
products: { pageInfo: { totalCount: number } }
|
|
1508
|
-
metadata: {
|
|
1515
|
+
metadata: {
|
|
1516
|
+
isTermMisspelled: boolean
|
|
1517
|
+
logicalOperator: string
|
|
1518
|
+
fuzzy: string
|
|
1519
|
+
} | null
|
|
1509
1520
|
}
|
|
1510
1521
|
}
|
|
1511
1522
|
|
|
@@ -1927,6 +1938,7 @@ export const SearchEvent_MetadataFragmentDoc = new TypedDocumentString(
|
|
|
1927
1938
|
fragment SearchEvent_metadata on SearchMetadata {
|
|
1928
1939
|
isTermMisspelled
|
|
1929
1940
|
logicalOperator
|
|
1941
|
+
fuzzy
|
|
1930
1942
|
}
|
|
1931
1943
|
`,
|
|
1932
1944
|
{ fragmentName: 'SearchEvent_metadata' }
|
|
@@ -1979,7 +1991,7 @@ export const ClientManyProductsQueryDocument = {
|
|
|
1979
1991
|
export const ClientProductGalleryQueryDocument = {
|
|
1980
1992
|
__meta__: {
|
|
1981
1993
|
operationName: 'ClientProductGalleryQuery',
|
|
1982
|
-
operationHash: '
|
|
1994
|
+
operationHash: '054742a6e1a39f1e09237dcec956879d964f3f20',
|
|
1983
1995
|
},
|
|
1984
1996
|
} as unknown as TypedDocumentString<
|
|
1985
1997
|
ClientProductGalleryQueryQuery,
|
|
@@ -1997,7 +2009,7 @@ export const ClientProductQueryDocument = {
|
|
|
1997
2009
|
export const ClientSearchSuggestionsQueryDocument = {
|
|
1998
2010
|
__meta__: {
|
|
1999
2011
|
operationName: 'ClientSearchSuggestionsQuery',
|
|
2000
|
-
operationHash: '
|
|
2012
|
+
operationHash: 'd145a09bc100dd52d67e3b2624081da2cff66bee',
|
|
2001
2013
|
},
|
|
2002
2014
|
} as unknown as TypedDocumentString<
|
|
2003
2015
|
ClientSearchSuggestionsQueryQuery,
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
"87e1ba227013cb087bcbb35584c1b0b7cdf612ef": "fragment CartItem on StoreOffer { itemOffered { ...CartProductItem } listPrice price quantity seller { identifier } } fragment CartMessage on StoreCartMessage { status text } fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku } 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
|
"b854e384d076dc482f0afe016b604d527f2562a3": "fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice offers { availability listPrice price quantity seller { identifier } } } id: productID sku slug } query ClientManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }",
|
|
7
|
-
"
|
|
7
|
+
"054742a6e1a39f1e09237dcec956879d964f3f20": "fragment ClientProductGallery on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment Filter_facets on StoreFacet { ... on StoreFacetBoolean { __typename key label values { label quantity selected value } } ... on StoreFacetRange { __typename key label max { absolute selected } min { absolute selected } } } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientProductGalleryQuery($after: String!, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { facets { ...Filter_facets } metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } } ...ClientProductGallery }",
|
|
8
8
|
"e535e4897bf98968b8ce0a59af64212c4a746e6f": "fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku } fragment ClientProduct on Query { product(locator: $locator) { id: productID } } fragment ProductDetailsFragment_product on StoreProduct { brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name offers { lowPrice offers { availability listPrice price seller { identifier } } } id: productID sku ...CartProductItem } query ClientProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductDetailsFragment_product } ...ClientProduct }",
|
|
9
|
-
"
|
|
9
|
+
"d145a09bc100dd52d67e3b2624081da2cff66bee": "fragment ClientSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } fragment ProductSummary_product on StoreProduct { brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice offers { availability listPrice price quantity seller { identifier } } } id: productID sku slug } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } suggestions { products { ...ProductSummary_product } terms { value } } } ...ClientSearchSuggestions }",
|
|
10
10
|
"e2385b0f11726d0068f96548f57a8dd441c064e3": "fragment ClientTopSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } query ClientTopSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } ...ClientTopSearchSuggestions }",
|
|
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 }"
|
|
@@ -519,6 +519,8 @@ type SearchMetadata {
|
|
|
519
519
|
isTermMisspelled: Boolean!
|
|
520
520
|
"""Logical operator used to run the search."""
|
|
521
521
|
logicalOperator: String!
|
|
522
|
+
"""Indicates how the search engine corrected the misspelled word by using fuzzy logic."""
|
|
523
|
+
fuzzy: String!
|
|
522
524
|
}
|
|
523
525
|
|
|
524
526
|
"""Search result."""
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"@envelop/graphql-jit": "^1.1.1",
|
|
39
39
|
"@envelop/parser-cache": "^2.2.0",
|
|
40
40
|
"@envelop/validation-cache": "^2.2.0",
|
|
41
|
-
"@faststore/api": "^3.0.
|
|
42
|
-
"@faststore/components": "^3.0.
|
|
43
|
-
"@faststore/graphql-utils": "^3.0.
|
|
44
|
-
"@faststore/sdk": "^3.0.
|
|
45
|
-
"@faststore/ui": "^3.0.
|
|
41
|
+
"@faststore/api": "^3.0.3",
|
|
42
|
+
"@faststore/components": "^3.0.3",
|
|
43
|
+
"@faststore/graphql-utils": "^3.0.3",
|
|
44
|
+
"@faststore/sdk": "^3.0.3",
|
|
45
|
+
"@faststore/ui": "^3.0.3",
|
|
46
46
|
"@graphql-codegen/cli": "^3.3.1",
|
|
47
47
|
"@graphql-codegen/client-preset": "^4.1.0",
|
|
48
48
|
"@graphql-codegen/typescript": "^3.0.4",
|
|
@@ -82,8 +82,8 @@
|
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@cypress/code-coverage": "^3.12.1",
|
|
84
84
|
"@envelop/testing": "^6.0.0",
|
|
85
|
-
"@faststore/cli": "^3.0.
|
|
86
|
-
"@faststore/eslint-config": "^3.0.
|
|
85
|
+
"@faststore/cli": "^3.0.3",
|
|
86
|
+
"@faststore/eslint-config": "^3.0.3",
|
|
87
87
|
"@faststore/lighthouse": "^1.12.32",
|
|
88
88
|
"@lhci/cli": "^0.9.0",
|
|
89
89
|
"@testing-library/cypress": "^10.0.1",
|
|
@@ -127,5 +127,5 @@
|
|
|
127
127
|
"node": "18.19.0",
|
|
128
128
|
"yarn": "1.19.1"
|
|
129
129
|
},
|
|
130
|
-
"gitHead": "
|
|
130
|
+
"gitHead": "bb27ad0d2b285ee09d480d077e47fb6c9d8339a2"
|
|
131
131
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { sendAnalyticsEvent } from '@faststore/sdk'
|
|
2
|
+
import { useSearch, setFacet } from '@faststore/sdk'
|
|
2
3
|
|
|
3
4
|
import { gql } from '@generated'
|
|
4
5
|
import { useQuery } from 'src/sdk/graphql/useQuery'
|
|
@@ -10,6 +11,7 @@ import type {
|
|
|
10
11
|
ClientProductGalleryQueryQueryVariables as Variables,
|
|
11
12
|
} from '@generated/graphql'
|
|
12
13
|
import type { IntelligentSearchQueryEvent } from 'src/sdk/analytics/types'
|
|
14
|
+
import type { Facet } from '@faststore/sdk/dist/types'
|
|
13
15
|
|
|
14
16
|
/**
|
|
15
17
|
* This query is run on the browser and contains
|
|
@@ -46,10 +48,13 @@ export const query = gql(`
|
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
}
|
|
51
|
+
`)
|
|
49
52
|
|
|
53
|
+
export const fragment = gql(`
|
|
50
54
|
fragment SearchEvent_metadata on SearchMetadata {
|
|
51
55
|
isTermMisspelled
|
|
52
56
|
logicalOperator
|
|
57
|
+
fuzzy
|
|
53
58
|
}
|
|
54
59
|
`)
|
|
55
60
|
|
|
@@ -60,6 +65,8 @@ export const useProductGalleryQuery = ({
|
|
|
60
65
|
itemsPerPage,
|
|
61
66
|
}) => {
|
|
62
67
|
const { locale } = useSession()
|
|
68
|
+
const { state, setState } = useSearch()
|
|
69
|
+
|
|
63
70
|
const localizedVariables = useLocalizedVariables({
|
|
64
71
|
first: itemsPerPage,
|
|
65
72
|
after: '0',
|
|
@@ -68,20 +75,44 @@ export const useProductGalleryQuery = ({
|
|
|
68
75
|
selectedFacets,
|
|
69
76
|
})
|
|
70
77
|
|
|
78
|
+
const findFacetValue = (
|
|
79
|
+
facets: Facet[],
|
|
80
|
+
searchParam: string
|
|
81
|
+
): string | null => {
|
|
82
|
+
const facet = facets.find(({ key }) => key === searchParam)
|
|
83
|
+
return facet?.value ?? null
|
|
84
|
+
}
|
|
85
|
+
|
|
71
86
|
return useQuery<Query, Variables>(query, localizedVariables, {
|
|
72
87
|
onSuccess: (data) => {
|
|
73
|
-
if (data
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
88
|
+
if (data) {
|
|
89
|
+
const fuzzyFacetValue = findFacetValue(selectedFacets, 'fuzzy')
|
|
90
|
+
const operatorFacetValue = findFacetValue(selectedFacets, 'operator')
|
|
91
|
+
|
|
92
|
+
if (!fuzzyFacetValue && !operatorFacetValue) {
|
|
93
|
+
setState({
|
|
94
|
+
...state,
|
|
95
|
+
selectedFacets: [
|
|
96
|
+
...selectedFacets,
|
|
97
|
+
{ key: 'fuzzy', value: data.search.metadata?.fuzzy },
|
|
98
|
+
{ key: 'operator', value: data.search.metadata?.logicalOperator },
|
|
99
|
+
],
|
|
100
|
+
})
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (term) {
|
|
104
|
+
sendAnalyticsEvent<IntelligentSearchQueryEvent>({
|
|
105
|
+
name: 'intelligent_search_query',
|
|
106
|
+
params: {
|
|
107
|
+
locale,
|
|
108
|
+
term,
|
|
109
|
+
url: window.location.href,
|
|
110
|
+
logicalOperator: data.search.metadata?.logicalOperator ?? 'and',
|
|
111
|
+
isTermMisspelled: data.search.metadata?.isTermMisspelled ?? false,
|
|
112
|
+
totalCount: data.search.products.pageInfo.totalCount,
|
|
113
|
+
},
|
|
114
|
+
})
|
|
115
|
+
}
|
|
85
116
|
}
|
|
86
117
|
},
|
|
87
118
|
})
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[104],{276:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-badge",size:t="small",variant:r="neutral",counter:a=!1,"aria-label":o,children:i,...s},c){return n.createElement("div",{ref:c,"data-fs-badge":!0,"aria-label":o,"data-fs-badge-variant":a?null:r,"data-fs-badge-size":t,"data-fs-badge-counter":a,"data-testid":e,...s},n.createElement("div",{"data-fs-badge-wrapper":!0},i))});t.Z=a},3339:function(e,t,r){"use strict";var n=r(2784),a=r(1667);let o=(0,n.forwardRef)(function({children:e,variant:t,inverse:r,size:o="regular",testId:i="fs-button",loading:s,loadingLabel:c,icon:l,iconPosition:u="left",disabled:d,...f},p){return n.createElement("button",{ref:p,"data-fs-button":!0,"data-fs-button-inverse":r,"data-fs-button-size":o,"data-fs-button-loading":s,"data-fs-button-variant":t,disabled:d,"data-testid":i,...f},n.createElement("div",{"data-fs-button-wrapper":!0},s&&n.createElement("p",{"data-fs-button-loading-label":!0},c,n.createElement(a.Z,{variant:"primary"!==t||r?"dark":"light"})),!!l&&"left"===u&&n.createElement("span",{"data-fs-button-icon":!0},l),e&&n.createElement("span",null,e),!!l&&"right"===u&&n.createElement("span",{"data-fs-button-icon":!0},l)))});t.Z=o},2614:function(e,t,r){"use strict";var n=r(2784);let a={bold:24,regular:16,light:12,thin:8},o=(0,n.forwardRef)(function({testId:e="fs-icon",name:t,weight:r="regular",...o},i){let{width:s,height:c}=o;return n.createElement("svg",{ref:i,"data-fs-icon":!0,"data-testid":e,width:s??24,height:c??24,strokeWidth:a[r],...o},n.createElement("use",{href:`/icons.svg#${t}`}))});t.Z=o},2256:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-input",...t},r){return n.createElement("input",{ref:r,"data-fs-input":!0,"data-testid":e,...t})});t.Z=a},727:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({as:e,children:t,variant:r="default",size:a="regular",inverse:o,testId:i="fs-link",...s},c){let l=e??"a";return n.createElement(l,{ref:c,"data-fs-link":!0,"data-fs-link-variant":r,"data-fs-link-inverse":o,"data-fs-link-size":a,"data-testid":i,...s},t)});t.Z=a},4564:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({as:e,marker:t,testId:r="fs-list",...a},o){let i=e??"ul";return n.createElement(i,{ref:o,role:"list","data-fs-list":!0,"data-fs-list-marker":t,"data-testid":r,...a})});t.Z=a},1667:function(e,t,r){"use strict";var n=r(2784);let a=(0,n.forwardRef)(function({testId:e="fs-loader",variant:t="dark",...r},a){return n.createElement("span",{ref:a,"data-fs-loader":!0,"data-fs-loader-variant":t,"data-testid":e,...r},n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}))});t.Z=a},5450:function(e,t,r){"use strict";var n=r(2784);t.Z=function({text:e,as:t}){let r=t??"span";return n.createElement(r,{"data-fs-sr-only":!0},e)}},3666:function(e,t,r){"use strict";r.d(t,{b:function(){return useFadeEffect}});var n=r(2784);let useFadeEffect=()=>{let[e,t]=(0,n.useState)("out"),r=(0,n.useCallback)(()=>t("out"),[]),a=(0,n.useCallback)(()=>t("in"),[]);return(0,n.useEffect)(()=>(a(),()=>{r()}),[a,r]),{fade:e,fadeIn:a,fadeOut:r}}},1516:function(e,t,r){"use strict";r.d(t,{A:function(){return useAccordion}});var n=r(2784);let a=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({testId:e="fs-accordion",indices:t,onChange:r,children:o,...i},s){let c=n.Children.map(o,(e,t)=>(0,n.cloneElement)(e,{index:e.props.index??t})),l={indices:new Set(t),onChange:r,numberOfItems:c.length};return n.createElement(a.Provider,{value:l},n.createElement("div",{ref:s,"data-fs-accordion":!0,role:"region","data-testid":e,...i},c))});function useAccordion(){let e=(0,n.useContext)(a);if(void 0===e)throw Error("Do not use Accordion components outside the Accordion context.");return e}t.Z=o},7734:function(e,t,r){"use strict";var n=r(2784),a=r(1516),o=r(783),i=r(2614),s=r(3339);let c=(0,n.forwardRef)(function({testId:e="fs-accordion-button",expandedIcon:t=n.createElement(i.Z,{name:"MinusCircle","data-icon":"expanded"}),collapsedIcon:r=n.createElement(i.Z,{name:"PlusCircle","data-icon":"collapsed"}),children:c,...l},u){let{indices:d,onChange:f,numberOfItems:p}=(0,a.A)(),{index:b,panel:m,button:v,prefixId:g}=(0,o.D)();return n.createElement(s.Z,{ref:u,id:v,variant:"tertiary","data-fs-accordion-button":!0,"aria-expanded":d.has(b),icon:d.has(b)?t:r,iconPosition:"right","aria-controls":m,onKeyDown:e=>{if(["ArrowDown","ArrowUp"].includes(e.key))switch(e.key){case"ArrowDown":e.preventDefault(),(()=>{let e=Number(b)+1===p?0:Number(b)+1;return document.getElementById(`${g&&`${g}-`}button--${e}`)})()?.focus();break;case"ArrowUp":e.preventDefault(),(()=>{let e=Number(b)-1<0?p-1:Number(b)-1;return document.getElementById(`${g&&`${g}-`}button--${e}`)})()?.focus()}},onClick:()=>{f(b)},"data-testid":e,...l},c)});t.Z=c},783:function(e,t,r){"use strict";r.d(t,{D:function(){return useAccordionItem}});var n=r(2784);let a=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({prefixId:e="",index:t=0,as:r,children:o,testId:i="fs-accordion-item",...s},c){let l=r??"div",u={index:t,prefixId:e,panel:`${e&&`${e}-`}panel--${t}`,button:`${e&&`${e}-`}button--${t}`};return n.createElement(a.Provider,{value:u},n.createElement(l,{ref:c,"data-fs-accordion-item":!0,"data-testid":i,...s},o))});function useAccordionItem(){let e=(0,n.useContext)(a);if(void 0===e)throw Error("Do not use AccordionItem components outside the AccordionItem context.");return e}t.Z=o},7583:function(e,t,r){"use strict";var n=r(2784),a=r(1516),o=r(783);let i=(0,n.forwardRef)(function({testId:e="fs-accordion-panel",children:t,...r},i){let{indices:s}=(0,a.A)(),{index:c,button:l,panel:u}=(0,o.D)();return n.createElement("div",{ref:i,id:u,"data-fs-accordion-panel":!0,"aria-labelledby":l,role:"region",hidden:!s.has(c),"data-testid":e,...r},t)});t.Z=i},8138:function(e,t,r){"use strict";var n=r(2784),a=r(727),o=r(7041),i=r(2614);let s=(0,n.forwardRef)(function({testId:e="fs-alert",children:t,icon:r,dismissible:s,link:c,onClose:l,...u},d){let f=(0,n.useCallback)(e=>{e.defaultPrevented||l?.(e)},[l]);return n.createElement("div",{ref:d,role:"alert","data-fs-alert":!0,"data-fs-alert-dismissible":s,"data-fs-content":"alert","data-testid":e,...u},!!r&&r,n.createElement("p",{"data-fs-alert-content":!0},t),c&&n.createElement(a.Z,{"data-fs-alert-link":!0,variant:"inline",...c}),s&&n.createElement(o.Z,{"data-fs-alert-button":!0,size:"small","aria-label":"Close",icon:n.createElement(i.Z,{name:"X"}),onClick:f}))});t.Z=s},7041:function(e,t,r){"use strict";var n=r(2784),a=r(3339);let o=(0,n.forwardRef)(function({icon:e,children:t,testId:r="fs-icon-button","aria-label":o,size:i="regular",variant:s,...c},l){return n.createElement(a.Z,{ref:l,"data-fs-button":!0,"data-fs-icon-button":!0,variant:s??"tertiary",icon:e,"aria-label":o,testId:r,size:i,...c},t)});t.Z=o},3922:function(e,t,r){"use strict";var n=r(2784);t.Z=function({icon:e,inverse:t,children:r,disabled:a,iconPosition:o,size:i="regular",variant:s="primary",testId:c="fs-link-button",...l}){let u=(0,n.useRef)(null);return n.createElement("a",{ref:u,"data-fs-button":!0,"data-fs-link-button":!0,"data-fs-button-size":i,"data-fs-button-variant":s,"data-fs-button-inverse":t,"data-fs-button-disabled":a,onFocus:function(e){e.preventDefault(),a&&u.current?.blur()},"data-testid":c,...l},n.createElement("div",{"data-fs-button-wrapper":!0},!!e&&"left"===o&&n.createElement("span",{"data-fs-button-icon":!0},e),r&&n.createElement("span",null,r),!!e&&"right"===o&&n.createElement("span",{"data-fs-button-icon":!0},e)))}},3543:function(e,t,r){"use strict";r.d(t,{Z:function(){return Modal_Modal}});var n=r(2784),a=r(8316);let o=(0,n.forwardRef)(function({testId:e="fs-overlay",...t},r){return n.createElement("div",{ref:r,"data-fs-overlay":!0,role:"presentation","data-testid":e,...t})});var i=r(6652),s=r(3666),c=r(5712);let useTrapFocus=({trapFocusRef:e,beforeElementRef:t,afterElementRef:r})=>{let a=(0,n.useRef)(),o=(0,n.useRef)(document.hasFocus()?document.activeElement:null);(0,n.useEffect)(()=>{let e=o.current;return()=>{e?.focus()}},[o]),(0,n.useEffect)(()=>{if(!e.current)return;a.current||(a.current=(0,c.ht)(e.current));let[t]=a.current;if(!t){e.current.focus();return}t.focus()},[e]),(0,n.useEffect)(()=>{if(!e.current||!t.current||!r.current)return;let n=t.current,o=r.current,i=e.current,handleLoopFocus=t=>{document.hasFocus()&&(a.current=(0,c.ht)(e.current),a.current.length||i.focus(),t.target===n&&a.current[a.current.length-1]?.focus(),t.target===o&&a.current[0]?.focus())};return n?.addEventListener("focusin",handleLoopFocus),o?.addEventListener("focusin",handleLoopFocus),()=>{n?.removeEventListener("focusin",handleLoopFocus),o?.removeEventListener("focusin",handleLoopFocus)}},[a,r,t,e])},ModalContentPure=({beforeElementRef:e,trapFocusRef:t,afterElementRef:r,testId:a="store-modal-content",children:o,...i})=>n.createElement(n.Fragment,null,n.createElement("div",{ref:e,"data-testid":"beforeElement",tabIndex:0,"aria-hidden":"true"}),n.createElement("div",{"data-fs-modal-content":!0,"data-testid":a,ref:t,"aria-modal":"true",role:"dialog",tabIndex:-1,...i},o),n.createElement("div",{ref:r,"data-testid":"afterElement",tabIndex:0,"aria-hidden":"true"}));var Modal_ModalContent=({children:e,...t})=>{let r=(0,n.useRef)(null),a=(0,n.useRef)(null),o=(0,n.useRef)(null);return useTrapFocus({beforeElementRef:a,trapFocusRef:r,afterElementRef:o}),n.createElement(ModalContentPure,{...t,trapFocusRef:r,beforeElementRef:a,afterElementRef:o,onClick:e=>{e.stopPropagation()}},e)},Modal_Modal=({children:e,testId:t="fs-modal",isOpen:r=!0,onDismiss:c,overlayProps:l,...u})=>{let{closeModal:d}=(0,i.l)(),{fade:f,fadeOut:p,fadeIn:b}=(0,s.b)();return r?(0,a.createPortal)(n.createElement(o,{onClick:e=>{e.defaultPrevented||(e.stopPropagation(),p?.(),c?.())},onKeyDown:e=>{"Escape"!==e.key||e.defaultPrevented||(e.stopPropagation(),p?.(),c?.())},...l},n.createElement(Modal_ModalContent,{onTransitionEnd:()=>"out"===f&&d(),"data-fs-modal":!0,"data-fs-modal-state":f,testId:t,...u},"function"==typeof e?e({fade:f,fadeOut:p,fadeIn:b}):e)),document.body):null}},101:function(e,t,r){"use strict";r.d(t,{c:function(){return a}});var n=r(2784);let a=(0,n.createContext)(null);t.Z=function({onSearchSelection:e,children:t,term:r,terms:o,products:i,isLoading:s}){return n.createElement(a.Provider,{value:{onSearchSelection:e,term:r,terms:o,products:i,isLoading:s}},t)}},7215:function(e,t,r){"use strict";var n=r(2784),a=r(3543);t.Z=function({testId:e="fs-slide-over",isOpen:t,direction:r="leftSide",size:o="full",fade:i="out",children:s,overlayProps:c,onDismiss:l,...u}){return n.createElement(a.Z,{"data-fs-modal":null,"data-fs-slide-over":!0,"data-fs-slide-over-direction":r,"data-fs-slide-over-size":o,"data-fs-slide-over-state":i,isOpen:t,onDismiss:l,testId:e,overlayProps:c,...u},s)}},5049:function(e,t,r){"use strict";var n=r(2784),a=r(7041),o=r(2614);t.Z=({children:e,closeBtnProps:t={},onClose:r,...i})=>n.createElement("header",{"data-fs-slide-over-header":!0,...i},e,n.createElement(a.Z,{"data-fs-slide-over-header-icon":!0,"aria-label":"Close",icon:n.createElement(o.Z,{name:"X"}),onClick:r,...t}))},3523:function(e,t,r){"use strict";r.d(t,{$G:function(){return d},Ce:function(){return l},D5:function(){return a},HZ:function(){return o},M:function(){return u},Pq:function(){return f},VA:function(){return s},gU:function(){return i},wA:function(){return c}});var n=r(9499);let TypedDocumentString=class TypedDocumentString extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t,(0,n.Z)(this,"__apiType",void 0)}toString(){return this.value}};new TypedDocumentString("\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n isVariantOf {\n productGroupID\n name\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n quantity\n seller {\n identifier\n }\n }\n }\n}\n ",{fragmentName:"ProductSummary_product"}),new TypedDocumentString("\n fragment Filter_facets on StoreFacet {\n ... on StoreFacetRange {\n key\n label\n min {\n selected\n absolute\n }\n max {\n selected\n absolute\n }\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n __typename\n }\n}\n ",{fragmentName:"Filter_facets"}),new TypedDocumentString("\n fragment CartProductItem on StoreProduct {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}\n ",{fragmentName:"CartProductItem"}),new TypedDocumentString("\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n seller {\n identifier\n }\n }\n }\n ...CartProductItem\n}\n fragment CartProductItem on StoreProduct {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}",{fragmentName:"ProductDetailsFragment_product"}),new TypedDocumentString("\n fragment ClientManyProducts on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientManyProducts"}),new TypedDocumentString("\n fragment ClientProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ClientProduct"}),new TypedDocumentString("\n fragment ClientProductGallery on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientProductGallery"}),new TypedDocumentString("\n fragment ClientSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientSearchSuggestions"}),new TypedDocumentString("\n fragment ClientShippingSimulation on Query {\n shipping(items: $items, postalCode: $postalCode, country: $country) {\n address {\n city\n }\n }\n}\n ",{fragmentName:"ClientShippingSimulation"}),new TypedDocumentString("\n fragment ClientTopSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientTopSearchSuggestions"}),new TypedDocumentString("\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n}\n ",{fragmentName:"ServerCollectionPage"}),new TypedDocumentString("\n fragment ServerProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ServerProduct"}),new TypedDocumentString("\n fragment CartMessage on StoreCartMessage {\n text\n status\n}\n ",{fragmentName:"CartMessage"}),new TypedDocumentString("\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n ...CartProductItem\n }\n}\n fragment CartProductItem on StoreProduct {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}",{fragmentName:"CartItem"}),new TypedDocumentString("\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n}\n ",{fragmentName:"SearchEvent_metadata"});var a={__meta__:{operationName:"ValidateCartMutation",operationHash:"87e1ba227013cb087bcbb35584c1b0b7cdf612ef"}},o={__meta__:{operationName:"SubscribeToNewsletter",operationHash:"feb7005103a859e2bc8cf2360d568806fd88deba"}},i={__meta__:{operationName:"ClientManyProductsQuery",operationHash:"b854e384d076dc482f0afe016b604d527f2562a3"}},s={__meta__:{operationName:"ClientProductGalleryQuery",operationHash:"6d9e14e3ac08a539b7df06ad644b7f34527d9493"}},c={__meta__:{operationName:"ClientProductQuery",operationHash:"e535e4897bf98968b8ce0a59af64212c4a746e6f"}},l={__meta__:{operationName:"ClientSearchSuggestionsQuery",operationHash:"31f2520a6ab19cf0773667e14b382c27abf5e485"}},u={__meta__:{operationName:"ClientTopSearchSuggestionsQuery",operationHash:"e2385b0f11726d0068f96548f57a8dd441c064e3"}},d={__meta__:{operationName:"ValidateSession",operationHash:"5696202828f9275216a445e316ebf516f168c506"}},f={__meta__:{operationName:"ClientShippingSimulationQuery",operationHash:"d6667f1de2a26b94b9b55f4b25d7d823f82635a0"}}},6104:function(e,t,r){"use strict";r.d(t,{ZP:function(){return cms_GlobalSections}});var n,a=r(4730),o=r(9499),i=r(2784),s=r(4439),c=r(6652),Toast_Toast=function(){let{toasts:e,popToast:t}=(0,c.l)(),r=e[e.length-1],n=(0,i.useRef)(),[a,o]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{if(!r)return;let e=setTimeout(()=>o(!0),10);return()=>clearTimeout(e)},[r]),(0,i.useEffect)(()=>(n.current=setTimeout(()=>o(!1),6e3),()=>n.current&&clearTimeout(n.current)),[r]),void 0===r)?null:i.createElement("div",{role:"status","data-fs-toast":!0,"data-fs-toast-visible":a,onTransitionEnd:()=>!a&&t()},r.icon&&i.createElement("div",{"data-fs-toast-icon-container":!0},!!r.icon&&r.icon),i.createElement("div",{"data-fs-toast-content":!0},r.title&&i.createElement("p",{"data-fs-toast-title":!0},r.title),i.createElement("p",{"data-fs-toast-message":!0},r.message)))},l=r(9089),u=r(3218),d=r(8418),f=r.n(d),p=r(2322),common_Toast_Toast=function(){var{toasts:e,pushToast:t}=(0,c.l)(),{messages:r}=(0,u.jD)();return(0,i.useEffect)(()=>{r&&r.forEach(e=>t({message:e.text,status:e.status}))},[r,t]),(0,p.jsx)(p.Fragment,{children:e.length>0&&(0,p.jsx)(l.Z,{className:"".concat(f().section," section-toast"),children:(0,p.jsx)(Toast_Toast,{})})})},b=r(1550),m=r(7296),v=r(2718),g=r(8240),y=r.n(g),j=r(4329),h=["content","children"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Alert(e){var{content:t,children:r}=e,n=(0,a.Z)(e,h),{Alert:o}=(0,j.r3)(),{0:s,1:c}=(0,i.useState)(!0),u=(0,i.useCallback)(()=>c(!1),[c]);return!1===s?null:(0,p.jsx)(l.Z,{className:"".concat(y().section," section-alert"),children:(0,p.jsx)(o.Component,_objectSpread(_objectSpread({},n),{},{onClose:u,children:null!=t?t:r}))})}Alert.displayName="Alert";var O=(0,v.B)(Alert),S=r(8138),w=r(2614),_={Alert:S.Z,Icon:w.Z};function Alert_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Alert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Alert_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Alert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P=(0,m.B)("Alert",function(e){var t,r,n,a,o,{icon:i,content:s,link:{text:c,to:l},dismissible:u}=e,{Alert:d,Icon:f}=(0,j.r3)();return(0,p.jsx)(O,Alert_objectSpread(Alert_objectSpread({icon:(0,p.jsx)(f.Component,Alert_objectSpread(Alert_objectSpread({},f.props),{},{name:null!=i?i:f.props.name}))},d.props),{},{link:Alert_objectSpread(Alert_objectSpread({},null!==(t=d.props.link)&&void 0!==t?t:{}),{},{children:null!=c?c:null===(r=d.props.link)||void 0===r?void 0:r.children,href:null!=l?l:null===(n=d.props.link)||void 0===n?void 0:n.href,target:null!==(a=null===(o=d.props.link)||void 0===o?void 0:o.target)&&void 0!==a?a:"_self"}),dismissible:null!=u?u:d.props.dismissible,children:s}))},_);function OverriddenDefaultAlert_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultAlert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultAlert_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultAlert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var E=(0,m.v)(OverriddenDefaultAlert_objectSpread(OverriddenDefaultAlert_objectSpread({},{section:"Alert"}),{},{Section:P})),D=r(7653),x=r.n(D);let useScrollDirection=()=>{let[e,t]=(0,i.useState)(""),[r,n]=(0,i.useTransition)();return(0,i.useEffect)(()=>{let a=window.scrollY,updateScrollDirection=()=>{let{scrollY:o}=window,i=o>a?"down":"up";!r&&i!==e&&(o-a>10||o-a<-10)&&n(()=>t(i)),a=o>0?o:0};return window.addEventListener("scroll",updateScrollDirection),()=>window.removeEventListener("scroll",updateScrollDirection)},[r,e]),e};var k=r(29),C=r(1072),Z=r(101);let N=(0,i.forwardRef)(function({children:e,visibleDropdown:t=!1,testId:r="fs-search-input",isLoading:n,products:a,term:o,terms:s,onSearchSelection:c,...l},u){return i.createElement("div",{ref:u,"data-fs-search-input":!0,"data-fs-search-input-dropdown-visible":t,"data-testid":r,...l},i.createElement(Z.Z,{onSearchSelection:c,isLoading:n,term:o,products:a,terms:s},e))});var I=r(2256),R=r(7041);let K=(0,i.forwardRef)(function({onSubmit:e,buttonIcon:t,"aria-label":r="search",testId:n="fs-search-input",buttonProps:a,...o},s){let c=(0,i.useRef)(null),l=(0,i.useRef)(null);return(0,i.useImperativeHandle)(s,()=>({inputRef:c.current,formRef:l.current})),i.createElement("form",{ref:l,"data-fs-search-input-field":!0,"data-testid":n,onSubmit:t=>{t.preventDefault(),c.current?.value!==""&&e(c.current.value)},role:"search"},i.createElement(I.Z,{ref:c,"aria-label":r,"data-fs-search-input-field-input":!0,...o}),i.createElement(R.Z,{type:"submit","aria-label":"Submit Search",icon:t??i.createElement(w.Z,{name:"MagnifyingGlass"}),size:"small",...a}))});var B=r(1163),T=r(3295),L=r(8543),F=r(3523),M=r(7553),A=r(1868),$=F.Ce,search_useSuggestions=function(e){var{channel:t,locale:r}=(0,A.kP)(),n=(0,i.useMemo)(()=>({term:e,selectedFacets:[{key:"channel",value:null!=t?t:""},{key:"locale",value:r}]}),[e,r,t]),{data:a,error:o}=(0,M.aM)($,n,{onSuccess:t=>{if(t&&e){var n,a,o,i;(0,C._)({name:"intelligent_search_query",params:{locale:r,term:e,url:window.location.href,logicalOperator:null!==(n=null===(a=t.search.metadata)||void 0===a?void 0:a.logicalOperator)&&void 0!==n?n:"and",isTermMisspelled:null!==(o=null===(i=t.search.metadata)||void 0===i?void 0:i.isTermMisspelled)&&void 0!==o&&o,totalCount:t.search.products.pageInfo.totalCount}})}}});return{data:a,error:o}},G=["onSearchClick","buttonTestId","containerStyle","sort"];function SearchInput_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var q=(0,i.lazy)(()=>r.e(65).then(r.bind(r,7065))),z=(n=(0,k.Z)(function*(e){(0,C._)({name:"search",params:{search_term:e}})}),function(e){return n.apply(this,arguments)}),V=(0,i.forwardRef)(function(e,t){var r,n,s,{onSearchClick:c,buttonTestId:l="fs-search-button",containerStyle:u,sort:d}=e,f=(0,a.Z)(e,G),{0:b,1:m}=(0,i.useState)(""),v=(0,i.useDeferredValue)(b),{0:g,1:y}=(0,i.useState)(!1),j=(0,i.useRef)(null),{addToSearchHistory:h}=(0,L.Z)(),O=(0,B.useRouter)();(0,i.useImperativeHandle)(t,()=>({resetSearchInput:()=>m("")}));var onSearchSelection=(e,t)=>{h({term:e,path:t}),z(e),y(!1),m(e)};r=()=>y(!1),(0,i.useEffect)(()=>{var listener=e=>{!j.current||j.current.contains(e.target)||r(e)};return document.addEventListener("mousedown",listener),document.addEventListener("touchstart",listener),()=>{document.removeEventListener("mousedown",listener),document.removeEventListener("touchstart",listener)}},[j,r]);var{data:S,error:w}=search_useSuggestions(v),_=(null!==(n=null==S?void 0:S.search.suggestions.terms)&&void 0!==n?n:[]).slice(0,5),P=(null!==(s=null==S?void 0:S.search.suggestions.products)&&void 0!==s?s:[]).slice(0,5);return(0,p.jsxs)(N,{ref:j,visibleDropdown:g,onSearchSelection:onSearchSelection,term:v,terms:_,products:P,isLoading:!w&&!S,children:[(0,p.jsx)(K,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchInput_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchInput_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({ref:t,buttonProps:{onClick:c,testId:l},placeholder:"Search everything at the store",onChange:e=>m(e.target.value),onSubmit:e=>{var t=(0,T.u)({term:e,sort:d});onSearchSelection(e,t),O.push(t)},onFocus:()=>y(!0),value:b},f)),g&&(0,p.jsx)(i.Suspense,{fallback:null,children:(0,p.jsx)(q,{sort:d})})]})});let H=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links-list-item",...r},n){return i.createElement("li",{"data-fs-navbar-links-list-item":!0,ref:n,"data-testid":t,...r},e)});var Q=r(1664),W=r.n(Q),U=r(727),J=["href","inverse","children","variant"];function Link_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Link_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Link_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Link_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Y=(0,i.forwardRef)(function(e,t){var{href:r,inverse:n,children:o,variant:s="default"}=e,c=(0,a.Z)(e,J);return(0,i.useMemo)(()=>"/"===r[0]&&"/"!==r[1],[r])?(0,p.jsx)(U.Z,Link_objectSpread(Link_objectSpread({as:W(),ref:t,variant:s,inverse:n,passHref:!0,href:r,legacyBehavior:!1},c),{},{children:o})):(0,p.jsx)(U.Z,Link_objectSpread(Link_objectSpread({ref:t,href:r,variant:s,inverse:n},c),{},{children:o}))}),X=r(3339),RegionButton_RegionButton=function(e){var{icon:t,label:r}=e,{openModal:n}=(0,c.l)(),{postalCode:a}=(0,A.kP)();return(0,p.jsx)(X.Z,{variant:"tertiary",size:"small",icon:(0,p.jsx)(w.Z,{name:t,width:18,height:18,weight:"bold"}),iconPosition:"left",onClick:n,children:null!=a?a:r})},ee=["links","onClickLink","region"];function NavbarLinks_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function NavbarLinks_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?NavbarLinks_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):NavbarLinks_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var et=(0,v.B)(function(e){var{links:t,onClickLink:r,region:{icon:n,label:o,shouldDisplayRegion:i}}=e,s=(0,a.Z)(e,ee),{NavbarLinks:c,NavbarLinksList:l}=(0,j.r3)();return(0,p.jsx)(c.Component,NavbarLinks_objectSpread(NavbarLinks_objectSpread(NavbarLinks_objectSpread({},s),c.props),{},{children:(0,p.jsxs)("div",{"data-fs-navbar-links-wrapper":!0,"data-fs-content":"navbar",children:[i&&(0,p.jsx)(RegionButton_RegionButton,{icon:n,label:o}),(0,p.jsx)(l.Component,NavbarLinks_objectSpread(NavbarLinks_objectSpread({},l.props),{},{children:t.map(e=>{var{url:t,text:n}=e;return(0,p.jsx)(H,{children:(0,p.jsx)(Y,{variant:"display",href:t,prefetch:!1,onClick:r,children:n})},n)})}))]})}))}),er=r(3666),en=r(3922),ButtonSignInFallback_ButtonSignInFallback=function(){return(0,p.jsx)(en.Z,{"data-fs-button-signin-link":!0,href:"/login",className:"text__title-mini",variant:"tertiary",icon:(0,p.jsx)(w.Z,{name:"User",width:18,height:18,weight:"bold"}),iconPosition:"left",children:(0,p.jsx)("span",{children:"Sign In"})})},ButtonSignIn_ButtonSignIn=e=>{var{label:t,myAccountLabel:r,icon:{alt:n,icon:a}}=e,{person:o}=(0,A.kP)();return(0,p.jsx)(en.Z,{"data-fs-button-signin-link":!0,href:null!=o&&o.id?"/account":"/login",className:"text__title-mini","aria-label":n,variant:"tertiary",icon:(0,p.jsx)(w.Z,{name:a,width:18,height:18,weight:"bold"}),iconPosition:"left",children:null!=o&&o.id?r:t})},ea=r(8918),Logo_Logo=function(e){var{alt:t,src:r,loading:n="lazy"}=e;return(0,p.jsx)("div",{"data-fs-logo":!0,children:(0,p.jsx)(ea.Z,{alt:t,src:r,width:0,height:0,sizes:"15vw",loading:n,style:{width:"100%",height:"auto"}})})},eo=r(8764),ei=r.n(eo);function NavbarSlider_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function NavbarSlider_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?NavbarSlider_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):NavbarSlider_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var es=(0,v.B)(function(e){var{logo:t,links:r,region:n,home:{label:a},signIn:{button:o}}=e,{NavbarSlider:s,NavbarSliderHeader:l,NavbarSliderContent:u,NavbarSliderFooter:d}=(0,j.r3)(),{closeNavbar:f}=(0,c.l)(),{fade:b,fadeOut:m}=(0,er.b)();return(0,p.jsxs)(s.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({fade:b,onDismiss:m,overlayProps:{className:"section ".concat(ei().section," section-navbar-slider")},onTransitionEnd:()=>"out"===b&&f()},s.props),{},{children:[(0,p.jsx)(l.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({onClose:m},s.props),{},{children:(0,p.jsx)(Y,{"data-fs-navbar-slider-logo":!0,href:t.link?t.link.url:"/",title:t.link?t.link.title:a,onClick:m,children:(0,p.jsx)(Logo_Logo,{alt:t.alt,src:t.src})})})),(0,p.jsx)(u.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({},u.props),{},{children:(0,p.jsx)(et,{onClickLink:m,links:r,region:n})})),(0,p.jsx)(d.Component,NavbarSlider_objectSpread(NavbarSlider_objectSpread({},d.props),{},{children:(0,p.jsx)(i.Suspense,{fallback:(0,p.jsx)(ButtonSignInFallback_ButtonSignInFallback,{}),children:(0,p.jsx)(ButtonSignIn_ButtonSignIn,NavbarSlider_objectSpread({},o))})}))]}))}),ec=r(276),useCartToggleButton=()=>{var{totalItems:e}=(0,u.jD)(),{cart:t,openCart:r,closeCart:n}=(0,c.l)();return{onClick:(0,i.useCallback)(()=>{t?n():r()},[n,t,r]),"data-testid":"cart-toggle","data-items":e}};function CartToggle_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function CartToggle_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?CartToggle_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):CartToggle_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var CartToggle_CartToggle=function(e){var{alt:t,icon:r}=e,n=useCartToggleButton(),a=n["data-items"];return(0,p.jsx)(R.Z,CartToggle_objectSpread(CartToggle_objectSpread({"data-fs-cart-toggle":!0,"aria-label":t,icon:(0,p.jsx)(w.Z,{name:r,width:32,height:32})},n),{},{children:(0,p.jsx)(ec.Z,{counter:!0,children:a})}))};function Navbar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Navbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Navbar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Navbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Navbar(e){var{cart:t,logo:r,searchInput:n,home:a,links:o,signIn:s,region:l,home:{label:u},signIn:{button:d},menu:{icon:{icon:f,alt:b}}}=e,{Navbar:m,NavbarHeader:v,NavbarRow:g,NavbarButtons:y,IconButton:h}=(0,j.r3)(),O=useScrollDirection(),{openNavbar:S,navbar:_}=(0,c.l)(),P=(0,i.useRef)(null),{0:E,1:D}=(0,i.useState)(!1),x=(0,i.useCallback)(()=>{var e,t;D(!0),null===(e=P.current)||void 0===e||null===(t=e.inputRef)||void 0===t||t.focus()},[]),k=(0,i.useCallback)(()=>{var e;D(!1),null===(e=P.current)||void 0===e||e.resetSearchInput()},[]);return(0,p.jsxs)(m.Component,Navbar_objectSpread(Navbar_objectSpread({scrollDirection:O},m.props),{},{children:[(0,p.jsx)(v.Component,Navbar_objectSpread(Navbar_objectSpread({},v.props),{},{children:(0,p.jsxs)(g.Component,Navbar_objectSpread(Navbar_objectSpread({},g.props),{},{children:[!E&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(h.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-navbar-button-menu":!0,onClick:S,icon:(0,p.jsx)(w.Z,{name:f,width:32,height:32})},h.props),{},{"aria-label":null!=b?b:h.props["aria-label"]})),(0,p.jsx)(Y,{"data-fs-navbar-logo":!0,href:r.link?r.link.url:"/",title:r.link?r.link.title:u,prefetch:!1,children:(0,p.jsx)(Logo_Logo,{src:r.src,alt:r.alt})})]}),(0,p.jsx)(V,{sort:null==n?void 0:n.sort}),(0,p.jsxs)(y.Component,Navbar_objectSpread(Navbar_objectSpread({searchExpanded:E},y.props),{},{children:[E&&(0,p.jsx)(h.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-button-collapse":!0,"aria-label":"Collapse search bar",icon:(0,p.jsx)(w.Z,{name:"CaretLeft",width:32,height:32})},h.props),{},{onClick:k})),(0,p.jsx)(V,{placeholder:"",ref:P,testId:"store-input-mobile",buttonTestId:"store-input-mobile-button",onSearchClick:x,sort:null==n?void 0:n.sort,hidden:!E,"aria-hidden":!E}),(0,p.jsx)(ButtonSignIn_ButtonSignIn,Navbar_objectSpread({},d)),(0,p.jsx)(CartToggle_CartToggle,Navbar_objectSpread({},t))]}))]}))})),(0,p.jsx)(et,{links:o,region:l,className:"hidden-mobile"}),_&&(0,p.jsx)(es,{home:a,logo:r,links:o,signIn:s,region:l})]}))}Navbar.displayName="Navbar";var el=(0,v.B)(Navbar);let eu=(0,i.forwardRef)(function({children:e,scrollDirection:t,testId:r="fs-navbar",...n},a){return i.createElement("header",{"data-fs-navbar":!0,role:"banner","data-fs-navbar-scroll":t,ref:a,"data-testid":r,...n},e)}),ed=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links",...r},n){return i.createElement("nav",{"data-fs-navbar-links":!0,ref:n,"data-testid":t,...r},e)});var ef=r(4564);let ep=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-links-list",...r},n){return i.createElement(ef.Z,{"data-fs-navbar-links-list":!0,ref:n,"data-testid":t,...r},e)});var eb=r(7215),em=r(5049);let ev=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-slider-content",...r},n){return i.createElement("div",{"data-fs-navbar-slider-content":!0,ref:n,"data-testid":t,...r},e)}),eg=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-slider-footer",...r},n){return i.createElement("footer",{"data-fs-navbar-slider-footer":!0,ref:n,"data-testid":t,...r},e)}),ey=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-header",...r},n){return i.createElement("section",{"data-fs-navbar-header":!0,ref:n,"data-testid":t,...r},e)}),ej=(0,i.forwardRef)(function({children:e,testId:t="fs-navbar-row",...r},n){return i.createElement("div",{"data-fs-navbar-row":!0,"data-fs-content":"navbar",ref:n,"data-testid":t,...r},e)}),eh=(0,i.forwardRef)(function({children:e,searchExpanded:t,testId:r="fs-navbar-buttons",...n},a){return i.createElement("div",{"data-fs-navbar-buttons":!0,ref:a,"data-testid":r,"data-fs-navbar-search-expanded":t,...n},e)});var eO={Navbar:eu,NavbarLinks:ed,NavbarLinksList:ep,NavbarSlider:function({children:e,size:t="full",isOpen:r=!0,direction:n="leftSide",testId:a="fs-navbar-slider",...o}){return i.createElement(eb.Z,{"data-fs-navbar-slider":!0,size:t,isOpen:r,direction:n,"data-testid":a,...o},e)},NavbarSliderHeader:function({children:e,testId:t="fs-navbar-slider-header",...r}){return i.createElement(em.Z,{"data-fs-navbar-slider-header":!0,"data-testid":t,...r},e)},NavbarSliderContent:ev,NavbarSliderFooter:eg,NavbarHeader:ey,NavbarRow:ej,NavbarButtons:eh,IconButton:R.Z},eS=(0,m.B)("Navbar",function(e){var{logo:t,searchInput:r,cartIcon:n,signInButton:a,navigation:{menu:o,home:i,pageLinks:s,regionalization:{label:c,icon:{icon:u},enabled:d}}}=e;return(0,p.jsx)(l.Z,{className:"".concat(x().section," section-navbar"),children:(0,p.jsx)(el,{home:i,menu:o,logo:t,searchInput:r,cart:n,links:s,signIn:{button:a},region:{icon:u,label:c,shouldDisplayRegion:d}})})},eO);function OverriddenDefaultNavbar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultNavbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultNavbar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultNavbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ew=(0,m.v)(OverriddenDefaultNavbar_objectSpread(OverriddenDefaultNavbar_objectSpread({},{section:"Navbar"}),{},{Section:eS})),e_=["icon","buttonIcon","label","editLabel"];function RegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function RegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var RegionBar_RegionBar=function(e){var{icon:{icon:t,alt:r},buttonIcon:{icon:n,alt:o},label:i,editLabel:s}=e,l=(0,a.Z)(e,e_),{RegionBar:u,LocationIcon:d,ButtonIcon:f}=(0,j.r3)(),{openModal:b}=(0,c.l)(),{postalCode:m}=(0,A.kP)();return(0,p.jsx)(u.Component,RegionBar_objectSpread(RegionBar_objectSpread({icon:(0,p.jsx)(d.Component,RegionBar_objectSpread(RegionBar_objectSpread({},d.props),{},{name:null!=t?t:d.props.name,"aria-label":null!=r?r:d.props["aria-label"]})),buttonIcon:(0,p.jsx)(f.Component,RegionBar_objectSpread(RegionBar_objectSpread({},f.props),{},{name:null!=n?n:f.props.name,"aria-label":null!=o?o:f.props["aria-label"]}))},u.props),{},{label:null!=i?i:u.props.label,editLabel:null!=s?s:u.props.editLabel,onButtonClick:b,postalCode:m},l))},eP=r(1247),eE=r.n(eP);let eD=(0,i.forwardRef)(function({postalCode:e,icon:t,label:r,editLabel:n,buttonIcon:a,onButtonClick:o,...s},c){return i.createElement("div",{ref:c,"data-fs-region-bar":!0,...s},i.createElement(X.Z,{variant:"tertiary",iconPosition:"right",onClick:o,icon:a},!!t&&t,e?i.createElement(i.Fragment,null,i.createElement("span",{"data-fs-region-bar-postal-code":!0},e),!!n&&i.createElement("span",{"data-fs-region-bar-cta":!0},n)):i.createElement("span",{"data-fs-region-bar-message":!0},r)))});var ex={RegionBar:eD,LocationIcon:w.Z,ButtonIcon:w.Z},ek=["className"];function RegionBar_RegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var eC=(0,m.B)("RegionBar",function(e){var{className:t="display-mobile"}=e,r=(0,a.Z)(e,ek);return(0,p.jsx)(l.Z,{className:"".concat(eE().section," section-region-bar ").concat(t),children:(0,p.jsx)(RegionBar_RegionBar,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},r))})},ex);function OverriddenDefaultRegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultRegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultRegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultRegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eZ=(0,m.v)(OverriddenDefaultRegionBar_objectSpread(OverriddenDefaultRegionBar_objectSpread({},{section:"RegionBar"}),{},{Section:eC})),eN=r(5450);let eI=(0,i.forwardRef)(function({testId:e="fs-payment-methods",title:t,"aria-label":r="Payment Methods",flagList:n,...a},o){return i.createElement("div",{ref:o,"data-fs-payment-methods":!0,"data-testid":e,...a},!!t&&i.createElement("div",{"data-fs-payment-methods-title":!0},t),i.createElement(ef.Z,{"data-fs-payment-methods-flags":!0,"aria-label":t?void 0:r},n.map(({alt:e,icon:{icon:t}},r)=>i.createElement("li",{"data-fs-payment-methods-flag":!0,key:`fs-payment-method-${r}-${e}`},i.createElement(w.Z,{width:32,height:22.5,name:t}),e&&i.createElement(eN.Z,{text:e})))))});function FooterInfo(e){var{children:t}=e;return(0,p.jsx)("div",{"data-fs-footer-info":!0,children:t})}function FooterNavigation(e){var{children:t}=e;return(0,p.jsx)("div",{"data-fs-footer-navigation":!0,children:t})}function Footer(e){var{children:t}=e;return(0,p.jsx)("footer",{"data-fs-footer":!0,"data-fs-footer-social":!0,"data-fs-footer-incentives":!0,"data-fs-footer-payment-methods":!0,children:(0,p.jsx)("div",{"data-fs-content":"footer",children:t})})}Footer.displayName="Footer";var eR=(0,v.B)(Footer),eK=r(1516),eB=r(783),eT=r(7734),eL=r(7583);function Links(e){var{items:t}=e;return(0,p.jsx)(ef.Z,{children:t.map(e=>(0,p.jsx)("li",{children:(0,p.jsx)(Y,{variant:"display",size:"small",href:e.url,children:e.text})},e.text))})}var Footer_FooterLinks=function(e){var{links:t}=e,{0:r,1:n}=(0,i.useState)(new Set([]));return(0,p.jsxs)("section",{"data-fs-footer":!0,"data-fs-footer-links":!0,children:[(0,p.jsx)("div",{className:"display-mobile",children:(0,p.jsx)(eK.Z,{indices:r,onChange:e=>{r.has(e)?(r.delete(e),n(new Set(r))):n(new Set(r.add(e)))},children:t.map(e=>{var{sectionTitle:t,items:r}=e;return(0,p.jsxs)(eB.Z,{children:[(0,p.jsx)(eT.Z,{children:t}),(0,p.jsx)(eL.Z,{children:(0,p.jsx)(Links,{items:r})})]},t)})})}),(0,p.jsx)("div",{className:"hidden-mobile",children:(0,p.jsx)("nav",{"data-fs-footer-links-columns":!0,children:t.map(e=>{var{sectionTitle:t,items:r}=e;return(0,p.jsxs)("div",{children:[(0,p.jsx)("p",{"data-fs-footer-links-title":!0,children:t}),(0,p.jsx)(Links,{items:r})]},t)})})})]})},Footer_FooterSocial=function(e){var{title:t,links:r}=e;return(0,p.jsxs)("section",{"data-fs-footer-social":!0,children:[(0,p.jsx)("p",{"data-fs-footer-social-title":!0,children:t}),(0,p.jsx)(ef.Z,{children:r.map(e=>{var{icon:{icon:t},url:r}=e;return(0,p.jsx)("li",{children:(0,p.jsx)(Y,{href:r,title:t,size:"small",target:"_blank",variant:"display",rel:"noopener noreferrer",children:(0,p.jsx)(w.Z,{name:t})})},t)})})]})},eF=r(7332),eM=r(4398),eA=r.n(eM),e$=["children"];function GlobalSections_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function GlobalSections_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?GlobalSections_ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):GlobalSections_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eG=GlobalSections_objectSpread({Alert:E,Navbar:ew,RegionBar:eZ,RegionModal:(0,i.lazy)(()=>r.e(540).then(r.bind(r,2540))),CartSidebar:(0,i.lazy)(()=>r.e(247).then(r.bind(r,6247))),Footer:e=>{var{incentives:t,footerLinks:r,footerSocial:n,footerSocial:{title:a},logo:{src:o,alt:i,link:s},copyrightInfo:c,acceptedPaymentMethods:{showPaymentMethods:u,title:d,paymentMethods:f}}=e;return(0,p.jsx)(l.Z,{className:"section ".concat(eA().section," section-footer layout__section"),children:(0,p.jsxs)(eR,{children:[(0,p.jsx)(eF.Z,{incentives:t}),(0,p.jsxs)(FooterNavigation,{children:[(0,p.jsx)(Footer_FooterLinks,{links:r}),(0,p.jsx)(Footer_FooterSocial,{title:a,links:n.socialLinks})]}),(0,p.jsxs)(FooterInfo,{children:[(0,p.jsx)(Y,{href:s?s.url:"/",title:s?s.title:"Go to Home",children:(0,p.jsx)(Logo_Logo,{alt:i,src:o})}),u&&(0,p.jsx)(eI,{flagList:f,title:(0,p.jsx)("p",{children:d})}),(0,p.jsx)("div",{"data-fs-footer-copyright":!0,className:"text__legend",children:(0,p.jsx)("p",{children:c})})]})]})})}},s.Z),cms_GlobalSections=function(e){var{children:t}=e,r=(0,a.Z)(e,e$);return(0,p.jsxs)(b.Z,GlobalSections_objectSpread(GlobalSections_objectSpread({components:eG},r),{},{children:[(0,p.jsx)(common_Toast_Toast,{}),(0,p.jsx)("main",{children:t})]}))}},1550:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(4730),a=r(9499),o=r(5858),i=r(2784);let SectionBoundary=class SectionBoundary extends i.Component{constructor(){super(...arguments),(0,a.Z)(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error("Error while rendering section ".concat(this.props.name," with:\n").concat(e.message," ").concat(t.componentStack))}render(){return this.state.hasError?null:this.props.children}};var s=r(2322),c=["children","sections"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var useDividedSections=e=>(0,i.useMemo)(()=>{var t=e.findIndex(e=>{var{name:t}=e;return"Children"===t}),r=t>-1;return _objectSpread({hasChildren:r,firstSections:r?e.slice(0,t):e},r&&{lastSections:e.slice(t+1)})},[e]),RenderSectionsBase=e=>{var{sections:t=[],components:r}=e;return(0,s.jsx)(s.Fragment,{children:t.map((e,t)=>{var{name:n,data:a}=e,i=r[n];return i?(0,s.jsx)(SectionBoundary,{name:n,children:(0,s.jsx)(i,_objectSpread({},a))},"cms-section-".concat(t)):(console.info("".concat(o.ZP.yellow("warn")," - ").concat(n," not found. Add a new component for this section or remove it from the CMS")),null)})})},l=(0,i.memo)(function(e){var{children:t,sections:r}=e,a=(0,n.Z)(e,c),{hasChildren:o,firstSections:i,lastSections:l}=useDividedSections(r);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(RenderSectionsBase,_objectSpread({sections:i},a)),t,o&&(0,s.jsx)(RenderSectionsBase,_objectSpread({sections:l},a))]})})},9089:function(e,t,r){"use strict";var n=r(9499),a=r(4730),o=r(2784),i=r(4329),s=r(2322),c=["as","className"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var l=(0,o.forwardRef)(function(e,t){var r,{as:o,className:l=""}=e,u=(0,a.Z)(e,c),d=null!==(r=(0,i.WB)())&&void 0!==r?r:"",f=null!=o?o:"section";return(0,s.jsx)(f,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({ref:t,className:"section ".concat(l," ").concat(d).trim()},u))});t.Z=l},8918:function(e,t,r){"use strict";r.d(t,{Z:function(){return p}});var n=r(9499),a=r(4730),o=r(2784),i=r(5675),s=r.n(i),c=r(7997),l=r.n(c),u="https://".concat(l().api.storeId,".vtexassets.com");function customImageLoader(e){var{src:t,width:r,quality:n}=e,a="".concat(r,"x").concat(0),o=["center","middle"];return n&&o.push("filters:quality(".concat(n||80,")")),o.push(encodeURIComponent(t)),[u,"unsafe",a,...o].join("/")}var d=r(2322),f=["loading"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Image(e){var{loading:t="lazy"}=e,r=(0,a.Z)(e,f);return(0,d.jsx)(s(),function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({"data-fs-image":!0,loader:customImageLoader,loading:t,priority:"eager"===t},r))}Image.displayName="Image";var p=(0,o.memo)(Image)},7332:function(e,t,r){"use strict";r.d(t,{Z:function(){return Incentives_Incentives}});var n=r(4564),a=r(2784);let o=(0,a.forwardRef)(function({testId:e="store-incentive",children:t,...r},n){return a.createElement("div",{ref:n,"data-fs-incentive":!0,"data-testid":e,...r},t)});var i=r(2614),s=r(2322),Incentives_Incentives=function(e){var{incentives:t,variant:r="horizontal",colored:a=!1}=e;return(0,s.jsx)("div",{"data-fs-incentives":!0,"data-fs-incentives-colored":a,"data-fs-incentives-variant":r,children:(0,s.jsx)(n.Z,{"data-fs-content":"incentives",children:t.map((e,t)=>(0,s.jsx)("li",{role:"listitem",children:(0,s.jsxs)(o,{tabIndex:0,children:[(0,s.jsx)(i.Z,{"data-fs-incentive-icon":!0,"aria-label":e.alt,name:e.icon,width:32,height:32}),(0,s.jsxs)("div",{"data-fs-incentive-content":!0,children:[(0,s.jsx)("p",{"data-fs-incentive-title":!0,children:e.title}),(0,s.jsx)("span",{"data-fs-incentive-description":!0,children:e.firstLineText}),e.secondLineText&&(0,s.jsx)("span",{"data-fs-incentive-description":!0,children:e.secondLineText})]})]})},String(t)))})})}},4439:function(e,t){"use strict";t.Z={}},3218:function(e,t,r){"use strict";r.d(t,{i8:function(){return h},jD:function(){return useCart}});var n,a=r(9499),o=r(29),i=r(3523),s=r(2254),c=r(8283),l=r(2784),u=r(7997),d=r.n(u),f=r(2495),p=r(1868),b=r(5134);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var m=i.D5,isGift=e=>0===e.price,getItemId=e=>{var t;return[e.itemOffered.sku,e.seller.identifier,null===(t=e.itemOffered.additionalProperty)||void 0===t?void 0:t.map(e=>{var{propertyID:t}=e;return t}).join("-")].filter(Boolean).join("::")},v=(n=(0,o.Z)(function*(e){var{validateCart:t=null}=yield(0,f.W)(m,{session:p.Qf.read(),cart:{order:{orderNumber:e.id,shouldSplitItem:e.shouldSplitItem,acceptedOffer:e.items.map(e=>{var{price:t,listPrice:r,seller:n,quantity:a,itemOffered:o}=e;return{price:t,listPrice:r,seller:n,quantity:a,itemOffered:{sku:o.sku,image:o.image,name:o.name,additionalProperty:o.additionalProperty}}})}}});return t&&{id:t.order.orderNumber,items:t.order.acceptedOffer.map(e=>_objectSpread(_objectSpread({},e),{},{id:getItemId(e)})),messages:t.messages}}),function(e){return n.apply(this,arguments)}),[g,y]=(0,b.d)(v),j=((e,t,r="fs::cart")=>{let n=(0,c.M)(e,r,t),getItem=e=>n.read().items.find(t=>t.id===e);return{...n,getItem,addItem:e=>{if(!e.id)throw new s.q("You must provide an `id` for items");if(e.quantity<0)throw new s.q("Item quantity needs to be higher than zero");let t=n.read(),r=getItem(e.id),a=r?{...e,quantity:r.quantity+e.quantity}:e;n.set({...t,items:r?t.items.map(e=>e===r?a:e):[...t.items,a]})},updateItemQuantity:(e,t)=>{let r=n.read(),a=getItem(e);if(!a)throw new s.q(`Item with id not found: ${e}`);let o={...a,quantity:t};n.set({...r,items:r.items.map(e=>e===a?o:e).filter(e=>e.quantity>0)})},removeItem:e=>{let t=n.read(),r=getItem(e);n.set({...t,items:t.items.filter(e=>e!==r)})},emptyCart:()=>n.set({...n.read(),items:[]}),inCart:e=>!!getItem(e),isEmpty:()=>0===n.read().items.length}})(d().cart,y),h=_objectSpread(_objectSpread({},j),{},{addItem:e=>{var t=_objectSpread(_objectSpread({},e),{},{id:getItemId(e)});j.addItem(t)}}),useCart=()=>{var e=(0,b.o)(h),t=(0,b.o)(g);return(0,l.useMemo)(()=>_objectSpread(_objectSpread({},e),{},{isValidating:t,messages:e.messages,gifts:e.items.filter(e=>isGift(e)),items:e.items.filter(e=>!isGift(e)),totalUniqueItems:e.items.length,totalItems:e.items.reduce((e,t)=>e+(isGift(t)?0:t.quantity),0),total:e.items.reduce((e,t)=>e+t.price*t.quantity,0),subTotal:e.items.reduce((e,t)=>e+t.listPrice*t.quantity,0)}),[e,t])}},2495:function(e,t,r){"use strict";r.d(t,{W:function(){return c}});var n,a,o=r(9499),i=r(29);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var s={POST:{"Content-Type":"application/json"}},c=(n=(0,i.Z)(function*(e,t,r){var{data:n,errors:a}=yield l("/api/graphql",_objectSpread(_objectSpread({},r),{},{variables:t,operation:e}));if(null!=a&&a.length)throw a[0];return n}),function(e,t,r){return n.apply(this,arguments)}),l=(a=(0,i.Z)(function*(e,t){var{operation:r,variables:n,fetchOptions:a}=t,{operationName:o,operationHash:i}=r.__meta__,c=(null==a?void 0:a.method)!==void 0?a.method.toUpperCase():o.endsWith("Query")?"GET":"POST",l=new URLSearchParams(_objectSpread({operationName:o,operationHash:i},"GET"===c&&{variables:JSON.stringify(n)})),u="POST"===c?JSON.stringify({operationName:o,operationHash:i,variables:n}):void 0,d="".concat(e,"?").concat(l.toString());return(yield fetch(d,_objectSpread(_objectSpread({method:c,body:u},a),{},{headers:_objectSpread(_objectSpread({},s[c]),null==a?void 0:a.headers)}))).json()}),function(e,t){return a.apply(this,arguments)})},7553:function(e,t,r){"use strict";r.d(t,{WN:function(){return s},aM:function(){return useQuery},km:function(){return getKey}});var n=r(29),a=r(9499),o=r(9857),i=r(2495);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var getKey=(e,t)=>"".concat(e,"::").concat(JSON.stringify(t)),s={errorRetryCount:3,refreshWhenHidden:!1,refreshWhenOffline:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,shouldRetryOnError:!0},useQuery=(e,t,r)=>(0,o.ZP)(()=>null!=r&&r.doNotRun?null:getKey(e.__meta__.operationName,t),_objectSpread(_objectSpread({fetcher:()=>new Promise(a=>{setTimeout((0,n.Z)(function*(){a((yield(0,i.W)(e,t,r)))}))})},s),r))},4329:function(e,t,r){"use strict";r.d(t,{Ju:function(){return o},WB:function(){return useOverrideClassName},r3:function(){return useOverrideComponents}});var n=r(2784),a=(0,n.createContext)(null),o=a.Provider,useOverrideComponents=()=>(0,n.useContext)(a).components,useOverrideClassName=()=>{var e;return null===(e=(0,n.useContext)(a))||void 0===e?void 0:e.className}},7296:function(e,t,r){"use strict";r.d(t,{B:function(){return getOverridableSection},v:function(){return getOverriddenSection}});var n=r(9499),a=r(4730),o=r(2784),i=r(4329),s=r(2322),c=["__overrides"],l=["Section"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function getOverridableSection(e,t,r){return function(n){var{__overrides:l}=n,u=(0,a.Z)(n,c),d=(0,o.useMemo)(()=>{var t,n;return _objectSpread(_objectSpread({},null!=l?l:{}),{},{components:(t=_objectSpread(_objectSpread({},null!=l?l:{}),{},{section:e}),n={},Object.entries(r).forEach(e=>{var r,a,[o,i]=e,s=null===(r=t.components)||void 0===r?void 0:r[o];if(!s){n[o]={Component:i,props:{}};return}s.Component&&s.props&&console.warn("Mixed use of Component and props overrides detected. Defaulting to Component override: component ".concat(o," in the ").concat(t.section," section.")),s.Component?n[o]={Component:s.Component,props:{}}:n[o]={Component:i,props:null!==(a=s.props)&&void 0!==a?a:{}}}),n)})},[l]);return(0,s.jsx)(i.Ju,{value:d,children:(0,s.jsx)(t,_objectSpread({},u))})}}function getOverriddenSection(e){var{Section:t}=e,r=(0,a.Z)(e,l);return function(e){return(0,s.jsx)(t,_objectSpread(_objectSpread({},e),{},{__overrides:r}))}}},3295:function(e,t,r){"use strict";r.d(t,{u:function(){return formatSearchPath}});var n=r(2339),a=r(2524),formatSearchPath=e=>{var{term:t,sort:r}=e,{pathname:o,search:i}=(0,n.Z)((0,a.j)({term:t,sort:r,base:"/s"}));return"".concat(o).concat(i)}},8543:function(e,t,r){"use strict";r.d(t,{Z:function(){return useSearchHistory}});var n=r(8283),a=r(5134),o=(0,n.M)([],"fs::searchHistory");function useSearchHistory(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,t=(0,a.o)(o);return{searchHistory:t,addToSearchHistory:function(r){var n=new Set,a=[r,...t].slice(0,e).filter(e=>!n.has(e.term)&&n.add(e.term),n);o.set(a)},clearSearchHistory:function(){o.set([])}}}},1868:function(e,t,r){"use strict";r.d(t,{Qf:function(){return j},kP:function(){return useSession},je:function(){return m}});var n,a=r(9499),o=r(29),i=r(3523),s=r(8283),c=r(2784),l=r(7997),u=r.n(l),d=r(3218),f=r(2495),p=r(5134);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var b=i.$G,m=(n=(0,o.Z)(function*(e){return(yield(0,f.W)(b,{session:e,search:window.location.search})).validateSession}),function(e){return n.apply(this,arguments)}),[v,g]=(0,p.d)(m),y=((e,t,r="fs::session")=>(0,s.M)(e,r,t))(u().session,g),j=_objectSpread(_objectSpread({},y),{},{set:e=>{y.set(e),d.i8.set(d.i8.read())}}),useSession=()=>{var e=(0,p.o)(j),t=(0,p.o)(v);return(0,c.useMemo)(()=>_objectSpread(_objectSpread({},e),{},{isValidating:t}),[t,e])}},2718:function(e,t,r){"use strict";r.d(t,{B:function(){return mark}});var n=r(9499),a=r(2322);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var mark=e=>function(t){var r,o;return performance.mark(null!==(r=null!==(o=e.displayName)&&void 0!==o?o:e.name)&&void 0!==r?r:"unknown"),(0,a.jsx)(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},t))}},5134:function(e,t,r){"use strict";r.d(t,{d:function(){return createValidationStore},o:function(){return useStore}});var n=r(29),a=r(3365),o=r(2784),useStore=e=>(0,o.useSyncExternalStore)(e.subscribe,e.read,e.readInitial),createValidationStore=e=>{var t,r=(0,a.M)(!1),o=(t=(0,n.Z)(function*(t){try{return r.set(!0),yield e(t)}finally{r.set(!1)}}),function(e){return t.apply(this,arguments)});return[r,o]}},8240:function(e){e.exports={section:"section_section__AmDVi"}},8418:function(e){e.exports={section:"section_section__K5krg"}},8764:function(e){e.exports={section:"section_section__ZKxbf"}},4398:function(e){e.exports={section:"section_section__woYoQ"}},7653:function(e){e.exports={section:"section_section__8YaQ0"}},1247:function(e){e.exports={section:"section_section__uCdcm"}},1072:function(e,t,r){"use strict";r.d(t,{_:function(){return sendAnalyticsEvent}});var n=r(4950);let sendAnalyticsEvent=e=>{try{window.postMessage((0,n.re)(e),window.origin)}catch(e){console.error(e)}}},2524:function(e,t,r){"use strict";r.d(t,{X:function(){return useSearchState},j:function(){return initialize}});var n=r(2784),a=r(2339);let initialize=({sort:e="score_desc",selectedFacets:t=[],term:r=null,base:n="/",page:a=0}={})=>({sort:e,selectedFacets:t,term:r,base:n,page:a}),equals=(e,t)=>(0,a.Z)(e).href===(0,a.Z)(t).href,useSearchState=(e,t)=>{let r=(0,n.useMemo)(()=>initialize(e),[e]);return(0,n.useMemo)(()=>({state:r,setState:e=>!equals(e,r)&&t((0,a.Z)(e))}),[t,r])}},3365:function(e,t,r){"use strict";r.d(t,{M:function(){return createStore}});let createStore=e=>{let t=new Set,r=new Set,n=e;return{set:e=>{n=e,r.forEach(e=>e()),r.clear(),t.forEach(t=>{let n=t(e);"function"==typeof n&&r.add(n)})},read:()=>n,readInitial:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)})}}},8283:function(e,t,r){"use strict";r.d(t,{M:function(){return createStore}});var n=r(425);let getIDB=async e=>{try{return await (0,n.U2)(e)}catch(e){return}},setIDB=async(e,t)=>{try{await (0,n.t8)(e,t)}catch(e){}},persisted=e=>t=>{let handler=async()=>{let r=await getIDB(e);"undefined"!=typeof document&&t.set(r??t.readInitial())};return handler(),globalThis.addEventListener?.("focus",()=>handler()),globalThis.document?.addEventListener("visibilitychange",()=>"visible"===document.visibilityState&&handler()),t.subscribe(t=>{setIDB(e,t)}),t},trivial=async()=>null,optimistic=(e=trivial)=>{let t=Promise.resolve();return r=>(r.subscribe(n=>{let a=!1,handler=async()=>{if(a)return;let t=await e(n);a||null===t||r.set(t)};return t=t.then(handler),()=>{a=!0}}),r)};globalThis.faststore_sdk_stores=globalThis.faststore_sdk_stores??new Map;let singleton=e=>t=>{let r=globalThis.faststore_sdk_stores;return r.has(e)||r.set(e,t),r.get(e)},compose=(e,t)=>e.reduce((e,t)=>t(e),t);var a=r(3365);let identity=e=>e,createStore=(e,t,r)=>compose([t?singleton(t):identity,t?persisted(t):identity,r?optimistic(r):identity],(0,a.M)(e))},2254:function(e,t,r){"use strict";r.d(t,{q:function(){return SDKError}});let SDKError=class SDKError extends Error{constructor(e){super(`[sdk]: ${e}`)}}},2339:function(e,t){"use strict";t.Z=e=>{let t=new URL(e.base,"http://localhost"),{page:r,selectedFacets:n,sort:a,term:o}=e;null!==o&&t.searchParams.set("q",o);let i=new Set;for(let e of n)t.searchParams.append(e.key,e.value),i.add(e.key);return n.length>0&&t.searchParams.set("facets",Array.from(i).join(",")),t.searchParams.set("sort",a),t.searchParams.set("page",r.toString()),t}}}]);
|
|
File without changes
|